From dba084f63e08159b4e6674ee2e85ecf7aa4b4002 Mon Sep 17 00:00:00 2001 From: GitHub gen-configs Action Date: Fri, 7 Feb 2025 21:36:41 +0000 Subject: [PATCH] Auto-generated configs and docs --- .../console/binary/generated/data_logs.ini | 1 + .../binary/generated/fancy_content.ini | 1 + firmware/console/binary/generated/gauges.ini | 1 + .../binary/generated/live_data_fragments.ini | 811 ++++++++--------- .../console/binary/generated/live_data_ids.h | 56 +- .../console/binary/generated/sensors.java | 514 +++++------ .../generated/total_live_data_generated.h | 2 +- .../console/binary_log/log_fields_generated.h | 1 + ...ration_generated_structures_alphax-2chan.h | 139 +-- ...ration_generated_structures_alphax-4chan.h | 129 +-- ...ion_generated_structures_alphax-4chan_f7.h | 129 +-- ...ation_generated_structures_alphax-4k-gdi.h | 21 +- ...n_generated_structures_alphax-8chan-revA.h | 139 +-- ...ration_generated_structures_alphax-8chan.h | 127 +-- ...ion_generated_structures_alphax-8chan_f7.h | 127 +-- ...uration_generated_structures_alphax-gold.h | 21 +- ...ation_generated_structures_alphax-silver.h | 21 +- ...ation_generated_structures_at_start_f435.h | 21 +- ...configuration_generated_structures_atlas.h | 21 +- ...tion_generated_structures_f407-discovery.h | 25 +- ...tion_generated_structures_f429-discovery.h | 21 +- ...tion_generated_structures_f469-discovery.h | 21 +- ...ation_generated_structures_frankenso_na6.h | 21 +- ...nfiguration_generated_structures_haba208.h | 21 +- ...tion_generated_structures_hellen-honda-k.h | 27 +- ...guration_generated_structures_hellen-nb1.h | 21 +- ...ion_generated_structures_hellen121nissan.h | 21 +- ...ration_generated_structures_hellen121vag.h | 21 +- ...iguration_generated_structures_hellen128.h | 21 +- ...on_generated_structures_hellen154hyundai.h | 21 +- ...generated_structures_hellen154hyundai_f7.h | 21 +- ...figuration_generated_structures_hellen72.h | 21 +- ...iguration_generated_structures_hellenNA6.h | 21 +- ...ration_generated_structures_hellenNA8_96.h | 21 +- ...configuration_generated_structures_m74_9.h | 21 +- ...ation_generated_structures_mre-legacy_f4.h | 21 +- ...onfiguration_generated_structures_mre_f4.h | 21 +- ...onfiguration_generated_structures_mre_f7.h | 21 +- ...uration_generated_structures_nucleo_f413.h | 21 +- ...guration_generated_structures_proteus_f4.h | 21 +- ...guration_generated_structures_proteus_f7.h | 21 +- ...guration_generated_structures_proteus_h7.h | 21 +- ...ion_generated_structures_small-can-board.h | 21 +- ...on_generated_structures_stm32f429_nucleo.h | 21 +- ...on_generated_structures_stm32f767_nucleo.h | 21 +- ...on_generated_structures_stm32h743_nucleo.h | 21 +- ...tion_generated_structures_subaru_eg33_f7.h | 21 +- ...configuration_generated_structures_t-b-g.h | 21 +- ...configuration_generated_structures_uaefi.h | 25 +- ...figuration_generated_structures_uaefi121.h | 21 +- .../generated/rusefi_generated_alphax-2chan.h | 13 +- .../generated/rusefi_generated_alphax-4chan.h | 13 +- .../rusefi_generated_alphax-4chan_f7.h | 13 +- .../rusefi_generated_alphax-4k-gdi.h | 13 +- .../rusefi_generated_alphax-8chan-revA.h | 13 +- .../generated/rusefi_generated_alphax-8chan.h | 13 +- .../rusefi_generated_alphax-8chan_f7.h | 13 +- .../generated/rusefi_generated_alphax-gold.h | 13 +- .../rusefi_generated_alphax-silver.h | 13 +- .../rusefi_generated_at_start_f435.h | 13 +- .../generated/rusefi_generated_atlas.h | 13 +- .../rusefi_generated_f407-discovery.h | 13 +- .../rusefi_generated_f429-discovery.h | 13 +- .../rusefi_generated_f469-discovery.h | 13 +- .../rusefi_generated_frankenso_na6.h | 13 +- .../generated/rusefi_generated_haba208.h | 13 +- .../rusefi_generated_hellen-honda-k.h | 13 +- .../generated/rusefi_generated_hellen-nb1.h | 13 +- .../rusefi_generated_hellen121nissan.h | 13 +- .../generated/rusefi_generated_hellen121vag.h | 13 +- .../generated/rusefi_generated_hellen128.h | 13 +- .../rusefi_generated_hellen154hyundai.h | 13 +- .../rusefi_generated_hellen154hyundai_f7.h | 13 +- .../generated/rusefi_generated_hellen72.h | 13 +- .../generated/rusefi_generated_hellenNA6.h | 13 +- .../generated/rusefi_generated_hellenNA8_96.h | 13 +- .../generated/rusefi_generated_m74_9.h | 13 +- .../rusefi_generated_mre-legacy_f4.h | 13 +- .../generated/rusefi_generated_mre_f4.h | 13 +- .../generated/rusefi_generated_mre_f7.h | 13 +- .../generated/rusefi_generated_nucleo_f413.h | 13 +- .../generated/rusefi_generated_proteus_f4.h | 13 +- .../generated/rusefi_generated_proteus_f7.h | 13 +- .../generated/rusefi_generated_proteus_h7.h | 13 +- .../rusefi_generated_small-can-board.h | 13 +- .../rusefi_generated_stm32f429_nucleo.h | 13 +- .../rusefi_generated_stm32f767_nucleo.h | 13 +- .../rusefi_generated_stm32h743_nucleo.h | 13 +- .../rusefi_generated_subaru_eg33_f7.h | 13 +- .../generated/rusefi_generated_t-b-g.h | 13 +- .../generated/rusefi_generated_uaefi.h | 13 +- .../generated/rusefi_generated_uaefi121.h | 13 +- .../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-gold.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-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_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 +- .../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 +- .../controllers/generated/signature_uaefi.h | 4 +- .../generated/signature_uaefi121.h | 4 +- .../lua/generated/output_lookup_generated.cpp | 3 + .../lua/generated/value_lookup_generated.cpp | 8 - .../lua/generated/value_lookup_generated.md | 3 - .../ignition_state_generated.h | 14 +- firmware/tunerstudio/generated/rusefi.ini | 840 ++++++++--------- .../generated/rusefi_alphax-2chan.ini | 848 ++++++++--------- .../generated/rusefi_alphax-4chan.ini | 858 ++++++++--------- .../generated/rusefi_alphax-4chan_f7.ini | 858 ++++++++--------- .../generated/rusefi_alphax-4k-gdi.ini | 838 ++++++++--------- .../generated/rusefi_alphax-8chan-revA.ini | 848 ++++++++--------- .../generated/rusefi_alphax-8chan.ini | 860 +++++++++--------- .../generated/rusefi_alphax-8chan_f7.ini | 860 +++++++++--------- .../generated/rusefi_alphax-gold.ini | 838 ++++++++--------- .../generated/rusefi_alphax-silver.ini | 838 ++++++++--------- .../generated/rusefi_at_start_f435.ini | 838 ++++++++--------- .../tunerstudio/generated/rusefi_atlas.ini | 838 ++++++++--------- .../generated/rusefi_f407-discovery.ini | 840 ++++++++--------- .../generated/rusefi_f429-discovery.ini | 838 ++++++++--------- .../generated/rusefi_f469-discovery.ini | 838 ++++++++--------- .../generated/rusefi_frankenso_na6.ini | 838 ++++++++--------- .../tunerstudio/generated/rusefi_haba208.ini | 838 ++++++++--------- .../generated/rusefi_hellen-honda-k.ini | 842 ++++++++--------- .../generated/rusefi_hellen-nb1.ini | 838 ++++++++--------- .../generated/rusefi_hellen121nissan.ini | 838 ++++++++--------- .../generated/rusefi_hellen121vag.ini | 838 ++++++++--------- .../generated/rusefi_hellen128.ini | 838 ++++++++--------- .../generated/rusefi_hellen154hyundai.ini | 838 ++++++++--------- .../generated/rusefi_hellen154hyundai_f7.ini | 838 ++++++++--------- .../tunerstudio/generated/rusefi_hellen72.ini | 838 ++++++++--------- .../generated/rusefi_hellenNA6.ini | 838 ++++++++--------- .../generated/rusefi_hellenNA8_96.ini | 838 ++++++++--------- .../tunerstudio/generated/rusefi_m74_9.ini | 838 ++++++++--------- .../generated/rusefi_mre-legacy_f4.ini | 838 ++++++++--------- .../tunerstudio/generated/rusefi_mre_f4.ini | 838 ++++++++--------- .../tunerstudio/generated/rusefi_mre_f7.ini | 838 ++++++++--------- .../generated/rusefi_nucleo_f413.ini | 838 ++++++++--------- .../generated/rusefi_proteus_f4.ini | 838 ++++++++--------- .../generated/rusefi_proteus_f7.ini | 838 ++++++++--------- .../generated/rusefi_proteus_h7.ini | 838 ++++++++--------- .../generated/rusefi_small-can-board.ini | 838 ++++++++--------- .../generated/rusefi_stm32f429_nucleo.ini | 838 ++++++++--------- .../generated/rusefi_stm32f767_nucleo.ini | 838 ++++++++--------- .../generated/rusefi_stm32h743_nucleo.ini | 838 ++++++++--------- .../generated/rusefi_subaru_eg33_f7.ini | 838 ++++++++--------- .../tunerstudio/generated/rusefi_t-b-g.ini | 838 ++++++++--------- .../tunerstudio/generated/rusefi_uaefi.ini | 844 ++++++++--------- .../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 | 42 +- .../rusefi/config/generated/EngineState.java | 98 +- .../rusefi/config/generated/FanControl.java | 22 +- .../com/rusefi/config/generated/Fields.java | 26 +- .../com/rusefi/config/generated/FuelPump.java | 8 +- .../generated/HighPressureFuelPump.java | 24 +- .../rusefi/config/generated/IdleState.java | 54 +- .../config/generated/IgnitionState.java | 4 + .../config/generated/InjectorModel.java | 6 +- .../config/generated/KnockController.java | 74 +- .../config/generated/LambdaMonitor.java | 8 +- .../config/generated/LaunchControl.java | 26 +- .../rusefi/config/generated/MainRelay.java | 8 +- .../config/generated/NitrousControl.java | 16 +- .../config/generated/PrimeController.java | 2 +- .../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 | 36 +- .../rusefi/config/generated/TriggerState.java | 20 +- .../config/generated/TriggerStatePrimary.java | 6 +- .../com/rusefi/config/generated/VvtState.java | 6 +- .../config/generated/WallFuelState.java | 4 +- .../config/generated/WidebandController.java | 16 +- 211 files changed, 20823 insertions(+), 19698 deletions(-) diff --git a/firmware/console/binary/generated/data_logs.ini b/firmware/console/binary/generated/data_logs.ini index a85f0b8e0b..59955d87e3 100644 --- a/firmware/console/binary/generated/data_logs.ini +++ b/firmware/console/binary/generated/data_logs.ini @@ -456,6 +456,7 @@ entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" entry = luaIgnitionSkip, "Ign: Lua Spark Skip", int, "%d" +entry = trailingSparkAngle, "Ign: Trailing spark deg", float, "%.3f" entry = m_knockLevel, "Knock: Current level", float, "%.3f" entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" diff --git a/firmware/console/binary/generated/fancy_content.ini b/firmware/console/binary/generated/fancy_content.ini index 0411d8d4e4..e6e952f4e9 100644 --- a/firmware/console/binary/generated/fancy_content.ini +++ b/firmware/console/binary/generated/fancy_content.ini @@ -46,6 +46,7 @@ dialog = ignition_stateDialog, "ignition_state" graphLine = luaTimingAdd liveGraph = ignition_state_4_Graph, "Graph", South graphLine = luaTimingMult + graphLine = trailingSparkAngle dialog = knock_controllerDialog, "knock_controller" diff --git a/firmware/console/binary/generated/gauges.ini b/firmware/console/binary/generated/gauges.ini index d177a70b5c..5799715901 100644 --- a/firmware/console/binary/generated/gauges.ini +++ b/firmware/console/binary/generated/gauges.ini @@ -16,6 +16,7 @@ timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20 timingPidCorrectionGauge = timingPidCorrection,"Idle: Timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 +trailingSparkAngleGauge = trailingSparkAngle,"Ign: Trailing spark deg", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 gaugeCategory = "Boost Control" luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 diff --git a/firmware/console/binary/generated/live_data_fragments.ini b/firmware/console/binary/generated/live_data_fragments.ini index 0f23f7c01b..e857e20f77 100644 --- a/firmware/console/binary/generated/live_data_fragments.ini +++ b/firmware/console/binary/generated/live_data_fragments.ini @@ -508,414 +508,415 @@ dwellVoltageCorrection = scalar, F32, 940, "", 1, 0 luaTimingAdd = scalar, F32, 944, "deg", 1, 0 luaTimingMult = scalar, F32, 948, "deg", 1, 0 luaIgnitionSkip = bits, U32, 952, [0:0] -; total TS size = 956 -m_knockLevel = scalar, F32, 956, "Volts", 1, 0 -m_knockCyl1 = scalar, S08, 960, "dBv", 1, 0 -m_knockCyl2 = scalar, S08, 961, "dBv", 1, 0 -m_knockCyl3 = scalar, S08, 962, "dBv", 1, 0 -m_knockCyl4 = scalar, S08, 963, "dBv", 1, 0 -m_knockCyl5 = scalar, S08, 964, "dBv", 1, 0 -m_knockCyl6 = scalar, S08, 965, "dBv", 1, 0 -m_knockCyl7 = scalar, S08, 966, "dBv", 1, 0 -m_knockCyl8 = scalar, S08, 967, "dBv", 1, 0 -m_knockCyl9 = scalar, S08, 968, "dBv", 1, 0 -m_knockCyl10 = scalar, S08, 969, "dBv", 1, 0 -m_knockCyl11 = scalar, S08, 970, "dBv", 1, 0 -m_knockCyl12 = scalar, S08, 971, "dBv", 1, 0 -m_knockRetard = scalar, F32, 972, "deg", 1,0 -m_knockThreshold = scalar, F32, 976, "", 1, 0 -m_knockCount = scalar, U32, 980, "", 1, 0 -m_maximumRetard = scalar, F32, 984, "", 1, 0 -m_knockSpectrum1 = scalar, U32, 988, "compressed data", 1, 0 -m_knockSpectrum2 = scalar, U32, 992, "compressed data", 1, 0 -m_knockSpectrum3 = scalar, U32, 996, "compressed data", 1, 0 -m_knockSpectrum4 = scalar, U32, 1000, "compressed data", 1, 0 -m_knockSpectrum5 = scalar, U32, 1004, "compressed data", 1, 0 -m_knockSpectrum6 = scalar, U32, 1008, "compressed data", 1, 0 -m_knockSpectrum7 = scalar, U32, 1012, "compressed data", 1, 0 -m_knockSpectrum8 = scalar, U32, 1016, "compressed data", 1, 0 -m_knockSpectrum9 = scalar, U32, 1020, "compressed data", 1, 0 -m_knockSpectrum10 = scalar, U32, 1024, "compressed data", 1, 0 -m_knockSpectrum11 = scalar, U32, 1028, "compressed data", 1, 0 -m_knockSpectrum12 = scalar, U32, 1032, "compressed data", 1, 0 -m_knockSpectrum13 = scalar, U32, 1036, "compressed data", 1, 0 -m_knockSpectrum14 = scalar, U32, 1040, "compressed data", 1, 0 -m_knockSpectrum15 = scalar, U32, 1044, "compressed data", 1, 0 -m_knockSpectrum16 = scalar, U32, 1048, "compressed data", 1, 0 -m_knockSpectrumChannelCyl = scalar, U16, 1052, "compressed N + N", 1, 0 -m_knockFrequencyStart = scalar, U16, 1054, "Hz", 1, 0 -m_knockFrequencyStep = scalar, F32, 1056, "Hz", 1, 0 -m_knockFuelTrimMultiplier = scalar, F32, 1060, "multiplier", 1, 0 -; total TS size = 1064 -m_isPriming = bits, U32, 1064, [0:0] +trailingSparkAngle = scalar, S16, 956, "deg", 0.01,0 +; total TS size = 960 +m_knockLevel = scalar, F32, 960, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 964, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 965, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 966, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 967, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 968, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 969, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 970, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 971, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 972, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 973, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 974, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 975, "dBv", 1, 0 +m_knockRetard = scalar, F32, 976, "deg", 1,0 +m_knockThreshold = scalar, F32, 980, "", 1, 0 +m_knockCount = scalar, U32, 984, "", 1, 0 +m_maximumRetard = scalar, F32, 988, "", 1, 0 +m_knockSpectrum1 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1040, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1044, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1048, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1052, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1056, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1058, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1060, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1064, "multiplier", 1, 0 ; total TS size = 1068 -tcuCurrentGear = scalar, S08, 1068, "gear", 1, 0 -tcRatio = scalar, U16, 1070, "value", 0.01, 0 -lastShiftTime = scalar, F32, 1072, "", 1, 0 -tcu_currentRange = scalar, U08, 1076, "", 1, 0 -pressureControlDuty = scalar, S08, 1077, "%", 1,0 -torqueConverterDuty = scalar, S08, 1078, "%", 1,0 -isShifting = bits, U32, 1080, [0:0] -; total TS size = 1084 -throttleUseWotModel = bits, U32, 1084, [0:0] -throttleModelCrossoverAngle = scalar, S16, 1088, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1092, "g/s", 1, 0 -; total TS size = 1096 -m_requested_pump = scalar, F32, 1096, "", 1, 0 -fuel_requested_percent = scalar, F32, 1100, "%", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1104, "", 1, 0 -noValve = bits, U32, 1108, [0:0] -angleAboveMin = bits, U32, 1108, [1:1] -isHpfpActive = bits, U32, 1108, [2:2] -HpfpValveState = bits, U32, 1108, [3:3] -m_pressureTarget_kPa = scalar, F32, 1112, "", 1, 0 -nextLobe = scalar, F32, 1116, "", 1, 0 -di_nextStart = scalar, F32, 1120, "v", 1, 0 -HpfdActivationPhase = scalar, F32, 1124, "", 1, 0 -HpfdDeactivationPhase = scalar, F32, 1128, "", 1, 0 -; total TS size = 1132 -m_deadtime = scalar, F32, 1132, "ms", 1, 0 -pressureDelta = scalar, F32, 1136, "kPa", 1, 0 -pressureRatio = scalar, F32, 1140, "", 1, 0 -; total TS size = 1144 -retardThresholdRpm = scalar, S32, 1144, "", 1, 0 -launchActivatePinState = bits, U32, 1148, [0:0] -isPreLaunchCondition = bits, U32, 1148, [1:1] -isLaunchCondition = bits, U32, 1148, [2:2] -isSwitchActivated = bits, U32, 1148, [3:3] -isClutchActivated = bits, U32, 1148, [4:4] -isBrakePedalActivated = bits, U32, 1148, [5:5] -isValidInputPin = bits, U32, 1148, [6:6] -activateSwitchCondition = bits, U32, 1148, [7:7] -rpmLaunchCondition = bits, U32, 1148, [8:8] -rpmPreLaunchCondition = bits, U32, 1148, [9:9] -speedCondition = bits, U32, 1148, [10:10] -tpsCondition = bits, U32, 1148, [11:11] -; total TS size = 1152 -isTorqueReductionTriggerPinValid = bits, U32, 1152, [0:0] -torqueReductionTriggerPinState = bits, U32, 1152, [1:1] -isTimeConditionSatisfied = bits, U32, 1152, [2:2] -isRpmConditionSatisfied = bits, U32, 1152, [3:3] -isAppConditionSatisfied = bits, U32, 1152, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1152, [5:5] +m_isPriming = bits, U32, 1068, [0:0] +; total TS size = 1072 +tcuCurrentGear = scalar, S08, 1072, "gear", 1, 0 +tcRatio = scalar, U16, 1074, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1076, "", 1, 0 +tcu_currentRange = scalar, U08, 1080, "", 1, 0 +pressureControlDuty = scalar, S08, 1081, "%", 1,0 +torqueConverterDuty = scalar, S08, 1082, "%", 1,0 +isShifting = bits, U32, 1084, [0:0] +; total TS size = 1088 +throttleUseWotModel = bits, U32, 1088, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1092, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1096, "g/s", 1, 0 +; total TS size = 1100 +m_requested_pump = scalar, F32, 1100, "", 1, 0 +fuel_requested_percent = scalar, F32, 1104, "%", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1108, "", 1, 0 +noValve = bits, U32, 1112, [0:0] +angleAboveMin = bits, U32, 1112, [1:1] +isHpfpActive = bits, U32, 1112, [2:2] +HpfpValveState = bits, U32, 1112, [3:3] +m_pressureTarget_kPa = scalar, F32, 1116, "", 1, 0 +nextLobe = scalar, F32, 1120, "", 1, 0 +di_nextStart = scalar, F32, 1124, "v", 1, 0 +HpfdActivationPhase = scalar, F32, 1128, "", 1, 0 +HpfdDeactivationPhase = scalar, F32, 1132, "", 1, 0 +; total TS size = 1136 +m_deadtime = scalar, F32, 1136, "ms", 1, 0 +pressureDelta = scalar, F32, 1140, "kPa", 1, 0 +pressureRatio = scalar, F32, 1144, "", 1, 0 +; total TS size = 1148 +retardThresholdRpm = scalar, S32, 1148, "", 1, 0 +launchActivatePinState = bits, U32, 1152, [0:0] +isPreLaunchCondition = bits, U32, 1152, [1:1] +isLaunchCondition = bits, U32, 1152, [2:2] +isSwitchActivated = bits, U32, 1152, [3:3] +isClutchActivated = bits, U32, 1152, [4:4] +isBrakePedalActivated = bits, U32, 1152, [5:5] +isValidInputPin = bits, U32, 1152, [6:6] +activateSwitchCondition = bits, U32, 1152, [7:7] +rpmLaunchCondition = bits, U32, 1152, [8:8] +rpmPreLaunchCondition = bits, U32, 1152, [9:9] +speedCondition = bits, U32, 1152, [10:10] +tpsCondition = bits, U32, 1152, [11:11] ; total TS size = 1156 -isAntilagCondition = bits, U32, 1156, [0:0] -ALSMinRPMCondition = bits, U32, 1156, [1:1] -ALSMaxRPMCondition = bits, U32, 1156, [2:2] -ALSMinCLTCondition = bits, U32, 1156, [3:3] -ALSMaxCLTCondition = bits, U32, 1156, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1156, [5:5] -isALSSwitchActivated = bits, U32, 1156, [6:6] -ALSActivatePinState = bits, U32, 1156, [7:7] -ALSSwitchCondition = bits, U32, 1156, [8:8] -ALSTimerCondition = bits, U32, 1156, [9:9] -fuelALSCorrection = scalar, F32, 1160, "", 1, 0 -timingALSCorrection = scalar, S16, 1164, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1166, "deg", 0.01, 0 -; total TS size = 1168 -isTpsInvalid = bits, U32, 1168, [0:0] -m_shouldResetPid = bits, U32, 1168, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1168, [2:2] -isNotClosedLoop = bits, U32, 1168, [3:3] -isZeroRpm = bits, U32, 1168, [4:4] -hasInitBoost = bits, U32, 1168, [5:5] -rpmTooLow = bits, U32, 1168, [6:6] -tpsTooLow = bits, U32, 1168, [7:7] -mapTooLow = bits, U32, 1168, [8:8] -isPlantValid = bits, U32, 1168, [9:9] -isBoostControlled = bits, U32, 1168, [10:10] -luaTargetAdd = scalar, S16, 1172, "v", 0.5,0 -boostOutput = scalar, S16, 1174, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1176, "v", 1,0 -openLoopPart = scalar, F32, 1180, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1184, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1188, "%", 0.5,0 -boostControlTarget = scalar, S16, 1190, "kPa", 0.03333333333333333,0 -; total TS size = 1192 -acButtonState = scalar, S08, 1192, "", 1, 0 -m_acEnabled = bits, U32, 1196, [0:0] -engineTooSlow = bits, U32, 1196, [1:1] -engineTooFast = bits, U32, 1196, [2:2] -noClt = bits, U32, 1196, [3:3] -engineTooHot = bits, U32, 1196, [4:4] -tpsTooHigh = bits, U32, 1196, [5:5] -isDisabledByLua = bits, U32, 1196, [6:6] -acCompressorState = bits, U32, 1196, [7:7] -acPressureTooLow = bits, U32, 1196, [8:8] -acPressureTooHigh = bits, U32, 1196, [9:9] -; total TS size = 1200 -isNitrousArmed = bits, U32, 1200, [0:0] -isNitrousSpeedCondition = bits, U32, 1200, [1:1] -isNitrousTpsCondition = bits, U32, 1200, [2:2] -isNitrousCltCondition = bits, U32, 1200, [3:3] -isNitrousMapCondition = bits, U32, 1200, [4:4] -isNitrousAfrCondition = bits, U32, 1200, [5:5] -isNitrousRpmCondition = bits, U32, 1200, [6:6] -isNitrousCondition = bits, U32, 1200, [7:7] +isTorqueReductionTriggerPinValid = bits, U32, 1156, [0:0] +torqueReductionTriggerPinState = bits, U32, 1156, [1:1] +isTimeConditionSatisfied = bits, U32, 1156, [2:2] +isRpmConditionSatisfied = bits, U32, 1156, [3:3] +isAppConditionSatisfied = bits, U32, 1156, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1156, [5:5] +; total TS size = 1160 +isAntilagCondition = bits, U32, 1160, [0:0] +ALSMinRPMCondition = bits, U32, 1160, [1:1] +ALSMaxRPMCondition = bits, U32, 1160, [2:2] +ALSMinCLTCondition = bits, U32, 1160, [3:3] +ALSMaxCLTCondition = bits, U32, 1160, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1160, [5:5] +isALSSwitchActivated = bits, U32, 1160, [6:6] +ALSActivatePinState = bits, U32, 1160, [7:7] +ALSSwitchCondition = bits, U32, 1160, [8:8] +ALSTimerCondition = bits, U32, 1160, [9:9] +fuelALSCorrection = scalar, F32, 1164, "", 1, 0 +timingALSCorrection = scalar, S16, 1168, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1170, "deg", 0.01, 0 +; total TS size = 1172 +isTpsInvalid = bits, U32, 1172, [0:0] +m_shouldResetPid = bits, U32, 1172, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1172, [2:2] +isNotClosedLoop = bits, U32, 1172, [3:3] +isZeroRpm = bits, U32, 1172, [4:4] +hasInitBoost = bits, U32, 1172, [5:5] +rpmTooLow = bits, U32, 1172, [6:6] +tpsTooLow = bits, U32, 1172, [7:7] +mapTooLow = bits, U32, 1172, [8:8] +isPlantValid = bits, U32, 1172, [9:9] +isBoostControlled = bits, U32, 1172, [10:10] +luaTargetAdd = scalar, S16, 1176, "v", 0.5,0 +boostOutput = scalar, S16, 1178, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1180, "v", 1,0 +openLoopPart = scalar, F32, 1184, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1188, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1192, "%", 0.5,0 +boostControlTarget = scalar, S16, 1194, "kPa", 0.03333333333333333,0 +; total TS size = 1196 +acButtonState = scalar, S08, 1196, "", 1, 0 +m_acEnabled = bits, U32, 1200, [0:0] +engineTooSlow = bits, U32, 1200, [1:1] +engineTooFast = bits, U32, 1200, [2:2] +noClt = bits, U32, 1200, [3:3] +engineTooHot = bits, U32, 1200, [4:4] +tpsTooHigh = bits, U32, 1200, [5:5] +isDisabledByLua = bits, U32, 1200, [6:6] +acCompressorState = bits, U32, 1200, [7:7] +acPressureTooLow = bits, U32, 1200, [8:8] +acPressureTooHigh = bits, U32, 1200, [9:9] ; total TS size = 1204 -fan1cranking = bits, U32, 1204, [0:0] -fan1notRunning = bits, U32, 1204, [1:1] -fan1disabledWhileEngineStopped = bits, U32, 1204, [2:2] -fan1brokenClt = bits, U32, 1204, [3:3] -fan1enabledForAc = bits, U32, 1204, [4:4] -fan1hot = bits, U32, 1204, [5:5] -fan1cold = bits, U32, 1204, [6:6] -fan1disabledBySpeed = bits, U32, 1204, [7:7] -fan1m_state = bits, U32, 1204, [8:8] -fan1radiatorFanStatus = scalar, U08, 1208, "", 1, 0 -; total TS size = 1212 -fan2cranking = bits, U32, 1212, [0:0] -fan2notRunning = bits, U32, 1212, [1:1] -fan2disabledWhileEngineStopped = bits, U32, 1212, [2:2] -fan2brokenClt = bits, U32, 1212, [3:3] -fan2enabledForAc = bits, U32, 1212, [4:4] -fan2hot = bits, U32, 1212, [5:5] -fan2cold = bits, U32, 1212, [6:6] -fan2disabledBySpeed = bits, U32, 1212, [7:7] -fan2m_state = bits, U32, 1212, [8:8] -fan2radiatorFanStatus = scalar, U08, 1216, "", 1, 0 -; total TS size = 1220 -isPrime = bits, U32, 1220, [0:0] -engineTurnedRecently = bits, U32, 1220, [1:1] -isFuelPumpOn = bits, U32, 1220, [2:2] -ignitionOn = bits, U32, 1220, [3:3] +isNitrousArmed = bits, U32, 1204, [0:0] +isNitrousSpeedCondition = bits, U32, 1204, [1:1] +isNitrousTpsCondition = bits, U32, 1204, [2:2] +isNitrousCltCondition = bits, U32, 1204, [3:3] +isNitrousMapCondition = bits, U32, 1204, [4:4] +isNitrousAfrCondition = bits, U32, 1204, [5:5] +isNitrousRpmCondition = bits, U32, 1204, [6:6] +isNitrousCondition = bits, U32, 1204, [7:7] +; total TS size = 1208 +fan1cranking = bits, U32, 1208, [0:0] +fan1notRunning = bits, U32, 1208, [1:1] +fan1disabledWhileEngineStopped = bits, U32, 1208, [2:2] +fan1brokenClt = bits, U32, 1208, [3:3] +fan1enabledForAc = bits, U32, 1208, [4:4] +fan1hot = bits, U32, 1208, [5:5] +fan1cold = bits, U32, 1208, [6:6] +fan1disabledBySpeed = bits, U32, 1208, [7:7] +fan1m_state = bits, U32, 1208, [8:8] +fan1radiatorFanStatus = scalar, U08, 1212, "", 1, 0 +; total TS size = 1216 +fan2cranking = bits, U32, 1216, [0:0] +fan2notRunning = bits, U32, 1216, [1:1] +fan2disabledWhileEngineStopped = bits, U32, 1216, [2:2] +fan2brokenClt = bits, U32, 1216, [3:3] +fan2enabledForAc = bits, U32, 1216, [4:4] +fan2hot = bits, U32, 1216, [5:5] +fan2cold = bits, U32, 1216, [6:6] +fan2disabledBySpeed = bits, U32, 1216, [7:7] +fan2m_state = bits, U32, 1216, [8:8] +fan2radiatorFanStatus = scalar, U08, 1220, "", 1, 0 ; total TS size = 1224 -isBenchTest = bits, U32, 1224, [0:0] -hasIgnitionVoltage = bits, U32, 1224, [1:1] -mainRelayState = bits, U32, 1224, [2:2] -delayedShutoffRequested = bits, U32, 1224, [3:3] +isPrime = bits, U32, 1224, [0:0] +engineTurnedRecently = bits, U32, 1224, [1:1] +isFuelPumpOn = bits, U32, 1224, [2:2] +ignitionOn = bits, U32, 1224, [3:3] ; total TS size = 1228 -lua_fuelAdd = scalar, F32, 1228, "g", 1, 0 -lua_fuelMult = scalar, F32, 1232, "", 1, 0 -lua_clutchUpState = bits, U32, 1236, [0:0] -lua_brakePedalState = bits, U32, 1236, [1:1] -lua_acRequestState = bits, U32, 1236, [2:2] -lua_luaDisableEtb = bits, U32, 1236, [3:3] -lua_luaIgnCut = bits, U32, 1236, [4:4] -lua_luaFuelCut = bits, U32, 1236, [5:5] -lua_clutchDownState = bits, U32, 1236, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1236, [7:7] -lua_torqueReductionState = bits, U32, 1236, [8:8] -sd_tCharge = scalar, S16, 1240, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1244, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1248, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1252, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1256, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1260, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1264, "", 1, 0 -hellenBoardId = scalar, S16, 1268, "id", 1, 0 -clutchUpState = scalar, S08, 1270, "", 1, 0 -brakePedalState = scalar, S08, 1271, "", 1, 0 -startStopState = scalar, S08, 1272, "", 1, 0 -smartChipState = scalar, S08, 1273, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1274, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1275, "", 1, 0 -startStopPhysicalState = bits, U32, 1276, [0:0] -acrActive = bits, U32, 1276, [1:1] -acrEngineMovedRecently = bits, U32, 1276, [2:2] -heaterControlEnabled = bits, U32, 1276, [3:3] -luaDigitalState0 = bits, U32, 1276, [4:4] -luaDigitalState1 = bits, U32, 1276, [5:5] -luaDigitalState2 = bits, U32, 1276, [6:6] -luaDigitalState3 = bits, U32, 1276, [7:7] -clutchDownState = bits, U32, 1276, [8:8] -startStopStateToggleCounter = scalar, U32, 1280, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1284, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1288, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1292, "", 1, 0 -fuelInjectionCounter = scalar, U32, 1296, "", 1, 0 -globalSparkCounter = scalar, U32, 1300, "", 1, 0 -fuelingLoad = scalar, F32, 1304, "", 1, 0 -ignitionLoad = scalar, F32, 1308, "", 1, 0 -veTableYAxis = scalar, U16, 1312, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1314, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1315, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1316, "", 1, 0 -; total TS size = 1320 -tpsFrom = scalar, F32, 1320 -tpsTo = scalar, F32, 1324 -deltaTps = scalar, F32, 1328 -extraFuel = scalar, F32, 1332, "", 1, 0 -valueFromTable = scalar, F32, 1336, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1340, [0:0] -isBelowDecelThreshold = bits, U32, 1340, [1:1] -isTimeToResetAccumulator = bits, U32, 1340, [2:2] -isFractionalEnrichment = bits, U32, 1340, [3:3] -belowEpsilon = bits, U32, 1340, [4:4] -tooShort = bits, U32, 1340, [5:5] -fractionalInjFuel = scalar, F32, 1344, "", 1, 0 -accumulatedValue = scalar, F32, 1348, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1352, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1356, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1360, "", 1, 0 -cycleCnt = scalar, S32, 1364, "", 1, 0 -; total TS size = 1368 -hwEventCounters1 = scalar, U16, 1368, "", 1, 0 -hwEventCounters2 = scalar, U16, 1370, "", 1, 0 -hwEventCounters3 = scalar, U16, 1372, "", 1, 0 -hwEventCounters4 = scalar, U16, 1374, "", 1, 0 -vvtCamCounter = scalar, U16, 1376, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1380, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1384, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1388, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1389, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1392, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1396, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1400, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1404, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1408, [0:0] -triggerElapsedUs = scalar, U32, 1412, "", 1, 0 -; total TS size = 1416 -trgsynchronizationCounter = scalar, U32, 1416, "", 1, 0 -trgvvtToothDurations0 = scalar, U32, 1420, "us", 1, 0 -trgvvtCurrentPosition = scalar, F32, 1424, "", 1, 0 -trgvvtToothPosition1 = scalar, F32, 1428, "", 1, 0 -trgvvtToothPosition2 = scalar, F32, 1432, "", 1, 0 -trgvvtToothPosition3 = scalar, F32, 1436, "", 1, 0 -trgvvtToothPosition4 = scalar, F32, 1440, "", 1, 0 -trgtriggerSyncGapRatio = scalar, F32, 1444, "", 1, 0 -trgtriggerStateIndex = scalar, U08, 1448, "", 1, 0 -; total TS size = 1452 -vvt1isynchronizationCounter = scalar, U32, 1452, "", 1, 0 -vvt1ivvtToothDurations0 = scalar, U32, 1456, "us", 1, 0 -vvt1ivvtCurrentPosition = scalar, F32, 1460, "", 1, 0 -vvt1ivvtToothPosition1 = scalar, F32, 1464, "", 1, 0 -vvt1ivvtToothPosition2 = scalar, F32, 1468, "", 1, 0 -vvt1ivvtToothPosition3 = scalar, F32, 1472, "", 1, 0 -vvt1ivvtToothPosition4 = scalar, F32, 1476, "", 1, 0 -vvt1itriggerSyncGapRatio = scalar, F32, 1480, "", 1, 0 -vvt1itriggerStateIndex = scalar, U08, 1484, "", 1, 0 -; total TS size = 1488 -vvt1esynchronizationCounter = scalar, U32, 1488, "", 1, 0 -vvt1evvtToothDurations0 = scalar, U32, 1492, "us", 1, 0 -vvt1evvtCurrentPosition = scalar, F32, 1496, "", 1, 0 -vvt1evvtToothPosition1 = scalar, F32, 1500, "", 1, 0 -vvt1evvtToothPosition2 = scalar, F32, 1504, "", 1, 0 -vvt1evvtToothPosition3 = scalar, F32, 1508, "", 1, 0 -vvt1evvtToothPosition4 = scalar, F32, 1512, "", 1, 0 -vvt1etriggerSyncGapRatio = scalar, F32, 1516, "", 1, 0 -vvt1etriggerStateIndex = scalar, U08, 1520, "", 1, 0 -; total TS size = 1524 -vvt2isynchronizationCounter = scalar, U32, 1524, "", 1, 0 -vvt2ivvtToothDurations0 = scalar, U32, 1528, "us", 1, 0 -vvt2ivvtCurrentPosition = scalar, F32, 1532, "", 1, 0 -vvt2ivvtToothPosition1 = scalar, F32, 1536, "", 1, 0 -vvt2ivvtToothPosition2 = scalar, F32, 1540, "", 1, 0 -vvt2ivvtToothPosition3 = scalar, F32, 1544, "", 1, 0 -vvt2ivvtToothPosition4 = scalar, F32, 1548, "", 1, 0 -vvt2itriggerSyncGapRatio = scalar, F32, 1552, "", 1, 0 -vvt2itriggerStateIndex = scalar, U08, 1556, "", 1, 0 -; total TS size = 1560 -vvt2esynchronizationCounter = scalar, U32, 1560, "", 1, 0 -vvt2evvtToothDurations0 = scalar, U32, 1564, "us", 1, 0 -vvt2evvtCurrentPosition = scalar, F32, 1568, "", 1, 0 -vvt2evvtToothPosition1 = scalar, F32, 1572, "", 1, 0 -vvt2evvtToothPosition2 = scalar, F32, 1576, "", 1, 0 -vvt2evvtToothPosition3 = scalar, F32, 1580, "", 1, 0 -vvt2evvtToothPosition4 = scalar, F32, 1584, "", 1, 0 -vvt2etriggerSyncGapRatio = scalar, F32, 1588, "", 1, 0 -vvt2etriggerStateIndex = scalar, U08, 1592, "", 1, 0 -; total TS size = 1596 -camResyncCounter = scalar, U08, 1596, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1600, [0:0] -; total TS size = 1604 -wallFuelCorrection = scalar, F32, 1604, "", 1, 0 -wallFuel = scalar, F32, 1608, "", 1, 0 -; total TS size = 1612 -idleState = bits, S32, 1612, [0:2], "not important" -currentIdlePosition = scalar, F32, 1616 -baseIdlePosition = scalar, F32, 1620 -idleClosedLoop = scalar, F32, 1624 -iacByTpsTaper = scalar, F32, 1628 -mightResetPid = bits, U32, 1632, [0:0] -shouldResetPid = bits, U32, 1632, [1:1] -wasResetPid = bits, U32, 1632, [2:2] -mustResetPid = bits, U32, 1632, [3:3] -isCranking = bits, U32, 1632, [4:4] -isIacTableForCoasting = bits, U32, 1632, [5:5] -notIdling = bits, U32, 1632, [6:6] -needReset = bits, U32, 1632, [7:7] -isInDeadZone = bits, U32, 1632, [8:8] -isBlipping = bits, U32, 1632, [9:9] -useClosedLoop = bits, U32, 1632, [10:10] -badTps = bits, U32, 1632, [11:11] -looksLikeRunning = bits, U32, 1632, [12:12] -looksLikeCoasting = bits, U32, 1632, [13:13] -looksLikeCrankToIdle = bits, U32, 1632, [14:14] -isIdleCoasting = bits, U32, 1632, [15:15] -isIdleClosedLoop = bits, U32, 1632, [16:16] -idleTarget = scalar, S32, 1636, "", 1, 0 -targetRpmByClt = scalar, S32, 1640, "", 1, 0 -targetRpmAc = scalar, S32, 1644, "", 1, 0 -iacByRpmTaper = scalar, F32, 1648 -luaAdd = scalar, F32, 1652 -; total TS size = 1656 -etb1targetWithIdlePosition = scalar, F32, 1656, "%", 1,0 -etb1trim = scalar, F32, 1660, "", 1, 0 -etb1luaAdjustment = scalar, F32, 1664, "%", 1,0 -etb1m_wastegatePosition = scalar, F32, 1668, "%", 1,0 -etb1etbFeedForward = scalar, F32, 1672 -etb1etbIntegralError = scalar, F32, 1676, "", 1, 0 -etb1etbCurrentTarget = scalar, F32, 1680, "%", 1, 0 -etb1m_adjustedTarget = scalar, S16, 1684, "%", 0.01, 0 -etb1etbRevLimitActive = bits, U32, 1688, [0:0] -etb1jamDetected = bits, U32, 1688, [1:1] -etb1validPlantPosition = bits, U32, 1688, [2:2] -etb1etbTpsErrorCounter = scalar, U16, 1692, "count", 1,0 -etb1etbPpsErrorCounter = scalar, U16, 1694, "count", 1,0 -etb1etbErrorCode = scalar, S08, 1696, "", 1, 0 -etb1etbErrorCodeBlinker = scalar, S08, 1697, "", 1, 0 -etb1tcEtbDrop = scalar, S08, 1698, "%", 1, 0 -etb1jamTimer = scalar, U16, 1700, "sec", 0.01, 0 -etb1adjustedEtbTarget = scalar, S08, 1702, "%", 1, 0 -etb1state = scalar, U08, 1703, "", 1, 0 -; total TS size = 1704 -etb2targetWithIdlePosition = scalar, F32, 1704, "%", 1,0 -etb2trim = scalar, F32, 1708, "", 1, 0 -etb2luaAdjustment = scalar, F32, 1712, "%", 1,0 -etb2m_wastegatePosition = scalar, F32, 1716, "%", 1,0 -etb2etbFeedForward = scalar, F32, 1720 -etb2etbIntegralError = scalar, F32, 1724, "", 1, 0 -etb2etbCurrentTarget = scalar, F32, 1728, "%", 1, 0 -etb2m_adjustedTarget = scalar, S16, 1732, "%", 0.01, 0 -etb2etbRevLimitActive = bits, U32, 1736, [0:0] -etb2jamDetected = bits, U32, 1736, [1:1] -etb2validPlantPosition = bits, U32, 1736, [2:2] -etb2etbTpsErrorCounter = scalar, U16, 1740, "count", 1,0 -etb2etbPpsErrorCounter = scalar, U16, 1742, "count", 1,0 -etb2etbErrorCode = scalar, S08, 1744, "", 1, 0 -etb2etbErrorCodeBlinker = scalar, S08, 1745, "", 1, 0 -etb2tcEtbDrop = scalar, S08, 1746, "%", 1, 0 -etb2jamTimer = scalar, U16, 1748, "sec", 0.01, 0 -etb2adjustedEtbTarget = scalar, S08, 1750, "%", 1, 0 -etb2state = scalar, U08, 1751, "", 1, 0 -; total TS size = 1752 -wb1faultCode = scalar, U08, 1752, "", 1, 0 -wb1heaterDuty = scalar, U08, 1753, "%", 1, 0 -wb1pumpDuty = scalar, U08, 1754, "%", 1, 0 -wb1tempC = scalar, U16, 1756, "C", 1, 0 -wb1nernstVoltage = scalar, U16, 1758, "V", 0.001, 0 -wb1esr = scalar, U16, 1760, "ohm", 1, 0 -; total TS size = 1764 -wb2faultCode = scalar, U08, 1764, "", 1, 0 -wb2heaterDuty = scalar, U08, 1765, "%", 1, 0 -wb2pumpDuty = scalar, U08, 1766, "%", 1, 0 -wb2tempC = scalar, U16, 1768, "C", 1, 0 -wb2nernstVoltage = scalar, U16, 1770, "V", 0.001, 0 -wb2esr = scalar, U16, 1772, "ohm", 1, 0 -; total TS size = 1776 -dcOutput0 = scalar, F32, 1776, "%", 1,0 -isEnabled0_int = scalar, U08, 1780, "%", 1,0 -isEnabled0 = bits, U32, 1784, [0:0] -; total TS size = 1788 -value0 = scalar, U16, 1788, "RAW", 1,0 -value1 = scalar, U16, 1790, "RAW", 1,0 -errorRate = scalar, F32, 1792, "% (don't belive me)", 1,0 -; total TS size = 1796 -vvtTarget = scalar, U16, 1796, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1798, "%", 0.5, 0 +isBenchTest = bits, U32, 1228, [0:0] +hasIgnitionVoltage = bits, U32, 1228, [1:1] +mainRelayState = bits, U32, 1228, [2:2] +delayedShutoffRequested = bits, U32, 1228, [3:3] +; total TS size = 1232 +lua_fuelAdd = scalar, F32, 1232, "g", 1, 0 +lua_fuelMult = scalar, F32, 1236, "", 1, 0 +lua_clutchUpState = bits, U32, 1240, [0:0] +lua_brakePedalState = bits, U32, 1240, [1:1] +lua_acRequestState = bits, U32, 1240, [2:2] +lua_luaDisableEtb = bits, U32, 1240, [3:3] +lua_luaIgnCut = bits, U32, 1240, [4:4] +lua_luaFuelCut = bits, U32, 1240, [5:5] +lua_clutchDownState = bits, U32, 1240, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1240, [7:7] +lua_torqueReductionState = bits, U32, 1240, [8:8] +sd_tCharge = scalar, S16, 1244, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1248, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1252, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1256, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1260, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1264, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1268, "", 1, 0 +hellenBoardId = scalar, S16, 1272, "id", 1, 0 +clutchUpState = scalar, S08, 1274, "", 1, 0 +brakePedalState = scalar, S08, 1275, "", 1, 0 +startStopState = scalar, S08, 1276, "", 1, 0 +smartChipState = scalar, S08, 1277, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1278, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1279, "", 1, 0 +startStopPhysicalState = bits, U32, 1280, [0:0] +acrActive = bits, U32, 1280, [1:1] +acrEngineMovedRecently = bits, U32, 1280, [2:2] +heaterControlEnabled = bits, U32, 1280, [3:3] +luaDigitalState0 = bits, U32, 1280, [4:4] +luaDigitalState1 = bits, U32, 1280, [5:5] +luaDigitalState2 = bits, U32, 1280, [6:6] +luaDigitalState3 = bits, U32, 1280, [7:7] +clutchDownState = bits, U32, 1280, [8:8] +startStopStateToggleCounter = scalar, U32, 1284, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1288, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1292, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1296, "", 1, 0 +fuelInjectionCounter = scalar, U32, 1300, "", 1, 0 +globalSparkCounter = scalar, U32, 1304, "", 1, 0 +fuelingLoad = scalar, F32, 1308, "", 1, 0 +ignitionLoad = scalar, F32, 1312, "", 1, 0 +veTableYAxis = scalar, U16, 1316, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1318, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1319, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1320, "", 1, 0 +; total TS size = 1324 +tpsFrom = scalar, F32, 1324 +tpsTo = scalar, F32, 1328 +deltaTps = scalar, F32, 1332 +extraFuel = scalar, F32, 1336, "", 1, 0 +valueFromTable = scalar, F32, 1340, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1344, [0:0] +isBelowDecelThreshold = bits, U32, 1344, [1:1] +isTimeToResetAccumulator = bits, U32, 1344, [2:2] +isFractionalEnrichment = bits, U32, 1344, [3:3] +belowEpsilon = bits, U32, 1344, [4:4] +tooShort = bits, U32, 1344, [5:5] +fractionalInjFuel = scalar, F32, 1348, "", 1, 0 +accumulatedValue = scalar, F32, 1352, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1356, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1360, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1364, "", 1, 0 +cycleCnt = scalar, S32, 1368, "", 1, 0 +; total TS size = 1372 +hwEventCounters1 = scalar, U16, 1372, "", 1, 0 +hwEventCounters2 = scalar, U16, 1374, "", 1, 0 +hwEventCounters3 = scalar, U16, 1376, "", 1, 0 +hwEventCounters4 = scalar, U16, 1378, "", 1, 0 +vvtCamCounter = scalar, U16, 1380, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1384, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1388, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1392, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1393, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1396, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1400, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1404, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1408, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1412, [0:0] +triggerElapsedUs = scalar, U32, 1416, "", 1, 0 +; total TS size = 1420 +trgsynchronizationCounter = scalar, U32, 1420, "", 1, 0 +trgvvtToothDurations0 = scalar, U32, 1424, "us", 1, 0 +trgvvtCurrentPosition = scalar, F32, 1428, "", 1, 0 +trgvvtToothPosition1 = scalar, F32, 1432, "", 1, 0 +trgvvtToothPosition2 = scalar, F32, 1436, "", 1, 0 +trgvvtToothPosition3 = scalar, F32, 1440, "", 1, 0 +trgvvtToothPosition4 = scalar, F32, 1444, "", 1, 0 +trgtriggerSyncGapRatio = scalar, F32, 1448, "", 1, 0 +trgtriggerStateIndex = scalar, U08, 1452, "", 1, 0 +; total TS size = 1456 +vvt1isynchronizationCounter = scalar, U32, 1456, "", 1, 0 +vvt1ivvtToothDurations0 = scalar, U32, 1460, "us", 1, 0 +vvt1ivvtCurrentPosition = scalar, F32, 1464, "", 1, 0 +vvt1ivvtToothPosition1 = scalar, F32, 1468, "", 1, 0 +vvt1ivvtToothPosition2 = scalar, F32, 1472, "", 1, 0 +vvt1ivvtToothPosition3 = scalar, F32, 1476, "", 1, 0 +vvt1ivvtToothPosition4 = scalar, F32, 1480, "", 1, 0 +vvt1itriggerSyncGapRatio = scalar, F32, 1484, "", 1, 0 +vvt1itriggerStateIndex = scalar, U08, 1488, "", 1, 0 +; total TS size = 1492 +vvt1esynchronizationCounter = scalar, U32, 1492, "", 1, 0 +vvt1evvtToothDurations0 = scalar, U32, 1496, "us", 1, 0 +vvt1evvtCurrentPosition = scalar, F32, 1500, "", 1, 0 +vvt1evvtToothPosition1 = scalar, F32, 1504, "", 1, 0 +vvt1evvtToothPosition2 = scalar, F32, 1508, "", 1, 0 +vvt1evvtToothPosition3 = scalar, F32, 1512, "", 1, 0 +vvt1evvtToothPosition4 = scalar, F32, 1516, "", 1, 0 +vvt1etriggerSyncGapRatio = scalar, F32, 1520, "", 1, 0 +vvt1etriggerStateIndex = scalar, U08, 1524, "", 1, 0 +; total TS size = 1528 +vvt2isynchronizationCounter = scalar, U32, 1528, "", 1, 0 +vvt2ivvtToothDurations0 = scalar, U32, 1532, "us", 1, 0 +vvt2ivvtCurrentPosition = scalar, F32, 1536, "", 1, 0 +vvt2ivvtToothPosition1 = scalar, F32, 1540, "", 1, 0 +vvt2ivvtToothPosition2 = scalar, F32, 1544, "", 1, 0 +vvt2ivvtToothPosition3 = scalar, F32, 1548, "", 1, 0 +vvt2ivvtToothPosition4 = scalar, F32, 1552, "", 1, 0 +vvt2itriggerSyncGapRatio = scalar, F32, 1556, "", 1, 0 +vvt2itriggerStateIndex = scalar, U08, 1560, "", 1, 0 +; total TS size = 1564 +vvt2esynchronizationCounter = scalar, U32, 1564, "", 1, 0 +vvt2evvtToothDurations0 = scalar, U32, 1568, "us", 1, 0 +vvt2evvtCurrentPosition = scalar, F32, 1572, "", 1, 0 +vvt2evvtToothPosition1 = scalar, F32, 1576, "", 1, 0 +vvt2evvtToothPosition2 = scalar, F32, 1580, "", 1, 0 +vvt2evvtToothPosition3 = scalar, F32, 1584, "", 1, 0 +vvt2evvtToothPosition4 = scalar, F32, 1588, "", 1, 0 +vvt2etriggerSyncGapRatio = scalar, F32, 1592, "", 1, 0 +vvt2etriggerStateIndex = scalar, U08, 1596, "", 1, 0 +; total TS size = 1600 +camResyncCounter = scalar, U08, 1600, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1604, [0:0] +; total TS size = 1608 +wallFuelCorrection = scalar, F32, 1608, "", 1, 0 +wallFuel = scalar, F32, 1612, "", 1, 0 +; total TS size = 1616 +idleState = bits, S32, 1616, [0:2], "not important" +currentIdlePosition = scalar, F32, 1620 +baseIdlePosition = scalar, F32, 1624 +idleClosedLoop = scalar, F32, 1628 +iacByTpsTaper = scalar, F32, 1632 +mightResetPid = bits, U32, 1636, [0:0] +shouldResetPid = bits, U32, 1636, [1:1] +wasResetPid = bits, U32, 1636, [2:2] +mustResetPid = bits, U32, 1636, [3:3] +isCranking = bits, U32, 1636, [4:4] +isIacTableForCoasting = bits, U32, 1636, [5:5] +notIdling = bits, U32, 1636, [6:6] +needReset = bits, U32, 1636, [7:7] +isInDeadZone = bits, U32, 1636, [8:8] +isBlipping = bits, U32, 1636, [9:9] +useClosedLoop = bits, U32, 1636, [10:10] +badTps = bits, U32, 1636, [11:11] +looksLikeRunning = bits, U32, 1636, [12:12] +looksLikeCoasting = bits, U32, 1636, [13:13] +looksLikeCrankToIdle = bits, U32, 1636, [14:14] +isIdleCoasting = bits, U32, 1636, [15:15] +isIdleClosedLoop = bits, U32, 1636, [16:16] +idleTarget = scalar, S32, 1640, "", 1, 0 +targetRpmByClt = scalar, S32, 1644, "", 1, 0 +targetRpmAc = scalar, S32, 1648, "", 1, 0 +iacByRpmTaper = scalar, F32, 1652 +luaAdd = scalar, F32, 1656 +; total TS size = 1660 +etb1targetWithIdlePosition = scalar, F32, 1660, "%", 1,0 +etb1trim = scalar, F32, 1664, "", 1, 0 +etb1luaAdjustment = scalar, F32, 1668, "%", 1,0 +etb1m_wastegatePosition = scalar, F32, 1672, "%", 1,0 +etb1etbFeedForward = scalar, F32, 1676 +etb1etbIntegralError = scalar, F32, 1680, "", 1, 0 +etb1etbCurrentTarget = scalar, F32, 1684, "%", 1, 0 +etb1m_adjustedTarget = scalar, S16, 1688, "%", 0.01, 0 +etb1etbRevLimitActive = bits, U32, 1692, [0:0] +etb1jamDetected = bits, U32, 1692, [1:1] +etb1validPlantPosition = bits, U32, 1692, [2:2] +etb1etbTpsErrorCounter = scalar, U16, 1696, "count", 1,0 +etb1etbPpsErrorCounter = scalar, U16, 1698, "count", 1,0 +etb1etbErrorCode = scalar, S08, 1700, "", 1, 0 +etb1etbErrorCodeBlinker = scalar, S08, 1701, "", 1, 0 +etb1tcEtbDrop = scalar, S08, 1702, "%", 1, 0 +etb1jamTimer = scalar, U16, 1704, "sec", 0.01, 0 +etb1adjustedEtbTarget = scalar, S08, 1706, "%", 1, 0 +etb1state = scalar, U08, 1707, "", 1, 0 +; total TS size = 1708 +etb2targetWithIdlePosition = scalar, F32, 1708, "%", 1,0 +etb2trim = scalar, F32, 1712, "", 1, 0 +etb2luaAdjustment = scalar, F32, 1716, "%", 1,0 +etb2m_wastegatePosition = scalar, F32, 1720, "%", 1,0 +etb2etbFeedForward = scalar, F32, 1724 +etb2etbIntegralError = scalar, F32, 1728, "", 1, 0 +etb2etbCurrentTarget = scalar, F32, 1732, "%", 1, 0 +etb2m_adjustedTarget = scalar, S16, 1736, "%", 0.01, 0 +etb2etbRevLimitActive = bits, U32, 1740, [0:0] +etb2jamDetected = bits, U32, 1740, [1:1] +etb2validPlantPosition = bits, U32, 1740, [2:2] +etb2etbTpsErrorCounter = scalar, U16, 1744, "count", 1,0 +etb2etbPpsErrorCounter = scalar, U16, 1746, "count", 1,0 +etb2etbErrorCode = scalar, S08, 1748, "", 1, 0 +etb2etbErrorCodeBlinker = scalar, S08, 1749, "", 1, 0 +etb2tcEtbDrop = scalar, S08, 1750, "%", 1, 0 +etb2jamTimer = scalar, U16, 1752, "sec", 0.01, 0 +etb2adjustedEtbTarget = scalar, S08, 1754, "%", 1, 0 +etb2state = scalar, U08, 1755, "", 1, 0 +; total TS size = 1756 +wb1faultCode = scalar, U08, 1756, "", 1, 0 +wb1heaterDuty = scalar, U08, 1757, "%", 1, 0 +wb1pumpDuty = scalar, U08, 1758, "%", 1, 0 +wb1tempC = scalar, U16, 1760, "C", 1, 0 +wb1nernstVoltage = scalar, U16, 1762, "V", 0.001, 0 +wb1esr = scalar, U16, 1764, "ohm", 1, 0 +; total TS size = 1768 +wb2faultCode = scalar, U08, 1768, "", 1, 0 +wb2heaterDuty = scalar, U08, 1769, "%", 1, 0 +wb2pumpDuty = scalar, U08, 1770, "%", 1, 0 +wb2tempC = scalar, U16, 1772, "C", 1, 0 +wb2nernstVoltage = scalar, U16, 1774, "V", 0.001, 0 +wb2esr = scalar, U16, 1776, "ohm", 1, 0 +; total TS size = 1780 +dcOutput0 = scalar, F32, 1780, "%", 1,0 +isEnabled0_int = scalar, U08, 1784, "%", 1,0 +isEnabled0 = bits, U32, 1788, [0:0] +; total TS size = 1792 +value0 = scalar, U16, 1792, "RAW", 1,0 +value1 = scalar, U16, 1794, "RAW", 1,0 +errorRate = scalar, F32, 1796, "% (don't belive me)", 1,0 ; total TS size = 1800 -lambdaCurrentlyGood = bits, U32, 1800, [0:0] -lambdaMonitorCut = bits, U32, 1800, [1:1] -lambdaTimeSinceGood = scalar, U16, 1804, "sec", 0.01, 0 -; total TS size = 1808 +vvtTarget = scalar, U16, 1800, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1802, "%", 0.5, 0 +; total TS size = 1804 +lambdaCurrentlyGood = bits, U32, 1804, [0:0] +lambdaMonitorCut = bits, U32, 1804, [1:1] +lambdaTimeSinceGood = scalar, U16, 1808, "sec", 0.01, 0 +; total TS size = 1812 diff --git a/firmware/console/binary/generated/live_data_ids.h b/firmware/console/binary/generated/live_data_ids.h index 393cecd2fd..67a376ba50 100644 --- a/firmware/console/binary/generated/live_data_ids.h +++ b/firmware/console/binary/generated/live_data_ids.h @@ -45,31 +45,31 @@ LDS_lambda_monitor, #define OUTPUT_CHANNELS_BASE_ADDRESS 0 #define FUEL_COMPUTER_BASE_ADDRESS 860 #define IGNITION_STATE_BASE_ADDRESS 912 -#define KNOCK_CONTROLLER_BASE_ADDRESS 956 -#define PRIME_INJECTION_BASE_ADDRESS 1064 -#define TCU_CONTROLLER_BASE_ADDRESS 1068 -#define THROTTLE_MODEL_BASE_ADDRESS 1084 -#define HIGH_PRESSURE_FUEL_PUMP_BASE_ADDRESS 1096 -#define INJECTOR_MODEL_BASE_ADDRESS 1132 -#define LAUNCH_CONTROL_STATE_BASE_ADDRESS 1144 -#define SHIFT_TORQUE_REDUCTION_STATE_BASE_ADDRESS 1152 -#define ANTILAG_SYSTEM_STATE_BASE_ADDRESS 1156 -#define BOOST_CONTROL_BASE_ADDRESS 1168 -#define AC_CONTROL_BASE_ADDRESS 1192 -#define NITROUS_CONTROL_STATE_BASE_ADDRESS 1200 -#define FAN_CONTROL_BASE_ADDRESS 1204 -#define FUEL_PUMP_CONTROL_BASE_ADDRESS 1220 -#define MAIN_RELAY_BASE_ADDRESS 1224 -#define ENGINE_STATE_BASE_ADDRESS 1228 -#define TPS_ACCEL_STATE_BASE_ADDRESS 1320 -#define TRIGGER_CENTRAL_BASE_ADDRESS 1368 -#define TRIGGER_STATE_BASE_ADDRESS 1416 -#define TRIGGER_STATE_PRIMARY_BASE_ADDRESS 1596 -#define WALL_FUEL_STATE_BASE_ADDRESS 1604 -#define IDLE_STATE_BASE_ADDRESS 1612 -#define ELECTRONIC_THROTTLE_BASE_ADDRESS 1656 -#define WIDEBAND_STATE_BASE_ADDRESS 1752 -#define DC_MOTORS_BASE_ADDRESS 1776 -#define SENT_STATE_BASE_ADDRESS 1788 -#define VVT_BASE_ADDRESS 1796 -#define LAMBDA_MONITOR_BASE_ADDRESS 1800 +#define KNOCK_CONTROLLER_BASE_ADDRESS 960 +#define PRIME_INJECTION_BASE_ADDRESS 1068 +#define TCU_CONTROLLER_BASE_ADDRESS 1072 +#define THROTTLE_MODEL_BASE_ADDRESS 1088 +#define HIGH_PRESSURE_FUEL_PUMP_BASE_ADDRESS 1100 +#define INJECTOR_MODEL_BASE_ADDRESS 1136 +#define LAUNCH_CONTROL_STATE_BASE_ADDRESS 1148 +#define SHIFT_TORQUE_REDUCTION_STATE_BASE_ADDRESS 1156 +#define ANTILAG_SYSTEM_STATE_BASE_ADDRESS 1160 +#define BOOST_CONTROL_BASE_ADDRESS 1172 +#define AC_CONTROL_BASE_ADDRESS 1196 +#define NITROUS_CONTROL_STATE_BASE_ADDRESS 1204 +#define FAN_CONTROL_BASE_ADDRESS 1208 +#define FUEL_PUMP_CONTROL_BASE_ADDRESS 1224 +#define MAIN_RELAY_BASE_ADDRESS 1228 +#define ENGINE_STATE_BASE_ADDRESS 1232 +#define TPS_ACCEL_STATE_BASE_ADDRESS 1324 +#define TRIGGER_CENTRAL_BASE_ADDRESS 1372 +#define TRIGGER_STATE_BASE_ADDRESS 1420 +#define TRIGGER_STATE_PRIMARY_BASE_ADDRESS 1600 +#define WALL_FUEL_STATE_BASE_ADDRESS 1608 +#define IDLE_STATE_BASE_ADDRESS 1616 +#define ELECTRONIC_THROTTLE_BASE_ADDRESS 1660 +#define WIDEBAND_STATE_BASE_ADDRESS 1756 +#define DC_MOTORS_BASE_ADDRESS 1780 +#define SENT_STATE_BASE_ADDRESS 1792 +#define VVT_BASE_ADDRESS 1800 +#define LAMBDA_MONITOR_BASE_ADDRESS 1804 diff --git a/firmware/console/binary/generated/sensors.java b/firmware/console/binary/generated/sensors.java index 78f8d5b760..9ff31989b1 100644 --- a/firmware/console/binary/generated/sensors.java +++ b/firmware/console/binary/generated/sensors.java @@ -404,259 +404,261 @@ alignmentFill_at_26("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, Field dwellVoltageCorrection("Ign: Dwell voltage correction", SensorCategory.SENSOR_INPUTS, FieldType.INT, 940, 1.0, -1.0, -1.0, ""), luaTimingAdd("Ign: Lua timing add", SensorCategory.SENSOR_INPUTS, FieldType.INT, 944, 1.0, -20.0, 20.0, "deg"), luaTimingMult("Ign: Lua timing mult", SensorCategory.SENSOR_INPUTS, FieldType.INT, 948, 1.0, -20.0, 20.0, "deg"), -m_knockLevel("Knock: Current level", SensorCategory.SENSOR_INPUTS, FieldType.INT, 956, 1.0, 0.0, 0.0, "Volts"), -m_knockCyl1("Knock: Cyl 1", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 960, 1.0, 0.0, 0.0, "dBv"), -m_knockCyl2("Knock: Cyl 2", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 961, 1.0, 0.0, 0.0, "dBv"), -m_knockCyl3("Knock: Cyl 3", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 962, 1.0, 0.0, 0.0, "dBv"), -m_knockCyl4("Knock: Cyl 4", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 963, 1.0, 0.0, 0.0, "dBv"), -m_knockCyl5("Knock: Cyl 5", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 964, 1.0, 0.0, 0.0, "dBv"), -m_knockCyl6("Knock: Cyl 6", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 965, 1.0, 0.0, 0.0, "dBv"), -m_knockCyl7("Knock: Cyl 7", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 966, 1.0, 0.0, 0.0, "dBv"), -m_knockCyl8("Knock: Cyl 8", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 967, 1.0, 0.0, 0.0, "dBv"), -m_knockCyl9("Knock: Cyl 9", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 968, 1.0, 0.0, 0.0, "dBv"), -m_knockCyl10("Knock: Cyl 10", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 969, 1.0, 0.0, 0.0, "dBv"), -m_knockCyl11("Knock: Cyl 11", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 970, 1.0, 0.0, 0.0, "dBv"), -m_knockCyl12("Knock: Cyl 12", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 971, 1.0, 0.0, 0.0, "dBv"), -m_knockRetard("Knock: Retard", SensorCategory.SENSOR_INPUTS, FieldType.INT, 972, 1.0, 0.0, 0.0, "deg"), -m_knockThreshold("Knock: Threshold", SensorCategory.SENSOR_INPUTS, FieldType.INT, 976, 1.0, -1.0, -1.0, ""), -m_knockCount("Knock: Count", SensorCategory.SENSOR_INPUTS, FieldType.INT, 980, 1.0, 0.0, 0.0, ""), -m_maximumRetard("Knock: Max retard", SensorCategory.SENSOR_INPUTS, FieldType.INT, 984, 1.0, -1.0, -1.0, ""), -m_knockSpectrum1("Knock: SpectrumData 1", SensorCategory.SENSOR_INPUTS, FieldType.INT, 988, 1.0, 0.0, 0.0, "compressed data"), -m_knockSpectrum2("Knock: SpectrumData 2", SensorCategory.SENSOR_INPUTS, FieldType.INT, 992, 1.0, 0.0, 0.0, "compressed data"), -m_knockSpectrum3("Knock: SpectrumData 3", SensorCategory.SENSOR_INPUTS, FieldType.INT, 996, 1.0, 0.0, 0.0, "compressed data"), -m_knockSpectrum4("Knock: SpectrumData 4", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1000, 1.0, 0.0, 0.0, "compressed data"), -m_knockSpectrum5("Knock: SpectrumData 5", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1004, 1.0, 0.0, 0.0, "compressed data"), -m_knockSpectrum6("Knock: SpectrumData 6", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1008, 1.0, 0.0, 0.0, "compressed data"), -m_knockSpectrum7("Knock: SpectrumData 7", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1012, 1.0, 0.0, 0.0, "compressed data"), -m_knockSpectrum8("Knock: SpectrumData 8", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1016, 1.0, 0.0, 0.0, "compressed data"), -m_knockSpectrum9("Knock: SpectrumData 9", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1020, 1.0, 0.0, 0.0, "compressed data"), -m_knockSpectrum10("Knock: SpectrumData 10", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1024, 1.0, 0.0, 0.0, "compressed data"), -m_knockSpectrum11("Knock: SpectrumData 11", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1028, 1.0, 0.0, 0.0, "compressed data"), -m_knockSpectrum12("Knock: SpectrumData 12", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1032, 1.0, 0.0, 0.0, "compressed data"), -m_knockSpectrum13("Knock: SpectrumData 13", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1036, 1.0, 0.0, 0.0, "compressed data"), -m_knockSpectrum14("Knock: SpectrumData 14", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1040, 1.0, 0.0, 0.0, "compressed data"), -m_knockSpectrum15("Knock: SpectrumData 15", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1044, 1.0, 0.0, 0.0, "compressed data"), -m_knockSpectrum16("Knock: SpectrumData 16", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1048, 1.0, 0.0, 0.0, "compressed data"), -m_knockSpectrumChannelCyl("Knock: ChannelAndCylNumber", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1052, 1.0, 0.0, 0.0, "compressed N + N"), -m_knockFrequencyStart("Knock: Start Freq", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1054, 1.0, 0.0, 0.0, "Hz"), -m_knockFrequencyStep("Knock: Step Freq", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1056, 1.0, 0.0, 0.0, "Hz"), -m_knockFuelTrimMultiplier("Knock: Fuel trim when knock", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1060, 1.0, 0.0, 0.0, "multiplier"), -tcuCurrentGear("TCU: Current Gear", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1068, 1.0, -1.0, 10.0, "gear"), -alignmentFill_at_1("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1069, 1.0, -20.0, 100.0, "units"), -tcRatio("TCU: Torque Converter Ratio", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1070, 0.01, 0.0, 0.0, "value"), -lastShiftTime("lastShiftTime", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1072, 1.0, -1.0, -1.0, ""), -tcu_currentRange("TCU: Current Range", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1076, 1.0, 0.0, 0.0, ""), -pressureControlDuty("TCU: EPC Duty", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1077, 1.0, 0.0, 100.0, "%"), -torqueConverterDuty("TCU: TC Duty", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1078, 1.0, 0.0, 100.0, "%"), -alignmentFill_at_11("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1079, 1.0, -20.0, 100.0, "units"), -throttleModelCrossoverAngle("Air: Throttle crossover pos", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1088, 0.01, 0.0, 100.0, "%"), -alignmentFill_at_6("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1090, 1.0, -20.0, 100.0, "units"), -throttleEstimatedFlow("Air: Throttle flow estimate", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1092, 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, 1096, 1.0, -1.0, -1.0, ""), -fuel_requested_percent("GDI: HPFP requested duty", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1100, 1.0, 0.0, 100.0, "%"), -fuel_requested_percent_pi("GDI: percent_pi", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1104, 1.0, -1.0, -1.0, ""), -m_pressureTarget_kPa("GDI: target pressure", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1112, 1.0, -1.0, -1.0, ""), -nextLobe("GDI: next lobe N", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1116, 1.0, -1.0, -1.0, ""), -di_nextStart("GDI: valve activation angle", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1120, 1.0, 0.0, 100.0, "v"), -HpfdActivationPhase("GDI: HPFP activation angle", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1124, 1.0, -1.0, -1.0, ""), -HpfdDeactivationPhase("GDI: HPFP deactivation angle", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1128, 1.0, -1.0, -1.0, ""), -m_deadtime("Fuel: injector lag", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1132, 1.0, 0.0, 0.0, "ms"), -pressureDelta("Fuel: Injector pressure delta", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1136, 1.0, -1000.0, 1000.0, "kPa"), -pressureRatio("Fuel: Injector pressure ratio", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1140, 1.0, 0.0, 100.0, ""), -retardThresholdRpm("Launch: Retard threshold RPM", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1144, 1.0, -1.0, -1.0, ""), -fuelALSCorrection("fuelALSCorrection", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1160, 1.0, -1.0, -1.0, ""), -timingALSCorrection("timingALSCorrection", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1164, 0.01, -20.0, 20.0, "deg"), -timingALSSkip("timingALSSkip", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1166, 0.01, 0.0, 50.0, "deg"), -luaTargetAdd("Boost: Lua target add", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1172, 0.5, -100.0, 100.0, "v"), -boostOutput("Boost: Output", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1174, 0.01, -100.0, 100.0, "percent"), -luaTargetMult("Boost: Lua target mult", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1176, 1.0, -100.0, 100.0, "v"), -openLoopPart("Boost: Open loop", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1180, 1.0, -100.0, 100.0, "v"), -luaOpenLoopAdd("Boost: Lua open loop add", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1184, 1.0, -100.0, 100.0, "v"), -boostControllerClosedLoopPart("Boost: Closed loop", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1188, 0.5, -50.0, 50.0, "%"), -alignmentFill_at_21("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1189, 1.0, -20.0, 100.0, "units"), -boostControlTarget("Boost: Target", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1190, 0.03333333333333333, 0.0, 300.0, "kPa"), -acButtonState("AC switch", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1192, 1.0, -1.0, -1.0, ""), -alignmentFill_at_1("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1193, 1.0, -20.0, 100.0, "units"), -radiatorFanStatus("radiatorFanStatus", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1208, 1.0, -1.0, -1.0, ""), -alignmentFill_at_5("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1209, 1.0, -20.0, 100.0, "units"), -radiatorFanStatus("radiatorFanStatus", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1208, 1.0, -1.0, -1.0, ""), -alignmentFill_at_5("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1209, 1.0, -20.0, 100.0, "units"), -lua("lua", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1228, 1.0, -1.0, -1.0, ""), -sd("sd", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1240, 1.0, -1.0, -1.0, ""), -crankingFuel("crankingFuel", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1248, 1.0, -1.0, -1.0, ""), -baroCorrection("Fuel: Barometric pressure mult", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1264, 1.0, -1.0, -1.0, ""), -hellenBoardId("Detected Board ID", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1268, 1.0, 0.0, 3000.0, "id"), -clutchUpState("Clutch: up", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1270, 1.0, -1.0, -1.0, ""), -brakePedalState("Brake switch", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1271, 1.0, -1.0, -1.0, ""), -startStopState("startStopState", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1272, 1.0, -1.0, -1.0, ""), -smartChipState("smartChipState", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1273, 1.0, -1.0, -1.0, ""), -smartChipRestartCounter("smartChipRestartCounter", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1274, 1.0, -1.0, -1.0, ""), -smartChipAliveCounter("smartChipAliveCounter", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1275, 1.0, -1.0, -1.0, ""), -startStopStateToggleCounter("startStopStateToggleCounter", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1280, 1.0, -1.0, -1.0, ""), -luaSoftSparkSkip("luaSoftSparkSkip", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1284, 1.0, -1.0, -1.0, ""), -luaHardSparkSkip("luaHardSparkSkip", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1288, 1.0, -1.0, -1.0, ""), -tractionControlSparkSkip("tractionControlSparkSkip", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1292, 1.0, -1.0, -1.0, ""), -fuelInjectionCounter("Fuel: Injection counter", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1296, 1.0, -1.0, -1.0, ""), -globalSparkCounter("Ign: Spark counter", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1300, 1.0, -1.0, -1.0, ""), -fuelingLoad("Fuel: Load", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1304, 1.0, -1.0, -1.0, ""), -ignitionLoad("Ignition: load", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1308, 1.0, -1.0, -1.0, ""), -veTableYAxis("veTableYAxis", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1312, 0.01, 0.0, 0.0, "%"), -overDwellCounter("overDwellCounter", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1314, 1.0, -1.0, -1.0, ""), -overDwellNotScheduledCounter("overDwellNotScheduledCounter", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1315, 1.0, -1.0, -1.0, ""), -sparkOutOfOrderCounter("sparkOutOfOrderCounter", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1316, 1.0, -1.0, -1.0, ""), -alignmentFill_at_89("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1317, 1.0, -20.0, 100.0, "units"), -tpsFrom("Fuel: TPS AE from", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1320, 1.0, -1.0, -1.0, ""), -tpsTo("Fuel: TPS AE to", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1324, 1.0, -1.0, -1.0, ""), -deltaTps("Fuel: TPS AE change", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1328, 1.0, -1.0, -1.0, ""), -extraFuel("extraFuel", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1332, 1.0, -1.0, -1.0, ""), -valueFromTable("valueFromTable", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1336, 1.0, -1.0, -1.0, ""), -fractionalInjFuel("fractionalInjFuel", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1344, 1.0, -1.0, -1.0, ""), -accumulatedValue("accumulatedValue", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1348, 1.0, -1.0, -1.0, ""), -maxExtraPerCycle("maxExtraPerCycle", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1352, 1.0, -1.0, -1.0, ""), -maxExtraPerPeriod("maxExtraPerPeriod", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1356, 1.0, -1.0, -1.0, ""), -maxInjectedPerPeriod("maxInjectedPerPeriod", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1360, 1.0, -1.0, -1.0, ""), -cycleCnt("cycleCnt", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1364, 1.0, -1.0, -1.0, ""), -hwEventCounters1("Hardware events since boot 1", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1368, 1.0, -1.0, -1.0, ""), -hwEventCounters2("Hardware events since boot 2", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1370, 1.0, -1.0, -1.0, ""), -hwEventCounters3("Hardware events since boot 3", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1372, 1.0, -1.0, -1.0, ""), -hwEventCounters4("Hardware events since boot 4", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1374, 1.0, -1.0, -1.0, ""), -vvtCamCounter("Sync: total cams front counter", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1376, 1.0, -1.0, -1.0, ""), -alignmentFill_at_10("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1378, 1.0, -20.0, 100.0, "units"), -mapVvt_MAP_AT_SPECIAL_POINT("InstantMAP at readout angle", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1380, 1.0, -300.0, 300.0, "kPa"), -mapVvt_MAP_AT_DIFF("InstantMAP delta @ readout angles", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1384, 1.0, -300.0, 300.0, "kPa"), -mapVvt_MAP_AT_CYCLE_COUNT("mapVvt_MAP_AT_CYCLE_COUNT", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1388, 1.0, -10.0, 100.0, "distance"), -mapVvt_sync_counter("Instant MAP sync counter", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1389, 1.0, 0.0, 10000.0, "counter"), -alignmentFill_at_22("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1390, 1.0, -20.0, 100.0, "units"), -currentEngineDecodedPhase("Sync: Engine Phase", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1392, 1.0, 0.0, 0.0, "deg"), -triggerToothAngleError("Sync: trigger angle error", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1396, 1.0, -30.0, 30.0, "deg"), -triggerIgnoredToothCount("triggerIgnoredToothCount", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1400, 1.0, -1.0, -1.0, ""), -alignmentFill_at_33("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1401, 1.0, -20.0, 100.0, "units"), -mapCamPrevToothAngle("Sync: MAP: prev angle", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1404, 1.0, -3000.0, 3000.0, "deg"), -triggerElapsedUs("triggerElapsedUs", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1412, 1.0, -1.0, -1.0, ""), -synchronizationCounter("sync: wheel sync counter", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1416, 1.0, -1.0, -1.0, ""), -vvtToothDurations0("vvtToothDurations0", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1420, 1.0, 0.0, 100000.0, "us"), -vvtCurrentPosition("sync: Primary Position", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1424, 1.0, -10000.0, 10000.0, ""), -vvtToothPosition1("sync: Cam Position 1", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1428, 1.0, -10000.0, 10000.0, ""), -vvtToothPosition2("sync: Cam Position 2", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1432, 1.0, -10000.0, 10000.0, ""), -vvtToothPosition3("sync: Cam Position 3", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1436, 1.0, -10000.0, 10000.0, ""), -vvtToothPosition4("sync: Cam Position 4", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1440, 1.0, -10000.0, 10000.0, ""), -triggerSyncGapRatio("Sync: Trigger 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, ""), -alignmentFill_at_33("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1449, 1.0, -20.0, 100.0, "units"), -synchronizationCounter("sync: wheel sync counter", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1416, 1.0, -1.0, -1.0, ""), -vvtToothDurations0("vvtToothDurations0", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1420, 1.0, 0.0, 100000.0, "us"), -vvtCurrentPosition("sync: Primary Position", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1424, 1.0, -10000.0, 10000.0, ""), -vvtToothPosition1("sync: Cam Position 1", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1428, 1.0, -10000.0, 10000.0, ""), -vvtToothPosition2("sync: Cam Position 2", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1432, 1.0, -10000.0, 10000.0, ""), -vvtToothPosition3("sync: Cam Position 3", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1436, 1.0, -10000.0, 10000.0, ""), -vvtToothPosition4("sync: Cam Position 4", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1440, 1.0, -10000.0, 10000.0, ""), -triggerSyncGapRatio("Sync: Trigger 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, ""), -alignmentFill_at_33("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1449, 1.0, -20.0, 100.0, "units"), -synchronizationCounter("sync: wheel sync counter", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1416, 1.0, -1.0, -1.0, ""), -vvtToothDurations0("vvtToothDurations0", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1420, 1.0, 0.0, 100000.0, "us"), -vvtCurrentPosition("sync: Primary Position", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1424, 1.0, -10000.0, 10000.0, ""), -vvtToothPosition1("sync: Cam Position 1", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1428, 1.0, -10000.0, 10000.0, ""), -vvtToothPosition2("sync: Cam Position 2", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1432, 1.0, -10000.0, 10000.0, ""), -vvtToothPosition3("sync: Cam Position 3", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1436, 1.0, -10000.0, 10000.0, ""), -vvtToothPosition4("sync: Cam Position 4", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1440, 1.0, -10000.0, 10000.0, ""), -triggerSyncGapRatio("Sync: Trigger 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, ""), -alignmentFill_at_33("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1449, 1.0, -20.0, 100.0, "units"), -synchronizationCounter("sync: wheel sync counter", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1416, 1.0, -1.0, -1.0, ""), -vvtToothDurations0("vvtToothDurations0", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1420, 1.0, 0.0, 100000.0, "us"), -vvtCurrentPosition("sync: Primary Position", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1424, 1.0, -10000.0, 10000.0, ""), -vvtToothPosition1("sync: Cam Position 1", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1428, 1.0, -10000.0, 10000.0, ""), -vvtToothPosition2("sync: Cam Position 2", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1432, 1.0, -10000.0, 10000.0, ""), -vvtToothPosition3("sync: Cam Position 3", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1436, 1.0, -10000.0, 10000.0, ""), -vvtToothPosition4("sync: Cam Position 4", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1440, 1.0, -10000.0, 10000.0, ""), -triggerSyncGapRatio("Sync: Trigger 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, ""), -alignmentFill_at_33("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1449, 1.0, -20.0, 100.0, "units"), -synchronizationCounter("sync: wheel sync counter", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1416, 1.0, -1.0, -1.0, ""), -vvtToothDurations0("vvtToothDurations0", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1420, 1.0, 0.0, 100000.0, "us"), -vvtCurrentPosition("sync: Primary Position", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1424, 1.0, -10000.0, 10000.0, ""), -vvtToothPosition1("sync: Cam Position 1", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1428, 1.0, -10000.0, 10000.0, ""), -vvtToothPosition2("sync: Cam Position 2", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1432, 1.0, -10000.0, 10000.0, ""), -vvtToothPosition3("sync: Cam Position 3", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1436, 1.0, -10000.0, 10000.0, ""), -vvtToothPosition4("sync: Cam Position 4", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1440, 1.0, -10000.0, 10000.0, ""), -triggerSyncGapRatio("Sync: Trigger 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, ""), -alignmentFill_at_33("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1449, 1.0, -20.0, 100.0, "units"), -camResyncCounter("sync: Phase Re-Sync Counter", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1596, 1.0, -1.0, -1.0, ""), -alignmentFill_at_1("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1597, 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, 1604, 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, 1608, 1.0, -1.0, -1.0, ""), -idleState("idleState", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1612, 1.0, -1.0, -1.0, ""), -currentIdlePosition("Idle: Position", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1616, 1.0, 0.0, 0.0, "%"), -baseIdlePosition("idle: base value\ncurrent position without adjustments (iacByTpsTaper, afterCrankingIACtaperDuration)", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1620, 1.0, -1.0, -1.0, ""), -idleClosedLoop("Idle: Closed loop", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1624, 1.0, -1.0, -1.0, ""), -iacByTpsTaper("idle: iacByTpsTaper portion", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1628, 1.0, -1.0, -1.0, ""), -idleTarget("Idle: Target RPM", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1636, 1.0, -1.0, -1.0, ""), -targetRpmByClt("Idle: Target RPM base", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1640, 1.0, -1.0, -1.0, ""), -targetRpmAc("Idle: Target A/C RPM", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1644, 1.0, -1.0, -1.0, ""), -iacByRpmTaper("idle: iacByRpmTaper portion", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1648, 1.0, -1.0, -1.0, ""), -luaAdd("idle: Lua Adder", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1652, 1.0, -1.0, -1.0, ""), -targetWithIdlePosition("ETB: target with idle", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1656, 1.0, 0.0, 10.0, "%"), -trim("ETB: trim", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1660, 1.0, -1.0, -1.0, ""), -luaAdjustment("ETB: luaAdjustment", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1664, 1.0, 0.0, 3.0, "%"), -m_wastegatePosition("DC: wastegatePosition", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1668, 1.0, 0.0, 3.0, "%"), -etbFeedForward("etbFeedForward", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1672, 1.0, -1.0, -1.0, ""), -etbIntegralError("etbIntegralError", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1676, 1.0, -10000.0, 10000.0, ""), -etbCurrentTarget("ETB: target for current pedal", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1680, 1.0, -10000.0, 10000.0, "%"), -m_adjustedTarget("Adjusted target", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1684, 0.01, -100.0, 100.0, "%"), -alignmentFill_at_30("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1686, 1.0, -20.0, 100.0, "units"), -etbTpsErrorCounter("ETB TPS error counter", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1692, 1.0, 0.0, 3.0, "count"), -etbPpsErrorCounter("ETB pedal error counter", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1694, 1.0, 0.0, 3.0, "count"), -etbErrorCode("etbErrorCode", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1696, 1.0, -1.0, -1.0, ""), -etbErrorCodeBlinker("etbErrorCodeBlinker", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1697, 1.0, -1.0, -1.0, ""), -tcEtbDrop("ETB traction control", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1698, 1.0, 0.0, 100.0, "%"), -alignmentFill_at_43("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1699, 1.0, -20.0, 100.0, "units"), -jamTimer("ETB jam timer", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1700, 0.01, 0.0, 100.0, "sec"), -adjustedEtbTarget("ETB with adjustments", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1702, 1.0, 0.0, 100.0, "%"), -state("state", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1703, 1.0, -1.0, -1.0, ""), -targetWithIdlePosition("ETB: target with idle", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1656, 1.0, 0.0, 10.0, "%"), -trim("ETB: trim", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1660, 1.0, -1.0, -1.0, ""), -luaAdjustment("ETB: luaAdjustment", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1664, 1.0, 0.0, 3.0, "%"), -m_wastegatePosition("DC: wastegatePosition", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1668, 1.0, 0.0, 3.0, "%"), -etbFeedForward("etbFeedForward", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1672, 1.0, -1.0, -1.0, ""), -etbIntegralError("etbIntegralError", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1676, 1.0, -10000.0, 10000.0, ""), -etbCurrentTarget("ETB: target for current pedal", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1680, 1.0, -10000.0, 10000.0, "%"), -m_adjustedTarget("Adjusted target", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1684, 0.01, -100.0, 100.0, "%"), -alignmentFill_at_30("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1686, 1.0, -20.0, 100.0, "units"), -etbTpsErrorCounter("ETB TPS error counter", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1692, 1.0, 0.0, 3.0, "count"), -etbPpsErrorCounter("ETB pedal error counter", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1694, 1.0, 0.0, 3.0, "count"), -etbErrorCode("etbErrorCode", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1696, 1.0, -1.0, -1.0, ""), -etbErrorCodeBlinker("etbErrorCodeBlinker", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1697, 1.0, -1.0, -1.0, ""), -tcEtbDrop("ETB traction control", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1698, 1.0, 0.0, 100.0, "%"), -alignmentFill_at_43("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1699, 1.0, -20.0, 100.0, "units"), -jamTimer("ETB jam timer", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1700, 0.01, 0.0, 100.0, "sec"), -adjustedEtbTarget("ETB with adjustments", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1702, 1.0, 0.0, 100.0, "%"), -state("state", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1703, 1.0, -1.0, -1.0, ""), -faultCode("WBO: Fault code", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1752, 1.0, -1.0, -1.0, ""), -heaterDuty("WBO: Heater duty", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1753, 1.0, 0.0, 100.0, "%"), -pumpDuty("WBO: Pump duty", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1754, 1.0, 0.0, 100.0, "%"), -alignmentFill_at_3("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1755, 1.0, -20.0, 100.0, "units"), -tempC("WBO: Temperature", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1756, 1.0, 500.0, 1000.0, "C"), -nernstVoltage("WBO: Nernst Voltage", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1758, 0.001, 0.0, 1.0, "V"), -esr("WBO: ESR", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1760, 1.0, 0.0, 10000.0, "ohm"), -alignmentFill_at_10("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1762, 1.0, -20.0, 100.0, "units"), -faultCode("WBO: Fault code", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1752, 1.0, -1.0, -1.0, ""), -heaterDuty("WBO: Heater duty", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1753, 1.0, 0.0, 100.0, "%"), -pumpDuty("WBO: Pump duty", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1754, 1.0, 0.0, 100.0, "%"), -alignmentFill_at_3("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1755, 1.0, -20.0, 100.0, "units"), -tempC("WBO: Temperature", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1756, 1.0, 500.0, 1000.0, "C"), -nernstVoltage("WBO: Nernst Voltage", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1758, 0.001, 0.0, 1.0, "V"), -esr("WBO: ESR", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1760, 1.0, 0.0, 10000.0, "ohm"), -alignmentFill_at_10("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1762, 1.0, -20.0, 100.0, "units"), -dcOutput0("DC: output0", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1776, 1.0, 0.0, 10.0, "%"), -isEnabled0_int("DC: en0", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1780, 1.0, 0.0, 10.0, "%"), -alignmentFill_at_5("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1781, 1.0, -20.0, 100.0, "units"), -value0("SENT ch0 value0", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1788, 1.0, 0.0, 4095.0, "RAW"), -value1("SENT ch0 value1", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1790, 1.0, 0.0, 4095.0, "RAW"), -errorRate("SENT ch0 error rate", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1792, 1.0, 0.0, 100.0, "% (don't belive me)"), -vvtTarget("vvtTarget", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1796, 0.1, -90.0, 90.0, "deg"), -vvtOutput("vvtOutput", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1798, 0.5, 100.0, 1.0, "%"), -alignmentFill_at_3("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1799, 1.0, -20.0, 100.0, "units"), -lambdaTimeSinceGood("lambdaTimeSinceGood", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1804, 0.01, 0.0, 1.0, "sec"), -alignmentFill_at_6("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1806, 1.0, -20.0, 100.0, "units"), +trailingSparkAngle("Ign: Trailing spark deg", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 956, 0.01, -20.0, 20.0, "deg"), +alignmentFill_at_46("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 958, 1.0, -20.0, 100.0, "units"), +m_knockLevel("Knock: Current level", SensorCategory.SENSOR_INPUTS, FieldType.INT, 960, 1.0, 0.0, 0.0, "Volts"), +m_knockCyl1("Knock: Cyl 1", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 964, 1.0, 0.0, 0.0, "dBv"), +m_knockCyl2("Knock: Cyl 2", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 965, 1.0, 0.0, 0.0, "dBv"), +m_knockCyl3("Knock: Cyl 3", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 966, 1.0, 0.0, 0.0, "dBv"), +m_knockCyl4("Knock: Cyl 4", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 967, 1.0, 0.0, 0.0, "dBv"), +m_knockCyl5("Knock: Cyl 5", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 968, 1.0, 0.0, 0.0, "dBv"), +m_knockCyl6("Knock: Cyl 6", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 969, 1.0, 0.0, 0.0, "dBv"), +m_knockCyl7("Knock: Cyl 7", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 970, 1.0, 0.0, 0.0, "dBv"), +m_knockCyl8("Knock: Cyl 8", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 971, 1.0, 0.0, 0.0, "dBv"), +m_knockCyl9("Knock: Cyl 9", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 972, 1.0, 0.0, 0.0, "dBv"), +m_knockCyl10("Knock: Cyl 10", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 973, 1.0, 0.0, 0.0, "dBv"), +m_knockCyl11("Knock: Cyl 11", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 974, 1.0, 0.0, 0.0, "dBv"), +m_knockCyl12("Knock: Cyl 12", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 975, 1.0, 0.0, 0.0, "dBv"), +m_knockRetard("Knock: Retard", SensorCategory.SENSOR_INPUTS, FieldType.INT, 976, 1.0, 0.0, 0.0, "deg"), +m_knockThreshold("Knock: Threshold", SensorCategory.SENSOR_INPUTS, FieldType.INT, 980, 1.0, -1.0, -1.0, ""), +m_knockCount("Knock: Count", SensorCategory.SENSOR_INPUTS, FieldType.INT, 984, 1.0, 0.0, 0.0, ""), +m_maximumRetard("Knock: Max retard", SensorCategory.SENSOR_INPUTS, FieldType.INT, 988, 1.0, -1.0, -1.0, ""), +m_knockSpectrum1("Knock: SpectrumData 1", SensorCategory.SENSOR_INPUTS, FieldType.INT, 992, 1.0, 0.0, 0.0, "compressed data"), +m_knockSpectrum2("Knock: SpectrumData 2", SensorCategory.SENSOR_INPUTS, FieldType.INT, 996, 1.0, 0.0, 0.0, "compressed data"), +m_knockSpectrum3("Knock: SpectrumData 3", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1000, 1.0, 0.0, 0.0, "compressed data"), +m_knockSpectrum4("Knock: SpectrumData 4", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1004, 1.0, 0.0, 0.0, "compressed data"), +m_knockSpectrum5("Knock: SpectrumData 5", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1008, 1.0, 0.0, 0.0, "compressed data"), +m_knockSpectrum6("Knock: SpectrumData 6", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1012, 1.0, 0.0, 0.0, "compressed data"), +m_knockSpectrum7("Knock: SpectrumData 7", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1016, 1.0, 0.0, 0.0, "compressed data"), +m_knockSpectrum8("Knock: SpectrumData 8", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1020, 1.0, 0.0, 0.0, "compressed data"), +m_knockSpectrum9("Knock: SpectrumData 9", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1024, 1.0, 0.0, 0.0, "compressed data"), +m_knockSpectrum10("Knock: SpectrumData 10", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1028, 1.0, 0.0, 0.0, "compressed data"), +m_knockSpectrum11("Knock: SpectrumData 11", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1032, 1.0, 0.0, 0.0, "compressed data"), +m_knockSpectrum12("Knock: SpectrumData 12", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1036, 1.0, 0.0, 0.0, "compressed data"), +m_knockSpectrum13("Knock: SpectrumData 13", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1040, 1.0, 0.0, 0.0, "compressed data"), +m_knockSpectrum14("Knock: SpectrumData 14", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1044, 1.0, 0.0, 0.0, "compressed data"), +m_knockSpectrum15("Knock: SpectrumData 15", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1048, 1.0, 0.0, 0.0, "compressed data"), +m_knockSpectrum16("Knock: SpectrumData 16", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1052, 1.0, 0.0, 0.0, "compressed data"), +m_knockSpectrumChannelCyl("Knock: ChannelAndCylNumber", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1056, 1.0, 0.0, 0.0, "compressed N + N"), +m_knockFrequencyStart("Knock: Start Freq", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1058, 1.0, 0.0, 0.0, "Hz"), +m_knockFrequencyStep("Knock: Step Freq", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1060, 1.0, 0.0, 0.0, "Hz"), +m_knockFuelTrimMultiplier("Knock: Fuel trim when knock", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1064, 1.0, 0.0, 0.0, "multiplier"), +tcuCurrentGear("TCU: Current Gear", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1072, 1.0, -1.0, 10.0, "gear"), +alignmentFill_at_1("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1073, 1.0, -20.0, 100.0, "units"), +tcRatio("TCU: Torque Converter Ratio", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1074, 0.01, 0.0, 0.0, "value"), +lastShiftTime("lastShiftTime", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1076, 1.0, -1.0, -1.0, ""), +tcu_currentRange("TCU: Current Range", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1080, 1.0, 0.0, 0.0, ""), +pressureControlDuty("TCU: EPC Duty", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1081, 1.0, 0.0, 100.0, "%"), +torqueConverterDuty("TCU: TC Duty", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1082, 1.0, 0.0, 100.0, "%"), +alignmentFill_at_11("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1083, 1.0, -20.0, 100.0, "units"), +throttleModelCrossoverAngle("Air: Throttle crossover pos", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1092, 0.01, 0.0, 100.0, "%"), +alignmentFill_at_6("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1094, 1.0, -20.0, 100.0, "units"), +throttleEstimatedFlow("Air: Throttle flow estimate", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1096, 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, 1100, 1.0, -1.0, -1.0, ""), +fuel_requested_percent("GDI: HPFP requested duty", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1104, 1.0, 0.0, 100.0, "%"), +fuel_requested_percent_pi("GDI: percent_pi", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1108, 1.0, -1.0, -1.0, ""), +m_pressureTarget_kPa("GDI: target pressure", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1116, 1.0, -1.0, -1.0, ""), +nextLobe("GDI: next lobe N", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1120, 1.0, -1.0, -1.0, ""), +di_nextStart("GDI: valve activation angle", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1124, 1.0, 0.0, 100.0, "v"), +HpfdActivationPhase("GDI: HPFP activation angle", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1128, 1.0, -1.0, -1.0, ""), +HpfdDeactivationPhase("GDI: HPFP deactivation angle", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1132, 1.0, -1.0, -1.0, ""), +m_deadtime("Fuel: injector lag", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1136, 1.0, 0.0, 0.0, "ms"), +pressureDelta("Fuel: Injector pressure delta", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1140, 1.0, -1000.0, 1000.0, "kPa"), +pressureRatio("Fuel: Injector pressure ratio", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1144, 1.0, 0.0, 100.0, ""), +retardThresholdRpm("Launch: Retard threshold RPM", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1148, 1.0, -1.0, -1.0, ""), +fuelALSCorrection("fuelALSCorrection", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1164, 1.0, -1.0, -1.0, ""), +timingALSCorrection("timingALSCorrection", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1168, 0.01, -20.0, 20.0, "deg"), +timingALSSkip("timingALSSkip", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1170, 0.01, 0.0, 50.0, "deg"), +luaTargetAdd("Boost: Lua target add", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1176, 0.5, -100.0, 100.0, "v"), +boostOutput("Boost: Output", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1178, 0.01, -100.0, 100.0, "percent"), +luaTargetMult("Boost: Lua target mult", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1180, 1.0, -100.0, 100.0, "v"), +openLoopPart("Boost: Open loop", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1184, 1.0, -100.0, 100.0, "v"), +luaOpenLoopAdd("Boost: Lua open loop add", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1188, 1.0, -100.0, 100.0, "v"), +boostControllerClosedLoopPart("Boost: Closed loop", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1192, 0.5, -50.0, 50.0, "%"), +alignmentFill_at_21("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1193, 1.0, -20.0, 100.0, "units"), +boostControlTarget("Boost: Target", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1194, 0.03333333333333333, 0.0, 300.0, "kPa"), +acButtonState("AC switch", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1196, 1.0, -1.0, -1.0, ""), +alignmentFill_at_1("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1197, 1.0, -20.0, 100.0, "units"), +radiatorFanStatus("radiatorFanStatus", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1212, 1.0, -1.0, -1.0, ""), +alignmentFill_at_5("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1213, 1.0, -20.0, 100.0, "units"), +radiatorFanStatus("radiatorFanStatus", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1212, 1.0, -1.0, -1.0, ""), +alignmentFill_at_5("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1213, 1.0, -20.0, 100.0, "units"), +lua("lua", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1232, 1.0, -1.0, -1.0, ""), +sd("sd", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1244, 1.0, -1.0, -1.0, ""), +crankingFuel("crankingFuel", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1252, 1.0, -1.0, -1.0, ""), +baroCorrection("Fuel: Barometric pressure mult", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1268, 1.0, -1.0, -1.0, ""), +hellenBoardId("Detected Board ID", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1272, 1.0, 0.0, 3000.0, "id"), +clutchUpState("Clutch: up", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1274, 1.0, -1.0, -1.0, ""), +brakePedalState("Brake switch", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1275, 1.0, -1.0, -1.0, ""), +startStopState("startStopState", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1276, 1.0, -1.0, -1.0, ""), +smartChipState("smartChipState", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1277, 1.0, -1.0, -1.0, ""), +smartChipRestartCounter("smartChipRestartCounter", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1278, 1.0, -1.0, -1.0, ""), +smartChipAliveCounter("smartChipAliveCounter", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1279, 1.0, -1.0, -1.0, ""), +startStopStateToggleCounter("startStopStateToggleCounter", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1284, 1.0, -1.0, -1.0, ""), +luaSoftSparkSkip("luaSoftSparkSkip", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1288, 1.0, -1.0, -1.0, ""), +luaHardSparkSkip("luaHardSparkSkip", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1292, 1.0, -1.0, -1.0, ""), +tractionControlSparkSkip("tractionControlSparkSkip", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1296, 1.0, -1.0, -1.0, ""), +fuelInjectionCounter("Fuel: Injection counter", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1300, 1.0, -1.0, -1.0, ""), +globalSparkCounter("Ign: Spark counter", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1304, 1.0, -1.0, -1.0, ""), +fuelingLoad("Fuel: Load", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1308, 1.0, -1.0, -1.0, ""), +ignitionLoad("Ignition: load", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1312, 1.0, -1.0, -1.0, ""), +veTableYAxis("veTableYAxis", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1316, 0.01, 0.0, 0.0, "%"), +overDwellCounter("overDwellCounter", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1318, 1.0, -1.0, -1.0, ""), +overDwellNotScheduledCounter("overDwellNotScheduledCounter", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1319, 1.0, -1.0, -1.0, ""), +sparkOutOfOrderCounter("sparkOutOfOrderCounter", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1320, 1.0, -1.0, -1.0, ""), +alignmentFill_at_89("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1321, 1.0, -20.0, 100.0, "units"), +tpsFrom("Fuel: TPS AE from", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1324, 1.0, -1.0, -1.0, ""), +tpsTo("Fuel: TPS AE to", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1328, 1.0, -1.0, -1.0, ""), +deltaTps("Fuel: TPS AE change", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1332, 1.0, -1.0, -1.0, ""), +extraFuel("extraFuel", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1336, 1.0, -1.0, -1.0, ""), +valueFromTable("valueFromTable", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1340, 1.0, -1.0, -1.0, ""), +fractionalInjFuel("fractionalInjFuel", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1348, 1.0, -1.0, -1.0, ""), +accumulatedValue("accumulatedValue", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1352, 1.0, -1.0, -1.0, ""), +maxExtraPerCycle("maxExtraPerCycle", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1356, 1.0, -1.0, -1.0, ""), +maxExtraPerPeriod("maxExtraPerPeriod", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1360, 1.0, -1.0, -1.0, ""), +maxInjectedPerPeriod("maxInjectedPerPeriod", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1364, 1.0, -1.0, -1.0, ""), +cycleCnt("cycleCnt", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1368, 1.0, -1.0, -1.0, ""), +hwEventCounters1("Hardware events since boot 1", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1372, 1.0, -1.0, -1.0, ""), +hwEventCounters2("Hardware events since boot 2", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1374, 1.0, -1.0, -1.0, ""), +hwEventCounters3("Hardware events since boot 3", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1376, 1.0, -1.0, -1.0, ""), +hwEventCounters4("Hardware events since boot 4", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1378, 1.0, -1.0, -1.0, ""), +vvtCamCounter("Sync: total cams front counter", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1380, 1.0, -1.0, -1.0, ""), +alignmentFill_at_10("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1382, 1.0, -20.0, 100.0, "units"), +mapVvt_MAP_AT_SPECIAL_POINT("InstantMAP at readout angle", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1384, 1.0, -300.0, 300.0, "kPa"), +mapVvt_MAP_AT_DIFF("InstantMAP delta @ readout angles", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1388, 1.0, -300.0, 300.0, "kPa"), +mapVvt_MAP_AT_CYCLE_COUNT("mapVvt_MAP_AT_CYCLE_COUNT", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1392, 1.0, -10.0, 100.0, "distance"), +mapVvt_sync_counter("Instant MAP sync counter", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1393, 1.0, 0.0, 10000.0, "counter"), +alignmentFill_at_22("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1394, 1.0, -20.0, 100.0, "units"), +currentEngineDecodedPhase("Sync: Engine Phase", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1396, 1.0, 0.0, 0.0, "deg"), +triggerToothAngleError("Sync: trigger angle error", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1400, 1.0, -30.0, 30.0, "deg"), +triggerIgnoredToothCount("triggerIgnoredToothCount", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1404, 1.0, -1.0, -1.0, ""), +alignmentFill_at_33("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1405, 1.0, -20.0, 100.0, "units"), +mapCamPrevToothAngle("Sync: MAP: prev angle", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1408, 1.0, -3000.0, 3000.0, "deg"), +triggerElapsedUs("triggerElapsedUs", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1416, 1.0, -1.0, -1.0, ""), +synchronizationCounter("sync: wheel sync counter", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1420, 1.0, -1.0, -1.0, ""), +vvtToothDurations0("vvtToothDurations0", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1424, 1.0, 0.0, 100000.0, "us"), +vvtCurrentPosition("sync: Primary Position", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1428, 1.0, -10000.0, 10000.0, ""), +vvtToothPosition1("sync: Cam Position 1", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1432, 1.0, -10000.0, 10000.0, ""), +vvtToothPosition2("sync: Cam Position 2", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1436, 1.0, -10000.0, 10000.0, ""), +vvtToothPosition3("sync: Cam Position 3", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1440, 1.0, -10000.0, 10000.0, ""), +vvtToothPosition4("sync: Cam Position 4", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1444, 1.0, -10000.0, 10000.0, ""), +triggerSyncGapRatio("Sync: Trigger Latest Ratio", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1448, 1.0, -10000.0, 10000.0, ""), +triggerStateIndex("triggerStateIndex", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1452, 1.0, -1.0, -1.0, ""), +alignmentFill_at_33("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1453, 1.0, -20.0, 100.0, "units"), +synchronizationCounter("sync: wheel sync counter", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1420, 1.0, -1.0, -1.0, ""), +vvtToothDurations0("vvtToothDurations0", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1424, 1.0, 0.0, 100000.0, "us"), +vvtCurrentPosition("sync: Primary Position", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1428, 1.0, -10000.0, 10000.0, ""), +vvtToothPosition1("sync: Cam Position 1", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1432, 1.0, -10000.0, 10000.0, ""), +vvtToothPosition2("sync: Cam Position 2", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1436, 1.0, -10000.0, 10000.0, ""), +vvtToothPosition3("sync: Cam Position 3", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1440, 1.0, -10000.0, 10000.0, ""), +vvtToothPosition4("sync: Cam Position 4", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1444, 1.0, -10000.0, 10000.0, ""), +triggerSyncGapRatio("Sync: Trigger Latest Ratio", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1448, 1.0, -10000.0, 10000.0, ""), +triggerStateIndex("triggerStateIndex", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1452, 1.0, -1.0, -1.0, ""), +alignmentFill_at_33("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1453, 1.0, -20.0, 100.0, "units"), +synchronizationCounter("sync: wheel sync counter", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1420, 1.0, -1.0, -1.0, ""), +vvtToothDurations0("vvtToothDurations0", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1424, 1.0, 0.0, 100000.0, "us"), +vvtCurrentPosition("sync: Primary Position", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1428, 1.0, -10000.0, 10000.0, ""), +vvtToothPosition1("sync: Cam Position 1", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1432, 1.0, -10000.0, 10000.0, ""), +vvtToothPosition2("sync: Cam Position 2", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1436, 1.0, -10000.0, 10000.0, ""), +vvtToothPosition3("sync: Cam Position 3", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1440, 1.0, -10000.0, 10000.0, ""), +vvtToothPosition4("sync: Cam Position 4", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1444, 1.0, -10000.0, 10000.0, ""), +triggerSyncGapRatio("Sync: Trigger Latest Ratio", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1448, 1.0, -10000.0, 10000.0, ""), +triggerStateIndex("triggerStateIndex", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1452, 1.0, -1.0, -1.0, ""), +alignmentFill_at_33("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1453, 1.0, -20.0, 100.0, "units"), +synchronizationCounter("sync: wheel sync counter", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1420, 1.0, -1.0, -1.0, ""), +vvtToothDurations0("vvtToothDurations0", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1424, 1.0, 0.0, 100000.0, "us"), +vvtCurrentPosition("sync: Primary Position", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1428, 1.0, -10000.0, 10000.0, ""), +vvtToothPosition1("sync: Cam Position 1", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1432, 1.0, -10000.0, 10000.0, ""), +vvtToothPosition2("sync: Cam Position 2", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1436, 1.0, -10000.0, 10000.0, ""), +vvtToothPosition3("sync: Cam Position 3", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1440, 1.0, -10000.0, 10000.0, ""), +vvtToothPosition4("sync: Cam Position 4", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1444, 1.0, -10000.0, 10000.0, ""), +triggerSyncGapRatio("Sync: Trigger Latest Ratio", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1448, 1.0, -10000.0, 10000.0, ""), +triggerStateIndex("triggerStateIndex", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1452, 1.0, -1.0, -1.0, ""), +alignmentFill_at_33("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1453, 1.0, -20.0, 100.0, "units"), +synchronizationCounter("sync: wheel sync counter", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1420, 1.0, -1.0, -1.0, ""), +vvtToothDurations0("vvtToothDurations0", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1424, 1.0, 0.0, 100000.0, "us"), +vvtCurrentPosition("sync: Primary Position", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1428, 1.0, -10000.0, 10000.0, ""), +vvtToothPosition1("sync: Cam Position 1", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1432, 1.0, -10000.0, 10000.0, ""), +vvtToothPosition2("sync: Cam Position 2", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1436, 1.0, -10000.0, 10000.0, ""), +vvtToothPosition3("sync: Cam Position 3", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1440, 1.0, -10000.0, 10000.0, ""), +vvtToothPosition4("sync: Cam Position 4", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1444, 1.0, -10000.0, 10000.0, ""), +triggerSyncGapRatio("Sync: Trigger Latest Ratio", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1448, 1.0, -10000.0, 10000.0, ""), +triggerStateIndex("triggerStateIndex", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1452, 1.0, -1.0, -1.0, ""), +alignmentFill_at_33("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1453, 1.0, -20.0, 100.0, "units"), +camResyncCounter("sync: Phase Re-Sync Counter", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1600, 1.0, -1.0, -1.0, ""), +alignmentFill_at_1("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1601, 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, 1608, 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, 1612, 1.0, -1.0, -1.0, ""), +idleState("idleState", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1616, 1.0, -1.0, -1.0, ""), +currentIdlePosition("Idle: Position", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1620, 1.0, 0.0, 0.0, "%"), +baseIdlePosition("idle: base value\ncurrent position without adjustments (iacByTpsTaper, afterCrankingIACtaperDuration)", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1624, 1.0, -1.0, -1.0, ""), +idleClosedLoop("Idle: Closed loop", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1628, 1.0, -1.0, -1.0, ""), +iacByTpsTaper("idle: iacByTpsTaper portion", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1632, 1.0, -1.0, -1.0, ""), +idleTarget("Idle: Target RPM", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1640, 1.0, -1.0, -1.0, ""), +targetRpmByClt("Idle: Target RPM base", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1644, 1.0, -1.0, -1.0, ""), +targetRpmAc("Idle: Target A/C RPM", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1648, 1.0, -1.0, -1.0, ""), +iacByRpmTaper("idle: iacByRpmTaper portion", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1652, 1.0, -1.0, -1.0, ""), +luaAdd("idle: Lua Adder", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1656, 1.0, -1.0, -1.0, ""), +targetWithIdlePosition("ETB: target with idle", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1660, 1.0, 0.0, 10.0, "%"), +trim("ETB: trim", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1664, 1.0, -1.0, -1.0, ""), +luaAdjustment("ETB: luaAdjustment", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1668, 1.0, 0.0, 3.0, "%"), +m_wastegatePosition("DC: wastegatePosition", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1672, 1.0, 0.0, 3.0, "%"), +etbFeedForward("etbFeedForward", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1676, 1.0, -1.0, -1.0, ""), +etbIntegralError("etbIntegralError", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1680, 1.0, -10000.0, 10000.0, ""), +etbCurrentTarget("ETB: target for current pedal", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1684, 1.0, -10000.0, 10000.0, "%"), +m_adjustedTarget("Adjusted target", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1688, 0.01, -100.0, 100.0, "%"), +alignmentFill_at_30("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1690, 1.0, -20.0, 100.0, "units"), +etbTpsErrorCounter("ETB TPS error counter", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1696, 1.0, 0.0, 3.0, "count"), +etbPpsErrorCounter("ETB pedal error counter", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1698, 1.0, 0.0, 3.0, "count"), +etbErrorCode("etbErrorCode", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1700, 1.0, -1.0, -1.0, ""), +etbErrorCodeBlinker("etbErrorCodeBlinker", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1701, 1.0, -1.0, -1.0, ""), +tcEtbDrop("ETB traction control", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1702, 1.0, 0.0, 100.0, "%"), +alignmentFill_at_43("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1703, 1.0, -20.0, 100.0, "units"), +jamTimer("ETB jam timer", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1704, 0.01, 0.0, 100.0, "sec"), +adjustedEtbTarget("ETB with adjustments", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1706, 1.0, 0.0, 100.0, "%"), +state("state", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1707, 1.0, -1.0, -1.0, ""), +targetWithIdlePosition("ETB: target with idle", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1660, 1.0, 0.0, 10.0, "%"), +trim("ETB: trim", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1664, 1.0, -1.0, -1.0, ""), +luaAdjustment("ETB: luaAdjustment", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1668, 1.0, 0.0, 3.0, "%"), +m_wastegatePosition("DC: wastegatePosition", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1672, 1.0, 0.0, 3.0, "%"), +etbFeedForward("etbFeedForward", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1676, 1.0, -1.0, -1.0, ""), +etbIntegralError("etbIntegralError", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1680, 1.0, -10000.0, 10000.0, ""), +etbCurrentTarget("ETB: target for current pedal", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1684, 1.0, -10000.0, 10000.0, "%"), +m_adjustedTarget("Adjusted target", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1688, 0.01, -100.0, 100.0, "%"), +alignmentFill_at_30("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1690, 1.0, -20.0, 100.0, "units"), +etbTpsErrorCounter("ETB TPS error counter", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1696, 1.0, 0.0, 3.0, "count"), +etbPpsErrorCounter("ETB pedal error counter", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1698, 1.0, 0.0, 3.0, "count"), +etbErrorCode("etbErrorCode", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1700, 1.0, -1.0, -1.0, ""), +etbErrorCodeBlinker("etbErrorCodeBlinker", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1701, 1.0, -1.0, -1.0, ""), +tcEtbDrop("ETB traction control", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1702, 1.0, 0.0, 100.0, "%"), +alignmentFill_at_43("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1703, 1.0, -20.0, 100.0, "units"), +jamTimer("ETB jam timer", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1704, 0.01, 0.0, 100.0, "sec"), +adjustedEtbTarget("ETB with adjustments", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1706, 1.0, 0.0, 100.0, "%"), +state("state", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1707, 1.0, -1.0, -1.0, ""), +faultCode("WBO: Fault code", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1756, 1.0, -1.0, -1.0, ""), +heaterDuty("WBO: Heater duty", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1757, 1.0, 0.0, 100.0, "%"), +pumpDuty("WBO: Pump duty", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1758, 1.0, 0.0, 100.0, "%"), +alignmentFill_at_3("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1759, 1.0, -20.0, 100.0, "units"), +tempC("WBO: Temperature", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1760, 1.0, 500.0, 1000.0, "C"), +nernstVoltage("WBO: Nernst Voltage", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1762, 0.001, 0.0, 1.0, "V"), +esr("WBO: ESR", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1764, 1.0, 0.0, 10000.0, "ohm"), +alignmentFill_at_10("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1766, 1.0, -20.0, 100.0, "units"), +faultCode("WBO: Fault code", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1756, 1.0, -1.0, -1.0, ""), +heaterDuty("WBO: Heater duty", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1757, 1.0, 0.0, 100.0, "%"), +pumpDuty("WBO: Pump duty", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1758, 1.0, 0.0, 100.0, "%"), +alignmentFill_at_3("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1759, 1.0, -20.0, 100.0, "units"), +tempC("WBO: Temperature", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1760, 1.0, 500.0, 1000.0, "C"), +nernstVoltage("WBO: Nernst Voltage", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1762, 0.001, 0.0, 1.0, "V"), +esr("WBO: ESR", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1764, 1.0, 0.0, 10000.0, "ohm"), +alignmentFill_at_10("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1766, 1.0, -20.0, 100.0, "units"), +dcOutput0("DC: output0", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1780, 1.0, 0.0, 10.0, "%"), +isEnabled0_int("DC: en0", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1784, 1.0, 0.0, 10.0, "%"), +alignmentFill_at_5("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1785, 1.0, -20.0, 100.0, "units"), +value0("SENT ch0 value0", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1792, 1.0, 0.0, 4095.0, "RAW"), +value1("SENT ch0 value1", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1794, 1.0, 0.0, 4095.0, "RAW"), +errorRate("SENT ch0 error rate", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1796, 1.0, 0.0, 100.0, "% (don't belive me)"), +vvtTarget("vvtTarget", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1800, 0.1, -90.0, 90.0, "deg"), +vvtOutput("vvtOutput", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1802, 0.5, 100.0, 1.0, "%"), +alignmentFill_at_3("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1803, 1.0, -20.0, 100.0, "units"), +lambdaTimeSinceGood("lambdaTimeSinceGood", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1808, 0.01, 0.0, 1.0, "sec"), +alignmentFill_at_6("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1810, 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 c64679d3e8..bcce60315a 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 1808 \ No newline at end of file +#define TS_TOTAL_OUTPUT_SIZE 1812 \ 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 79e054c326..a0a88b4dd2 100644 --- a/firmware/console/binary_log/log_fields_generated.h +++ b/firmware/console/binary_log/log_fields_generated.h @@ -470,6 +470,7 @@ static const LogField fields[] = { {engine->ignitionState.luaTimingAdd, "Ign: Lua timing add", "deg", 2, "Timing"}, {engine->ignitionState.luaTimingMult, "Ign: Lua timing mult", "deg", 2, "Timing"}, {engine->ignitionState, 40, 0, "Ign: Lua Spark Skip", ""}, + {engine->ignitionState.trailingSparkAngle, "Ign: Trailing spark deg", "deg", 2, "Timing"}, {engine->module()->m_knockLevel, "Knock: Current level", "Volts", 2}, {engine->module()->m_knockCyl[0], "Knock: Cyl 1", "dBv", 0}, {engine->module()->m_knockCyl[1], "Knock: Cyl 2", "dBv", 0}, 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 b5c5949bed..21baa25302 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_alphax-2chan.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_alphax-2chan.h @@ -1186,11 +1186,9 @@ struct engine_configuration_s { */ float idle_derivativeFilterLoss; /** - * just a temporary solution - * units: angle * offset 520 */ - int trailingSparkAngle; + int unusedTrailingSparkAngle; /** * offset 524 */ @@ -6194,103 +6192,118 @@ struct persistent_config_s { */ float dynoCarFrontalAreaM2; /** - offset 23280 bit 0 */ + * units: deg + * offset 23280 + */ + scaled_channel trailingSparkTable[TRAILING_SPARK_SIZE][TRAILING_SPARK_SIZE] = {}; + /** + * units: rpm + * offset 23296 + */ + scaled_channel trailingSparkRpmBins[TRAILING_SPARK_SIZE] = {}; + /** + * units: Load + * offset 23300 + */ + scaled_channel trailingSparkLoadBins[TRAILING_SPARK_SIZE] = {}; + /** + offset 23304 bit 0 */ bool boardUseTachPullUp : 1 {}; /** - offset 23280 bit 1 */ + offset 23304 bit 1 */ bool boardUseTempPullUp : 1 {}; /** - offset 23280 bit 2 */ + offset 23304 bit 2 */ bool boardUseCrankPullUp : 1 {}; /** - offset 23280 bit 3 */ + offset 23304 bit 3 */ bool boardUse2stepPullDown : 1 {}; /** - offset 23280 bit 4 */ + offset 23304 bit 4 */ bool boardUseCamPullDown : 1 {}; /** - offset 23280 bit 5 */ - bool unusedBit_237_5 : 1 {}; + offset 23304 bit 5 */ + bool unusedBit_240_5 : 1 {}; /** - offset 23280 bit 6 */ - bool unusedBit_237_6 : 1 {}; + offset 23304 bit 6 */ + bool unusedBit_240_6 : 1 {}; /** - offset 23280 bit 7 */ - bool unusedBit_237_7 : 1 {}; + offset 23304 bit 7 */ + bool unusedBit_240_7 : 1 {}; /** - offset 23280 bit 8 */ - bool unusedBit_237_8 : 1 {}; + offset 23304 bit 8 */ + bool unusedBit_240_8 : 1 {}; /** - offset 23280 bit 9 */ - bool unusedBit_237_9 : 1 {}; + offset 23304 bit 9 */ + bool unusedBit_240_9 : 1 {}; /** - offset 23280 bit 10 */ - bool unusedBit_237_10 : 1 {}; + offset 23304 bit 10 */ + bool unusedBit_240_10 : 1 {}; /** - offset 23280 bit 11 */ - bool unusedBit_237_11 : 1 {}; + offset 23304 bit 11 */ + bool unusedBit_240_11 : 1 {}; /** - offset 23280 bit 12 */ - bool unusedBit_237_12 : 1 {}; + offset 23304 bit 12 */ + bool unusedBit_240_12 : 1 {}; /** - offset 23280 bit 13 */ - bool unusedBit_237_13 : 1 {}; + offset 23304 bit 13 */ + bool unusedBit_240_13 : 1 {}; /** - offset 23280 bit 14 */ - bool unusedBit_237_14 : 1 {}; + offset 23304 bit 14 */ + bool unusedBit_240_14 : 1 {}; /** - offset 23280 bit 15 */ - bool unusedBit_237_15 : 1 {}; + offset 23304 bit 15 */ + bool unusedBit_240_15 : 1 {}; /** - offset 23280 bit 16 */ - bool unusedBit_237_16 : 1 {}; + offset 23304 bit 16 */ + bool unusedBit_240_16 : 1 {}; /** - offset 23280 bit 17 */ - bool unusedBit_237_17 : 1 {}; + offset 23304 bit 17 */ + bool unusedBit_240_17 : 1 {}; /** - offset 23280 bit 18 */ - bool unusedBit_237_18 : 1 {}; + offset 23304 bit 18 */ + bool unusedBit_240_18 : 1 {}; /** - offset 23280 bit 19 */ - bool unusedBit_237_19 : 1 {}; + offset 23304 bit 19 */ + bool unusedBit_240_19 : 1 {}; /** - offset 23280 bit 20 */ - bool unusedBit_237_20 : 1 {}; + offset 23304 bit 20 */ + bool unusedBit_240_20 : 1 {}; /** - offset 23280 bit 21 */ - bool unusedBit_237_21 : 1 {}; + offset 23304 bit 21 */ + bool unusedBit_240_21 : 1 {}; /** - offset 23280 bit 22 */ - bool unusedBit_237_22 : 1 {}; + offset 23304 bit 22 */ + bool unusedBit_240_22 : 1 {}; /** - offset 23280 bit 23 */ - bool unusedBit_237_23 : 1 {}; + offset 23304 bit 23 */ + bool unusedBit_240_23 : 1 {}; /** - offset 23280 bit 24 */ - bool unusedBit_237_24 : 1 {}; + offset 23304 bit 24 */ + bool unusedBit_240_24 : 1 {}; /** - offset 23280 bit 25 */ - bool unusedBit_237_25 : 1 {}; + offset 23304 bit 25 */ + bool unusedBit_240_25 : 1 {}; /** - offset 23280 bit 26 */ - bool unusedBit_237_26 : 1 {}; + offset 23304 bit 26 */ + bool unusedBit_240_26 : 1 {}; /** - offset 23280 bit 27 */ - bool unusedBit_237_27 : 1 {}; + offset 23304 bit 27 */ + bool unusedBit_240_27 : 1 {}; /** - offset 23280 bit 28 */ - bool unusedBit_237_28 : 1 {}; + offset 23304 bit 28 */ + bool unusedBit_240_28 : 1 {}; /** - offset 23280 bit 29 */ - bool unusedBit_237_29 : 1 {}; + offset 23304 bit 29 */ + bool unusedBit_240_29 : 1 {}; /** - offset 23280 bit 30 */ - bool unusedBit_237_30 : 1 {}; + offset 23304 bit 30 */ + bool unusedBit_240_30 : 1 {}; /** - offset 23280 bit 31 */ - bool unusedBit_237_31 : 1 {}; + offset 23304 bit 31 */ + bool unusedBit_240_31 : 1 {}; }; -static_assert(sizeof(persistent_config_s) == 23284); +static_assert(sizeof(persistent_config_s) == 23308); // end // this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt 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 c664b4e4ce..ad7966e670 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_alphax-4chan.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_alphax-4chan.h @@ -1186,11 +1186,9 @@ struct engine_configuration_s { */ float idle_derivativeFilterLoss; /** - * just a temporary solution - * units: angle * offset 520 */ - int trailingSparkAngle; + int unusedTrailingSparkAngle; /** * offset 524 */ @@ -6194,103 +6192,118 @@ struct persistent_config_s { */ float dynoCarFrontalAreaM2; /** - offset 23280 bit 0 */ + * units: deg + * offset 23280 + */ + scaled_channel trailingSparkTable[TRAILING_SPARK_SIZE][TRAILING_SPARK_SIZE] = {}; + /** + * units: rpm + * offset 23296 + */ + scaled_channel trailingSparkRpmBins[TRAILING_SPARK_SIZE] = {}; + /** + * units: Load + * offset 23300 + */ + scaled_channel trailingSparkLoadBins[TRAILING_SPARK_SIZE] = {}; + /** + offset 23304 bit 0 */ bool boardUseTachPullUp : 1 {}; /** - offset 23280 bit 1 */ + offset 23304 bit 1 */ bool boardUseCrankPullUp : 1 {}; /** - offset 23280 bit 2 */ + offset 23304 bit 2 */ bool boardUseTempPullUp : 1 {}; /** - offset 23280 bit 3 */ + offset 23304 bit 3 */ bool boardUse2stepPullDown : 1 {}; /** - offset 23280 bit 4 */ + offset 23304 bit 4 */ bool boardUseCamPullDown : 1 {}; /** - offset 23280 bit 5 */ + offset 23304 bit 5 */ bool boardUseD4PullDown : 1 {}; /** - offset 23280 bit 6 */ + offset 23304 bit 6 */ bool boardUseD5PullDown : 1 {}; /** - offset 23280 bit 7 */ + offset 23304 bit 7 */ bool boardUseCamVrPullUp : 1 {}; /** - offset 23280 bit 8 */ + offset 23304 bit 8 */ bool boardUseD2PullDown : 1 {}; /** - offset 23280 bit 9 */ + offset 23304 bit 9 */ bool boardUseD3PullDown : 1 {}; /** - offset 23280 bit 10 */ - bool unusedBit_242_10 : 1 {}; + offset 23304 bit 10 */ + bool unusedBit_245_10 : 1 {}; /** - offset 23280 bit 11 */ - bool unusedBit_242_11 : 1 {}; + offset 23304 bit 11 */ + bool unusedBit_245_11 : 1 {}; /** - offset 23280 bit 12 */ - bool unusedBit_242_12 : 1 {}; + offset 23304 bit 12 */ + bool unusedBit_245_12 : 1 {}; /** - offset 23280 bit 13 */ - bool unusedBit_242_13 : 1 {}; + offset 23304 bit 13 */ + bool unusedBit_245_13 : 1 {}; /** - offset 23280 bit 14 */ - bool unusedBit_242_14 : 1 {}; + offset 23304 bit 14 */ + bool unusedBit_245_14 : 1 {}; /** - offset 23280 bit 15 */ - bool unusedBit_242_15 : 1 {}; + offset 23304 bit 15 */ + bool unusedBit_245_15 : 1 {}; /** - offset 23280 bit 16 */ - bool unusedBit_242_16 : 1 {}; + offset 23304 bit 16 */ + bool unusedBit_245_16 : 1 {}; /** - offset 23280 bit 17 */ - bool unusedBit_242_17 : 1 {}; + offset 23304 bit 17 */ + bool unusedBit_245_17 : 1 {}; /** - offset 23280 bit 18 */ - bool unusedBit_242_18 : 1 {}; + offset 23304 bit 18 */ + bool unusedBit_245_18 : 1 {}; /** - offset 23280 bit 19 */ - bool unusedBit_242_19 : 1 {}; + offset 23304 bit 19 */ + bool unusedBit_245_19 : 1 {}; /** - offset 23280 bit 20 */ - bool unusedBit_242_20 : 1 {}; + offset 23304 bit 20 */ + bool unusedBit_245_20 : 1 {}; /** - offset 23280 bit 21 */ - bool unusedBit_242_21 : 1 {}; + offset 23304 bit 21 */ + bool unusedBit_245_21 : 1 {}; /** - offset 23280 bit 22 */ - bool unusedBit_242_22 : 1 {}; + offset 23304 bit 22 */ + bool unusedBit_245_22 : 1 {}; /** - offset 23280 bit 23 */ - bool unusedBit_242_23 : 1 {}; + offset 23304 bit 23 */ + bool unusedBit_245_23 : 1 {}; /** - offset 23280 bit 24 */ - bool unusedBit_242_24 : 1 {}; + offset 23304 bit 24 */ + bool unusedBit_245_24 : 1 {}; /** - offset 23280 bit 25 */ - bool unusedBit_242_25 : 1 {}; + offset 23304 bit 25 */ + bool unusedBit_245_25 : 1 {}; /** - offset 23280 bit 26 */ - bool unusedBit_242_26 : 1 {}; + offset 23304 bit 26 */ + bool unusedBit_245_26 : 1 {}; /** - offset 23280 bit 27 */ - bool unusedBit_242_27 : 1 {}; + offset 23304 bit 27 */ + bool unusedBit_245_27 : 1 {}; /** - offset 23280 bit 28 */ - bool unusedBit_242_28 : 1 {}; + offset 23304 bit 28 */ + bool unusedBit_245_28 : 1 {}; /** - offset 23280 bit 29 */ - bool unusedBit_242_29 : 1 {}; + offset 23304 bit 29 */ + bool unusedBit_245_29 : 1 {}; /** - offset 23280 bit 30 */ - bool unusedBit_242_30 : 1 {}; + offset 23304 bit 30 */ + bool unusedBit_245_30 : 1 {}; /** - offset 23280 bit 31 */ - bool unusedBit_242_31 : 1 {}; + offset 23304 bit 31 */ + bool unusedBit_245_31 : 1 {}; }; -static_assert(sizeof(persistent_config_s) == 23284); +static_assert(sizeof(persistent_config_s) == 23308); // end // this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt 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 c664b4e4ce..ad7966e670 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 @@ -1186,11 +1186,9 @@ struct engine_configuration_s { */ float idle_derivativeFilterLoss; /** - * just a temporary solution - * units: angle * offset 520 */ - int trailingSparkAngle; + int unusedTrailingSparkAngle; /** * offset 524 */ @@ -6194,103 +6192,118 @@ struct persistent_config_s { */ float dynoCarFrontalAreaM2; /** - offset 23280 bit 0 */ + * units: deg + * offset 23280 + */ + scaled_channel trailingSparkTable[TRAILING_SPARK_SIZE][TRAILING_SPARK_SIZE] = {}; + /** + * units: rpm + * offset 23296 + */ + scaled_channel trailingSparkRpmBins[TRAILING_SPARK_SIZE] = {}; + /** + * units: Load + * offset 23300 + */ + scaled_channel trailingSparkLoadBins[TRAILING_SPARK_SIZE] = {}; + /** + offset 23304 bit 0 */ bool boardUseTachPullUp : 1 {}; /** - offset 23280 bit 1 */ + offset 23304 bit 1 */ bool boardUseCrankPullUp : 1 {}; /** - offset 23280 bit 2 */ + offset 23304 bit 2 */ bool boardUseTempPullUp : 1 {}; /** - offset 23280 bit 3 */ + offset 23304 bit 3 */ bool boardUse2stepPullDown : 1 {}; /** - offset 23280 bit 4 */ + offset 23304 bit 4 */ bool boardUseCamPullDown : 1 {}; /** - offset 23280 bit 5 */ + offset 23304 bit 5 */ bool boardUseD4PullDown : 1 {}; /** - offset 23280 bit 6 */ + offset 23304 bit 6 */ bool boardUseD5PullDown : 1 {}; /** - offset 23280 bit 7 */ + offset 23304 bit 7 */ bool boardUseCamVrPullUp : 1 {}; /** - offset 23280 bit 8 */ + offset 23304 bit 8 */ bool boardUseD2PullDown : 1 {}; /** - offset 23280 bit 9 */ + offset 23304 bit 9 */ bool boardUseD3PullDown : 1 {}; /** - offset 23280 bit 10 */ - bool unusedBit_242_10 : 1 {}; + offset 23304 bit 10 */ + bool unusedBit_245_10 : 1 {}; /** - offset 23280 bit 11 */ - bool unusedBit_242_11 : 1 {}; + offset 23304 bit 11 */ + bool unusedBit_245_11 : 1 {}; /** - offset 23280 bit 12 */ - bool unusedBit_242_12 : 1 {}; + offset 23304 bit 12 */ + bool unusedBit_245_12 : 1 {}; /** - offset 23280 bit 13 */ - bool unusedBit_242_13 : 1 {}; + offset 23304 bit 13 */ + bool unusedBit_245_13 : 1 {}; /** - offset 23280 bit 14 */ - bool unusedBit_242_14 : 1 {}; + offset 23304 bit 14 */ + bool unusedBit_245_14 : 1 {}; /** - offset 23280 bit 15 */ - bool unusedBit_242_15 : 1 {}; + offset 23304 bit 15 */ + bool unusedBit_245_15 : 1 {}; /** - offset 23280 bit 16 */ - bool unusedBit_242_16 : 1 {}; + offset 23304 bit 16 */ + bool unusedBit_245_16 : 1 {}; /** - offset 23280 bit 17 */ - bool unusedBit_242_17 : 1 {}; + offset 23304 bit 17 */ + bool unusedBit_245_17 : 1 {}; /** - offset 23280 bit 18 */ - bool unusedBit_242_18 : 1 {}; + offset 23304 bit 18 */ + bool unusedBit_245_18 : 1 {}; /** - offset 23280 bit 19 */ - bool unusedBit_242_19 : 1 {}; + offset 23304 bit 19 */ + bool unusedBit_245_19 : 1 {}; /** - offset 23280 bit 20 */ - bool unusedBit_242_20 : 1 {}; + offset 23304 bit 20 */ + bool unusedBit_245_20 : 1 {}; /** - offset 23280 bit 21 */ - bool unusedBit_242_21 : 1 {}; + offset 23304 bit 21 */ + bool unusedBit_245_21 : 1 {}; /** - offset 23280 bit 22 */ - bool unusedBit_242_22 : 1 {}; + offset 23304 bit 22 */ + bool unusedBit_245_22 : 1 {}; /** - offset 23280 bit 23 */ - bool unusedBit_242_23 : 1 {}; + offset 23304 bit 23 */ + bool unusedBit_245_23 : 1 {}; /** - offset 23280 bit 24 */ - bool unusedBit_242_24 : 1 {}; + offset 23304 bit 24 */ + bool unusedBit_245_24 : 1 {}; /** - offset 23280 bit 25 */ - bool unusedBit_242_25 : 1 {}; + offset 23304 bit 25 */ + bool unusedBit_245_25 : 1 {}; /** - offset 23280 bit 26 */ - bool unusedBit_242_26 : 1 {}; + offset 23304 bit 26 */ + bool unusedBit_245_26 : 1 {}; /** - offset 23280 bit 27 */ - bool unusedBit_242_27 : 1 {}; + offset 23304 bit 27 */ + bool unusedBit_245_27 : 1 {}; /** - offset 23280 bit 28 */ - bool unusedBit_242_28 : 1 {}; + offset 23304 bit 28 */ + bool unusedBit_245_28 : 1 {}; /** - offset 23280 bit 29 */ - bool unusedBit_242_29 : 1 {}; + offset 23304 bit 29 */ + bool unusedBit_245_29 : 1 {}; /** - offset 23280 bit 30 */ - bool unusedBit_242_30 : 1 {}; + offset 23304 bit 30 */ + bool unusedBit_245_30 : 1 {}; /** - offset 23280 bit 31 */ - bool unusedBit_242_31 : 1 {}; + offset 23304 bit 31 */ + bool unusedBit_245_31 : 1 {}; }; -static_assert(sizeof(persistent_config_s) == 23284); +static_assert(sizeof(persistent_config_s) == 23308); // end // this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt 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 2348fc8ddc..10a344cd48 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 @@ -1186,11 +1186,9 @@ struct engine_configuration_s { */ float idle_derivativeFilterLoss; /** - * just a temporary solution - * units: angle * offset 520 */ - int trailingSparkAngle; + int unusedTrailingSparkAngle; /** * offset 524 */ @@ -6193,8 +6191,23 @@ struct persistent_config_s { * offset 41276 */ float dynoCarFrontalAreaM2; + /** + * units: deg + * offset 41280 + */ + scaled_channel trailingSparkTable[TRAILING_SPARK_SIZE][TRAILING_SPARK_SIZE] = {}; + /** + * units: rpm + * offset 41296 + */ + scaled_channel trailingSparkRpmBins[TRAILING_SPARK_SIZE] = {}; + /** + * units: Load + * offset 41300 + */ + scaled_channel trailingSparkLoadBins[TRAILING_SPARK_SIZE] = {}; }; -static_assert(sizeof(persistent_config_s) == 41280); +static_assert(sizeof(persistent_config_s) == 41304); // end // this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt 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 e3fa81e2f4..c24d645aaa 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 @@ -1186,11 +1186,9 @@ struct engine_configuration_s { */ float idle_derivativeFilterLoss; /** - * just a temporary solution - * units: angle * offset 520 */ - int trailingSparkAngle; + int unusedTrailingSparkAngle; /** * offset 524 */ @@ -6194,103 +6192,118 @@ struct persistent_config_s { */ float dynoCarFrontalAreaM2; /** - offset 23280 bit 0 */ + * units: deg + * offset 23280 + */ + scaled_channel trailingSparkTable[TRAILING_SPARK_SIZE][TRAILING_SPARK_SIZE] = {}; + /** + * units: rpm + * offset 23296 + */ + scaled_channel trailingSparkRpmBins[TRAILING_SPARK_SIZE] = {}; + /** + * units: Load + * offset 23300 + */ + scaled_channel trailingSparkLoadBins[TRAILING_SPARK_SIZE] = {}; + /** + offset 23304 bit 0 */ bool boardUseTempPullUp : 1 {}; /** - offset 23280 bit 1 */ + offset 23304 bit 1 */ bool boardUse2stepPullDown : 1 {}; /** - offset 23280 bit 2 */ + offset 23304 bit 2 */ bool boardUseD2PullDown : 1 {}; /** - offset 23280 bit 3 */ + offset 23304 bit 3 */ bool boardUseD3PullDown : 1 {}; /** - offset 23280 bit 4 */ + offset 23304 bit 4 */ bool boardUseTachPullUp : 1 {}; /** - offset 23280 bit 5 */ - bool unusedBit_237_5 : 1 {}; + offset 23304 bit 5 */ + bool unusedBit_240_5 : 1 {}; /** - offset 23280 bit 6 */ - bool unusedBit_237_6 : 1 {}; + offset 23304 bit 6 */ + bool unusedBit_240_6 : 1 {}; /** - offset 23280 bit 7 */ - bool unusedBit_237_7 : 1 {}; + offset 23304 bit 7 */ + bool unusedBit_240_7 : 1 {}; /** - offset 23280 bit 8 */ - bool unusedBit_237_8 : 1 {}; + offset 23304 bit 8 */ + bool unusedBit_240_8 : 1 {}; /** - offset 23280 bit 9 */ - bool unusedBit_237_9 : 1 {}; + offset 23304 bit 9 */ + bool unusedBit_240_9 : 1 {}; /** - offset 23280 bit 10 */ - bool unusedBit_237_10 : 1 {}; + offset 23304 bit 10 */ + bool unusedBit_240_10 : 1 {}; /** - offset 23280 bit 11 */ - bool unusedBit_237_11 : 1 {}; + offset 23304 bit 11 */ + bool unusedBit_240_11 : 1 {}; /** - offset 23280 bit 12 */ - bool unusedBit_237_12 : 1 {}; + offset 23304 bit 12 */ + bool unusedBit_240_12 : 1 {}; /** - offset 23280 bit 13 */ - bool unusedBit_237_13 : 1 {}; + offset 23304 bit 13 */ + bool unusedBit_240_13 : 1 {}; /** - offset 23280 bit 14 */ - bool unusedBit_237_14 : 1 {}; + offset 23304 bit 14 */ + bool unusedBit_240_14 : 1 {}; /** - offset 23280 bit 15 */ - bool unusedBit_237_15 : 1 {}; + offset 23304 bit 15 */ + bool unusedBit_240_15 : 1 {}; /** - offset 23280 bit 16 */ - bool unusedBit_237_16 : 1 {}; + offset 23304 bit 16 */ + bool unusedBit_240_16 : 1 {}; /** - offset 23280 bit 17 */ - bool unusedBit_237_17 : 1 {}; + offset 23304 bit 17 */ + bool unusedBit_240_17 : 1 {}; /** - offset 23280 bit 18 */ - bool unusedBit_237_18 : 1 {}; + offset 23304 bit 18 */ + bool unusedBit_240_18 : 1 {}; /** - offset 23280 bit 19 */ - bool unusedBit_237_19 : 1 {}; + offset 23304 bit 19 */ + bool unusedBit_240_19 : 1 {}; /** - offset 23280 bit 20 */ - bool unusedBit_237_20 : 1 {}; + offset 23304 bit 20 */ + bool unusedBit_240_20 : 1 {}; /** - offset 23280 bit 21 */ - bool unusedBit_237_21 : 1 {}; + offset 23304 bit 21 */ + bool unusedBit_240_21 : 1 {}; /** - offset 23280 bit 22 */ - bool unusedBit_237_22 : 1 {}; + offset 23304 bit 22 */ + bool unusedBit_240_22 : 1 {}; /** - offset 23280 bit 23 */ - bool unusedBit_237_23 : 1 {}; + offset 23304 bit 23 */ + bool unusedBit_240_23 : 1 {}; /** - offset 23280 bit 24 */ - bool unusedBit_237_24 : 1 {}; + offset 23304 bit 24 */ + bool unusedBit_240_24 : 1 {}; /** - offset 23280 bit 25 */ - bool unusedBit_237_25 : 1 {}; + offset 23304 bit 25 */ + bool unusedBit_240_25 : 1 {}; /** - offset 23280 bit 26 */ - bool unusedBit_237_26 : 1 {}; + offset 23304 bit 26 */ + bool unusedBit_240_26 : 1 {}; /** - offset 23280 bit 27 */ - bool unusedBit_237_27 : 1 {}; + offset 23304 bit 27 */ + bool unusedBit_240_27 : 1 {}; /** - offset 23280 bit 28 */ - bool unusedBit_237_28 : 1 {}; + offset 23304 bit 28 */ + bool unusedBit_240_28 : 1 {}; /** - offset 23280 bit 29 */ - bool unusedBit_237_29 : 1 {}; + offset 23304 bit 29 */ + bool unusedBit_240_29 : 1 {}; /** - offset 23280 bit 30 */ - bool unusedBit_237_30 : 1 {}; + offset 23304 bit 30 */ + bool unusedBit_240_30 : 1 {}; /** - offset 23280 bit 31 */ - bool unusedBit_237_31 : 1 {}; + offset 23304 bit 31 */ + bool unusedBit_240_31 : 1 {}; }; -static_assert(sizeof(persistent_config_s) == 23284); +static_assert(sizeof(persistent_config_s) == 23308); // end // this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt 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 9904f9c978..74f3edecd0 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_alphax-8chan.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_alphax-8chan.h @@ -1186,11 +1186,9 @@ struct engine_configuration_s { */ float idle_derivativeFilterLoss; /** - * just a temporary solution - * units: angle * offset 520 */ - int trailingSparkAngle; + int unusedTrailingSparkAngle; /** * offset 524 */ @@ -6194,103 +6192,118 @@ struct persistent_config_s { */ float dynoCarFrontalAreaM2; /** - offset 25296 bit 0 */ + * units: deg + * offset 25296 + */ + scaled_channel trailingSparkTable[TRAILING_SPARK_SIZE][TRAILING_SPARK_SIZE] = {}; + /** + * units: rpm + * offset 25312 + */ + scaled_channel trailingSparkRpmBins[TRAILING_SPARK_SIZE] = {}; + /** + * units: Load + * offset 25316 + */ + scaled_channel trailingSparkLoadBins[TRAILING_SPARK_SIZE] = {}; + /** + offset 25320 bit 0 */ bool boardUseTempPullUp : 1 {}; /** - offset 25296 bit 1 */ + offset 25320 bit 1 */ bool boardUse2stepPullDown : 1 {}; /** - offset 25296 bit 2 */ + offset 25320 bit 2 */ bool boardUseD2PullDown : 1 {}; /** - offset 25296 bit 3 */ + offset 25320 bit 3 */ bool boardUseD3PullDown : 1 {}; /** - offset 25296 bit 4 */ + offset 25320 bit 4 */ bool boardUseCrankPullUp : 1 {}; /** - offset 25296 bit 5 */ + offset 25320 bit 5 */ bool boardUseH1PullDown : 1 {}; /** - offset 25296 bit 6 */ + offset 25320 bit 6 */ bool boardUseH2PullDown : 1 {}; /** - offset 25296 bit 7 */ + offset 25320 bit 7 */ bool boardUseH3PullDown : 1 {}; /** - offset 25296 bit 8 */ + offset 25320 bit 8 */ bool boardUseH4PullDown : 1 {}; /** - offset 25296 bit 9 */ + offset 25320 bit 9 */ bool boardUseH5PullDown : 1 {}; /** - offset 25296 bit 10 */ + offset 25320 bit 10 */ bool boardUseFlexPullDown : 1 {}; /** - offset 25296 bit 11 */ - bool unusedBit_243_11 : 1 {}; + offset 25320 bit 11 */ + bool unusedBit_246_11 : 1 {}; /** - offset 25296 bit 12 */ - bool unusedBit_243_12 : 1 {}; + offset 25320 bit 12 */ + bool unusedBit_246_12 : 1 {}; /** - offset 25296 bit 13 */ - bool unusedBit_243_13 : 1 {}; + offset 25320 bit 13 */ + bool unusedBit_246_13 : 1 {}; /** - offset 25296 bit 14 */ - bool unusedBit_243_14 : 1 {}; + offset 25320 bit 14 */ + bool unusedBit_246_14 : 1 {}; /** - offset 25296 bit 15 */ - bool unusedBit_243_15 : 1 {}; + offset 25320 bit 15 */ + bool unusedBit_246_15 : 1 {}; /** - offset 25296 bit 16 */ - bool unusedBit_243_16 : 1 {}; + offset 25320 bit 16 */ + bool unusedBit_246_16 : 1 {}; /** - offset 25296 bit 17 */ - bool unusedBit_243_17 : 1 {}; + offset 25320 bit 17 */ + bool unusedBit_246_17 : 1 {}; /** - offset 25296 bit 18 */ - bool unusedBit_243_18 : 1 {}; + offset 25320 bit 18 */ + bool unusedBit_246_18 : 1 {}; /** - offset 25296 bit 19 */ - bool unusedBit_243_19 : 1 {}; + offset 25320 bit 19 */ + bool unusedBit_246_19 : 1 {}; /** - offset 25296 bit 20 */ - bool unusedBit_243_20 : 1 {}; + offset 25320 bit 20 */ + bool unusedBit_246_20 : 1 {}; /** - offset 25296 bit 21 */ - bool unusedBit_243_21 : 1 {}; + offset 25320 bit 21 */ + bool unusedBit_246_21 : 1 {}; /** - offset 25296 bit 22 */ - bool unusedBit_243_22 : 1 {}; + offset 25320 bit 22 */ + bool unusedBit_246_22 : 1 {}; /** - offset 25296 bit 23 */ - bool unusedBit_243_23 : 1 {}; + offset 25320 bit 23 */ + bool unusedBit_246_23 : 1 {}; /** - offset 25296 bit 24 */ - bool unusedBit_243_24 : 1 {}; + offset 25320 bit 24 */ + bool unusedBit_246_24 : 1 {}; /** - offset 25296 bit 25 */ - bool unusedBit_243_25 : 1 {}; + offset 25320 bit 25 */ + bool unusedBit_246_25 : 1 {}; /** - offset 25296 bit 26 */ - bool unusedBit_243_26 : 1 {}; + offset 25320 bit 26 */ + bool unusedBit_246_26 : 1 {}; /** - offset 25296 bit 27 */ - bool unusedBit_243_27 : 1 {}; + offset 25320 bit 27 */ + bool unusedBit_246_27 : 1 {}; /** - offset 25296 bit 28 */ - bool unusedBit_243_28 : 1 {}; + offset 25320 bit 28 */ + bool unusedBit_246_28 : 1 {}; /** - offset 25296 bit 29 */ - bool unusedBit_243_29 : 1 {}; + offset 25320 bit 29 */ + bool unusedBit_246_29 : 1 {}; /** - offset 25296 bit 30 */ - bool unusedBit_243_30 : 1 {}; + offset 25320 bit 30 */ + bool unusedBit_246_30 : 1 {}; /** - offset 25296 bit 31 */ - bool unusedBit_243_31 : 1 {}; + offset 25320 bit 31 */ + bool unusedBit_246_31 : 1 {}; }; -static_assert(sizeof(persistent_config_s) == 25300); +static_assert(sizeof(persistent_config_s) == 25324); // end // this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt 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 9904f9c978..74f3edecd0 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 @@ -1186,11 +1186,9 @@ struct engine_configuration_s { */ float idle_derivativeFilterLoss; /** - * just a temporary solution - * units: angle * offset 520 */ - int trailingSparkAngle; + int unusedTrailingSparkAngle; /** * offset 524 */ @@ -6194,103 +6192,118 @@ struct persistent_config_s { */ float dynoCarFrontalAreaM2; /** - offset 25296 bit 0 */ + * units: deg + * offset 25296 + */ + scaled_channel trailingSparkTable[TRAILING_SPARK_SIZE][TRAILING_SPARK_SIZE] = {}; + /** + * units: rpm + * offset 25312 + */ + scaled_channel trailingSparkRpmBins[TRAILING_SPARK_SIZE] = {}; + /** + * units: Load + * offset 25316 + */ + scaled_channel trailingSparkLoadBins[TRAILING_SPARK_SIZE] = {}; + /** + offset 25320 bit 0 */ bool boardUseTempPullUp : 1 {}; /** - offset 25296 bit 1 */ + offset 25320 bit 1 */ bool boardUse2stepPullDown : 1 {}; /** - offset 25296 bit 2 */ + offset 25320 bit 2 */ bool boardUseD2PullDown : 1 {}; /** - offset 25296 bit 3 */ + offset 25320 bit 3 */ bool boardUseD3PullDown : 1 {}; /** - offset 25296 bit 4 */ + offset 25320 bit 4 */ bool boardUseCrankPullUp : 1 {}; /** - offset 25296 bit 5 */ + offset 25320 bit 5 */ bool boardUseH1PullDown : 1 {}; /** - offset 25296 bit 6 */ + offset 25320 bit 6 */ bool boardUseH2PullDown : 1 {}; /** - offset 25296 bit 7 */ + offset 25320 bit 7 */ bool boardUseH3PullDown : 1 {}; /** - offset 25296 bit 8 */ + offset 25320 bit 8 */ bool boardUseH4PullDown : 1 {}; /** - offset 25296 bit 9 */ + offset 25320 bit 9 */ bool boardUseH5PullDown : 1 {}; /** - offset 25296 bit 10 */ + offset 25320 bit 10 */ bool boardUseFlexPullDown : 1 {}; /** - offset 25296 bit 11 */ - bool unusedBit_243_11 : 1 {}; + offset 25320 bit 11 */ + bool unusedBit_246_11 : 1 {}; /** - offset 25296 bit 12 */ - bool unusedBit_243_12 : 1 {}; + offset 25320 bit 12 */ + bool unusedBit_246_12 : 1 {}; /** - offset 25296 bit 13 */ - bool unusedBit_243_13 : 1 {}; + offset 25320 bit 13 */ + bool unusedBit_246_13 : 1 {}; /** - offset 25296 bit 14 */ - bool unusedBit_243_14 : 1 {}; + offset 25320 bit 14 */ + bool unusedBit_246_14 : 1 {}; /** - offset 25296 bit 15 */ - bool unusedBit_243_15 : 1 {}; + offset 25320 bit 15 */ + bool unusedBit_246_15 : 1 {}; /** - offset 25296 bit 16 */ - bool unusedBit_243_16 : 1 {}; + offset 25320 bit 16 */ + bool unusedBit_246_16 : 1 {}; /** - offset 25296 bit 17 */ - bool unusedBit_243_17 : 1 {}; + offset 25320 bit 17 */ + bool unusedBit_246_17 : 1 {}; /** - offset 25296 bit 18 */ - bool unusedBit_243_18 : 1 {}; + offset 25320 bit 18 */ + bool unusedBit_246_18 : 1 {}; /** - offset 25296 bit 19 */ - bool unusedBit_243_19 : 1 {}; + offset 25320 bit 19 */ + bool unusedBit_246_19 : 1 {}; /** - offset 25296 bit 20 */ - bool unusedBit_243_20 : 1 {}; + offset 25320 bit 20 */ + bool unusedBit_246_20 : 1 {}; /** - offset 25296 bit 21 */ - bool unusedBit_243_21 : 1 {}; + offset 25320 bit 21 */ + bool unusedBit_246_21 : 1 {}; /** - offset 25296 bit 22 */ - bool unusedBit_243_22 : 1 {}; + offset 25320 bit 22 */ + bool unusedBit_246_22 : 1 {}; /** - offset 25296 bit 23 */ - bool unusedBit_243_23 : 1 {}; + offset 25320 bit 23 */ + bool unusedBit_246_23 : 1 {}; /** - offset 25296 bit 24 */ - bool unusedBit_243_24 : 1 {}; + offset 25320 bit 24 */ + bool unusedBit_246_24 : 1 {}; /** - offset 25296 bit 25 */ - bool unusedBit_243_25 : 1 {}; + offset 25320 bit 25 */ + bool unusedBit_246_25 : 1 {}; /** - offset 25296 bit 26 */ - bool unusedBit_243_26 : 1 {}; + offset 25320 bit 26 */ + bool unusedBit_246_26 : 1 {}; /** - offset 25296 bit 27 */ - bool unusedBit_243_27 : 1 {}; + offset 25320 bit 27 */ + bool unusedBit_246_27 : 1 {}; /** - offset 25296 bit 28 */ - bool unusedBit_243_28 : 1 {}; + offset 25320 bit 28 */ + bool unusedBit_246_28 : 1 {}; /** - offset 25296 bit 29 */ - bool unusedBit_243_29 : 1 {}; + offset 25320 bit 29 */ + bool unusedBit_246_29 : 1 {}; /** - offset 25296 bit 30 */ - bool unusedBit_243_30 : 1 {}; + offset 25320 bit 30 */ + bool unusedBit_246_30 : 1 {}; /** - offset 25296 bit 31 */ - bool unusedBit_243_31 : 1 {}; + offset 25320 bit 31 */ + bool unusedBit_246_31 : 1 {}; }; -static_assert(sizeof(persistent_config_s) == 25300); +static_assert(sizeof(persistent_config_s) == 25324); // end // this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_alphax-gold.h b/firmware/controllers/generated/engine_configuration_generated_structures_alphax-gold.h index a560525ed8..0a945907fe 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_alphax-gold.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_alphax-gold.h @@ -1186,11 +1186,9 @@ struct engine_configuration_s { */ float idle_derivativeFilterLoss; /** - * just a temporary solution - * units: angle * offset 520 */ - int trailingSparkAngle; + int unusedTrailingSparkAngle; /** * offset 524 */ @@ -6193,8 +6191,23 @@ struct persistent_config_s { * offset 23276 */ float dynoCarFrontalAreaM2; + /** + * units: deg + * offset 23280 + */ + scaled_channel trailingSparkTable[TRAILING_SPARK_SIZE][TRAILING_SPARK_SIZE] = {}; + /** + * units: rpm + * offset 23296 + */ + scaled_channel trailingSparkRpmBins[TRAILING_SPARK_SIZE] = {}; + /** + * units: Load + * offset 23300 + */ + scaled_channel trailingSparkLoadBins[TRAILING_SPARK_SIZE] = {}; }; -static_assert(sizeof(persistent_config_s) == 23280); +static_assert(sizeof(persistent_config_s) == 23304); // end // this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt 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 b1b8fe7451..9c447d0c4e 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_alphax-silver.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_alphax-silver.h @@ -1186,11 +1186,9 @@ struct engine_configuration_s { */ float idle_derivativeFilterLoss; /** - * just a temporary solution - * units: angle * offset 520 */ - int trailingSparkAngle; + int unusedTrailingSparkAngle; /** * offset 524 */ @@ -6289,8 +6287,23 @@ struct persistent_config_s { * offset 23280 */ float dynoCarFrontalAreaM2; + /** + * units: deg + * offset 23284 + */ + scaled_channel trailingSparkTable[TRAILING_SPARK_SIZE][TRAILING_SPARK_SIZE] = {}; + /** + * units: rpm + * offset 23300 + */ + scaled_channel trailingSparkRpmBins[TRAILING_SPARK_SIZE] = {}; + /** + * units: Load + * offset 23304 + */ + scaled_channel trailingSparkLoadBins[TRAILING_SPARK_SIZE] = {}; }; -static_assert(sizeof(persistent_config_s) == 23284); +static_assert(sizeof(persistent_config_s) == 23308); // end // this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt 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 a560525ed8..0a945907fe 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 @@ -1186,11 +1186,9 @@ struct engine_configuration_s { */ float idle_derivativeFilterLoss; /** - * just a temporary solution - * units: angle * offset 520 */ - int trailingSparkAngle; + int unusedTrailingSparkAngle; /** * offset 524 */ @@ -6193,8 +6191,23 @@ struct persistent_config_s { * offset 23276 */ float dynoCarFrontalAreaM2; + /** + * units: deg + * offset 23280 + */ + scaled_channel trailingSparkTable[TRAILING_SPARK_SIZE][TRAILING_SPARK_SIZE] = {}; + /** + * units: rpm + * offset 23296 + */ + scaled_channel trailingSparkRpmBins[TRAILING_SPARK_SIZE] = {}; + /** + * units: Load + * offset 23300 + */ + scaled_channel trailingSparkLoadBins[TRAILING_SPARK_SIZE] = {}; }; -static_assert(sizeof(persistent_config_s) == 23280); +static_assert(sizeof(persistent_config_s) == 23304); // end // this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_atlas.h b/firmware/controllers/generated/engine_configuration_generated_structures_atlas.h index 315d8c1a07..502a4ddf58 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_atlas.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_atlas.h @@ -1186,11 +1186,9 @@ struct engine_configuration_s { */ float idle_derivativeFilterLoss; /** - * just a temporary solution - * units: angle * offset 520 */ - int trailingSparkAngle; + int unusedTrailingSparkAngle; /** * offset 524 */ @@ -6193,8 +6191,23 @@ struct persistent_config_s { * offset 22776 */ float dynoCarFrontalAreaM2; + /** + * units: deg + * offset 22780 + */ + scaled_channel trailingSparkTable[TRAILING_SPARK_SIZE][TRAILING_SPARK_SIZE] = {}; + /** + * units: rpm + * offset 22796 + */ + scaled_channel trailingSparkRpmBins[TRAILING_SPARK_SIZE] = {}; + /** + * units: Load + * offset 22800 + */ + scaled_channel trailingSparkLoadBins[TRAILING_SPARK_SIZE] = {}; }; -static_assert(sizeof(persistent_config_s) == 22780); +static_assert(sizeof(persistent_config_s) == 22804); // end // this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt 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 5ec3ba81ff..ad7fefdf4a 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_f407-discovery.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_f407-discovery.h @@ -1186,11 +1186,9 @@ struct engine_configuration_s { */ float idle_derivativeFilterLoss; /** - * just a temporary solution - * units: angle * offset 520 */ - int trailingSparkAngle; + int unusedTrailingSparkAngle; /** * offset 524 */ @@ -6194,17 +6192,32 @@ struct persistent_config_s { */ float dynoCarFrontalAreaM2; /** + * units: deg * offset 23280 */ + scaled_channel trailingSparkTable[TRAILING_SPARK_SIZE][TRAILING_SPARK_SIZE] = {}; + /** + * units: rpm + * offset 23296 + */ + scaled_channel trailingSparkRpmBins[TRAILING_SPARK_SIZE] = {}; + /** + * units: Load + * offset 23300 + */ + scaled_channel trailingSparkLoadBins[TRAILING_SPARK_SIZE] = {}; + /** + * offset 23304 + */ Gpio communityCommsLedPin; /** * need 4 byte alignment * units: units - * offset 23282 + * offset 23306 */ - uint8_t alignmentFill_at_23282[2] = {}; + uint8_t alignmentFill_at_23306[2] = {}; }; -static_assert(sizeof(persistent_config_s) == 23284); +static_assert(sizeof(persistent_config_s) == 23308); // end // this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt 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 a560525ed8..0a945907fe 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_f429-discovery.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_f429-discovery.h @@ -1186,11 +1186,9 @@ struct engine_configuration_s { */ float idle_derivativeFilterLoss; /** - * just a temporary solution - * units: angle * offset 520 */ - int trailingSparkAngle; + int unusedTrailingSparkAngle; /** * offset 524 */ @@ -6193,8 +6191,23 @@ struct persistent_config_s { * offset 23276 */ float dynoCarFrontalAreaM2; + /** + * units: deg + * offset 23280 + */ + scaled_channel trailingSparkTable[TRAILING_SPARK_SIZE][TRAILING_SPARK_SIZE] = {}; + /** + * units: rpm + * offset 23296 + */ + scaled_channel trailingSparkRpmBins[TRAILING_SPARK_SIZE] = {}; + /** + * units: Load + * offset 23300 + */ + scaled_channel trailingSparkLoadBins[TRAILING_SPARK_SIZE] = {}; }; -static_assert(sizeof(persistent_config_s) == 23280); +static_assert(sizeof(persistent_config_s) == 23304); // end // this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt 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 a560525ed8..0a945907fe 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_f469-discovery.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_f469-discovery.h @@ -1186,11 +1186,9 @@ struct engine_configuration_s { */ float idle_derivativeFilterLoss; /** - * just a temporary solution - * units: angle * offset 520 */ - int trailingSparkAngle; + int unusedTrailingSparkAngle; /** * offset 524 */ @@ -6193,8 +6191,23 @@ struct persistent_config_s { * offset 23276 */ float dynoCarFrontalAreaM2; + /** + * units: deg + * offset 23280 + */ + scaled_channel trailingSparkTable[TRAILING_SPARK_SIZE][TRAILING_SPARK_SIZE] = {}; + /** + * units: rpm + * offset 23296 + */ + scaled_channel trailingSparkRpmBins[TRAILING_SPARK_SIZE] = {}; + /** + * units: Load + * offset 23300 + */ + scaled_channel trailingSparkLoadBins[TRAILING_SPARK_SIZE] = {}; }; -static_assert(sizeof(persistent_config_s) == 23280); +static_assert(sizeof(persistent_config_s) == 23304); // end // this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt 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 a560525ed8..0a945907fe 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_frankenso_na6.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_frankenso_na6.h @@ -1186,11 +1186,9 @@ struct engine_configuration_s { */ float idle_derivativeFilterLoss; /** - * just a temporary solution - * units: angle * offset 520 */ - int trailingSparkAngle; + int unusedTrailingSparkAngle; /** * offset 524 */ @@ -6193,8 +6191,23 @@ struct persistent_config_s { * offset 23276 */ float dynoCarFrontalAreaM2; + /** + * units: deg + * offset 23280 + */ + scaled_channel trailingSparkTable[TRAILING_SPARK_SIZE][TRAILING_SPARK_SIZE] = {}; + /** + * units: rpm + * offset 23296 + */ + scaled_channel trailingSparkRpmBins[TRAILING_SPARK_SIZE] = {}; + /** + * units: Load + * offset 23300 + */ + scaled_channel trailingSparkLoadBins[TRAILING_SPARK_SIZE] = {}; }; -static_assert(sizeof(persistent_config_s) == 23280); +static_assert(sizeof(persistent_config_s) == 23304); // end // this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_haba208.h b/firmware/controllers/generated/engine_configuration_generated_structures_haba208.h index a560525ed8..0a945907fe 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_haba208.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_haba208.h @@ -1186,11 +1186,9 @@ struct engine_configuration_s { */ float idle_derivativeFilterLoss; /** - * just a temporary solution - * units: angle * offset 520 */ - int trailingSparkAngle; + int unusedTrailingSparkAngle; /** * offset 524 */ @@ -6193,8 +6191,23 @@ struct persistent_config_s { * offset 23276 */ float dynoCarFrontalAreaM2; + /** + * units: deg + * offset 23280 + */ + scaled_channel trailingSparkTable[TRAILING_SPARK_SIZE][TRAILING_SPARK_SIZE] = {}; + /** + * units: rpm + * offset 23296 + */ + scaled_channel trailingSparkRpmBins[TRAILING_SPARK_SIZE] = {}; + /** + * units: Load + * offset 23300 + */ + scaled_channel trailingSparkLoadBins[TRAILING_SPARK_SIZE] = {}; }; -static_assert(sizeof(persistent_config_s) == 23280); +static_assert(sizeof(persistent_config_s) == 23304); // end // this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt 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 a84078cd5f..d2a10fdc7a 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 @@ -1186,11 +1186,9 @@ struct engine_configuration_s { */ float idle_derivativeFilterLoss; /** - * just a temporary solution - * units: angle * offset 520 */ - int trailingSparkAngle; + int unusedTrailingSparkAngle; /** * offset 524 */ @@ -6194,21 +6192,36 @@ struct persistent_config_s { */ float dynoCarFrontalAreaM2; /** + * units: deg * offset 23728 */ + scaled_channel trailingSparkTable[TRAILING_SPARK_SIZE][TRAILING_SPARK_SIZE] = {}; + /** + * units: rpm + * offset 23744 + */ + scaled_channel trailingSparkRpmBins[TRAILING_SPARK_SIZE] = {}; + /** + * units: Load + * offset 23748 + */ + scaled_channel trailingSparkLoadBins[TRAILING_SPARK_SIZE] = {}; + /** + * offset 23752 + */ uint8_t hondaKcltGaugeAdder; /** - * offset 23729 + * offset 23753 */ uint8_t unusedConfigPadding[BOTTOM_PADDING] = {}; /** * need 4 byte alignment * units: units - * offset 23765 + * offset 23789 */ - uint8_t alignmentFill_at_23765[3] = {}; + uint8_t alignmentFill_at_23789[3] = {}; }; -static_assert(sizeof(persistent_config_s) == 23768); +static_assert(sizeof(persistent_config_s) == 23792); // end // this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt 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 a560525ed8..0a945907fe 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_hellen-nb1.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_hellen-nb1.h @@ -1186,11 +1186,9 @@ struct engine_configuration_s { */ float idle_derivativeFilterLoss; /** - * just a temporary solution - * units: angle * offset 520 */ - int trailingSparkAngle; + int unusedTrailingSparkAngle; /** * offset 524 */ @@ -6193,8 +6191,23 @@ struct persistent_config_s { * offset 23276 */ float dynoCarFrontalAreaM2; + /** + * units: deg + * offset 23280 + */ + scaled_channel trailingSparkTable[TRAILING_SPARK_SIZE][TRAILING_SPARK_SIZE] = {}; + /** + * units: rpm + * offset 23296 + */ + scaled_channel trailingSparkRpmBins[TRAILING_SPARK_SIZE] = {}; + /** + * units: Load + * offset 23300 + */ + scaled_channel trailingSparkLoadBins[TRAILING_SPARK_SIZE] = {}; }; -static_assert(sizeof(persistent_config_s) == 23280); +static_assert(sizeof(persistent_config_s) == 23304); // end // this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_hellen121nissan.h b/firmware/controllers/generated/engine_configuration_generated_structures_hellen121nissan.h index a560525ed8..0a945907fe 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_hellen121nissan.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_hellen121nissan.h @@ -1186,11 +1186,9 @@ struct engine_configuration_s { */ float idle_derivativeFilterLoss; /** - * just a temporary solution - * units: angle * offset 520 */ - int trailingSparkAngle; + int unusedTrailingSparkAngle; /** * offset 524 */ @@ -6193,8 +6191,23 @@ struct persistent_config_s { * offset 23276 */ float dynoCarFrontalAreaM2; + /** + * units: deg + * offset 23280 + */ + scaled_channel trailingSparkTable[TRAILING_SPARK_SIZE][TRAILING_SPARK_SIZE] = {}; + /** + * units: rpm + * offset 23296 + */ + scaled_channel trailingSparkRpmBins[TRAILING_SPARK_SIZE] = {}; + /** + * units: Load + * offset 23300 + */ + scaled_channel trailingSparkLoadBins[TRAILING_SPARK_SIZE] = {}; }; -static_assert(sizeof(persistent_config_s) == 23280); +static_assert(sizeof(persistent_config_s) == 23304); // end // this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_hellen121vag.h b/firmware/controllers/generated/engine_configuration_generated_structures_hellen121vag.h index a560525ed8..0a945907fe 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_hellen121vag.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_hellen121vag.h @@ -1186,11 +1186,9 @@ struct engine_configuration_s { */ float idle_derivativeFilterLoss; /** - * just a temporary solution - * units: angle * offset 520 */ - int trailingSparkAngle; + int unusedTrailingSparkAngle; /** * offset 524 */ @@ -6193,8 +6191,23 @@ struct persistent_config_s { * offset 23276 */ float dynoCarFrontalAreaM2; + /** + * units: deg + * offset 23280 + */ + scaled_channel trailingSparkTable[TRAILING_SPARK_SIZE][TRAILING_SPARK_SIZE] = {}; + /** + * units: rpm + * offset 23296 + */ + scaled_channel trailingSparkRpmBins[TRAILING_SPARK_SIZE] = {}; + /** + * units: Load + * offset 23300 + */ + scaled_channel trailingSparkLoadBins[TRAILING_SPARK_SIZE] = {}; }; -static_assert(sizeof(persistent_config_s) == 23280); +static_assert(sizeof(persistent_config_s) == 23304); // end // this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_hellen128.h b/firmware/controllers/generated/engine_configuration_generated_structures_hellen128.h index a560525ed8..0a945907fe 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_hellen128.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_hellen128.h @@ -1186,11 +1186,9 @@ struct engine_configuration_s { */ float idle_derivativeFilterLoss; /** - * just a temporary solution - * units: angle * offset 520 */ - int trailingSparkAngle; + int unusedTrailingSparkAngle; /** * offset 524 */ @@ -6193,8 +6191,23 @@ struct persistent_config_s { * offset 23276 */ float dynoCarFrontalAreaM2; + /** + * units: deg + * offset 23280 + */ + scaled_channel trailingSparkTable[TRAILING_SPARK_SIZE][TRAILING_SPARK_SIZE] = {}; + /** + * units: rpm + * offset 23296 + */ + scaled_channel trailingSparkRpmBins[TRAILING_SPARK_SIZE] = {}; + /** + * units: Load + * offset 23300 + */ + scaled_channel trailingSparkLoadBins[TRAILING_SPARK_SIZE] = {}; }; -static_assert(sizeof(persistent_config_s) == 23280); +static_assert(sizeof(persistent_config_s) == 23304); // end // this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_hellen154hyundai.h b/firmware/controllers/generated/engine_configuration_generated_structures_hellen154hyundai.h index a560525ed8..0a945907fe 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_hellen154hyundai.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_hellen154hyundai.h @@ -1186,11 +1186,9 @@ struct engine_configuration_s { */ float idle_derivativeFilterLoss; /** - * just a temporary solution - * units: angle * offset 520 */ - int trailingSparkAngle; + int unusedTrailingSparkAngle; /** * offset 524 */ @@ -6193,8 +6191,23 @@ struct persistent_config_s { * offset 23276 */ float dynoCarFrontalAreaM2; + /** + * units: deg + * offset 23280 + */ + scaled_channel trailingSparkTable[TRAILING_SPARK_SIZE][TRAILING_SPARK_SIZE] = {}; + /** + * units: rpm + * offset 23296 + */ + scaled_channel trailingSparkRpmBins[TRAILING_SPARK_SIZE] = {}; + /** + * units: Load + * offset 23300 + */ + scaled_channel trailingSparkLoadBins[TRAILING_SPARK_SIZE] = {}; }; -static_assert(sizeof(persistent_config_s) == 23280); +static_assert(sizeof(persistent_config_s) == 23304); // end // this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt 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 a560525ed8..0a945907fe 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_hellen154hyundai_f7.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_hellen154hyundai_f7.h @@ -1186,11 +1186,9 @@ struct engine_configuration_s { */ float idle_derivativeFilterLoss; /** - * just a temporary solution - * units: angle * offset 520 */ - int trailingSparkAngle; + int unusedTrailingSparkAngle; /** * offset 524 */ @@ -6193,8 +6191,23 @@ struct persistent_config_s { * offset 23276 */ float dynoCarFrontalAreaM2; + /** + * units: deg + * offset 23280 + */ + scaled_channel trailingSparkTable[TRAILING_SPARK_SIZE][TRAILING_SPARK_SIZE] = {}; + /** + * units: rpm + * offset 23296 + */ + scaled_channel trailingSparkRpmBins[TRAILING_SPARK_SIZE] = {}; + /** + * units: Load + * offset 23300 + */ + scaled_channel trailingSparkLoadBins[TRAILING_SPARK_SIZE] = {}; }; -static_assert(sizeof(persistent_config_s) == 23280); +static_assert(sizeof(persistent_config_s) == 23304); // end // this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_hellen72.h b/firmware/controllers/generated/engine_configuration_generated_structures_hellen72.h index a560525ed8..0a945907fe 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_hellen72.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_hellen72.h @@ -1186,11 +1186,9 @@ struct engine_configuration_s { */ float idle_derivativeFilterLoss; /** - * just a temporary solution - * units: angle * offset 520 */ - int trailingSparkAngle; + int unusedTrailingSparkAngle; /** * offset 524 */ @@ -6193,8 +6191,23 @@ struct persistent_config_s { * offset 23276 */ float dynoCarFrontalAreaM2; + /** + * units: deg + * offset 23280 + */ + scaled_channel trailingSparkTable[TRAILING_SPARK_SIZE][TRAILING_SPARK_SIZE] = {}; + /** + * units: rpm + * offset 23296 + */ + scaled_channel trailingSparkRpmBins[TRAILING_SPARK_SIZE] = {}; + /** + * units: Load + * offset 23300 + */ + scaled_channel trailingSparkLoadBins[TRAILING_SPARK_SIZE] = {}; }; -static_assert(sizeof(persistent_config_s) == 23280); +static_assert(sizeof(persistent_config_s) == 23304); // end // this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_hellenNA6.h b/firmware/controllers/generated/engine_configuration_generated_structures_hellenNA6.h index a560525ed8..0a945907fe 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_hellenNA6.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_hellenNA6.h @@ -1186,11 +1186,9 @@ struct engine_configuration_s { */ float idle_derivativeFilterLoss; /** - * just a temporary solution - * units: angle * offset 520 */ - int trailingSparkAngle; + int unusedTrailingSparkAngle; /** * offset 524 */ @@ -6193,8 +6191,23 @@ struct persistent_config_s { * offset 23276 */ float dynoCarFrontalAreaM2; + /** + * units: deg + * offset 23280 + */ + scaled_channel trailingSparkTable[TRAILING_SPARK_SIZE][TRAILING_SPARK_SIZE] = {}; + /** + * units: rpm + * offset 23296 + */ + scaled_channel trailingSparkRpmBins[TRAILING_SPARK_SIZE] = {}; + /** + * units: Load + * offset 23300 + */ + scaled_channel trailingSparkLoadBins[TRAILING_SPARK_SIZE] = {}; }; -static_assert(sizeof(persistent_config_s) == 23280); +static_assert(sizeof(persistent_config_s) == 23304); // end // this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt 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 a560525ed8..0a945907fe 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_hellenNA8_96.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_hellenNA8_96.h @@ -1186,11 +1186,9 @@ struct engine_configuration_s { */ float idle_derivativeFilterLoss; /** - * just a temporary solution - * units: angle * offset 520 */ - int trailingSparkAngle; + int unusedTrailingSparkAngle; /** * offset 524 */ @@ -6193,8 +6191,23 @@ struct persistent_config_s { * offset 23276 */ float dynoCarFrontalAreaM2; + /** + * units: deg + * offset 23280 + */ + scaled_channel trailingSparkTable[TRAILING_SPARK_SIZE][TRAILING_SPARK_SIZE] = {}; + /** + * units: rpm + * offset 23296 + */ + scaled_channel trailingSparkRpmBins[TRAILING_SPARK_SIZE] = {}; + /** + * units: Load + * offset 23300 + */ + scaled_channel trailingSparkLoadBins[TRAILING_SPARK_SIZE] = {}; }; -static_assert(sizeof(persistent_config_s) == 23280); +static_assert(sizeof(persistent_config_s) == 23304); // end // this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt 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 a2c11d6c9d..d425334456 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_m74_9.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_m74_9.h @@ -1186,11 +1186,9 @@ struct engine_configuration_s { */ float idle_derivativeFilterLoss; /** - * just a temporary solution - * units: angle * offset 520 */ - int trailingSparkAngle; + int unusedTrailingSparkAngle; /** * offset 524 */ @@ -6199,8 +6197,23 @@ struct persistent_config_s { * offset 22732 */ float dynoCarFrontalAreaM2; + /** + * units: deg + * offset 22736 + */ + scaled_channel trailingSparkTable[TRAILING_SPARK_SIZE][TRAILING_SPARK_SIZE] = {}; + /** + * units: rpm + * offset 22752 + */ + scaled_channel trailingSparkRpmBins[TRAILING_SPARK_SIZE] = {}; + /** + * units: Load + * offset 22756 + */ + scaled_channel trailingSparkLoadBins[TRAILING_SPARK_SIZE] = {}; }; -static_assert(sizeof(persistent_config_s) == 22736); +static_assert(sizeof(persistent_config_s) == 22760); // end // this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt 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 b61af235fc..c53af92932 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 @@ -1186,11 +1186,9 @@ struct engine_configuration_s { */ float idle_derivativeFilterLoss; /** - * just a temporary solution - * units: angle * offset 520 */ - int trailingSparkAngle; + int unusedTrailingSparkAngle; /** * offset 524 */ @@ -6193,8 +6191,23 @@ struct persistent_config_s { * offset 25276 */ float dynoCarFrontalAreaM2; + /** + * units: deg + * offset 25280 + */ + scaled_channel trailingSparkTable[TRAILING_SPARK_SIZE][TRAILING_SPARK_SIZE] = {}; + /** + * units: rpm + * offset 25296 + */ + scaled_channel trailingSparkRpmBins[TRAILING_SPARK_SIZE] = {}; + /** + * units: Load + * offset 25300 + */ + scaled_channel trailingSparkLoadBins[TRAILING_SPARK_SIZE] = {}; }; -static_assert(sizeof(persistent_config_s) == 25280); +static_assert(sizeof(persistent_config_s) == 25304); // end // this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt 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 b61af235fc..c53af92932 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_mre_f4.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_mre_f4.h @@ -1186,11 +1186,9 @@ struct engine_configuration_s { */ float idle_derivativeFilterLoss; /** - * just a temporary solution - * units: angle * offset 520 */ - int trailingSparkAngle; + int unusedTrailingSparkAngle; /** * offset 524 */ @@ -6193,8 +6191,23 @@ struct persistent_config_s { * offset 25276 */ float dynoCarFrontalAreaM2; + /** + * units: deg + * offset 25280 + */ + scaled_channel trailingSparkTable[TRAILING_SPARK_SIZE][TRAILING_SPARK_SIZE] = {}; + /** + * units: rpm + * offset 25296 + */ + scaled_channel trailingSparkRpmBins[TRAILING_SPARK_SIZE] = {}; + /** + * units: Load + * offset 25300 + */ + scaled_channel trailingSparkLoadBins[TRAILING_SPARK_SIZE] = {}; }; -static_assert(sizeof(persistent_config_s) == 25280); +static_assert(sizeof(persistent_config_s) == 25304); // end // this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt 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 b61af235fc..c53af92932 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_mre_f7.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_mre_f7.h @@ -1186,11 +1186,9 @@ struct engine_configuration_s { */ float idle_derivativeFilterLoss; /** - * just a temporary solution - * units: angle * offset 520 */ - int trailingSparkAngle; + int unusedTrailingSparkAngle; /** * offset 524 */ @@ -6193,8 +6191,23 @@ struct persistent_config_s { * offset 25276 */ float dynoCarFrontalAreaM2; + /** + * units: deg + * offset 25280 + */ + scaled_channel trailingSparkTable[TRAILING_SPARK_SIZE][TRAILING_SPARK_SIZE] = {}; + /** + * units: rpm + * offset 25296 + */ + scaled_channel trailingSparkRpmBins[TRAILING_SPARK_SIZE] = {}; + /** + * units: Load + * offset 25300 + */ + scaled_channel trailingSparkLoadBins[TRAILING_SPARK_SIZE] = {}; }; -static_assert(sizeof(persistent_config_s) == 25280); +static_assert(sizeof(persistent_config_s) == 25304); // end // this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt 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 a560525ed8..0a945907fe 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_nucleo_f413.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_nucleo_f413.h @@ -1186,11 +1186,9 @@ struct engine_configuration_s { */ float idle_derivativeFilterLoss; /** - * just a temporary solution - * units: angle * offset 520 */ - int trailingSparkAngle; + int unusedTrailingSparkAngle; /** * offset 524 */ @@ -6193,8 +6191,23 @@ struct persistent_config_s { * offset 23276 */ float dynoCarFrontalAreaM2; + /** + * units: deg + * offset 23280 + */ + scaled_channel trailingSparkTable[TRAILING_SPARK_SIZE][TRAILING_SPARK_SIZE] = {}; + /** + * units: rpm + * offset 23296 + */ + scaled_channel trailingSparkRpmBins[TRAILING_SPARK_SIZE] = {}; + /** + * units: Load + * offset 23300 + */ + scaled_channel trailingSparkLoadBins[TRAILING_SPARK_SIZE] = {}; }; -static_assert(sizeof(persistent_config_s) == 23280); +static_assert(sizeof(persistent_config_s) == 23304); // end // this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt 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 9cbc4669aa..79f614e0f7 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_proteus_f4.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_proteus_f4.h @@ -1186,11 +1186,9 @@ struct engine_configuration_s { */ float idle_derivativeFilterLoss; /** - * just a temporary solution - * units: angle * offset 520 */ - int trailingSparkAngle; + int unusedTrailingSparkAngle; /** * offset 524 */ @@ -6193,8 +6191,23 @@ struct persistent_config_s { * offset 28776 */ float dynoCarFrontalAreaM2; + /** + * units: deg + * offset 28780 + */ + scaled_channel trailingSparkTable[TRAILING_SPARK_SIZE][TRAILING_SPARK_SIZE] = {}; + /** + * units: rpm + * offset 28796 + */ + scaled_channel trailingSparkRpmBins[TRAILING_SPARK_SIZE] = {}; + /** + * units: Load + * offset 28800 + */ + scaled_channel trailingSparkLoadBins[TRAILING_SPARK_SIZE] = {}; }; -static_assert(sizeof(persistent_config_s) == 28780); +static_assert(sizeof(persistent_config_s) == 28804); // end // this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt 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 9cbc4669aa..79f614e0f7 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_proteus_f7.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_proteus_f7.h @@ -1186,11 +1186,9 @@ struct engine_configuration_s { */ float idle_derivativeFilterLoss; /** - * just a temporary solution - * units: angle * offset 520 */ - int trailingSparkAngle; + int unusedTrailingSparkAngle; /** * offset 524 */ @@ -6193,8 +6191,23 @@ struct persistent_config_s { * offset 28776 */ float dynoCarFrontalAreaM2; + /** + * units: deg + * offset 28780 + */ + scaled_channel trailingSparkTable[TRAILING_SPARK_SIZE][TRAILING_SPARK_SIZE] = {}; + /** + * units: rpm + * offset 28796 + */ + scaled_channel trailingSparkRpmBins[TRAILING_SPARK_SIZE] = {}; + /** + * units: Load + * offset 28800 + */ + scaled_channel trailingSparkLoadBins[TRAILING_SPARK_SIZE] = {}; }; -static_assert(sizeof(persistent_config_s) == 28780); +static_assert(sizeof(persistent_config_s) == 28804); // end // this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt 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 9cbc4669aa..79f614e0f7 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_proteus_h7.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_proteus_h7.h @@ -1186,11 +1186,9 @@ struct engine_configuration_s { */ float idle_derivativeFilterLoss; /** - * just a temporary solution - * units: angle * offset 520 */ - int trailingSparkAngle; + int unusedTrailingSparkAngle; /** * offset 524 */ @@ -6193,8 +6191,23 @@ struct persistent_config_s { * offset 28776 */ float dynoCarFrontalAreaM2; + /** + * units: deg + * offset 28780 + */ + scaled_channel trailingSparkTable[TRAILING_SPARK_SIZE][TRAILING_SPARK_SIZE] = {}; + /** + * units: rpm + * offset 28796 + */ + scaled_channel trailingSparkRpmBins[TRAILING_SPARK_SIZE] = {}; + /** + * units: Load + * offset 28800 + */ + scaled_channel trailingSparkLoadBins[TRAILING_SPARK_SIZE] = {}; }; -static_assert(sizeof(persistent_config_s) == 28780); +static_assert(sizeof(persistent_config_s) == 28804); // end // this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt 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 a560525ed8..0a945907fe 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 @@ -1186,11 +1186,9 @@ struct engine_configuration_s { */ float idle_derivativeFilterLoss; /** - * just a temporary solution - * units: angle * offset 520 */ - int trailingSparkAngle; + int unusedTrailingSparkAngle; /** * offset 524 */ @@ -6193,8 +6191,23 @@ struct persistent_config_s { * offset 23276 */ float dynoCarFrontalAreaM2; + /** + * units: deg + * offset 23280 + */ + scaled_channel trailingSparkTable[TRAILING_SPARK_SIZE][TRAILING_SPARK_SIZE] = {}; + /** + * units: rpm + * offset 23296 + */ + scaled_channel trailingSparkRpmBins[TRAILING_SPARK_SIZE] = {}; + /** + * units: Load + * offset 23300 + */ + scaled_channel trailingSparkLoadBins[TRAILING_SPARK_SIZE] = {}; }; -static_assert(sizeof(persistent_config_s) == 23280); +static_assert(sizeof(persistent_config_s) == 23304); // end // this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt 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 a560525ed8..0a945907fe 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_stm32f429_nucleo.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_stm32f429_nucleo.h @@ -1186,11 +1186,9 @@ struct engine_configuration_s { */ float idle_derivativeFilterLoss; /** - * just a temporary solution - * units: angle * offset 520 */ - int trailingSparkAngle; + int unusedTrailingSparkAngle; /** * offset 524 */ @@ -6193,8 +6191,23 @@ struct persistent_config_s { * offset 23276 */ float dynoCarFrontalAreaM2; + /** + * units: deg + * offset 23280 + */ + scaled_channel trailingSparkTable[TRAILING_SPARK_SIZE][TRAILING_SPARK_SIZE] = {}; + /** + * units: rpm + * offset 23296 + */ + scaled_channel trailingSparkRpmBins[TRAILING_SPARK_SIZE] = {}; + /** + * units: Load + * offset 23300 + */ + scaled_channel trailingSparkLoadBins[TRAILING_SPARK_SIZE] = {}; }; -static_assert(sizeof(persistent_config_s) == 23280); +static_assert(sizeof(persistent_config_s) == 23304); // end // this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt 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 a560525ed8..0a945907fe 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_stm32f767_nucleo.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_stm32f767_nucleo.h @@ -1186,11 +1186,9 @@ struct engine_configuration_s { */ float idle_derivativeFilterLoss; /** - * just a temporary solution - * units: angle * offset 520 */ - int trailingSparkAngle; + int unusedTrailingSparkAngle; /** * offset 524 */ @@ -6193,8 +6191,23 @@ struct persistent_config_s { * offset 23276 */ float dynoCarFrontalAreaM2; + /** + * units: deg + * offset 23280 + */ + scaled_channel trailingSparkTable[TRAILING_SPARK_SIZE][TRAILING_SPARK_SIZE] = {}; + /** + * units: rpm + * offset 23296 + */ + scaled_channel trailingSparkRpmBins[TRAILING_SPARK_SIZE] = {}; + /** + * units: Load + * offset 23300 + */ + scaled_channel trailingSparkLoadBins[TRAILING_SPARK_SIZE] = {}; }; -static_assert(sizeof(persistent_config_s) == 23280); +static_assert(sizeof(persistent_config_s) == 23304); // end // this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt 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 a560525ed8..0a945907fe 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_stm32h743_nucleo.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_stm32h743_nucleo.h @@ -1186,11 +1186,9 @@ struct engine_configuration_s { */ float idle_derivativeFilterLoss; /** - * just a temporary solution - * units: angle * offset 520 */ - int trailingSparkAngle; + int unusedTrailingSparkAngle; /** * offset 524 */ @@ -6193,8 +6191,23 @@ struct persistent_config_s { * offset 23276 */ float dynoCarFrontalAreaM2; + /** + * units: deg + * offset 23280 + */ + scaled_channel trailingSparkTable[TRAILING_SPARK_SIZE][TRAILING_SPARK_SIZE] = {}; + /** + * units: rpm + * offset 23296 + */ + scaled_channel trailingSparkRpmBins[TRAILING_SPARK_SIZE] = {}; + /** + * units: Load + * offset 23300 + */ + scaled_channel trailingSparkLoadBins[TRAILING_SPARK_SIZE] = {}; }; -static_assert(sizeof(persistent_config_s) == 23280); +static_assert(sizeof(persistent_config_s) == 23304); // end // this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt 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 a560525ed8..0a945907fe 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 @@ -1186,11 +1186,9 @@ struct engine_configuration_s { */ float idle_derivativeFilterLoss; /** - * just a temporary solution - * units: angle * offset 520 */ - int trailingSparkAngle; + int unusedTrailingSparkAngle; /** * offset 524 */ @@ -6193,8 +6191,23 @@ struct persistent_config_s { * offset 23276 */ float dynoCarFrontalAreaM2; + /** + * units: deg + * offset 23280 + */ + scaled_channel trailingSparkTable[TRAILING_SPARK_SIZE][TRAILING_SPARK_SIZE] = {}; + /** + * units: rpm + * offset 23296 + */ + scaled_channel trailingSparkRpmBins[TRAILING_SPARK_SIZE] = {}; + /** + * units: Load + * offset 23300 + */ + scaled_channel trailingSparkLoadBins[TRAILING_SPARK_SIZE] = {}; }; -static_assert(sizeof(persistent_config_s) == 23280); +static_assert(sizeof(persistent_config_s) == 23304); // end // this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt 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 a560525ed8..0a945907fe 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 @@ -1186,11 +1186,9 @@ struct engine_configuration_s { */ float idle_derivativeFilterLoss; /** - * just a temporary solution - * units: angle * offset 520 */ - int trailingSparkAngle; + int unusedTrailingSparkAngle; /** * offset 524 */ @@ -6193,8 +6191,23 @@ struct persistent_config_s { * offset 23276 */ float dynoCarFrontalAreaM2; + /** + * units: deg + * offset 23280 + */ + scaled_channel trailingSparkTable[TRAILING_SPARK_SIZE][TRAILING_SPARK_SIZE] = {}; + /** + * units: rpm + * offset 23296 + */ + scaled_channel trailingSparkRpmBins[TRAILING_SPARK_SIZE] = {}; + /** + * units: Load + * offset 23300 + */ + scaled_channel trailingSparkLoadBins[TRAILING_SPARK_SIZE] = {}; }; -static_assert(sizeof(persistent_config_s) == 23280); +static_assert(sizeof(persistent_config_s) == 23304); // end // this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_uaefi.h b/firmware/controllers/generated/engine_configuration_generated_structures_uaefi.h index 2f633425e5..476774f4a7 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_uaefi.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_uaefi.h @@ -1186,11 +1186,9 @@ struct engine_configuration_s { */ float idle_derivativeFilterLoss; /** - * just a temporary solution - * units: angle * offset 520 */ - int trailingSparkAngle; + int unusedTrailingSparkAngle; /** * offset 524 */ @@ -6194,21 +6192,36 @@ struct persistent_config_s { */ float dynoCarFrontalAreaM2; /** + * units: deg * offset 23280 */ + scaled_channel trailingSparkTable[TRAILING_SPARK_SIZE][TRAILING_SPARK_SIZE] = {}; + /** + * units: rpm + * offset 23296 + */ + scaled_channel trailingSparkRpmBins[TRAILING_SPARK_SIZE] = {}; + /** + * units: Load + * offset 23300 + */ + scaled_channel trailingSparkLoadBins[TRAILING_SPARK_SIZE] = {}; + /** + * offset 23304 + */ uint8_t rainTimingAdjustment[TIMING_ADJUSTMENT_SIZE][TIMING_ADJUSTMENT_SIZE] = {}; /** * units: RPM - * offset 23296 + * offset 23320 */ uint16_t rainTimingRpmBins[TIMING_ADJUSTMENT_SIZE] = {}; /** * units: C - * offset 23304 + * offset 23328 */ float rainTimingPpsBins[TIMING_ADJUSTMENT_SIZE] = {}; }; -static_assert(sizeof(persistent_config_s) == 23320); +static_assert(sizeof(persistent_config_s) == 23344); // end // this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt diff --git a/firmware/controllers/generated/engine_configuration_generated_structures_uaefi121.h b/firmware/controllers/generated/engine_configuration_generated_structures_uaefi121.h index a560525ed8..0a945907fe 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures_uaefi121.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures_uaefi121.h @@ -1186,11 +1186,9 @@ struct engine_configuration_s { */ float idle_derivativeFilterLoss; /** - * just a temporary solution - * units: angle * offset 520 */ - int trailingSparkAngle; + int unusedTrailingSparkAngle; /** * offset 524 */ @@ -6193,8 +6191,23 @@ struct persistent_config_s { * offset 23276 */ float dynoCarFrontalAreaM2; + /** + * units: deg + * offset 23280 + */ + scaled_channel trailingSparkTable[TRAILING_SPARK_SIZE][TRAILING_SPARK_SIZE] = {}; + /** + * units: rpm + * offset 23296 + */ + scaled_channel trailingSparkRpmBins[TRAILING_SPARK_SIZE] = {}; + /** + * units: Load + * offset 23300 + */ + scaled_channel trailingSparkLoadBins[TRAILING_SPARK_SIZE] = {}; }; -static_assert(sizeof(persistent_config_s) == 23280); +static_assert(sizeof(persistent_config_s) == 23304); // end // this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt diff --git a/firmware/controllers/generated/rusefi_generated_alphax-2chan.h b/firmware/controllers/generated/rusefi_generated_alphax-2chan.h index 1fea135165..af7b10413b 100644 --- a/firmware/controllers/generated/rusefi_generated_alphax-2chan.h +++ b/firmware/controllers/generated/rusefi_generated_alphax-2chan.h @@ -492,7 +492,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 2501 +#define FLASH_DATA_VERSION 250206 #define FRONTEND_TITLE_BAR_NAME "rusEFI" #define fuel_cyl_trim_s_size 16 #define FUEL_LEVEL_TABLE_COUNT 8 @@ -1262,7 +1262,7 @@ #define pedalSensor_NAME "Accelerator pedal" #define pedalToTpsTbl_NAME "ETB pedal target" #define PERCENT_TRIM_BYTE_PACKING_DIV 0.02 -#define persistent_config_s_size 23284 +#define persistent_config_s_size 23308 #define pid_s_size 20 #define pin_input_mode_e_auto_enum 0="PI_DEFAULT",2="PI_PULLDOWN",1="PI_PULLUP" #define pin_input_mode_e_enum "DEFAULT", "PULLUP", "PULLDOWN" @@ -1345,7 +1345,7 @@ #define show_2chan_presets true #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 2636234722 +#define SIGNATURE_HASH 446836879 #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" @@ -1407,13 +1407,14 @@ #define torqueReductionActivationMode_e_TORQUE_REDUCTION_BUTTON 0 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_DOWN_SWITCH 2 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_UP_SWITCH 3 -#define TOTAL_CONFIG_SIZE 23284 +#define TOTAL_CONFIG_SIZE 23308 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_PPS_TOO_HIGH_THRESHOLD 110 #define TPS_PPS_TOO_LOW_THRESHOLD -10 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 #define TRACTION_CONTROL_ETB_DROP_SIZE 6 +#define TRAILING_SPARK_SIZE 4 #define transmission_controller_e_enum "None", "Simple Transmission", "Generic 4-Speed", "GM 4L6X" #define TransmissionControllerMode_auto_enum 0="None",2="Generic4",3="Gm4l6x",1="SimpleTransmissionController" #define TransmissionControllerMode_Generic4 2 @@ -1818,14 +1819,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.2025.02.07.alphax-2chan.2636234722" +#define TS_SIGNATURE "rusEFI master.2025.02.07.alphax-2chan.446836879" #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 1808 +#define TS_TOTAL_OUTPUT_SIZE 1812 #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 867913bf13..75927ac435 100644 --- a/firmware/controllers/generated/rusefi_generated_alphax-4chan.h +++ b/firmware/controllers/generated/rusefi_generated_alphax-4chan.h @@ -492,7 +492,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 2501 +#define FLASH_DATA_VERSION 250206 #define FRONTEND_TITLE_BAR_NAME "rusEFI" #define fuel_cyl_trim_s_size 16 #define FUEL_LEVEL_TABLE_COUNT 8 @@ -1263,7 +1263,7 @@ #define pedalSensor_NAME "Accelerator pedal" #define pedalToTpsTbl_NAME "ETB pedal target" #define PERCENT_TRIM_BYTE_PACKING_DIV 0.02 -#define persistent_config_s_size 23284 +#define persistent_config_s_size 23308 #define pid_s_size 20 #define pin_input_mode_e_auto_enum 0="PI_DEFAULT",2="PI_PULLDOWN",1="PI_PULLUP" #define pin_input_mode_e_enum "DEFAULT", "PULLUP", "PULLDOWN" @@ -1346,7 +1346,7 @@ #define show_4chan_presets true #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 3568912491 +#define SIGNATURE_HASH 1396360966 #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" @@ -1408,13 +1408,14 @@ #define torqueReductionActivationMode_e_TORQUE_REDUCTION_BUTTON 0 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_DOWN_SWITCH 2 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_UP_SWITCH 3 -#define TOTAL_CONFIG_SIZE 23284 +#define TOTAL_CONFIG_SIZE 23308 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_PPS_TOO_HIGH_THRESHOLD 110 #define TPS_PPS_TOO_LOW_THRESHOLD -10 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 #define TRACTION_CONTROL_ETB_DROP_SIZE 6 +#define TRAILING_SPARK_SIZE 4 #define transmission_controller_e_enum "None", "Simple Transmission", "Generic 4-Speed", "GM 4L6X" #define TransmissionControllerMode_auto_enum 0="None",2="Generic4",3="Gm4l6x",1="SimpleTransmissionController" #define TransmissionControllerMode_Generic4 2 @@ -1819,14 +1820,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.2025.02.07.alphax-4chan.3568912491" +#define TS_SIGNATURE "rusEFI master.2025.02.07.alphax-4chan.1396360966" #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 1808 +#define TS_TOTAL_OUTPUT_SIZE 1812 #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 5d1574bcf4..4c8437a92b 100644 --- a/firmware/controllers/generated/rusefi_generated_alphax-4chan_f7.h +++ b/firmware/controllers/generated/rusefi_generated_alphax-4chan_f7.h @@ -492,7 +492,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 2501 +#define FLASH_DATA_VERSION 250206 #define FRONTEND_TITLE_BAR_NAME "rusEFI" #define fuel_cyl_trim_s_size 16 #define FUEL_LEVEL_TABLE_COUNT 8 @@ -1263,7 +1263,7 @@ #define pedalSensor_NAME "Accelerator pedal" #define pedalToTpsTbl_NAME "ETB pedal target" #define PERCENT_TRIM_BYTE_PACKING_DIV 0.02 -#define persistent_config_s_size 23284 +#define persistent_config_s_size 23308 #define pid_s_size 20 #define pin_input_mode_e_auto_enum 0="PI_DEFAULT",2="PI_PULLDOWN",1="PI_PULLUP" #define pin_input_mode_e_enum "DEFAULT", "PULLUP", "PULLDOWN" @@ -1346,7 +1346,7 @@ #define show_4chan_presets true #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 3568912491 +#define SIGNATURE_HASH 1396360966 #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" @@ -1408,13 +1408,14 @@ #define torqueReductionActivationMode_e_TORQUE_REDUCTION_BUTTON 0 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_DOWN_SWITCH 2 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_UP_SWITCH 3 -#define TOTAL_CONFIG_SIZE 23284 +#define TOTAL_CONFIG_SIZE 23308 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_PPS_TOO_HIGH_THRESHOLD 110 #define TPS_PPS_TOO_LOW_THRESHOLD -10 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 #define TRACTION_CONTROL_ETB_DROP_SIZE 6 +#define TRAILING_SPARK_SIZE 4 #define transmission_controller_e_enum "None", "Simple Transmission", "Generic 4-Speed", "GM 4L6X" #define TransmissionControllerMode_auto_enum 0="None",2="Generic4",3="Gm4l6x",1="SimpleTransmissionController" #define TransmissionControllerMode_Generic4 2 @@ -1819,14 +1820,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.2025.02.07.alphax-4chan_f7.3568912491" +#define TS_SIGNATURE "rusEFI master.2025.02.07.alphax-4chan_f7.1396360966" #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 1808 +#define TS_TOTAL_OUTPUT_SIZE 1812 #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 c2079ad4be..05a3b2f4e3 100644 --- a/firmware/controllers/generated/rusefi_generated_alphax-4k-gdi.h +++ b/firmware/controllers/generated/rusefi_generated_alphax-4k-gdi.h @@ -493,7 +493,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 2501 +#define FLASH_DATA_VERSION 250206 #define FRONTEND_TITLE_BAR_NAME "rusEFI" #define fuel_cyl_trim_s_size 16 #define FUEL_LEVEL_TABLE_COUNT 8 @@ -1263,7 +1263,7 @@ #define pedalSensor_NAME "Accelerator pedal" #define pedalToTpsTbl_NAME "ETB pedal target" #define PERCENT_TRIM_BYTE_PACKING_DIV 0.02 -#define persistent_config_s_size 41280 +#define persistent_config_s_size 41304 #define pid_s_size 20 #define pin_input_mode_e_auto_enum 0="PI_DEFAULT",2="PI_PULLDOWN",1="PI_PULLUP" #define pin_input_mode_e_enum "DEFAULT", "PULLUP", "PULLDOWN" @@ -1345,7 +1345,7 @@ #define SentInput_NONE 0 #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 3122633341 +#define SIGNATURE_HASH 1033639184 #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" @@ -1407,13 +1407,14 @@ #define torqueReductionActivationMode_e_TORQUE_REDUCTION_BUTTON 0 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_DOWN_SWITCH 2 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_UP_SWITCH 3 -#define TOTAL_CONFIG_SIZE 41280 +#define TOTAL_CONFIG_SIZE 41304 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_PPS_TOO_HIGH_THRESHOLD 110 #define TPS_PPS_TOO_LOW_THRESHOLD -10 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 #define TRACTION_CONTROL_ETB_DROP_SIZE 6 +#define TRAILING_SPARK_SIZE 4 #define transmission_controller_e_enum "None", "Simple Transmission", "Generic 4-Speed", "GM 4L6X" #define TransmissionControllerMode_auto_enum 0="None",2="Generic4",3="Gm4l6x",1="SimpleTransmissionController" #define TransmissionControllerMode_Generic4 2 @@ -1818,14 +1819,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.2025.02.07.alphax-4k-gdi.3122633341" +#define TS_SIGNATURE "rusEFI master.2025.02.07.alphax-4k-gdi.1033639184" #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 1808 +#define TS_TOTAL_OUTPUT_SIZE 1812 #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 c342d69e64..9ff7c8c60d 100644 --- a/firmware/controllers/generated/rusefi_generated_alphax-8chan-revA.h +++ b/firmware/controllers/generated/rusefi_generated_alphax-8chan-revA.h @@ -492,7 +492,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 2501 +#define FLASH_DATA_VERSION 250206 #define FRONTEND_TITLE_BAR_NAME "rusEFI" #define fuel_cyl_trim_s_size 16 #define FUEL_LEVEL_TABLE_COUNT 8 @@ -1262,7 +1262,7 @@ #define pedalSensor_NAME "Accelerator pedal" #define pedalToTpsTbl_NAME "ETB pedal target" #define PERCENT_TRIM_BYTE_PACKING_DIV 0.02 -#define persistent_config_s_size 23284 +#define persistent_config_s_size 23308 #define pid_s_size 20 #define pin_input_mode_e_auto_enum 0="PI_DEFAULT",2="PI_PULLDOWN",1="PI_PULLUP" #define pin_input_mode_e_enum "DEFAULT", "PULLUP", "PULLDOWN" @@ -1345,7 +1345,7 @@ #define show_8chan_presets true #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 2881883078 +#define SIGNATURE_HASH 742753451 #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" @@ -1407,13 +1407,14 @@ #define torqueReductionActivationMode_e_TORQUE_REDUCTION_BUTTON 0 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_DOWN_SWITCH 2 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_UP_SWITCH 3 -#define TOTAL_CONFIG_SIZE 23284 +#define TOTAL_CONFIG_SIZE 23308 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_PPS_TOO_HIGH_THRESHOLD 110 #define TPS_PPS_TOO_LOW_THRESHOLD -10 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 #define TRACTION_CONTROL_ETB_DROP_SIZE 6 +#define TRAILING_SPARK_SIZE 4 #define transmission_controller_e_enum "None", "Simple Transmission", "Generic 4-Speed", "GM 4L6X" #define TransmissionControllerMode_auto_enum 0="None",2="Generic4",3="Gm4l6x",1="SimpleTransmissionController" #define TransmissionControllerMode_Generic4 2 @@ -1818,14 +1819,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.2025.02.07.alphax-8chan-revA.2881883078" +#define TS_SIGNATURE "rusEFI master.2025.02.07.alphax-8chan-revA.742753451" #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 1808 +#define TS_TOTAL_OUTPUT_SIZE 1812 #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 7b6748afb7..9cd9bdf888 100644 --- a/firmware/controllers/generated/rusefi_generated_alphax-8chan.h +++ b/firmware/controllers/generated/rusefi_generated_alphax-8chan.h @@ -490,7 +490,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 2501 +#define FLASH_DATA_VERSION 250206 #define FRONTEND_TITLE_BAR_NAME "rusEFI" #define fuel_cyl_trim_s_size 16 #define FUEL_LEVEL_TABLE_COUNT 8 @@ -1260,7 +1260,7 @@ #define pedalSensor_NAME "Accelerator pedal" #define pedalToTpsTbl_NAME "ETB pedal target" #define PERCENT_TRIM_BYTE_PACKING_DIV 0.02 -#define persistent_config_s_size 25300 +#define persistent_config_s_size 25324 #define pid_s_size 20 #define pin_input_mode_e_auto_enum 0="PI_DEFAULT",2="PI_PULLDOWN",1="PI_PULLUP" #define pin_input_mode_e_enum "DEFAULT", "PULLUP", "PULLDOWN" @@ -1343,7 +1343,7 @@ #define show_8chan_presets true #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 1320182774 +#define SIGNATURE_HASH 3375623323 #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" @@ -1405,13 +1405,14 @@ #define torqueReductionActivationMode_e_TORQUE_REDUCTION_BUTTON 0 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_DOWN_SWITCH 2 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_UP_SWITCH 3 -#define TOTAL_CONFIG_SIZE 25300 +#define TOTAL_CONFIG_SIZE 25324 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_PPS_TOO_HIGH_THRESHOLD 110 #define TPS_PPS_TOO_LOW_THRESHOLD -10 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 #define TRACTION_CONTROL_ETB_DROP_SIZE 6 +#define TRAILING_SPARK_SIZE 4 #define transmission_controller_e_enum "None", "Simple Transmission", "Generic 4-Speed", "GM 4L6X" #define TransmissionControllerMode_auto_enum 0="None",2="Generic4",3="Gm4l6x",1="SimpleTransmissionController" #define TransmissionControllerMode_Generic4 2 @@ -1816,14 +1817,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.2025.02.07.alphax-8chan.1320182774" +#define TS_SIGNATURE "rusEFI master.2025.02.07.alphax-8chan.3375623323" #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 1808 +#define TS_TOTAL_OUTPUT_SIZE 1812 #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 5e152fb6c0..0c9b296dd3 100644 --- a/firmware/controllers/generated/rusefi_generated_alphax-8chan_f7.h +++ b/firmware/controllers/generated/rusefi_generated_alphax-8chan_f7.h @@ -490,7 +490,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 2501 +#define FLASH_DATA_VERSION 250206 #define FRONTEND_TITLE_BAR_NAME "rusEFI" #define fuel_cyl_trim_s_size 16 #define FUEL_LEVEL_TABLE_COUNT 8 @@ -1260,7 +1260,7 @@ #define pedalSensor_NAME "Accelerator pedal" #define pedalToTpsTbl_NAME "ETB pedal target" #define PERCENT_TRIM_BYTE_PACKING_DIV 0.02 -#define persistent_config_s_size 25300 +#define persistent_config_s_size 25324 #define pid_s_size 20 #define pin_input_mode_e_auto_enum 0="PI_DEFAULT",2="PI_PULLDOWN",1="PI_PULLUP" #define pin_input_mode_e_enum "DEFAULT", "PULLUP", "PULLDOWN" @@ -1343,7 +1343,7 @@ #define show_8chan_presets true #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 1320182774 +#define SIGNATURE_HASH 3375623323 #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" @@ -1405,13 +1405,14 @@ #define torqueReductionActivationMode_e_TORQUE_REDUCTION_BUTTON 0 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_DOWN_SWITCH 2 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_UP_SWITCH 3 -#define TOTAL_CONFIG_SIZE 25300 +#define TOTAL_CONFIG_SIZE 25324 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_PPS_TOO_HIGH_THRESHOLD 110 #define TPS_PPS_TOO_LOW_THRESHOLD -10 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 #define TRACTION_CONTROL_ETB_DROP_SIZE 6 +#define TRAILING_SPARK_SIZE 4 #define transmission_controller_e_enum "None", "Simple Transmission", "Generic 4-Speed", "GM 4L6X" #define TransmissionControllerMode_auto_enum 0="None",2="Generic4",3="Gm4l6x",1="SimpleTransmissionController" #define TransmissionControllerMode_Generic4 2 @@ -1816,14 +1817,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.2025.02.07.alphax-8chan_f7.1320182774" +#define TS_SIGNATURE "rusEFI master.2025.02.07.alphax-8chan_f7.3375623323" #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 1808 +#define TS_TOTAL_OUTPUT_SIZE 1812 #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-gold.h b/firmware/controllers/generated/rusefi_generated_alphax-gold.h index 1464987b11..08f01fdc10 100644 --- a/firmware/controllers/generated/rusefi_generated_alphax-gold.h +++ b/firmware/controllers/generated/rusefi_generated_alphax-gold.h @@ -495,7 +495,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 2501 +#define FLASH_DATA_VERSION 250206 #define FRONTEND_TITLE_BAR_NAME "rusEFI" #define fuel_cyl_trim_s_size 16 #define FUEL_LEVEL_TABLE_COUNT 8 @@ -1265,7 +1265,7 @@ #define pedalSensor_NAME "Accelerator pedal" #define pedalToTpsTbl_NAME "ETB pedal target" #define PERCENT_TRIM_BYTE_PACKING_DIV 0.02 -#define persistent_config_s_size 23280 +#define persistent_config_s_size 23304 #define pid_s_size 20 #define pin_input_mode_e_auto_enum 0="PI_DEFAULT",2="PI_PULLDOWN",1="PI_PULLUP" #define pin_input_mode_e_enum "DEFAULT", "PULLUP", "PULLDOWN" @@ -1347,7 +1347,7 @@ #define SentInput_NONE 0 #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 2148321882 +#define SIGNATURE_HASH 126829879 #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" @@ -1409,13 +1409,14 @@ #define torqueReductionActivationMode_e_TORQUE_REDUCTION_BUTTON 0 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_DOWN_SWITCH 2 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_UP_SWITCH 3 -#define TOTAL_CONFIG_SIZE 23280 +#define TOTAL_CONFIG_SIZE 23304 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_PPS_TOO_HIGH_THRESHOLD 110 #define TPS_PPS_TOO_LOW_THRESHOLD -10 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 #define TRACTION_CONTROL_ETB_DROP_SIZE 6 +#define TRAILING_SPARK_SIZE 4 #define transmission_controller_e_enum "None", "Simple Transmission", "Generic 4-Speed", "GM 4L6X" #define TransmissionControllerMode_auto_enum 0="None",2="Generic4",3="Gm4l6x",1="SimpleTransmissionController" #define TransmissionControllerMode_Generic4 2 @@ -1820,14 +1821,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.2025.02.07.alphax-gold.2148321882" +#define TS_SIGNATURE "rusEFI master.2025.02.07.alphax-gold.126829879" #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 1808 +#define TS_TOTAL_OUTPUT_SIZE 1812 #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 ac7717c860..f0c28c298d 100644 --- a/firmware/controllers/generated/rusefi_generated_alphax-silver.h +++ b/firmware/controllers/generated/rusefi_generated_alphax-silver.h @@ -492,7 +492,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 2501 +#define FLASH_DATA_VERSION 250206 #define FRONTEND_TITLE_BAR_NAME "rusEFI" #define fuel_cyl_trim_s_size 16 #define FUEL_LEVEL_TABLE_COUNT 8 @@ -1262,7 +1262,7 @@ #define pedalSensor_NAME "Accelerator pedal" #define pedalToTpsTbl_NAME "ETB pedal target" #define PERCENT_TRIM_BYTE_PACKING_DIV 0.02 -#define persistent_config_s_size 23284 +#define persistent_config_s_size 23308 #define pid_s_size 20 #define pin_input_mode_e_auto_enum 0="PI_DEFAULT",2="PI_PULLDOWN",1="PI_PULLUP" #define pin_input_mode_e_enum "DEFAULT", "PULLUP", "PULLDOWN" @@ -1344,7 +1344,7 @@ #define SentInput_NONE 0 #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 2645059548 +#define SIGNATURE_HASH 439085233 #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" @@ -1406,13 +1406,14 @@ #define torqueReductionActivationMode_e_TORQUE_REDUCTION_BUTTON 0 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_DOWN_SWITCH 2 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_UP_SWITCH 3 -#define TOTAL_CONFIG_SIZE 23284 +#define TOTAL_CONFIG_SIZE 23308 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_PPS_TOO_HIGH_THRESHOLD 110 #define TPS_PPS_TOO_LOW_THRESHOLD -10 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 #define TRACTION_CONTROL_ETB_DROP_SIZE 6 +#define TRAILING_SPARK_SIZE 4 #define transmission_controller_e_enum "None", "Simple Transmission", "Generic 4-Speed", "GM 4L6X" #define TransmissionControllerMode_auto_enum 0="None",2="Generic4",3="Gm4l6x",1="SimpleTransmissionController" #define TransmissionControllerMode_Generic4 2 @@ -1817,14 +1818,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.2025.02.07.alphax-silver.2645059548" +#define TS_SIGNATURE "rusEFI master.2025.02.07.alphax-silver.439085233" #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 1808 +#define TS_TOTAL_OUTPUT_SIZE 1812 #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 8bc7c5a65c..9689a77846 100644 --- a/firmware/controllers/generated/rusefi_generated_at_start_f435.h +++ b/firmware/controllers/generated/rusefi_generated_at_start_f435.h @@ -495,7 +495,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 2501 +#define FLASH_DATA_VERSION 250206 #define FRONTEND_TITLE_BAR_NAME "rusEFI" #define fuel_cyl_trim_s_size 16 #define FUEL_LEVEL_TABLE_COUNT 8 @@ -1265,7 +1265,7 @@ #define pedalSensor_NAME "Accelerator pedal" #define pedalToTpsTbl_NAME "ETB pedal target" #define PERCENT_TRIM_BYTE_PACKING_DIV 0.02 -#define persistent_config_s_size 23280 +#define persistent_config_s_size 23304 #define pid_s_size 20 #define pin_input_mode_e_auto_enum 0="PI_DEFAULT",2="PI_PULLDOWN",1="PI_PULLUP" #define pin_input_mode_e_enum "DEFAULT", "PULLUP", "PULLDOWN" @@ -1347,7 +1347,7 @@ #define SentInput_NONE 0 #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 1384441238 +#define SIGNATURE_HASH 3574033147 #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" @@ -1409,13 +1409,14 @@ #define torqueReductionActivationMode_e_TORQUE_REDUCTION_BUTTON 0 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_DOWN_SWITCH 2 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_UP_SWITCH 3 -#define TOTAL_CONFIG_SIZE 23280 +#define TOTAL_CONFIG_SIZE 23304 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_PPS_TOO_HIGH_THRESHOLD 110 #define TPS_PPS_TOO_LOW_THRESHOLD -10 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 #define TRACTION_CONTROL_ETB_DROP_SIZE 6 +#define TRAILING_SPARK_SIZE 4 #define transmission_controller_e_enum "None", "Simple Transmission", "Generic 4-Speed", "GM 4L6X" #define TransmissionControllerMode_auto_enum 0="None",2="Generic4",3="Gm4l6x",1="SimpleTransmissionController" #define TransmissionControllerMode_Generic4 2 @@ -1820,14 +1821,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.2025.02.07.at_start_f435.1384441238" +#define TS_SIGNATURE "rusEFI master.2025.02.07.at_start_f435.3574033147" #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 1808 +#define TS_TOTAL_OUTPUT_SIZE 1812 #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 c3b5eaf91e..df9dc1d968 100644 --- a/firmware/controllers/generated/rusefi_generated_atlas.h +++ b/firmware/controllers/generated/rusefi_generated_atlas.h @@ -495,7 +495,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 2501 +#define FLASH_DATA_VERSION 250206 #define FRONTEND_TITLE_BAR_NAME "rusEFI" #define fuel_cyl_trim_s_size 16 #define FUEL_LEVEL_TABLE_COUNT 8 @@ -1265,7 +1265,7 @@ #define pedalSensor_NAME "Accelerator pedal" #define pedalToTpsTbl_NAME "ETB pedal target" #define PERCENT_TRIM_BYTE_PACKING_DIV 0.02 -#define persistent_config_s_size 22780 +#define persistent_config_s_size 22804 #define pid_s_size 20 #define pin_input_mode_e_auto_enum 0="PI_DEFAULT",2="PI_PULLDOWN",1="PI_PULLUP" #define pin_input_mode_e_enum "DEFAULT", "PULLUP", "PULLDOWN" @@ -1347,7 +1347,7 @@ #define SentInput_NONE 0 #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 377696728 +#define SIGNATURE_HASH 2432745141 #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" @@ -1409,13 +1409,14 @@ #define torqueReductionActivationMode_e_TORQUE_REDUCTION_BUTTON 0 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_DOWN_SWITCH 2 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_UP_SWITCH 3 -#define TOTAL_CONFIG_SIZE 22780 +#define TOTAL_CONFIG_SIZE 22804 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_PPS_TOO_HIGH_THRESHOLD 110 #define TPS_PPS_TOO_LOW_THRESHOLD -10 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 #define TRACTION_CONTROL_ETB_DROP_SIZE 6 +#define TRAILING_SPARK_SIZE 4 #define transmission_controller_e_enum "None", "Simple Transmission", "Generic 4-Speed", "GM 4L6X" #define TransmissionControllerMode_auto_enum 0="None",2="Generic4",3="Gm4l6x",1="SimpleTransmissionController" #define TransmissionControllerMode_Generic4 2 @@ -1820,14 +1821,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.2025.02.07.atlas.377696728" +#define TS_SIGNATURE "rusEFI master.2025.02.07.atlas.2432745141" #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 1808 +#define TS_TOTAL_OUTPUT_SIZE 1812 #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 9d51825d2e..169c2dacb7 100644 --- a/firmware/controllers/generated/rusefi_generated_f407-discovery.h +++ b/firmware/controllers/generated/rusefi_generated_f407-discovery.h @@ -494,7 +494,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 2501 +#define FLASH_DATA_VERSION 250206 #define FRONTEND_TITLE_BAR_NAME "rusEFI" #define fuel_cyl_trim_s_size 16 #define FUEL_LEVEL_TABLE_COUNT 8 @@ -1264,7 +1264,7 @@ #define pedalSensor_NAME "Accelerator pedal" #define pedalToTpsTbl_NAME "ETB pedal target" #define PERCENT_TRIM_BYTE_PACKING_DIV 0.02 -#define persistent_config_s_size 23284 +#define persistent_config_s_size 23308 #define pid_s_size 20 #define pin_input_mode_e_auto_enum 0="PI_DEFAULT",2="PI_PULLDOWN",1="PI_PULLUP" #define pin_input_mode_e_enum "DEFAULT", "PULLUP", "PULLDOWN" @@ -1348,7 +1348,7 @@ #define show_tcu_gauges false #define show_test_presets true #define show_vvt_output_pin true -#define SIGNATURE_HASH 2990287915 +#define SIGNATURE_HASH 901751622 #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" @@ -1410,13 +1410,14 @@ #define torqueReductionActivationMode_e_TORQUE_REDUCTION_BUTTON 0 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_DOWN_SWITCH 2 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_UP_SWITCH 3 -#define TOTAL_CONFIG_SIZE 23284 +#define TOTAL_CONFIG_SIZE 23308 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_PPS_TOO_HIGH_THRESHOLD 110 #define TPS_PPS_TOO_LOW_THRESHOLD -10 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 #define TRACTION_CONTROL_ETB_DROP_SIZE 6 +#define TRAILING_SPARK_SIZE 4 #define transmission_controller_e_enum "None", "Simple Transmission", "Generic 4-Speed", "GM 4L6X" #define TransmissionControllerMode_auto_enum 0="None",2="Generic4",3="Gm4l6x",1="SimpleTransmissionController" #define TransmissionControllerMode_Generic4 2 @@ -1821,14 +1822,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.2025.02.07.f407-discovery.2990287915" +#define TS_SIGNATURE "rusEFI master.2025.02.07.f407-discovery.901751622" #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 1808 +#define TS_TOTAL_OUTPUT_SIZE 1812 #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 a47184c1d9..a967d95f71 100644 --- a/firmware/controllers/generated/rusefi_generated_f429-discovery.h +++ b/firmware/controllers/generated/rusefi_generated_f429-discovery.h @@ -495,7 +495,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 2501 +#define FLASH_DATA_VERSION 250206 #define FRONTEND_TITLE_BAR_NAME "rusEFI" #define fuel_cyl_trim_s_size 16 #define FUEL_LEVEL_TABLE_COUNT 8 @@ -1265,7 +1265,7 @@ #define pedalSensor_NAME "Accelerator pedal" #define pedalToTpsTbl_NAME "ETB pedal target" #define PERCENT_TRIM_BYTE_PACKING_DIV 0.02 -#define persistent_config_s_size 23280 +#define persistent_config_s_size 23304 #define pid_s_size 20 #define pin_input_mode_e_auto_enum 0="PI_DEFAULT",2="PI_PULLDOWN",1="PI_PULLUP" #define pin_input_mode_e_enum "DEFAULT", "PULLUP", "PULLDOWN" @@ -1347,7 +1347,7 @@ #define SentInput_NONE 0 #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 1384441238 +#define SIGNATURE_HASH 3574033147 #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" @@ -1409,13 +1409,14 @@ #define torqueReductionActivationMode_e_TORQUE_REDUCTION_BUTTON 0 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_DOWN_SWITCH 2 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_UP_SWITCH 3 -#define TOTAL_CONFIG_SIZE 23280 +#define TOTAL_CONFIG_SIZE 23304 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_PPS_TOO_HIGH_THRESHOLD 110 #define TPS_PPS_TOO_LOW_THRESHOLD -10 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 #define TRACTION_CONTROL_ETB_DROP_SIZE 6 +#define TRAILING_SPARK_SIZE 4 #define transmission_controller_e_enum "None", "Simple Transmission", "Generic 4-Speed", "GM 4L6X" #define TransmissionControllerMode_auto_enum 0="None",2="Generic4",3="Gm4l6x",1="SimpleTransmissionController" #define TransmissionControllerMode_Generic4 2 @@ -1820,14 +1821,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.2025.02.07.f429-discovery.1384441238" +#define TS_SIGNATURE "rusEFI master.2025.02.07.f429-discovery.3574033147" #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 1808 +#define TS_TOTAL_OUTPUT_SIZE 1812 #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 5173a7ff95..46d42bbe4e 100644 --- a/firmware/controllers/generated/rusefi_generated_f469-discovery.h +++ b/firmware/controllers/generated/rusefi_generated_f469-discovery.h @@ -495,7 +495,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 2501 +#define FLASH_DATA_VERSION 250206 #define FRONTEND_TITLE_BAR_NAME "rusEFI" #define fuel_cyl_trim_s_size 16 #define FUEL_LEVEL_TABLE_COUNT 8 @@ -1265,7 +1265,7 @@ #define pedalSensor_NAME "Accelerator pedal" #define pedalToTpsTbl_NAME "ETB pedal target" #define PERCENT_TRIM_BYTE_PACKING_DIV 0.02 -#define persistent_config_s_size 23280 +#define persistent_config_s_size 23304 #define pid_s_size 20 #define pin_input_mode_e_auto_enum 0="PI_DEFAULT",2="PI_PULLDOWN",1="PI_PULLUP" #define pin_input_mode_e_enum "DEFAULT", "PULLUP", "PULLDOWN" @@ -1347,7 +1347,7 @@ #define SentInput_NONE 0 #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 1616110341 +#define SIGNATURE_HASH 3889196136 #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" @@ -1409,13 +1409,14 @@ #define torqueReductionActivationMode_e_TORQUE_REDUCTION_BUTTON 0 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_DOWN_SWITCH 2 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_UP_SWITCH 3 -#define TOTAL_CONFIG_SIZE 23280 +#define TOTAL_CONFIG_SIZE 23304 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_PPS_TOO_HIGH_THRESHOLD 110 #define TPS_PPS_TOO_LOW_THRESHOLD -10 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 #define TRACTION_CONTROL_ETB_DROP_SIZE 6 +#define TRAILING_SPARK_SIZE 4 #define transmission_controller_e_enum "None", "Simple Transmission", "Generic 4-Speed", "GM 4L6X" #define TransmissionControllerMode_auto_enum 0="None",2="Generic4",3="Gm4l6x",1="SimpleTransmissionController" #define TransmissionControllerMode_Generic4 2 @@ -1820,14 +1821,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.2025.02.07.f469-discovery.1616110341" +#define TS_SIGNATURE "rusEFI master.2025.02.07.f469-discovery.3889196136" #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 1808 +#define TS_TOTAL_OUTPUT_SIZE 1812 #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 6f4070778b..f0f1609916 100644 --- a/firmware/controllers/generated/rusefi_generated_frankenso_na6.h +++ b/firmware/controllers/generated/rusefi_generated_frankenso_na6.h @@ -495,7 +495,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 2501 +#define FLASH_DATA_VERSION 250206 #define FRONTEND_TITLE_BAR_NAME "rusEFI" #define fuel_cyl_trim_s_size 16 #define FUEL_LEVEL_TABLE_COUNT 8 @@ -1265,7 +1265,7 @@ #define pedalSensor_NAME "Accelerator pedal" #define pedalToTpsTbl_NAME "ETB pedal target" #define PERCENT_TRIM_BYTE_PACKING_DIV 0.02 -#define persistent_config_s_size 23280 +#define persistent_config_s_size 23304 #define pid_s_size 20 #define pin_input_mode_e_auto_enum 0="PI_DEFAULT",2="PI_PULLDOWN",1="PI_PULLUP" #define pin_input_mode_e_enum "DEFAULT", "PULLUP", "PULLDOWN" @@ -1349,7 +1349,7 @@ #define show_tcu_gauges false #define show_test_presets true #define show_vvt_output_pin true -#define SIGNATURE_HASH 67604877 +#define SIGNATURE_HASH 2206473952 #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" @@ -1411,13 +1411,14 @@ #define torqueReductionActivationMode_e_TORQUE_REDUCTION_BUTTON 0 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_DOWN_SWITCH 2 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_UP_SWITCH 3 -#define TOTAL_CONFIG_SIZE 23280 +#define TOTAL_CONFIG_SIZE 23304 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_PPS_TOO_HIGH_THRESHOLD 110 #define TPS_PPS_TOO_LOW_THRESHOLD -10 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 #define TRACTION_CONTROL_ETB_DROP_SIZE 6 +#define TRAILING_SPARK_SIZE 4 #define transmission_controller_e_enum "None", "Simple Transmission", "Generic 4-Speed", "GM 4L6X" #define TransmissionControllerMode_auto_enum 0="None",2="Generic4",3="Gm4l6x",1="SimpleTransmissionController" #define TransmissionControllerMode_Generic4 2 @@ -1822,14 +1823,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.2025.02.07.frankenso_na6.67604877" +#define TS_SIGNATURE "rusEFI master.2025.02.07.frankenso_na6.2206473952" #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 1808 +#define TS_TOTAL_OUTPUT_SIZE 1812 #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 b3676719bd..afe8ce3123 100644 --- a/firmware/controllers/generated/rusefi_generated_haba208.h +++ b/firmware/controllers/generated/rusefi_generated_haba208.h @@ -495,7 +495,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 2501 +#define FLASH_DATA_VERSION 250206 #define FRONTEND_TITLE_BAR_NAME "rusEFI" #define fuel_cyl_trim_s_size 16 #define FUEL_LEVEL_TABLE_COUNT 8 @@ -1265,7 +1265,7 @@ #define pedalSensor_NAME "Accelerator pedal" #define pedalToTpsTbl_NAME "ETB pedal target" #define PERCENT_TRIM_BYTE_PACKING_DIV 0.02 -#define persistent_config_s_size 23280 +#define persistent_config_s_size 23304 #define pid_s_size 20 #define pin_input_mode_e_auto_enum 0="PI_DEFAULT",2="PI_PULLDOWN",1="PI_PULLUP" #define pin_input_mode_e_enum "DEFAULT", "PULLUP", "PULLDOWN" @@ -1347,7 +1347,7 @@ #define SentInput_NONE 0 #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 1384441238 +#define SIGNATURE_HASH 3574033147 #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" @@ -1409,13 +1409,14 @@ #define torqueReductionActivationMode_e_TORQUE_REDUCTION_BUTTON 0 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_DOWN_SWITCH 2 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_UP_SWITCH 3 -#define TOTAL_CONFIG_SIZE 23280 +#define TOTAL_CONFIG_SIZE 23304 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_PPS_TOO_HIGH_THRESHOLD 110 #define TPS_PPS_TOO_LOW_THRESHOLD -10 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 #define TRACTION_CONTROL_ETB_DROP_SIZE 6 +#define TRAILING_SPARK_SIZE 4 #define transmission_controller_e_enum "None", "Simple Transmission", "Generic 4-Speed", "GM 4L6X" #define TransmissionControllerMode_auto_enum 0="None",2="Generic4",3="Gm4l6x",1="SimpleTransmissionController" #define TransmissionControllerMode_Generic4 2 @@ -1820,14 +1821,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.2025.02.07.haba208.1384441238" +#define TS_SIGNATURE "rusEFI master.2025.02.07.haba208.3574033147" #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 1808 +#define TS_TOTAL_OUTPUT_SIZE 1812 #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 f8223b5733..070582cd3c 100644 --- a/firmware/controllers/generated/rusefi_generated_hellen-honda-k.h +++ b/firmware/controllers/generated/rusefi_generated_hellen-honda-k.h @@ -493,7 +493,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 2501 +#define FLASH_DATA_VERSION 250206 #define FRONTEND_TITLE_BAR_NAME "rusEFI" #define fuel_cyl_trim_s_size 16 #define FUEL_LEVEL_TABLE_COUNT 8 @@ -1263,7 +1263,7 @@ #define pedalSensor_NAME "Accelerator pedal" #define pedalToTpsTbl_NAME "ETB pedal target" #define PERCENT_TRIM_BYTE_PACKING_DIV 0.02 -#define persistent_config_s_size 23768 +#define persistent_config_s_size 23792 #define pid_s_size 20 #define pin_input_mode_e_auto_enum 0="PI_DEFAULT",2="PI_PULLDOWN",1="PI_PULLUP" #define pin_input_mode_e_enum "DEFAULT", "PULLUP", "PULLDOWN" @@ -1345,7 +1345,7 @@ #define SentInput_NONE 0 #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 113088480 +#define SIGNATURE_HASH 2168330381 #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" @@ -1407,13 +1407,14 @@ #define torqueReductionActivationMode_e_TORQUE_REDUCTION_BUTTON 0 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_DOWN_SWITCH 2 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_UP_SWITCH 3 -#define TOTAL_CONFIG_SIZE 23768 +#define TOTAL_CONFIG_SIZE 23792 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_PPS_TOO_HIGH_THRESHOLD 110 #define TPS_PPS_TOO_LOW_THRESHOLD -10 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 #define TRACTION_CONTROL_ETB_DROP_SIZE 6 +#define TRAILING_SPARK_SIZE 4 #define transmission_controller_e_enum "None", "Simple Transmission", "Generic 4-Speed", "GM 4L6X" #define TransmissionControllerMode_auto_enum 0="None",2="Generic4",3="Gm4l6x",1="SimpleTransmissionController" #define TransmissionControllerMode_Generic4 2 @@ -1820,14 +1821,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.2025.02.07.hellen-honda-k.113088480" +#define TS_SIGNATURE "rusEFI master.2025.02.07.hellen-honda-k.2168330381" #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 1808 +#define TS_TOTAL_OUTPUT_SIZE 1812 #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 6d7b815a9b..37b8b8744d 100644 --- a/firmware/controllers/generated/rusefi_generated_hellen-nb1.h +++ b/firmware/controllers/generated/rusefi_generated_hellen-nb1.h @@ -495,7 +495,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 2501 +#define FLASH_DATA_VERSION 250206 #define FRONTEND_TITLE_BAR_NAME "rusEFI" #define fuel_cyl_trim_s_size 16 #define FUEL_LEVEL_TABLE_COUNT 8 @@ -1265,7 +1265,7 @@ #define pedalSensor_NAME "Accelerator pedal" #define pedalToTpsTbl_NAME "ETB pedal target" #define PERCENT_TRIM_BYTE_PACKING_DIV 0.02 -#define persistent_config_s_size 23280 +#define persistent_config_s_size 23304 #define pid_s_size 20 #define pin_input_mode_e_auto_enum 0="PI_DEFAULT",2="PI_PULLDOWN",1="PI_PULLUP" #define pin_input_mode_e_enum "DEFAULT", "PULLUP", "PULLDOWN" @@ -1348,7 +1348,7 @@ #define show_HellenNB1_presets true #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 3508678793 +#define SIGNATURE_HASH 1453440996 #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" @@ -1410,13 +1410,14 @@ #define torqueReductionActivationMode_e_TORQUE_REDUCTION_BUTTON 0 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_DOWN_SWITCH 2 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_UP_SWITCH 3 -#define TOTAL_CONFIG_SIZE 23280 +#define TOTAL_CONFIG_SIZE 23304 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_PPS_TOO_HIGH_THRESHOLD 110 #define TPS_PPS_TOO_LOW_THRESHOLD -10 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 #define TRACTION_CONTROL_ETB_DROP_SIZE 6 +#define TRAILING_SPARK_SIZE 4 #define transmission_controller_e_enum "None", "Simple Transmission", "Generic 4-Speed", "GM 4L6X" #define TransmissionControllerMode_auto_enum 0="None",2="Generic4",3="Gm4l6x",1="SimpleTransmissionController" #define TransmissionControllerMode_Generic4 2 @@ -1821,14 +1822,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.2025.02.07.hellen-nb1.3508678793" +#define TS_SIGNATURE "rusEFI master.2025.02.07.hellen-nb1.1453440996" #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 1808 +#define TS_TOTAL_OUTPUT_SIZE 1812 #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 f6a0369fbc..0901cf0c43 100644 --- a/firmware/controllers/generated/rusefi_generated_hellen121nissan.h +++ b/firmware/controllers/generated/rusefi_generated_hellen121nissan.h @@ -495,7 +495,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 2501 +#define FLASH_DATA_VERSION 250206 #define FRONTEND_TITLE_BAR_NAME "rusEFI" #define fuel_cyl_trim_s_size 16 #define FUEL_LEVEL_TABLE_COUNT 8 @@ -1265,7 +1265,7 @@ #define pedalSensor_NAME "Accelerator pedal" #define pedalToTpsTbl_NAME "ETB pedal target" #define PERCENT_TRIM_BYTE_PACKING_DIV 0.02 -#define persistent_config_s_size 23280 +#define persistent_config_s_size 23304 #define pid_s_size 20 #define pin_input_mode_e_auto_enum 0="PI_DEFAULT",2="PI_PULLDOWN",1="PI_PULLUP" #define pin_input_mode_e_enum "DEFAULT", "PULLUP", "PULLDOWN" @@ -1348,7 +1348,7 @@ #define show_Hellen121nissan_presets true #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 2183100182 +#define SIGNATURE_HASH 94173307 #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" @@ -1410,13 +1410,14 @@ #define torqueReductionActivationMode_e_TORQUE_REDUCTION_BUTTON 0 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_DOWN_SWITCH 2 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_UP_SWITCH 3 -#define TOTAL_CONFIG_SIZE 23280 +#define TOTAL_CONFIG_SIZE 23304 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_PPS_TOO_HIGH_THRESHOLD 110 #define TPS_PPS_TOO_LOW_THRESHOLD -10 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 #define TRACTION_CONTROL_ETB_DROP_SIZE 6 +#define TRAILING_SPARK_SIZE 4 #define transmission_controller_e_enum "None", "Simple Transmission", "Generic 4-Speed", "GM 4L6X" #define TransmissionControllerMode_auto_enum 0="None",2="Generic4",3="Gm4l6x",1="SimpleTransmissionController" #define TransmissionControllerMode_Generic4 2 @@ -1821,14 +1822,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.2025.02.07.hellen121nissan.2183100182" +#define TS_SIGNATURE "rusEFI master.2025.02.07.hellen121nissan.94173307" #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 1808 +#define TS_TOTAL_OUTPUT_SIZE 1812 #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 1d0358cb95..9941fd4ec3 100644 --- a/firmware/controllers/generated/rusefi_generated_hellen121vag.h +++ b/firmware/controllers/generated/rusefi_generated_hellen121vag.h @@ -495,7 +495,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 2501 +#define FLASH_DATA_VERSION 250206 #define FRONTEND_TITLE_BAR_NAME "rusEFI" #define fuel_cyl_trim_s_size 16 #define FUEL_LEVEL_TABLE_COUNT 8 @@ -1265,7 +1265,7 @@ #define pedalSensor_NAME "Accelerator pedal" #define pedalToTpsTbl_NAME "ETB pedal target" #define PERCENT_TRIM_BYTE_PACKING_DIV 0.02 -#define persistent_config_s_size 23280 +#define persistent_config_s_size 23304 #define pid_s_size 20 #define pin_input_mode_e_auto_enum 0="PI_DEFAULT",2="PI_PULLDOWN",1="PI_PULLUP" #define pin_input_mode_e_enum "DEFAULT", "PULLUP", "PULLDOWN" @@ -1348,7 +1348,7 @@ #define show_Hellen121vag_presets true #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 3665192273 +#define SIGNATURE_HASH 1576397372 #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" @@ -1410,13 +1410,14 @@ #define torqueReductionActivationMode_e_TORQUE_REDUCTION_BUTTON 0 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_DOWN_SWITCH 2 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_UP_SWITCH 3 -#define TOTAL_CONFIG_SIZE 23280 +#define TOTAL_CONFIG_SIZE 23304 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_PPS_TOO_HIGH_THRESHOLD 110 #define TPS_PPS_TOO_LOW_THRESHOLD -10 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 #define TRACTION_CONTROL_ETB_DROP_SIZE 6 +#define TRAILING_SPARK_SIZE 4 #define transmission_controller_e_enum "None", "Simple Transmission", "Generic 4-Speed", "GM 4L6X" #define TransmissionControllerMode_auto_enum 0="None",2="Generic4",3="Gm4l6x",1="SimpleTransmissionController" #define TransmissionControllerMode_Generic4 2 @@ -1821,14 +1822,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.2025.02.07.hellen121vag.3665192273" +#define TS_SIGNATURE "rusEFI master.2025.02.07.hellen121vag.1576397372" #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 1808 +#define TS_TOTAL_OUTPUT_SIZE 1812 #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 752d35ec71..fd7e9768c6 100644 --- a/firmware/controllers/generated/rusefi_generated_hellen128.h +++ b/firmware/controllers/generated/rusefi_generated_hellen128.h @@ -495,7 +495,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 2501 +#define FLASH_DATA_VERSION 250206 #define FRONTEND_TITLE_BAR_NAME "rusEFI" #define fuel_cyl_trim_s_size 16 #define FUEL_LEVEL_TABLE_COUNT 8 @@ -1265,7 +1265,7 @@ #define pedalSensor_NAME "Accelerator pedal" #define pedalToTpsTbl_NAME "ETB pedal target" #define PERCENT_TRIM_BYTE_PACKING_DIV 0.02 -#define persistent_config_s_size 23280 +#define persistent_config_s_size 23304 #define pid_s_size 20 #define pin_input_mode_e_auto_enum 0="PI_DEFAULT",2="PI_PULLDOWN",1="PI_PULLUP" #define pin_input_mode_e_enum "DEFAULT", "PULLUP", "PULLDOWN" @@ -1348,7 +1348,7 @@ #define show_Hellen128merc_presets true #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 3205943137 +#define SIGNATURE_HASH 949305356 #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" @@ -1410,13 +1410,14 @@ #define torqueReductionActivationMode_e_TORQUE_REDUCTION_BUTTON 0 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_DOWN_SWITCH 2 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_UP_SWITCH 3 -#define TOTAL_CONFIG_SIZE 23280 +#define TOTAL_CONFIG_SIZE 23304 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_PPS_TOO_HIGH_THRESHOLD 110 #define TPS_PPS_TOO_LOW_THRESHOLD -10 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 #define TRACTION_CONTROL_ETB_DROP_SIZE 6 +#define TRAILING_SPARK_SIZE 4 #define transmission_controller_e_enum "None", "Simple Transmission", "Generic 4-Speed", "GM 4L6X" #define TransmissionControllerMode_auto_enum 0="None",2="Generic4",3="Gm4l6x",1="SimpleTransmissionController" #define TransmissionControllerMode_Generic4 2 @@ -1821,14 +1822,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.2025.02.07.hellen128.3205943137" +#define TS_SIGNATURE "rusEFI master.2025.02.07.hellen128.949305356" #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 1808 +#define TS_TOTAL_OUTPUT_SIZE 1812 #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 7c2e0e9c74..706ed9c429 100644 --- a/firmware/controllers/generated/rusefi_generated_hellen154hyundai.h +++ b/firmware/controllers/generated/rusefi_generated_hellen154hyundai.h @@ -493,7 +493,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 2501 +#define FLASH_DATA_VERSION 250206 #define FRONTEND_TITLE_BAR_NAME "rusEFI" #define fuel_cyl_trim_s_size 16 #define FUEL_LEVEL_TABLE_COUNT 8 @@ -1263,7 +1263,7 @@ #define pedalSensor_NAME "Accelerator pedal" #define pedalToTpsTbl_NAME "ETB pedal target" #define PERCENT_TRIM_BYTE_PACKING_DIV 0.02 -#define persistent_config_s_size 23280 +#define persistent_config_s_size 23304 #define pid_s_size 20 #define pin_input_mode_e_auto_enum 0="PI_DEFAULT",2="PI_PULLDOWN",1="PI_PULLUP" #define pin_input_mode_e_enum "DEFAULT", "PULLUP", "PULLDOWN" @@ -1345,7 +1345,7 @@ #define SentInput_NONE 0 #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 2956534942 +#define SIGNATURE_HASH 934980595 #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" @@ -1407,13 +1407,14 @@ #define torqueReductionActivationMode_e_TORQUE_REDUCTION_BUTTON 0 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_DOWN_SWITCH 2 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_UP_SWITCH 3 -#define TOTAL_CONFIG_SIZE 23280 +#define TOTAL_CONFIG_SIZE 23304 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_PPS_TOO_HIGH_THRESHOLD 110 #define TPS_PPS_TOO_LOW_THRESHOLD -10 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 #define TRACTION_CONTROL_ETB_DROP_SIZE 6 +#define TRAILING_SPARK_SIZE 4 #define transmission_controller_e_enum "None", "Simple Transmission", "Generic 4-Speed", "GM 4L6X" #define TransmissionControllerMode_auto_enum 0="None",2="Generic4",3="Gm4l6x",1="SimpleTransmissionController" #define TransmissionControllerMode_Generic4 2 @@ -1818,14 +1819,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.2025.02.07.hellen154hyundai.2956534942" +#define TS_SIGNATURE "rusEFI master.2025.02.07.hellen154hyundai.934980595" #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 1808 +#define TS_TOTAL_OUTPUT_SIZE 1812 #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 e63276a1b9..922e2df988 100644 --- a/firmware/controllers/generated/rusefi_generated_hellen154hyundai_f7.h +++ b/firmware/controllers/generated/rusefi_generated_hellen154hyundai_f7.h @@ -493,7 +493,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 2501 +#define FLASH_DATA_VERSION 250206 #define FRONTEND_TITLE_BAR_NAME "rusEFI" #define fuel_cyl_trim_s_size 16 #define FUEL_LEVEL_TABLE_COUNT 8 @@ -1263,7 +1263,7 @@ #define pedalSensor_NAME "Accelerator pedal" #define pedalToTpsTbl_NAME "ETB pedal target" #define PERCENT_TRIM_BYTE_PACKING_DIV 0.02 -#define persistent_config_s_size 23280 +#define persistent_config_s_size 23304 #define pid_s_size 20 #define pin_input_mode_e_auto_enum 0="PI_DEFAULT",2="PI_PULLDOWN",1="PI_PULLUP" #define pin_input_mode_e_enum "DEFAULT", "PULLUP", "PULLDOWN" @@ -1345,7 +1345,7 @@ #define SentInput_NONE 0 #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 1130799628 +#define SIGNATURE_HASH 3303353697 #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" @@ -1407,13 +1407,14 @@ #define torqueReductionActivationMode_e_TORQUE_REDUCTION_BUTTON 0 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_DOWN_SWITCH 2 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_UP_SWITCH 3 -#define TOTAL_CONFIG_SIZE 23280 +#define TOTAL_CONFIG_SIZE 23304 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_PPS_TOO_HIGH_THRESHOLD 110 #define TPS_PPS_TOO_LOW_THRESHOLD -10 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 #define TRACTION_CONTROL_ETB_DROP_SIZE 6 +#define TRAILING_SPARK_SIZE 4 #define transmission_controller_e_enum "None", "Simple Transmission", "Generic 4-Speed", "GM 4L6X" #define TransmissionControllerMode_auto_enum 0="None",2="Generic4",3="Gm4l6x",1="SimpleTransmissionController" #define TransmissionControllerMode_Generic4 2 @@ -1818,14 +1819,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.2025.02.07.hellen154hyundai_f7.1130799628" +#define TS_SIGNATURE "rusEFI master.2025.02.07.hellen154hyundai_f7.3303353697" #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 1808 +#define TS_TOTAL_OUTPUT_SIZE 1812 #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 51dc5f90da..ac6eb21925 100644 --- a/firmware/controllers/generated/rusefi_generated_hellen72.h +++ b/firmware/controllers/generated/rusefi_generated_hellen72.h @@ -495,7 +495,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 2501 +#define FLASH_DATA_VERSION 250206 #define FRONTEND_TITLE_BAR_NAME "rusEFI" #define fuel_cyl_trim_s_size 16 #define FUEL_LEVEL_TABLE_COUNT 8 @@ -1265,7 +1265,7 @@ #define pedalSensor_NAME "Accelerator pedal" #define pedalToTpsTbl_NAME "ETB pedal target" #define PERCENT_TRIM_BYTE_PACKING_DIV 0.02 -#define persistent_config_s_size 23280 +#define persistent_config_s_size 23304 #define pid_s_size 20 #define pin_input_mode_e_auto_enum 0="PI_DEFAULT",2="PI_PULLDOWN",1="PI_PULLUP" #define pin_input_mode_e_enum "DEFAULT", "PULLUP", "PULLDOWN" @@ -1348,7 +1348,7 @@ #define show_HellenNB2_presets true #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 2947287104 +#define SIGNATURE_HASH 674203437 #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" @@ -1410,13 +1410,14 @@ #define torqueReductionActivationMode_e_TORQUE_REDUCTION_BUTTON 0 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_DOWN_SWITCH 2 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_UP_SWITCH 3 -#define TOTAL_CONFIG_SIZE 23280 +#define TOTAL_CONFIG_SIZE 23304 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_PPS_TOO_HIGH_THRESHOLD 110 #define TPS_PPS_TOO_LOW_THRESHOLD -10 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 #define TRACTION_CONTROL_ETB_DROP_SIZE 6 +#define TRAILING_SPARK_SIZE 4 #define transmission_controller_e_enum "None", "Simple Transmission", "Generic 4-Speed", "GM 4L6X" #define TransmissionControllerMode_auto_enum 0="None",2="Generic4",3="Gm4l6x",1="SimpleTransmissionController" #define TransmissionControllerMode_Generic4 2 @@ -1821,14 +1822,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.2025.02.07.hellen72.2947287104" +#define TS_SIGNATURE "rusEFI master.2025.02.07.hellen72.674203437" #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 1808 +#define TS_TOTAL_OUTPUT_SIZE 1812 #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 7a40832cfc..f453c2d3fe 100644 --- a/firmware/controllers/generated/rusefi_generated_hellenNA6.h +++ b/firmware/controllers/generated/rusefi_generated_hellenNA6.h @@ -495,7 +495,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 2501 +#define FLASH_DATA_VERSION 250206 #define FRONTEND_TITLE_BAR_NAME "rusEFI" #define fuel_cyl_trim_s_size 16 #define FUEL_LEVEL_TABLE_COUNT 8 @@ -1265,7 +1265,7 @@ #define pedalSensor_NAME "Accelerator pedal" #define pedalToTpsTbl_NAME "ETB pedal target" #define PERCENT_TRIM_BYTE_PACKING_DIV 0.02 -#define persistent_config_s_size 23280 +#define persistent_config_s_size 23304 #define pid_s_size 20 #define pin_input_mode_e_auto_enum 0="PI_DEFAULT",2="PI_PULLDOWN",1="PI_PULLUP" #define pin_input_mode_e_enum "DEFAULT", "PULLUP", "PULLDOWN" @@ -1348,7 +1348,7 @@ #define show_HellenNA6_presets true #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 3324053110 +#define SIGNATURE_HASH 1101170971 #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" @@ -1410,13 +1410,14 @@ #define torqueReductionActivationMode_e_TORQUE_REDUCTION_BUTTON 0 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_DOWN_SWITCH 2 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_UP_SWITCH 3 -#define TOTAL_CONFIG_SIZE 23280 +#define TOTAL_CONFIG_SIZE 23304 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_PPS_TOO_HIGH_THRESHOLD 110 #define TPS_PPS_TOO_LOW_THRESHOLD -10 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 #define TRACTION_CONTROL_ETB_DROP_SIZE 6 +#define TRAILING_SPARK_SIZE 4 #define transmission_controller_e_enum "None", "Simple Transmission", "Generic 4-Speed", "GM 4L6X" #define TransmissionControllerMode_auto_enum 0="None",2="Generic4",3="Gm4l6x",1="SimpleTransmissionController" #define TransmissionControllerMode_Generic4 2 @@ -1821,14 +1822,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.2025.02.07.hellenNA6.3324053110" +#define TS_SIGNATURE "rusEFI master.2025.02.07.hellenNA6.1101170971" #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 1808 +#define TS_TOTAL_OUTPUT_SIZE 1812 #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 e9468f9935..4bcd6b4fbf 100644 --- a/firmware/controllers/generated/rusefi_generated_hellenNA8_96.h +++ b/firmware/controllers/generated/rusefi_generated_hellenNA8_96.h @@ -495,7 +495,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 2501 +#define FLASH_DATA_VERSION 250206 #define FRONTEND_TITLE_BAR_NAME "rusEFI" #define fuel_cyl_trim_s_size 16 #define FUEL_LEVEL_TABLE_COUNT 8 @@ -1265,7 +1265,7 @@ #define pedalSensor_NAME "Accelerator pedal" #define pedalToTpsTbl_NAME "ETB pedal target" #define PERCENT_TRIM_BYTE_PACKING_DIV 0.02 -#define persistent_config_s_size 23280 +#define persistent_config_s_size 23304 #define pid_s_size 20 #define pin_input_mode_e_auto_enum 0="PI_DEFAULT",2="PI_PULLDOWN",1="PI_PULLUP" #define pin_input_mode_e_enum "DEFAULT", "PULLUP", "PULLDOWN" @@ -1349,7 +1349,7 @@ #define show_HellenNB1_presets false #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 972768440 +#define SIGNATURE_HASH 3195587541 #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" @@ -1411,13 +1411,14 @@ #define torqueReductionActivationMode_e_TORQUE_REDUCTION_BUTTON 0 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_DOWN_SWITCH 2 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_UP_SWITCH 3 -#define TOTAL_CONFIG_SIZE 23280 +#define TOTAL_CONFIG_SIZE 23304 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_PPS_TOO_HIGH_THRESHOLD 110 #define TPS_PPS_TOO_LOW_THRESHOLD -10 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 #define TRACTION_CONTROL_ETB_DROP_SIZE 6 +#define TRAILING_SPARK_SIZE 4 #define transmission_controller_e_enum "None", "Simple Transmission", "Generic 4-Speed", "GM 4L6X" #define TransmissionControllerMode_auto_enum 0="None",2="Generic4",3="Gm4l6x",1="SimpleTransmissionController" #define TransmissionControllerMode_Generic4 2 @@ -1822,14 +1823,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.2025.02.07.hellenNA8_96.972768440" +#define TS_SIGNATURE "rusEFI master.2025.02.07.hellenNA8_96.3195587541" #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 1808 +#define TS_TOTAL_OUTPUT_SIZE 1812 #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 98c78699a8..c437d616b0 100644 --- a/firmware/controllers/generated/rusefi_generated_m74_9.h +++ b/firmware/controllers/generated/rusefi_generated_m74_9.h @@ -495,7 +495,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 2501 +#define FLASH_DATA_VERSION 250206 #define FRONTEND_TITLE_BAR_NAME "rusEFI" #define fuel_cyl_trim_s_size 16 #define FUEL_LEVEL_TABLE_COUNT 8 @@ -1265,7 +1265,7 @@ #define pedalSensor_NAME "Accelerator pedal" #define pedalToTpsTbl_NAME "ETB pedal target" #define PERCENT_TRIM_BYTE_PACKING_DIV 0.02 -#define persistent_config_s_size 22736 +#define persistent_config_s_size 22760 #define pid_s_size 20 #define pin_input_mode_e_auto_enum 0="PI_DEFAULT",2="PI_PULLDOWN",1="PI_PULLUP" #define pin_input_mode_e_enum "DEFAULT", "PULLUP", "PULLDOWN" @@ -1347,7 +1347,7 @@ #define SentInput_NONE 0 #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 882353673 +#define SIGNATURE_HASH 3004442980 #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" @@ -1409,13 +1409,14 @@ #define torqueReductionActivationMode_e_TORQUE_REDUCTION_BUTTON 0 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_DOWN_SWITCH 2 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_UP_SWITCH 3 -#define TOTAL_CONFIG_SIZE 22736 +#define TOTAL_CONFIG_SIZE 22760 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_PPS_TOO_HIGH_THRESHOLD 110 #define TPS_PPS_TOO_LOW_THRESHOLD -10 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 #define TRACTION_CONTROL_ETB_DROP_SIZE 6 +#define TRAILING_SPARK_SIZE 4 #define transmission_controller_e_enum "None", "Simple Transmission", "Generic 4-Speed", "GM 4L6X" #define TransmissionControllerMode_auto_enum 0="None",2="Generic4",3="Gm4l6x",1="SimpleTransmissionController" #define TransmissionControllerMode_Generic4 2 @@ -1821,14 +1822,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.2025.02.07.m74_9.882353673" +#define TS_SIGNATURE "rusEFI master.2025.02.07.m74_9.3004442980" #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 1808 +#define TS_TOTAL_OUTPUT_SIZE 1812 #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 141e9ea16e..805a0e6738 100644 --- a/firmware/controllers/generated/rusefi_generated_mre-legacy_f4.h +++ b/firmware/controllers/generated/rusefi_generated_mre-legacy_f4.h @@ -493,7 +493,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 2501 +#define FLASH_DATA_VERSION 250206 #define FRONTEND_TITLE_BAR_NAME "rusEFI" #define fuel_cyl_trim_s_size 16 #define FUEL_LEVEL_TABLE_COUNT 8 @@ -1263,7 +1263,7 @@ #define pedalSensor_NAME "Accelerator pedal" #define pedalToTpsTbl_NAME "ETB pedal target" #define PERCENT_TRIM_BYTE_PACKING_DIV 0.02 -#define persistent_config_s_size 25280 +#define persistent_config_s_size 25304 #define pid_s_size 20 #define pin_input_mode_e_auto_enum 0="PI_DEFAULT",2="PI_PULLDOWN",1="PI_PULLUP" #define pin_input_mode_e_enum "DEFAULT", "PULLUP", "PULLDOWN" @@ -1346,7 +1346,7 @@ #define SentInput_NONE 0 #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 435823701 +#define SIGNATURE_HASH 2658773816 #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" @@ -1408,13 +1408,14 @@ #define torqueReductionActivationMode_e_TORQUE_REDUCTION_BUTTON 0 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_DOWN_SWITCH 2 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_UP_SWITCH 3 -#define TOTAL_CONFIG_SIZE 25280 +#define TOTAL_CONFIG_SIZE 25304 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_PPS_TOO_HIGH_THRESHOLD 110 #define TPS_PPS_TOO_LOW_THRESHOLD -10 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 #define TRACTION_CONTROL_ETB_DROP_SIZE 6 +#define TRAILING_SPARK_SIZE 4 #define transmission_controller_e_enum "None", "Simple Transmission", "Generic 4-Speed", "GM 4L6X" #define TransmissionControllerMode_auto_enum 0="None",2="Generic4",3="Gm4l6x",1="SimpleTransmissionController" #define TransmissionControllerMode_Generic4 2 @@ -1819,14 +1820,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.2025.02.07.mre-legacy_f4.435823701" +#define TS_SIGNATURE "rusEFI master.2025.02.07.mre-legacy_f4.2658773816" #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 1808 +#define TS_TOTAL_OUTPUT_SIZE 1812 #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 23397c3804..744b335825 100644 --- a/firmware/controllers/generated/rusefi_generated_mre_f4.h +++ b/firmware/controllers/generated/rusefi_generated_mre_f4.h @@ -493,7 +493,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 2501 +#define FLASH_DATA_VERSION 250206 #define FRONTEND_TITLE_BAR_NAME "rusEFI" #define fuel_cyl_trim_s_size 16 #define FUEL_LEVEL_TABLE_COUNT 8 @@ -1263,7 +1263,7 @@ #define pedalSensor_NAME "Accelerator pedal" #define pedalToTpsTbl_NAME "ETB pedal target" #define PERCENT_TRIM_BYTE_PACKING_DIV 0.02 -#define persistent_config_s_size 25280 +#define persistent_config_s_size 25304 #define pid_s_size 20 #define pin_input_mode_e_auto_enum 0="PI_DEFAULT",2="PI_PULLDOWN",1="PI_PULLUP" #define pin_input_mode_e_enum "DEFAULT", "PULLUP", "PULLDOWN" @@ -1346,7 +1346,7 @@ #define SentInput_NONE 0 #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 435823701 +#define SIGNATURE_HASH 2658773816 #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" @@ -1408,13 +1408,14 @@ #define torqueReductionActivationMode_e_TORQUE_REDUCTION_BUTTON 0 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_DOWN_SWITCH 2 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_UP_SWITCH 3 -#define TOTAL_CONFIG_SIZE 25280 +#define TOTAL_CONFIG_SIZE 25304 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_PPS_TOO_HIGH_THRESHOLD 110 #define TPS_PPS_TOO_LOW_THRESHOLD -10 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 #define TRACTION_CONTROL_ETB_DROP_SIZE 6 +#define TRAILING_SPARK_SIZE 4 #define transmission_controller_e_enum "None", "Simple Transmission", "Generic 4-Speed", "GM 4L6X" #define TransmissionControllerMode_auto_enum 0="None",2="Generic4",3="Gm4l6x",1="SimpleTransmissionController" #define TransmissionControllerMode_Generic4 2 @@ -1819,14 +1820,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.2025.02.07.mre_f4.435823701" +#define TS_SIGNATURE "rusEFI master.2025.02.07.mre_f4.2658773816" #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 1808 +#define TS_TOTAL_OUTPUT_SIZE 1812 #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 c340ad8327..7a0a6244ce 100644 --- a/firmware/controllers/generated/rusefi_generated_mre_f7.h +++ b/firmware/controllers/generated/rusefi_generated_mre_f7.h @@ -493,7 +493,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 2501 +#define FLASH_DATA_VERSION 250206 #define FRONTEND_TITLE_BAR_NAME "rusEFI" #define fuel_cyl_trim_s_size 16 #define FUEL_LEVEL_TABLE_COUNT 8 @@ -1263,7 +1263,7 @@ #define pedalSensor_NAME "Accelerator pedal" #define pedalToTpsTbl_NAME "ETB pedal target" #define PERCENT_TRIM_BYTE_PACKING_DIV 0.02 -#define persistent_config_s_size 25280 +#define persistent_config_s_size 25304 #define pid_s_size 20 #define pin_input_mode_e_auto_enum 0="PI_DEFAULT",2="PI_PULLDOWN",1="PI_PULLUP" #define pin_input_mode_e_enum "DEFAULT", "PULLUP", "PULLDOWN" @@ -1346,7 +1346,7 @@ #define SentInput_NONE 0 #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 435823701 +#define SIGNATURE_HASH 2658773816 #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" @@ -1408,13 +1408,14 @@ #define torqueReductionActivationMode_e_TORQUE_REDUCTION_BUTTON 0 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_DOWN_SWITCH 2 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_UP_SWITCH 3 -#define TOTAL_CONFIG_SIZE 25280 +#define TOTAL_CONFIG_SIZE 25304 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_PPS_TOO_HIGH_THRESHOLD 110 #define TPS_PPS_TOO_LOW_THRESHOLD -10 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 #define TRACTION_CONTROL_ETB_DROP_SIZE 6 +#define TRAILING_SPARK_SIZE 4 #define transmission_controller_e_enum "None", "Simple Transmission", "Generic 4-Speed", "GM 4L6X" #define TransmissionControllerMode_auto_enum 0="None",2="Generic4",3="Gm4l6x",1="SimpleTransmissionController" #define TransmissionControllerMode_Generic4 2 @@ -1819,14 +1820,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.2025.02.07.mre_f7.435823701" +#define TS_SIGNATURE "rusEFI master.2025.02.07.mre_f7.2658773816" #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 1808 +#define TS_TOTAL_OUTPUT_SIZE 1812 #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 77e4a9934b..9965cab2a9 100644 --- a/firmware/controllers/generated/rusefi_generated_nucleo_f413.h +++ b/firmware/controllers/generated/rusefi_generated_nucleo_f413.h @@ -495,7 +495,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 2501 +#define FLASH_DATA_VERSION 250206 #define FRONTEND_TITLE_BAR_NAME "rusEFI" #define fuel_cyl_trim_s_size 16 #define FUEL_LEVEL_TABLE_COUNT 8 @@ -1265,7 +1265,7 @@ #define pedalSensor_NAME "Accelerator pedal" #define pedalToTpsTbl_NAME "ETB pedal target" #define PERCENT_TRIM_BYTE_PACKING_DIV 0.02 -#define persistent_config_s_size 23280 +#define persistent_config_s_size 23304 #define pid_s_size 20 #define pin_input_mode_e_auto_enum 0="PI_DEFAULT",2="PI_PULLDOWN",1="PI_PULLUP" #define pin_input_mode_e_enum "DEFAULT", "PULLUP", "PULLDOWN" @@ -1347,7 +1347,7 @@ #define SentInput_NONE 0 #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 1384441238 +#define SIGNATURE_HASH 3574033147 #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" @@ -1409,13 +1409,14 @@ #define torqueReductionActivationMode_e_TORQUE_REDUCTION_BUTTON 0 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_DOWN_SWITCH 2 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_UP_SWITCH 3 -#define TOTAL_CONFIG_SIZE 23280 +#define TOTAL_CONFIG_SIZE 23304 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_PPS_TOO_HIGH_THRESHOLD 110 #define TPS_PPS_TOO_LOW_THRESHOLD -10 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 #define TRACTION_CONTROL_ETB_DROP_SIZE 6 +#define TRAILING_SPARK_SIZE 4 #define transmission_controller_e_enum "None", "Simple Transmission", "Generic 4-Speed", "GM 4L6X" #define TransmissionControllerMode_auto_enum 0="None",2="Generic4",3="Gm4l6x",1="SimpleTransmissionController" #define TransmissionControllerMode_Generic4 2 @@ -1820,14 +1821,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.2025.02.07.nucleo_f413.1384441238" +#define TS_SIGNATURE "rusEFI master.2025.02.07.nucleo_f413.3574033147" #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 1808 +#define TS_TOTAL_OUTPUT_SIZE 1812 #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 e6443dd318..6aa66a8323 100644 --- a/firmware/controllers/generated/rusefi_generated_proteus_f4.h +++ b/firmware/controllers/generated/rusefi_generated_proteus_f4.h @@ -493,7 +493,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 2501 +#define FLASH_DATA_VERSION 250206 #define FRONTEND_TITLE_BAR_NAME "rusEFI" #define fuel_cyl_trim_s_size 16 #define FUEL_LEVEL_TABLE_COUNT 8 @@ -1263,7 +1263,7 @@ #define pedalSensor_NAME "Accelerator pedal" #define pedalToTpsTbl_NAME "ETB pedal target" #define PERCENT_TRIM_BYTE_PACKING_DIV 0.02 -#define persistent_config_s_size 28780 +#define persistent_config_s_size 28804 #define pid_s_size 20 #define pin_input_mode_e_auto_enum 0="PI_DEFAULT",2="PI_PULLDOWN",1="PI_PULLUP" #define pin_input_mode_e_enum "DEFAULT", "PULLUP", "PULLDOWN" @@ -1345,7 +1345,7 @@ #define SentInput_NONE 0 #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 1063564502 +#define SIGNATURE_HASH 3102161851 #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" @@ -1407,13 +1407,14 @@ #define torqueReductionActivationMode_e_TORQUE_REDUCTION_BUTTON 0 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_DOWN_SWITCH 2 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_UP_SWITCH 3 -#define TOTAL_CONFIG_SIZE 28780 +#define TOTAL_CONFIG_SIZE 28804 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_PPS_TOO_HIGH_THRESHOLD 110 #define TPS_PPS_TOO_LOW_THRESHOLD -10 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 #define TRACTION_CONTROL_ETB_DROP_SIZE 6 +#define TRAILING_SPARK_SIZE 4 #define transmission_controller_e_enum "None", "Simple Transmission", "Generic 4-Speed", "GM 4L6X" #define TransmissionControllerMode_auto_enum 0="None",2="Generic4",3="Gm4l6x",1="SimpleTransmissionController" #define TransmissionControllerMode_Generic4 2 @@ -1818,14 +1819,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.2025.02.07.proteus_f4.1063564502" +#define TS_SIGNATURE "rusEFI master.2025.02.07.proteus_f4.3102161851" #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 1808 +#define TS_TOTAL_OUTPUT_SIZE 1812 #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 bf803cf164..3dba195cce 100644 --- a/firmware/controllers/generated/rusefi_generated_proteus_f7.h +++ b/firmware/controllers/generated/rusefi_generated_proteus_f7.h @@ -493,7 +493,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 2501 +#define FLASH_DATA_VERSION 250206 #define FRONTEND_TITLE_BAR_NAME "rusEFI" #define fuel_cyl_trim_s_size 16 #define FUEL_LEVEL_TABLE_COUNT 8 @@ -1263,7 +1263,7 @@ #define pedalSensor_NAME "Accelerator pedal" #define pedalToTpsTbl_NAME "ETB pedal target" #define PERCENT_TRIM_BYTE_PACKING_DIV 0.02 -#define persistent_config_s_size 28780 +#define persistent_config_s_size 28804 #define pid_s_size 20 #define pin_input_mode_e_auto_enum 0="PI_DEFAULT",2="PI_PULLDOWN",1="PI_PULLUP" #define pin_input_mode_e_enum "DEFAULT", "PULLUP", "PULLDOWN" @@ -1345,7 +1345,7 @@ #define SentInput_NONE 0 #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 1063564502 +#define SIGNATURE_HASH 3102161851 #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" @@ -1407,13 +1407,14 @@ #define torqueReductionActivationMode_e_TORQUE_REDUCTION_BUTTON 0 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_DOWN_SWITCH 2 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_UP_SWITCH 3 -#define TOTAL_CONFIG_SIZE 28780 +#define TOTAL_CONFIG_SIZE 28804 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_PPS_TOO_HIGH_THRESHOLD 110 #define TPS_PPS_TOO_LOW_THRESHOLD -10 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 #define TRACTION_CONTROL_ETB_DROP_SIZE 6 +#define TRAILING_SPARK_SIZE 4 #define transmission_controller_e_enum "None", "Simple Transmission", "Generic 4-Speed", "GM 4L6X" #define TransmissionControllerMode_auto_enum 0="None",2="Generic4",3="Gm4l6x",1="SimpleTransmissionController" #define TransmissionControllerMode_Generic4 2 @@ -1818,14 +1819,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.2025.02.07.proteus_f7.1063564502" +#define TS_SIGNATURE "rusEFI master.2025.02.07.proteus_f7.3102161851" #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 1808 +#define TS_TOTAL_OUTPUT_SIZE 1812 #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 2c47b43377..6e525b1985 100644 --- a/firmware/controllers/generated/rusefi_generated_proteus_h7.h +++ b/firmware/controllers/generated/rusefi_generated_proteus_h7.h @@ -493,7 +493,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 2501 +#define FLASH_DATA_VERSION 250206 #define FRONTEND_TITLE_BAR_NAME "rusEFI" #define fuel_cyl_trim_s_size 16 #define FUEL_LEVEL_TABLE_COUNT 8 @@ -1263,7 +1263,7 @@ #define pedalSensor_NAME "Accelerator pedal" #define pedalToTpsTbl_NAME "ETB pedal target" #define PERCENT_TRIM_BYTE_PACKING_DIV 0.02 -#define persistent_config_s_size 28780 +#define persistent_config_s_size 28804 #define pid_s_size 20 #define pin_input_mode_e_auto_enum 0="PI_DEFAULT",2="PI_PULLDOWN",1="PI_PULLUP" #define pin_input_mode_e_enum "DEFAULT", "PULLUP", "PULLDOWN" @@ -1345,7 +1345,7 @@ #define SentInput_NONE 0 #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 1063564502 +#define SIGNATURE_HASH 3102161851 #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" @@ -1407,13 +1407,14 @@ #define torqueReductionActivationMode_e_TORQUE_REDUCTION_BUTTON 0 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_DOWN_SWITCH 2 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_UP_SWITCH 3 -#define TOTAL_CONFIG_SIZE 28780 +#define TOTAL_CONFIG_SIZE 28804 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_PPS_TOO_HIGH_THRESHOLD 110 #define TPS_PPS_TOO_LOW_THRESHOLD -10 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 #define TRACTION_CONTROL_ETB_DROP_SIZE 6 +#define TRAILING_SPARK_SIZE 4 #define transmission_controller_e_enum "None", "Simple Transmission", "Generic 4-Speed", "GM 4L6X" #define TransmissionControllerMode_auto_enum 0="None",2="Generic4",3="Gm4l6x",1="SimpleTransmissionController" #define TransmissionControllerMode_Generic4 2 @@ -1818,14 +1819,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.2025.02.07.proteus_h7.1063564502" +#define TS_SIGNATURE "rusEFI master.2025.02.07.proteus_h7.3102161851" #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 1808 +#define TS_TOTAL_OUTPUT_SIZE 1812 #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 8328795885..fa88482b2f 100644 --- a/firmware/controllers/generated/rusefi_generated_small-can-board.h +++ b/firmware/controllers/generated/rusefi_generated_small-can-board.h @@ -493,7 +493,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 2501 +#define FLASH_DATA_VERSION 250206 #define FRONTEND_TITLE_BAR_NAME "rusEFI" #define fuel_cyl_trim_s_size 16 #define FUEL_LEVEL_TABLE_COUNT 8 @@ -1263,7 +1263,7 @@ #define pedalSensor_NAME "Accelerator pedal" #define pedalToTpsTbl_NAME "ETB pedal target" #define PERCENT_TRIM_BYTE_PACKING_DIV 0.02 -#define persistent_config_s_size 23280 +#define persistent_config_s_size 23304 #define pid_s_size 20 #define pin_input_mode_e_auto_enum 0="PI_DEFAULT",2="PI_PULLDOWN",1="PI_PULLUP" #define pin_input_mode_e_enum "DEFAULT", "PULLUP", "PULLDOWN" @@ -1345,7 +1345,7 @@ #define SentInput_NONE 0 #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 243255483 +#define SIGNATURE_HASH 2315012054 #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" @@ -1407,13 +1407,14 @@ #define torqueReductionActivationMode_e_TORQUE_REDUCTION_BUTTON 0 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_DOWN_SWITCH 2 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_UP_SWITCH 3 -#define TOTAL_CONFIG_SIZE 23280 +#define TOTAL_CONFIG_SIZE 23304 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_PPS_TOO_HIGH_THRESHOLD 110 #define TPS_PPS_TOO_LOW_THRESHOLD -10 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 #define TRACTION_CONTROL_ETB_DROP_SIZE 6 +#define TRAILING_SPARK_SIZE 4 #define transmission_controller_e_enum "None", "Simple Transmission", "Generic 4-Speed", "GM 4L6X" #define TransmissionControllerMode_auto_enum 0="None",2="Generic4",3="Gm4l6x",1="SimpleTransmissionController" #define TransmissionControllerMode_Generic4 2 @@ -1819,14 +1820,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.2025.02.07.small-can-board.243255483" +#define TS_SIGNATURE "rusEFI master.2025.02.07.small-can-board.2315012054" #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 1808 +#define TS_TOTAL_OUTPUT_SIZE 1812 #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 d6227e74ee..216e37a7e6 100644 --- a/firmware/controllers/generated/rusefi_generated_stm32f429_nucleo.h +++ b/firmware/controllers/generated/rusefi_generated_stm32f429_nucleo.h @@ -495,7 +495,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 2501 +#define FLASH_DATA_VERSION 250206 #define FRONTEND_TITLE_BAR_NAME "rusEFI" #define fuel_cyl_trim_s_size 16 #define FUEL_LEVEL_TABLE_COUNT 8 @@ -1265,7 +1265,7 @@ #define pedalSensor_NAME "Accelerator pedal" #define pedalToTpsTbl_NAME "ETB pedal target" #define PERCENT_TRIM_BYTE_PACKING_DIV 0.02 -#define persistent_config_s_size 23280 +#define persistent_config_s_size 23304 #define pid_s_size 20 #define pin_input_mode_e_auto_enum 0="PI_DEFAULT",2="PI_PULLDOWN",1="PI_PULLUP" #define pin_input_mode_e_enum "DEFAULT", "PULLUP", "PULLDOWN" @@ -1347,7 +1347,7 @@ #define SentInput_NONE 0 #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 1384441238 +#define SIGNATURE_HASH 3574033147 #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" @@ -1409,13 +1409,14 @@ #define torqueReductionActivationMode_e_TORQUE_REDUCTION_BUTTON 0 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_DOWN_SWITCH 2 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_UP_SWITCH 3 -#define TOTAL_CONFIG_SIZE 23280 +#define TOTAL_CONFIG_SIZE 23304 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_PPS_TOO_HIGH_THRESHOLD 110 #define TPS_PPS_TOO_LOW_THRESHOLD -10 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 #define TRACTION_CONTROL_ETB_DROP_SIZE 6 +#define TRAILING_SPARK_SIZE 4 #define transmission_controller_e_enum "None", "Simple Transmission", "Generic 4-Speed", "GM 4L6X" #define TransmissionControllerMode_auto_enum 0="None",2="Generic4",3="Gm4l6x",1="SimpleTransmissionController" #define TransmissionControllerMode_Generic4 2 @@ -1820,14 +1821,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.2025.02.07.stm32f429_nucleo.1384441238" +#define TS_SIGNATURE "rusEFI master.2025.02.07.stm32f429_nucleo.3574033147" #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 1808 +#define TS_TOTAL_OUTPUT_SIZE 1812 #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 f5ba1bdeb4..b84da9b394 100644 --- a/firmware/controllers/generated/rusefi_generated_stm32f767_nucleo.h +++ b/firmware/controllers/generated/rusefi_generated_stm32f767_nucleo.h @@ -495,7 +495,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 2501 +#define FLASH_DATA_VERSION 250206 #define FRONTEND_TITLE_BAR_NAME "rusEFI" #define fuel_cyl_trim_s_size 16 #define FUEL_LEVEL_TABLE_COUNT 8 @@ -1265,7 +1265,7 @@ #define pedalSensor_NAME "Accelerator pedal" #define pedalToTpsTbl_NAME "ETB pedal target" #define PERCENT_TRIM_BYTE_PACKING_DIV 0.02 -#define persistent_config_s_size 23280 +#define persistent_config_s_size 23304 #define pid_s_size 20 #define pin_input_mode_e_auto_enum 0="PI_DEFAULT",2="PI_PULLDOWN",1="PI_PULLUP" #define pin_input_mode_e_enum "DEFAULT", "PULLUP", "PULLDOWN" @@ -1347,7 +1347,7 @@ #define SentInput_NONE 0 #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 1384441238 +#define SIGNATURE_HASH 3574033147 #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" @@ -1409,13 +1409,14 @@ #define torqueReductionActivationMode_e_TORQUE_REDUCTION_BUTTON 0 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_DOWN_SWITCH 2 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_UP_SWITCH 3 -#define TOTAL_CONFIG_SIZE 23280 +#define TOTAL_CONFIG_SIZE 23304 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_PPS_TOO_HIGH_THRESHOLD 110 #define TPS_PPS_TOO_LOW_THRESHOLD -10 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 #define TRACTION_CONTROL_ETB_DROP_SIZE 6 +#define TRAILING_SPARK_SIZE 4 #define transmission_controller_e_enum "None", "Simple Transmission", "Generic 4-Speed", "GM 4L6X" #define TransmissionControllerMode_auto_enum 0="None",2="Generic4",3="Gm4l6x",1="SimpleTransmissionController" #define TransmissionControllerMode_Generic4 2 @@ -1820,14 +1821,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.2025.02.07.stm32f767_nucleo.1384441238" +#define TS_SIGNATURE "rusEFI master.2025.02.07.stm32f767_nucleo.3574033147" #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 1808 +#define TS_TOTAL_OUTPUT_SIZE 1812 #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 67bd5de1e0..5540d799f1 100644 --- a/firmware/controllers/generated/rusefi_generated_stm32h743_nucleo.h +++ b/firmware/controllers/generated/rusefi_generated_stm32h743_nucleo.h @@ -495,7 +495,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 2501 +#define FLASH_DATA_VERSION 250206 #define FRONTEND_TITLE_BAR_NAME "rusEFI" #define fuel_cyl_trim_s_size 16 #define FUEL_LEVEL_TABLE_COUNT 8 @@ -1265,7 +1265,7 @@ #define pedalSensor_NAME "Accelerator pedal" #define pedalToTpsTbl_NAME "ETB pedal target" #define PERCENT_TRIM_BYTE_PACKING_DIV 0.02 -#define persistent_config_s_size 23280 +#define persistent_config_s_size 23304 #define pid_s_size 20 #define pin_input_mode_e_auto_enum 0="PI_DEFAULT",2="PI_PULLDOWN",1="PI_PULLUP" #define pin_input_mode_e_enum "DEFAULT", "PULLUP", "PULLDOWN" @@ -1347,7 +1347,7 @@ #define SentInput_NONE 0 #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 1384441238 +#define SIGNATURE_HASH 3574033147 #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" @@ -1409,13 +1409,14 @@ #define torqueReductionActivationMode_e_TORQUE_REDUCTION_BUTTON 0 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_DOWN_SWITCH 2 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_UP_SWITCH 3 -#define TOTAL_CONFIG_SIZE 23280 +#define TOTAL_CONFIG_SIZE 23304 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_PPS_TOO_HIGH_THRESHOLD 110 #define TPS_PPS_TOO_LOW_THRESHOLD -10 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 #define TRACTION_CONTROL_ETB_DROP_SIZE 6 +#define TRAILING_SPARK_SIZE 4 #define transmission_controller_e_enum "None", "Simple Transmission", "Generic 4-Speed", "GM 4L6X" #define TransmissionControllerMode_auto_enum 0="None",2="Generic4",3="Gm4l6x",1="SimpleTransmissionController" #define TransmissionControllerMode_Generic4 2 @@ -1820,14 +1821,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.2025.02.07.stm32h743_nucleo.1384441238" +#define TS_SIGNATURE "rusEFI master.2025.02.07.stm32h743_nucleo.3574033147" #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 1808 +#define TS_TOTAL_OUTPUT_SIZE 1812 #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 60c0ba22aa..215eada930 100644 --- a/firmware/controllers/generated/rusefi_generated_subaru_eg33_f7.h +++ b/firmware/controllers/generated/rusefi_generated_subaru_eg33_f7.h @@ -495,7 +495,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 2501 +#define FLASH_DATA_VERSION 250206 #define FRONTEND_TITLE_BAR_NAME "rusEFI" #define fuel_cyl_trim_s_size 16 #define FUEL_LEVEL_TABLE_COUNT 8 @@ -1265,7 +1265,7 @@ #define pedalSensor_NAME "Accelerator pedal" #define pedalToTpsTbl_NAME "ETB pedal target" #define PERCENT_TRIM_BYTE_PACKING_DIV 0.02 -#define persistent_config_s_size 23280 +#define persistent_config_s_size 23304 #define pid_s_size 20 #define pin_input_mode_e_auto_enum 0="PI_DEFAULT",2="PI_PULLDOWN",1="PI_PULLUP" #define pin_input_mode_e_enum "DEFAULT", "PULLUP", "PULLDOWN" @@ -1347,7 +1347,7 @@ #define SentInput_NONE 0 #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 228974024 +#define SIGNATURE_HASH 2317767333 #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" @@ -1409,13 +1409,14 @@ #define torqueReductionActivationMode_e_TORQUE_REDUCTION_BUTTON 0 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_DOWN_SWITCH 2 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_UP_SWITCH 3 -#define TOTAL_CONFIG_SIZE 23280 +#define TOTAL_CONFIG_SIZE 23304 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_PPS_TOO_HIGH_THRESHOLD 110 #define TPS_PPS_TOO_LOW_THRESHOLD -10 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 #define TRACTION_CONTROL_ETB_DROP_SIZE 6 +#define TRAILING_SPARK_SIZE 4 #define transmission_controller_e_enum "None", "Simple Transmission", "Generic 4-Speed", "GM 4L6X" #define TransmissionControllerMode_auto_enum 0="None",2="Generic4",3="Gm4l6x",1="SimpleTransmissionController" #define TransmissionControllerMode_Generic4 2 @@ -1821,14 +1822,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.2025.02.07.subaru_eg33_f7.228974024" +#define TS_SIGNATURE "rusEFI master.2025.02.07.subaru_eg33_f7.2317767333" #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 1808 +#define TS_TOTAL_OUTPUT_SIZE 1812 #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 4f730cb635..78c7d5a039 100644 --- a/firmware/controllers/generated/rusefi_generated_t-b-g.h +++ b/firmware/controllers/generated/rusefi_generated_t-b-g.h @@ -495,7 +495,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 2501 +#define FLASH_DATA_VERSION 250206 #define FRONTEND_TITLE_BAR_NAME "rusEFI" #define fuel_cyl_trim_s_size 16 #define FUEL_LEVEL_TABLE_COUNT 8 @@ -1265,7 +1265,7 @@ #define pedalSensor_NAME "Accelerator pedal" #define pedalToTpsTbl_NAME "ETB pedal target" #define PERCENT_TRIM_BYTE_PACKING_DIV 0.02 -#define persistent_config_s_size 23280 +#define persistent_config_s_size 23304 #define pid_s_size 20 #define pin_input_mode_e_auto_enum 0="PI_DEFAULT",2="PI_PULLDOWN",1="PI_PULLUP" #define pin_input_mode_e_enum "DEFAULT", "PULLUP", "PULLDOWN" @@ -1347,7 +1347,7 @@ #define SentInput_NONE 0 #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 1384441238 +#define SIGNATURE_HASH 3574033147 #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" @@ -1409,13 +1409,14 @@ #define torqueReductionActivationMode_e_TORQUE_REDUCTION_BUTTON 0 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_DOWN_SWITCH 2 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_UP_SWITCH 3 -#define TOTAL_CONFIG_SIZE 23280 +#define TOTAL_CONFIG_SIZE 23304 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_PPS_TOO_HIGH_THRESHOLD 110 #define TPS_PPS_TOO_LOW_THRESHOLD -10 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 #define TRACTION_CONTROL_ETB_DROP_SIZE 6 +#define TRAILING_SPARK_SIZE 4 #define transmission_controller_e_enum "None", "Simple Transmission", "Generic 4-Speed", "GM 4L6X" #define TransmissionControllerMode_auto_enum 0="None",2="Generic4",3="Gm4l6x",1="SimpleTransmissionController" #define TransmissionControllerMode_Generic4 2 @@ -1820,14 +1821,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.2025.02.07.t-b-g.1384441238" +#define TS_SIGNATURE "rusEFI master.2025.02.07.t-b-g.3574033147" #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 1808 +#define TS_TOTAL_OUTPUT_SIZE 1812 #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 e5b888763a..ccf233625d 100644 --- a/firmware/controllers/generated/rusefi_generated_uaefi.h +++ b/firmware/controllers/generated/rusefi_generated_uaefi.h @@ -489,7 +489,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 2501 +#define FLASH_DATA_VERSION 250206 #define FRONTEND_TITLE_BAR_NAME "rusEFI" #define fuel_cyl_trim_s_size 16 #define FUEL_LEVEL_TABLE_COUNT 8 @@ -1259,7 +1259,7 @@ #define pedalSensor_NAME "Accelerator pedal" #define pedalToTpsTbl_NAME "ETB pedal target" #define PERCENT_TRIM_BYTE_PACKING_DIV 0.02 -#define persistent_config_s_size 23320 +#define persistent_config_s_size 23344 #define pid_s_size 20 #define pin_input_mode_e_auto_enum 0="PI_DEFAULT",2="PI_PULLDOWN",1="PI_PULLUP" #define pin_input_mode_e_enum "DEFAULT", "PULLUP", "PULLDOWN" @@ -1341,7 +1341,7 @@ #define SentInput_NONE 0 #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 2255628228 +#define SIGNATURE_HASH 32614569 #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" @@ -1404,13 +1404,14 @@ #define torqueReductionActivationMode_e_TORQUE_REDUCTION_BUTTON 0 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_DOWN_SWITCH 2 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_UP_SWITCH 3 -#define TOTAL_CONFIG_SIZE 23320 +#define TOTAL_CONFIG_SIZE 23344 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_PPS_TOO_HIGH_THRESHOLD 110 #define TPS_PPS_TOO_LOW_THRESHOLD -10 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 #define TRACTION_CONTROL_ETB_DROP_SIZE 6 +#define TRAILING_SPARK_SIZE 4 #define transmission_controller_e_enum "None", "Simple Transmission", "Generic 4-Speed", "GM 4L6X" #define TransmissionControllerMode_auto_enum 0="None",2="Generic4",3="Gm4l6x",1="SimpleTransmissionController" #define TransmissionControllerMode_Generic4 2 @@ -1815,14 +1816,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.2025.02.07.uaefi.2255628228" +#define TS_SIGNATURE "rusEFI master.2025.02.07.uaefi.32614569" #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 1808 +#define TS_TOTAL_OUTPUT_SIZE 1812 #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 01a3e63adf..528821cb4d 100644 --- a/firmware/controllers/generated/rusefi_generated_uaefi121.h +++ b/firmware/controllers/generated/rusefi_generated_uaefi121.h @@ -493,7 +493,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 2501 +#define FLASH_DATA_VERSION 250206 #define FRONTEND_TITLE_BAR_NAME "rusEFI" #define fuel_cyl_trim_s_size 16 #define FUEL_LEVEL_TABLE_COUNT 8 @@ -1263,7 +1263,7 @@ #define pedalSensor_NAME "Accelerator pedal" #define pedalToTpsTbl_NAME "ETB pedal target" #define PERCENT_TRIM_BYTE_PACKING_DIV 0.02 -#define persistent_config_s_size 23280 +#define persistent_config_s_size 23304 #define pid_s_size 20 #define pin_input_mode_e_auto_enum 0="PI_DEFAULT",2="PI_PULLDOWN",1="PI_PULLUP" #define pin_input_mode_e_enum "DEFAULT", "PULLUP", "PULLDOWN" @@ -1345,7 +1345,7 @@ #define SentInput_NONE 0 #define show_tcu_gauges false #define show_vvt_output_pin true -#define SIGNATURE_HASH 2019611944 +#define SIGNATURE_HASH 4293089861 #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" @@ -1407,13 +1407,14 @@ #define torqueReductionActivationMode_e_TORQUE_REDUCTION_BUTTON 0 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_DOWN_SWITCH 2 #define torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_UP_SWITCH 3 -#define TOTAL_CONFIG_SIZE 23280 +#define TOTAL_CONFIG_SIZE 23304 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_PPS_TOO_HIGH_THRESHOLD 110 #define TPS_PPS_TOO_LOW_THRESHOLD -10 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 #define TRACTION_CONTROL_ETB_DROP_SIZE 6 +#define TRAILING_SPARK_SIZE 4 #define transmission_controller_e_enum "None", "Simple Transmission", "Generic 4-Speed", "GM 4L6X" #define TransmissionControllerMode_auto_enum 0="None",2="Generic4",3="Gm4l6x",1="SimpleTransmissionController" #define TransmissionControllerMode_Generic4 2 @@ -1818,14 +1819,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.2025.02.07.uaefi121.2019611944" +#define TS_SIGNATURE "rusEFI master.2025.02.07.uaefi121.4293089861" #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 1808 +#define TS_TOTAL_OUTPUT_SIZE 1812 #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 d0032cb2a3..a056186bba 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 2636234722 -#define TS_SIGNATURE "rusEFI master.2025.02.07.alphax-2chan.2636234722" +#define SIGNATURE_HASH 446836879 +#define TS_SIGNATURE "rusEFI master.2025.02.07.alphax-2chan.446836879" diff --git a/firmware/controllers/generated/signature_alphax-4chan.h b/firmware/controllers/generated/signature_alphax-4chan.h index a16177f1ab..a27a1f12a2 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 3568912491 -#define TS_SIGNATURE "rusEFI master.2025.02.07.alphax-4chan.3568912491" +#define SIGNATURE_HASH 1396360966 +#define TS_SIGNATURE "rusEFI master.2025.02.07.alphax-4chan.1396360966" diff --git a/firmware/controllers/generated/signature_alphax-4chan_f7.h b/firmware/controllers/generated/signature_alphax-4chan_f7.h index c52ae40b0e..0c3c7824fb 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 3568912491 -#define TS_SIGNATURE "rusEFI master.2025.02.07.alphax-4chan_f7.3568912491" +#define SIGNATURE_HASH 1396360966 +#define TS_SIGNATURE "rusEFI master.2025.02.07.alphax-4chan_f7.1396360966" diff --git a/firmware/controllers/generated/signature_alphax-4k-gdi.h b/firmware/controllers/generated/signature_alphax-4k-gdi.h index 4d805f6014..f163d8f33e 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 3122633341 -#define TS_SIGNATURE "rusEFI master.2025.02.07.alphax-4k-gdi.3122633341" +#define SIGNATURE_HASH 1033639184 +#define TS_SIGNATURE "rusEFI master.2025.02.07.alphax-4k-gdi.1033639184" diff --git a/firmware/controllers/generated/signature_alphax-8chan-revA.h b/firmware/controllers/generated/signature_alphax-8chan-revA.h index f16bbd44d6..858a711140 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 2881883078 -#define TS_SIGNATURE "rusEFI master.2025.02.07.alphax-8chan-revA.2881883078" +#define SIGNATURE_HASH 742753451 +#define TS_SIGNATURE "rusEFI master.2025.02.07.alphax-8chan-revA.742753451" diff --git a/firmware/controllers/generated/signature_alphax-8chan.h b/firmware/controllers/generated/signature_alphax-8chan.h index 4049c890eb..0bacd27de1 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 1320182774 -#define TS_SIGNATURE "rusEFI master.2025.02.07.alphax-8chan.1320182774" +#define SIGNATURE_HASH 3375623323 +#define TS_SIGNATURE "rusEFI master.2025.02.07.alphax-8chan.3375623323" diff --git a/firmware/controllers/generated/signature_alphax-8chan_f7.h b/firmware/controllers/generated/signature_alphax-8chan_f7.h index 9e75c5e305..705b4227c9 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 1320182774 -#define TS_SIGNATURE "rusEFI master.2025.02.07.alphax-8chan_f7.1320182774" +#define SIGNATURE_HASH 3375623323 +#define TS_SIGNATURE "rusEFI master.2025.02.07.alphax-8chan_f7.3375623323" diff --git a/firmware/controllers/generated/signature_alphax-gold.h b/firmware/controllers/generated/signature_alphax-gold.h index 3599fc947c..94ec54da5a 100644 --- a/firmware/controllers/generated/signature_alphax-gold.h +++ b/firmware/controllers/generated/signature_alphax-gold.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 2148321882 -#define TS_SIGNATURE "rusEFI master.2025.02.07.alphax-gold.2148321882" +#define SIGNATURE_HASH 126829879 +#define TS_SIGNATURE "rusEFI master.2025.02.07.alphax-gold.126829879" diff --git a/firmware/controllers/generated/signature_alphax-silver.h b/firmware/controllers/generated/signature_alphax-silver.h index ef5b74561d..23fed7cb62 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 2645059548 -#define TS_SIGNATURE "rusEFI master.2025.02.07.alphax-silver.2645059548" +#define SIGNATURE_HASH 439085233 +#define TS_SIGNATURE "rusEFI master.2025.02.07.alphax-silver.439085233" diff --git a/firmware/controllers/generated/signature_at_start_f435.h b/firmware/controllers/generated/signature_at_start_f435.h index 623fe8c129..d020c777bf 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 1384441238 -#define TS_SIGNATURE "rusEFI master.2025.02.07.at_start_f435.1384441238" +#define SIGNATURE_HASH 3574033147 +#define TS_SIGNATURE "rusEFI master.2025.02.07.at_start_f435.3574033147" diff --git a/firmware/controllers/generated/signature_atlas.h b/firmware/controllers/generated/signature_atlas.h index 5594771f75..7b09395452 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 377696728 -#define TS_SIGNATURE "rusEFI master.2025.02.07.atlas.377696728" +#define SIGNATURE_HASH 2432745141 +#define TS_SIGNATURE "rusEFI master.2025.02.07.atlas.2432745141" diff --git a/firmware/controllers/generated/signature_f407-discovery.h b/firmware/controllers/generated/signature_f407-discovery.h index c027923b0f..aa4f68c02a 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 2990287915 -#define TS_SIGNATURE "rusEFI master.2025.02.07.f407-discovery.2990287915" +#define SIGNATURE_HASH 901751622 +#define TS_SIGNATURE "rusEFI master.2025.02.07.f407-discovery.901751622" diff --git a/firmware/controllers/generated/signature_f429-discovery.h b/firmware/controllers/generated/signature_f429-discovery.h index 5e8dfb9c48..f5bde067fb 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 1384441238 -#define TS_SIGNATURE "rusEFI master.2025.02.07.f429-discovery.1384441238" +#define SIGNATURE_HASH 3574033147 +#define TS_SIGNATURE "rusEFI master.2025.02.07.f429-discovery.3574033147" diff --git a/firmware/controllers/generated/signature_f469-discovery.h b/firmware/controllers/generated/signature_f469-discovery.h index e48e8341c9..4b1b399e6c 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 1616110341 -#define TS_SIGNATURE "rusEFI master.2025.02.07.f469-discovery.1616110341" +#define SIGNATURE_HASH 3889196136 +#define TS_SIGNATURE "rusEFI master.2025.02.07.f469-discovery.3889196136" diff --git a/firmware/controllers/generated/signature_frankenso_na6.h b/firmware/controllers/generated/signature_frankenso_na6.h index 490d1d2e72..7c83ba663e 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 67604877 -#define TS_SIGNATURE "rusEFI master.2025.02.07.frankenso_na6.67604877" +#define SIGNATURE_HASH 2206473952 +#define TS_SIGNATURE "rusEFI master.2025.02.07.frankenso_na6.2206473952" diff --git a/firmware/controllers/generated/signature_haba208.h b/firmware/controllers/generated/signature_haba208.h index 24d01de6c6..94eface717 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 1384441238 -#define TS_SIGNATURE "rusEFI master.2025.02.07.haba208.1384441238" +#define SIGNATURE_HASH 3574033147 +#define TS_SIGNATURE "rusEFI master.2025.02.07.haba208.3574033147" diff --git a/firmware/controllers/generated/signature_hellen-honda-k.h b/firmware/controllers/generated/signature_hellen-honda-k.h index 173e3211ad..e9a10a0b82 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 113088480 -#define TS_SIGNATURE "rusEFI master.2025.02.07.hellen-honda-k.113088480" +#define SIGNATURE_HASH 2168330381 +#define TS_SIGNATURE "rusEFI master.2025.02.07.hellen-honda-k.2168330381" diff --git a/firmware/controllers/generated/signature_hellen-nb1.h b/firmware/controllers/generated/signature_hellen-nb1.h index af861b69b0..d79c654449 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 3508678793 -#define TS_SIGNATURE "rusEFI master.2025.02.07.hellen-nb1.3508678793" +#define SIGNATURE_HASH 1453440996 +#define TS_SIGNATURE "rusEFI master.2025.02.07.hellen-nb1.1453440996" diff --git a/firmware/controllers/generated/signature_hellen121nissan.h b/firmware/controllers/generated/signature_hellen121nissan.h index 1087fbf9f3..75a74c4bef 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 2183100182 -#define TS_SIGNATURE "rusEFI master.2025.02.07.hellen121nissan.2183100182" +#define SIGNATURE_HASH 94173307 +#define TS_SIGNATURE "rusEFI master.2025.02.07.hellen121nissan.94173307" diff --git a/firmware/controllers/generated/signature_hellen121vag.h b/firmware/controllers/generated/signature_hellen121vag.h index d95499c24a..41be2cf167 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 3665192273 -#define TS_SIGNATURE "rusEFI master.2025.02.07.hellen121vag.3665192273" +#define SIGNATURE_HASH 1576397372 +#define TS_SIGNATURE "rusEFI master.2025.02.07.hellen121vag.1576397372" diff --git a/firmware/controllers/generated/signature_hellen128.h b/firmware/controllers/generated/signature_hellen128.h index 9d99141873..7cdaeb4032 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 3205943137 -#define TS_SIGNATURE "rusEFI master.2025.02.07.hellen128.3205943137" +#define SIGNATURE_HASH 949305356 +#define TS_SIGNATURE "rusEFI master.2025.02.07.hellen128.949305356" diff --git a/firmware/controllers/generated/signature_hellen154hyundai.h b/firmware/controllers/generated/signature_hellen154hyundai.h index 7a7f704762..3265338e5b 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 2956534942 -#define TS_SIGNATURE "rusEFI master.2025.02.07.hellen154hyundai.2956534942" +#define SIGNATURE_HASH 934980595 +#define TS_SIGNATURE "rusEFI master.2025.02.07.hellen154hyundai.934980595" diff --git a/firmware/controllers/generated/signature_hellen154hyundai_f7.h b/firmware/controllers/generated/signature_hellen154hyundai_f7.h index cf624c093c..2f0b4c50b0 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 1130799628 -#define TS_SIGNATURE "rusEFI master.2025.02.07.hellen154hyundai_f7.1130799628" +#define SIGNATURE_HASH 3303353697 +#define TS_SIGNATURE "rusEFI master.2025.02.07.hellen154hyundai_f7.3303353697" diff --git a/firmware/controllers/generated/signature_hellen72.h b/firmware/controllers/generated/signature_hellen72.h index 48440c9a49..9cf652df88 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 2947287104 -#define TS_SIGNATURE "rusEFI master.2025.02.07.hellen72.2947287104" +#define SIGNATURE_HASH 674203437 +#define TS_SIGNATURE "rusEFI master.2025.02.07.hellen72.674203437" diff --git a/firmware/controllers/generated/signature_hellenNA6.h b/firmware/controllers/generated/signature_hellenNA6.h index 76fd72100f..b973044182 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 3324053110 -#define TS_SIGNATURE "rusEFI master.2025.02.07.hellenNA6.3324053110" +#define SIGNATURE_HASH 1101170971 +#define TS_SIGNATURE "rusEFI master.2025.02.07.hellenNA6.1101170971" diff --git a/firmware/controllers/generated/signature_hellenNA8_96.h b/firmware/controllers/generated/signature_hellenNA8_96.h index 8774713c5b..1520d8289b 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 972768440 -#define TS_SIGNATURE "rusEFI master.2025.02.07.hellenNA8_96.972768440" +#define SIGNATURE_HASH 3195587541 +#define TS_SIGNATURE "rusEFI master.2025.02.07.hellenNA8_96.3195587541" diff --git a/firmware/controllers/generated/signature_m74_9.h b/firmware/controllers/generated/signature_m74_9.h index 82c5bba010..7ca91e5391 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 882353673 -#define TS_SIGNATURE "rusEFI master.2025.02.07.m74_9.882353673" +#define SIGNATURE_HASH 3004442980 +#define TS_SIGNATURE "rusEFI master.2025.02.07.m74_9.3004442980" diff --git a/firmware/controllers/generated/signature_mre-legacy_f4.h b/firmware/controllers/generated/signature_mre-legacy_f4.h index 088076ee86..277e42d2c0 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 435823701 -#define TS_SIGNATURE "rusEFI master.2025.02.07.mre-legacy_f4.435823701" +#define SIGNATURE_HASH 2658773816 +#define TS_SIGNATURE "rusEFI master.2025.02.07.mre-legacy_f4.2658773816" diff --git a/firmware/controllers/generated/signature_mre_f4.h b/firmware/controllers/generated/signature_mre_f4.h index a121b2d4c5..ea113ef22d 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 435823701 -#define TS_SIGNATURE "rusEFI master.2025.02.07.mre_f4.435823701" +#define SIGNATURE_HASH 2658773816 +#define TS_SIGNATURE "rusEFI master.2025.02.07.mre_f4.2658773816" diff --git a/firmware/controllers/generated/signature_mre_f7.h b/firmware/controllers/generated/signature_mre_f7.h index 1982a1fe41..f703bb080b 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 435823701 -#define TS_SIGNATURE "rusEFI master.2025.02.07.mre_f7.435823701" +#define SIGNATURE_HASH 2658773816 +#define TS_SIGNATURE "rusEFI master.2025.02.07.mre_f7.2658773816" diff --git a/firmware/controllers/generated/signature_nucleo_f413.h b/firmware/controllers/generated/signature_nucleo_f413.h index 0b2b409e74..41e0ddcdfa 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 1384441238 -#define TS_SIGNATURE "rusEFI master.2025.02.07.nucleo_f413.1384441238" +#define SIGNATURE_HASH 3574033147 +#define TS_SIGNATURE "rusEFI master.2025.02.07.nucleo_f413.3574033147" diff --git a/firmware/controllers/generated/signature_proteus_f4.h b/firmware/controllers/generated/signature_proteus_f4.h index b0d1c92287..ef21e5000f 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 1063564502 -#define TS_SIGNATURE "rusEFI master.2025.02.07.proteus_f4.1063564502" +#define SIGNATURE_HASH 3102161851 +#define TS_SIGNATURE "rusEFI master.2025.02.07.proteus_f4.3102161851" diff --git a/firmware/controllers/generated/signature_proteus_f7.h b/firmware/controllers/generated/signature_proteus_f7.h index 521a213b1e..544f1dfe85 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 1063564502 -#define TS_SIGNATURE "rusEFI master.2025.02.07.proteus_f7.1063564502" +#define SIGNATURE_HASH 3102161851 +#define TS_SIGNATURE "rusEFI master.2025.02.07.proteus_f7.3102161851" diff --git a/firmware/controllers/generated/signature_proteus_h7.h b/firmware/controllers/generated/signature_proteus_h7.h index 8a9cbd068f..6ed51a080a 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 1063564502 -#define TS_SIGNATURE "rusEFI master.2025.02.07.proteus_h7.1063564502" +#define SIGNATURE_HASH 3102161851 +#define TS_SIGNATURE "rusEFI master.2025.02.07.proteus_h7.3102161851" diff --git a/firmware/controllers/generated/signature_small-can-board.h b/firmware/controllers/generated/signature_small-can-board.h index 4979330d0a..d3a7f82ba0 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 243255483 -#define TS_SIGNATURE "rusEFI master.2025.02.07.small-can-board.243255483" +#define SIGNATURE_HASH 2315012054 +#define TS_SIGNATURE "rusEFI master.2025.02.07.small-can-board.2315012054" diff --git a/firmware/controllers/generated/signature_stm32f429_nucleo.h b/firmware/controllers/generated/signature_stm32f429_nucleo.h index a569494512..7d389a3082 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 1384441238 -#define TS_SIGNATURE "rusEFI master.2025.02.07.stm32f429_nucleo.1384441238" +#define SIGNATURE_HASH 3574033147 +#define TS_SIGNATURE "rusEFI master.2025.02.07.stm32f429_nucleo.3574033147" diff --git a/firmware/controllers/generated/signature_stm32f767_nucleo.h b/firmware/controllers/generated/signature_stm32f767_nucleo.h index 04eeca5a3a..1001d12fc5 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 1384441238 -#define TS_SIGNATURE "rusEFI master.2025.02.07.stm32f767_nucleo.1384441238" +#define SIGNATURE_HASH 3574033147 +#define TS_SIGNATURE "rusEFI master.2025.02.07.stm32f767_nucleo.3574033147" diff --git a/firmware/controllers/generated/signature_stm32h743_nucleo.h b/firmware/controllers/generated/signature_stm32h743_nucleo.h index 133516f77f..2ea959d58c 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 1384441238 -#define TS_SIGNATURE "rusEFI master.2025.02.07.stm32h743_nucleo.1384441238" +#define SIGNATURE_HASH 3574033147 +#define TS_SIGNATURE "rusEFI master.2025.02.07.stm32h743_nucleo.3574033147" diff --git a/firmware/controllers/generated/signature_subaru_eg33_f7.h b/firmware/controllers/generated/signature_subaru_eg33_f7.h index ffd820ad9f..101ac67bdc 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 228974024 -#define TS_SIGNATURE "rusEFI master.2025.02.07.subaru_eg33_f7.228974024" +#define SIGNATURE_HASH 2317767333 +#define TS_SIGNATURE "rusEFI master.2025.02.07.subaru_eg33_f7.2317767333" diff --git a/firmware/controllers/generated/signature_t-b-g.h b/firmware/controllers/generated/signature_t-b-g.h index d2d11b6502..4f59e9378f 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 1384441238 -#define TS_SIGNATURE "rusEFI master.2025.02.07.t-b-g.1384441238" +#define SIGNATURE_HASH 3574033147 +#define TS_SIGNATURE "rusEFI master.2025.02.07.t-b-g.3574033147" diff --git a/firmware/controllers/generated/signature_uaefi.h b/firmware/controllers/generated/signature_uaefi.h index 3e718cd630..cd40974b8b 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 2255628228 -#define TS_SIGNATURE "rusEFI master.2025.02.07.uaefi.2255628228" +#define SIGNATURE_HASH 32614569 +#define TS_SIGNATURE "rusEFI master.2025.02.07.uaefi.32614569" diff --git a/firmware/controllers/generated/signature_uaefi121.h b/firmware/controllers/generated/signature_uaefi121.h index 48e729f33e..19006af7fb 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 2019611944 -#define TS_SIGNATURE "rusEFI master.2025.02.07.uaefi121.2019611944" +#define SIGNATURE_HASH 4293089861 +#define TS_SIGNATURE "rusEFI master.2025.02.07.uaefi121.4293089861" diff --git a/firmware/controllers/lua/generated/output_lookup_generated.cpp b/firmware/controllers/lua/generated/output_lookup_generated.cpp index 1278c3156a..f9b3ed9f3e 100644 --- a/firmware/controllers/lua/generated/output_lookup_generated.cpp +++ b/firmware/controllers/lua/generated/output_lookup_generated.cpp @@ -958,6 +958,9 @@ float getOutputValueByName(const char *name) { // luaIgnitionSkip case -1916613921: return engine->ignitionState.luaIgnitionSkip; +// trailingSparkAngle + case 274318471: + return engine->ignitionState.trailingSparkAngle; // m_knockLevel case -1571781441: return engine->module()->m_knockLevel; diff --git a/firmware/controllers/lua/generated/value_lookup_generated.cpp b/firmware/controllers/lua/generated/value_lookup_generated.cpp index d34f1fd265..b12abc786d 100644 --- a/firmware/controllers/lua/generated/value_lookup_generated.cpp +++ b/firmware/controllers/lua/generated/value_lookup_generated.cpp @@ -335,9 +335,6 @@ float getConfigValueByName(const char *name) { // idle_derivativeFilterLoss case -1269130308: return engineConfiguration->idle_derivativeFilterLoss; -// trailingSparkAngle - case 274318471: - return engineConfiguration->trailingSparkAngle; // trigger.customTotalToothCount case 1212570205: return engineConfiguration->trigger.customTotalToothCount; @@ -2555,11 +2552,6 @@ bool setConfigValueByName(const char *name, float value) { { engineConfiguration->idle_derivativeFilterLoss = value; return 1; - } - case 274318471: - { - engineConfiguration->trailingSparkAngle = (int)value; - return 1; } case 1212570205: { diff --git a/firmware/controllers/lua/generated/value_lookup_generated.md b/firmware/controllers/lua/generated/value_lookup_generated.md index 7dfc1304ac..2432b9fdd3 100644 --- a/firmware/controllers/lua/generated/value_lookup_generated.md +++ b/firmware/controllers/lua/generated/value_lookup_generated.md @@ -328,9 +328,6 @@ CANbus thread period in ms ### idle_derivativeFilterLoss 0.1 is a good default value -### trailingSparkAngle -just a temporary solution - ### trigger.customTotalToothCount diff --git a/firmware/live_data_generated/ignition_state_generated.h b/firmware/live_data_generated/ignition_state_generated.h index 151bf44e3c..16d40997cc 100644 --- a/firmware/live_data_generated/ignition_state_generated.h +++ b/firmware/live_data_generated/ignition_state_generated.h @@ -188,8 +188,20 @@ struct ignition_state_s { /** offset 40 bit 31 */ bool unusedBit_15_31 : 1 {}; + /** + * Ign: Trailing spark deg + * units: deg + * offset 44 + */ + scaled_channel trailingSparkAngle = (int16_t)0; + /** + * need 4 byte alignment + * units: units + * offset 46 + */ + uint8_t alignmentFill_at_46[2] = {}; }; -static_assert(sizeof(ignition_state_s) == 44); +static_assert(sizeof(ignition_state_s) == 48); // end // this section was generated automatically by rusEFI tool config_definition_base-all.jar based on (unknown script) controllers/algo/ignition/ignition_state.txt diff --git a/firmware/tunerstudio/generated/rusefi.ini b/firmware/tunerstudio/generated/rusefi.ini index a78b3524ff..fa4911c9a4 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.2025.02.07.f407-discovery.2990287915" + signature = "rusEFI master.2025.02.07.f407-discovery.901751622" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2025.02.07.f407-discovery.2990287915" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2025.02.07.f407-discovery.901751622" ; 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 @@ -101,7 +101,7 @@ enable2ndByteCanID = false ; CONFIG_DEFINITION_START ; this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt -pageSize = 23284 +pageSize = 23308 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",22="BMW_M52",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",21="ET_BOSCH_QUICK_START",24="ET_TEST_WITH_BOSCH_QUICK_START",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",41="FRANKENSO_MIATA_NA6_MAP",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",47="GM_LCV",55="GM_LTG",98="GM_SBC",49="GM_SBC_GEN5",8="GY6_139QMB",6="HARLEY",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",34="MAZDA_MIATA_NA6",80="MAZDA_MIATA_NA94",10="MAZDA_MIATA_NA96",83="MAZDA_MIATA_NB1",69="MAZDA_MIATA_NB2",86="MAZDA_MIATA_NB2_36",20="MAZDA_MIATA_NC",33="ME17_9_MISC",68="MERCEDES_M111",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",4="MRE_SECONDARY_CAN",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",35="POLARIS",9="POLARIS_RZR",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",27="PROTEUS_GM_LS_4",25="PROTEUS_LUA_DEMO",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",17="TCU_4R70W",100="TEST_100",101="TEST_101",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",93="TEST_ISSUE_6451",19="TEST_ROTARY",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",102="UNUSED102",67="UNUSED67",94="UNUSED94",65="UNUSED_65",97="UNUSED_97",77="VAG_5_CYL",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -245,7 +245,7 @@ vbattAdcChannel = bits, U08, 513, [0:5], $adc_channel_e_list fuelLevelSensor = bits, U08, 514, [0:5], $adc_channel_e_list tps2_1AdcChannel = bits, U08, 515, [0:5], $adc_channel_e_list idle_derivativeFilterLoss = scalar, F32, 516, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 520, "angle", 1, 0, 0, 720, 0 +unusedTrailingSparkAngle = scalar, S32, 520, "", 1, 0, 0, 100, 0 trigger_type = bits, U32, 524, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Daihatsu 3 cylinder", "Mazda SOHC 4", "60-2", "36-1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "Dodge Ram 1+16", "60-2 Wrong Polarity", "Benelli Tre", "Dodge Stratus", "36_2_2_2", "Nissan Primera", "dev 2JZ 3/34 simulator", "Rover K", "GM 24x 5 degree", "Honda CBR 600 Cam", "INVALID", "Honda CBR 600 custom", "3-1 skipped", "Dodge Neon 2003 crank", "Miata NB", "INVALID", "INVALID", "Subaru 7+6", "Jeep 18-2-2-2", "12crank/24cam", "Dodge Neon 1995 crank only", "Jeep XJ 4 cyl", "FiatIAQ_P8", "Mazda Z5", "INVALID", "Renix 44-2-2", "Renix 66-2-2-2", "Honda K 12+1", "INVALID", "36-2", "Subaru SVX", "Suzuki K6A", "Subaru 7 without 6", "INVALID", "INVALID", "GM 60-2-2-2", "Skoda Favorit", "Barra 3+1 Cam", "Kawa KX450F", "Nissan VQ35", "INVALID", "Nissan VQ30", "Nissan QR25", "INVALID", "Subaru SVX Crank 1", "Subaru SVX Cam VVT", "Ford PIP", "Suzuki G13B", "Honda K 4+1", "Nissan MR18 Crank", "32-2", "36-2-1", "36-2-1-1", "3-0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6-0", "Daihatsu 4 cylinder", "INVALID", "dev", "Nissan HR", "Arctic Cat", "HR12 in", "HONDA J30A2", "trg88", "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" trigger_customTotalToothCount = scalar, S32, 528, "number", 1, 0, 1, 300, 0 trigger_customSkippedToothCount = scalar, S32, 532, "number", 1, 0, 0, 300, 0 @@ -1796,8 +1796,11 @@ dynoCarCarMassKg = scalar, S16, 23268, "", 1, 0, 0, 32000, 0 dynoCarCargoMassKg = scalar, S16, 23270, "", 1, 0, 0, 32000, 0 dynoCarCoeffOfDrag = scalar, F32, 23272, "", 1, 0, 0, 100, 0 dynoCarFrontalAreaM2 = scalar, F32, 23276, "", 1, 0, 0, 100, 0 -communityCommsLedPin = bits, U16, 23280, [0:8], $gpio_list -; total TS size = 23284 +trailingSparkTable = array, S08, 23280, [4x4], "deg", 0.1, 0, 0, 20, 1 +trailingSparkRpmBins = array, U08, 23296, [4], "rpm", 50.0, 0, 0, 12000, 0 +trailingSparkLoadBins = array, U08, 23300, [4], "Load", 5.0, 0, 0, 1000, 0 +communityCommsLedPin = bits, U16, 23304, [0:8], $gpio_list +; total TS size = 23308 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1891,7 +1894,6 @@ communityCommsLedPin = bits, U16, 23280, [0:8], $gpio_list fuelLevelSensor = "This is the processor pin that your fuel level sensor in connected to. This is a non standard input so will need to be user defined." tps2_1AdcChannel = "Second throttle body position sensor, single channel so far" idle_derivativeFilterLoss = "0.1 is a good default value" - trailingSparkAngle = "just a temporary solution" trigger_type = "https://github.com/rusefi/rusefi/wiki/All-Supported-Triggers" airByRpmTaper = "Extra air taper amount" boostControlSafeDutyCycle = "Duty cycle to use in case of a sensor failure. This duty cycle should produce the minimum possible amount of boost. This duty is also used in case any of the minimum RPM/TPS/MAP conditions are not met." @@ -2665,7 +2667,7 @@ communityCommsLedPin = bits, U16, 23280, [0:8], $gpio_list ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1808 + ochBlockSize = 1812 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3190,417 +3192,418 @@ dwellVoltageCorrection = scalar, F32, 940, "", 1, 0 luaTimingAdd = scalar, F32, 944, "deg", 1, 0 luaTimingMult = scalar, F32, 948, "deg", 1, 0 luaIgnitionSkip = bits, U32, 952, [0:0] -; total TS size = 956 -m_knockLevel = scalar, F32, 956, "Volts", 1, 0 -m_knockCyl1 = scalar, S08, 960, "dBv", 1, 0 -m_knockCyl2 = scalar, S08, 961, "dBv", 1, 0 -m_knockCyl3 = scalar, S08, 962, "dBv", 1, 0 -m_knockCyl4 = scalar, S08, 963, "dBv", 1, 0 -m_knockCyl5 = scalar, S08, 964, "dBv", 1, 0 -m_knockCyl6 = scalar, S08, 965, "dBv", 1, 0 -m_knockCyl7 = scalar, S08, 966, "dBv", 1, 0 -m_knockCyl8 = scalar, S08, 967, "dBv", 1, 0 -m_knockCyl9 = scalar, S08, 968, "dBv", 1, 0 -m_knockCyl10 = scalar, S08, 969, "dBv", 1, 0 -m_knockCyl11 = scalar, S08, 970, "dBv", 1, 0 -m_knockCyl12 = scalar, S08, 971, "dBv", 1, 0 -m_knockRetard = scalar, F32, 972, "deg", 1,0 -m_knockThreshold = scalar, F32, 976, "", 1, 0 -m_knockCount = scalar, U32, 980, "", 1, 0 -m_maximumRetard = scalar, F32, 984, "", 1, 0 -m_knockSpectrum1 = scalar, U32, 988, "compressed data", 1, 0 -m_knockSpectrum2 = scalar, U32, 992, "compressed data", 1, 0 -m_knockSpectrum3 = scalar, U32, 996, "compressed data", 1, 0 -m_knockSpectrum4 = scalar, U32, 1000, "compressed data", 1, 0 -m_knockSpectrum5 = scalar, U32, 1004, "compressed data", 1, 0 -m_knockSpectrum6 = scalar, U32, 1008, "compressed data", 1, 0 -m_knockSpectrum7 = scalar, U32, 1012, "compressed data", 1, 0 -m_knockSpectrum8 = scalar, U32, 1016, "compressed data", 1, 0 -m_knockSpectrum9 = scalar, U32, 1020, "compressed data", 1, 0 -m_knockSpectrum10 = scalar, U32, 1024, "compressed data", 1, 0 -m_knockSpectrum11 = scalar, U32, 1028, "compressed data", 1, 0 -m_knockSpectrum12 = scalar, U32, 1032, "compressed data", 1, 0 -m_knockSpectrum13 = scalar, U32, 1036, "compressed data", 1, 0 -m_knockSpectrum14 = scalar, U32, 1040, "compressed data", 1, 0 -m_knockSpectrum15 = scalar, U32, 1044, "compressed data", 1, 0 -m_knockSpectrum16 = scalar, U32, 1048, "compressed data", 1, 0 -m_knockSpectrumChannelCyl = scalar, U16, 1052, "compressed N + N", 1, 0 -m_knockFrequencyStart = scalar, U16, 1054, "Hz", 1, 0 -m_knockFrequencyStep = scalar, F32, 1056, "Hz", 1, 0 -m_knockFuelTrimMultiplier = scalar, F32, 1060, "multiplier", 1, 0 -; total TS size = 1064 -m_isPriming = bits, U32, 1064, [0:0] +trailingSparkAngle = scalar, S16, 956, "deg", 0.01,0 +; total TS size = 960 +m_knockLevel = scalar, F32, 960, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 964, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 965, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 966, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 967, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 968, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 969, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 970, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 971, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 972, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 973, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 974, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 975, "dBv", 1, 0 +m_knockRetard = scalar, F32, 976, "deg", 1,0 +m_knockThreshold = scalar, F32, 980, "", 1, 0 +m_knockCount = scalar, U32, 984, "", 1, 0 +m_maximumRetard = scalar, F32, 988, "", 1, 0 +m_knockSpectrum1 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1040, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1044, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1048, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1052, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1056, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1058, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1060, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1064, "multiplier", 1, 0 ; total TS size = 1068 -tcuCurrentGear = scalar, S08, 1068, "gear", 1, 0 -tcRatio = scalar, U16, 1070, "value", 0.01, 0 -lastShiftTime = scalar, F32, 1072, "", 1, 0 -tcu_currentRange = scalar, U08, 1076, "", 1, 0 -pressureControlDuty = scalar, S08, 1077, "%", 1,0 -torqueConverterDuty = scalar, S08, 1078, "%", 1,0 -isShifting = bits, U32, 1080, [0:0] -; total TS size = 1084 -throttleUseWotModel = bits, U32, 1084, [0:0] -throttleModelCrossoverAngle = scalar, S16, 1088, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1092, "g/s", 1, 0 -; total TS size = 1096 -m_requested_pump = scalar, F32, 1096, "", 1, 0 -fuel_requested_percent = scalar, F32, 1100, "%", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1104, "", 1, 0 -noValve = bits, U32, 1108, [0:0] -angleAboveMin = bits, U32, 1108, [1:1] -isHpfpActive = bits, U32, 1108, [2:2] -HpfpValveState = bits, U32, 1108, [3:3] -m_pressureTarget_kPa = scalar, F32, 1112, "", 1, 0 -nextLobe = scalar, F32, 1116, "", 1, 0 -di_nextStart = scalar, F32, 1120, "v", 1, 0 -HpfdActivationPhase = scalar, F32, 1124, "", 1, 0 -HpfdDeactivationPhase = scalar, F32, 1128, "", 1, 0 -; total TS size = 1132 -m_deadtime = scalar, F32, 1132, "ms", 1, 0 -pressureDelta = scalar, F32, 1136, "kPa", 1, 0 -pressureRatio = scalar, F32, 1140, "", 1, 0 -; total TS size = 1144 -retardThresholdRpm = scalar, S32, 1144, "", 1, 0 -launchActivatePinState = bits, U32, 1148, [0:0] -isPreLaunchCondition = bits, U32, 1148, [1:1] -isLaunchCondition = bits, U32, 1148, [2:2] -isSwitchActivated = bits, U32, 1148, [3:3] -isClutchActivated = bits, U32, 1148, [4:4] -isBrakePedalActivated = bits, U32, 1148, [5:5] -isValidInputPin = bits, U32, 1148, [6:6] -activateSwitchCondition = bits, U32, 1148, [7:7] -rpmLaunchCondition = bits, U32, 1148, [8:8] -rpmPreLaunchCondition = bits, U32, 1148, [9:9] -speedCondition = bits, U32, 1148, [10:10] -tpsCondition = bits, U32, 1148, [11:11] -; total TS size = 1152 -isTorqueReductionTriggerPinValid = bits, U32, 1152, [0:0] -torqueReductionTriggerPinState = bits, U32, 1152, [1:1] -isTimeConditionSatisfied = bits, U32, 1152, [2:2] -isRpmConditionSatisfied = bits, U32, 1152, [3:3] -isAppConditionSatisfied = bits, U32, 1152, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1152, [5:5] +m_isPriming = bits, U32, 1068, [0:0] +; total TS size = 1072 +tcuCurrentGear = scalar, S08, 1072, "gear", 1, 0 +tcRatio = scalar, U16, 1074, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1076, "", 1, 0 +tcu_currentRange = scalar, U08, 1080, "", 1, 0 +pressureControlDuty = scalar, S08, 1081, "%", 1,0 +torqueConverterDuty = scalar, S08, 1082, "%", 1,0 +isShifting = bits, U32, 1084, [0:0] +; total TS size = 1088 +throttleUseWotModel = bits, U32, 1088, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1092, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1096, "g/s", 1, 0 +; total TS size = 1100 +m_requested_pump = scalar, F32, 1100, "", 1, 0 +fuel_requested_percent = scalar, F32, 1104, "%", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1108, "", 1, 0 +noValve = bits, U32, 1112, [0:0] +angleAboveMin = bits, U32, 1112, [1:1] +isHpfpActive = bits, U32, 1112, [2:2] +HpfpValveState = bits, U32, 1112, [3:3] +m_pressureTarget_kPa = scalar, F32, 1116, "", 1, 0 +nextLobe = scalar, F32, 1120, "", 1, 0 +di_nextStart = scalar, F32, 1124, "v", 1, 0 +HpfdActivationPhase = scalar, F32, 1128, "", 1, 0 +HpfdDeactivationPhase = scalar, F32, 1132, "", 1, 0 +; total TS size = 1136 +m_deadtime = scalar, F32, 1136, "ms", 1, 0 +pressureDelta = scalar, F32, 1140, "kPa", 1, 0 +pressureRatio = scalar, F32, 1144, "", 1, 0 +; total TS size = 1148 +retardThresholdRpm = scalar, S32, 1148, "", 1, 0 +launchActivatePinState = bits, U32, 1152, [0:0] +isPreLaunchCondition = bits, U32, 1152, [1:1] +isLaunchCondition = bits, U32, 1152, [2:2] +isSwitchActivated = bits, U32, 1152, [3:3] +isClutchActivated = bits, U32, 1152, [4:4] +isBrakePedalActivated = bits, U32, 1152, [5:5] +isValidInputPin = bits, U32, 1152, [6:6] +activateSwitchCondition = bits, U32, 1152, [7:7] +rpmLaunchCondition = bits, U32, 1152, [8:8] +rpmPreLaunchCondition = bits, U32, 1152, [9:9] +speedCondition = bits, U32, 1152, [10:10] +tpsCondition = bits, U32, 1152, [11:11] ; total TS size = 1156 -isAntilagCondition = bits, U32, 1156, [0:0] -ALSMinRPMCondition = bits, U32, 1156, [1:1] -ALSMaxRPMCondition = bits, U32, 1156, [2:2] -ALSMinCLTCondition = bits, U32, 1156, [3:3] -ALSMaxCLTCondition = bits, U32, 1156, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1156, [5:5] -isALSSwitchActivated = bits, U32, 1156, [6:6] -ALSActivatePinState = bits, U32, 1156, [7:7] -ALSSwitchCondition = bits, U32, 1156, [8:8] -ALSTimerCondition = bits, U32, 1156, [9:9] -fuelALSCorrection = scalar, F32, 1160, "", 1, 0 -timingALSCorrection = scalar, S16, 1164, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1166, "deg", 0.01, 0 -; total TS size = 1168 -isTpsInvalid = bits, U32, 1168, [0:0] -m_shouldResetPid = bits, U32, 1168, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1168, [2:2] -isNotClosedLoop = bits, U32, 1168, [3:3] -isZeroRpm = bits, U32, 1168, [4:4] -hasInitBoost = bits, U32, 1168, [5:5] -rpmTooLow = bits, U32, 1168, [6:6] -tpsTooLow = bits, U32, 1168, [7:7] -mapTooLow = bits, U32, 1168, [8:8] -isPlantValid = bits, U32, 1168, [9:9] -isBoostControlled = bits, U32, 1168, [10:10] -luaTargetAdd = scalar, S16, 1172, "v", 0.5,0 -boostOutput = scalar, S16, 1174, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1176, "v", 1,0 -openLoopPart = scalar, F32, 1180, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1184, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1188, "%", 0.5,0 -boostControlTarget = scalar, S16, 1190, "kPa", 0.03333333333333333,0 -; total TS size = 1192 -acButtonState = scalar, S08, 1192, "", 1, 0 -m_acEnabled = bits, U32, 1196, [0:0] -engineTooSlow = bits, U32, 1196, [1:1] -engineTooFast = bits, U32, 1196, [2:2] -noClt = bits, U32, 1196, [3:3] -engineTooHot = bits, U32, 1196, [4:4] -tpsTooHigh = bits, U32, 1196, [5:5] -isDisabledByLua = bits, U32, 1196, [6:6] -acCompressorState = bits, U32, 1196, [7:7] -acPressureTooLow = bits, U32, 1196, [8:8] -acPressureTooHigh = bits, U32, 1196, [9:9] -; total TS size = 1200 -isNitrousArmed = bits, U32, 1200, [0:0] -isNitrousSpeedCondition = bits, U32, 1200, [1:1] -isNitrousTpsCondition = bits, U32, 1200, [2:2] -isNitrousCltCondition = bits, U32, 1200, [3:3] -isNitrousMapCondition = bits, U32, 1200, [4:4] -isNitrousAfrCondition = bits, U32, 1200, [5:5] -isNitrousRpmCondition = bits, U32, 1200, [6:6] -isNitrousCondition = bits, U32, 1200, [7:7] +isTorqueReductionTriggerPinValid = bits, U32, 1156, [0:0] +torqueReductionTriggerPinState = bits, U32, 1156, [1:1] +isTimeConditionSatisfied = bits, U32, 1156, [2:2] +isRpmConditionSatisfied = bits, U32, 1156, [3:3] +isAppConditionSatisfied = bits, U32, 1156, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1156, [5:5] +; total TS size = 1160 +isAntilagCondition = bits, U32, 1160, [0:0] +ALSMinRPMCondition = bits, U32, 1160, [1:1] +ALSMaxRPMCondition = bits, U32, 1160, [2:2] +ALSMinCLTCondition = bits, U32, 1160, [3:3] +ALSMaxCLTCondition = bits, U32, 1160, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1160, [5:5] +isALSSwitchActivated = bits, U32, 1160, [6:6] +ALSActivatePinState = bits, U32, 1160, [7:7] +ALSSwitchCondition = bits, U32, 1160, [8:8] +ALSTimerCondition = bits, U32, 1160, [9:9] +fuelALSCorrection = scalar, F32, 1164, "", 1, 0 +timingALSCorrection = scalar, S16, 1168, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1170, "deg", 0.01, 0 +; total TS size = 1172 +isTpsInvalid = bits, U32, 1172, [0:0] +m_shouldResetPid = bits, U32, 1172, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1172, [2:2] +isNotClosedLoop = bits, U32, 1172, [3:3] +isZeroRpm = bits, U32, 1172, [4:4] +hasInitBoost = bits, U32, 1172, [5:5] +rpmTooLow = bits, U32, 1172, [6:6] +tpsTooLow = bits, U32, 1172, [7:7] +mapTooLow = bits, U32, 1172, [8:8] +isPlantValid = bits, U32, 1172, [9:9] +isBoostControlled = bits, U32, 1172, [10:10] +luaTargetAdd = scalar, S16, 1176, "v", 0.5,0 +boostOutput = scalar, S16, 1178, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1180, "v", 1,0 +openLoopPart = scalar, F32, 1184, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1188, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1192, "%", 0.5,0 +boostControlTarget = scalar, S16, 1194, "kPa", 0.03333333333333333,0 +; total TS size = 1196 +acButtonState = scalar, S08, 1196, "", 1, 0 +m_acEnabled = bits, U32, 1200, [0:0] +engineTooSlow = bits, U32, 1200, [1:1] +engineTooFast = bits, U32, 1200, [2:2] +noClt = bits, U32, 1200, [3:3] +engineTooHot = bits, U32, 1200, [4:4] +tpsTooHigh = bits, U32, 1200, [5:5] +isDisabledByLua = bits, U32, 1200, [6:6] +acCompressorState = bits, U32, 1200, [7:7] +acPressureTooLow = bits, U32, 1200, [8:8] +acPressureTooHigh = bits, U32, 1200, [9:9] ; total TS size = 1204 -fan1cranking = bits, U32, 1204, [0:0] -fan1notRunning = bits, U32, 1204, [1:1] -fan1disabledWhileEngineStopped = bits, U32, 1204, [2:2] -fan1brokenClt = bits, U32, 1204, [3:3] -fan1enabledForAc = bits, U32, 1204, [4:4] -fan1hot = bits, U32, 1204, [5:5] -fan1cold = bits, U32, 1204, [6:6] -fan1disabledBySpeed = bits, U32, 1204, [7:7] -fan1m_state = bits, U32, 1204, [8:8] -fan1radiatorFanStatus = scalar, U08, 1208, "", 1, 0 -; total TS size = 1212 -fan2cranking = bits, U32, 1212, [0:0] -fan2notRunning = bits, U32, 1212, [1:1] -fan2disabledWhileEngineStopped = bits, U32, 1212, [2:2] -fan2brokenClt = bits, U32, 1212, [3:3] -fan2enabledForAc = bits, U32, 1212, [4:4] -fan2hot = bits, U32, 1212, [5:5] -fan2cold = bits, U32, 1212, [6:6] -fan2disabledBySpeed = bits, U32, 1212, [7:7] -fan2m_state = bits, U32, 1212, [8:8] -fan2radiatorFanStatus = scalar, U08, 1216, "", 1, 0 -; total TS size = 1220 -isPrime = bits, U32, 1220, [0:0] -engineTurnedRecently = bits, U32, 1220, [1:1] -isFuelPumpOn = bits, U32, 1220, [2:2] -ignitionOn = bits, U32, 1220, [3:3] +isNitrousArmed = bits, U32, 1204, [0:0] +isNitrousSpeedCondition = bits, U32, 1204, [1:1] +isNitrousTpsCondition = bits, U32, 1204, [2:2] +isNitrousCltCondition = bits, U32, 1204, [3:3] +isNitrousMapCondition = bits, U32, 1204, [4:4] +isNitrousAfrCondition = bits, U32, 1204, [5:5] +isNitrousRpmCondition = bits, U32, 1204, [6:6] +isNitrousCondition = bits, U32, 1204, [7:7] +; total TS size = 1208 +fan1cranking = bits, U32, 1208, [0:0] +fan1notRunning = bits, U32, 1208, [1:1] +fan1disabledWhileEngineStopped = bits, U32, 1208, [2:2] +fan1brokenClt = bits, U32, 1208, [3:3] +fan1enabledForAc = bits, U32, 1208, [4:4] +fan1hot = bits, U32, 1208, [5:5] +fan1cold = bits, U32, 1208, [6:6] +fan1disabledBySpeed = bits, U32, 1208, [7:7] +fan1m_state = bits, U32, 1208, [8:8] +fan1radiatorFanStatus = scalar, U08, 1212, "", 1, 0 +; total TS size = 1216 +fan2cranking = bits, U32, 1216, [0:0] +fan2notRunning = bits, U32, 1216, [1:1] +fan2disabledWhileEngineStopped = bits, U32, 1216, [2:2] +fan2brokenClt = bits, U32, 1216, [3:3] +fan2enabledForAc = bits, U32, 1216, [4:4] +fan2hot = bits, U32, 1216, [5:5] +fan2cold = bits, U32, 1216, [6:6] +fan2disabledBySpeed = bits, U32, 1216, [7:7] +fan2m_state = bits, U32, 1216, [8:8] +fan2radiatorFanStatus = scalar, U08, 1220, "", 1, 0 ; total TS size = 1224 -isBenchTest = bits, U32, 1224, [0:0] -hasIgnitionVoltage = bits, U32, 1224, [1:1] -mainRelayState = bits, U32, 1224, [2:2] -delayedShutoffRequested = bits, U32, 1224, [3:3] +isPrime = bits, U32, 1224, [0:0] +engineTurnedRecently = bits, U32, 1224, [1:1] +isFuelPumpOn = bits, U32, 1224, [2:2] +ignitionOn = bits, U32, 1224, [3:3] ; total TS size = 1228 -lua_fuelAdd = scalar, F32, 1228, "g", 1, 0 -lua_fuelMult = scalar, F32, 1232, "", 1, 0 -lua_clutchUpState = bits, U32, 1236, [0:0] -lua_brakePedalState = bits, U32, 1236, [1:1] -lua_acRequestState = bits, U32, 1236, [2:2] -lua_luaDisableEtb = bits, U32, 1236, [3:3] -lua_luaIgnCut = bits, U32, 1236, [4:4] -lua_luaFuelCut = bits, U32, 1236, [5:5] -lua_clutchDownState = bits, U32, 1236, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1236, [7:7] -lua_torqueReductionState = bits, U32, 1236, [8:8] -sd_tCharge = scalar, S16, 1240, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1244, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1248, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1252, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1256, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1260, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1264, "", 1, 0 -hellenBoardId = scalar, S16, 1268, "id", 1, 0 -clutchUpState = scalar, S08, 1270, "", 1, 0 -brakePedalState = scalar, S08, 1271, "", 1, 0 -startStopState = scalar, S08, 1272, "", 1, 0 -smartChipState = scalar, S08, 1273, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1274, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1275, "", 1, 0 -startStopPhysicalState = bits, U32, 1276, [0:0] -acrActive = bits, U32, 1276, [1:1] -acrEngineMovedRecently = bits, U32, 1276, [2:2] -heaterControlEnabled = bits, U32, 1276, [3:3] -luaDigitalState0 = bits, U32, 1276, [4:4] -luaDigitalState1 = bits, U32, 1276, [5:5] -luaDigitalState2 = bits, U32, 1276, [6:6] -luaDigitalState3 = bits, U32, 1276, [7:7] -clutchDownState = bits, U32, 1276, [8:8] -startStopStateToggleCounter = scalar, U32, 1280, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1284, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1288, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1292, "", 1, 0 -fuelInjectionCounter = scalar, U32, 1296, "", 1, 0 -globalSparkCounter = scalar, U32, 1300, "", 1, 0 -fuelingLoad = scalar, F32, 1304, "", 1, 0 -ignitionLoad = scalar, F32, 1308, "", 1, 0 -veTableYAxis = scalar, U16, 1312, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1314, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1315, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1316, "", 1, 0 -; total TS size = 1320 -tpsFrom = scalar, F32, 1320 -tpsTo = scalar, F32, 1324 -deltaTps = scalar, F32, 1328 -extraFuel = scalar, F32, 1332, "", 1, 0 -valueFromTable = scalar, F32, 1336, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1340, [0:0] -isBelowDecelThreshold = bits, U32, 1340, [1:1] -isTimeToResetAccumulator = bits, U32, 1340, [2:2] -isFractionalEnrichment = bits, U32, 1340, [3:3] -belowEpsilon = bits, U32, 1340, [4:4] -tooShort = bits, U32, 1340, [5:5] -fractionalInjFuel = scalar, F32, 1344, "", 1, 0 -accumulatedValue = scalar, F32, 1348, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1352, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1356, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1360, "", 1, 0 -cycleCnt = scalar, S32, 1364, "", 1, 0 -; total TS size = 1368 -hwEventCounters1 = scalar, U16, 1368, "", 1, 0 -hwEventCounters2 = scalar, U16, 1370, "", 1, 0 -hwEventCounters3 = scalar, U16, 1372, "", 1, 0 -hwEventCounters4 = scalar, U16, 1374, "", 1, 0 -vvtCamCounter = scalar, U16, 1376, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1380, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1384, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1388, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1389, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1392, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1396, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1400, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1404, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1408, [0:0] -triggerElapsedUs = scalar, U32, 1412, "", 1, 0 -; total TS size = 1416 -trgsynchronizationCounter = scalar, U32, 1416, "", 1, 0 -trgvvtToothDurations0 = scalar, U32, 1420, "us", 1, 0 -trgvvtCurrentPosition = scalar, F32, 1424, "", 1, 0 -trgvvtToothPosition1 = scalar, F32, 1428, "", 1, 0 -trgvvtToothPosition2 = scalar, F32, 1432, "", 1, 0 -trgvvtToothPosition3 = scalar, F32, 1436, "", 1, 0 -trgvvtToothPosition4 = scalar, F32, 1440, "", 1, 0 -trgtriggerSyncGapRatio = scalar, F32, 1444, "", 1, 0 -trgtriggerStateIndex = scalar, U08, 1448, "", 1, 0 -; total TS size = 1452 -vvt1isynchronizationCounter = scalar, U32, 1452, "", 1, 0 -vvt1ivvtToothDurations0 = scalar, U32, 1456, "us", 1, 0 -vvt1ivvtCurrentPosition = scalar, F32, 1460, "", 1, 0 -vvt1ivvtToothPosition1 = scalar, F32, 1464, "", 1, 0 -vvt1ivvtToothPosition2 = scalar, F32, 1468, "", 1, 0 -vvt1ivvtToothPosition3 = scalar, F32, 1472, "", 1, 0 -vvt1ivvtToothPosition4 = scalar, F32, 1476, "", 1, 0 -vvt1itriggerSyncGapRatio = scalar, F32, 1480, "", 1, 0 -vvt1itriggerStateIndex = scalar, U08, 1484, "", 1, 0 -; total TS size = 1488 -vvt1esynchronizationCounter = scalar, U32, 1488, "", 1, 0 -vvt1evvtToothDurations0 = scalar, U32, 1492, "us", 1, 0 -vvt1evvtCurrentPosition = scalar, F32, 1496, "", 1, 0 -vvt1evvtToothPosition1 = scalar, F32, 1500, "", 1, 0 -vvt1evvtToothPosition2 = scalar, F32, 1504, "", 1, 0 -vvt1evvtToothPosition3 = scalar, F32, 1508, "", 1, 0 -vvt1evvtToothPosition4 = scalar, F32, 1512, "", 1, 0 -vvt1etriggerSyncGapRatio = scalar, F32, 1516, "", 1, 0 -vvt1etriggerStateIndex = scalar, U08, 1520, "", 1, 0 -; total TS size = 1524 -vvt2isynchronizationCounter = scalar, U32, 1524, "", 1, 0 -vvt2ivvtToothDurations0 = scalar, U32, 1528, "us", 1, 0 -vvt2ivvtCurrentPosition = scalar, F32, 1532, "", 1, 0 -vvt2ivvtToothPosition1 = scalar, F32, 1536, "", 1, 0 -vvt2ivvtToothPosition2 = scalar, F32, 1540, "", 1, 0 -vvt2ivvtToothPosition3 = scalar, F32, 1544, "", 1, 0 -vvt2ivvtToothPosition4 = scalar, F32, 1548, "", 1, 0 -vvt2itriggerSyncGapRatio = scalar, F32, 1552, "", 1, 0 -vvt2itriggerStateIndex = scalar, U08, 1556, "", 1, 0 -; total TS size = 1560 -vvt2esynchronizationCounter = scalar, U32, 1560, "", 1, 0 -vvt2evvtToothDurations0 = scalar, U32, 1564, "us", 1, 0 -vvt2evvtCurrentPosition = scalar, F32, 1568, "", 1, 0 -vvt2evvtToothPosition1 = scalar, F32, 1572, "", 1, 0 -vvt2evvtToothPosition2 = scalar, F32, 1576, "", 1, 0 -vvt2evvtToothPosition3 = scalar, F32, 1580, "", 1, 0 -vvt2evvtToothPosition4 = scalar, F32, 1584, "", 1, 0 -vvt2etriggerSyncGapRatio = scalar, F32, 1588, "", 1, 0 -vvt2etriggerStateIndex = scalar, U08, 1592, "", 1, 0 -; total TS size = 1596 -camResyncCounter = scalar, U08, 1596, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1600, [0:0] -; total TS size = 1604 -wallFuelCorrection = scalar, F32, 1604, "", 1, 0 -wallFuel = scalar, F32, 1608, "", 1, 0 -; total TS size = 1612 -idleState = bits, S32, 1612, [0:2], "not important" -currentIdlePosition = scalar, F32, 1616 -baseIdlePosition = scalar, F32, 1620 -idleClosedLoop = scalar, F32, 1624 -iacByTpsTaper = scalar, F32, 1628 -mightResetPid = bits, U32, 1632, [0:0] -shouldResetPid = bits, U32, 1632, [1:1] -wasResetPid = bits, U32, 1632, [2:2] -mustResetPid = bits, U32, 1632, [3:3] -isCranking = bits, U32, 1632, [4:4] -isIacTableForCoasting = bits, U32, 1632, [5:5] -notIdling = bits, U32, 1632, [6:6] -needReset = bits, U32, 1632, [7:7] -isInDeadZone = bits, U32, 1632, [8:8] -isBlipping = bits, U32, 1632, [9:9] -useClosedLoop = bits, U32, 1632, [10:10] -badTps = bits, U32, 1632, [11:11] -looksLikeRunning = bits, U32, 1632, [12:12] -looksLikeCoasting = bits, U32, 1632, [13:13] -looksLikeCrankToIdle = bits, U32, 1632, [14:14] -isIdleCoasting = bits, U32, 1632, [15:15] -isIdleClosedLoop = bits, U32, 1632, [16:16] -idleTarget = scalar, S32, 1636, "", 1, 0 -targetRpmByClt = scalar, S32, 1640, "", 1, 0 -targetRpmAc = scalar, S32, 1644, "", 1, 0 -iacByRpmTaper = scalar, F32, 1648 -luaAdd = scalar, F32, 1652 -; total TS size = 1656 -etb1targetWithIdlePosition = scalar, F32, 1656, "%", 1,0 -etb1trim = scalar, F32, 1660, "", 1, 0 -etb1luaAdjustment = scalar, F32, 1664, "%", 1,0 -etb1m_wastegatePosition = scalar, F32, 1668, "%", 1,0 -etb1etbFeedForward = scalar, F32, 1672 -etb1etbIntegralError = scalar, F32, 1676, "", 1, 0 -etb1etbCurrentTarget = scalar, F32, 1680, "%", 1, 0 -etb1m_adjustedTarget = scalar, S16, 1684, "%", 0.01, 0 -etb1etbRevLimitActive = bits, U32, 1688, [0:0] -etb1jamDetected = bits, U32, 1688, [1:1] -etb1validPlantPosition = bits, U32, 1688, [2:2] -etb1etbTpsErrorCounter = scalar, U16, 1692, "count", 1,0 -etb1etbPpsErrorCounter = scalar, U16, 1694, "count", 1,0 -etb1etbErrorCode = scalar, S08, 1696, "", 1, 0 -etb1etbErrorCodeBlinker = scalar, S08, 1697, "", 1, 0 -etb1tcEtbDrop = scalar, S08, 1698, "%", 1, 0 -etb1jamTimer = scalar, U16, 1700, "sec", 0.01, 0 -etb1adjustedEtbTarget = scalar, S08, 1702, "%", 1, 0 -etb1state = scalar, U08, 1703, "", 1, 0 -; total TS size = 1704 -etb2targetWithIdlePosition = scalar, F32, 1704, "%", 1,0 -etb2trim = scalar, F32, 1708, "", 1, 0 -etb2luaAdjustment = scalar, F32, 1712, "%", 1,0 -etb2m_wastegatePosition = scalar, F32, 1716, "%", 1,0 -etb2etbFeedForward = scalar, F32, 1720 -etb2etbIntegralError = scalar, F32, 1724, "", 1, 0 -etb2etbCurrentTarget = scalar, F32, 1728, "%", 1, 0 -etb2m_adjustedTarget = scalar, S16, 1732, "%", 0.01, 0 -etb2etbRevLimitActive = bits, U32, 1736, [0:0] -etb2jamDetected = bits, U32, 1736, [1:1] -etb2validPlantPosition = bits, U32, 1736, [2:2] -etb2etbTpsErrorCounter = scalar, U16, 1740, "count", 1,0 -etb2etbPpsErrorCounter = scalar, U16, 1742, "count", 1,0 -etb2etbErrorCode = scalar, S08, 1744, "", 1, 0 -etb2etbErrorCodeBlinker = scalar, S08, 1745, "", 1, 0 -etb2tcEtbDrop = scalar, S08, 1746, "%", 1, 0 -etb2jamTimer = scalar, U16, 1748, "sec", 0.01, 0 -etb2adjustedEtbTarget = scalar, S08, 1750, "%", 1, 0 -etb2state = scalar, U08, 1751, "", 1, 0 -; total TS size = 1752 -wb1faultCode = scalar, U08, 1752, "", 1, 0 -wb1heaterDuty = scalar, U08, 1753, "%", 1, 0 -wb1pumpDuty = scalar, U08, 1754, "%", 1, 0 -wb1tempC = scalar, U16, 1756, "C", 1, 0 -wb1nernstVoltage = scalar, U16, 1758, "V", 0.001, 0 -wb1esr = scalar, U16, 1760, "ohm", 1, 0 -; total TS size = 1764 -wb2faultCode = scalar, U08, 1764, "", 1, 0 -wb2heaterDuty = scalar, U08, 1765, "%", 1, 0 -wb2pumpDuty = scalar, U08, 1766, "%", 1, 0 -wb2tempC = scalar, U16, 1768, "C", 1, 0 -wb2nernstVoltage = scalar, U16, 1770, "V", 0.001, 0 -wb2esr = scalar, U16, 1772, "ohm", 1, 0 -; total TS size = 1776 -dcOutput0 = scalar, F32, 1776, "%", 1,0 -isEnabled0_int = scalar, U08, 1780, "%", 1,0 -isEnabled0 = bits, U32, 1784, [0:0] -; total TS size = 1788 -value0 = scalar, U16, 1788, "RAW", 1,0 -value1 = scalar, U16, 1790, "RAW", 1,0 -errorRate = scalar, F32, 1792, "% (don't belive me)", 1,0 -; total TS size = 1796 -vvtTarget = scalar, U16, 1796, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1798, "%", 0.5, 0 +isBenchTest = bits, U32, 1228, [0:0] +hasIgnitionVoltage = bits, U32, 1228, [1:1] +mainRelayState = bits, U32, 1228, [2:2] +delayedShutoffRequested = bits, U32, 1228, [3:3] +; total TS size = 1232 +lua_fuelAdd = scalar, F32, 1232, "g", 1, 0 +lua_fuelMult = scalar, F32, 1236, "", 1, 0 +lua_clutchUpState = bits, U32, 1240, [0:0] +lua_brakePedalState = bits, U32, 1240, [1:1] +lua_acRequestState = bits, U32, 1240, [2:2] +lua_luaDisableEtb = bits, U32, 1240, [3:3] +lua_luaIgnCut = bits, U32, 1240, [4:4] +lua_luaFuelCut = bits, U32, 1240, [5:5] +lua_clutchDownState = bits, U32, 1240, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1240, [7:7] +lua_torqueReductionState = bits, U32, 1240, [8:8] +sd_tCharge = scalar, S16, 1244, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1248, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1252, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1256, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1260, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1264, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1268, "", 1, 0 +hellenBoardId = scalar, S16, 1272, "id", 1, 0 +clutchUpState = scalar, S08, 1274, "", 1, 0 +brakePedalState = scalar, S08, 1275, "", 1, 0 +startStopState = scalar, S08, 1276, "", 1, 0 +smartChipState = scalar, S08, 1277, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1278, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1279, "", 1, 0 +startStopPhysicalState = bits, U32, 1280, [0:0] +acrActive = bits, U32, 1280, [1:1] +acrEngineMovedRecently = bits, U32, 1280, [2:2] +heaterControlEnabled = bits, U32, 1280, [3:3] +luaDigitalState0 = bits, U32, 1280, [4:4] +luaDigitalState1 = bits, U32, 1280, [5:5] +luaDigitalState2 = bits, U32, 1280, [6:6] +luaDigitalState3 = bits, U32, 1280, [7:7] +clutchDownState = bits, U32, 1280, [8:8] +startStopStateToggleCounter = scalar, U32, 1284, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1288, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1292, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1296, "", 1, 0 +fuelInjectionCounter = scalar, U32, 1300, "", 1, 0 +globalSparkCounter = scalar, U32, 1304, "", 1, 0 +fuelingLoad = scalar, F32, 1308, "", 1, 0 +ignitionLoad = scalar, F32, 1312, "", 1, 0 +veTableYAxis = scalar, U16, 1316, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1318, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1319, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1320, "", 1, 0 +; total TS size = 1324 +tpsFrom = scalar, F32, 1324 +tpsTo = scalar, F32, 1328 +deltaTps = scalar, F32, 1332 +extraFuel = scalar, F32, 1336, "", 1, 0 +valueFromTable = scalar, F32, 1340, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1344, [0:0] +isBelowDecelThreshold = bits, U32, 1344, [1:1] +isTimeToResetAccumulator = bits, U32, 1344, [2:2] +isFractionalEnrichment = bits, U32, 1344, [3:3] +belowEpsilon = bits, U32, 1344, [4:4] +tooShort = bits, U32, 1344, [5:5] +fractionalInjFuel = scalar, F32, 1348, "", 1, 0 +accumulatedValue = scalar, F32, 1352, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1356, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1360, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1364, "", 1, 0 +cycleCnt = scalar, S32, 1368, "", 1, 0 +; total TS size = 1372 +hwEventCounters1 = scalar, U16, 1372, "", 1, 0 +hwEventCounters2 = scalar, U16, 1374, "", 1, 0 +hwEventCounters3 = scalar, U16, 1376, "", 1, 0 +hwEventCounters4 = scalar, U16, 1378, "", 1, 0 +vvtCamCounter = scalar, U16, 1380, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1384, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1388, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1392, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1393, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1396, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1400, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1404, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1408, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1412, [0:0] +triggerElapsedUs = scalar, U32, 1416, "", 1, 0 +; total TS size = 1420 +trgsynchronizationCounter = scalar, U32, 1420, "", 1, 0 +trgvvtToothDurations0 = scalar, U32, 1424, "us", 1, 0 +trgvvtCurrentPosition = scalar, F32, 1428, "", 1, 0 +trgvvtToothPosition1 = scalar, F32, 1432, "", 1, 0 +trgvvtToothPosition2 = scalar, F32, 1436, "", 1, 0 +trgvvtToothPosition3 = scalar, F32, 1440, "", 1, 0 +trgvvtToothPosition4 = scalar, F32, 1444, "", 1, 0 +trgtriggerSyncGapRatio = scalar, F32, 1448, "", 1, 0 +trgtriggerStateIndex = scalar, U08, 1452, "", 1, 0 +; total TS size = 1456 +vvt1isynchronizationCounter = scalar, U32, 1456, "", 1, 0 +vvt1ivvtToothDurations0 = scalar, U32, 1460, "us", 1, 0 +vvt1ivvtCurrentPosition = scalar, F32, 1464, "", 1, 0 +vvt1ivvtToothPosition1 = scalar, F32, 1468, "", 1, 0 +vvt1ivvtToothPosition2 = scalar, F32, 1472, "", 1, 0 +vvt1ivvtToothPosition3 = scalar, F32, 1476, "", 1, 0 +vvt1ivvtToothPosition4 = scalar, F32, 1480, "", 1, 0 +vvt1itriggerSyncGapRatio = scalar, F32, 1484, "", 1, 0 +vvt1itriggerStateIndex = scalar, U08, 1488, "", 1, 0 +; total TS size = 1492 +vvt1esynchronizationCounter = scalar, U32, 1492, "", 1, 0 +vvt1evvtToothDurations0 = scalar, U32, 1496, "us", 1, 0 +vvt1evvtCurrentPosition = scalar, F32, 1500, "", 1, 0 +vvt1evvtToothPosition1 = scalar, F32, 1504, "", 1, 0 +vvt1evvtToothPosition2 = scalar, F32, 1508, "", 1, 0 +vvt1evvtToothPosition3 = scalar, F32, 1512, "", 1, 0 +vvt1evvtToothPosition4 = scalar, F32, 1516, "", 1, 0 +vvt1etriggerSyncGapRatio = scalar, F32, 1520, "", 1, 0 +vvt1etriggerStateIndex = scalar, U08, 1524, "", 1, 0 +; total TS size = 1528 +vvt2isynchronizationCounter = scalar, U32, 1528, "", 1, 0 +vvt2ivvtToothDurations0 = scalar, U32, 1532, "us", 1, 0 +vvt2ivvtCurrentPosition = scalar, F32, 1536, "", 1, 0 +vvt2ivvtToothPosition1 = scalar, F32, 1540, "", 1, 0 +vvt2ivvtToothPosition2 = scalar, F32, 1544, "", 1, 0 +vvt2ivvtToothPosition3 = scalar, F32, 1548, "", 1, 0 +vvt2ivvtToothPosition4 = scalar, F32, 1552, "", 1, 0 +vvt2itriggerSyncGapRatio = scalar, F32, 1556, "", 1, 0 +vvt2itriggerStateIndex = scalar, U08, 1560, "", 1, 0 +; total TS size = 1564 +vvt2esynchronizationCounter = scalar, U32, 1564, "", 1, 0 +vvt2evvtToothDurations0 = scalar, U32, 1568, "us", 1, 0 +vvt2evvtCurrentPosition = scalar, F32, 1572, "", 1, 0 +vvt2evvtToothPosition1 = scalar, F32, 1576, "", 1, 0 +vvt2evvtToothPosition2 = scalar, F32, 1580, "", 1, 0 +vvt2evvtToothPosition3 = scalar, F32, 1584, "", 1, 0 +vvt2evvtToothPosition4 = scalar, F32, 1588, "", 1, 0 +vvt2etriggerSyncGapRatio = scalar, F32, 1592, "", 1, 0 +vvt2etriggerStateIndex = scalar, U08, 1596, "", 1, 0 +; total TS size = 1600 +camResyncCounter = scalar, U08, 1600, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1604, [0:0] +; total TS size = 1608 +wallFuelCorrection = scalar, F32, 1608, "", 1, 0 +wallFuel = scalar, F32, 1612, "", 1, 0 +; total TS size = 1616 +idleState = bits, S32, 1616, [0:2], "not important" +currentIdlePosition = scalar, F32, 1620 +baseIdlePosition = scalar, F32, 1624 +idleClosedLoop = scalar, F32, 1628 +iacByTpsTaper = scalar, F32, 1632 +mightResetPid = bits, U32, 1636, [0:0] +shouldResetPid = bits, U32, 1636, [1:1] +wasResetPid = bits, U32, 1636, [2:2] +mustResetPid = bits, U32, 1636, [3:3] +isCranking = bits, U32, 1636, [4:4] +isIacTableForCoasting = bits, U32, 1636, [5:5] +notIdling = bits, U32, 1636, [6:6] +needReset = bits, U32, 1636, [7:7] +isInDeadZone = bits, U32, 1636, [8:8] +isBlipping = bits, U32, 1636, [9:9] +useClosedLoop = bits, U32, 1636, [10:10] +badTps = bits, U32, 1636, [11:11] +looksLikeRunning = bits, U32, 1636, [12:12] +looksLikeCoasting = bits, U32, 1636, [13:13] +looksLikeCrankToIdle = bits, U32, 1636, [14:14] +isIdleCoasting = bits, U32, 1636, [15:15] +isIdleClosedLoop = bits, U32, 1636, [16:16] +idleTarget = scalar, S32, 1640, "", 1, 0 +targetRpmByClt = scalar, S32, 1644, "", 1, 0 +targetRpmAc = scalar, S32, 1648, "", 1, 0 +iacByRpmTaper = scalar, F32, 1652 +luaAdd = scalar, F32, 1656 +; total TS size = 1660 +etb1targetWithIdlePosition = scalar, F32, 1660, "%", 1,0 +etb1trim = scalar, F32, 1664, "", 1, 0 +etb1luaAdjustment = scalar, F32, 1668, "%", 1,0 +etb1m_wastegatePosition = scalar, F32, 1672, "%", 1,0 +etb1etbFeedForward = scalar, F32, 1676 +etb1etbIntegralError = scalar, F32, 1680, "", 1, 0 +etb1etbCurrentTarget = scalar, F32, 1684, "%", 1, 0 +etb1m_adjustedTarget = scalar, S16, 1688, "%", 0.01, 0 +etb1etbRevLimitActive = bits, U32, 1692, [0:0] +etb1jamDetected = bits, U32, 1692, [1:1] +etb1validPlantPosition = bits, U32, 1692, [2:2] +etb1etbTpsErrorCounter = scalar, U16, 1696, "count", 1,0 +etb1etbPpsErrorCounter = scalar, U16, 1698, "count", 1,0 +etb1etbErrorCode = scalar, S08, 1700, "", 1, 0 +etb1etbErrorCodeBlinker = scalar, S08, 1701, "", 1, 0 +etb1tcEtbDrop = scalar, S08, 1702, "%", 1, 0 +etb1jamTimer = scalar, U16, 1704, "sec", 0.01, 0 +etb1adjustedEtbTarget = scalar, S08, 1706, "%", 1, 0 +etb1state = scalar, U08, 1707, "", 1, 0 +; total TS size = 1708 +etb2targetWithIdlePosition = scalar, F32, 1708, "%", 1,0 +etb2trim = scalar, F32, 1712, "", 1, 0 +etb2luaAdjustment = scalar, F32, 1716, "%", 1,0 +etb2m_wastegatePosition = scalar, F32, 1720, "%", 1,0 +etb2etbFeedForward = scalar, F32, 1724 +etb2etbIntegralError = scalar, F32, 1728, "", 1, 0 +etb2etbCurrentTarget = scalar, F32, 1732, "%", 1, 0 +etb2m_adjustedTarget = scalar, S16, 1736, "%", 0.01, 0 +etb2etbRevLimitActive = bits, U32, 1740, [0:0] +etb2jamDetected = bits, U32, 1740, [1:1] +etb2validPlantPosition = bits, U32, 1740, [2:2] +etb2etbTpsErrorCounter = scalar, U16, 1744, "count", 1,0 +etb2etbPpsErrorCounter = scalar, U16, 1746, "count", 1,0 +etb2etbErrorCode = scalar, S08, 1748, "", 1, 0 +etb2etbErrorCodeBlinker = scalar, S08, 1749, "", 1, 0 +etb2tcEtbDrop = scalar, S08, 1750, "%", 1, 0 +etb2jamTimer = scalar, U16, 1752, "sec", 0.01, 0 +etb2adjustedEtbTarget = scalar, S08, 1754, "%", 1, 0 +etb2state = scalar, U08, 1755, "", 1, 0 +; total TS size = 1756 +wb1faultCode = scalar, U08, 1756, "", 1, 0 +wb1heaterDuty = scalar, U08, 1757, "%", 1, 0 +wb1pumpDuty = scalar, U08, 1758, "%", 1, 0 +wb1tempC = scalar, U16, 1760, "C", 1, 0 +wb1nernstVoltage = scalar, U16, 1762, "V", 0.001, 0 +wb1esr = scalar, U16, 1764, "ohm", 1, 0 +; total TS size = 1768 +wb2faultCode = scalar, U08, 1768, "", 1, 0 +wb2heaterDuty = scalar, U08, 1769, "%", 1, 0 +wb2pumpDuty = scalar, U08, 1770, "%", 1, 0 +wb2tempC = scalar, U16, 1772, "C", 1, 0 +wb2nernstVoltage = scalar, U16, 1774, "V", 0.001, 0 +wb2esr = scalar, U16, 1776, "ohm", 1, 0 +; total TS size = 1780 +dcOutput0 = scalar, F32, 1780, "%", 1,0 +isEnabled0_int = scalar, U08, 1784, "%", 1,0 +isEnabled0 = bits, U32, 1788, [0:0] +; total TS size = 1792 +value0 = scalar, U16, 1792, "RAW", 1,0 +value1 = scalar, U16, 1794, "RAW", 1,0 +errorRate = scalar, F32, 1796, "% (don't belive me)", 1,0 ; total TS size = 1800 -lambdaCurrentlyGood = bits, U32, 1800, [0:0] -lambdaMonitorCut = bits, U32, 1800, [1:1] -lambdaTimeSinceGood = scalar, U16, 1804, "sec", 0.01, 0 -; total TS size = 1808 +vvtTarget = scalar, U16, 1800, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1802, "%", 0.5, 0 +; total TS size = 1804 +lambdaCurrentlyGood = bits, U32, 1804, [0:0] +lambdaMonitorCut = bits, U32, 1804, [1:1] +lambdaTimeSinceGood = scalar, U16, 1808, "sec", 0.01, 0 +; total TS size = 1812 time = { timeNow } @@ -4585,6 +4588,12 @@ curve = rangeMatrix, "Range Switch Input Matrix" gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. upDownLabel = "(RICHER)", "(LEANER)" + table = trailingSparkTable, trailingSparkMap, "Trailing spark", 1 + xyLabels = "RPM", "Ignition Load" + xBins = trailingSparkRpmBins, RPMValue + yBins = trailingSparkLoadBins, ignitionLoad + zBins = trailingSparkTable + table = torqueTableTbl, torqueTableMap, "Engine Torque", 1 xBins = torqueRpmBins, RPMValue yBins = torqueLoadBins, veTableYAxis @@ -4882,6 +4891,7 @@ timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20 timingPidCorrectionGauge = timingPidCorrection,"Idle: Timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 +trailingSparkAngleGauge = trailingSparkAngle,"Ign: Trailing spark deg", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 gaugeCategory = "Boost Control" luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 @@ -5813,6 +5823,7 @@ entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" entry = luaIgnitionSkip, "Ign: Lua Spark Skip", int, "%d" +entry = trailingSparkAngle, "Ign: Trailing spark deg", float, "%.3f" entry = m_knockLevel, "Knock: Current level", float, "%.3f" entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" @@ -6766,6 +6777,7 @@ dialog = ignition_stateDialog, "ignition_state" graphLine = luaTimingAdd liveGraph = ignition_state_4_Graph, "Graph", South graphLine = luaTimingMult + graphLine = trailingSparkAngle dialog = knock_controllerDialog, "knock_controller" @@ -10108,11 +10120,11 @@ dialog = tcuControls, "Transmission Settings" dialog = rotaryDialog, "Rotary" field = "Enable Trailing Sparks", enableTrailingSparks - field = "Trailing Spark Offset", trailingSparkAngle field = "Trailing Pin 1", trailingCoilPins1 field = "Trailing Pin 2", trailingCoilPins2 field = "Trailing Pin 3", trailingCoilPins3 field = "Trailing Pin 4", trailingCoilPins4 + panel = trailingSparkTable diff --git a/firmware/tunerstudio/generated/rusefi_alphax-2chan.ini b/firmware/tunerstudio/generated/rusefi_alphax-2chan.ini index b98eb8704e..c475b6415f 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.2025.02.07.alphax-2chan.2636234722" + signature = "rusEFI master.2025.02.07.alphax-2chan.446836879" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2025.02.07.alphax-2chan.2636234722" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2025.02.07.alphax-2chan.446836879" ; 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 @@ -101,7 +101,7 @@ enable2ndByteCanID = false ; CONFIG_DEFINITION_START ; this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt -pageSize = 23284 +pageSize = 23308 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",22="BMW_M52",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",21="ET_BOSCH_QUICK_START",24="ET_TEST_WITH_BOSCH_QUICK_START",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",41="FRANKENSO_MIATA_NA6_MAP",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",47="GM_LCV",55="GM_LTG",98="GM_SBC",49="GM_SBC_GEN5",8="GY6_139QMB",6="HARLEY",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",34="MAZDA_MIATA_NA6",80="MAZDA_MIATA_NA94",10="MAZDA_MIATA_NA96",83="MAZDA_MIATA_NB1",69="MAZDA_MIATA_NB2",86="MAZDA_MIATA_NB2_36",20="MAZDA_MIATA_NC",33="ME17_9_MISC",68="MERCEDES_M111",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",4="MRE_SECONDARY_CAN",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",35="POLARIS",9="POLARIS_RZR",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",27="PROTEUS_GM_LS_4",25="PROTEUS_LUA_DEMO",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",17="TCU_4R70W",100="TEST_100",101="TEST_101",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",93="TEST_ISSUE_6451",19="TEST_ROTARY",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",102="UNUSED102",67="UNUSED67",94="UNUSED94",65="UNUSED_65",97="UNUSED_97",77="VAG_5_CYL",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -245,7 +245,7 @@ vbattAdcChannel = bits, U08, 513, [0:5], $adc_channel_e_list fuelLevelSensor = bits, U08, 514, [0:5], $adc_channel_e_list tps2_1AdcChannel = bits, U08, 515, [0:5], $adc_channel_e_list idle_derivativeFilterLoss = scalar, F32, 516, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 520, "angle", 1, 0, 0, 720, 0 +unusedTrailingSparkAngle = scalar, S32, 520, "", 1, 0, 0, 100, 0 trigger_type = bits, U32, 524, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Daihatsu 3 cylinder", "Mazda SOHC 4", "60-2", "36-1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "Dodge Ram 1+16", "60-2 Wrong Polarity", "Benelli Tre", "Dodge Stratus", "36_2_2_2", "Nissan Primera", "dev 2JZ 3/34 simulator", "Rover K", "GM 24x 5 degree", "Honda CBR 600 Cam", "INVALID", "Honda CBR 600 custom", "3-1 skipped", "Dodge Neon 2003 crank", "Miata NB", "INVALID", "INVALID", "Subaru 7+6", "Jeep 18-2-2-2", "12crank/24cam", "Dodge Neon 1995 crank only", "Jeep XJ 4 cyl", "FiatIAQ_P8", "Mazda Z5", "INVALID", "Renix 44-2-2", "Renix 66-2-2-2", "Honda K 12+1", "INVALID", "36-2", "Subaru SVX", "Suzuki K6A", "Subaru 7 without 6", "INVALID", "INVALID", "GM 60-2-2-2", "Skoda Favorit", "Barra 3+1 Cam", "Kawa KX450F", "Nissan VQ35", "INVALID", "Nissan VQ30", "Nissan QR25", "INVALID", "Subaru SVX Crank 1", "Subaru SVX Cam VVT", "Ford PIP", "Suzuki G13B", "Honda K 4+1", "Nissan MR18 Crank", "32-2", "36-2-1", "36-2-1-1", "3-0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6-0", "Daihatsu 4 cylinder", "INVALID", "dev", "Nissan HR", "Arctic Cat", "HR12 in", "HONDA J30A2", "trg88", "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" trigger_customTotalToothCount = scalar, S32, 528, "number", 1, 0, 1, 300, 0 trigger_customSkippedToothCount = scalar, S32, 532, "number", 1, 0, 0, 300, 0 @@ -1796,12 +1796,15 @@ dynoCarCarMassKg = scalar, S16, 23268, "", 1, 0, 0, 32000, 0 dynoCarCargoMassKg = scalar, S16, 23270, "", 1, 0, 0, 32000, 0 dynoCarCoeffOfDrag = scalar, F32, 23272, "", 1, 0, 0, 100, 0 dynoCarFrontalAreaM2 = scalar, F32, 23276, "", 1, 0, 0, 100, 0 -boardUseTachPullUp = bits, U32, 23280, [0:0], "5v", "12v" -boardUseTempPullUp = bits, U32, 23280, [1:1], "Piggyback Mode", "With Pull Ups" -boardUseCrankPullUp = bits, U32, 23280, [2:2], "VR", "Hall" -boardUse2stepPullDown = bits, U32, 23280, [3:3], "With Pull Up", "With Pull Down" -boardUseCamPullDown = bits, U32, 23280, [4:4], "With Pull Up", "With Pull Down" -; total TS size = 23284 +trailingSparkTable = array, S08, 23280, [4x4], "deg", 0.1, 0, 0, 20, 1 +trailingSparkRpmBins = array, U08, 23296, [4], "rpm", 50.0, 0, 0, 12000, 0 +trailingSparkLoadBins = array, U08, 23300, [4], "Load", 5.0, 0, 0, 1000, 0 +boardUseTachPullUp = bits, U32, 23304, [0:0], "5v", "12v" +boardUseTempPullUp = bits, U32, 23304, [1:1], "Piggyback Mode", "With Pull Ups" +boardUseCrankPullUp = bits, U32, 23304, [2:2], "VR", "Hall" +boardUse2stepPullDown = bits, U32, 23304, [3:3], "With Pull Up", "With Pull Down" +boardUseCamPullDown = bits, U32, 23304, [4:4], "With Pull Up", "With Pull Down" +; total TS size = 23308 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1895,7 +1898,6 @@ boardUseCamPullDown = bits, U32, 23280, [4:4], "With Pull Up", "With Pull Down" fuelLevelSensor = "This is the processor pin that your fuel level sensor in connected to. This is a non standard input so will need to be user defined." tps2_1AdcChannel = "Second throttle body position sensor, single channel so far" idle_derivativeFilterLoss = "0.1 is a good default value" - trailingSparkAngle = "just a temporary solution" trigger_type = "https://github.com/rusefi/rusefi/wiki/All-Supported-Triggers" airByRpmTaper = "Extra air taper amount" boostControlSafeDutyCycle = "Duty cycle to use in case of a sensor failure. This duty cycle should produce the minimum possible amount of boost. This duty is also used in case any of the minimum RPM/TPS/MAP conditions are not met." @@ -2669,7 +2671,7 @@ boardUseCamPullDown = bits, U32, 23280, [4:4], "With Pull Up", "With Pull Down" ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1808 + ochBlockSize = 1812 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3194,417 +3196,418 @@ dwellVoltageCorrection = scalar, F32, 940, "", 1, 0 luaTimingAdd = scalar, F32, 944, "deg", 1, 0 luaTimingMult = scalar, F32, 948, "deg", 1, 0 luaIgnitionSkip = bits, U32, 952, [0:0] -; total TS size = 956 -m_knockLevel = scalar, F32, 956, "Volts", 1, 0 -m_knockCyl1 = scalar, S08, 960, "dBv", 1, 0 -m_knockCyl2 = scalar, S08, 961, "dBv", 1, 0 -m_knockCyl3 = scalar, S08, 962, "dBv", 1, 0 -m_knockCyl4 = scalar, S08, 963, "dBv", 1, 0 -m_knockCyl5 = scalar, S08, 964, "dBv", 1, 0 -m_knockCyl6 = scalar, S08, 965, "dBv", 1, 0 -m_knockCyl7 = scalar, S08, 966, "dBv", 1, 0 -m_knockCyl8 = scalar, S08, 967, "dBv", 1, 0 -m_knockCyl9 = scalar, S08, 968, "dBv", 1, 0 -m_knockCyl10 = scalar, S08, 969, "dBv", 1, 0 -m_knockCyl11 = scalar, S08, 970, "dBv", 1, 0 -m_knockCyl12 = scalar, S08, 971, "dBv", 1, 0 -m_knockRetard = scalar, F32, 972, "deg", 1,0 -m_knockThreshold = scalar, F32, 976, "", 1, 0 -m_knockCount = scalar, U32, 980, "", 1, 0 -m_maximumRetard = scalar, F32, 984, "", 1, 0 -m_knockSpectrum1 = scalar, U32, 988, "compressed data", 1, 0 -m_knockSpectrum2 = scalar, U32, 992, "compressed data", 1, 0 -m_knockSpectrum3 = scalar, U32, 996, "compressed data", 1, 0 -m_knockSpectrum4 = scalar, U32, 1000, "compressed data", 1, 0 -m_knockSpectrum5 = scalar, U32, 1004, "compressed data", 1, 0 -m_knockSpectrum6 = scalar, U32, 1008, "compressed data", 1, 0 -m_knockSpectrum7 = scalar, U32, 1012, "compressed data", 1, 0 -m_knockSpectrum8 = scalar, U32, 1016, "compressed data", 1, 0 -m_knockSpectrum9 = scalar, U32, 1020, "compressed data", 1, 0 -m_knockSpectrum10 = scalar, U32, 1024, "compressed data", 1, 0 -m_knockSpectrum11 = scalar, U32, 1028, "compressed data", 1, 0 -m_knockSpectrum12 = scalar, U32, 1032, "compressed data", 1, 0 -m_knockSpectrum13 = scalar, U32, 1036, "compressed data", 1, 0 -m_knockSpectrum14 = scalar, U32, 1040, "compressed data", 1, 0 -m_knockSpectrum15 = scalar, U32, 1044, "compressed data", 1, 0 -m_knockSpectrum16 = scalar, U32, 1048, "compressed data", 1, 0 -m_knockSpectrumChannelCyl = scalar, U16, 1052, "compressed N + N", 1, 0 -m_knockFrequencyStart = scalar, U16, 1054, "Hz", 1, 0 -m_knockFrequencyStep = scalar, F32, 1056, "Hz", 1, 0 -m_knockFuelTrimMultiplier = scalar, F32, 1060, "multiplier", 1, 0 -; total TS size = 1064 -m_isPriming = bits, U32, 1064, [0:0] +trailingSparkAngle = scalar, S16, 956, "deg", 0.01,0 +; total TS size = 960 +m_knockLevel = scalar, F32, 960, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 964, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 965, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 966, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 967, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 968, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 969, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 970, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 971, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 972, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 973, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 974, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 975, "dBv", 1, 0 +m_knockRetard = scalar, F32, 976, "deg", 1,0 +m_knockThreshold = scalar, F32, 980, "", 1, 0 +m_knockCount = scalar, U32, 984, "", 1, 0 +m_maximumRetard = scalar, F32, 988, "", 1, 0 +m_knockSpectrum1 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1040, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1044, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1048, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1052, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1056, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1058, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1060, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1064, "multiplier", 1, 0 ; total TS size = 1068 -tcuCurrentGear = scalar, S08, 1068, "gear", 1, 0 -tcRatio = scalar, U16, 1070, "value", 0.01, 0 -lastShiftTime = scalar, F32, 1072, "", 1, 0 -tcu_currentRange = scalar, U08, 1076, "", 1, 0 -pressureControlDuty = scalar, S08, 1077, "%", 1,0 -torqueConverterDuty = scalar, S08, 1078, "%", 1,0 -isShifting = bits, U32, 1080, [0:0] -; total TS size = 1084 -throttleUseWotModel = bits, U32, 1084, [0:0] -throttleModelCrossoverAngle = scalar, S16, 1088, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1092, "g/s", 1, 0 -; total TS size = 1096 -m_requested_pump = scalar, F32, 1096, "", 1, 0 -fuel_requested_percent = scalar, F32, 1100, "%", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1104, "", 1, 0 -noValve = bits, U32, 1108, [0:0] -angleAboveMin = bits, U32, 1108, [1:1] -isHpfpActive = bits, U32, 1108, [2:2] -HpfpValveState = bits, U32, 1108, [3:3] -m_pressureTarget_kPa = scalar, F32, 1112, "", 1, 0 -nextLobe = scalar, F32, 1116, "", 1, 0 -di_nextStart = scalar, F32, 1120, "v", 1, 0 -HpfdActivationPhase = scalar, F32, 1124, "", 1, 0 -HpfdDeactivationPhase = scalar, F32, 1128, "", 1, 0 -; total TS size = 1132 -m_deadtime = scalar, F32, 1132, "ms", 1, 0 -pressureDelta = scalar, F32, 1136, "kPa", 1, 0 -pressureRatio = scalar, F32, 1140, "", 1, 0 -; total TS size = 1144 -retardThresholdRpm = scalar, S32, 1144, "", 1, 0 -launchActivatePinState = bits, U32, 1148, [0:0] -isPreLaunchCondition = bits, U32, 1148, [1:1] -isLaunchCondition = bits, U32, 1148, [2:2] -isSwitchActivated = bits, U32, 1148, [3:3] -isClutchActivated = bits, U32, 1148, [4:4] -isBrakePedalActivated = bits, U32, 1148, [5:5] -isValidInputPin = bits, U32, 1148, [6:6] -activateSwitchCondition = bits, U32, 1148, [7:7] -rpmLaunchCondition = bits, U32, 1148, [8:8] -rpmPreLaunchCondition = bits, U32, 1148, [9:9] -speedCondition = bits, U32, 1148, [10:10] -tpsCondition = bits, U32, 1148, [11:11] -; total TS size = 1152 -isTorqueReductionTriggerPinValid = bits, U32, 1152, [0:0] -torqueReductionTriggerPinState = bits, U32, 1152, [1:1] -isTimeConditionSatisfied = bits, U32, 1152, [2:2] -isRpmConditionSatisfied = bits, U32, 1152, [3:3] -isAppConditionSatisfied = bits, U32, 1152, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1152, [5:5] +m_isPriming = bits, U32, 1068, [0:0] +; total TS size = 1072 +tcuCurrentGear = scalar, S08, 1072, "gear", 1, 0 +tcRatio = scalar, U16, 1074, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1076, "", 1, 0 +tcu_currentRange = scalar, U08, 1080, "", 1, 0 +pressureControlDuty = scalar, S08, 1081, "%", 1,0 +torqueConverterDuty = scalar, S08, 1082, "%", 1,0 +isShifting = bits, U32, 1084, [0:0] +; total TS size = 1088 +throttleUseWotModel = bits, U32, 1088, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1092, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1096, "g/s", 1, 0 +; total TS size = 1100 +m_requested_pump = scalar, F32, 1100, "", 1, 0 +fuel_requested_percent = scalar, F32, 1104, "%", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1108, "", 1, 0 +noValve = bits, U32, 1112, [0:0] +angleAboveMin = bits, U32, 1112, [1:1] +isHpfpActive = bits, U32, 1112, [2:2] +HpfpValveState = bits, U32, 1112, [3:3] +m_pressureTarget_kPa = scalar, F32, 1116, "", 1, 0 +nextLobe = scalar, F32, 1120, "", 1, 0 +di_nextStart = scalar, F32, 1124, "v", 1, 0 +HpfdActivationPhase = scalar, F32, 1128, "", 1, 0 +HpfdDeactivationPhase = scalar, F32, 1132, "", 1, 0 +; total TS size = 1136 +m_deadtime = scalar, F32, 1136, "ms", 1, 0 +pressureDelta = scalar, F32, 1140, "kPa", 1, 0 +pressureRatio = scalar, F32, 1144, "", 1, 0 +; total TS size = 1148 +retardThresholdRpm = scalar, S32, 1148, "", 1, 0 +launchActivatePinState = bits, U32, 1152, [0:0] +isPreLaunchCondition = bits, U32, 1152, [1:1] +isLaunchCondition = bits, U32, 1152, [2:2] +isSwitchActivated = bits, U32, 1152, [3:3] +isClutchActivated = bits, U32, 1152, [4:4] +isBrakePedalActivated = bits, U32, 1152, [5:5] +isValidInputPin = bits, U32, 1152, [6:6] +activateSwitchCondition = bits, U32, 1152, [7:7] +rpmLaunchCondition = bits, U32, 1152, [8:8] +rpmPreLaunchCondition = bits, U32, 1152, [9:9] +speedCondition = bits, U32, 1152, [10:10] +tpsCondition = bits, U32, 1152, [11:11] ; total TS size = 1156 -isAntilagCondition = bits, U32, 1156, [0:0] -ALSMinRPMCondition = bits, U32, 1156, [1:1] -ALSMaxRPMCondition = bits, U32, 1156, [2:2] -ALSMinCLTCondition = bits, U32, 1156, [3:3] -ALSMaxCLTCondition = bits, U32, 1156, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1156, [5:5] -isALSSwitchActivated = bits, U32, 1156, [6:6] -ALSActivatePinState = bits, U32, 1156, [7:7] -ALSSwitchCondition = bits, U32, 1156, [8:8] -ALSTimerCondition = bits, U32, 1156, [9:9] -fuelALSCorrection = scalar, F32, 1160, "", 1, 0 -timingALSCorrection = scalar, S16, 1164, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1166, "deg", 0.01, 0 -; total TS size = 1168 -isTpsInvalid = bits, U32, 1168, [0:0] -m_shouldResetPid = bits, U32, 1168, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1168, [2:2] -isNotClosedLoop = bits, U32, 1168, [3:3] -isZeroRpm = bits, U32, 1168, [4:4] -hasInitBoost = bits, U32, 1168, [5:5] -rpmTooLow = bits, U32, 1168, [6:6] -tpsTooLow = bits, U32, 1168, [7:7] -mapTooLow = bits, U32, 1168, [8:8] -isPlantValid = bits, U32, 1168, [9:9] -isBoostControlled = bits, U32, 1168, [10:10] -luaTargetAdd = scalar, S16, 1172, "v", 0.5,0 -boostOutput = scalar, S16, 1174, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1176, "v", 1,0 -openLoopPart = scalar, F32, 1180, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1184, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1188, "%", 0.5,0 -boostControlTarget = scalar, S16, 1190, "kPa", 0.03333333333333333,0 -; total TS size = 1192 -acButtonState = scalar, S08, 1192, "", 1, 0 -m_acEnabled = bits, U32, 1196, [0:0] -engineTooSlow = bits, U32, 1196, [1:1] -engineTooFast = bits, U32, 1196, [2:2] -noClt = bits, U32, 1196, [3:3] -engineTooHot = bits, U32, 1196, [4:4] -tpsTooHigh = bits, U32, 1196, [5:5] -isDisabledByLua = bits, U32, 1196, [6:6] -acCompressorState = bits, U32, 1196, [7:7] -acPressureTooLow = bits, U32, 1196, [8:8] -acPressureTooHigh = bits, U32, 1196, [9:9] -; total TS size = 1200 -isNitrousArmed = bits, U32, 1200, [0:0] -isNitrousSpeedCondition = bits, U32, 1200, [1:1] -isNitrousTpsCondition = bits, U32, 1200, [2:2] -isNitrousCltCondition = bits, U32, 1200, [3:3] -isNitrousMapCondition = bits, U32, 1200, [4:4] -isNitrousAfrCondition = bits, U32, 1200, [5:5] -isNitrousRpmCondition = bits, U32, 1200, [6:6] -isNitrousCondition = bits, U32, 1200, [7:7] +isTorqueReductionTriggerPinValid = bits, U32, 1156, [0:0] +torqueReductionTriggerPinState = bits, U32, 1156, [1:1] +isTimeConditionSatisfied = bits, U32, 1156, [2:2] +isRpmConditionSatisfied = bits, U32, 1156, [3:3] +isAppConditionSatisfied = bits, U32, 1156, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1156, [5:5] +; total TS size = 1160 +isAntilagCondition = bits, U32, 1160, [0:0] +ALSMinRPMCondition = bits, U32, 1160, [1:1] +ALSMaxRPMCondition = bits, U32, 1160, [2:2] +ALSMinCLTCondition = bits, U32, 1160, [3:3] +ALSMaxCLTCondition = bits, U32, 1160, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1160, [5:5] +isALSSwitchActivated = bits, U32, 1160, [6:6] +ALSActivatePinState = bits, U32, 1160, [7:7] +ALSSwitchCondition = bits, U32, 1160, [8:8] +ALSTimerCondition = bits, U32, 1160, [9:9] +fuelALSCorrection = scalar, F32, 1164, "", 1, 0 +timingALSCorrection = scalar, S16, 1168, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1170, "deg", 0.01, 0 +; total TS size = 1172 +isTpsInvalid = bits, U32, 1172, [0:0] +m_shouldResetPid = bits, U32, 1172, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1172, [2:2] +isNotClosedLoop = bits, U32, 1172, [3:3] +isZeroRpm = bits, U32, 1172, [4:4] +hasInitBoost = bits, U32, 1172, [5:5] +rpmTooLow = bits, U32, 1172, [6:6] +tpsTooLow = bits, U32, 1172, [7:7] +mapTooLow = bits, U32, 1172, [8:8] +isPlantValid = bits, U32, 1172, [9:9] +isBoostControlled = bits, U32, 1172, [10:10] +luaTargetAdd = scalar, S16, 1176, "v", 0.5,0 +boostOutput = scalar, S16, 1178, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1180, "v", 1,0 +openLoopPart = scalar, F32, 1184, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1188, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1192, "%", 0.5,0 +boostControlTarget = scalar, S16, 1194, "kPa", 0.03333333333333333,0 +; total TS size = 1196 +acButtonState = scalar, S08, 1196, "", 1, 0 +m_acEnabled = bits, U32, 1200, [0:0] +engineTooSlow = bits, U32, 1200, [1:1] +engineTooFast = bits, U32, 1200, [2:2] +noClt = bits, U32, 1200, [3:3] +engineTooHot = bits, U32, 1200, [4:4] +tpsTooHigh = bits, U32, 1200, [5:5] +isDisabledByLua = bits, U32, 1200, [6:6] +acCompressorState = bits, U32, 1200, [7:7] +acPressureTooLow = bits, U32, 1200, [8:8] +acPressureTooHigh = bits, U32, 1200, [9:9] ; total TS size = 1204 -fan1cranking = bits, U32, 1204, [0:0] -fan1notRunning = bits, U32, 1204, [1:1] -fan1disabledWhileEngineStopped = bits, U32, 1204, [2:2] -fan1brokenClt = bits, U32, 1204, [3:3] -fan1enabledForAc = bits, U32, 1204, [4:4] -fan1hot = bits, U32, 1204, [5:5] -fan1cold = bits, U32, 1204, [6:6] -fan1disabledBySpeed = bits, U32, 1204, [7:7] -fan1m_state = bits, U32, 1204, [8:8] -fan1radiatorFanStatus = scalar, U08, 1208, "", 1, 0 -; total TS size = 1212 -fan2cranking = bits, U32, 1212, [0:0] -fan2notRunning = bits, U32, 1212, [1:1] -fan2disabledWhileEngineStopped = bits, U32, 1212, [2:2] -fan2brokenClt = bits, U32, 1212, [3:3] -fan2enabledForAc = bits, U32, 1212, [4:4] -fan2hot = bits, U32, 1212, [5:5] -fan2cold = bits, U32, 1212, [6:6] -fan2disabledBySpeed = bits, U32, 1212, [7:7] -fan2m_state = bits, U32, 1212, [8:8] -fan2radiatorFanStatus = scalar, U08, 1216, "", 1, 0 -; total TS size = 1220 -isPrime = bits, U32, 1220, [0:0] -engineTurnedRecently = bits, U32, 1220, [1:1] -isFuelPumpOn = bits, U32, 1220, [2:2] -ignitionOn = bits, U32, 1220, [3:3] +isNitrousArmed = bits, U32, 1204, [0:0] +isNitrousSpeedCondition = bits, U32, 1204, [1:1] +isNitrousTpsCondition = bits, U32, 1204, [2:2] +isNitrousCltCondition = bits, U32, 1204, [3:3] +isNitrousMapCondition = bits, U32, 1204, [4:4] +isNitrousAfrCondition = bits, U32, 1204, [5:5] +isNitrousRpmCondition = bits, U32, 1204, [6:6] +isNitrousCondition = bits, U32, 1204, [7:7] +; total TS size = 1208 +fan1cranking = bits, U32, 1208, [0:0] +fan1notRunning = bits, U32, 1208, [1:1] +fan1disabledWhileEngineStopped = bits, U32, 1208, [2:2] +fan1brokenClt = bits, U32, 1208, [3:3] +fan1enabledForAc = bits, U32, 1208, [4:4] +fan1hot = bits, U32, 1208, [5:5] +fan1cold = bits, U32, 1208, [6:6] +fan1disabledBySpeed = bits, U32, 1208, [7:7] +fan1m_state = bits, U32, 1208, [8:8] +fan1radiatorFanStatus = scalar, U08, 1212, "", 1, 0 +; total TS size = 1216 +fan2cranking = bits, U32, 1216, [0:0] +fan2notRunning = bits, U32, 1216, [1:1] +fan2disabledWhileEngineStopped = bits, U32, 1216, [2:2] +fan2brokenClt = bits, U32, 1216, [3:3] +fan2enabledForAc = bits, U32, 1216, [4:4] +fan2hot = bits, U32, 1216, [5:5] +fan2cold = bits, U32, 1216, [6:6] +fan2disabledBySpeed = bits, U32, 1216, [7:7] +fan2m_state = bits, U32, 1216, [8:8] +fan2radiatorFanStatus = scalar, U08, 1220, "", 1, 0 ; total TS size = 1224 -isBenchTest = bits, U32, 1224, [0:0] -hasIgnitionVoltage = bits, U32, 1224, [1:1] -mainRelayState = bits, U32, 1224, [2:2] -delayedShutoffRequested = bits, U32, 1224, [3:3] +isPrime = bits, U32, 1224, [0:0] +engineTurnedRecently = bits, U32, 1224, [1:1] +isFuelPumpOn = bits, U32, 1224, [2:2] +ignitionOn = bits, U32, 1224, [3:3] ; total TS size = 1228 -lua_fuelAdd = scalar, F32, 1228, "g", 1, 0 -lua_fuelMult = scalar, F32, 1232, "", 1, 0 -lua_clutchUpState = bits, U32, 1236, [0:0] -lua_brakePedalState = bits, U32, 1236, [1:1] -lua_acRequestState = bits, U32, 1236, [2:2] -lua_luaDisableEtb = bits, U32, 1236, [3:3] -lua_luaIgnCut = bits, U32, 1236, [4:4] -lua_luaFuelCut = bits, U32, 1236, [5:5] -lua_clutchDownState = bits, U32, 1236, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1236, [7:7] -lua_torqueReductionState = bits, U32, 1236, [8:8] -sd_tCharge = scalar, S16, 1240, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1244, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1248, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1252, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1256, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1260, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1264, "", 1, 0 -hellenBoardId = scalar, S16, 1268, "id", 1, 0 -clutchUpState = scalar, S08, 1270, "", 1, 0 -brakePedalState = scalar, S08, 1271, "", 1, 0 -startStopState = scalar, S08, 1272, "", 1, 0 -smartChipState = scalar, S08, 1273, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1274, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1275, "", 1, 0 -startStopPhysicalState = bits, U32, 1276, [0:0] -acrActive = bits, U32, 1276, [1:1] -acrEngineMovedRecently = bits, U32, 1276, [2:2] -heaterControlEnabled = bits, U32, 1276, [3:3] -luaDigitalState0 = bits, U32, 1276, [4:4] -luaDigitalState1 = bits, U32, 1276, [5:5] -luaDigitalState2 = bits, U32, 1276, [6:6] -luaDigitalState3 = bits, U32, 1276, [7:7] -clutchDownState = bits, U32, 1276, [8:8] -startStopStateToggleCounter = scalar, U32, 1280, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1284, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1288, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1292, "", 1, 0 -fuelInjectionCounter = scalar, U32, 1296, "", 1, 0 -globalSparkCounter = scalar, U32, 1300, "", 1, 0 -fuelingLoad = scalar, F32, 1304, "", 1, 0 -ignitionLoad = scalar, F32, 1308, "", 1, 0 -veTableYAxis = scalar, U16, 1312, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1314, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1315, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1316, "", 1, 0 -; total TS size = 1320 -tpsFrom = scalar, F32, 1320 -tpsTo = scalar, F32, 1324 -deltaTps = scalar, F32, 1328 -extraFuel = scalar, F32, 1332, "", 1, 0 -valueFromTable = scalar, F32, 1336, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1340, [0:0] -isBelowDecelThreshold = bits, U32, 1340, [1:1] -isTimeToResetAccumulator = bits, U32, 1340, [2:2] -isFractionalEnrichment = bits, U32, 1340, [3:3] -belowEpsilon = bits, U32, 1340, [4:4] -tooShort = bits, U32, 1340, [5:5] -fractionalInjFuel = scalar, F32, 1344, "", 1, 0 -accumulatedValue = scalar, F32, 1348, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1352, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1356, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1360, "", 1, 0 -cycleCnt = scalar, S32, 1364, "", 1, 0 -; total TS size = 1368 -hwEventCounters1 = scalar, U16, 1368, "", 1, 0 -hwEventCounters2 = scalar, U16, 1370, "", 1, 0 -hwEventCounters3 = scalar, U16, 1372, "", 1, 0 -hwEventCounters4 = scalar, U16, 1374, "", 1, 0 -vvtCamCounter = scalar, U16, 1376, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1380, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1384, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1388, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1389, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1392, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1396, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1400, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1404, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1408, [0:0] -triggerElapsedUs = scalar, U32, 1412, "", 1, 0 -; total TS size = 1416 -trgsynchronizationCounter = scalar, U32, 1416, "", 1, 0 -trgvvtToothDurations0 = scalar, U32, 1420, "us", 1, 0 -trgvvtCurrentPosition = scalar, F32, 1424, "", 1, 0 -trgvvtToothPosition1 = scalar, F32, 1428, "", 1, 0 -trgvvtToothPosition2 = scalar, F32, 1432, "", 1, 0 -trgvvtToothPosition3 = scalar, F32, 1436, "", 1, 0 -trgvvtToothPosition4 = scalar, F32, 1440, "", 1, 0 -trgtriggerSyncGapRatio = scalar, F32, 1444, "", 1, 0 -trgtriggerStateIndex = scalar, U08, 1448, "", 1, 0 -; total TS size = 1452 -vvt1isynchronizationCounter = scalar, U32, 1452, "", 1, 0 -vvt1ivvtToothDurations0 = scalar, U32, 1456, "us", 1, 0 -vvt1ivvtCurrentPosition = scalar, F32, 1460, "", 1, 0 -vvt1ivvtToothPosition1 = scalar, F32, 1464, "", 1, 0 -vvt1ivvtToothPosition2 = scalar, F32, 1468, "", 1, 0 -vvt1ivvtToothPosition3 = scalar, F32, 1472, "", 1, 0 -vvt1ivvtToothPosition4 = scalar, F32, 1476, "", 1, 0 -vvt1itriggerSyncGapRatio = scalar, F32, 1480, "", 1, 0 -vvt1itriggerStateIndex = scalar, U08, 1484, "", 1, 0 -; total TS size = 1488 -vvt1esynchronizationCounter = scalar, U32, 1488, "", 1, 0 -vvt1evvtToothDurations0 = scalar, U32, 1492, "us", 1, 0 -vvt1evvtCurrentPosition = scalar, F32, 1496, "", 1, 0 -vvt1evvtToothPosition1 = scalar, F32, 1500, "", 1, 0 -vvt1evvtToothPosition2 = scalar, F32, 1504, "", 1, 0 -vvt1evvtToothPosition3 = scalar, F32, 1508, "", 1, 0 -vvt1evvtToothPosition4 = scalar, F32, 1512, "", 1, 0 -vvt1etriggerSyncGapRatio = scalar, F32, 1516, "", 1, 0 -vvt1etriggerStateIndex = scalar, U08, 1520, "", 1, 0 -; total TS size = 1524 -vvt2isynchronizationCounter = scalar, U32, 1524, "", 1, 0 -vvt2ivvtToothDurations0 = scalar, U32, 1528, "us", 1, 0 -vvt2ivvtCurrentPosition = scalar, F32, 1532, "", 1, 0 -vvt2ivvtToothPosition1 = scalar, F32, 1536, "", 1, 0 -vvt2ivvtToothPosition2 = scalar, F32, 1540, "", 1, 0 -vvt2ivvtToothPosition3 = scalar, F32, 1544, "", 1, 0 -vvt2ivvtToothPosition4 = scalar, F32, 1548, "", 1, 0 -vvt2itriggerSyncGapRatio = scalar, F32, 1552, "", 1, 0 -vvt2itriggerStateIndex = scalar, U08, 1556, "", 1, 0 -; total TS size = 1560 -vvt2esynchronizationCounter = scalar, U32, 1560, "", 1, 0 -vvt2evvtToothDurations0 = scalar, U32, 1564, "us", 1, 0 -vvt2evvtCurrentPosition = scalar, F32, 1568, "", 1, 0 -vvt2evvtToothPosition1 = scalar, F32, 1572, "", 1, 0 -vvt2evvtToothPosition2 = scalar, F32, 1576, "", 1, 0 -vvt2evvtToothPosition3 = scalar, F32, 1580, "", 1, 0 -vvt2evvtToothPosition4 = scalar, F32, 1584, "", 1, 0 -vvt2etriggerSyncGapRatio = scalar, F32, 1588, "", 1, 0 -vvt2etriggerStateIndex = scalar, U08, 1592, "", 1, 0 -; total TS size = 1596 -camResyncCounter = scalar, U08, 1596, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1600, [0:0] -; total TS size = 1604 -wallFuelCorrection = scalar, F32, 1604, "", 1, 0 -wallFuel = scalar, F32, 1608, "", 1, 0 -; total TS size = 1612 -idleState = bits, S32, 1612, [0:2], "not important" -currentIdlePosition = scalar, F32, 1616 -baseIdlePosition = scalar, F32, 1620 -idleClosedLoop = scalar, F32, 1624 -iacByTpsTaper = scalar, F32, 1628 -mightResetPid = bits, U32, 1632, [0:0] -shouldResetPid = bits, U32, 1632, [1:1] -wasResetPid = bits, U32, 1632, [2:2] -mustResetPid = bits, U32, 1632, [3:3] -isCranking = bits, U32, 1632, [4:4] -isIacTableForCoasting = bits, U32, 1632, [5:5] -notIdling = bits, U32, 1632, [6:6] -needReset = bits, U32, 1632, [7:7] -isInDeadZone = bits, U32, 1632, [8:8] -isBlipping = bits, U32, 1632, [9:9] -useClosedLoop = bits, U32, 1632, [10:10] -badTps = bits, U32, 1632, [11:11] -looksLikeRunning = bits, U32, 1632, [12:12] -looksLikeCoasting = bits, U32, 1632, [13:13] -looksLikeCrankToIdle = bits, U32, 1632, [14:14] -isIdleCoasting = bits, U32, 1632, [15:15] -isIdleClosedLoop = bits, U32, 1632, [16:16] -idleTarget = scalar, S32, 1636, "", 1, 0 -targetRpmByClt = scalar, S32, 1640, "", 1, 0 -targetRpmAc = scalar, S32, 1644, "", 1, 0 -iacByRpmTaper = scalar, F32, 1648 -luaAdd = scalar, F32, 1652 -; total TS size = 1656 -etb1targetWithIdlePosition = scalar, F32, 1656, "%", 1,0 -etb1trim = scalar, F32, 1660, "", 1, 0 -etb1luaAdjustment = scalar, F32, 1664, "%", 1,0 -etb1m_wastegatePosition = scalar, F32, 1668, "%", 1,0 -etb1etbFeedForward = scalar, F32, 1672 -etb1etbIntegralError = scalar, F32, 1676, "", 1, 0 -etb1etbCurrentTarget = scalar, F32, 1680, "%", 1, 0 -etb1m_adjustedTarget = scalar, S16, 1684, "%", 0.01, 0 -etb1etbRevLimitActive = bits, U32, 1688, [0:0] -etb1jamDetected = bits, U32, 1688, [1:1] -etb1validPlantPosition = bits, U32, 1688, [2:2] -etb1etbTpsErrorCounter = scalar, U16, 1692, "count", 1,0 -etb1etbPpsErrorCounter = scalar, U16, 1694, "count", 1,0 -etb1etbErrorCode = scalar, S08, 1696, "", 1, 0 -etb1etbErrorCodeBlinker = scalar, S08, 1697, "", 1, 0 -etb1tcEtbDrop = scalar, S08, 1698, "%", 1, 0 -etb1jamTimer = scalar, U16, 1700, "sec", 0.01, 0 -etb1adjustedEtbTarget = scalar, S08, 1702, "%", 1, 0 -etb1state = scalar, U08, 1703, "", 1, 0 -; total TS size = 1704 -etb2targetWithIdlePosition = scalar, F32, 1704, "%", 1,0 -etb2trim = scalar, F32, 1708, "", 1, 0 -etb2luaAdjustment = scalar, F32, 1712, "%", 1,0 -etb2m_wastegatePosition = scalar, F32, 1716, "%", 1,0 -etb2etbFeedForward = scalar, F32, 1720 -etb2etbIntegralError = scalar, F32, 1724, "", 1, 0 -etb2etbCurrentTarget = scalar, F32, 1728, "%", 1, 0 -etb2m_adjustedTarget = scalar, S16, 1732, "%", 0.01, 0 -etb2etbRevLimitActive = bits, U32, 1736, [0:0] -etb2jamDetected = bits, U32, 1736, [1:1] -etb2validPlantPosition = bits, U32, 1736, [2:2] -etb2etbTpsErrorCounter = scalar, U16, 1740, "count", 1,0 -etb2etbPpsErrorCounter = scalar, U16, 1742, "count", 1,0 -etb2etbErrorCode = scalar, S08, 1744, "", 1, 0 -etb2etbErrorCodeBlinker = scalar, S08, 1745, "", 1, 0 -etb2tcEtbDrop = scalar, S08, 1746, "%", 1, 0 -etb2jamTimer = scalar, U16, 1748, "sec", 0.01, 0 -etb2adjustedEtbTarget = scalar, S08, 1750, "%", 1, 0 -etb2state = scalar, U08, 1751, "", 1, 0 -; total TS size = 1752 -wb1faultCode = scalar, U08, 1752, "", 1, 0 -wb1heaterDuty = scalar, U08, 1753, "%", 1, 0 -wb1pumpDuty = scalar, U08, 1754, "%", 1, 0 -wb1tempC = scalar, U16, 1756, "C", 1, 0 -wb1nernstVoltage = scalar, U16, 1758, "V", 0.001, 0 -wb1esr = scalar, U16, 1760, "ohm", 1, 0 -; total TS size = 1764 -wb2faultCode = scalar, U08, 1764, "", 1, 0 -wb2heaterDuty = scalar, U08, 1765, "%", 1, 0 -wb2pumpDuty = scalar, U08, 1766, "%", 1, 0 -wb2tempC = scalar, U16, 1768, "C", 1, 0 -wb2nernstVoltage = scalar, U16, 1770, "V", 0.001, 0 -wb2esr = scalar, U16, 1772, "ohm", 1, 0 -; total TS size = 1776 -dcOutput0 = scalar, F32, 1776, "%", 1,0 -isEnabled0_int = scalar, U08, 1780, "%", 1,0 -isEnabled0 = bits, U32, 1784, [0:0] -; total TS size = 1788 -value0 = scalar, U16, 1788, "RAW", 1,0 -value1 = scalar, U16, 1790, "RAW", 1,0 -errorRate = scalar, F32, 1792, "% (don't belive me)", 1,0 -; total TS size = 1796 -vvtTarget = scalar, U16, 1796, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1798, "%", 0.5, 0 +isBenchTest = bits, U32, 1228, [0:0] +hasIgnitionVoltage = bits, U32, 1228, [1:1] +mainRelayState = bits, U32, 1228, [2:2] +delayedShutoffRequested = bits, U32, 1228, [3:3] +; total TS size = 1232 +lua_fuelAdd = scalar, F32, 1232, "g", 1, 0 +lua_fuelMult = scalar, F32, 1236, "", 1, 0 +lua_clutchUpState = bits, U32, 1240, [0:0] +lua_brakePedalState = bits, U32, 1240, [1:1] +lua_acRequestState = bits, U32, 1240, [2:2] +lua_luaDisableEtb = bits, U32, 1240, [3:3] +lua_luaIgnCut = bits, U32, 1240, [4:4] +lua_luaFuelCut = bits, U32, 1240, [5:5] +lua_clutchDownState = bits, U32, 1240, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1240, [7:7] +lua_torqueReductionState = bits, U32, 1240, [8:8] +sd_tCharge = scalar, S16, 1244, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1248, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1252, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1256, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1260, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1264, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1268, "", 1, 0 +hellenBoardId = scalar, S16, 1272, "id", 1, 0 +clutchUpState = scalar, S08, 1274, "", 1, 0 +brakePedalState = scalar, S08, 1275, "", 1, 0 +startStopState = scalar, S08, 1276, "", 1, 0 +smartChipState = scalar, S08, 1277, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1278, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1279, "", 1, 0 +startStopPhysicalState = bits, U32, 1280, [0:0] +acrActive = bits, U32, 1280, [1:1] +acrEngineMovedRecently = bits, U32, 1280, [2:2] +heaterControlEnabled = bits, U32, 1280, [3:3] +luaDigitalState0 = bits, U32, 1280, [4:4] +luaDigitalState1 = bits, U32, 1280, [5:5] +luaDigitalState2 = bits, U32, 1280, [6:6] +luaDigitalState3 = bits, U32, 1280, [7:7] +clutchDownState = bits, U32, 1280, [8:8] +startStopStateToggleCounter = scalar, U32, 1284, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1288, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1292, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1296, "", 1, 0 +fuelInjectionCounter = scalar, U32, 1300, "", 1, 0 +globalSparkCounter = scalar, U32, 1304, "", 1, 0 +fuelingLoad = scalar, F32, 1308, "", 1, 0 +ignitionLoad = scalar, F32, 1312, "", 1, 0 +veTableYAxis = scalar, U16, 1316, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1318, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1319, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1320, "", 1, 0 +; total TS size = 1324 +tpsFrom = scalar, F32, 1324 +tpsTo = scalar, F32, 1328 +deltaTps = scalar, F32, 1332 +extraFuel = scalar, F32, 1336, "", 1, 0 +valueFromTable = scalar, F32, 1340, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1344, [0:0] +isBelowDecelThreshold = bits, U32, 1344, [1:1] +isTimeToResetAccumulator = bits, U32, 1344, [2:2] +isFractionalEnrichment = bits, U32, 1344, [3:3] +belowEpsilon = bits, U32, 1344, [4:4] +tooShort = bits, U32, 1344, [5:5] +fractionalInjFuel = scalar, F32, 1348, "", 1, 0 +accumulatedValue = scalar, F32, 1352, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1356, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1360, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1364, "", 1, 0 +cycleCnt = scalar, S32, 1368, "", 1, 0 +; total TS size = 1372 +hwEventCounters1 = scalar, U16, 1372, "", 1, 0 +hwEventCounters2 = scalar, U16, 1374, "", 1, 0 +hwEventCounters3 = scalar, U16, 1376, "", 1, 0 +hwEventCounters4 = scalar, U16, 1378, "", 1, 0 +vvtCamCounter = scalar, U16, 1380, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1384, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1388, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1392, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1393, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1396, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1400, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1404, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1408, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1412, [0:0] +triggerElapsedUs = scalar, U32, 1416, "", 1, 0 +; total TS size = 1420 +trgsynchronizationCounter = scalar, U32, 1420, "", 1, 0 +trgvvtToothDurations0 = scalar, U32, 1424, "us", 1, 0 +trgvvtCurrentPosition = scalar, F32, 1428, "", 1, 0 +trgvvtToothPosition1 = scalar, F32, 1432, "", 1, 0 +trgvvtToothPosition2 = scalar, F32, 1436, "", 1, 0 +trgvvtToothPosition3 = scalar, F32, 1440, "", 1, 0 +trgvvtToothPosition4 = scalar, F32, 1444, "", 1, 0 +trgtriggerSyncGapRatio = scalar, F32, 1448, "", 1, 0 +trgtriggerStateIndex = scalar, U08, 1452, "", 1, 0 +; total TS size = 1456 +vvt1isynchronizationCounter = scalar, U32, 1456, "", 1, 0 +vvt1ivvtToothDurations0 = scalar, U32, 1460, "us", 1, 0 +vvt1ivvtCurrentPosition = scalar, F32, 1464, "", 1, 0 +vvt1ivvtToothPosition1 = scalar, F32, 1468, "", 1, 0 +vvt1ivvtToothPosition2 = scalar, F32, 1472, "", 1, 0 +vvt1ivvtToothPosition3 = scalar, F32, 1476, "", 1, 0 +vvt1ivvtToothPosition4 = scalar, F32, 1480, "", 1, 0 +vvt1itriggerSyncGapRatio = scalar, F32, 1484, "", 1, 0 +vvt1itriggerStateIndex = scalar, U08, 1488, "", 1, 0 +; total TS size = 1492 +vvt1esynchronizationCounter = scalar, U32, 1492, "", 1, 0 +vvt1evvtToothDurations0 = scalar, U32, 1496, "us", 1, 0 +vvt1evvtCurrentPosition = scalar, F32, 1500, "", 1, 0 +vvt1evvtToothPosition1 = scalar, F32, 1504, "", 1, 0 +vvt1evvtToothPosition2 = scalar, F32, 1508, "", 1, 0 +vvt1evvtToothPosition3 = scalar, F32, 1512, "", 1, 0 +vvt1evvtToothPosition4 = scalar, F32, 1516, "", 1, 0 +vvt1etriggerSyncGapRatio = scalar, F32, 1520, "", 1, 0 +vvt1etriggerStateIndex = scalar, U08, 1524, "", 1, 0 +; total TS size = 1528 +vvt2isynchronizationCounter = scalar, U32, 1528, "", 1, 0 +vvt2ivvtToothDurations0 = scalar, U32, 1532, "us", 1, 0 +vvt2ivvtCurrentPosition = scalar, F32, 1536, "", 1, 0 +vvt2ivvtToothPosition1 = scalar, F32, 1540, "", 1, 0 +vvt2ivvtToothPosition2 = scalar, F32, 1544, "", 1, 0 +vvt2ivvtToothPosition3 = scalar, F32, 1548, "", 1, 0 +vvt2ivvtToothPosition4 = scalar, F32, 1552, "", 1, 0 +vvt2itriggerSyncGapRatio = scalar, F32, 1556, "", 1, 0 +vvt2itriggerStateIndex = scalar, U08, 1560, "", 1, 0 +; total TS size = 1564 +vvt2esynchronizationCounter = scalar, U32, 1564, "", 1, 0 +vvt2evvtToothDurations0 = scalar, U32, 1568, "us", 1, 0 +vvt2evvtCurrentPosition = scalar, F32, 1572, "", 1, 0 +vvt2evvtToothPosition1 = scalar, F32, 1576, "", 1, 0 +vvt2evvtToothPosition2 = scalar, F32, 1580, "", 1, 0 +vvt2evvtToothPosition3 = scalar, F32, 1584, "", 1, 0 +vvt2evvtToothPosition4 = scalar, F32, 1588, "", 1, 0 +vvt2etriggerSyncGapRatio = scalar, F32, 1592, "", 1, 0 +vvt2etriggerStateIndex = scalar, U08, 1596, "", 1, 0 +; total TS size = 1600 +camResyncCounter = scalar, U08, 1600, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1604, [0:0] +; total TS size = 1608 +wallFuelCorrection = scalar, F32, 1608, "", 1, 0 +wallFuel = scalar, F32, 1612, "", 1, 0 +; total TS size = 1616 +idleState = bits, S32, 1616, [0:2], "not important" +currentIdlePosition = scalar, F32, 1620 +baseIdlePosition = scalar, F32, 1624 +idleClosedLoop = scalar, F32, 1628 +iacByTpsTaper = scalar, F32, 1632 +mightResetPid = bits, U32, 1636, [0:0] +shouldResetPid = bits, U32, 1636, [1:1] +wasResetPid = bits, U32, 1636, [2:2] +mustResetPid = bits, U32, 1636, [3:3] +isCranking = bits, U32, 1636, [4:4] +isIacTableForCoasting = bits, U32, 1636, [5:5] +notIdling = bits, U32, 1636, [6:6] +needReset = bits, U32, 1636, [7:7] +isInDeadZone = bits, U32, 1636, [8:8] +isBlipping = bits, U32, 1636, [9:9] +useClosedLoop = bits, U32, 1636, [10:10] +badTps = bits, U32, 1636, [11:11] +looksLikeRunning = bits, U32, 1636, [12:12] +looksLikeCoasting = bits, U32, 1636, [13:13] +looksLikeCrankToIdle = bits, U32, 1636, [14:14] +isIdleCoasting = bits, U32, 1636, [15:15] +isIdleClosedLoop = bits, U32, 1636, [16:16] +idleTarget = scalar, S32, 1640, "", 1, 0 +targetRpmByClt = scalar, S32, 1644, "", 1, 0 +targetRpmAc = scalar, S32, 1648, "", 1, 0 +iacByRpmTaper = scalar, F32, 1652 +luaAdd = scalar, F32, 1656 +; total TS size = 1660 +etb1targetWithIdlePosition = scalar, F32, 1660, "%", 1,0 +etb1trim = scalar, F32, 1664, "", 1, 0 +etb1luaAdjustment = scalar, F32, 1668, "%", 1,0 +etb1m_wastegatePosition = scalar, F32, 1672, "%", 1,0 +etb1etbFeedForward = scalar, F32, 1676 +etb1etbIntegralError = scalar, F32, 1680, "", 1, 0 +etb1etbCurrentTarget = scalar, F32, 1684, "%", 1, 0 +etb1m_adjustedTarget = scalar, S16, 1688, "%", 0.01, 0 +etb1etbRevLimitActive = bits, U32, 1692, [0:0] +etb1jamDetected = bits, U32, 1692, [1:1] +etb1validPlantPosition = bits, U32, 1692, [2:2] +etb1etbTpsErrorCounter = scalar, U16, 1696, "count", 1,0 +etb1etbPpsErrorCounter = scalar, U16, 1698, "count", 1,0 +etb1etbErrorCode = scalar, S08, 1700, "", 1, 0 +etb1etbErrorCodeBlinker = scalar, S08, 1701, "", 1, 0 +etb1tcEtbDrop = scalar, S08, 1702, "%", 1, 0 +etb1jamTimer = scalar, U16, 1704, "sec", 0.01, 0 +etb1adjustedEtbTarget = scalar, S08, 1706, "%", 1, 0 +etb1state = scalar, U08, 1707, "", 1, 0 +; total TS size = 1708 +etb2targetWithIdlePosition = scalar, F32, 1708, "%", 1,0 +etb2trim = scalar, F32, 1712, "", 1, 0 +etb2luaAdjustment = scalar, F32, 1716, "%", 1,0 +etb2m_wastegatePosition = scalar, F32, 1720, "%", 1,0 +etb2etbFeedForward = scalar, F32, 1724 +etb2etbIntegralError = scalar, F32, 1728, "", 1, 0 +etb2etbCurrentTarget = scalar, F32, 1732, "%", 1, 0 +etb2m_adjustedTarget = scalar, S16, 1736, "%", 0.01, 0 +etb2etbRevLimitActive = bits, U32, 1740, [0:0] +etb2jamDetected = bits, U32, 1740, [1:1] +etb2validPlantPosition = bits, U32, 1740, [2:2] +etb2etbTpsErrorCounter = scalar, U16, 1744, "count", 1,0 +etb2etbPpsErrorCounter = scalar, U16, 1746, "count", 1,0 +etb2etbErrorCode = scalar, S08, 1748, "", 1, 0 +etb2etbErrorCodeBlinker = scalar, S08, 1749, "", 1, 0 +etb2tcEtbDrop = scalar, S08, 1750, "%", 1, 0 +etb2jamTimer = scalar, U16, 1752, "sec", 0.01, 0 +etb2adjustedEtbTarget = scalar, S08, 1754, "%", 1, 0 +etb2state = scalar, U08, 1755, "", 1, 0 +; total TS size = 1756 +wb1faultCode = scalar, U08, 1756, "", 1, 0 +wb1heaterDuty = scalar, U08, 1757, "%", 1, 0 +wb1pumpDuty = scalar, U08, 1758, "%", 1, 0 +wb1tempC = scalar, U16, 1760, "C", 1, 0 +wb1nernstVoltage = scalar, U16, 1762, "V", 0.001, 0 +wb1esr = scalar, U16, 1764, "ohm", 1, 0 +; total TS size = 1768 +wb2faultCode = scalar, U08, 1768, "", 1, 0 +wb2heaterDuty = scalar, U08, 1769, "%", 1, 0 +wb2pumpDuty = scalar, U08, 1770, "%", 1, 0 +wb2tempC = scalar, U16, 1772, "C", 1, 0 +wb2nernstVoltage = scalar, U16, 1774, "V", 0.001, 0 +wb2esr = scalar, U16, 1776, "ohm", 1, 0 +; total TS size = 1780 +dcOutput0 = scalar, F32, 1780, "%", 1,0 +isEnabled0_int = scalar, U08, 1784, "%", 1,0 +isEnabled0 = bits, U32, 1788, [0:0] +; total TS size = 1792 +value0 = scalar, U16, 1792, "RAW", 1,0 +value1 = scalar, U16, 1794, "RAW", 1,0 +errorRate = scalar, F32, 1796, "% (don't belive me)", 1,0 ; total TS size = 1800 -lambdaCurrentlyGood = bits, U32, 1800, [0:0] -lambdaMonitorCut = bits, U32, 1800, [1:1] -lambdaTimeSinceGood = scalar, U16, 1804, "sec", 0.01, 0 -; total TS size = 1808 +vvtTarget = scalar, U16, 1800, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1802, "%", 0.5, 0 +; total TS size = 1804 +lambdaCurrentlyGood = bits, U32, 1804, [0:0] +lambdaMonitorCut = bits, U32, 1804, [1:1] +lambdaTimeSinceGood = scalar, U16, 1808, "sec", 0.01, 0 +; total TS size = 1812 time = { timeNow } @@ -4589,6 +4592,12 @@ curve = rangeMatrix, "Range Switch Input Matrix" gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. upDownLabel = "(RICHER)", "(LEANER)" + table = trailingSparkTable, trailingSparkMap, "Trailing spark", 1 + xyLabels = "RPM", "Ignition Load" + xBins = trailingSparkRpmBins, RPMValue + yBins = trailingSparkLoadBins, ignitionLoad + zBins = trailingSparkTable + table = torqueTableTbl, torqueTableMap, "Engine Torque", 1 xBins = torqueRpmBins, RPMValue yBins = torqueLoadBins, veTableYAxis @@ -4886,6 +4895,7 @@ timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20 timingPidCorrectionGauge = timingPidCorrection,"Idle: Timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 +trailingSparkAngleGauge = trailingSparkAngle,"Ign: Trailing spark deg", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 gaugeCategory = "Boost Control" luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 @@ -5808,6 +5818,7 @@ entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" entry = luaIgnitionSkip, "Ign: Lua Spark Skip", int, "%d" +entry = trailingSparkAngle, "Ign: Trailing spark deg", float, "%.3f" entry = m_knockLevel, "Knock: Current level", float, "%.3f" entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" @@ -6745,6 +6756,7 @@ dialog = ignition_stateDialog, "ignition_state" graphLine = luaTimingAdd liveGraph = ignition_state_4_Graph, "Graph", South graphLine = luaTimingMult + graphLine = trailingSparkAngle dialog = knock_controllerDialog, "knock_controller" @@ -9997,11 +10009,11 @@ dialog = tcuControls, "Transmission Settings" dialog = rotaryDialog, "Rotary" field = "Enable Trailing Sparks", enableTrailingSparks - field = "Trailing Spark Offset", trailingSparkAngle field = "Trailing Pin 1", trailingCoilPins1 field = "Trailing Pin 2", trailingCoilPins2 field = "Trailing Pin 3", trailingCoilPins3 field = "Trailing Pin 4", trailingCoilPins4 + panel = trailingSparkTable dialog = fancyHardwareDialog, "Board Control" field = "A4 Tachometer Output 5V/12V Pull-Up", boardUseTachPullUp diff --git a/firmware/tunerstudio/generated/rusefi_alphax-4chan.ini b/firmware/tunerstudio/generated/rusefi_alphax-4chan.ini index 9d82224d26..0435ed0c97 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.2025.02.07.alphax-4chan.3568912491" + signature = "rusEFI master.2025.02.07.alphax-4chan.1396360966" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2025.02.07.alphax-4chan.3568912491" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2025.02.07.alphax-4chan.1396360966" ; 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 @@ -101,7 +101,7 @@ enable2ndByteCanID = false ; CONFIG_DEFINITION_START ; this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt -pageSize = 23284 +pageSize = 23308 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",22="BMW_M52",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",21="ET_BOSCH_QUICK_START",24="ET_TEST_WITH_BOSCH_QUICK_START",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",41="FRANKENSO_MIATA_NA6_MAP",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",47="GM_LCV",55="GM_LTG",98="GM_SBC",49="GM_SBC_GEN5",8="GY6_139QMB",6="HARLEY",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",34="MAZDA_MIATA_NA6",80="MAZDA_MIATA_NA94",10="MAZDA_MIATA_NA96",83="MAZDA_MIATA_NB1",69="MAZDA_MIATA_NB2",86="MAZDA_MIATA_NB2_36",20="MAZDA_MIATA_NC",33="ME17_9_MISC",68="MERCEDES_M111",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",4="MRE_SECONDARY_CAN",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",35="POLARIS",9="POLARIS_RZR",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",27="PROTEUS_GM_LS_4",25="PROTEUS_LUA_DEMO",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",17="TCU_4R70W",100="TEST_100",101="TEST_101",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",93="TEST_ISSUE_6451",19="TEST_ROTARY",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",102="UNUSED102",67="UNUSED67",94="UNUSED94",65="UNUSED_65",97="UNUSED_97",77="VAG_5_CYL",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -245,7 +245,7 @@ vbattAdcChannel = bits, U08, 513, [0:5], $adc_channel_e_list fuelLevelSensor = bits, U08, 514, [0:5], $adc_channel_e_list tps2_1AdcChannel = bits, U08, 515, [0:5], $adc_channel_e_list idle_derivativeFilterLoss = scalar, F32, 516, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 520, "angle", 1, 0, 0, 720, 0 +unusedTrailingSparkAngle = scalar, S32, 520, "", 1, 0, 0, 100, 0 trigger_type = bits, U32, 524, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Daihatsu 3 cylinder", "Mazda SOHC 4", "60-2", "36-1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "Dodge Ram 1+16", "60-2 Wrong Polarity", "Benelli Tre", "Dodge Stratus", "36_2_2_2", "Nissan Primera", "dev 2JZ 3/34 simulator", "Rover K", "GM 24x 5 degree", "Honda CBR 600 Cam", "INVALID", "Honda CBR 600 custom", "3-1 skipped", "Dodge Neon 2003 crank", "Miata NB", "INVALID", "INVALID", "Subaru 7+6", "Jeep 18-2-2-2", "12crank/24cam", "Dodge Neon 1995 crank only", "Jeep XJ 4 cyl", "FiatIAQ_P8", "Mazda Z5", "INVALID", "Renix 44-2-2", "Renix 66-2-2-2", "Honda K 12+1", "INVALID", "36-2", "Subaru SVX", "Suzuki K6A", "Subaru 7 without 6", "INVALID", "INVALID", "GM 60-2-2-2", "Skoda Favorit", "Barra 3+1 Cam", "Kawa KX450F", "Nissan VQ35", "INVALID", "Nissan VQ30", "Nissan QR25", "INVALID", "Subaru SVX Crank 1", "Subaru SVX Cam VVT", "Ford PIP", "Suzuki G13B", "Honda K 4+1", "Nissan MR18 Crank", "32-2", "36-2-1", "36-2-1-1", "3-0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6-0", "Daihatsu 4 cylinder", "INVALID", "dev", "Nissan HR", "Arctic Cat", "HR12 in", "HONDA J30A2", "trg88", "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" trigger_customTotalToothCount = scalar, S32, 528, "number", 1, 0, 1, 300, 0 trigger_customSkippedToothCount = scalar, S32, 532, "number", 1, 0, 0, 300, 0 @@ -1796,17 +1796,20 @@ dynoCarCarMassKg = scalar, S16, 23268, "", 1, 0, 0, 32000, 0 dynoCarCargoMassKg = scalar, S16, 23270, "", 1, 0, 0, 32000, 0 dynoCarCoeffOfDrag = scalar, F32, 23272, "", 1, 0, 0, 100, 0 dynoCarFrontalAreaM2 = scalar, F32, 23276, "", 1, 0, 0, 100, 0 -boardUseTachPullUp = bits, U32, 23280, [0:0], "5v", "12v" -boardUseCrankPullUp = bits, U32, 23280, [1:1], "VR", "Hall" -boardUseTempPullUp = bits, U32, 23280, [2:2], "Piggyback Mode", "With Pull Ups" -boardUse2stepPullDown = bits, U32, 23280, [3:3], "With Pull Up", "With Pull Down" -boardUseCamPullDown = bits, U32, 23280, [4:4], "With Pull Up", "With Pull Down" -boardUseD4PullDown = bits, U32, 23280, [5:5], "With Pull Up", "With Pull Down" -boardUseD5PullDown = bits, U32, 23280, [6:6], "With Pull Up", "With Pull Down" -boardUseCamVrPullUp = bits, U32, 23280, [7:7], "VR", "Hall" -boardUseD2PullDown = bits, U32, 23280, [8:8], "With Pull Up", "With Pull Down" -boardUseD3PullDown = bits, U32, 23280, [9:9], "With Pull Up", "With Pull Down" -; total TS size = 23284 +trailingSparkTable = array, S08, 23280, [4x4], "deg", 0.1, 0, 0, 20, 1 +trailingSparkRpmBins = array, U08, 23296, [4], "rpm", 50.0, 0, 0, 12000, 0 +trailingSparkLoadBins = array, U08, 23300, [4], "Load", 5.0, 0, 0, 1000, 0 +boardUseTachPullUp = bits, U32, 23304, [0:0], "5v", "12v" +boardUseCrankPullUp = bits, U32, 23304, [1:1], "VR", "Hall" +boardUseTempPullUp = bits, U32, 23304, [2:2], "Piggyback Mode", "With Pull Ups" +boardUse2stepPullDown = bits, U32, 23304, [3:3], "With Pull Up", "With Pull Down" +boardUseCamPullDown = bits, U32, 23304, [4:4], "With Pull Up", "With Pull Down" +boardUseD4PullDown = bits, U32, 23304, [5:5], "With Pull Up", "With Pull Down" +boardUseD5PullDown = bits, U32, 23304, [6:6], "With Pull Up", "With Pull Down" +boardUseCamVrPullUp = bits, U32, 23304, [7:7], "VR", "Hall" +boardUseD2PullDown = bits, U32, 23304, [8:8], "With Pull Up", "With Pull Down" +boardUseD3PullDown = bits, U32, 23304, [9:9], "With Pull Up", "With Pull Down" +; total TS size = 23308 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1900,7 +1903,6 @@ boardUseD3PullDown = bits, U32, 23280, [9:9], "With Pull Up", "With Pull Down" fuelLevelSensor = "This is the processor pin that your fuel level sensor in connected to. This is a non standard input so will need to be user defined." tps2_1AdcChannel = "Second throttle body position sensor, single channel so far" idle_derivativeFilterLoss = "0.1 is a good default value" - trailingSparkAngle = "just a temporary solution" trigger_type = "https://github.com/rusefi/rusefi/wiki/All-Supported-Triggers" airByRpmTaper = "Extra air taper amount" boostControlSafeDutyCycle = "Duty cycle to use in case of a sensor failure. This duty cycle should produce the minimum possible amount of boost. This duty is also used in case any of the minimum RPM/TPS/MAP conditions are not met." @@ -2674,7 +2676,7 @@ boardUseD3PullDown = bits, U32, 23280, [9:9], "With Pull Up", "With Pull Down" ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1808 + ochBlockSize = 1812 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3199,417 +3201,418 @@ dwellVoltageCorrection = scalar, F32, 940, "", 1, 0 luaTimingAdd = scalar, F32, 944, "deg", 1, 0 luaTimingMult = scalar, F32, 948, "deg", 1, 0 luaIgnitionSkip = bits, U32, 952, [0:0] -; total TS size = 956 -m_knockLevel = scalar, F32, 956, "Volts", 1, 0 -m_knockCyl1 = scalar, S08, 960, "dBv", 1, 0 -m_knockCyl2 = scalar, S08, 961, "dBv", 1, 0 -m_knockCyl3 = scalar, S08, 962, "dBv", 1, 0 -m_knockCyl4 = scalar, S08, 963, "dBv", 1, 0 -m_knockCyl5 = scalar, S08, 964, "dBv", 1, 0 -m_knockCyl6 = scalar, S08, 965, "dBv", 1, 0 -m_knockCyl7 = scalar, S08, 966, "dBv", 1, 0 -m_knockCyl8 = scalar, S08, 967, "dBv", 1, 0 -m_knockCyl9 = scalar, S08, 968, "dBv", 1, 0 -m_knockCyl10 = scalar, S08, 969, "dBv", 1, 0 -m_knockCyl11 = scalar, S08, 970, "dBv", 1, 0 -m_knockCyl12 = scalar, S08, 971, "dBv", 1, 0 -m_knockRetard = scalar, F32, 972, "deg", 1,0 -m_knockThreshold = scalar, F32, 976, "", 1, 0 -m_knockCount = scalar, U32, 980, "", 1, 0 -m_maximumRetard = scalar, F32, 984, "", 1, 0 -m_knockSpectrum1 = scalar, U32, 988, "compressed data", 1, 0 -m_knockSpectrum2 = scalar, U32, 992, "compressed data", 1, 0 -m_knockSpectrum3 = scalar, U32, 996, "compressed data", 1, 0 -m_knockSpectrum4 = scalar, U32, 1000, "compressed data", 1, 0 -m_knockSpectrum5 = scalar, U32, 1004, "compressed data", 1, 0 -m_knockSpectrum6 = scalar, U32, 1008, "compressed data", 1, 0 -m_knockSpectrum7 = scalar, U32, 1012, "compressed data", 1, 0 -m_knockSpectrum8 = scalar, U32, 1016, "compressed data", 1, 0 -m_knockSpectrum9 = scalar, U32, 1020, "compressed data", 1, 0 -m_knockSpectrum10 = scalar, U32, 1024, "compressed data", 1, 0 -m_knockSpectrum11 = scalar, U32, 1028, "compressed data", 1, 0 -m_knockSpectrum12 = scalar, U32, 1032, "compressed data", 1, 0 -m_knockSpectrum13 = scalar, U32, 1036, "compressed data", 1, 0 -m_knockSpectrum14 = scalar, U32, 1040, "compressed data", 1, 0 -m_knockSpectrum15 = scalar, U32, 1044, "compressed data", 1, 0 -m_knockSpectrum16 = scalar, U32, 1048, "compressed data", 1, 0 -m_knockSpectrumChannelCyl = scalar, U16, 1052, "compressed N + N", 1, 0 -m_knockFrequencyStart = scalar, U16, 1054, "Hz", 1, 0 -m_knockFrequencyStep = scalar, F32, 1056, "Hz", 1, 0 -m_knockFuelTrimMultiplier = scalar, F32, 1060, "multiplier", 1, 0 -; total TS size = 1064 -m_isPriming = bits, U32, 1064, [0:0] +trailingSparkAngle = scalar, S16, 956, "deg", 0.01,0 +; total TS size = 960 +m_knockLevel = scalar, F32, 960, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 964, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 965, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 966, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 967, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 968, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 969, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 970, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 971, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 972, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 973, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 974, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 975, "dBv", 1, 0 +m_knockRetard = scalar, F32, 976, "deg", 1,0 +m_knockThreshold = scalar, F32, 980, "", 1, 0 +m_knockCount = scalar, U32, 984, "", 1, 0 +m_maximumRetard = scalar, F32, 988, "", 1, 0 +m_knockSpectrum1 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1040, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1044, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1048, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1052, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1056, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1058, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1060, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1064, "multiplier", 1, 0 ; total TS size = 1068 -tcuCurrentGear = scalar, S08, 1068, "gear", 1, 0 -tcRatio = scalar, U16, 1070, "value", 0.01, 0 -lastShiftTime = scalar, F32, 1072, "", 1, 0 -tcu_currentRange = scalar, U08, 1076, "", 1, 0 -pressureControlDuty = scalar, S08, 1077, "%", 1,0 -torqueConverterDuty = scalar, S08, 1078, "%", 1,0 -isShifting = bits, U32, 1080, [0:0] -; total TS size = 1084 -throttleUseWotModel = bits, U32, 1084, [0:0] -throttleModelCrossoverAngle = scalar, S16, 1088, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1092, "g/s", 1, 0 -; total TS size = 1096 -m_requested_pump = scalar, F32, 1096, "", 1, 0 -fuel_requested_percent = scalar, F32, 1100, "%", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1104, "", 1, 0 -noValve = bits, U32, 1108, [0:0] -angleAboveMin = bits, U32, 1108, [1:1] -isHpfpActive = bits, U32, 1108, [2:2] -HpfpValveState = bits, U32, 1108, [3:3] -m_pressureTarget_kPa = scalar, F32, 1112, "", 1, 0 -nextLobe = scalar, F32, 1116, "", 1, 0 -di_nextStart = scalar, F32, 1120, "v", 1, 0 -HpfdActivationPhase = scalar, F32, 1124, "", 1, 0 -HpfdDeactivationPhase = scalar, F32, 1128, "", 1, 0 -; total TS size = 1132 -m_deadtime = scalar, F32, 1132, "ms", 1, 0 -pressureDelta = scalar, F32, 1136, "kPa", 1, 0 -pressureRatio = scalar, F32, 1140, "", 1, 0 -; total TS size = 1144 -retardThresholdRpm = scalar, S32, 1144, "", 1, 0 -launchActivatePinState = bits, U32, 1148, [0:0] -isPreLaunchCondition = bits, U32, 1148, [1:1] -isLaunchCondition = bits, U32, 1148, [2:2] -isSwitchActivated = bits, U32, 1148, [3:3] -isClutchActivated = bits, U32, 1148, [4:4] -isBrakePedalActivated = bits, U32, 1148, [5:5] -isValidInputPin = bits, U32, 1148, [6:6] -activateSwitchCondition = bits, U32, 1148, [7:7] -rpmLaunchCondition = bits, U32, 1148, [8:8] -rpmPreLaunchCondition = bits, U32, 1148, [9:9] -speedCondition = bits, U32, 1148, [10:10] -tpsCondition = bits, U32, 1148, [11:11] -; total TS size = 1152 -isTorqueReductionTriggerPinValid = bits, U32, 1152, [0:0] -torqueReductionTriggerPinState = bits, U32, 1152, [1:1] -isTimeConditionSatisfied = bits, U32, 1152, [2:2] -isRpmConditionSatisfied = bits, U32, 1152, [3:3] -isAppConditionSatisfied = bits, U32, 1152, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1152, [5:5] +m_isPriming = bits, U32, 1068, [0:0] +; total TS size = 1072 +tcuCurrentGear = scalar, S08, 1072, "gear", 1, 0 +tcRatio = scalar, U16, 1074, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1076, "", 1, 0 +tcu_currentRange = scalar, U08, 1080, "", 1, 0 +pressureControlDuty = scalar, S08, 1081, "%", 1,0 +torqueConverterDuty = scalar, S08, 1082, "%", 1,0 +isShifting = bits, U32, 1084, [0:0] +; total TS size = 1088 +throttleUseWotModel = bits, U32, 1088, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1092, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1096, "g/s", 1, 0 +; total TS size = 1100 +m_requested_pump = scalar, F32, 1100, "", 1, 0 +fuel_requested_percent = scalar, F32, 1104, "%", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1108, "", 1, 0 +noValve = bits, U32, 1112, [0:0] +angleAboveMin = bits, U32, 1112, [1:1] +isHpfpActive = bits, U32, 1112, [2:2] +HpfpValveState = bits, U32, 1112, [3:3] +m_pressureTarget_kPa = scalar, F32, 1116, "", 1, 0 +nextLobe = scalar, F32, 1120, "", 1, 0 +di_nextStart = scalar, F32, 1124, "v", 1, 0 +HpfdActivationPhase = scalar, F32, 1128, "", 1, 0 +HpfdDeactivationPhase = scalar, F32, 1132, "", 1, 0 +; total TS size = 1136 +m_deadtime = scalar, F32, 1136, "ms", 1, 0 +pressureDelta = scalar, F32, 1140, "kPa", 1, 0 +pressureRatio = scalar, F32, 1144, "", 1, 0 +; total TS size = 1148 +retardThresholdRpm = scalar, S32, 1148, "", 1, 0 +launchActivatePinState = bits, U32, 1152, [0:0] +isPreLaunchCondition = bits, U32, 1152, [1:1] +isLaunchCondition = bits, U32, 1152, [2:2] +isSwitchActivated = bits, U32, 1152, [3:3] +isClutchActivated = bits, U32, 1152, [4:4] +isBrakePedalActivated = bits, U32, 1152, [5:5] +isValidInputPin = bits, U32, 1152, [6:6] +activateSwitchCondition = bits, U32, 1152, [7:7] +rpmLaunchCondition = bits, U32, 1152, [8:8] +rpmPreLaunchCondition = bits, U32, 1152, [9:9] +speedCondition = bits, U32, 1152, [10:10] +tpsCondition = bits, U32, 1152, [11:11] ; total TS size = 1156 -isAntilagCondition = bits, U32, 1156, [0:0] -ALSMinRPMCondition = bits, U32, 1156, [1:1] -ALSMaxRPMCondition = bits, U32, 1156, [2:2] -ALSMinCLTCondition = bits, U32, 1156, [3:3] -ALSMaxCLTCondition = bits, U32, 1156, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1156, [5:5] -isALSSwitchActivated = bits, U32, 1156, [6:6] -ALSActivatePinState = bits, U32, 1156, [7:7] -ALSSwitchCondition = bits, U32, 1156, [8:8] -ALSTimerCondition = bits, U32, 1156, [9:9] -fuelALSCorrection = scalar, F32, 1160, "", 1, 0 -timingALSCorrection = scalar, S16, 1164, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1166, "deg", 0.01, 0 -; total TS size = 1168 -isTpsInvalid = bits, U32, 1168, [0:0] -m_shouldResetPid = bits, U32, 1168, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1168, [2:2] -isNotClosedLoop = bits, U32, 1168, [3:3] -isZeroRpm = bits, U32, 1168, [4:4] -hasInitBoost = bits, U32, 1168, [5:5] -rpmTooLow = bits, U32, 1168, [6:6] -tpsTooLow = bits, U32, 1168, [7:7] -mapTooLow = bits, U32, 1168, [8:8] -isPlantValid = bits, U32, 1168, [9:9] -isBoostControlled = bits, U32, 1168, [10:10] -luaTargetAdd = scalar, S16, 1172, "v", 0.5,0 -boostOutput = scalar, S16, 1174, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1176, "v", 1,0 -openLoopPart = scalar, F32, 1180, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1184, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1188, "%", 0.5,0 -boostControlTarget = scalar, S16, 1190, "kPa", 0.03333333333333333,0 -; total TS size = 1192 -acButtonState = scalar, S08, 1192, "", 1, 0 -m_acEnabled = bits, U32, 1196, [0:0] -engineTooSlow = bits, U32, 1196, [1:1] -engineTooFast = bits, U32, 1196, [2:2] -noClt = bits, U32, 1196, [3:3] -engineTooHot = bits, U32, 1196, [4:4] -tpsTooHigh = bits, U32, 1196, [5:5] -isDisabledByLua = bits, U32, 1196, [6:6] -acCompressorState = bits, U32, 1196, [7:7] -acPressureTooLow = bits, U32, 1196, [8:8] -acPressureTooHigh = bits, U32, 1196, [9:9] -; total TS size = 1200 -isNitrousArmed = bits, U32, 1200, [0:0] -isNitrousSpeedCondition = bits, U32, 1200, [1:1] -isNitrousTpsCondition = bits, U32, 1200, [2:2] -isNitrousCltCondition = bits, U32, 1200, [3:3] -isNitrousMapCondition = bits, U32, 1200, [4:4] -isNitrousAfrCondition = bits, U32, 1200, [5:5] -isNitrousRpmCondition = bits, U32, 1200, [6:6] -isNitrousCondition = bits, U32, 1200, [7:7] +isTorqueReductionTriggerPinValid = bits, U32, 1156, [0:0] +torqueReductionTriggerPinState = bits, U32, 1156, [1:1] +isTimeConditionSatisfied = bits, U32, 1156, [2:2] +isRpmConditionSatisfied = bits, U32, 1156, [3:3] +isAppConditionSatisfied = bits, U32, 1156, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1156, [5:5] +; total TS size = 1160 +isAntilagCondition = bits, U32, 1160, [0:0] +ALSMinRPMCondition = bits, U32, 1160, [1:1] +ALSMaxRPMCondition = bits, U32, 1160, [2:2] +ALSMinCLTCondition = bits, U32, 1160, [3:3] +ALSMaxCLTCondition = bits, U32, 1160, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1160, [5:5] +isALSSwitchActivated = bits, U32, 1160, [6:6] +ALSActivatePinState = bits, U32, 1160, [7:7] +ALSSwitchCondition = bits, U32, 1160, [8:8] +ALSTimerCondition = bits, U32, 1160, [9:9] +fuelALSCorrection = scalar, F32, 1164, "", 1, 0 +timingALSCorrection = scalar, S16, 1168, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1170, "deg", 0.01, 0 +; total TS size = 1172 +isTpsInvalid = bits, U32, 1172, [0:0] +m_shouldResetPid = bits, U32, 1172, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1172, [2:2] +isNotClosedLoop = bits, U32, 1172, [3:3] +isZeroRpm = bits, U32, 1172, [4:4] +hasInitBoost = bits, U32, 1172, [5:5] +rpmTooLow = bits, U32, 1172, [6:6] +tpsTooLow = bits, U32, 1172, [7:7] +mapTooLow = bits, U32, 1172, [8:8] +isPlantValid = bits, U32, 1172, [9:9] +isBoostControlled = bits, U32, 1172, [10:10] +luaTargetAdd = scalar, S16, 1176, "v", 0.5,0 +boostOutput = scalar, S16, 1178, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1180, "v", 1,0 +openLoopPart = scalar, F32, 1184, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1188, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1192, "%", 0.5,0 +boostControlTarget = scalar, S16, 1194, "kPa", 0.03333333333333333,0 +; total TS size = 1196 +acButtonState = scalar, S08, 1196, "", 1, 0 +m_acEnabled = bits, U32, 1200, [0:0] +engineTooSlow = bits, U32, 1200, [1:1] +engineTooFast = bits, U32, 1200, [2:2] +noClt = bits, U32, 1200, [3:3] +engineTooHot = bits, U32, 1200, [4:4] +tpsTooHigh = bits, U32, 1200, [5:5] +isDisabledByLua = bits, U32, 1200, [6:6] +acCompressorState = bits, U32, 1200, [7:7] +acPressureTooLow = bits, U32, 1200, [8:8] +acPressureTooHigh = bits, U32, 1200, [9:9] ; total TS size = 1204 -fan1cranking = bits, U32, 1204, [0:0] -fan1notRunning = bits, U32, 1204, [1:1] -fan1disabledWhileEngineStopped = bits, U32, 1204, [2:2] -fan1brokenClt = bits, U32, 1204, [3:3] -fan1enabledForAc = bits, U32, 1204, [4:4] -fan1hot = bits, U32, 1204, [5:5] -fan1cold = bits, U32, 1204, [6:6] -fan1disabledBySpeed = bits, U32, 1204, [7:7] -fan1m_state = bits, U32, 1204, [8:8] -fan1radiatorFanStatus = scalar, U08, 1208, "", 1, 0 -; total TS size = 1212 -fan2cranking = bits, U32, 1212, [0:0] -fan2notRunning = bits, U32, 1212, [1:1] -fan2disabledWhileEngineStopped = bits, U32, 1212, [2:2] -fan2brokenClt = bits, U32, 1212, [3:3] -fan2enabledForAc = bits, U32, 1212, [4:4] -fan2hot = bits, U32, 1212, [5:5] -fan2cold = bits, U32, 1212, [6:6] -fan2disabledBySpeed = bits, U32, 1212, [7:7] -fan2m_state = bits, U32, 1212, [8:8] -fan2radiatorFanStatus = scalar, U08, 1216, "", 1, 0 -; total TS size = 1220 -isPrime = bits, U32, 1220, [0:0] -engineTurnedRecently = bits, U32, 1220, [1:1] -isFuelPumpOn = bits, U32, 1220, [2:2] -ignitionOn = bits, U32, 1220, [3:3] +isNitrousArmed = bits, U32, 1204, [0:0] +isNitrousSpeedCondition = bits, U32, 1204, [1:1] +isNitrousTpsCondition = bits, U32, 1204, [2:2] +isNitrousCltCondition = bits, U32, 1204, [3:3] +isNitrousMapCondition = bits, U32, 1204, [4:4] +isNitrousAfrCondition = bits, U32, 1204, [5:5] +isNitrousRpmCondition = bits, U32, 1204, [6:6] +isNitrousCondition = bits, U32, 1204, [7:7] +; total TS size = 1208 +fan1cranking = bits, U32, 1208, [0:0] +fan1notRunning = bits, U32, 1208, [1:1] +fan1disabledWhileEngineStopped = bits, U32, 1208, [2:2] +fan1brokenClt = bits, U32, 1208, [3:3] +fan1enabledForAc = bits, U32, 1208, [4:4] +fan1hot = bits, U32, 1208, [5:5] +fan1cold = bits, U32, 1208, [6:6] +fan1disabledBySpeed = bits, U32, 1208, [7:7] +fan1m_state = bits, U32, 1208, [8:8] +fan1radiatorFanStatus = scalar, U08, 1212, "", 1, 0 +; total TS size = 1216 +fan2cranking = bits, U32, 1216, [0:0] +fan2notRunning = bits, U32, 1216, [1:1] +fan2disabledWhileEngineStopped = bits, U32, 1216, [2:2] +fan2brokenClt = bits, U32, 1216, [3:3] +fan2enabledForAc = bits, U32, 1216, [4:4] +fan2hot = bits, U32, 1216, [5:5] +fan2cold = bits, U32, 1216, [6:6] +fan2disabledBySpeed = bits, U32, 1216, [7:7] +fan2m_state = bits, U32, 1216, [8:8] +fan2radiatorFanStatus = scalar, U08, 1220, "", 1, 0 ; total TS size = 1224 -isBenchTest = bits, U32, 1224, [0:0] -hasIgnitionVoltage = bits, U32, 1224, [1:1] -mainRelayState = bits, U32, 1224, [2:2] -delayedShutoffRequested = bits, U32, 1224, [3:3] +isPrime = bits, U32, 1224, [0:0] +engineTurnedRecently = bits, U32, 1224, [1:1] +isFuelPumpOn = bits, U32, 1224, [2:2] +ignitionOn = bits, U32, 1224, [3:3] ; total TS size = 1228 -lua_fuelAdd = scalar, F32, 1228, "g", 1, 0 -lua_fuelMult = scalar, F32, 1232, "", 1, 0 -lua_clutchUpState = bits, U32, 1236, [0:0] -lua_brakePedalState = bits, U32, 1236, [1:1] -lua_acRequestState = bits, U32, 1236, [2:2] -lua_luaDisableEtb = bits, U32, 1236, [3:3] -lua_luaIgnCut = bits, U32, 1236, [4:4] -lua_luaFuelCut = bits, U32, 1236, [5:5] -lua_clutchDownState = bits, U32, 1236, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1236, [7:7] -lua_torqueReductionState = bits, U32, 1236, [8:8] -sd_tCharge = scalar, S16, 1240, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1244, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1248, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1252, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1256, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1260, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1264, "", 1, 0 -hellenBoardId = scalar, S16, 1268, "id", 1, 0 -clutchUpState = scalar, S08, 1270, "", 1, 0 -brakePedalState = scalar, S08, 1271, "", 1, 0 -startStopState = scalar, S08, 1272, "", 1, 0 -smartChipState = scalar, S08, 1273, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1274, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1275, "", 1, 0 -startStopPhysicalState = bits, U32, 1276, [0:0] -acrActive = bits, U32, 1276, [1:1] -acrEngineMovedRecently = bits, U32, 1276, [2:2] -heaterControlEnabled = bits, U32, 1276, [3:3] -luaDigitalState0 = bits, U32, 1276, [4:4] -luaDigitalState1 = bits, U32, 1276, [5:5] -luaDigitalState2 = bits, U32, 1276, [6:6] -luaDigitalState3 = bits, U32, 1276, [7:7] -clutchDownState = bits, U32, 1276, [8:8] -startStopStateToggleCounter = scalar, U32, 1280, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1284, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1288, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1292, "", 1, 0 -fuelInjectionCounter = scalar, U32, 1296, "", 1, 0 -globalSparkCounter = scalar, U32, 1300, "", 1, 0 -fuelingLoad = scalar, F32, 1304, "", 1, 0 -ignitionLoad = scalar, F32, 1308, "", 1, 0 -veTableYAxis = scalar, U16, 1312, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1314, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1315, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1316, "", 1, 0 -; total TS size = 1320 -tpsFrom = scalar, F32, 1320 -tpsTo = scalar, F32, 1324 -deltaTps = scalar, F32, 1328 -extraFuel = scalar, F32, 1332, "", 1, 0 -valueFromTable = scalar, F32, 1336, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1340, [0:0] -isBelowDecelThreshold = bits, U32, 1340, [1:1] -isTimeToResetAccumulator = bits, U32, 1340, [2:2] -isFractionalEnrichment = bits, U32, 1340, [3:3] -belowEpsilon = bits, U32, 1340, [4:4] -tooShort = bits, U32, 1340, [5:5] -fractionalInjFuel = scalar, F32, 1344, "", 1, 0 -accumulatedValue = scalar, F32, 1348, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1352, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1356, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1360, "", 1, 0 -cycleCnt = scalar, S32, 1364, "", 1, 0 -; total TS size = 1368 -hwEventCounters1 = scalar, U16, 1368, "", 1, 0 -hwEventCounters2 = scalar, U16, 1370, "", 1, 0 -hwEventCounters3 = scalar, U16, 1372, "", 1, 0 -hwEventCounters4 = scalar, U16, 1374, "", 1, 0 -vvtCamCounter = scalar, U16, 1376, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1380, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1384, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1388, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1389, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1392, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1396, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1400, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1404, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1408, [0:0] -triggerElapsedUs = scalar, U32, 1412, "", 1, 0 -; total TS size = 1416 -trgsynchronizationCounter = scalar, U32, 1416, "", 1, 0 -trgvvtToothDurations0 = scalar, U32, 1420, "us", 1, 0 -trgvvtCurrentPosition = scalar, F32, 1424, "", 1, 0 -trgvvtToothPosition1 = scalar, F32, 1428, "", 1, 0 -trgvvtToothPosition2 = scalar, F32, 1432, "", 1, 0 -trgvvtToothPosition3 = scalar, F32, 1436, "", 1, 0 -trgvvtToothPosition4 = scalar, F32, 1440, "", 1, 0 -trgtriggerSyncGapRatio = scalar, F32, 1444, "", 1, 0 -trgtriggerStateIndex = scalar, U08, 1448, "", 1, 0 -; total TS size = 1452 -vvt1isynchronizationCounter = scalar, U32, 1452, "", 1, 0 -vvt1ivvtToothDurations0 = scalar, U32, 1456, "us", 1, 0 -vvt1ivvtCurrentPosition = scalar, F32, 1460, "", 1, 0 -vvt1ivvtToothPosition1 = scalar, F32, 1464, "", 1, 0 -vvt1ivvtToothPosition2 = scalar, F32, 1468, "", 1, 0 -vvt1ivvtToothPosition3 = scalar, F32, 1472, "", 1, 0 -vvt1ivvtToothPosition4 = scalar, F32, 1476, "", 1, 0 -vvt1itriggerSyncGapRatio = scalar, F32, 1480, "", 1, 0 -vvt1itriggerStateIndex = scalar, U08, 1484, "", 1, 0 -; total TS size = 1488 -vvt1esynchronizationCounter = scalar, U32, 1488, "", 1, 0 -vvt1evvtToothDurations0 = scalar, U32, 1492, "us", 1, 0 -vvt1evvtCurrentPosition = scalar, F32, 1496, "", 1, 0 -vvt1evvtToothPosition1 = scalar, F32, 1500, "", 1, 0 -vvt1evvtToothPosition2 = scalar, F32, 1504, "", 1, 0 -vvt1evvtToothPosition3 = scalar, F32, 1508, "", 1, 0 -vvt1evvtToothPosition4 = scalar, F32, 1512, "", 1, 0 -vvt1etriggerSyncGapRatio = scalar, F32, 1516, "", 1, 0 -vvt1etriggerStateIndex = scalar, U08, 1520, "", 1, 0 -; total TS size = 1524 -vvt2isynchronizationCounter = scalar, U32, 1524, "", 1, 0 -vvt2ivvtToothDurations0 = scalar, U32, 1528, "us", 1, 0 -vvt2ivvtCurrentPosition = scalar, F32, 1532, "", 1, 0 -vvt2ivvtToothPosition1 = scalar, F32, 1536, "", 1, 0 -vvt2ivvtToothPosition2 = scalar, F32, 1540, "", 1, 0 -vvt2ivvtToothPosition3 = scalar, F32, 1544, "", 1, 0 -vvt2ivvtToothPosition4 = scalar, F32, 1548, "", 1, 0 -vvt2itriggerSyncGapRatio = scalar, F32, 1552, "", 1, 0 -vvt2itriggerStateIndex = scalar, U08, 1556, "", 1, 0 -; total TS size = 1560 -vvt2esynchronizationCounter = scalar, U32, 1560, "", 1, 0 -vvt2evvtToothDurations0 = scalar, U32, 1564, "us", 1, 0 -vvt2evvtCurrentPosition = scalar, F32, 1568, "", 1, 0 -vvt2evvtToothPosition1 = scalar, F32, 1572, "", 1, 0 -vvt2evvtToothPosition2 = scalar, F32, 1576, "", 1, 0 -vvt2evvtToothPosition3 = scalar, F32, 1580, "", 1, 0 -vvt2evvtToothPosition4 = scalar, F32, 1584, "", 1, 0 -vvt2etriggerSyncGapRatio = scalar, F32, 1588, "", 1, 0 -vvt2etriggerStateIndex = scalar, U08, 1592, "", 1, 0 -; total TS size = 1596 -camResyncCounter = scalar, U08, 1596, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1600, [0:0] -; total TS size = 1604 -wallFuelCorrection = scalar, F32, 1604, "", 1, 0 -wallFuel = scalar, F32, 1608, "", 1, 0 -; total TS size = 1612 -idleState = bits, S32, 1612, [0:2], "not important" -currentIdlePosition = scalar, F32, 1616 -baseIdlePosition = scalar, F32, 1620 -idleClosedLoop = scalar, F32, 1624 -iacByTpsTaper = scalar, F32, 1628 -mightResetPid = bits, U32, 1632, [0:0] -shouldResetPid = bits, U32, 1632, [1:1] -wasResetPid = bits, U32, 1632, [2:2] -mustResetPid = bits, U32, 1632, [3:3] -isCranking = bits, U32, 1632, [4:4] -isIacTableForCoasting = bits, U32, 1632, [5:5] -notIdling = bits, U32, 1632, [6:6] -needReset = bits, U32, 1632, [7:7] -isInDeadZone = bits, U32, 1632, [8:8] -isBlipping = bits, U32, 1632, [9:9] -useClosedLoop = bits, U32, 1632, [10:10] -badTps = bits, U32, 1632, [11:11] -looksLikeRunning = bits, U32, 1632, [12:12] -looksLikeCoasting = bits, U32, 1632, [13:13] -looksLikeCrankToIdle = bits, U32, 1632, [14:14] -isIdleCoasting = bits, U32, 1632, [15:15] -isIdleClosedLoop = bits, U32, 1632, [16:16] -idleTarget = scalar, S32, 1636, "", 1, 0 -targetRpmByClt = scalar, S32, 1640, "", 1, 0 -targetRpmAc = scalar, S32, 1644, "", 1, 0 -iacByRpmTaper = scalar, F32, 1648 -luaAdd = scalar, F32, 1652 -; total TS size = 1656 -etb1targetWithIdlePosition = scalar, F32, 1656, "%", 1,0 -etb1trim = scalar, F32, 1660, "", 1, 0 -etb1luaAdjustment = scalar, F32, 1664, "%", 1,0 -etb1m_wastegatePosition = scalar, F32, 1668, "%", 1,0 -etb1etbFeedForward = scalar, F32, 1672 -etb1etbIntegralError = scalar, F32, 1676, "", 1, 0 -etb1etbCurrentTarget = scalar, F32, 1680, "%", 1, 0 -etb1m_adjustedTarget = scalar, S16, 1684, "%", 0.01, 0 -etb1etbRevLimitActive = bits, U32, 1688, [0:0] -etb1jamDetected = bits, U32, 1688, [1:1] -etb1validPlantPosition = bits, U32, 1688, [2:2] -etb1etbTpsErrorCounter = scalar, U16, 1692, "count", 1,0 -etb1etbPpsErrorCounter = scalar, U16, 1694, "count", 1,0 -etb1etbErrorCode = scalar, S08, 1696, "", 1, 0 -etb1etbErrorCodeBlinker = scalar, S08, 1697, "", 1, 0 -etb1tcEtbDrop = scalar, S08, 1698, "%", 1, 0 -etb1jamTimer = scalar, U16, 1700, "sec", 0.01, 0 -etb1adjustedEtbTarget = scalar, S08, 1702, "%", 1, 0 -etb1state = scalar, U08, 1703, "", 1, 0 -; total TS size = 1704 -etb2targetWithIdlePosition = scalar, F32, 1704, "%", 1,0 -etb2trim = scalar, F32, 1708, "", 1, 0 -etb2luaAdjustment = scalar, F32, 1712, "%", 1,0 -etb2m_wastegatePosition = scalar, F32, 1716, "%", 1,0 -etb2etbFeedForward = scalar, F32, 1720 -etb2etbIntegralError = scalar, F32, 1724, "", 1, 0 -etb2etbCurrentTarget = scalar, F32, 1728, "%", 1, 0 -etb2m_adjustedTarget = scalar, S16, 1732, "%", 0.01, 0 -etb2etbRevLimitActive = bits, U32, 1736, [0:0] -etb2jamDetected = bits, U32, 1736, [1:1] -etb2validPlantPosition = bits, U32, 1736, [2:2] -etb2etbTpsErrorCounter = scalar, U16, 1740, "count", 1,0 -etb2etbPpsErrorCounter = scalar, U16, 1742, "count", 1,0 -etb2etbErrorCode = scalar, S08, 1744, "", 1, 0 -etb2etbErrorCodeBlinker = scalar, S08, 1745, "", 1, 0 -etb2tcEtbDrop = scalar, S08, 1746, "%", 1, 0 -etb2jamTimer = scalar, U16, 1748, "sec", 0.01, 0 -etb2adjustedEtbTarget = scalar, S08, 1750, "%", 1, 0 -etb2state = scalar, U08, 1751, "", 1, 0 -; total TS size = 1752 -wb1faultCode = scalar, U08, 1752, "", 1, 0 -wb1heaterDuty = scalar, U08, 1753, "%", 1, 0 -wb1pumpDuty = scalar, U08, 1754, "%", 1, 0 -wb1tempC = scalar, U16, 1756, "C", 1, 0 -wb1nernstVoltage = scalar, U16, 1758, "V", 0.001, 0 -wb1esr = scalar, U16, 1760, "ohm", 1, 0 -; total TS size = 1764 -wb2faultCode = scalar, U08, 1764, "", 1, 0 -wb2heaterDuty = scalar, U08, 1765, "%", 1, 0 -wb2pumpDuty = scalar, U08, 1766, "%", 1, 0 -wb2tempC = scalar, U16, 1768, "C", 1, 0 -wb2nernstVoltage = scalar, U16, 1770, "V", 0.001, 0 -wb2esr = scalar, U16, 1772, "ohm", 1, 0 -; total TS size = 1776 -dcOutput0 = scalar, F32, 1776, "%", 1,0 -isEnabled0_int = scalar, U08, 1780, "%", 1,0 -isEnabled0 = bits, U32, 1784, [0:0] -; total TS size = 1788 -value0 = scalar, U16, 1788, "RAW", 1,0 -value1 = scalar, U16, 1790, "RAW", 1,0 -errorRate = scalar, F32, 1792, "% (don't belive me)", 1,0 -; total TS size = 1796 -vvtTarget = scalar, U16, 1796, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1798, "%", 0.5, 0 +isBenchTest = bits, U32, 1228, [0:0] +hasIgnitionVoltage = bits, U32, 1228, [1:1] +mainRelayState = bits, U32, 1228, [2:2] +delayedShutoffRequested = bits, U32, 1228, [3:3] +; total TS size = 1232 +lua_fuelAdd = scalar, F32, 1232, "g", 1, 0 +lua_fuelMult = scalar, F32, 1236, "", 1, 0 +lua_clutchUpState = bits, U32, 1240, [0:0] +lua_brakePedalState = bits, U32, 1240, [1:1] +lua_acRequestState = bits, U32, 1240, [2:2] +lua_luaDisableEtb = bits, U32, 1240, [3:3] +lua_luaIgnCut = bits, U32, 1240, [4:4] +lua_luaFuelCut = bits, U32, 1240, [5:5] +lua_clutchDownState = bits, U32, 1240, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1240, [7:7] +lua_torqueReductionState = bits, U32, 1240, [8:8] +sd_tCharge = scalar, S16, 1244, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1248, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1252, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1256, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1260, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1264, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1268, "", 1, 0 +hellenBoardId = scalar, S16, 1272, "id", 1, 0 +clutchUpState = scalar, S08, 1274, "", 1, 0 +brakePedalState = scalar, S08, 1275, "", 1, 0 +startStopState = scalar, S08, 1276, "", 1, 0 +smartChipState = scalar, S08, 1277, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1278, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1279, "", 1, 0 +startStopPhysicalState = bits, U32, 1280, [0:0] +acrActive = bits, U32, 1280, [1:1] +acrEngineMovedRecently = bits, U32, 1280, [2:2] +heaterControlEnabled = bits, U32, 1280, [3:3] +luaDigitalState0 = bits, U32, 1280, [4:4] +luaDigitalState1 = bits, U32, 1280, [5:5] +luaDigitalState2 = bits, U32, 1280, [6:6] +luaDigitalState3 = bits, U32, 1280, [7:7] +clutchDownState = bits, U32, 1280, [8:8] +startStopStateToggleCounter = scalar, U32, 1284, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1288, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1292, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1296, "", 1, 0 +fuelInjectionCounter = scalar, U32, 1300, "", 1, 0 +globalSparkCounter = scalar, U32, 1304, "", 1, 0 +fuelingLoad = scalar, F32, 1308, "", 1, 0 +ignitionLoad = scalar, F32, 1312, "", 1, 0 +veTableYAxis = scalar, U16, 1316, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1318, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1319, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1320, "", 1, 0 +; total TS size = 1324 +tpsFrom = scalar, F32, 1324 +tpsTo = scalar, F32, 1328 +deltaTps = scalar, F32, 1332 +extraFuel = scalar, F32, 1336, "", 1, 0 +valueFromTable = scalar, F32, 1340, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1344, [0:0] +isBelowDecelThreshold = bits, U32, 1344, [1:1] +isTimeToResetAccumulator = bits, U32, 1344, [2:2] +isFractionalEnrichment = bits, U32, 1344, [3:3] +belowEpsilon = bits, U32, 1344, [4:4] +tooShort = bits, U32, 1344, [5:5] +fractionalInjFuel = scalar, F32, 1348, "", 1, 0 +accumulatedValue = scalar, F32, 1352, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1356, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1360, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1364, "", 1, 0 +cycleCnt = scalar, S32, 1368, "", 1, 0 +; total TS size = 1372 +hwEventCounters1 = scalar, U16, 1372, "", 1, 0 +hwEventCounters2 = scalar, U16, 1374, "", 1, 0 +hwEventCounters3 = scalar, U16, 1376, "", 1, 0 +hwEventCounters4 = scalar, U16, 1378, "", 1, 0 +vvtCamCounter = scalar, U16, 1380, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1384, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1388, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1392, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1393, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1396, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1400, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1404, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1408, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1412, [0:0] +triggerElapsedUs = scalar, U32, 1416, "", 1, 0 +; total TS size = 1420 +trgsynchronizationCounter = scalar, U32, 1420, "", 1, 0 +trgvvtToothDurations0 = scalar, U32, 1424, "us", 1, 0 +trgvvtCurrentPosition = scalar, F32, 1428, "", 1, 0 +trgvvtToothPosition1 = scalar, F32, 1432, "", 1, 0 +trgvvtToothPosition2 = scalar, F32, 1436, "", 1, 0 +trgvvtToothPosition3 = scalar, F32, 1440, "", 1, 0 +trgvvtToothPosition4 = scalar, F32, 1444, "", 1, 0 +trgtriggerSyncGapRatio = scalar, F32, 1448, "", 1, 0 +trgtriggerStateIndex = scalar, U08, 1452, "", 1, 0 +; total TS size = 1456 +vvt1isynchronizationCounter = scalar, U32, 1456, "", 1, 0 +vvt1ivvtToothDurations0 = scalar, U32, 1460, "us", 1, 0 +vvt1ivvtCurrentPosition = scalar, F32, 1464, "", 1, 0 +vvt1ivvtToothPosition1 = scalar, F32, 1468, "", 1, 0 +vvt1ivvtToothPosition2 = scalar, F32, 1472, "", 1, 0 +vvt1ivvtToothPosition3 = scalar, F32, 1476, "", 1, 0 +vvt1ivvtToothPosition4 = scalar, F32, 1480, "", 1, 0 +vvt1itriggerSyncGapRatio = scalar, F32, 1484, "", 1, 0 +vvt1itriggerStateIndex = scalar, U08, 1488, "", 1, 0 +; total TS size = 1492 +vvt1esynchronizationCounter = scalar, U32, 1492, "", 1, 0 +vvt1evvtToothDurations0 = scalar, U32, 1496, "us", 1, 0 +vvt1evvtCurrentPosition = scalar, F32, 1500, "", 1, 0 +vvt1evvtToothPosition1 = scalar, F32, 1504, "", 1, 0 +vvt1evvtToothPosition2 = scalar, F32, 1508, "", 1, 0 +vvt1evvtToothPosition3 = scalar, F32, 1512, "", 1, 0 +vvt1evvtToothPosition4 = scalar, F32, 1516, "", 1, 0 +vvt1etriggerSyncGapRatio = scalar, F32, 1520, "", 1, 0 +vvt1etriggerStateIndex = scalar, U08, 1524, "", 1, 0 +; total TS size = 1528 +vvt2isynchronizationCounter = scalar, U32, 1528, "", 1, 0 +vvt2ivvtToothDurations0 = scalar, U32, 1532, "us", 1, 0 +vvt2ivvtCurrentPosition = scalar, F32, 1536, "", 1, 0 +vvt2ivvtToothPosition1 = scalar, F32, 1540, "", 1, 0 +vvt2ivvtToothPosition2 = scalar, F32, 1544, "", 1, 0 +vvt2ivvtToothPosition3 = scalar, F32, 1548, "", 1, 0 +vvt2ivvtToothPosition4 = scalar, F32, 1552, "", 1, 0 +vvt2itriggerSyncGapRatio = scalar, F32, 1556, "", 1, 0 +vvt2itriggerStateIndex = scalar, U08, 1560, "", 1, 0 +; total TS size = 1564 +vvt2esynchronizationCounter = scalar, U32, 1564, "", 1, 0 +vvt2evvtToothDurations0 = scalar, U32, 1568, "us", 1, 0 +vvt2evvtCurrentPosition = scalar, F32, 1572, "", 1, 0 +vvt2evvtToothPosition1 = scalar, F32, 1576, "", 1, 0 +vvt2evvtToothPosition2 = scalar, F32, 1580, "", 1, 0 +vvt2evvtToothPosition3 = scalar, F32, 1584, "", 1, 0 +vvt2evvtToothPosition4 = scalar, F32, 1588, "", 1, 0 +vvt2etriggerSyncGapRatio = scalar, F32, 1592, "", 1, 0 +vvt2etriggerStateIndex = scalar, U08, 1596, "", 1, 0 +; total TS size = 1600 +camResyncCounter = scalar, U08, 1600, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1604, [0:0] +; total TS size = 1608 +wallFuelCorrection = scalar, F32, 1608, "", 1, 0 +wallFuel = scalar, F32, 1612, "", 1, 0 +; total TS size = 1616 +idleState = bits, S32, 1616, [0:2], "not important" +currentIdlePosition = scalar, F32, 1620 +baseIdlePosition = scalar, F32, 1624 +idleClosedLoop = scalar, F32, 1628 +iacByTpsTaper = scalar, F32, 1632 +mightResetPid = bits, U32, 1636, [0:0] +shouldResetPid = bits, U32, 1636, [1:1] +wasResetPid = bits, U32, 1636, [2:2] +mustResetPid = bits, U32, 1636, [3:3] +isCranking = bits, U32, 1636, [4:4] +isIacTableForCoasting = bits, U32, 1636, [5:5] +notIdling = bits, U32, 1636, [6:6] +needReset = bits, U32, 1636, [7:7] +isInDeadZone = bits, U32, 1636, [8:8] +isBlipping = bits, U32, 1636, [9:9] +useClosedLoop = bits, U32, 1636, [10:10] +badTps = bits, U32, 1636, [11:11] +looksLikeRunning = bits, U32, 1636, [12:12] +looksLikeCoasting = bits, U32, 1636, [13:13] +looksLikeCrankToIdle = bits, U32, 1636, [14:14] +isIdleCoasting = bits, U32, 1636, [15:15] +isIdleClosedLoop = bits, U32, 1636, [16:16] +idleTarget = scalar, S32, 1640, "", 1, 0 +targetRpmByClt = scalar, S32, 1644, "", 1, 0 +targetRpmAc = scalar, S32, 1648, "", 1, 0 +iacByRpmTaper = scalar, F32, 1652 +luaAdd = scalar, F32, 1656 +; total TS size = 1660 +etb1targetWithIdlePosition = scalar, F32, 1660, "%", 1,0 +etb1trim = scalar, F32, 1664, "", 1, 0 +etb1luaAdjustment = scalar, F32, 1668, "%", 1,0 +etb1m_wastegatePosition = scalar, F32, 1672, "%", 1,0 +etb1etbFeedForward = scalar, F32, 1676 +etb1etbIntegralError = scalar, F32, 1680, "", 1, 0 +etb1etbCurrentTarget = scalar, F32, 1684, "%", 1, 0 +etb1m_adjustedTarget = scalar, S16, 1688, "%", 0.01, 0 +etb1etbRevLimitActive = bits, U32, 1692, [0:0] +etb1jamDetected = bits, U32, 1692, [1:1] +etb1validPlantPosition = bits, U32, 1692, [2:2] +etb1etbTpsErrorCounter = scalar, U16, 1696, "count", 1,0 +etb1etbPpsErrorCounter = scalar, U16, 1698, "count", 1,0 +etb1etbErrorCode = scalar, S08, 1700, "", 1, 0 +etb1etbErrorCodeBlinker = scalar, S08, 1701, "", 1, 0 +etb1tcEtbDrop = scalar, S08, 1702, "%", 1, 0 +etb1jamTimer = scalar, U16, 1704, "sec", 0.01, 0 +etb1adjustedEtbTarget = scalar, S08, 1706, "%", 1, 0 +etb1state = scalar, U08, 1707, "", 1, 0 +; total TS size = 1708 +etb2targetWithIdlePosition = scalar, F32, 1708, "%", 1,0 +etb2trim = scalar, F32, 1712, "", 1, 0 +etb2luaAdjustment = scalar, F32, 1716, "%", 1,0 +etb2m_wastegatePosition = scalar, F32, 1720, "%", 1,0 +etb2etbFeedForward = scalar, F32, 1724 +etb2etbIntegralError = scalar, F32, 1728, "", 1, 0 +etb2etbCurrentTarget = scalar, F32, 1732, "%", 1, 0 +etb2m_adjustedTarget = scalar, S16, 1736, "%", 0.01, 0 +etb2etbRevLimitActive = bits, U32, 1740, [0:0] +etb2jamDetected = bits, U32, 1740, [1:1] +etb2validPlantPosition = bits, U32, 1740, [2:2] +etb2etbTpsErrorCounter = scalar, U16, 1744, "count", 1,0 +etb2etbPpsErrorCounter = scalar, U16, 1746, "count", 1,0 +etb2etbErrorCode = scalar, S08, 1748, "", 1, 0 +etb2etbErrorCodeBlinker = scalar, S08, 1749, "", 1, 0 +etb2tcEtbDrop = scalar, S08, 1750, "%", 1, 0 +etb2jamTimer = scalar, U16, 1752, "sec", 0.01, 0 +etb2adjustedEtbTarget = scalar, S08, 1754, "%", 1, 0 +etb2state = scalar, U08, 1755, "", 1, 0 +; total TS size = 1756 +wb1faultCode = scalar, U08, 1756, "", 1, 0 +wb1heaterDuty = scalar, U08, 1757, "%", 1, 0 +wb1pumpDuty = scalar, U08, 1758, "%", 1, 0 +wb1tempC = scalar, U16, 1760, "C", 1, 0 +wb1nernstVoltage = scalar, U16, 1762, "V", 0.001, 0 +wb1esr = scalar, U16, 1764, "ohm", 1, 0 +; total TS size = 1768 +wb2faultCode = scalar, U08, 1768, "", 1, 0 +wb2heaterDuty = scalar, U08, 1769, "%", 1, 0 +wb2pumpDuty = scalar, U08, 1770, "%", 1, 0 +wb2tempC = scalar, U16, 1772, "C", 1, 0 +wb2nernstVoltage = scalar, U16, 1774, "V", 0.001, 0 +wb2esr = scalar, U16, 1776, "ohm", 1, 0 +; total TS size = 1780 +dcOutput0 = scalar, F32, 1780, "%", 1,0 +isEnabled0_int = scalar, U08, 1784, "%", 1,0 +isEnabled0 = bits, U32, 1788, [0:0] +; total TS size = 1792 +value0 = scalar, U16, 1792, "RAW", 1,0 +value1 = scalar, U16, 1794, "RAW", 1,0 +errorRate = scalar, F32, 1796, "% (don't belive me)", 1,0 ; total TS size = 1800 -lambdaCurrentlyGood = bits, U32, 1800, [0:0] -lambdaMonitorCut = bits, U32, 1800, [1:1] -lambdaTimeSinceGood = scalar, U16, 1804, "sec", 0.01, 0 -; total TS size = 1808 +vvtTarget = scalar, U16, 1800, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1802, "%", 0.5, 0 +; total TS size = 1804 +lambdaCurrentlyGood = bits, U32, 1804, [0:0] +lambdaMonitorCut = bits, U32, 1804, [1:1] +lambdaTimeSinceGood = scalar, U16, 1808, "sec", 0.01, 0 +; total TS size = 1812 time = { timeNow } @@ -4594,6 +4597,12 @@ curve = rangeMatrix, "Range Switch Input Matrix" gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. upDownLabel = "(RICHER)", "(LEANER)" + table = trailingSparkTable, trailingSparkMap, "Trailing spark", 1 + xyLabels = "RPM", "Ignition Load" + xBins = trailingSparkRpmBins, RPMValue + yBins = trailingSparkLoadBins, ignitionLoad + zBins = trailingSparkTable + table = torqueTableTbl, torqueTableMap, "Engine Torque", 1 xBins = torqueRpmBins, RPMValue yBins = torqueLoadBins, veTableYAxis @@ -4891,6 +4900,7 @@ timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20 timingPidCorrectionGauge = timingPidCorrection,"Idle: Timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 +trailingSparkAngleGauge = trailingSparkAngle,"Ign: Trailing spark deg", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 gaugeCategory = "Boost Control" luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 @@ -5822,6 +5832,7 @@ entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" entry = luaIgnitionSkip, "Ign: Lua Spark Skip", int, "%d" +entry = trailingSparkAngle, "Ign: Trailing spark deg", float, "%.3f" entry = m_knockLevel, "Knock: Current level", float, "%.3f" entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" @@ -6788,6 +6799,7 @@ dialog = ignition_stateDialog, "ignition_state" graphLine = luaTimingAdd liveGraph = ignition_state_4_Graph, "Graph", South graphLine = luaTimingMult + graphLine = trailingSparkAngle dialog = knock_controllerDialog, "knock_controller" @@ -10078,11 +10090,11 @@ dialog = tcuControls, "Transmission Settings" dialog = rotaryDialog, "Rotary" field = "Enable Trailing Sparks", enableTrailingSparks - field = "Trailing Spark Offset", trailingSparkAngle field = "Trailing Pin 1", trailingCoilPins1 field = "Trailing Pin 2", trailingCoilPins2 field = "Trailing Pin 3", trailingCoilPins3 field = "Trailing Pin 4", trailingCoilPins4 + panel = trailingSparkTable dialog = fancyHardwareDialog, "Board Control" field = "A4 Tachometer Output 5V/12V Pull-Up", boardUseTachPullUp diff --git a/firmware/tunerstudio/generated/rusefi_alphax-4chan_f7.ini b/firmware/tunerstudio/generated/rusefi_alphax-4chan_f7.ini index 658eb98ccc..a44b689e6b 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.2025.02.07.alphax-4chan_f7.3568912491" + signature = "rusEFI master.2025.02.07.alphax-4chan_f7.1396360966" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2025.02.07.alphax-4chan_f7.3568912491" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2025.02.07.alphax-4chan_f7.1396360966" ; 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 @@ -101,7 +101,7 @@ enable2ndByteCanID = false ; CONFIG_DEFINITION_START ; this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt -pageSize = 23284 +pageSize = 23308 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",22="BMW_M52",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",21="ET_BOSCH_QUICK_START",24="ET_TEST_WITH_BOSCH_QUICK_START",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",41="FRANKENSO_MIATA_NA6_MAP",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",47="GM_LCV",55="GM_LTG",98="GM_SBC",49="GM_SBC_GEN5",8="GY6_139QMB",6="HARLEY",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",34="MAZDA_MIATA_NA6",80="MAZDA_MIATA_NA94",10="MAZDA_MIATA_NA96",83="MAZDA_MIATA_NB1",69="MAZDA_MIATA_NB2",86="MAZDA_MIATA_NB2_36",20="MAZDA_MIATA_NC",33="ME17_9_MISC",68="MERCEDES_M111",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",4="MRE_SECONDARY_CAN",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",35="POLARIS",9="POLARIS_RZR",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",27="PROTEUS_GM_LS_4",25="PROTEUS_LUA_DEMO",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",17="TCU_4R70W",100="TEST_100",101="TEST_101",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",93="TEST_ISSUE_6451",19="TEST_ROTARY",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",102="UNUSED102",67="UNUSED67",94="UNUSED94",65="UNUSED_65",97="UNUSED_97",77="VAG_5_CYL",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -245,7 +245,7 @@ vbattAdcChannel = bits, U08, 513, [0:5], $adc_channel_e_list fuelLevelSensor = bits, U08, 514, [0:5], $adc_channel_e_list tps2_1AdcChannel = bits, U08, 515, [0:5], $adc_channel_e_list idle_derivativeFilterLoss = scalar, F32, 516, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 520, "angle", 1, 0, 0, 720, 0 +unusedTrailingSparkAngle = scalar, S32, 520, "", 1, 0, 0, 100, 0 trigger_type = bits, U32, 524, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Daihatsu 3 cylinder", "Mazda SOHC 4", "60-2", "36-1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "Dodge Ram 1+16", "60-2 Wrong Polarity", "Benelli Tre", "Dodge Stratus", "36_2_2_2", "Nissan Primera", "dev 2JZ 3/34 simulator", "Rover K", "GM 24x 5 degree", "Honda CBR 600 Cam", "INVALID", "Honda CBR 600 custom", "3-1 skipped", "Dodge Neon 2003 crank", "Miata NB", "INVALID", "INVALID", "Subaru 7+6", "Jeep 18-2-2-2", "12crank/24cam", "Dodge Neon 1995 crank only", "Jeep XJ 4 cyl", "FiatIAQ_P8", "Mazda Z5", "INVALID", "Renix 44-2-2", "Renix 66-2-2-2", "Honda K 12+1", "INVALID", "36-2", "Subaru SVX", "Suzuki K6A", "Subaru 7 without 6", "INVALID", "INVALID", "GM 60-2-2-2", "Skoda Favorit", "Barra 3+1 Cam", "Kawa KX450F", "Nissan VQ35", "INVALID", "Nissan VQ30", "Nissan QR25", "INVALID", "Subaru SVX Crank 1", "Subaru SVX Cam VVT", "Ford PIP", "Suzuki G13B", "Honda K 4+1", "Nissan MR18 Crank", "32-2", "36-2-1", "36-2-1-1", "3-0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6-0", "Daihatsu 4 cylinder", "INVALID", "dev", "Nissan HR", "Arctic Cat", "HR12 in", "HONDA J30A2", "trg88", "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" trigger_customTotalToothCount = scalar, S32, 528, "number", 1, 0, 1, 300, 0 trigger_customSkippedToothCount = scalar, S32, 532, "number", 1, 0, 0, 300, 0 @@ -1796,17 +1796,20 @@ dynoCarCarMassKg = scalar, S16, 23268, "", 1, 0, 0, 32000, 0 dynoCarCargoMassKg = scalar, S16, 23270, "", 1, 0, 0, 32000, 0 dynoCarCoeffOfDrag = scalar, F32, 23272, "", 1, 0, 0, 100, 0 dynoCarFrontalAreaM2 = scalar, F32, 23276, "", 1, 0, 0, 100, 0 -boardUseTachPullUp = bits, U32, 23280, [0:0], "5v", "12v" -boardUseCrankPullUp = bits, U32, 23280, [1:1], "VR", "Hall" -boardUseTempPullUp = bits, U32, 23280, [2:2], "Piggyback Mode", "With Pull Ups" -boardUse2stepPullDown = bits, U32, 23280, [3:3], "With Pull Up", "With Pull Down" -boardUseCamPullDown = bits, U32, 23280, [4:4], "With Pull Up", "With Pull Down" -boardUseD4PullDown = bits, U32, 23280, [5:5], "With Pull Up", "With Pull Down" -boardUseD5PullDown = bits, U32, 23280, [6:6], "With Pull Up", "With Pull Down" -boardUseCamVrPullUp = bits, U32, 23280, [7:7], "VR", "Hall" -boardUseD2PullDown = bits, U32, 23280, [8:8], "With Pull Up", "With Pull Down" -boardUseD3PullDown = bits, U32, 23280, [9:9], "With Pull Up", "With Pull Down" -; total TS size = 23284 +trailingSparkTable = array, S08, 23280, [4x4], "deg", 0.1, 0, 0, 20, 1 +trailingSparkRpmBins = array, U08, 23296, [4], "rpm", 50.0, 0, 0, 12000, 0 +trailingSparkLoadBins = array, U08, 23300, [4], "Load", 5.0, 0, 0, 1000, 0 +boardUseTachPullUp = bits, U32, 23304, [0:0], "5v", "12v" +boardUseCrankPullUp = bits, U32, 23304, [1:1], "VR", "Hall" +boardUseTempPullUp = bits, U32, 23304, [2:2], "Piggyback Mode", "With Pull Ups" +boardUse2stepPullDown = bits, U32, 23304, [3:3], "With Pull Up", "With Pull Down" +boardUseCamPullDown = bits, U32, 23304, [4:4], "With Pull Up", "With Pull Down" +boardUseD4PullDown = bits, U32, 23304, [5:5], "With Pull Up", "With Pull Down" +boardUseD5PullDown = bits, U32, 23304, [6:6], "With Pull Up", "With Pull Down" +boardUseCamVrPullUp = bits, U32, 23304, [7:7], "VR", "Hall" +boardUseD2PullDown = bits, U32, 23304, [8:8], "With Pull Up", "With Pull Down" +boardUseD3PullDown = bits, U32, 23304, [9:9], "With Pull Up", "With Pull Down" +; total TS size = 23308 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1900,7 +1903,6 @@ boardUseD3PullDown = bits, U32, 23280, [9:9], "With Pull Up", "With Pull Down" fuelLevelSensor = "This is the processor pin that your fuel level sensor in connected to. This is a non standard input so will need to be user defined." tps2_1AdcChannel = "Second throttle body position sensor, single channel so far" idle_derivativeFilterLoss = "0.1 is a good default value" - trailingSparkAngle = "just a temporary solution" trigger_type = "https://github.com/rusefi/rusefi/wiki/All-Supported-Triggers" airByRpmTaper = "Extra air taper amount" boostControlSafeDutyCycle = "Duty cycle to use in case of a sensor failure. This duty cycle should produce the minimum possible amount of boost. This duty is also used in case any of the minimum RPM/TPS/MAP conditions are not met." @@ -2674,7 +2676,7 @@ boardUseD3PullDown = bits, U32, 23280, [9:9], "With Pull Up", "With Pull Down" ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1808 + ochBlockSize = 1812 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3199,417 +3201,418 @@ dwellVoltageCorrection = scalar, F32, 940, "", 1, 0 luaTimingAdd = scalar, F32, 944, "deg", 1, 0 luaTimingMult = scalar, F32, 948, "deg", 1, 0 luaIgnitionSkip = bits, U32, 952, [0:0] -; total TS size = 956 -m_knockLevel = scalar, F32, 956, "Volts", 1, 0 -m_knockCyl1 = scalar, S08, 960, "dBv", 1, 0 -m_knockCyl2 = scalar, S08, 961, "dBv", 1, 0 -m_knockCyl3 = scalar, S08, 962, "dBv", 1, 0 -m_knockCyl4 = scalar, S08, 963, "dBv", 1, 0 -m_knockCyl5 = scalar, S08, 964, "dBv", 1, 0 -m_knockCyl6 = scalar, S08, 965, "dBv", 1, 0 -m_knockCyl7 = scalar, S08, 966, "dBv", 1, 0 -m_knockCyl8 = scalar, S08, 967, "dBv", 1, 0 -m_knockCyl9 = scalar, S08, 968, "dBv", 1, 0 -m_knockCyl10 = scalar, S08, 969, "dBv", 1, 0 -m_knockCyl11 = scalar, S08, 970, "dBv", 1, 0 -m_knockCyl12 = scalar, S08, 971, "dBv", 1, 0 -m_knockRetard = scalar, F32, 972, "deg", 1,0 -m_knockThreshold = scalar, F32, 976, "", 1, 0 -m_knockCount = scalar, U32, 980, "", 1, 0 -m_maximumRetard = scalar, F32, 984, "", 1, 0 -m_knockSpectrum1 = scalar, U32, 988, "compressed data", 1, 0 -m_knockSpectrum2 = scalar, U32, 992, "compressed data", 1, 0 -m_knockSpectrum3 = scalar, U32, 996, "compressed data", 1, 0 -m_knockSpectrum4 = scalar, U32, 1000, "compressed data", 1, 0 -m_knockSpectrum5 = scalar, U32, 1004, "compressed data", 1, 0 -m_knockSpectrum6 = scalar, U32, 1008, "compressed data", 1, 0 -m_knockSpectrum7 = scalar, U32, 1012, "compressed data", 1, 0 -m_knockSpectrum8 = scalar, U32, 1016, "compressed data", 1, 0 -m_knockSpectrum9 = scalar, U32, 1020, "compressed data", 1, 0 -m_knockSpectrum10 = scalar, U32, 1024, "compressed data", 1, 0 -m_knockSpectrum11 = scalar, U32, 1028, "compressed data", 1, 0 -m_knockSpectrum12 = scalar, U32, 1032, "compressed data", 1, 0 -m_knockSpectrum13 = scalar, U32, 1036, "compressed data", 1, 0 -m_knockSpectrum14 = scalar, U32, 1040, "compressed data", 1, 0 -m_knockSpectrum15 = scalar, U32, 1044, "compressed data", 1, 0 -m_knockSpectrum16 = scalar, U32, 1048, "compressed data", 1, 0 -m_knockSpectrumChannelCyl = scalar, U16, 1052, "compressed N + N", 1, 0 -m_knockFrequencyStart = scalar, U16, 1054, "Hz", 1, 0 -m_knockFrequencyStep = scalar, F32, 1056, "Hz", 1, 0 -m_knockFuelTrimMultiplier = scalar, F32, 1060, "multiplier", 1, 0 -; total TS size = 1064 -m_isPriming = bits, U32, 1064, [0:0] +trailingSparkAngle = scalar, S16, 956, "deg", 0.01,0 +; total TS size = 960 +m_knockLevel = scalar, F32, 960, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 964, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 965, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 966, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 967, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 968, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 969, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 970, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 971, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 972, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 973, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 974, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 975, "dBv", 1, 0 +m_knockRetard = scalar, F32, 976, "deg", 1,0 +m_knockThreshold = scalar, F32, 980, "", 1, 0 +m_knockCount = scalar, U32, 984, "", 1, 0 +m_maximumRetard = scalar, F32, 988, "", 1, 0 +m_knockSpectrum1 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1040, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1044, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1048, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1052, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1056, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1058, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1060, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1064, "multiplier", 1, 0 ; total TS size = 1068 -tcuCurrentGear = scalar, S08, 1068, "gear", 1, 0 -tcRatio = scalar, U16, 1070, "value", 0.01, 0 -lastShiftTime = scalar, F32, 1072, "", 1, 0 -tcu_currentRange = scalar, U08, 1076, "", 1, 0 -pressureControlDuty = scalar, S08, 1077, "%", 1,0 -torqueConverterDuty = scalar, S08, 1078, "%", 1,0 -isShifting = bits, U32, 1080, [0:0] -; total TS size = 1084 -throttleUseWotModel = bits, U32, 1084, [0:0] -throttleModelCrossoverAngle = scalar, S16, 1088, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1092, "g/s", 1, 0 -; total TS size = 1096 -m_requested_pump = scalar, F32, 1096, "", 1, 0 -fuel_requested_percent = scalar, F32, 1100, "%", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1104, "", 1, 0 -noValve = bits, U32, 1108, [0:0] -angleAboveMin = bits, U32, 1108, [1:1] -isHpfpActive = bits, U32, 1108, [2:2] -HpfpValveState = bits, U32, 1108, [3:3] -m_pressureTarget_kPa = scalar, F32, 1112, "", 1, 0 -nextLobe = scalar, F32, 1116, "", 1, 0 -di_nextStart = scalar, F32, 1120, "v", 1, 0 -HpfdActivationPhase = scalar, F32, 1124, "", 1, 0 -HpfdDeactivationPhase = scalar, F32, 1128, "", 1, 0 -; total TS size = 1132 -m_deadtime = scalar, F32, 1132, "ms", 1, 0 -pressureDelta = scalar, F32, 1136, "kPa", 1, 0 -pressureRatio = scalar, F32, 1140, "", 1, 0 -; total TS size = 1144 -retardThresholdRpm = scalar, S32, 1144, "", 1, 0 -launchActivatePinState = bits, U32, 1148, [0:0] -isPreLaunchCondition = bits, U32, 1148, [1:1] -isLaunchCondition = bits, U32, 1148, [2:2] -isSwitchActivated = bits, U32, 1148, [3:3] -isClutchActivated = bits, U32, 1148, [4:4] -isBrakePedalActivated = bits, U32, 1148, [5:5] -isValidInputPin = bits, U32, 1148, [6:6] -activateSwitchCondition = bits, U32, 1148, [7:7] -rpmLaunchCondition = bits, U32, 1148, [8:8] -rpmPreLaunchCondition = bits, U32, 1148, [9:9] -speedCondition = bits, U32, 1148, [10:10] -tpsCondition = bits, U32, 1148, [11:11] -; total TS size = 1152 -isTorqueReductionTriggerPinValid = bits, U32, 1152, [0:0] -torqueReductionTriggerPinState = bits, U32, 1152, [1:1] -isTimeConditionSatisfied = bits, U32, 1152, [2:2] -isRpmConditionSatisfied = bits, U32, 1152, [3:3] -isAppConditionSatisfied = bits, U32, 1152, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1152, [5:5] +m_isPriming = bits, U32, 1068, [0:0] +; total TS size = 1072 +tcuCurrentGear = scalar, S08, 1072, "gear", 1, 0 +tcRatio = scalar, U16, 1074, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1076, "", 1, 0 +tcu_currentRange = scalar, U08, 1080, "", 1, 0 +pressureControlDuty = scalar, S08, 1081, "%", 1,0 +torqueConverterDuty = scalar, S08, 1082, "%", 1,0 +isShifting = bits, U32, 1084, [0:0] +; total TS size = 1088 +throttleUseWotModel = bits, U32, 1088, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1092, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1096, "g/s", 1, 0 +; total TS size = 1100 +m_requested_pump = scalar, F32, 1100, "", 1, 0 +fuel_requested_percent = scalar, F32, 1104, "%", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1108, "", 1, 0 +noValve = bits, U32, 1112, [0:0] +angleAboveMin = bits, U32, 1112, [1:1] +isHpfpActive = bits, U32, 1112, [2:2] +HpfpValveState = bits, U32, 1112, [3:3] +m_pressureTarget_kPa = scalar, F32, 1116, "", 1, 0 +nextLobe = scalar, F32, 1120, "", 1, 0 +di_nextStart = scalar, F32, 1124, "v", 1, 0 +HpfdActivationPhase = scalar, F32, 1128, "", 1, 0 +HpfdDeactivationPhase = scalar, F32, 1132, "", 1, 0 +; total TS size = 1136 +m_deadtime = scalar, F32, 1136, "ms", 1, 0 +pressureDelta = scalar, F32, 1140, "kPa", 1, 0 +pressureRatio = scalar, F32, 1144, "", 1, 0 +; total TS size = 1148 +retardThresholdRpm = scalar, S32, 1148, "", 1, 0 +launchActivatePinState = bits, U32, 1152, [0:0] +isPreLaunchCondition = bits, U32, 1152, [1:1] +isLaunchCondition = bits, U32, 1152, [2:2] +isSwitchActivated = bits, U32, 1152, [3:3] +isClutchActivated = bits, U32, 1152, [4:4] +isBrakePedalActivated = bits, U32, 1152, [5:5] +isValidInputPin = bits, U32, 1152, [6:6] +activateSwitchCondition = bits, U32, 1152, [7:7] +rpmLaunchCondition = bits, U32, 1152, [8:8] +rpmPreLaunchCondition = bits, U32, 1152, [9:9] +speedCondition = bits, U32, 1152, [10:10] +tpsCondition = bits, U32, 1152, [11:11] ; total TS size = 1156 -isAntilagCondition = bits, U32, 1156, [0:0] -ALSMinRPMCondition = bits, U32, 1156, [1:1] -ALSMaxRPMCondition = bits, U32, 1156, [2:2] -ALSMinCLTCondition = bits, U32, 1156, [3:3] -ALSMaxCLTCondition = bits, U32, 1156, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1156, [5:5] -isALSSwitchActivated = bits, U32, 1156, [6:6] -ALSActivatePinState = bits, U32, 1156, [7:7] -ALSSwitchCondition = bits, U32, 1156, [8:8] -ALSTimerCondition = bits, U32, 1156, [9:9] -fuelALSCorrection = scalar, F32, 1160, "", 1, 0 -timingALSCorrection = scalar, S16, 1164, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1166, "deg", 0.01, 0 -; total TS size = 1168 -isTpsInvalid = bits, U32, 1168, [0:0] -m_shouldResetPid = bits, U32, 1168, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1168, [2:2] -isNotClosedLoop = bits, U32, 1168, [3:3] -isZeroRpm = bits, U32, 1168, [4:4] -hasInitBoost = bits, U32, 1168, [5:5] -rpmTooLow = bits, U32, 1168, [6:6] -tpsTooLow = bits, U32, 1168, [7:7] -mapTooLow = bits, U32, 1168, [8:8] -isPlantValid = bits, U32, 1168, [9:9] -isBoostControlled = bits, U32, 1168, [10:10] -luaTargetAdd = scalar, S16, 1172, "v", 0.5,0 -boostOutput = scalar, S16, 1174, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1176, "v", 1,0 -openLoopPart = scalar, F32, 1180, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1184, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1188, "%", 0.5,0 -boostControlTarget = scalar, S16, 1190, "kPa", 0.03333333333333333,0 -; total TS size = 1192 -acButtonState = scalar, S08, 1192, "", 1, 0 -m_acEnabled = bits, U32, 1196, [0:0] -engineTooSlow = bits, U32, 1196, [1:1] -engineTooFast = bits, U32, 1196, [2:2] -noClt = bits, U32, 1196, [3:3] -engineTooHot = bits, U32, 1196, [4:4] -tpsTooHigh = bits, U32, 1196, [5:5] -isDisabledByLua = bits, U32, 1196, [6:6] -acCompressorState = bits, U32, 1196, [7:7] -acPressureTooLow = bits, U32, 1196, [8:8] -acPressureTooHigh = bits, U32, 1196, [9:9] -; total TS size = 1200 -isNitrousArmed = bits, U32, 1200, [0:0] -isNitrousSpeedCondition = bits, U32, 1200, [1:1] -isNitrousTpsCondition = bits, U32, 1200, [2:2] -isNitrousCltCondition = bits, U32, 1200, [3:3] -isNitrousMapCondition = bits, U32, 1200, [4:4] -isNitrousAfrCondition = bits, U32, 1200, [5:5] -isNitrousRpmCondition = bits, U32, 1200, [6:6] -isNitrousCondition = bits, U32, 1200, [7:7] +isTorqueReductionTriggerPinValid = bits, U32, 1156, [0:0] +torqueReductionTriggerPinState = bits, U32, 1156, [1:1] +isTimeConditionSatisfied = bits, U32, 1156, [2:2] +isRpmConditionSatisfied = bits, U32, 1156, [3:3] +isAppConditionSatisfied = bits, U32, 1156, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1156, [5:5] +; total TS size = 1160 +isAntilagCondition = bits, U32, 1160, [0:0] +ALSMinRPMCondition = bits, U32, 1160, [1:1] +ALSMaxRPMCondition = bits, U32, 1160, [2:2] +ALSMinCLTCondition = bits, U32, 1160, [3:3] +ALSMaxCLTCondition = bits, U32, 1160, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1160, [5:5] +isALSSwitchActivated = bits, U32, 1160, [6:6] +ALSActivatePinState = bits, U32, 1160, [7:7] +ALSSwitchCondition = bits, U32, 1160, [8:8] +ALSTimerCondition = bits, U32, 1160, [9:9] +fuelALSCorrection = scalar, F32, 1164, "", 1, 0 +timingALSCorrection = scalar, S16, 1168, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1170, "deg", 0.01, 0 +; total TS size = 1172 +isTpsInvalid = bits, U32, 1172, [0:0] +m_shouldResetPid = bits, U32, 1172, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1172, [2:2] +isNotClosedLoop = bits, U32, 1172, [3:3] +isZeroRpm = bits, U32, 1172, [4:4] +hasInitBoost = bits, U32, 1172, [5:5] +rpmTooLow = bits, U32, 1172, [6:6] +tpsTooLow = bits, U32, 1172, [7:7] +mapTooLow = bits, U32, 1172, [8:8] +isPlantValid = bits, U32, 1172, [9:9] +isBoostControlled = bits, U32, 1172, [10:10] +luaTargetAdd = scalar, S16, 1176, "v", 0.5,0 +boostOutput = scalar, S16, 1178, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1180, "v", 1,0 +openLoopPart = scalar, F32, 1184, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1188, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1192, "%", 0.5,0 +boostControlTarget = scalar, S16, 1194, "kPa", 0.03333333333333333,0 +; total TS size = 1196 +acButtonState = scalar, S08, 1196, "", 1, 0 +m_acEnabled = bits, U32, 1200, [0:0] +engineTooSlow = bits, U32, 1200, [1:1] +engineTooFast = bits, U32, 1200, [2:2] +noClt = bits, U32, 1200, [3:3] +engineTooHot = bits, U32, 1200, [4:4] +tpsTooHigh = bits, U32, 1200, [5:5] +isDisabledByLua = bits, U32, 1200, [6:6] +acCompressorState = bits, U32, 1200, [7:7] +acPressureTooLow = bits, U32, 1200, [8:8] +acPressureTooHigh = bits, U32, 1200, [9:9] ; total TS size = 1204 -fan1cranking = bits, U32, 1204, [0:0] -fan1notRunning = bits, U32, 1204, [1:1] -fan1disabledWhileEngineStopped = bits, U32, 1204, [2:2] -fan1brokenClt = bits, U32, 1204, [3:3] -fan1enabledForAc = bits, U32, 1204, [4:4] -fan1hot = bits, U32, 1204, [5:5] -fan1cold = bits, U32, 1204, [6:6] -fan1disabledBySpeed = bits, U32, 1204, [7:7] -fan1m_state = bits, U32, 1204, [8:8] -fan1radiatorFanStatus = scalar, U08, 1208, "", 1, 0 -; total TS size = 1212 -fan2cranking = bits, U32, 1212, [0:0] -fan2notRunning = bits, U32, 1212, [1:1] -fan2disabledWhileEngineStopped = bits, U32, 1212, [2:2] -fan2brokenClt = bits, U32, 1212, [3:3] -fan2enabledForAc = bits, U32, 1212, [4:4] -fan2hot = bits, U32, 1212, [5:5] -fan2cold = bits, U32, 1212, [6:6] -fan2disabledBySpeed = bits, U32, 1212, [7:7] -fan2m_state = bits, U32, 1212, [8:8] -fan2radiatorFanStatus = scalar, U08, 1216, "", 1, 0 -; total TS size = 1220 -isPrime = bits, U32, 1220, [0:0] -engineTurnedRecently = bits, U32, 1220, [1:1] -isFuelPumpOn = bits, U32, 1220, [2:2] -ignitionOn = bits, U32, 1220, [3:3] +isNitrousArmed = bits, U32, 1204, [0:0] +isNitrousSpeedCondition = bits, U32, 1204, [1:1] +isNitrousTpsCondition = bits, U32, 1204, [2:2] +isNitrousCltCondition = bits, U32, 1204, [3:3] +isNitrousMapCondition = bits, U32, 1204, [4:4] +isNitrousAfrCondition = bits, U32, 1204, [5:5] +isNitrousRpmCondition = bits, U32, 1204, [6:6] +isNitrousCondition = bits, U32, 1204, [7:7] +; total TS size = 1208 +fan1cranking = bits, U32, 1208, [0:0] +fan1notRunning = bits, U32, 1208, [1:1] +fan1disabledWhileEngineStopped = bits, U32, 1208, [2:2] +fan1brokenClt = bits, U32, 1208, [3:3] +fan1enabledForAc = bits, U32, 1208, [4:4] +fan1hot = bits, U32, 1208, [5:5] +fan1cold = bits, U32, 1208, [6:6] +fan1disabledBySpeed = bits, U32, 1208, [7:7] +fan1m_state = bits, U32, 1208, [8:8] +fan1radiatorFanStatus = scalar, U08, 1212, "", 1, 0 +; total TS size = 1216 +fan2cranking = bits, U32, 1216, [0:0] +fan2notRunning = bits, U32, 1216, [1:1] +fan2disabledWhileEngineStopped = bits, U32, 1216, [2:2] +fan2brokenClt = bits, U32, 1216, [3:3] +fan2enabledForAc = bits, U32, 1216, [4:4] +fan2hot = bits, U32, 1216, [5:5] +fan2cold = bits, U32, 1216, [6:6] +fan2disabledBySpeed = bits, U32, 1216, [7:7] +fan2m_state = bits, U32, 1216, [8:8] +fan2radiatorFanStatus = scalar, U08, 1220, "", 1, 0 ; total TS size = 1224 -isBenchTest = bits, U32, 1224, [0:0] -hasIgnitionVoltage = bits, U32, 1224, [1:1] -mainRelayState = bits, U32, 1224, [2:2] -delayedShutoffRequested = bits, U32, 1224, [3:3] +isPrime = bits, U32, 1224, [0:0] +engineTurnedRecently = bits, U32, 1224, [1:1] +isFuelPumpOn = bits, U32, 1224, [2:2] +ignitionOn = bits, U32, 1224, [3:3] ; total TS size = 1228 -lua_fuelAdd = scalar, F32, 1228, "g", 1, 0 -lua_fuelMult = scalar, F32, 1232, "", 1, 0 -lua_clutchUpState = bits, U32, 1236, [0:0] -lua_brakePedalState = bits, U32, 1236, [1:1] -lua_acRequestState = bits, U32, 1236, [2:2] -lua_luaDisableEtb = bits, U32, 1236, [3:3] -lua_luaIgnCut = bits, U32, 1236, [4:4] -lua_luaFuelCut = bits, U32, 1236, [5:5] -lua_clutchDownState = bits, U32, 1236, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1236, [7:7] -lua_torqueReductionState = bits, U32, 1236, [8:8] -sd_tCharge = scalar, S16, 1240, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1244, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1248, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1252, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1256, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1260, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1264, "", 1, 0 -hellenBoardId = scalar, S16, 1268, "id", 1, 0 -clutchUpState = scalar, S08, 1270, "", 1, 0 -brakePedalState = scalar, S08, 1271, "", 1, 0 -startStopState = scalar, S08, 1272, "", 1, 0 -smartChipState = scalar, S08, 1273, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1274, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1275, "", 1, 0 -startStopPhysicalState = bits, U32, 1276, [0:0] -acrActive = bits, U32, 1276, [1:1] -acrEngineMovedRecently = bits, U32, 1276, [2:2] -heaterControlEnabled = bits, U32, 1276, [3:3] -luaDigitalState0 = bits, U32, 1276, [4:4] -luaDigitalState1 = bits, U32, 1276, [5:5] -luaDigitalState2 = bits, U32, 1276, [6:6] -luaDigitalState3 = bits, U32, 1276, [7:7] -clutchDownState = bits, U32, 1276, [8:8] -startStopStateToggleCounter = scalar, U32, 1280, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1284, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1288, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1292, "", 1, 0 -fuelInjectionCounter = scalar, U32, 1296, "", 1, 0 -globalSparkCounter = scalar, U32, 1300, "", 1, 0 -fuelingLoad = scalar, F32, 1304, "", 1, 0 -ignitionLoad = scalar, F32, 1308, "", 1, 0 -veTableYAxis = scalar, U16, 1312, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1314, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1315, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1316, "", 1, 0 -; total TS size = 1320 -tpsFrom = scalar, F32, 1320 -tpsTo = scalar, F32, 1324 -deltaTps = scalar, F32, 1328 -extraFuel = scalar, F32, 1332, "", 1, 0 -valueFromTable = scalar, F32, 1336, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1340, [0:0] -isBelowDecelThreshold = bits, U32, 1340, [1:1] -isTimeToResetAccumulator = bits, U32, 1340, [2:2] -isFractionalEnrichment = bits, U32, 1340, [3:3] -belowEpsilon = bits, U32, 1340, [4:4] -tooShort = bits, U32, 1340, [5:5] -fractionalInjFuel = scalar, F32, 1344, "", 1, 0 -accumulatedValue = scalar, F32, 1348, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1352, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1356, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1360, "", 1, 0 -cycleCnt = scalar, S32, 1364, "", 1, 0 -; total TS size = 1368 -hwEventCounters1 = scalar, U16, 1368, "", 1, 0 -hwEventCounters2 = scalar, U16, 1370, "", 1, 0 -hwEventCounters3 = scalar, U16, 1372, "", 1, 0 -hwEventCounters4 = scalar, U16, 1374, "", 1, 0 -vvtCamCounter = scalar, U16, 1376, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1380, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1384, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1388, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1389, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1392, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1396, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1400, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1404, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1408, [0:0] -triggerElapsedUs = scalar, U32, 1412, "", 1, 0 -; total TS size = 1416 -trgsynchronizationCounter = scalar, U32, 1416, "", 1, 0 -trgvvtToothDurations0 = scalar, U32, 1420, "us", 1, 0 -trgvvtCurrentPosition = scalar, F32, 1424, "", 1, 0 -trgvvtToothPosition1 = scalar, F32, 1428, "", 1, 0 -trgvvtToothPosition2 = scalar, F32, 1432, "", 1, 0 -trgvvtToothPosition3 = scalar, F32, 1436, "", 1, 0 -trgvvtToothPosition4 = scalar, F32, 1440, "", 1, 0 -trgtriggerSyncGapRatio = scalar, F32, 1444, "", 1, 0 -trgtriggerStateIndex = scalar, U08, 1448, "", 1, 0 -; total TS size = 1452 -vvt1isynchronizationCounter = scalar, U32, 1452, "", 1, 0 -vvt1ivvtToothDurations0 = scalar, U32, 1456, "us", 1, 0 -vvt1ivvtCurrentPosition = scalar, F32, 1460, "", 1, 0 -vvt1ivvtToothPosition1 = scalar, F32, 1464, "", 1, 0 -vvt1ivvtToothPosition2 = scalar, F32, 1468, "", 1, 0 -vvt1ivvtToothPosition3 = scalar, F32, 1472, "", 1, 0 -vvt1ivvtToothPosition4 = scalar, F32, 1476, "", 1, 0 -vvt1itriggerSyncGapRatio = scalar, F32, 1480, "", 1, 0 -vvt1itriggerStateIndex = scalar, U08, 1484, "", 1, 0 -; total TS size = 1488 -vvt1esynchronizationCounter = scalar, U32, 1488, "", 1, 0 -vvt1evvtToothDurations0 = scalar, U32, 1492, "us", 1, 0 -vvt1evvtCurrentPosition = scalar, F32, 1496, "", 1, 0 -vvt1evvtToothPosition1 = scalar, F32, 1500, "", 1, 0 -vvt1evvtToothPosition2 = scalar, F32, 1504, "", 1, 0 -vvt1evvtToothPosition3 = scalar, F32, 1508, "", 1, 0 -vvt1evvtToothPosition4 = scalar, F32, 1512, "", 1, 0 -vvt1etriggerSyncGapRatio = scalar, F32, 1516, "", 1, 0 -vvt1etriggerStateIndex = scalar, U08, 1520, "", 1, 0 -; total TS size = 1524 -vvt2isynchronizationCounter = scalar, U32, 1524, "", 1, 0 -vvt2ivvtToothDurations0 = scalar, U32, 1528, "us", 1, 0 -vvt2ivvtCurrentPosition = scalar, F32, 1532, "", 1, 0 -vvt2ivvtToothPosition1 = scalar, F32, 1536, "", 1, 0 -vvt2ivvtToothPosition2 = scalar, F32, 1540, "", 1, 0 -vvt2ivvtToothPosition3 = scalar, F32, 1544, "", 1, 0 -vvt2ivvtToothPosition4 = scalar, F32, 1548, "", 1, 0 -vvt2itriggerSyncGapRatio = scalar, F32, 1552, "", 1, 0 -vvt2itriggerStateIndex = scalar, U08, 1556, "", 1, 0 -; total TS size = 1560 -vvt2esynchronizationCounter = scalar, U32, 1560, "", 1, 0 -vvt2evvtToothDurations0 = scalar, U32, 1564, "us", 1, 0 -vvt2evvtCurrentPosition = scalar, F32, 1568, "", 1, 0 -vvt2evvtToothPosition1 = scalar, F32, 1572, "", 1, 0 -vvt2evvtToothPosition2 = scalar, F32, 1576, "", 1, 0 -vvt2evvtToothPosition3 = scalar, F32, 1580, "", 1, 0 -vvt2evvtToothPosition4 = scalar, F32, 1584, "", 1, 0 -vvt2etriggerSyncGapRatio = scalar, F32, 1588, "", 1, 0 -vvt2etriggerStateIndex = scalar, U08, 1592, "", 1, 0 -; total TS size = 1596 -camResyncCounter = scalar, U08, 1596, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1600, [0:0] -; total TS size = 1604 -wallFuelCorrection = scalar, F32, 1604, "", 1, 0 -wallFuel = scalar, F32, 1608, "", 1, 0 -; total TS size = 1612 -idleState = bits, S32, 1612, [0:2], "not important" -currentIdlePosition = scalar, F32, 1616 -baseIdlePosition = scalar, F32, 1620 -idleClosedLoop = scalar, F32, 1624 -iacByTpsTaper = scalar, F32, 1628 -mightResetPid = bits, U32, 1632, [0:0] -shouldResetPid = bits, U32, 1632, [1:1] -wasResetPid = bits, U32, 1632, [2:2] -mustResetPid = bits, U32, 1632, [3:3] -isCranking = bits, U32, 1632, [4:4] -isIacTableForCoasting = bits, U32, 1632, [5:5] -notIdling = bits, U32, 1632, [6:6] -needReset = bits, U32, 1632, [7:7] -isInDeadZone = bits, U32, 1632, [8:8] -isBlipping = bits, U32, 1632, [9:9] -useClosedLoop = bits, U32, 1632, [10:10] -badTps = bits, U32, 1632, [11:11] -looksLikeRunning = bits, U32, 1632, [12:12] -looksLikeCoasting = bits, U32, 1632, [13:13] -looksLikeCrankToIdle = bits, U32, 1632, [14:14] -isIdleCoasting = bits, U32, 1632, [15:15] -isIdleClosedLoop = bits, U32, 1632, [16:16] -idleTarget = scalar, S32, 1636, "", 1, 0 -targetRpmByClt = scalar, S32, 1640, "", 1, 0 -targetRpmAc = scalar, S32, 1644, "", 1, 0 -iacByRpmTaper = scalar, F32, 1648 -luaAdd = scalar, F32, 1652 -; total TS size = 1656 -etb1targetWithIdlePosition = scalar, F32, 1656, "%", 1,0 -etb1trim = scalar, F32, 1660, "", 1, 0 -etb1luaAdjustment = scalar, F32, 1664, "%", 1,0 -etb1m_wastegatePosition = scalar, F32, 1668, "%", 1,0 -etb1etbFeedForward = scalar, F32, 1672 -etb1etbIntegralError = scalar, F32, 1676, "", 1, 0 -etb1etbCurrentTarget = scalar, F32, 1680, "%", 1, 0 -etb1m_adjustedTarget = scalar, S16, 1684, "%", 0.01, 0 -etb1etbRevLimitActive = bits, U32, 1688, [0:0] -etb1jamDetected = bits, U32, 1688, [1:1] -etb1validPlantPosition = bits, U32, 1688, [2:2] -etb1etbTpsErrorCounter = scalar, U16, 1692, "count", 1,0 -etb1etbPpsErrorCounter = scalar, U16, 1694, "count", 1,0 -etb1etbErrorCode = scalar, S08, 1696, "", 1, 0 -etb1etbErrorCodeBlinker = scalar, S08, 1697, "", 1, 0 -etb1tcEtbDrop = scalar, S08, 1698, "%", 1, 0 -etb1jamTimer = scalar, U16, 1700, "sec", 0.01, 0 -etb1adjustedEtbTarget = scalar, S08, 1702, "%", 1, 0 -etb1state = scalar, U08, 1703, "", 1, 0 -; total TS size = 1704 -etb2targetWithIdlePosition = scalar, F32, 1704, "%", 1,0 -etb2trim = scalar, F32, 1708, "", 1, 0 -etb2luaAdjustment = scalar, F32, 1712, "%", 1,0 -etb2m_wastegatePosition = scalar, F32, 1716, "%", 1,0 -etb2etbFeedForward = scalar, F32, 1720 -etb2etbIntegralError = scalar, F32, 1724, "", 1, 0 -etb2etbCurrentTarget = scalar, F32, 1728, "%", 1, 0 -etb2m_adjustedTarget = scalar, S16, 1732, "%", 0.01, 0 -etb2etbRevLimitActive = bits, U32, 1736, [0:0] -etb2jamDetected = bits, U32, 1736, [1:1] -etb2validPlantPosition = bits, U32, 1736, [2:2] -etb2etbTpsErrorCounter = scalar, U16, 1740, "count", 1,0 -etb2etbPpsErrorCounter = scalar, U16, 1742, "count", 1,0 -etb2etbErrorCode = scalar, S08, 1744, "", 1, 0 -etb2etbErrorCodeBlinker = scalar, S08, 1745, "", 1, 0 -etb2tcEtbDrop = scalar, S08, 1746, "%", 1, 0 -etb2jamTimer = scalar, U16, 1748, "sec", 0.01, 0 -etb2adjustedEtbTarget = scalar, S08, 1750, "%", 1, 0 -etb2state = scalar, U08, 1751, "", 1, 0 -; total TS size = 1752 -wb1faultCode = scalar, U08, 1752, "", 1, 0 -wb1heaterDuty = scalar, U08, 1753, "%", 1, 0 -wb1pumpDuty = scalar, U08, 1754, "%", 1, 0 -wb1tempC = scalar, U16, 1756, "C", 1, 0 -wb1nernstVoltage = scalar, U16, 1758, "V", 0.001, 0 -wb1esr = scalar, U16, 1760, "ohm", 1, 0 -; total TS size = 1764 -wb2faultCode = scalar, U08, 1764, "", 1, 0 -wb2heaterDuty = scalar, U08, 1765, "%", 1, 0 -wb2pumpDuty = scalar, U08, 1766, "%", 1, 0 -wb2tempC = scalar, U16, 1768, "C", 1, 0 -wb2nernstVoltage = scalar, U16, 1770, "V", 0.001, 0 -wb2esr = scalar, U16, 1772, "ohm", 1, 0 -; total TS size = 1776 -dcOutput0 = scalar, F32, 1776, "%", 1,0 -isEnabled0_int = scalar, U08, 1780, "%", 1,0 -isEnabled0 = bits, U32, 1784, [0:0] -; total TS size = 1788 -value0 = scalar, U16, 1788, "RAW", 1,0 -value1 = scalar, U16, 1790, "RAW", 1,0 -errorRate = scalar, F32, 1792, "% (don't belive me)", 1,0 -; total TS size = 1796 -vvtTarget = scalar, U16, 1796, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1798, "%", 0.5, 0 +isBenchTest = bits, U32, 1228, [0:0] +hasIgnitionVoltage = bits, U32, 1228, [1:1] +mainRelayState = bits, U32, 1228, [2:2] +delayedShutoffRequested = bits, U32, 1228, [3:3] +; total TS size = 1232 +lua_fuelAdd = scalar, F32, 1232, "g", 1, 0 +lua_fuelMult = scalar, F32, 1236, "", 1, 0 +lua_clutchUpState = bits, U32, 1240, [0:0] +lua_brakePedalState = bits, U32, 1240, [1:1] +lua_acRequestState = bits, U32, 1240, [2:2] +lua_luaDisableEtb = bits, U32, 1240, [3:3] +lua_luaIgnCut = bits, U32, 1240, [4:4] +lua_luaFuelCut = bits, U32, 1240, [5:5] +lua_clutchDownState = bits, U32, 1240, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1240, [7:7] +lua_torqueReductionState = bits, U32, 1240, [8:8] +sd_tCharge = scalar, S16, 1244, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1248, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1252, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1256, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1260, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1264, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1268, "", 1, 0 +hellenBoardId = scalar, S16, 1272, "id", 1, 0 +clutchUpState = scalar, S08, 1274, "", 1, 0 +brakePedalState = scalar, S08, 1275, "", 1, 0 +startStopState = scalar, S08, 1276, "", 1, 0 +smartChipState = scalar, S08, 1277, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1278, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1279, "", 1, 0 +startStopPhysicalState = bits, U32, 1280, [0:0] +acrActive = bits, U32, 1280, [1:1] +acrEngineMovedRecently = bits, U32, 1280, [2:2] +heaterControlEnabled = bits, U32, 1280, [3:3] +luaDigitalState0 = bits, U32, 1280, [4:4] +luaDigitalState1 = bits, U32, 1280, [5:5] +luaDigitalState2 = bits, U32, 1280, [6:6] +luaDigitalState3 = bits, U32, 1280, [7:7] +clutchDownState = bits, U32, 1280, [8:8] +startStopStateToggleCounter = scalar, U32, 1284, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1288, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1292, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1296, "", 1, 0 +fuelInjectionCounter = scalar, U32, 1300, "", 1, 0 +globalSparkCounter = scalar, U32, 1304, "", 1, 0 +fuelingLoad = scalar, F32, 1308, "", 1, 0 +ignitionLoad = scalar, F32, 1312, "", 1, 0 +veTableYAxis = scalar, U16, 1316, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1318, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1319, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1320, "", 1, 0 +; total TS size = 1324 +tpsFrom = scalar, F32, 1324 +tpsTo = scalar, F32, 1328 +deltaTps = scalar, F32, 1332 +extraFuel = scalar, F32, 1336, "", 1, 0 +valueFromTable = scalar, F32, 1340, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1344, [0:0] +isBelowDecelThreshold = bits, U32, 1344, [1:1] +isTimeToResetAccumulator = bits, U32, 1344, [2:2] +isFractionalEnrichment = bits, U32, 1344, [3:3] +belowEpsilon = bits, U32, 1344, [4:4] +tooShort = bits, U32, 1344, [5:5] +fractionalInjFuel = scalar, F32, 1348, "", 1, 0 +accumulatedValue = scalar, F32, 1352, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1356, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1360, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1364, "", 1, 0 +cycleCnt = scalar, S32, 1368, "", 1, 0 +; total TS size = 1372 +hwEventCounters1 = scalar, U16, 1372, "", 1, 0 +hwEventCounters2 = scalar, U16, 1374, "", 1, 0 +hwEventCounters3 = scalar, U16, 1376, "", 1, 0 +hwEventCounters4 = scalar, U16, 1378, "", 1, 0 +vvtCamCounter = scalar, U16, 1380, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1384, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1388, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1392, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1393, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1396, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1400, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1404, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1408, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1412, [0:0] +triggerElapsedUs = scalar, U32, 1416, "", 1, 0 +; total TS size = 1420 +trgsynchronizationCounter = scalar, U32, 1420, "", 1, 0 +trgvvtToothDurations0 = scalar, U32, 1424, "us", 1, 0 +trgvvtCurrentPosition = scalar, F32, 1428, "", 1, 0 +trgvvtToothPosition1 = scalar, F32, 1432, "", 1, 0 +trgvvtToothPosition2 = scalar, F32, 1436, "", 1, 0 +trgvvtToothPosition3 = scalar, F32, 1440, "", 1, 0 +trgvvtToothPosition4 = scalar, F32, 1444, "", 1, 0 +trgtriggerSyncGapRatio = scalar, F32, 1448, "", 1, 0 +trgtriggerStateIndex = scalar, U08, 1452, "", 1, 0 +; total TS size = 1456 +vvt1isynchronizationCounter = scalar, U32, 1456, "", 1, 0 +vvt1ivvtToothDurations0 = scalar, U32, 1460, "us", 1, 0 +vvt1ivvtCurrentPosition = scalar, F32, 1464, "", 1, 0 +vvt1ivvtToothPosition1 = scalar, F32, 1468, "", 1, 0 +vvt1ivvtToothPosition2 = scalar, F32, 1472, "", 1, 0 +vvt1ivvtToothPosition3 = scalar, F32, 1476, "", 1, 0 +vvt1ivvtToothPosition4 = scalar, F32, 1480, "", 1, 0 +vvt1itriggerSyncGapRatio = scalar, F32, 1484, "", 1, 0 +vvt1itriggerStateIndex = scalar, U08, 1488, "", 1, 0 +; total TS size = 1492 +vvt1esynchronizationCounter = scalar, U32, 1492, "", 1, 0 +vvt1evvtToothDurations0 = scalar, U32, 1496, "us", 1, 0 +vvt1evvtCurrentPosition = scalar, F32, 1500, "", 1, 0 +vvt1evvtToothPosition1 = scalar, F32, 1504, "", 1, 0 +vvt1evvtToothPosition2 = scalar, F32, 1508, "", 1, 0 +vvt1evvtToothPosition3 = scalar, F32, 1512, "", 1, 0 +vvt1evvtToothPosition4 = scalar, F32, 1516, "", 1, 0 +vvt1etriggerSyncGapRatio = scalar, F32, 1520, "", 1, 0 +vvt1etriggerStateIndex = scalar, U08, 1524, "", 1, 0 +; total TS size = 1528 +vvt2isynchronizationCounter = scalar, U32, 1528, "", 1, 0 +vvt2ivvtToothDurations0 = scalar, U32, 1532, "us", 1, 0 +vvt2ivvtCurrentPosition = scalar, F32, 1536, "", 1, 0 +vvt2ivvtToothPosition1 = scalar, F32, 1540, "", 1, 0 +vvt2ivvtToothPosition2 = scalar, F32, 1544, "", 1, 0 +vvt2ivvtToothPosition3 = scalar, F32, 1548, "", 1, 0 +vvt2ivvtToothPosition4 = scalar, F32, 1552, "", 1, 0 +vvt2itriggerSyncGapRatio = scalar, F32, 1556, "", 1, 0 +vvt2itriggerStateIndex = scalar, U08, 1560, "", 1, 0 +; total TS size = 1564 +vvt2esynchronizationCounter = scalar, U32, 1564, "", 1, 0 +vvt2evvtToothDurations0 = scalar, U32, 1568, "us", 1, 0 +vvt2evvtCurrentPosition = scalar, F32, 1572, "", 1, 0 +vvt2evvtToothPosition1 = scalar, F32, 1576, "", 1, 0 +vvt2evvtToothPosition2 = scalar, F32, 1580, "", 1, 0 +vvt2evvtToothPosition3 = scalar, F32, 1584, "", 1, 0 +vvt2evvtToothPosition4 = scalar, F32, 1588, "", 1, 0 +vvt2etriggerSyncGapRatio = scalar, F32, 1592, "", 1, 0 +vvt2etriggerStateIndex = scalar, U08, 1596, "", 1, 0 +; total TS size = 1600 +camResyncCounter = scalar, U08, 1600, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1604, [0:0] +; total TS size = 1608 +wallFuelCorrection = scalar, F32, 1608, "", 1, 0 +wallFuel = scalar, F32, 1612, "", 1, 0 +; total TS size = 1616 +idleState = bits, S32, 1616, [0:2], "not important" +currentIdlePosition = scalar, F32, 1620 +baseIdlePosition = scalar, F32, 1624 +idleClosedLoop = scalar, F32, 1628 +iacByTpsTaper = scalar, F32, 1632 +mightResetPid = bits, U32, 1636, [0:0] +shouldResetPid = bits, U32, 1636, [1:1] +wasResetPid = bits, U32, 1636, [2:2] +mustResetPid = bits, U32, 1636, [3:3] +isCranking = bits, U32, 1636, [4:4] +isIacTableForCoasting = bits, U32, 1636, [5:5] +notIdling = bits, U32, 1636, [6:6] +needReset = bits, U32, 1636, [7:7] +isInDeadZone = bits, U32, 1636, [8:8] +isBlipping = bits, U32, 1636, [9:9] +useClosedLoop = bits, U32, 1636, [10:10] +badTps = bits, U32, 1636, [11:11] +looksLikeRunning = bits, U32, 1636, [12:12] +looksLikeCoasting = bits, U32, 1636, [13:13] +looksLikeCrankToIdle = bits, U32, 1636, [14:14] +isIdleCoasting = bits, U32, 1636, [15:15] +isIdleClosedLoop = bits, U32, 1636, [16:16] +idleTarget = scalar, S32, 1640, "", 1, 0 +targetRpmByClt = scalar, S32, 1644, "", 1, 0 +targetRpmAc = scalar, S32, 1648, "", 1, 0 +iacByRpmTaper = scalar, F32, 1652 +luaAdd = scalar, F32, 1656 +; total TS size = 1660 +etb1targetWithIdlePosition = scalar, F32, 1660, "%", 1,0 +etb1trim = scalar, F32, 1664, "", 1, 0 +etb1luaAdjustment = scalar, F32, 1668, "%", 1,0 +etb1m_wastegatePosition = scalar, F32, 1672, "%", 1,0 +etb1etbFeedForward = scalar, F32, 1676 +etb1etbIntegralError = scalar, F32, 1680, "", 1, 0 +etb1etbCurrentTarget = scalar, F32, 1684, "%", 1, 0 +etb1m_adjustedTarget = scalar, S16, 1688, "%", 0.01, 0 +etb1etbRevLimitActive = bits, U32, 1692, [0:0] +etb1jamDetected = bits, U32, 1692, [1:1] +etb1validPlantPosition = bits, U32, 1692, [2:2] +etb1etbTpsErrorCounter = scalar, U16, 1696, "count", 1,0 +etb1etbPpsErrorCounter = scalar, U16, 1698, "count", 1,0 +etb1etbErrorCode = scalar, S08, 1700, "", 1, 0 +etb1etbErrorCodeBlinker = scalar, S08, 1701, "", 1, 0 +etb1tcEtbDrop = scalar, S08, 1702, "%", 1, 0 +etb1jamTimer = scalar, U16, 1704, "sec", 0.01, 0 +etb1adjustedEtbTarget = scalar, S08, 1706, "%", 1, 0 +etb1state = scalar, U08, 1707, "", 1, 0 +; total TS size = 1708 +etb2targetWithIdlePosition = scalar, F32, 1708, "%", 1,0 +etb2trim = scalar, F32, 1712, "", 1, 0 +etb2luaAdjustment = scalar, F32, 1716, "%", 1,0 +etb2m_wastegatePosition = scalar, F32, 1720, "%", 1,0 +etb2etbFeedForward = scalar, F32, 1724 +etb2etbIntegralError = scalar, F32, 1728, "", 1, 0 +etb2etbCurrentTarget = scalar, F32, 1732, "%", 1, 0 +etb2m_adjustedTarget = scalar, S16, 1736, "%", 0.01, 0 +etb2etbRevLimitActive = bits, U32, 1740, [0:0] +etb2jamDetected = bits, U32, 1740, [1:1] +etb2validPlantPosition = bits, U32, 1740, [2:2] +etb2etbTpsErrorCounter = scalar, U16, 1744, "count", 1,0 +etb2etbPpsErrorCounter = scalar, U16, 1746, "count", 1,0 +etb2etbErrorCode = scalar, S08, 1748, "", 1, 0 +etb2etbErrorCodeBlinker = scalar, S08, 1749, "", 1, 0 +etb2tcEtbDrop = scalar, S08, 1750, "%", 1, 0 +etb2jamTimer = scalar, U16, 1752, "sec", 0.01, 0 +etb2adjustedEtbTarget = scalar, S08, 1754, "%", 1, 0 +etb2state = scalar, U08, 1755, "", 1, 0 +; total TS size = 1756 +wb1faultCode = scalar, U08, 1756, "", 1, 0 +wb1heaterDuty = scalar, U08, 1757, "%", 1, 0 +wb1pumpDuty = scalar, U08, 1758, "%", 1, 0 +wb1tempC = scalar, U16, 1760, "C", 1, 0 +wb1nernstVoltage = scalar, U16, 1762, "V", 0.001, 0 +wb1esr = scalar, U16, 1764, "ohm", 1, 0 +; total TS size = 1768 +wb2faultCode = scalar, U08, 1768, "", 1, 0 +wb2heaterDuty = scalar, U08, 1769, "%", 1, 0 +wb2pumpDuty = scalar, U08, 1770, "%", 1, 0 +wb2tempC = scalar, U16, 1772, "C", 1, 0 +wb2nernstVoltage = scalar, U16, 1774, "V", 0.001, 0 +wb2esr = scalar, U16, 1776, "ohm", 1, 0 +; total TS size = 1780 +dcOutput0 = scalar, F32, 1780, "%", 1,0 +isEnabled0_int = scalar, U08, 1784, "%", 1,0 +isEnabled0 = bits, U32, 1788, [0:0] +; total TS size = 1792 +value0 = scalar, U16, 1792, "RAW", 1,0 +value1 = scalar, U16, 1794, "RAW", 1,0 +errorRate = scalar, F32, 1796, "% (don't belive me)", 1,0 ; total TS size = 1800 -lambdaCurrentlyGood = bits, U32, 1800, [0:0] -lambdaMonitorCut = bits, U32, 1800, [1:1] -lambdaTimeSinceGood = scalar, U16, 1804, "sec", 0.01, 0 -; total TS size = 1808 +vvtTarget = scalar, U16, 1800, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1802, "%", 0.5, 0 +; total TS size = 1804 +lambdaCurrentlyGood = bits, U32, 1804, [0:0] +lambdaMonitorCut = bits, U32, 1804, [1:1] +lambdaTimeSinceGood = scalar, U16, 1808, "sec", 0.01, 0 +; total TS size = 1812 time = { timeNow } @@ -4594,6 +4597,12 @@ curve = rangeMatrix, "Range Switch Input Matrix" gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. upDownLabel = "(RICHER)", "(LEANER)" + table = trailingSparkTable, trailingSparkMap, "Trailing spark", 1 + xyLabels = "RPM", "Ignition Load" + xBins = trailingSparkRpmBins, RPMValue + yBins = trailingSparkLoadBins, ignitionLoad + zBins = trailingSparkTable + table = torqueTableTbl, torqueTableMap, "Engine Torque", 1 xBins = torqueRpmBins, RPMValue yBins = torqueLoadBins, veTableYAxis @@ -4891,6 +4900,7 @@ timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20 timingPidCorrectionGauge = timingPidCorrection,"Idle: Timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 +trailingSparkAngleGauge = trailingSparkAngle,"Ign: Trailing spark deg", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 gaugeCategory = "Boost Control" luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 @@ -5822,6 +5832,7 @@ entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" entry = luaIgnitionSkip, "Ign: Lua Spark Skip", int, "%d" +entry = trailingSparkAngle, "Ign: Trailing spark deg", float, "%.3f" entry = m_knockLevel, "Knock: Current level", float, "%.3f" entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" @@ -6788,6 +6799,7 @@ dialog = ignition_stateDialog, "ignition_state" graphLine = luaTimingAdd liveGraph = ignition_state_4_Graph, "Graph", South graphLine = luaTimingMult + graphLine = trailingSparkAngle dialog = knock_controllerDialog, "knock_controller" @@ -10078,11 +10090,11 @@ dialog = tcuControls, "Transmission Settings" dialog = rotaryDialog, "Rotary" field = "Enable Trailing Sparks", enableTrailingSparks - field = "Trailing Spark Offset", trailingSparkAngle field = "Trailing Pin 1", trailingCoilPins1 field = "Trailing Pin 2", trailingCoilPins2 field = "Trailing Pin 3", trailingCoilPins3 field = "Trailing Pin 4", trailingCoilPins4 + panel = trailingSparkTable dialog = fancyHardwareDialog, "Board Control" field = "A4 Tachometer Output 5V/12V Pull-Up", boardUseTachPullUp diff --git a/firmware/tunerstudio/generated/rusefi_alphax-4k-gdi.ini b/firmware/tunerstudio/generated/rusefi_alphax-4k-gdi.ini index 3d7c411af5..d18349bb95 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.2025.02.07.alphax-4k-gdi.3122633341" + signature = "rusEFI master.2025.02.07.alphax-4k-gdi.1033639184" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2025.02.07.alphax-4k-gdi.3122633341" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2025.02.07.alphax-4k-gdi.1033639184" ; 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 @@ -101,7 +101,7 @@ enable2ndByteCanID = false ; CONFIG_DEFINITION_START ; this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt -pageSize = 41280 +pageSize = 41304 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",22="BMW_M52",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",21="ET_BOSCH_QUICK_START",24="ET_TEST_WITH_BOSCH_QUICK_START",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",41="FRANKENSO_MIATA_NA6_MAP",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",47="GM_LCV",55="GM_LTG",98="GM_SBC",49="GM_SBC_GEN5",8="GY6_139QMB",6="HARLEY",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",34="MAZDA_MIATA_NA6",80="MAZDA_MIATA_NA94",10="MAZDA_MIATA_NA96",83="MAZDA_MIATA_NB1",69="MAZDA_MIATA_NB2",86="MAZDA_MIATA_NB2_36",20="MAZDA_MIATA_NC",33="ME17_9_MISC",68="MERCEDES_M111",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",4="MRE_SECONDARY_CAN",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",35="POLARIS",9="POLARIS_RZR",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",27="PROTEUS_GM_LS_4",25="PROTEUS_LUA_DEMO",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",17="TCU_4R70W",100="TEST_100",101="TEST_101",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",93="TEST_ISSUE_6451",19="TEST_ROTARY",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",102="UNUSED102",67="UNUSED67",94="UNUSED94",65="UNUSED_65",97="UNUSED_97",77="VAG_5_CYL",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -245,7 +245,7 @@ vbattAdcChannel = bits, U08, 513, [0:5], $adc_channel_e_list fuelLevelSensor = bits, U08, 514, [0:5], $adc_channel_e_list tps2_1AdcChannel = bits, U08, 515, [0:5], $adc_channel_e_list idle_derivativeFilterLoss = scalar, F32, 516, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 520, "angle", 1, 0, 0, 720, 0 +unusedTrailingSparkAngle = scalar, S32, 520, "", 1, 0, 0, 100, 0 trigger_type = bits, U32, 524, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Daihatsu 3 cylinder", "Mazda SOHC 4", "60-2", "36-1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "Dodge Ram 1+16", "60-2 Wrong Polarity", "Benelli Tre", "Dodge Stratus", "36_2_2_2", "Nissan Primera", "dev 2JZ 3/34 simulator", "Rover K", "GM 24x 5 degree", "Honda CBR 600 Cam", "INVALID", "Honda CBR 600 custom", "3-1 skipped", "Dodge Neon 2003 crank", "Miata NB", "INVALID", "INVALID", "Subaru 7+6", "Jeep 18-2-2-2", "12crank/24cam", "Dodge Neon 1995 crank only", "Jeep XJ 4 cyl", "FiatIAQ_P8", "Mazda Z5", "INVALID", "Renix 44-2-2", "Renix 66-2-2-2", "Honda K 12+1", "INVALID", "36-2", "Subaru SVX", "Suzuki K6A", "Subaru 7 without 6", "INVALID", "INVALID", "GM 60-2-2-2", "Skoda Favorit", "Barra 3+1 Cam", "Kawa KX450F", "Nissan VQ35", "INVALID", "Nissan VQ30", "Nissan QR25", "INVALID", "Subaru SVX Crank 1", "Subaru SVX Cam VVT", "Ford PIP", "Suzuki G13B", "Honda K 4+1", "Nissan MR18 Crank", "32-2", "36-2-1", "36-2-1-1", "3-0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6-0", "Daihatsu 4 cylinder", "INVALID", "dev", "Nissan HR", "Arctic Cat", "HR12 in", "HONDA J30A2", "trg88", "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" trigger_customTotalToothCount = scalar, S32, 528, "number", 1, 0, 1, 300, 0 trigger_customSkippedToothCount = scalar, S32, 532, "number", 1, 0, 0, 300, 0 @@ -1796,7 +1796,10 @@ dynoCarCarMassKg = scalar, S16, 41268, "", 1, 0, 0, 32000, 0 dynoCarCargoMassKg = scalar, S16, 41270, "", 1, 0, 0, 32000, 0 dynoCarCoeffOfDrag = scalar, F32, 41272, "", 1, 0, 0, 100, 0 dynoCarFrontalAreaM2 = scalar, F32, 41276, "", 1, 0, 0, 100, 0 -; total TS size = 41280 +trailingSparkTable = array, S08, 41280, [4x4], "deg", 0.1, 0, 0, 20, 1 +trailingSparkRpmBins = array, U08, 41296, [4], "rpm", 50.0, 0, 0, 12000, 0 +trailingSparkLoadBins = array, U08, 41300, [4], "Load", 5.0, 0, 0, 1000, 0 +; total TS size = 41304 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1890,7 +1893,6 @@ dynoCarFrontalAreaM2 = scalar, F32, 41276, "", 1, 0, 0, 100, 0 fuelLevelSensor = "This is the processor pin that your fuel level sensor in connected to. This is a non standard input so will need to be user defined." tps2_1AdcChannel = "Second throttle body position sensor, single channel so far" idle_derivativeFilterLoss = "0.1 is a good default value" - trailingSparkAngle = "just a temporary solution" trigger_type = "https://github.com/rusefi/rusefi/wiki/All-Supported-Triggers" airByRpmTaper = "Extra air taper amount" boostControlSafeDutyCycle = "Duty cycle to use in case of a sensor failure. This duty cycle should produce the minimum possible amount of boost. This duty is also used in case any of the minimum RPM/TPS/MAP conditions are not met." @@ -2664,7 +2666,7 @@ dynoCarFrontalAreaM2 = scalar, F32, 41276, "", 1, 0, 0, 100, 0 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1808 + ochBlockSize = 1812 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3189,417 +3191,418 @@ dwellVoltageCorrection = scalar, F32, 940, "", 1, 0 luaTimingAdd = scalar, F32, 944, "deg", 1, 0 luaTimingMult = scalar, F32, 948, "deg", 1, 0 luaIgnitionSkip = bits, U32, 952, [0:0] -; total TS size = 956 -m_knockLevel = scalar, F32, 956, "Volts", 1, 0 -m_knockCyl1 = scalar, S08, 960, "dBv", 1, 0 -m_knockCyl2 = scalar, S08, 961, "dBv", 1, 0 -m_knockCyl3 = scalar, S08, 962, "dBv", 1, 0 -m_knockCyl4 = scalar, S08, 963, "dBv", 1, 0 -m_knockCyl5 = scalar, S08, 964, "dBv", 1, 0 -m_knockCyl6 = scalar, S08, 965, "dBv", 1, 0 -m_knockCyl7 = scalar, S08, 966, "dBv", 1, 0 -m_knockCyl8 = scalar, S08, 967, "dBv", 1, 0 -m_knockCyl9 = scalar, S08, 968, "dBv", 1, 0 -m_knockCyl10 = scalar, S08, 969, "dBv", 1, 0 -m_knockCyl11 = scalar, S08, 970, "dBv", 1, 0 -m_knockCyl12 = scalar, S08, 971, "dBv", 1, 0 -m_knockRetard = scalar, F32, 972, "deg", 1,0 -m_knockThreshold = scalar, F32, 976, "", 1, 0 -m_knockCount = scalar, U32, 980, "", 1, 0 -m_maximumRetard = scalar, F32, 984, "", 1, 0 -m_knockSpectrum1 = scalar, U32, 988, "compressed data", 1, 0 -m_knockSpectrum2 = scalar, U32, 992, "compressed data", 1, 0 -m_knockSpectrum3 = scalar, U32, 996, "compressed data", 1, 0 -m_knockSpectrum4 = scalar, U32, 1000, "compressed data", 1, 0 -m_knockSpectrum5 = scalar, U32, 1004, "compressed data", 1, 0 -m_knockSpectrum6 = scalar, U32, 1008, "compressed data", 1, 0 -m_knockSpectrum7 = scalar, U32, 1012, "compressed data", 1, 0 -m_knockSpectrum8 = scalar, U32, 1016, "compressed data", 1, 0 -m_knockSpectrum9 = scalar, U32, 1020, "compressed data", 1, 0 -m_knockSpectrum10 = scalar, U32, 1024, "compressed data", 1, 0 -m_knockSpectrum11 = scalar, U32, 1028, "compressed data", 1, 0 -m_knockSpectrum12 = scalar, U32, 1032, "compressed data", 1, 0 -m_knockSpectrum13 = scalar, U32, 1036, "compressed data", 1, 0 -m_knockSpectrum14 = scalar, U32, 1040, "compressed data", 1, 0 -m_knockSpectrum15 = scalar, U32, 1044, "compressed data", 1, 0 -m_knockSpectrum16 = scalar, U32, 1048, "compressed data", 1, 0 -m_knockSpectrumChannelCyl = scalar, U16, 1052, "compressed N + N", 1, 0 -m_knockFrequencyStart = scalar, U16, 1054, "Hz", 1, 0 -m_knockFrequencyStep = scalar, F32, 1056, "Hz", 1, 0 -m_knockFuelTrimMultiplier = scalar, F32, 1060, "multiplier", 1, 0 -; total TS size = 1064 -m_isPriming = bits, U32, 1064, [0:0] +trailingSparkAngle = scalar, S16, 956, "deg", 0.01,0 +; total TS size = 960 +m_knockLevel = scalar, F32, 960, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 964, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 965, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 966, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 967, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 968, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 969, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 970, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 971, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 972, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 973, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 974, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 975, "dBv", 1, 0 +m_knockRetard = scalar, F32, 976, "deg", 1,0 +m_knockThreshold = scalar, F32, 980, "", 1, 0 +m_knockCount = scalar, U32, 984, "", 1, 0 +m_maximumRetard = scalar, F32, 988, "", 1, 0 +m_knockSpectrum1 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1040, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1044, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1048, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1052, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1056, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1058, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1060, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1064, "multiplier", 1, 0 ; total TS size = 1068 -tcuCurrentGear = scalar, S08, 1068, "gear", 1, 0 -tcRatio = scalar, U16, 1070, "value", 0.01, 0 -lastShiftTime = scalar, F32, 1072, "", 1, 0 -tcu_currentRange = scalar, U08, 1076, "", 1, 0 -pressureControlDuty = scalar, S08, 1077, "%", 1,0 -torqueConverterDuty = scalar, S08, 1078, "%", 1,0 -isShifting = bits, U32, 1080, [0:0] -; total TS size = 1084 -throttleUseWotModel = bits, U32, 1084, [0:0] -throttleModelCrossoverAngle = scalar, S16, 1088, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1092, "g/s", 1, 0 -; total TS size = 1096 -m_requested_pump = scalar, F32, 1096, "", 1, 0 -fuel_requested_percent = scalar, F32, 1100, "%", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1104, "", 1, 0 -noValve = bits, U32, 1108, [0:0] -angleAboveMin = bits, U32, 1108, [1:1] -isHpfpActive = bits, U32, 1108, [2:2] -HpfpValveState = bits, U32, 1108, [3:3] -m_pressureTarget_kPa = scalar, F32, 1112, "", 1, 0 -nextLobe = scalar, F32, 1116, "", 1, 0 -di_nextStart = scalar, F32, 1120, "v", 1, 0 -HpfdActivationPhase = scalar, F32, 1124, "", 1, 0 -HpfdDeactivationPhase = scalar, F32, 1128, "", 1, 0 -; total TS size = 1132 -m_deadtime = scalar, F32, 1132, "ms", 1, 0 -pressureDelta = scalar, F32, 1136, "kPa", 1, 0 -pressureRatio = scalar, F32, 1140, "", 1, 0 -; total TS size = 1144 -retardThresholdRpm = scalar, S32, 1144, "", 1, 0 -launchActivatePinState = bits, U32, 1148, [0:0] -isPreLaunchCondition = bits, U32, 1148, [1:1] -isLaunchCondition = bits, U32, 1148, [2:2] -isSwitchActivated = bits, U32, 1148, [3:3] -isClutchActivated = bits, U32, 1148, [4:4] -isBrakePedalActivated = bits, U32, 1148, [5:5] -isValidInputPin = bits, U32, 1148, [6:6] -activateSwitchCondition = bits, U32, 1148, [7:7] -rpmLaunchCondition = bits, U32, 1148, [8:8] -rpmPreLaunchCondition = bits, U32, 1148, [9:9] -speedCondition = bits, U32, 1148, [10:10] -tpsCondition = bits, U32, 1148, [11:11] -; total TS size = 1152 -isTorqueReductionTriggerPinValid = bits, U32, 1152, [0:0] -torqueReductionTriggerPinState = bits, U32, 1152, [1:1] -isTimeConditionSatisfied = bits, U32, 1152, [2:2] -isRpmConditionSatisfied = bits, U32, 1152, [3:3] -isAppConditionSatisfied = bits, U32, 1152, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1152, [5:5] +m_isPriming = bits, U32, 1068, [0:0] +; total TS size = 1072 +tcuCurrentGear = scalar, S08, 1072, "gear", 1, 0 +tcRatio = scalar, U16, 1074, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1076, "", 1, 0 +tcu_currentRange = scalar, U08, 1080, "", 1, 0 +pressureControlDuty = scalar, S08, 1081, "%", 1,0 +torqueConverterDuty = scalar, S08, 1082, "%", 1,0 +isShifting = bits, U32, 1084, [0:0] +; total TS size = 1088 +throttleUseWotModel = bits, U32, 1088, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1092, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1096, "g/s", 1, 0 +; total TS size = 1100 +m_requested_pump = scalar, F32, 1100, "", 1, 0 +fuel_requested_percent = scalar, F32, 1104, "%", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1108, "", 1, 0 +noValve = bits, U32, 1112, [0:0] +angleAboveMin = bits, U32, 1112, [1:1] +isHpfpActive = bits, U32, 1112, [2:2] +HpfpValveState = bits, U32, 1112, [3:3] +m_pressureTarget_kPa = scalar, F32, 1116, "", 1, 0 +nextLobe = scalar, F32, 1120, "", 1, 0 +di_nextStart = scalar, F32, 1124, "v", 1, 0 +HpfdActivationPhase = scalar, F32, 1128, "", 1, 0 +HpfdDeactivationPhase = scalar, F32, 1132, "", 1, 0 +; total TS size = 1136 +m_deadtime = scalar, F32, 1136, "ms", 1, 0 +pressureDelta = scalar, F32, 1140, "kPa", 1, 0 +pressureRatio = scalar, F32, 1144, "", 1, 0 +; total TS size = 1148 +retardThresholdRpm = scalar, S32, 1148, "", 1, 0 +launchActivatePinState = bits, U32, 1152, [0:0] +isPreLaunchCondition = bits, U32, 1152, [1:1] +isLaunchCondition = bits, U32, 1152, [2:2] +isSwitchActivated = bits, U32, 1152, [3:3] +isClutchActivated = bits, U32, 1152, [4:4] +isBrakePedalActivated = bits, U32, 1152, [5:5] +isValidInputPin = bits, U32, 1152, [6:6] +activateSwitchCondition = bits, U32, 1152, [7:7] +rpmLaunchCondition = bits, U32, 1152, [8:8] +rpmPreLaunchCondition = bits, U32, 1152, [9:9] +speedCondition = bits, U32, 1152, [10:10] +tpsCondition = bits, U32, 1152, [11:11] ; total TS size = 1156 -isAntilagCondition = bits, U32, 1156, [0:0] -ALSMinRPMCondition = bits, U32, 1156, [1:1] -ALSMaxRPMCondition = bits, U32, 1156, [2:2] -ALSMinCLTCondition = bits, U32, 1156, [3:3] -ALSMaxCLTCondition = bits, U32, 1156, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1156, [5:5] -isALSSwitchActivated = bits, U32, 1156, [6:6] -ALSActivatePinState = bits, U32, 1156, [7:7] -ALSSwitchCondition = bits, U32, 1156, [8:8] -ALSTimerCondition = bits, U32, 1156, [9:9] -fuelALSCorrection = scalar, F32, 1160, "", 1, 0 -timingALSCorrection = scalar, S16, 1164, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1166, "deg", 0.01, 0 -; total TS size = 1168 -isTpsInvalid = bits, U32, 1168, [0:0] -m_shouldResetPid = bits, U32, 1168, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1168, [2:2] -isNotClosedLoop = bits, U32, 1168, [3:3] -isZeroRpm = bits, U32, 1168, [4:4] -hasInitBoost = bits, U32, 1168, [5:5] -rpmTooLow = bits, U32, 1168, [6:6] -tpsTooLow = bits, U32, 1168, [7:7] -mapTooLow = bits, U32, 1168, [8:8] -isPlantValid = bits, U32, 1168, [9:9] -isBoostControlled = bits, U32, 1168, [10:10] -luaTargetAdd = scalar, S16, 1172, "v", 0.5,0 -boostOutput = scalar, S16, 1174, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1176, "v", 1,0 -openLoopPart = scalar, F32, 1180, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1184, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1188, "%", 0.5,0 -boostControlTarget = scalar, S16, 1190, "kPa", 0.03333333333333333,0 -; total TS size = 1192 -acButtonState = scalar, S08, 1192, "", 1, 0 -m_acEnabled = bits, U32, 1196, [0:0] -engineTooSlow = bits, U32, 1196, [1:1] -engineTooFast = bits, U32, 1196, [2:2] -noClt = bits, U32, 1196, [3:3] -engineTooHot = bits, U32, 1196, [4:4] -tpsTooHigh = bits, U32, 1196, [5:5] -isDisabledByLua = bits, U32, 1196, [6:6] -acCompressorState = bits, U32, 1196, [7:7] -acPressureTooLow = bits, U32, 1196, [8:8] -acPressureTooHigh = bits, U32, 1196, [9:9] -; total TS size = 1200 -isNitrousArmed = bits, U32, 1200, [0:0] -isNitrousSpeedCondition = bits, U32, 1200, [1:1] -isNitrousTpsCondition = bits, U32, 1200, [2:2] -isNitrousCltCondition = bits, U32, 1200, [3:3] -isNitrousMapCondition = bits, U32, 1200, [4:4] -isNitrousAfrCondition = bits, U32, 1200, [5:5] -isNitrousRpmCondition = bits, U32, 1200, [6:6] -isNitrousCondition = bits, U32, 1200, [7:7] +isTorqueReductionTriggerPinValid = bits, U32, 1156, [0:0] +torqueReductionTriggerPinState = bits, U32, 1156, [1:1] +isTimeConditionSatisfied = bits, U32, 1156, [2:2] +isRpmConditionSatisfied = bits, U32, 1156, [3:3] +isAppConditionSatisfied = bits, U32, 1156, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1156, [5:5] +; total TS size = 1160 +isAntilagCondition = bits, U32, 1160, [0:0] +ALSMinRPMCondition = bits, U32, 1160, [1:1] +ALSMaxRPMCondition = bits, U32, 1160, [2:2] +ALSMinCLTCondition = bits, U32, 1160, [3:3] +ALSMaxCLTCondition = bits, U32, 1160, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1160, [5:5] +isALSSwitchActivated = bits, U32, 1160, [6:6] +ALSActivatePinState = bits, U32, 1160, [7:7] +ALSSwitchCondition = bits, U32, 1160, [8:8] +ALSTimerCondition = bits, U32, 1160, [9:9] +fuelALSCorrection = scalar, F32, 1164, "", 1, 0 +timingALSCorrection = scalar, S16, 1168, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1170, "deg", 0.01, 0 +; total TS size = 1172 +isTpsInvalid = bits, U32, 1172, [0:0] +m_shouldResetPid = bits, U32, 1172, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1172, [2:2] +isNotClosedLoop = bits, U32, 1172, [3:3] +isZeroRpm = bits, U32, 1172, [4:4] +hasInitBoost = bits, U32, 1172, [5:5] +rpmTooLow = bits, U32, 1172, [6:6] +tpsTooLow = bits, U32, 1172, [7:7] +mapTooLow = bits, U32, 1172, [8:8] +isPlantValid = bits, U32, 1172, [9:9] +isBoostControlled = bits, U32, 1172, [10:10] +luaTargetAdd = scalar, S16, 1176, "v", 0.5,0 +boostOutput = scalar, S16, 1178, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1180, "v", 1,0 +openLoopPart = scalar, F32, 1184, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1188, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1192, "%", 0.5,0 +boostControlTarget = scalar, S16, 1194, "kPa", 0.03333333333333333,0 +; total TS size = 1196 +acButtonState = scalar, S08, 1196, "", 1, 0 +m_acEnabled = bits, U32, 1200, [0:0] +engineTooSlow = bits, U32, 1200, [1:1] +engineTooFast = bits, U32, 1200, [2:2] +noClt = bits, U32, 1200, [3:3] +engineTooHot = bits, U32, 1200, [4:4] +tpsTooHigh = bits, U32, 1200, [5:5] +isDisabledByLua = bits, U32, 1200, [6:6] +acCompressorState = bits, U32, 1200, [7:7] +acPressureTooLow = bits, U32, 1200, [8:8] +acPressureTooHigh = bits, U32, 1200, [9:9] ; total TS size = 1204 -fan1cranking = bits, U32, 1204, [0:0] -fan1notRunning = bits, U32, 1204, [1:1] -fan1disabledWhileEngineStopped = bits, U32, 1204, [2:2] -fan1brokenClt = bits, U32, 1204, [3:3] -fan1enabledForAc = bits, U32, 1204, [4:4] -fan1hot = bits, U32, 1204, [5:5] -fan1cold = bits, U32, 1204, [6:6] -fan1disabledBySpeed = bits, U32, 1204, [7:7] -fan1m_state = bits, U32, 1204, [8:8] -fan1radiatorFanStatus = scalar, U08, 1208, "", 1, 0 -; total TS size = 1212 -fan2cranking = bits, U32, 1212, [0:0] -fan2notRunning = bits, U32, 1212, [1:1] -fan2disabledWhileEngineStopped = bits, U32, 1212, [2:2] -fan2brokenClt = bits, U32, 1212, [3:3] -fan2enabledForAc = bits, U32, 1212, [4:4] -fan2hot = bits, U32, 1212, [5:5] -fan2cold = bits, U32, 1212, [6:6] -fan2disabledBySpeed = bits, U32, 1212, [7:7] -fan2m_state = bits, U32, 1212, [8:8] -fan2radiatorFanStatus = scalar, U08, 1216, "", 1, 0 -; total TS size = 1220 -isPrime = bits, U32, 1220, [0:0] -engineTurnedRecently = bits, U32, 1220, [1:1] -isFuelPumpOn = bits, U32, 1220, [2:2] -ignitionOn = bits, U32, 1220, [3:3] +isNitrousArmed = bits, U32, 1204, [0:0] +isNitrousSpeedCondition = bits, U32, 1204, [1:1] +isNitrousTpsCondition = bits, U32, 1204, [2:2] +isNitrousCltCondition = bits, U32, 1204, [3:3] +isNitrousMapCondition = bits, U32, 1204, [4:4] +isNitrousAfrCondition = bits, U32, 1204, [5:5] +isNitrousRpmCondition = bits, U32, 1204, [6:6] +isNitrousCondition = bits, U32, 1204, [7:7] +; total TS size = 1208 +fan1cranking = bits, U32, 1208, [0:0] +fan1notRunning = bits, U32, 1208, [1:1] +fan1disabledWhileEngineStopped = bits, U32, 1208, [2:2] +fan1brokenClt = bits, U32, 1208, [3:3] +fan1enabledForAc = bits, U32, 1208, [4:4] +fan1hot = bits, U32, 1208, [5:5] +fan1cold = bits, U32, 1208, [6:6] +fan1disabledBySpeed = bits, U32, 1208, [7:7] +fan1m_state = bits, U32, 1208, [8:8] +fan1radiatorFanStatus = scalar, U08, 1212, "", 1, 0 +; total TS size = 1216 +fan2cranking = bits, U32, 1216, [0:0] +fan2notRunning = bits, U32, 1216, [1:1] +fan2disabledWhileEngineStopped = bits, U32, 1216, [2:2] +fan2brokenClt = bits, U32, 1216, [3:3] +fan2enabledForAc = bits, U32, 1216, [4:4] +fan2hot = bits, U32, 1216, [5:5] +fan2cold = bits, U32, 1216, [6:6] +fan2disabledBySpeed = bits, U32, 1216, [7:7] +fan2m_state = bits, U32, 1216, [8:8] +fan2radiatorFanStatus = scalar, U08, 1220, "", 1, 0 ; total TS size = 1224 -isBenchTest = bits, U32, 1224, [0:0] -hasIgnitionVoltage = bits, U32, 1224, [1:1] -mainRelayState = bits, U32, 1224, [2:2] -delayedShutoffRequested = bits, U32, 1224, [3:3] +isPrime = bits, U32, 1224, [0:0] +engineTurnedRecently = bits, U32, 1224, [1:1] +isFuelPumpOn = bits, U32, 1224, [2:2] +ignitionOn = bits, U32, 1224, [3:3] ; total TS size = 1228 -lua_fuelAdd = scalar, F32, 1228, "g", 1, 0 -lua_fuelMult = scalar, F32, 1232, "", 1, 0 -lua_clutchUpState = bits, U32, 1236, [0:0] -lua_brakePedalState = bits, U32, 1236, [1:1] -lua_acRequestState = bits, U32, 1236, [2:2] -lua_luaDisableEtb = bits, U32, 1236, [3:3] -lua_luaIgnCut = bits, U32, 1236, [4:4] -lua_luaFuelCut = bits, U32, 1236, [5:5] -lua_clutchDownState = bits, U32, 1236, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1236, [7:7] -lua_torqueReductionState = bits, U32, 1236, [8:8] -sd_tCharge = scalar, S16, 1240, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1244, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1248, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1252, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1256, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1260, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1264, "", 1, 0 -hellenBoardId = scalar, S16, 1268, "id", 1, 0 -clutchUpState = scalar, S08, 1270, "", 1, 0 -brakePedalState = scalar, S08, 1271, "", 1, 0 -startStopState = scalar, S08, 1272, "", 1, 0 -smartChipState = scalar, S08, 1273, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1274, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1275, "", 1, 0 -startStopPhysicalState = bits, U32, 1276, [0:0] -acrActive = bits, U32, 1276, [1:1] -acrEngineMovedRecently = bits, U32, 1276, [2:2] -heaterControlEnabled = bits, U32, 1276, [3:3] -luaDigitalState0 = bits, U32, 1276, [4:4] -luaDigitalState1 = bits, U32, 1276, [5:5] -luaDigitalState2 = bits, U32, 1276, [6:6] -luaDigitalState3 = bits, U32, 1276, [7:7] -clutchDownState = bits, U32, 1276, [8:8] -startStopStateToggleCounter = scalar, U32, 1280, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1284, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1288, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1292, "", 1, 0 -fuelInjectionCounter = scalar, U32, 1296, "", 1, 0 -globalSparkCounter = scalar, U32, 1300, "", 1, 0 -fuelingLoad = scalar, F32, 1304, "", 1, 0 -ignitionLoad = scalar, F32, 1308, "", 1, 0 -veTableYAxis = scalar, U16, 1312, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1314, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1315, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1316, "", 1, 0 -; total TS size = 1320 -tpsFrom = scalar, F32, 1320 -tpsTo = scalar, F32, 1324 -deltaTps = scalar, F32, 1328 -extraFuel = scalar, F32, 1332, "", 1, 0 -valueFromTable = scalar, F32, 1336, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1340, [0:0] -isBelowDecelThreshold = bits, U32, 1340, [1:1] -isTimeToResetAccumulator = bits, U32, 1340, [2:2] -isFractionalEnrichment = bits, U32, 1340, [3:3] -belowEpsilon = bits, U32, 1340, [4:4] -tooShort = bits, U32, 1340, [5:5] -fractionalInjFuel = scalar, F32, 1344, "", 1, 0 -accumulatedValue = scalar, F32, 1348, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1352, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1356, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1360, "", 1, 0 -cycleCnt = scalar, S32, 1364, "", 1, 0 -; total TS size = 1368 -hwEventCounters1 = scalar, U16, 1368, "", 1, 0 -hwEventCounters2 = scalar, U16, 1370, "", 1, 0 -hwEventCounters3 = scalar, U16, 1372, "", 1, 0 -hwEventCounters4 = scalar, U16, 1374, "", 1, 0 -vvtCamCounter = scalar, U16, 1376, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1380, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1384, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1388, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1389, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1392, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1396, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1400, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1404, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1408, [0:0] -triggerElapsedUs = scalar, U32, 1412, "", 1, 0 -; total TS size = 1416 -trgsynchronizationCounter = scalar, U32, 1416, "", 1, 0 -trgvvtToothDurations0 = scalar, U32, 1420, "us", 1, 0 -trgvvtCurrentPosition = scalar, F32, 1424, "", 1, 0 -trgvvtToothPosition1 = scalar, F32, 1428, "", 1, 0 -trgvvtToothPosition2 = scalar, F32, 1432, "", 1, 0 -trgvvtToothPosition3 = scalar, F32, 1436, "", 1, 0 -trgvvtToothPosition4 = scalar, F32, 1440, "", 1, 0 -trgtriggerSyncGapRatio = scalar, F32, 1444, "", 1, 0 -trgtriggerStateIndex = scalar, U08, 1448, "", 1, 0 -; total TS size = 1452 -vvt1isynchronizationCounter = scalar, U32, 1452, "", 1, 0 -vvt1ivvtToothDurations0 = scalar, U32, 1456, "us", 1, 0 -vvt1ivvtCurrentPosition = scalar, F32, 1460, "", 1, 0 -vvt1ivvtToothPosition1 = scalar, F32, 1464, "", 1, 0 -vvt1ivvtToothPosition2 = scalar, F32, 1468, "", 1, 0 -vvt1ivvtToothPosition3 = scalar, F32, 1472, "", 1, 0 -vvt1ivvtToothPosition4 = scalar, F32, 1476, "", 1, 0 -vvt1itriggerSyncGapRatio = scalar, F32, 1480, "", 1, 0 -vvt1itriggerStateIndex = scalar, U08, 1484, "", 1, 0 -; total TS size = 1488 -vvt1esynchronizationCounter = scalar, U32, 1488, "", 1, 0 -vvt1evvtToothDurations0 = scalar, U32, 1492, "us", 1, 0 -vvt1evvtCurrentPosition = scalar, F32, 1496, "", 1, 0 -vvt1evvtToothPosition1 = scalar, F32, 1500, "", 1, 0 -vvt1evvtToothPosition2 = scalar, F32, 1504, "", 1, 0 -vvt1evvtToothPosition3 = scalar, F32, 1508, "", 1, 0 -vvt1evvtToothPosition4 = scalar, F32, 1512, "", 1, 0 -vvt1etriggerSyncGapRatio = scalar, F32, 1516, "", 1, 0 -vvt1etriggerStateIndex = scalar, U08, 1520, "", 1, 0 -; total TS size = 1524 -vvt2isynchronizationCounter = scalar, U32, 1524, "", 1, 0 -vvt2ivvtToothDurations0 = scalar, U32, 1528, "us", 1, 0 -vvt2ivvtCurrentPosition = scalar, F32, 1532, "", 1, 0 -vvt2ivvtToothPosition1 = scalar, F32, 1536, "", 1, 0 -vvt2ivvtToothPosition2 = scalar, F32, 1540, "", 1, 0 -vvt2ivvtToothPosition3 = scalar, F32, 1544, "", 1, 0 -vvt2ivvtToothPosition4 = scalar, F32, 1548, "", 1, 0 -vvt2itriggerSyncGapRatio = scalar, F32, 1552, "", 1, 0 -vvt2itriggerStateIndex = scalar, U08, 1556, "", 1, 0 -; total TS size = 1560 -vvt2esynchronizationCounter = scalar, U32, 1560, "", 1, 0 -vvt2evvtToothDurations0 = scalar, U32, 1564, "us", 1, 0 -vvt2evvtCurrentPosition = scalar, F32, 1568, "", 1, 0 -vvt2evvtToothPosition1 = scalar, F32, 1572, "", 1, 0 -vvt2evvtToothPosition2 = scalar, F32, 1576, "", 1, 0 -vvt2evvtToothPosition3 = scalar, F32, 1580, "", 1, 0 -vvt2evvtToothPosition4 = scalar, F32, 1584, "", 1, 0 -vvt2etriggerSyncGapRatio = scalar, F32, 1588, "", 1, 0 -vvt2etriggerStateIndex = scalar, U08, 1592, "", 1, 0 -; total TS size = 1596 -camResyncCounter = scalar, U08, 1596, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1600, [0:0] -; total TS size = 1604 -wallFuelCorrection = scalar, F32, 1604, "", 1, 0 -wallFuel = scalar, F32, 1608, "", 1, 0 -; total TS size = 1612 -idleState = bits, S32, 1612, [0:2], "not important" -currentIdlePosition = scalar, F32, 1616 -baseIdlePosition = scalar, F32, 1620 -idleClosedLoop = scalar, F32, 1624 -iacByTpsTaper = scalar, F32, 1628 -mightResetPid = bits, U32, 1632, [0:0] -shouldResetPid = bits, U32, 1632, [1:1] -wasResetPid = bits, U32, 1632, [2:2] -mustResetPid = bits, U32, 1632, [3:3] -isCranking = bits, U32, 1632, [4:4] -isIacTableForCoasting = bits, U32, 1632, [5:5] -notIdling = bits, U32, 1632, [6:6] -needReset = bits, U32, 1632, [7:7] -isInDeadZone = bits, U32, 1632, [8:8] -isBlipping = bits, U32, 1632, [9:9] -useClosedLoop = bits, U32, 1632, [10:10] -badTps = bits, U32, 1632, [11:11] -looksLikeRunning = bits, U32, 1632, [12:12] -looksLikeCoasting = bits, U32, 1632, [13:13] -looksLikeCrankToIdle = bits, U32, 1632, [14:14] -isIdleCoasting = bits, U32, 1632, [15:15] -isIdleClosedLoop = bits, U32, 1632, [16:16] -idleTarget = scalar, S32, 1636, "", 1, 0 -targetRpmByClt = scalar, S32, 1640, "", 1, 0 -targetRpmAc = scalar, S32, 1644, "", 1, 0 -iacByRpmTaper = scalar, F32, 1648 -luaAdd = scalar, F32, 1652 -; total TS size = 1656 -etb1targetWithIdlePosition = scalar, F32, 1656, "%", 1,0 -etb1trim = scalar, F32, 1660, "", 1, 0 -etb1luaAdjustment = scalar, F32, 1664, "%", 1,0 -etb1m_wastegatePosition = scalar, F32, 1668, "%", 1,0 -etb1etbFeedForward = scalar, F32, 1672 -etb1etbIntegralError = scalar, F32, 1676, "", 1, 0 -etb1etbCurrentTarget = scalar, F32, 1680, "%", 1, 0 -etb1m_adjustedTarget = scalar, S16, 1684, "%", 0.01, 0 -etb1etbRevLimitActive = bits, U32, 1688, [0:0] -etb1jamDetected = bits, U32, 1688, [1:1] -etb1validPlantPosition = bits, U32, 1688, [2:2] -etb1etbTpsErrorCounter = scalar, U16, 1692, "count", 1,0 -etb1etbPpsErrorCounter = scalar, U16, 1694, "count", 1,0 -etb1etbErrorCode = scalar, S08, 1696, "", 1, 0 -etb1etbErrorCodeBlinker = scalar, S08, 1697, "", 1, 0 -etb1tcEtbDrop = scalar, S08, 1698, "%", 1, 0 -etb1jamTimer = scalar, U16, 1700, "sec", 0.01, 0 -etb1adjustedEtbTarget = scalar, S08, 1702, "%", 1, 0 -etb1state = scalar, U08, 1703, "", 1, 0 -; total TS size = 1704 -etb2targetWithIdlePosition = scalar, F32, 1704, "%", 1,0 -etb2trim = scalar, F32, 1708, "", 1, 0 -etb2luaAdjustment = scalar, F32, 1712, "%", 1,0 -etb2m_wastegatePosition = scalar, F32, 1716, "%", 1,0 -etb2etbFeedForward = scalar, F32, 1720 -etb2etbIntegralError = scalar, F32, 1724, "", 1, 0 -etb2etbCurrentTarget = scalar, F32, 1728, "%", 1, 0 -etb2m_adjustedTarget = scalar, S16, 1732, "%", 0.01, 0 -etb2etbRevLimitActive = bits, U32, 1736, [0:0] -etb2jamDetected = bits, U32, 1736, [1:1] -etb2validPlantPosition = bits, U32, 1736, [2:2] -etb2etbTpsErrorCounter = scalar, U16, 1740, "count", 1,0 -etb2etbPpsErrorCounter = scalar, U16, 1742, "count", 1,0 -etb2etbErrorCode = scalar, S08, 1744, "", 1, 0 -etb2etbErrorCodeBlinker = scalar, S08, 1745, "", 1, 0 -etb2tcEtbDrop = scalar, S08, 1746, "%", 1, 0 -etb2jamTimer = scalar, U16, 1748, "sec", 0.01, 0 -etb2adjustedEtbTarget = scalar, S08, 1750, "%", 1, 0 -etb2state = scalar, U08, 1751, "", 1, 0 -; total TS size = 1752 -wb1faultCode = scalar, U08, 1752, "", 1, 0 -wb1heaterDuty = scalar, U08, 1753, "%", 1, 0 -wb1pumpDuty = scalar, U08, 1754, "%", 1, 0 -wb1tempC = scalar, U16, 1756, "C", 1, 0 -wb1nernstVoltage = scalar, U16, 1758, "V", 0.001, 0 -wb1esr = scalar, U16, 1760, "ohm", 1, 0 -; total TS size = 1764 -wb2faultCode = scalar, U08, 1764, "", 1, 0 -wb2heaterDuty = scalar, U08, 1765, "%", 1, 0 -wb2pumpDuty = scalar, U08, 1766, "%", 1, 0 -wb2tempC = scalar, U16, 1768, "C", 1, 0 -wb2nernstVoltage = scalar, U16, 1770, "V", 0.001, 0 -wb2esr = scalar, U16, 1772, "ohm", 1, 0 -; total TS size = 1776 -dcOutput0 = scalar, F32, 1776, "%", 1,0 -isEnabled0_int = scalar, U08, 1780, "%", 1,0 -isEnabled0 = bits, U32, 1784, [0:0] -; total TS size = 1788 -value0 = scalar, U16, 1788, "RAW", 1,0 -value1 = scalar, U16, 1790, "RAW", 1,0 -errorRate = scalar, F32, 1792, "% (don't belive me)", 1,0 -; total TS size = 1796 -vvtTarget = scalar, U16, 1796, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1798, "%", 0.5, 0 +isBenchTest = bits, U32, 1228, [0:0] +hasIgnitionVoltage = bits, U32, 1228, [1:1] +mainRelayState = bits, U32, 1228, [2:2] +delayedShutoffRequested = bits, U32, 1228, [3:3] +; total TS size = 1232 +lua_fuelAdd = scalar, F32, 1232, "g", 1, 0 +lua_fuelMult = scalar, F32, 1236, "", 1, 0 +lua_clutchUpState = bits, U32, 1240, [0:0] +lua_brakePedalState = bits, U32, 1240, [1:1] +lua_acRequestState = bits, U32, 1240, [2:2] +lua_luaDisableEtb = bits, U32, 1240, [3:3] +lua_luaIgnCut = bits, U32, 1240, [4:4] +lua_luaFuelCut = bits, U32, 1240, [5:5] +lua_clutchDownState = bits, U32, 1240, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1240, [7:7] +lua_torqueReductionState = bits, U32, 1240, [8:8] +sd_tCharge = scalar, S16, 1244, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1248, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1252, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1256, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1260, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1264, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1268, "", 1, 0 +hellenBoardId = scalar, S16, 1272, "id", 1, 0 +clutchUpState = scalar, S08, 1274, "", 1, 0 +brakePedalState = scalar, S08, 1275, "", 1, 0 +startStopState = scalar, S08, 1276, "", 1, 0 +smartChipState = scalar, S08, 1277, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1278, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1279, "", 1, 0 +startStopPhysicalState = bits, U32, 1280, [0:0] +acrActive = bits, U32, 1280, [1:1] +acrEngineMovedRecently = bits, U32, 1280, [2:2] +heaterControlEnabled = bits, U32, 1280, [3:3] +luaDigitalState0 = bits, U32, 1280, [4:4] +luaDigitalState1 = bits, U32, 1280, [5:5] +luaDigitalState2 = bits, U32, 1280, [6:6] +luaDigitalState3 = bits, U32, 1280, [7:7] +clutchDownState = bits, U32, 1280, [8:8] +startStopStateToggleCounter = scalar, U32, 1284, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1288, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1292, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1296, "", 1, 0 +fuelInjectionCounter = scalar, U32, 1300, "", 1, 0 +globalSparkCounter = scalar, U32, 1304, "", 1, 0 +fuelingLoad = scalar, F32, 1308, "", 1, 0 +ignitionLoad = scalar, F32, 1312, "", 1, 0 +veTableYAxis = scalar, U16, 1316, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1318, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1319, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1320, "", 1, 0 +; total TS size = 1324 +tpsFrom = scalar, F32, 1324 +tpsTo = scalar, F32, 1328 +deltaTps = scalar, F32, 1332 +extraFuel = scalar, F32, 1336, "", 1, 0 +valueFromTable = scalar, F32, 1340, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1344, [0:0] +isBelowDecelThreshold = bits, U32, 1344, [1:1] +isTimeToResetAccumulator = bits, U32, 1344, [2:2] +isFractionalEnrichment = bits, U32, 1344, [3:3] +belowEpsilon = bits, U32, 1344, [4:4] +tooShort = bits, U32, 1344, [5:5] +fractionalInjFuel = scalar, F32, 1348, "", 1, 0 +accumulatedValue = scalar, F32, 1352, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1356, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1360, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1364, "", 1, 0 +cycleCnt = scalar, S32, 1368, "", 1, 0 +; total TS size = 1372 +hwEventCounters1 = scalar, U16, 1372, "", 1, 0 +hwEventCounters2 = scalar, U16, 1374, "", 1, 0 +hwEventCounters3 = scalar, U16, 1376, "", 1, 0 +hwEventCounters4 = scalar, U16, 1378, "", 1, 0 +vvtCamCounter = scalar, U16, 1380, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1384, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1388, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1392, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1393, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1396, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1400, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1404, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1408, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1412, [0:0] +triggerElapsedUs = scalar, U32, 1416, "", 1, 0 +; total TS size = 1420 +trgsynchronizationCounter = scalar, U32, 1420, "", 1, 0 +trgvvtToothDurations0 = scalar, U32, 1424, "us", 1, 0 +trgvvtCurrentPosition = scalar, F32, 1428, "", 1, 0 +trgvvtToothPosition1 = scalar, F32, 1432, "", 1, 0 +trgvvtToothPosition2 = scalar, F32, 1436, "", 1, 0 +trgvvtToothPosition3 = scalar, F32, 1440, "", 1, 0 +trgvvtToothPosition4 = scalar, F32, 1444, "", 1, 0 +trgtriggerSyncGapRatio = scalar, F32, 1448, "", 1, 0 +trgtriggerStateIndex = scalar, U08, 1452, "", 1, 0 +; total TS size = 1456 +vvt1isynchronizationCounter = scalar, U32, 1456, "", 1, 0 +vvt1ivvtToothDurations0 = scalar, U32, 1460, "us", 1, 0 +vvt1ivvtCurrentPosition = scalar, F32, 1464, "", 1, 0 +vvt1ivvtToothPosition1 = scalar, F32, 1468, "", 1, 0 +vvt1ivvtToothPosition2 = scalar, F32, 1472, "", 1, 0 +vvt1ivvtToothPosition3 = scalar, F32, 1476, "", 1, 0 +vvt1ivvtToothPosition4 = scalar, F32, 1480, "", 1, 0 +vvt1itriggerSyncGapRatio = scalar, F32, 1484, "", 1, 0 +vvt1itriggerStateIndex = scalar, U08, 1488, "", 1, 0 +; total TS size = 1492 +vvt1esynchronizationCounter = scalar, U32, 1492, "", 1, 0 +vvt1evvtToothDurations0 = scalar, U32, 1496, "us", 1, 0 +vvt1evvtCurrentPosition = scalar, F32, 1500, "", 1, 0 +vvt1evvtToothPosition1 = scalar, F32, 1504, "", 1, 0 +vvt1evvtToothPosition2 = scalar, F32, 1508, "", 1, 0 +vvt1evvtToothPosition3 = scalar, F32, 1512, "", 1, 0 +vvt1evvtToothPosition4 = scalar, F32, 1516, "", 1, 0 +vvt1etriggerSyncGapRatio = scalar, F32, 1520, "", 1, 0 +vvt1etriggerStateIndex = scalar, U08, 1524, "", 1, 0 +; total TS size = 1528 +vvt2isynchronizationCounter = scalar, U32, 1528, "", 1, 0 +vvt2ivvtToothDurations0 = scalar, U32, 1532, "us", 1, 0 +vvt2ivvtCurrentPosition = scalar, F32, 1536, "", 1, 0 +vvt2ivvtToothPosition1 = scalar, F32, 1540, "", 1, 0 +vvt2ivvtToothPosition2 = scalar, F32, 1544, "", 1, 0 +vvt2ivvtToothPosition3 = scalar, F32, 1548, "", 1, 0 +vvt2ivvtToothPosition4 = scalar, F32, 1552, "", 1, 0 +vvt2itriggerSyncGapRatio = scalar, F32, 1556, "", 1, 0 +vvt2itriggerStateIndex = scalar, U08, 1560, "", 1, 0 +; total TS size = 1564 +vvt2esynchronizationCounter = scalar, U32, 1564, "", 1, 0 +vvt2evvtToothDurations0 = scalar, U32, 1568, "us", 1, 0 +vvt2evvtCurrentPosition = scalar, F32, 1572, "", 1, 0 +vvt2evvtToothPosition1 = scalar, F32, 1576, "", 1, 0 +vvt2evvtToothPosition2 = scalar, F32, 1580, "", 1, 0 +vvt2evvtToothPosition3 = scalar, F32, 1584, "", 1, 0 +vvt2evvtToothPosition4 = scalar, F32, 1588, "", 1, 0 +vvt2etriggerSyncGapRatio = scalar, F32, 1592, "", 1, 0 +vvt2etriggerStateIndex = scalar, U08, 1596, "", 1, 0 +; total TS size = 1600 +camResyncCounter = scalar, U08, 1600, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1604, [0:0] +; total TS size = 1608 +wallFuelCorrection = scalar, F32, 1608, "", 1, 0 +wallFuel = scalar, F32, 1612, "", 1, 0 +; total TS size = 1616 +idleState = bits, S32, 1616, [0:2], "not important" +currentIdlePosition = scalar, F32, 1620 +baseIdlePosition = scalar, F32, 1624 +idleClosedLoop = scalar, F32, 1628 +iacByTpsTaper = scalar, F32, 1632 +mightResetPid = bits, U32, 1636, [0:0] +shouldResetPid = bits, U32, 1636, [1:1] +wasResetPid = bits, U32, 1636, [2:2] +mustResetPid = bits, U32, 1636, [3:3] +isCranking = bits, U32, 1636, [4:4] +isIacTableForCoasting = bits, U32, 1636, [5:5] +notIdling = bits, U32, 1636, [6:6] +needReset = bits, U32, 1636, [7:7] +isInDeadZone = bits, U32, 1636, [8:8] +isBlipping = bits, U32, 1636, [9:9] +useClosedLoop = bits, U32, 1636, [10:10] +badTps = bits, U32, 1636, [11:11] +looksLikeRunning = bits, U32, 1636, [12:12] +looksLikeCoasting = bits, U32, 1636, [13:13] +looksLikeCrankToIdle = bits, U32, 1636, [14:14] +isIdleCoasting = bits, U32, 1636, [15:15] +isIdleClosedLoop = bits, U32, 1636, [16:16] +idleTarget = scalar, S32, 1640, "", 1, 0 +targetRpmByClt = scalar, S32, 1644, "", 1, 0 +targetRpmAc = scalar, S32, 1648, "", 1, 0 +iacByRpmTaper = scalar, F32, 1652 +luaAdd = scalar, F32, 1656 +; total TS size = 1660 +etb1targetWithIdlePosition = scalar, F32, 1660, "%", 1,0 +etb1trim = scalar, F32, 1664, "", 1, 0 +etb1luaAdjustment = scalar, F32, 1668, "%", 1,0 +etb1m_wastegatePosition = scalar, F32, 1672, "%", 1,0 +etb1etbFeedForward = scalar, F32, 1676 +etb1etbIntegralError = scalar, F32, 1680, "", 1, 0 +etb1etbCurrentTarget = scalar, F32, 1684, "%", 1, 0 +etb1m_adjustedTarget = scalar, S16, 1688, "%", 0.01, 0 +etb1etbRevLimitActive = bits, U32, 1692, [0:0] +etb1jamDetected = bits, U32, 1692, [1:1] +etb1validPlantPosition = bits, U32, 1692, [2:2] +etb1etbTpsErrorCounter = scalar, U16, 1696, "count", 1,0 +etb1etbPpsErrorCounter = scalar, U16, 1698, "count", 1,0 +etb1etbErrorCode = scalar, S08, 1700, "", 1, 0 +etb1etbErrorCodeBlinker = scalar, S08, 1701, "", 1, 0 +etb1tcEtbDrop = scalar, S08, 1702, "%", 1, 0 +etb1jamTimer = scalar, U16, 1704, "sec", 0.01, 0 +etb1adjustedEtbTarget = scalar, S08, 1706, "%", 1, 0 +etb1state = scalar, U08, 1707, "", 1, 0 +; total TS size = 1708 +etb2targetWithIdlePosition = scalar, F32, 1708, "%", 1,0 +etb2trim = scalar, F32, 1712, "", 1, 0 +etb2luaAdjustment = scalar, F32, 1716, "%", 1,0 +etb2m_wastegatePosition = scalar, F32, 1720, "%", 1,0 +etb2etbFeedForward = scalar, F32, 1724 +etb2etbIntegralError = scalar, F32, 1728, "", 1, 0 +etb2etbCurrentTarget = scalar, F32, 1732, "%", 1, 0 +etb2m_adjustedTarget = scalar, S16, 1736, "%", 0.01, 0 +etb2etbRevLimitActive = bits, U32, 1740, [0:0] +etb2jamDetected = bits, U32, 1740, [1:1] +etb2validPlantPosition = bits, U32, 1740, [2:2] +etb2etbTpsErrorCounter = scalar, U16, 1744, "count", 1,0 +etb2etbPpsErrorCounter = scalar, U16, 1746, "count", 1,0 +etb2etbErrorCode = scalar, S08, 1748, "", 1, 0 +etb2etbErrorCodeBlinker = scalar, S08, 1749, "", 1, 0 +etb2tcEtbDrop = scalar, S08, 1750, "%", 1, 0 +etb2jamTimer = scalar, U16, 1752, "sec", 0.01, 0 +etb2adjustedEtbTarget = scalar, S08, 1754, "%", 1, 0 +etb2state = scalar, U08, 1755, "", 1, 0 +; total TS size = 1756 +wb1faultCode = scalar, U08, 1756, "", 1, 0 +wb1heaterDuty = scalar, U08, 1757, "%", 1, 0 +wb1pumpDuty = scalar, U08, 1758, "%", 1, 0 +wb1tempC = scalar, U16, 1760, "C", 1, 0 +wb1nernstVoltage = scalar, U16, 1762, "V", 0.001, 0 +wb1esr = scalar, U16, 1764, "ohm", 1, 0 +; total TS size = 1768 +wb2faultCode = scalar, U08, 1768, "", 1, 0 +wb2heaterDuty = scalar, U08, 1769, "%", 1, 0 +wb2pumpDuty = scalar, U08, 1770, "%", 1, 0 +wb2tempC = scalar, U16, 1772, "C", 1, 0 +wb2nernstVoltage = scalar, U16, 1774, "V", 0.001, 0 +wb2esr = scalar, U16, 1776, "ohm", 1, 0 +; total TS size = 1780 +dcOutput0 = scalar, F32, 1780, "%", 1,0 +isEnabled0_int = scalar, U08, 1784, "%", 1,0 +isEnabled0 = bits, U32, 1788, [0:0] +; total TS size = 1792 +value0 = scalar, U16, 1792, "RAW", 1,0 +value1 = scalar, U16, 1794, "RAW", 1,0 +errorRate = scalar, F32, 1796, "% (don't belive me)", 1,0 ; total TS size = 1800 -lambdaCurrentlyGood = bits, U32, 1800, [0:0] -lambdaMonitorCut = bits, U32, 1800, [1:1] -lambdaTimeSinceGood = scalar, U16, 1804, "sec", 0.01, 0 -; total TS size = 1808 +vvtTarget = scalar, U16, 1800, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1802, "%", 0.5, 0 +; total TS size = 1804 +lambdaCurrentlyGood = bits, U32, 1804, [0:0] +lambdaMonitorCut = bits, U32, 1804, [1:1] +lambdaTimeSinceGood = scalar, U16, 1808, "sec", 0.01, 0 +; total TS size = 1812 time = { timeNow } @@ -4581,6 +4584,12 @@ curve = rangeMatrix, "Range Switch Input Matrix" gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. upDownLabel = "(RICHER)", "(LEANER)" + table = trailingSparkTable, trailingSparkMap, "Trailing spark", 1 + xyLabels = "RPM", "Ignition Load" + xBins = trailingSparkRpmBins, RPMValue + yBins = trailingSparkLoadBins, ignitionLoad + zBins = trailingSparkTable + table = torqueTableTbl, torqueTableMap, "Engine Torque", 1 xBins = torqueRpmBins, RPMValue yBins = torqueLoadBins, veTableYAxis @@ -4878,6 +4887,7 @@ timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20 timingPidCorrectionGauge = timingPidCorrection,"Idle: Timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 +trailingSparkAngleGauge = trailingSparkAngle,"Ign: Trailing spark deg", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 gaugeCategory = "Boost Control" luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 @@ -5808,6 +5818,7 @@ entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" entry = luaIgnitionSkip, "Ign: Lua Spark Skip", int, "%d" +entry = trailingSparkAngle, "Ign: Trailing spark deg", float, "%.3f" entry = m_knockLevel, "Knock: Current level", float, "%.3f" entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" @@ -6764,6 +6775,7 @@ dialog = ignition_stateDialog, "ignition_state" graphLine = luaTimingAdd liveGraph = ignition_state_4_Graph, "Graph", South graphLine = luaTimingMult + graphLine = trailingSparkAngle dialog = knock_controllerDialog, "knock_controller" @@ -10050,11 +10062,11 @@ commandButton = "GM LCV", cmd_set_engine_type_GM_LCV dialog = rotaryDialog, "Rotary" field = "Enable Trailing Sparks", enableTrailingSparks - field = "Trailing Spark Offset", trailingSparkAngle field = "Trailing Pin 1", trailingCoilPins1 field = "Trailing Pin 2", trailingCoilPins2 field = "Trailing Pin 3", trailingCoilPins3 field = "Trailing Pin 4", trailingCoilPins4 + panel = trailingSparkTable diff --git a/firmware/tunerstudio/generated/rusefi_alphax-8chan-revA.ini b/firmware/tunerstudio/generated/rusefi_alphax-8chan-revA.ini index 633aadf48c..704ee041e4 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.2025.02.07.alphax-8chan-revA.2881883078" + signature = "rusEFI master.2025.02.07.alphax-8chan-revA.742753451" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2025.02.07.alphax-8chan-revA.2881883078" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2025.02.07.alphax-8chan-revA.742753451" ; 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 @@ -101,7 +101,7 @@ enable2ndByteCanID = false ; CONFIG_DEFINITION_START ; this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt -pageSize = 23284 +pageSize = 23308 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",22="BMW_M52",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",21="ET_BOSCH_QUICK_START",24="ET_TEST_WITH_BOSCH_QUICK_START",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",41="FRANKENSO_MIATA_NA6_MAP",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",47="GM_LCV",55="GM_LTG",98="GM_SBC",49="GM_SBC_GEN5",8="GY6_139QMB",6="HARLEY",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",34="MAZDA_MIATA_NA6",80="MAZDA_MIATA_NA94",10="MAZDA_MIATA_NA96",83="MAZDA_MIATA_NB1",69="MAZDA_MIATA_NB2",86="MAZDA_MIATA_NB2_36",20="MAZDA_MIATA_NC",33="ME17_9_MISC",68="MERCEDES_M111",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",4="MRE_SECONDARY_CAN",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",35="POLARIS",9="POLARIS_RZR",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",27="PROTEUS_GM_LS_4",25="PROTEUS_LUA_DEMO",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",17="TCU_4R70W",100="TEST_100",101="TEST_101",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",93="TEST_ISSUE_6451",19="TEST_ROTARY",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",102="UNUSED102",67="UNUSED67",94="UNUSED94",65="UNUSED_65",97="UNUSED_97",77="VAG_5_CYL",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -245,7 +245,7 @@ vbattAdcChannel = bits, U08, 513, [0:5], $adc_channel_e_list fuelLevelSensor = bits, U08, 514, [0:5], $adc_channel_e_list tps2_1AdcChannel = bits, U08, 515, [0:5], $adc_channel_e_list idle_derivativeFilterLoss = scalar, F32, 516, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 520, "angle", 1, 0, 0, 720, 0 +unusedTrailingSparkAngle = scalar, S32, 520, "", 1, 0, 0, 100, 0 trigger_type = bits, U32, 524, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Daihatsu 3 cylinder", "Mazda SOHC 4", "60-2", "36-1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "Dodge Ram 1+16", "60-2 Wrong Polarity", "Benelli Tre", "Dodge Stratus", "36_2_2_2", "Nissan Primera", "dev 2JZ 3/34 simulator", "Rover K", "GM 24x 5 degree", "Honda CBR 600 Cam", "INVALID", "Honda CBR 600 custom", "3-1 skipped", "Dodge Neon 2003 crank", "Miata NB", "INVALID", "INVALID", "Subaru 7+6", "Jeep 18-2-2-2", "12crank/24cam", "Dodge Neon 1995 crank only", "Jeep XJ 4 cyl", "FiatIAQ_P8", "Mazda Z5", "INVALID", "Renix 44-2-2", "Renix 66-2-2-2", "Honda K 12+1", "INVALID", "36-2", "Subaru SVX", "Suzuki K6A", "Subaru 7 without 6", "INVALID", "INVALID", "GM 60-2-2-2", "Skoda Favorit", "Barra 3+1 Cam", "Kawa KX450F", "Nissan VQ35", "INVALID", "Nissan VQ30", "Nissan QR25", "INVALID", "Subaru SVX Crank 1", "Subaru SVX Cam VVT", "Ford PIP", "Suzuki G13B", "Honda K 4+1", "Nissan MR18 Crank", "32-2", "36-2-1", "36-2-1-1", "3-0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6-0", "Daihatsu 4 cylinder", "INVALID", "dev", "Nissan HR", "Arctic Cat", "HR12 in", "HONDA J30A2", "trg88", "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" trigger_customTotalToothCount = scalar, S32, 528, "number", 1, 0, 1, 300, 0 trigger_customSkippedToothCount = scalar, S32, 532, "number", 1, 0, 0, 300, 0 @@ -1796,12 +1796,15 @@ dynoCarCarMassKg = scalar, S16, 23268, "", 1, 0, 0, 32000, 0 dynoCarCargoMassKg = scalar, S16, 23270, "", 1, 0, 0, 32000, 0 dynoCarCoeffOfDrag = scalar, F32, 23272, "", 1, 0, 0, 100, 0 dynoCarFrontalAreaM2 = scalar, F32, 23276, "", 1, 0, 0, 100, 0 -boardUseTempPullUp = bits, U32, 23280, [0:0], "Piggyback Mode", "With Pull Ups" -boardUse2stepPullDown = bits, U32, 23280, [1:1], "With Pull Up", "With Pull Down" -boardUseD2PullDown = bits, U32, 23280, [2:2], "With Pull Up", "With Pull Down" -boardUseD3PullDown = bits, U32, 23280, [3:3], "With Pull Up", "With Pull Down" -boardUseTachPullUp = bits, U32, 23280, [4:4], "5v", "12v" -; total TS size = 23284 +trailingSparkTable = array, S08, 23280, [4x4], "deg", 0.1, 0, 0, 20, 1 +trailingSparkRpmBins = array, U08, 23296, [4], "rpm", 50.0, 0, 0, 12000, 0 +trailingSparkLoadBins = array, U08, 23300, [4], "Load", 5.0, 0, 0, 1000, 0 +boardUseTempPullUp = bits, U32, 23304, [0:0], "Piggyback Mode", "With Pull Ups" +boardUse2stepPullDown = bits, U32, 23304, [1:1], "With Pull Up", "With Pull Down" +boardUseD2PullDown = bits, U32, 23304, [2:2], "With Pull Up", "With Pull Down" +boardUseD3PullDown = bits, U32, 23304, [3:3], "With Pull Up", "With Pull Down" +boardUseTachPullUp = bits, U32, 23304, [4:4], "5v", "12v" +; total TS size = 23308 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1895,7 +1898,6 @@ boardUseTachPullUp = bits, U32, 23280, [4:4], "5v", "12v" fuelLevelSensor = "This is the processor pin that your fuel level sensor in connected to. This is a non standard input so will need to be user defined." tps2_1AdcChannel = "Second throttle body position sensor, single channel so far" idle_derivativeFilterLoss = "0.1 is a good default value" - trailingSparkAngle = "just a temporary solution" trigger_type = "https://github.com/rusefi/rusefi/wiki/All-Supported-Triggers" airByRpmTaper = "Extra air taper amount" boostControlSafeDutyCycle = "Duty cycle to use in case of a sensor failure. This duty cycle should produce the minimum possible amount of boost. This duty is also used in case any of the minimum RPM/TPS/MAP conditions are not met." @@ -2669,7 +2671,7 @@ boardUseTachPullUp = bits, U32, 23280, [4:4], "5v", "12v" ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1808 + ochBlockSize = 1812 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3194,417 +3196,418 @@ dwellVoltageCorrection = scalar, F32, 940, "", 1, 0 luaTimingAdd = scalar, F32, 944, "deg", 1, 0 luaTimingMult = scalar, F32, 948, "deg", 1, 0 luaIgnitionSkip = bits, U32, 952, [0:0] -; total TS size = 956 -m_knockLevel = scalar, F32, 956, "Volts", 1, 0 -m_knockCyl1 = scalar, S08, 960, "dBv", 1, 0 -m_knockCyl2 = scalar, S08, 961, "dBv", 1, 0 -m_knockCyl3 = scalar, S08, 962, "dBv", 1, 0 -m_knockCyl4 = scalar, S08, 963, "dBv", 1, 0 -m_knockCyl5 = scalar, S08, 964, "dBv", 1, 0 -m_knockCyl6 = scalar, S08, 965, "dBv", 1, 0 -m_knockCyl7 = scalar, S08, 966, "dBv", 1, 0 -m_knockCyl8 = scalar, S08, 967, "dBv", 1, 0 -m_knockCyl9 = scalar, S08, 968, "dBv", 1, 0 -m_knockCyl10 = scalar, S08, 969, "dBv", 1, 0 -m_knockCyl11 = scalar, S08, 970, "dBv", 1, 0 -m_knockCyl12 = scalar, S08, 971, "dBv", 1, 0 -m_knockRetard = scalar, F32, 972, "deg", 1,0 -m_knockThreshold = scalar, F32, 976, "", 1, 0 -m_knockCount = scalar, U32, 980, "", 1, 0 -m_maximumRetard = scalar, F32, 984, "", 1, 0 -m_knockSpectrum1 = scalar, U32, 988, "compressed data", 1, 0 -m_knockSpectrum2 = scalar, U32, 992, "compressed data", 1, 0 -m_knockSpectrum3 = scalar, U32, 996, "compressed data", 1, 0 -m_knockSpectrum4 = scalar, U32, 1000, "compressed data", 1, 0 -m_knockSpectrum5 = scalar, U32, 1004, "compressed data", 1, 0 -m_knockSpectrum6 = scalar, U32, 1008, "compressed data", 1, 0 -m_knockSpectrum7 = scalar, U32, 1012, "compressed data", 1, 0 -m_knockSpectrum8 = scalar, U32, 1016, "compressed data", 1, 0 -m_knockSpectrum9 = scalar, U32, 1020, "compressed data", 1, 0 -m_knockSpectrum10 = scalar, U32, 1024, "compressed data", 1, 0 -m_knockSpectrum11 = scalar, U32, 1028, "compressed data", 1, 0 -m_knockSpectrum12 = scalar, U32, 1032, "compressed data", 1, 0 -m_knockSpectrum13 = scalar, U32, 1036, "compressed data", 1, 0 -m_knockSpectrum14 = scalar, U32, 1040, "compressed data", 1, 0 -m_knockSpectrum15 = scalar, U32, 1044, "compressed data", 1, 0 -m_knockSpectrum16 = scalar, U32, 1048, "compressed data", 1, 0 -m_knockSpectrumChannelCyl = scalar, U16, 1052, "compressed N + N", 1, 0 -m_knockFrequencyStart = scalar, U16, 1054, "Hz", 1, 0 -m_knockFrequencyStep = scalar, F32, 1056, "Hz", 1, 0 -m_knockFuelTrimMultiplier = scalar, F32, 1060, "multiplier", 1, 0 -; total TS size = 1064 -m_isPriming = bits, U32, 1064, [0:0] +trailingSparkAngle = scalar, S16, 956, "deg", 0.01,0 +; total TS size = 960 +m_knockLevel = scalar, F32, 960, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 964, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 965, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 966, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 967, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 968, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 969, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 970, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 971, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 972, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 973, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 974, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 975, "dBv", 1, 0 +m_knockRetard = scalar, F32, 976, "deg", 1,0 +m_knockThreshold = scalar, F32, 980, "", 1, 0 +m_knockCount = scalar, U32, 984, "", 1, 0 +m_maximumRetard = scalar, F32, 988, "", 1, 0 +m_knockSpectrum1 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1040, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1044, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1048, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1052, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1056, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1058, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1060, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1064, "multiplier", 1, 0 ; total TS size = 1068 -tcuCurrentGear = scalar, S08, 1068, "gear", 1, 0 -tcRatio = scalar, U16, 1070, "value", 0.01, 0 -lastShiftTime = scalar, F32, 1072, "", 1, 0 -tcu_currentRange = scalar, U08, 1076, "", 1, 0 -pressureControlDuty = scalar, S08, 1077, "%", 1,0 -torqueConverterDuty = scalar, S08, 1078, "%", 1,0 -isShifting = bits, U32, 1080, [0:0] -; total TS size = 1084 -throttleUseWotModel = bits, U32, 1084, [0:0] -throttleModelCrossoverAngle = scalar, S16, 1088, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1092, "g/s", 1, 0 -; total TS size = 1096 -m_requested_pump = scalar, F32, 1096, "", 1, 0 -fuel_requested_percent = scalar, F32, 1100, "%", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1104, "", 1, 0 -noValve = bits, U32, 1108, [0:0] -angleAboveMin = bits, U32, 1108, [1:1] -isHpfpActive = bits, U32, 1108, [2:2] -HpfpValveState = bits, U32, 1108, [3:3] -m_pressureTarget_kPa = scalar, F32, 1112, "", 1, 0 -nextLobe = scalar, F32, 1116, "", 1, 0 -di_nextStart = scalar, F32, 1120, "v", 1, 0 -HpfdActivationPhase = scalar, F32, 1124, "", 1, 0 -HpfdDeactivationPhase = scalar, F32, 1128, "", 1, 0 -; total TS size = 1132 -m_deadtime = scalar, F32, 1132, "ms", 1, 0 -pressureDelta = scalar, F32, 1136, "kPa", 1, 0 -pressureRatio = scalar, F32, 1140, "", 1, 0 -; total TS size = 1144 -retardThresholdRpm = scalar, S32, 1144, "", 1, 0 -launchActivatePinState = bits, U32, 1148, [0:0] -isPreLaunchCondition = bits, U32, 1148, [1:1] -isLaunchCondition = bits, U32, 1148, [2:2] -isSwitchActivated = bits, U32, 1148, [3:3] -isClutchActivated = bits, U32, 1148, [4:4] -isBrakePedalActivated = bits, U32, 1148, [5:5] -isValidInputPin = bits, U32, 1148, [6:6] -activateSwitchCondition = bits, U32, 1148, [7:7] -rpmLaunchCondition = bits, U32, 1148, [8:8] -rpmPreLaunchCondition = bits, U32, 1148, [9:9] -speedCondition = bits, U32, 1148, [10:10] -tpsCondition = bits, U32, 1148, [11:11] -; total TS size = 1152 -isTorqueReductionTriggerPinValid = bits, U32, 1152, [0:0] -torqueReductionTriggerPinState = bits, U32, 1152, [1:1] -isTimeConditionSatisfied = bits, U32, 1152, [2:2] -isRpmConditionSatisfied = bits, U32, 1152, [3:3] -isAppConditionSatisfied = bits, U32, 1152, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1152, [5:5] +m_isPriming = bits, U32, 1068, [0:0] +; total TS size = 1072 +tcuCurrentGear = scalar, S08, 1072, "gear", 1, 0 +tcRatio = scalar, U16, 1074, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1076, "", 1, 0 +tcu_currentRange = scalar, U08, 1080, "", 1, 0 +pressureControlDuty = scalar, S08, 1081, "%", 1,0 +torqueConverterDuty = scalar, S08, 1082, "%", 1,0 +isShifting = bits, U32, 1084, [0:0] +; total TS size = 1088 +throttleUseWotModel = bits, U32, 1088, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1092, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1096, "g/s", 1, 0 +; total TS size = 1100 +m_requested_pump = scalar, F32, 1100, "", 1, 0 +fuel_requested_percent = scalar, F32, 1104, "%", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1108, "", 1, 0 +noValve = bits, U32, 1112, [0:0] +angleAboveMin = bits, U32, 1112, [1:1] +isHpfpActive = bits, U32, 1112, [2:2] +HpfpValveState = bits, U32, 1112, [3:3] +m_pressureTarget_kPa = scalar, F32, 1116, "", 1, 0 +nextLobe = scalar, F32, 1120, "", 1, 0 +di_nextStart = scalar, F32, 1124, "v", 1, 0 +HpfdActivationPhase = scalar, F32, 1128, "", 1, 0 +HpfdDeactivationPhase = scalar, F32, 1132, "", 1, 0 +; total TS size = 1136 +m_deadtime = scalar, F32, 1136, "ms", 1, 0 +pressureDelta = scalar, F32, 1140, "kPa", 1, 0 +pressureRatio = scalar, F32, 1144, "", 1, 0 +; total TS size = 1148 +retardThresholdRpm = scalar, S32, 1148, "", 1, 0 +launchActivatePinState = bits, U32, 1152, [0:0] +isPreLaunchCondition = bits, U32, 1152, [1:1] +isLaunchCondition = bits, U32, 1152, [2:2] +isSwitchActivated = bits, U32, 1152, [3:3] +isClutchActivated = bits, U32, 1152, [4:4] +isBrakePedalActivated = bits, U32, 1152, [5:5] +isValidInputPin = bits, U32, 1152, [6:6] +activateSwitchCondition = bits, U32, 1152, [7:7] +rpmLaunchCondition = bits, U32, 1152, [8:8] +rpmPreLaunchCondition = bits, U32, 1152, [9:9] +speedCondition = bits, U32, 1152, [10:10] +tpsCondition = bits, U32, 1152, [11:11] ; total TS size = 1156 -isAntilagCondition = bits, U32, 1156, [0:0] -ALSMinRPMCondition = bits, U32, 1156, [1:1] -ALSMaxRPMCondition = bits, U32, 1156, [2:2] -ALSMinCLTCondition = bits, U32, 1156, [3:3] -ALSMaxCLTCondition = bits, U32, 1156, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1156, [5:5] -isALSSwitchActivated = bits, U32, 1156, [6:6] -ALSActivatePinState = bits, U32, 1156, [7:7] -ALSSwitchCondition = bits, U32, 1156, [8:8] -ALSTimerCondition = bits, U32, 1156, [9:9] -fuelALSCorrection = scalar, F32, 1160, "", 1, 0 -timingALSCorrection = scalar, S16, 1164, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1166, "deg", 0.01, 0 -; total TS size = 1168 -isTpsInvalid = bits, U32, 1168, [0:0] -m_shouldResetPid = bits, U32, 1168, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1168, [2:2] -isNotClosedLoop = bits, U32, 1168, [3:3] -isZeroRpm = bits, U32, 1168, [4:4] -hasInitBoost = bits, U32, 1168, [5:5] -rpmTooLow = bits, U32, 1168, [6:6] -tpsTooLow = bits, U32, 1168, [7:7] -mapTooLow = bits, U32, 1168, [8:8] -isPlantValid = bits, U32, 1168, [9:9] -isBoostControlled = bits, U32, 1168, [10:10] -luaTargetAdd = scalar, S16, 1172, "v", 0.5,0 -boostOutput = scalar, S16, 1174, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1176, "v", 1,0 -openLoopPart = scalar, F32, 1180, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1184, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1188, "%", 0.5,0 -boostControlTarget = scalar, S16, 1190, "kPa", 0.03333333333333333,0 -; total TS size = 1192 -acButtonState = scalar, S08, 1192, "", 1, 0 -m_acEnabled = bits, U32, 1196, [0:0] -engineTooSlow = bits, U32, 1196, [1:1] -engineTooFast = bits, U32, 1196, [2:2] -noClt = bits, U32, 1196, [3:3] -engineTooHot = bits, U32, 1196, [4:4] -tpsTooHigh = bits, U32, 1196, [5:5] -isDisabledByLua = bits, U32, 1196, [6:6] -acCompressorState = bits, U32, 1196, [7:7] -acPressureTooLow = bits, U32, 1196, [8:8] -acPressureTooHigh = bits, U32, 1196, [9:9] -; total TS size = 1200 -isNitrousArmed = bits, U32, 1200, [0:0] -isNitrousSpeedCondition = bits, U32, 1200, [1:1] -isNitrousTpsCondition = bits, U32, 1200, [2:2] -isNitrousCltCondition = bits, U32, 1200, [3:3] -isNitrousMapCondition = bits, U32, 1200, [4:4] -isNitrousAfrCondition = bits, U32, 1200, [5:5] -isNitrousRpmCondition = bits, U32, 1200, [6:6] -isNitrousCondition = bits, U32, 1200, [7:7] +isTorqueReductionTriggerPinValid = bits, U32, 1156, [0:0] +torqueReductionTriggerPinState = bits, U32, 1156, [1:1] +isTimeConditionSatisfied = bits, U32, 1156, [2:2] +isRpmConditionSatisfied = bits, U32, 1156, [3:3] +isAppConditionSatisfied = bits, U32, 1156, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1156, [5:5] +; total TS size = 1160 +isAntilagCondition = bits, U32, 1160, [0:0] +ALSMinRPMCondition = bits, U32, 1160, [1:1] +ALSMaxRPMCondition = bits, U32, 1160, [2:2] +ALSMinCLTCondition = bits, U32, 1160, [3:3] +ALSMaxCLTCondition = bits, U32, 1160, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1160, [5:5] +isALSSwitchActivated = bits, U32, 1160, [6:6] +ALSActivatePinState = bits, U32, 1160, [7:7] +ALSSwitchCondition = bits, U32, 1160, [8:8] +ALSTimerCondition = bits, U32, 1160, [9:9] +fuelALSCorrection = scalar, F32, 1164, "", 1, 0 +timingALSCorrection = scalar, S16, 1168, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1170, "deg", 0.01, 0 +; total TS size = 1172 +isTpsInvalid = bits, U32, 1172, [0:0] +m_shouldResetPid = bits, U32, 1172, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1172, [2:2] +isNotClosedLoop = bits, U32, 1172, [3:3] +isZeroRpm = bits, U32, 1172, [4:4] +hasInitBoost = bits, U32, 1172, [5:5] +rpmTooLow = bits, U32, 1172, [6:6] +tpsTooLow = bits, U32, 1172, [7:7] +mapTooLow = bits, U32, 1172, [8:8] +isPlantValid = bits, U32, 1172, [9:9] +isBoostControlled = bits, U32, 1172, [10:10] +luaTargetAdd = scalar, S16, 1176, "v", 0.5,0 +boostOutput = scalar, S16, 1178, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1180, "v", 1,0 +openLoopPart = scalar, F32, 1184, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1188, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1192, "%", 0.5,0 +boostControlTarget = scalar, S16, 1194, "kPa", 0.03333333333333333,0 +; total TS size = 1196 +acButtonState = scalar, S08, 1196, "", 1, 0 +m_acEnabled = bits, U32, 1200, [0:0] +engineTooSlow = bits, U32, 1200, [1:1] +engineTooFast = bits, U32, 1200, [2:2] +noClt = bits, U32, 1200, [3:3] +engineTooHot = bits, U32, 1200, [4:4] +tpsTooHigh = bits, U32, 1200, [5:5] +isDisabledByLua = bits, U32, 1200, [6:6] +acCompressorState = bits, U32, 1200, [7:7] +acPressureTooLow = bits, U32, 1200, [8:8] +acPressureTooHigh = bits, U32, 1200, [9:9] ; total TS size = 1204 -fan1cranking = bits, U32, 1204, [0:0] -fan1notRunning = bits, U32, 1204, [1:1] -fan1disabledWhileEngineStopped = bits, U32, 1204, [2:2] -fan1brokenClt = bits, U32, 1204, [3:3] -fan1enabledForAc = bits, U32, 1204, [4:4] -fan1hot = bits, U32, 1204, [5:5] -fan1cold = bits, U32, 1204, [6:6] -fan1disabledBySpeed = bits, U32, 1204, [7:7] -fan1m_state = bits, U32, 1204, [8:8] -fan1radiatorFanStatus = scalar, U08, 1208, "", 1, 0 -; total TS size = 1212 -fan2cranking = bits, U32, 1212, [0:0] -fan2notRunning = bits, U32, 1212, [1:1] -fan2disabledWhileEngineStopped = bits, U32, 1212, [2:2] -fan2brokenClt = bits, U32, 1212, [3:3] -fan2enabledForAc = bits, U32, 1212, [4:4] -fan2hot = bits, U32, 1212, [5:5] -fan2cold = bits, U32, 1212, [6:6] -fan2disabledBySpeed = bits, U32, 1212, [7:7] -fan2m_state = bits, U32, 1212, [8:8] -fan2radiatorFanStatus = scalar, U08, 1216, "", 1, 0 -; total TS size = 1220 -isPrime = bits, U32, 1220, [0:0] -engineTurnedRecently = bits, U32, 1220, [1:1] -isFuelPumpOn = bits, U32, 1220, [2:2] -ignitionOn = bits, U32, 1220, [3:3] +isNitrousArmed = bits, U32, 1204, [0:0] +isNitrousSpeedCondition = bits, U32, 1204, [1:1] +isNitrousTpsCondition = bits, U32, 1204, [2:2] +isNitrousCltCondition = bits, U32, 1204, [3:3] +isNitrousMapCondition = bits, U32, 1204, [4:4] +isNitrousAfrCondition = bits, U32, 1204, [5:5] +isNitrousRpmCondition = bits, U32, 1204, [6:6] +isNitrousCondition = bits, U32, 1204, [7:7] +; total TS size = 1208 +fan1cranking = bits, U32, 1208, [0:0] +fan1notRunning = bits, U32, 1208, [1:1] +fan1disabledWhileEngineStopped = bits, U32, 1208, [2:2] +fan1brokenClt = bits, U32, 1208, [3:3] +fan1enabledForAc = bits, U32, 1208, [4:4] +fan1hot = bits, U32, 1208, [5:5] +fan1cold = bits, U32, 1208, [6:6] +fan1disabledBySpeed = bits, U32, 1208, [7:7] +fan1m_state = bits, U32, 1208, [8:8] +fan1radiatorFanStatus = scalar, U08, 1212, "", 1, 0 +; total TS size = 1216 +fan2cranking = bits, U32, 1216, [0:0] +fan2notRunning = bits, U32, 1216, [1:1] +fan2disabledWhileEngineStopped = bits, U32, 1216, [2:2] +fan2brokenClt = bits, U32, 1216, [3:3] +fan2enabledForAc = bits, U32, 1216, [4:4] +fan2hot = bits, U32, 1216, [5:5] +fan2cold = bits, U32, 1216, [6:6] +fan2disabledBySpeed = bits, U32, 1216, [7:7] +fan2m_state = bits, U32, 1216, [8:8] +fan2radiatorFanStatus = scalar, U08, 1220, "", 1, 0 ; total TS size = 1224 -isBenchTest = bits, U32, 1224, [0:0] -hasIgnitionVoltage = bits, U32, 1224, [1:1] -mainRelayState = bits, U32, 1224, [2:2] -delayedShutoffRequested = bits, U32, 1224, [3:3] +isPrime = bits, U32, 1224, [0:0] +engineTurnedRecently = bits, U32, 1224, [1:1] +isFuelPumpOn = bits, U32, 1224, [2:2] +ignitionOn = bits, U32, 1224, [3:3] ; total TS size = 1228 -lua_fuelAdd = scalar, F32, 1228, "g", 1, 0 -lua_fuelMult = scalar, F32, 1232, "", 1, 0 -lua_clutchUpState = bits, U32, 1236, [0:0] -lua_brakePedalState = bits, U32, 1236, [1:1] -lua_acRequestState = bits, U32, 1236, [2:2] -lua_luaDisableEtb = bits, U32, 1236, [3:3] -lua_luaIgnCut = bits, U32, 1236, [4:4] -lua_luaFuelCut = bits, U32, 1236, [5:5] -lua_clutchDownState = bits, U32, 1236, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1236, [7:7] -lua_torqueReductionState = bits, U32, 1236, [8:8] -sd_tCharge = scalar, S16, 1240, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1244, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1248, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1252, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1256, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1260, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1264, "", 1, 0 -hellenBoardId = scalar, S16, 1268, "id", 1, 0 -clutchUpState = scalar, S08, 1270, "", 1, 0 -brakePedalState = scalar, S08, 1271, "", 1, 0 -startStopState = scalar, S08, 1272, "", 1, 0 -smartChipState = scalar, S08, 1273, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1274, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1275, "", 1, 0 -startStopPhysicalState = bits, U32, 1276, [0:0] -acrActive = bits, U32, 1276, [1:1] -acrEngineMovedRecently = bits, U32, 1276, [2:2] -heaterControlEnabled = bits, U32, 1276, [3:3] -luaDigitalState0 = bits, U32, 1276, [4:4] -luaDigitalState1 = bits, U32, 1276, [5:5] -luaDigitalState2 = bits, U32, 1276, [6:6] -luaDigitalState3 = bits, U32, 1276, [7:7] -clutchDownState = bits, U32, 1276, [8:8] -startStopStateToggleCounter = scalar, U32, 1280, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1284, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1288, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1292, "", 1, 0 -fuelInjectionCounter = scalar, U32, 1296, "", 1, 0 -globalSparkCounter = scalar, U32, 1300, "", 1, 0 -fuelingLoad = scalar, F32, 1304, "", 1, 0 -ignitionLoad = scalar, F32, 1308, "", 1, 0 -veTableYAxis = scalar, U16, 1312, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1314, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1315, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1316, "", 1, 0 -; total TS size = 1320 -tpsFrom = scalar, F32, 1320 -tpsTo = scalar, F32, 1324 -deltaTps = scalar, F32, 1328 -extraFuel = scalar, F32, 1332, "", 1, 0 -valueFromTable = scalar, F32, 1336, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1340, [0:0] -isBelowDecelThreshold = bits, U32, 1340, [1:1] -isTimeToResetAccumulator = bits, U32, 1340, [2:2] -isFractionalEnrichment = bits, U32, 1340, [3:3] -belowEpsilon = bits, U32, 1340, [4:4] -tooShort = bits, U32, 1340, [5:5] -fractionalInjFuel = scalar, F32, 1344, "", 1, 0 -accumulatedValue = scalar, F32, 1348, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1352, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1356, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1360, "", 1, 0 -cycleCnt = scalar, S32, 1364, "", 1, 0 -; total TS size = 1368 -hwEventCounters1 = scalar, U16, 1368, "", 1, 0 -hwEventCounters2 = scalar, U16, 1370, "", 1, 0 -hwEventCounters3 = scalar, U16, 1372, "", 1, 0 -hwEventCounters4 = scalar, U16, 1374, "", 1, 0 -vvtCamCounter = scalar, U16, 1376, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1380, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1384, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1388, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1389, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1392, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1396, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1400, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1404, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1408, [0:0] -triggerElapsedUs = scalar, U32, 1412, "", 1, 0 -; total TS size = 1416 -trgsynchronizationCounter = scalar, U32, 1416, "", 1, 0 -trgvvtToothDurations0 = scalar, U32, 1420, "us", 1, 0 -trgvvtCurrentPosition = scalar, F32, 1424, "", 1, 0 -trgvvtToothPosition1 = scalar, F32, 1428, "", 1, 0 -trgvvtToothPosition2 = scalar, F32, 1432, "", 1, 0 -trgvvtToothPosition3 = scalar, F32, 1436, "", 1, 0 -trgvvtToothPosition4 = scalar, F32, 1440, "", 1, 0 -trgtriggerSyncGapRatio = scalar, F32, 1444, "", 1, 0 -trgtriggerStateIndex = scalar, U08, 1448, "", 1, 0 -; total TS size = 1452 -vvt1isynchronizationCounter = scalar, U32, 1452, "", 1, 0 -vvt1ivvtToothDurations0 = scalar, U32, 1456, "us", 1, 0 -vvt1ivvtCurrentPosition = scalar, F32, 1460, "", 1, 0 -vvt1ivvtToothPosition1 = scalar, F32, 1464, "", 1, 0 -vvt1ivvtToothPosition2 = scalar, F32, 1468, "", 1, 0 -vvt1ivvtToothPosition3 = scalar, F32, 1472, "", 1, 0 -vvt1ivvtToothPosition4 = scalar, F32, 1476, "", 1, 0 -vvt1itriggerSyncGapRatio = scalar, F32, 1480, "", 1, 0 -vvt1itriggerStateIndex = scalar, U08, 1484, "", 1, 0 -; total TS size = 1488 -vvt1esynchronizationCounter = scalar, U32, 1488, "", 1, 0 -vvt1evvtToothDurations0 = scalar, U32, 1492, "us", 1, 0 -vvt1evvtCurrentPosition = scalar, F32, 1496, "", 1, 0 -vvt1evvtToothPosition1 = scalar, F32, 1500, "", 1, 0 -vvt1evvtToothPosition2 = scalar, F32, 1504, "", 1, 0 -vvt1evvtToothPosition3 = scalar, F32, 1508, "", 1, 0 -vvt1evvtToothPosition4 = scalar, F32, 1512, "", 1, 0 -vvt1etriggerSyncGapRatio = scalar, F32, 1516, "", 1, 0 -vvt1etriggerStateIndex = scalar, U08, 1520, "", 1, 0 -; total TS size = 1524 -vvt2isynchronizationCounter = scalar, U32, 1524, "", 1, 0 -vvt2ivvtToothDurations0 = scalar, U32, 1528, "us", 1, 0 -vvt2ivvtCurrentPosition = scalar, F32, 1532, "", 1, 0 -vvt2ivvtToothPosition1 = scalar, F32, 1536, "", 1, 0 -vvt2ivvtToothPosition2 = scalar, F32, 1540, "", 1, 0 -vvt2ivvtToothPosition3 = scalar, F32, 1544, "", 1, 0 -vvt2ivvtToothPosition4 = scalar, F32, 1548, "", 1, 0 -vvt2itriggerSyncGapRatio = scalar, F32, 1552, "", 1, 0 -vvt2itriggerStateIndex = scalar, U08, 1556, "", 1, 0 -; total TS size = 1560 -vvt2esynchronizationCounter = scalar, U32, 1560, "", 1, 0 -vvt2evvtToothDurations0 = scalar, U32, 1564, "us", 1, 0 -vvt2evvtCurrentPosition = scalar, F32, 1568, "", 1, 0 -vvt2evvtToothPosition1 = scalar, F32, 1572, "", 1, 0 -vvt2evvtToothPosition2 = scalar, F32, 1576, "", 1, 0 -vvt2evvtToothPosition3 = scalar, F32, 1580, "", 1, 0 -vvt2evvtToothPosition4 = scalar, F32, 1584, "", 1, 0 -vvt2etriggerSyncGapRatio = scalar, F32, 1588, "", 1, 0 -vvt2etriggerStateIndex = scalar, U08, 1592, "", 1, 0 -; total TS size = 1596 -camResyncCounter = scalar, U08, 1596, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1600, [0:0] -; total TS size = 1604 -wallFuelCorrection = scalar, F32, 1604, "", 1, 0 -wallFuel = scalar, F32, 1608, "", 1, 0 -; total TS size = 1612 -idleState = bits, S32, 1612, [0:2], "not important" -currentIdlePosition = scalar, F32, 1616 -baseIdlePosition = scalar, F32, 1620 -idleClosedLoop = scalar, F32, 1624 -iacByTpsTaper = scalar, F32, 1628 -mightResetPid = bits, U32, 1632, [0:0] -shouldResetPid = bits, U32, 1632, [1:1] -wasResetPid = bits, U32, 1632, [2:2] -mustResetPid = bits, U32, 1632, [3:3] -isCranking = bits, U32, 1632, [4:4] -isIacTableForCoasting = bits, U32, 1632, [5:5] -notIdling = bits, U32, 1632, [6:6] -needReset = bits, U32, 1632, [7:7] -isInDeadZone = bits, U32, 1632, [8:8] -isBlipping = bits, U32, 1632, [9:9] -useClosedLoop = bits, U32, 1632, [10:10] -badTps = bits, U32, 1632, [11:11] -looksLikeRunning = bits, U32, 1632, [12:12] -looksLikeCoasting = bits, U32, 1632, [13:13] -looksLikeCrankToIdle = bits, U32, 1632, [14:14] -isIdleCoasting = bits, U32, 1632, [15:15] -isIdleClosedLoop = bits, U32, 1632, [16:16] -idleTarget = scalar, S32, 1636, "", 1, 0 -targetRpmByClt = scalar, S32, 1640, "", 1, 0 -targetRpmAc = scalar, S32, 1644, "", 1, 0 -iacByRpmTaper = scalar, F32, 1648 -luaAdd = scalar, F32, 1652 -; total TS size = 1656 -etb1targetWithIdlePosition = scalar, F32, 1656, "%", 1,0 -etb1trim = scalar, F32, 1660, "", 1, 0 -etb1luaAdjustment = scalar, F32, 1664, "%", 1,0 -etb1m_wastegatePosition = scalar, F32, 1668, "%", 1,0 -etb1etbFeedForward = scalar, F32, 1672 -etb1etbIntegralError = scalar, F32, 1676, "", 1, 0 -etb1etbCurrentTarget = scalar, F32, 1680, "%", 1, 0 -etb1m_adjustedTarget = scalar, S16, 1684, "%", 0.01, 0 -etb1etbRevLimitActive = bits, U32, 1688, [0:0] -etb1jamDetected = bits, U32, 1688, [1:1] -etb1validPlantPosition = bits, U32, 1688, [2:2] -etb1etbTpsErrorCounter = scalar, U16, 1692, "count", 1,0 -etb1etbPpsErrorCounter = scalar, U16, 1694, "count", 1,0 -etb1etbErrorCode = scalar, S08, 1696, "", 1, 0 -etb1etbErrorCodeBlinker = scalar, S08, 1697, "", 1, 0 -etb1tcEtbDrop = scalar, S08, 1698, "%", 1, 0 -etb1jamTimer = scalar, U16, 1700, "sec", 0.01, 0 -etb1adjustedEtbTarget = scalar, S08, 1702, "%", 1, 0 -etb1state = scalar, U08, 1703, "", 1, 0 -; total TS size = 1704 -etb2targetWithIdlePosition = scalar, F32, 1704, "%", 1,0 -etb2trim = scalar, F32, 1708, "", 1, 0 -etb2luaAdjustment = scalar, F32, 1712, "%", 1,0 -etb2m_wastegatePosition = scalar, F32, 1716, "%", 1,0 -etb2etbFeedForward = scalar, F32, 1720 -etb2etbIntegralError = scalar, F32, 1724, "", 1, 0 -etb2etbCurrentTarget = scalar, F32, 1728, "%", 1, 0 -etb2m_adjustedTarget = scalar, S16, 1732, "%", 0.01, 0 -etb2etbRevLimitActive = bits, U32, 1736, [0:0] -etb2jamDetected = bits, U32, 1736, [1:1] -etb2validPlantPosition = bits, U32, 1736, [2:2] -etb2etbTpsErrorCounter = scalar, U16, 1740, "count", 1,0 -etb2etbPpsErrorCounter = scalar, U16, 1742, "count", 1,0 -etb2etbErrorCode = scalar, S08, 1744, "", 1, 0 -etb2etbErrorCodeBlinker = scalar, S08, 1745, "", 1, 0 -etb2tcEtbDrop = scalar, S08, 1746, "%", 1, 0 -etb2jamTimer = scalar, U16, 1748, "sec", 0.01, 0 -etb2adjustedEtbTarget = scalar, S08, 1750, "%", 1, 0 -etb2state = scalar, U08, 1751, "", 1, 0 -; total TS size = 1752 -wb1faultCode = scalar, U08, 1752, "", 1, 0 -wb1heaterDuty = scalar, U08, 1753, "%", 1, 0 -wb1pumpDuty = scalar, U08, 1754, "%", 1, 0 -wb1tempC = scalar, U16, 1756, "C", 1, 0 -wb1nernstVoltage = scalar, U16, 1758, "V", 0.001, 0 -wb1esr = scalar, U16, 1760, "ohm", 1, 0 -; total TS size = 1764 -wb2faultCode = scalar, U08, 1764, "", 1, 0 -wb2heaterDuty = scalar, U08, 1765, "%", 1, 0 -wb2pumpDuty = scalar, U08, 1766, "%", 1, 0 -wb2tempC = scalar, U16, 1768, "C", 1, 0 -wb2nernstVoltage = scalar, U16, 1770, "V", 0.001, 0 -wb2esr = scalar, U16, 1772, "ohm", 1, 0 -; total TS size = 1776 -dcOutput0 = scalar, F32, 1776, "%", 1,0 -isEnabled0_int = scalar, U08, 1780, "%", 1,0 -isEnabled0 = bits, U32, 1784, [0:0] -; total TS size = 1788 -value0 = scalar, U16, 1788, "RAW", 1,0 -value1 = scalar, U16, 1790, "RAW", 1,0 -errorRate = scalar, F32, 1792, "% (don't belive me)", 1,0 -; total TS size = 1796 -vvtTarget = scalar, U16, 1796, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1798, "%", 0.5, 0 +isBenchTest = bits, U32, 1228, [0:0] +hasIgnitionVoltage = bits, U32, 1228, [1:1] +mainRelayState = bits, U32, 1228, [2:2] +delayedShutoffRequested = bits, U32, 1228, [3:3] +; total TS size = 1232 +lua_fuelAdd = scalar, F32, 1232, "g", 1, 0 +lua_fuelMult = scalar, F32, 1236, "", 1, 0 +lua_clutchUpState = bits, U32, 1240, [0:0] +lua_brakePedalState = bits, U32, 1240, [1:1] +lua_acRequestState = bits, U32, 1240, [2:2] +lua_luaDisableEtb = bits, U32, 1240, [3:3] +lua_luaIgnCut = bits, U32, 1240, [4:4] +lua_luaFuelCut = bits, U32, 1240, [5:5] +lua_clutchDownState = bits, U32, 1240, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1240, [7:7] +lua_torqueReductionState = bits, U32, 1240, [8:8] +sd_tCharge = scalar, S16, 1244, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1248, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1252, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1256, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1260, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1264, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1268, "", 1, 0 +hellenBoardId = scalar, S16, 1272, "id", 1, 0 +clutchUpState = scalar, S08, 1274, "", 1, 0 +brakePedalState = scalar, S08, 1275, "", 1, 0 +startStopState = scalar, S08, 1276, "", 1, 0 +smartChipState = scalar, S08, 1277, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1278, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1279, "", 1, 0 +startStopPhysicalState = bits, U32, 1280, [0:0] +acrActive = bits, U32, 1280, [1:1] +acrEngineMovedRecently = bits, U32, 1280, [2:2] +heaterControlEnabled = bits, U32, 1280, [3:3] +luaDigitalState0 = bits, U32, 1280, [4:4] +luaDigitalState1 = bits, U32, 1280, [5:5] +luaDigitalState2 = bits, U32, 1280, [6:6] +luaDigitalState3 = bits, U32, 1280, [7:7] +clutchDownState = bits, U32, 1280, [8:8] +startStopStateToggleCounter = scalar, U32, 1284, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1288, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1292, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1296, "", 1, 0 +fuelInjectionCounter = scalar, U32, 1300, "", 1, 0 +globalSparkCounter = scalar, U32, 1304, "", 1, 0 +fuelingLoad = scalar, F32, 1308, "", 1, 0 +ignitionLoad = scalar, F32, 1312, "", 1, 0 +veTableYAxis = scalar, U16, 1316, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1318, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1319, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1320, "", 1, 0 +; total TS size = 1324 +tpsFrom = scalar, F32, 1324 +tpsTo = scalar, F32, 1328 +deltaTps = scalar, F32, 1332 +extraFuel = scalar, F32, 1336, "", 1, 0 +valueFromTable = scalar, F32, 1340, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1344, [0:0] +isBelowDecelThreshold = bits, U32, 1344, [1:1] +isTimeToResetAccumulator = bits, U32, 1344, [2:2] +isFractionalEnrichment = bits, U32, 1344, [3:3] +belowEpsilon = bits, U32, 1344, [4:4] +tooShort = bits, U32, 1344, [5:5] +fractionalInjFuel = scalar, F32, 1348, "", 1, 0 +accumulatedValue = scalar, F32, 1352, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1356, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1360, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1364, "", 1, 0 +cycleCnt = scalar, S32, 1368, "", 1, 0 +; total TS size = 1372 +hwEventCounters1 = scalar, U16, 1372, "", 1, 0 +hwEventCounters2 = scalar, U16, 1374, "", 1, 0 +hwEventCounters3 = scalar, U16, 1376, "", 1, 0 +hwEventCounters4 = scalar, U16, 1378, "", 1, 0 +vvtCamCounter = scalar, U16, 1380, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1384, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1388, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1392, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1393, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1396, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1400, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1404, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1408, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1412, [0:0] +triggerElapsedUs = scalar, U32, 1416, "", 1, 0 +; total TS size = 1420 +trgsynchronizationCounter = scalar, U32, 1420, "", 1, 0 +trgvvtToothDurations0 = scalar, U32, 1424, "us", 1, 0 +trgvvtCurrentPosition = scalar, F32, 1428, "", 1, 0 +trgvvtToothPosition1 = scalar, F32, 1432, "", 1, 0 +trgvvtToothPosition2 = scalar, F32, 1436, "", 1, 0 +trgvvtToothPosition3 = scalar, F32, 1440, "", 1, 0 +trgvvtToothPosition4 = scalar, F32, 1444, "", 1, 0 +trgtriggerSyncGapRatio = scalar, F32, 1448, "", 1, 0 +trgtriggerStateIndex = scalar, U08, 1452, "", 1, 0 +; total TS size = 1456 +vvt1isynchronizationCounter = scalar, U32, 1456, "", 1, 0 +vvt1ivvtToothDurations0 = scalar, U32, 1460, "us", 1, 0 +vvt1ivvtCurrentPosition = scalar, F32, 1464, "", 1, 0 +vvt1ivvtToothPosition1 = scalar, F32, 1468, "", 1, 0 +vvt1ivvtToothPosition2 = scalar, F32, 1472, "", 1, 0 +vvt1ivvtToothPosition3 = scalar, F32, 1476, "", 1, 0 +vvt1ivvtToothPosition4 = scalar, F32, 1480, "", 1, 0 +vvt1itriggerSyncGapRatio = scalar, F32, 1484, "", 1, 0 +vvt1itriggerStateIndex = scalar, U08, 1488, "", 1, 0 +; total TS size = 1492 +vvt1esynchronizationCounter = scalar, U32, 1492, "", 1, 0 +vvt1evvtToothDurations0 = scalar, U32, 1496, "us", 1, 0 +vvt1evvtCurrentPosition = scalar, F32, 1500, "", 1, 0 +vvt1evvtToothPosition1 = scalar, F32, 1504, "", 1, 0 +vvt1evvtToothPosition2 = scalar, F32, 1508, "", 1, 0 +vvt1evvtToothPosition3 = scalar, F32, 1512, "", 1, 0 +vvt1evvtToothPosition4 = scalar, F32, 1516, "", 1, 0 +vvt1etriggerSyncGapRatio = scalar, F32, 1520, "", 1, 0 +vvt1etriggerStateIndex = scalar, U08, 1524, "", 1, 0 +; total TS size = 1528 +vvt2isynchronizationCounter = scalar, U32, 1528, "", 1, 0 +vvt2ivvtToothDurations0 = scalar, U32, 1532, "us", 1, 0 +vvt2ivvtCurrentPosition = scalar, F32, 1536, "", 1, 0 +vvt2ivvtToothPosition1 = scalar, F32, 1540, "", 1, 0 +vvt2ivvtToothPosition2 = scalar, F32, 1544, "", 1, 0 +vvt2ivvtToothPosition3 = scalar, F32, 1548, "", 1, 0 +vvt2ivvtToothPosition4 = scalar, F32, 1552, "", 1, 0 +vvt2itriggerSyncGapRatio = scalar, F32, 1556, "", 1, 0 +vvt2itriggerStateIndex = scalar, U08, 1560, "", 1, 0 +; total TS size = 1564 +vvt2esynchronizationCounter = scalar, U32, 1564, "", 1, 0 +vvt2evvtToothDurations0 = scalar, U32, 1568, "us", 1, 0 +vvt2evvtCurrentPosition = scalar, F32, 1572, "", 1, 0 +vvt2evvtToothPosition1 = scalar, F32, 1576, "", 1, 0 +vvt2evvtToothPosition2 = scalar, F32, 1580, "", 1, 0 +vvt2evvtToothPosition3 = scalar, F32, 1584, "", 1, 0 +vvt2evvtToothPosition4 = scalar, F32, 1588, "", 1, 0 +vvt2etriggerSyncGapRatio = scalar, F32, 1592, "", 1, 0 +vvt2etriggerStateIndex = scalar, U08, 1596, "", 1, 0 +; total TS size = 1600 +camResyncCounter = scalar, U08, 1600, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1604, [0:0] +; total TS size = 1608 +wallFuelCorrection = scalar, F32, 1608, "", 1, 0 +wallFuel = scalar, F32, 1612, "", 1, 0 +; total TS size = 1616 +idleState = bits, S32, 1616, [0:2], "not important" +currentIdlePosition = scalar, F32, 1620 +baseIdlePosition = scalar, F32, 1624 +idleClosedLoop = scalar, F32, 1628 +iacByTpsTaper = scalar, F32, 1632 +mightResetPid = bits, U32, 1636, [0:0] +shouldResetPid = bits, U32, 1636, [1:1] +wasResetPid = bits, U32, 1636, [2:2] +mustResetPid = bits, U32, 1636, [3:3] +isCranking = bits, U32, 1636, [4:4] +isIacTableForCoasting = bits, U32, 1636, [5:5] +notIdling = bits, U32, 1636, [6:6] +needReset = bits, U32, 1636, [7:7] +isInDeadZone = bits, U32, 1636, [8:8] +isBlipping = bits, U32, 1636, [9:9] +useClosedLoop = bits, U32, 1636, [10:10] +badTps = bits, U32, 1636, [11:11] +looksLikeRunning = bits, U32, 1636, [12:12] +looksLikeCoasting = bits, U32, 1636, [13:13] +looksLikeCrankToIdle = bits, U32, 1636, [14:14] +isIdleCoasting = bits, U32, 1636, [15:15] +isIdleClosedLoop = bits, U32, 1636, [16:16] +idleTarget = scalar, S32, 1640, "", 1, 0 +targetRpmByClt = scalar, S32, 1644, "", 1, 0 +targetRpmAc = scalar, S32, 1648, "", 1, 0 +iacByRpmTaper = scalar, F32, 1652 +luaAdd = scalar, F32, 1656 +; total TS size = 1660 +etb1targetWithIdlePosition = scalar, F32, 1660, "%", 1,0 +etb1trim = scalar, F32, 1664, "", 1, 0 +etb1luaAdjustment = scalar, F32, 1668, "%", 1,0 +etb1m_wastegatePosition = scalar, F32, 1672, "%", 1,0 +etb1etbFeedForward = scalar, F32, 1676 +etb1etbIntegralError = scalar, F32, 1680, "", 1, 0 +etb1etbCurrentTarget = scalar, F32, 1684, "%", 1, 0 +etb1m_adjustedTarget = scalar, S16, 1688, "%", 0.01, 0 +etb1etbRevLimitActive = bits, U32, 1692, [0:0] +etb1jamDetected = bits, U32, 1692, [1:1] +etb1validPlantPosition = bits, U32, 1692, [2:2] +etb1etbTpsErrorCounter = scalar, U16, 1696, "count", 1,0 +etb1etbPpsErrorCounter = scalar, U16, 1698, "count", 1,0 +etb1etbErrorCode = scalar, S08, 1700, "", 1, 0 +etb1etbErrorCodeBlinker = scalar, S08, 1701, "", 1, 0 +etb1tcEtbDrop = scalar, S08, 1702, "%", 1, 0 +etb1jamTimer = scalar, U16, 1704, "sec", 0.01, 0 +etb1adjustedEtbTarget = scalar, S08, 1706, "%", 1, 0 +etb1state = scalar, U08, 1707, "", 1, 0 +; total TS size = 1708 +etb2targetWithIdlePosition = scalar, F32, 1708, "%", 1,0 +etb2trim = scalar, F32, 1712, "", 1, 0 +etb2luaAdjustment = scalar, F32, 1716, "%", 1,0 +etb2m_wastegatePosition = scalar, F32, 1720, "%", 1,0 +etb2etbFeedForward = scalar, F32, 1724 +etb2etbIntegralError = scalar, F32, 1728, "", 1, 0 +etb2etbCurrentTarget = scalar, F32, 1732, "%", 1, 0 +etb2m_adjustedTarget = scalar, S16, 1736, "%", 0.01, 0 +etb2etbRevLimitActive = bits, U32, 1740, [0:0] +etb2jamDetected = bits, U32, 1740, [1:1] +etb2validPlantPosition = bits, U32, 1740, [2:2] +etb2etbTpsErrorCounter = scalar, U16, 1744, "count", 1,0 +etb2etbPpsErrorCounter = scalar, U16, 1746, "count", 1,0 +etb2etbErrorCode = scalar, S08, 1748, "", 1, 0 +etb2etbErrorCodeBlinker = scalar, S08, 1749, "", 1, 0 +etb2tcEtbDrop = scalar, S08, 1750, "%", 1, 0 +etb2jamTimer = scalar, U16, 1752, "sec", 0.01, 0 +etb2adjustedEtbTarget = scalar, S08, 1754, "%", 1, 0 +etb2state = scalar, U08, 1755, "", 1, 0 +; total TS size = 1756 +wb1faultCode = scalar, U08, 1756, "", 1, 0 +wb1heaterDuty = scalar, U08, 1757, "%", 1, 0 +wb1pumpDuty = scalar, U08, 1758, "%", 1, 0 +wb1tempC = scalar, U16, 1760, "C", 1, 0 +wb1nernstVoltage = scalar, U16, 1762, "V", 0.001, 0 +wb1esr = scalar, U16, 1764, "ohm", 1, 0 +; total TS size = 1768 +wb2faultCode = scalar, U08, 1768, "", 1, 0 +wb2heaterDuty = scalar, U08, 1769, "%", 1, 0 +wb2pumpDuty = scalar, U08, 1770, "%", 1, 0 +wb2tempC = scalar, U16, 1772, "C", 1, 0 +wb2nernstVoltage = scalar, U16, 1774, "V", 0.001, 0 +wb2esr = scalar, U16, 1776, "ohm", 1, 0 +; total TS size = 1780 +dcOutput0 = scalar, F32, 1780, "%", 1,0 +isEnabled0_int = scalar, U08, 1784, "%", 1,0 +isEnabled0 = bits, U32, 1788, [0:0] +; total TS size = 1792 +value0 = scalar, U16, 1792, "RAW", 1,0 +value1 = scalar, U16, 1794, "RAW", 1,0 +errorRate = scalar, F32, 1796, "% (don't belive me)", 1,0 ; total TS size = 1800 -lambdaCurrentlyGood = bits, U32, 1800, [0:0] -lambdaMonitorCut = bits, U32, 1800, [1:1] -lambdaTimeSinceGood = scalar, U16, 1804, "sec", 0.01, 0 -; total TS size = 1808 +vvtTarget = scalar, U16, 1800, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1802, "%", 0.5, 0 +; total TS size = 1804 +lambdaCurrentlyGood = bits, U32, 1804, [0:0] +lambdaMonitorCut = bits, U32, 1804, [1:1] +lambdaTimeSinceGood = scalar, U16, 1808, "sec", 0.01, 0 +; total TS size = 1812 time = { timeNow } @@ -4589,6 +4592,12 @@ curve = rangeMatrix, "Range Switch Input Matrix" gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. upDownLabel = "(RICHER)", "(LEANER)" + table = trailingSparkTable, trailingSparkMap, "Trailing spark", 1 + xyLabels = "RPM", "Ignition Load" + xBins = trailingSparkRpmBins, RPMValue + yBins = trailingSparkLoadBins, ignitionLoad + zBins = trailingSparkTable + table = torqueTableTbl, torqueTableMap, "Engine Torque", 1 xBins = torqueRpmBins, RPMValue yBins = torqueLoadBins, veTableYAxis @@ -4886,6 +4895,7 @@ timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20 timingPidCorrectionGauge = timingPidCorrection,"Idle: Timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 +trailingSparkAngleGauge = trailingSparkAngle,"Ign: Trailing spark deg", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 gaugeCategory = "Boost Control" luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 @@ -5816,6 +5826,7 @@ entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" entry = luaIgnitionSkip, "Ign: Lua Spark Skip", int, "%d" +entry = trailingSparkAngle, "Ign: Trailing spark deg", float, "%.3f" entry = m_knockLevel, "Knock: Current level", float, "%.3f" entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" @@ -6764,6 +6775,7 @@ dialog = ignition_stateDialog, "ignition_state" graphLine = luaTimingAdd liveGraph = ignition_state_4_Graph, "Graph", South graphLine = luaTimingMult + graphLine = trailingSparkAngle dialog = knock_controllerDialog, "knock_controller" @@ -10054,11 +10066,11 @@ dialog = tcuControls, "Transmission Settings" dialog = rotaryDialog, "Rotary" field = "Enable Trailing Sparks", enableTrailingSparks - field = "Trailing Spark Offset", trailingSparkAngle field = "Trailing Pin 1", trailingCoilPins1 field = "Trailing Pin 2", trailingCoilPins2 field = "Trailing Pin 3", trailingCoilPins3 field = "Trailing Pin 4", trailingCoilPins4 + panel = trailingSparkTable dialog = fancyHardwareDialog, "Board Control" field = "D2 Tachometer Output 5V/12V Pull-Up", boardUseTachPullUp diff --git a/firmware/tunerstudio/generated/rusefi_alphax-8chan.ini b/firmware/tunerstudio/generated/rusefi_alphax-8chan.ini index 1f7bb848ba..d4e7918689 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.2025.02.07.alphax-8chan.1320182774" + signature = "rusEFI master.2025.02.07.alphax-8chan.3375623323" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2025.02.07.alphax-8chan.1320182774" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2025.02.07.alphax-8chan.3375623323" ; 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 @@ -101,7 +101,7 @@ enable2ndByteCanID = false ; CONFIG_DEFINITION_START ; this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt -pageSize = 25300 +pageSize = 25324 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",22="BMW_M52",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",21="ET_BOSCH_QUICK_START",24="ET_TEST_WITH_BOSCH_QUICK_START",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",41="FRANKENSO_MIATA_NA6_MAP",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",47="GM_LCV",55="GM_LTG",98="GM_SBC",49="GM_SBC_GEN5",8="GY6_139QMB",6="HARLEY",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",34="MAZDA_MIATA_NA6",80="MAZDA_MIATA_NA94",10="MAZDA_MIATA_NA96",83="MAZDA_MIATA_NB1",69="MAZDA_MIATA_NB2",86="MAZDA_MIATA_NB2_36",20="MAZDA_MIATA_NC",33="ME17_9_MISC",68="MERCEDES_M111",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",4="MRE_SECONDARY_CAN",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",35="POLARIS",9="POLARIS_RZR",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",27="PROTEUS_GM_LS_4",25="PROTEUS_LUA_DEMO",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",17="TCU_4R70W",100="TEST_100",101="TEST_101",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",93="TEST_ISSUE_6451",19="TEST_ROTARY",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",102="UNUSED102",67="UNUSED67",94="UNUSED94",65="UNUSED_65",97="UNUSED_97",77="VAG_5_CYL",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -245,7 +245,7 @@ vbattAdcChannel = bits, U08, 513, [0:5], $adc_channel_e_list fuelLevelSensor = bits, U08, 514, [0:5], $adc_channel_e_list tps2_1AdcChannel = bits, U08, 515, [0:5], $adc_channel_e_list idle_derivativeFilterLoss = scalar, F32, 516, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 520, "angle", 1, 0, 0, 720, 0 +unusedTrailingSparkAngle = scalar, S32, 520, "", 1, 0, 0, 100, 0 trigger_type = bits, U32, 524, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Daihatsu 3 cylinder", "Mazda SOHC 4", "60-2", "36-1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "Dodge Ram 1+16", "60-2 Wrong Polarity", "Benelli Tre", "Dodge Stratus", "36_2_2_2", "Nissan Primera", "dev 2JZ 3/34 simulator", "Rover K", "GM 24x 5 degree", "Honda CBR 600 Cam", "INVALID", "Honda CBR 600 custom", "3-1 skipped", "Dodge Neon 2003 crank", "Miata NB", "INVALID", "INVALID", "Subaru 7+6", "Jeep 18-2-2-2", "12crank/24cam", "Dodge Neon 1995 crank only", "Jeep XJ 4 cyl", "FiatIAQ_P8", "Mazda Z5", "INVALID", "Renix 44-2-2", "Renix 66-2-2-2", "Honda K 12+1", "INVALID", "36-2", "Subaru SVX", "Suzuki K6A", "Subaru 7 without 6", "INVALID", "INVALID", "GM 60-2-2-2", "Skoda Favorit", "Barra 3+1 Cam", "Kawa KX450F", "Nissan VQ35", "INVALID", "Nissan VQ30", "Nissan QR25", "INVALID", "Subaru SVX Crank 1", "Subaru SVX Cam VVT", "Ford PIP", "Suzuki G13B", "Honda K 4+1", "Nissan MR18 Crank", "32-2", "36-2-1", "36-2-1-1", "3-0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6-0", "Daihatsu 4 cylinder", "INVALID", "dev", "Nissan HR", "Arctic Cat", "HR12 in", "HONDA J30A2", "trg88", "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" trigger_customTotalToothCount = scalar, S32, 528, "number", 1, 0, 1, 300, 0 trigger_customSkippedToothCount = scalar, S32, 532, "number", 1, 0, 0, 300, 0 @@ -1799,18 +1799,21 @@ dynoCarCarMassKg = scalar, S16, 25284, "", 1, 0, 0, 32000, 0 dynoCarCargoMassKg = scalar, S16, 25286, "", 1, 0, 0, 32000, 0 dynoCarCoeffOfDrag = scalar, F32, 25288, "", 1, 0, 0, 100, 0 dynoCarFrontalAreaM2 = scalar, F32, 25292, "", 1, 0, 0, 100, 0 -boardUseTempPullUp = bits, U32, 25296, [0:0], "Piggyback Mode", "With Pull Ups" -boardUse2stepPullDown = bits, U32, 25296, [1:1], "With Pull Up", "With Pull Down" -boardUseD2PullDown = bits, U32, 25296, [2:2], "With Pull Up", "With Pull Down" -boardUseD3PullDown = bits, U32, 25296, [3:3], "With Pull Up", "With Pull Down" -boardUseCrankPullUp = bits, U32, 25296, [4:4], "VR", "Hall" -boardUseH1PullDown = bits, U32, 25296, [5:5], "With Pull Up", "With Pull Down" -boardUseH2PullDown = bits, U32, 25296, [6:6], "With Pull Up", "With Pull Down" -boardUseH3PullDown = bits, U32, 25296, [7:7], "With Pull Up", "With Pull Down" -boardUseH4PullDown = bits, U32, 25296, [8:8], "With Pull Up", "With Pull Down" -boardUseH5PullDown = bits, U32, 25296, [9:9], "With Pull Up", "With Pull Down" -boardUseFlexPullDown = bits, U32, 25296, [10:10], "With Pull Up", "With Pull Down" -; total TS size = 25300 +trailingSparkTable = array, S08, 25296, [4x4], "deg", 0.1, 0, 0, 20, 1 +trailingSparkRpmBins = array, U08, 25312, [4], "rpm", 50.0, 0, 0, 12000, 0 +trailingSparkLoadBins = array, U08, 25316, [4], "Load", 5.0, 0, 0, 1000, 0 +boardUseTempPullUp = bits, U32, 25320, [0:0], "Piggyback Mode", "With Pull Ups" +boardUse2stepPullDown = bits, U32, 25320, [1:1], "With Pull Up", "With Pull Down" +boardUseD2PullDown = bits, U32, 25320, [2:2], "With Pull Up", "With Pull Down" +boardUseD3PullDown = bits, U32, 25320, [3:3], "With Pull Up", "With Pull Down" +boardUseCrankPullUp = bits, U32, 25320, [4:4], "VR", "Hall" +boardUseH1PullDown = bits, U32, 25320, [5:5], "With Pull Up", "With Pull Down" +boardUseH2PullDown = bits, U32, 25320, [6:6], "With Pull Up", "With Pull Down" +boardUseH3PullDown = bits, U32, 25320, [7:7], "With Pull Up", "With Pull Down" +boardUseH4PullDown = bits, U32, 25320, [8:8], "With Pull Up", "With Pull Down" +boardUseH5PullDown = bits, U32, 25320, [9:9], "With Pull Up", "With Pull Down" +boardUseFlexPullDown = bits, U32, 25320, [10:10], "With Pull Up", "With Pull Down" +; total TS size = 25324 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1904,7 +1907,6 @@ boardUseFlexPullDown = bits, U32, 25296, [10:10], "With Pull Up", "With Pull Dow fuelLevelSensor = "This is the processor pin that your fuel level sensor in connected to. This is a non standard input so will need to be user defined." tps2_1AdcChannel = "Second throttle body position sensor, single channel so far" idle_derivativeFilterLoss = "0.1 is a good default value" - trailingSparkAngle = "just a temporary solution" trigger_type = "https://github.com/rusefi/rusefi/wiki/All-Supported-Triggers" airByRpmTaper = "Extra air taper amount" boostControlSafeDutyCycle = "Duty cycle to use in case of a sensor failure. This duty cycle should produce the minimum possible amount of boost. This duty is also used in case any of the minimum RPM/TPS/MAP conditions are not met." @@ -2678,7 +2680,7 @@ boardUseFlexPullDown = bits, U32, 25296, [10:10], "With Pull Up", "With Pull Dow ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1808 + ochBlockSize = 1812 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3203,417 +3205,418 @@ dwellVoltageCorrection = scalar, F32, 940, "", 1, 0 luaTimingAdd = scalar, F32, 944, "deg", 1, 0 luaTimingMult = scalar, F32, 948, "deg", 1, 0 luaIgnitionSkip = bits, U32, 952, [0:0] -; total TS size = 956 -m_knockLevel = scalar, F32, 956, "Volts", 1, 0 -m_knockCyl1 = scalar, S08, 960, "dBv", 1, 0 -m_knockCyl2 = scalar, S08, 961, "dBv", 1, 0 -m_knockCyl3 = scalar, S08, 962, "dBv", 1, 0 -m_knockCyl4 = scalar, S08, 963, "dBv", 1, 0 -m_knockCyl5 = scalar, S08, 964, "dBv", 1, 0 -m_knockCyl6 = scalar, S08, 965, "dBv", 1, 0 -m_knockCyl7 = scalar, S08, 966, "dBv", 1, 0 -m_knockCyl8 = scalar, S08, 967, "dBv", 1, 0 -m_knockCyl9 = scalar, S08, 968, "dBv", 1, 0 -m_knockCyl10 = scalar, S08, 969, "dBv", 1, 0 -m_knockCyl11 = scalar, S08, 970, "dBv", 1, 0 -m_knockCyl12 = scalar, S08, 971, "dBv", 1, 0 -m_knockRetard = scalar, F32, 972, "deg", 1,0 -m_knockThreshold = scalar, F32, 976, "", 1, 0 -m_knockCount = scalar, U32, 980, "", 1, 0 -m_maximumRetard = scalar, F32, 984, "", 1, 0 -m_knockSpectrum1 = scalar, U32, 988, "compressed data", 1, 0 -m_knockSpectrum2 = scalar, U32, 992, "compressed data", 1, 0 -m_knockSpectrum3 = scalar, U32, 996, "compressed data", 1, 0 -m_knockSpectrum4 = scalar, U32, 1000, "compressed data", 1, 0 -m_knockSpectrum5 = scalar, U32, 1004, "compressed data", 1, 0 -m_knockSpectrum6 = scalar, U32, 1008, "compressed data", 1, 0 -m_knockSpectrum7 = scalar, U32, 1012, "compressed data", 1, 0 -m_knockSpectrum8 = scalar, U32, 1016, "compressed data", 1, 0 -m_knockSpectrum9 = scalar, U32, 1020, "compressed data", 1, 0 -m_knockSpectrum10 = scalar, U32, 1024, "compressed data", 1, 0 -m_knockSpectrum11 = scalar, U32, 1028, "compressed data", 1, 0 -m_knockSpectrum12 = scalar, U32, 1032, "compressed data", 1, 0 -m_knockSpectrum13 = scalar, U32, 1036, "compressed data", 1, 0 -m_knockSpectrum14 = scalar, U32, 1040, "compressed data", 1, 0 -m_knockSpectrum15 = scalar, U32, 1044, "compressed data", 1, 0 -m_knockSpectrum16 = scalar, U32, 1048, "compressed data", 1, 0 -m_knockSpectrumChannelCyl = scalar, U16, 1052, "compressed N + N", 1, 0 -m_knockFrequencyStart = scalar, U16, 1054, "Hz", 1, 0 -m_knockFrequencyStep = scalar, F32, 1056, "Hz", 1, 0 -m_knockFuelTrimMultiplier = scalar, F32, 1060, "multiplier", 1, 0 -; total TS size = 1064 -m_isPriming = bits, U32, 1064, [0:0] +trailingSparkAngle = scalar, S16, 956, "deg", 0.01,0 +; total TS size = 960 +m_knockLevel = scalar, F32, 960, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 964, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 965, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 966, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 967, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 968, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 969, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 970, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 971, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 972, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 973, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 974, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 975, "dBv", 1, 0 +m_knockRetard = scalar, F32, 976, "deg", 1,0 +m_knockThreshold = scalar, F32, 980, "", 1, 0 +m_knockCount = scalar, U32, 984, "", 1, 0 +m_maximumRetard = scalar, F32, 988, "", 1, 0 +m_knockSpectrum1 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1040, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1044, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1048, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1052, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1056, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1058, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1060, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1064, "multiplier", 1, 0 ; total TS size = 1068 -tcuCurrentGear = scalar, S08, 1068, "gear", 1, 0 -tcRatio = scalar, U16, 1070, "value", 0.01, 0 -lastShiftTime = scalar, F32, 1072, "", 1, 0 -tcu_currentRange = scalar, U08, 1076, "", 1, 0 -pressureControlDuty = scalar, S08, 1077, "%", 1,0 -torqueConverterDuty = scalar, S08, 1078, "%", 1,0 -isShifting = bits, U32, 1080, [0:0] -; total TS size = 1084 -throttleUseWotModel = bits, U32, 1084, [0:0] -throttleModelCrossoverAngle = scalar, S16, 1088, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1092, "g/s", 1, 0 -; total TS size = 1096 -m_requested_pump = scalar, F32, 1096, "", 1, 0 -fuel_requested_percent = scalar, F32, 1100, "%", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1104, "", 1, 0 -noValve = bits, U32, 1108, [0:0] -angleAboveMin = bits, U32, 1108, [1:1] -isHpfpActive = bits, U32, 1108, [2:2] -HpfpValveState = bits, U32, 1108, [3:3] -m_pressureTarget_kPa = scalar, F32, 1112, "", 1, 0 -nextLobe = scalar, F32, 1116, "", 1, 0 -di_nextStart = scalar, F32, 1120, "v", 1, 0 -HpfdActivationPhase = scalar, F32, 1124, "", 1, 0 -HpfdDeactivationPhase = scalar, F32, 1128, "", 1, 0 -; total TS size = 1132 -m_deadtime = scalar, F32, 1132, "ms", 1, 0 -pressureDelta = scalar, F32, 1136, "kPa", 1, 0 -pressureRatio = scalar, F32, 1140, "", 1, 0 -; total TS size = 1144 -retardThresholdRpm = scalar, S32, 1144, "", 1, 0 -launchActivatePinState = bits, U32, 1148, [0:0] -isPreLaunchCondition = bits, U32, 1148, [1:1] -isLaunchCondition = bits, U32, 1148, [2:2] -isSwitchActivated = bits, U32, 1148, [3:3] -isClutchActivated = bits, U32, 1148, [4:4] -isBrakePedalActivated = bits, U32, 1148, [5:5] -isValidInputPin = bits, U32, 1148, [6:6] -activateSwitchCondition = bits, U32, 1148, [7:7] -rpmLaunchCondition = bits, U32, 1148, [8:8] -rpmPreLaunchCondition = bits, U32, 1148, [9:9] -speedCondition = bits, U32, 1148, [10:10] -tpsCondition = bits, U32, 1148, [11:11] -; total TS size = 1152 -isTorqueReductionTriggerPinValid = bits, U32, 1152, [0:0] -torqueReductionTriggerPinState = bits, U32, 1152, [1:1] -isTimeConditionSatisfied = bits, U32, 1152, [2:2] -isRpmConditionSatisfied = bits, U32, 1152, [3:3] -isAppConditionSatisfied = bits, U32, 1152, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1152, [5:5] +m_isPriming = bits, U32, 1068, [0:0] +; total TS size = 1072 +tcuCurrentGear = scalar, S08, 1072, "gear", 1, 0 +tcRatio = scalar, U16, 1074, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1076, "", 1, 0 +tcu_currentRange = scalar, U08, 1080, "", 1, 0 +pressureControlDuty = scalar, S08, 1081, "%", 1,0 +torqueConverterDuty = scalar, S08, 1082, "%", 1,0 +isShifting = bits, U32, 1084, [0:0] +; total TS size = 1088 +throttleUseWotModel = bits, U32, 1088, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1092, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1096, "g/s", 1, 0 +; total TS size = 1100 +m_requested_pump = scalar, F32, 1100, "", 1, 0 +fuel_requested_percent = scalar, F32, 1104, "%", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1108, "", 1, 0 +noValve = bits, U32, 1112, [0:0] +angleAboveMin = bits, U32, 1112, [1:1] +isHpfpActive = bits, U32, 1112, [2:2] +HpfpValveState = bits, U32, 1112, [3:3] +m_pressureTarget_kPa = scalar, F32, 1116, "", 1, 0 +nextLobe = scalar, F32, 1120, "", 1, 0 +di_nextStart = scalar, F32, 1124, "v", 1, 0 +HpfdActivationPhase = scalar, F32, 1128, "", 1, 0 +HpfdDeactivationPhase = scalar, F32, 1132, "", 1, 0 +; total TS size = 1136 +m_deadtime = scalar, F32, 1136, "ms", 1, 0 +pressureDelta = scalar, F32, 1140, "kPa", 1, 0 +pressureRatio = scalar, F32, 1144, "", 1, 0 +; total TS size = 1148 +retardThresholdRpm = scalar, S32, 1148, "", 1, 0 +launchActivatePinState = bits, U32, 1152, [0:0] +isPreLaunchCondition = bits, U32, 1152, [1:1] +isLaunchCondition = bits, U32, 1152, [2:2] +isSwitchActivated = bits, U32, 1152, [3:3] +isClutchActivated = bits, U32, 1152, [4:4] +isBrakePedalActivated = bits, U32, 1152, [5:5] +isValidInputPin = bits, U32, 1152, [6:6] +activateSwitchCondition = bits, U32, 1152, [7:7] +rpmLaunchCondition = bits, U32, 1152, [8:8] +rpmPreLaunchCondition = bits, U32, 1152, [9:9] +speedCondition = bits, U32, 1152, [10:10] +tpsCondition = bits, U32, 1152, [11:11] ; total TS size = 1156 -isAntilagCondition = bits, U32, 1156, [0:0] -ALSMinRPMCondition = bits, U32, 1156, [1:1] -ALSMaxRPMCondition = bits, U32, 1156, [2:2] -ALSMinCLTCondition = bits, U32, 1156, [3:3] -ALSMaxCLTCondition = bits, U32, 1156, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1156, [5:5] -isALSSwitchActivated = bits, U32, 1156, [6:6] -ALSActivatePinState = bits, U32, 1156, [7:7] -ALSSwitchCondition = bits, U32, 1156, [8:8] -ALSTimerCondition = bits, U32, 1156, [9:9] -fuelALSCorrection = scalar, F32, 1160, "", 1, 0 -timingALSCorrection = scalar, S16, 1164, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1166, "deg", 0.01, 0 -; total TS size = 1168 -isTpsInvalid = bits, U32, 1168, [0:0] -m_shouldResetPid = bits, U32, 1168, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1168, [2:2] -isNotClosedLoop = bits, U32, 1168, [3:3] -isZeroRpm = bits, U32, 1168, [4:4] -hasInitBoost = bits, U32, 1168, [5:5] -rpmTooLow = bits, U32, 1168, [6:6] -tpsTooLow = bits, U32, 1168, [7:7] -mapTooLow = bits, U32, 1168, [8:8] -isPlantValid = bits, U32, 1168, [9:9] -isBoostControlled = bits, U32, 1168, [10:10] -luaTargetAdd = scalar, S16, 1172, "v", 0.5,0 -boostOutput = scalar, S16, 1174, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1176, "v", 1,0 -openLoopPart = scalar, F32, 1180, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1184, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1188, "%", 0.5,0 -boostControlTarget = scalar, S16, 1190, "kPa", 0.03333333333333333,0 -; total TS size = 1192 -acButtonState = scalar, S08, 1192, "", 1, 0 -m_acEnabled = bits, U32, 1196, [0:0] -engineTooSlow = bits, U32, 1196, [1:1] -engineTooFast = bits, U32, 1196, [2:2] -noClt = bits, U32, 1196, [3:3] -engineTooHot = bits, U32, 1196, [4:4] -tpsTooHigh = bits, U32, 1196, [5:5] -isDisabledByLua = bits, U32, 1196, [6:6] -acCompressorState = bits, U32, 1196, [7:7] -acPressureTooLow = bits, U32, 1196, [8:8] -acPressureTooHigh = bits, U32, 1196, [9:9] -; total TS size = 1200 -isNitrousArmed = bits, U32, 1200, [0:0] -isNitrousSpeedCondition = bits, U32, 1200, [1:1] -isNitrousTpsCondition = bits, U32, 1200, [2:2] -isNitrousCltCondition = bits, U32, 1200, [3:3] -isNitrousMapCondition = bits, U32, 1200, [4:4] -isNitrousAfrCondition = bits, U32, 1200, [5:5] -isNitrousRpmCondition = bits, U32, 1200, [6:6] -isNitrousCondition = bits, U32, 1200, [7:7] +isTorqueReductionTriggerPinValid = bits, U32, 1156, [0:0] +torqueReductionTriggerPinState = bits, U32, 1156, [1:1] +isTimeConditionSatisfied = bits, U32, 1156, [2:2] +isRpmConditionSatisfied = bits, U32, 1156, [3:3] +isAppConditionSatisfied = bits, U32, 1156, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1156, [5:5] +; total TS size = 1160 +isAntilagCondition = bits, U32, 1160, [0:0] +ALSMinRPMCondition = bits, U32, 1160, [1:1] +ALSMaxRPMCondition = bits, U32, 1160, [2:2] +ALSMinCLTCondition = bits, U32, 1160, [3:3] +ALSMaxCLTCondition = bits, U32, 1160, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1160, [5:5] +isALSSwitchActivated = bits, U32, 1160, [6:6] +ALSActivatePinState = bits, U32, 1160, [7:7] +ALSSwitchCondition = bits, U32, 1160, [8:8] +ALSTimerCondition = bits, U32, 1160, [9:9] +fuelALSCorrection = scalar, F32, 1164, "", 1, 0 +timingALSCorrection = scalar, S16, 1168, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1170, "deg", 0.01, 0 +; total TS size = 1172 +isTpsInvalid = bits, U32, 1172, [0:0] +m_shouldResetPid = bits, U32, 1172, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1172, [2:2] +isNotClosedLoop = bits, U32, 1172, [3:3] +isZeroRpm = bits, U32, 1172, [4:4] +hasInitBoost = bits, U32, 1172, [5:5] +rpmTooLow = bits, U32, 1172, [6:6] +tpsTooLow = bits, U32, 1172, [7:7] +mapTooLow = bits, U32, 1172, [8:8] +isPlantValid = bits, U32, 1172, [9:9] +isBoostControlled = bits, U32, 1172, [10:10] +luaTargetAdd = scalar, S16, 1176, "v", 0.5,0 +boostOutput = scalar, S16, 1178, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1180, "v", 1,0 +openLoopPart = scalar, F32, 1184, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1188, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1192, "%", 0.5,0 +boostControlTarget = scalar, S16, 1194, "kPa", 0.03333333333333333,0 +; total TS size = 1196 +acButtonState = scalar, S08, 1196, "", 1, 0 +m_acEnabled = bits, U32, 1200, [0:0] +engineTooSlow = bits, U32, 1200, [1:1] +engineTooFast = bits, U32, 1200, [2:2] +noClt = bits, U32, 1200, [3:3] +engineTooHot = bits, U32, 1200, [4:4] +tpsTooHigh = bits, U32, 1200, [5:5] +isDisabledByLua = bits, U32, 1200, [6:6] +acCompressorState = bits, U32, 1200, [7:7] +acPressureTooLow = bits, U32, 1200, [8:8] +acPressureTooHigh = bits, U32, 1200, [9:9] ; total TS size = 1204 -fan1cranking = bits, U32, 1204, [0:0] -fan1notRunning = bits, U32, 1204, [1:1] -fan1disabledWhileEngineStopped = bits, U32, 1204, [2:2] -fan1brokenClt = bits, U32, 1204, [3:3] -fan1enabledForAc = bits, U32, 1204, [4:4] -fan1hot = bits, U32, 1204, [5:5] -fan1cold = bits, U32, 1204, [6:6] -fan1disabledBySpeed = bits, U32, 1204, [7:7] -fan1m_state = bits, U32, 1204, [8:8] -fan1radiatorFanStatus = scalar, U08, 1208, "", 1, 0 -; total TS size = 1212 -fan2cranking = bits, U32, 1212, [0:0] -fan2notRunning = bits, U32, 1212, [1:1] -fan2disabledWhileEngineStopped = bits, U32, 1212, [2:2] -fan2brokenClt = bits, U32, 1212, [3:3] -fan2enabledForAc = bits, U32, 1212, [4:4] -fan2hot = bits, U32, 1212, [5:5] -fan2cold = bits, U32, 1212, [6:6] -fan2disabledBySpeed = bits, U32, 1212, [7:7] -fan2m_state = bits, U32, 1212, [8:8] -fan2radiatorFanStatus = scalar, U08, 1216, "", 1, 0 -; total TS size = 1220 -isPrime = bits, U32, 1220, [0:0] -engineTurnedRecently = bits, U32, 1220, [1:1] -isFuelPumpOn = bits, U32, 1220, [2:2] -ignitionOn = bits, U32, 1220, [3:3] +isNitrousArmed = bits, U32, 1204, [0:0] +isNitrousSpeedCondition = bits, U32, 1204, [1:1] +isNitrousTpsCondition = bits, U32, 1204, [2:2] +isNitrousCltCondition = bits, U32, 1204, [3:3] +isNitrousMapCondition = bits, U32, 1204, [4:4] +isNitrousAfrCondition = bits, U32, 1204, [5:5] +isNitrousRpmCondition = bits, U32, 1204, [6:6] +isNitrousCondition = bits, U32, 1204, [7:7] +; total TS size = 1208 +fan1cranking = bits, U32, 1208, [0:0] +fan1notRunning = bits, U32, 1208, [1:1] +fan1disabledWhileEngineStopped = bits, U32, 1208, [2:2] +fan1brokenClt = bits, U32, 1208, [3:3] +fan1enabledForAc = bits, U32, 1208, [4:4] +fan1hot = bits, U32, 1208, [5:5] +fan1cold = bits, U32, 1208, [6:6] +fan1disabledBySpeed = bits, U32, 1208, [7:7] +fan1m_state = bits, U32, 1208, [8:8] +fan1radiatorFanStatus = scalar, U08, 1212, "", 1, 0 +; total TS size = 1216 +fan2cranking = bits, U32, 1216, [0:0] +fan2notRunning = bits, U32, 1216, [1:1] +fan2disabledWhileEngineStopped = bits, U32, 1216, [2:2] +fan2brokenClt = bits, U32, 1216, [3:3] +fan2enabledForAc = bits, U32, 1216, [4:4] +fan2hot = bits, U32, 1216, [5:5] +fan2cold = bits, U32, 1216, [6:6] +fan2disabledBySpeed = bits, U32, 1216, [7:7] +fan2m_state = bits, U32, 1216, [8:8] +fan2radiatorFanStatus = scalar, U08, 1220, "", 1, 0 ; total TS size = 1224 -isBenchTest = bits, U32, 1224, [0:0] -hasIgnitionVoltage = bits, U32, 1224, [1:1] -mainRelayState = bits, U32, 1224, [2:2] -delayedShutoffRequested = bits, U32, 1224, [3:3] +isPrime = bits, U32, 1224, [0:0] +engineTurnedRecently = bits, U32, 1224, [1:1] +isFuelPumpOn = bits, U32, 1224, [2:2] +ignitionOn = bits, U32, 1224, [3:3] ; total TS size = 1228 -lua_fuelAdd = scalar, F32, 1228, "g", 1, 0 -lua_fuelMult = scalar, F32, 1232, "", 1, 0 -lua_clutchUpState = bits, U32, 1236, [0:0] -lua_brakePedalState = bits, U32, 1236, [1:1] -lua_acRequestState = bits, U32, 1236, [2:2] -lua_luaDisableEtb = bits, U32, 1236, [3:3] -lua_luaIgnCut = bits, U32, 1236, [4:4] -lua_luaFuelCut = bits, U32, 1236, [5:5] -lua_clutchDownState = bits, U32, 1236, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1236, [7:7] -lua_torqueReductionState = bits, U32, 1236, [8:8] -sd_tCharge = scalar, S16, 1240, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1244, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1248, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1252, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1256, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1260, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1264, "", 1, 0 -hellenBoardId = scalar, S16, 1268, "id", 1, 0 -clutchUpState = scalar, S08, 1270, "", 1, 0 -brakePedalState = scalar, S08, 1271, "", 1, 0 -startStopState = scalar, S08, 1272, "", 1, 0 -smartChipState = scalar, S08, 1273, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1274, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1275, "", 1, 0 -startStopPhysicalState = bits, U32, 1276, [0:0] -acrActive = bits, U32, 1276, [1:1] -acrEngineMovedRecently = bits, U32, 1276, [2:2] -heaterControlEnabled = bits, U32, 1276, [3:3] -luaDigitalState0 = bits, U32, 1276, [4:4] -luaDigitalState1 = bits, U32, 1276, [5:5] -luaDigitalState2 = bits, U32, 1276, [6:6] -luaDigitalState3 = bits, U32, 1276, [7:7] -clutchDownState = bits, U32, 1276, [8:8] -startStopStateToggleCounter = scalar, U32, 1280, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1284, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1288, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1292, "", 1, 0 -fuelInjectionCounter = scalar, U32, 1296, "", 1, 0 -globalSparkCounter = scalar, U32, 1300, "", 1, 0 -fuelingLoad = scalar, F32, 1304, "", 1, 0 -ignitionLoad = scalar, F32, 1308, "", 1, 0 -veTableYAxis = scalar, U16, 1312, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1314, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1315, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1316, "", 1, 0 -; total TS size = 1320 -tpsFrom = scalar, F32, 1320 -tpsTo = scalar, F32, 1324 -deltaTps = scalar, F32, 1328 -extraFuel = scalar, F32, 1332, "", 1, 0 -valueFromTable = scalar, F32, 1336, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1340, [0:0] -isBelowDecelThreshold = bits, U32, 1340, [1:1] -isTimeToResetAccumulator = bits, U32, 1340, [2:2] -isFractionalEnrichment = bits, U32, 1340, [3:3] -belowEpsilon = bits, U32, 1340, [4:4] -tooShort = bits, U32, 1340, [5:5] -fractionalInjFuel = scalar, F32, 1344, "", 1, 0 -accumulatedValue = scalar, F32, 1348, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1352, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1356, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1360, "", 1, 0 -cycleCnt = scalar, S32, 1364, "", 1, 0 -; total TS size = 1368 -hwEventCounters1 = scalar, U16, 1368, "", 1, 0 -hwEventCounters2 = scalar, U16, 1370, "", 1, 0 -hwEventCounters3 = scalar, U16, 1372, "", 1, 0 -hwEventCounters4 = scalar, U16, 1374, "", 1, 0 -vvtCamCounter = scalar, U16, 1376, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1380, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1384, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1388, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1389, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1392, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1396, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1400, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1404, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1408, [0:0] -triggerElapsedUs = scalar, U32, 1412, "", 1, 0 -; total TS size = 1416 -trgsynchronizationCounter = scalar, U32, 1416, "", 1, 0 -trgvvtToothDurations0 = scalar, U32, 1420, "us", 1, 0 -trgvvtCurrentPosition = scalar, F32, 1424, "", 1, 0 -trgvvtToothPosition1 = scalar, F32, 1428, "", 1, 0 -trgvvtToothPosition2 = scalar, F32, 1432, "", 1, 0 -trgvvtToothPosition3 = scalar, F32, 1436, "", 1, 0 -trgvvtToothPosition4 = scalar, F32, 1440, "", 1, 0 -trgtriggerSyncGapRatio = scalar, F32, 1444, "", 1, 0 -trgtriggerStateIndex = scalar, U08, 1448, "", 1, 0 -; total TS size = 1452 -vvt1isynchronizationCounter = scalar, U32, 1452, "", 1, 0 -vvt1ivvtToothDurations0 = scalar, U32, 1456, "us", 1, 0 -vvt1ivvtCurrentPosition = scalar, F32, 1460, "", 1, 0 -vvt1ivvtToothPosition1 = scalar, F32, 1464, "", 1, 0 -vvt1ivvtToothPosition2 = scalar, F32, 1468, "", 1, 0 -vvt1ivvtToothPosition3 = scalar, F32, 1472, "", 1, 0 -vvt1ivvtToothPosition4 = scalar, F32, 1476, "", 1, 0 -vvt1itriggerSyncGapRatio = scalar, F32, 1480, "", 1, 0 -vvt1itriggerStateIndex = scalar, U08, 1484, "", 1, 0 -; total TS size = 1488 -vvt1esynchronizationCounter = scalar, U32, 1488, "", 1, 0 -vvt1evvtToothDurations0 = scalar, U32, 1492, "us", 1, 0 -vvt1evvtCurrentPosition = scalar, F32, 1496, "", 1, 0 -vvt1evvtToothPosition1 = scalar, F32, 1500, "", 1, 0 -vvt1evvtToothPosition2 = scalar, F32, 1504, "", 1, 0 -vvt1evvtToothPosition3 = scalar, F32, 1508, "", 1, 0 -vvt1evvtToothPosition4 = scalar, F32, 1512, "", 1, 0 -vvt1etriggerSyncGapRatio = scalar, F32, 1516, "", 1, 0 -vvt1etriggerStateIndex = scalar, U08, 1520, "", 1, 0 -; total TS size = 1524 -vvt2isynchronizationCounter = scalar, U32, 1524, "", 1, 0 -vvt2ivvtToothDurations0 = scalar, U32, 1528, "us", 1, 0 -vvt2ivvtCurrentPosition = scalar, F32, 1532, "", 1, 0 -vvt2ivvtToothPosition1 = scalar, F32, 1536, "", 1, 0 -vvt2ivvtToothPosition2 = scalar, F32, 1540, "", 1, 0 -vvt2ivvtToothPosition3 = scalar, F32, 1544, "", 1, 0 -vvt2ivvtToothPosition4 = scalar, F32, 1548, "", 1, 0 -vvt2itriggerSyncGapRatio = scalar, F32, 1552, "", 1, 0 -vvt2itriggerStateIndex = scalar, U08, 1556, "", 1, 0 -; total TS size = 1560 -vvt2esynchronizationCounter = scalar, U32, 1560, "", 1, 0 -vvt2evvtToothDurations0 = scalar, U32, 1564, "us", 1, 0 -vvt2evvtCurrentPosition = scalar, F32, 1568, "", 1, 0 -vvt2evvtToothPosition1 = scalar, F32, 1572, "", 1, 0 -vvt2evvtToothPosition2 = scalar, F32, 1576, "", 1, 0 -vvt2evvtToothPosition3 = scalar, F32, 1580, "", 1, 0 -vvt2evvtToothPosition4 = scalar, F32, 1584, "", 1, 0 -vvt2etriggerSyncGapRatio = scalar, F32, 1588, "", 1, 0 -vvt2etriggerStateIndex = scalar, U08, 1592, "", 1, 0 -; total TS size = 1596 -camResyncCounter = scalar, U08, 1596, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1600, [0:0] -; total TS size = 1604 -wallFuelCorrection = scalar, F32, 1604, "", 1, 0 -wallFuel = scalar, F32, 1608, "", 1, 0 -; total TS size = 1612 -idleState = bits, S32, 1612, [0:2], "not important" -currentIdlePosition = scalar, F32, 1616 -baseIdlePosition = scalar, F32, 1620 -idleClosedLoop = scalar, F32, 1624 -iacByTpsTaper = scalar, F32, 1628 -mightResetPid = bits, U32, 1632, [0:0] -shouldResetPid = bits, U32, 1632, [1:1] -wasResetPid = bits, U32, 1632, [2:2] -mustResetPid = bits, U32, 1632, [3:3] -isCranking = bits, U32, 1632, [4:4] -isIacTableForCoasting = bits, U32, 1632, [5:5] -notIdling = bits, U32, 1632, [6:6] -needReset = bits, U32, 1632, [7:7] -isInDeadZone = bits, U32, 1632, [8:8] -isBlipping = bits, U32, 1632, [9:9] -useClosedLoop = bits, U32, 1632, [10:10] -badTps = bits, U32, 1632, [11:11] -looksLikeRunning = bits, U32, 1632, [12:12] -looksLikeCoasting = bits, U32, 1632, [13:13] -looksLikeCrankToIdle = bits, U32, 1632, [14:14] -isIdleCoasting = bits, U32, 1632, [15:15] -isIdleClosedLoop = bits, U32, 1632, [16:16] -idleTarget = scalar, S32, 1636, "", 1, 0 -targetRpmByClt = scalar, S32, 1640, "", 1, 0 -targetRpmAc = scalar, S32, 1644, "", 1, 0 -iacByRpmTaper = scalar, F32, 1648 -luaAdd = scalar, F32, 1652 -; total TS size = 1656 -etb1targetWithIdlePosition = scalar, F32, 1656, "%", 1,0 -etb1trim = scalar, F32, 1660, "", 1, 0 -etb1luaAdjustment = scalar, F32, 1664, "%", 1,0 -etb1m_wastegatePosition = scalar, F32, 1668, "%", 1,0 -etb1etbFeedForward = scalar, F32, 1672 -etb1etbIntegralError = scalar, F32, 1676, "", 1, 0 -etb1etbCurrentTarget = scalar, F32, 1680, "%", 1, 0 -etb1m_adjustedTarget = scalar, S16, 1684, "%", 0.01, 0 -etb1etbRevLimitActive = bits, U32, 1688, [0:0] -etb1jamDetected = bits, U32, 1688, [1:1] -etb1validPlantPosition = bits, U32, 1688, [2:2] -etb1etbTpsErrorCounter = scalar, U16, 1692, "count", 1,0 -etb1etbPpsErrorCounter = scalar, U16, 1694, "count", 1,0 -etb1etbErrorCode = scalar, S08, 1696, "", 1, 0 -etb1etbErrorCodeBlinker = scalar, S08, 1697, "", 1, 0 -etb1tcEtbDrop = scalar, S08, 1698, "%", 1, 0 -etb1jamTimer = scalar, U16, 1700, "sec", 0.01, 0 -etb1adjustedEtbTarget = scalar, S08, 1702, "%", 1, 0 -etb1state = scalar, U08, 1703, "", 1, 0 -; total TS size = 1704 -etb2targetWithIdlePosition = scalar, F32, 1704, "%", 1,0 -etb2trim = scalar, F32, 1708, "", 1, 0 -etb2luaAdjustment = scalar, F32, 1712, "%", 1,0 -etb2m_wastegatePosition = scalar, F32, 1716, "%", 1,0 -etb2etbFeedForward = scalar, F32, 1720 -etb2etbIntegralError = scalar, F32, 1724, "", 1, 0 -etb2etbCurrentTarget = scalar, F32, 1728, "%", 1, 0 -etb2m_adjustedTarget = scalar, S16, 1732, "%", 0.01, 0 -etb2etbRevLimitActive = bits, U32, 1736, [0:0] -etb2jamDetected = bits, U32, 1736, [1:1] -etb2validPlantPosition = bits, U32, 1736, [2:2] -etb2etbTpsErrorCounter = scalar, U16, 1740, "count", 1,0 -etb2etbPpsErrorCounter = scalar, U16, 1742, "count", 1,0 -etb2etbErrorCode = scalar, S08, 1744, "", 1, 0 -etb2etbErrorCodeBlinker = scalar, S08, 1745, "", 1, 0 -etb2tcEtbDrop = scalar, S08, 1746, "%", 1, 0 -etb2jamTimer = scalar, U16, 1748, "sec", 0.01, 0 -etb2adjustedEtbTarget = scalar, S08, 1750, "%", 1, 0 -etb2state = scalar, U08, 1751, "", 1, 0 -; total TS size = 1752 -wb1faultCode = scalar, U08, 1752, "", 1, 0 -wb1heaterDuty = scalar, U08, 1753, "%", 1, 0 -wb1pumpDuty = scalar, U08, 1754, "%", 1, 0 -wb1tempC = scalar, U16, 1756, "C", 1, 0 -wb1nernstVoltage = scalar, U16, 1758, "V", 0.001, 0 -wb1esr = scalar, U16, 1760, "ohm", 1, 0 -; total TS size = 1764 -wb2faultCode = scalar, U08, 1764, "", 1, 0 -wb2heaterDuty = scalar, U08, 1765, "%", 1, 0 -wb2pumpDuty = scalar, U08, 1766, "%", 1, 0 -wb2tempC = scalar, U16, 1768, "C", 1, 0 -wb2nernstVoltage = scalar, U16, 1770, "V", 0.001, 0 -wb2esr = scalar, U16, 1772, "ohm", 1, 0 -; total TS size = 1776 -dcOutput0 = scalar, F32, 1776, "%", 1,0 -isEnabled0_int = scalar, U08, 1780, "%", 1,0 -isEnabled0 = bits, U32, 1784, [0:0] -; total TS size = 1788 -value0 = scalar, U16, 1788, "RAW", 1,0 -value1 = scalar, U16, 1790, "RAW", 1,0 -errorRate = scalar, F32, 1792, "% (don't belive me)", 1,0 -; total TS size = 1796 -vvtTarget = scalar, U16, 1796, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1798, "%", 0.5, 0 +isBenchTest = bits, U32, 1228, [0:0] +hasIgnitionVoltage = bits, U32, 1228, [1:1] +mainRelayState = bits, U32, 1228, [2:2] +delayedShutoffRequested = bits, U32, 1228, [3:3] +; total TS size = 1232 +lua_fuelAdd = scalar, F32, 1232, "g", 1, 0 +lua_fuelMult = scalar, F32, 1236, "", 1, 0 +lua_clutchUpState = bits, U32, 1240, [0:0] +lua_brakePedalState = bits, U32, 1240, [1:1] +lua_acRequestState = bits, U32, 1240, [2:2] +lua_luaDisableEtb = bits, U32, 1240, [3:3] +lua_luaIgnCut = bits, U32, 1240, [4:4] +lua_luaFuelCut = bits, U32, 1240, [5:5] +lua_clutchDownState = bits, U32, 1240, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1240, [7:7] +lua_torqueReductionState = bits, U32, 1240, [8:8] +sd_tCharge = scalar, S16, 1244, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1248, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1252, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1256, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1260, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1264, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1268, "", 1, 0 +hellenBoardId = scalar, S16, 1272, "id", 1, 0 +clutchUpState = scalar, S08, 1274, "", 1, 0 +brakePedalState = scalar, S08, 1275, "", 1, 0 +startStopState = scalar, S08, 1276, "", 1, 0 +smartChipState = scalar, S08, 1277, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1278, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1279, "", 1, 0 +startStopPhysicalState = bits, U32, 1280, [0:0] +acrActive = bits, U32, 1280, [1:1] +acrEngineMovedRecently = bits, U32, 1280, [2:2] +heaterControlEnabled = bits, U32, 1280, [3:3] +luaDigitalState0 = bits, U32, 1280, [4:4] +luaDigitalState1 = bits, U32, 1280, [5:5] +luaDigitalState2 = bits, U32, 1280, [6:6] +luaDigitalState3 = bits, U32, 1280, [7:7] +clutchDownState = bits, U32, 1280, [8:8] +startStopStateToggleCounter = scalar, U32, 1284, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1288, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1292, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1296, "", 1, 0 +fuelInjectionCounter = scalar, U32, 1300, "", 1, 0 +globalSparkCounter = scalar, U32, 1304, "", 1, 0 +fuelingLoad = scalar, F32, 1308, "", 1, 0 +ignitionLoad = scalar, F32, 1312, "", 1, 0 +veTableYAxis = scalar, U16, 1316, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1318, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1319, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1320, "", 1, 0 +; total TS size = 1324 +tpsFrom = scalar, F32, 1324 +tpsTo = scalar, F32, 1328 +deltaTps = scalar, F32, 1332 +extraFuel = scalar, F32, 1336, "", 1, 0 +valueFromTable = scalar, F32, 1340, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1344, [0:0] +isBelowDecelThreshold = bits, U32, 1344, [1:1] +isTimeToResetAccumulator = bits, U32, 1344, [2:2] +isFractionalEnrichment = bits, U32, 1344, [3:3] +belowEpsilon = bits, U32, 1344, [4:4] +tooShort = bits, U32, 1344, [5:5] +fractionalInjFuel = scalar, F32, 1348, "", 1, 0 +accumulatedValue = scalar, F32, 1352, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1356, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1360, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1364, "", 1, 0 +cycleCnt = scalar, S32, 1368, "", 1, 0 +; total TS size = 1372 +hwEventCounters1 = scalar, U16, 1372, "", 1, 0 +hwEventCounters2 = scalar, U16, 1374, "", 1, 0 +hwEventCounters3 = scalar, U16, 1376, "", 1, 0 +hwEventCounters4 = scalar, U16, 1378, "", 1, 0 +vvtCamCounter = scalar, U16, 1380, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1384, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1388, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1392, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1393, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1396, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1400, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1404, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1408, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1412, [0:0] +triggerElapsedUs = scalar, U32, 1416, "", 1, 0 +; total TS size = 1420 +trgsynchronizationCounter = scalar, U32, 1420, "", 1, 0 +trgvvtToothDurations0 = scalar, U32, 1424, "us", 1, 0 +trgvvtCurrentPosition = scalar, F32, 1428, "", 1, 0 +trgvvtToothPosition1 = scalar, F32, 1432, "", 1, 0 +trgvvtToothPosition2 = scalar, F32, 1436, "", 1, 0 +trgvvtToothPosition3 = scalar, F32, 1440, "", 1, 0 +trgvvtToothPosition4 = scalar, F32, 1444, "", 1, 0 +trgtriggerSyncGapRatio = scalar, F32, 1448, "", 1, 0 +trgtriggerStateIndex = scalar, U08, 1452, "", 1, 0 +; total TS size = 1456 +vvt1isynchronizationCounter = scalar, U32, 1456, "", 1, 0 +vvt1ivvtToothDurations0 = scalar, U32, 1460, "us", 1, 0 +vvt1ivvtCurrentPosition = scalar, F32, 1464, "", 1, 0 +vvt1ivvtToothPosition1 = scalar, F32, 1468, "", 1, 0 +vvt1ivvtToothPosition2 = scalar, F32, 1472, "", 1, 0 +vvt1ivvtToothPosition3 = scalar, F32, 1476, "", 1, 0 +vvt1ivvtToothPosition4 = scalar, F32, 1480, "", 1, 0 +vvt1itriggerSyncGapRatio = scalar, F32, 1484, "", 1, 0 +vvt1itriggerStateIndex = scalar, U08, 1488, "", 1, 0 +; total TS size = 1492 +vvt1esynchronizationCounter = scalar, U32, 1492, "", 1, 0 +vvt1evvtToothDurations0 = scalar, U32, 1496, "us", 1, 0 +vvt1evvtCurrentPosition = scalar, F32, 1500, "", 1, 0 +vvt1evvtToothPosition1 = scalar, F32, 1504, "", 1, 0 +vvt1evvtToothPosition2 = scalar, F32, 1508, "", 1, 0 +vvt1evvtToothPosition3 = scalar, F32, 1512, "", 1, 0 +vvt1evvtToothPosition4 = scalar, F32, 1516, "", 1, 0 +vvt1etriggerSyncGapRatio = scalar, F32, 1520, "", 1, 0 +vvt1etriggerStateIndex = scalar, U08, 1524, "", 1, 0 +; total TS size = 1528 +vvt2isynchronizationCounter = scalar, U32, 1528, "", 1, 0 +vvt2ivvtToothDurations0 = scalar, U32, 1532, "us", 1, 0 +vvt2ivvtCurrentPosition = scalar, F32, 1536, "", 1, 0 +vvt2ivvtToothPosition1 = scalar, F32, 1540, "", 1, 0 +vvt2ivvtToothPosition2 = scalar, F32, 1544, "", 1, 0 +vvt2ivvtToothPosition3 = scalar, F32, 1548, "", 1, 0 +vvt2ivvtToothPosition4 = scalar, F32, 1552, "", 1, 0 +vvt2itriggerSyncGapRatio = scalar, F32, 1556, "", 1, 0 +vvt2itriggerStateIndex = scalar, U08, 1560, "", 1, 0 +; total TS size = 1564 +vvt2esynchronizationCounter = scalar, U32, 1564, "", 1, 0 +vvt2evvtToothDurations0 = scalar, U32, 1568, "us", 1, 0 +vvt2evvtCurrentPosition = scalar, F32, 1572, "", 1, 0 +vvt2evvtToothPosition1 = scalar, F32, 1576, "", 1, 0 +vvt2evvtToothPosition2 = scalar, F32, 1580, "", 1, 0 +vvt2evvtToothPosition3 = scalar, F32, 1584, "", 1, 0 +vvt2evvtToothPosition4 = scalar, F32, 1588, "", 1, 0 +vvt2etriggerSyncGapRatio = scalar, F32, 1592, "", 1, 0 +vvt2etriggerStateIndex = scalar, U08, 1596, "", 1, 0 +; total TS size = 1600 +camResyncCounter = scalar, U08, 1600, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1604, [0:0] +; total TS size = 1608 +wallFuelCorrection = scalar, F32, 1608, "", 1, 0 +wallFuel = scalar, F32, 1612, "", 1, 0 +; total TS size = 1616 +idleState = bits, S32, 1616, [0:2], "not important" +currentIdlePosition = scalar, F32, 1620 +baseIdlePosition = scalar, F32, 1624 +idleClosedLoop = scalar, F32, 1628 +iacByTpsTaper = scalar, F32, 1632 +mightResetPid = bits, U32, 1636, [0:0] +shouldResetPid = bits, U32, 1636, [1:1] +wasResetPid = bits, U32, 1636, [2:2] +mustResetPid = bits, U32, 1636, [3:3] +isCranking = bits, U32, 1636, [4:4] +isIacTableForCoasting = bits, U32, 1636, [5:5] +notIdling = bits, U32, 1636, [6:6] +needReset = bits, U32, 1636, [7:7] +isInDeadZone = bits, U32, 1636, [8:8] +isBlipping = bits, U32, 1636, [9:9] +useClosedLoop = bits, U32, 1636, [10:10] +badTps = bits, U32, 1636, [11:11] +looksLikeRunning = bits, U32, 1636, [12:12] +looksLikeCoasting = bits, U32, 1636, [13:13] +looksLikeCrankToIdle = bits, U32, 1636, [14:14] +isIdleCoasting = bits, U32, 1636, [15:15] +isIdleClosedLoop = bits, U32, 1636, [16:16] +idleTarget = scalar, S32, 1640, "", 1, 0 +targetRpmByClt = scalar, S32, 1644, "", 1, 0 +targetRpmAc = scalar, S32, 1648, "", 1, 0 +iacByRpmTaper = scalar, F32, 1652 +luaAdd = scalar, F32, 1656 +; total TS size = 1660 +etb1targetWithIdlePosition = scalar, F32, 1660, "%", 1,0 +etb1trim = scalar, F32, 1664, "", 1, 0 +etb1luaAdjustment = scalar, F32, 1668, "%", 1,0 +etb1m_wastegatePosition = scalar, F32, 1672, "%", 1,0 +etb1etbFeedForward = scalar, F32, 1676 +etb1etbIntegralError = scalar, F32, 1680, "", 1, 0 +etb1etbCurrentTarget = scalar, F32, 1684, "%", 1, 0 +etb1m_adjustedTarget = scalar, S16, 1688, "%", 0.01, 0 +etb1etbRevLimitActive = bits, U32, 1692, [0:0] +etb1jamDetected = bits, U32, 1692, [1:1] +etb1validPlantPosition = bits, U32, 1692, [2:2] +etb1etbTpsErrorCounter = scalar, U16, 1696, "count", 1,0 +etb1etbPpsErrorCounter = scalar, U16, 1698, "count", 1,0 +etb1etbErrorCode = scalar, S08, 1700, "", 1, 0 +etb1etbErrorCodeBlinker = scalar, S08, 1701, "", 1, 0 +etb1tcEtbDrop = scalar, S08, 1702, "%", 1, 0 +etb1jamTimer = scalar, U16, 1704, "sec", 0.01, 0 +etb1adjustedEtbTarget = scalar, S08, 1706, "%", 1, 0 +etb1state = scalar, U08, 1707, "", 1, 0 +; total TS size = 1708 +etb2targetWithIdlePosition = scalar, F32, 1708, "%", 1,0 +etb2trim = scalar, F32, 1712, "", 1, 0 +etb2luaAdjustment = scalar, F32, 1716, "%", 1,0 +etb2m_wastegatePosition = scalar, F32, 1720, "%", 1,0 +etb2etbFeedForward = scalar, F32, 1724 +etb2etbIntegralError = scalar, F32, 1728, "", 1, 0 +etb2etbCurrentTarget = scalar, F32, 1732, "%", 1, 0 +etb2m_adjustedTarget = scalar, S16, 1736, "%", 0.01, 0 +etb2etbRevLimitActive = bits, U32, 1740, [0:0] +etb2jamDetected = bits, U32, 1740, [1:1] +etb2validPlantPosition = bits, U32, 1740, [2:2] +etb2etbTpsErrorCounter = scalar, U16, 1744, "count", 1,0 +etb2etbPpsErrorCounter = scalar, U16, 1746, "count", 1,0 +etb2etbErrorCode = scalar, S08, 1748, "", 1, 0 +etb2etbErrorCodeBlinker = scalar, S08, 1749, "", 1, 0 +etb2tcEtbDrop = scalar, S08, 1750, "%", 1, 0 +etb2jamTimer = scalar, U16, 1752, "sec", 0.01, 0 +etb2adjustedEtbTarget = scalar, S08, 1754, "%", 1, 0 +etb2state = scalar, U08, 1755, "", 1, 0 +; total TS size = 1756 +wb1faultCode = scalar, U08, 1756, "", 1, 0 +wb1heaterDuty = scalar, U08, 1757, "%", 1, 0 +wb1pumpDuty = scalar, U08, 1758, "%", 1, 0 +wb1tempC = scalar, U16, 1760, "C", 1, 0 +wb1nernstVoltage = scalar, U16, 1762, "V", 0.001, 0 +wb1esr = scalar, U16, 1764, "ohm", 1, 0 +; total TS size = 1768 +wb2faultCode = scalar, U08, 1768, "", 1, 0 +wb2heaterDuty = scalar, U08, 1769, "%", 1, 0 +wb2pumpDuty = scalar, U08, 1770, "%", 1, 0 +wb2tempC = scalar, U16, 1772, "C", 1, 0 +wb2nernstVoltage = scalar, U16, 1774, "V", 0.001, 0 +wb2esr = scalar, U16, 1776, "ohm", 1, 0 +; total TS size = 1780 +dcOutput0 = scalar, F32, 1780, "%", 1,0 +isEnabled0_int = scalar, U08, 1784, "%", 1,0 +isEnabled0 = bits, U32, 1788, [0:0] +; total TS size = 1792 +value0 = scalar, U16, 1792, "RAW", 1,0 +value1 = scalar, U16, 1794, "RAW", 1,0 +errorRate = scalar, F32, 1796, "% (don't belive me)", 1,0 ; total TS size = 1800 -lambdaCurrentlyGood = bits, U32, 1800, [0:0] -lambdaMonitorCut = bits, U32, 1800, [1:1] -lambdaTimeSinceGood = scalar, U16, 1804, "sec", 0.01, 0 -; total TS size = 1808 +vvtTarget = scalar, U16, 1800, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1802, "%", 0.5, 0 +; total TS size = 1804 +lambdaCurrentlyGood = bits, U32, 1804, [0:0] +lambdaMonitorCut = bits, U32, 1804, [1:1] +lambdaTimeSinceGood = scalar, U16, 1808, "sec", 0.01, 0 +; total TS size = 1812 time = { timeNow } @@ -4595,6 +4598,12 @@ curve = rangeMatrix, "Range Switch Input Matrix" gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. upDownLabel = "(RICHER)", "(LEANER)" + table = trailingSparkTable, trailingSparkMap, "Trailing spark", 1 + xyLabels = "RPM", "Ignition Load" + xBins = trailingSparkRpmBins, RPMValue + yBins = trailingSparkLoadBins, ignitionLoad + zBins = trailingSparkTable + table = torqueTableTbl, torqueTableMap, "Engine Torque", 1 xBins = torqueRpmBins, RPMValue yBins = torqueLoadBins, veTableYAxis @@ -4892,6 +4901,7 @@ timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20 timingPidCorrectionGauge = timingPidCorrection,"Idle: Timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 +trailingSparkAngleGauge = trailingSparkAngle,"Ign: Trailing spark deg", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 gaugeCategory = "Boost Control" luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 @@ -5823,6 +5833,7 @@ entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" entry = luaIgnitionSkip, "Ign: Lua Spark Skip", int, "%d" +entry = trailingSparkAngle, "Ign: Trailing spark deg", float, "%.3f" entry = m_knockLevel, "Knock: Current level", float, "%.3f" entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" @@ -6792,6 +6803,7 @@ dialog = ignition_stateDialog, "ignition_state" graphLine = luaTimingAdd liveGraph = ignition_state_4_Graph, "Graph", South graphLine = luaTimingMult + graphLine = trailingSparkAngle dialog = knock_controllerDialog, "knock_controller" @@ -10080,11 +10092,11 @@ commandButton = "GM Gen5 SBC", cmd_set_engine_type_GM_SBC_GEN5 dialog = rotaryDialog, "Rotary" field = "Enable Trailing Sparks", enableTrailingSparks - field = "Trailing Spark Offset", trailingSparkAngle field = "Trailing Pin 1", trailingCoilPins1 field = "Trailing Pin 2", trailingCoilPins2 field = "Trailing Pin 3", trailingCoilPins3 field = "Trailing Pin 4", trailingCoilPins4 + panel = trailingSparkTable dialog = fancyHardwareDialog, "Board Control" field = "IAT/CLT Temperature Inputs Pull-Up", boardUseTempPullUp diff --git a/firmware/tunerstudio/generated/rusefi_alphax-8chan_f7.ini b/firmware/tunerstudio/generated/rusefi_alphax-8chan_f7.ini index 2e662db08c..359ac575cd 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.2025.02.07.alphax-8chan_f7.1320182774" + signature = "rusEFI master.2025.02.07.alphax-8chan_f7.3375623323" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2025.02.07.alphax-8chan_f7.1320182774" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2025.02.07.alphax-8chan_f7.3375623323" ; 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 @@ -101,7 +101,7 @@ enable2ndByteCanID = false ; CONFIG_DEFINITION_START ; this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt -pageSize = 25300 +pageSize = 25324 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",22="BMW_M52",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",21="ET_BOSCH_QUICK_START",24="ET_TEST_WITH_BOSCH_QUICK_START",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",41="FRANKENSO_MIATA_NA6_MAP",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",47="GM_LCV",55="GM_LTG",98="GM_SBC",49="GM_SBC_GEN5",8="GY6_139QMB",6="HARLEY",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",34="MAZDA_MIATA_NA6",80="MAZDA_MIATA_NA94",10="MAZDA_MIATA_NA96",83="MAZDA_MIATA_NB1",69="MAZDA_MIATA_NB2",86="MAZDA_MIATA_NB2_36",20="MAZDA_MIATA_NC",33="ME17_9_MISC",68="MERCEDES_M111",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",4="MRE_SECONDARY_CAN",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",35="POLARIS",9="POLARIS_RZR",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",27="PROTEUS_GM_LS_4",25="PROTEUS_LUA_DEMO",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",17="TCU_4R70W",100="TEST_100",101="TEST_101",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",93="TEST_ISSUE_6451",19="TEST_ROTARY",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",102="UNUSED102",67="UNUSED67",94="UNUSED94",65="UNUSED_65",97="UNUSED_97",77="VAG_5_CYL",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -245,7 +245,7 @@ vbattAdcChannel = bits, U08, 513, [0:5], $adc_channel_e_list fuelLevelSensor = bits, U08, 514, [0:5], $adc_channel_e_list tps2_1AdcChannel = bits, U08, 515, [0:5], $adc_channel_e_list idle_derivativeFilterLoss = scalar, F32, 516, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 520, "angle", 1, 0, 0, 720, 0 +unusedTrailingSparkAngle = scalar, S32, 520, "", 1, 0, 0, 100, 0 trigger_type = bits, U32, 524, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Daihatsu 3 cylinder", "Mazda SOHC 4", "60-2", "36-1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "Dodge Ram 1+16", "60-2 Wrong Polarity", "Benelli Tre", "Dodge Stratus", "36_2_2_2", "Nissan Primera", "dev 2JZ 3/34 simulator", "Rover K", "GM 24x 5 degree", "Honda CBR 600 Cam", "INVALID", "Honda CBR 600 custom", "3-1 skipped", "Dodge Neon 2003 crank", "Miata NB", "INVALID", "INVALID", "Subaru 7+6", "Jeep 18-2-2-2", "12crank/24cam", "Dodge Neon 1995 crank only", "Jeep XJ 4 cyl", "FiatIAQ_P8", "Mazda Z5", "INVALID", "Renix 44-2-2", "Renix 66-2-2-2", "Honda K 12+1", "INVALID", "36-2", "Subaru SVX", "Suzuki K6A", "Subaru 7 without 6", "INVALID", "INVALID", "GM 60-2-2-2", "Skoda Favorit", "Barra 3+1 Cam", "Kawa KX450F", "Nissan VQ35", "INVALID", "Nissan VQ30", "Nissan QR25", "INVALID", "Subaru SVX Crank 1", "Subaru SVX Cam VVT", "Ford PIP", "Suzuki G13B", "Honda K 4+1", "Nissan MR18 Crank", "32-2", "36-2-1", "36-2-1-1", "3-0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6-0", "Daihatsu 4 cylinder", "INVALID", "dev", "Nissan HR", "Arctic Cat", "HR12 in", "HONDA J30A2", "trg88", "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" trigger_customTotalToothCount = scalar, S32, 528, "number", 1, 0, 1, 300, 0 trigger_customSkippedToothCount = scalar, S32, 532, "number", 1, 0, 0, 300, 0 @@ -1799,18 +1799,21 @@ dynoCarCarMassKg = scalar, S16, 25284, "", 1, 0, 0, 32000, 0 dynoCarCargoMassKg = scalar, S16, 25286, "", 1, 0, 0, 32000, 0 dynoCarCoeffOfDrag = scalar, F32, 25288, "", 1, 0, 0, 100, 0 dynoCarFrontalAreaM2 = scalar, F32, 25292, "", 1, 0, 0, 100, 0 -boardUseTempPullUp = bits, U32, 25296, [0:0], "Piggyback Mode", "With Pull Ups" -boardUse2stepPullDown = bits, U32, 25296, [1:1], "With Pull Up", "With Pull Down" -boardUseD2PullDown = bits, U32, 25296, [2:2], "With Pull Up", "With Pull Down" -boardUseD3PullDown = bits, U32, 25296, [3:3], "With Pull Up", "With Pull Down" -boardUseCrankPullUp = bits, U32, 25296, [4:4], "VR", "Hall" -boardUseH1PullDown = bits, U32, 25296, [5:5], "With Pull Up", "With Pull Down" -boardUseH2PullDown = bits, U32, 25296, [6:6], "With Pull Up", "With Pull Down" -boardUseH3PullDown = bits, U32, 25296, [7:7], "With Pull Up", "With Pull Down" -boardUseH4PullDown = bits, U32, 25296, [8:8], "With Pull Up", "With Pull Down" -boardUseH5PullDown = bits, U32, 25296, [9:9], "With Pull Up", "With Pull Down" -boardUseFlexPullDown = bits, U32, 25296, [10:10], "With Pull Up", "With Pull Down" -; total TS size = 25300 +trailingSparkTable = array, S08, 25296, [4x4], "deg", 0.1, 0, 0, 20, 1 +trailingSparkRpmBins = array, U08, 25312, [4], "rpm", 50.0, 0, 0, 12000, 0 +trailingSparkLoadBins = array, U08, 25316, [4], "Load", 5.0, 0, 0, 1000, 0 +boardUseTempPullUp = bits, U32, 25320, [0:0], "Piggyback Mode", "With Pull Ups" +boardUse2stepPullDown = bits, U32, 25320, [1:1], "With Pull Up", "With Pull Down" +boardUseD2PullDown = bits, U32, 25320, [2:2], "With Pull Up", "With Pull Down" +boardUseD3PullDown = bits, U32, 25320, [3:3], "With Pull Up", "With Pull Down" +boardUseCrankPullUp = bits, U32, 25320, [4:4], "VR", "Hall" +boardUseH1PullDown = bits, U32, 25320, [5:5], "With Pull Up", "With Pull Down" +boardUseH2PullDown = bits, U32, 25320, [6:6], "With Pull Up", "With Pull Down" +boardUseH3PullDown = bits, U32, 25320, [7:7], "With Pull Up", "With Pull Down" +boardUseH4PullDown = bits, U32, 25320, [8:8], "With Pull Up", "With Pull Down" +boardUseH5PullDown = bits, U32, 25320, [9:9], "With Pull Up", "With Pull Down" +boardUseFlexPullDown = bits, U32, 25320, [10:10], "With Pull Up", "With Pull Down" +; total TS size = 25324 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1904,7 +1907,6 @@ boardUseFlexPullDown = bits, U32, 25296, [10:10], "With Pull Up", "With Pull Dow fuelLevelSensor = "This is the processor pin that your fuel level sensor in connected to. This is a non standard input so will need to be user defined." tps2_1AdcChannel = "Second throttle body position sensor, single channel so far" idle_derivativeFilterLoss = "0.1 is a good default value" - trailingSparkAngle = "just a temporary solution" trigger_type = "https://github.com/rusefi/rusefi/wiki/All-Supported-Triggers" airByRpmTaper = "Extra air taper amount" boostControlSafeDutyCycle = "Duty cycle to use in case of a sensor failure. This duty cycle should produce the minimum possible amount of boost. This duty is also used in case any of the minimum RPM/TPS/MAP conditions are not met." @@ -2678,7 +2680,7 @@ boardUseFlexPullDown = bits, U32, 25296, [10:10], "With Pull Up", "With Pull Dow ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1808 + ochBlockSize = 1812 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3203,417 +3205,418 @@ dwellVoltageCorrection = scalar, F32, 940, "", 1, 0 luaTimingAdd = scalar, F32, 944, "deg", 1, 0 luaTimingMult = scalar, F32, 948, "deg", 1, 0 luaIgnitionSkip = bits, U32, 952, [0:0] -; total TS size = 956 -m_knockLevel = scalar, F32, 956, "Volts", 1, 0 -m_knockCyl1 = scalar, S08, 960, "dBv", 1, 0 -m_knockCyl2 = scalar, S08, 961, "dBv", 1, 0 -m_knockCyl3 = scalar, S08, 962, "dBv", 1, 0 -m_knockCyl4 = scalar, S08, 963, "dBv", 1, 0 -m_knockCyl5 = scalar, S08, 964, "dBv", 1, 0 -m_knockCyl6 = scalar, S08, 965, "dBv", 1, 0 -m_knockCyl7 = scalar, S08, 966, "dBv", 1, 0 -m_knockCyl8 = scalar, S08, 967, "dBv", 1, 0 -m_knockCyl9 = scalar, S08, 968, "dBv", 1, 0 -m_knockCyl10 = scalar, S08, 969, "dBv", 1, 0 -m_knockCyl11 = scalar, S08, 970, "dBv", 1, 0 -m_knockCyl12 = scalar, S08, 971, "dBv", 1, 0 -m_knockRetard = scalar, F32, 972, "deg", 1,0 -m_knockThreshold = scalar, F32, 976, "", 1, 0 -m_knockCount = scalar, U32, 980, "", 1, 0 -m_maximumRetard = scalar, F32, 984, "", 1, 0 -m_knockSpectrum1 = scalar, U32, 988, "compressed data", 1, 0 -m_knockSpectrum2 = scalar, U32, 992, "compressed data", 1, 0 -m_knockSpectrum3 = scalar, U32, 996, "compressed data", 1, 0 -m_knockSpectrum4 = scalar, U32, 1000, "compressed data", 1, 0 -m_knockSpectrum5 = scalar, U32, 1004, "compressed data", 1, 0 -m_knockSpectrum6 = scalar, U32, 1008, "compressed data", 1, 0 -m_knockSpectrum7 = scalar, U32, 1012, "compressed data", 1, 0 -m_knockSpectrum8 = scalar, U32, 1016, "compressed data", 1, 0 -m_knockSpectrum9 = scalar, U32, 1020, "compressed data", 1, 0 -m_knockSpectrum10 = scalar, U32, 1024, "compressed data", 1, 0 -m_knockSpectrum11 = scalar, U32, 1028, "compressed data", 1, 0 -m_knockSpectrum12 = scalar, U32, 1032, "compressed data", 1, 0 -m_knockSpectrum13 = scalar, U32, 1036, "compressed data", 1, 0 -m_knockSpectrum14 = scalar, U32, 1040, "compressed data", 1, 0 -m_knockSpectrum15 = scalar, U32, 1044, "compressed data", 1, 0 -m_knockSpectrum16 = scalar, U32, 1048, "compressed data", 1, 0 -m_knockSpectrumChannelCyl = scalar, U16, 1052, "compressed N + N", 1, 0 -m_knockFrequencyStart = scalar, U16, 1054, "Hz", 1, 0 -m_knockFrequencyStep = scalar, F32, 1056, "Hz", 1, 0 -m_knockFuelTrimMultiplier = scalar, F32, 1060, "multiplier", 1, 0 -; total TS size = 1064 -m_isPriming = bits, U32, 1064, [0:0] +trailingSparkAngle = scalar, S16, 956, "deg", 0.01,0 +; total TS size = 960 +m_knockLevel = scalar, F32, 960, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 964, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 965, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 966, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 967, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 968, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 969, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 970, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 971, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 972, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 973, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 974, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 975, "dBv", 1, 0 +m_knockRetard = scalar, F32, 976, "deg", 1,0 +m_knockThreshold = scalar, F32, 980, "", 1, 0 +m_knockCount = scalar, U32, 984, "", 1, 0 +m_maximumRetard = scalar, F32, 988, "", 1, 0 +m_knockSpectrum1 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1040, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1044, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1048, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1052, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1056, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1058, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1060, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1064, "multiplier", 1, 0 ; total TS size = 1068 -tcuCurrentGear = scalar, S08, 1068, "gear", 1, 0 -tcRatio = scalar, U16, 1070, "value", 0.01, 0 -lastShiftTime = scalar, F32, 1072, "", 1, 0 -tcu_currentRange = scalar, U08, 1076, "", 1, 0 -pressureControlDuty = scalar, S08, 1077, "%", 1,0 -torqueConverterDuty = scalar, S08, 1078, "%", 1,0 -isShifting = bits, U32, 1080, [0:0] -; total TS size = 1084 -throttleUseWotModel = bits, U32, 1084, [0:0] -throttleModelCrossoverAngle = scalar, S16, 1088, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1092, "g/s", 1, 0 -; total TS size = 1096 -m_requested_pump = scalar, F32, 1096, "", 1, 0 -fuel_requested_percent = scalar, F32, 1100, "%", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1104, "", 1, 0 -noValve = bits, U32, 1108, [0:0] -angleAboveMin = bits, U32, 1108, [1:1] -isHpfpActive = bits, U32, 1108, [2:2] -HpfpValveState = bits, U32, 1108, [3:3] -m_pressureTarget_kPa = scalar, F32, 1112, "", 1, 0 -nextLobe = scalar, F32, 1116, "", 1, 0 -di_nextStart = scalar, F32, 1120, "v", 1, 0 -HpfdActivationPhase = scalar, F32, 1124, "", 1, 0 -HpfdDeactivationPhase = scalar, F32, 1128, "", 1, 0 -; total TS size = 1132 -m_deadtime = scalar, F32, 1132, "ms", 1, 0 -pressureDelta = scalar, F32, 1136, "kPa", 1, 0 -pressureRatio = scalar, F32, 1140, "", 1, 0 -; total TS size = 1144 -retardThresholdRpm = scalar, S32, 1144, "", 1, 0 -launchActivatePinState = bits, U32, 1148, [0:0] -isPreLaunchCondition = bits, U32, 1148, [1:1] -isLaunchCondition = bits, U32, 1148, [2:2] -isSwitchActivated = bits, U32, 1148, [3:3] -isClutchActivated = bits, U32, 1148, [4:4] -isBrakePedalActivated = bits, U32, 1148, [5:5] -isValidInputPin = bits, U32, 1148, [6:6] -activateSwitchCondition = bits, U32, 1148, [7:7] -rpmLaunchCondition = bits, U32, 1148, [8:8] -rpmPreLaunchCondition = bits, U32, 1148, [9:9] -speedCondition = bits, U32, 1148, [10:10] -tpsCondition = bits, U32, 1148, [11:11] -; total TS size = 1152 -isTorqueReductionTriggerPinValid = bits, U32, 1152, [0:0] -torqueReductionTriggerPinState = bits, U32, 1152, [1:1] -isTimeConditionSatisfied = bits, U32, 1152, [2:2] -isRpmConditionSatisfied = bits, U32, 1152, [3:3] -isAppConditionSatisfied = bits, U32, 1152, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1152, [5:5] +m_isPriming = bits, U32, 1068, [0:0] +; total TS size = 1072 +tcuCurrentGear = scalar, S08, 1072, "gear", 1, 0 +tcRatio = scalar, U16, 1074, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1076, "", 1, 0 +tcu_currentRange = scalar, U08, 1080, "", 1, 0 +pressureControlDuty = scalar, S08, 1081, "%", 1,0 +torqueConverterDuty = scalar, S08, 1082, "%", 1,0 +isShifting = bits, U32, 1084, [0:0] +; total TS size = 1088 +throttleUseWotModel = bits, U32, 1088, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1092, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1096, "g/s", 1, 0 +; total TS size = 1100 +m_requested_pump = scalar, F32, 1100, "", 1, 0 +fuel_requested_percent = scalar, F32, 1104, "%", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1108, "", 1, 0 +noValve = bits, U32, 1112, [0:0] +angleAboveMin = bits, U32, 1112, [1:1] +isHpfpActive = bits, U32, 1112, [2:2] +HpfpValveState = bits, U32, 1112, [3:3] +m_pressureTarget_kPa = scalar, F32, 1116, "", 1, 0 +nextLobe = scalar, F32, 1120, "", 1, 0 +di_nextStart = scalar, F32, 1124, "v", 1, 0 +HpfdActivationPhase = scalar, F32, 1128, "", 1, 0 +HpfdDeactivationPhase = scalar, F32, 1132, "", 1, 0 +; total TS size = 1136 +m_deadtime = scalar, F32, 1136, "ms", 1, 0 +pressureDelta = scalar, F32, 1140, "kPa", 1, 0 +pressureRatio = scalar, F32, 1144, "", 1, 0 +; total TS size = 1148 +retardThresholdRpm = scalar, S32, 1148, "", 1, 0 +launchActivatePinState = bits, U32, 1152, [0:0] +isPreLaunchCondition = bits, U32, 1152, [1:1] +isLaunchCondition = bits, U32, 1152, [2:2] +isSwitchActivated = bits, U32, 1152, [3:3] +isClutchActivated = bits, U32, 1152, [4:4] +isBrakePedalActivated = bits, U32, 1152, [5:5] +isValidInputPin = bits, U32, 1152, [6:6] +activateSwitchCondition = bits, U32, 1152, [7:7] +rpmLaunchCondition = bits, U32, 1152, [8:8] +rpmPreLaunchCondition = bits, U32, 1152, [9:9] +speedCondition = bits, U32, 1152, [10:10] +tpsCondition = bits, U32, 1152, [11:11] ; total TS size = 1156 -isAntilagCondition = bits, U32, 1156, [0:0] -ALSMinRPMCondition = bits, U32, 1156, [1:1] -ALSMaxRPMCondition = bits, U32, 1156, [2:2] -ALSMinCLTCondition = bits, U32, 1156, [3:3] -ALSMaxCLTCondition = bits, U32, 1156, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1156, [5:5] -isALSSwitchActivated = bits, U32, 1156, [6:6] -ALSActivatePinState = bits, U32, 1156, [7:7] -ALSSwitchCondition = bits, U32, 1156, [8:8] -ALSTimerCondition = bits, U32, 1156, [9:9] -fuelALSCorrection = scalar, F32, 1160, "", 1, 0 -timingALSCorrection = scalar, S16, 1164, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1166, "deg", 0.01, 0 -; total TS size = 1168 -isTpsInvalid = bits, U32, 1168, [0:0] -m_shouldResetPid = bits, U32, 1168, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1168, [2:2] -isNotClosedLoop = bits, U32, 1168, [3:3] -isZeroRpm = bits, U32, 1168, [4:4] -hasInitBoost = bits, U32, 1168, [5:5] -rpmTooLow = bits, U32, 1168, [6:6] -tpsTooLow = bits, U32, 1168, [7:7] -mapTooLow = bits, U32, 1168, [8:8] -isPlantValid = bits, U32, 1168, [9:9] -isBoostControlled = bits, U32, 1168, [10:10] -luaTargetAdd = scalar, S16, 1172, "v", 0.5,0 -boostOutput = scalar, S16, 1174, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1176, "v", 1,0 -openLoopPart = scalar, F32, 1180, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1184, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1188, "%", 0.5,0 -boostControlTarget = scalar, S16, 1190, "kPa", 0.03333333333333333,0 -; total TS size = 1192 -acButtonState = scalar, S08, 1192, "", 1, 0 -m_acEnabled = bits, U32, 1196, [0:0] -engineTooSlow = bits, U32, 1196, [1:1] -engineTooFast = bits, U32, 1196, [2:2] -noClt = bits, U32, 1196, [3:3] -engineTooHot = bits, U32, 1196, [4:4] -tpsTooHigh = bits, U32, 1196, [5:5] -isDisabledByLua = bits, U32, 1196, [6:6] -acCompressorState = bits, U32, 1196, [7:7] -acPressureTooLow = bits, U32, 1196, [8:8] -acPressureTooHigh = bits, U32, 1196, [9:9] -; total TS size = 1200 -isNitrousArmed = bits, U32, 1200, [0:0] -isNitrousSpeedCondition = bits, U32, 1200, [1:1] -isNitrousTpsCondition = bits, U32, 1200, [2:2] -isNitrousCltCondition = bits, U32, 1200, [3:3] -isNitrousMapCondition = bits, U32, 1200, [4:4] -isNitrousAfrCondition = bits, U32, 1200, [5:5] -isNitrousRpmCondition = bits, U32, 1200, [6:6] -isNitrousCondition = bits, U32, 1200, [7:7] +isTorqueReductionTriggerPinValid = bits, U32, 1156, [0:0] +torqueReductionTriggerPinState = bits, U32, 1156, [1:1] +isTimeConditionSatisfied = bits, U32, 1156, [2:2] +isRpmConditionSatisfied = bits, U32, 1156, [3:3] +isAppConditionSatisfied = bits, U32, 1156, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1156, [5:5] +; total TS size = 1160 +isAntilagCondition = bits, U32, 1160, [0:0] +ALSMinRPMCondition = bits, U32, 1160, [1:1] +ALSMaxRPMCondition = bits, U32, 1160, [2:2] +ALSMinCLTCondition = bits, U32, 1160, [3:3] +ALSMaxCLTCondition = bits, U32, 1160, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1160, [5:5] +isALSSwitchActivated = bits, U32, 1160, [6:6] +ALSActivatePinState = bits, U32, 1160, [7:7] +ALSSwitchCondition = bits, U32, 1160, [8:8] +ALSTimerCondition = bits, U32, 1160, [9:9] +fuelALSCorrection = scalar, F32, 1164, "", 1, 0 +timingALSCorrection = scalar, S16, 1168, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1170, "deg", 0.01, 0 +; total TS size = 1172 +isTpsInvalid = bits, U32, 1172, [0:0] +m_shouldResetPid = bits, U32, 1172, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1172, [2:2] +isNotClosedLoop = bits, U32, 1172, [3:3] +isZeroRpm = bits, U32, 1172, [4:4] +hasInitBoost = bits, U32, 1172, [5:5] +rpmTooLow = bits, U32, 1172, [6:6] +tpsTooLow = bits, U32, 1172, [7:7] +mapTooLow = bits, U32, 1172, [8:8] +isPlantValid = bits, U32, 1172, [9:9] +isBoostControlled = bits, U32, 1172, [10:10] +luaTargetAdd = scalar, S16, 1176, "v", 0.5,0 +boostOutput = scalar, S16, 1178, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1180, "v", 1,0 +openLoopPart = scalar, F32, 1184, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1188, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1192, "%", 0.5,0 +boostControlTarget = scalar, S16, 1194, "kPa", 0.03333333333333333,0 +; total TS size = 1196 +acButtonState = scalar, S08, 1196, "", 1, 0 +m_acEnabled = bits, U32, 1200, [0:0] +engineTooSlow = bits, U32, 1200, [1:1] +engineTooFast = bits, U32, 1200, [2:2] +noClt = bits, U32, 1200, [3:3] +engineTooHot = bits, U32, 1200, [4:4] +tpsTooHigh = bits, U32, 1200, [5:5] +isDisabledByLua = bits, U32, 1200, [6:6] +acCompressorState = bits, U32, 1200, [7:7] +acPressureTooLow = bits, U32, 1200, [8:8] +acPressureTooHigh = bits, U32, 1200, [9:9] ; total TS size = 1204 -fan1cranking = bits, U32, 1204, [0:0] -fan1notRunning = bits, U32, 1204, [1:1] -fan1disabledWhileEngineStopped = bits, U32, 1204, [2:2] -fan1brokenClt = bits, U32, 1204, [3:3] -fan1enabledForAc = bits, U32, 1204, [4:4] -fan1hot = bits, U32, 1204, [5:5] -fan1cold = bits, U32, 1204, [6:6] -fan1disabledBySpeed = bits, U32, 1204, [7:7] -fan1m_state = bits, U32, 1204, [8:8] -fan1radiatorFanStatus = scalar, U08, 1208, "", 1, 0 -; total TS size = 1212 -fan2cranking = bits, U32, 1212, [0:0] -fan2notRunning = bits, U32, 1212, [1:1] -fan2disabledWhileEngineStopped = bits, U32, 1212, [2:2] -fan2brokenClt = bits, U32, 1212, [3:3] -fan2enabledForAc = bits, U32, 1212, [4:4] -fan2hot = bits, U32, 1212, [5:5] -fan2cold = bits, U32, 1212, [6:6] -fan2disabledBySpeed = bits, U32, 1212, [7:7] -fan2m_state = bits, U32, 1212, [8:8] -fan2radiatorFanStatus = scalar, U08, 1216, "", 1, 0 -; total TS size = 1220 -isPrime = bits, U32, 1220, [0:0] -engineTurnedRecently = bits, U32, 1220, [1:1] -isFuelPumpOn = bits, U32, 1220, [2:2] -ignitionOn = bits, U32, 1220, [3:3] +isNitrousArmed = bits, U32, 1204, [0:0] +isNitrousSpeedCondition = bits, U32, 1204, [1:1] +isNitrousTpsCondition = bits, U32, 1204, [2:2] +isNitrousCltCondition = bits, U32, 1204, [3:3] +isNitrousMapCondition = bits, U32, 1204, [4:4] +isNitrousAfrCondition = bits, U32, 1204, [5:5] +isNitrousRpmCondition = bits, U32, 1204, [6:6] +isNitrousCondition = bits, U32, 1204, [7:7] +; total TS size = 1208 +fan1cranking = bits, U32, 1208, [0:0] +fan1notRunning = bits, U32, 1208, [1:1] +fan1disabledWhileEngineStopped = bits, U32, 1208, [2:2] +fan1brokenClt = bits, U32, 1208, [3:3] +fan1enabledForAc = bits, U32, 1208, [4:4] +fan1hot = bits, U32, 1208, [5:5] +fan1cold = bits, U32, 1208, [6:6] +fan1disabledBySpeed = bits, U32, 1208, [7:7] +fan1m_state = bits, U32, 1208, [8:8] +fan1radiatorFanStatus = scalar, U08, 1212, "", 1, 0 +; total TS size = 1216 +fan2cranking = bits, U32, 1216, [0:0] +fan2notRunning = bits, U32, 1216, [1:1] +fan2disabledWhileEngineStopped = bits, U32, 1216, [2:2] +fan2brokenClt = bits, U32, 1216, [3:3] +fan2enabledForAc = bits, U32, 1216, [4:4] +fan2hot = bits, U32, 1216, [5:5] +fan2cold = bits, U32, 1216, [6:6] +fan2disabledBySpeed = bits, U32, 1216, [7:7] +fan2m_state = bits, U32, 1216, [8:8] +fan2radiatorFanStatus = scalar, U08, 1220, "", 1, 0 ; total TS size = 1224 -isBenchTest = bits, U32, 1224, [0:0] -hasIgnitionVoltage = bits, U32, 1224, [1:1] -mainRelayState = bits, U32, 1224, [2:2] -delayedShutoffRequested = bits, U32, 1224, [3:3] +isPrime = bits, U32, 1224, [0:0] +engineTurnedRecently = bits, U32, 1224, [1:1] +isFuelPumpOn = bits, U32, 1224, [2:2] +ignitionOn = bits, U32, 1224, [3:3] ; total TS size = 1228 -lua_fuelAdd = scalar, F32, 1228, "g", 1, 0 -lua_fuelMult = scalar, F32, 1232, "", 1, 0 -lua_clutchUpState = bits, U32, 1236, [0:0] -lua_brakePedalState = bits, U32, 1236, [1:1] -lua_acRequestState = bits, U32, 1236, [2:2] -lua_luaDisableEtb = bits, U32, 1236, [3:3] -lua_luaIgnCut = bits, U32, 1236, [4:4] -lua_luaFuelCut = bits, U32, 1236, [5:5] -lua_clutchDownState = bits, U32, 1236, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1236, [7:7] -lua_torqueReductionState = bits, U32, 1236, [8:8] -sd_tCharge = scalar, S16, 1240, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1244, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1248, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1252, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1256, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1260, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1264, "", 1, 0 -hellenBoardId = scalar, S16, 1268, "id", 1, 0 -clutchUpState = scalar, S08, 1270, "", 1, 0 -brakePedalState = scalar, S08, 1271, "", 1, 0 -startStopState = scalar, S08, 1272, "", 1, 0 -smartChipState = scalar, S08, 1273, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1274, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1275, "", 1, 0 -startStopPhysicalState = bits, U32, 1276, [0:0] -acrActive = bits, U32, 1276, [1:1] -acrEngineMovedRecently = bits, U32, 1276, [2:2] -heaterControlEnabled = bits, U32, 1276, [3:3] -luaDigitalState0 = bits, U32, 1276, [4:4] -luaDigitalState1 = bits, U32, 1276, [5:5] -luaDigitalState2 = bits, U32, 1276, [6:6] -luaDigitalState3 = bits, U32, 1276, [7:7] -clutchDownState = bits, U32, 1276, [8:8] -startStopStateToggleCounter = scalar, U32, 1280, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1284, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1288, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1292, "", 1, 0 -fuelInjectionCounter = scalar, U32, 1296, "", 1, 0 -globalSparkCounter = scalar, U32, 1300, "", 1, 0 -fuelingLoad = scalar, F32, 1304, "", 1, 0 -ignitionLoad = scalar, F32, 1308, "", 1, 0 -veTableYAxis = scalar, U16, 1312, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1314, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1315, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1316, "", 1, 0 -; total TS size = 1320 -tpsFrom = scalar, F32, 1320 -tpsTo = scalar, F32, 1324 -deltaTps = scalar, F32, 1328 -extraFuel = scalar, F32, 1332, "", 1, 0 -valueFromTable = scalar, F32, 1336, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1340, [0:0] -isBelowDecelThreshold = bits, U32, 1340, [1:1] -isTimeToResetAccumulator = bits, U32, 1340, [2:2] -isFractionalEnrichment = bits, U32, 1340, [3:3] -belowEpsilon = bits, U32, 1340, [4:4] -tooShort = bits, U32, 1340, [5:5] -fractionalInjFuel = scalar, F32, 1344, "", 1, 0 -accumulatedValue = scalar, F32, 1348, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1352, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1356, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1360, "", 1, 0 -cycleCnt = scalar, S32, 1364, "", 1, 0 -; total TS size = 1368 -hwEventCounters1 = scalar, U16, 1368, "", 1, 0 -hwEventCounters2 = scalar, U16, 1370, "", 1, 0 -hwEventCounters3 = scalar, U16, 1372, "", 1, 0 -hwEventCounters4 = scalar, U16, 1374, "", 1, 0 -vvtCamCounter = scalar, U16, 1376, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1380, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1384, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1388, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1389, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1392, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1396, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1400, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1404, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1408, [0:0] -triggerElapsedUs = scalar, U32, 1412, "", 1, 0 -; total TS size = 1416 -trgsynchronizationCounter = scalar, U32, 1416, "", 1, 0 -trgvvtToothDurations0 = scalar, U32, 1420, "us", 1, 0 -trgvvtCurrentPosition = scalar, F32, 1424, "", 1, 0 -trgvvtToothPosition1 = scalar, F32, 1428, "", 1, 0 -trgvvtToothPosition2 = scalar, F32, 1432, "", 1, 0 -trgvvtToothPosition3 = scalar, F32, 1436, "", 1, 0 -trgvvtToothPosition4 = scalar, F32, 1440, "", 1, 0 -trgtriggerSyncGapRatio = scalar, F32, 1444, "", 1, 0 -trgtriggerStateIndex = scalar, U08, 1448, "", 1, 0 -; total TS size = 1452 -vvt1isynchronizationCounter = scalar, U32, 1452, "", 1, 0 -vvt1ivvtToothDurations0 = scalar, U32, 1456, "us", 1, 0 -vvt1ivvtCurrentPosition = scalar, F32, 1460, "", 1, 0 -vvt1ivvtToothPosition1 = scalar, F32, 1464, "", 1, 0 -vvt1ivvtToothPosition2 = scalar, F32, 1468, "", 1, 0 -vvt1ivvtToothPosition3 = scalar, F32, 1472, "", 1, 0 -vvt1ivvtToothPosition4 = scalar, F32, 1476, "", 1, 0 -vvt1itriggerSyncGapRatio = scalar, F32, 1480, "", 1, 0 -vvt1itriggerStateIndex = scalar, U08, 1484, "", 1, 0 -; total TS size = 1488 -vvt1esynchronizationCounter = scalar, U32, 1488, "", 1, 0 -vvt1evvtToothDurations0 = scalar, U32, 1492, "us", 1, 0 -vvt1evvtCurrentPosition = scalar, F32, 1496, "", 1, 0 -vvt1evvtToothPosition1 = scalar, F32, 1500, "", 1, 0 -vvt1evvtToothPosition2 = scalar, F32, 1504, "", 1, 0 -vvt1evvtToothPosition3 = scalar, F32, 1508, "", 1, 0 -vvt1evvtToothPosition4 = scalar, F32, 1512, "", 1, 0 -vvt1etriggerSyncGapRatio = scalar, F32, 1516, "", 1, 0 -vvt1etriggerStateIndex = scalar, U08, 1520, "", 1, 0 -; total TS size = 1524 -vvt2isynchronizationCounter = scalar, U32, 1524, "", 1, 0 -vvt2ivvtToothDurations0 = scalar, U32, 1528, "us", 1, 0 -vvt2ivvtCurrentPosition = scalar, F32, 1532, "", 1, 0 -vvt2ivvtToothPosition1 = scalar, F32, 1536, "", 1, 0 -vvt2ivvtToothPosition2 = scalar, F32, 1540, "", 1, 0 -vvt2ivvtToothPosition3 = scalar, F32, 1544, "", 1, 0 -vvt2ivvtToothPosition4 = scalar, F32, 1548, "", 1, 0 -vvt2itriggerSyncGapRatio = scalar, F32, 1552, "", 1, 0 -vvt2itriggerStateIndex = scalar, U08, 1556, "", 1, 0 -; total TS size = 1560 -vvt2esynchronizationCounter = scalar, U32, 1560, "", 1, 0 -vvt2evvtToothDurations0 = scalar, U32, 1564, "us", 1, 0 -vvt2evvtCurrentPosition = scalar, F32, 1568, "", 1, 0 -vvt2evvtToothPosition1 = scalar, F32, 1572, "", 1, 0 -vvt2evvtToothPosition2 = scalar, F32, 1576, "", 1, 0 -vvt2evvtToothPosition3 = scalar, F32, 1580, "", 1, 0 -vvt2evvtToothPosition4 = scalar, F32, 1584, "", 1, 0 -vvt2etriggerSyncGapRatio = scalar, F32, 1588, "", 1, 0 -vvt2etriggerStateIndex = scalar, U08, 1592, "", 1, 0 -; total TS size = 1596 -camResyncCounter = scalar, U08, 1596, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1600, [0:0] -; total TS size = 1604 -wallFuelCorrection = scalar, F32, 1604, "", 1, 0 -wallFuel = scalar, F32, 1608, "", 1, 0 -; total TS size = 1612 -idleState = bits, S32, 1612, [0:2], "not important" -currentIdlePosition = scalar, F32, 1616 -baseIdlePosition = scalar, F32, 1620 -idleClosedLoop = scalar, F32, 1624 -iacByTpsTaper = scalar, F32, 1628 -mightResetPid = bits, U32, 1632, [0:0] -shouldResetPid = bits, U32, 1632, [1:1] -wasResetPid = bits, U32, 1632, [2:2] -mustResetPid = bits, U32, 1632, [3:3] -isCranking = bits, U32, 1632, [4:4] -isIacTableForCoasting = bits, U32, 1632, [5:5] -notIdling = bits, U32, 1632, [6:6] -needReset = bits, U32, 1632, [7:7] -isInDeadZone = bits, U32, 1632, [8:8] -isBlipping = bits, U32, 1632, [9:9] -useClosedLoop = bits, U32, 1632, [10:10] -badTps = bits, U32, 1632, [11:11] -looksLikeRunning = bits, U32, 1632, [12:12] -looksLikeCoasting = bits, U32, 1632, [13:13] -looksLikeCrankToIdle = bits, U32, 1632, [14:14] -isIdleCoasting = bits, U32, 1632, [15:15] -isIdleClosedLoop = bits, U32, 1632, [16:16] -idleTarget = scalar, S32, 1636, "", 1, 0 -targetRpmByClt = scalar, S32, 1640, "", 1, 0 -targetRpmAc = scalar, S32, 1644, "", 1, 0 -iacByRpmTaper = scalar, F32, 1648 -luaAdd = scalar, F32, 1652 -; total TS size = 1656 -etb1targetWithIdlePosition = scalar, F32, 1656, "%", 1,0 -etb1trim = scalar, F32, 1660, "", 1, 0 -etb1luaAdjustment = scalar, F32, 1664, "%", 1,0 -etb1m_wastegatePosition = scalar, F32, 1668, "%", 1,0 -etb1etbFeedForward = scalar, F32, 1672 -etb1etbIntegralError = scalar, F32, 1676, "", 1, 0 -etb1etbCurrentTarget = scalar, F32, 1680, "%", 1, 0 -etb1m_adjustedTarget = scalar, S16, 1684, "%", 0.01, 0 -etb1etbRevLimitActive = bits, U32, 1688, [0:0] -etb1jamDetected = bits, U32, 1688, [1:1] -etb1validPlantPosition = bits, U32, 1688, [2:2] -etb1etbTpsErrorCounter = scalar, U16, 1692, "count", 1,0 -etb1etbPpsErrorCounter = scalar, U16, 1694, "count", 1,0 -etb1etbErrorCode = scalar, S08, 1696, "", 1, 0 -etb1etbErrorCodeBlinker = scalar, S08, 1697, "", 1, 0 -etb1tcEtbDrop = scalar, S08, 1698, "%", 1, 0 -etb1jamTimer = scalar, U16, 1700, "sec", 0.01, 0 -etb1adjustedEtbTarget = scalar, S08, 1702, "%", 1, 0 -etb1state = scalar, U08, 1703, "", 1, 0 -; total TS size = 1704 -etb2targetWithIdlePosition = scalar, F32, 1704, "%", 1,0 -etb2trim = scalar, F32, 1708, "", 1, 0 -etb2luaAdjustment = scalar, F32, 1712, "%", 1,0 -etb2m_wastegatePosition = scalar, F32, 1716, "%", 1,0 -etb2etbFeedForward = scalar, F32, 1720 -etb2etbIntegralError = scalar, F32, 1724, "", 1, 0 -etb2etbCurrentTarget = scalar, F32, 1728, "%", 1, 0 -etb2m_adjustedTarget = scalar, S16, 1732, "%", 0.01, 0 -etb2etbRevLimitActive = bits, U32, 1736, [0:0] -etb2jamDetected = bits, U32, 1736, [1:1] -etb2validPlantPosition = bits, U32, 1736, [2:2] -etb2etbTpsErrorCounter = scalar, U16, 1740, "count", 1,0 -etb2etbPpsErrorCounter = scalar, U16, 1742, "count", 1,0 -etb2etbErrorCode = scalar, S08, 1744, "", 1, 0 -etb2etbErrorCodeBlinker = scalar, S08, 1745, "", 1, 0 -etb2tcEtbDrop = scalar, S08, 1746, "%", 1, 0 -etb2jamTimer = scalar, U16, 1748, "sec", 0.01, 0 -etb2adjustedEtbTarget = scalar, S08, 1750, "%", 1, 0 -etb2state = scalar, U08, 1751, "", 1, 0 -; total TS size = 1752 -wb1faultCode = scalar, U08, 1752, "", 1, 0 -wb1heaterDuty = scalar, U08, 1753, "%", 1, 0 -wb1pumpDuty = scalar, U08, 1754, "%", 1, 0 -wb1tempC = scalar, U16, 1756, "C", 1, 0 -wb1nernstVoltage = scalar, U16, 1758, "V", 0.001, 0 -wb1esr = scalar, U16, 1760, "ohm", 1, 0 -; total TS size = 1764 -wb2faultCode = scalar, U08, 1764, "", 1, 0 -wb2heaterDuty = scalar, U08, 1765, "%", 1, 0 -wb2pumpDuty = scalar, U08, 1766, "%", 1, 0 -wb2tempC = scalar, U16, 1768, "C", 1, 0 -wb2nernstVoltage = scalar, U16, 1770, "V", 0.001, 0 -wb2esr = scalar, U16, 1772, "ohm", 1, 0 -; total TS size = 1776 -dcOutput0 = scalar, F32, 1776, "%", 1,0 -isEnabled0_int = scalar, U08, 1780, "%", 1,0 -isEnabled0 = bits, U32, 1784, [0:0] -; total TS size = 1788 -value0 = scalar, U16, 1788, "RAW", 1,0 -value1 = scalar, U16, 1790, "RAW", 1,0 -errorRate = scalar, F32, 1792, "% (don't belive me)", 1,0 -; total TS size = 1796 -vvtTarget = scalar, U16, 1796, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1798, "%", 0.5, 0 +isBenchTest = bits, U32, 1228, [0:0] +hasIgnitionVoltage = bits, U32, 1228, [1:1] +mainRelayState = bits, U32, 1228, [2:2] +delayedShutoffRequested = bits, U32, 1228, [3:3] +; total TS size = 1232 +lua_fuelAdd = scalar, F32, 1232, "g", 1, 0 +lua_fuelMult = scalar, F32, 1236, "", 1, 0 +lua_clutchUpState = bits, U32, 1240, [0:0] +lua_brakePedalState = bits, U32, 1240, [1:1] +lua_acRequestState = bits, U32, 1240, [2:2] +lua_luaDisableEtb = bits, U32, 1240, [3:3] +lua_luaIgnCut = bits, U32, 1240, [4:4] +lua_luaFuelCut = bits, U32, 1240, [5:5] +lua_clutchDownState = bits, U32, 1240, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1240, [7:7] +lua_torqueReductionState = bits, U32, 1240, [8:8] +sd_tCharge = scalar, S16, 1244, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1248, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1252, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1256, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1260, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1264, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1268, "", 1, 0 +hellenBoardId = scalar, S16, 1272, "id", 1, 0 +clutchUpState = scalar, S08, 1274, "", 1, 0 +brakePedalState = scalar, S08, 1275, "", 1, 0 +startStopState = scalar, S08, 1276, "", 1, 0 +smartChipState = scalar, S08, 1277, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1278, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1279, "", 1, 0 +startStopPhysicalState = bits, U32, 1280, [0:0] +acrActive = bits, U32, 1280, [1:1] +acrEngineMovedRecently = bits, U32, 1280, [2:2] +heaterControlEnabled = bits, U32, 1280, [3:3] +luaDigitalState0 = bits, U32, 1280, [4:4] +luaDigitalState1 = bits, U32, 1280, [5:5] +luaDigitalState2 = bits, U32, 1280, [6:6] +luaDigitalState3 = bits, U32, 1280, [7:7] +clutchDownState = bits, U32, 1280, [8:8] +startStopStateToggleCounter = scalar, U32, 1284, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1288, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1292, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1296, "", 1, 0 +fuelInjectionCounter = scalar, U32, 1300, "", 1, 0 +globalSparkCounter = scalar, U32, 1304, "", 1, 0 +fuelingLoad = scalar, F32, 1308, "", 1, 0 +ignitionLoad = scalar, F32, 1312, "", 1, 0 +veTableYAxis = scalar, U16, 1316, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1318, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1319, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1320, "", 1, 0 +; total TS size = 1324 +tpsFrom = scalar, F32, 1324 +tpsTo = scalar, F32, 1328 +deltaTps = scalar, F32, 1332 +extraFuel = scalar, F32, 1336, "", 1, 0 +valueFromTable = scalar, F32, 1340, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1344, [0:0] +isBelowDecelThreshold = bits, U32, 1344, [1:1] +isTimeToResetAccumulator = bits, U32, 1344, [2:2] +isFractionalEnrichment = bits, U32, 1344, [3:3] +belowEpsilon = bits, U32, 1344, [4:4] +tooShort = bits, U32, 1344, [5:5] +fractionalInjFuel = scalar, F32, 1348, "", 1, 0 +accumulatedValue = scalar, F32, 1352, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1356, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1360, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1364, "", 1, 0 +cycleCnt = scalar, S32, 1368, "", 1, 0 +; total TS size = 1372 +hwEventCounters1 = scalar, U16, 1372, "", 1, 0 +hwEventCounters2 = scalar, U16, 1374, "", 1, 0 +hwEventCounters3 = scalar, U16, 1376, "", 1, 0 +hwEventCounters4 = scalar, U16, 1378, "", 1, 0 +vvtCamCounter = scalar, U16, 1380, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1384, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1388, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1392, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1393, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1396, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1400, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1404, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1408, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1412, [0:0] +triggerElapsedUs = scalar, U32, 1416, "", 1, 0 +; total TS size = 1420 +trgsynchronizationCounter = scalar, U32, 1420, "", 1, 0 +trgvvtToothDurations0 = scalar, U32, 1424, "us", 1, 0 +trgvvtCurrentPosition = scalar, F32, 1428, "", 1, 0 +trgvvtToothPosition1 = scalar, F32, 1432, "", 1, 0 +trgvvtToothPosition2 = scalar, F32, 1436, "", 1, 0 +trgvvtToothPosition3 = scalar, F32, 1440, "", 1, 0 +trgvvtToothPosition4 = scalar, F32, 1444, "", 1, 0 +trgtriggerSyncGapRatio = scalar, F32, 1448, "", 1, 0 +trgtriggerStateIndex = scalar, U08, 1452, "", 1, 0 +; total TS size = 1456 +vvt1isynchronizationCounter = scalar, U32, 1456, "", 1, 0 +vvt1ivvtToothDurations0 = scalar, U32, 1460, "us", 1, 0 +vvt1ivvtCurrentPosition = scalar, F32, 1464, "", 1, 0 +vvt1ivvtToothPosition1 = scalar, F32, 1468, "", 1, 0 +vvt1ivvtToothPosition2 = scalar, F32, 1472, "", 1, 0 +vvt1ivvtToothPosition3 = scalar, F32, 1476, "", 1, 0 +vvt1ivvtToothPosition4 = scalar, F32, 1480, "", 1, 0 +vvt1itriggerSyncGapRatio = scalar, F32, 1484, "", 1, 0 +vvt1itriggerStateIndex = scalar, U08, 1488, "", 1, 0 +; total TS size = 1492 +vvt1esynchronizationCounter = scalar, U32, 1492, "", 1, 0 +vvt1evvtToothDurations0 = scalar, U32, 1496, "us", 1, 0 +vvt1evvtCurrentPosition = scalar, F32, 1500, "", 1, 0 +vvt1evvtToothPosition1 = scalar, F32, 1504, "", 1, 0 +vvt1evvtToothPosition2 = scalar, F32, 1508, "", 1, 0 +vvt1evvtToothPosition3 = scalar, F32, 1512, "", 1, 0 +vvt1evvtToothPosition4 = scalar, F32, 1516, "", 1, 0 +vvt1etriggerSyncGapRatio = scalar, F32, 1520, "", 1, 0 +vvt1etriggerStateIndex = scalar, U08, 1524, "", 1, 0 +; total TS size = 1528 +vvt2isynchronizationCounter = scalar, U32, 1528, "", 1, 0 +vvt2ivvtToothDurations0 = scalar, U32, 1532, "us", 1, 0 +vvt2ivvtCurrentPosition = scalar, F32, 1536, "", 1, 0 +vvt2ivvtToothPosition1 = scalar, F32, 1540, "", 1, 0 +vvt2ivvtToothPosition2 = scalar, F32, 1544, "", 1, 0 +vvt2ivvtToothPosition3 = scalar, F32, 1548, "", 1, 0 +vvt2ivvtToothPosition4 = scalar, F32, 1552, "", 1, 0 +vvt2itriggerSyncGapRatio = scalar, F32, 1556, "", 1, 0 +vvt2itriggerStateIndex = scalar, U08, 1560, "", 1, 0 +; total TS size = 1564 +vvt2esynchronizationCounter = scalar, U32, 1564, "", 1, 0 +vvt2evvtToothDurations0 = scalar, U32, 1568, "us", 1, 0 +vvt2evvtCurrentPosition = scalar, F32, 1572, "", 1, 0 +vvt2evvtToothPosition1 = scalar, F32, 1576, "", 1, 0 +vvt2evvtToothPosition2 = scalar, F32, 1580, "", 1, 0 +vvt2evvtToothPosition3 = scalar, F32, 1584, "", 1, 0 +vvt2evvtToothPosition4 = scalar, F32, 1588, "", 1, 0 +vvt2etriggerSyncGapRatio = scalar, F32, 1592, "", 1, 0 +vvt2etriggerStateIndex = scalar, U08, 1596, "", 1, 0 +; total TS size = 1600 +camResyncCounter = scalar, U08, 1600, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1604, [0:0] +; total TS size = 1608 +wallFuelCorrection = scalar, F32, 1608, "", 1, 0 +wallFuel = scalar, F32, 1612, "", 1, 0 +; total TS size = 1616 +idleState = bits, S32, 1616, [0:2], "not important" +currentIdlePosition = scalar, F32, 1620 +baseIdlePosition = scalar, F32, 1624 +idleClosedLoop = scalar, F32, 1628 +iacByTpsTaper = scalar, F32, 1632 +mightResetPid = bits, U32, 1636, [0:0] +shouldResetPid = bits, U32, 1636, [1:1] +wasResetPid = bits, U32, 1636, [2:2] +mustResetPid = bits, U32, 1636, [3:3] +isCranking = bits, U32, 1636, [4:4] +isIacTableForCoasting = bits, U32, 1636, [5:5] +notIdling = bits, U32, 1636, [6:6] +needReset = bits, U32, 1636, [7:7] +isInDeadZone = bits, U32, 1636, [8:8] +isBlipping = bits, U32, 1636, [9:9] +useClosedLoop = bits, U32, 1636, [10:10] +badTps = bits, U32, 1636, [11:11] +looksLikeRunning = bits, U32, 1636, [12:12] +looksLikeCoasting = bits, U32, 1636, [13:13] +looksLikeCrankToIdle = bits, U32, 1636, [14:14] +isIdleCoasting = bits, U32, 1636, [15:15] +isIdleClosedLoop = bits, U32, 1636, [16:16] +idleTarget = scalar, S32, 1640, "", 1, 0 +targetRpmByClt = scalar, S32, 1644, "", 1, 0 +targetRpmAc = scalar, S32, 1648, "", 1, 0 +iacByRpmTaper = scalar, F32, 1652 +luaAdd = scalar, F32, 1656 +; total TS size = 1660 +etb1targetWithIdlePosition = scalar, F32, 1660, "%", 1,0 +etb1trim = scalar, F32, 1664, "", 1, 0 +etb1luaAdjustment = scalar, F32, 1668, "%", 1,0 +etb1m_wastegatePosition = scalar, F32, 1672, "%", 1,0 +etb1etbFeedForward = scalar, F32, 1676 +etb1etbIntegralError = scalar, F32, 1680, "", 1, 0 +etb1etbCurrentTarget = scalar, F32, 1684, "%", 1, 0 +etb1m_adjustedTarget = scalar, S16, 1688, "%", 0.01, 0 +etb1etbRevLimitActive = bits, U32, 1692, [0:0] +etb1jamDetected = bits, U32, 1692, [1:1] +etb1validPlantPosition = bits, U32, 1692, [2:2] +etb1etbTpsErrorCounter = scalar, U16, 1696, "count", 1,0 +etb1etbPpsErrorCounter = scalar, U16, 1698, "count", 1,0 +etb1etbErrorCode = scalar, S08, 1700, "", 1, 0 +etb1etbErrorCodeBlinker = scalar, S08, 1701, "", 1, 0 +etb1tcEtbDrop = scalar, S08, 1702, "%", 1, 0 +etb1jamTimer = scalar, U16, 1704, "sec", 0.01, 0 +etb1adjustedEtbTarget = scalar, S08, 1706, "%", 1, 0 +etb1state = scalar, U08, 1707, "", 1, 0 +; total TS size = 1708 +etb2targetWithIdlePosition = scalar, F32, 1708, "%", 1,0 +etb2trim = scalar, F32, 1712, "", 1, 0 +etb2luaAdjustment = scalar, F32, 1716, "%", 1,0 +etb2m_wastegatePosition = scalar, F32, 1720, "%", 1,0 +etb2etbFeedForward = scalar, F32, 1724 +etb2etbIntegralError = scalar, F32, 1728, "", 1, 0 +etb2etbCurrentTarget = scalar, F32, 1732, "%", 1, 0 +etb2m_adjustedTarget = scalar, S16, 1736, "%", 0.01, 0 +etb2etbRevLimitActive = bits, U32, 1740, [0:0] +etb2jamDetected = bits, U32, 1740, [1:1] +etb2validPlantPosition = bits, U32, 1740, [2:2] +etb2etbTpsErrorCounter = scalar, U16, 1744, "count", 1,0 +etb2etbPpsErrorCounter = scalar, U16, 1746, "count", 1,0 +etb2etbErrorCode = scalar, S08, 1748, "", 1, 0 +etb2etbErrorCodeBlinker = scalar, S08, 1749, "", 1, 0 +etb2tcEtbDrop = scalar, S08, 1750, "%", 1, 0 +etb2jamTimer = scalar, U16, 1752, "sec", 0.01, 0 +etb2adjustedEtbTarget = scalar, S08, 1754, "%", 1, 0 +etb2state = scalar, U08, 1755, "", 1, 0 +; total TS size = 1756 +wb1faultCode = scalar, U08, 1756, "", 1, 0 +wb1heaterDuty = scalar, U08, 1757, "%", 1, 0 +wb1pumpDuty = scalar, U08, 1758, "%", 1, 0 +wb1tempC = scalar, U16, 1760, "C", 1, 0 +wb1nernstVoltage = scalar, U16, 1762, "V", 0.001, 0 +wb1esr = scalar, U16, 1764, "ohm", 1, 0 +; total TS size = 1768 +wb2faultCode = scalar, U08, 1768, "", 1, 0 +wb2heaterDuty = scalar, U08, 1769, "%", 1, 0 +wb2pumpDuty = scalar, U08, 1770, "%", 1, 0 +wb2tempC = scalar, U16, 1772, "C", 1, 0 +wb2nernstVoltage = scalar, U16, 1774, "V", 0.001, 0 +wb2esr = scalar, U16, 1776, "ohm", 1, 0 +; total TS size = 1780 +dcOutput0 = scalar, F32, 1780, "%", 1,0 +isEnabled0_int = scalar, U08, 1784, "%", 1,0 +isEnabled0 = bits, U32, 1788, [0:0] +; total TS size = 1792 +value0 = scalar, U16, 1792, "RAW", 1,0 +value1 = scalar, U16, 1794, "RAW", 1,0 +errorRate = scalar, F32, 1796, "% (don't belive me)", 1,0 ; total TS size = 1800 -lambdaCurrentlyGood = bits, U32, 1800, [0:0] -lambdaMonitorCut = bits, U32, 1800, [1:1] -lambdaTimeSinceGood = scalar, U16, 1804, "sec", 0.01, 0 -; total TS size = 1808 +vvtTarget = scalar, U16, 1800, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1802, "%", 0.5, 0 +; total TS size = 1804 +lambdaCurrentlyGood = bits, U32, 1804, [0:0] +lambdaMonitorCut = bits, U32, 1804, [1:1] +lambdaTimeSinceGood = scalar, U16, 1808, "sec", 0.01, 0 +; total TS size = 1812 time = { timeNow } @@ -4595,6 +4598,12 @@ curve = rangeMatrix, "Range Switch Input Matrix" gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. upDownLabel = "(RICHER)", "(LEANER)" + table = trailingSparkTable, trailingSparkMap, "Trailing spark", 1 + xyLabels = "RPM", "Ignition Load" + xBins = trailingSparkRpmBins, RPMValue + yBins = trailingSparkLoadBins, ignitionLoad + zBins = trailingSparkTable + table = torqueTableTbl, torqueTableMap, "Engine Torque", 1 xBins = torqueRpmBins, RPMValue yBins = torqueLoadBins, veTableYAxis @@ -4892,6 +4901,7 @@ timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20 timingPidCorrectionGauge = timingPidCorrection,"Idle: Timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 +trailingSparkAngleGauge = trailingSparkAngle,"Ign: Trailing spark deg", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 gaugeCategory = "Boost Control" luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 @@ -5823,6 +5833,7 @@ entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" entry = luaIgnitionSkip, "Ign: Lua Spark Skip", int, "%d" +entry = trailingSparkAngle, "Ign: Trailing spark deg", float, "%.3f" entry = m_knockLevel, "Knock: Current level", float, "%.3f" entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" @@ -6792,6 +6803,7 @@ dialog = ignition_stateDialog, "ignition_state" graphLine = luaTimingAdd liveGraph = ignition_state_4_Graph, "Graph", South graphLine = luaTimingMult + graphLine = trailingSparkAngle dialog = knock_controllerDialog, "knock_controller" @@ -10080,11 +10092,11 @@ commandButton = "GM Gen5 SBC", cmd_set_engine_type_GM_SBC_GEN5 dialog = rotaryDialog, "Rotary" field = "Enable Trailing Sparks", enableTrailingSparks - field = "Trailing Spark Offset", trailingSparkAngle field = "Trailing Pin 1", trailingCoilPins1 field = "Trailing Pin 2", trailingCoilPins2 field = "Trailing Pin 3", trailingCoilPins3 field = "Trailing Pin 4", trailingCoilPins4 + panel = trailingSparkTable dialog = fancyHardwareDialog, "Board Control" field = "IAT/CLT Temperature Inputs Pull-Up", boardUseTempPullUp diff --git a/firmware/tunerstudio/generated/rusefi_alphax-gold.ini b/firmware/tunerstudio/generated/rusefi_alphax-gold.ini index cd4485a7bd..15f40fbe4b 100644 --- a/firmware/tunerstudio/generated/rusefi_alphax-gold.ini +++ b/firmware/tunerstudio/generated/rusefi_alphax-gold.ini @@ -38,12 +38,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI master.2025.02.07.alphax-gold.2148321882" + signature = "rusEFI master.2025.02.07.alphax-gold.126829879" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2025.02.07.alphax-gold.2148321882" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2025.02.07.alphax-gold.126829879" ; 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 @@ -101,7 +101,7 @@ enable2ndByteCanID = false ; CONFIG_DEFINITION_START ; this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt -pageSize = 23280 +pageSize = 23304 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",22="BMW_M52",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",21="ET_BOSCH_QUICK_START",24="ET_TEST_WITH_BOSCH_QUICK_START",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",41="FRANKENSO_MIATA_NA6_MAP",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",47="GM_LCV",55="GM_LTG",98="GM_SBC",49="GM_SBC_GEN5",8="GY6_139QMB",6="HARLEY",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",34="MAZDA_MIATA_NA6",80="MAZDA_MIATA_NA94",10="MAZDA_MIATA_NA96",83="MAZDA_MIATA_NB1",69="MAZDA_MIATA_NB2",86="MAZDA_MIATA_NB2_36",20="MAZDA_MIATA_NC",33="ME17_9_MISC",68="MERCEDES_M111",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",4="MRE_SECONDARY_CAN",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",35="POLARIS",9="POLARIS_RZR",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",27="PROTEUS_GM_LS_4",25="PROTEUS_LUA_DEMO",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",17="TCU_4R70W",100="TEST_100",101="TEST_101",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",93="TEST_ISSUE_6451",19="TEST_ROTARY",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",102="UNUSED102",67="UNUSED67",94="UNUSED94",65="UNUSED_65",97="UNUSED_97",77="VAG_5_CYL",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -245,7 +245,7 @@ vbattAdcChannel = bits, U08, 513, [0:5], $adc_channel_e_list fuelLevelSensor = bits, U08, 514, [0:5], $adc_channel_e_list tps2_1AdcChannel = bits, U08, 515, [0:5], $adc_channel_e_list idle_derivativeFilterLoss = scalar, F32, 516, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 520, "angle", 1, 0, 0, 720, 0 +unusedTrailingSparkAngle = scalar, S32, 520, "", 1, 0, 0, 100, 0 trigger_type = bits, U32, 524, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Daihatsu 3 cylinder", "Mazda SOHC 4", "60-2", "36-1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "Dodge Ram 1+16", "60-2 Wrong Polarity", "Benelli Tre", "Dodge Stratus", "36_2_2_2", "Nissan Primera", "dev 2JZ 3/34 simulator", "Rover K", "GM 24x 5 degree", "Honda CBR 600 Cam", "INVALID", "Honda CBR 600 custom", "3-1 skipped", "Dodge Neon 2003 crank", "Miata NB", "INVALID", "INVALID", "Subaru 7+6", "Jeep 18-2-2-2", "12crank/24cam", "Dodge Neon 1995 crank only", "Jeep XJ 4 cyl", "FiatIAQ_P8", "Mazda Z5", "INVALID", "Renix 44-2-2", "Renix 66-2-2-2", "Honda K 12+1", "INVALID", "36-2", "Subaru SVX", "Suzuki K6A", "Subaru 7 without 6", "INVALID", "INVALID", "GM 60-2-2-2", "Skoda Favorit", "Barra 3+1 Cam", "Kawa KX450F", "Nissan VQ35", "INVALID", "Nissan VQ30", "Nissan QR25", "INVALID", "Subaru SVX Crank 1", "Subaru SVX Cam VVT", "Ford PIP", "Suzuki G13B", "Honda K 4+1", "Nissan MR18 Crank", "32-2", "36-2-1", "36-2-1-1", "3-0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6-0", "Daihatsu 4 cylinder", "INVALID", "dev", "Nissan HR", "Arctic Cat", "HR12 in", "HONDA J30A2", "trg88", "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" trigger_customTotalToothCount = scalar, S32, 528, "number", 1, 0, 1, 300, 0 trigger_customSkippedToothCount = scalar, S32, 532, "number", 1, 0, 0, 300, 0 @@ -1796,7 +1796,10 @@ dynoCarCarMassKg = scalar, S16, 23268, "", 1, 0, 0, 32000, 0 dynoCarCargoMassKg = scalar, S16, 23270, "", 1, 0, 0, 32000, 0 dynoCarCoeffOfDrag = scalar, F32, 23272, "", 1, 0, 0, 100, 0 dynoCarFrontalAreaM2 = scalar, F32, 23276, "", 1, 0, 0, 100, 0 -; total TS size = 23280 +trailingSparkTable = array, S08, 23280, [4x4], "deg", 0.1, 0, 0, 20, 1 +trailingSparkRpmBins = array, U08, 23296, [4], "rpm", 50.0, 0, 0, 12000, 0 +trailingSparkLoadBins = array, U08, 23300, [4], "Load", 5.0, 0, 0, 1000, 0 +; total TS size = 23304 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1890,7 +1893,6 @@ dynoCarFrontalAreaM2 = scalar, F32, 23276, "", 1, 0, 0, 100, 0 fuelLevelSensor = "This is the processor pin that your fuel level sensor in connected to. This is a non standard input so will need to be user defined." tps2_1AdcChannel = "Second throttle body position sensor, single channel so far" idle_derivativeFilterLoss = "0.1 is a good default value" - trailingSparkAngle = "just a temporary solution" trigger_type = "https://github.com/rusefi/rusefi/wiki/All-Supported-Triggers" airByRpmTaper = "Extra air taper amount" boostControlSafeDutyCycle = "Duty cycle to use in case of a sensor failure. This duty cycle should produce the minimum possible amount of boost. This duty is also used in case any of the minimum RPM/TPS/MAP conditions are not met." @@ -2664,7 +2666,7 @@ dynoCarFrontalAreaM2 = scalar, F32, 23276, "", 1, 0, 0, 100, 0 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1808 + ochBlockSize = 1812 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3189,417 +3191,418 @@ dwellVoltageCorrection = scalar, F32, 940, "", 1, 0 luaTimingAdd = scalar, F32, 944, "deg", 1, 0 luaTimingMult = scalar, F32, 948, "deg", 1, 0 luaIgnitionSkip = bits, U32, 952, [0:0] -; total TS size = 956 -m_knockLevel = scalar, F32, 956, "Volts", 1, 0 -m_knockCyl1 = scalar, S08, 960, "dBv", 1, 0 -m_knockCyl2 = scalar, S08, 961, "dBv", 1, 0 -m_knockCyl3 = scalar, S08, 962, "dBv", 1, 0 -m_knockCyl4 = scalar, S08, 963, "dBv", 1, 0 -m_knockCyl5 = scalar, S08, 964, "dBv", 1, 0 -m_knockCyl6 = scalar, S08, 965, "dBv", 1, 0 -m_knockCyl7 = scalar, S08, 966, "dBv", 1, 0 -m_knockCyl8 = scalar, S08, 967, "dBv", 1, 0 -m_knockCyl9 = scalar, S08, 968, "dBv", 1, 0 -m_knockCyl10 = scalar, S08, 969, "dBv", 1, 0 -m_knockCyl11 = scalar, S08, 970, "dBv", 1, 0 -m_knockCyl12 = scalar, S08, 971, "dBv", 1, 0 -m_knockRetard = scalar, F32, 972, "deg", 1,0 -m_knockThreshold = scalar, F32, 976, "", 1, 0 -m_knockCount = scalar, U32, 980, "", 1, 0 -m_maximumRetard = scalar, F32, 984, "", 1, 0 -m_knockSpectrum1 = scalar, U32, 988, "compressed data", 1, 0 -m_knockSpectrum2 = scalar, U32, 992, "compressed data", 1, 0 -m_knockSpectrum3 = scalar, U32, 996, "compressed data", 1, 0 -m_knockSpectrum4 = scalar, U32, 1000, "compressed data", 1, 0 -m_knockSpectrum5 = scalar, U32, 1004, "compressed data", 1, 0 -m_knockSpectrum6 = scalar, U32, 1008, "compressed data", 1, 0 -m_knockSpectrum7 = scalar, U32, 1012, "compressed data", 1, 0 -m_knockSpectrum8 = scalar, U32, 1016, "compressed data", 1, 0 -m_knockSpectrum9 = scalar, U32, 1020, "compressed data", 1, 0 -m_knockSpectrum10 = scalar, U32, 1024, "compressed data", 1, 0 -m_knockSpectrum11 = scalar, U32, 1028, "compressed data", 1, 0 -m_knockSpectrum12 = scalar, U32, 1032, "compressed data", 1, 0 -m_knockSpectrum13 = scalar, U32, 1036, "compressed data", 1, 0 -m_knockSpectrum14 = scalar, U32, 1040, "compressed data", 1, 0 -m_knockSpectrum15 = scalar, U32, 1044, "compressed data", 1, 0 -m_knockSpectrum16 = scalar, U32, 1048, "compressed data", 1, 0 -m_knockSpectrumChannelCyl = scalar, U16, 1052, "compressed N + N", 1, 0 -m_knockFrequencyStart = scalar, U16, 1054, "Hz", 1, 0 -m_knockFrequencyStep = scalar, F32, 1056, "Hz", 1, 0 -m_knockFuelTrimMultiplier = scalar, F32, 1060, "multiplier", 1, 0 -; total TS size = 1064 -m_isPriming = bits, U32, 1064, [0:0] +trailingSparkAngle = scalar, S16, 956, "deg", 0.01,0 +; total TS size = 960 +m_knockLevel = scalar, F32, 960, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 964, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 965, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 966, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 967, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 968, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 969, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 970, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 971, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 972, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 973, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 974, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 975, "dBv", 1, 0 +m_knockRetard = scalar, F32, 976, "deg", 1,0 +m_knockThreshold = scalar, F32, 980, "", 1, 0 +m_knockCount = scalar, U32, 984, "", 1, 0 +m_maximumRetard = scalar, F32, 988, "", 1, 0 +m_knockSpectrum1 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1040, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1044, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1048, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1052, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1056, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1058, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1060, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1064, "multiplier", 1, 0 ; total TS size = 1068 -tcuCurrentGear = scalar, S08, 1068, "gear", 1, 0 -tcRatio = scalar, U16, 1070, "value", 0.01, 0 -lastShiftTime = scalar, F32, 1072, "", 1, 0 -tcu_currentRange = scalar, U08, 1076, "", 1, 0 -pressureControlDuty = scalar, S08, 1077, "%", 1,0 -torqueConverterDuty = scalar, S08, 1078, "%", 1,0 -isShifting = bits, U32, 1080, [0:0] -; total TS size = 1084 -throttleUseWotModel = bits, U32, 1084, [0:0] -throttleModelCrossoverAngle = scalar, S16, 1088, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1092, "g/s", 1, 0 -; total TS size = 1096 -m_requested_pump = scalar, F32, 1096, "", 1, 0 -fuel_requested_percent = scalar, F32, 1100, "%", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1104, "", 1, 0 -noValve = bits, U32, 1108, [0:0] -angleAboveMin = bits, U32, 1108, [1:1] -isHpfpActive = bits, U32, 1108, [2:2] -HpfpValveState = bits, U32, 1108, [3:3] -m_pressureTarget_kPa = scalar, F32, 1112, "", 1, 0 -nextLobe = scalar, F32, 1116, "", 1, 0 -di_nextStart = scalar, F32, 1120, "v", 1, 0 -HpfdActivationPhase = scalar, F32, 1124, "", 1, 0 -HpfdDeactivationPhase = scalar, F32, 1128, "", 1, 0 -; total TS size = 1132 -m_deadtime = scalar, F32, 1132, "ms", 1, 0 -pressureDelta = scalar, F32, 1136, "kPa", 1, 0 -pressureRatio = scalar, F32, 1140, "", 1, 0 -; total TS size = 1144 -retardThresholdRpm = scalar, S32, 1144, "", 1, 0 -launchActivatePinState = bits, U32, 1148, [0:0] -isPreLaunchCondition = bits, U32, 1148, [1:1] -isLaunchCondition = bits, U32, 1148, [2:2] -isSwitchActivated = bits, U32, 1148, [3:3] -isClutchActivated = bits, U32, 1148, [4:4] -isBrakePedalActivated = bits, U32, 1148, [5:5] -isValidInputPin = bits, U32, 1148, [6:6] -activateSwitchCondition = bits, U32, 1148, [7:7] -rpmLaunchCondition = bits, U32, 1148, [8:8] -rpmPreLaunchCondition = bits, U32, 1148, [9:9] -speedCondition = bits, U32, 1148, [10:10] -tpsCondition = bits, U32, 1148, [11:11] -; total TS size = 1152 -isTorqueReductionTriggerPinValid = bits, U32, 1152, [0:0] -torqueReductionTriggerPinState = bits, U32, 1152, [1:1] -isTimeConditionSatisfied = bits, U32, 1152, [2:2] -isRpmConditionSatisfied = bits, U32, 1152, [3:3] -isAppConditionSatisfied = bits, U32, 1152, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1152, [5:5] +m_isPriming = bits, U32, 1068, [0:0] +; total TS size = 1072 +tcuCurrentGear = scalar, S08, 1072, "gear", 1, 0 +tcRatio = scalar, U16, 1074, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1076, "", 1, 0 +tcu_currentRange = scalar, U08, 1080, "", 1, 0 +pressureControlDuty = scalar, S08, 1081, "%", 1,0 +torqueConverterDuty = scalar, S08, 1082, "%", 1,0 +isShifting = bits, U32, 1084, [0:0] +; total TS size = 1088 +throttleUseWotModel = bits, U32, 1088, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1092, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1096, "g/s", 1, 0 +; total TS size = 1100 +m_requested_pump = scalar, F32, 1100, "", 1, 0 +fuel_requested_percent = scalar, F32, 1104, "%", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1108, "", 1, 0 +noValve = bits, U32, 1112, [0:0] +angleAboveMin = bits, U32, 1112, [1:1] +isHpfpActive = bits, U32, 1112, [2:2] +HpfpValveState = bits, U32, 1112, [3:3] +m_pressureTarget_kPa = scalar, F32, 1116, "", 1, 0 +nextLobe = scalar, F32, 1120, "", 1, 0 +di_nextStart = scalar, F32, 1124, "v", 1, 0 +HpfdActivationPhase = scalar, F32, 1128, "", 1, 0 +HpfdDeactivationPhase = scalar, F32, 1132, "", 1, 0 +; total TS size = 1136 +m_deadtime = scalar, F32, 1136, "ms", 1, 0 +pressureDelta = scalar, F32, 1140, "kPa", 1, 0 +pressureRatio = scalar, F32, 1144, "", 1, 0 +; total TS size = 1148 +retardThresholdRpm = scalar, S32, 1148, "", 1, 0 +launchActivatePinState = bits, U32, 1152, [0:0] +isPreLaunchCondition = bits, U32, 1152, [1:1] +isLaunchCondition = bits, U32, 1152, [2:2] +isSwitchActivated = bits, U32, 1152, [3:3] +isClutchActivated = bits, U32, 1152, [4:4] +isBrakePedalActivated = bits, U32, 1152, [5:5] +isValidInputPin = bits, U32, 1152, [6:6] +activateSwitchCondition = bits, U32, 1152, [7:7] +rpmLaunchCondition = bits, U32, 1152, [8:8] +rpmPreLaunchCondition = bits, U32, 1152, [9:9] +speedCondition = bits, U32, 1152, [10:10] +tpsCondition = bits, U32, 1152, [11:11] ; total TS size = 1156 -isAntilagCondition = bits, U32, 1156, [0:0] -ALSMinRPMCondition = bits, U32, 1156, [1:1] -ALSMaxRPMCondition = bits, U32, 1156, [2:2] -ALSMinCLTCondition = bits, U32, 1156, [3:3] -ALSMaxCLTCondition = bits, U32, 1156, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1156, [5:5] -isALSSwitchActivated = bits, U32, 1156, [6:6] -ALSActivatePinState = bits, U32, 1156, [7:7] -ALSSwitchCondition = bits, U32, 1156, [8:8] -ALSTimerCondition = bits, U32, 1156, [9:9] -fuelALSCorrection = scalar, F32, 1160, "", 1, 0 -timingALSCorrection = scalar, S16, 1164, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1166, "deg", 0.01, 0 -; total TS size = 1168 -isTpsInvalid = bits, U32, 1168, [0:0] -m_shouldResetPid = bits, U32, 1168, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1168, [2:2] -isNotClosedLoop = bits, U32, 1168, [3:3] -isZeroRpm = bits, U32, 1168, [4:4] -hasInitBoost = bits, U32, 1168, [5:5] -rpmTooLow = bits, U32, 1168, [6:6] -tpsTooLow = bits, U32, 1168, [7:7] -mapTooLow = bits, U32, 1168, [8:8] -isPlantValid = bits, U32, 1168, [9:9] -isBoostControlled = bits, U32, 1168, [10:10] -luaTargetAdd = scalar, S16, 1172, "v", 0.5,0 -boostOutput = scalar, S16, 1174, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1176, "v", 1,0 -openLoopPart = scalar, F32, 1180, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1184, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1188, "%", 0.5,0 -boostControlTarget = scalar, S16, 1190, "kPa", 0.03333333333333333,0 -; total TS size = 1192 -acButtonState = scalar, S08, 1192, "", 1, 0 -m_acEnabled = bits, U32, 1196, [0:0] -engineTooSlow = bits, U32, 1196, [1:1] -engineTooFast = bits, U32, 1196, [2:2] -noClt = bits, U32, 1196, [3:3] -engineTooHot = bits, U32, 1196, [4:4] -tpsTooHigh = bits, U32, 1196, [5:5] -isDisabledByLua = bits, U32, 1196, [6:6] -acCompressorState = bits, U32, 1196, [7:7] -acPressureTooLow = bits, U32, 1196, [8:8] -acPressureTooHigh = bits, U32, 1196, [9:9] -; total TS size = 1200 -isNitrousArmed = bits, U32, 1200, [0:0] -isNitrousSpeedCondition = bits, U32, 1200, [1:1] -isNitrousTpsCondition = bits, U32, 1200, [2:2] -isNitrousCltCondition = bits, U32, 1200, [3:3] -isNitrousMapCondition = bits, U32, 1200, [4:4] -isNitrousAfrCondition = bits, U32, 1200, [5:5] -isNitrousRpmCondition = bits, U32, 1200, [6:6] -isNitrousCondition = bits, U32, 1200, [7:7] +isTorqueReductionTriggerPinValid = bits, U32, 1156, [0:0] +torqueReductionTriggerPinState = bits, U32, 1156, [1:1] +isTimeConditionSatisfied = bits, U32, 1156, [2:2] +isRpmConditionSatisfied = bits, U32, 1156, [3:3] +isAppConditionSatisfied = bits, U32, 1156, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1156, [5:5] +; total TS size = 1160 +isAntilagCondition = bits, U32, 1160, [0:0] +ALSMinRPMCondition = bits, U32, 1160, [1:1] +ALSMaxRPMCondition = bits, U32, 1160, [2:2] +ALSMinCLTCondition = bits, U32, 1160, [3:3] +ALSMaxCLTCondition = bits, U32, 1160, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1160, [5:5] +isALSSwitchActivated = bits, U32, 1160, [6:6] +ALSActivatePinState = bits, U32, 1160, [7:7] +ALSSwitchCondition = bits, U32, 1160, [8:8] +ALSTimerCondition = bits, U32, 1160, [9:9] +fuelALSCorrection = scalar, F32, 1164, "", 1, 0 +timingALSCorrection = scalar, S16, 1168, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1170, "deg", 0.01, 0 +; total TS size = 1172 +isTpsInvalid = bits, U32, 1172, [0:0] +m_shouldResetPid = bits, U32, 1172, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1172, [2:2] +isNotClosedLoop = bits, U32, 1172, [3:3] +isZeroRpm = bits, U32, 1172, [4:4] +hasInitBoost = bits, U32, 1172, [5:5] +rpmTooLow = bits, U32, 1172, [6:6] +tpsTooLow = bits, U32, 1172, [7:7] +mapTooLow = bits, U32, 1172, [8:8] +isPlantValid = bits, U32, 1172, [9:9] +isBoostControlled = bits, U32, 1172, [10:10] +luaTargetAdd = scalar, S16, 1176, "v", 0.5,0 +boostOutput = scalar, S16, 1178, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1180, "v", 1,0 +openLoopPart = scalar, F32, 1184, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1188, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1192, "%", 0.5,0 +boostControlTarget = scalar, S16, 1194, "kPa", 0.03333333333333333,0 +; total TS size = 1196 +acButtonState = scalar, S08, 1196, "", 1, 0 +m_acEnabled = bits, U32, 1200, [0:0] +engineTooSlow = bits, U32, 1200, [1:1] +engineTooFast = bits, U32, 1200, [2:2] +noClt = bits, U32, 1200, [3:3] +engineTooHot = bits, U32, 1200, [4:4] +tpsTooHigh = bits, U32, 1200, [5:5] +isDisabledByLua = bits, U32, 1200, [6:6] +acCompressorState = bits, U32, 1200, [7:7] +acPressureTooLow = bits, U32, 1200, [8:8] +acPressureTooHigh = bits, U32, 1200, [9:9] ; total TS size = 1204 -fan1cranking = bits, U32, 1204, [0:0] -fan1notRunning = bits, U32, 1204, [1:1] -fan1disabledWhileEngineStopped = bits, U32, 1204, [2:2] -fan1brokenClt = bits, U32, 1204, [3:3] -fan1enabledForAc = bits, U32, 1204, [4:4] -fan1hot = bits, U32, 1204, [5:5] -fan1cold = bits, U32, 1204, [6:6] -fan1disabledBySpeed = bits, U32, 1204, [7:7] -fan1m_state = bits, U32, 1204, [8:8] -fan1radiatorFanStatus = scalar, U08, 1208, "", 1, 0 -; total TS size = 1212 -fan2cranking = bits, U32, 1212, [0:0] -fan2notRunning = bits, U32, 1212, [1:1] -fan2disabledWhileEngineStopped = bits, U32, 1212, [2:2] -fan2brokenClt = bits, U32, 1212, [3:3] -fan2enabledForAc = bits, U32, 1212, [4:4] -fan2hot = bits, U32, 1212, [5:5] -fan2cold = bits, U32, 1212, [6:6] -fan2disabledBySpeed = bits, U32, 1212, [7:7] -fan2m_state = bits, U32, 1212, [8:8] -fan2radiatorFanStatus = scalar, U08, 1216, "", 1, 0 -; total TS size = 1220 -isPrime = bits, U32, 1220, [0:0] -engineTurnedRecently = bits, U32, 1220, [1:1] -isFuelPumpOn = bits, U32, 1220, [2:2] -ignitionOn = bits, U32, 1220, [3:3] +isNitrousArmed = bits, U32, 1204, [0:0] +isNitrousSpeedCondition = bits, U32, 1204, [1:1] +isNitrousTpsCondition = bits, U32, 1204, [2:2] +isNitrousCltCondition = bits, U32, 1204, [3:3] +isNitrousMapCondition = bits, U32, 1204, [4:4] +isNitrousAfrCondition = bits, U32, 1204, [5:5] +isNitrousRpmCondition = bits, U32, 1204, [6:6] +isNitrousCondition = bits, U32, 1204, [7:7] +; total TS size = 1208 +fan1cranking = bits, U32, 1208, [0:0] +fan1notRunning = bits, U32, 1208, [1:1] +fan1disabledWhileEngineStopped = bits, U32, 1208, [2:2] +fan1brokenClt = bits, U32, 1208, [3:3] +fan1enabledForAc = bits, U32, 1208, [4:4] +fan1hot = bits, U32, 1208, [5:5] +fan1cold = bits, U32, 1208, [6:6] +fan1disabledBySpeed = bits, U32, 1208, [7:7] +fan1m_state = bits, U32, 1208, [8:8] +fan1radiatorFanStatus = scalar, U08, 1212, "", 1, 0 +; total TS size = 1216 +fan2cranking = bits, U32, 1216, [0:0] +fan2notRunning = bits, U32, 1216, [1:1] +fan2disabledWhileEngineStopped = bits, U32, 1216, [2:2] +fan2brokenClt = bits, U32, 1216, [3:3] +fan2enabledForAc = bits, U32, 1216, [4:4] +fan2hot = bits, U32, 1216, [5:5] +fan2cold = bits, U32, 1216, [6:6] +fan2disabledBySpeed = bits, U32, 1216, [7:7] +fan2m_state = bits, U32, 1216, [8:8] +fan2radiatorFanStatus = scalar, U08, 1220, "", 1, 0 ; total TS size = 1224 -isBenchTest = bits, U32, 1224, [0:0] -hasIgnitionVoltage = bits, U32, 1224, [1:1] -mainRelayState = bits, U32, 1224, [2:2] -delayedShutoffRequested = bits, U32, 1224, [3:3] +isPrime = bits, U32, 1224, [0:0] +engineTurnedRecently = bits, U32, 1224, [1:1] +isFuelPumpOn = bits, U32, 1224, [2:2] +ignitionOn = bits, U32, 1224, [3:3] ; total TS size = 1228 -lua_fuelAdd = scalar, F32, 1228, "g", 1, 0 -lua_fuelMult = scalar, F32, 1232, "", 1, 0 -lua_clutchUpState = bits, U32, 1236, [0:0] -lua_brakePedalState = bits, U32, 1236, [1:1] -lua_acRequestState = bits, U32, 1236, [2:2] -lua_luaDisableEtb = bits, U32, 1236, [3:3] -lua_luaIgnCut = bits, U32, 1236, [4:4] -lua_luaFuelCut = bits, U32, 1236, [5:5] -lua_clutchDownState = bits, U32, 1236, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1236, [7:7] -lua_torqueReductionState = bits, U32, 1236, [8:8] -sd_tCharge = scalar, S16, 1240, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1244, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1248, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1252, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1256, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1260, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1264, "", 1, 0 -hellenBoardId = scalar, S16, 1268, "id", 1, 0 -clutchUpState = scalar, S08, 1270, "", 1, 0 -brakePedalState = scalar, S08, 1271, "", 1, 0 -startStopState = scalar, S08, 1272, "", 1, 0 -smartChipState = scalar, S08, 1273, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1274, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1275, "", 1, 0 -startStopPhysicalState = bits, U32, 1276, [0:0] -acrActive = bits, U32, 1276, [1:1] -acrEngineMovedRecently = bits, U32, 1276, [2:2] -heaterControlEnabled = bits, U32, 1276, [3:3] -luaDigitalState0 = bits, U32, 1276, [4:4] -luaDigitalState1 = bits, U32, 1276, [5:5] -luaDigitalState2 = bits, U32, 1276, [6:6] -luaDigitalState3 = bits, U32, 1276, [7:7] -clutchDownState = bits, U32, 1276, [8:8] -startStopStateToggleCounter = scalar, U32, 1280, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1284, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1288, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1292, "", 1, 0 -fuelInjectionCounter = scalar, U32, 1296, "", 1, 0 -globalSparkCounter = scalar, U32, 1300, "", 1, 0 -fuelingLoad = scalar, F32, 1304, "", 1, 0 -ignitionLoad = scalar, F32, 1308, "", 1, 0 -veTableYAxis = scalar, U16, 1312, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1314, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1315, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1316, "", 1, 0 -; total TS size = 1320 -tpsFrom = scalar, F32, 1320 -tpsTo = scalar, F32, 1324 -deltaTps = scalar, F32, 1328 -extraFuel = scalar, F32, 1332, "", 1, 0 -valueFromTable = scalar, F32, 1336, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1340, [0:0] -isBelowDecelThreshold = bits, U32, 1340, [1:1] -isTimeToResetAccumulator = bits, U32, 1340, [2:2] -isFractionalEnrichment = bits, U32, 1340, [3:3] -belowEpsilon = bits, U32, 1340, [4:4] -tooShort = bits, U32, 1340, [5:5] -fractionalInjFuel = scalar, F32, 1344, "", 1, 0 -accumulatedValue = scalar, F32, 1348, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1352, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1356, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1360, "", 1, 0 -cycleCnt = scalar, S32, 1364, "", 1, 0 -; total TS size = 1368 -hwEventCounters1 = scalar, U16, 1368, "", 1, 0 -hwEventCounters2 = scalar, U16, 1370, "", 1, 0 -hwEventCounters3 = scalar, U16, 1372, "", 1, 0 -hwEventCounters4 = scalar, U16, 1374, "", 1, 0 -vvtCamCounter = scalar, U16, 1376, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1380, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1384, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1388, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1389, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1392, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1396, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1400, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1404, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1408, [0:0] -triggerElapsedUs = scalar, U32, 1412, "", 1, 0 -; total TS size = 1416 -trgsynchronizationCounter = scalar, U32, 1416, "", 1, 0 -trgvvtToothDurations0 = scalar, U32, 1420, "us", 1, 0 -trgvvtCurrentPosition = scalar, F32, 1424, "", 1, 0 -trgvvtToothPosition1 = scalar, F32, 1428, "", 1, 0 -trgvvtToothPosition2 = scalar, F32, 1432, "", 1, 0 -trgvvtToothPosition3 = scalar, F32, 1436, "", 1, 0 -trgvvtToothPosition4 = scalar, F32, 1440, "", 1, 0 -trgtriggerSyncGapRatio = scalar, F32, 1444, "", 1, 0 -trgtriggerStateIndex = scalar, U08, 1448, "", 1, 0 -; total TS size = 1452 -vvt1isynchronizationCounter = scalar, U32, 1452, "", 1, 0 -vvt1ivvtToothDurations0 = scalar, U32, 1456, "us", 1, 0 -vvt1ivvtCurrentPosition = scalar, F32, 1460, "", 1, 0 -vvt1ivvtToothPosition1 = scalar, F32, 1464, "", 1, 0 -vvt1ivvtToothPosition2 = scalar, F32, 1468, "", 1, 0 -vvt1ivvtToothPosition3 = scalar, F32, 1472, "", 1, 0 -vvt1ivvtToothPosition4 = scalar, F32, 1476, "", 1, 0 -vvt1itriggerSyncGapRatio = scalar, F32, 1480, "", 1, 0 -vvt1itriggerStateIndex = scalar, U08, 1484, "", 1, 0 -; total TS size = 1488 -vvt1esynchronizationCounter = scalar, U32, 1488, "", 1, 0 -vvt1evvtToothDurations0 = scalar, U32, 1492, "us", 1, 0 -vvt1evvtCurrentPosition = scalar, F32, 1496, "", 1, 0 -vvt1evvtToothPosition1 = scalar, F32, 1500, "", 1, 0 -vvt1evvtToothPosition2 = scalar, F32, 1504, "", 1, 0 -vvt1evvtToothPosition3 = scalar, F32, 1508, "", 1, 0 -vvt1evvtToothPosition4 = scalar, F32, 1512, "", 1, 0 -vvt1etriggerSyncGapRatio = scalar, F32, 1516, "", 1, 0 -vvt1etriggerStateIndex = scalar, U08, 1520, "", 1, 0 -; total TS size = 1524 -vvt2isynchronizationCounter = scalar, U32, 1524, "", 1, 0 -vvt2ivvtToothDurations0 = scalar, U32, 1528, "us", 1, 0 -vvt2ivvtCurrentPosition = scalar, F32, 1532, "", 1, 0 -vvt2ivvtToothPosition1 = scalar, F32, 1536, "", 1, 0 -vvt2ivvtToothPosition2 = scalar, F32, 1540, "", 1, 0 -vvt2ivvtToothPosition3 = scalar, F32, 1544, "", 1, 0 -vvt2ivvtToothPosition4 = scalar, F32, 1548, "", 1, 0 -vvt2itriggerSyncGapRatio = scalar, F32, 1552, "", 1, 0 -vvt2itriggerStateIndex = scalar, U08, 1556, "", 1, 0 -; total TS size = 1560 -vvt2esynchronizationCounter = scalar, U32, 1560, "", 1, 0 -vvt2evvtToothDurations0 = scalar, U32, 1564, "us", 1, 0 -vvt2evvtCurrentPosition = scalar, F32, 1568, "", 1, 0 -vvt2evvtToothPosition1 = scalar, F32, 1572, "", 1, 0 -vvt2evvtToothPosition2 = scalar, F32, 1576, "", 1, 0 -vvt2evvtToothPosition3 = scalar, F32, 1580, "", 1, 0 -vvt2evvtToothPosition4 = scalar, F32, 1584, "", 1, 0 -vvt2etriggerSyncGapRatio = scalar, F32, 1588, "", 1, 0 -vvt2etriggerStateIndex = scalar, U08, 1592, "", 1, 0 -; total TS size = 1596 -camResyncCounter = scalar, U08, 1596, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1600, [0:0] -; total TS size = 1604 -wallFuelCorrection = scalar, F32, 1604, "", 1, 0 -wallFuel = scalar, F32, 1608, "", 1, 0 -; total TS size = 1612 -idleState = bits, S32, 1612, [0:2], "not important" -currentIdlePosition = scalar, F32, 1616 -baseIdlePosition = scalar, F32, 1620 -idleClosedLoop = scalar, F32, 1624 -iacByTpsTaper = scalar, F32, 1628 -mightResetPid = bits, U32, 1632, [0:0] -shouldResetPid = bits, U32, 1632, [1:1] -wasResetPid = bits, U32, 1632, [2:2] -mustResetPid = bits, U32, 1632, [3:3] -isCranking = bits, U32, 1632, [4:4] -isIacTableForCoasting = bits, U32, 1632, [5:5] -notIdling = bits, U32, 1632, [6:6] -needReset = bits, U32, 1632, [7:7] -isInDeadZone = bits, U32, 1632, [8:8] -isBlipping = bits, U32, 1632, [9:9] -useClosedLoop = bits, U32, 1632, [10:10] -badTps = bits, U32, 1632, [11:11] -looksLikeRunning = bits, U32, 1632, [12:12] -looksLikeCoasting = bits, U32, 1632, [13:13] -looksLikeCrankToIdle = bits, U32, 1632, [14:14] -isIdleCoasting = bits, U32, 1632, [15:15] -isIdleClosedLoop = bits, U32, 1632, [16:16] -idleTarget = scalar, S32, 1636, "", 1, 0 -targetRpmByClt = scalar, S32, 1640, "", 1, 0 -targetRpmAc = scalar, S32, 1644, "", 1, 0 -iacByRpmTaper = scalar, F32, 1648 -luaAdd = scalar, F32, 1652 -; total TS size = 1656 -etb1targetWithIdlePosition = scalar, F32, 1656, "%", 1,0 -etb1trim = scalar, F32, 1660, "", 1, 0 -etb1luaAdjustment = scalar, F32, 1664, "%", 1,0 -etb1m_wastegatePosition = scalar, F32, 1668, "%", 1,0 -etb1etbFeedForward = scalar, F32, 1672 -etb1etbIntegralError = scalar, F32, 1676, "", 1, 0 -etb1etbCurrentTarget = scalar, F32, 1680, "%", 1, 0 -etb1m_adjustedTarget = scalar, S16, 1684, "%", 0.01, 0 -etb1etbRevLimitActive = bits, U32, 1688, [0:0] -etb1jamDetected = bits, U32, 1688, [1:1] -etb1validPlantPosition = bits, U32, 1688, [2:2] -etb1etbTpsErrorCounter = scalar, U16, 1692, "count", 1,0 -etb1etbPpsErrorCounter = scalar, U16, 1694, "count", 1,0 -etb1etbErrorCode = scalar, S08, 1696, "", 1, 0 -etb1etbErrorCodeBlinker = scalar, S08, 1697, "", 1, 0 -etb1tcEtbDrop = scalar, S08, 1698, "%", 1, 0 -etb1jamTimer = scalar, U16, 1700, "sec", 0.01, 0 -etb1adjustedEtbTarget = scalar, S08, 1702, "%", 1, 0 -etb1state = scalar, U08, 1703, "", 1, 0 -; total TS size = 1704 -etb2targetWithIdlePosition = scalar, F32, 1704, "%", 1,0 -etb2trim = scalar, F32, 1708, "", 1, 0 -etb2luaAdjustment = scalar, F32, 1712, "%", 1,0 -etb2m_wastegatePosition = scalar, F32, 1716, "%", 1,0 -etb2etbFeedForward = scalar, F32, 1720 -etb2etbIntegralError = scalar, F32, 1724, "", 1, 0 -etb2etbCurrentTarget = scalar, F32, 1728, "%", 1, 0 -etb2m_adjustedTarget = scalar, S16, 1732, "%", 0.01, 0 -etb2etbRevLimitActive = bits, U32, 1736, [0:0] -etb2jamDetected = bits, U32, 1736, [1:1] -etb2validPlantPosition = bits, U32, 1736, [2:2] -etb2etbTpsErrorCounter = scalar, U16, 1740, "count", 1,0 -etb2etbPpsErrorCounter = scalar, U16, 1742, "count", 1,0 -etb2etbErrorCode = scalar, S08, 1744, "", 1, 0 -etb2etbErrorCodeBlinker = scalar, S08, 1745, "", 1, 0 -etb2tcEtbDrop = scalar, S08, 1746, "%", 1, 0 -etb2jamTimer = scalar, U16, 1748, "sec", 0.01, 0 -etb2adjustedEtbTarget = scalar, S08, 1750, "%", 1, 0 -etb2state = scalar, U08, 1751, "", 1, 0 -; total TS size = 1752 -wb1faultCode = scalar, U08, 1752, "", 1, 0 -wb1heaterDuty = scalar, U08, 1753, "%", 1, 0 -wb1pumpDuty = scalar, U08, 1754, "%", 1, 0 -wb1tempC = scalar, U16, 1756, "C", 1, 0 -wb1nernstVoltage = scalar, U16, 1758, "V", 0.001, 0 -wb1esr = scalar, U16, 1760, "ohm", 1, 0 -; total TS size = 1764 -wb2faultCode = scalar, U08, 1764, "", 1, 0 -wb2heaterDuty = scalar, U08, 1765, "%", 1, 0 -wb2pumpDuty = scalar, U08, 1766, "%", 1, 0 -wb2tempC = scalar, U16, 1768, "C", 1, 0 -wb2nernstVoltage = scalar, U16, 1770, "V", 0.001, 0 -wb2esr = scalar, U16, 1772, "ohm", 1, 0 -; total TS size = 1776 -dcOutput0 = scalar, F32, 1776, "%", 1,0 -isEnabled0_int = scalar, U08, 1780, "%", 1,0 -isEnabled0 = bits, U32, 1784, [0:0] -; total TS size = 1788 -value0 = scalar, U16, 1788, "RAW", 1,0 -value1 = scalar, U16, 1790, "RAW", 1,0 -errorRate = scalar, F32, 1792, "% (don't belive me)", 1,0 -; total TS size = 1796 -vvtTarget = scalar, U16, 1796, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1798, "%", 0.5, 0 +isBenchTest = bits, U32, 1228, [0:0] +hasIgnitionVoltage = bits, U32, 1228, [1:1] +mainRelayState = bits, U32, 1228, [2:2] +delayedShutoffRequested = bits, U32, 1228, [3:3] +; total TS size = 1232 +lua_fuelAdd = scalar, F32, 1232, "g", 1, 0 +lua_fuelMult = scalar, F32, 1236, "", 1, 0 +lua_clutchUpState = bits, U32, 1240, [0:0] +lua_brakePedalState = bits, U32, 1240, [1:1] +lua_acRequestState = bits, U32, 1240, [2:2] +lua_luaDisableEtb = bits, U32, 1240, [3:3] +lua_luaIgnCut = bits, U32, 1240, [4:4] +lua_luaFuelCut = bits, U32, 1240, [5:5] +lua_clutchDownState = bits, U32, 1240, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1240, [7:7] +lua_torqueReductionState = bits, U32, 1240, [8:8] +sd_tCharge = scalar, S16, 1244, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1248, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1252, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1256, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1260, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1264, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1268, "", 1, 0 +hellenBoardId = scalar, S16, 1272, "id", 1, 0 +clutchUpState = scalar, S08, 1274, "", 1, 0 +brakePedalState = scalar, S08, 1275, "", 1, 0 +startStopState = scalar, S08, 1276, "", 1, 0 +smartChipState = scalar, S08, 1277, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1278, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1279, "", 1, 0 +startStopPhysicalState = bits, U32, 1280, [0:0] +acrActive = bits, U32, 1280, [1:1] +acrEngineMovedRecently = bits, U32, 1280, [2:2] +heaterControlEnabled = bits, U32, 1280, [3:3] +luaDigitalState0 = bits, U32, 1280, [4:4] +luaDigitalState1 = bits, U32, 1280, [5:5] +luaDigitalState2 = bits, U32, 1280, [6:6] +luaDigitalState3 = bits, U32, 1280, [7:7] +clutchDownState = bits, U32, 1280, [8:8] +startStopStateToggleCounter = scalar, U32, 1284, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1288, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1292, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1296, "", 1, 0 +fuelInjectionCounter = scalar, U32, 1300, "", 1, 0 +globalSparkCounter = scalar, U32, 1304, "", 1, 0 +fuelingLoad = scalar, F32, 1308, "", 1, 0 +ignitionLoad = scalar, F32, 1312, "", 1, 0 +veTableYAxis = scalar, U16, 1316, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1318, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1319, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1320, "", 1, 0 +; total TS size = 1324 +tpsFrom = scalar, F32, 1324 +tpsTo = scalar, F32, 1328 +deltaTps = scalar, F32, 1332 +extraFuel = scalar, F32, 1336, "", 1, 0 +valueFromTable = scalar, F32, 1340, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1344, [0:0] +isBelowDecelThreshold = bits, U32, 1344, [1:1] +isTimeToResetAccumulator = bits, U32, 1344, [2:2] +isFractionalEnrichment = bits, U32, 1344, [3:3] +belowEpsilon = bits, U32, 1344, [4:4] +tooShort = bits, U32, 1344, [5:5] +fractionalInjFuel = scalar, F32, 1348, "", 1, 0 +accumulatedValue = scalar, F32, 1352, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1356, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1360, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1364, "", 1, 0 +cycleCnt = scalar, S32, 1368, "", 1, 0 +; total TS size = 1372 +hwEventCounters1 = scalar, U16, 1372, "", 1, 0 +hwEventCounters2 = scalar, U16, 1374, "", 1, 0 +hwEventCounters3 = scalar, U16, 1376, "", 1, 0 +hwEventCounters4 = scalar, U16, 1378, "", 1, 0 +vvtCamCounter = scalar, U16, 1380, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1384, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1388, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1392, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1393, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1396, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1400, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1404, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1408, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1412, [0:0] +triggerElapsedUs = scalar, U32, 1416, "", 1, 0 +; total TS size = 1420 +trgsynchronizationCounter = scalar, U32, 1420, "", 1, 0 +trgvvtToothDurations0 = scalar, U32, 1424, "us", 1, 0 +trgvvtCurrentPosition = scalar, F32, 1428, "", 1, 0 +trgvvtToothPosition1 = scalar, F32, 1432, "", 1, 0 +trgvvtToothPosition2 = scalar, F32, 1436, "", 1, 0 +trgvvtToothPosition3 = scalar, F32, 1440, "", 1, 0 +trgvvtToothPosition4 = scalar, F32, 1444, "", 1, 0 +trgtriggerSyncGapRatio = scalar, F32, 1448, "", 1, 0 +trgtriggerStateIndex = scalar, U08, 1452, "", 1, 0 +; total TS size = 1456 +vvt1isynchronizationCounter = scalar, U32, 1456, "", 1, 0 +vvt1ivvtToothDurations0 = scalar, U32, 1460, "us", 1, 0 +vvt1ivvtCurrentPosition = scalar, F32, 1464, "", 1, 0 +vvt1ivvtToothPosition1 = scalar, F32, 1468, "", 1, 0 +vvt1ivvtToothPosition2 = scalar, F32, 1472, "", 1, 0 +vvt1ivvtToothPosition3 = scalar, F32, 1476, "", 1, 0 +vvt1ivvtToothPosition4 = scalar, F32, 1480, "", 1, 0 +vvt1itriggerSyncGapRatio = scalar, F32, 1484, "", 1, 0 +vvt1itriggerStateIndex = scalar, U08, 1488, "", 1, 0 +; total TS size = 1492 +vvt1esynchronizationCounter = scalar, U32, 1492, "", 1, 0 +vvt1evvtToothDurations0 = scalar, U32, 1496, "us", 1, 0 +vvt1evvtCurrentPosition = scalar, F32, 1500, "", 1, 0 +vvt1evvtToothPosition1 = scalar, F32, 1504, "", 1, 0 +vvt1evvtToothPosition2 = scalar, F32, 1508, "", 1, 0 +vvt1evvtToothPosition3 = scalar, F32, 1512, "", 1, 0 +vvt1evvtToothPosition4 = scalar, F32, 1516, "", 1, 0 +vvt1etriggerSyncGapRatio = scalar, F32, 1520, "", 1, 0 +vvt1etriggerStateIndex = scalar, U08, 1524, "", 1, 0 +; total TS size = 1528 +vvt2isynchronizationCounter = scalar, U32, 1528, "", 1, 0 +vvt2ivvtToothDurations0 = scalar, U32, 1532, "us", 1, 0 +vvt2ivvtCurrentPosition = scalar, F32, 1536, "", 1, 0 +vvt2ivvtToothPosition1 = scalar, F32, 1540, "", 1, 0 +vvt2ivvtToothPosition2 = scalar, F32, 1544, "", 1, 0 +vvt2ivvtToothPosition3 = scalar, F32, 1548, "", 1, 0 +vvt2ivvtToothPosition4 = scalar, F32, 1552, "", 1, 0 +vvt2itriggerSyncGapRatio = scalar, F32, 1556, "", 1, 0 +vvt2itriggerStateIndex = scalar, U08, 1560, "", 1, 0 +; total TS size = 1564 +vvt2esynchronizationCounter = scalar, U32, 1564, "", 1, 0 +vvt2evvtToothDurations0 = scalar, U32, 1568, "us", 1, 0 +vvt2evvtCurrentPosition = scalar, F32, 1572, "", 1, 0 +vvt2evvtToothPosition1 = scalar, F32, 1576, "", 1, 0 +vvt2evvtToothPosition2 = scalar, F32, 1580, "", 1, 0 +vvt2evvtToothPosition3 = scalar, F32, 1584, "", 1, 0 +vvt2evvtToothPosition4 = scalar, F32, 1588, "", 1, 0 +vvt2etriggerSyncGapRatio = scalar, F32, 1592, "", 1, 0 +vvt2etriggerStateIndex = scalar, U08, 1596, "", 1, 0 +; total TS size = 1600 +camResyncCounter = scalar, U08, 1600, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1604, [0:0] +; total TS size = 1608 +wallFuelCorrection = scalar, F32, 1608, "", 1, 0 +wallFuel = scalar, F32, 1612, "", 1, 0 +; total TS size = 1616 +idleState = bits, S32, 1616, [0:2], "not important" +currentIdlePosition = scalar, F32, 1620 +baseIdlePosition = scalar, F32, 1624 +idleClosedLoop = scalar, F32, 1628 +iacByTpsTaper = scalar, F32, 1632 +mightResetPid = bits, U32, 1636, [0:0] +shouldResetPid = bits, U32, 1636, [1:1] +wasResetPid = bits, U32, 1636, [2:2] +mustResetPid = bits, U32, 1636, [3:3] +isCranking = bits, U32, 1636, [4:4] +isIacTableForCoasting = bits, U32, 1636, [5:5] +notIdling = bits, U32, 1636, [6:6] +needReset = bits, U32, 1636, [7:7] +isInDeadZone = bits, U32, 1636, [8:8] +isBlipping = bits, U32, 1636, [9:9] +useClosedLoop = bits, U32, 1636, [10:10] +badTps = bits, U32, 1636, [11:11] +looksLikeRunning = bits, U32, 1636, [12:12] +looksLikeCoasting = bits, U32, 1636, [13:13] +looksLikeCrankToIdle = bits, U32, 1636, [14:14] +isIdleCoasting = bits, U32, 1636, [15:15] +isIdleClosedLoop = bits, U32, 1636, [16:16] +idleTarget = scalar, S32, 1640, "", 1, 0 +targetRpmByClt = scalar, S32, 1644, "", 1, 0 +targetRpmAc = scalar, S32, 1648, "", 1, 0 +iacByRpmTaper = scalar, F32, 1652 +luaAdd = scalar, F32, 1656 +; total TS size = 1660 +etb1targetWithIdlePosition = scalar, F32, 1660, "%", 1,0 +etb1trim = scalar, F32, 1664, "", 1, 0 +etb1luaAdjustment = scalar, F32, 1668, "%", 1,0 +etb1m_wastegatePosition = scalar, F32, 1672, "%", 1,0 +etb1etbFeedForward = scalar, F32, 1676 +etb1etbIntegralError = scalar, F32, 1680, "", 1, 0 +etb1etbCurrentTarget = scalar, F32, 1684, "%", 1, 0 +etb1m_adjustedTarget = scalar, S16, 1688, "%", 0.01, 0 +etb1etbRevLimitActive = bits, U32, 1692, [0:0] +etb1jamDetected = bits, U32, 1692, [1:1] +etb1validPlantPosition = bits, U32, 1692, [2:2] +etb1etbTpsErrorCounter = scalar, U16, 1696, "count", 1,0 +etb1etbPpsErrorCounter = scalar, U16, 1698, "count", 1,0 +etb1etbErrorCode = scalar, S08, 1700, "", 1, 0 +etb1etbErrorCodeBlinker = scalar, S08, 1701, "", 1, 0 +etb1tcEtbDrop = scalar, S08, 1702, "%", 1, 0 +etb1jamTimer = scalar, U16, 1704, "sec", 0.01, 0 +etb1adjustedEtbTarget = scalar, S08, 1706, "%", 1, 0 +etb1state = scalar, U08, 1707, "", 1, 0 +; total TS size = 1708 +etb2targetWithIdlePosition = scalar, F32, 1708, "%", 1,0 +etb2trim = scalar, F32, 1712, "", 1, 0 +etb2luaAdjustment = scalar, F32, 1716, "%", 1,0 +etb2m_wastegatePosition = scalar, F32, 1720, "%", 1,0 +etb2etbFeedForward = scalar, F32, 1724 +etb2etbIntegralError = scalar, F32, 1728, "", 1, 0 +etb2etbCurrentTarget = scalar, F32, 1732, "%", 1, 0 +etb2m_adjustedTarget = scalar, S16, 1736, "%", 0.01, 0 +etb2etbRevLimitActive = bits, U32, 1740, [0:0] +etb2jamDetected = bits, U32, 1740, [1:1] +etb2validPlantPosition = bits, U32, 1740, [2:2] +etb2etbTpsErrorCounter = scalar, U16, 1744, "count", 1,0 +etb2etbPpsErrorCounter = scalar, U16, 1746, "count", 1,0 +etb2etbErrorCode = scalar, S08, 1748, "", 1, 0 +etb2etbErrorCodeBlinker = scalar, S08, 1749, "", 1, 0 +etb2tcEtbDrop = scalar, S08, 1750, "%", 1, 0 +etb2jamTimer = scalar, U16, 1752, "sec", 0.01, 0 +etb2adjustedEtbTarget = scalar, S08, 1754, "%", 1, 0 +etb2state = scalar, U08, 1755, "", 1, 0 +; total TS size = 1756 +wb1faultCode = scalar, U08, 1756, "", 1, 0 +wb1heaterDuty = scalar, U08, 1757, "%", 1, 0 +wb1pumpDuty = scalar, U08, 1758, "%", 1, 0 +wb1tempC = scalar, U16, 1760, "C", 1, 0 +wb1nernstVoltage = scalar, U16, 1762, "V", 0.001, 0 +wb1esr = scalar, U16, 1764, "ohm", 1, 0 +; total TS size = 1768 +wb2faultCode = scalar, U08, 1768, "", 1, 0 +wb2heaterDuty = scalar, U08, 1769, "%", 1, 0 +wb2pumpDuty = scalar, U08, 1770, "%", 1, 0 +wb2tempC = scalar, U16, 1772, "C", 1, 0 +wb2nernstVoltage = scalar, U16, 1774, "V", 0.001, 0 +wb2esr = scalar, U16, 1776, "ohm", 1, 0 +; total TS size = 1780 +dcOutput0 = scalar, F32, 1780, "%", 1,0 +isEnabled0_int = scalar, U08, 1784, "%", 1,0 +isEnabled0 = bits, U32, 1788, [0:0] +; total TS size = 1792 +value0 = scalar, U16, 1792, "RAW", 1,0 +value1 = scalar, U16, 1794, "RAW", 1,0 +errorRate = scalar, F32, 1796, "% (don't belive me)", 1,0 ; total TS size = 1800 -lambdaCurrentlyGood = bits, U32, 1800, [0:0] -lambdaMonitorCut = bits, U32, 1800, [1:1] -lambdaTimeSinceGood = scalar, U16, 1804, "sec", 0.01, 0 -; total TS size = 1808 +vvtTarget = scalar, U16, 1800, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1802, "%", 0.5, 0 +; total TS size = 1804 +lambdaCurrentlyGood = bits, U32, 1804, [0:0] +lambdaMonitorCut = bits, U32, 1804, [1:1] +lambdaTimeSinceGood = scalar, U16, 1808, "sec", 0.01, 0 +; total TS size = 1812 time = { timeNow } @@ -4584,6 +4587,12 @@ curve = rangeMatrix, "Range Switch Input Matrix" gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. upDownLabel = "(RICHER)", "(LEANER)" + table = trailingSparkTable, trailingSparkMap, "Trailing spark", 1 + xyLabels = "RPM", "Ignition Load" + xBins = trailingSparkRpmBins, RPMValue + yBins = trailingSparkLoadBins, ignitionLoad + zBins = trailingSparkTable + table = torqueTableTbl, torqueTableMap, "Engine Torque", 1 xBins = torqueRpmBins, RPMValue yBins = torqueLoadBins, veTableYAxis @@ -4881,6 +4890,7 @@ timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20 timingPidCorrectionGauge = timingPidCorrection,"Idle: Timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 +trailingSparkAngleGauge = trailingSparkAngle,"Ign: Trailing spark deg", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 gaugeCategory = "Boost Control" luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 @@ -5811,6 +5821,7 @@ entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" entry = luaIgnitionSkip, "Ign: Lua Spark Skip", int, "%d" +entry = trailingSparkAngle, "Ign: Trailing spark deg", float, "%.3f" entry = m_knockLevel, "Knock: Current level", float, "%.3f" entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" @@ -6759,6 +6770,7 @@ dialog = ignition_stateDialog, "ignition_state" graphLine = luaTimingAdd liveGraph = ignition_state_4_Graph, "Graph", South graphLine = luaTimingMult + graphLine = trailingSparkAngle dialog = knock_controllerDialog, "knock_controller" @@ -10048,11 +10060,11 @@ dialog = tcuControls, "Transmission Settings" dialog = rotaryDialog, "Rotary" field = "Enable Trailing Sparks", enableTrailingSparks - field = "Trailing Spark Offset", trailingSparkAngle field = "Trailing Pin 1", trailingCoilPins1 field = "Trailing Pin 2", trailingCoilPins2 field = "Trailing Pin 3", trailingCoilPins3 field = "Trailing Pin 4", trailingCoilPins4 + panel = trailingSparkTable diff --git a/firmware/tunerstudio/generated/rusefi_alphax-silver.ini b/firmware/tunerstudio/generated/rusefi_alphax-silver.ini index a29f48fbf5..0acf011ec7 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.2025.02.07.alphax-silver.2645059548" + signature = "rusEFI master.2025.02.07.alphax-silver.439085233" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2025.02.07.alphax-silver.2645059548" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2025.02.07.alphax-silver.439085233" ; 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 @@ -101,7 +101,7 @@ enable2ndByteCanID = false ; CONFIG_DEFINITION_START ; this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt -pageSize = 23284 +pageSize = 23308 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",22="BMW_M52",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",21="ET_BOSCH_QUICK_START",24="ET_TEST_WITH_BOSCH_QUICK_START",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",41="FRANKENSO_MIATA_NA6_MAP",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",47="GM_LCV",55="GM_LTG",98="GM_SBC",49="GM_SBC_GEN5",8="GY6_139QMB",6="HARLEY",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",34="MAZDA_MIATA_NA6",80="MAZDA_MIATA_NA94",10="MAZDA_MIATA_NA96",83="MAZDA_MIATA_NB1",69="MAZDA_MIATA_NB2",86="MAZDA_MIATA_NB2_36",20="MAZDA_MIATA_NC",33="ME17_9_MISC",68="MERCEDES_M111",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",4="MRE_SECONDARY_CAN",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",35="POLARIS",9="POLARIS_RZR",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",27="PROTEUS_GM_LS_4",25="PROTEUS_LUA_DEMO",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",17="TCU_4R70W",100="TEST_100",101="TEST_101",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",93="TEST_ISSUE_6451",19="TEST_ROTARY",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",102="UNUSED102",67="UNUSED67",94="UNUSED94",65="UNUSED_65",97="UNUSED_97",77="VAG_5_CYL",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -245,7 +245,7 @@ vbattAdcChannel = bits, U08, 513, [0:5], $adc_channel_e_list fuelLevelSensor = bits, U08, 514, [0:5], $adc_channel_e_list tps2_1AdcChannel = bits, U08, 515, [0:5], $adc_channel_e_list idle_derivativeFilterLoss = scalar, F32, 516, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 520, "angle", 1, 0, 0, 720, 0 +unusedTrailingSparkAngle = scalar, S32, 520, "", 1, 0, 0, 100, 0 trigger_type = bits, U32, 524, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Daihatsu 3 cylinder", "Mazda SOHC 4", "60-2", "36-1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "Dodge Ram 1+16", "60-2 Wrong Polarity", "Benelli Tre", "Dodge Stratus", "36_2_2_2", "Nissan Primera", "dev 2JZ 3/34 simulator", "Rover K", "GM 24x 5 degree", "Honda CBR 600 Cam", "INVALID", "Honda CBR 600 custom", "3-1 skipped", "Dodge Neon 2003 crank", "Miata NB", "INVALID", "INVALID", "Subaru 7+6", "Jeep 18-2-2-2", "12crank/24cam", "Dodge Neon 1995 crank only", "Jeep XJ 4 cyl", "FiatIAQ_P8", "Mazda Z5", "INVALID", "Renix 44-2-2", "Renix 66-2-2-2", "Honda K 12+1", "INVALID", "36-2", "Subaru SVX", "Suzuki K6A", "Subaru 7 without 6", "INVALID", "INVALID", "GM 60-2-2-2", "Skoda Favorit", "Barra 3+1 Cam", "Kawa KX450F", "Nissan VQ35", "INVALID", "Nissan VQ30", "Nissan QR25", "INVALID", "Subaru SVX Crank 1", "Subaru SVX Cam VVT", "Ford PIP", "Suzuki G13B", "Honda K 4+1", "Nissan MR18 Crank", "32-2", "36-2-1", "36-2-1-1", "3-0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6-0", "Daihatsu 4 cylinder", "INVALID", "dev", "Nissan HR", "Arctic Cat", "HR12 in", "HONDA J30A2", "trg88", "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" trigger_customTotalToothCount = scalar, S32, 528, "number", 1, 0, 1, 300, 0 trigger_customSkippedToothCount = scalar, S32, 532, "number", 1, 0, 0, 300, 0 @@ -1797,7 +1797,10 @@ dynoCarCarMassKg = scalar, S16, 23272, "", 1, 0, 0, 32000, 0 dynoCarCargoMassKg = scalar, S16, 23274, "", 1, 0, 0, 32000, 0 dynoCarCoeffOfDrag = scalar, F32, 23276, "", 1, 0, 0, 100, 0 dynoCarFrontalAreaM2 = scalar, F32, 23280, "", 1, 0, 0, 100, 0 -; total TS size = 23284 +trailingSparkTable = array, S08, 23284, [4x4], "deg", 0.1, 0, 0, 20, 1 +trailingSparkRpmBins = array, U08, 23300, [4], "rpm", 50.0, 0, 0, 12000, 0 +trailingSparkLoadBins = array, U08, 23304, [4], "Load", 5.0, 0, 0, 1000, 0 +; total TS size = 23308 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1891,7 +1894,6 @@ dynoCarFrontalAreaM2 = scalar, F32, 23280, "", 1, 0, 0, 100, 0 fuelLevelSensor = "This is the processor pin that your fuel level sensor in connected to. This is a non standard input so will need to be user defined." tps2_1AdcChannel = "Second throttle body position sensor, single channel so far" idle_derivativeFilterLoss = "0.1 is a good default value" - trailingSparkAngle = "just a temporary solution" trigger_type = "https://github.com/rusefi/rusefi/wiki/All-Supported-Triggers" airByRpmTaper = "Extra air taper amount" boostControlSafeDutyCycle = "Duty cycle to use in case of a sensor failure. This duty cycle should produce the minimum possible amount of boost. This duty is also used in case any of the minimum RPM/TPS/MAP conditions are not met." @@ -2665,7 +2667,7 @@ dynoCarFrontalAreaM2 = scalar, F32, 23280, "", 1, 0, 0, 100, 0 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1808 + ochBlockSize = 1812 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3190,417 +3192,418 @@ dwellVoltageCorrection = scalar, F32, 940, "", 1, 0 luaTimingAdd = scalar, F32, 944, "deg", 1, 0 luaTimingMult = scalar, F32, 948, "deg", 1, 0 luaIgnitionSkip = bits, U32, 952, [0:0] -; total TS size = 956 -m_knockLevel = scalar, F32, 956, "Volts", 1, 0 -m_knockCyl1 = scalar, S08, 960, "dBv", 1, 0 -m_knockCyl2 = scalar, S08, 961, "dBv", 1, 0 -m_knockCyl3 = scalar, S08, 962, "dBv", 1, 0 -m_knockCyl4 = scalar, S08, 963, "dBv", 1, 0 -m_knockCyl5 = scalar, S08, 964, "dBv", 1, 0 -m_knockCyl6 = scalar, S08, 965, "dBv", 1, 0 -m_knockCyl7 = scalar, S08, 966, "dBv", 1, 0 -m_knockCyl8 = scalar, S08, 967, "dBv", 1, 0 -m_knockCyl9 = scalar, S08, 968, "dBv", 1, 0 -m_knockCyl10 = scalar, S08, 969, "dBv", 1, 0 -m_knockCyl11 = scalar, S08, 970, "dBv", 1, 0 -m_knockCyl12 = scalar, S08, 971, "dBv", 1, 0 -m_knockRetard = scalar, F32, 972, "deg", 1,0 -m_knockThreshold = scalar, F32, 976, "", 1, 0 -m_knockCount = scalar, U32, 980, "", 1, 0 -m_maximumRetard = scalar, F32, 984, "", 1, 0 -m_knockSpectrum1 = scalar, U32, 988, "compressed data", 1, 0 -m_knockSpectrum2 = scalar, U32, 992, "compressed data", 1, 0 -m_knockSpectrum3 = scalar, U32, 996, "compressed data", 1, 0 -m_knockSpectrum4 = scalar, U32, 1000, "compressed data", 1, 0 -m_knockSpectrum5 = scalar, U32, 1004, "compressed data", 1, 0 -m_knockSpectrum6 = scalar, U32, 1008, "compressed data", 1, 0 -m_knockSpectrum7 = scalar, U32, 1012, "compressed data", 1, 0 -m_knockSpectrum8 = scalar, U32, 1016, "compressed data", 1, 0 -m_knockSpectrum9 = scalar, U32, 1020, "compressed data", 1, 0 -m_knockSpectrum10 = scalar, U32, 1024, "compressed data", 1, 0 -m_knockSpectrum11 = scalar, U32, 1028, "compressed data", 1, 0 -m_knockSpectrum12 = scalar, U32, 1032, "compressed data", 1, 0 -m_knockSpectrum13 = scalar, U32, 1036, "compressed data", 1, 0 -m_knockSpectrum14 = scalar, U32, 1040, "compressed data", 1, 0 -m_knockSpectrum15 = scalar, U32, 1044, "compressed data", 1, 0 -m_knockSpectrum16 = scalar, U32, 1048, "compressed data", 1, 0 -m_knockSpectrumChannelCyl = scalar, U16, 1052, "compressed N + N", 1, 0 -m_knockFrequencyStart = scalar, U16, 1054, "Hz", 1, 0 -m_knockFrequencyStep = scalar, F32, 1056, "Hz", 1, 0 -m_knockFuelTrimMultiplier = scalar, F32, 1060, "multiplier", 1, 0 -; total TS size = 1064 -m_isPriming = bits, U32, 1064, [0:0] +trailingSparkAngle = scalar, S16, 956, "deg", 0.01,0 +; total TS size = 960 +m_knockLevel = scalar, F32, 960, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 964, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 965, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 966, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 967, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 968, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 969, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 970, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 971, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 972, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 973, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 974, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 975, "dBv", 1, 0 +m_knockRetard = scalar, F32, 976, "deg", 1,0 +m_knockThreshold = scalar, F32, 980, "", 1, 0 +m_knockCount = scalar, U32, 984, "", 1, 0 +m_maximumRetard = scalar, F32, 988, "", 1, 0 +m_knockSpectrum1 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1040, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1044, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1048, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1052, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1056, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1058, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1060, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1064, "multiplier", 1, 0 ; total TS size = 1068 -tcuCurrentGear = scalar, S08, 1068, "gear", 1, 0 -tcRatio = scalar, U16, 1070, "value", 0.01, 0 -lastShiftTime = scalar, F32, 1072, "", 1, 0 -tcu_currentRange = scalar, U08, 1076, "", 1, 0 -pressureControlDuty = scalar, S08, 1077, "%", 1,0 -torqueConverterDuty = scalar, S08, 1078, "%", 1,0 -isShifting = bits, U32, 1080, [0:0] -; total TS size = 1084 -throttleUseWotModel = bits, U32, 1084, [0:0] -throttleModelCrossoverAngle = scalar, S16, 1088, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1092, "g/s", 1, 0 -; total TS size = 1096 -m_requested_pump = scalar, F32, 1096, "", 1, 0 -fuel_requested_percent = scalar, F32, 1100, "%", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1104, "", 1, 0 -noValve = bits, U32, 1108, [0:0] -angleAboveMin = bits, U32, 1108, [1:1] -isHpfpActive = bits, U32, 1108, [2:2] -HpfpValveState = bits, U32, 1108, [3:3] -m_pressureTarget_kPa = scalar, F32, 1112, "", 1, 0 -nextLobe = scalar, F32, 1116, "", 1, 0 -di_nextStart = scalar, F32, 1120, "v", 1, 0 -HpfdActivationPhase = scalar, F32, 1124, "", 1, 0 -HpfdDeactivationPhase = scalar, F32, 1128, "", 1, 0 -; total TS size = 1132 -m_deadtime = scalar, F32, 1132, "ms", 1, 0 -pressureDelta = scalar, F32, 1136, "kPa", 1, 0 -pressureRatio = scalar, F32, 1140, "", 1, 0 -; total TS size = 1144 -retardThresholdRpm = scalar, S32, 1144, "", 1, 0 -launchActivatePinState = bits, U32, 1148, [0:0] -isPreLaunchCondition = bits, U32, 1148, [1:1] -isLaunchCondition = bits, U32, 1148, [2:2] -isSwitchActivated = bits, U32, 1148, [3:3] -isClutchActivated = bits, U32, 1148, [4:4] -isBrakePedalActivated = bits, U32, 1148, [5:5] -isValidInputPin = bits, U32, 1148, [6:6] -activateSwitchCondition = bits, U32, 1148, [7:7] -rpmLaunchCondition = bits, U32, 1148, [8:8] -rpmPreLaunchCondition = bits, U32, 1148, [9:9] -speedCondition = bits, U32, 1148, [10:10] -tpsCondition = bits, U32, 1148, [11:11] -; total TS size = 1152 -isTorqueReductionTriggerPinValid = bits, U32, 1152, [0:0] -torqueReductionTriggerPinState = bits, U32, 1152, [1:1] -isTimeConditionSatisfied = bits, U32, 1152, [2:2] -isRpmConditionSatisfied = bits, U32, 1152, [3:3] -isAppConditionSatisfied = bits, U32, 1152, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1152, [5:5] +m_isPriming = bits, U32, 1068, [0:0] +; total TS size = 1072 +tcuCurrentGear = scalar, S08, 1072, "gear", 1, 0 +tcRatio = scalar, U16, 1074, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1076, "", 1, 0 +tcu_currentRange = scalar, U08, 1080, "", 1, 0 +pressureControlDuty = scalar, S08, 1081, "%", 1,0 +torqueConverterDuty = scalar, S08, 1082, "%", 1,0 +isShifting = bits, U32, 1084, [0:0] +; total TS size = 1088 +throttleUseWotModel = bits, U32, 1088, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1092, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1096, "g/s", 1, 0 +; total TS size = 1100 +m_requested_pump = scalar, F32, 1100, "", 1, 0 +fuel_requested_percent = scalar, F32, 1104, "%", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1108, "", 1, 0 +noValve = bits, U32, 1112, [0:0] +angleAboveMin = bits, U32, 1112, [1:1] +isHpfpActive = bits, U32, 1112, [2:2] +HpfpValveState = bits, U32, 1112, [3:3] +m_pressureTarget_kPa = scalar, F32, 1116, "", 1, 0 +nextLobe = scalar, F32, 1120, "", 1, 0 +di_nextStart = scalar, F32, 1124, "v", 1, 0 +HpfdActivationPhase = scalar, F32, 1128, "", 1, 0 +HpfdDeactivationPhase = scalar, F32, 1132, "", 1, 0 +; total TS size = 1136 +m_deadtime = scalar, F32, 1136, "ms", 1, 0 +pressureDelta = scalar, F32, 1140, "kPa", 1, 0 +pressureRatio = scalar, F32, 1144, "", 1, 0 +; total TS size = 1148 +retardThresholdRpm = scalar, S32, 1148, "", 1, 0 +launchActivatePinState = bits, U32, 1152, [0:0] +isPreLaunchCondition = bits, U32, 1152, [1:1] +isLaunchCondition = bits, U32, 1152, [2:2] +isSwitchActivated = bits, U32, 1152, [3:3] +isClutchActivated = bits, U32, 1152, [4:4] +isBrakePedalActivated = bits, U32, 1152, [5:5] +isValidInputPin = bits, U32, 1152, [6:6] +activateSwitchCondition = bits, U32, 1152, [7:7] +rpmLaunchCondition = bits, U32, 1152, [8:8] +rpmPreLaunchCondition = bits, U32, 1152, [9:9] +speedCondition = bits, U32, 1152, [10:10] +tpsCondition = bits, U32, 1152, [11:11] ; total TS size = 1156 -isAntilagCondition = bits, U32, 1156, [0:0] -ALSMinRPMCondition = bits, U32, 1156, [1:1] -ALSMaxRPMCondition = bits, U32, 1156, [2:2] -ALSMinCLTCondition = bits, U32, 1156, [3:3] -ALSMaxCLTCondition = bits, U32, 1156, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1156, [5:5] -isALSSwitchActivated = bits, U32, 1156, [6:6] -ALSActivatePinState = bits, U32, 1156, [7:7] -ALSSwitchCondition = bits, U32, 1156, [8:8] -ALSTimerCondition = bits, U32, 1156, [9:9] -fuelALSCorrection = scalar, F32, 1160, "", 1, 0 -timingALSCorrection = scalar, S16, 1164, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1166, "deg", 0.01, 0 -; total TS size = 1168 -isTpsInvalid = bits, U32, 1168, [0:0] -m_shouldResetPid = bits, U32, 1168, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1168, [2:2] -isNotClosedLoop = bits, U32, 1168, [3:3] -isZeroRpm = bits, U32, 1168, [4:4] -hasInitBoost = bits, U32, 1168, [5:5] -rpmTooLow = bits, U32, 1168, [6:6] -tpsTooLow = bits, U32, 1168, [7:7] -mapTooLow = bits, U32, 1168, [8:8] -isPlantValid = bits, U32, 1168, [9:9] -isBoostControlled = bits, U32, 1168, [10:10] -luaTargetAdd = scalar, S16, 1172, "v", 0.5,0 -boostOutput = scalar, S16, 1174, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1176, "v", 1,0 -openLoopPart = scalar, F32, 1180, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1184, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1188, "%", 0.5,0 -boostControlTarget = scalar, S16, 1190, "kPa", 0.03333333333333333,0 -; total TS size = 1192 -acButtonState = scalar, S08, 1192, "", 1, 0 -m_acEnabled = bits, U32, 1196, [0:0] -engineTooSlow = bits, U32, 1196, [1:1] -engineTooFast = bits, U32, 1196, [2:2] -noClt = bits, U32, 1196, [3:3] -engineTooHot = bits, U32, 1196, [4:4] -tpsTooHigh = bits, U32, 1196, [5:5] -isDisabledByLua = bits, U32, 1196, [6:6] -acCompressorState = bits, U32, 1196, [7:7] -acPressureTooLow = bits, U32, 1196, [8:8] -acPressureTooHigh = bits, U32, 1196, [9:9] -; total TS size = 1200 -isNitrousArmed = bits, U32, 1200, [0:0] -isNitrousSpeedCondition = bits, U32, 1200, [1:1] -isNitrousTpsCondition = bits, U32, 1200, [2:2] -isNitrousCltCondition = bits, U32, 1200, [3:3] -isNitrousMapCondition = bits, U32, 1200, [4:4] -isNitrousAfrCondition = bits, U32, 1200, [5:5] -isNitrousRpmCondition = bits, U32, 1200, [6:6] -isNitrousCondition = bits, U32, 1200, [7:7] +isTorqueReductionTriggerPinValid = bits, U32, 1156, [0:0] +torqueReductionTriggerPinState = bits, U32, 1156, [1:1] +isTimeConditionSatisfied = bits, U32, 1156, [2:2] +isRpmConditionSatisfied = bits, U32, 1156, [3:3] +isAppConditionSatisfied = bits, U32, 1156, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1156, [5:5] +; total TS size = 1160 +isAntilagCondition = bits, U32, 1160, [0:0] +ALSMinRPMCondition = bits, U32, 1160, [1:1] +ALSMaxRPMCondition = bits, U32, 1160, [2:2] +ALSMinCLTCondition = bits, U32, 1160, [3:3] +ALSMaxCLTCondition = bits, U32, 1160, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1160, [5:5] +isALSSwitchActivated = bits, U32, 1160, [6:6] +ALSActivatePinState = bits, U32, 1160, [7:7] +ALSSwitchCondition = bits, U32, 1160, [8:8] +ALSTimerCondition = bits, U32, 1160, [9:9] +fuelALSCorrection = scalar, F32, 1164, "", 1, 0 +timingALSCorrection = scalar, S16, 1168, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1170, "deg", 0.01, 0 +; total TS size = 1172 +isTpsInvalid = bits, U32, 1172, [0:0] +m_shouldResetPid = bits, U32, 1172, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1172, [2:2] +isNotClosedLoop = bits, U32, 1172, [3:3] +isZeroRpm = bits, U32, 1172, [4:4] +hasInitBoost = bits, U32, 1172, [5:5] +rpmTooLow = bits, U32, 1172, [6:6] +tpsTooLow = bits, U32, 1172, [7:7] +mapTooLow = bits, U32, 1172, [8:8] +isPlantValid = bits, U32, 1172, [9:9] +isBoostControlled = bits, U32, 1172, [10:10] +luaTargetAdd = scalar, S16, 1176, "v", 0.5,0 +boostOutput = scalar, S16, 1178, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1180, "v", 1,0 +openLoopPart = scalar, F32, 1184, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1188, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1192, "%", 0.5,0 +boostControlTarget = scalar, S16, 1194, "kPa", 0.03333333333333333,0 +; total TS size = 1196 +acButtonState = scalar, S08, 1196, "", 1, 0 +m_acEnabled = bits, U32, 1200, [0:0] +engineTooSlow = bits, U32, 1200, [1:1] +engineTooFast = bits, U32, 1200, [2:2] +noClt = bits, U32, 1200, [3:3] +engineTooHot = bits, U32, 1200, [4:4] +tpsTooHigh = bits, U32, 1200, [5:5] +isDisabledByLua = bits, U32, 1200, [6:6] +acCompressorState = bits, U32, 1200, [7:7] +acPressureTooLow = bits, U32, 1200, [8:8] +acPressureTooHigh = bits, U32, 1200, [9:9] ; total TS size = 1204 -fan1cranking = bits, U32, 1204, [0:0] -fan1notRunning = bits, U32, 1204, [1:1] -fan1disabledWhileEngineStopped = bits, U32, 1204, [2:2] -fan1brokenClt = bits, U32, 1204, [3:3] -fan1enabledForAc = bits, U32, 1204, [4:4] -fan1hot = bits, U32, 1204, [5:5] -fan1cold = bits, U32, 1204, [6:6] -fan1disabledBySpeed = bits, U32, 1204, [7:7] -fan1m_state = bits, U32, 1204, [8:8] -fan1radiatorFanStatus = scalar, U08, 1208, "", 1, 0 -; total TS size = 1212 -fan2cranking = bits, U32, 1212, [0:0] -fan2notRunning = bits, U32, 1212, [1:1] -fan2disabledWhileEngineStopped = bits, U32, 1212, [2:2] -fan2brokenClt = bits, U32, 1212, [3:3] -fan2enabledForAc = bits, U32, 1212, [4:4] -fan2hot = bits, U32, 1212, [5:5] -fan2cold = bits, U32, 1212, [6:6] -fan2disabledBySpeed = bits, U32, 1212, [7:7] -fan2m_state = bits, U32, 1212, [8:8] -fan2radiatorFanStatus = scalar, U08, 1216, "", 1, 0 -; total TS size = 1220 -isPrime = bits, U32, 1220, [0:0] -engineTurnedRecently = bits, U32, 1220, [1:1] -isFuelPumpOn = bits, U32, 1220, [2:2] -ignitionOn = bits, U32, 1220, [3:3] +isNitrousArmed = bits, U32, 1204, [0:0] +isNitrousSpeedCondition = bits, U32, 1204, [1:1] +isNitrousTpsCondition = bits, U32, 1204, [2:2] +isNitrousCltCondition = bits, U32, 1204, [3:3] +isNitrousMapCondition = bits, U32, 1204, [4:4] +isNitrousAfrCondition = bits, U32, 1204, [5:5] +isNitrousRpmCondition = bits, U32, 1204, [6:6] +isNitrousCondition = bits, U32, 1204, [7:7] +; total TS size = 1208 +fan1cranking = bits, U32, 1208, [0:0] +fan1notRunning = bits, U32, 1208, [1:1] +fan1disabledWhileEngineStopped = bits, U32, 1208, [2:2] +fan1brokenClt = bits, U32, 1208, [3:3] +fan1enabledForAc = bits, U32, 1208, [4:4] +fan1hot = bits, U32, 1208, [5:5] +fan1cold = bits, U32, 1208, [6:6] +fan1disabledBySpeed = bits, U32, 1208, [7:7] +fan1m_state = bits, U32, 1208, [8:8] +fan1radiatorFanStatus = scalar, U08, 1212, "", 1, 0 +; total TS size = 1216 +fan2cranking = bits, U32, 1216, [0:0] +fan2notRunning = bits, U32, 1216, [1:1] +fan2disabledWhileEngineStopped = bits, U32, 1216, [2:2] +fan2brokenClt = bits, U32, 1216, [3:3] +fan2enabledForAc = bits, U32, 1216, [4:4] +fan2hot = bits, U32, 1216, [5:5] +fan2cold = bits, U32, 1216, [6:6] +fan2disabledBySpeed = bits, U32, 1216, [7:7] +fan2m_state = bits, U32, 1216, [8:8] +fan2radiatorFanStatus = scalar, U08, 1220, "", 1, 0 ; total TS size = 1224 -isBenchTest = bits, U32, 1224, [0:0] -hasIgnitionVoltage = bits, U32, 1224, [1:1] -mainRelayState = bits, U32, 1224, [2:2] -delayedShutoffRequested = bits, U32, 1224, [3:3] +isPrime = bits, U32, 1224, [0:0] +engineTurnedRecently = bits, U32, 1224, [1:1] +isFuelPumpOn = bits, U32, 1224, [2:2] +ignitionOn = bits, U32, 1224, [3:3] ; total TS size = 1228 -lua_fuelAdd = scalar, F32, 1228, "g", 1, 0 -lua_fuelMult = scalar, F32, 1232, "", 1, 0 -lua_clutchUpState = bits, U32, 1236, [0:0] -lua_brakePedalState = bits, U32, 1236, [1:1] -lua_acRequestState = bits, U32, 1236, [2:2] -lua_luaDisableEtb = bits, U32, 1236, [3:3] -lua_luaIgnCut = bits, U32, 1236, [4:4] -lua_luaFuelCut = bits, U32, 1236, [5:5] -lua_clutchDownState = bits, U32, 1236, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1236, [7:7] -lua_torqueReductionState = bits, U32, 1236, [8:8] -sd_tCharge = scalar, S16, 1240, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1244, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1248, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1252, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1256, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1260, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1264, "", 1, 0 -hellenBoardId = scalar, S16, 1268, "id", 1, 0 -clutchUpState = scalar, S08, 1270, "", 1, 0 -brakePedalState = scalar, S08, 1271, "", 1, 0 -startStopState = scalar, S08, 1272, "", 1, 0 -smartChipState = scalar, S08, 1273, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1274, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1275, "", 1, 0 -startStopPhysicalState = bits, U32, 1276, [0:0] -acrActive = bits, U32, 1276, [1:1] -acrEngineMovedRecently = bits, U32, 1276, [2:2] -heaterControlEnabled = bits, U32, 1276, [3:3] -luaDigitalState0 = bits, U32, 1276, [4:4] -luaDigitalState1 = bits, U32, 1276, [5:5] -luaDigitalState2 = bits, U32, 1276, [6:6] -luaDigitalState3 = bits, U32, 1276, [7:7] -clutchDownState = bits, U32, 1276, [8:8] -startStopStateToggleCounter = scalar, U32, 1280, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1284, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1288, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1292, "", 1, 0 -fuelInjectionCounter = scalar, U32, 1296, "", 1, 0 -globalSparkCounter = scalar, U32, 1300, "", 1, 0 -fuelingLoad = scalar, F32, 1304, "", 1, 0 -ignitionLoad = scalar, F32, 1308, "", 1, 0 -veTableYAxis = scalar, U16, 1312, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1314, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1315, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1316, "", 1, 0 -; total TS size = 1320 -tpsFrom = scalar, F32, 1320 -tpsTo = scalar, F32, 1324 -deltaTps = scalar, F32, 1328 -extraFuel = scalar, F32, 1332, "", 1, 0 -valueFromTable = scalar, F32, 1336, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1340, [0:0] -isBelowDecelThreshold = bits, U32, 1340, [1:1] -isTimeToResetAccumulator = bits, U32, 1340, [2:2] -isFractionalEnrichment = bits, U32, 1340, [3:3] -belowEpsilon = bits, U32, 1340, [4:4] -tooShort = bits, U32, 1340, [5:5] -fractionalInjFuel = scalar, F32, 1344, "", 1, 0 -accumulatedValue = scalar, F32, 1348, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1352, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1356, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1360, "", 1, 0 -cycleCnt = scalar, S32, 1364, "", 1, 0 -; total TS size = 1368 -hwEventCounters1 = scalar, U16, 1368, "", 1, 0 -hwEventCounters2 = scalar, U16, 1370, "", 1, 0 -hwEventCounters3 = scalar, U16, 1372, "", 1, 0 -hwEventCounters4 = scalar, U16, 1374, "", 1, 0 -vvtCamCounter = scalar, U16, 1376, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1380, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1384, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1388, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1389, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1392, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1396, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1400, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1404, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1408, [0:0] -triggerElapsedUs = scalar, U32, 1412, "", 1, 0 -; total TS size = 1416 -trgsynchronizationCounter = scalar, U32, 1416, "", 1, 0 -trgvvtToothDurations0 = scalar, U32, 1420, "us", 1, 0 -trgvvtCurrentPosition = scalar, F32, 1424, "", 1, 0 -trgvvtToothPosition1 = scalar, F32, 1428, "", 1, 0 -trgvvtToothPosition2 = scalar, F32, 1432, "", 1, 0 -trgvvtToothPosition3 = scalar, F32, 1436, "", 1, 0 -trgvvtToothPosition4 = scalar, F32, 1440, "", 1, 0 -trgtriggerSyncGapRatio = scalar, F32, 1444, "", 1, 0 -trgtriggerStateIndex = scalar, U08, 1448, "", 1, 0 -; total TS size = 1452 -vvt1isynchronizationCounter = scalar, U32, 1452, "", 1, 0 -vvt1ivvtToothDurations0 = scalar, U32, 1456, "us", 1, 0 -vvt1ivvtCurrentPosition = scalar, F32, 1460, "", 1, 0 -vvt1ivvtToothPosition1 = scalar, F32, 1464, "", 1, 0 -vvt1ivvtToothPosition2 = scalar, F32, 1468, "", 1, 0 -vvt1ivvtToothPosition3 = scalar, F32, 1472, "", 1, 0 -vvt1ivvtToothPosition4 = scalar, F32, 1476, "", 1, 0 -vvt1itriggerSyncGapRatio = scalar, F32, 1480, "", 1, 0 -vvt1itriggerStateIndex = scalar, U08, 1484, "", 1, 0 -; total TS size = 1488 -vvt1esynchronizationCounter = scalar, U32, 1488, "", 1, 0 -vvt1evvtToothDurations0 = scalar, U32, 1492, "us", 1, 0 -vvt1evvtCurrentPosition = scalar, F32, 1496, "", 1, 0 -vvt1evvtToothPosition1 = scalar, F32, 1500, "", 1, 0 -vvt1evvtToothPosition2 = scalar, F32, 1504, "", 1, 0 -vvt1evvtToothPosition3 = scalar, F32, 1508, "", 1, 0 -vvt1evvtToothPosition4 = scalar, F32, 1512, "", 1, 0 -vvt1etriggerSyncGapRatio = scalar, F32, 1516, "", 1, 0 -vvt1etriggerStateIndex = scalar, U08, 1520, "", 1, 0 -; total TS size = 1524 -vvt2isynchronizationCounter = scalar, U32, 1524, "", 1, 0 -vvt2ivvtToothDurations0 = scalar, U32, 1528, "us", 1, 0 -vvt2ivvtCurrentPosition = scalar, F32, 1532, "", 1, 0 -vvt2ivvtToothPosition1 = scalar, F32, 1536, "", 1, 0 -vvt2ivvtToothPosition2 = scalar, F32, 1540, "", 1, 0 -vvt2ivvtToothPosition3 = scalar, F32, 1544, "", 1, 0 -vvt2ivvtToothPosition4 = scalar, F32, 1548, "", 1, 0 -vvt2itriggerSyncGapRatio = scalar, F32, 1552, "", 1, 0 -vvt2itriggerStateIndex = scalar, U08, 1556, "", 1, 0 -; total TS size = 1560 -vvt2esynchronizationCounter = scalar, U32, 1560, "", 1, 0 -vvt2evvtToothDurations0 = scalar, U32, 1564, "us", 1, 0 -vvt2evvtCurrentPosition = scalar, F32, 1568, "", 1, 0 -vvt2evvtToothPosition1 = scalar, F32, 1572, "", 1, 0 -vvt2evvtToothPosition2 = scalar, F32, 1576, "", 1, 0 -vvt2evvtToothPosition3 = scalar, F32, 1580, "", 1, 0 -vvt2evvtToothPosition4 = scalar, F32, 1584, "", 1, 0 -vvt2etriggerSyncGapRatio = scalar, F32, 1588, "", 1, 0 -vvt2etriggerStateIndex = scalar, U08, 1592, "", 1, 0 -; total TS size = 1596 -camResyncCounter = scalar, U08, 1596, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1600, [0:0] -; total TS size = 1604 -wallFuelCorrection = scalar, F32, 1604, "", 1, 0 -wallFuel = scalar, F32, 1608, "", 1, 0 -; total TS size = 1612 -idleState = bits, S32, 1612, [0:2], "not important" -currentIdlePosition = scalar, F32, 1616 -baseIdlePosition = scalar, F32, 1620 -idleClosedLoop = scalar, F32, 1624 -iacByTpsTaper = scalar, F32, 1628 -mightResetPid = bits, U32, 1632, [0:0] -shouldResetPid = bits, U32, 1632, [1:1] -wasResetPid = bits, U32, 1632, [2:2] -mustResetPid = bits, U32, 1632, [3:3] -isCranking = bits, U32, 1632, [4:4] -isIacTableForCoasting = bits, U32, 1632, [5:5] -notIdling = bits, U32, 1632, [6:6] -needReset = bits, U32, 1632, [7:7] -isInDeadZone = bits, U32, 1632, [8:8] -isBlipping = bits, U32, 1632, [9:9] -useClosedLoop = bits, U32, 1632, [10:10] -badTps = bits, U32, 1632, [11:11] -looksLikeRunning = bits, U32, 1632, [12:12] -looksLikeCoasting = bits, U32, 1632, [13:13] -looksLikeCrankToIdle = bits, U32, 1632, [14:14] -isIdleCoasting = bits, U32, 1632, [15:15] -isIdleClosedLoop = bits, U32, 1632, [16:16] -idleTarget = scalar, S32, 1636, "", 1, 0 -targetRpmByClt = scalar, S32, 1640, "", 1, 0 -targetRpmAc = scalar, S32, 1644, "", 1, 0 -iacByRpmTaper = scalar, F32, 1648 -luaAdd = scalar, F32, 1652 -; total TS size = 1656 -etb1targetWithIdlePosition = scalar, F32, 1656, "%", 1,0 -etb1trim = scalar, F32, 1660, "", 1, 0 -etb1luaAdjustment = scalar, F32, 1664, "%", 1,0 -etb1m_wastegatePosition = scalar, F32, 1668, "%", 1,0 -etb1etbFeedForward = scalar, F32, 1672 -etb1etbIntegralError = scalar, F32, 1676, "", 1, 0 -etb1etbCurrentTarget = scalar, F32, 1680, "%", 1, 0 -etb1m_adjustedTarget = scalar, S16, 1684, "%", 0.01, 0 -etb1etbRevLimitActive = bits, U32, 1688, [0:0] -etb1jamDetected = bits, U32, 1688, [1:1] -etb1validPlantPosition = bits, U32, 1688, [2:2] -etb1etbTpsErrorCounter = scalar, U16, 1692, "count", 1,0 -etb1etbPpsErrorCounter = scalar, U16, 1694, "count", 1,0 -etb1etbErrorCode = scalar, S08, 1696, "", 1, 0 -etb1etbErrorCodeBlinker = scalar, S08, 1697, "", 1, 0 -etb1tcEtbDrop = scalar, S08, 1698, "%", 1, 0 -etb1jamTimer = scalar, U16, 1700, "sec", 0.01, 0 -etb1adjustedEtbTarget = scalar, S08, 1702, "%", 1, 0 -etb1state = scalar, U08, 1703, "", 1, 0 -; total TS size = 1704 -etb2targetWithIdlePosition = scalar, F32, 1704, "%", 1,0 -etb2trim = scalar, F32, 1708, "", 1, 0 -etb2luaAdjustment = scalar, F32, 1712, "%", 1,0 -etb2m_wastegatePosition = scalar, F32, 1716, "%", 1,0 -etb2etbFeedForward = scalar, F32, 1720 -etb2etbIntegralError = scalar, F32, 1724, "", 1, 0 -etb2etbCurrentTarget = scalar, F32, 1728, "%", 1, 0 -etb2m_adjustedTarget = scalar, S16, 1732, "%", 0.01, 0 -etb2etbRevLimitActive = bits, U32, 1736, [0:0] -etb2jamDetected = bits, U32, 1736, [1:1] -etb2validPlantPosition = bits, U32, 1736, [2:2] -etb2etbTpsErrorCounter = scalar, U16, 1740, "count", 1,0 -etb2etbPpsErrorCounter = scalar, U16, 1742, "count", 1,0 -etb2etbErrorCode = scalar, S08, 1744, "", 1, 0 -etb2etbErrorCodeBlinker = scalar, S08, 1745, "", 1, 0 -etb2tcEtbDrop = scalar, S08, 1746, "%", 1, 0 -etb2jamTimer = scalar, U16, 1748, "sec", 0.01, 0 -etb2adjustedEtbTarget = scalar, S08, 1750, "%", 1, 0 -etb2state = scalar, U08, 1751, "", 1, 0 -; total TS size = 1752 -wb1faultCode = scalar, U08, 1752, "", 1, 0 -wb1heaterDuty = scalar, U08, 1753, "%", 1, 0 -wb1pumpDuty = scalar, U08, 1754, "%", 1, 0 -wb1tempC = scalar, U16, 1756, "C", 1, 0 -wb1nernstVoltage = scalar, U16, 1758, "V", 0.001, 0 -wb1esr = scalar, U16, 1760, "ohm", 1, 0 -; total TS size = 1764 -wb2faultCode = scalar, U08, 1764, "", 1, 0 -wb2heaterDuty = scalar, U08, 1765, "%", 1, 0 -wb2pumpDuty = scalar, U08, 1766, "%", 1, 0 -wb2tempC = scalar, U16, 1768, "C", 1, 0 -wb2nernstVoltage = scalar, U16, 1770, "V", 0.001, 0 -wb2esr = scalar, U16, 1772, "ohm", 1, 0 -; total TS size = 1776 -dcOutput0 = scalar, F32, 1776, "%", 1,0 -isEnabled0_int = scalar, U08, 1780, "%", 1,0 -isEnabled0 = bits, U32, 1784, [0:0] -; total TS size = 1788 -value0 = scalar, U16, 1788, "RAW", 1,0 -value1 = scalar, U16, 1790, "RAW", 1,0 -errorRate = scalar, F32, 1792, "% (don't belive me)", 1,0 -; total TS size = 1796 -vvtTarget = scalar, U16, 1796, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1798, "%", 0.5, 0 +isBenchTest = bits, U32, 1228, [0:0] +hasIgnitionVoltage = bits, U32, 1228, [1:1] +mainRelayState = bits, U32, 1228, [2:2] +delayedShutoffRequested = bits, U32, 1228, [3:3] +; total TS size = 1232 +lua_fuelAdd = scalar, F32, 1232, "g", 1, 0 +lua_fuelMult = scalar, F32, 1236, "", 1, 0 +lua_clutchUpState = bits, U32, 1240, [0:0] +lua_brakePedalState = bits, U32, 1240, [1:1] +lua_acRequestState = bits, U32, 1240, [2:2] +lua_luaDisableEtb = bits, U32, 1240, [3:3] +lua_luaIgnCut = bits, U32, 1240, [4:4] +lua_luaFuelCut = bits, U32, 1240, [5:5] +lua_clutchDownState = bits, U32, 1240, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1240, [7:7] +lua_torqueReductionState = bits, U32, 1240, [8:8] +sd_tCharge = scalar, S16, 1244, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1248, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1252, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1256, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1260, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1264, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1268, "", 1, 0 +hellenBoardId = scalar, S16, 1272, "id", 1, 0 +clutchUpState = scalar, S08, 1274, "", 1, 0 +brakePedalState = scalar, S08, 1275, "", 1, 0 +startStopState = scalar, S08, 1276, "", 1, 0 +smartChipState = scalar, S08, 1277, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1278, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1279, "", 1, 0 +startStopPhysicalState = bits, U32, 1280, [0:0] +acrActive = bits, U32, 1280, [1:1] +acrEngineMovedRecently = bits, U32, 1280, [2:2] +heaterControlEnabled = bits, U32, 1280, [3:3] +luaDigitalState0 = bits, U32, 1280, [4:4] +luaDigitalState1 = bits, U32, 1280, [5:5] +luaDigitalState2 = bits, U32, 1280, [6:6] +luaDigitalState3 = bits, U32, 1280, [7:7] +clutchDownState = bits, U32, 1280, [8:8] +startStopStateToggleCounter = scalar, U32, 1284, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1288, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1292, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1296, "", 1, 0 +fuelInjectionCounter = scalar, U32, 1300, "", 1, 0 +globalSparkCounter = scalar, U32, 1304, "", 1, 0 +fuelingLoad = scalar, F32, 1308, "", 1, 0 +ignitionLoad = scalar, F32, 1312, "", 1, 0 +veTableYAxis = scalar, U16, 1316, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1318, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1319, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1320, "", 1, 0 +; total TS size = 1324 +tpsFrom = scalar, F32, 1324 +tpsTo = scalar, F32, 1328 +deltaTps = scalar, F32, 1332 +extraFuel = scalar, F32, 1336, "", 1, 0 +valueFromTable = scalar, F32, 1340, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1344, [0:0] +isBelowDecelThreshold = bits, U32, 1344, [1:1] +isTimeToResetAccumulator = bits, U32, 1344, [2:2] +isFractionalEnrichment = bits, U32, 1344, [3:3] +belowEpsilon = bits, U32, 1344, [4:4] +tooShort = bits, U32, 1344, [5:5] +fractionalInjFuel = scalar, F32, 1348, "", 1, 0 +accumulatedValue = scalar, F32, 1352, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1356, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1360, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1364, "", 1, 0 +cycleCnt = scalar, S32, 1368, "", 1, 0 +; total TS size = 1372 +hwEventCounters1 = scalar, U16, 1372, "", 1, 0 +hwEventCounters2 = scalar, U16, 1374, "", 1, 0 +hwEventCounters3 = scalar, U16, 1376, "", 1, 0 +hwEventCounters4 = scalar, U16, 1378, "", 1, 0 +vvtCamCounter = scalar, U16, 1380, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1384, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1388, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1392, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1393, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1396, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1400, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1404, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1408, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1412, [0:0] +triggerElapsedUs = scalar, U32, 1416, "", 1, 0 +; total TS size = 1420 +trgsynchronizationCounter = scalar, U32, 1420, "", 1, 0 +trgvvtToothDurations0 = scalar, U32, 1424, "us", 1, 0 +trgvvtCurrentPosition = scalar, F32, 1428, "", 1, 0 +trgvvtToothPosition1 = scalar, F32, 1432, "", 1, 0 +trgvvtToothPosition2 = scalar, F32, 1436, "", 1, 0 +trgvvtToothPosition3 = scalar, F32, 1440, "", 1, 0 +trgvvtToothPosition4 = scalar, F32, 1444, "", 1, 0 +trgtriggerSyncGapRatio = scalar, F32, 1448, "", 1, 0 +trgtriggerStateIndex = scalar, U08, 1452, "", 1, 0 +; total TS size = 1456 +vvt1isynchronizationCounter = scalar, U32, 1456, "", 1, 0 +vvt1ivvtToothDurations0 = scalar, U32, 1460, "us", 1, 0 +vvt1ivvtCurrentPosition = scalar, F32, 1464, "", 1, 0 +vvt1ivvtToothPosition1 = scalar, F32, 1468, "", 1, 0 +vvt1ivvtToothPosition2 = scalar, F32, 1472, "", 1, 0 +vvt1ivvtToothPosition3 = scalar, F32, 1476, "", 1, 0 +vvt1ivvtToothPosition4 = scalar, F32, 1480, "", 1, 0 +vvt1itriggerSyncGapRatio = scalar, F32, 1484, "", 1, 0 +vvt1itriggerStateIndex = scalar, U08, 1488, "", 1, 0 +; total TS size = 1492 +vvt1esynchronizationCounter = scalar, U32, 1492, "", 1, 0 +vvt1evvtToothDurations0 = scalar, U32, 1496, "us", 1, 0 +vvt1evvtCurrentPosition = scalar, F32, 1500, "", 1, 0 +vvt1evvtToothPosition1 = scalar, F32, 1504, "", 1, 0 +vvt1evvtToothPosition2 = scalar, F32, 1508, "", 1, 0 +vvt1evvtToothPosition3 = scalar, F32, 1512, "", 1, 0 +vvt1evvtToothPosition4 = scalar, F32, 1516, "", 1, 0 +vvt1etriggerSyncGapRatio = scalar, F32, 1520, "", 1, 0 +vvt1etriggerStateIndex = scalar, U08, 1524, "", 1, 0 +; total TS size = 1528 +vvt2isynchronizationCounter = scalar, U32, 1528, "", 1, 0 +vvt2ivvtToothDurations0 = scalar, U32, 1532, "us", 1, 0 +vvt2ivvtCurrentPosition = scalar, F32, 1536, "", 1, 0 +vvt2ivvtToothPosition1 = scalar, F32, 1540, "", 1, 0 +vvt2ivvtToothPosition2 = scalar, F32, 1544, "", 1, 0 +vvt2ivvtToothPosition3 = scalar, F32, 1548, "", 1, 0 +vvt2ivvtToothPosition4 = scalar, F32, 1552, "", 1, 0 +vvt2itriggerSyncGapRatio = scalar, F32, 1556, "", 1, 0 +vvt2itriggerStateIndex = scalar, U08, 1560, "", 1, 0 +; total TS size = 1564 +vvt2esynchronizationCounter = scalar, U32, 1564, "", 1, 0 +vvt2evvtToothDurations0 = scalar, U32, 1568, "us", 1, 0 +vvt2evvtCurrentPosition = scalar, F32, 1572, "", 1, 0 +vvt2evvtToothPosition1 = scalar, F32, 1576, "", 1, 0 +vvt2evvtToothPosition2 = scalar, F32, 1580, "", 1, 0 +vvt2evvtToothPosition3 = scalar, F32, 1584, "", 1, 0 +vvt2evvtToothPosition4 = scalar, F32, 1588, "", 1, 0 +vvt2etriggerSyncGapRatio = scalar, F32, 1592, "", 1, 0 +vvt2etriggerStateIndex = scalar, U08, 1596, "", 1, 0 +; total TS size = 1600 +camResyncCounter = scalar, U08, 1600, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1604, [0:0] +; total TS size = 1608 +wallFuelCorrection = scalar, F32, 1608, "", 1, 0 +wallFuel = scalar, F32, 1612, "", 1, 0 +; total TS size = 1616 +idleState = bits, S32, 1616, [0:2], "not important" +currentIdlePosition = scalar, F32, 1620 +baseIdlePosition = scalar, F32, 1624 +idleClosedLoop = scalar, F32, 1628 +iacByTpsTaper = scalar, F32, 1632 +mightResetPid = bits, U32, 1636, [0:0] +shouldResetPid = bits, U32, 1636, [1:1] +wasResetPid = bits, U32, 1636, [2:2] +mustResetPid = bits, U32, 1636, [3:3] +isCranking = bits, U32, 1636, [4:4] +isIacTableForCoasting = bits, U32, 1636, [5:5] +notIdling = bits, U32, 1636, [6:6] +needReset = bits, U32, 1636, [7:7] +isInDeadZone = bits, U32, 1636, [8:8] +isBlipping = bits, U32, 1636, [9:9] +useClosedLoop = bits, U32, 1636, [10:10] +badTps = bits, U32, 1636, [11:11] +looksLikeRunning = bits, U32, 1636, [12:12] +looksLikeCoasting = bits, U32, 1636, [13:13] +looksLikeCrankToIdle = bits, U32, 1636, [14:14] +isIdleCoasting = bits, U32, 1636, [15:15] +isIdleClosedLoop = bits, U32, 1636, [16:16] +idleTarget = scalar, S32, 1640, "", 1, 0 +targetRpmByClt = scalar, S32, 1644, "", 1, 0 +targetRpmAc = scalar, S32, 1648, "", 1, 0 +iacByRpmTaper = scalar, F32, 1652 +luaAdd = scalar, F32, 1656 +; total TS size = 1660 +etb1targetWithIdlePosition = scalar, F32, 1660, "%", 1,0 +etb1trim = scalar, F32, 1664, "", 1, 0 +etb1luaAdjustment = scalar, F32, 1668, "%", 1,0 +etb1m_wastegatePosition = scalar, F32, 1672, "%", 1,0 +etb1etbFeedForward = scalar, F32, 1676 +etb1etbIntegralError = scalar, F32, 1680, "", 1, 0 +etb1etbCurrentTarget = scalar, F32, 1684, "%", 1, 0 +etb1m_adjustedTarget = scalar, S16, 1688, "%", 0.01, 0 +etb1etbRevLimitActive = bits, U32, 1692, [0:0] +etb1jamDetected = bits, U32, 1692, [1:1] +etb1validPlantPosition = bits, U32, 1692, [2:2] +etb1etbTpsErrorCounter = scalar, U16, 1696, "count", 1,0 +etb1etbPpsErrorCounter = scalar, U16, 1698, "count", 1,0 +etb1etbErrorCode = scalar, S08, 1700, "", 1, 0 +etb1etbErrorCodeBlinker = scalar, S08, 1701, "", 1, 0 +etb1tcEtbDrop = scalar, S08, 1702, "%", 1, 0 +etb1jamTimer = scalar, U16, 1704, "sec", 0.01, 0 +etb1adjustedEtbTarget = scalar, S08, 1706, "%", 1, 0 +etb1state = scalar, U08, 1707, "", 1, 0 +; total TS size = 1708 +etb2targetWithIdlePosition = scalar, F32, 1708, "%", 1,0 +etb2trim = scalar, F32, 1712, "", 1, 0 +etb2luaAdjustment = scalar, F32, 1716, "%", 1,0 +etb2m_wastegatePosition = scalar, F32, 1720, "%", 1,0 +etb2etbFeedForward = scalar, F32, 1724 +etb2etbIntegralError = scalar, F32, 1728, "", 1, 0 +etb2etbCurrentTarget = scalar, F32, 1732, "%", 1, 0 +etb2m_adjustedTarget = scalar, S16, 1736, "%", 0.01, 0 +etb2etbRevLimitActive = bits, U32, 1740, [0:0] +etb2jamDetected = bits, U32, 1740, [1:1] +etb2validPlantPosition = bits, U32, 1740, [2:2] +etb2etbTpsErrorCounter = scalar, U16, 1744, "count", 1,0 +etb2etbPpsErrorCounter = scalar, U16, 1746, "count", 1,0 +etb2etbErrorCode = scalar, S08, 1748, "", 1, 0 +etb2etbErrorCodeBlinker = scalar, S08, 1749, "", 1, 0 +etb2tcEtbDrop = scalar, S08, 1750, "%", 1, 0 +etb2jamTimer = scalar, U16, 1752, "sec", 0.01, 0 +etb2adjustedEtbTarget = scalar, S08, 1754, "%", 1, 0 +etb2state = scalar, U08, 1755, "", 1, 0 +; total TS size = 1756 +wb1faultCode = scalar, U08, 1756, "", 1, 0 +wb1heaterDuty = scalar, U08, 1757, "%", 1, 0 +wb1pumpDuty = scalar, U08, 1758, "%", 1, 0 +wb1tempC = scalar, U16, 1760, "C", 1, 0 +wb1nernstVoltage = scalar, U16, 1762, "V", 0.001, 0 +wb1esr = scalar, U16, 1764, "ohm", 1, 0 +; total TS size = 1768 +wb2faultCode = scalar, U08, 1768, "", 1, 0 +wb2heaterDuty = scalar, U08, 1769, "%", 1, 0 +wb2pumpDuty = scalar, U08, 1770, "%", 1, 0 +wb2tempC = scalar, U16, 1772, "C", 1, 0 +wb2nernstVoltage = scalar, U16, 1774, "V", 0.001, 0 +wb2esr = scalar, U16, 1776, "ohm", 1, 0 +; total TS size = 1780 +dcOutput0 = scalar, F32, 1780, "%", 1,0 +isEnabled0_int = scalar, U08, 1784, "%", 1,0 +isEnabled0 = bits, U32, 1788, [0:0] +; total TS size = 1792 +value0 = scalar, U16, 1792, "RAW", 1,0 +value1 = scalar, U16, 1794, "RAW", 1,0 +errorRate = scalar, F32, 1796, "% (don't belive me)", 1,0 ; total TS size = 1800 -lambdaCurrentlyGood = bits, U32, 1800, [0:0] -lambdaMonitorCut = bits, U32, 1800, [1:1] -lambdaTimeSinceGood = scalar, U16, 1804, "sec", 0.01, 0 -; total TS size = 1808 +vvtTarget = scalar, U16, 1800, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1802, "%", 0.5, 0 +; total TS size = 1804 +lambdaCurrentlyGood = bits, U32, 1804, [0:0] +lambdaMonitorCut = bits, U32, 1804, [1:1] +lambdaTimeSinceGood = scalar, U16, 1808, "sec", 0.01, 0 +; total TS size = 1812 time = { timeNow } @@ -4585,6 +4588,12 @@ curve = rangeMatrix, "Range Switch Input Matrix" gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. upDownLabel = "(RICHER)", "(LEANER)" + table = trailingSparkTable, trailingSparkMap, "Trailing spark", 1 + xyLabels = "RPM", "Ignition Load" + xBins = trailingSparkRpmBins, RPMValue + yBins = trailingSparkLoadBins, ignitionLoad + zBins = trailingSparkTable + table = torqueTableTbl, torqueTableMap, "Engine Torque", 1 xBins = torqueRpmBins, RPMValue yBins = torqueLoadBins, veTableYAxis @@ -4882,6 +4891,7 @@ timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20 timingPidCorrectionGauge = timingPidCorrection,"Idle: Timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 +trailingSparkAngleGauge = trailingSparkAngle,"Ign: Trailing spark deg", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 gaugeCategory = "Boost Control" luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 @@ -5803,6 +5813,7 @@ entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" entry = luaIgnitionSkip, "Ign: Lua Spark Skip", int, "%d" +entry = trailingSparkAngle, "Ign: Trailing spark deg", float, "%.3f" entry = m_knockLevel, "Knock: Current level", float, "%.3f" entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" @@ -6741,6 +6752,7 @@ dialog = ignition_stateDialog, "ignition_state" graphLine = luaTimingAdd liveGraph = ignition_state_4_Graph, "Graph", South graphLine = luaTimingMult + graphLine = trailingSparkAngle dialog = knock_controllerDialog, "knock_controller" @@ -9989,11 +10001,11 @@ dialog = tcuControls, "Transmission Settings" dialog = rotaryDialog, "Rotary" field = "Enable Trailing Sparks", enableTrailingSparks - field = "Trailing Spark Offset", trailingSparkAngle field = "Trailing Pin 1", trailingCoilPins1 field = "Trailing Pin 2", trailingCoilPins2 field = "Trailing Pin 3", trailingCoilPins3 field = "Trailing Pin 4", trailingCoilPins4 + panel = trailingSparkTable dialog = fancyHardwareDialog, "Board Control" field = "IAT/CLT Temperature Inputs Pull-Up", boardUseTempPullUp diff --git a/firmware/tunerstudio/generated/rusefi_at_start_f435.ini b/firmware/tunerstudio/generated/rusefi_at_start_f435.ini index 873b03e4a8..72a3a9aaae 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.2025.02.07.at_start_f435.1384441238" + signature = "rusEFI master.2025.02.07.at_start_f435.3574033147" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2025.02.07.at_start_f435.1384441238" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2025.02.07.at_start_f435.3574033147" ; 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 @@ -101,7 +101,7 @@ enable2ndByteCanID = false ; CONFIG_DEFINITION_START ; this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt -pageSize = 23280 +pageSize = 23304 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",22="BMW_M52",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",21="ET_BOSCH_QUICK_START",24="ET_TEST_WITH_BOSCH_QUICK_START",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",41="FRANKENSO_MIATA_NA6_MAP",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",47="GM_LCV",55="GM_LTG",98="GM_SBC",49="GM_SBC_GEN5",8="GY6_139QMB",6="HARLEY",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",34="MAZDA_MIATA_NA6",80="MAZDA_MIATA_NA94",10="MAZDA_MIATA_NA96",83="MAZDA_MIATA_NB1",69="MAZDA_MIATA_NB2",86="MAZDA_MIATA_NB2_36",20="MAZDA_MIATA_NC",33="ME17_9_MISC",68="MERCEDES_M111",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",4="MRE_SECONDARY_CAN",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",35="POLARIS",9="POLARIS_RZR",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",27="PROTEUS_GM_LS_4",25="PROTEUS_LUA_DEMO",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",17="TCU_4R70W",100="TEST_100",101="TEST_101",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",93="TEST_ISSUE_6451",19="TEST_ROTARY",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",102="UNUSED102",67="UNUSED67",94="UNUSED94",65="UNUSED_65",97="UNUSED_97",77="VAG_5_CYL",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -245,7 +245,7 @@ vbattAdcChannel = bits, U08, 513, [0:5], $adc_channel_e_list fuelLevelSensor = bits, U08, 514, [0:5], $adc_channel_e_list tps2_1AdcChannel = bits, U08, 515, [0:5], $adc_channel_e_list idle_derivativeFilterLoss = scalar, F32, 516, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 520, "angle", 1, 0, 0, 720, 0 +unusedTrailingSparkAngle = scalar, S32, 520, "", 1, 0, 0, 100, 0 trigger_type = bits, U32, 524, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Daihatsu 3 cylinder", "Mazda SOHC 4", "60-2", "36-1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "Dodge Ram 1+16", "60-2 Wrong Polarity", "Benelli Tre", "Dodge Stratus", "36_2_2_2", "Nissan Primera", "dev 2JZ 3/34 simulator", "Rover K", "GM 24x 5 degree", "Honda CBR 600 Cam", "INVALID", "Honda CBR 600 custom", "3-1 skipped", "Dodge Neon 2003 crank", "Miata NB", "INVALID", "INVALID", "Subaru 7+6", "Jeep 18-2-2-2", "12crank/24cam", "Dodge Neon 1995 crank only", "Jeep XJ 4 cyl", "FiatIAQ_P8", "Mazda Z5", "INVALID", "Renix 44-2-2", "Renix 66-2-2-2", "Honda K 12+1", "INVALID", "36-2", "Subaru SVX", "Suzuki K6A", "Subaru 7 without 6", "INVALID", "INVALID", "GM 60-2-2-2", "Skoda Favorit", "Barra 3+1 Cam", "Kawa KX450F", "Nissan VQ35", "INVALID", "Nissan VQ30", "Nissan QR25", "INVALID", "Subaru SVX Crank 1", "Subaru SVX Cam VVT", "Ford PIP", "Suzuki G13B", "Honda K 4+1", "Nissan MR18 Crank", "32-2", "36-2-1", "36-2-1-1", "3-0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6-0", "Daihatsu 4 cylinder", "INVALID", "dev", "Nissan HR", "Arctic Cat", "HR12 in", "HONDA J30A2", "trg88", "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" trigger_customTotalToothCount = scalar, S32, 528, "number", 1, 0, 1, 300, 0 trigger_customSkippedToothCount = scalar, S32, 532, "number", 1, 0, 0, 300, 0 @@ -1796,7 +1796,10 @@ dynoCarCarMassKg = scalar, S16, 23268, "", 1, 0, 0, 32000, 0 dynoCarCargoMassKg = scalar, S16, 23270, "", 1, 0, 0, 32000, 0 dynoCarCoeffOfDrag = scalar, F32, 23272, "", 1, 0, 0, 100, 0 dynoCarFrontalAreaM2 = scalar, F32, 23276, "", 1, 0, 0, 100, 0 -; total TS size = 23280 +trailingSparkTable = array, S08, 23280, [4x4], "deg", 0.1, 0, 0, 20, 1 +trailingSparkRpmBins = array, U08, 23296, [4], "rpm", 50.0, 0, 0, 12000, 0 +trailingSparkLoadBins = array, U08, 23300, [4], "Load", 5.0, 0, 0, 1000, 0 +; total TS size = 23304 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1890,7 +1893,6 @@ dynoCarFrontalAreaM2 = scalar, F32, 23276, "", 1, 0, 0, 100, 0 fuelLevelSensor = "This is the processor pin that your fuel level sensor in connected to. This is a non standard input so will need to be user defined." tps2_1AdcChannel = "Second throttle body position sensor, single channel so far" idle_derivativeFilterLoss = "0.1 is a good default value" - trailingSparkAngle = "just a temporary solution" trigger_type = "https://github.com/rusefi/rusefi/wiki/All-Supported-Triggers" airByRpmTaper = "Extra air taper amount" boostControlSafeDutyCycle = "Duty cycle to use in case of a sensor failure. This duty cycle should produce the minimum possible amount of boost. This duty is also used in case any of the minimum RPM/TPS/MAP conditions are not met." @@ -2664,7 +2666,7 @@ dynoCarFrontalAreaM2 = scalar, F32, 23276, "", 1, 0, 0, 100, 0 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1808 + ochBlockSize = 1812 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3189,417 +3191,418 @@ dwellVoltageCorrection = scalar, F32, 940, "", 1, 0 luaTimingAdd = scalar, F32, 944, "deg", 1, 0 luaTimingMult = scalar, F32, 948, "deg", 1, 0 luaIgnitionSkip = bits, U32, 952, [0:0] -; total TS size = 956 -m_knockLevel = scalar, F32, 956, "Volts", 1, 0 -m_knockCyl1 = scalar, S08, 960, "dBv", 1, 0 -m_knockCyl2 = scalar, S08, 961, "dBv", 1, 0 -m_knockCyl3 = scalar, S08, 962, "dBv", 1, 0 -m_knockCyl4 = scalar, S08, 963, "dBv", 1, 0 -m_knockCyl5 = scalar, S08, 964, "dBv", 1, 0 -m_knockCyl6 = scalar, S08, 965, "dBv", 1, 0 -m_knockCyl7 = scalar, S08, 966, "dBv", 1, 0 -m_knockCyl8 = scalar, S08, 967, "dBv", 1, 0 -m_knockCyl9 = scalar, S08, 968, "dBv", 1, 0 -m_knockCyl10 = scalar, S08, 969, "dBv", 1, 0 -m_knockCyl11 = scalar, S08, 970, "dBv", 1, 0 -m_knockCyl12 = scalar, S08, 971, "dBv", 1, 0 -m_knockRetard = scalar, F32, 972, "deg", 1,0 -m_knockThreshold = scalar, F32, 976, "", 1, 0 -m_knockCount = scalar, U32, 980, "", 1, 0 -m_maximumRetard = scalar, F32, 984, "", 1, 0 -m_knockSpectrum1 = scalar, U32, 988, "compressed data", 1, 0 -m_knockSpectrum2 = scalar, U32, 992, "compressed data", 1, 0 -m_knockSpectrum3 = scalar, U32, 996, "compressed data", 1, 0 -m_knockSpectrum4 = scalar, U32, 1000, "compressed data", 1, 0 -m_knockSpectrum5 = scalar, U32, 1004, "compressed data", 1, 0 -m_knockSpectrum6 = scalar, U32, 1008, "compressed data", 1, 0 -m_knockSpectrum7 = scalar, U32, 1012, "compressed data", 1, 0 -m_knockSpectrum8 = scalar, U32, 1016, "compressed data", 1, 0 -m_knockSpectrum9 = scalar, U32, 1020, "compressed data", 1, 0 -m_knockSpectrum10 = scalar, U32, 1024, "compressed data", 1, 0 -m_knockSpectrum11 = scalar, U32, 1028, "compressed data", 1, 0 -m_knockSpectrum12 = scalar, U32, 1032, "compressed data", 1, 0 -m_knockSpectrum13 = scalar, U32, 1036, "compressed data", 1, 0 -m_knockSpectrum14 = scalar, U32, 1040, "compressed data", 1, 0 -m_knockSpectrum15 = scalar, U32, 1044, "compressed data", 1, 0 -m_knockSpectrum16 = scalar, U32, 1048, "compressed data", 1, 0 -m_knockSpectrumChannelCyl = scalar, U16, 1052, "compressed N + N", 1, 0 -m_knockFrequencyStart = scalar, U16, 1054, "Hz", 1, 0 -m_knockFrequencyStep = scalar, F32, 1056, "Hz", 1, 0 -m_knockFuelTrimMultiplier = scalar, F32, 1060, "multiplier", 1, 0 -; total TS size = 1064 -m_isPriming = bits, U32, 1064, [0:0] +trailingSparkAngle = scalar, S16, 956, "deg", 0.01,0 +; total TS size = 960 +m_knockLevel = scalar, F32, 960, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 964, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 965, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 966, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 967, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 968, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 969, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 970, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 971, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 972, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 973, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 974, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 975, "dBv", 1, 0 +m_knockRetard = scalar, F32, 976, "deg", 1,0 +m_knockThreshold = scalar, F32, 980, "", 1, 0 +m_knockCount = scalar, U32, 984, "", 1, 0 +m_maximumRetard = scalar, F32, 988, "", 1, 0 +m_knockSpectrum1 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1040, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1044, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1048, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1052, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1056, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1058, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1060, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1064, "multiplier", 1, 0 ; total TS size = 1068 -tcuCurrentGear = scalar, S08, 1068, "gear", 1, 0 -tcRatio = scalar, U16, 1070, "value", 0.01, 0 -lastShiftTime = scalar, F32, 1072, "", 1, 0 -tcu_currentRange = scalar, U08, 1076, "", 1, 0 -pressureControlDuty = scalar, S08, 1077, "%", 1,0 -torqueConverterDuty = scalar, S08, 1078, "%", 1,0 -isShifting = bits, U32, 1080, [0:0] -; total TS size = 1084 -throttleUseWotModel = bits, U32, 1084, [0:0] -throttleModelCrossoverAngle = scalar, S16, 1088, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1092, "g/s", 1, 0 -; total TS size = 1096 -m_requested_pump = scalar, F32, 1096, "", 1, 0 -fuel_requested_percent = scalar, F32, 1100, "%", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1104, "", 1, 0 -noValve = bits, U32, 1108, [0:0] -angleAboveMin = bits, U32, 1108, [1:1] -isHpfpActive = bits, U32, 1108, [2:2] -HpfpValveState = bits, U32, 1108, [3:3] -m_pressureTarget_kPa = scalar, F32, 1112, "", 1, 0 -nextLobe = scalar, F32, 1116, "", 1, 0 -di_nextStart = scalar, F32, 1120, "v", 1, 0 -HpfdActivationPhase = scalar, F32, 1124, "", 1, 0 -HpfdDeactivationPhase = scalar, F32, 1128, "", 1, 0 -; total TS size = 1132 -m_deadtime = scalar, F32, 1132, "ms", 1, 0 -pressureDelta = scalar, F32, 1136, "kPa", 1, 0 -pressureRatio = scalar, F32, 1140, "", 1, 0 -; total TS size = 1144 -retardThresholdRpm = scalar, S32, 1144, "", 1, 0 -launchActivatePinState = bits, U32, 1148, [0:0] -isPreLaunchCondition = bits, U32, 1148, [1:1] -isLaunchCondition = bits, U32, 1148, [2:2] -isSwitchActivated = bits, U32, 1148, [3:3] -isClutchActivated = bits, U32, 1148, [4:4] -isBrakePedalActivated = bits, U32, 1148, [5:5] -isValidInputPin = bits, U32, 1148, [6:6] -activateSwitchCondition = bits, U32, 1148, [7:7] -rpmLaunchCondition = bits, U32, 1148, [8:8] -rpmPreLaunchCondition = bits, U32, 1148, [9:9] -speedCondition = bits, U32, 1148, [10:10] -tpsCondition = bits, U32, 1148, [11:11] -; total TS size = 1152 -isTorqueReductionTriggerPinValid = bits, U32, 1152, [0:0] -torqueReductionTriggerPinState = bits, U32, 1152, [1:1] -isTimeConditionSatisfied = bits, U32, 1152, [2:2] -isRpmConditionSatisfied = bits, U32, 1152, [3:3] -isAppConditionSatisfied = bits, U32, 1152, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1152, [5:5] +m_isPriming = bits, U32, 1068, [0:0] +; total TS size = 1072 +tcuCurrentGear = scalar, S08, 1072, "gear", 1, 0 +tcRatio = scalar, U16, 1074, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1076, "", 1, 0 +tcu_currentRange = scalar, U08, 1080, "", 1, 0 +pressureControlDuty = scalar, S08, 1081, "%", 1,0 +torqueConverterDuty = scalar, S08, 1082, "%", 1,0 +isShifting = bits, U32, 1084, [0:0] +; total TS size = 1088 +throttleUseWotModel = bits, U32, 1088, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1092, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1096, "g/s", 1, 0 +; total TS size = 1100 +m_requested_pump = scalar, F32, 1100, "", 1, 0 +fuel_requested_percent = scalar, F32, 1104, "%", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1108, "", 1, 0 +noValve = bits, U32, 1112, [0:0] +angleAboveMin = bits, U32, 1112, [1:1] +isHpfpActive = bits, U32, 1112, [2:2] +HpfpValveState = bits, U32, 1112, [3:3] +m_pressureTarget_kPa = scalar, F32, 1116, "", 1, 0 +nextLobe = scalar, F32, 1120, "", 1, 0 +di_nextStart = scalar, F32, 1124, "v", 1, 0 +HpfdActivationPhase = scalar, F32, 1128, "", 1, 0 +HpfdDeactivationPhase = scalar, F32, 1132, "", 1, 0 +; total TS size = 1136 +m_deadtime = scalar, F32, 1136, "ms", 1, 0 +pressureDelta = scalar, F32, 1140, "kPa", 1, 0 +pressureRatio = scalar, F32, 1144, "", 1, 0 +; total TS size = 1148 +retardThresholdRpm = scalar, S32, 1148, "", 1, 0 +launchActivatePinState = bits, U32, 1152, [0:0] +isPreLaunchCondition = bits, U32, 1152, [1:1] +isLaunchCondition = bits, U32, 1152, [2:2] +isSwitchActivated = bits, U32, 1152, [3:3] +isClutchActivated = bits, U32, 1152, [4:4] +isBrakePedalActivated = bits, U32, 1152, [5:5] +isValidInputPin = bits, U32, 1152, [6:6] +activateSwitchCondition = bits, U32, 1152, [7:7] +rpmLaunchCondition = bits, U32, 1152, [8:8] +rpmPreLaunchCondition = bits, U32, 1152, [9:9] +speedCondition = bits, U32, 1152, [10:10] +tpsCondition = bits, U32, 1152, [11:11] ; total TS size = 1156 -isAntilagCondition = bits, U32, 1156, [0:0] -ALSMinRPMCondition = bits, U32, 1156, [1:1] -ALSMaxRPMCondition = bits, U32, 1156, [2:2] -ALSMinCLTCondition = bits, U32, 1156, [3:3] -ALSMaxCLTCondition = bits, U32, 1156, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1156, [5:5] -isALSSwitchActivated = bits, U32, 1156, [6:6] -ALSActivatePinState = bits, U32, 1156, [7:7] -ALSSwitchCondition = bits, U32, 1156, [8:8] -ALSTimerCondition = bits, U32, 1156, [9:9] -fuelALSCorrection = scalar, F32, 1160, "", 1, 0 -timingALSCorrection = scalar, S16, 1164, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1166, "deg", 0.01, 0 -; total TS size = 1168 -isTpsInvalid = bits, U32, 1168, [0:0] -m_shouldResetPid = bits, U32, 1168, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1168, [2:2] -isNotClosedLoop = bits, U32, 1168, [3:3] -isZeroRpm = bits, U32, 1168, [4:4] -hasInitBoost = bits, U32, 1168, [5:5] -rpmTooLow = bits, U32, 1168, [6:6] -tpsTooLow = bits, U32, 1168, [7:7] -mapTooLow = bits, U32, 1168, [8:8] -isPlantValid = bits, U32, 1168, [9:9] -isBoostControlled = bits, U32, 1168, [10:10] -luaTargetAdd = scalar, S16, 1172, "v", 0.5,0 -boostOutput = scalar, S16, 1174, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1176, "v", 1,0 -openLoopPart = scalar, F32, 1180, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1184, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1188, "%", 0.5,0 -boostControlTarget = scalar, S16, 1190, "kPa", 0.03333333333333333,0 -; total TS size = 1192 -acButtonState = scalar, S08, 1192, "", 1, 0 -m_acEnabled = bits, U32, 1196, [0:0] -engineTooSlow = bits, U32, 1196, [1:1] -engineTooFast = bits, U32, 1196, [2:2] -noClt = bits, U32, 1196, [3:3] -engineTooHot = bits, U32, 1196, [4:4] -tpsTooHigh = bits, U32, 1196, [5:5] -isDisabledByLua = bits, U32, 1196, [6:6] -acCompressorState = bits, U32, 1196, [7:7] -acPressureTooLow = bits, U32, 1196, [8:8] -acPressureTooHigh = bits, U32, 1196, [9:9] -; total TS size = 1200 -isNitrousArmed = bits, U32, 1200, [0:0] -isNitrousSpeedCondition = bits, U32, 1200, [1:1] -isNitrousTpsCondition = bits, U32, 1200, [2:2] -isNitrousCltCondition = bits, U32, 1200, [3:3] -isNitrousMapCondition = bits, U32, 1200, [4:4] -isNitrousAfrCondition = bits, U32, 1200, [5:5] -isNitrousRpmCondition = bits, U32, 1200, [6:6] -isNitrousCondition = bits, U32, 1200, [7:7] +isTorqueReductionTriggerPinValid = bits, U32, 1156, [0:0] +torqueReductionTriggerPinState = bits, U32, 1156, [1:1] +isTimeConditionSatisfied = bits, U32, 1156, [2:2] +isRpmConditionSatisfied = bits, U32, 1156, [3:3] +isAppConditionSatisfied = bits, U32, 1156, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1156, [5:5] +; total TS size = 1160 +isAntilagCondition = bits, U32, 1160, [0:0] +ALSMinRPMCondition = bits, U32, 1160, [1:1] +ALSMaxRPMCondition = bits, U32, 1160, [2:2] +ALSMinCLTCondition = bits, U32, 1160, [3:3] +ALSMaxCLTCondition = bits, U32, 1160, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1160, [5:5] +isALSSwitchActivated = bits, U32, 1160, [6:6] +ALSActivatePinState = bits, U32, 1160, [7:7] +ALSSwitchCondition = bits, U32, 1160, [8:8] +ALSTimerCondition = bits, U32, 1160, [9:9] +fuelALSCorrection = scalar, F32, 1164, "", 1, 0 +timingALSCorrection = scalar, S16, 1168, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1170, "deg", 0.01, 0 +; total TS size = 1172 +isTpsInvalid = bits, U32, 1172, [0:0] +m_shouldResetPid = bits, U32, 1172, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1172, [2:2] +isNotClosedLoop = bits, U32, 1172, [3:3] +isZeroRpm = bits, U32, 1172, [4:4] +hasInitBoost = bits, U32, 1172, [5:5] +rpmTooLow = bits, U32, 1172, [6:6] +tpsTooLow = bits, U32, 1172, [7:7] +mapTooLow = bits, U32, 1172, [8:8] +isPlantValid = bits, U32, 1172, [9:9] +isBoostControlled = bits, U32, 1172, [10:10] +luaTargetAdd = scalar, S16, 1176, "v", 0.5,0 +boostOutput = scalar, S16, 1178, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1180, "v", 1,0 +openLoopPart = scalar, F32, 1184, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1188, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1192, "%", 0.5,0 +boostControlTarget = scalar, S16, 1194, "kPa", 0.03333333333333333,0 +; total TS size = 1196 +acButtonState = scalar, S08, 1196, "", 1, 0 +m_acEnabled = bits, U32, 1200, [0:0] +engineTooSlow = bits, U32, 1200, [1:1] +engineTooFast = bits, U32, 1200, [2:2] +noClt = bits, U32, 1200, [3:3] +engineTooHot = bits, U32, 1200, [4:4] +tpsTooHigh = bits, U32, 1200, [5:5] +isDisabledByLua = bits, U32, 1200, [6:6] +acCompressorState = bits, U32, 1200, [7:7] +acPressureTooLow = bits, U32, 1200, [8:8] +acPressureTooHigh = bits, U32, 1200, [9:9] ; total TS size = 1204 -fan1cranking = bits, U32, 1204, [0:0] -fan1notRunning = bits, U32, 1204, [1:1] -fan1disabledWhileEngineStopped = bits, U32, 1204, [2:2] -fan1brokenClt = bits, U32, 1204, [3:3] -fan1enabledForAc = bits, U32, 1204, [4:4] -fan1hot = bits, U32, 1204, [5:5] -fan1cold = bits, U32, 1204, [6:6] -fan1disabledBySpeed = bits, U32, 1204, [7:7] -fan1m_state = bits, U32, 1204, [8:8] -fan1radiatorFanStatus = scalar, U08, 1208, "", 1, 0 -; total TS size = 1212 -fan2cranking = bits, U32, 1212, [0:0] -fan2notRunning = bits, U32, 1212, [1:1] -fan2disabledWhileEngineStopped = bits, U32, 1212, [2:2] -fan2brokenClt = bits, U32, 1212, [3:3] -fan2enabledForAc = bits, U32, 1212, [4:4] -fan2hot = bits, U32, 1212, [5:5] -fan2cold = bits, U32, 1212, [6:6] -fan2disabledBySpeed = bits, U32, 1212, [7:7] -fan2m_state = bits, U32, 1212, [8:8] -fan2radiatorFanStatus = scalar, U08, 1216, "", 1, 0 -; total TS size = 1220 -isPrime = bits, U32, 1220, [0:0] -engineTurnedRecently = bits, U32, 1220, [1:1] -isFuelPumpOn = bits, U32, 1220, [2:2] -ignitionOn = bits, U32, 1220, [3:3] +isNitrousArmed = bits, U32, 1204, [0:0] +isNitrousSpeedCondition = bits, U32, 1204, [1:1] +isNitrousTpsCondition = bits, U32, 1204, [2:2] +isNitrousCltCondition = bits, U32, 1204, [3:3] +isNitrousMapCondition = bits, U32, 1204, [4:4] +isNitrousAfrCondition = bits, U32, 1204, [5:5] +isNitrousRpmCondition = bits, U32, 1204, [6:6] +isNitrousCondition = bits, U32, 1204, [7:7] +; total TS size = 1208 +fan1cranking = bits, U32, 1208, [0:0] +fan1notRunning = bits, U32, 1208, [1:1] +fan1disabledWhileEngineStopped = bits, U32, 1208, [2:2] +fan1brokenClt = bits, U32, 1208, [3:3] +fan1enabledForAc = bits, U32, 1208, [4:4] +fan1hot = bits, U32, 1208, [5:5] +fan1cold = bits, U32, 1208, [6:6] +fan1disabledBySpeed = bits, U32, 1208, [7:7] +fan1m_state = bits, U32, 1208, [8:8] +fan1radiatorFanStatus = scalar, U08, 1212, "", 1, 0 +; total TS size = 1216 +fan2cranking = bits, U32, 1216, [0:0] +fan2notRunning = bits, U32, 1216, [1:1] +fan2disabledWhileEngineStopped = bits, U32, 1216, [2:2] +fan2brokenClt = bits, U32, 1216, [3:3] +fan2enabledForAc = bits, U32, 1216, [4:4] +fan2hot = bits, U32, 1216, [5:5] +fan2cold = bits, U32, 1216, [6:6] +fan2disabledBySpeed = bits, U32, 1216, [7:7] +fan2m_state = bits, U32, 1216, [8:8] +fan2radiatorFanStatus = scalar, U08, 1220, "", 1, 0 ; total TS size = 1224 -isBenchTest = bits, U32, 1224, [0:0] -hasIgnitionVoltage = bits, U32, 1224, [1:1] -mainRelayState = bits, U32, 1224, [2:2] -delayedShutoffRequested = bits, U32, 1224, [3:3] +isPrime = bits, U32, 1224, [0:0] +engineTurnedRecently = bits, U32, 1224, [1:1] +isFuelPumpOn = bits, U32, 1224, [2:2] +ignitionOn = bits, U32, 1224, [3:3] ; total TS size = 1228 -lua_fuelAdd = scalar, F32, 1228, "g", 1, 0 -lua_fuelMult = scalar, F32, 1232, "", 1, 0 -lua_clutchUpState = bits, U32, 1236, [0:0] -lua_brakePedalState = bits, U32, 1236, [1:1] -lua_acRequestState = bits, U32, 1236, [2:2] -lua_luaDisableEtb = bits, U32, 1236, [3:3] -lua_luaIgnCut = bits, U32, 1236, [4:4] -lua_luaFuelCut = bits, U32, 1236, [5:5] -lua_clutchDownState = bits, U32, 1236, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1236, [7:7] -lua_torqueReductionState = bits, U32, 1236, [8:8] -sd_tCharge = scalar, S16, 1240, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1244, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1248, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1252, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1256, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1260, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1264, "", 1, 0 -hellenBoardId = scalar, S16, 1268, "id", 1, 0 -clutchUpState = scalar, S08, 1270, "", 1, 0 -brakePedalState = scalar, S08, 1271, "", 1, 0 -startStopState = scalar, S08, 1272, "", 1, 0 -smartChipState = scalar, S08, 1273, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1274, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1275, "", 1, 0 -startStopPhysicalState = bits, U32, 1276, [0:0] -acrActive = bits, U32, 1276, [1:1] -acrEngineMovedRecently = bits, U32, 1276, [2:2] -heaterControlEnabled = bits, U32, 1276, [3:3] -luaDigitalState0 = bits, U32, 1276, [4:4] -luaDigitalState1 = bits, U32, 1276, [5:5] -luaDigitalState2 = bits, U32, 1276, [6:6] -luaDigitalState3 = bits, U32, 1276, [7:7] -clutchDownState = bits, U32, 1276, [8:8] -startStopStateToggleCounter = scalar, U32, 1280, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1284, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1288, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1292, "", 1, 0 -fuelInjectionCounter = scalar, U32, 1296, "", 1, 0 -globalSparkCounter = scalar, U32, 1300, "", 1, 0 -fuelingLoad = scalar, F32, 1304, "", 1, 0 -ignitionLoad = scalar, F32, 1308, "", 1, 0 -veTableYAxis = scalar, U16, 1312, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1314, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1315, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1316, "", 1, 0 -; total TS size = 1320 -tpsFrom = scalar, F32, 1320 -tpsTo = scalar, F32, 1324 -deltaTps = scalar, F32, 1328 -extraFuel = scalar, F32, 1332, "", 1, 0 -valueFromTable = scalar, F32, 1336, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1340, [0:0] -isBelowDecelThreshold = bits, U32, 1340, [1:1] -isTimeToResetAccumulator = bits, U32, 1340, [2:2] -isFractionalEnrichment = bits, U32, 1340, [3:3] -belowEpsilon = bits, U32, 1340, [4:4] -tooShort = bits, U32, 1340, [5:5] -fractionalInjFuel = scalar, F32, 1344, "", 1, 0 -accumulatedValue = scalar, F32, 1348, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1352, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1356, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1360, "", 1, 0 -cycleCnt = scalar, S32, 1364, "", 1, 0 -; total TS size = 1368 -hwEventCounters1 = scalar, U16, 1368, "", 1, 0 -hwEventCounters2 = scalar, U16, 1370, "", 1, 0 -hwEventCounters3 = scalar, U16, 1372, "", 1, 0 -hwEventCounters4 = scalar, U16, 1374, "", 1, 0 -vvtCamCounter = scalar, U16, 1376, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1380, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1384, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1388, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1389, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1392, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1396, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1400, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1404, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1408, [0:0] -triggerElapsedUs = scalar, U32, 1412, "", 1, 0 -; total TS size = 1416 -trgsynchronizationCounter = scalar, U32, 1416, "", 1, 0 -trgvvtToothDurations0 = scalar, U32, 1420, "us", 1, 0 -trgvvtCurrentPosition = scalar, F32, 1424, "", 1, 0 -trgvvtToothPosition1 = scalar, F32, 1428, "", 1, 0 -trgvvtToothPosition2 = scalar, F32, 1432, "", 1, 0 -trgvvtToothPosition3 = scalar, F32, 1436, "", 1, 0 -trgvvtToothPosition4 = scalar, F32, 1440, "", 1, 0 -trgtriggerSyncGapRatio = scalar, F32, 1444, "", 1, 0 -trgtriggerStateIndex = scalar, U08, 1448, "", 1, 0 -; total TS size = 1452 -vvt1isynchronizationCounter = scalar, U32, 1452, "", 1, 0 -vvt1ivvtToothDurations0 = scalar, U32, 1456, "us", 1, 0 -vvt1ivvtCurrentPosition = scalar, F32, 1460, "", 1, 0 -vvt1ivvtToothPosition1 = scalar, F32, 1464, "", 1, 0 -vvt1ivvtToothPosition2 = scalar, F32, 1468, "", 1, 0 -vvt1ivvtToothPosition3 = scalar, F32, 1472, "", 1, 0 -vvt1ivvtToothPosition4 = scalar, F32, 1476, "", 1, 0 -vvt1itriggerSyncGapRatio = scalar, F32, 1480, "", 1, 0 -vvt1itriggerStateIndex = scalar, U08, 1484, "", 1, 0 -; total TS size = 1488 -vvt1esynchronizationCounter = scalar, U32, 1488, "", 1, 0 -vvt1evvtToothDurations0 = scalar, U32, 1492, "us", 1, 0 -vvt1evvtCurrentPosition = scalar, F32, 1496, "", 1, 0 -vvt1evvtToothPosition1 = scalar, F32, 1500, "", 1, 0 -vvt1evvtToothPosition2 = scalar, F32, 1504, "", 1, 0 -vvt1evvtToothPosition3 = scalar, F32, 1508, "", 1, 0 -vvt1evvtToothPosition4 = scalar, F32, 1512, "", 1, 0 -vvt1etriggerSyncGapRatio = scalar, F32, 1516, "", 1, 0 -vvt1etriggerStateIndex = scalar, U08, 1520, "", 1, 0 -; total TS size = 1524 -vvt2isynchronizationCounter = scalar, U32, 1524, "", 1, 0 -vvt2ivvtToothDurations0 = scalar, U32, 1528, "us", 1, 0 -vvt2ivvtCurrentPosition = scalar, F32, 1532, "", 1, 0 -vvt2ivvtToothPosition1 = scalar, F32, 1536, "", 1, 0 -vvt2ivvtToothPosition2 = scalar, F32, 1540, "", 1, 0 -vvt2ivvtToothPosition3 = scalar, F32, 1544, "", 1, 0 -vvt2ivvtToothPosition4 = scalar, F32, 1548, "", 1, 0 -vvt2itriggerSyncGapRatio = scalar, F32, 1552, "", 1, 0 -vvt2itriggerStateIndex = scalar, U08, 1556, "", 1, 0 -; total TS size = 1560 -vvt2esynchronizationCounter = scalar, U32, 1560, "", 1, 0 -vvt2evvtToothDurations0 = scalar, U32, 1564, "us", 1, 0 -vvt2evvtCurrentPosition = scalar, F32, 1568, "", 1, 0 -vvt2evvtToothPosition1 = scalar, F32, 1572, "", 1, 0 -vvt2evvtToothPosition2 = scalar, F32, 1576, "", 1, 0 -vvt2evvtToothPosition3 = scalar, F32, 1580, "", 1, 0 -vvt2evvtToothPosition4 = scalar, F32, 1584, "", 1, 0 -vvt2etriggerSyncGapRatio = scalar, F32, 1588, "", 1, 0 -vvt2etriggerStateIndex = scalar, U08, 1592, "", 1, 0 -; total TS size = 1596 -camResyncCounter = scalar, U08, 1596, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1600, [0:0] -; total TS size = 1604 -wallFuelCorrection = scalar, F32, 1604, "", 1, 0 -wallFuel = scalar, F32, 1608, "", 1, 0 -; total TS size = 1612 -idleState = bits, S32, 1612, [0:2], "not important" -currentIdlePosition = scalar, F32, 1616 -baseIdlePosition = scalar, F32, 1620 -idleClosedLoop = scalar, F32, 1624 -iacByTpsTaper = scalar, F32, 1628 -mightResetPid = bits, U32, 1632, [0:0] -shouldResetPid = bits, U32, 1632, [1:1] -wasResetPid = bits, U32, 1632, [2:2] -mustResetPid = bits, U32, 1632, [3:3] -isCranking = bits, U32, 1632, [4:4] -isIacTableForCoasting = bits, U32, 1632, [5:5] -notIdling = bits, U32, 1632, [6:6] -needReset = bits, U32, 1632, [7:7] -isInDeadZone = bits, U32, 1632, [8:8] -isBlipping = bits, U32, 1632, [9:9] -useClosedLoop = bits, U32, 1632, [10:10] -badTps = bits, U32, 1632, [11:11] -looksLikeRunning = bits, U32, 1632, [12:12] -looksLikeCoasting = bits, U32, 1632, [13:13] -looksLikeCrankToIdle = bits, U32, 1632, [14:14] -isIdleCoasting = bits, U32, 1632, [15:15] -isIdleClosedLoop = bits, U32, 1632, [16:16] -idleTarget = scalar, S32, 1636, "", 1, 0 -targetRpmByClt = scalar, S32, 1640, "", 1, 0 -targetRpmAc = scalar, S32, 1644, "", 1, 0 -iacByRpmTaper = scalar, F32, 1648 -luaAdd = scalar, F32, 1652 -; total TS size = 1656 -etb1targetWithIdlePosition = scalar, F32, 1656, "%", 1,0 -etb1trim = scalar, F32, 1660, "", 1, 0 -etb1luaAdjustment = scalar, F32, 1664, "%", 1,0 -etb1m_wastegatePosition = scalar, F32, 1668, "%", 1,0 -etb1etbFeedForward = scalar, F32, 1672 -etb1etbIntegralError = scalar, F32, 1676, "", 1, 0 -etb1etbCurrentTarget = scalar, F32, 1680, "%", 1, 0 -etb1m_adjustedTarget = scalar, S16, 1684, "%", 0.01, 0 -etb1etbRevLimitActive = bits, U32, 1688, [0:0] -etb1jamDetected = bits, U32, 1688, [1:1] -etb1validPlantPosition = bits, U32, 1688, [2:2] -etb1etbTpsErrorCounter = scalar, U16, 1692, "count", 1,0 -etb1etbPpsErrorCounter = scalar, U16, 1694, "count", 1,0 -etb1etbErrorCode = scalar, S08, 1696, "", 1, 0 -etb1etbErrorCodeBlinker = scalar, S08, 1697, "", 1, 0 -etb1tcEtbDrop = scalar, S08, 1698, "%", 1, 0 -etb1jamTimer = scalar, U16, 1700, "sec", 0.01, 0 -etb1adjustedEtbTarget = scalar, S08, 1702, "%", 1, 0 -etb1state = scalar, U08, 1703, "", 1, 0 -; total TS size = 1704 -etb2targetWithIdlePosition = scalar, F32, 1704, "%", 1,0 -etb2trim = scalar, F32, 1708, "", 1, 0 -etb2luaAdjustment = scalar, F32, 1712, "%", 1,0 -etb2m_wastegatePosition = scalar, F32, 1716, "%", 1,0 -etb2etbFeedForward = scalar, F32, 1720 -etb2etbIntegralError = scalar, F32, 1724, "", 1, 0 -etb2etbCurrentTarget = scalar, F32, 1728, "%", 1, 0 -etb2m_adjustedTarget = scalar, S16, 1732, "%", 0.01, 0 -etb2etbRevLimitActive = bits, U32, 1736, [0:0] -etb2jamDetected = bits, U32, 1736, [1:1] -etb2validPlantPosition = bits, U32, 1736, [2:2] -etb2etbTpsErrorCounter = scalar, U16, 1740, "count", 1,0 -etb2etbPpsErrorCounter = scalar, U16, 1742, "count", 1,0 -etb2etbErrorCode = scalar, S08, 1744, "", 1, 0 -etb2etbErrorCodeBlinker = scalar, S08, 1745, "", 1, 0 -etb2tcEtbDrop = scalar, S08, 1746, "%", 1, 0 -etb2jamTimer = scalar, U16, 1748, "sec", 0.01, 0 -etb2adjustedEtbTarget = scalar, S08, 1750, "%", 1, 0 -etb2state = scalar, U08, 1751, "", 1, 0 -; total TS size = 1752 -wb1faultCode = scalar, U08, 1752, "", 1, 0 -wb1heaterDuty = scalar, U08, 1753, "%", 1, 0 -wb1pumpDuty = scalar, U08, 1754, "%", 1, 0 -wb1tempC = scalar, U16, 1756, "C", 1, 0 -wb1nernstVoltage = scalar, U16, 1758, "V", 0.001, 0 -wb1esr = scalar, U16, 1760, "ohm", 1, 0 -; total TS size = 1764 -wb2faultCode = scalar, U08, 1764, "", 1, 0 -wb2heaterDuty = scalar, U08, 1765, "%", 1, 0 -wb2pumpDuty = scalar, U08, 1766, "%", 1, 0 -wb2tempC = scalar, U16, 1768, "C", 1, 0 -wb2nernstVoltage = scalar, U16, 1770, "V", 0.001, 0 -wb2esr = scalar, U16, 1772, "ohm", 1, 0 -; total TS size = 1776 -dcOutput0 = scalar, F32, 1776, "%", 1,0 -isEnabled0_int = scalar, U08, 1780, "%", 1,0 -isEnabled0 = bits, U32, 1784, [0:0] -; total TS size = 1788 -value0 = scalar, U16, 1788, "RAW", 1,0 -value1 = scalar, U16, 1790, "RAW", 1,0 -errorRate = scalar, F32, 1792, "% (don't belive me)", 1,0 -; total TS size = 1796 -vvtTarget = scalar, U16, 1796, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1798, "%", 0.5, 0 +isBenchTest = bits, U32, 1228, [0:0] +hasIgnitionVoltage = bits, U32, 1228, [1:1] +mainRelayState = bits, U32, 1228, [2:2] +delayedShutoffRequested = bits, U32, 1228, [3:3] +; total TS size = 1232 +lua_fuelAdd = scalar, F32, 1232, "g", 1, 0 +lua_fuelMult = scalar, F32, 1236, "", 1, 0 +lua_clutchUpState = bits, U32, 1240, [0:0] +lua_brakePedalState = bits, U32, 1240, [1:1] +lua_acRequestState = bits, U32, 1240, [2:2] +lua_luaDisableEtb = bits, U32, 1240, [3:3] +lua_luaIgnCut = bits, U32, 1240, [4:4] +lua_luaFuelCut = bits, U32, 1240, [5:5] +lua_clutchDownState = bits, U32, 1240, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1240, [7:7] +lua_torqueReductionState = bits, U32, 1240, [8:8] +sd_tCharge = scalar, S16, 1244, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1248, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1252, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1256, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1260, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1264, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1268, "", 1, 0 +hellenBoardId = scalar, S16, 1272, "id", 1, 0 +clutchUpState = scalar, S08, 1274, "", 1, 0 +brakePedalState = scalar, S08, 1275, "", 1, 0 +startStopState = scalar, S08, 1276, "", 1, 0 +smartChipState = scalar, S08, 1277, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1278, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1279, "", 1, 0 +startStopPhysicalState = bits, U32, 1280, [0:0] +acrActive = bits, U32, 1280, [1:1] +acrEngineMovedRecently = bits, U32, 1280, [2:2] +heaterControlEnabled = bits, U32, 1280, [3:3] +luaDigitalState0 = bits, U32, 1280, [4:4] +luaDigitalState1 = bits, U32, 1280, [5:5] +luaDigitalState2 = bits, U32, 1280, [6:6] +luaDigitalState3 = bits, U32, 1280, [7:7] +clutchDownState = bits, U32, 1280, [8:8] +startStopStateToggleCounter = scalar, U32, 1284, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1288, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1292, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1296, "", 1, 0 +fuelInjectionCounter = scalar, U32, 1300, "", 1, 0 +globalSparkCounter = scalar, U32, 1304, "", 1, 0 +fuelingLoad = scalar, F32, 1308, "", 1, 0 +ignitionLoad = scalar, F32, 1312, "", 1, 0 +veTableYAxis = scalar, U16, 1316, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1318, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1319, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1320, "", 1, 0 +; total TS size = 1324 +tpsFrom = scalar, F32, 1324 +tpsTo = scalar, F32, 1328 +deltaTps = scalar, F32, 1332 +extraFuel = scalar, F32, 1336, "", 1, 0 +valueFromTable = scalar, F32, 1340, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1344, [0:0] +isBelowDecelThreshold = bits, U32, 1344, [1:1] +isTimeToResetAccumulator = bits, U32, 1344, [2:2] +isFractionalEnrichment = bits, U32, 1344, [3:3] +belowEpsilon = bits, U32, 1344, [4:4] +tooShort = bits, U32, 1344, [5:5] +fractionalInjFuel = scalar, F32, 1348, "", 1, 0 +accumulatedValue = scalar, F32, 1352, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1356, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1360, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1364, "", 1, 0 +cycleCnt = scalar, S32, 1368, "", 1, 0 +; total TS size = 1372 +hwEventCounters1 = scalar, U16, 1372, "", 1, 0 +hwEventCounters2 = scalar, U16, 1374, "", 1, 0 +hwEventCounters3 = scalar, U16, 1376, "", 1, 0 +hwEventCounters4 = scalar, U16, 1378, "", 1, 0 +vvtCamCounter = scalar, U16, 1380, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1384, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1388, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1392, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1393, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1396, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1400, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1404, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1408, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1412, [0:0] +triggerElapsedUs = scalar, U32, 1416, "", 1, 0 +; total TS size = 1420 +trgsynchronizationCounter = scalar, U32, 1420, "", 1, 0 +trgvvtToothDurations0 = scalar, U32, 1424, "us", 1, 0 +trgvvtCurrentPosition = scalar, F32, 1428, "", 1, 0 +trgvvtToothPosition1 = scalar, F32, 1432, "", 1, 0 +trgvvtToothPosition2 = scalar, F32, 1436, "", 1, 0 +trgvvtToothPosition3 = scalar, F32, 1440, "", 1, 0 +trgvvtToothPosition4 = scalar, F32, 1444, "", 1, 0 +trgtriggerSyncGapRatio = scalar, F32, 1448, "", 1, 0 +trgtriggerStateIndex = scalar, U08, 1452, "", 1, 0 +; total TS size = 1456 +vvt1isynchronizationCounter = scalar, U32, 1456, "", 1, 0 +vvt1ivvtToothDurations0 = scalar, U32, 1460, "us", 1, 0 +vvt1ivvtCurrentPosition = scalar, F32, 1464, "", 1, 0 +vvt1ivvtToothPosition1 = scalar, F32, 1468, "", 1, 0 +vvt1ivvtToothPosition2 = scalar, F32, 1472, "", 1, 0 +vvt1ivvtToothPosition3 = scalar, F32, 1476, "", 1, 0 +vvt1ivvtToothPosition4 = scalar, F32, 1480, "", 1, 0 +vvt1itriggerSyncGapRatio = scalar, F32, 1484, "", 1, 0 +vvt1itriggerStateIndex = scalar, U08, 1488, "", 1, 0 +; total TS size = 1492 +vvt1esynchronizationCounter = scalar, U32, 1492, "", 1, 0 +vvt1evvtToothDurations0 = scalar, U32, 1496, "us", 1, 0 +vvt1evvtCurrentPosition = scalar, F32, 1500, "", 1, 0 +vvt1evvtToothPosition1 = scalar, F32, 1504, "", 1, 0 +vvt1evvtToothPosition2 = scalar, F32, 1508, "", 1, 0 +vvt1evvtToothPosition3 = scalar, F32, 1512, "", 1, 0 +vvt1evvtToothPosition4 = scalar, F32, 1516, "", 1, 0 +vvt1etriggerSyncGapRatio = scalar, F32, 1520, "", 1, 0 +vvt1etriggerStateIndex = scalar, U08, 1524, "", 1, 0 +; total TS size = 1528 +vvt2isynchronizationCounter = scalar, U32, 1528, "", 1, 0 +vvt2ivvtToothDurations0 = scalar, U32, 1532, "us", 1, 0 +vvt2ivvtCurrentPosition = scalar, F32, 1536, "", 1, 0 +vvt2ivvtToothPosition1 = scalar, F32, 1540, "", 1, 0 +vvt2ivvtToothPosition2 = scalar, F32, 1544, "", 1, 0 +vvt2ivvtToothPosition3 = scalar, F32, 1548, "", 1, 0 +vvt2ivvtToothPosition4 = scalar, F32, 1552, "", 1, 0 +vvt2itriggerSyncGapRatio = scalar, F32, 1556, "", 1, 0 +vvt2itriggerStateIndex = scalar, U08, 1560, "", 1, 0 +; total TS size = 1564 +vvt2esynchronizationCounter = scalar, U32, 1564, "", 1, 0 +vvt2evvtToothDurations0 = scalar, U32, 1568, "us", 1, 0 +vvt2evvtCurrentPosition = scalar, F32, 1572, "", 1, 0 +vvt2evvtToothPosition1 = scalar, F32, 1576, "", 1, 0 +vvt2evvtToothPosition2 = scalar, F32, 1580, "", 1, 0 +vvt2evvtToothPosition3 = scalar, F32, 1584, "", 1, 0 +vvt2evvtToothPosition4 = scalar, F32, 1588, "", 1, 0 +vvt2etriggerSyncGapRatio = scalar, F32, 1592, "", 1, 0 +vvt2etriggerStateIndex = scalar, U08, 1596, "", 1, 0 +; total TS size = 1600 +camResyncCounter = scalar, U08, 1600, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1604, [0:0] +; total TS size = 1608 +wallFuelCorrection = scalar, F32, 1608, "", 1, 0 +wallFuel = scalar, F32, 1612, "", 1, 0 +; total TS size = 1616 +idleState = bits, S32, 1616, [0:2], "not important" +currentIdlePosition = scalar, F32, 1620 +baseIdlePosition = scalar, F32, 1624 +idleClosedLoop = scalar, F32, 1628 +iacByTpsTaper = scalar, F32, 1632 +mightResetPid = bits, U32, 1636, [0:0] +shouldResetPid = bits, U32, 1636, [1:1] +wasResetPid = bits, U32, 1636, [2:2] +mustResetPid = bits, U32, 1636, [3:3] +isCranking = bits, U32, 1636, [4:4] +isIacTableForCoasting = bits, U32, 1636, [5:5] +notIdling = bits, U32, 1636, [6:6] +needReset = bits, U32, 1636, [7:7] +isInDeadZone = bits, U32, 1636, [8:8] +isBlipping = bits, U32, 1636, [9:9] +useClosedLoop = bits, U32, 1636, [10:10] +badTps = bits, U32, 1636, [11:11] +looksLikeRunning = bits, U32, 1636, [12:12] +looksLikeCoasting = bits, U32, 1636, [13:13] +looksLikeCrankToIdle = bits, U32, 1636, [14:14] +isIdleCoasting = bits, U32, 1636, [15:15] +isIdleClosedLoop = bits, U32, 1636, [16:16] +idleTarget = scalar, S32, 1640, "", 1, 0 +targetRpmByClt = scalar, S32, 1644, "", 1, 0 +targetRpmAc = scalar, S32, 1648, "", 1, 0 +iacByRpmTaper = scalar, F32, 1652 +luaAdd = scalar, F32, 1656 +; total TS size = 1660 +etb1targetWithIdlePosition = scalar, F32, 1660, "%", 1,0 +etb1trim = scalar, F32, 1664, "", 1, 0 +etb1luaAdjustment = scalar, F32, 1668, "%", 1,0 +etb1m_wastegatePosition = scalar, F32, 1672, "%", 1,0 +etb1etbFeedForward = scalar, F32, 1676 +etb1etbIntegralError = scalar, F32, 1680, "", 1, 0 +etb1etbCurrentTarget = scalar, F32, 1684, "%", 1, 0 +etb1m_adjustedTarget = scalar, S16, 1688, "%", 0.01, 0 +etb1etbRevLimitActive = bits, U32, 1692, [0:0] +etb1jamDetected = bits, U32, 1692, [1:1] +etb1validPlantPosition = bits, U32, 1692, [2:2] +etb1etbTpsErrorCounter = scalar, U16, 1696, "count", 1,0 +etb1etbPpsErrorCounter = scalar, U16, 1698, "count", 1,0 +etb1etbErrorCode = scalar, S08, 1700, "", 1, 0 +etb1etbErrorCodeBlinker = scalar, S08, 1701, "", 1, 0 +etb1tcEtbDrop = scalar, S08, 1702, "%", 1, 0 +etb1jamTimer = scalar, U16, 1704, "sec", 0.01, 0 +etb1adjustedEtbTarget = scalar, S08, 1706, "%", 1, 0 +etb1state = scalar, U08, 1707, "", 1, 0 +; total TS size = 1708 +etb2targetWithIdlePosition = scalar, F32, 1708, "%", 1,0 +etb2trim = scalar, F32, 1712, "", 1, 0 +etb2luaAdjustment = scalar, F32, 1716, "%", 1,0 +etb2m_wastegatePosition = scalar, F32, 1720, "%", 1,0 +etb2etbFeedForward = scalar, F32, 1724 +etb2etbIntegralError = scalar, F32, 1728, "", 1, 0 +etb2etbCurrentTarget = scalar, F32, 1732, "%", 1, 0 +etb2m_adjustedTarget = scalar, S16, 1736, "%", 0.01, 0 +etb2etbRevLimitActive = bits, U32, 1740, [0:0] +etb2jamDetected = bits, U32, 1740, [1:1] +etb2validPlantPosition = bits, U32, 1740, [2:2] +etb2etbTpsErrorCounter = scalar, U16, 1744, "count", 1,0 +etb2etbPpsErrorCounter = scalar, U16, 1746, "count", 1,0 +etb2etbErrorCode = scalar, S08, 1748, "", 1, 0 +etb2etbErrorCodeBlinker = scalar, S08, 1749, "", 1, 0 +etb2tcEtbDrop = scalar, S08, 1750, "%", 1, 0 +etb2jamTimer = scalar, U16, 1752, "sec", 0.01, 0 +etb2adjustedEtbTarget = scalar, S08, 1754, "%", 1, 0 +etb2state = scalar, U08, 1755, "", 1, 0 +; total TS size = 1756 +wb1faultCode = scalar, U08, 1756, "", 1, 0 +wb1heaterDuty = scalar, U08, 1757, "%", 1, 0 +wb1pumpDuty = scalar, U08, 1758, "%", 1, 0 +wb1tempC = scalar, U16, 1760, "C", 1, 0 +wb1nernstVoltage = scalar, U16, 1762, "V", 0.001, 0 +wb1esr = scalar, U16, 1764, "ohm", 1, 0 +; total TS size = 1768 +wb2faultCode = scalar, U08, 1768, "", 1, 0 +wb2heaterDuty = scalar, U08, 1769, "%", 1, 0 +wb2pumpDuty = scalar, U08, 1770, "%", 1, 0 +wb2tempC = scalar, U16, 1772, "C", 1, 0 +wb2nernstVoltage = scalar, U16, 1774, "V", 0.001, 0 +wb2esr = scalar, U16, 1776, "ohm", 1, 0 +; total TS size = 1780 +dcOutput0 = scalar, F32, 1780, "%", 1,0 +isEnabled0_int = scalar, U08, 1784, "%", 1,0 +isEnabled0 = bits, U32, 1788, [0:0] +; total TS size = 1792 +value0 = scalar, U16, 1792, "RAW", 1,0 +value1 = scalar, U16, 1794, "RAW", 1,0 +errorRate = scalar, F32, 1796, "% (don't belive me)", 1,0 ; total TS size = 1800 -lambdaCurrentlyGood = bits, U32, 1800, [0:0] -lambdaMonitorCut = bits, U32, 1800, [1:1] -lambdaTimeSinceGood = scalar, U16, 1804, "sec", 0.01, 0 -; total TS size = 1808 +vvtTarget = scalar, U16, 1800, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1802, "%", 0.5, 0 +; total TS size = 1804 +lambdaCurrentlyGood = bits, U32, 1804, [0:0] +lambdaMonitorCut = bits, U32, 1804, [1:1] +lambdaTimeSinceGood = scalar, U16, 1808, "sec", 0.01, 0 +; total TS size = 1812 time = { timeNow } @@ -4584,6 +4587,12 @@ curve = rangeMatrix, "Range Switch Input Matrix" gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. upDownLabel = "(RICHER)", "(LEANER)" + table = trailingSparkTable, trailingSparkMap, "Trailing spark", 1 + xyLabels = "RPM", "Ignition Load" + xBins = trailingSparkRpmBins, RPMValue + yBins = trailingSparkLoadBins, ignitionLoad + zBins = trailingSparkTable + table = torqueTableTbl, torqueTableMap, "Engine Torque", 1 xBins = torqueRpmBins, RPMValue yBins = torqueLoadBins, veTableYAxis @@ -4881,6 +4890,7 @@ timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20 timingPidCorrectionGauge = timingPidCorrection,"Idle: Timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 +trailingSparkAngleGauge = trailingSparkAngle,"Ign: Trailing spark deg", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 gaugeCategory = "Boost Control" luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 @@ -5811,6 +5821,7 @@ entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" entry = luaIgnitionSkip, "Ign: Lua Spark Skip", int, "%d" +entry = trailingSparkAngle, "Ign: Trailing spark deg", float, "%.3f" entry = m_knockLevel, "Knock: Current level", float, "%.3f" entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" @@ -6759,6 +6770,7 @@ dialog = ignition_stateDialog, "ignition_state" graphLine = luaTimingAdd liveGraph = ignition_state_4_Graph, "Graph", South graphLine = luaTimingMult + graphLine = trailingSparkAngle dialog = knock_controllerDialog, "knock_controller" @@ -10095,11 +10107,11 @@ dialog = tcuControls, "Transmission Settings" dialog = rotaryDialog, "Rotary" field = "Enable Trailing Sparks", enableTrailingSparks - field = "Trailing Spark Offset", trailingSparkAngle field = "Trailing Pin 1", trailingCoilPins1 field = "Trailing Pin 2", trailingCoilPins2 field = "Trailing Pin 3", trailingCoilPins3 field = "Trailing Pin 4", trailingCoilPins4 + panel = trailingSparkTable diff --git a/firmware/tunerstudio/generated/rusefi_atlas.ini b/firmware/tunerstudio/generated/rusefi_atlas.ini index 94a480457a..f8d6945240 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.2025.02.07.atlas.377696728" + signature = "rusEFI master.2025.02.07.atlas.2432745141" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2025.02.07.atlas.377696728" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2025.02.07.atlas.2432745141" ; 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 @@ -101,7 +101,7 @@ enable2ndByteCanID = false ; CONFIG_DEFINITION_START ; this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt -pageSize = 22780 +pageSize = 22804 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",22="BMW_M52",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",21="ET_BOSCH_QUICK_START",24="ET_TEST_WITH_BOSCH_QUICK_START",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",41="FRANKENSO_MIATA_NA6_MAP",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",47="GM_LCV",55="GM_LTG",98="GM_SBC",49="GM_SBC_GEN5",8="GY6_139QMB",6="HARLEY",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",34="MAZDA_MIATA_NA6",80="MAZDA_MIATA_NA94",10="MAZDA_MIATA_NA96",83="MAZDA_MIATA_NB1",69="MAZDA_MIATA_NB2",86="MAZDA_MIATA_NB2_36",20="MAZDA_MIATA_NC",33="ME17_9_MISC",68="MERCEDES_M111",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",4="MRE_SECONDARY_CAN",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",35="POLARIS",9="POLARIS_RZR",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",27="PROTEUS_GM_LS_4",25="PROTEUS_LUA_DEMO",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",17="TCU_4R70W",100="TEST_100",101="TEST_101",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",93="TEST_ISSUE_6451",19="TEST_ROTARY",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",102="UNUSED102",67="UNUSED67",94="UNUSED94",65="UNUSED_65",97="UNUSED_97",77="VAG_5_CYL",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -245,7 +245,7 @@ vbattAdcChannel = bits, U08, 513, [0:5], $adc_channel_e_list fuelLevelSensor = bits, U08, 514, [0:5], $adc_channel_e_list tps2_1AdcChannel = bits, U08, 515, [0:5], $adc_channel_e_list idle_derivativeFilterLoss = scalar, F32, 516, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 520, "angle", 1, 0, 0, 720, 0 +unusedTrailingSparkAngle = scalar, S32, 520, "", 1, 0, 0, 100, 0 trigger_type = bits, U32, 524, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Daihatsu 3 cylinder", "Mazda SOHC 4", "60-2", "36-1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "Dodge Ram 1+16", "60-2 Wrong Polarity", "Benelli Tre", "Dodge Stratus", "36_2_2_2", "Nissan Primera", "dev 2JZ 3/34 simulator", "Rover K", "GM 24x 5 degree", "Honda CBR 600 Cam", "INVALID", "Honda CBR 600 custom", "3-1 skipped", "Dodge Neon 2003 crank", "Miata NB", "INVALID", "INVALID", "Subaru 7+6", "Jeep 18-2-2-2", "12crank/24cam", "Dodge Neon 1995 crank only", "Jeep XJ 4 cyl", "FiatIAQ_P8", "Mazda Z5", "INVALID", "Renix 44-2-2", "Renix 66-2-2-2", "Honda K 12+1", "INVALID", "36-2", "Subaru SVX", "Suzuki K6A", "Subaru 7 without 6", "INVALID", "INVALID", "GM 60-2-2-2", "Skoda Favorit", "Barra 3+1 Cam", "Kawa KX450F", "Nissan VQ35", "INVALID", "Nissan VQ30", "Nissan QR25", "INVALID", "Subaru SVX Crank 1", "Subaru SVX Cam VVT", "Ford PIP", "Suzuki G13B", "Honda K 4+1", "Nissan MR18 Crank", "32-2", "36-2-1", "36-2-1-1", "3-0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6-0", "Daihatsu 4 cylinder", "INVALID", "dev", "Nissan HR", "Arctic Cat", "HR12 in", "HONDA J30A2", "trg88", "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" trigger_customTotalToothCount = scalar, S32, 528, "number", 1, 0, 1, 300, 0 trigger_customSkippedToothCount = scalar, S32, 532, "number", 1, 0, 0, 300, 0 @@ -1796,7 +1796,10 @@ dynoCarCarMassKg = scalar, S16, 22768, "", 1, 0, 0, 32000, 0 dynoCarCargoMassKg = scalar, S16, 22770, "", 1, 0, 0, 32000, 0 dynoCarCoeffOfDrag = scalar, F32, 22772, "", 1, 0, 0, 100, 0 dynoCarFrontalAreaM2 = scalar, F32, 22776, "", 1, 0, 0, 100, 0 -; total TS size = 22780 +trailingSparkTable = array, S08, 22780, [4x4], "deg", 0.1, 0, 0, 20, 1 +trailingSparkRpmBins = array, U08, 22796, [4], "rpm", 50.0, 0, 0, 12000, 0 +trailingSparkLoadBins = array, U08, 22800, [4], "Load", 5.0, 0, 0, 1000, 0 +; total TS size = 22804 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1890,7 +1893,6 @@ dynoCarFrontalAreaM2 = scalar, F32, 22776, "", 1, 0, 0, 100, 0 fuelLevelSensor = "This is the processor pin that your fuel level sensor in connected to. This is a non standard input so will need to be user defined." tps2_1AdcChannel = "Second throttle body position sensor, single channel so far" idle_derivativeFilterLoss = "0.1 is a good default value" - trailingSparkAngle = "just a temporary solution" trigger_type = "https://github.com/rusefi/rusefi/wiki/All-Supported-Triggers" airByRpmTaper = "Extra air taper amount" boostControlSafeDutyCycle = "Duty cycle to use in case of a sensor failure. This duty cycle should produce the minimum possible amount of boost. This duty is also used in case any of the minimum RPM/TPS/MAP conditions are not met." @@ -2664,7 +2666,7 @@ dynoCarFrontalAreaM2 = scalar, F32, 22776, "", 1, 0, 0, 100, 0 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1808 + ochBlockSize = 1812 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3189,417 +3191,418 @@ dwellVoltageCorrection = scalar, F32, 940, "", 1, 0 luaTimingAdd = scalar, F32, 944, "deg", 1, 0 luaTimingMult = scalar, F32, 948, "deg", 1, 0 luaIgnitionSkip = bits, U32, 952, [0:0] -; total TS size = 956 -m_knockLevel = scalar, F32, 956, "Volts", 1, 0 -m_knockCyl1 = scalar, S08, 960, "dBv", 1, 0 -m_knockCyl2 = scalar, S08, 961, "dBv", 1, 0 -m_knockCyl3 = scalar, S08, 962, "dBv", 1, 0 -m_knockCyl4 = scalar, S08, 963, "dBv", 1, 0 -m_knockCyl5 = scalar, S08, 964, "dBv", 1, 0 -m_knockCyl6 = scalar, S08, 965, "dBv", 1, 0 -m_knockCyl7 = scalar, S08, 966, "dBv", 1, 0 -m_knockCyl8 = scalar, S08, 967, "dBv", 1, 0 -m_knockCyl9 = scalar, S08, 968, "dBv", 1, 0 -m_knockCyl10 = scalar, S08, 969, "dBv", 1, 0 -m_knockCyl11 = scalar, S08, 970, "dBv", 1, 0 -m_knockCyl12 = scalar, S08, 971, "dBv", 1, 0 -m_knockRetard = scalar, F32, 972, "deg", 1,0 -m_knockThreshold = scalar, F32, 976, "", 1, 0 -m_knockCount = scalar, U32, 980, "", 1, 0 -m_maximumRetard = scalar, F32, 984, "", 1, 0 -m_knockSpectrum1 = scalar, U32, 988, "compressed data", 1, 0 -m_knockSpectrum2 = scalar, U32, 992, "compressed data", 1, 0 -m_knockSpectrum3 = scalar, U32, 996, "compressed data", 1, 0 -m_knockSpectrum4 = scalar, U32, 1000, "compressed data", 1, 0 -m_knockSpectrum5 = scalar, U32, 1004, "compressed data", 1, 0 -m_knockSpectrum6 = scalar, U32, 1008, "compressed data", 1, 0 -m_knockSpectrum7 = scalar, U32, 1012, "compressed data", 1, 0 -m_knockSpectrum8 = scalar, U32, 1016, "compressed data", 1, 0 -m_knockSpectrum9 = scalar, U32, 1020, "compressed data", 1, 0 -m_knockSpectrum10 = scalar, U32, 1024, "compressed data", 1, 0 -m_knockSpectrum11 = scalar, U32, 1028, "compressed data", 1, 0 -m_knockSpectrum12 = scalar, U32, 1032, "compressed data", 1, 0 -m_knockSpectrum13 = scalar, U32, 1036, "compressed data", 1, 0 -m_knockSpectrum14 = scalar, U32, 1040, "compressed data", 1, 0 -m_knockSpectrum15 = scalar, U32, 1044, "compressed data", 1, 0 -m_knockSpectrum16 = scalar, U32, 1048, "compressed data", 1, 0 -m_knockSpectrumChannelCyl = scalar, U16, 1052, "compressed N + N", 1, 0 -m_knockFrequencyStart = scalar, U16, 1054, "Hz", 1, 0 -m_knockFrequencyStep = scalar, F32, 1056, "Hz", 1, 0 -m_knockFuelTrimMultiplier = scalar, F32, 1060, "multiplier", 1, 0 -; total TS size = 1064 -m_isPriming = bits, U32, 1064, [0:0] +trailingSparkAngle = scalar, S16, 956, "deg", 0.01,0 +; total TS size = 960 +m_knockLevel = scalar, F32, 960, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 964, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 965, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 966, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 967, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 968, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 969, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 970, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 971, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 972, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 973, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 974, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 975, "dBv", 1, 0 +m_knockRetard = scalar, F32, 976, "deg", 1,0 +m_knockThreshold = scalar, F32, 980, "", 1, 0 +m_knockCount = scalar, U32, 984, "", 1, 0 +m_maximumRetard = scalar, F32, 988, "", 1, 0 +m_knockSpectrum1 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1040, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1044, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1048, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1052, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1056, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1058, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1060, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1064, "multiplier", 1, 0 ; total TS size = 1068 -tcuCurrentGear = scalar, S08, 1068, "gear", 1, 0 -tcRatio = scalar, U16, 1070, "value", 0.01, 0 -lastShiftTime = scalar, F32, 1072, "", 1, 0 -tcu_currentRange = scalar, U08, 1076, "", 1, 0 -pressureControlDuty = scalar, S08, 1077, "%", 1,0 -torqueConverterDuty = scalar, S08, 1078, "%", 1,0 -isShifting = bits, U32, 1080, [0:0] -; total TS size = 1084 -throttleUseWotModel = bits, U32, 1084, [0:0] -throttleModelCrossoverAngle = scalar, S16, 1088, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1092, "g/s", 1, 0 -; total TS size = 1096 -m_requested_pump = scalar, F32, 1096, "", 1, 0 -fuel_requested_percent = scalar, F32, 1100, "%", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1104, "", 1, 0 -noValve = bits, U32, 1108, [0:0] -angleAboveMin = bits, U32, 1108, [1:1] -isHpfpActive = bits, U32, 1108, [2:2] -HpfpValveState = bits, U32, 1108, [3:3] -m_pressureTarget_kPa = scalar, F32, 1112, "", 1, 0 -nextLobe = scalar, F32, 1116, "", 1, 0 -di_nextStart = scalar, F32, 1120, "v", 1, 0 -HpfdActivationPhase = scalar, F32, 1124, "", 1, 0 -HpfdDeactivationPhase = scalar, F32, 1128, "", 1, 0 -; total TS size = 1132 -m_deadtime = scalar, F32, 1132, "ms", 1, 0 -pressureDelta = scalar, F32, 1136, "kPa", 1, 0 -pressureRatio = scalar, F32, 1140, "", 1, 0 -; total TS size = 1144 -retardThresholdRpm = scalar, S32, 1144, "", 1, 0 -launchActivatePinState = bits, U32, 1148, [0:0] -isPreLaunchCondition = bits, U32, 1148, [1:1] -isLaunchCondition = bits, U32, 1148, [2:2] -isSwitchActivated = bits, U32, 1148, [3:3] -isClutchActivated = bits, U32, 1148, [4:4] -isBrakePedalActivated = bits, U32, 1148, [5:5] -isValidInputPin = bits, U32, 1148, [6:6] -activateSwitchCondition = bits, U32, 1148, [7:7] -rpmLaunchCondition = bits, U32, 1148, [8:8] -rpmPreLaunchCondition = bits, U32, 1148, [9:9] -speedCondition = bits, U32, 1148, [10:10] -tpsCondition = bits, U32, 1148, [11:11] -; total TS size = 1152 -isTorqueReductionTriggerPinValid = bits, U32, 1152, [0:0] -torqueReductionTriggerPinState = bits, U32, 1152, [1:1] -isTimeConditionSatisfied = bits, U32, 1152, [2:2] -isRpmConditionSatisfied = bits, U32, 1152, [3:3] -isAppConditionSatisfied = bits, U32, 1152, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1152, [5:5] +m_isPriming = bits, U32, 1068, [0:0] +; total TS size = 1072 +tcuCurrentGear = scalar, S08, 1072, "gear", 1, 0 +tcRatio = scalar, U16, 1074, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1076, "", 1, 0 +tcu_currentRange = scalar, U08, 1080, "", 1, 0 +pressureControlDuty = scalar, S08, 1081, "%", 1,0 +torqueConverterDuty = scalar, S08, 1082, "%", 1,0 +isShifting = bits, U32, 1084, [0:0] +; total TS size = 1088 +throttleUseWotModel = bits, U32, 1088, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1092, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1096, "g/s", 1, 0 +; total TS size = 1100 +m_requested_pump = scalar, F32, 1100, "", 1, 0 +fuel_requested_percent = scalar, F32, 1104, "%", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1108, "", 1, 0 +noValve = bits, U32, 1112, [0:0] +angleAboveMin = bits, U32, 1112, [1:1] +isHpfpActive = bits, U32, 1112, [2:2] +HpfpValveState = bits, U32, 1112, [3:3] +m_pressureTarget_kPa = scalar, F32, 1116, "", 1, 0 +nextLobe = scalar, F32, 1120, "", 1, 0 +di_nextStart = scalar, F32, 1124, "v", 1, 0 +HpfdActivationPhase = scalar, F32, 1128, "", 1, 0 +HpfdDeactivationPhase = scalar, F32, 1132, "", 1, 0 +; total TS size = 1136 +m_deadtime = scalar, F32, 1136, "ms", 1, 0 +pressureDelta = scalar, F32, 1140, "kPa", 1, 0 +pressureRatio = scalar, F32, 1144, "", 1, 0 +; total TS size = 1148 +retardThresholdRpm = scalar, S32, 1148, "", 1, 0 +launchActivatePinState = bits, U32, 1152, [0:0] +isPreLaunchCondition = bits, U32, 1152, [1:1] +isLaunchCondition = bits, U32, 1152, [2:2] +isSwitchActivated = bits, U32, 1152, [3:3] +isClutchActivated = bits, U32, 1152, [4:4] +isBrakePedalActivated = bits, U32, 1152, [5:5] +isValidInputPin = bits, U32, 1152, [6:6] +activateSwitchCondition = bits, U32, 1152, [7:7] +rpmLaunchCondition = bits, U32, 1152, [8:8] +rpmPreLaunchCondition = bits, U32, 1152, [9:9] +speedCondition = bits, U32, 1152, [10:10] +tpsCondition = bits, U32, 1152, [11:11] ; total TS size = 1156 -isAntilagCondition = bits, U32, 1156, [0:0] -ALSMinRPMCondition = bits, U32, 1156, [1:1] -ALSMaxRPMCondition = bits, U32, 1156, [2:2] -ALSMinCLTCondition = bits, U32, 1156, [3:3] -ALSMaxCLTCondition = bits, U32, 1156, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1156, [5:5] -isALSSwitchActivated = bits, U32, 1156, [6:6] -ALSActivatePinState = bits, U32, 1156, [7:7] -ALSSwitchCondition = bits, U32, 1156, [8:8] -ALSTimerCondition = bits, U32, 1156, [9:9] -fuelALSCorrection = scalar, F32, 1160, "", 1, 0 -timingALSCorrection = scalar, S16, 1164, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1166, "deg", 0.01, 0 -; total TS size = 1168 -isTpsInvalid = bits, U32, 1168, [0:0] -m_shouldResetPid = bits, U32, 1168, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1168, [2:2] -isNotClosedLoop = bits, U32, 1168, [3:3] -isZeroRpm = bits, U32, 1168, [4:4] -hasInitBoost = bits, U32, 1168, [5:5] -rpmTooLow = bits, U32, 1168, [6:6] -tpsTooLow = bits, U32, 1168, [7:7] -mapTooLow = bits, U32, 1168, [8:8] -isPlantValid = bits, U32, 1168, [9:9] -isBoostControlled = bits, U32, 1168, [10:10] -luaTargetAdd = scalar, S16, 1172, "v", 0.5,0 -boostOutput = scalar, S16, 1174, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1176, "v", 1,0 -openLoopPart = scalar, F32, 1180, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1184, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1188, "%", 0.5,0 -boostControlTarget = scalar, S16, 1190, "kPa", 0.03333333333333333,0 -; total TS size = 1192 -acButtonState = scalar, S08, 1192, "", 1, 0 -m_acEnabled = bits, U32, 1196, [0:0] -engineTooSlow = bits, U32, 1196, [1:1] -engineTooFast = bits, U32, 1196, [2:2] -noClt = bits, U32, 1196, [3:3] -engineTooHot = bits, U32, 1196, [4:4] -tpsTooHigh = bits, U32, 1196, [5:5] -isDisabledByLua = bits, U32, 1196, [6:6] -acCompressorState = bits, U32, 1196, [7:7] -acPressureTooLow = bits, U32, 1196, [8:8] -acPressureTooHigh = bits, U32, 1196, [9:9] -; total TS size = 1200 -isNitrousArmed = bits, U32, 1200, [0:0] -isNitrousSpeedCondition = bits, U32, 1200, [1:1] -isNitrousTpsCondition = bits, U32, 1200, [2:2] -isNitrousCltCondition = bits, U32, 1200, [3:3] -isNitrousMapCondition = bits, U32, 1200, [4:4] -isNitrousAfrCondition = bits, U32, 1200, [5:5] -isNitrousRpmCondition = bits, U32, 1200, [6:6] -isNitrousCondition = bits, U32, 1200, [7:7] +isTorqueReductionTriggerPinValid = bits, U32, 1156, [0:0] +torqueReductionTriggerPinState = bits, U32, 1156, [1:1] +isTimeConditionSatisfied = bits, U32, 1156, [2:2] +isRpmConditionSatisfied = bits, U32, 1156, [3:3] +isAppConditionSatisfied = bits, U32, 1156, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1156, [5:5] +; total TS size = 1160 +isAntilagCondition = bits, U32, 1160, [0:0] +ALSMinRPMCondition = bits, U32, 1160, [1:1] +ALSMaxRPMCondition = bits, U32, 1160, [2:2] +ALSMinCLTCondition = bits, U32, 1160, [3:3] +ALSMaxCLTCondition = bits, U32, 1160, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1160, [5:5] +isALSSwitchActivated = bits, U32, 1160, [6:6] +ALSActivatePinState = bits, U32, 1160, [7:7] +ALSSwitchCondition = bits, U32, 1160, [8:8] +ALSTimerCondition = bits, U32, 1160, [9:9] +fuelALSCorrection = scalar, F32, 1164, "", 1, 0 +timingALSCorrection = scalar, S16, 1168, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1170, "deg", 0.01, 0 +; total TS size = 1172 +isTpsInvalid = bits, U32, 1172, [0:0] +m_shouldResetPid = bits, U32, 1172, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1172, [2:2] +isNotClosedLoop = bits, U32, 1172, [3:3] +isZeroRpm = bits, U32, 1172, [4:4] +hasInitBoost = bits, U32, 1172, [5:5] +rpmTooLow = bits, U32, 1172, [6:6] +tpsTooLow = bits, U32, 1172, [7:7] +mapTooLow = bits, U32, 1172, [8:8] +isPlantValid = bits, U32, 1172, [9:9] +isBoostControlled = bits, U32, 1172, [10:10] +luaTargetAdd = scalar, S16, 1176, "v", 0.5,0 +boostOutput = scalar, S16, 1178, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1180, "v", 1,0 +openLoopPart = scalar, F32, 1184, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1188, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1192, "%", 0.5,0 +boostControlTarget = scalar, S16, 1194, "kPa", 0.03333333333333333,0 +; total TS size = 1196 +acButtonState = scalar, S08, 1196, "", 1, 0 +m_acEnabled = bits, U32, 1200, [0:0] +engineTooSlow = bits, U32, 1200, [1:1] +engineTooFast = bits, U32, 1200, [2:2] +noClt = bits, U32, 1200, [3:3] +engineTooHot = bits, U32, 1200, [4:4] +tpsTooHigh = bits, U32, 1200, [5:5] +isDisabledByLua = bits, U32, 1200, [6:6] +acCompressorState = bits, U32, 1200, [7:7] +acPressureTooLow = bits, U32, 1200, [8:8] +acPressureTooHigh = bits, U32, 1200, [9:9] ; total TS size = 1204 -fan1cranking = bits, U32, 1204, [0:0] -fan1notRunning = bits, U32, 1204, [1:1] -fan1disabledWhileEngineStopped = bits, U32, 1204, [2:2] -fan1brokenClt = bits, U32, 1204, [3:3] -fan1enabledForAc = bits, U32, 1204, [4:4] -fan1hot = bits, U32, 1204, [5:5] -fan1cold = bits, U32, 1204, [6:6] -fan1disabledBySpeed = bits, U32, 1204, [7:7] -fan1m_state = bits, U32, 1204, [8:8] -fan1radiatorFanStatus = scalar, U08, 1208, "", 1, 0 -; total TS size = 1212 -fan2cranking = bits, U32, 1212, [0:0] -fan2notRunning = bits, U32, 1212, [1:1] -fan2disabledWhileEngineStopped = bits, U32, 1212, [2:2] -fan2brokenClt = bits, U32, 1212, [3:3] -fan2enabledForAc = bits, U32, 1212, [4:4] -fan2hot = bits, U32, 1212, [5:5] -fan2cold = bits, U32, 1212, [6:6] -fan2disabledBySpeed = bits, U32, 1212, [7:7] -fan2m_state = bits, U32, 1212, [8:8] -fan2radiatorFanStatus = scalar, U08, 1216, "", 1, 0 -; total TS size = 1220 -isPrime = bits, U32, 1220, [0:0] -engineTurnedRecently = bits, U32, 1220, [1:1] -isFuelPumpOn = bits, U32, 1220, [2:2] -ignitionOn = bits, U32, 1220, [3:3] +isNitrousArmed = bits, U32, 1204, [0:0] +isNitrousSpeedCondition = bits, U32, 1204, [1:1] +isNitrousTpsCondition = bits, U32, 1204, [2:2] +isNitrousCltCondition = bits, U32, 1204, [3:3] +isNitrousMapCondition = bits, U32, 1204, [4:4] +isNitrousAfrCondition = bits, U32, 1204, [5:5] +isNitrousRpmCondition = bits, U32, 1204, [6:6] +isNitrousCondition = bits, U32, 1204, [7:7] +; total TS size = 1208 +fan1cranking = bits, U32, 1208, [0:0] +fan1notRunning = bits, U32, 1208, [1:1] +fan1disabledWhileEngineStopped = bits, U32, 1208, [2:2] +fan1brokenClt = bits, U32, 1208, [3:3] +fan1enabledForAc = bits, U32, 1208, [4:4] +fan1hot = bits, U32, 1208, [5:5] +fan1cold = bits, U32, 1208, [6:6] +fan1disabledBySpeed = bits, U32, 1208, [7:7] +fan1m_state = bits, U32, 1208, [8:8] +fan1radiatorFanStatus = scalar, U08, 1212, "", 1, 0 +; total TS size = 1216 +fan2cranking = bits, U32, 1216, [0:0] +fan2notRunning = bits, U32, 1216, [1:1] +fan2disabledWhileEngineStopped = bits, U32, 1216, [2:2] +fan2brokenClt = bits, U32, 1216, [3:3] +fan2enabledForAc = bits, U32, 1216, [4:4] +fan2hot = bits, U32, 1216, [5:5] +fan2cold = bits, U32, 1216, [6:6] +fan2disabledBySpeed = bits, U32, 1216, [7:7] +fan2m_state = bits, U32, 1216, [8:8] +fan2radiatorFanStatus = scalar, U08, 1220, "", 1, 0 ; total TS size = 1224 -isBenchTest = bits, U32, 1224, [0:0] -hasIgnitionVoltage = bits, U32, 1224, [1:1] -mainRelayState = bits, U32, 1224, [2:2] -delayedShutoffRequested = bits, U32, 1224, [3:3] +isPrime = bits, U32, 1224, [0:0] +engineTurnedRecently = bits, U32, 1224, [1:1] +isFuelPumpOn = bits, U32, 1224, [2:2] +ignitionOn = bits, U32, 1224, [3:3] ; total TS size = 1228 -lua_fuelAdd = scalar, F32, 1228, "g", 1, 0 -lua_fuelMult = scalar, F32, 1232, "", 1, 0 -lua_clutchUpState = bits, U32, 1236, [0:0] -lua_brakePedalState = bits, U32, 1236, [1:1] -lua_acRequestState = bits, U32, 1236, [2:2] -lua_luaDisableEtb = bits, U32, 1236, [3:3] -lua_luaIgnCut = bits, U32, 1236, [4:4] -lua_luaFuelCut = bits, U32, 1236, [5:5] -lua_clutchDownState = bits, U32, 1236, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1236, [7:7] -lua_torqueReductionState = bits, U32, 1236, [8:8] -sd_tCharge = scalar, S16, 1240, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1244, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1248, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1252, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1256, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1260, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1264, "", 1, 0 -hellenBoardId = scalar, S16, 1268, "id", 1, 0 -clutchUpState = scalar, S08, 1270, "", 1, 0 -brakePedalState = scalar, S08, 1271, "", 1, 0 -startStopState = scalar, S08, 1272, "", 1, 0 -smartChipState = scalar, S08, 1273, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1274, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1275, "", 1, 0 -startStopPhysicalState = bits, U32, 1276, [0:0] -acrActive = bits, U32, 1276, [1:1] -acrEngineMovedRecently = bits, U32, 1276, [2:2] -heaterControlEnabled = bits, U32, 1276, [3:3] -luaDigitalState0 = bits, U32, 1276, [4:4] -luaDigitalState1 = bits, U32, 1276, [5:5] -luaDigitalState2 = bits, U32, 1276, [6:6] -luaDigitalState3 = bits, U32, 1276, [7:7] -clutchDownState = bits, U32, 1276, [8:8] -startStopStateToggleCounter = scalar, U32, 1280, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1284, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1288, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1292, "", 1, 0 -fuelInjectionCounter = scalar, U32, 1296, "", 1, 0 -globalSparkCounter = scalar, U32, 1300, "", 1, 0 -fuelingLoad = scalar, F32, 1304, "", 1, 0 -ignitionLoad = scalar, F32, 1308, "", 1, 0 -veTableYAxis = scalar, U16, 1312, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1314, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1315, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1316, "", 1, 0 -; total TS size = 1320 -tpsFrom = scalar, F32, 1320 -tpsTo = scalar, F32, 1324 -deltaTps = scalar, F32, 1328 -extraFuel = scalar, F32, 1332, "", 1, 0 -valueFromTable = scalar, F32, 1336, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1340, [0:0] -isBelowDecelThreshold = bits, U32, 1340, [1:1] -isTimeToResetAccumulator = bits, U32, 1340, [2:2] -isFractionalEnrichment = bits, U32, 1340, [3:3] -belowEpsilon = bits, U32, 1340, [4:4] -tooShort = bits, U32, 1340, [5:5] -fractionalInjFuel = scalar, F32, 1344, "", 1, 0 -accumulatedValue = scalar, F32, 1348, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1352, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1356, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1360, "", 1, 0 -cycleCnt = scalar, S32, 1364, "", 1, 0 -; total TS size = 1368 -hwEventCounters1 = scalar, U16, 1368, "", 1, 0 -hwEventCounters2 = scalar, U16, 1370, "", 1, 0 -hwEventCounters3 = scalar, U16, 1372, "", 1, 0 -hwEventCounters4 = scalar, U16, 1374, "", 1, 0 -vvtCamCounter = scalar, U16, 1376, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1380, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1384, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1388, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1389, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1392, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1396, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1400, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1404, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1408, [0:0] -triggerElapsedUs = scalar, U32, 1412, "", 1, 0 -; total TS size = 1416 -trgsynchronizationCounter = scalar, U32, 1416, "", 1, 0 -trgvvtToothDurations0 = scalar, U32, 1420, "us", 1, 0 -trgvvtCurrentPosition = scalar, F32, 1424, "", 1, 0 -trgvvtToothPosition1 = scalar, F32, 1428, "", 1, 0 -trgvvtToothPosition2 = scalar, F32, 1432, "", 1, 0 -trgvvtToothPosition3 = scalar, F32, 1436, "", 1, 0 -trgvvtToothPosition4 = scalar, F32, 1440, "", 1, 0 -trgtriggerSyncGapRatio = scalar, F32, 1444, "", 1, 0 -trgtriggerStateIndex = scalar, U08, 1448, "", 1, 0 -; total TS size = 1452 -vvt1isynchronizationCounter = scalar, U32, 1452, "", 1, 0 -vvt1ivvtToothDurations0 = scalar, U32, 1456, "us", 1, 0 -vvt1ivvtCurrentPosition = scalar, F32, 1460, "", 1, 0 -vvt1ivvtToothPosition1 = scalar, F32, 1464, "", 1, 0 -vvt1ivvtToothPosition2 = scalar, F32, 1468, "", 1, 0 -vvt1ivvtToothPosition3 = scalar, F32, 1472, "", 1, 0 -vvt1ivvtToothPosition4 = scalar, F32, 1476, "", 1, 0 -vvt1itriggerSyncGapRatio = scalar, F32, 1480, "", 1, 0 -vvt1itriggerStateIndex = scalar, U08, 1484, "", 1, 0 -; total TS size = 1488 -vvt1esynchronizationCounter = scalar, U32, 1488, "", 1, 0 -vvt1evvtToothDurations0 = scalar, U32, 1492, "us", 1, 0 -vvt1evvtCurrentPosition = scalar, F32, 1496, "", 1, 0 -vvt1evvtToothPosition1 = scalar, F32, 1500, "", 1, 0 -vvt1evvtToothPosition2 = scalar, F32, 1504, "", 1, 0 -vvt1evvtToothPosition3 = scalar, F32, 1508, "", 1, 0 -vvt1evvtToothPosition4 = scalar, F32, 1512, "", 1, 0 -vvt1etriggerSyncGapRatio = scalar, F32, 1516, "", 1, 0 -vvt1etriggerStateIndex = scalar, U08, 1520, "", 1, 0 -; total TS size = 1524 -vvt2isynchronizationCounter = scalar, U32, 1524, "", 1, 0 -vvt2ivvtToothDurations0 = scalar, U32, 1528, "us", 1, 0 -vvt2ivvtCurrentPosition = scalar, F32, 1532, "", 1, 0 -vvt2ivvtToothPosition1 = scalar, F32, 1536, "", 1, 0 -vvt2ivvtToothPosition2 = scalar, F32, 1540, "", 1, 0 -vvt2ivvtToothPosition3 = scalar, F32, 1544, "", 1, 0 -vvt2ivvtToothPosition4 = scalar, F32, 1548, "", 1, 0 -vvt2itriggerSyncGapRatio = scalar, F32, 1552, "", 1, 0 -vvt2itriggerStateIndex = scalar, U08, 1556, "", 1, 0 -; total TS size = 1560 -vvt2esynchronizationCounter = scalar, U32, 1560, "", 1, 0 -vvt2evvtToothDurations0 = scalar, U32, 1564, "us", 1, 0 -vvt2evvtCurrentPosition = scalar, F32, 1568, "", 1, 0 -vvt2evvtToothPosition1 = scalar, F32, 1572, "", 1, 0 -vvt2evvtToothPosition2 = scalar, F32, 1576, "", 1, 0 -vvt2evvtToothPosition3 = scalar, F32, 1580, "", 1, 0 -vvt2evvtToothPosition4 = scalar, F32, 1584, "", 1, 0 -vvt2etriggerSyncGapRatio = scalar, F32, 1588, "", 1, 0 -vvt2etriggerStateIndex = scalar, U08, 1592, "", 1, 0 -; total TS size = 1596 -camResyncCounter = scalar, U08, 1596, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1600, [0:0] -; total TS size = 1604 -wallFuelCorrection = scalar, F32, 1604, "", 1, 0 -wallFuel = scalar, F32, 1608, "", 1, 0 -; total TS size = 1612 -idleState = bits, S32, 1612, [0:2], "not important" -currentIdlePosition = scalar, F32, 1616 -baseIdlePosition = scalar, F32, 1620 -idleClosedLoop = scalar, F32, 1624 -iacByTpsTaper = scalar, F32, 1628 -mightResetPid = bits, U32, 1632, [0:0] -shouldResetPid = bits, U32, 1632, [1:1] -wasResetPid = bits, U32, 1632, [2:2] -mustResetPid = bits, U32, 1632, [3:3] -isCranking = bits, U32, 1632, [4:4] -isIacTableForCoasting = bits, U32, 1632, [5:5] -notIdling = bits, U32, 1632, [6:6] -needReset = bits, U32, 1632, [7:7] -isInDeadZone = bits, U32, 1632, [8:8] -isBlipping = bits, U32, 1632, [9:9] -useClosedLoop = bits, U32, 1632, [10:10] -badTps = bits, U32, 1632, [11:11] -looksLikeRunning = bits, U32, 1632, [12:12] -looksLikeCoasting = bits, U32, 1632, [13:13] -looksLikeCrankToIdle = bits, U32, 1632, [14:14] -isIdleCoasting = bits, U32, 1632, [15:15] -isIdleClosedLoop = bits, U32, 1632, [16:16] -idleTarget = scalar, S32, 1636, "", 1, 0 -targetRpmByClt = scalar, S32, 1640, "", 1, 0 -targetRpmAc = scalar, S32, 1644, "", 1, 0 -iacByRpmTaper = scalar, F32, 1648 -luaAdd = scalar, F32, 1652 -; total TS size = 1656 -etb1targetWithIdlePosition = scalar, F32, 1656, "%", 1,0 -etb1trim = scalar, F32, 1660, "", 1, 0 -etb1luaAdjustment = scalar, F32, 1664, "%", 1,0 -etb1m_wastegatePosition = scalar, F32, 1668, "%", 1,0 -etb1etbFeedForward = scalar, F32, 1672 -etb1etbIntegralError = scalar, F32, 1676, "", 1, 0 -etb1etbCurrentTarget = scalar, F32, 1680, "%", 1, 0 -etb1m_adjustedTarget = scalar, S16, 1684, "%", 0.01, 0 -etb1etbRevLimitActive = bits, U32, 1688, [0:0] -etb1jamDetected = bits, U32, 1688, [1:1] -etb1validPlantPosition = bits, U32, 1688, [2:2] -etb1etbTpsErrorCounter = scalar, U16, 1692, "count", 1,0 -etb1etbPpsErrorCounter = scalar, U16, 1694, "count", 1,0 -etb1etbErrorCode = scalar, S08, 1696, "", 1, 0 -etb1etbErrorCodeBlinker = scalar, S08, 1697, "", 1, 0 -etb1tcEtbDrop = scalar, S08, 1698, "%", 1, 0 -etb1jamTimer = scalar, U16, 1700, "sec", 0.01, 0 -etb1adjustedEtbTarget = scalar, S08, 1702, "%", 1, 0 -etb1state = scalar, U08, 1703, "", 1, 0 -; total TS size = 1704 -etb2targetWithIdlePosition = scalar, F32, 1704, "%", 1,0 -etb2trim = scalar, F32, 1708, "", 1, 0 -etb2luaAdjustment = scalar, F32, 1712, "%", 1,0 -etb2m_wastegatePosition = scalar, F32, 1716, "%", 1,0 -etb2etbFeedForward = scalar, F32, 1720 -etb2etbIntegralError = scalar, F32, 1724, "", 1, 0 -etb2etbCurrentTarget = scalar, F32, 1728, "%", 1, 0 -etb2m_adjustedTarget = scalar, S16, 1732, "%", 0.01, 0 -etb2etbRevLimitActive = bits, U32, 1736, [0:0] -etb2jamDetected = bits, U32, 1736, [1:1] -etb2validPlantPosition = bits, U32, 1736, [2:2] -etb2etbTpsErrorCounter = scalar, U16, 1740, "count", 1,0 -etb2etbPpsErrorCounter = scalar, U16, 1742, "count", 1,0 -etb2etbErrorCode = scalar, S08, 1744, "", 1, 0 -etb2etbErrorCodeBlinker = scalar, S08, 1745, "", 1, 0 -etb2tcEtbDrop = scalar, S08, 1746, "%", 1, 0 -etb2jamTimer = scalar, U16, 1748, "sec", 0.01, 0 -etb2adjustedEtbTarget = scalar, S08, 1750, "%", 1, 0 -etb2state = scalar, U08, 1751, "", 1, 0 -; total TS size = 1752 -wb1faultCode = scalar, U08, 1752, "", 1, 0 -wb1heaterDuty = scalar, U08, 1753, "%", 1, 0 -wb1pumpDuty = scalar, U08, 1754, "%", 1, 0 -wb1tempC = scalar, U16, 1756, "C", 1, 0 -wb1nernstVoltage = scalar, U16, 1758, "V", 0.001, 0 -wb1esr = scalar, U16, 1760, "ohm", 1, 0 -; total TS size = 1764 -wb2faultCode = scalar, U08, 1764, "", 1, 0 -wb2heaterDuty = scalar, U08, 1765, "%", 1, 0 -wb2pumpDuty = scalar, U08, 1766, "%", 1, 0 -wb2tempC = scalar, U16, 1768, "C", 1, 0 -wb2nernstVoltage = scalar, U16, 1770, "V", 0.001, 0 -wb2esr = scalar, U16, 1772, "ohm", 1, 0 -; total TS size = 1776 -dcOutput0 = scalar, F32, 1776, "%", 1,0 -isEnabled0_int = scalar, U08, 1780, "%", 1,0 -isEnabled0 = bits, U32, 1784, [0:0] -; total TS size = 1788 -value0 = scalar, U16, 1788, "RAW", 1,0 -value1 = scalar, U16, 1790, "RAW", 1,0 -errorRate = scalar, F32, 1792, "% (don't belive me)", 1,0 -; total TS size = 1796 -vvtTarget = scalar, U16, 1796, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1798, "%", 0.5, 0 +isBenchTest = bits, U32, 1228, [0:0] +hasIgnitionVoltage = bits, U32, 1228, [1:1] +mainRelayState = bits, U32, 1228, [2:2] +delayedShutoffRequested = bits, U32, 1228, [3:3] +; total TS size = 1232 +lua_fuelAdd = scalar, F32, 1232, "g", 1, 0 +lua_fuelMult = scalar, F32, 1236, "", 1, 0 +lua_clutchUpState = bits, U32, 1240, [0:0] +lua_brakePedalState = bits, U32, 1240, [1:1] +lua_acRequestState = bits, U32, 1240, [2:2] +lua_luaDisableEtb = bits, U32, 1240, [3:3] +lua_luaIgnCut = bits, U32, 1240, [4:4] +lua_luaFuelCut = bits, U32, 1240, [5:5] +lua_clutchDownState = bits, U32, 1240, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1240, [7:7] +lua_torqueReductionState = bits, U32, 1240, [8:8] +sd_tCharge = scalar, S16, 1244, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1248, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1252, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1256, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1260, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1264, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1268, "", 1, 0 +hellenBoardId = scalar, S16, 1272, "id", 1, 0 +clutchUpState = scalar, S08, 1274, "", 1, 0 +brakePedalState = scalar, S08, 1275, "", 1, 0 +startStopState = scalar, S08, 1276, "", 1, 0 +smartChipState = scalar, S08, 1277, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1278, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1279, "", 1, 0 +startStopPhysicalState = bits, U32, 1280, [0:0] +acrActive = bits, U32, 1280, [1:1] +acrEngineMovedRecently = bits, U32, 1280, [2:2] +heaterControlEnabled = bits, U32, 1280, [3:3] +luaDigitalState0 = bits, U32, 1280, [4:4] +luaDigitalState1 = bits, U32, 1280, [5:5] +luaDigitalState2 = bits, U32, 1280, [6:6] +luaDigitalState3 = bits, U32, 1280, [7:7] +clutchDownState = bits, U32, 1280, [8:8] +startStopStateToggleCounter = scalar, U32, 1284, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1288, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1292, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1296, "", 1, 0 +fuelInjectionCounter = scalar, U32, 1300, "", 1, 0 +globalSparkCounter = scalar, U32, 1304, "", 1, 0 +fuelingLoad = scalar, F32, 1308, "", 1, 0 +ignitionLoad = scalar, F32, 1312, "", 1, 0 +veTableYAxis = scalar, U16, 1316, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1318, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1319, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1320, "", 1, 0 +; total TS size = 1324 +tpsFrom = scalar, F32, 1324 +tpsTo = scalar, F32, 1328 +deltaTps = scalar, F32, 1332 +extraFuel = scalar, F32, 1336, "", 1, 0 +valueFromTable = scalar, F32, 1340, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1344, [0:0] +isBelowDecelThreshold = bits, U32, 1344, [1:1] +isTimeToResetAccumulator = bits, U32, 1344, [2:2] +isFractionalEnrichment = bits, U32, 1344, [3:3] +belowEpsilon = bits, U32, 1344, [4:4] +tooShort = bits, U32, 1344, [5:5] +fractionalInjFuel = scalar, F32, 1348, "", 1, 0 +accumulatedValue = scalar, F32, 1352, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1356, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1360, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1364, "", 1, 0 +cycleCnt = scalar, S32, 1368, "", 1, 0 +; total TS size = 1372 +hwEventCounters1 = scalar, U16, 1372, "", 1, 0 +hwEventCounters2 = scalar, U16, 1374, "", 1, 0 +hwEventCounters3 = scalar, U16, 1376, "", 1, 0 +hwEventCounters4 = scalar, U16, 1378, "", 1, 0 +vvtCamCounter = scalar, U16, 1380, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1384, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1388, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1392, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1393, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1396, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1400, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1404, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1408, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1412, [0:0] +triggerElapsedUs = scalar, U32, 1416, "", 1, 0 +; total TS size = 1420 +trgsynchronizationCounter = scalar, U32, 1420, "", 1, 0 +trgvvtToothDurations0 = scalar, U32, 1424, "us", 1, 0 +trgvvtCurrentPosition = scalar, F32, 1428, "", 1, 0 +trgvvtToothPosition1 = scalar, F32, 1432, "", 1, 0 +trgvvtToothPosition2 = scalar, F32, 1436, "", 1, 0 +trgvvtToothPosition3 = scalar, F32, 1440, "", 1, 0 +trgvvtToothPosition4 = scalar, F32, 1444, "", 1, 0 +trgtriggerSyncGapRatio = scalar, F32, 1448, "", 1, 0 +trgtriggerStateIndex = scalar, U08, 1452, "", 1, 0 +; total TS size = 1456 +vvt1isynchronizationCounter = scalar, U32, 1456, "", 1, 0 +vvt1ivvtToothDurations0 = scalar, U32, 1460, "us", 1, 0 +vvt1ivvtCurrentPosition = scalar, F32, 1464, "", 1, 0 +vvt1ivvtToothPosition1 = scalar, F32, 1468, "", 1, 0 +vvt1ivvtToothPosition2 = scalar, F32, 1472, "", 1, 0 +vvt1ivvtToothPosition3 = scalar, F32, 1476, "", 1, 0 +vvt1ivvtToothPosition4 = scalar, F32, 1480, "", 1, 0 +vvt1itriggerSyncGapRatio = scalar, F32, 1484, "", 1, 0 +vvt1itriggerStateIndex = scalar, U08, 1488, "", 1, 0 +; total TS size = 1492 +vvt1esynchronizationCounter = scalar, U32, 1492, "", 1, 0 +vvt1evvtToothDurations0 = scalar, U32, 1496, "us", 1, 0 +vvt1evvtCurrentPosition = scalar, F32, 1500, "", 1, 0 +vvt1evvtToothPosition1 = scalar, F32, 1504, "", 1, 0 +vvt1evvtToothPosition2 = scalar, F32, 1508, "", 1, 0 +vvt1evvtToothPosition3 = scalar, F32, 1512, "", 1, 0 +vvt1evvtToothPosition4 = scalar, F32, 1516, "", 1, 0 +vvt1etriggerSyncGapRatio = scalar, F32, 1520, "", 1, 0 +vvt1etriggerStateIndex = scalar, U08, 1524, "", 1, 0 +; total TS size = 1528 +vvt2isynchronizationCounter = scalar, U32, 1528, "", 1, 0 +vvt2ivvtToothDurations0 = scalar, U32, 1532, "us", 1, 0 +vvt2ivvtCurrentPosition = scalar, F32, 1536, "", 1, 0 +vvt2ivvtToothPosition1 = scalar, F32, 1540, "", 1, 0 +vvt2ivvtToothPosition2 = scalar, F32, 1544, "", 1, 0 +vvt2ivvtToothPosition3 = scalar, F32, 1548, "", 1, 0 +vvt2ivvtToothPosition4 = scalar, F32, 1552, "", 1, 0 +vvt2itriggerSyncGapRatio = scalar, F32, 1556, "", 1, 0 +vvt2itriggerStateIndex = scalar, U08, 1560, "", 1, 0 +; total TS size = 1564 +vvt2esynchronizationCounter = scalar, U32, 1564, "", 1, 0 +vvt2evvtToothDurations0 = scalar, U32, 1568, "us", 1, 0 +vvt2evvtCurrentPosition = scalar, F32, 1572, "", 1, 0 +vvt2evvtToothPosition1 = scalar, F32, 1576, "", 1, 0 +vvt2evvtToothPosition2 = scalar, F32, 1580, "", 1, 0 +vvt2evvtToothPosition3 = scalar, F32, 1584, "", 1, 0 +vvt2evvtToothPosition4 = scalar, F32, 1588, "", 1, 0 +vvt2etriggerSyncGapRatio = scalar, F32, 1592, "", 1, 0 +vvt2etriggerStateIndex = scalar, U08, 1596, "", 1, 0 +; total TS size = 1600 +camResyncCounter = scalar, U08, 1600, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1604, [0:0] +; total TS size = 1608 +wallFuelCorrection = scalar, F32, 1608, "", 1, 0 +wallFuel = scalar, F32, 1612, "", 1, 0 +; total TS size = 1616 +idleState = bits, S32, 1616, [0:2], "not important" +currentIdlePosition = scalar, F32, 1620 +baseIdlePosition = scalar, F32, 1624 +idleClosedLoop = scalar, F32, 1628 +iacByTpsTaper = scalar, F32, 1632 +mightResetPid = bits, U32, 1636, [0:0] +shouldResetPid = bits, U32, 1636, [1:1] +wasResetPid = bits, U32, 1636, [2:2] +mustResetPid = bits, U32, 1636, [3:3] +isCranking = bits, U32, 1636, [4:4] +isIacTableForCoasting = bits, U32, 1636, [5:5] +notIdling = bits, U32, 1636, [6:6] +needReset = bits, U32, 1636, [7:7] +isInDeadZone = bits, U32, 1636, [8:8] +isBlipping = bits, U32, 1636, [9:9] +useClosedLoop = bits, U32, 1636, [10:10] +badTps = bits, U32, 1636, [11:11] +looksLikeRunning = bits, U32, 1636, [12:12] +looksLikeCoasting = bits, U32, 1636, [13:13] +looksLikeCrankToIdle = bits, U32, 1636, [14:14] +isIdleCoasting = bits, U32, 1636, [15:15] +isIdleClosedLoop = bits, U32, 1636, [16:16] +idleTarget = scalar, S32, 1640, "", 1, 0 +targetRpmByClt = scalar, S32, 1644, "", 1, 0 +targetRpmAc = scalar, S32, 1648, "", 1, 0 +iacByRpmTaper = scalar, F32, 1652 +luaAdd = scalar, F32, 1656 +; total TS size = 1660 +etb1targetWithIdlePosition = scalar, F32, 1660, "%", 1,0 +etb1trim = scalar, F32, 1664, "", 1, 0 +etb1luaAdjustment = scalar, F32, 1668, "%", 1,0 +etb1m_wastegatePosition = scalar, F32, 1672, "%", 1,0 +etb1etbFeedForward = scalar, F32, 1676 +etb1etbIntegralError = scalar, F32, 1680, "", 1, 0 +etb1etbCurrentTarget = scalar, F32, 1684, "%", 1, 0 +etb1m_adjustedTarget = scalar, S16, 1688, "%", 0.01, 0 +etb1etbRevLimitActive = bits, U32, 1692, [0:0] +etb1jamDetected = bits, U32, 1692, [1:1] +etb1validPlantPosition = bits, U32, 1692, [2:2] +etb1etbTpsErrorCounter = scalar, U16, 1696, "count", 1,0 +etb1etbPpsErrorCounter = scalar, U16, 1698, "count", 1,0 +etb1etbErrorCode = scalar, S08, 1700, "", 1, 0 +etb1etbErrorCodeBlinker = scalar, S08, 1701, "", 1, 0 +etb1tcEtbDrop = scalar, S08, 1702, "%", 1, 0 +etb1jamTimer = scalar, U16, 1704, "sec", 0.01, 0 +etb1adjustedEtbTarget = scalar, S08, 1706, "%", 1, 0 +etb1state = scalar, U08, 1707, "", 1, 0 +; total TS size = 1708 +etb2targetWithIdlePosition = scalar, F32, 1708, "%", 1,0 +etb2trim = scalar, F32, 1712, "", 1, 0 +etb2luaAdjustment = scalar, F32, 1716, "%", 1,0 +etb2m_wastegatePosition = scalar, F32, 1720, "%", 1,0 +etb2etbFeedForward = scalar, F32, 1724 +etb2etbIntegralError = scalar, F32, 1728, "", 1, 0 +etb2etbCurrentTarget = scalar, F32, 1732, "%", 1, 0 +etb2m_adjustedTarget = scalar, S16, 1736, "%", 0.01, 0 +etb2etbRevLimitActive = bits, U32, 1740, [0:0] +etb2jamDetected = bits, U32, 1740, [1:1] +etb2validPlantPosition = bits, U32, 1740, [2:2] +etb2etbTpsErrorCounter = scalar, U16, 1744, "count", 1,0 +etb2etbPpsErrorCounter = scalar, U16, 1746, "count", 1,0 +etb2etbErrorCode = scalar, S08, 1748, "", 1, 0 +etb2etbErrorCodeBlinker = scalar, S08, 1749, "", 1, 0 +etb2tcEtbDrop = scalar, S08, 1750, "%", 1, 0 +etb2jamTimer = scalar, U16, 1752, "sec", 0.01, 0 +etb2adjustedEtbTarget = scalar, S08, 1754, "%", 1, 0 +etb2state = scalar, U08, 1755, "", 1, 0 +; total TS size = 1756 +wb1faultCode = scalar, U08, 1756, "", 1, 0 +wb1heaterDuty = scalar, U08, 1757, "%", 1, 0 +wb1pumpDuty = scalar, U08, 1758, "%", 1, 0 +wb1tempC = scalar, U16, 1760, "C", 1, 0 +wb1nernstVoltage = scalar, U16, 1762, "V", 0.001, 0 +wb1esr = scalar, U16, 1764, "ohm", 1, 0 +; total TS size = 1768 +wb2faultCode = scalar, U08, 1768, "", 1, 0 +wb2heaterDuty = scalar, U08, 1769, "%", 1, 0 +wb2pumpDuty = scalar, U08, 1770, "%", 1, 0 +wb2tempC = scalar, U16, 1772, "C", 1, 0 +wb2nernstVoltage = scalar, U16, 1774, "V", 0.001, 0 +wb2esr = scalar, U16, 1776, "ohm", 1, 0 +; total TS size = 1780 +dcOutput0 = scalar, F32, 1780, "%", 1,0 +isEnabled0_int = scalar, U08, 1784, "%", 1,0 +isEnabled0 = bits, U32, 1788, [0:0] +; total TS size = 1792 +value0 = scalar, U16, 1792, "RAW", 1,0 +value1 = scalar, U16, 1794, "RAW", 1,0 +errorRate = scalar, F32, 1796, "% (don't belive me)", 1,0 ; total TS size = 1800 -lambdaCurrentlyGood = bits, U32, 1800, [0:0] -lambdaMonitorCut = bits, U32, 1800, [1:1] -lambdaTimeSinceGood = scalar, U16, 1804, "sec", 0.01, 0 -; total TS size = 1808 +vvtTarget = scalar, U16, 1800, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1802, "%", 0.5, 0 +; total TS size = 1804 +lambdaCurrentlyGood = bits, U32, 1804, [0:0] +lambdaMonitorCut = bits, U32, 1804, [1:1] +lambdaTimeSinceGood = scalar, U16, 1808, "sec", 0.01, 0 +; total TS size = 1812 time = { timeNow } @@ -4584,6 +4587,12 @@ curve = rangeMatrix, "Range Switch Input Matrix" gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. upDownLabel = "(RICHER)", "(LEANER)" + table = trailingSparkTable, trailingSparkMap, "Trailing spark", 1 + xyLabels = "RPM", "Ignition Load" + xBins = trailingSparkRpmBins, RPMValue + yBins = trailingSparkLoadBins, ignitionLoad + zBins = trailingSparkTable + table = torqueTableTbl, torqueTableMap, "Engine Torque", 1 xBins = torqueRpmBins, RPMValue yBins = torqueLoadBins, veTableYAxis @@ -4881,6 +4890,7 @@ timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20 timingPidCorrectionGauge = timingPidCorrection,"Idle: Timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 +trailingSparkAngleGauge = trailingSparkAngle,"Ign: Trailing spark deg", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 gaugeCategory = "Boost Control" luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 @@ -5811,6 +5821,7 @@ entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" entry = luaIgnitionSkip, "Ign: Lua Spark Skip", int, "%d" +entry = trailingSparkAngle, "Ign: Trailing spark deg", float, "%.3f" entry = m_knockLevel, "Knock: Current level", float, "%.3f" entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" @@ -6759,6 +6770,7 @@ dialog = ignition_stateDialog, "ignition_state" graphLine = luaTimingAdd liveGraph = ignition_state_4_Graph, "Graph", South graphLine = luaTimingMult + graphLine = trailingSparkAngle dialog = knock_controllerDialog, "knock_controller" @@ -10086,11 +10098,11 @@ dialog = tcuControls, "Transmission Settings" dialog = rotaryDialog, "Rotary" field = "Enable Trailing Sparks", enableTrailingSparks - field = "Trailing Spark Offset", trailingSparkAngle field = "Trailing Pin 1", trailingCoilPins1 field = "Trailing Pin 2", trailingCoilPins2 field = "Trailing Pin 3", trailingCoilPins3 field = "Trailing Pin 4", trailingCoilPins4 + panel = trailingSparkTable diff --git a/firmware/tunerstudio/generated/rusefi_f407-discovery.ini b/firmware/tunerstudio/generated/rusefi_f407-discovery.ini index a78b3524ff..fa4911c9a4 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.2025.02.07.f407-discovery.2990287915" + signature = "rusEFI master.2025.02.07.f407-discovery.901751622" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2025.02.07.f407-discovery.2990287915" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2025.02.07.f407-discovery.901751622" ; 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 @@ -101,7 +101,7 @@ enable2ndByteCanID = false ; CONFIG_DEFINITION_START ; this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt -pageSize = 23284 +pageSize = 23308 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",22="BMW_M52",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",21="ET_BOSCH_QUICK_START",24="ET_TEST_WITH_BOSCH_QUICK_START",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",41="FRANKENSO_MIATA_NA6_MAP",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",47="GM_LCV",55="GM_LTG",98="GM_SBC",49="GM_SBC_GEN5",8="GY6_139QMB",6="HARLEY",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",34="MAZDA_MIATA_NA6",80="MAZDA_MIATA_NA94",10="MAZDA_MIATA_NA96",83="MAZDA_MIATA_NB1",69="MAZDA_MIATA_NB2",86="MAZDA_MIATA_NB2_36",20="MAZDA_MIATA_NC",33="ME17_9_MISC",68="MERCEDES_M111",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",4="MRE_SECONDARY_CAN",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",35="POLARIS",9="POLARIS_RZR",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",27="PROTEUS_GM_LS_4",25="PROTEUS_LUA_DEMO",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",17="TCU_4R70W",100="TEST_100",101="TEST_101",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",93="TEST_ISSUE_6451",19="TEST_ROTARY",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",102="UNUSED102",67="UNUSED67",94="UNUSED94",65="UNUSED_65",97="UNUSED_97",77="VAG_5_CYL",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -245,7 +245,7 @@ vbattAdcChannel = bits, U08, 513, [0:5], $adc_channel_e_list fuelLevelSensor = bits, U08, 514, [0:5], $adc_channel_e_list tps2_1AdcChannel = bits, U08, 515, [0:5], $adc_channel_e_list idle_derivativeFilterLoss = scalar, F32, 516, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 520, "angle", 1, 0, 0, 720, 0 +unusedTrailingSparkAngle = scalar, S32, 520, "", 1, 0, 0, 100, 0 trigger_type = bits, U32, 524, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Daihatsu 3 cylinder", "Mazda SOHC 4", "60-2", "36-1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "Dodge Ram 1+16", "60-2 Wrong Polarity", "Benelli Tre", "Dodge Stratus", "36_2_2_2", "Nissan Primera", "dev 2JZ 3/34 simulator", "Rover K", "GM 24x 5 degree", "Honda CBR 600 Cam", "INVALID", "Honda CBR 600 custom", "3-1 skipped", "Dodge Neon 2003 crank", "Miata NB", "INVALID", "INVALID", "Subaru 7+6", "Jeep 18-2-2-2", "12crank/24cam", "Dodge Neon 1995 crank only", "Jeep XJ 4 cyl", "FiatIAQ_P8", "Mazda Z5", "INVALID", "Renix 44-2-2", "Renix 66-2-2-2", "Honda K 12+1", "INVALID", "36-2", "Subaru SVX", "Suzuki K6A", "Subaru 7 without 6", "INVALID", "INVALID", "GM 60-2-2-2", "Skoda Favorit", "Barra 3+1 Cam", "Kawa KX450F", "Nissan VQ35", "INVALID", "Nissan VQ30", "Nissan QR25", "INVALID", "Subaru SVX Crank 1", "Subaru SVX Cam VVT", "Ford PIP", "Suzuki G13B", "Honda K 4+1", "Nissan MR18 Crank", "32-2", "36-2-1", "36-2-1-1", "3-0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6-0", "Daihatsu 4 cylinder", "INVALID", "dev", "Nissan HR", "Arctic Cat", "HR12 in", "HONDA J30A2", "trg88", "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" trigger_customTotalToothCount = scalar, S32, 528, "number", 1, 0, 1, 300, 0 trigger_customSkippedToothCount = scalar, S32, 532, "number", 1, 0, 0, 300, 0 @@ -1796,8 +1796,11 @@ dynoCarCarMassKg = scalar, S16, 23268, "", 1, 0, 0, 32000, 0 dynoCarCargoMassKg = scalar, S16, 23270, "", 1, 0, 0, 32000, 0 dynoCarCoeffOfDrag = scalar, F32, 23272, "", 1, 0, 0, 100, 0 dynoCarFrontalAreaM2 = scalar, F32, 23276, "", 1, 0, 0, 100, 0 -communityCommsLedPin = bits, U16, 23280, [0:8], $gpio_list -; total TS size = 23284 +trailingSparkTable = array, S08, 23280, [4x4], "deg", 0.1, 0, 0, 20, 1 +trailingSparkRpmBins = array, U08, 23296, [4], "rpm", 50.0, 0, 0, 12000, 0 +trailingSparkLoadBins = array, U08, 23300, [4], "Load", 5.0, 0, 0, 1000, 0 +communityCommsLedPin = bits, U16, 23304, [0:8], $gpio_list +; total TS size = 23308 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1891,7 +1894,6 @@ communityCommsLedPin = bits, U16, 23280, [0:8], $gpio_list fuelLevelSensor = "This is the processor pin that your fuel level sensor in connected to. This is a non standard input so will need to be user defined." tps2_1AdcChannel = "Second throttle body position sensor, single channel so far" idle_derivativeFilterLoss = "0.1 is a good default value" - trailingSparkAngle = "just a temporary solution" trigger_type = "https://github.com/rusefi/rusefi/wiki/All-Supported-Triggers" airByRpmTaper = "Extra air taper amount" boostControlSafeDutyCycle = "Duty cycle to use in case of a sensor failure. This duty cycle should produce the minimum possible amount of boost. This duty is also used in case any of the minimum RPM/TPS/MAP conditions are not met." @@ -2665,7 +2667,7 @@ communityCommsLedPin = bits, U16, 23280, [0:8], $gpio_list ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1808 + ochBlockSize = 1812 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3190,417 +3192,418 @@ dwellVoltageCorrection = scalar, F32, 940, "", 1, 0 luaTimingAdd = scalar, F32, 944, "deg", 1, 0 luaTimingMult = scalar, F32, 948, "deg", 1, 0 luaIgnitionSkip = bits, U32, 952, [0:0] -; total TS size = 956 -m_knockLevel = scalar, F32, 956, "Volts", 1, 0 -m_knockCyl1 = scalar, S08, 960, "dBv", 1, 0 -m_knockCyl2 = scalar, S08, 961, "dBv", 1, 0 -m_knockCyl3 = scalar, S08, 962, "dBv", 1, 0 -m_knockCyl4 = scalar, S08, 963, "dBv", 1, 0 -m_knockCyl5 = scalar, S08, 964, "dBv", 1, 0 -m_knockCyl6 = scalar, S08, 965, "dBv", 1, 0 -m_knockCyl7 = scalar, S08, 966, "dBv", 1, 0 -m_knockCyl8 = scalar, S08, 967, "dBv", 1, 0 -m_knockCyl9 = scalar, S08, 968, "dBv", 1, 0 -m_knockCyl10 = scalar, S08, 969, "dBv", 1, 0 -m_knockCyl11 = scalar, S08, 970, "dBv", 1, 0 -m_knockCyl12 = scalar, S08, 971, "dBv", 1, 0 -m_knockRetard = scalar, F32, 972, "deg", 1,0 -m_knockThreshold = scalar, F32, 976, "", 1, 0 -m_knockCount = scalar, U32, 980, "", 1, 0 -m_maximumRetard = scalar, F32, 984, "", 1, 0 -m_knockSpectrum1 = scalar, U32, 988, "compressed data", 1, 0 -m_knockSpectrum2 = scalar, U32, 992, "compressed data", 1, 0 -m_knockSpectrum3 = scalar, U32, 996, "compressed data", 1, 0 -m_knockSpectrum4 = scalar, U32, 1000, "compressed data", 1, 0 -m_knockSpectrum5 = scalar, U32, 1004, "compressed data", 1, 0 -m_knockSpectrum6 = scalar, U32, 1008, "compressed data", 1, 0 -m_knockSpectrum7 = scalar, U32, 1012, "compressed data", 1, 0 -m_knockSpectrum8 = scalar, U32, 1016, "compressed data", 1, 0 -m_knockSpectrum9 = scalar, U32, 1020, "compressed data", 1, 0 -m_knockSpectrum10 = scalar, U32, 1024, "compressed data", 1, 0 -m_knockSpectrum11 = scalar, U32, 1028, "compressed data", 1, 0 -m_knockSpectrum12 = scalar, U32, 1032, "compressed data", 1, 0 -m_knockSpectrum13 = scalar, U32, 1036, "compressed data", 1, 0 -m_knockSpectrum14 = scalar, U32, 1040, "compressed data", 1, 0 -m_knockSpectrum15 = scalar, U32, 1044, "compressed data", 1, 0 -m_knockSpectrum16 = scalar, U32, 1048, "compressed data", 1, 0 -m_knockSpectrumChannelCyl = scalar, U16, 1052, "compressed N + N", 1, 0 -m_knockFrequencyStart = scalar, U16, 1054, "Hz", 1, 0 -m_knockFrequencyStep = scalar, F32, 1056, "Hz", 1, 0 -m_knockFuelTrimMultiplier = scalar, F32, 1060, "multiplier", 1, 0 -; total TS size = 1064 -m_isPriming = bits, U32, 1064, [0:0] +trailingSparkAngle = scalar, S16, 956, "deg", 0.01,0 +; total TS size = 960 +m_knockLevel = scalar, F32, 960, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 964, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 965, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 966, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 967, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 968, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 969, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 970, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 971, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 972, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 973, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 974, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 975, "dBv", 1, 0 +m_knockRetard = scalar, F32, 976, "deg", 1,0 +m_knockThreshold = scalar, F32, 980, "", 1, 0 +m_knockCount = scalar, U32, 984, "", 1, 0 +m_maximumRetard = scalar, F32, 988, "", 1, 0 +m_knockSpectrum1 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1040, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1044, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1048, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1052, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1056, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1058, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1060, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1064, "multiplier", 1, 0 ; total TS size = 1068 -tcuCurrentGear = scalar, S08, 1068, "gear", 1, 0 -tcRatio = scalar, U16, 1070, "value", 0.01, 0 -lastShiftTime = scalar, F32, 1072, "", 1, 0 -tcu_currentRange = scalar, U08, 1076, "", 1, 0 -pressureControlDuty = scalar, S08, 1077, "%", 1,0 -torqueConverterDuty = scalar, S08, 1078, "%", 1,0 -isShifting = bits, U32, 1080, [0:0] -; total TS size = 1084 -throttleUseWotModel = bits, U32, 1084, [0:0] -throttleModelCrossoverAngle = scalar, S16, 1088, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1092, "g/s", 1, 0 -; total TS size = 1096 -m_requested_pump = scalar, F32, 1096, "", 1, 0 -fuel_requested_percent = scalar, F32, 1100, "%", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1104, "", 1, 0 -noValve = bits, U32, 1108, [0:0] -angleAboveMin = bits, U32, 1108, [1:1] -isHpfpActive = bits, U32, 1108, [2:2] -HpfpValveState = bits, U32, 1108, [3:3] -m_pressureTarget_kPa = scalar, F32, 1112, "", 1, 0 -nextLobe = scalar, F32, 1116, "", 1, 0 -di_nextStart = scalar, F32, 1120, "v", 1, 0 -HpfdActivationPhase = scalar, F32, 1124, "", 1, 0 -HpfdDeactivationPhase = scalar, F32, 1128, "", 1, 0 -; total TS size = 1132 -m_deadtime = scalar, F32, 1132, "ms", 1, 0 -pressureDelta = scalar, F32, 1136, "kPa", 1, 0 -pressureRatio = scalar, F32, 1140, "", 1, 0 -; total TS size = 1144 -retardThresholdRpm = scalar, S32, 1144, "", 1, 0 -launchActivatePinState = bits, U32, 1148, [0:0] -isPreLaunchCondition = bits, U32, 1148, [1:1] -isLaunchCondition = bits, U32, 1148, [2:2] -isSwitchActivated = bits, U32, 1148, [3:3] -isClutchActivated = bits, U32, 1148, [4:4] -isBrakePedalActivated = bits, U32, 1148, [5:5] -isValidInputPin = bits, U32, 1148, [6:6] -activateSwitchCondition = bits, U32, 1148, [7:7] -rpmLaunchCondition = bits, U32, 1148, [8:8] -rpmPreLaunchCondition = bits, U32, 1148, [9:9] -speedCondition = bits, U32, 1148, [10:10] -tpsCondition = bits, U32, 1148, [11:11] -; total TS size = 1152 -isTorqueReductionTriggerPinValid = bits, U32, 1152, [0:0] -torqueReductionTriggerPinState = bits, U32, 1152, [1:1] -isTimeConditionSatisfied = bits, U32, 1152, [2:2] -isRpmConditionSatisfied = bits, U32, 1152, [3:3] -isAppConditionSatisfied = bits, U32, 1152, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1152, [5:5] +m_isPriming = bits, U32, 1068, [0:0] +; total TS size = 1072 +tcuCurrentGear = scalar, S08, 1072, "gear", 1, 0 +tcRatio = scalar, U16, 1074, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1076, "", 1, 0 +tcu_currentRange = scalar, U08, 1080, "", 1, 0 +pressureControlDuty = scalar, S08, 1081, "%", 1,0 +torqueConverterDuty = scalar, S08, 1082, "%", 1,0 +isShifting = bits, U32, 1084, [0:0] +; total TS size = 1088 +throttleUseWotModel = bits, U32, 1088, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1092, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1096, "g/s", 1, 0 +; total TS size = 1100 +m_requested_pump = scalar, F32, 1100, "", 1, 0 +fuel_requested_percent = scalar, F32, 1104, "%", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1108, "", 1, 0 +noValve = bits, U32, 1112, [0:0] +angleAboveMin = bits, U32, 1112, [1:1] +isHpfpActive = bits, U32, 1112, [2:2] +HpfpValveState = bits, U32, 1112, [3:3] +m_pressureTarget_kPa = scalar, F32, 1116, "", 1, 0 +nextLobe = scalar, F32, 1120, "", 1, 0 +di_nextStart = scalar, F32, 1124, "v", 1, 0 +HpfdActivationPhase = scalar, F32, 1128, "", 1, 0 +HpfdDeactivationPhase = scalar, F32, 1132, "", 1, 0 +; total TS size = 1136 +m_deadtime = scalar, F32, 1136, "ms", 1, 0 +pressureDelta = scalar, F32, 1140, "kPa", 1, 0 +pressureRatio = scalar, F32, 1144, "", 1, 0 +; total TS size = 1148 +retardThresholdRpm = scalar, S32, 1148, "", 1, 0 +launchActivatePinState = bits, U32, 1152, [0:0] +isPreLaunchCondition = bits, U32, 1152, [1:1] +isLaunchCondition = bits, U32, 1152, [2:2] +isSwitchActivated = bits, U32, 1152, [3:3] +isClutchActivated = bits, U32, 1152, [4:4] +isBrakePedalActivated = bits, U32, 1152, [5:5] +isValidInputPin = bits, U32, 1152, [6:6] +activateSwitchCondition = bits, U32, 1152, [7:7] +rpmLaunchCondition = bits, U32, 1152, [8:8] +rpmPreLaunchCondition = bits, U32, 1152, [9:9] +speedCondition = bits, U32, 1152, [10:10] +tpsCondition = bits, U32, 1152, [11:11] ; total TS size = 1156 -isAntilagCondition = bits, U32, 1156, [0:0] -ALSMinRPMCondition = bits, U32, 1156, [1:1] -ALSMaxRPMCondition = bits, U32, 1156, [2:2] -ALSMinCLTCondition = bits, U32, 1156, [3:3] -ALSMaxCLTCondition = bits, U32, 1156, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1156, [5:5] -isALSSwitchActivated = bits, U32, 1156, [6:6] -ALSActivatePinState = bits, U32, 1156, [7:7] -ALSSwitchCondition = bits, U32, 1156, [8:8] -ALSTimerCondition = bits, U32, 1156, [9:9] -fuelALSCorrection = scalar, F32, 1160, "", 1, 0 -timingALSCorrection = scalar, S16, 1164, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1166, "deg", 0.01, 0 -; total TS size = 1168 -isTpsInvalid = bits, U32, 1168, [0:0] -m_shouldResetPid = bits, U32, 1168, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1168, [2:2] -isNotClosedLoop = bits, U32, 1168, [3:3] -isZeroRpm = bits, U32, 1168, [4:4] -hasInitBoost = bits, U32, 1168, [5:5] -rpmTooLow = bits, U32, 1168, [6:6] -tpsTooLow = bits, U32, 1168, [7:7] -mapTooLow = bits, U32, 1168, [8:8] -isPlantValid = bits, U32, 1168, [9:9] -isBoostControlled = bits, U32, 1168, [10:10] -luaTargetAdd = scalar, S16, 1172, "v", 0.5,0 -boostOutput = scalar, S16, 1174, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1176, "v", 1,0 -openLoopPart = scalar, F32, 1180, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1184, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1188, "%", 0.5,0 -boostControlTarget = scalar, S16, 1190, "kPa", 0.03333333333333333,0 -; total TS size = 1192 -acButtonState = scalar, S08, 1192, "", 1, 0 -m_acEnabled = bits, U32, 1196, [0:0] -engineTooSlow = bits, U32, 1196, [1:1] -engineTooFast = bits, U32, 1196, [2:2] -noClt = bits, U32, 1196, [3:3] -engineTooHot = bits, U32, 1196, [4:4] -tpsTooHigh = bits, U32, 1196, [5:5] -isDisabledByLua = bits, U32, 1196, [6:6] -acCompressorState = bits, U32, 1196, [7:7] -acPressureTooLow = bits, U32, 1196, [8:8] -acPressureTooHigh = bits, U32, 1196, [9:9] -; total TS size = 1200 -isNitrousArmed = bits, U32, 1200, [0:0] -isNitrousSpeedCondition = bits, U32, 1200, [1:1] -isNitrousTpsCondition = bits, U32, 1200, [2:2] -isNitrousCltCondition = bits, U32, 1200, [3:3] -isNitrousMapCondition = bits, U32, 1200, [4:4] -isNitrousAfrCondition = bits, U32, 1200, [5:5] -isNitrousRpmCondition = bits, U32, 1200, [6:6] -isNitrousCondition = bits, U32, 1200, [7:7] +isTorqueReductionTriggerPinValid = bits, U32, 1156, [0:0] +torqueReductionTriggerPinState = bits, U32, 1156, [1:1] +isTimeConditionSatisfied = bits, U32, 1156, [2:2] +isRpmConditionSatisfied = bits, U32, 1156, [3:3] +isAppConditionSatisfied = bits, U32, 1156, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1156, [5:5] +; total TS size = 1160 +isAntilagCondition = bits, U32, 1160, [0:0] +ALSMinRPMCondition = bits, U32, 1160, [1:1] +ALSMaxRPMCondition = bits, U32, 1160, [2:2] +ALSMinCLTCondition = bits, U32, 1160, [3:3] +ALSMaxCLTCondition = bits, U32, 1160, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1160, [5:5] +isALSSwitchActivated = bits, U32, 1160, [6:6] +ALSActivatePinState = bits, U32, 1160, [7:7] +ALSSwitchCondition = bits, U32, 1160, [8:8] +ALSTimerCondition = bits, U32, 1160, [9:9] +fuelALSCorrection = scalar, F32, 1164, "", 1, 0 +timingALSCorrection = scalar, S16, 1168, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1170, "deg", 0.01, 0 +; total TS size = 1172 +isTpsInvalid = bits, U32, 1172, [0:0] +m_shouldResetPid = bits, U32, 1172, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1172, [2:2] +isNotClosedLoop = bits, U32, 1172, [3:3] +isZeroRpm = bits, U32, 1172, [4:4] +hasInitBoost = bits, U32, 1172, [5:5] +rpmTooLow = bits, U32, 1172, [6:6] +tpsTooLow = bits, U32, 1172, [7:7] +mapTooLow = bits, U32, 1172, [8:8] +isPlantValid = bits, U32, 1172, [9:9] +isBoostControlled = bits, U32, 1172, [10:10] +luaTargetAdd = scalar, S16, 1176, "v", 0.5,0 +boostOutput = scalar, S16, 1178, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1180, "v", 1,0 +openLoopPart = scalar, F32, 1184, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1188, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1192, "%", 0.5,0 +boostControlTarget = scalar, S16, 1194, "kPa", 0.03333333333333333,0 +; total TS size = 1196 +acButtonState = scalar, S08, 1196, "", 1, 0 +m_acEnabled = bits, U32, 1200, [0:0] +engineTooSlow = bits, U32, 1200, [1:1] +engineTooFast = bits, U32, 1200, [2:2] +noClt = bits, U32, 1200, [3:3] +engineTooHot = bits, U32, 1200, [4:4] +tpsTooHigh = bits, U32, 1200, [5:5] +isDisabledByLua = bits, U32, 1200, [6:6] +acCompressorState = bits, U32, 1200, [7:7] +acPressureTooLow = bits, U32, 1200, [8:8] +acPressureTooHigh = bits, U32, 1200, [9:9] ; total TS size = 1204 -fan1cranking = bits, U32, 1204, [0:0] -fan1notRunning = bits, U32, 1204, [1:1] -fan1disabledWhileEngineStopped = bits, U32, 1204, [2:2] -fan1brokenClt = bits, U32, 1204, [3:3] -fan1enabledForAc = bits, U32, 1204, [4:4] -fan1hot = bits, U32, 1204, [5:5] -fan1cold = bits, U32, 1204, [6:6] -fan1disabledBySpeed = bits, U32, 1204, [7:7] -fan1m_state = bits, U32, 1204, [8:8] -fan1radiatorFanStatus = scalar, U08, 1208, "", 1, 0 -; total TS size = 1212 -fan2cranking = bits, U32, 1212, [0:0] -fan2notRunning = bits, U32, 1212, [1:1] -fan2disabledWhileEngineStopped = bits, U32, 1212, [2:2] -fan2brokenClt = bits, U32, 1212, [3:3] -fan2enabledForAc = bits, U32, 1212, [4:4] -fan2hot = bits, U32, 1212, [5:5] -fan2cold = bits, U32, 1212, [6:6] -fan2disabledBySpeed = bits, U32, 1212, [7:7] -fan2m_state = bits, U32, 1212, [8:8] -fan2radiatorFanStatus = scalar, U08, 1216, "", 1, 0 -; total TS size = 1220 -isPrime = bits, U32, 1220, [0:0] -engineTurnedRecently = bits, U32, 1220, [1:1] -isFuelPumpOn = bits, U32, 1220, [2:2] -ignitionOn = bits, U32, 1220, [3:3] +isNitrousArmed = bits, U32, 1204, [0:0] +isNitrousSpeedCondition = bits, U32, 1204, [1:1] +isNitrousTpsCondition = bits, U32, 1204, [2:2] +isNitrousCltCondition = bits, U32, 1204, [3:3] +isNitrousMapCondition = bits, U32, 1204, [4:4] +isNitrousAfrCondition = bits, U32, 1204, [5:5] +isNitrousRpmCondition = bits, U32, 1204, [6:6] +isNitrousCondition = bits, U32, 1204, [7:7] +; total TS size = 1208 +fan1cranking = bits, U32, 1208, [0:0] +fan1notRunning = bits, U32, 1208, [1:1] +fan1disabledWhileEngineStopped = bits, U32, 1208, [2:2] +fan1brokenClt = bits, U32, 1208, [3:3] +fan1enabledForAc = bits, U32, 1208, [4:4] +fan1hot = bits, U32, 1208, [5:5] +fan1cold = bits, U32, 1208, [6:6] +fan1disabledBySpeed = bits, U32, 1208, [7:7] +fan1m_state = bits, U32, 1208, [8:8] +fan1radiatorFanStatus = scalar, U08, 1212, "", 1, 0 +; total TS size = 1216 +fan2cranking = bits, U32, 1216, [0:0] +fan2notRunning = bits, U32, 1216, [1:1] +fan2disabledWhileEngineStopped = bits, U32, 1216, [2:2] +fan2brokenClt = bits, U32, 1216, [3:3] +fan2enabledForAc = bits, U32, 1216, [4:4] +fan2hot = bits, U32, 1216, [5:5] +fan2cold = bits, U32, 1216, [6:6] +fan2disabledBySpeed = bits, U32, 1216, [7:7] +fan2m_state = bits, U32, 1216, [8:8] +fan2radiatorFanStatus = scalar, U08, 1220, "", 1, 0 ; total TS size = 1224 -isBenchTest = bits, U32, 1224, [0:0] -hasIgnitionVoltage = bits, U32, 1224, [1:1] -mainRelayState = bits, U32, 1224, [2:2] -delayedShutoffRequested = bits, U32, 1224, [3:3] +isPrime = bits, U32, 1224, [0:0] +engineTurnedRecently = bits, U32, 1224, [1:1] +isFuelPumpOn = bits, U32, 1224, [2:2] +ignitionOn = bits, U32, 1224, [3:3] ; total TS size = 1228 -lua_fuelAdd = scalar, F32, 1228, "g", 1, 0 -lua_fuelMult = scalar, F32, 1232, "", 1, 0 -lua_clutchUpState = bits, U32, 1236, [0:0] -lua_brakePedalState = bits, U32, 1236, [1:1] -lua_acRequestState = bits, U32, 1236, [2:2] -lua_luaDisableEtb = bits, U32, 1236, [3:3] -lua_luaIgnCut = bits, U32, 1236, [4:4] -lua_luaFuelCut = bits, U32, 1236, [5:5] -lua_clutchDownState = bits, U32, 1236, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1236, [7:7] -lua_torqueReductionState = bits, U32, 1236, [8:8] -sd_tCharge = scalar, S16, 1240, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1244, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1248, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1252, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1256, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1260, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1264, "", 1, 0 -hellenBoardId = scalar, S16, 1268, "id", 1, 0 -clutchUpState = scalar, S08, 1270, "", 1, 0 -brakePedalState = scalar, S08, 1271, "", 1, 0 -startStopState = scalar, S08, 1272, "", 1, 0 -smartChipState = scalar, S08, 1273, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1274, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1275, "", 1, 0 -startStopPhysicalState = bits, U32, 1276, [0:0] -acrActive = bits, U32, 1276, [1:1] -acrEngineMovedRecently = bits, U32, 1276, [2:2] -heaterControlEnabled = bits, U32, 1276, [3:3] -luaDigitalState0 = bits, U32, 1276, [4:4] -luaDigitalState1 = bits, U32, 1276, [5:5] -luaDigitalState2 = bits, U32, 1276, [6:6] -luaDigitalState3 = bits, U32, 1276, [7:7] -clutchDownState = bits, U32, 1276, [8:8] -startStopStateToggleCounter = scalar, U32, 1280, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1284, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1288, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1292, "", 1, 0 -fuelInjectionCounter = scalar, U32, 1296, "", 1, 0 -globalSparkCounter = scalar, U32, 1300, "", 1, 0 -fuelingLoad = scalar, F32, 1304, "", 1, 0 -ignitionLoad = scalar, F32, 1308, "", 1, 0 -veTableYAxis = scalar, U16, 1312, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1314, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1315, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1316, "", 1, 0 -; total TS size = 1320 -tpsFrom = scalar, F32, 1320 -tpsTo = scalar, F32, 1324 -deltaTps = scalar, F32, 1328 -extraFuel = scalar, F32, 1332, "", 1, 0 -valueFromTable = scalar, F32, 1336, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1340, [0:0] -isBelowDecelThreshold = bits, U32, 1340, [1:1] -isTimeToResetAccumulator = bits, U32, 1340, [2:2] -isFractionalEnrichment = bits, U32, 1340, [3:3] -belowEpsilon = bits, U32, 1340, [4:4] -tooShort = bits, U32, 1340, [5:5] -fractionalInjFuel = scalar, F32, 1344, "", 1, 0 -accumulatedValue = scalar, F32, 1348, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1352, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1356, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1360, "", 1, 0 -cycleCnt = scalar, S32, 1364, "", 1, 0 -; total TS size = 1368 -hwEventCounters1 = scalar, U16, 1368, "", 1, 0 -hwEventCounters2 = scalar, U16, 1370, "", 1, 0 -hwEventCounters3 = scalar, U16, 1372, "", 1, 0 -hwEventCounters4 = scalar, U16, 1374, "", 1, 0 -vvtCamCounter = scalar, U16, 1376, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1380, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1384, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1388, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1389, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1392, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1396, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1400, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1404, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1408, [0:0] -triggerElapsedUs = scalar, U32, 1412, "", 1, 0 -; total TS size = 1416 -trgsynchronizationCounter = scalar, U32, 1416, "", 1, 0 -trgvvtToothDurations0 = scalar, U32, 1420, "us", 1, 0 -trgvvtCurrentPosition = scalar, F32, 1424, "", 1, 0 -trgvvtToothPosition1 = scalar, F32, 1428, "", 1, 0 -trgvvtToothPosition2 = scalar, F32, 1432, "", 1, 0 -trgvvtToothPosition3 = scalar, F32, 1436, "", 1, 0 -trgvvtToothPosition4 = scalar, F32, 1440, "", 1, 0 -trgtriggerSyncGapRatio = scalar, F32, 1444, "", 1, 0 -trgtriggerStateIndex = scalar, U08, 1448, "", 1, 0 -; total TS size = 1452 -vvt1isynchronizationCounter = scalar, U32, 1452, "", 1, 0 -vvt1ivvtToothDurations0 = scalar, U32, 1456, "us", 1, 0 -vvt1ivvtCurrentPosition = scalar, F32, 1460, "", 1, 0 -vvt1ivvtToothPosition1 = scalar, F32, 1464, "", 1, 0 -vvt1ivvtToothPosition2 = scalar, F32, 1468, "", 1, 0 -vvt1ivvtToothPosition3 = scalar, F32, 1472, "", 1, 0 -vvt1ivvtToothPosition4 = scalar, F32, 1476, "", 1, 0 -vvt1itriggerSyncGapRatio = scalar, F32, 1480, "", 1, 0 -vvt1itriggerStateIndex = scalar, U08, 1484, "", 1, 0 -; total TS size = 1488 -vvt1esynchronizationCounter = scalar, U32, 1488, "", 1, 0 -vvt1evvtToothDurations0 = scalar, U32, 1492, "us", 1, 0 -vvt1evvtCurrentPosition = scalar, F32, 1496, "", 1, 0 -vvt1evvtToothPosition1 = scalar, F32, 1500, "", 1, 0 -vvt1evvtToothPosition2 = scalar, F32, 1504, "", 1, 0 -vvt1evvtToothPosition3 = scalar, F32, 1508, "", 1, 0 -vvt1evvtToothPosition4 = scalar, F32, 1512, "", 1, 0 -vvt1etriggerSyncGapRatio = scalar, F32, 1516, "", 1, 0 -vvt1etriggerStateIndex = scalar, U08, 1520, "", 1, 0 -; total TS size = 1524 -vvt2isynchronizationCounter = scalar, U32, 1524, "", 1, 0 -vvt2ivvtToothDurations0 = scalar, U32, 1528, "us", 1, 0 -vvt2ivvtCurrentPosition = scalar, F32, 1532, "", 1, 0 -vvt2ivvtToothPosition1 = scalar, F32, 1536, "", 1, 0 -vvt2ivvtToothPosition2 = scalar, F32, 1540, "", 1, 0 -vvt2ivvtToothPosition3 = scalar, F32, 1544, "", 1, 0 -vvt2ivvtToothPosition4 = scalar, F32, 1548, "", 1, 0 -vvt2itriggerSyncGapRatio = scalar, F32, 1552, "", 1, 0 -vvt2itriggerStateIndex = scalar, U08, 1556, "", 1, 0 -; total TS size = 1560 -vvt2esynchronizationCounter = scalar, U32, 1560, "", 1, 0 -vvt2evvtToothDurations0 = scalar, U32, 1564, "us", 1, 0 -vvt2evvtCurrentPosition = scalar, F32, 1568, "", 1, 0 -vvt2evvtToothPosition1 = scalar, F32, 1572, "", 1, 0 -vvt2evvtToothPosition2 = scalar, F32, 1576, "", 1, 0 -vvt2evvtToothPosition3 = scalar, F32, 1580, "", 1, 0 -vvt2evvtToothPosition4 = scalar, F32, 1584, "", 1, 0 -vvt2etriggerSyncGapRatio = scalar, F32, 1588, "", 1, 0 -vvt2etriggerStateIndex = scalar, U08, 1592, "", 1, 0 -; total TS size = 1596 -camResyncCounter = scalar, U08, 1596, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1600, [0:0] -; total TS size = 1604 -wallFuelCorrection = scalar, F32, 1604, "", 1, 0 -wallFuel = scalar, F32, 1608, "", 1, 0 -; total TS size = 1612 -idleState = bits, S32, 1612, [0:2], "not important" -currentIdlePosition = scalar, F32, 1616 -baseIdlePosition = scalar, F32, 1620 -idleClosedLoop = scalar, F32, 1624 -iacByTpsTaper = scalar, F32, 1628 -mightResetPid = bits, U32, 1632, [0:0] -shouldResetPid = bits, U32, 1632, [1:1] -wasResetPid = bits, U32, 1632, [2:2] -mustResetPid = bits, U32, 1632, [3:3] -isCranking = bits, U32, 1632, [4:4] -isIacTableForCoasting = bits, U32, 1632, [5:5] -notIdling = bits, U32, 1632, [6:6] -needReset = bits, U32, 1632, [7:7] -isInDeadZone = bits, U32, 1632, [8:8] -isBlipping = bits, U32, 1632, [9:9] -useClosedLoop = bits, U32, 1632, [10:10] -badTps = bits, U32, 1632, [11:11] -looksLikeRunning = bits, U32, 1632, [12:12] -looksLikeCoasting = bits, U32, 1632, [13:13] -looksLikeCrankToIdle = bits, U32, 1632, [14:14] -isIdleCoasting = bits, U32, 1632, [15:15] -isIdleClosedLoop = bits, U32, 1632, [16:16] -idleTarget = scalar, S32, 1636, "", 1, 0 -targetRpmByClt = scalar, S32, 1640, "", 1, 0 -targetRpmAc = scalar, S32, 1644, "", 1, 0 -iacByRpmTaper = scalar, F32, 1648 -luaAdd = scalar, F32, 1652 -; total TS size = 1656 -etb1targetWithIdlePosition = scalar, F32, 1656, "%", 1,0 -etb1trim = scalar, F32, 1660, "", 1, 0 -etb1luaAdjustment = scalar, F32, 1664, "%", 1,0 -etb1m_wastegatePosition = scalar, F32, 1668, "%", 1,0 -etb1etbFeedForward = scalar, F32, 1672 -etb1etbIntegralError = scalar, F32, 1676, "", 1, 0 -etb1etbCurrentTarget = scalar, F32, 1680, "%", 1, 0 -etb1m_adjustedTarget = scalar, S16, 1684, "%", 0.01, 0 -etb1etbRevLimitActive = bits, U32, 1688, [0:0] -etb1jamDetected = bits, U32, 1688, [1:1] -etb1validPlantPosition = bits, U32, 1688, [2:2] -etb1etbTpsErrorCounter = scalar, U16, 1692, "count", 1,0 -etb1etbPpsErrorCounter = scalar, U16, 1694, "count", 1,0 -etb1etbErrorCode = scalar, S08, 1696, "", 1, 0 -etb1etbErrorCodeBlinker = scalar, S08, 1697, "", 1, 0 -etb1tcEtbDrop = scalar, S08, 1698, "%", 1, 0 -etb1jamTimer = scalar, U16, 1700, "sec", 0.01, 0 -etb1adjustedEtbTarget = scalar, S08, 1702, "%", 1, 0 -etb1state = scalar, U08, 1703, "", 1, 0 -; total TS size = 1704 -etb2targetWithIdlePosition = scalar, F32, 1704, "%", 1,0 -etb2trim = scalar, F32, 1708, "", 1, 0 -etb2luaAdjustment = scalar, F32, 1712, "%", 1,0 -etb2m_wastegatePosition = scalar, F32, 1716, "%", 1,0 -etb2etbFeedForward = scalar, F32, 1720 -etb2etbIntegralError = scalar, F32, 1724, "", 1, 0 -etb2etbCurrentTarget = scalar, F32, 1728, "%", 1, 0 -etb2m_adjustedTarget = scalar, S16, 1732, "%", 0.01, 0 -etb2etbRevLimitActive = bits, U32, 1736, [0:0] -etb2jamDetected = bits, U32, 1736, [1:1] -etb2validPlantPosition = bits, U32, 1736, [2:2] -etb2etbTpsErrorCounter = scalar, U16, 1740, "count", 1,0 -etb2etbPpsErrorCounter = scalar, U16, 1742, "count", 1,0 -etb2etbErrorCode = scalar, S08, 1744, "", 1, 0 -etb2etbErrorCodeBlinker = scalar, S08, 1745, "", 1, 0 -etb2tcEtbDrop = scalar, S08, 1746, "%", 1, 0 -etb2jamTimer = scalar, U16, 1748, "sec", 0.01, 0 -etb2adjustedEtbTarget = scalar, S08, 1750, "%", 1, 0 -etb2state = scalar, U08, 1751, "", 1, 0 -; total TS size = 1752 -wb1faultCode = scalar, U08, 1752, "", 1, 0 -wb1heaterDuty = scalar, U08, 1753, "%", 1, 0 -wb1pumpDuty = scalar, U08, 1754, "%", 1, 0 -wb1tempC = scalar, U16, 1756, "C", 1, 0 -wb1nernstVoltage = scalar, U16, 1758, "V", 0.001, 0 -wb1esr = scalar, U16, 1760, "ohm", 1, 0 -; total TS size = 1764 -wb2faultCode = scalar, U08, 1764, "", 1, 0 -wb2heaterDuty = scalar, U08, 1765, "%", 1, 0 -wb2pumpDuty = scalar, U08, 1766, "%", 1, 0 -wb2tempC = scalar, U16, 1768, "C", 1, 0 -wb2nernstVoltage = scalar, U16, 1770, "V", 0.001, 0 -wb2esr = scalar, U16, 1772, "ohm", 1, 0 -; total TS size = 1776 -dcOutput0 = scalar, F32, 1776, "%", 1,0 -isEnabled0_int = scalar, U08, 1780, "%", 1,0 -isEnabled0 = bits, U32, 1784, [0:0] -; total TS size = 1788 -value0 = scalar, U16, 1788, "RAW", 1,0 -value1 = scalar, U16, 1790, "RAW", 1,0 -errorRate = scalar, F32, 1792, "% (don't belive me)", 1,0 -; total TS size = 1796 -vvtTarget = scalar, U16, 1796, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1798, "%", 0.5, 0 +isBenchTest = bits, U32, 1228, [0:0] +hasIgnitionVoltage = bits, U32, 1228, [1:1] +mainRelayState = bits, U32, 1228, [2:2] +delayedShutoffRequested = bits, U32, 1228, [3:3] +; total TS size = 1232 +lua_fuelAdd = scalar, F32, 1232, "g", 1, 0 +lua_fuelMult = scalar, F32, 1236, "", 1, 0 +lua_clutchUpState = bits, U32, 1240, [0:0] +lua_brakePedalState = bits, U32, 1240, [1:1] +lua_acRequestState = bits, U32, 1240, [2:2] +lua_luaDisableEtb = bits, U32, 1240, [3:3] +lua_luaIgnCut = bits, U32, 1240, [4:4] +lua_luaFuelCut = bits, U32, 1240, [5:5] +lua_clutchDownState = bits, U32, 1240, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1240, [7:7] +lua_torqueReductionState = bits, U32, 1240, [8:8] +sd_tCharge = scalar, S16, 1244, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1248, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1252, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1256, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1260, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1264, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1268, "", 1, 0 +hellenBoardId = scalar, S16, 1272, "id", 1, 0 +clutchUpState = scalar, S08, 1274, "", 1, 0 +brakePedalState = scalar, S08, 1275, "", 1, 0 +startStopState = scalar, S08, 1276, "", 1, 0 +smartChipState = scalar, S08, 1277, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1278, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1279, "", 1, 0 +startStopPhysicalState = bits, U32, 1280, [0:0] +acrActive = bits, U32, 1280, [1:1] +acrEngineMovedRecently = bits, U32, 1280, [2:2] +heaterControlEnabled = bits, U32, 1280, [3:3] +luaDigitalState0 = bits, U32, 1280, [4:4] +luaDigitalState1 = bits, U32, 1280, [5:5] +luaDigitalState2 = bits, U32, 1280, [6:6] +luaDigitalState3 = bits, U32, 1280, [7:7] +clutchDownState = bits, U32, 1280, [8:8] +startStopStateToggleCounter = scalar, U32, 1284, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1288, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1292, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1296, "", 1, 0 +fuelInjectionCounter = scalar, U32, 1300, "", 1, 0 +globalSparkCounter = scalar, U32, 1304, "", 1, 0 +fuelingLoad = scalar, F32, 1308, "", 1, 0 +ignitionLoad = scalar, F32, 1312, "", 1, 0 +veTableYAxis = scalar, U16, 1316, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1318, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1319, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1320, "", 1, 0 +; total TS size = 1324 +tpsFrom = scalar, F32, 1324 +tpsTo = scalar, F32, 1328 +deltaTps = scalar, F32, 1332 +extraFuel = scalar, F32, 1336, "", 1, 0 +valueFromTable = scalar, F32, 1340, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1344, [0:0] +isBelowDecelThreshold = bits, U32, 1344, [1:1] +isTimeToResetAccumulator = bits, U32, 1344, [2:2] +isFractionalEnrichment = bits, U32, 1344, [3:3] +belowEpsilon = bits, U32, 1344, [4:4] +tooShort = bits, U32, 1344, [5:5] +fractionalInjFuel = scalar, F32, 1348, "", 1, 0 +accumulatedValue = scalar, F32, 1352, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1356, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1360, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1364, "", 1, 0 +cycleCnt = scalar, S32, 1368, "", 1, 0 +; total TS size = 1372 +hwEventCounters1 = scalar, U16, 1372, "", 1, 0 +hwEventCounters2 = scalar, U16, 1374, "", 1, 0 +hwEventCounters3 = scalar, U16, 1376, "", 1, 0 +hwEventCounters4 = scalar, U16, 1378, "", 1, 0 +vvtCamCounter = scalar, U16, 1380, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1384, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1388, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1392, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1393, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1396, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1400, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1404, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1408, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1412, [0:0] +triggerElapsedUs = scalar, U32, 1416, "", 1, 0 +; total TS size = 1420 +trgsynchronizationCounter = scalar, U32, 1420, "", 1, 0 +trgvvtToothDurations0 = scalar, U32, 1424, "us", 1, 0 +trgvvtCurrentPosition = scalar, F32, 1428, "", 1, 0 +trgvvtToothPosition1 = scalar, F32, 1432, "", 1, 0 +trgvvtToothPosition2 = scalar, F32, 1436, "", 1, 0 +trgvvtToothPosition3 = scalar, F32, 1440, "", 1, 0 +trgvvtToothPosition4 = scalar, F32, 1444, "", 1, 0 +trgtriggerSyncGapRatio = scalar, F32, 1448, "", 1, 0 +trgtriggerStateIndex = scalar, U08, 1452, "", 1, 0 +; total TS size = 1456 +vvt1isynchronizationCounter = scalar, U32, 1456, "", 1, 0 +vvt1ivvtToothDurations0 = scalar, U32, 1460, "us", 1, 0 +vvt1ivvtCurrentPosition = scalar, F32, 1464, "", 1, 0 +vvt1ivvtToothPosition1 = scalar, F32, 1468, "", 1, 0 +vvt1ivvtToothPosition2 = scalar, F32, 1472, "", 1, 0 +vvt1ivvtToothPosition3 = scalar, F32, 1476, "", 1, 0 +vvt1ivvtToothPosition4 = scalar, F32, 1480, "", 1, 0 +vvt1itriggerSyncGapRatio = scalar, F32, 1484, "", 1, 0 +vvt1itriggerStateIndex = scalar, U08, 1488, "", 1, 0 +; total TS size = 1492 +vvt1esynchronizationCounter = scalar, U32, 1492, "", 1, 0 +vvt1evvtToothDurations0 = scalar, U32, 1496, "us", 1, 0 +vvt1evvtCurrentPosition = scalar, F32, 1500, "", 1, 0 +vvt1evvtToothPosition1 = scalar, F32, 1504, "", 1, 0 +vvt1evvtToothPosition2 = scalar, F32, 1508, "", 1, 0 +vvt1evvtToothPosition3 = scalar, F32, 1512, "", 1, 0 +vvt1evvtToothPosition4 = scalar, F32, 1516, "", 1, 0 +vvt1etriggerSyncGapRatio = scalar, F32, 1520, "", 1, 0 +vvt1etriggerStateIndex = scalar, U08, 1524, "", 1, 0 +; total TS size = 1528 +vvt2isynchronizationCounter = scalar, U32, 1528, "", 1, 0 +vvt2ivvtToothDurations0 = scalar, U32, 1532, "us", 1, 0 +vvt2ivvtCurrentPosition = scalar, F32, 1536, "", 1, 0 +vvt2ivvtToothPosition1 = scalar, F32, 1540, "", 1, 0 +vvt2ivvtToothPosition2 = scalar, F32, 1544, "", 1, 0 +vvt2ivvtToothPosition3 = scalar, F32, 1548, "", 1, 0 +vvt2ivvtToothPosition4 = scalar, F32, 1552, "", 1, 0 +vvt2itriggerSyncGapRatio = scalar, F32, 1556, "", 1, 0 +vvt2itriggerStateIndex = scalar, U08, 1560, "", 1, 0 +; total TS size = 1564 +vvt2esynchronizationCounter = scalar, U32, 1564, "", 1, 0 +vvt2evvtToothDurations0 = scalar, U32, 1568, "us", 1, 0 +vvt2evvtCurrentPosition = scalar, F32, 1572, "", 1, 0 +vvt2evvtToothPosition1 = scalar, F32, 1576, "", 1, 0 +vvt2evvtToothPosition2 = scalar, F32, 1580, "", 1, 0 +vvt2evvtToothPosition3 = scalar, F32, 1584, "", 1, 0 +vvt2evvtToothPosition4 = scalar, F32, 1588, "", 1, 0 +vvt2etriggerSyncGapRatio = scalar, F32, 1592, "", 1, 0 +vvt2etriggerStateIndex = scalar, U08, 1596, "", 1, 0 +; total TS size = 1600 +camResyncCounter = scalar, U08, 1600, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1604, [0:0] +; total TS size = 1608 +wallFuelCorrection = scalar, F32, 1608, "", 1, 0 +wallFuel = scalar, F32, 1612, "", 1, 0 +; total TS size = 1616 +idleState = bits, S32, 1616, [0:2], "not important" +currentIdlePosition = scalar, F32, 1620 +baseIdlePosition = scalar, F32, 1624 +idleClosedLoop = scalar, F32, 1628 +iacByTpsTaper = scalar, F32, 1632 +mightResetPid = bits, U32, 1636, [0:0] +shouldResetPid = bits, U32, 1636, [1:1] +wasResetPid = bits, U32, 1636, [2:2] +mustResetPid = bits, U32, 1636, [3:3] +isCranking = bits, U32, 1636, [4:4] +isIacTableForCoasting = bits, U32, 1636, [5:5] +notIdling = bits, U32, 1636, [6:6] +needReset = bits, U32, 1636, [7:7] +isInDeadZone = bits, U32, 1636, [8:8] +isBlipping = bits, U32, 1636, [9:9] +useClosedLoop = bits, U32, 1636, [10:10] +badTps = bits, U32, 1636, [11:11] +looksLikeRunning = bits, U32, 1636, [12:12] +looksLikeCoasting = bits, U32, 1636, [13:13] +looksLikeCrankToIdle = bits, U32, 1636, [14:14] +isIdleCoasting = bits, U32, 1636, [15:15] +isIdleClosedLoop = bits, U32, 1636, [16:16] +idleTarget = scalar, S32, 1640, "", 1, 0 +targetRpmByClt = scalar, S32, 1644, "", 1, 0 +targetRpmAc = scalar, S32, 1648, "", 1, 0 +iacByRpmTaper = scalar, F32, 1652 +luaAdd = scalar, F32, 1656 +; total TS size = 1660 +etb1targetWithIdlePosition = scalar, F32, 1660, "%", 1,0 +etb1trim = scalar, F32, 1664, "", 1, 0 +etb1luaAdjustment = scalar, F32, 1668, "%", 1,0 +etb1m_wastegatePosition = scalar, F32, 1672, "%", 1,0 +etb1etbFeedForward = scalar, F32, 1676 +etb1etbIntegralError = scalar, F32, 1680, "", 1, 0 +etb1etbCurrentTarget = scalar, F32, 1684, "%", 1, 0 +etb1m_adjustedTarget = scalar, S16, 1688, "%", 0.01, 0 +etb1etbRevLimitActive = bits, U32, 1692, [0:0] +etb1jamDetected = bits, U32, 1692, [1:1] +etb1validPlantPosition = bits, U32, 1692, [2:2] +etb1etbTpsErrorCounter = scalar, U16, 1696, "count", 1,0 +etb1etbPpsErrorCounter = scalar, U16, 1698, "count", 1,0 +etb1etbErrorCode = scalar, S08, 1700, "", 1, 0 +etb1etbErrorCodeBlinker = scalar, S08, 1701, "", 1, 0 +etb1tcEtbDrop = scalar, S08, 1702, "%", 1, 0 +etb1jamTimer = scalar, U16, 1704, "sec", 0.01, 0 +etb1adjustedEtbTarget = scalar, S08, 1706, "%", 1, 0 +etb1state = scalar, U08, 1707, "", 1, 0 +; total TS size = 1708 +etb2targetWithIdlePosition = scalar, F32, 1708, "%", 1,0 +etb2trim = scalar, F32, 1712, "", 1, 0 +etb2luaAdjustment = scalar, F32, 1716, "%", 1,0 +etb2m_wastegatePosition = scalar, F32, 1720, "%", 1,0 +etb2etbFeedForward = scalar, F32, 1724 +etb2etbIntegralError = scalar, F32, 1728, "", 1, 0 +etb2etbCurrentTarget = scalar, F32, 1732, "%", 1, 0 +etb2m_adjustedTarget = scalar, S16, 1736, "%", 0.01, 0 +etb2etbRevLimitActive = bits, U32, 1740, [0:0] +etb2jamDetected = bits, U32, 1740, [1:1] +etb2validPlantPosition = bits, U32, 1740, [2:2] +etb2etbTpsErrorCounter = scalar, U16, 1744, "count", 1,0 +etb2etbPpsErrorCounter = scalar, U16, 1746, "count", 1,0 +etb2etbErrorCode = scalar, S08, 1748, "", 1, 0 +etb2etbErrorCodeBlinker = scalar, S08, 1749, "", 1, 0 +etb2tcEtbDrop = scalar, S08, 1750, "%", 1, 0 +etb2jamTimer = scalar, U16, 1752, "sec", 0.01, 0 +etb2adjustedEtbTarget = scalar, S08, 1754, "%", 1, 0 +etb2state = scalar, U08, 1755, "", 1, 0 +; total TS size = 1756 +wb1faultCode = scalar, U08, 1756, "", 1, 0 +wb1heaterDuty = scalar, U08, 1757, "%", 1, 0 +wb1pumpDuty = scalar, U08, 1758, "%", 1, 0 +wb1tempC = scalar, U16, 1760, "C", 1, 0 +wb1nernstVoltage = scalar, U16, 1762, "V", 0.001, 0 +wb1esr = scalar, U16, 1764, "ohm", 1, 0 +; total TS size = 1768 +wb2faultCode = scalar, U08, 1768, "", 1, 0 +wb2heaterDuty = scalar, U08, 1769, "%", 1, 0 +wb2pumpDuty = scalar, U08, 1770, "%", 1, 0 +wb2tempC = scalar, U16, 1772, "C", 1, 0 +wb2nernstVoltage = scalar, U16, 1774, "V", 0.001, 0 +wb2esr = scalar, U16, 1776, "ohm", 1, 0 +; total TS size = 1780 +dcOutput0 = scalar, F32, 1780, "%", 1,0 +isEnabled0_int = scalar, U08, 1784, "%", 1,0 +isEnabled0 = bits, U32, 1788, [0:0] +; total TS size = 1792 +value0 = scalar, U16, 1792, "RAW", 1,0 +value1 = scalar, U16, 1794, "RAW", 1,0 +errorRate = scalar, F32, 1796, "% (don't belive me)", 1,0 ; total TS size = 1800 -lambdaCurrentlyGood = bits, U32, 1800, [0:0] -lambdaMonitorCut = bits, U32, 1800, [1:1] -lambdaTimeSinceGood = scalar, U16, 1804, "sec", 0.01, 0 -; total TS size = 1808 +vvtTarget = scalar, U16, 1800, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1802, "%", 0.5, 0 +; total TS size = 1804 +lambdaCurrentlyGood = bits, U32, 1804, [0:0] +lambdaMonitorCut = bits, U32, 1804, [1:1] +lambdaTimeSinceGood = scalar, U16, 1808, "sec", 0.01, 0 +; total TS size = 1812 time = { timeNow } @@ -4585,6 +4588,12 @@ curve = rangeMatrix, "Range Switch Input Matrix" gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. upDownLabel = "(RICHER)", "(LEANER)" + table = trailingSparkTable, trailingSparkMap, "Trailing spark", 1 + xyLabels = "RPM", "Ignition Load" + xBins = trailingSparkRpmBins, RPMValue + yBins = trailingSparkLoadBins, ignitionLoad + zBins = trailingSparkTable + table = torqueTableTbl, torqueTableMap, "Engine Torque", 1 xBins = torqueRpmBins, RPMValue yBins = torqueLoadBins, veTableYAxis @@ -4882,6 +4891,7 @@ timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20 timingPidCorrectionGauge = timingPidCorrection,"Idle: Timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 +trailingSparkAngleGauge = trailingSparkAngle,"Ign: Trailing spark deg", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 gaugeCategory = "Boost Control" luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 @@ -5813,6 +5823,7 @@ entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" entry = luaIgnitionSkip, "Ign: Lua Spark Skip", int, "%d" +entry = trailingSparkAngle, "Ign: Trailing spark deg", float, "%.3f" entry = m_knockLevel, "Knock: Current level", float, "%.3f" entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" @@ -6766,6 +6777,7 @@ dialog = ignition_stateDialog, "ignition_state" graphLine = luaTimingAdd liveGraph = ignition_state_4_Graph, "Graph", South graphLine = luaTimingMult + graphLine = trailingSparkAngle dialog = knock_controllerDialog, "knock_controller" @@ -10108,11 +10120,11 @@ dialog = tcuControls, "Transmission Settings" dialog = rotaryDialog, "Rotary" field = "Enable Trailing Sparks", enableTrailingSparks - field = "Trailing Spark Offset", trailingSparkAngle field = "Trailing Pin 1", trailingCoilPins1 field = "Trailing Pin 2", trailingCoilPins2 field = "Trailing Pin 3", trailingCoilPins3 field = "Trailing Pin 4", trailingCoilPins4 + panel = trailingSparkTable diff --git a/firmware/tunerstudio/generated/rusefi_f429-discovery.ini b/firmware/tunerstudio/generated/rusefi_f429-discovery.ini index eb1df0ce4f..878858a3ad 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.2025.02.07.f429-discovery.1384441238" + signature = "rusEFI master.2025.02.07.f429-discovery.3574033147" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2025.02.07.f429-discovery.1384441238" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2025.02.07.f429-discovery.3574033147" ; 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 @@ -101,7 +101,7 @@ enable2ndByteCanID = false ; CONFIG_DEFINITION_START ; this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt -pageSize = 23280 +pageSize = 23304 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",22="BMW_M52",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",21="ET_BOSCH_QUICK_START",24="ET_TEST_WITH_BOSCH_QUICK_START",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",41="FRANKENSO_MIATA_NA6_MAP",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",47="GM_LCV",55="GM_LTG",98="GM_SBC",49="GM_SBC_GEN5",8="GY6_139QMB",6="HARLEY",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",34="MAZDA_MIATA_NA6",80="MAZDA_MIATA_NA94",10="MAZDA_MIATA_NA96",83="MAZDA_MIATA_NB1",69="MAZDA_MIATA_NB2",86="MAZDA_MIATA_NB2_36",20="MAZDA_MIATA_NC",33="ME17_9_MISC",68="MERCEDES_M111",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",4="MRE_SECONDARY_CAN",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",35="POLARIS",9="POLARIS_RZR",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",27="PROTEUS_GM_LS_4",25="PROTEUS_LUA_DEMO",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",17="TCU_4R70W",100="TEST_100",101="TEST_101",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",93="TEST_ISSUE_6451",19="TEST_ROTARY",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",102="UNUSED102",67="UNUSED67",94="UNUSED94",65="UNUSED_65",97="UNUSED_97",77="VAG_5_CYL",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -245,7 +245,7 @@ vbattAdcChannel = bits, U08, 513, [0:5], $adc_channel_e_list fuelLevelSensor = bits, U08, 514, [0:5], $adc_channel_e_list tps2_1AdcChannel = bits, U08, 515, [0:5], $adc_channel_e_list idle_derivativeFilterLoss = scalar, F32, 516, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 520, "angle", 1, 0, 0, 720, 0 +unusedTrailingSparkAngle = scalar, S32, 520, "", 1, 0, 0, 100, 0 trigger_type = bits, U32, 524, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Daihatsu 3 cylinder", "Mazda SOHC 4", "60-2", "36-1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "Dodge Ram 1+16", "60-2 Wrong Polarity", "Benelli Tre", "Dodge Stratus", "36_2_2_2", "Nissan Primera", "dev 2JZ 3/34 simulator", "Rover K", "GM 24x 5 degree", "Honda CBR 600 Cam", "INVALID", "Honda CBR 600 custom", "3-1 skipped", "Dodge Neon 2003 crank", "Miata NB", "INVALID", "INVALID", "Subaru 7+6", "Jeep 18-2-2-2", "12crank/24cam", "Dodge Neon 1995 crank only", "Jeep XJ 4 cyl", "FiatIAQ_P8", "Mazda Z5", "INVALID", "Renix 44-2-2", "Renix 66-2-2-2", "Honda K 12+1", "INVALID", "36-2", "Subaru SVX", "Suzuki K6A", "Subaru 7 without 6", "INVALID", "INVALID", "GM 60-2-2-2", "Skoda Favorit", "Barra 3+1 Cam", "Kawa KX450F", "Nissan VQ35", "INVALID", "Nissan VQ30", "Nissan QR25", "INVALID", "Subaru SVX Crank 1", "Subaru SVX Cam VVT", "Ford PIP", "Suzuki G13B", "Honda K 4+1", "Nissan MR18 Crank", "32-2", "36-2-1", "36-2-1-1", "3-0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6-0", "Daihatsu 4 cylinder", "INVALID", "dev", "Nissan HR", "Arctic Cat", "HR12 in", "HONDA J30A2", "trg88", "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" trigger_customTotalToothCount = scalar, S32, 528, "number", 1, 0, 1, 300, 0 trigger_customSkippedToothCount = scalar, S32, 532, "number", 1, 0, 0, 300, 0 @@ -1796,7 +1796,10 @@ dynoCarCarMassKg = scalar, S16, 23268, "", 1, 0, 0, 32000, 0 dynoCarCargoMassKg = scalar, S16, 23270, "", 1, 0, 0, 32000, 0 dynoCarCoeffOfDrag = scalar, F32, 23272, "", 1, 0, 0, 100, 0 dynoCarFrontalAreaM2 = scalar, F32, 23276, "", 1, 0, 0, 100, 0 -; total TS size = 23280 +trailingSparkTable = array, S08, 23280, [4x4], "deg", 0.1, 0, 0, 20, 1 +trailingSparkRpmBins = array, U08, 23296, [4], "rpm", 50.0, 0, 0, 12000, 0 +trailingSparkLoadBins = array, U08, 23300, [4], "Load", 5.0, 0, 0, 1000, 0 +; total TS size = 23304 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1890,7 +1893,6 @@ dynoCarFrontalAreaM2 = scalar, F32, 23276, "", 1, 0, 0, 100, 0 fuelLevelSensor = "This is the processor pin that your fuel level sensor in connected to. This is a non standard input so will need to be user defined." tps2_1AdcChannel = "Second throttle body position sensor, single channel so far" idle_derivativeFilterLoss = "0.1 is a good default value" - trailingSparkAngle = "just a temporary solution" trigger_type = "https://github.com/rusefi/rusefi/wiki/All-Supported-Triggers" airByRpmTaper = "Extra air taper amount" boostControlSafeDutyCycle = "Duty cycle to use in case of a sensor failure. This duty cycle should produce the minimum possible amount of boost. This duty is also used in case any of the minimum RPM/TPS/MAP conditions are not met." @@ -2664,7 +2666,7 @@ dynoCarFrontalAreaM2 = scalar, F32, 23276, "", 1, 0, 0, 100, 0 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1808 + ochBlockSize = 1812 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3189,417 +3191,418 @@ dwellVoltageCorrection = scalar, F32, 940, "", 1, 0 luaTimingAdd = scalar, F32, 944, "deg", 1, 0 luaTimingMult = scalar, F32, 948, "deg", 1, 0 luaIgnitionSkip = bits, U32, 952, [0:0] -; total TS size = 956 -m_knockLevel = scalar, F32, 956, "Volts", 1, 0 -m_knockCyl1 = scalar, S08, 960, "dBv", 1, 0 -m_knockCyl2 = scalar, S08, 961, "dBv", 1, 0 -m_knockCyl3 = scalar, S08, 962, "dBv", 1, 0 -m_knockCyl4 = scalar, S08, 963, "dBv", 1, 0 -m_knockCyl5 = scalar, S08, 964, "dBv", 1, 0 -m_knockCyl6 = scalar, S08, 965, "dBv", 1, 0 -m_knockCyl7 = scalar, S08, 966, "dBv", 1, 0 -m_knockCyl8 = scalar, S08, 967, "dBv", 1, 0 -m_knockCyl9 = scalar, S08, 968, "dBv", 1, 0 -m_knockCyl10 = scalar, S08, 969, "dBv", 1, 0 -m_knockCyl11 = scalar, S08, 970, "dBv", 1, 0 -m_knockCyl12 = scalar, S08, 971, "dBv", 1, 0 -m_knockRetard = scalar, F32, 972, "deg", 1,0 -m_knockThreshold = scalar, F32, 976, "", 1, 0 -m_knockCount = scalar, U32, 980, "", 1, 0 -m_maximumRetard = scalar, F32, 984, "", 1, 0 -m_knockSpectrum1 = scalar, U32, 988, "compressed data", 1, 0 -m_knockSpectrum2 = scalar, U32, 992, "compressed data", 1, 0 -m_knockSpectrum3 = scalar, U32, 996, "compressed data", 1, 0 -m_knockSpectrum4 = scalar, U32, 1000, "compressed data", 1, 0 -m_knockSpectrum5 = scalar, U32, 1004, "compressed data", 1, 0 -m_knockSpectrum6 = scalar, U32, 1008, "compressed data", 1, 0 -m_knockSpectrum7 = scalar, U32, 1012, "compressed data", 1, 0 -m_knockSpectrum8 = scalar, U32, 1016, "compressed data", 1, 0 -m_knockSpectrum9 = scalar, U32, 1020, "compressed data", 1, 0 -m_knockSpectrum10 = scalar, U32, 1024, "compressed data", 1, 0 -m_knockSpectrum11 = scalar, U32, 1028, "compressed data", 1, 0 -m_knockSpectrum12 = scalar, U32, 1032, "compressed data", 1, 0 -m_knockSpectrum13 = scalar, U32, 1036, "compressed data", 1, 0 -m_knockSpectrum14 = scalar, U32, 1040, "compressed data", 1, 0 -m_knockSpectrum15 = scalar, U32, 1044, "compressed data", 1, 0 -m_knockSpectrum16 = scalar, U32, 1048, "compressed data", 1, 0 -m_knockSpectrumChannelCyl = scalar, U16, 1052, "compressed N + N", 1, 0 -m_knockFrequencyStart = scalar, U16, 1054, "Hz", 1, 0 -m_knockFrequencyStep = scalar, F32, 1056, "Hz", 1, 0 -m_knockFuelTrimMultiplier = scalar, F32, 1060, "multiplier", 1, 0 -; total TS size = 1064 -m_isPriming = bits, U32, 1064, [0:0] +trailingSparkAngle = scalar, S16, 956, "deg", 0.01,0 +; total TS size = 960 +m_knockLevel = scalar, F32, 960, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 964, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 965, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 966, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 967, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 968, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 969, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 970, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 971, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 972, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 973, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 974, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 975, "dBv", 1, 0 +m_knockRetard = scalar, F32, 976, "deg", 1,0 +m_knockThreshold = scalar, F32, 980, "", 1, 0 +m_knockCount = scalar, U32, 984, "", 1, 0 +m_maximumRetard = scalar, F32, 988, "", 1, 0 +m_knockSpectrum1 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1040, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1044, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1048, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1052, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1056, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1058, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1060, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1064, "multiplier", 1, 0 ; total TS size = 1068 -tcuCurrentGear = scalar, S08, 1068, "gear", 1, 0 -tcRatio = scalar, U16, 1070, "value", 0.01, 0 -lastShiftTime = scalar, F32, 1072, "", 1, 0 -tcu_currentRange = scalar, U08, 1076, "", 1, 0 -pressureControlDuty = scalar, S08, 1077, "%", 1,0 -torqueConverterDuty = scalar, S08, 1078, "%", 1,0 -isShifting = bits, U32, 1080, [0:0] -; total TS size = 1084 -throttleUseWotModel = bits, U32, 1084, [0:0] -throttleModelCrossoverAngle = scalar, S16, 1088, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1092, "g/s", 1, 0 -; total TS size = 1096 -m_requested_pump = scalar, F32, 1096, "", 1, 0 -fuel_requested_percent = scalar, F32, 1100, "%", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1104, "", 1, 0 -noValve = bits, U32, 1108, [0:0] -angleAboveMin = bits, U32, 1108, [1:1] -isHpfpActive = bits, U32, 1108, [2:2] -HpfpValveState = bits, U32, 1108, [3:3] -m_pressureTarget_kPa = scalar, F32, 1112, "", 1, 0 -nextLobe = scalar, F32, 1116, "", 1, 0 -di_nextStart = scalar, F32, 1120, "v", 1, 0 -HpfdActivationPhase = scalar, F32, 1124, "", 1, 0 -HpfdDeactivationPhase = scalar, F32, 1128, "", 1, 0 -; total TS size = 1132 -m_deadtime = scalar, F32, 1132, "ms", 1, 0 -pressureDelta = scalar, F32, 1136, "kPa", 1, 0 -pressureRatio = scalar, F32, 1140, "", 1, 0 -; total TS size = 1144 -retardThresholdRpm = scalar, S32, 1144, "", 1, 0 -launchActivatePinState = bits, U32, 1148, [0:0] -isPreLaunchCondition = bits, U32, 1148, [1:1] -isLaunchCondition = bits, U32, 1148, [2:2] -isSwitchActivated = bits, U32, 1148, [3:3] -isClutchActivated = bits, U32, 1148, [4:4] -isBrakePedalActivated = bits, U32, 1148, [5:5] -isValidInputPin = bits, U32, 1148, [6:6] -activateSwitchCondition = bits, U32, 1148, [7:7] -rpmLaunchCondition = bits, U32, 1148, [8:8] -rpmPreLaunchCondition = bits, U32, 1148, [9:9] -speedCondition = bits, U32, 1148, [10:10] -tpsCondition = bits, U32, 1148, [11:11] -; total TS size = 1152 -isTorqueReductionTriggerPinValid = bits, U32, 1152, [0:0] -torqueReductionTriggerPinState = bits, U32, 1152, [1:1] -isTimeConditionSatisfied = bits, U32, 1152, [2:2] -isRpmConditionSatisfied = bits, U32, 1152, [3:3] -isAppConditionSatisfied = bits, U32, 1152, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1152, [5:5] +m_isPriming = bits, U32, 1068, [0:0] +; total TS size = 1072 +tcuCurrentGear = scalar, S08, 1072, "gear", 1, 0 +tcRatio = scalar, U16, 1074, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1076, "", 1, 0 +tcu_currentRange = scalar, U08, 1080, "", 1, 0 +pressureControlDuty = scalar, S08, 1081, "%", 1,0 +torqueConverterDuty = scalar, S08, 1082, "%", 1,0 +isShifting = bits, U32, 1084, [0:0] +; total TS size = 1088 +throttleUseWotModel = bits, U32, 1088, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1092, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1096, "g/s", 1, 0 +; total TS size = 1100 +m_requested_pump = scalar, F32, 1100, "", 1, 0 +fuel_requested_percent = scalar, F32, 1104, "%", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1108, "", 1, 0 +noValve = bits, U32, 1112, [0:0] +angleAboveMin = bits, U32, 1112, [1:1] +isHpfpActive = bits, U32, 1112, [2:2] +HpfpValveState = bits, U32, 1112, [3:3] +m_pressureTarget_kPa = scalar, F32, 1116, "", 1, 0 +nextLobe = scalar, F32, 1120, "", 1, 0 +di_nextStart = scalar, F32, 1124, "v", 1, 0 +HpfdActivationPhase = scalar, F32, 1128, "", 1, 0 +HpfdDeactivationPhase = scalar, F32, 1132, "", 1, 0 +; total TS size = 1136 +m_deadtime = scalar, F32, 1136, "ms", 1, 0 +pressureDelta = scalar, F32, 1140, "kPa", 1, 0 +pressureRatio = scalar, F32, 1144, "", 1, 0 +; total TS size = 1148 +retardThresholdRpm = scalar, S32, 1148, "", 1, 0 +launchActivatePinState = bits, U32, 1152, [0:0] +isPreLaunchCondition = bits, U32, 1152, [1:1] +isLaunchCondition = bits, U32, 1152, [2:2] +isSwitchActivated = bits, U32, 1152, [3:3] +isClutchActivated = bits, U32, 1152, [4:4] +isBrakePedalActivated = bits, U32, 1152, [5:5] +isValidInputPin = bits, U32, 1152, [6:6] +activateSwitchCondition = bits, U32, 1152, [7:7] +rpmLaunchCondition = bits, U32, 1152, [8:8] +rpmPreLaunchCondition = bits, U32, 1152, [9:9] +speedCondition = bits, U32, 1152, [10:10] +tpsCondition = bits, U32, 1152, [11:11] ; total TS size = 1156 -isAntilagCondition = bits, U32, 1156, [0:0] -ALSMinRPMCondition = bits, U32, 1156, [1:1] -ALSMaxRPMCondition = bits, U32, 1156, [2:2] -ALSMinCLTCondition = bits, U32, 1156, [3:3] -ALSMaxCLTCondition = bits, U32, 1156, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1156, [5:5] -isALSSwitchActivated = bits, U32, 1156, [6:6] -ALSActivatePinState = bits, U32, 1156, [7:7] -ALSSwitchCondition = bits, U32, 1156, [8:8] -ALSTimerCondition = bits, U32, 1156, [9:9] -fuelALSCorrection = scalar, F32, 1160, "", 1, 0 -timingALSCorrection = scalar, S16, 1164, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1166, "deg", 0.01, 0 -; total TS size = 1168 -isTpsInvalid = bits, U32, 1168, [0:0] -m_shouldResetPid = bits, U32, 1168, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1168, [2:2] -isNotClosedLoop = bits, U32, 1168, [3:3] -isZeroRpm = bits, U32, 1168, [4:4] -hasInitBoost = bits, U32, 1168, [5:5] -rpmTooLow = bits, U32, 1168, [6:6] -tpsTooLow = bits, U32, 1168, [7:7] -mapTooLow = bits, U32, 1168, [8:8] -isPlantValid = bits, U32, 1168, [9:9] -isBoostControlled = bits, U32, 1168, [10:10] -luaTargetAdd = scalar, S16, 1172, "v", 0.5,0 -boostOutput = scalar, S16, 1174, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1176, "v", 1,0 -openLoopPart = scalar, F32, 1180, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1184, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1188, "%", 0.5,0 -boostControlTarget = scalar, S16, 1190, "kPa", 0.03333333333333333,0 -; total TS size = 1192 -acButtonState = scalar, S08, 1192, "", 1, 0 -m_acEnabled = bits, U32, 1196, [0:0] -engineTooSlow = bits, U32, 1196, [1:1] -engineTooFast = bits, U32, 1196, [2:2] -noClt = bits, U32, 1196, [3:3] -engineTooHot = bits, U32, 1196, [4:4] -tpsTooHigh = bits, U32, 1196, [5:5] -isDisabledByLua = bits, U32, 1196, [6:6] -acCompressorState = bits, U32, 1196, [7:7] -acPressureTooLow = bits, U32, 1196, [8:8] -acPressureTooHigh = bits, U32, 1196, [9:9] -; total TS size = 1200 -isNitrousArmed = bits, U32, 1200, [0:0] -isNitrousSpeedCondition = bits, U32, 1200, [1:1] -isNitrousTpsCondition = bits, U32, 1200, [2:2] -isNitrousCltCondition = bits, U32, 1200, [3:3] -isNitrousMapCondition = bits, U32, 1200, [4:4] -isNitrousAfrCondition = bits, U32, 1200, [5:5] -isNitrousRpmCondition = bits, U32, 1200, [6:6] -isNitrousCondition = bits, U32, 1200, [7:7] +isTorqueReductionTriggerPinValid = bits, U32, 1156, [0:0] +torqueReductionTriggerPinState = bits, U32, 1156, [1:1] +isTimeConditionSatisfied = bits, U32, 1156, [2:2] +isRpmConditionSatisfied = bits, U32, 1156, [3:3] +isAppConditionSatisfied = bits, U32, 1156, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1156, [5:5] +; total TS size = 1160 +isAntilagCondition = bits, U32, 1160, [0:0] +ALSMinRPMCondition = bits, U32, 1160, [1:1] +ALSMaxRPMCondition = bits, U32, 1160, [2:2] +ALSMinCLTCondition = bits, U32, 1160, [3:3] +ALSMaxCLTCondition = bits, U32, 1160, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1160, [5:5] +isALSSwitchActivated = bits, U32, 1160, [6:6] +ALSActivatePinState = bits, U32, 1160, [7:7] +ALSSwitchCondition = bits, U32, 1160, [8:8] +ALSTimerCondition = bits, U32, 1160, [9:9] +fuelALSCorrection = scalar, F32, 1164, "", 1, 0 +timingALSCorrection = scalar, S16, 1168, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1170, "deg", 0.01, 0 +; total TS size = 1172 +isTpsInvalid = bits, U32, 1172, [0:0] +m_shouldResetPid = bits, U32, 1172, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1172, [2:2] +isNotClosedLoop = bits, U32, 1172, [3:3] +isZeroRpm = bits, U32, 1172, [4:4] +hasInitBoost = bits, U32, 1172, [5:5] +rpmTooLow = bits, U32, 1172, [6:6] +tpsTooLow = bits, U32, 1172, [7:7] +mapTooLow = bits, U32, 1172, [8:8] +isPlantValid = bits, U32, 1172, [9:9] +isBoostControlled = bits, U32, 1172, [10:10] +luaTargetAdd = scalar, S16, 1176, "v", 0.5,0 +boostOutput = scalar, S16, 1178, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1180, "v", 1,0 +openLoopPart = scalar, F32, 1184, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1188, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1192, "%", 0.5,0 +boostControlTarget = scalar, S16, 1194, "kPa", 0.03333333333333333,0 +; total TS size = 1196 +acButtonState = scalar, S08, 1196, "", 1, 0 +m_acEnabled = bits, U32, 1200, [0:0] +engineTooSlow = bits, U32, 1200, [1:1] +engineTooFast = bits, U32, 1200, [2:2] +noClt = bits, U32, 1200, [3:3] +engineTooHot = bits, U32, 1200, [4:4] +tpsTooHigh = bits, U32, 1200, [5:5] +isDisabledByLua = bits, U32, 1200, [6:6] +acCompressorState = bits, U32, 1200, [7:7] +acPressureTooLow = bits, U32, 1200, [8:8] +acPressureTooHigh = bits, U32, 1200, [9:9] ; total TS size = 1204 -fan1cranking = bits, U32, 1204, [0:0] -fan1notRunning = bits, U32, 1204, [1:1] -fan1disabledWhileEngineStopped = bits, U32, 1204, [2:2] -fan1brokenClt = bits, U32, 1204, [3:3] -fan1enabledForAc = bits, U32, 1204, [4:4] -fan1hot = bits, U32, 1204, [5:5] -fan1cold = bits, U32, 1204, [6:6] -fan1disabledBySpeed = bits, U32, 1204, [7:7] -fan1m_state = bits, U32, 1204, [8:8] -fan1radiatorFanStatus = scalar, U08, 1208, "", 1, 0 -; total TS size = 1212 -fan2cranking = bits, U32, 1212, [0:0] -fan2notRunning = bits, U32, 1212, [1:1] -fan2disabledWhileEngineStopped = bits, U32, 1212, [2:2] -fan2brokenClt = bits, U32, 1212, [3:3] -fan2enabledForAc = bits, U32, 1212, [4:4] -fan2hot = bits, U32, 1212, [5:5] -fan2cold = bits, U32, 1212, [6:6] -fan2disabledBySpeed = bits, U32, 1212, [7:7] -fan2m_state = bits, U32, 1212, [8:8] -fan2radiatorFanStatus = scalar, U08, 1216, "", 1, 0 -; total TS size = 1220 -isPrime = bits, U32, 1220, [0:0] -engineTurnedRecently = bits, U32, 1220, [1:1] -isFuelPumpOn = bits, U32, 1220, [2:2] -ignitionOn = bits, U32, 1220, [3:3] +isNitrousArmed = bits, U32, 1204, [0:0] +isNitrousSpeedCondition = bits, U32, 1204, [1:1] +isNitrousTpsCondition = bits, U32, 1204, [2:2] +isNitrousCltCondition = bits, U32, 1204, [3:3] +isNitrousMapCondition = bits, U32, 1204, [4:4] +isNitrousAfrCondition = bits, U32, 1204, [5:5] +isNitrousRpmCondition = bits, U32, 1204, [6:6] +isNitrousCondition = bits, U32, 1204, [7:7] +; total TS size = 1208 +fan1cranking = bits, U32, 1208, [0:0] +fan1notRunning = bits, U32, 1208, [1:1] +fan1disabledWhileEngineStopped = bits, U32, 1208, [2:2] +fan1brokenClt = bits, U32, 1208, [3:3] +fan1enabledForAc = bits, U32, 1208, [4:4] +fan1hot = bits, U32, 1208, [5:5] +fan1cold = bits, U32, 1208, [6:6] +fan1disabledBySpeed = bits, U32, 1208, [7:7] +fan1m_state = bits, U32, 1208, [8:8] +fan1radiatorFanStatus = scalar, U08, 1212, "", 1, 0 +; total TS size = 1216 +fan2cranking = bits, U32, 1216, [0:0] +fan2notRunning = bits, U32, 1216, [1:1] +fan2disabledWhileEngineStopped = bits, U32, 1216, [2:2] +fan2brokenClt = bits, U32, 1216, [3:3] +fan2enabledForAc = bits, U32, 1216, [4:4] +fan2hot = bits, U32, 1216, [5:5] +fan2cold = bits, U32, 1216, [6:6] +fan2disabledBySpeed = bits, U32, 1216, [7:7] +fan2m_state = bits, U32, 1216, [8:8] +fan2radiatorFanStatus = scalar, U08, 1220, "", 1, 0 ; total TS size = 1224 -isBenchTest = bits, U32, 1224, [0:0] -hasIgnitionVoltage = bits, U32, 1224, [1:1] -mainRelayState = bits, U32, 1224, [2:2] -delayedShutoffRequested = bits, U32, 1224, [3:3] +isPrime = bits, U32, 1224, [0:0] +engineTurnedRecently = bits, U32, 1224, [1:1] +isFuelPumpOn = bits, U32, 1224, [2:2] +ignitionOn = bits, U32, 1224, [3:3] ; total TS size = 1228 -lua_fuelAdd = scalar, F32, 1228, "g", 1, 0 -lua_fuelMult = scalar, F32, 1232, "", 1, 0 -lua_clutchUpState = bits, U32, 1236, [0:0] -lua_brakePedalState = bits, U32, 1236, [1:1] -lua_acRequestState = bits, U32, 1236, [2:2] -lua_luaDisableEtb = bits, U32, 1236, [3:3] -lua_luaIgnCut = bits, U32, 1236, [4:4] -lua_luaFuelCut = bits, U32, 1236, [5:5] -lua_clutchDownState = bits, U32, 1236, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1236, [7:7] -lua_torqueReductionState = bits, U32, 1236, [8:8] -sd_tCharge = scalar, S16, 1240, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1244, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1248, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1252, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1256, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1260, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1264, "", 1, 0 -hellenBoardId = scalar, S16, 1268, "id", 1, 0 -clutchUpState = scalar, S08, 1270, "", 1, 0 -brakePedalState = scalar, S08, 1271, "", 1, 0 -startStopState = scalar, S08, 1272, "", 1, 0 -smartChipState = scalar, S08, 1273, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1274, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1275, "", 1, 0 -startStopPhysicalState = bits, U32, 1276, [0:0] -acrActive = bits, U32, 1276, [1:1] -acrEngineMovedRecently = bits, U32, 1276, [2:2] -heaterControlEnabled = bits, U32, 1276, [3:3] -luaDigitalState0 = bits, U32, 1276, [4:4] -luaDigitalState1 = bits, U32, 1276, [5:5] -luaDigitalState2 = bits, U32, 1276, [6:6] -luaDigitalState3 = bits, U32, 1276, [7:7] -clutchDownState = bits, U32, 1276, [8:8] -startStopStateToggleCounter = scalar, U32, 1280, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1284, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1288, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1292, "", 1, 0 -fuelInjectionCounter = scalar, U32, 1296, "", 1, 0 -globalSparkCounter = scalar, U32, 1300, "", 1, 0 -fuelingLoad = scalar, F32, 1304, "", 1, 0 -ignitionLoad = scalar, F32, 1308, "", 1, 0 -veTableYAxis = scalar, U16, 1312, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1314, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1315, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1316, "", 1, 0 -; total TS size = 1320 -tpsFrom = scalar, F32, 1320 -tpsTo = scalar, F32, 1324 -deltaTps = scalar, F32, 1328 -extraFuel = scalar, F32, 1332, "", 1, 0 -valueFromTable = scalar, F32, 1336, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1340, [0:0] -isBelowDecelThreshold = bits, U32, 1340, [1:1] -isTimeToResetAccumulator = bits, U32, 1340, [2:2] -isFractionalEnrichment = bits, U32, 1340, [3:3] -belowEpsilon = bits, U32, 1340, [4:4] -tooShort = bits, U32, 1340, [5:5] -fractionalInjFuel = scalar, F32, 1344, "", 1, 0 -accumulatedValue = scalar, F32, 1348, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1352, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1356, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1360, "", 1, 0 -cycleCnt = scalar, S32, 1364, "", 1, 0 -; total TS size = 1368 -hwEventCounters1 = scalar, U16, 1368, "", 1, 0 -hwEventCounters2 = scalar, U16, 1370, "", 1, 0 -hwEventCounters3 = scalar, U16, 1372, "", 1, 0 -hwEventCounters4 = scalar, U16, 1374, "", 1, 0 -vvtCamCounter = scalar, U16, 1376, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1380, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1384, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1388, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1389, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1392, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1396, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1400, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1404, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1408, [0:0] -triggerElapsedUs = scalar, U32, 1412, "", 1, 0 -; total TS size = 1416 -trgsynchronizationCounter = scalar, U32, 1416, "", 1, 0 -trgvvtToothDurations0 = scalar, U32, 1420, "us", 1, 0 -trgvvtCurrentPosition = scalar, F32, 1424, "", 1, 0 -trgvvtToothPosition1 = scalar, F32, 1428, "", 1, 0 -trgvvtToothPosition2 = scalar, F32, 1432, "", 1, 0 -trgvvtToothPosition3 = scalar, F32, 1436, "", 1, 0 -trgvvtToothPosition4 = scalar, F32, 1440, "", 1, 0 -trgtriggerSyncGapRatio = scalar, F32, 1444, "", 1, 0 -trgtriggerStateIndex = scalar, U08, 1448, "", 1, 0 -; total TS size = 1452 -vvt1isynchronizationCounter = scalar, U32, 1452, "", 1, 0 -vvt1ivvtToothDurations0 = scalar, U32, 1456, "us", 1, 0 -vvt1ivvtCurrentPosition = scalar, F32, 1460, "", 1, 0 -vvt1ivvtToothPosition1 = scalar, F32, 1464, "", 1, 0 -vvt1ivvtToothPosition2 = scalar, F32, 1468, "", 1, 0 -vvt1ivvtToothPosition3 = scalar, F32, 1472, "", 1, 0 -vvt1ivvtToothPosition4 = scalar, F32, 1476, "", 1, 0 -vvt1itriggerSyncGapRatio = scalar, F32, 1480, "", 1, 0 -vvt1itriggerStateIndex = scalar, U08, 1484, "", 1, 0 -; total TS size = 1488 -vvt1esynchronizationCounter = scalar, U32, 1488, "", 1, 0 -vvt1evvtToothDurations0 = scalar, U32, 1492, "us", 1, 0 -vvt1evvtCurrentPosition = scalar, F32, 1496, "", 1, 0 -vvt1evvtToothPosition1 = scalar, F32, 1500, "", 1, 0 -vvt1evvtToothPosition2 = scalar, F32, 1504, "", 1, 0 -vvt1evvtToothPosition3 = scalar, F32, 1508, "", 1, 0 -vvt1evvtToothPosition4 = scalar, F32, 1512, "", 1, 0 -vvt1etriggerSyncGapRatio = scalar, F32, 1516, "", 1, 0 -vvt1etriggerStateIndex = scalar, U08, 1520, "", 1, 0 -; total TS size = 1524 -vvt2isynchronizationCounter = scalar, U32, 1524, "", 1, 0 -vvt2ivvtToothDurations0 = scalar, U32, 1528, "us", 1, 0 -vvt2ivvtCurrentPosition = scalar, F32, 1532, "", 1, 0 -vvt2ivvtToothPosition1 = scalar, F32, 1536, "", 1, 0 -vvt2ivvtToothPosition2 = scalar, F32, 1540, "", 1, 0 -vvt2ivvtToothPosition3 = scalar, F32, 1544, "", 1, 0 -vvt2ivvtToothPosition4 = scalar, F32, 1548, "", 1, 0 -vvt2itriggerSyncGapRatio = scalar, F32, 1552, "", 1, 0 -vvt2itriggerStateIndex = scalar, U08, 1556, "", 1, 0 -; total TS size = 1560 -vvt2esynchronizationCounter = scalar, U32, 1560, "", 1, 0 -vvt2evvtToothDurations0 = scalar, U32, 1564, "us", 1, 0 -vvt2evvtCurrentPosition = scalar, F32, 1568, "", 1, 0 -vvt2evvtToothPosition1 = scalar, F32, 1572, "", 1, 0 -vvt2evvtToothPosition2 = scalar, F32, 1576, "", 1, 0 -vvt2evvtToothPosition3 = scalar, F32, 1580, "", 1, 0 -vvt2evvtToothPosition4 = scalar, F32, 1584, "", 1, 0 -vvt2etriggerSyncGapRatio = scalar, F32, 1588, "", 1, 0 -vvt2etriggerStateIndex = scalar, U08, 1592, "", 1, 0 -; total TS size = 1596 -camResyncCounter = scalar, U08, 1596, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1600, [0:0] -; total TS size = 1604 -wallFuelCorrection = scalar, F32, 1604, "", 1, 0 -wallFuel = scalar, F32, 1608, "", 1, 0 -; total TS size = 1612 -idleState = bits, S32, 1612, [0:2], "not important" -currentIdlePosition = scalar, F32, 1616 -baseIdlePosition = scalar, F32, 1620 -idleClosedLoop = scalar, F32, 1624 -iacByTpsTaper = scalar, F32, 1628 -mightResetPid = bits, U32, 1632, [0:0] -shouldResetPid = bits, U32, 1632, [1:1] -wasResetPid = bits, U32, 1632, [2:2] -mustResetPid = bits, U32, 1632, [3:3] -isCranking = bits, U32, 1632, [4:4] -isIacTableForCoasting = bits, U32, 1632, [5:5] -notIdling = bits, U32, 1632, [6:6] -needReset = bits, U32, 1632, [7:7] -isInDeadZone = bits, U32, 1632, [8:8] -isBlipping = bits, U32, 1632, [9:9] -useClosedLoop = bits, U32, 1632, [10:10] -badTps = bits, U32, 1632, [11:11] -looksLikeRunning = bits, U32, 1632, [12:12] -looksLikeCoasting = bits, U32, 1632, [13:13] -looksLikeCrankToIdle = bits, U32, 1632, [14:14] -isIdleCoasting = bits, U32, 1632, [15:15] -isIdleClosedLoop = bits, U32, 1632, [16:16] -idleTarget = scalar, S32, 1636, "", 1, 0 -targetRpmByClt = scalar, S32, 1640, "", 1, 0 -targetRpmAc = scalar, S32, 1644, "", 1, 0 -iacByRpmTaper = scalar, F32, 1648 -luaAdd = scalar, F32, 1652 -; total TS size = 1656 -etb1targetWithIdlePosition = scalar, F32, 1656, "%", 1,0 -etb1trim = scalar, F32, 1660, "", 1, 0 -etb1luaAdjustment = scalar, F32, 1664, "%", 1,0 -etb1m_wastegatePosition = scalar, F32, 1668, "%", 1,0 -etb1etbFeedForward = scalar, F32, 1672 -etb1etbIntegralError = scalar, F32, 1676, "", 1, 0 -etb1etbCurrentTarget = scalar, F32, 1680, "%", 1, 0 -etb1m_adjustedTarget = scalar, S16, 1684, "%", 0.01, 0 -etb1etbRevLimitActive = bits, U32, 1688, [0:0] -etb1jamDetected = bits, U32, 1688, [1:1] -etb1validPlantPosition = bits, U32, 1688, [2:2] -etb1etbTpsErrorCounter = scalar, U16, 1692, "count", 1,0 -etb1etbPpsErrorCounter = scalar, U16, 1694, "count", 1,0 -etb1etbErrorCode = scalar, S08, 1696, "", 1, 0 -etb1etbErrorCodeBlinker = scalar, S08, 1697, "", 1, 0 -etb1tcEtbDrop = scalar, S08, 1698, "%", 1, 0 -etb1jamTimer = scalar, U16, 1700, "sec", 0.01, 0 -etb1adjustedEtbTarget = scalar, S08, 1702, "%", 1, 0 -etb1state = scalar, U08, 1703, "", 1, 0 -; total TS size = 1704 -etb2targetWithIdlePosition = scalar, F32, 1704, "%", 1,0 -etb2trim = scalar, F32, 1708, "", 1, 0 -etb2luaAdjustment = scalar, F32, 1712, "%", 1,0 -etb2m_wastegatePosition = scalar, F32, 1716, "%", 1,0 -etb2etbFeedForward = scalar, F32, 1720 -etb2etbIntegralError = scalar, F32, 1724, "", 1, 0 -etb2etbCurrentTarget = scalar, F32, 1728, "%", 1, 0 -etb2m_adjustedTarget = scalar, S16, 1732, "%", 0.01, 0 -etb2etbRevLimitActive = bits, U32, 1736, [0:0] -etb2jamDetected = bits, U32, 1736, [1:1] -etb2validPlantPosition = bits, U32, 1736, [2:2] -etb2etbTpsErrorCounter = scalar, U16, 1740, "count", 1,0 -etb2etbPpsErrorCounter = scalar, U16, 1742, "count", 1,0 -etb2etbErrorCode = scalar, S08, 1744, "", 1, 0 -etb2etbErrorCodeBlinker = scalar, S08, 1745, "", 1, 0 -etb2tcEtbDrop = scalar, S08, 1746, "%", 1, 0 -etb2jamTimer = scalar, U16, 1748, "sec", 0.01, 0 -etb2adjustedEtbTarget = scalar, S08, 1750, "%", 1, 0 -etb2state = scalar, U08, 1751, "", 1, 0 -; total TS size = 1752 -wb1faultCode = scalar, U08, 1752, "", 1, 0 -wb1heaterDuty = scalar, U08, 1753, "%", 1, 0 -wb1pumpDuty = scalar, U08, 1754, "%", 1, 0 -wb1tempC = scalar, U16, 1756, "C", 1, 0 -wb1nernstVoltage = scalar, U16, 1758, "V", 0.001, 0 -wb1esr = scalar, U16, 1760, "ohm", 1, 0 -; total TS size = 1764 -wb2faultCode = scalar, U08, 1764, "", 1, 0 -wb2heaterDuty = scalar, U08, 1765, "%", 1, 0 -wb2pumpDuty = scalar, U08, 1766, "%", 1, 0 -wb2tempC = scalar, U16, 1768, "C", 1, 0 -wb2nernstVoltage = scalar, U16, 1770, "V", 0.001, 0 -wb2esr = scalar, U16, 1772, "ohm", 1, 0 -; total TS size = 1776 -dcOutput0 = scalar, F32, 1776, "%", 1,0 -isEnabled0_int = scalar, U08, 1780, "%", 1,0 -isEnabled0 = bits, U32, 1784, [0:0] -; total TS size = 1788 -value0 = scalar, U16, 1788, "RAW", 1,0 -value1 = scalar, U16, 1790, "RAW", 1,0 -errorRate = scalar, F32, 1792, "% (don't belive me)", 1,0 -; total TS size = 1796 -vvtTarget = scalar, U16, 1796, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1798, "%", 0.5, 0 +isBenchTest = bits, U32, 1228, [0:0] +hasIgnitionVoltage = bits, U32, 1228, [1:1] +mainRelayState = bits, U32, 1228, [2:2] +delayedShutoffRequested = bits, U32, 1228, [3:3] +; total TS size = 1232 +lua_fuelAdd = scalar, F32, 1232, "g", 1, 0 +lua_fuelMult = scalar, F32, 1236, "", 1, 0 +lua_clutchUpState = bits, U32, 1240, [0:0] +lua_brakePedalState = bits, U32, 1240, [1:1] +lua_acRequestState = bits, U32, 1240, [2:2] +lua_luaDisableEtb = bits, U32, 1240, [3:3] +lua_luaIgnCut = bits, U32, 1240, [4:4] +lua_luaFuelCut = bits, U32, 1240, [5:5] +lua_clutchDownState = bits, U32, 1240, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1240, [7:7] +lua_torqueReductionState = bits, U32, 1240, [8:8] +sd_tCharge = scalar, S16, 1244, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1248, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1252, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1256, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1260, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1264, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1268, "", 1, 0 +hellenBoardId = scalar, S16, 1272, "id", 1, 0 +clutchUpState = scalar, S08, 1274, "", 1, 0 +brakePedalState = scalar, S08, 1275, "", 1, 0 +startStopState = scalar, S08, 1276, "", 1, 0 +smartChipState = scalar, S08, 1277, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1278, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1279, "", 1, 0 +startStopPhysicalState = bits, U32, 1280, [0:0] +acrActive = bits, U32, 1280, [1:1] +acrEngineMovedRecently = bits, U32, 1280, [2:2] +heaterControlEnabled = bits, U32, 1280, [3:3] +luaDigitalState0 = bits, U32, 1280, [4:4] +luaDigitalState1 = bits, U32, 1280, [5:5] +luaDigitalState2 = bits, U32, 1280, [6:6] +luaDigitalState3 = bits, U32, 1280, [7:7] +clutchDownState = bits, U32, 1280, [8:8] +startStopStateToggleCounter = scalar, U32, 1284, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1288, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1292, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1296, "", 1, 0 +fuelInjectionCounter = scalar, U32, 1300, "", 1, 0 +globalSparkCounter = scalar, U32, 1304, "", 1, 0 +fuelingLoad = scalar, F32, 1308, "", 1, 0 +ignitionLoad = scalar, F32, 1312, "", 1, 0 +veTableYAxis = scalar, U16, 1316, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1318, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1319, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1320, "", 1, 0 +; total TS size = 1324 +tpsFrom = scalar, F32, 1324 +tpsTo = scalar, F32, 1328 +deltaTps = scalar, F32, 1332 +extraFuel = scalar, F32, 1336, "", 1, 0 +valueFromTable = scalar, F32, 1340, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1344, [0:0] +isBelowDecelThreshold = bits, U32, 1344, [1:1] +isTimeToResetAccumulator = bits, U32, 1344, [2:2] +isFractionalEnrichment = bits, U32, 1344, [3:3] +belowEpsilon = bits, U32, 1344, [4:4] +tooShort = bits, U32, 1344, [5:5] +fractionalInjFuel = scalar, F32, 1348, "", 1, 0 +accumulatedValue = scalar, F32, 1352, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1356, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1360, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1364, "", 1, 0 +cycleCnt = scalar, S32, 1368, "", 1, 0 +; total TS size = 1372 +hwEventCounters1 = scalar, U16, 1372, "", 1, 0 +hwEventCounters2 = scalar, U16, 1374, "", 1, 0 +hwEventCounters3 = scalar, U16, 1376, "", 1, 0 +hwEventCounters4 = scalar, U16, 1378, "", 1, 0 +vvtCamCounter = scalar, U16, 1380, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1384, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1388, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1392, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1393, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1396, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1400, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1404, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1408, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1412, [0:0] +triggerElapsedUs = scalar, U32, 1416, "", 1, 0 +; total TS size = 1420 +trgsynchronizationCounter = scalar, U32, 1420, "", 1, 0 +trgvvtToothDurations0 = scalar, U32, 1424, "us", 1, 0 +trgvvtCurrentPosition = scalar, F32, 1428, "", 1, 0 +trgvvtToothPosition1 = scalar, F32, 1432, "", 1, 0 +trgvvtToothPosition2 = scalar, F32, 1436, "", 1, 0 +trgvvtToothPosition3 = scalar, F32, 1440, "", 1, 0 +trgvvtToothPosition4 = scalar, F32, 1444, "", 1, 0 +trgtriggerSyncGapRatio = scalar, F32, 1448, "", 1, 0 +trgtriggerStateIndex = scalar, U08, 1452, "", 1, 0 +; total TS size = 1456 +vvt1isynchronizationCounter = scalar, U32, 1456, "", 1, 0 +vvt1ivvtToothDurations0 = scalar, U32, 1460, "us", 1, 0 +vvt1ivvtCurrentPosition = scalar, F32, 1464, "", 1, 0 +vvt1ivvtToothPosition1 = scalar, F32, 1468, "", 1, 0 +vvt1ivvtToothPosition2 = scalar, F32, 1472, "", 1, 0 +vvt1ivvtToothPosition3 = scalar, F32, 1476, "", 1, 0 +vvt1ivvtToothPosition4 = scalar, F32, 1480, "", 1, 0 +vvt1itriggerSyncGapRatio = scalar, F32, 1484, "", 1, 0 +vvt1itriggerStateIndex = scalar, U08, 1488, "", 1, 0 +; total TS size = 1492 +vvt1esynchronizationCounter = scalar, U32, 1492, "", 1, 0 +vvt1evvtToothDurations0 = scalar, U32, 1496, "us", 1, 0 +vvt1evvtCurrentPosition = scalar, F32, 1500, "", 1, 0 +vvt1evvtToothPosition1 = scalar, F32, 1504, "", 1, 0 +vvt1evvtToothPosition2 = scalar, F32, 1508, "", 1, 0 +vvt1evvtToothPosition3 = scalar, F32, 1512, "", 1, 0 +vvt1evvtToothPosition4 = scalar, F32, 1516, "", 1, 0 +vvt1etriggerSyncGapRatio = scalar, F32, 1520, "", 1, 0 +vvt1etriggerStateIndex = scalar, U08, 1524, "", 1, 0 +; total TS size = 1528 +vvt2isynchronizationCounter = scalar, U32, 1528, "", 1, 0 +vvt2ivvtToothDurations0 = scalar, U32, 1532, "us", 1, 0 +vvt2ivvtCurrentPosition = scalar, F32, 1536, "", 1, 0 +vvt2ivvtToothPosition1 = scalar, F32, 1540, "", 1, 0 +vvt2ivvtToothPosition2 = scalar, F32, 1544, "", 1, 0 +vvt2ivvtToothPosition3 = scalar, F32, 1548, "", 1, 0 +vvt2ivvtToothPosition4 = scalar, F32, 1552, "", 1, 0 +vvt2itriggerSyncGapRatio = scalar, F32, 1556, "", 1, 0 +vvt2itriggerStateIndex = scalar, U08, 1560, "", 1, 0 +; total TS size = 1564 +vvt2esynchronizationCounter = scalar, U32, 1564, "", 1, 0 +vvt2evvtToothDurations0 = scalar, U32, 1568, "us", 1, 0 +vvt2evvtCurrentPosition = scalar, F32, 1572, "", 1, 0 +vvt2evvtToothPosition1 = scalar, F32, 1576, "", 1, 0 +vvt2evvtToothPosition2 = scalar, F32, 1580, "", 1, 0 +vvt2evvtToothPosition3 = scalar, F32, 1584, "", 1, 0 +vvt2evvtToothPosition4 = scalar, F32, 1588, "", 1, 0 +vvt2etriggerSyncGapRatio = scalar, F32, 1592, "", 1, 0 +vvt2etriggerStateIndex = scalar, U08, 1596, "", 1, 0 +; total TS size = 1600 +camResyncCounter = scalar, U08, 1600, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1604, [0:0] +; total TS size = 1608 +wallFuelCorrection = scalar, F32, 1608, "", 1, 0 +wallFuel = scalar, F32, 1612, "", 1, 0 +; total TS size = 1616 +idleState = bits, S32, 1616, [0:2], "not important" +currentIdlePosition = scalar, F32, 1620 +baseIdlePosition = scalar, F32, 1624 +idleClosedLoop = scalar, F32, 1628 +iacByTpsTaper = scalar, F32, 1632 +mightResetPid = bits, U32, 1636, [0:0] +shouldResetPid = bits, U32, 1636, [1:1] +wasResetPid = bits, U32, 1636, [2:2] +mustResetPid = bits, U32, 1636, [3:3] +isCranking = bits, U32, 1636, [4:4] +isIacTableForCoasting = bits, U32, 1636, [5:5] +notIdling = bits, U32, 1636, [6:6] +needReset = bits, U32, 1636, [7:7] +isInDeadZone = bits, U32, 1636, [8:8] +isBlipping = bits, U32, 1636, [9:9] +useClosedLoop = bits, U32, 1636, [10:10] +badTps = bits, U32, 1636, [11:11] +looksLikeRunning = bits, U32, 1636, [12:12] +looksLikeCoasting = bits, U32, 1636, [13:13] +looksLikeCrankToIdle = bits, U32, 1636, [14:14] +isIdleCoasting = bits, U32, 1636, [15:15] +isIdleClosedLoop = bits, U32, 1636, [16:16] +idleTarget = scalar, S32, 1640, "", 1, 0 +targetRpmByClt = scalar, S32, 1644, "", 1, 0 +targetRpmAc = scalar, S32, 1648, "", 1, 0 +iacByRpmTaper = scalar, F32, 1652 +luaAdd = scalar, F32, 1656 +; total TS size = 1660 +etb1targetWithIdlePosition = scalar, F32, 1660, "%", 1,0 +etb1trim = scalar, F32, 1664, "", 1, 0 +etb1luaAdjustment = scalar, F32, 1668, "%", 1,0 +etb1m_wastegatePosition = scalar, F32, 1672, "%", 1,0 +etb1etbFeedForward = scalar, F32, 1676 +etb1etbIntegralError = scalar, F32, 1680, "", 1, 0 +etb1etbCurrentTarget = scalar, F32, 1684, "%", 1, 0 +etb1m_adjustedTarget = scalar, S16, 1688, "%", 0.01, 0 +etb1etbRevLimitActive = bits, U32, 1692, [0:0] +etb1jamDetected = bits, U32, 1692, [1:1] +etb1validPlantPosition = bits, U32, 1692, [2:2] +etb1etbTpsErrorCounter = scalar, U16, 1696, "count", 1,0 +etb1etbPpsErrorCounter = scalar, U16, 1698, "count", 1,0 +etb1etbErrorCode = scalar, S08, 1700, "", 1, 0 +etb1etbErrorCodeBlinker = scalar, S08, 1701, "", 1, 0 +etb1tcEtbDrop = scalar, S08, 1702, "%", 1, 0 +etb1jamTimer = scalar, U16, 1704, "sec", 0.01, 0 +etb1adjustedEtbTarget = scalar, S08, 1706, "%", 1, 0 +etb1state = scalar, U08, 1707, "", 1, 0 +; total TS size = 1708 +etb2targetWithIdlePosition = scalar, F32, 1708, "%", 1,0 +etb2trim = scalar, F32, 1712, "", 1, 0 +etb2luaAdjustment = scalar, F32, 1716, "%", 1,0 +etb2m_wastegatePosition = scalar, F32, 1720, "%", 1,0 +etb2etbFeedForward = scalar, F32, 1724 +etb2etbIntegralError = scalar, F32, 1728, "", 1, 0 +etb2etbCurrentTarget = scalar, F32, 1732, "%", 1, 0 +etb2m_adjustedTarget = scalar, S16, 1736, "%", 0.01, 0 +etb2etbRevLimitActive = bits, U32, 1740, [0:0] +etb2jamDetected = bits, U32, 1740, [1:1] +etb2validPlantPosition = bits, U32, 1740, [2:2] +etb2etbTpsErrorCounter = scalar, U16, 1744, "count", 1,0 +etb2etbPpsErrorCounter = scalar, U16, 1746, "count", 1,0 +etb2etbErrorCode = scalar, S08, 1748, "", 1, 0 +etb2etbErrorCodeBlinker = scalar, S08, 1749, "", 1, 0 +etb2tcEtbDrop = scalar, S08, 1750, "%", 1, 0 +etb2jamTimer = scalar, U16, 1752, "sec", 0.01, 0 +etb2adjustedEtbTarget = scalar, S08, 1754, "%", 1, 0 +etb2state = scalar, U08, 1755, "", 1, 0 +; total TS size = 1756 +wb1faultCode = scalar, U08, 1756, "", 1, 0 +wb1heaterDuty = scalar, U08, 1757, "%", 1, 0 +wb1pumpDuty = scalar, U08, 1758, "%", 1, 0 +wb1tempC = scalar, U16, 1760, "C", 1, 0 +wb1nernstVoltage = scalar, U16, 1762, "V", 0.001, 0 +wb1esr = scalar, U16, 1764, "ohm", 1, 0 +; total TS size = 1768 +wb2faultCode = scalar, U08, 1768, "", 1, 0 +wb2heaterDuty = scalar, U08, 1769, "%", 1, 0 +wb2pumpDuty = scalar, U08, 1770, "%", 1, 0 +wb2tempC = scalar, U16, 1772, "C", 1, 0 +wb2nernstVoltage = scalar, U16, 1774, "V", 0.001, 0 +wb2esr = scalar, U16, 1776, "ohm", 1, 0 +; total TS size = 1780 +dcOutput0 = scalar, F32, 1780, "%", 1,0 +isEnabled0_int = scalar, U08, 1784, "%", 1,0 +isEnabled0 = bits, U32, 1788, [0:0] +; total TS size = 1792 +value0 = scalar, U16, 1792, "RAW", 1,0 +value1 = scalar, U16, 1794, "RAW", 1,0 +errorRate = scalar, F32, 1796, "% (don't belive me)", 1,0 ; total TS size = 1800 -lambdaCurrentlyGood = bits, U32, 1800, [0:0] -lambdaMonitorCut = bits, U32, 1800, [1:1] -lambdaTimeSinceGood = scalar, U16, 1804, "sec", 0.01, 0 -; total TS size = 1808 +vvtTarget = scalar, U16, 1800, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1802, "%", 0.5, 0 +; total TS size = 1804 +lambdaCurrentlyGood = bits, U32, 1804, [0:0] +lambdaMonitorCut = bits, U32, 1804, [1:1] +lambdaTimeSinceGood = scalar, U16, 1808, "sec", 0.01, 0 +; total TS size = 1812 time = { timeNow } @@ -4584,6 +4587,12 @@ curve = rangeMatrix, "Range Switch Input Matrix" gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. upDownLabel = "(RICHER)", "(LEANER)" + table = trailingSparkTable, trailingSparkMap, "Trailing spark", 1 + xyLabels = "RPM", "Ignition Load" + xBins = trailingSparkRpmBins, RPMValue + yBins = trailingSparkLoadBins, ignitionLoad + zBins = trailingSparkTable + table = torqueTableTbl, torqueTableMap, "Engine Torque", 1 xBins = torqueRpmBins, RPMValue yBins = torqueLoadBins, veTableYAxis @@ -4881,6 +4890,7 @@ timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20 timingPidCorrectionGauge = timingPidCorrection,"Idle: Timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 +trailingSparkAngleGauge = trailingSparkAngle,"Ign: Trailing spark deg", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 gaugeCategory = "Boost Control" luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 @@ -5811,6 +5821,7 @@ entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" entry = luaIgnitionSkip, "Ign: Lua Spark Skip", int, "%d" +entry = trailingSparkAngle, "Ign: Trailing spark deg", float, "%.3f" entry = m_knockLevel, "Knock: Current level", float, "%.3f" entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" @@ -6759,6 +6770,7 @@ dialog = ignition_stateDialog, "ignition_state" graphLine = luaTimingAdd liveGraph = ignition_state_4_Graph, "Graph", South graphLine = luaTimingMult + graphLine = trailingSparkAngle dialog = knock_controllerDialog, "knock_controller" @@ -10095,11 +10107,11 @@ dialog = tcuControls, "Transmission Settings" dialog = rotaryDialog, "Rotary" field = "Enable Trailing Sparks", enableTrailingSparks - field = "Trailing Spark Offset", trailingSparkAngle field = "Trailing Pin 1", trailingCoilPins1 field = "Trailing Pin 2", trailingCoilPins2 field = "Trailing Pin 3", trailingCoilPins3 field = "Trailing Pin 4", trailingCoilPins4 + panel = trailingSparkTable diff --git a/firmware/tunerstudio/generated/rusefi_f469-discovery.ini b/firmware/tunerstudio/generated/rusefi_f469-discovery.ini index 4fc1b8741a..99a6bbbbf1 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.2025.02.07.f469-discovery.1616110341" + signature = "rusEFI master.2025.02.07.f469-discovery.3889196136" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2025.02.07.f469-discovery.1616110341" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2025.02.07.f469-discovery.3889196136" ; 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 @@ -101,7 +101,7 @@ enable2ndByteCanID = false ; CONFIG_DEFINITION_START ; this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt -pageSize = 23280 +pageSize = 23304 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",22="BMW_M52",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",21="ET_BOSCH_QUICK_START",24="ET_TEST_WITH_BOSCH_QUICK_START",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",41="FRANKENSO_MIATA_NA6_MAP",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",47="GM_LCV",55="GM_LTG",98="GM_SBC",49="GM_SBC_GEN5",8="GY6_139QMB",6="HARLEY",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",34="MAZDA_MIATA_NA6",80="MAZDA_MIATA_NA94",10="MAZDA_MIATA_NA96",83="MAZDA_MIATA_NB1",69="MAZDA_MIATA_NB2",86="MAZDA_MIATA_NB2_36",20="MAZDA_MIATA_NC",33="ME17_9_MISC",68="MERCEDES_M111",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",4="MRE_SECONDARY_CAN",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",35="POLARIS",9="POLARIS_RZR",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",27="PROTEUS_GM_LS_4",25="PROTEUS_LUA_DEMO",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",17="TCU_4R70W",100="TEST_100",101="TEST_101",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",93="TEST_ISSUE_6451",19="TEST_ROTARY",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",102="UNUSED102",67="UNUSED67",94="UNUSED94",65="UNUSED_65",97="UNUSED_97",77="VAG_5_CYL",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -245,7 +245,7 @@ vbattAdcChannel = bits, U08, 513, [0:5], $adc_channel_e_list fuelLevelSensor = bits, U08, 514, [0:5], $adc_channel_e_list tps2_1AdcChannel = bits, U08, 515, [0:5], $adc_channel_e_list idle_derivativeFilterLoss = scalar, F32, 516, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 520, "angle", 1, 0, 0, 720, 0 +unusedTrailingSparkAngle = scalar, S32, 520, "", 1, 0, 0, 100, 0 trigger_type = bits, U32, 524, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Daihatsu 3 cylinder", "Mazda SOHC 4", "60-2", "36-1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "Dodge Ram 1+16", "60-2 Wrong Polarity", "Benelli Tre", "Dodge Stratus", "36_2_2_2", "Nissan Primera", "dev 2JZ 3/34 simulator", "Rover K", "GM 24x 5 degree", "Honda CBR 600 Cam", "INVALID", "Honda CBR 600 custom", "3-1 skipped", "Dodge Neon 2003 crank", "Miata NB", "INVALID", "INVALID", "Subaru 7+6", "Jeep 18-2-2-2", "12crank/24cam", "Dodge Neon 1995 crank only", "Jeep XJ 4 cyl", "FiatIAQ_P8", "Mazda Z5", "INVALID", "Renix 44-2-2", "Renix 66-2-2-2", "Honda K 12+1", "INVALID", "36-2", "Subaru SVX", "Suzuki K6A", "Subaru 7 without 6", "INVALID", "INVALID", "GM 60-2-2-2", "Skoda Favorit", "Barra 3+1 Cam", "Kawa KX450F", "Nissan VQ35", "INVALID", "Nissan VQ30", "Nissan QR25", "INVALID", "Subaru SVX Crank 1", "Subaru SVX Cam VVT", "Ford PIP", "Suzuki G13B", "Honda K 4+1", "Nissan MR18 Crank", "32-2", "36-2-1", "36-2-1-1", "3-0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6-0", "Daihatsu 4 cylinder", "INVALID", "dev", "Nissan HR", "Arctic Cat", "HR12 in", "HONDA J30A2", "trg88", "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" trigger_customTotalToothCount = scalar, S32, 528, "number", 1, 0, 1, 300, 0 trigger_customSkippedToothCount = scalar, S32, 532, "number", 1, 0, 0, 300, 0 @@ -1796,7 +1796,10 @@ dynoCarCarMassKg = scalar, S16, 23268, "", 1, 0, 0, 32000, 0 dynoCarCargoMassKg = scalar, S16, 23270, "", 1, 0, 0, 32000, 0 dynoCarCoeffOfDrag = scalar, F32, 23272, "", 1, 0, 0, 100, 0 dynoCarFrontalAreaM2 = scalar, F32, 23276, "", 1, 0, 0, 100, 0 -; total TS size = 23280 +trailingSparkTable = array, S08, 23280, [4x4], "deg", 0.1, 0, 0, 20, 1 +trailingSparkRpmBins = array, U08, 23296, [4], "rpm", 50.0, 0, 0, 12000, 0 +trailingSparkLoadBins = array, U08, 23300, [4], "Load", 5.0, 0, 0, 1000, 0 +; total TS size = 23304 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1890,7 +1893,6 @@ dynoCarFrontalAreaM2 = scalar, F32, 23276, "", 1, 0, 0, 100, 0 fuelLevelSensor = "This is the processor pin that your fuel level sensor in connected to. This is a non standard input so will need to be user defined." tps2_1AdcChannel = "Second throttle body position sensor, single channel so far" idle_derivativeFilterLoss = "0.1 is a good default value" - trailingSparkAngle = "just a temporary solution" trigger_type = "https://github.com/rusefi/rusefi/wiki/All-Supported-Triggers" airByRpmTaper = "Extra air taper amount" boostControlSafeDutyCycle = "Duty cycle to use in case of a sensor failure. This duty cycle should produce the minimum possible amount of boost. This duty is also used in case any of the minimum RPM/TPS/MAP conditions are not met." @@ -2664,7 +2666,7 @@ dynoCarFrontalAreaM2 = scalar, F32, 23276, "", 1, 0, 0, 100, 0 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1808 + ochBlockSize = 1812 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3189,417 +3191,418 @@ dwellVoltageCorrection = scalar, F32, 940, "", 1, 0 luaTimingAdd = scalar, F32, 944, "deg", 1, 0 luaTimingMult = scalar, F32, 948, "deg", 1, 0 luaIgnitionSkip = bits, U32, 952, [0:0] -; total TS size = 956 -m_knockLevel = scalar, F32, 956, "Volts", 1, 0 -m_knockCyl1 = scalar, S08, 960, "dBv", 1, 0 -m_knockCyl2 = scalar, S08, 961, "dBv", 1, 0 -m_knockCyl3 = scalar, S08, 962, "dBv", 1, 0 -m_knockCyl4 = scalar, S08, 963, "dBv", 1, 0 -m_knockCyl5 = scalar, S08, 964, "dBv", 1, 0 -m_knockCyl6 = scalar, S08, 965, "dBv", 1, 0 -m_knockCyl7 = scalar, S08, 966, "dBv", 1, 0 -m_knockCyl8 = scalar, S08, 967, "dBv", 1, 0 -m_knockCyl9 = scalar, S08, 968, "dBv", 1, 0 -m_knockCyl10 = scalar, S08, 969, "dBv", 1, 0 -m_knockCyl11 = scalar, S08, 970, "dBv", 1, 0 -m_knockCyl12 = scalar, S08, 971, "dBv", 1, 0 -m_knockRetard = scalar, F32, 972, "deg", 1,0 -m_knockThreshold = scalar, F32, 976, "", 1, 0 -m_knockCount = scalar, U32, 980, "", 1, 0 -m_maximumRetard = scalar, F32, 984, "", 1, 0 -m_knockSpectrum1 = scalar, U32, 988, "compressed data", 1, 0 -m_knockSpectrum2 = scalar, U32, 992, "compressed data", 1, 0 -m_knockSpectrum3 = scalar, U32, 996, "compressed data", 1, 0 -m_knockSpectrum4 = scalar, U32, 1000, "compressed data", 1, 0 -m_knockSpectrum5 = scalar, U32, 1004, "compressed data", 1, 0 -m_knockSpectrum6 = scalar, U32, 1008, "compressed data", 1, 0 -m_knockSpectrum7 = scalar, U32, 1012, "compressed data", 1, 0 -m_knockSpectrum8 = scalar, U32, 1016, "compressed data", 1, 0 -m_knockSpectrum9 = scalar, U32, 1020, "compressed data", 1, 0 -m_knockSpectrum10 = scalar, U32, 1024, "compressed data", 1, 0 -m_knockSpectrum11 = scalar, U32, 1028, "compressed data", 1, 0 -m_knockSpectrum12 = scalar, U32, 1032, "compressed data", 1, 0 -m_knockSpectrum13 = scalar, U32, 1036, "compressed data", 1, 0 -m_knockSpectrum14 = scalar, U32, 1040, "compressed data", 1, 0 -m_knockSpectrum15 = scalar, U32, 1044, "compressed data", 1, 0 -m_knockSpectrum16 = scalar, U32, 1048, "compressed data", 1, 0 -m_knockSpectrumChannelCyl = scalar, U16, 1052, "compressed N + N", 1, 0 -m_knockFrequencyStart = scalar, U16, 1054, "Hz", 1, 0 -m_knockFrequencyStep = scalar, F32, 1056, "Hz", 1, 0 -m_knockFuelTrimMultiplier = scalar, F32, 1060, "multiplier", 1, 0 -; total TS size = 1064 -m_isPriming = bits, U32, 1064, [0:0] +trailingSparkAngle = scalar, S16, 956, "deg", 0.01,0 +; total TS size = 960 +m_knockLevel = scalar, F32, 960, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 964, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 965, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 966, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 967, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 968, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 969, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 970, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 971, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 972, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 973, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 974, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 975, "dBv", 1, 0 +m_knockRetard = scalar, F32, 976, "deg", 1,0 +m_knockThreshold = scalar, F32, 980, "", 1, 0 +m_knockCount = scalar, U32, 984, "", 1, 0 +m_maximumRetard = scalar, F32, 988, "", 1, 0 +m_knockSpectrum1 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1040, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1044, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1048, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1052, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1056, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1058, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1060, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1064, "multiplier", 1, 0 ; total TS size = 1068 -tcuCurrentGear = scalar, S08, 1068, "gear", 1, 0 -tcRatio = scalar, U16, 1070, "value", 0.01, 0 -lastShiftTime = scalar, F32, 1072, "", 1, 0 -tcu_currentRange = scalar, U08, 1076, "", 1, 0 -pressureControlDuty = scalar, S08, 1077, "%", 1,0 -torqueConverterDuty = scalar, S08, 1078, "%", 1,0 -isShifting = bits, U32, 1080, [0:0] -; total TS size = 1084 -throttleUseWotModel = bits, U32, 1084, [0:0] -throttleModelCrossoverAngle = scalar, S16, 1088, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1092, "g/s", 1, 0 -; total TS size = 1096 -m_requested_pump = scalar, F32, 1096, "", 1, 0 -fuel_requested_percent = scalar, F32, 1100, "%", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1104, "", 1, 0 -noValve = bits, U32, 1108, [0:0] -angleAboveMin = bits, U32, 1108, [1:1] -isHpfpActive = bits, U32, 1108, [2:2] -HpfpValveState = bits, U32, 1108, [3:3] -m_pressureTarget_kPa = scalar, F32, 1112, "", 1, 0 -nextLobe = scalar, F32, 1116, "", 1, 0 -di_nextStart = scalar, F32, 1120, "v", 1, 0 -HpfdActivationPhase = scalar, F32, 1124, "", 1, 0 -HpfdDeactivationPhase = scalar, F32, 1128, "", 1, 0 -; total TS size = 1132 -m_deadtime = scalar, F32, 1132, "ms", 1, 0 -pressureDelta = scalar, F32, 1136, "kPa", 1, 0 -pressureRatio = scalar, F32, 1140, "", 1, 0 -; total TS size = 1144 -retardThresholdRpm = scalar, S32, 1144, "", 1, 0 -launchActivatePinState = bits, U32, 1148, [0:0] -isPreLaunchCondition = bits, U32, 1148, [1:1] -isLaunchCondition = bits, U32, 1148, [2:2] -isSwitchActivated = bits, U32, 1148, [3:3] -isClutchActivated = bits, U32, 1148, [4:4] -isBrakePedalActivated = bits, U32, 1148, [5:5] -isValidInputPin = bits, U32, 1148, [6:6] -activateSwitchCondition = bits, U32, 1148, [7:7] -rpmLaunchCondition = bits, U32, 1148, [8:8] -rpmPreLaunchCondition = bits, U32, 1148, [9:9] -speedCondition = bits, U32, 1148, [10:10] -tpsCondition = bits, U32, 1148, [11:11] -; total TS size = 1152 -isTorqueReductionTriggerPinValid = bits, U32, 1152, [0:0] -torqueReductionTriggerPinState = bits, U32, 1152, [1:1] -isTimeConditionSatisfied = bits, U32, 1152, [2:2] -isRpmConditionSatisfied = bits, U32, 1152, [3:3] -isAppConditionSatisfied = bits, U32, 1152, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1152, [5:5] +m_isPriming = bits, U32, 1068, [0:0] +; total TS size = 1072 +tcuCurrentGear = scalar, S08, 1072, "gear", 1, 0 +tcRatio = scalar, U16, 1074, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1076, "", 1, 0 +tcu_currentRange = scalar, U08, 1080, "", 1, 0 +pressureControlDuty = scalar, S08, 1081, "%", 1,0 +torqueConverterDuty = scalar, S08, 1082, "%", 1,0 +isShifting = bits, U32, 1084, [0:0] +; total TS size = 1088 +throttleUseWotModel = bits, U32, 1088, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1092, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1096, "g/s", 1, 0 +; total TS size = 1100 +m_requested_pump = scalar, F32, 1100, "", 1, 0 +fuel_requested_percent = scalar, F32, 1104, "%", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1108, "", 1, 0 +noValve = bits, U32, 1112, [0:0] +angleAboveMin = bits, U32, 1112, [1:1] +isHpfpActive = bits, U32, 1112, [2:2] +HpfpValveState = bits, U32, 1112, [3:3] +m_pressureTarget_kPa = scalar, F32, 1116, "", 1, 0 +nextLobe = scalar, F32, 1120, "", 1, 0 +di_nextStart = scalar, F32, 1124, "v", 1, 0 +HpfdActivationPhase = scalar, F32, 1128, "", 1, 0 +HpfdDeactivationPhase = scalar, F32, 1132, "", 1, 0 +; total TS size = 1136 +m_deadtime = scalar, F32, 1136, "ms", 1, 0 +pressureDelta = scalar, F32, 1140, "kPa", 1, 0 +pressureRatio = scalar, F32, 1144, "", 1, 0 +; total TS size = 1148 +retardThresholdRpm = scalar, S32, 1148, "", 1, 0 +launchActivatePinState = bits, U32, 1152, [0:0] +isPreLaunchCondition = bits, U32, 1152, [1:1] +isLaunchCondition = bits, U32, 1152, [2:2] +isSwitchActivated = bits, U32, 1152, [3:3] +isClutchActivated = bits, U32, 1152, [4:4] +isBrakePedalActivated = bits, U32, 1152, [5:5] +isValidInputPin = bits, U32, 1152, [6:6] +activateSwitchCondition = bits, U32, 1152, [7:7] +rpmLaunchCondition = bits, U32, 1152, [8:8] +rpmPreLaunchCondition = bits, U32, 1152, [9:9] +speedCondition = bits, U32, 1152, [10:10] +tpsCondition = bits, U32, 1152, [11:11] ; total TS size = 1156 -isAntilagCondition = bits, U32, 1156, [0:0] -ALSMinRPMCondition = bits, U32, 1156, [1:1] -ALSMaxRPMCondition = bits, U32, 1156, [2:2] -ALSMinCLTCondition = bits, U32, 1156, [3:3] -ALSMaxCLTCondition = bits, U32, 1156, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1156, [5:5] -isALSSwitchActivated = bits, U32, 1156, [6:6] -ALSActivatePinState = bits, U32, 1156, [7:7] -ALSSwitchCondition = bits, U32, 1156, [8:8] -ALSTimerCondition = bits, U32, 1156, [9:9] -fuelALSCorrection = scalar, F32, 1160, "", 1, 0 -timingALSCorrection = scalar, S16, 1164, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1166, "deg", 0.01, 0 -; total TS size = 1168 -isTpsInvalid = bits, U32, 1168, [0:0] -m_shouldResetPid = bits, U32, 1168, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1168, [2:2] -isNotClosedLoop = bits, U32, 1168, [3:3] -isZeroRpm = bits, U32, 1168, [4:4] -hasInitBoost = bits, U32, 1168, [5:5] -rpmTooLow = bits, U32, 1168, [6:6] -tpsTooLow = bits, U32, 1168, [7:7] -mapTooLow = bits, U32, 1168, [8:8] -isPlantValid = bits, U32, 1168, [9:9] -isBoostControlled = bits, U32, 1168, [10:10] -luaTargetAdd = scalar, S16, 1172, "v", 0.5,0 -boostOutput = scalar, S16, 1174, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1176, "v", 1,0 -openLoopPart = scalar, F32, 1180, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1184, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1188, "%", 0.5,0 -boostControlTarget = scalar, S16, 1190, "kPa", 0.03333333333333333,0 -; total TS size = 1192 -acButtonState = scalar, S08, 1192, "", 1, 0 -m_acEnabled = bits, U32, 1196, [0:0] -engineTooSlow = bits, U32, 1196, [1:1] -engineTooFast = bits, U32, 1196, [2:2] -noClt = bits, U32, 1196, [3:3] -engineTooHot = bits, U32, 1196, [4:4] -tpsTooHigh = bits, U32, 1196, [5:5] -isDisabledByLua = bits, U32, 1196, [6:6] -acCompressorState = bits, U32, 1196, [7:7] -acPressureTooLow = bits, U32, 1196, [8:8] -acPressureTooHigh = bits, U32, 1196, [9:9] -; total TS size = 1200 -isNitrousArmed = bits, U32, 1200, [0:0] -isNitrousSpeedCondition = bits, U32, 1200, [1:1] -isNitrousTpsCondition = bits, U32, 1200, [2:2] -isNitrousCltCondition = bits, U32, 1200, [3:3] -isNitrousMapCondition = bits, U32, 1200, [4:4] -isNitrousAfrCondition = bits, U32, 1200, [5:5] -isNitrousRpmCondition = bits, U32, 1200, [6:6] -isNitrousCondition = bits, U32, 1200, [7:7] +isTorqueReductionTriggerPinValid = bits, U32, 1156, [0:0] +torqueReductionTriggerPinState = bits, U32, 1156, [1:1] +isTimeConditionSatisfied = bits, U32, 1156, [2:2] +isRpmConditionSatisfied = bits, U32, 1156, [3:3] +isAppConditionSatisfied = bits, U32, 1156, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1156, [5:5] +; total TS size = 1160 +isAntilagCondition = bits, U32, 1160, [0:0] +ALSMinRPMCondition = bits, U32, 1160, [1:1] +ALSMaxRPMCondition = bits, U32, 1160, [2:2] +ALSMinCLTCondition = bits, U32, 1160, [3:3] +ALSMaxCLTCondition = bits, U32, 1160, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1160, [5:5] +isALSSwitchActivated = bits, U32, 1160, [6:6] +ALSActivatePinState = bits, U32, 1160, [7:7] +ALSSwitchCondition = bits, U32, 1160, [8:8] +ALSTimerCondition = bits, U32, 1160, [9:9] +fuelALSCorrection = scalar, F32, 1164, "", 1, 0 +timingALSCorrection = scalar, S16, 1168, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1170, "deg", 0.01, 0 +; total TS size = 1172 +isTpsInvalid = bits, U32, 1172, [0:0] +m_shouldResetPid = bits, U32, 1172, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1172, [2:2] +isNotClosedLoop = bits, U32, 1172, [3:3] +isZeroRpm = bits, U32, 1172, [4:4] +hasInitBoost = bits, U32, 1172, [5:5] +rpmTooLow = bits, U32, 1172, [6:6] +tpsTooLow = bits, U32, 1172, [7:7] +mapTooLow = bits, U32, 1172, [8:8] +isPlantValid = bits, U32, 1172, [9:9] +isBoostControlled = bits, U32, 1172, [10:10] +luaTargetAdd = scalar, S16, 1176, "v", 0.5,0 +boostOutput = scalar, S16, 1178, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1180, "v", 1,0 +openLoopPart = scalar, F32, 1184, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1188, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1192, "%", 0.5,0 +boostControlTarget = scalar, S16, 1194, "kPa", 0.03333333333333333,0 +; total TS size = 1196 +acButtonState = scalar, S08, 1196, "", 1, 0 +m_acEnabled = bits, U32, 1200, [0:0] +engineTooSlow = bits, U32, 1200, [1:1] +engineTooFast = bits, U32, 1200, [2:2] +noClt = bits, U32, 1200, [3:3] +engineTooHot = bits, U32, 1200, [4:4] +tpsTooHigh = bits, U32, 1200, [5:5] +isDisabledByLua = bits, U32, 1200, [6:6] +acCompressorState = bits, U32, 1200, [7:7] +acPressureTooLow = bits, U32, 1200, [8:8] +acPressureTooHigh = bits, U32, 1200, [9:9] ; total TS size = 1204 -fan1cranking = bits, U32, 1204, [0:0] -fan1notRunning = bits, U32, 1204, [1:1] -fan1disabledWhileEngineStopped = bits, U32, 1204, [2:2] -fan1brokenClt = bits, U32, 1204, [3:3] -fan1enabledForAc = bits, U32, 1204, [4:4] -fan1hot = bits, U32, 1204, [5:5] -fan1cold = bits, U32, 1204, [6:6] -fan1disabledBySpeed = bits, U32, 1204, [7:7] -fan1m_state = bits, U32, 1204, [8:8] -fan1radiatorFanStatus = scalar, U08, 1208, "", 1, 0 -; total TS size = 1212 -fan2cranking = bits, U32, 1212, [0:0] -fan2notRunning = bits, U32, 1212, [1:1] -fan2disabledWhileEngineStopped = bits, U32, 1212, [2:2] -fan2brokenClt = bits, U32, 1212, [3:3] -fan2enabledForAc = bits, U32, 1212, [4:4] -fan2hot = bits, U32, 1212, [5:5] -fan2cold = bits, U32, 1212, [6:6] -fan2disabledBySpeed = bits, U32, 1212, [7:7] -fan2m_state = bits, U32, 1212, [8:8] -fan2radiatorFanStatus = scalar, U08, 1216, "", 1, 0 -; total TS size = 1220 -isPrime = bits, U32, 1220, [0:0] -engineTurnedRecently = bits, U32, 1220, [1:1] -isFuelPumpOn = bits, U32, 1220, [2:2] -ignitionOn = bits, U32, 1220, [3:3] +isNitrousArmed = bits, U32, 1204, [0:0] +isNitrousSpeedCondition = bits, U32, 1204, [1:1] +isNitrousTpsCondition = bits, U32, 1204, [2:2] +isNitrousCltCondition = bits, U32, 1204, [3:3] +isNitrousMapCondition = bits, U32, 1204, [4:4] +isNitrousAfrCondition = bits, U32, 1204, [5:5] +isNitrousRpmCondition = bits, U32, 1204, [6:6] +isNitrousCondition = bits, U32, 1204, [7:7] +; total TS size = 1208 +fan1cranking = bits, U32, 1208, [0:0] +fan1notRunning = bits, U32, 1208, [1:1] +fan1disabledWhileEngineStopped = bits, U32, 1208, [2:2] +fan1brokenClt = bits, U32, 1208, [3:3] +fan1enabledForAc = bits, U32, 1208, [4:4] +fan1hot = bits, U32, 1208, [5:5] +fan1cold = bits, U32, 1208, [6:6] +fan1disabledBySpeed = bits, U32, 1208, [7:7] +fan1m_state = bits, U32, 1208, [8:8] +fan1radiatorFanStatus = scalar, U08, 1212, "", 1, 0 +; total TS size = 1216 +fan2cranking = bits, U32, 1216, [0:0] +fan2notRunning = bits, U32, 1216, [1:1] +fan2disabledWhileEngineStopped = bits, U32, 1216, [2:2] +fan2brokenClt = bits, U32, 1216, [3:3] +fan2enabledForAc = bits, U32, 1216, [4:4] +fan2hot = bits, U32, 1216, [5:5] +fan2cold = bits, U32, 1216, [6:6] +fan2disabledBySpeed = bits, U32, 1216, [7:7] +fan2m_state = bits, U32, 1216, [8:8] +fan2radiatorFanStatus = scalar, U08, 1220, "", 1, 0 ; total TS size = 1224 -isBenchTest = bits, U32, 1224, [0:0] -hasIgnitionVoltage = bits, U32, 1224, [1:1] -mainRelayState = bits, U32, 1224, [2:2] -delayedShutoffRequested = bits, U32, 1224, [3:3] +isPrime = bits, U32, 1224, [0:0] +engineTurnedRecently = bits, U32, 1224, [1:1] +isFuelPumpOn = bits, U32, 1224, [2:2] +ignitionOn = bits, U32, 1224, [3:3] ; total TS size = 1228 -lua_fuelAdd = scalar, F32, 1228, "g", 1, 0 -lua_fuelMult = scalar, F32, 1232, "", 1, 0 -lua_clutchUpState = bits, U32, 1236, [0:0] -lua_brakePedalState = bits, U32, 1236, [1:1] -lua_acRequestState = bits, U32, 1236, [2:2] -lua_luaDisableEtb = bits, U32, 1236, [3:3] -lua_luaIgnCut = bits, U32, 1236, [4:4] -lua_luaFuelCut = bits, U32, 1236, [5:5] -lua_clutchDownState = bits, U32, 1236, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1236, [7:7] -lua_torqueReductionState = bits, U32, 1236, [8:8] -sd_tCharge = scalar, S16, 1240, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1244, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1248, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1252, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1256, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1260, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1264, "", 1, 0 -hellenBoardId = scalar, S16, 1268, "id", 1, 0 -clutchUpState = scalar, S08, 1270, "", 1, 0 -brakePedalState = scalar, S08, 1271, "", 1, 0 -startStopState = scalar, S08, 1272, "", 1, 0 -smartChipState = scalar, S08, 1273, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1274, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1275, "", 1, 0 -startStopPhysicalState = bits, U32, 1276, [0:0] -acrActive = bits, U32, 1276, [1:1] -acrEngineMovedRecently = bits, U32, 1276, [2:2] -heaterControlEnabled = bits, U32, 1276, [3:3] -luaDigitalState0 = bits, U32, 1276, [4:4] -luaDigitalState1 = bits, U32, 1276, [5:5] -luaDigitalState2 = bits, U32, 1276, [6:6] -luaDigitalState3 = bits, U32, 1276, [7:7] -clutchDownState = bits, U32, 1276, [8:8] -startStopStateToggleCounter = scalar, U32, 1280, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1284, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1288, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1292, "", 1, 0 -fuelInjectionCounter = scalar, U32, 1296, "", 1, 0 -globalSparkCounter = scalar, U32, 1300, "", 1, 0 -fuelingLoad = scalar, F32, 1304, "", 1, 0 -ignitionLoad = scalar, F32, 1308, "", 1, 0 -veTableYAxis = scalar, U16, 1312, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1314, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1315, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1316, "", 1, 0 -; total TS size = 1320 -tpsFrom = scalar, F32, 1320 -tpsTo = scalar, F32, 1324 -deltaTps = scalar, F32, 1328 -extraFuel = scalar, F32, 1332, "", 1, 0 -valueFromTable = scalar, F32, 1336, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1340, [0:0] -isBelowDecelThreshold = bits, U32, 1340, [1:1] -isTimeToResetAccumulator = bits, U32, 1340, [2:2] -isFractionalEnrichment = bits, U32, 1340, [3:3] -belowEpsilon = bits, U32, 1340, [4:4] -tooShort = bits, U32, 1340, [5:5] -fractionalInjFuel = scalar, F32, 1344, "", 1, 0 -accumulatedValue = scalar, F32, 1348, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1352, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1356, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1360, "", 1, 0 -cycleCnt = scalar, S32, 1364, "", 1, 0 -; total TS size = 1368 -hwEventCounters1 = scalar, U16, 1368, "", 1, 0 -hwEventCounters2 = scalar, U16, 1370, "", 1, 0 -hwEventCounters3 = scalar, U16, 1372, "", 1, 0 -hwEventCounters4 = scalar, U16, 1374, "", 1, 0 -vvtCamCounter = scalar, U16, 1376, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1380, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1384, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1388, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1389, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1392, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1396, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1400, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1404, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1408, [0:0] -triggerElapsedUs = scalar, U32, 1412, "", 1, 0 -; total TS size = 1416 -trgsynchronizationCounter = scalar, U32, 1416, "", 1, 0 -trgvvtToothDurations0 = scalar, U32, 1420, "us", 1, 0 -trgvvtCurrentPosition = scalar, F32, 1424, "", 1, 0 -trgvvtToothPosition1 = scalar, F32, 1428, "", 1, 0 -trgvvtToothPosition2 = scalar, F32, 1432, "", 1, 0 -trgvvtToothPosition3 = scalar, F32, 1436, "", 1, 0 -trgvvtToothPosition4 = scalar, F32, 1440, "", 1, 0 -trgtriggerSyncGapRatio = scalar, F32, 1444, "", 1, 0 -trgtriggerStateIndex = scalar, U08, 1448, "", 1, 0 -; total TS size = 1452 -vvt1isynchronizationCounter = scalar, U32, 1452, "", 1, 0 -vvt1ivvtToothDurations0 = scalar, U32, 1456, "us", 1, 0 -vvt1ivvtCurrentPosition = scalar, F32, 1460, "", 1, 0 -vvt1ivvtToothPosition1 = scalar, F32, 1464, "", 1, 0 -vvt1ivvtToothPosition2 = scalar, F32, 1468, "", 1, 0 -vvt1ivvtToothPosition3 = scalar, F32, 1472, "", 1, 0 -vvt1ivvtToothPosition4 = scalar, F32, 1476, "", 1, 0 -vvt1itriggerSyncGapRatio = scalar, F32, 1480, "", 1, 0 -vvt1itriggerStateIndex = scalar, U08, 1484, "", 1, 0 -; total TS size = 1488 -vvt1esynchronizationCounter = scalar, U32, 1488, "", 1, 0 -vvt1evvtToothDurations0 = scalar, U32, 1492, "us", 1, 0 -vvt1evvtCurrentPosition = scalar, F32, 1496, "", 1, 0 -vvt1evvtToothPosition1 = scalar, F32, 1500, "", 1, 0 -vvt1evvtToothPosition2 = scalar, F32, 1504, "", 1, 0 -vvt1evvtToothPosition3 = scalar, F32, 1508, "", 1, 0 -vvt1evvtToothPosition4 = scalar, F32, 1512, "", 1, 0 -vvt1etriggerSyncGapRatio = scalar, F32, 1516, "", 1, 0 -vvt1etriggerStateIndex = scalar, U08, 1520, "", 1, 0 -; total TS size = 1524 -vvt2isynchronizationCounter = scalar, U32, 1524, "", 1, 0 -vvt2ivvtToothDurations0 = scalar, U32, 1528, "us", 1, 0 -vvt2ivvtCurrentPosition = scalar, F32, 1532, "", 1, 0 -vvt2ivvtToothPosition1 = scalar, F32, 1536, "", 1, 0 -vvt2ivvtToothPosition2 = scalar, F32, 1540, "", 1, 0 -vvt2ivvtToothPosition3 = scalar, F32, 1544, "", 1, 0 -vvt2ivvtToothPosition4 = scalar, F32, 1548, "", 1, 0 -vvt2itriggerSyncGapRatio = scalar, F32, 1552, "", 1, 0 -vvt2itriggerStateIndex = scalar, U08, 1556, "", 1, 0 -; total TS size = 1560 -vvt2esynchronizationCounter = scalar, U32, 1560, "", 1, 0 -vvt2evvtToothDurations0 = scalar, U32, 1564, "us", 1, 0 -vvt2evvtCurrentPosition = scalar, F32, 1568, "", 1, 0 -vvt2evvtToothPosition1 = scalar, F32, 1572, "", 1, 0 -vvt2evvtToothPosition2 = scalar, F32, 1576, "", 1, 0 -vvt2evvtToothPosition3 = scalar, F32, 1580, "", 1, 0 -vvt2evvtToothPosition4 = scalar, F32, 1584, "", 1, 0 -vvt2etriggerSyncGapRatio = scalar, F32, 1588, "", 1, 0 -vvt2etriggerStateIndex = scalar, U08, 1592, "", 1, 0 -; total TS size = 1596 -camResyncCounter = scalar, U08, 1596, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1600, [0:0] -; total TS size = 1604 -wallFuelCorrection = scalar, F32, 1604, "", 1, 0 -wallFuel = scalar, F32, 1608, "", 1, 0 -; total TS size = 1612 -idleState = bits, S32, 1612, [0:2], "not important" -currentIdlePosition = scalar, F32, 1616 -baseIdlePosition = scalar, F32, 1620 -idleClosedLoop = scalar, F32, 1624 -iacByTpsTaper = scalar, F32, 1628 -mightResetPid = bits, U32, 1632, [0:0] -shouldResetPid = bits, U32, 1632, [1:1] -wasResetPid = bits, U32, 1632, [2:2] -mustResetPid = bits, U32, 1632, [3:3] -isCranking = bits, U32, 1632, [4:4] -isIacTableForCoasting = bits, U32, 1632, [5:5] -notIdling = bits, U32, 1632, [6:6] -needReset = bits, U32, 1632, [7:7] -isInDeadZone = bits, U32, 1632, [8:8] -isBlipping = bits, U32, 1632, [9:9] -useClosedLoop = bits, U32, 1632, [10:10] -badTps = bits, U32, 1632, [11:11] -looksLikeRunning = bits, U32, 1632, [12:12] -looksLikeCoasting = bits, U32, 1632, [13:13] -looksLikeCrankToIdle = bits, U32, 1632, [14:14] -isIdleCoasting = bits, U32, 1632, [15:15] -isIdleClosedLoop = bits, U32, 1632, [16:16] -idleTarget = scalar, S32, 1636, "", 1, 0 -targetRpmByClt = scalar, S32, 1640, "", 1, 0 -targetRpmAc = scalar, S32, 1644, "", 1, 0 -iacByRpmTaper = scalar, F32, 1648 -luaAdd = scalar, F32, 1652 -; total TS size = 1656 -etb1targetWithIdlePosition = scalar, F32, 1656, "%", 1,0 -etb1trim = scalar, F32, 1660, "", 1, 0 -etb1luaAdjustment = scalar, F32, 1664, "%", 1,0 -etb1m_wastegatePosition = scalar, F32, 1668, "%", 1,0 -etb1etbFeedForward = scalar, F32, 1672 -etb1etbIntegralError = scalar, F32, 1676, "", 1, 0 -etb1etbCurrentTarget = scalar, F32, 1680, "%", 1, 0 -etb1m_adjustedTarget = scalar, S16, 1684, "%", 0.01, 0 -etb1etbRevLimitActive = bits, U32, 1688, [0:0] -etb1jamDetected = bits, U32, 1688, [1:1] -etb1validPlantPosition = bits, U32, 1688, [2:2] -etb1etbTpsErrorCounter = scalar, U16, 1692, "count", 1,0 -etb1etbPpsErrorCounter = scalar, U16, 1694, "count", 1,0 -etb1etbErrorCode = scalar, S08, 1696, "", 1, 0 -etb1etbErrorCodeBlinker = scalar, S08, 1697, "", 1, 0 -etb1tcEtbDrop = scalar, S08, 1698, "%", 1, 0 -etb1jamTimer = scalar, U16, 1700, "sec", 0.01, 0 -etb1adjustedEtbTarget = scalar, S08, 1702, "%", 1, 0 -etb1state = scalar, U08, 1703, "", 1, 0 -; total TS size = 1704 -etb2targetWithIdlePosition = scalar, F32, 1704, "%", 1,0 -etb2trim = scalar, F32, 1708, "", 1, 0 -etb2luaAdjustment = scalar, F32, 1712, "%", 1,0 -etb2m_wastegatePosition = scalar, F32, 1716, "%", 1,0 -etb2etbFeedForward = scalar, F32, 1720 -etb2etbIntegralError = scalar, F32, 1724, "", 1, 0 -etb2etbCurrentTarget = scalar, F32, 1728, "%", 1, 0 -etb2m_adjustedTarget = scalar, S16, 1732, "%", 0.01, 0 -etb2etbRevLimitActive = bits, U32, 1736, [0:0] -etb2jamDetected = bits, U32, 1736, [1:1] -etb2validPlantPosition = bits, U32, 1736, [2:2] -etb2etbTpsErrorCounter = scalar, U16, 1740, "count", 1,0 -etb2etbPpsErrorCounter = scalar, U16, 1742, "count", 1,0 -etb2etbErrorCode = scalar, S08, 1744, "", 1, 0 -etb2etbErrorCodeBlinker = scalar, S08, 1745, "", 1, 0 -etb2tcEtbDrop = scalar, S08, 1746, "%", 1, 0 -etb2jamTimer = scalar, U16, 1748, "sec", 0.01, 0 -etb2adjustedEtbTarget = scalar, S08, 1750, "%", 1, 0 -etb2state = scalar, U08, 1751, "", 1, 0 -; total TS size = 1752 -wb1faultCode = scalar, U08, 1752, "", 1, 0 -wb1heaterDuty = scalar, U08, 1753, "%", 1, 0 -wb1pumpDuty = scalar, U08, 1754, "%", 1, 0 -wb1tempC = scalar, U16, 1756, "C", 1, 0 -wb1nernstVoltage = scalar, U16, 1758, "V", 0.001, 0 -wb1esr = scalar, U16, 1760, "ohm", 1, 0 -; total TS size = 1764 -wb2faultCode = scalar, U08, 1764, "", 1, 0 -wb2heaterDuty = scalar, U08, 1765, "%", 1, 0 -wb2pumpDuty = scalar, U08, 1766, "%", 1, 0 -wb2tempC = scalar, U16, 1768, "C", 1, 0 -wb2nernstVoltage = scalar, U16, 1770, "V", 0.001, 0 -wb2esr = scalar, U16, 1772, "ohm", 1, 0 -; total TS size = 1776 -dcOutput0 = scalar, F32, 1776, "%", 1,0 -isEnabled0_int = scalar, U08, 1780, "%", 1,0 -isEnabled0 = bits, U32, 1784, [0:0] -; total TS size = 1788 -value0 = scalar, U16, 1788, "RAW", 1,0 -value1 = scalar, U16, 1790, "RAW", 1,0 -errorRate = scalar, F32, 1792, "% (don't belive me)", 1,0 -; total TS size = 1796 -vvtTarget = scalar, U16, 1796, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1798, "%", 0.5, 0 +isBenchTest = bits, U32, 1228, [0:0] +hasIgnitionVoltage = bits, U32, 1228, [1:1] +mainRelayState = bits, U32, 1228, [2:2] +delayedShutoffRequested = bits, U32, 1228, [3:3] +; total TS size = 1232 +lua_fuelAdd = scalar, F32, 1232, "g", 1, 0 +lua_fuelMult = scalar, F32, 1236, "", 1, 0 +lua_clutchUpState = bits, U32, 1240, [0:0] +lua_brakePedalState = bits, U32, 1240, [1:1] +lua_acRequestState = bits, U32, 1240, [2:2] +lua_luaDisableEtb = bits, U32, 1240, [3:3] +lua_luaIgnCut = bits, U32, 1240, [4:4] +lua_luaFuelCut = bits, U32, 1240, [5:5] +lua_clutchDownState = bits, U32, 1240, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1240, [7:7] +lua_torqueReductionState = bits, U32, 1240, [8:8] +sd_tCharge = scalar, S16, 1244, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1248, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1252, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1256, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1260, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1264, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1268, "", 1, 0 +hellenBoardId = scalar, S16, 1272, "id", 1, 0 +clutchUpState = scalar, S08, 1274, "", 1, 0 +brakePedalState = scalar, S08, 1275, "", 1, 0 +startStopState = scalar, S08, 1276, "", 1, 0 +smartChipState = scalar, S08, 1277, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1278, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1279, "", 1, 0 +startStopPhysicalState = bits, U32, 1280, [0:0] +acrActive = bits, U32, 1280, [1:1] +acrEngineMovedRecently = bits, U32, 1280, [2:2] +heaterControlEnabled = bits, U32, 1280, [3:3] +luaDigitalState0 = bits, U32, 1280, [4:4] +luaDigitalState1 = bits, U32, 1280, [5:5] +luaDigitalState2 = bits, U32, 1280, [6:6] +luaDigitalState3 = bits, U32, 1280, [7:7] +clutchDownState = bits, U32, 1280, [8:8] +startStopStateToggleCounter = scalar, U32, 1284, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1288, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1292, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1296, "", 1, 0 +fuelInjectionCounter = scalar, U32, 1300, "", 1, 0 +globalSparkCounter = scalar, U32, 1304, "", 1, 0 +fuelingLoad = scalar, F32, 1308, "", 1, 0 +ignitionLoad = scalar, F32, 1312, "", 1, 0 +veTableYAxis = scalar, U16, 1316, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1318, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1319, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1320, "", 1, 0 +; total TS size = 1324 +tpsFrom = scalar, F32, 1324 +tpsTo = scalar, F32, 1328 +deltaTps = scalar, F32, 1332 +extraFuel = scalar, F32, 1336, "", 1, 0 +valueFromTable = scalar, F32, 1340, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1344, [0:0] +isBelowDecelThreshold = bits, U32, 1344, [1:1] +isTimeToResetAccumulator = bits, U32, 1344, [2:2] +isFractionalEnrichment = bits, U32, 1344, [3:3] +belowEpsilon = bits, U32, 1344, [4:4] +tooShort = bits, U32, 1344, [5:5] +fractionalInjFuel = scalar, F32, 1348, "", 1, 0 +accumulatedValue = scalar, F32, 1352, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1356, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1360, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1364, "", 1, 0 +cycleCnt = scalar, S32, 1368, "", 1, 0 +; total TS size = 1372 +hwEventCounters1 = scalar, U16, 1372, "", 1, 0 +hwEventCounters2 = scalar, U16, 1374, "", 1, 0 +hwEventCounters3 = scalar, U16, 1376, "", 1, 0 +hwEventCounters4 = scalar, U16, 1378, "", 1, 0 +vvtCamCounter = scalar, U16, 1380, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1384, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1388, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1392, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1393, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1396, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1400, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1404, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1408, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1412, [0:0] +triggerElapsedUs = scalar, U32, 1416, "", 1, 0 +; total TS size = 1420 +trgsynchronizationCounter = scalar, U32, 1420, "", 1, 0 +trgvvtToothDurations0 = scalar, U32, 1424, "us", 1, 0 +trgvvtCurrentPosition = scalar, F32, 1428, "", 1, 0 +trgvvtToothPosition1 = scalar, F32, 1432, "", 1, 0 +trgvvtToothPosition2 = scalar, F32, 1436, "", 1, 0 +trgvvtToothPosition3 = scalar, F32, 1440, "", 1, 0 +trgvvtToothPosition4 = scalar, F32, 1444, "", 1, 0 +trgtriggerSyncGapRatio = scalar, F32, 1448, "", 1, 0 +trgtriggerStateIndex = scalar, U08, 1452, "", 1, 0 +; total TS size = 1456 +vvt1isynchronizationCounter = scalar, U32, 1456, "", 1, 0 +vvt1ivvtToothDurations0 = scalar, U32, 1460, "us", 1, 0 +vvt1ivvtCurrentPosition = scalar, F32, 1464, "", 1, 0 +vvt1ivvtToothPosition1 = scalar, F32, 1468, "", 1, 0 +vvt1ivvtToothPosition2 = scalar, F32, 1472, "", 1, 0 +vvt1ivvtToothPosition3 = scalar, F32, 1476, "", 1, 0 +vvt1ivvtToothPosition4 = scalar, F32, 1480, "", 1, 0 +vvt1itriggerSyncGapRatio = scalar, F32, 1484, "", 1, 0 +vvt1itriggerStateIndex = scalar, U08, 1488, "", 1, 0 +; total TS size = 1492 +vvt1esynchronizationCounter = scalar, U32, 1492, "", 1, 0 +vvt1evvtToothDurations0 = scalar, U32, 1496, "us", 1, 0 +vvt1evvtCurrentPosition = scalar, F32, 1500, "", 1, 0 +vvt1evvtToothPosition1 = scalar, F32, 1504, "", 1, 0 +vvt1evvtToothPosition2 = scalar, F32, 1508, "", 1, 0 +vvt1evvtToothPosition3 = scalar, F32, 1512, "", 1, 0 +vvt1evvtToothPosition4 = scalar, F32, 1516, "", 1, 0 +vvt1etriggerSyncGapRatio = scalar, F32, 1520, "", 1, 0 +vvt1etriggerStateIndex = scalar, U08, 1524, "", 1, 0 +; total TS size = 1528 +vvt2isynchronizationCounter = scalar, U32, 1528, "", 1, 0 +vvt2ivvtToothDurations0 = scalar, U32, 1532, "us", 1, 0 +vvt2ivvtCurrentPosition = scalar, F32, 1536, "", 1, 0 +vvt2ivvtToothPosition1 = scalar, F32, 1540, "", 1, 0 +vvt2ivvtToothPosition2 = scalar, F32, 1544, "", 1, 0 +vvt2ivvtToothPosition3 = scalar, F32, 1548, "", 1, 0 +vvt2ivvtToothPosition4 = scalar, F32, 1552, "", 1, 0 +vvt2itriggerSyncGapRatio = scalar, F32, 1556, "", 1, 0 +vvt2itriggerStateIndex = scalar, U08, 1560, "", 1, 0 +; total TS size = 1564 +vvt2esynchronizationCounter = scalar, U32, 1564, "", 1, 0 +vvt2evvtToothDurations0 = scalar, U32, 1568, "us", 1, 0 +vvt2evvtCurrentPosition = scalar, F32, 1572, "", 1, 0 +vvt2evvtToothPosition1 = scalar, F32, 1576, "", 1, 0 +vvt2evvtToothPosition2 = scalar, F32, 1580, "", 1, 0 +vvt2evvtToothPosition3 = scalar, F32, 1584, "", 1, 0 +vvt2evvtToothPosition4 = scalar, F32, 1588, "", 1, 0 +vvt2etriggerSyncGapRatio = scalar, F32, 1592, "", 1, 0 +vvt2etriggerStateIndex = scalar, U08, 1596, "", 1, 0 +; total TS size = 1600 +camResyncCounter = scalar, U08, 1600, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1604, [0:0] +; total TS size = 1608 +wallFuelCorrection = scalar, F32, 1608, "", 1, 0 +wallFuel = scalar, F32, 1612, "", 1, 0 +; total TS size = 1616 +idleState = bits, S32, 1616, [0:2], "not important" +currentIdlePosition = scalar, F32, 1620 +baseIdlePosition = scalar, F32, 1624 +idleClosedLoop = scalar, F32, 1628 +iacByTpsTaper = scalar, F32, 1632 +mightResetPid = bits, U32, 1636, [0:0] +shouldResetPid = bits, U32, 1636, [1:1] +wasResetPid = bits, U32, 1636, [2:2] +mustResetPid = bits, U32, 1636, [3:3] +isCranking = bits, U32, 1636, [4:4] +isIacTableForCoasting = bits, U32, 1636, [5:5] +notIdling = bits, U32, 1636, [6:6] +needReset = bits, U32, 1636, [7:7] +isInDeadZone = bits, U32, 1636, [8:8] +isBlipping = bits, U32, 1636, [9:9] +useClosedLoop = bits, U32, 1636, [10:10] +badTps = bits, U32, 1636, [11:11] +looksLikeRunning = bits, U32, 1636, [12:12] +looksLikeCoasting = bits, U32, 1636, [13:13] +looksLikeCrankToIdle = bits, U32, 1636, [14:14] +isIdleCoasting = bits, U32, 1636, [15:15] +isIdleClosedLoop = bits, U32, 1636, [16:16] +idleTarget = scalar, S32, 1640, "", 1, 0 +targetRpmByClt = scalar, S32, 1644, "", 1, 0 +targetRpmAc = scalar, S32, 1648, "", 1, 0 +iacByRpmTaper = scalar, F32, 1652 +luaAdd = scalar, F32, 1656 +; total TS size = 1660 +etb1targetWithIdlePosition = scalar, F32, 1660, "%", 1,0 +etb1trim = scalar, F32, 1664, "", 1, 0 +etb1luaAdjustment = scalar, F32, 1668, "%", 1,0 +etb1m_wastegatePosition = scalar, F32, 1672, "%", 1,0 +etb1etbFeedForward = scalar, F32, 1676 +etb1etbIntegralError = scalar, F32, 1680, "", 1, 0 +etb1etbCurrentTarget = scalar, F32, 1684, "%", 1, 0 +etb1m_adjustedTarget = scalar, S16, 1688, "%", 0.01, 0 +etb1etbRevLimitActive = bits, U32, 1692, [0:0] +etb1jamDetected = bits, U32, 1692, [1:1] +etb1validPlantPosition = bits, U32, 1692, [2:2] +etb1etbTpsErrorCounter = scalar, U16, 1696, "count", 1,0 +etb1etbPpsErrorCounter = scalar, U16, 1698, "count", 1,0 +etb1etbErrorCode = scalar, S08, 1700, "", 1, 0 +etb1etbErrorCodeBlinker = scalar, S08, 1701, "", 1, 0 +etb1tcEtbDrop = scalar, S08, 1702, "%", 1, 0 +etb1jamTimer = scalar, U16, 1704, "sec", 0.01, 0 +etb1adjustedEtbTarget = scalar, S08, 1706, "%", 1, 0 +etb1state = scalar, U08, 1707, "", 1, 0 +; total TS size = 1708 +etb2targetWithIdlePosition = scalar, F32, 1708, "%", 1,0 +etb2trim = scalar, F32, 1712, "", 1, 0 +etb2luaAdjustment = scalar, F32, 1716, "%", 1,0 +etb2m_wastegatePosition = scalar, F32, 1720, "%", 1,0 +etb2etbFeedForward = scalar, F32, 1724 +etb2etbIntegralError = scalar, F32, 1728, "", 1, 0 +etb2etbCurrentTarget = scalar, F32, 1732, "%", 1, 0 +etb2m_adjustedTarget = scalar, S16, 1736, "%", 0.01, 0 +etb2etbRevLimitActive = bits, U32, 1740, [0:0] +etb2jamDetected = bits, U32, 1740, [1:1] +etb2validPlantPosition = bits, U32, 1740, [2:2] +etb2etbTpsErrorCounter = scalar, U16, 1744, "count", 1,0 +etb2etbPpsErrorCounter = scalar, U16, 1746, "count", 1,0 +etb2etbErrorCode = scalar, S08, 1748, "", 1, 0 +etb2etbErrorCodeBlinker = scalar, S08, 1749, "", 1, 0 +etb2tcEtbDrop = scalar, S08, 1750, "%", 1, 0 +etb2jamTimer = scalar, U16, 1752, "sec", 0.01, 0 +etb2adjustedEtbTarget = scalar, S08, 1754, "%", 1, 0 +etb2state = scalar, U08, 1755, "", 1, 0 +; total TS size = 1756 +wb1faultCode = scalar, U08, 1756, "", 1, 0 +wb1heaterDuty = scalar, U08, 1757, "%", 1, 0 +wb1pumpDuty = scalar, U08, 1758, "%", 1, 0 +wb1tempC = scalar, U16, 1760, "C", 1, 0 +wb1nernstVoltage = scalar, U16, 1762, "V", 0.001, 0 +wb1esr = scalar, U16, 1764, "ohm", 1, 0 +; total TS size = 1768 +wb2faultCode = scalar, U08, 1768, "", 1, 0 +wb2heaterDuty = scalar, U08, 1769, "%", 1, 0 +wb2pumpDuty = scalar, U08, 1770, "%", 1, 0 +wb2tempC = scalar, U16, 1772, "C", 1, 0 +wb2nernstVoltage = scalar, U16, 1774, "V", 0.001, 0 +wb2esr = scalar, U16, 1776, "ohm", 1, 0 +; total TS size = 1780 +dcOutput0 = scalar, F32, 1780, "%", 1,0 +isEnabled0_int = scalar, U08, 1784, "%", 1,0 +isEnabled0 = bits, U32, 1788, [0:0] +; total TS size = 1792 +value0 = scalar, U16, 1792, "RAW", 1,0 +value1 = scalar, U16, 1794, "RAW", 1,0 +errorRate = scalar, F32, 1796, "% (don't belive me)", 1,0 ; total TS size = 1800 -lambdaCurrentlyGood = bits, U32, 1800, [0:0] -lambdaMonitorCut = bits, U32, 1800, [1:1] -lambdaTimeSinceGood = scalar, U16, 1804, "sec", 0.01, 0 -; total TS size = 1808 +vvtTarget = scalar, U16, 1800, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1802, "%", 0.5, 0 +; total TS size = 1804 +lambdaCurrentlyGood = bits, U32, 1804, [0:0] +lambdaMonitorCut = bits, U32, 1804, [1:1] +lambdaTimeSinceGood = scalar, U16, 1808, "sec", 0.01, 0 +; total TS size = 1812 time = { timeNow } @@ -4584,6 +4587,12 @@ curve = rangeMatrix, "Range Switch Input Matrix" gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. upDownLabel = "(RICHER)", "(LEANER)" + table = trailingSparkTable, trailingSparkMap, "Trailing spark", 1 + xyLabels = "RPM", "Ignition Load" + xBins = trailingSparkRpmBins, RPMValue + yBins = trailingSparkLoadBins, ignitionLoad + zBins = trailingSparkTable + table = torqueTableTbl, torqueTableMap, "Engine Torque", 1 xBins = torqueRpmBins, RPMValue yBins = torqueLoadBins, veTableYAxis @@ -4881,6 +4890,7 @@ timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20 timingPidCorrectionGauge = timingPidCorrection,"Idle: Timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 +trailingSparkAngleGauge = trailingSparkAngle,"Ign: Trailing spark deg", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 gaugeCategory = "Boost Control" luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 @@ -5811,6 +5821,7 @@ entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" entry = luaIgnitionSkip, "Ign: Lua Spark Skip", int, "%d" +entry = trailingSparkAngle, "Ign: Trailing spark deg", float, "%.3f" entry = m_knockLevel, "Knock: Current level", float, "%.3f" entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" @@ -6759,6 +6770,7 @@ dialog = ignition_stateDialog, "ignition_state" graphLine = luaTimingAdd liveGraph = ignition_state_4_Graph, "Graph", South graphLine = luaTimingMult + graphLine = trailingSparkAngle dialog = knock_controllerDialog, "knock_controller" @@ -10095,11 +10107,11 @@ dialog = tcuControls, "Transmission Settings" dialog = rotaryDialog, "Rotary" field = "Enable Trailing Sparks", enableTrailingSparks - field = "Trailing Spark Offset", trailingSparkAngle field = "Trailing Pin 1", trailingCoilPins1 field = "Trailing Pin 2", trailingCoilPins2 field = "Trailing Pin 3", trailingCoilPins3 field = "Trailing Pin 4", trailingCoilPins4 + panel = trailingSparkTable diff --git a/firmware/tunerstudio/generated/rusefi_frankenso_na6.ini b/firmware/tunerstudio/generated/rusefi_frankenso_na6.ini index 09650fc7a8..95cb0fd569 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.2025.02.07.frankenso_na6.67604877" + signature = "rusEFI master.2025.02.07.frankenso_na6.2206473952" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2025.02.07.frankenso_na6.67604877" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2025.02.07.frankenso_na6.2206473952" ; 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 @@ -101,7 +101,7 @@ enable2ndByteCanID = false ; CONFIG_DEFINITION_START ; this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt -pageSize = 23280 +pageSize = 23304 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",22="BMW_M52",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",21="ET_BOSCH_QUICK_START",24="ET_TEST_WITH_BOSCH_QUICK_START",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",41="FRANKENSO_MIATA_NA6_MAP",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",47="GM_LCV",55="GM_LTG",98="GM_SBC",49="GM_SBC_GEN5",8="GY6_139QMB",6="HARLEY",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",34="MAZDA_MIATA_NA6",80="MAZDA_MIATA_NA94",10="MAZDA_MIATA_NA96",83="MAZDA_MIATA_NB1",69="MAZDA_MIATA_NB2",86="MAZDA_MIATA_NB2_36",20="MAZDA_MIATA_NC",33="ME17_9_MISC",68="MERCEDES_M111",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",4="MRE_SECONDARY_CAN",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",35="POLARIS",9="POLARIS_RZR",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",27="PROTEUS_GM_LS_4",25="PROTEUS_LUA_DEMO",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",17="TCU_4R70W",100="TEST_100",101="TEST_101",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",93="TEST_ISSUE_6451",19="TEST_ROTARY",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",102="UNUSED102",67="UNUSED67",94="UNUSED94",65="UNUSED_65",97="UNUSED_97",77="VAG_5_CYL",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -245,7 +245,7 @@ vbattAdcChannel = bits, U08, 513, [0:5], $adc_channel_e_list fuelLevelSensor = bits, U08, 514, [0:5], $adc_channel_e_list tps2_1AdcChannel = bits, U08, 515, [0:5], $adc_channel_e_list idle_derivativeFilterLoss = scalar, F32, 516, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 520, "angle", 1, 0, 0, 720, 0 +unusedTrailingSparkAngle = scalar, S32, 520, "", 1, 0, 0, 100, 0 trigger_type = bits, U32, 524, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Daihatsu 3 cylinder", "Mazda SOHC 4", "60-2", "36-1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "Dodge Ram 1+16", "60-2 Wrong Polarity", "Benelli Tre", "Dodge Stratus", "36_2_2_2", "Nissan Primera", "dev 2JZ 3/34 simulator", "Rover K", "GM 24x 5 degree", "Honda CBR 600 Cam", "INVALID", "Honda CBR 600 custom", "3-1 skipped", "Dodge Neon 2003 crank", "Miata NB", "INVALID", "INVALID", "Subaru 7+6", "Jeep 18-2-2-2", "12crank/24cam", "Dodge Neon 1995 crank only", "Jeep XJ 4 cyl", "FiatIAQ_P8", "Mazda Z5", "INVALID", "Renix 44-2-2", "Renix 66-2-2-2", "Honda K 12+1", "INVALID", "36-2", "Subaru SVX", "Suzuki K6A", "Subaru 7 without 6", "INVALID", "INVALID", "GM 60-2-2-2", "Skoda Favorit", "Barra 3+1 Cam", "Kawa KX450F", "Nissan VQ35", "INVALID", "Nissan VQ30", "Nissan QR25", "INVALID", "Subaru SVX Crank 1", "Subaru SVX Cam VVT", "Ford PIP", "Suzuki G13B", "Honda K 4+1", "Nissan MR18 Crank", "32-2", "36-2-1", "36-2-1-1", "3-0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6-0", "Daihatsu 4 cylinder", "INVALID", "dev", "Nissan HR", "Arctic Cat", "HR12 in", "HONDA J30A2", "trg88", "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" trigger_customTotalToothCount = scalar, S32, 528, "number", 1, 0, 1, 300, 0 trigger_customSkippedToothCount = scalar, S32, 532, "number", 1, 0, 0, 300, 0 @@ -1796,7 +1796,10 @@ dynoCarCarMassKg = scalar, S16, 23268, "", 1, 0, 0, 32000, 0 dynoCarCargoMassKg = scalar, S16, 23270, "", 1, 0, 0, 32000, 0 dynoCarCoeffOfDrag = scalar, F32, 23272, "", 1, 0, 0, 100, 0 dynoCarFrontalAreaM2 = scalar, F32, 23276, "", 1, 0, 0, 100, 0 -; total TS size = 23280 +trailingSparkTable = array, S08, 23280, [4x4], "deg", 0.1, 0, 0, 20, 1 +trailingSparkRpmBins = array, U08, 23296, [4], "rpm", 50.0, 0, 0, 12000, 0 +trailingSparkLoadBins = array, U08, 23300, [4], "Load", 5.0, 0, 0, 1000, 0 +; total TS size = 23304 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1890,7 +1893,6 @@ dynoCarFrontalAreaM2 = scalar, F32, 23276, "", 1, 0, 0, 100, 0 fuelLevelSensor = "This is the processor pin that your fuel level sensor in connected to. This is a non standard input so will need to be user defined." tps2_1AdcChannel = "Second throttle body position sensor, single channel so far" idle_derivativeFilterLoss = "0.1 is a good default value" - trailingSparkAngle = "just a temporary solution" trigger_type = "https://github.com/rusefi/rusefi/wiki/All-Supported-Triggers" airByRpmTaper = "Extra air taper amount" boostControlSafeDutyCycle = "Duty cycle to use in case of a sensor failure. This duty cycle should produce the minimum possible amount of boost. This duty is also used in case any of the minimum RPM/TPS/MAP conditions are not met." @@ -2664,7 +2666,7 @@ dynoCarFrontalAreaM2 = scalar, F32, 23276, "", 1, 0, 0, 100, 0 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1808 + ochBlockSize = 1812 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3189,417 +3191,418 @@ dwellVoltageCorrection = scalar, F32, 940, "", 1, 0 luaTimingAdd = scalar, F32, 944, "deg", 1, 0 luaTimingMult = scalar, F32, 948, "deg", 1, 0 luaIgnitionSkip = bits, U32, 952, [0:0] -; total TS size = 956 -m_knockLevel = scalar, F32, 956, "Volts", 1, 0 -m_knockCyl1 = scalar, S08, 960, "dBv", 1, 0 -m_knockCyl2 = scalar, S08, 961, "dBv", 1, 0 -m_knockCyl3 = scalar, S08, 962, "dBv", 1, 0 -m_knockCyl4 = scalar, S08, 963, "dBv", 1, 0 -m_knockCyl5 = scalar, S08, 964, "dBv", 1, 0 -m_knockCyl6 = scalar, S08, 965, "dBv", 1, 0 -m_knockCyl7 = scalar, S08, 966, "dBv", 1, 0 -m_knockCyl8 = scalar, S08, 967, "dBv", 1, 0 -m_knockCyl9 = scalar, S08, 968, "dBv", 1, 0 -m_knockCyl10 = scalar, S08, 969, "dBv", 1, 0 -m_knockCyl11 = scalar, S08, 970, "dBv", 1, 0 -m_knockCyl12 = scalar, S08, 971, "dBv", 1, 0 -m_knockRetard = scalar, F32, 972, "deg", 1,0 -m_knockThreshold = scalar, F32, 976, "", 1, 0 -m_knockCount = scalar, U32, 980, "", 1, 0 -m_maximumRetard = scalar, F32, 984, "", 1, 0 -m_knockSpectrum1 = scalar, U32, 988, "compressed data", 1, 0 -m_knockSpectrum2 = scalar, U32, 992, "compressed data", 1, 0 -m_knockSpectrum3 = scalar, U32, 996, "compressed data", 1, 0 -m_knockSpectrum4 = scalar, U32, 1000, "compressed data", 1, 0 -m_knockSpectrum5 = scalar, U32, 1004, "compressed data", 1, 0 -m_knockSpectrum6 = scalar, U32, 1008, "compressed data", 1, 0 -m_knockSpectrum7 = scalar, U32, 1012, "compressed data", 1, 0 -m_knockSpectrum8 = scalar, U32, 1016, "compressed data", 1, 0 -m_knockSpectrum9 = scalar, U32, 1020, "compressed data", 1, 0 -m_knockSpectrum10 = scalar, U32, 1024, "compressed data", 1, 0 -m_knockSpectrum11 = scalar, U32, 1028, "compressed data", 1, 0 -m_knockSpectrum12 = scalar, U32, 1032, "compressed data", 1, 0 -m_knockSpectrum13 = scalar, U32, 1036, "compressed data", 1, 0 -m_knockSpectrum14 = scalar, U32, 1040, "compressed data", 1, 0 -m_knockSpectrum15 = scalar, U32, 1044, "compressed data", 1, 0 -m_knockSpectrum16 = scalar, U32, 1048, "compressed data", 1, 0 -m_knockSpectrumChannelCyl = scalar, U16, 1052, "compressed N + N", 1, 0 -m_knockFrequencyStart = scalar, U16, 1054, "Hz", 1, 0 -m_knockFrequencyStep = scalar, F32, 1056, "Hz", 1, 0 -m_knockFuelTrimMultiplier = scalar, F32, 1060, "multiplier", 1, 0 -; total TS size = 1064 -m_isPriming = bits, U32, 1064, [0:0] +trailingSparkAngle = scalar, S16, 956, "deg", 0.01,0 +; total TS size = 960 +m_knockLevel = scalar, F32, 960, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 964, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 965, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 966, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 967, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 968, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 969, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 970, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 971, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 972, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 973, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 974, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 975, "dBv", 1, 0 +m_knockRetard = scalar, F32, 976, "deg", 1,0 +m_knockThreshold = scalar, F32, 980, "", 1, 0 +m_knockCount = scalar, U32, 984, "", 1, 0 +m_maximumRetard = scalar, F32, 988, "", 1, 0 +m_knockSpectrum1 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1040, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1044, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1048, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1052, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1056, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1058, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1060, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1064, "multiplier", 1, 0 ; total TS size = 1068 -tcuCurrentGear = scalar, S08, 1068, "gear", 1, 0 -tcRatio = scalar, U16, 1070, "value", 0.01, 0 -lastShiftTime = scalar, F32, 1072, "", 1, 0 -tcu_currentRange = scalar, U08, 1076, "", 1, 0 -pressureControlDuty = scalar, S08, 1077, "%", 1,0 -torqueConverterDuty = scalar, S08, 1078, "%", 1,0 -isShifting = bits, U32, 1080, [0:0] -; total TS size = 1084 -throttleUseWotModel = bits, U32, 1084, [0:0] -throttleModelCrossoverAngle = scalar, S16, 1088, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1092, "g/s", 1, 0 -; total TS size = 1096 -m_requested_pump = scalar, F32, 1096, "", 1, 0 -fuel_requested_percent = scalar, F32, 1100, "%", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1104, "", 1, 0 -noValve = bits, U32, 1108, [0:0] -angleAboveMin = bits, U32, 1108, [1:1] -isHpfpActive = bits, U32, 1108, [2:2] -HpfpValveState = bits, U32, 1108, [3:3] -m_pressureTarget_kPa = scalar, F32, 1112, "", 1, 0 -nextLobe = scalar, F32, 1116, "", 1, 0 -di_nextStart = scalar, F32, 1120, "v", 1, 0 -HpfdActivationPhase = scalar, F32, 1124, "", 1, 0 -HpfdDeactivationPhase = scalar, F32, 1128, "", 1, 0 -; total TS size = 1132 -m_deadtime = scalar, F32, 1132, "ms", 1, 0 -pressureDelta = scalar, F32, 1136, "kPa", 1, 0 -pressureRatio = scalar, F32, 1140, "", 1, 0 -; total TS size = 1144 -retardThresholdRpm = scalar, S32, 1144, "", 1, 0 -launchActivatePinState = bits, U32, 1148, [0:0] -isPreLaunchCondition = bits, U32, 1148, [1:1] -isLaunchCondition = bits, U32, 1148, [2:2] -isSwitchActivated = bits, U32, 1148, [3:3] -isClutchActivated = bits, U32, 1148, [4:4] -isBrakePedalActivated = bits, U32, 1148, [5:5] -isValidInputPin = bits, U32, 1148, [6:6] -activateSwitchCondition = bits, U32, 1148, [7:7] -rpmLaunchCondition = bits, U32, 1148, [8:8] -rpmPreLaunchCondition = bits, U32, 1148, [9:9] -speedCondition = bits, U32, 1148, [10:10] -tpsCondition = bits, U32, 1148, [11:11] -; total TS size = 1152 -isTorqueReductionTriggerPinValid = bits, U32, 1152, [0:0] -torqueReductionTriggerPinState = bits, U32, 1152, [1:1] -isTimeConditionSatisfied = bits, U32, 1152, [2:2] -isRpmConditionSatisfied = bits, U32, 1152, [3:3] -isAppConditionSatisfied = bits, U32, 1152, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1152, [5:5] +m_isPriming = bits, U32, 1068, [0:0] +; total TS size = 1072 +tcuCurrentGear = scalar, S08, 1072, "gear", 1, 0 +tcRatio = scalar, U16, 1074, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1076, "", 1, 0 +tcu_currentRange = scalar, U08, 1080, "", 1, 0 +pressureControlDuty = scalar, S08, 1081, "%", 1,0 +torqueConverterDuty = scalar, S08, 1082, "%", 1,0 +isShifting = bits, U32, 1084, [0:0] +; total TS size = 1088 +throttleUseWotModel = bits, U32, 1088, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1092, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1096, "g/s", 1, 0 +; total TS size = 1100 +m_requested_pump = scalar, F32, 1100, "", 1, 0 +fuel_requested_percent = scalar, F32, 1104, "%", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1108, "", 1, 0 +noValve = bits, U32, 1112, [0:0] +angleAboveMin = bits, U32, 1112, [1:1] +isHpfpActive = bits, U32, 1112, [2:2] +HpfpValveState = bits, U32, 1112, [3:3] +m_pressureTarget_kPa = scalar, F32, 1116, "", 1, 0 +nextLobe = scalar, F32, 1120, "", 1, 0 +di_nextStart = scalar, F32, 1124, "v", 1, 0 +HpfdActivationPhase = scalar, F32, 1128, "", 1, 0 +HpfdDeactivationPhase = scalar, F32, 1132, "", 1, 0 +; total TS size = 1136 +m_deadtime = scalar, F32, 1136, "ms", 1, 0 +pressureDelta = scalar, F32, 1140, "kPa", 1, 0 +pressureRatio = scalar, F32, 1144, "", 1, 0 +; total TS size = 1148 +retardThresholdRpm = scalar, S32, 1148, "", 1, 0 +launchActivatePinState = bits, U32, 1152, [0:0] +isPreLaunchCondition = bits, U32, 1152, [1:1] +isLaunchCondition = bits, U32, 1152, [2:2] +isSwitchActivated = bits, U32, 1152, [3:3] +isClutchActivated = bits, U32, 1152, [4:4] +isBrakePedalActivated = bits, U32, 1152, [5:5] +isValidInputPin = bits, U32, 1152, [6:6] +activateSwitchCondition = bits, U32, 1152, [7:7] +rpmLaunchCondition = bits, U32, 1152, [8:8] +rpmPreLaunchCondition = bits, U32, 1152, [9:9] +speedCondition = bits, U32, 1152, [10:10] +tpsCondition = bits, U32, 1152, [11:11] ; total TS size = 1156 -isAntilagCondition = bits, U32, 1156, [0:0] -ALSMinRPMCondition = bits, U32, 1156, [1:1] -ALSMaxRPMCondition = bits, U32, 1156, [2:2] -ALSMinCLTCondition = bits, U32, 1156, [3:3] -ALSMaxCLTCondition = bits, U32, 1156, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1156, [5:5] -isALSSwitchActivated = bits, U32, 1156, [6:6] -ALSActivatePinState = bits, U32, 1156, [7:7] -ALSSwitchCondition = bits, U32, 1156, [8:8] -ALSTimerCondition = bits, U32, 1156, [9:9] -fuelALSCorrection = scalar, F32, 1160, "", 1, 0 -timingALSCorrection = scalar, S16, 1164, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1166, "deg", 0.01, 0 -; total TS size = 1168 -isTpsInvalid = bits, U32, 1168, [0:0] -m_shouldResetPid = bits, U32, 1168, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1168, [2:2] -isNotClosedLoop = bits, U32, 1168, [3:3] -isZeroRpm = bits, U32, 1168, [4:4] -hasInitBoost = bits, U32, 1168, [5:5] -rpmTooLow = bits, U32, 1168, [6:6] -tpsTooLow = bits, U32, 1168, [7:7] -mapTooLow = bits, U32, 1168, [8:8] -isPlantValid = bits, U32, 1168, [9:9] -isBoostControlled = bits, U32, 1168, [10:10] -luaTargetAdd = scalar, S16, 1172, "v", 0.5,0 -boostOutput = scalar, S16, 1174, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1176, "v", 1,0 -openLoopPart = scalar, F32, 1180, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1184, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1188, "%", 0.5,0 -boostControlTarget = scalar, S16, 1190, "kPa", 0.03333333333333333,0 -; total TS size = 1192 -acButtonState = scalar, S08, 1192, "", 1, 0 -m_acEnabled = bits, U32, 1196, [0:0] -engineTooSlow = bits, U32, 1196, [1:1] -engineTooFast = bits, U32, 1196, [2:2] -noClt = bits, U32, 1196, [3:3] -engineTooHot = bits, U32, 1196, [4:4] -tpsTooHigh = bits, U32, 1196, [5:5] -isDisabledByLua = bits, U32, 1196, [6:6] -acCompressorState = bits, U32, 1196, [7:7] -acPressureTooLow = bits, U32, 1196, [8:8] -acPressureTooHigh = bits, U32, 1196, [9:9] -; total TS size = 1200 -isNitrousArmed = bits, U32, 1200, [0:0] -isNitrousSpeedCondition = bits, U32, 1200, [1:1] -isNitrousTpsCondition = bits, U32, 1200, [2:2] -isNitrousCltCondition = bits, U32, 1200, [3:3] -isNitrousMapCondition = bits, U32, 1200, [4:4] -isNitrousAfrCondition = bits, U32, 1200, [5:5] -isNitrousRpmCondition = bits, U32, 1200, [6:6] -isNitrousCondition = bits, U32, 1200, [7:7] +isTorqueReductionTriggerPinValid = bits, U32, 1156, [0:0] +torqueReductionTriggerPinState = bits, U32, 1156, [1:1] +isTimeConditionSatisfied = bits, U32, 1156, [2:2] +isRpmConditionSatisfied = bits, U32, 1156, [3:3] +isAppConditionSatisfied = bits, U32, 1156, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1156, [5:5] +; total TS size = 1160 +isAntilagCondition = bits, U32, 1160, [0:0] +ALSMinRPMCondition = bits, U32, 1160, [1:1] +ALSMaxRPMCondition = bits, U32, 1160, [2:2] +ALSMinCLTCondition = bits, U32, 1160, [3:3] +ALSMaxCLTCondition = bits, U32, 1160, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1160, [5:5] +isALSSwitchActivated = bits, U32, 1160, [6:6] +ALSActivatePinState = bits, U32, 1160, [7:7] +ALSSwitchCondition = bits, U32, 1160, [8:8] +ALSTimerCondition = bits, U32, 1160, [9:9] +fuelALSCorrection = scalar, F32, 1164, "", 1, 0 +timingALSCorrection = scalar, S16, 1168, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1170, "deg", 0.01, 0 +; total TS size = 1172 +isTpsInvalid = bits, U32, 1172, [0:0] +m_shouldResetPid = bits, U32, 1172, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1172, [2:2] +isNotClosedLoop = bits, U32, 1172, [3:3] +isZeroRpm = bits, U32, 1172, [4:4] +hasInitBoost = bits, U32, 1172, [5:5] +rpmTooLow = bits, U32, 1172, [6:6] +tpsTooLow = bits, U32, 1172, [7:7] +mapTooLow = bits, U32, 1172, [8:8] +isPlantValid = bits, U32, 1172, [9:9] +isBoostControlled = bits, U32, 1172, [10:10] +luaTargetAdd = scalar, S16, 1176, "v", 0.5,0 +boostOutput = scalar, S16, 1178, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1180, "v", 1,0 +openLoopPart = scalar, F32, 1184, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1188, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1192, "%", 0.5,0 +boostControlTarget = scalar, S16, 1194, "kPa", 0.03333333333333333,0 +; total TS size = 1196 +acButtonState = scalar, S08, 1196, "", 1, 0 +m_acEnabled = bits, U32, 1200, [0:0] +engineTooSlow = bits, U32, 1200, [1:1] +engineTooFast = bits, U32, 1200, [2:2] +noClt = bits, U32, 1200, [3:3] +engineTooHot = bits, U32, 1200, [4:4] +tpsTooHigh = bits, U32, 1200, [5:5] +isDisabledByLua = bits, U32, 1200, [6:6] +acCompressorState = bits, U32, 1200, [7:7] +acPressureTooLow = bits, U32, 1200, [8:8] +acPressureTooHigh = bits, U32, 1200, [9:9] ; total TS size = 1204 -fan1cranking = bits, U32, 1204, [0:0] -fan1notRunning = bits, U32, 1204, [1:1] -fan1disabledWhileEngineStopped = bits, U32, 1204, [2:2] -fan1brokenClt = bits, U32, 1204, [3:3] -fan1enabledForAc = bits, U32, 1204, [4:4] -fan1hot = bits, U32, 1204, [5:5] -fan1cold = bits, U32, 1204, [6:6] -fan1disabledBySpeed = bits, U32, 1204, [7:7] -fan1m_state = bits, U32, 1204, [8:8] -fan1radiatorFanStatus = scalar, U08, 1208, "", 1, 0 -; total TS size = 1212 -fan2cranking = bits, U32, 1212, [0:0] -fan2notRunning = bits, U32, 1212, [1:1] -fan2disabledWhileEngineStopped = bits, U32, 1212, [2:2] -fan2brokenClt = bits, U32, 1212, [3:3] -fan2enabledForAc = bits, U32, 1212, [4:4] -fan2hot = bits, U32, 1212, [5:5] -fan2cold = bits, U32, 1212, [6:6] -fan2disabledBySpeed = bits, U32, 1212, [7:7] -fan2m_state = bits, U32, 1212, [8:8] -fan2radiatorFanStatus = scalar, U08, 1216, "", 1, 0 -; total TS size = 1220 -isPrime = bits, U32, 1220, [0:0] -engineTurnedRecently = bits, U32, 1220, [1:1] -isFuelPumpOn = bits, U32, 1220, [2:2] -ignitionOn = bits, U32, 1220, [3:3] +isNitrousArmed = bits, U32, 1204, [0:0] +isNitrousSpeedCondition = bits, U32, 1204, [1:1] +isNitrousTpsCondition = bits, U32, 1204, [2:2] +isNitrousCltCondition = bits, U32, 1204, [3:3] +isNitrousMapCondition = bits, U32, 1204, [4:4] +isNitrousAfrCondition = bits, U32, 1204, [5:5] +isNitrousRpmCondition = bits, U32, 1204, [6:6] +isNitrousCondition = bits, U32, 1204, [7:7] +; total TS size = 1208 +fan1cranking = bits, U32, 1208, [0:0] +fan1notRunning = bits, U32, 1208, [1:1] +fan1disabledWhileEngineStopped = bits, U32, 1208, [2:2] +fan1brokenClt = bits, U32, 1208, [3:3] +fan1enabledForAc = bits, U32, 1208, [4:4] +fan1hot = bits, U32, 1208, [5:5] +fan1cold = bits, U32, 1208, [6:6] +fan1disabledBySpeed = bits, U32, 1208, [7:7] +fan1m_state = bits, U32, 1208, [8:8] +fan1radiatorFanStatus = scalar, U08, 1212, "", 1, 0 +; total TS size = 1216 +fan2cranking = bits, U32, 1216, [0:0] +fan2notRunning = bits, U32, 1216, [1:1] +fan2disabledWhileEngineStopped = bits, U32, 1216, [2:2] +fan2brokenClt = bits, U32, 1216, [3:3] +fan2enabledForAc = bits, U32, 1216, [4:4] +fan2hot = bits, U32, 1216, [5:5] +fan2cold = bits, U32, 1216, [6:6] +fan2disabledBySpeed = bits, U32, 1216, [7:7] +fan2m_state = bits, U32, 1216, [8:8] +fan2radiatorFanStatus = scalar, U08, 1220, "", 1, 0 ; total TS size = 1224 -isBenchTest = bits, U32, 1224, [0:0] -hasIgnitionVoltage = bits, U32, 1224, [1:1] -mainRelayState = bits, U32, 1224, [2:2] -delayedShutoffRequested = bits, U32, 1224, [3:3] +isPrime = bits, U32, 1224, [0:0] +engineTurnedRecently = bits, U32, 1224, [1:1] +isFuelPumpOn = bits, U32, 1224, [2:2] +ignitionOn = bits, U32, 1224, [3:3] ; total TS size = 1228 -lua_fuelAdd = scalar, F32, 1228, "g", 1, 0 -lua_fuelMult = scalar, F32, 1232, "", 1, 0 -lua_clutchUpState = bits, U32, 1236, [0:0] -lua_brakePedalState = bits, U32, 1236, [1:1] -lua_acRequestState = bits, U32, 1236, [2:2] -lua_luaDisableEtb = bits, U32, 1236, [3:3] -lua_luaIgnCut = bits, U32, 1236, [4:4] -lua_luaFuelCut = bits, U32, 1236, [5:5] -lua_clutchDownState = bits, U32, 1236, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1236, [7:7] -lua_torqueReductionState = bits, U32, 1236, [8:8] -sd_tCharge = scalar, S16, 1240, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1244, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1248, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1252, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1256, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1260, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1264, "", 1, 0 -hellenBoardId = scalar, S16, 1268, "id", 1, 0 -clutchUpState = scalar, S08, 1270, "", 1, 0 -brakePedalState = scalar, S08, 1271, "", 1, 0 -startStopState = scalar, S08, 1272, "", 1, 0 -smartChipState = scalar, S08, 1273, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1274, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1275, "", 1, 0 -startStopPhysicalState = bits, U32, 1276, [0:0] -acrActive = bits, U32, 1276, [1:1] -acrEngineMovedRecently = bits, U32, 1276, [2:2] -heaterControlEnabled = bits, U32, 1276, [3:3] -luaDigitalState0 = bits, U32, 1276, [4:4] -luaDigitalState1 = bits, U32, 1276, [5:5] -luaDigitalState2 = bits, U32, 1276, [6:6] -luaDigitalState3 = bits, U32, 1276, [7:7] -clutchDownState = bits, U32, 1276, [8:8] -startStopStateToggleCounter = scalar, U32, 1280, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1284, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1288, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1292, "", 1, 0 -fuelInjectionCounter = scalar, U32, 1296, "", 1, 0 -globalSparkCounter = scalar, U32, 1300, "", 1, 0 -fuelingLoad = scalar, F32, 1304, "", 1, 0 -ignitionLoad = scalar, F32, 1308, "", 1, 0 -veTableYAxis = scalar, U16, 1312, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1314, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1315, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1316, "", 1, 0 -; total TS size = 1320 -tpsFrom = scalar, F32, 1320 -tpsTo = scalar, F32, 1324 -deltaTps = scalar, F32, 1328 -extraFuel = scalar, F32, 1332, "", 1, 0 -valueFromTable = scalar, F32, 1336, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1340, [0:0] -isBelowDecelThreshold = bits, U32, 1340, [1:1] -isTimeToResetAccumulator = bits, U32, 1340, [2:2] -isFractionalEnrichment = bits, U32, 1340, [3:3] -belowEpsilon = bits, U32, 1340, [4:4] -tooShort = bits, U32, 1340, [5:5] -fractionalInjFuel = scalar, F32, 1344, "", 1, 0 -accumulatedValue = scalar, F32, 1348, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1352, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1356, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1360, "", 1, 0 -cycleCnt = scalar, S32, 1364, "", 1, 0 -; total TS size = 1368 -hwEventCounters1 = scalar, U16, 1368, "", 1, 0 -hwEventCounters2 = scalar, U16, 1370, "", 1, 0 -hwEventCounters3 = scalar, U16, 1372, "", 1, 0 -hwEventCounters4 = scalar, U16, 1374, "", 1, 0 -vvtCamCounter = scalar, U16, 1376, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1380, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1384, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1388, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1389, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1392, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1396, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1400, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1404, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1408, [0:0] -triggerElapsedUs = scalar, U32, 1412, "", 1, 0 -; total TS size = 1416 -trgsynchronizationCounter = scalar, U32, 1416, "", 1, 0 -trgvvtToothDurations0 = scalar, U32, 1420, "us", 1, 0 -trgvvtCurrentPosition = scalar, F32, 1424, "", 1, 0 -trgvvtToothPosition1 = scalar, F32, 1428, "", 1, 0 -trgvvtToothPosition2 = scalar, F32, 1432, "", 1, 0 -trgvvtToothPosition3 = scalar, F32, 1436, "", 1, 0 -trgvvtToothPosition4 = scalar, F32, 1440, "", 1, 0 -trgtriggerSyncGapRatio = scalar, F32, 1444, "", 1, 0 -trgtriggerStateIndex = scalar, U08, 1448, "", 1, 0 -; total TS size = 1452 -vvt1isynchronizationCounter = scalar, U32, 1452, "", 1, 0 -vvt1ivvtToothDurations0 = scalar, U32, 1456, "us", 1, 0 -vvt1ivvtCurrentPosition = scalar, F32, 1460, "", 1, 0 -vvt1ivvtToothPosition1 = scalar, F32, 1464, "", 1, 0 -vvt1ivvtToothPosition2 = scalar, F32, 1468, "", 1, 0 -vvt1ivvtToothPosition3 = scalar, F32, 1472, "", 1, 0 -vvt1ivvtToothPosition4 = scalar, F32, 1476, "", 1, 0 -vvt1itriggerSyncGapRatio = scalar, F32, 1480, "", 1, 0 -vvt1itriggerStateIndex = scalar, U08, 1484, "", 1, 0 -; total TS size = 1488 -vvt1esynchronizationCounter = scalar, U32, 1488, "", 1, 0 -vvt1evvtToothDurations0 = scalar, U32, 1492, "us", 1, 0 -vvt1evvtCurrentPosition = scalar, F32, 1496, "", 1, 0 -vvt1evvtToothPosition1 = scalar, F32, 1500, "", 1, 0 -vvt1evvtToothPosition2 = scalar, F32, 1504, "", 1, 0 -vvt1evvtToothPosition3 = scalar, F32, 1508, "", 1, 0 -vvt1evvtToothPosition4 = scalar, F32, 1512, "", 1, 0 -vvt1etriggerSyncGapRatio = scalar, F32, 1516, "", 1, 0 -vvt1etriggerStateIndex = scalar, U08, 1520, "", 1, 0 -; total TS size = 1524 -vvt2isynchronizationCounter = scalar, U32, 1524, "", 1, 0 -vvt2ivvtToothDurations0 = scalar, U32, 1528, "us", 1, 0 -vvt2ivvtCurrentPosition = scalar, F32, 1532, "", 1, 0 -vvt2ivvtToothPosition1 = scalar, F32, 1536, "", 1, 0 -vvt2ivvtToothPosition2 = scalar, F32, 1540, "", 1, 0 -vvt2ivvtToothPosition3 = scalar, F32, 1544, "", 1, 0 -vvt2ivvtToothPosition4 = scalar, F32, 1548, "", 1, 0 -vvt2itriggerSyncGapRatio = scalar, F32, 1552, "", 1, 0 -vvt2itriggerStateIndex = scalar, U08, 1556, "", 1, 0 -; total TS size = 1560 -vvt2esynchronizationCounter = scalar, U32, 1560, "", 1, 0 -vvt2evvtToothDurations0 = scalar, U32, 1564, "us", 1, 0 -vvt2evvtCurrentPosition = scalar, F32, 1568, "", 1, 0 -vvt2evvtToothPosition1 = scalar, F32, 1572, "", 1, 0 -vvt2evvtToothPosition2 = scalar, F32, 1576, "", 1, 0 -vvt2evvtToothPosition3 = scalar, F32, 1580, "", 1, 0 -vvt2evvtToothPosition4 = scalar, F32, 1584, "", 1, 0 -vvt2etriggerSyncGapRatio = scalar, F32, 1588, "", 1, 0 -vvt2etriggerStateIndex = scalar, U08, 1592, "", 1, 0 -; total TS size = 1596 -camResyncCounter = scalar, U08, 1596, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1600, [0:0] -; total TS size = 1604 -wallFuelCorrection = scalar, F32, 1604, "", 1, 0 -wallFuel = scalar, F32, 1608, "", 1, 0 -; total TS size = 1612 -idleState = bits, S32, 1612, [0:2], "not important" -currentIdlePosition = scalar, F32, 1616 -baseIdlePosition = scalar, F32, 1620 -idleClosedLoop = scalar, F32, 1624 -iacByTpsTaper = scalar, F32, 1628 -mightResetPid = bits, U32, 1632, [0:0] -shouldResetPid = bits, U32, 1632, [1:1] -wasResetPid = bits, U32, 1632, [2:2] -mustResetPid = bits, U32, 1632, [3:3] -isCranking = bits, U32, 1632, [4:4] -isIacTableForCoasting = bits, U32, 1632, [5:5] -notIdling = bits, U32, 1632, [6:6] -needReset = bits, U32, 1632, [7:7] -isInDeadZone = bits, U32, 1632, [8:8] -isBlipping = bits, U32, 1632, [9:9] -useClosedLoop = bits, U32, 1632, [10:10] -badTps = bits, U32, 1632, [11:11] -looksLikeRunning = bits, U32, 1632, [12:12] -looksLikeCoasting = bits, U32, 1632, [13:13] -looksLikeCrankToIdle = bits, U32, 1632, [14:14] -isIdleCoasting = bits, U32, 1632, [15:15] -isIdleClosedLoop = bits, U32, 1632, [16:16] -idleTarget = scalar, S32, 1636, "", 1, 0 -targetRpmByClt = scalar, S32, 1640, "", 1, 0 -targetRpmAc = scalar, S32, 1644, "", 1, 0 -iacByRpmTaper = scalar, F32, 1648 -luaAdd = scalar, F32, 1652 -; total TS size = 1656 -etb1targetWithIdlePosition = scalar, F32, 1656, "%", 1,0 -etb1trim = scalar, F32, 1660, "", 1, 0 -etb1luaAdjustment = scalar, F32, 1664, "%", 1,0 -etb1m_wastegatePosition = scalar, F32, 1668, "%", 1,0 -etb1etbFeedForward = scalar, F32, 1672 -etb1etbIntegralError = scalar, F32, 1676, "", 1, 0 -etb1etbCurrentTarget = scalar, F32, 1680, "%", 1, 0 -etb1m_adjustedTarget = scalar, S16, 1684, "%", 0.01, 0 -etb1etbRevLimitActive = bits, U32, 1688, [0:0] -etb1jamDetected = bits, U32, 1688, [1:1] -etb1validPlantPosition = bits, U32, 1688, [2:2] -etb1etbTpsErrorCounter = scalar, U16, 1692, "count", 1,0 -etb1etbPpsErrorCounter = scalar, U16, 1694, "count", 1,0 -etb1etbErrorCode = scalar, S08, 1696, "", 1, 0 -etb1etbErrorCodeBlinker = scalar, S08, 1697, "", 1, 0 -etb1tcEtbDrop = scalar, S08, 1698, "%", 1, 0 -etb1jamTimer = scalar, U16, 1700, "sec", 0.01, 0 -etb1adjustedEtbTarget = scalar, S08, 1702, "%", 1, 0 -etb1state = scalar, U08, 1703, "", 1, 0 -; total TS size = 1704 -etb2targetWithIdlePosition = scalar, F32, 1704, "%", 1,0 -etb2trim = scalar, F32, 1708, "", 1, 0 -etb2luaAdjustment = scalar, F32, 1712, "%", 1,0 -etb2m_wastegatePosition = scalar, F32, 1716, "%", 1,0 -etb2etbFeedForward = scalar, F32, 1720 -etb2etbIntegralError = scalar, F32, 1724, "", 1, 0 -etb2etbCurrentTarget = scalar, F32, 1728, "%", 1, 0 -etb2m_adjustedTarget = scalar, S16, 1732, "%", 0.01, 0 -etb2etbRevLimitActive = bits, U32, 1736, [0:0] -etb2jamDetected = bits, U32, 1736, [1:1] -etb2validPlantPosition = bits, U32, 1736, [2:2] -etb2etbTpsErrorCounter = scalar, U16, 1740, "count", 1,0 -etb2etbPpsErrorCounter = scalar, U16, 1742, "count", 1,0 -etb2etbErrorCode = scalar, S08, 1744, "", 1, 0 -etb2etbErrorCodeBlinker = scalar, S08, 1745, "", 1, 0 -etb2tcEtbDrop = scalar, S08, 1746, "%", 1, 0 -etb2jamTimer = scalar, U16, 1748, "sec", 0.01, 0 -etb2adjustedEtbTarget = scalar, S08, 1750, "%", 1, 0 -etb2state = scalar, U08, 1751, "", 1, 0 -; total TS size = 1752 -wb1faultCode = scalar, U08, 1752, "", 1, 0 -wb1heaterDuty = scalar, U08, 1753, "%", 1, 0 -wb1pumpDuty = scalar, U08, 1754, "%", 1, 0 -wb1tempC = scalar, U16, 1756, "C", 1, 0 -wb1nernstVoltage = scalar, U16, 1758, "V", 0.001, 0 -wb1esr = scalar, U16, 1760, "ohm", 1, 0 -; total TS size = 1764 -wb2faultCode = scalar, U08, 1764, "", 1, 0 -wb2heaterDuty = scalar, U08, 1765, "%", 1, 0 -wb2pumpDuty = scalar, U08, 1766, "%", 1, 0 -wb2tempC = scalar, U16, 1768, "C", 1, 0 -wb2nernstVoltage = scalar, U16, 1770, "V", 0.001, 0 -wb2esr = scalar, U16, 1772, "ohm", 1, 0 -; total TS size = 1776 -dcOutput0 = scalar, F32, 1776, "%", 1,0 -isEnabled0_int = scalar, U08, 1780, "%", 1,0 -isEnabled0 = bits, U32, 1784, [0:0] -; total TS size = 1788 -value0 = scalar, U16, 1788, "RAW", 1,0 -value1 = scalar, U16, 1790, "RAW", 1,0 -errorRate = scalar, F32, 1792, "% (don't belive me)", 1,0 -; total TS size = 1796 -vvtTarget = scalar, U16, 1796, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1798, "%", 0.5, 0 +isBenchTest = bits, U32, 1228, [0:0] +hasIgnitionVoltage = bits, U32, 1228, [1:1] +mainRelayState = bits, U32, 1228, [2:2] +delayedShutoffRequested = bits, U32, 1228, [3:3] +; total TS size = 1232 +lua_fuelAdd = scalar, F32, 1232, "g", 1, 0 +lua_fuelMult = scalar, F32, 1236, "", 1, 0 +lua_clutchUpState = bits, U32, 1240, [0:0] +lua_brakePedalState = bits, U32, 1240, [1:1] +lua_acRequestState = bits, U32, 1240, [2:2] +lua_luaDisableEtb = bits, U32, 1240, [3:3] +lua_luaIgnCut = bits, U32, 1240, [4:4] +lua_luaFuelCut = bits, U32, 1240, [5:5] +lua_clutchDownState = bits, U32, 1240, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1240, [7:7] +lua_torqueReductionState = bits, U32, 1240, [8:8] +sd_tCharge = scalar, S16, 1244, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1248, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1252, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1256, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1260, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1264, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1268, "", 1, 0 +hellenBoardId = scalar, S16, 1272, "id", 1, 0 +clutchUpState = scalar, S08, 1274, "", 1, 0 +brakePedalState = scalar, S08, 1275, "", 1, 0 +startStopState = scalar, S08, 1276, "", 1, 0 +smartChipState = scalar, S08, 1277, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1278, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1279, "", 1, 0 +startStopPhysicalState = bits, U32, 1280, [0:0] +acrActive = bits, U32, 1280, [1:1] +acrEngineMovedRecently = bits, U32, 1280, [2:2] +heaterControlEnabled = bits, U32, 1280, [3:3] +luaDigitalState0 = bits, U32, 1280, [4:4] +luaDigitalState1 = bits, U32, 1280, [5:5] +luaDigitalState2 = bits, U32, 1280, [6:6] +luaDigitalState3 = bits, U32, 1280, [7:7] +clutchDownState = bits, U32, 1280, [8:8] +startStopStateToggleCounter = scalar, U32, 1284, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1288, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1292, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1296, "", 1, 0 +fuelInjectionCounter = scalar, U32, 1300, "", 1, 0 +globalSparkCounter = scalar, U32, 1304, "", 1, 0 +fuelingLoad = scalar, F32, 1308, "", 1, 0 +ignitionLoad = scalar, F32, 1312, "", 1, 0 +veTableYAxis = scalar, U16, 1316, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1318, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1319, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1320, "", 1, 0 +; total TS size = 1324 +tpsFrom = scalar, F32, 1324 +tpsTo = scalar, F32, 1328 +deltaTps = scalar, F32, 1332 +extraFuel = scalar, F32, 1336, "", 1, 0 +valueFromTable = scalar, F32, 1340, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1344, [0:0] +isBelowDecelThreshold = bits, U32, 1344, [1:1] +isTimeToResetAccumulator = bits, U32, 1344, [2:2] +isFractionalEnrichment = bits, U32, 1344, [3:3] +belowEpsilon = bits, U32, 1344, [4:4] +tooShort = bits, U32, 1344, [5:5] +fractionalInjFuel = scalar, F32, 1348, "", 1, 0 +accumulatedValue = scalar, F32, 1352, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1356, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1360, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1364, "", 1, 0 +cycleCnt = scalar, S32, 1368, "", 1, 0 +; total TS size = 1372 +hwEventCounters1 = scalar, U16, 1372, "", 1, 0 +hwEventCounters2 = scalar, U16, 1374, "", 1, 0 +hwEventCounters3 = scalar, U16, 1376, "", 1, 0 +hwEventCounters4 = scalar, U16, 1378, "", 1, 0 +vvtCamCounter = scalar, U16, 1380, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1384, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1388, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1392, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1393, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1396, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1400, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1404, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1408, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1412, [0:0] +triggerElapsedUs = scalar, U32, 1416, "", 1, 0 +; total TS size = 1420 +trgsynchronizationCounter = scalar, U32, 1420, "", 1, 0 +trgvvtToothDurations0 = scalar, U32, 1424, "us", 1, 0 +trgvvtCurrentPosition = scalar, F32, 1428, "", 1, 0 +trgvvtToothPosition1 = scalar, F32, 1432, "", 1, 0 +trgvvtToothPosition2 = scalar, F32, 1436, "", 1, 0 +trgvvtToothPosition3 = scalar, F32, 1440, "", 1, 0 +trgvvtToothPosition4 = scalar, F32, 1444, "", 1, 0 +trgtriggerSyncGapRatio = scalar, F32, 1448, "", 1, 0 +trgtriggerStateIndex = scalar, U08, 1452, "", 1, 0 +; total TS size = 1456 +vvt1isynchronizationCounter = scalar, U32, 1456, "", 1, 0 +vvt1ivvtToothDurations0 = scalar, U32, 1460, "us", 1, 0 +vvt1ivvtCurrentPosition = scalar, F32, 1464, "", 1, 0 +vvt1ivvtToothPosition1 = scalar, F32, 1468, "", 1, 0 +vvt1ivvtToothPosition2 = scalar, F32, 1472, "", 1, 0 +vvt1ivvtToothPosition3 = scalar, F32, 1476, "", 1, 0 +vvt1ivvtToothPosition4 = scalar, F32, 1480, "", 1, 0 +vvt1itriggerSyncGapRatio = scalar, F32, 1484, "", 1, 0 +vvt1itriggerStateIndex = scalar, U08, 1488, "", 1, 0 +; total TS size = 1492 +vvt1esynchronizationCounter = scalar, U32, 1492, "", 1, 0 +vvt1evvtToothDurations0 = scalar, U32, 1496, "us", 1, 0 +vvt1evvtCurrentPosition = scalar, F32, 1500, "", 1, 0 +vvt1evvtToothPosition1 = scalar, F32, 1504, "", 1, 0 +vvt1evvtToothPosition2 = scalar, F32, 1508, "", 1, 0 +vvt1evvtToothPosition3 = scalar, F32, 1512, "", 1, 0 +vvt1evvtToothPosition4 = scalar, F32, 1516, "", 1, 0 +vvt1etriggerSyncGapRatio = scalar, F32, 1520, "", 1, 0 +vvt1etriggerStateIndex = scalar, U08, 1524, "", 1, 0 +; total TS size = 1528 +vvt2isynchronizationCounter = scalar, U32, 1528, "", 1, 0 +vvt2ivvtToothDurations0 = scalar, U32, 1532, "us", 1, 0 +vvt2ivvtCurrentPosition = scalar, F32, 1536, "", 1, 0 +vvt2ivvtToothPosition1 = scalar, F32, 1540, "", 1, 0 +vvt2ivvtToothPosition2 = scalar, F32, 1544, "", 1, 0 +vvt2ivvtToothPosition3 = scalar, F32, 1548, "", 1, 0 +vvt2ivvtToothPosition4 = scalar, F32, 1552, "", 1, 0 +vvt2itriggerSyncGapRatio = scalar, F32, 1556, "", 1, 0 +vvt2itriggerStateIndex = scalar, U08, 1560, "", 1, 0 +; total TS size = 1564 +vvt2esynchronizationCounter = scalar, U32, 1564, "", 1, 0 +vvt2evvtToothDurations0 = scalar, U32, 1568, "us", 1, 0 +vvt2evvtCurrentPosition = scalar, F32, 1572, "", 1, 0 +vvt2evvtToothPosition1 = scalar, F32, 1576, "", 1, 0 +vvt2evvtToothPosition2 = scalar, F32, 1580, "", 1, 0 +vvt2evvtToothPosition3 = scalar, F32, 1584, "", 1, 0 +vvt2evvtToothPosition4 = scalar, F32, 1588, "", 1, 0 +vvt2etriggerSyncGapRatio = scalar, F32, 1592, "", 1, 0 +vvt2etriggerStateIndex = scalar, U08, 1596, "", 1, 0 +; total TS size = 1600 +camResyncCounter = scalar, U08, 1600, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1604, [0:0] +; total TS size = 1608 +wallFuelCorrection = scalar, F32, 1608, "", 1, 0 +wallFuel = scalar, F32, 1612, "", 1, 0 +; total TS size = 1616 +idleState = bits, S32, 1616, [0:2], "not important" +currentIdlePosition = scalar, F32, 1620 +baseIdlePosition = scalar, F32, 1624 +idleClosedLoop = scalar, F32, 1628 +iacByTpsTaper = scalar, F32, 1632 +mightResetPid = bits, U32, 1636, [0:0] +shouldResetPid = bits, U32, 1636, [1:1] +wasResetPid = bits, U32, 1636, [2:2] +mustResetPid = bits, U32, 1636, [3:3] +isCranking = bits, U32, 1636, [4:4] +isIacTableForCoasting = bits, U32, 1636, [5:5] +notIdling = bits, U32, 1636, [6:6] +needReset = bits, U32, 1636, [7:7] +isInDeadZone = bits, U32, 1636, [8:8] +isBlipping = bits, U32, 1636, [9:9] +useClosedLoop = bits, U32, 1636, [10:10] +badTps = bits, U32, 1636, [11:11] +looksLikeRunning = bits, U32, 1636, [12:12] +looksLikeCoasting = bits, U32, 1636, [13:13] +looksLikeCrankToIdle = bits, U32, 1636, [14:14] +isIdleCoasting = bits, U32, 1636, [15:15] +isIdleClosedLoop = bits, U32, 1636, [16:16] +idleTarget = scalar, S32, 1640, "", 1, 0 +targetRpmByClt = scalar, S32, 1644, "", 1, 0 +targetRpmAc = scalar, S32, 1648, "", 1, 0 +iacByRpmTaper = scalar, F32, 1652 +luaAdd = scalar, F32, 1656 +; total TS size = 1660 +etb1targetWithIdlePosition = scalar, F32, 1660, "%", 1,0 +etb1trim = scalar, F32, 1664, "", 1, 0 +etb1luaAdjustment = scalar, F32, 1668, "%", 1,0 +etb1m_wastegatePosition = scalar, F32, 1672, "%", 1,0 +etb1etbFeedForward = scalar, F32, 1676 +etb1etbIntegralError = scalar, F32, 1680, "", 1, 0 +etb1etbCurrentTarget = scalar, F32, 1684, "%", 1, 0 +etb1m_adjustedTarget = scalar, S16, 1688, "%", 0.01, 0 +etb1etbRevLimitActive = bits, U32, 1692, [0:0] +etb1jamDetected = bits, U32, 1692, [1:1] +etb1validPlantPosition = bits, U32, 1692, [2:2] +etb1etbTpsErrorCounter = scalar, U16, 1696, "count", 1,0 +etb1etbPpsErrorCounter = scalar, U16, 1698, "count", 1,0 +etb1etbErrorCode = scalar, S08, 1700, "", 1, 0 +etb1etbErrorCodeBlinker = scalar, S08, 1701, "", 1, 0 +etb1tcEtbDrop = scalar, S08, 1702, "%", 1, 0 +etb1jamTimer = scalar, U16, 1704, "sec", 0.01, 0 +etb1adjustedEtbTarget = scalar, S08, 1706, "%", 1, 0 +etb1state = scalar, U08, 1707, "", 1, 0 +; total TS size = 1708 +etb2targetWithIdlePosition = scalar, F32, 1708, "%", 1,0 +etb2trim = scalar, F32, 1712, "", 1, 0 +etb2luaAdjustment = scalar, F32, 1716, "%", 1,0 +etb2m_wastegatePosition = scalar, F32, 1720, "%", 1,0 +etb2etbFeedForward = scalar, F32, 1724 +etb2etbIntegralError = scalar, F32, 1728, "", 1, 0 +etb2etbCurrentTarget = scalar, F32, 1732, "%", 1, 0 +etb2m_adjustedTarget = scalar, S16, 1736, "%", 0.01, 0 +etb2etbRevLimitActive = bits, U32, 1740, [0:0] +etb2jamDetected = bits, U32, 1740, [1:1] +etb2validPlantPosition = bits, U32, 1740, [2:2] +etb2etbTpsErrorCounter = scalar, U16, 1744, "count", 1,0 +etb2etbPpsErrorCounter = scalar, U16, 1746, "count", 1,0 +etb2etbErrorCode = scalar, S08, 1748, "", 1, 0 +etb2etbErrorCodeBlinker = scalar, S08, 1749, "", 1, 0 +etb2tcEtbDrop = scalar, S08, 1750, "%", 1, 0 +etb2jamTimer = scalar, U16, 1752, "sec", 0.01, 0 +etb2adjustedEtbTarget = scalar, S08, 1754, "%", 1, 0 +etb2state = scalar, U08, 1755, "", 1, 0 +; total TS size = 1756 +wb1faultCode = scalar, U08, 1756, "", 1, 0 +wb1heaterDuty = scalar, U08, 1757, "%", 1, 0 +wb1pumpDuty = scalar, U08, 1758, "%", 1, 0 +wb1tempC = scalar, U16, 1760, "C", 1, 0 +wb1nernstVoltage = scalar, U16, 1762, "V", 0.001, 0 +wb1esr = scalar, U16, 1764, "ohm", 1, 0 +; total TS size = 1768 +wb2faultCode = scalar, U08, 1768, "", 1, 0 +wb2heaterDuty = scalar, U08, 1769, "%", 1, 0 +wb2pumpDuty = scalar, U08, 1770, "%", 1, 0 +wb2tempC = scalar, U16, 1772, "C", 1, 0 +wb2nernstVoltage = scalar, U16, 1774, "V", 0.001, 0 +wb2esr = scalar, U16, 1776, "ohm", 1, 0 +; total TS size = 1780 +dcOutput0 = scalar, F32, 1780, "%", 1,0 +isEnabled0_int = scalar, U08, 1784, "%", 1,0 +isEnabled0 = bits, U32, 1788, [0:0] +; total TS size = 1792 +value0 = scalar, U16, 1792, "RAW", 1,0 +value1 = scalar, U16, 1794, "RAW", 1,0 +errorRate = scalar, F32, 1796, "% (don't belive me)", 1,0 ; total TS size = 1800 -lambdaCurrentlyGood = bits, U32, 1800, [0:0] -lambdaMonitorCut = bits, U32, 1800, [1:1] -lambdaTimeSinceGood = scalar, U16, 1804, "sec", 0.01, 0 -; total TS size = 1808 +vvtTarget = scalar, U16, 1800, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1802, "%", 0.5, 0 +; total TS size = 1804 +lambdaCurrentlyGood = bits, U32, 1804, [0:0] +lambdaMonitorCut = bits, U32, 1804, [1:1] +lambdaTimeSinceGood = scalar, U16, 1808, "sec", 0.01, 0 +; total TS size = 1812 time = { timeNow } @@ -4584,6 +4587,12 @@ curve = rangeMatrix, "Range Switch Input Matrix" gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. upDownLabel = "(RICHER)", "(LEANER)" + table = trailingSparkTable, trailingSparkMap, "Trailing spark", 1 + xyLabels = "RPM", "Ignition Load" + xBins = trailingSparkRpmBins, RPMValue + yBins = trailingSparkLoadBins, ignitionLoad + zBins = trailingSparkTable + table = torqueTableTbl, torqueTableMap, "Engine Torque", 1 xBins = torqueRpmBins, RPMValue yBins = torqueLoadBins, veTableYAxis @@ -4881,6 +4890,7 @@ timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20 timingPidCorrectionGauge = timingPidCorrection,"Idle: Timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 +trailingSparkAngleGauge = trailingSparkAngle,"Ign: Trailing spark deg", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 gaugeCategory = "Boost Control" luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 @@ -5811,6 +5821,7 @@ entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" entry = luaIgnitionSkip, "Ign: Lua Spark Skip", int, "%d" +entry = trailingSparkAngle, "Ign: Trailing spark deg", float, "%.3f" entry = m_knockLevel, "Knock: Current level", float, "%.3f" entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" @@ -6759,6 +6770,7 @@ dialog = ignition_stateDialog, "ignition_state" graphLine = luaTimingAdd liveGraph = ignition_state_4_Graph, "Graph", South graphLine = luaTimingMult + graphLine = trailingSparkAngle dialog = knock_controllerDialog, "knock_controller" @@ -10096,11 +10108,11 @@ dialog = tcuControls, "Transmission Settings" dialog = rotaryDialog, "Rotary" field = "Enable Trailing Sparks", enableTrailingSparks - field = "Trailing Spark Offset", trailingSparkAngle field = "Trailing Pin 1", trailingCoilPins1 field = "Trailing Pin 2", trailingCoilPins2 field = "Trailing Pin 3", trailingCoilPins3 field = "Trailing Pin 4", trailingCoilPins4 + panel = trailingSparkTable diff --git a/firmware/tunerstudio/generated/rusefi_haba208.ini b/firmware/tunerstudio/generated/rusefi_haba208.ini index 62469f4dad..46ca91840d 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.2025.02.07.haba208.1384441238" + signature = "rusEFI master.2025.02.07.haba208.3574033147" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2025.02.07.haba208.1384441238" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2025.02.07.haba208.3574033147" ; 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 @@ -101,7 +101,7 @@ enable2ndByteCanID = false ; CONFIG_DEFINITION_START ; this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt -pageSize = 23280 +pageSize = 23304 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",22="BMW_M52",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",21="ET_BOSCH_QUICK_START",24="ET_TEST_WITH_BOSCH_QUICK_START",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",41="FRANKENSO_MIATA_NA6_MAP",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",47="GM_LCV",55="GM_LTG",98="GM_SBC",49="GM_SBC_GEN5",8="GY6_139QMB",6="HARLEY",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",34="MAZDA_MIATA_NA6",80="MAZDA_MIATA_NA94",10="MAZDA_MIATA_NA96",83="MAZDA_MIATA_NB1",69="MAZDA_MIATA_NB2",86="MAZDA_MIATA_NB2_36",20="MAZDA_MIATA_NC",33="ME17_9_MISC",68="MERCEDES_M111",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",4="MRE_SECONDARY_CAN",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",35="POLARIS",9="POLARIS_RZR",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",27="PROTEUS_GM_LS_4",25="PROTEUS_LUA_DEMO",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",17="TCU_4R70W",100="TEST_100",101="TEST_101",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",93="TEST_ISSUE_6451",19="TEST_ROTARY",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",102="UNUSED102",67="UNUSED67",94="UNUSED94",65="UNUSED_65",97="UNUSED_97",77="VAG_5_CYL",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -245,7 +245,7 @@ vbattAdcChannel = bits, U08, 513, [0:5], $adc_channel_e_list fuelLevelSensor = bits, U08, 514, [0:5], $adc_channel_e_list tps2_1AdcChannel = bits, U08, 515, [0:5], $adc_channel_e_list idle_derivativeFilterLoss = scalar, F32, 516, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 520, "angle", 1, 0, 0, 720, 0 +unusedTrailingSparkAngle = scalar, S32, 520, "", 1, 0, 0, 100, 0 trigger_type = bits, U32, 524, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Daihatsu 3 cylinder", "Mazda SOHC 4", "60-2", "36-1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "Dodge Ram 1+16", "60-2 Wrong Polarity", "Benelli Tre", "Dodge Stratus", "36_2_2_2", "Nissan Primera", "dev 2JZ 3/34 simulator", "Rover K", "GM 24x 5 degree", "Honda CBR 600 Cam", "INVALID", "Honda CBR 600 custom", "3-1 skipped", "Dodge Neon 2003 crank", "Miata NB", "INVALID", "INVALID", "Subaru 7+6", "Jeep 18-2-2-2", "12crank/24cam", "Dodge Neon 1995 crank only", "Jeep XJ 4 cyl", "FiatIAQ_P8", "Mazda Z5", "INVALID", "Renix 44-2-2", "Renix 66-2-2-2", "Honda K 12+1", "INVALID", "36-2", "Subaru SVX", "Suzuki K6A", "Subaru 7 without 6", "INVALID", "INVALID", "GM 60-2-2-2", "Skoda Favorit", "Barra 3+1 Cam", "Kawa KX450F", "Nissan VQ35", "INVALID", "Nissan VQ30", "Nissan QR25", "INVALID", "Subaru SVX Crank 1", "Subaru SVX Cam VVT", "Ford PIP", "Suzuki G13B", "Honda K 4+1", "Nissan MR18 Crank", "32-2", "36-2-1", "36-2-1-1", "3-0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6-0", "Daihatsu 4 cylinder", "INVALID", "dev", "Nissan HR", "Arctic Cat", "HR12 in", "HONDA J30A2", "trg88", "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" trigger_customTotalToothCount = scalar, S32, 528, "number", 1, 0, 1, 300, 0 trigger_customSkippedToothCount = scalar, S32, 532, "number", 1, 0, 0, 300, 0 @@ -1796,7 +1796,10 @@ dynoCarCarMassKg = scalar, S16, 23268, "", 1, 0, 0, 32000, 0 dynoCarCargoMassKg = scalar, S16, 23270, "", 1, 0, 0, 32000, 0 dynoCarCoeffOfDrag = scalar, F32, 23272, "", 1, 0, 0, 100, 0 dynoCarFrontalAreaM2 = scalar, F32, 23276, "", 1, 0, 0, 100, 0 -; total TS size = 23280 +trailingSparkTable = array, S08, 23280, [4x4], "deg", 0.1, 0, 0, 20, 1 +trailingSparkRpmBins = array, U08, 23296, [4], "rpm", 50.0, 0, 0, 12000, 0 +trailingSparkLoadBins = array, U08, 23300, [4], "Load", 5.0, 0, 0, 1000, 0 +; total TS size = 23304 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1890,7 +1893,6 @@ dynoCarFrontalAreaM2 = scalar, F32, 23276, "", 1, 0, 0, 100, 0 fuelLevelSensor = "This is the processor pin that your fuel level sensor in connected to. This is a non standard input so will need to be user defined." tps2_1AdcChannel = "Second throttle body position sensor, single channel so far" idle_derivativeFilterLoss = "0.1 is a good default value" - trailingSparkAngle = "just a temporary solution" trigger_type = "https://github.com/rusefi/rusefi/wiki/All-Supported-Triggers" airByRpmTaper = "Extra air taper amount" boostControlSafeDutyCycle = "Duty cycle to use in case of a sensor failure. This duty cycle should produce the minimum possible amount of boost. This duty is also used in case any of the minimum RPM/TPS/MAP conditions are not met." @@ -2664,7 +2666,7 @@ dynoCarFrontalAreaM2 = scalar, F32, 23276, "", 1, 0, 0, 100, 0 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1808 + ochBlockSize = 1812 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3189,417 +3191,418 @@ dwellVoltageCorrection = scalar, F32, 940, "", 1, 0 luaTimingAdd = scalar, F32, 944, "deg", 1, 0 luaTimingMult = scalar, F32, 948, "deg", 1, 0 luaIgnitionSkip = bits, U32, 952, [0:0] -; total TS size = 956 -m_knockLevel = scalar, F32, 956, "Volts", 1, 0 -m_knockCyl1 = scalar, S08, 960, "dBv", 1, 0 -m_knockCyl2 = scalar, S08, 961, "dBv", 1, 0 -m_knockCyl3 = scalar, S08, 962, "dBv", 1, 0 -m_knockCyl4 = scalar, S08, 963, "dBv", 1, 0 -m_knockCyl5 = scalar, S08, 964, "dBv", 1, 0 -m_knockCyl6 = scalar, S08, 965, "dBv", 1, 0 -m_knockCyl7 = scalar, S08, 966, "dBv", 1, 0 -m_knockCyl8 = scalar, S08, 967, "dBv", 1, 0 -m_knockCyl9 = scalar, S08, 968, "dBv", 1, 0 -m_knockCyl10 = scalar, S08, 969, "dBv", 1, 0 -m_knockCyl11 = scalar, S08, 970, "dBv", 1, 0 -m_knockCyl12 = scalar, S08, 971, "dBv", 1, 0 -m_knockRetard = scalar, F32, 972, "deg", 1,0 -m_knockThreshold = scalar, F32, 976, "", 1, 0 -m_knockCount = scalar, U32, 980, "", 1, 0 -m_maximumRetard = scalar, F32, 984, "", 1, 0 -m_knockSpectrum1 = scalar, U32, 988, "compressed data", 1, 0 -m_knockSpectrum2 = scalar, U32, 992, "compressed data", 1, 0 -m_knockSpectrum3 = scalar, U32, 996, "compressed data", 1, 0 -m_knockSpectrum4 = scalar, U32, 1000, "compressed data", 1, 0 -m_knockSpectrum5 = scalar, U32, 1004, "compressed data", 1, 0 -m_knockSpectrum6 = scalar, U32, 1008, "compressed data", 1, 0 -m_knockSpectrum7 = scalar, U32, 1012, "compressed data", 1, 0 -m_knockSpectrum8 = scalar, U32, 1016, "compressed data", 1, 0 -m_knockSpectrum9 = scalar, U32, 1020, "compressed data", 1, 0 -m_knockSpectrum10 = scalar, U32, 1024, "compressed data", 1, 0 -m_knockSpectrum11 = scalar, U32, 1028, "compressed data", 1, 0 -m_knockSpectrum12 = scalar, U32, 1032, "compressed data", 1, 0 -m_knockSpectrum13 = scalar, U32, 1036, "compressed data", 1, 0 -m_knockSpectrum14 = scalar, U32, 1040, "compressed data", 1, 0 -m_knockSpectrum15 = scalar, U32, 1044, "compressed data", 1, 0 -m_knockSpectrum16 = scalar, U32, 1048, "compressed data", 1, 0 -m_knockSpectrumChannelCyl = scalar, U16, 1052, "compressed N + N", 1, 0 -m_knockFrequencyStart = scalar, U16, 1054, "Hz", 1, 0 -m_knockFrequencyStep = scalar, F32, 1056, "Hz", 1, 0 -m_knockFuelTrimMultiplier = scalar, F32, 1060, "multiplier", 1, 0 -; total TS size = 1064 -m_isPriming = bits, U32, 1064, [0:0] +trailingSparkAngle = scalar, S16, 956, "deg", 0.01,0 +; total TS size = 960 +m_knockLevel = scalar, F32, 960, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 964, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 965, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 966, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 967, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 968, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 969, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 970, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 971, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 972, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 973, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 974, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 975, "dBv", 1, 0 +m_knockRetard = scalar, F32, 976, "deg", 1,0 +m_knockThreshold = scalar, F32, 980, "", 1, 0 +m_knockCount = scalar, U32, 984, "", 1, 0 +m_maximumRetard = scalar, F32, 988, "", 1, 0 +m_knockSpectrum1 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1040, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1044, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1048, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1052, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1056, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1058, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1060, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1064, "multiplier", 1, 0 ; total TS size = 1068 -tcuCurrentGear = scalar, S08, 1068, "gear", 1, 0 -tcRatio = scalar, U16, 1070, "value", 0.01, 0 -lastShiftTime = scalar, F32, 1072, "", 1, 0 -tcu_currentRange = scalar, U08, 1076, "", 1, 0 -pressureControlDuty = scalar, S08, 1077, "%", 1,0 -torqueConverterDuty = scalar, S08, 1078, "%", 1,0 -isShifting = bits, U32, 1080, [0:0] -; total TS size = 1084 -throttleUseWotModel = bits, U32, 1084, [0:0] -throttleModelCrossoverAngle = scalar, S16, 1088, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1092, "g/s", 1, 0 -; total TS size = 1096 -m_requested_pump = scalar, F32, 1096, "", 1, 0 -fuel_requested_percent = scalar, F32, 1100, "%", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1104, "", 1, 0 -noValve = bits, U32, 1108, [0:0] -angleAboveMin = bits, U32, 1108, [1:1] -isHpfpActive = bits, U32, 1108, [2:2] -HpfpValveState = bits, U32, 1108, [3:3] -m_pressureTarget_kPa = scalar, F32, 1112, "", 1, 0 -nextLobe = scalar, F32, 1116, "", 1, 0 -di_nextStart = scalar, F32, 1120, "v", 1, 0 -HpfdActivationPhase = scalar, F32, 1124, "", 1, 0 -HpfdDeactivationPhase = scalar, F32, 1128, "", 1, 0 -; total TS size = 1132 -m_deadtime = scalar, F32, 1132, "ms", 1, 0 -pressureDelta = scalar, F32, 1136, "kPa", 1, 0 -pressureRatio = scalar, F32, 1140, "", 1, 0 -; total TS size = 1144 -retardThresholdRpm = scalar, S32, 1144, "", 1, 0 -launchActivatePinState = bits, U32, 1148, [0:0] -isPreLaunchCondition = bits, U32, 1148, [1:1] -isLaunchCondition = bits, U32, 1148, [2:2] -isSwitchActivated = bits, U32, 1148, [3:3] -isClutchActivated = bits, U32, 1148, [4:4] -isBrakePedalActivated = bits, U32, 1148, [5:5] -isValidInputPin = bits, U32, 1148, [6:6] -activateSwitchCondition = bits, U32, 1148, [7:7] -rpmLaunchCondition = bits, U32, 1148, [8:8] -rpmPreLaunchCondition = bits, U32, 1148, [9:9] -speedCondition = bits, U32, 1148, [10:10] -tpsCondition = bits, U32, 1148, [11:11] -; total TS size = 1152 -isTorqueReductionTriggerPinValid = bits, U32, 1152, [0:0] -torqueReductionTriggerPinState = bits, U32, 1152, [1:1] -isTimeConditionSatisfied = bits, U32, 1152, [2:2] -isRpmConditionSatisfied = bits, U32, 1152, [3:3] -isAppConditionSatisfied = bits, U32, 1152, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1152, [5:5] +m_isPriming = bits, U32, 1068, [0:0] +; total TS size = 1072 +tcuCurrentGear = scalar, S08, 1072, "gear", 1, 0 +tcRatio = scalar, U16, 1074, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1076, "", 1, 0 +tcu_currentRange = scalar, U08, 1080, "", 1, 0 +pressureControlDuty = scalar, S08, 1081, "%", 1,0 +torqueConverterDuty = scalar, S08, 1082, "%", 1,0 +isShifting = bits, U32, 1084, [0:0] +; total TS size = 1088 +throttleUseWotModel = bits, U32, 1088, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1092, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1096, "g/s", 1, 0 +; total TS size = 1100 +m_requested_pump = scalar, F32, 1100, "", 1, 0 +fuel_requested_percent = scalar, F32, 1104, "%", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1108, "", 1, 0 +noValve = bits, U32, 1112, [0:0] +angleAboveMin = bits, U32, 1112, [1:1] +isHpfpActive = bits, U32, 1112, [2:2] +HpfpValveState = bits, U32, 1112, [3:3] +m_pressureTarget_kPa = scalar, F32, 1116, "", 1, 0 +nextLobe = scalar, F32, 1120, "", 1, 0 +di_nextStart = scalar, F32, 1124, "v", 1, 0 +HpfdActivationPhase = scalar, F32, 1128, "", 1, 0 +HpfdDeactivationPhase = scalar, F32, 1132, "", 1, 0 +; total TS size = 1136 +m_deadtime = scalar, F32, 1136, "ms", 1, 0 +pressureDelta = scalar, F32, 1140, "kPa", 1, 0 +pressureRatio = scalar, F32, 1144, "", 1, 0 +; total TS size = 1148 +retardThresholdRpm = scalar, S32, 1148, "", 1, 0 +launchActivatePinState = bits, U32, 1152, [0:0] +isPreLaunchCondition = bits, U32, 1152, [1:1] +isLaunchCondition = bits, U32, 1152, [2:2] +isSwitchActivated = bits, U32, 1152, [3:3] +isClutchActivated = bits, U32, 1152, [4:4] +isBrakePedalActivated = bits, U32, 1152, [5:5] +isValidInputPin = bits, U32, 1152, [6:6] +activateSwitchCondition = bits, U32, 1152, [7:7] +rpmLaunchCondition = bits, U32, 1152, [8:8] +rpmPreLaunchCondition = bits, U32, 1152, [9:9] +speedCondition = bits, U32, 1152, [10:10] +tpsCondition = bits, U32, 1152, [11:11] ; total TS size = 1156 -isAntilagCondition = bits, U32, 1156, [0:0] -ALSMinRPMCondition = bits, U32, 1156, [1:1] -ALSMaxRPMCondition = bits, U32, 1156, [2:2] -ALSMinCLTCondition = bits, U32, 1156, [3:3] -ALSMaxCLTCondition = bits, U32, 1156, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1156, [5:5] -isALSSwitchActivated = bits, U32, 1156, [6:6] -ALSActivatePinState = bits, U32, 1156, [7:7] -ALSSwitchCondition = bits, U32, 1156, [8:8] -ALSTimerCondition = bits, U32, 1156, [9:9] -fuelALSCorrection = scalar, F32, 1160, "", 1, 0 -timingALSCorrection = scalar, S16, 1164, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1166, "deg", 0.01, 0 -; total TS size = 1168 -isTpsInvalid = bits, U32, 1168, [0:0] -m_shouldResetPid = bits, U32, 1168, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1168, [2:2] -isNotClosedLoop = bits, U32, 1168, [3:3] -isZeroRpm = bits, U32, 1168, [4:4] -hasInitBoost = bits, U32, 1168, [5:5] -rpmTooLow = bits, U32, 1168, [6:6] -tpsTooLow = bits, U32, 1168, [7:7] -mapTooLow = bits, U32, 1168, [8:8] -isPlantValid = bits, U32, 1168, [9:9] -isBoostControlled = bits, U32, 1168, [10:10] -luaTargetAdd = scalar, S16, 1172, "v", 0.5,0 -boostOutput = scalar, S16, 1174, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1176, "v", 1,0 -openLoopPart = scalar, F32, 1180, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1184, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1188, "%", 0.5,0 -boostControlTarget = scalar, S16, 1190, "kPa", 0.03333333333333333,0 -; total TS size = 1192 -acButtonState = scalar, S08, 1192, "", 1, 0 -m_acEnabled = bits, U32, 1196, [0:0] -engineTooSlow = bits, U32, 1196, [1:1] -engineTooFast = bits, U32, 1196, [2:2] -noClt = bits, U32, 1196, [3:3] -engineTooHot = bits, U32, 1196, [4:4] -tpsTooHigh = bits, U32, 1196, [5:5] -isDisabledByLua = bits, U32, 1196, [6:6] -acCompressorState = bits, U32, 1196, [7:7] -acPressureTooLow = bits, U32, 1196, [8:8] -acPressureTooHigh = bits, U32, 1196, [9:9] -; total TS size = 1200 -isNitrousArmed = bits, U32, 1200, [0:0] -isNitrousSpeedCondition = bits, U32, 1200, [1:1] -isNitrousTpsCondition = bits, U32, 1200, [2:2] -isNitrousCltCondition = bits, U32, 1200, [3:3] -isNitrousMapCondition = bits, U32, 1200, [4:4] -isNitrousAfrCondition = bits, U32, 1200, [5:5] -isNitrousRpmCondition = bits, U32, 1200, [6:6] -isNitrousCondition = bits, U32, 1200, [7:7] +isTorqueReductionTriggerPinValid = bits, U32, 1156, [0:0] +torqueReductionTriggerPinState = bits, U32, 1156, [1:1] +isTimeConditionSatisfied = bits, U32, 1156, [2:2] +isRpmConditionSatisfied = bits, U32, 1156, [3:3] +isAppConditionSatisfied = bits, U32, 1156, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1156, [5:5] +; total TS size = 1160 +isAntilagCondition = bits, U32, 1160, [0:0] +ALSMinRPMCondition = bits, U32, 1160, [1:1] +ALSMaxRPMCondition = bits, U32, 1160, [2:2] +ALSMinCLTCondition = bits, U32, 1160, [3:3] +ALSMaxCLTCondition = bits, U32, 1160, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1160, [5:5] +isALSSwitchActivated = bits, U32, 1160, [6:6] +ALSActivatePinState = bits, U32, 1160, [7:7] +ALSSwitchCondition = bits, U32, 1160, [8:8] +ALSTimerCondition = bits, U32, 1160, [9:9] +fuelALSCorrection = scalar, F32, 1164, "", 1, 0 +timingALSCorrection = scalar, S16, 1168, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1170, "deg", 0.01, 0 +; total TS size = 1172 +isTpsInvalid = bits, U32, 1172, [0:0] +m_shouldResetPid = bits, U32, 1172, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1172, [2:2] +isNotClosedLoop = bits, U32, 1172, [3:3] +isZeroRpm = bits, U32, 1172, [4:4] +hasInitBoost = bits, U32, 1172, [5:5] +rpmTooLow = bits, U32, 1172, [6:6] +tpsTooLow = bits, U32, 1172, [7:7] +mapTooLow = bits, U32, 1172, [8:8] +isPlantValid = bits, U32, 1172, [9:9] +isBoostControlled = bits, U32, 1172, [10:10] +luaTargetAdd = scalar, S16, 1176, "v", 0.5,0 +boostOutput = scalar, S16, 1178, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1180, "v", 1,0 +openLoopPart = scalar, F32, 1184, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1188, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1192, "%", 0.5,0 +boostControlTarget = scalar, S16, 1194, "kPa", 0.03333333333333333,0 +; total TS size = 1196 +acButtonState = scalar, S08, 1196, "", 1, 0 +m_acEnabled = bits, U32, 1200, [0:0] +engineTooSlow = bits, U32, 1200, [1:1] +engineTooFast = bits, U32, 1200, [2:2] +noClt = bits, U32, 1200, [3:3] +engineTooHot = bits, U32, 1200, [4:4] +tpsTooHigh = bits, U32, 1200, [5:5] +isDisabledByLua = bits, U32, 1200, [6:6] +acCompressorState = bits, U32, 1200, [7:7] +acPressureTooLow = bits, U32, 1200, [8:8] +acPressureTooHigh = bits, U32, 1200, [9:9] ; total TS size = 1204 -fan1cranking = bits, U32, 1204, [0:0] -fan1notRunning = bits, U32, 1204, [1:1] -fan1disabledWhileEngineStopped = bits, U32, 1204, [2:2] -fan1brokenClt = bits, U32, 1204, [3:3] -fan1enabledForAc = bits, U32, 1204, [4:4] -fan1hot = bits, U32, 1204, [5:5] -fan1cold = bits, U32, 1204, [6:6] -fan1disabledBySpeed = bits, U32, 1204, [7:7] -fan1m_state = bits, U32, 1204, [8:8] -fan1radiatorFanStatus = scalar, U08, 1208, "", 1, 0 -; total TS size = 1212 -fan2cranking = bits, U32, 1212, [0:0] -fan2notRunning = bits, U32, 1212, [1:1] -fan2disabledWhileEngineStopped = bits, U32, 1212, [2:2] -fan2brokenClt = bits, U32, 1212, [3:3] -fan2enabledForAc = bits, U32, 1212, [4:4] -fan2hot = bits, U32, 1212, [5:5] -fan2cold = bits, U32, 1212, [6:6] -fan2disabledBySpeed = bits, U32, 1212, [7:7] -fan2m_state = bits, U32, 1212, [8:8] -fan2radiatorFanStatus = scalar, U08, 1216, "", 1, 0 -; total TS size = 1220 -isPrime = bits, U32, 1220, [0:0] -engineTurnedRecently = bits, U32, 1220, [1:1] -isFuelPumpOn = bits, U32, 1220, [2:2] -ignitionOn = bits, U32, 1220, [3:3] +isNitrousArmed = bits, U32, 1204, [0:0] +isNitrousSpeedCondition = bits, U32, 1204, [1:1] +isNitrousTpsCondition = bits, U32, 1204, [2:2] +isNitrousCltCondition = bits, U32, 1204, [3:3] +isNitrousMapCondition = bits, U32, 1204, [4:4] +isNitrousAfrCondition = bits, U32, 1204, [5:5] +isNitrousRpmCondition = bits, U32, 1204, [6:6] +isNitrousCondition = bits, U32, 1204, [7:7] +; total TS size = 1208 +fan1cranking = bits, U32, 1208, [0:0] +fan1notRunning = bits, U32, 1208, [1:1] +fan1disabledWhileEngineStopped = bits, U32, 1208, [2:2] +fan1brokenClt = bits, U32, 1208, [3:3] +fan1enabledForAc = bits, U32, 1208, [4:4] +fan1hot = bits, U32, 1208, [5:5] +fan1cold = bits, U32, 1208, [6:6] +fan1disabledBySpeed = bits, U32, 1208, [7:7] +fan1m_state = bits, U32, 1208, [8:8] +fan1radiatorFanStatus = scalar, U08, 1212, "", 1, 0 +; total TS size = 1216 +fan2cranking = bits, U32, 1216, [0:0] +fan2notRunning = bits, U32, 1216, [1:1] +fan2disabledWhileEngineStopped = bits, U32, 1216, [2:2] +fan2brokenClt = bits, U32, 1216, [3:3] +fan2enabledForAc = bits, U32, 1216, [4:4] +fan2hot = bits, U32, 1216, [5:5] +fan2cold = bits, U32, 1216, [6:6] +fan2disabledBySpeed = bits, U32, 1216, [7:7] +fan2m_state = bits, U32, 1216, [8:8] +fan2radiatorFanStatus = scalar, U08, 1220, "", 1, 0 ; total TS size = 1224 -isBenchTest = bits, U32, 1224, [0:0] -hasIgnitionVoltage = bits, U32, 1224, [1:1] -mainRelayState = bits, U32, 1224, [2:2] -delayedShutoffRequested = bits, U32, 1224, [3:3] +isPrime = bits, U32, 1224, [0:0] +engineTurnedRecently = bits, U32, 1224, [1:1] +isFuelPumpOn = bits, U32, 1224, [2:2] +ignitionOn = bits, U32, 1224, [3:3] ; total TS size = 1228 -lua_fuelAdd = scalar, F32, 1228, "g", 1, 0 -lua_fuelMult = scalar, F32, 1232, "", 1, 0 -lua_clutchUpState = bits, U32, 1236, [0:0] -lua_brakePedalState = bits, U32, 1236, [1:1] -lua_acRequestState = bits, U32, 1236, [2:2] -lua_luaDisableEtb = bits, U32, 1236, [3:3] -lua_luaIgnCut = bits, U32, 1236, [4:4] -lua_luaFuelCut = bits, U32, 1236, [5:5] -lua_clutchDownState = bits, U32, 1236, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1236, [7:7] -lua_torqueReductionState = bits, U32, 1236, [8:8] -sd_tCharge = scalar, S16, 1240, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1244, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1248, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1252, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1256, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1260, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1264, "", 1, 0 -hellenBoardId = scalar, S16, 1268, "id", 1, 0 -clutchUpState = scalar, S08, 1270, "", 1, 0 -brakePedalState = scalar, S08, 1271, "", 1, 0 -startStopState = scalar, S08, 1272, "", 1, 0 -smartChipState = scalar, S08, 1273, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1274, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1275, "", 1, 0 -startStopPhysicalState = bits, U32, 1276, [0:0] -acrActive = bits, U32, 1276, [1:1] -acrEngineMovedRecently = bits, U32, 1276, [2:2] -heaterControlEnabled = bits, U32, 1276, [3:3] -luaDigitalState0 = bits, U32, 1276, [4:4] -luaDigitalState1 = bits, U32, 1276, [5:5] -luaDigitalState2 = bits, U32, 1276, [6:6] -luaDigitalState3 = bits, U32, 1276, [7:7] -clutchDownState = bits, U32, 1276, [8:8] -startStopStateToggleCounter = scalar, U32, 1280, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1284, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1288, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1292, "", 1, 0 -fuelInjectionCounter = scalar, U32, 1296, "", 1, 0 -globalSparkCounter = scalar, U32, 1300, "", 1, 0 -fuelingLoad = scalar, F32, 1304, "", 1, 0 -ignitionLoad = scalar, F32, 1308, "", 1, 0 -veTableYAxis = scalar, U16, 1312, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1314, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1315, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1316, "", 1, 0 -; total TS size = 1320 -tpsFrom = scalar, F32, 1320 -tpsTo = scalar, F32, 1324 -deltaTps = scalar, F32, 1328 -extraFuel = scalar, F32, 1332, "", 1, 0 -valueFromTable = scalar, F32, 1336, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1340, [0:0] -isBelowDecelThreshold = bits, U32, 1340, [1:1] -isTimeToResetAccumulator = bits, U32, 1340, [2:2] -isFractionalEnrichment = bits, U32, 1340, [3:3] -belowEpsilon = bits, U32, 1340, [4:4] -tooShort = bits, U32, 1340, [5:5] -fractionalInjFuel = scalar, F32, 1344, "", 1, 0 -accumulatedValue = scalar, F32, 1348, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1352, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1356, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1360, "", 1, 0 -cycleCnt = scalar, S32, 1364, "", 1, 0 -; total TS size = 1368 -hwEventCounters1 = scalar, U16, 1368, "", 1, 0 -hwEventCounters2 = scalar, U16, 1370, "", 1, 0 -hwEventCounters3 = scalar, U16, 1372, "", 1, 0 -hwEventCounters4 = scalar, U16, 1374, "", 1, 0 -vvtCamCounter = scalar, U16, 1376, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1380, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1384, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1388, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1389, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1392, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1396, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1400, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1404, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1408, [0:0] -triggerElapsedUs = scalar, U32, 1412, "", 1, 0 -; total TS size = 1416 -trgsynchronizationCounter = scalar, U32, 1416, "", 1, 0 -trgvvtToothDurations0 = scalar, U32, 1420, "us", 1, 0 -trgvvtCurrentPosition = scalar, F32, 1424, "", 1, 0 -trgvvtToothPosition1 = scalar, F32, 1428, "", 1, 0 -trgvvtToothPosition2 = scalar, F32, 1432, "", 1, 0 -trgvvtToothPosition3 = scalar, F32, 1436, "", 1, 0 -trgvvtToothPosition4 = scalar, F32, 1440, "", 1, 0 -trgtriggerSyncGapRatio = scalar, F32, 1444, "", 1, 0 -trgtriggerStateIndex = scalar, U08, 1448, "", 1, 0 -; total TS size = 1452 -vvt1isynchronizationCounter = scalar, U32, 1452, "", 1, 0 -vvt1ivvtToothDurations0 = scalar, U32, 1456, "us", 1, 0 -vvt1ivvtCurrentPosition = scalar, F32, 1460, "", 1, 0 -vvt1ivvtToothPosition1 = scalar, F32, 1464, "", 1, 0 -vvt1ivvtToothPosition2 = scalar, F32, 1468, "", 1, 0 -vvt1ivvtToothPosition3 = scalar, F32, 1472, "", 1, 0 -vvt1ivvtToothPosition4 = scalar, F32, 1476, "", 1, 0 -vvt1itriggerSyncGapRatio = scalar, F32, 1480, "", 1, 0 -vvt1itriggerStateIndex = scalar, U08, 1484, "", 1, 0 -; total TS size = 1488 -vvt1esynchronizationCounter = scalar, U32, 1488, "", 1, 0 -vvt1evvtToothDurations0 = scalar, U32, 1492, "us", 1, 0 -vvt1evvtCurrentPosition = scalar, F32, 1496, "", 1, 0 -vvt1evvtToothPosition1 = scalar, F32, 1500, "", 1, 0 -vvt1evvtToothPosition2 = scalar, F32, 1504, "", 1, 0 -vvt1evvtToothPosition3 = scalar, F32, 1508, "", 1, 0 -vvt1evvtToothPosition4 = scalar, F32, 1512, "", 1, 0 -vvt1etriggerSyncGapRatio = scalar, F32, 1516, "", 1, 0 -vvt1etriggerStateIndex = scalar, U08, 1520, "", 1, 0 -; total TS size = 1524 -vvt2isynchronizationCounter = scalar, U32, 1524, "", 1, 0 -vvt2ivvtToothDurations0 = scalar, U32, 1528, "us", 1, 0 -vvt2ivvtCurrentPosition = scalar, F32, 1532, "", 1, 0 -vvt2ivvtToothPosition1 = scalar, F32, 1536, "", 1, 0 -vvt2ivvtToothPosition2 = scalar, F32, 1540, "", 1, 0 -vvt2ivvtToothPosition3 = scalar, F32, 1544, "", 1, 0 -vvt2ivvtToothPosition4 = scalar, F32, 1548, "", 1, 0 -vvt2itriggerSyncGapRatio = scalar, F32, 1552, "", 1, 0 -vvt2itriggerStateIndex = scalar, U08, 1556, "", 1, 0 -; total TS size = 1560 -vvt2esynchronizationCounter = scalar, U32, 1560, "", 1, 0 -vvt2evvtToothDurations0 = scalar, U32, 1564, "us", 1, 0 -vvt2evvtCurrentPosition = scalar, F32, 1568, "", 1, 0 -vvt2evvtToothPosition1 = scalar, F32, 1572, "", 1, 0 -vvt2evvtToothPosition2 = scalar, F32, 1576, "", 1, 0 -vvt2evvtToothPosition3 = scalar, F32, 1580, "", 1, 0 -vvt2evvtToothPosition4 = scalar, F32, 1584, "", 1, 0 -vvt2etriggerSyncGapRatio = scalar, F32, 1588, "", 1, 0 -vvt2etriggerStateIndex = scalar, U08, 1592, "", 1, 0 -; total TS size = 1596 -camResyncCounter = scalar, U08, 1596, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1600, [0:0] -; total TS size = 1604 -wallFuelCorrection = scalar, F32, 1604, "", 1, 0 -wallFuel = scalar, F32, 1608, "", 1, 0 -; total TS size = 1612 -idleState = bits, S32, 1612, [0:2], "not important" -currentIdlePosition = scalar, F32, 1616 -baseIdlePosition = scalar, F32, 1620 -idleClosedLoop = scalar, F32, 1624 -iacByTpsTaper = scalar, F32, 1628 -mightResetPid = bits, U32, 1632, [0:0] -shouldResetPid = bits, U32, 1632, [1:1] -wasResetPid = bits, U32, 1632, [2:2] -mustResetPid = bits, U32, 1632, [3:3] -isCranking = bits, U32, 1632, [4:4] -isIacTableForCoasting = bits, U32, 1632, [5:5] -notIdling = bits, U32, 1632, [6:6] -needReset = bits, U32, 1632, [7:7] -isInDeadZone = bits, U32, 1632, [8:8] -isBlipping = bits, U32, 1632, [9:9] -useClosedLoop = bits, U32, 1632, [10:10] -badTps = bits, U32, 1632, [11:11] -looksLikeRunning = bits, U32, 1632, [12:12] -looksLikeCoasting = bits, U32, 1632, [13:13] -looksLikeCrankToIdle = bits, U32, 1632, [14:14] -isIdleCoasting = bits, U32, 1632, [15:15] -isIdleClosedLoop = bits, U32, 1632, [16:16] -idleTarget = scalar, S32, 1636, "", 1, 0 -targetRpmByClt = scalar, S32, 1640, "", 1, 0 -targetRpmAc = scalar, S32, 1644, "", 1, 0 -iacByRpmTaper = scalar, F32, 1648 -luaAdd = scalar, F32, 1652 -; total TS size = 1656 -etb1targetWithIdlePosition = scalar, F32, 1656, "%", 1,0 -etb1trim = scalar, F32, 1660, "", 1, 0 -etb1luaAdjustment = scalar, F32, 1664, "%", 1,0 -etb1m_wastegatePosition = scalar, F32, 1668, "%", 1,0 -etb1etbFeedForward = scalar, F32, 1672 -etb1etbIntegralError = scalar, F32, 1676, "", 1, 0 -etb1etbCurrentTarget = scalar, F32, 1680, "%", 1, 0 -etb1m_adjustedTarget = scalar, S16, 1684, "%", 0.01, 0 -etb1etbRevLimitActive = bits, U32, 1688, [0:0] -etb1jamDetected = bits, U32, 1688, [1:1] -etb1validPlantPosition = bits, U32, 1688, [2:2] -etb1etbTpsErrorCounter = scalar, U16, 1692, "count", 1,0 -etb1etbPpsErrorCounter = scalar, U16, 1694, "count", 1,0 -etb1etbErrorCode = scalar, S08, 1696, "", 1, 0 -etb1etbErrorCodeBlinker = scalar, S08, 1697, "", 1, 0 -etb1tcEtbDrop = scalar, S08, 1698, "%", 1, 0 -etb1jamTimer = scalar, U16, 1700, "sec", 0.01, 0 -etb1adjustedEtbTarget = scalar, S08, 1702, "%", 1, 0 -etb1state = scalar, U08, 1703, "", 1, 0 -; total TS size = 1704 -etb2targetWithIdlePosition = scalar, F32, 1704, "%", 1,0 -etb2trim = scalar, F32, 1708, "", 1, 0 -etb2luaAdjustment = scalar, F32, 1712, "%", 1,0 -etb2m_wastegatePosition = scalar, F32, 1716, "%", 1,0 -etb2etbFeedForward = scalar, F32, 1720 -etb2etbIntegralError = scalar, F32, 1724, "", 1, 0 -etb2etbCurrentTarget = scalar, F32, 1728, "%", 1, 0 -etb2m_adjustedTarget = scalar, S16, 1732, "%", 0.01, 0 -etb2etbRevLimitActive = bits, U32, 1736, [0:0] -etb2jamDetected = bits, U32, 1736, [1:1] -etb2validPlantPosition = bits, U32, 1736, [2:2] -etb2etbTpsErrorCounter = scalar, U16, 1740, "count", 1,0 -etb2etbPpsErrorCounter = scalar, U16, 1742, "count", 1,0 -etb2etbErrorCode = scalar, S08, 1744, "", 1, 0 -etb2etbErrorCodeBlinker = scalar, S08, 1745, "", 1, 0 -etb2tcEtbDrop = scalar, S08, 1746, "%", 1, 0 -etb2jamTimer = scalar, U16, 1748, "sec", 0.01, 0 -etb2adjustedEtbTarget = scalar, S08, 1750, "%", 1, 0 -etb2state = scalar, U08, 1751, "", 1, 0 -; total TS size = 1752 -wb1faultCode = scalar, U08, 1752, "", 1, 0 -wb1heaterDuty = scalar, U08, 1753, "%", 1, 0 -wb1pumpDuty = scalar, U08, 1754, "%", 1, 0 -wb1tempC = scalar, U16, 1756, "C", 1, 0 -wb1nernstVoltage = scalar, U16, 1758, "V", 0.001, 0 -wb1esr = scalar, U16, 1760, "ohm", 1, 0 -; total TS size = 1764 -wb2faultCode = scalar, U08, 1764, "", 1, 0 -wb2heaterDuty = scalar, U08, 1765, "%", 1, 0 -wb2pumpDuty = scalar, U08, 1766, "%", 1, 0 -wb2tempC = scalar, U16, 1768, "C", 1, 0 -wb2nernstVoltage = scalar, U16, 1770, "V", 0.001, 0 -wb2esr = scalar, U16, 1772, "ohm", 1, 0 -; total TS size = 1776 -dcOutput0 = scalar, F32, 1776, "%", 1,0 -isEnabled0_int = scalar, U08, 1780, "%", 1,0 -isEnabled0 = bits, U32, 1784, [0:0] -; total TS size = 1788 -value0 = scalar, U16, 1788, "RAW", 1,0 -value1 = scalar, U16, 1790, "RAW", 1,0 -errorRate = scalar, F32, 1792, "% (don't belive me)", 1,0 -; total TS size = 1796 -vvtTarget = scalar, U16, 1796, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1798, "%", 0.5, 0 +isBenchTest = bits, U32, 1228, [0:0] +hasIgnitionVoltage = bits, U32, 1228, [1:1] +mainRelayState = bits, U32, 1228, [2:2] +delayedShutoffRequested = bits, U32, 1228, [3:3] +; total TS size = 1232 +lua_fuelAdd = scalar, F32, 1232, "g", 1, 0 +lua_fuelMult = scalar, F32, 1236, "", 1, 0 +lua_clutchUpState = bits, U32, 1240, [0:0] +lua_brakePedalState = bits, U32, 1240, [1:1] +lua_acRequestState = bits, U32, 1240, [2:2] +lua_luaDisableEtb = bits, U32, 1240, [3:3] +lua_luaIgnCut = bits, U32, 1240, [4:4] +lua_luaFuelCut = bits, U32, 1240, [5:5] +lua_clutchDownState = bits, U32, 1240, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1240, [7:7] +lua_torqueReductionState = bits, U32, 1240, [8:8] +sd_tCharge = scalar, S16, 1244, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1248, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1252, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1256, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1260, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1264, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1268, "", 1, 0 +hellenBoardId = scalar, S16, 1272, "id", 1, 0 +clutchUpState = scalar, S08, 1274, "", 1, 0 +brakePedalState = scalar, S08, 1275, "", 1, 0 +startStopState = scalar, S08, 1276, "", 1, 0 +smartChipState = scalar, S08, 1277, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1278, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1279, "", 1, 0 +startStopPhysicalState = bits, U32, 1280, [0:0] +acrActive = bits, U32, 1280, [1:1] +acrEngineMovedRecently = bits, U32, 1280, [2:2] +heaterControlEnabled = bits, U32, 1280, [3:3] +luaDigitalState0 = bits, U32, 1280, [4:4] +luaDigitalState1 = bits, U32, 1280, [5:5] +luaDigitalState2 = bits, U32, 1280, [6:6] +luaDigitalState3 = bits, U32, 1280, [7:7] +clutchDownState = bits, U32, 1280, [8:8] +startStopStateToggleCounter = scalar, U32, 1284, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1288, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1292, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1296, "", 1, 0 +fuelInjectionCounter = scalar, U32, 1300, "", 1, 0 +globalSparkCounter = scalar, U32, 1304, "", 1, 0 +fuelingLoad = scalar, F32, 1308, "", 1, 0 +ignitionLoad = scalar, F32, 1312, "", 1, 0 +veTableYAxis = scalar, U16, 1316, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1318, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1319, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1320, "", 1, 0 +; total TS size = 1324 +tpsFrom = scalar, F32, 1324 +tpsTo = scalar, F32, 1328 +deltaTps = scalar, F32, 1332 +extraFuel = scalar, F32, 1336, "", 1, 0 +valueFromTable = scalar, F32, 1340, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1344, [0:0] +isBelowDecelThreshold = bits, U32, 1344, [1:1] +isTimeToResetAccumulator = bits, U32, 1344, [2:2] +isFractionalEnrichment = bits, U32, 1344, [3:3] +belowEpsilon = bits, U32, 1344, [4:4] +tooShort = bits, U32, 1344, [5:5] +fractionalInjFuel = scalar, F32, 1348, "", 1, 0 +accumulatedValue = scalar, F32, 1352, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1356, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1360, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1364, "", 1, 0 +cycleCnt = scalar, S32, 1368, "", 1, 0 +; total TS size = 1372 +hwEventCounters1 = scalar, U16, 1372, "", 1, 0 +hwEventCounters2 = scalar, U16, 1374, "", 1, 0 +hwEventCounters3 = scalar, U16, 1376, "", 1, 0 +hwEventCounters4 = scalar, U16, 1378, "", 1, 0 +vvtCamCounter = scalar, U16, 1380, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1384, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1388, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1392, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1393, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1396, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1400, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1404, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1408, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1412, [0:0] +triggerElapsedUs = scalar, U32, 1416, "", 1, 0 +; total TS size = 1420 +trgsynchronizationCounter = scalar, U32, 1420, "", 1, 0 +trgvvtToothDurations0 = scalar, U32, 1424, "us", 1, 0 +trgvvtCurrentPosition = scalar, F32, 1428, "", 1, 0 +trgvvtToothPosition1 = scalar, F32, 1432, "", 1, 0 +trgvvtToothPosition2 = scalar, F32, 1436, "", 1, 0 +trgvvtToothPosition3 = scalar, F32, 1440, "", 1, 0 +trgvvtToothPosition4 = scalar, F32, 1444, "", 1, 0 +trgtriggerSyncGapRatio = scalar, F32, 1448, "", 1, 0 +trgtriggerStateIndex = scalar, U08, 1452, "", 1, 0 +; total TS size = 1456 +vvt1isynchronizationCounter = scalar, U32, 1456, "", 1, 0 +vvt1ivvtToothDurations0 = scalar, U32, 1460, "us", 1, 0 +vvt1ivvtCurrentPosition = scalar, F32, 1464, "", 1, 0 +vvt1ivvtToothPosition1 = scalar, F32, 1468, "", 1, 0 +vvt1ivvtToothPosition2 = scalar, F32, 1472, "", 1, 0 +vvt1ivvtToothPosition3 = scalar, F32, 1476, "", 1, 0 +vvt1ivvtToothPosition4 = scalar, F32, 1480, "", 1, 0 +vvt1itriggerSyncGapRatio = scalar, F32, 1484, "", 1, 0 +vvt1itriggerStateIndex = scalar, U08, 1488, "", 1, 0 +; total TS size = 1492 +vvt1esynchronizationCounter = scalar, U32, 1492, "", 1, 0 +vvt1evvtToothDurations0 = scalar, U32, 1496, "us", 1, 0 +vvt1evvtCurrentPosition = scalar, F32, 1500, "", 1, 0 +vvt1evvtToothPosition1 = scalar, F32, 1504, "", 1, 0 +vvt1evvtToothPosition2 = scalar, F32, 1508, "", 1, 0 +vvt1evvtToothPosition3 = scalar, F32, 1512, "", 1, 0 +vvt1evvtToothPosition4 = scalar, F32, 1516, "", 1, 0 +vvt1etriggerSyncGapRatio = scalar, F32, 1520, "", 1, 0 +vvt1etriggerStateIndex = scalar, U08, 1524, "", 1, 0 +; total TS size = 1528 +vvt2isynchronizationCounter = scalar, U32, 1528, "", 1, 0 +vvt2ivvtToothDurations0 = scalar, U32, 1532, "us", 1, 0 +vvt2ivvtCurrentPosition = scalar, F32, 1536, "", 1, 0 +vvt2ivvtToothPosition1 = scalar, F32, 1540, "", 1, 0 +vvt2ivvtToothPosition2 = scalar, F32, 1544, "", 1, 0 +vvt2ivvtToothPosition3 = scalar, F32, 1548, "", 1, 0 +vvt2ivvtToothPosition4 = scalar, F32, 1552, "", 1, 0 +vvt2itriggerSyncGapRatio = scalar, F32, 1556, "", 1, 0 +vvt2itriggerStateIndex = scalar, U08, 1560, "", 1, 0 +; total TS size = 1564 +vvt2esynchronizationCounter = scalar, U32, 1564, "", 1, 0 +vvt2evvtToothDurations0 = scalar, U32, 1568, "us", 1, 0 +vvt2evvtCurrentPosition = scalar, F32, 1572, "", 1, 0 +vvt2evvtToothPosition1 = scalar, F32, 1576, "", 1, 0 +vvt2evvtToothPosition2 = scalar, F32, 1580, "", 1, 0 +vvt2evvtToothPosition3 = scalar, F32, 1584, "", 1, 0 +vvt2evvtToothPosition4 = scalar, F32, 1588, "", 1, 0 +vvt2etriggerSyncGapRatio = scalar, F32, 1592, "", 1, 0 +vvt2etriggerStateIndex = scalar, U08, 1596, "", 1, 0 +; total TS size = 1600 +camResyncCounter = scalar, U08, 1600, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1604, [0:0] +; total TS size = 1608 +wallFuelCorrection = scalar, F32, 1608, "", 1, 0 +wallFuel = scalar, F32, 1612, "", 1, 0 +; total TS size = 1616 +idleState = bits, S32, 1616, [0:2], "not important" +currentIdlePosition = scalar, F32, 1620 +baseIdlePosition = scalar, F32, 1624 +idleClosedLoop = scalar, F32, 1628 +iacByTpsTaper = scalar, F32, 1632 +mightResetPid = bits, U32, 1636, [0:0] +shouldResetPid = bits, U32, 1636, [1:1] +wasResetPid = bits, U32, 1636, [2:2] +mustResetPid = bits, U32, 1636, [3:3] +isCranking = bits, U32, 1636, [4:4] +isIacTableForCoasting = bits, U32, 1636, [5:5] +notIdling = bits, U32, 1636, [6:6] +needReset = bits, U32, 1636, [7:7] +isInDeadZone = bits, U32, 1636, [8:8] +isBlipping = bits, U32, 1636, [9:9] +useClosedLoop = bits, U32, 1636, [10:10] +badTps = bits, U32, 1636, [11:11] +looksLikeRunning = bits, U32, 1636, [12:12] +looksLikeCoasting = bits, U32, 1636, [13:13] +looksLikeCrankToIdle = bits, U32, 1636, [14:14] +isIdleCoasting = bits, U32, 1636, [15:15] +isIdleClosedLoop = bits, U32, 1636, [16:16] +idleTarget = scalar, S32, 1640, "", 1, 0 +targetRpmByClt = scalar, S32, 1644, "", 1, 0 +targetRpmAc = scalar, S32, 1648, "", 1, 0 +iacByRpmTaper = scalar, F32, 1652 +luaAdd = scalar, F32, 1656 +; total TS size = 1660 +etb1targetWithIdlePosition = scalar, F32, 1660, "%", 1,0 +etb1trim = scalar, F32, 1664, "", 1, 0 +etb1luaAdjustment = scalar, F32, 1668, "%", 1,0 +etb1m_wastegatePosition = scalar, F32, 1672, "%", 1,0 +etb1etbFeedForward = scalar, F32, 1676 +etb1etbIntegralError = scalar, F32, 1680, "", 1, 0 +etb1etbCurrentTarget = scalar, F32, 1684, "%", 1, 0 +etb1m_adjustedTarget = scalar, S16, 1688, "%", 0.01, 0 +etb1etbRevLimitActive = bits, U32, 1692, [0:0] +etb1jamDetected = bits, U32, 1692, [1:1] +etb1validPlantPosition = bits, U32, 1692, [2:2] +etb1etbTpsErrorCounter = scalar, U16, 1696, "count", 1,0 +etb1etbPpsErrorCounter = scalar, U16, 1698, "count", 1,0 +etb1etbErrorCode = scalar, S08, 1700, "", 1, 0 +etb1etbErrorCodeBlinker = scalar, S08, 1701, "", 1, 0 +etb1tcEtbDrop = scalar, S08, 1702, "%", 1, 0 +etb1jamTimer = scalar, U16, 1704, "sec", 0.01, 0 +etb1adjustedEtbTarget = scalar, S08, 1706, "%", 1, 0 +etb1state = scalar, U08, 1707, "", 1, 0 +; total TS size = 1708 +etb2targetWithIdlePosition = scalar, F32, 1708, "%", 1,0 +etb2trim = scalar, F32, 1712, "", 1, 0 +etb2luaAdjustment = scalar, F32, 1716, "%", 1,0 +etb2m_wastegatePosition = scalar, F32, 1720, "%", 1,0 +etb2etbFeedForward = scalar, F32, 1724 +etb2etbIntegralError = scalar, F32, 1728, "", 1, 0 +etb2etbCurrentTarget = scalar, F32, 1732, "%", 1, 0 +etb2m_adjustedTarget = scalar, S16, 1736, "%", 0.01, 0 +etb2etbRevLimitActive = bits, U32, 1740, [0:0] +etb2jamDetected = bits, U32, 1740, [1:1] +etb2validPlantPosition = bits, U32, 1740, [2:2] +etb2etbTpsErrorCounter = scalar, U16, 1744, "count", 1,0 +etb2etbPpsErrorCounter = scalar, U16, 1746, "count", 1,0 +etb2etbErrorCode = scalar, S08, 1748, "", 1, 0 +etb2etbErrorCodeBlinker = scalar, S08, 1749, "", 1, 0 +etb2tcEtbDrop = scalar, S08, 1750, "%", 1, 0 +etb2jamTimer = scalar, U16, 1752, "sec", 0.01, 0 +etb2adjustedEtbTarget = scalar, S08, 1754, "%", 1, 0 +etb2state = scalar, U08, 1755, "", 1, 0 +; total TS size = 1756 +wb1faultCode = scalar, U08, 1756, "", 1, 0 +wb1heaterDuty = scalar, U08, 1757, "%", 1, 0 +wb1pumpDuty = scalar, U08, 1758, "%", 1, 0 +wb1tempC = scalar, U16, 1760, "C", 1, 0 +wb1nernstVoltage = scalar, U16, 1762, "V", 0.001, 0 +wb1esr = scalar, U16, 1764, "ohm", 1, 0 +; total TS size = 1768 +wb2faultCode = scalar, U08, 1768, "", 1, 0 +wb2heaterDuty = scalar, U08, 1769, "%", 1, 0 +wb2pumpDuty = scalar, U08, 1770, "%", 1, 0 +wb2tempC = scalar, U16, 1772, "C", 1, 0 +wb2nernstVoltage = scalar, U16, 1774, "V", 0.001, 0 +wb2esr = scalar, U16, 1776, "ohm", 1, 0 +; total TS size = 1780 +dcOutput0 = scalar, F32, 1780, "%", 1,0 +isEnabled0_int = scalar, U08, 1784, "%", 1,0 +isEnabled0 = bits, U32, 1788, [0:0] +; total TS size = 1792 +value0 = scalar, U16, 1792, "RAW", 1,0 +value1 = scalar, U16, 1794, "RAW", 1,0 +errorRate = scalar, F32, 1796, "% (don't belive me)", 1,0 ; total TS size = 1800 -lambdaCurrentlyGood = bits, U32, 1800, [0:0] -lambdaMonitorCut = bits, U32, 1800, [1:1] -lambdaTimeSinceGood = scalar, U16, 1804, "sec", 0.01, 0 -; total TS size = 1808 +vvtTarget = scalar, U16, 1800, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1802, "%", 0.5, 0 +; total TS size = 1804 +lambdaCurrentlyGood = bits, U32, 1804, [0:0] +lambdaMonitorCut = bits, U32, 1804, [1:1] +lambdaTimeSinceGood = scalar, U16, 1808, "sec", 0.01, 0 +; total TS size = 1812 time = { timeNow } @@ -4584,6 +4587,12 @@ curve = rangeMatrix, "Range Switch Input Matrix" gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. upDownLabel = "(RICHER)", "(LEANER)" + table = trailingSparkTable, trailingSparkMap, "Trailing spark", 1 + xyLabels = "RPM", "Ignition Load" + xBins = trailingSparkRpmBins, RPMValue + yBins = trailingSparkLoadBins, ignitionLoad + zBins = trailingSparkTable + table = torqueTableTbl, torqueTableMap, "Engine Torque", 1 xBins = torqueRpmBins, RPMValue yBins = torqueLoadBins, veTableYAxis @@ -4881,6 +4890,7 @@ timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20 timingPidCorrectionGauge = timingPidCorrection,"Idle: Timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 +trailingSparkAngleGauge = trailingSparkAngle,"Ign: Trailing spark deg", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 gaugeCategory = "Boost Control" luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 @@ -5811,6 +5821,7 @@ entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" entry = luaIgnitionSkip, "Ign: Lua Spark Skip", int, "%d" +entry = trailingSparkAngle, "Ign: Trailing spark deg", float, "%.3f" entry = m_knockLevel, "Knock: Current level", float, "%.3f" entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" @@ -6759,6 +6770,7 @@ dialog = ignition_stateDialog, "ignition_state" graphLine = luaTimingAdd liveGraph = ignition_state_4_Graph, "Graph", South graphLine = luaTimingMult + graphLine = trailingSparkAngle dialog = knock_controllerDialog, "knock_controller" @@ -10095,11 +10107,11 @@ dialog = tcuControls, "Transmission Settings" dialog = rotaryDialog, "Rotary" field = "Enable Trailing Sparks", enableTrailingSparks - field = "Trailing Spark Offset", trailingSparkAngle field = "Trailing Pin 1", trailingCoilPins1 field = "Trailing Pin 2", trailingCoilPins2 field = "Trailing Pin 3", trailingCoilPins3 field = "Trailing Pin 4", trailingCoilPins4 + panel = trailingSparkTable diff --git a/firmware/tunerstudio/generated/rusefi_hellen-honda-k.ini b/firmware/tunerstudio/generated/rusefi_hellen-honda-k.ini index 3e5f313b56..1c82f10a5d 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.2025.02.07.hellen-honda-k.113088480" + signature = "rusEFI master.2025.02.07.hellen-honda-k.2168330381" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2025.02.07.hellen-honda-k.113088480" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2025.02.07.hellen-honda-k.2168330381" ; signature is expected to be 7 or more characters. useLegacyFTempUnits = false ignoreMissingBitOptions = true @@ -50,7 +50,7 @@ enable2ndByteCanID = false #define adc_channel_e_list="NONE","INVALID","INVALID","INVALID","INVALID","A15 TPS","E9 Ignition Key Voltage","INVALID","Aux Analog 3","Aux Analog 1","INVALID","A19 - MAP","INVALID","B8 - CLT","B17 IAT","Aux Analog 2" ; CONFIG_DEFINITION_START -pageSize = 23768 +pageSize = 23792 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",22="BMW_M52",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",21="ET_BOSCH_QUICK_START",24="ET_TEST_WITH_BOSCH_QUICK_START",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",41="FRANKENSO_MIATA_NA6_MAP",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",47="GM_LCV",55="GM_LTG",98="GM_SBC",49="GM_SBC_GEN5",8="GY6_139QMB",6="HARLEY",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",34="MAZDA_MIATA_NA6",80="MAZDA_MIATA_NA94",10="MAZDA_MIATA_NA96",83="MAZDA_MIATA_NB1",69="MAZDA_MIATA_NB2",86="MAZDA_MIATA_NB2_36",20="MAZDA_MIATA_NC",33="ME17_9_MISC",68="MERCEDES_M111",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",4="MRE_SECONDARY_CAN",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",35="POLARIS",9="POLARIS_RZR",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",27="PROTEUS_GM_LS_4",25="PROTEUS_LUA_DEMO",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",17="TCU_4R70W",100="TEST_100",101="TEST_101",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",93="TEST_ISSUE_6451",19="TEST_ROTARY",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",102="UNUSED102",67="UNUSED67",94="UNUSED94",65="UNUSED_65",97="UNUSED_97",77="VAG_5_CYL",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -194,7 +194,7 @@ vbattAdcChannel = bits, U08, 513, [0:5], $adc_channel_e_list fuelLevelSensor = bits, U08, 514, [0:5], $adc_channel_e_list tps2_1AdcChannel = bits, U08, 515, [0:5], $adc_channel_e_list idle_derivativeFilterLoss = scalar, F32, 516, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 520, "angle", 1, 0, 0, 720, 0 +unusedTrailingSparkAngle = scalar, S32, 520, "", 1, 0, 0, 100, 0 trigger_type = bits, U32, 524, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Daihatsu 3 cylinder", "Mazda SOHC 4", "60-2", "36-1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "Dodge Ram 1+16", "60-2 Wrong Polarity", "Benelli Tre", "Dodge Stratus", "36_2_2_2", "Nissan Primera", "dev 2JZ 3/34 simulator", "Rover K", "GM 24x 5 degree", "Honda CBR 600 Cam", "INVALID", "Honda CBR 600 custom", "3-1 skipped", "Dodge Neon 2003 crank", "Miata NB", "INVALID", "INVALID", "Subaru 7+6", "Jeep 18-2-2-2", "12crank/24cam", "Dodge Neon 1995 crank only", "Jeep XJ 4 cyl", "FiatIAQ_P8", "Mazda Z5", "INVALID", "Renix 44-2-2", "Renix 66-2-2-2", "Honda K 12+1", "INVALID", "36-2", "Subaru SVX", "Suzuki K6A", "Subaru 7 without 6", "INVALID", "INVALID", "GM 60-2-2-2", "Skoda Favorit", "Barra 3+1 Cam", "Kawa KX450F", "Nissan VQ35", "INVALID", "Nissan VQ30", "Nissan QR25", "INVALID", "Subaru SVX Crank 1", "Subaru SVX Cam VVT", "Ford PIP", "Suzuki G13B", "Honda K 4+1", "Nissan MR18 Crank", "32-2", "36-2-1", "36-2-1-1", "3-0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6-0", "Daihatsu 4 cylinder", "INVALID", "dev", "Nissan HR", "Arctic Cat", "HR12 in", "HONDA J30A2", "trg88", "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" trigger_customTotalToothCount = scalar, S32, 528, "number", 1, 0, 1, 300, 0 trigger_customSkippedToothCount = scalar, S32, 532, "number", 1, 0, 0, 300, 0 @@ -1745,9 +1745,12 @@ dynoCarCarMassKg = scalar, S16, 23716, "", 1, 0, 0, 32000, 0 dynoCarCargoMassKg = scalar, S16, 23718, "", 1, 0, 0, 32000, 0 dynoCarCoeffOfDrag = scalar, F32, 23720, "", 1, 0, 0, 100, 0 dynoCarFrontalAreaM2 = scalar, F32, 23724, "", 1, 0, 0, 100, 0 -hondaKcltGaugeAdder = scalar, U08, 23728, "", 1, 0, 0, 100, 0 -unusedConfigPadding = array, U08, 23729, [36], "", 1, 0, 0, 100, 0 -; total TS size = 23768 +trailingSparkTable = array, S08, 23728, [4x4], "deg", 0.1, 0, 0, 20, 1 +trailingSparkRpmBins = array, U08, 23744, [4], "rpm", 50.0, 0, 0, 12000, 0 +trailingSparkLoadBins = array, U08, 23748, [4], "Load", 5.0, 0, 0, 1000, 0 +hondaKcltGaugeAdder = scalar, U08, 23752, "", 1, 0, 0, 100, 0 +unusedConfigPadding = array, U08, 23753, [36], "", 1, 0, 0, 100, 0 +; total TS size = 23792 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1841,7 +1844,6 @@ unusedConfigPadding = array, U08, 23729, [36], "", 1, 0, 0, 100, 0 fuelLevelSensor = "This is the processor pin that your fuel level sensor in connected to. This is a non standard input so will need to be user defined." tps2_1AdcChannel = "Second throttle body position sensor, single channel so far" idle_derivativeFilterLoss = "0.1 is a good default value" - trailingSparkAngle = "just a temporary solution" trigger_type = "https://github.com/rusefi/rusefi/wiki/All-Supported-Triggers" airByRpmTaper = "Extra air taper amount" boostControlSafeDutyCycle = "Duty cycle to use in case of a sensor failure. This duty cycle should produce the minimum possible amount of boost. This duty is also used in case any of the minimum RPM/TPS/MAP conditions are not met." @@ -2605,7 +2607,7 @@ unusedConfigPadding = array, U08, 23729, [36], "", 1, 0, 0, 100, 0 ochGetCommand = "O%2o%2c" - ochBlockSize = 1808 + ochBlockSize = 1812 scatteredOchGetCommand = 9 scatteredOffsetArray = highSpeedOffsets @@ -3122,417 +3124,418 @@ dwellVoltageCorrection = scalar, F32, 940, "", 1, 0 luaTimingAdd = scalar, F32, 944, "deg", 1, 0 luaTimingMult = scalar, F32, 948, "deg", 1, 0 luaIgnitionSkip = bits, U32, 952, [0:0] -; total TS size = 956 -m_knockLevel = scalar, F32, 956, "Volts", 1, 0 -m_knockCyl1 = scalar, S08, 960, "dBv", 1, 0 -m_knockCyl2 = scalar, S08, 961, "dBv", 1, 0 -m_knockCyl3 = scalar, S08, 962, "dBv", 1, 0 -m_knockCyl4 = scalar, S08, 963, "dBv", 1, 0 -m_knockCyl5 = scalar, S08, 964, "dBv", 1, 0 -m_knockCyl6 = scalar, S08, 965, "dBv", 1, 0 -m_knockCyl7 = scalar, S08, 966, "dBv", 1, 0 -m_knockCyl8 = scalar, S08, 967, "dBv", 1, 0 -m_knockCyl9 = scalar, S08, 968, "dBv", 1, 0 -m_knockCyl10 = scalar, S08, 969, "dBv", 1, 0 -m_knockCyl11 = scalar, S08, 970, "dBv", 1, 0 -m_knockCyl12 = scalar, S08, 971, "dBv", 1, 0 -m_knockRetard = scalar, F32, 972, "deg", 1,0 -m_knockThreshold = scalar, F32, 976, "", 1, 0 -m_knockCount = scalar, U32, 980, "", 1, 0 -m_maximumRetard = scalar, F32, 984, "", 1, 0 -m_knockSpectrum1 = scalar, U32, 988, "compressed data", 1, 0 -m_knockSpectrum2 = scalar, U32, 992, "compressed data", 1, 0 -m_knockSpectrum3 = scalar, U32, 996, "compressed data", 1, 0 -m_knockSpectrum4 = scalar, U32, 1000, "compressed data", 1, 0 -m_knockSpectrum5 = scalar, U32, 1004, "compressed data", 1, 0 -m_knockSpectrum6 = scalar, U32, 1008, "compressed data", 1, 0 -m_knockSpectrum7 = scalar, U32, 1012, "compressed data", 1, 0 -m_knockSpectrum8 = scalar, U32, 1016, "compressed data", 1, 0 -m_knockSpectrum9 = scalar, U32, 1020, "compressed data", 1, 0 -m_knockSpectrum10 = scalar, U32, 1024, "compressed data", 1, 0 -m_knockSpectrum11 = scalar, U32, 1028, "compressed data", 1, 0 -m_knockSpectrum12 = scalar, U32, 1032, "compressed data", 1, 0 -m_knockSpectrum13 = scalar, U32, 1036, "compressed data", 1, 0 -m_knockSpectrum14 = scalar, U32, 1040, "compressed data", 1, 0 -m_knockSpectrum15 = scalar, U32, 1044, "compressed data", 1, 0 -m_knockSpectrum16 = scalar, U32, 1048, "compressed data", 1, 0 -m_knockSpectrumChannelCyl = scalar, U16, 1052, "compressed N + N", 1, 0 -m_knockFrequencyStart = scalar, U16, 1054, "Hz", 1, 0 -m_knockFrequencyStep = scalar, F32, 1056, "Hz", 1, 0 -m_knockFuelTrimMultiplier = scalar, F32, 1060, "multiplier", 1, 0 -; total TS size = 1064 -m_isPriming = bits, U32, 1064, [0:0] +trailingSparkAngle = scalar, S16, 956, "deg", 0.01,0 +; total TS size = 960 +m_knockLevel = scalar, F32, 960, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 964, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 965, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 966, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 967, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 968, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 969, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 970, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 971, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 972, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 973, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 974, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 975, "dBv", 1, 0 +m_knockRetard = scalar, F32, 976, "deg", 1,0 +m_knockThreshold = scalar, F32, 980, "", 1, 0 +m_knockCount = scalar, U32, 984, "", 1, 0 +m_maximumRetard = scalar, F32, 988, "", 1, 0 +m_knockSpectrum1 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1040, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1044, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1048, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1052, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1056, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1058, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1060, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1064, "multiplier", 1, 0 ; total TS size = 1068 -tcuCurrentGear = scalar, S08, 1068, "gear", 1, 0 -tcRatio = scalar, U16, 1070, "value", 0.01, 0 -lastShiftTime = scalar, F32, 1072, "", 1, 0 -tcu_currentRange = scalar, U08, 1076, "", 1, 0 -pressureControlDuty = scalar, S08, 1077, "%", 1,0 -torqueConverterDuty = scalar, S08, 1078, "%", 1,0 -isShifting = bits, U32, 1080, [0:0] -; total TS size = 1084 -throttleUseWotModel = bits, U32, 1084, [0:0] -throttleModelCrossoverAngle = scalar, S16, 1088, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1092, "g/s", 1, 0 -; total TS size = 1096 -m_requested_pump = scalar, F32, 1096, "", 1, 0 -fuel_requested_percent = scalar, F32, 1100, "%", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1104, "", 1, 0 -noValve = bits, U32, 1108, [0:0] -angleAboveMin = bits, U32, 1108, [1:1] -isHpfpActive = bits, U32, 1108, [2:2] -HpfpValveState = bits, U32, 1108, [3:3] -m_pressureTarget_kPa = scalar, F32, 1112, "", 1, 0 -nextLobe = scalar, F32, 1116, "", 1, 0 -di_nextStart = scalar, F32, 1120, "v", 1, 0 -HpfdActivationPhase = scalar, F32, 1124, "", 1, 0 -HpfdDeactivationPhase = scalar, F32, 1128, "", 1, 0 -; total TS size = 1132 -m_deadtime = scalar, F32, 1132, "ms", 1, 0 -pressureDelta = scalar, F32, 1136, "kPa", 1, 0 -pressureRatio = scalar, F32, 1140, "", 1, 0 -; total TS size = 1144 -retardThresholdRpm = scalar, S32, 1144, "", 1, 0 -launchActivatePinState = bits, U32, 1148, [0:0] -isPreLaunchCondition = bits, U32, 1148, [1:1] -isLaunchCondition = bits, U32, 1148, [2:2] -isSwitchActivated = bits, U32, 1148, [3:3] -isClutchActivated = bits, U32, 1148, [4:4] -isBrakePedalActivated = bits, U32, 1148, [5:5] -isValidInputPin = bits, U32, 1148, [6:6] -activateSwitchCondition = bits, U32, 1148, [7:7] -rpmLaunchCondition = bits, U32, 1148, [8:8] -rpmPreLaunchCondition = bits, U32, 1148, [9:9] -speedCondition = bits, U32, 1148, [10:10] -tpsCondition = bits, U32, 1148, [11:11] -; total TS size = 1152 -isTorqueReductionTriggerPinValid = bits, U32, 1152, [0:0] -torqueReductionTriggerPinState = bits, U32, 1152, [1:1] -isTimeConditionSatisfied = bits, U32, 1152, [2:2] -isRpmConditionSatisfied = bits, U32, 1152, [3:3] -isAppConditionSatisfied = bits, U32, 1152, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1152, [5:5] +m_isPriming = bits, U32, 1068, [0:0] +; total TS size = 1072 +tcuCurrentGear = scalar, S08, 1072, "gear", 1, 0 +tcRatio = scalar, U16, 1074, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1076, "", 1, 0 +tcu_currentRange = scalar, U08, 1080, "", 1, 0 +pressureControlDuty = scalar, S08, 1081, "%", 1,0 +torqueConverterDuty = scalar, S08, 1082, "%", 1,0 +isShifting = bits, U32, 1084, [0:0] +; total TS size = 1088 +throttleUseWotModel = bits, U32, 1088, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1092, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1096, "g/s", 1, 0 +; total TS size = 1100 +m_requested_pump = scalar, F32, 1100, "", 1, 0 +fuel_requested_percent = scalar, F32, 1104, "%", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1108, "", 1, 0 +noValve = bits, U32, 1112, [0:0] +angleAboveMin = bits, U32, 1112, [1:1] +isHpfpActive = bits, U32, 1112, [2:2] +HpfpValveState = bits, U32, 1112, [3:3] +m_pressureTarget_kPa = scalar, F32, 1116, "", 1, 0 +nextLobe = scalar, F32, 1120, "", 1, 0 +di_nextStart = scalar, F32, 1124, "v", 1, 0 +HpfdActivationPhase = scalar, F32, 1128, "", 1, 0 +HpfdDeactivationPhase = scalar, F32, 1132, "", 1, 0 +; total TS size = 1136 +m_deadtime = scalar, F32, 1136, "ms", 1, 0 +pressureDelta = scalar, F32, 1140, "kPa", 1, 0 +pressureRatio = scalar, F32, 1144, "", 1, 0 +; total TS size = 1148 +retardThresholdRpm = scalar, S32, 1148, "", 1, 0 +launchActivatePinState = bits, U32, 1152, [0:0] +isPreLaunchCondition = bits, U32, 1152, [1:1] +isLaunchCondition = bits, U32, 1152, [2:2] +isSwitchActivated = bits, U32, 1152, [3:3] +isClutchActivated = bits, U32, 1152, [4:4] +isBrakePedalActivated = bits, U32, 1152, [5:5] +isValidInputPin = bits, U32, 1152, [6:6] +activateSwitchCondition = bits, U32, 1152, [7:7] +rpmLaunchCondition = bits, U32, 1152, [8:8] +rpmPreLaunchCondition = bits, U32, 1152, [9:9] +speedCondition = bits, U32, 1152, [10:10] +tpsCondition = bits, U32, 1152, [11:11] ; total TS size = 1156 -isAntilagCondition = bits, U32, 1156, [0:0] -ALSMinRPMCondition = bits, U32, 1156, [1:1] -ALSMaxRPMCondition = bits, U32, 1156, [2:2] -ALSMinCLTCondition = bits, U32, 1156, [3:3] -ALSMaxCLTCondition = bits, U32, 1156, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1156, [5:5] -isALSSwitchActivated = bits, U32, 1156, [6:6] -ALSActivatePinState = bits, U32, 1156, [7:7] -ALSSwitchCondition = bits, U32, 1156, [8:8] -ALSTimerCondition = bits, U32, 1156, [9:9] -fuelALSCorrection = scalar, F32, 1160, "", 1, 0 -timingALSCorrection = scalar, S16, 1164, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1166, "deg", 0.01, 0 -; total TS size = 1168 -isTpsInvalid = bits, U32, 1168, [0:0] -m_shouldResetPid = bits, U32, 1168, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1168, [2:2] -isNotClosedLoop = bits, U32, 1168, [3:3] -isZeroRpm = bits, U32, 1168, [4:4] -hasInitBoost = bits, U32, 1168, [5:5] -rpmTooLow = bits, U32, 1168, [6:6] -tpsTooLow = bits, U32, 1168, [7:7] -mapTooLow = bits, U32, 1168, [8:8] -isPlantValid = bits, U32, 1168, [9:9] -isBoostControlled = bits, U32, 1168, [10:10] -luaTargetAdd = scalar, S16, 1172, "v", 0.5,0 -boostOutput = scalar, S16, 1174, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1176, "v", 1,0 -openLoopPart = scalar, F32, 1180, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1184, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1188, "%", 0.5,0 -boostControlTarget = scalar, S16, 1190, "kPa", 0.03333333333333333,0 -; total TS size = 1192 -acButtonState = scalar, S08, 1192, "", 1, 0 -m_acEnabled = bits, U32, 1196, [0:0] -engineTooSlow = bits, U32, 1196, [1:1] -engineTooFast = bits, U32, 1196, [2:2] -noClt = bits, U32, 1196, [3:3] -engineTooHot = bits, U32, 1196, [4:4] -tpsTooHigh = bits, U32, 1196, [5:5] -isDisabledByLua = bits, U32, 1196, [6:6] -acCompressorState = bits, U32, 1196, [7:7] -acPressureTooLow = bits, U32, 1196, [8:8] -acPressureTooHigh = bits, U32, 1196, [9:9] -; total TS size = 1200 -isNitrousArmed = bits, U32, 1200, [0:0] -isNitrousSpeedCondition = bits, U32, 1200, [1:1] -isNitrousTpsCondition = bits, U32, 1200, [2:2] -isNitrousCltCondition = bits, U32, 1200, [3:3] -isNitrousMapCondition = bits, U32, 1200, [4:4] -isNitrousAfrCondition = bits, U32, 1200, [5:5] -isNitrousRpmCondition = bits, U32, 1200, [6:6] -isNitrousCondition = bits, U32, 1200, [7:7] +isTorqueReductionTriggerPinValid = bits, U32, 1156, [0:0] +torqueReductionTriggerPinState = bits, U32, 1156, [1:1] +isTimeConditionSatisfied = bits, U32, 1156, [2:2] +isRpmConditionSatisfied = bits, U32, 1156, [3:3] +isAppConditionSatisfied = bits, U32, 1156, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1156, [5:5] +; total TS size = 1160 +isAntilagCondition = bits, U32, 1160, [0:0] +ALSMinRPMCondition = bits, U32, 1160, [1:1] +ALSMaxRPMCondition = bits, U32, 1160, [2:2] +ALSMinCLTCondition = bits, U32, 1160, [3:3] +ALSMaxCLTCondition = bits, U32, 1160, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1160, [5:5] +isALSSwitchActivated = bits, U32, 1160, [6:6] +ALSActivatePinState = bits, U32, 1160, [7:7] +ALSSwitchCondition = bits, U32, 1160, [8:8] +ALSTimerCondition = bits, U32, 1160, [9:9] +fuelALSCorrection = scalar, F32, 1164, "", 1, 0 +timingALSCorrection = scalar, S16, 1168, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1170, "deg", 0.01, 0 +; total TS size = 1172 +isTpsInvalid = bits, U32, 1172, [0:0] +m_shouldResetPid = bits, U32, 1172, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1172, [2:2] +isNotClosedLoop = bits, U32, 1172, [3:3] +isZeroRpm = bits, U32, 1172, [4:4] +hasInitBoost = bits, U32, 1172, [5:5] +rpmTooLow = bits, U32, 1172, [6:6] +tpsTooLow = bits, U32, 1172, [7:7] +mapTooLow = bits, U32, 1172, [8:8] +isPlantValid = bits, U32, 1172, [9:9] +isBoostControlled = bits, U32, 1172, [10:10] +luaTargetAdd = scalar, S16, 1176, "v", 0.5,0 +boostOutput = scalar, S16, 1178, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1180, "v", 1,0 +openLoopPart = scalar, F32, 1184, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1188, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1192, "%", 0.5,0 +boostControlTarget = scalar, S16, 1194, "kPa", 0.03333333333333333,0 +; total TS size = 1196 +acButtonState = scalar, S08, 1196, "", 1, 0 +m_acEnabled = bits, U32, 1200, [0:0] +engineTooSlow = bits, U32, 1200, [1:1] +engineTooFast = bits, U32, 1200, [2:2] +noClt = bits, U32, 1200, [3:3] +engineTooHot = bits, U32, 1200, [4:4] +tpsTooHigh = bits, U32, 1200, [5:5] +isDisabledByLua = bits, U32, 1200, [6:6] +acCompressorState = bits, U32, 1200, [7:7] +acPressureTooLow = bits, U32, 1200, [8:8] +acPressureTooHigh = bits, U32, 1200, [9:9] ; total TS size = 1204 -fan1cranking = bits, U32, 1204, [0:0] -fan1notRunning = bits, U32, 1204, [1:1] -fan1disabledWhileEngineStopped = bits, U32, 1204, [2:2] -fan1brokenClt = bits, U32, 1204, [3:3] -fan1enabledForAc = bits, U32, 1204, [4:4] -fan1hot = bits, U32, 1204, [5:5] -fan1cold = bits, U32, 1204, [6:6] -fan1disabledBySpeed = bits, U32, 1204, [7:7] -fan1m_state = bits, U32, 1204, [8:8] -fan1radiatorFanStatus = scalar, U08, 1208, "", 1, 0 -; total TS size = 1212 -fan2cranking = bits, U32, 1212, [0:0] -fan2notRunning = bits, U32, 1212, [1:1] -fan2disabledWhileEngineStopped = bits, U32, 1212, [2:2] -fan2brokenClt = bits, U32, 1212, [3:3] -fan2enabledForAc = bits, U32, 1212, [4:4] -fan2hot = bits, U32, 1212, [5:5] -fan2cold = bits, U32, 1212, [6:6] -fan2disabledBySpeed = bits, U32, 1212, [7:7] -fan2m_state = bits, U32, 1212, [8:8] -fan2radiatorFanStatus = scalar, U08, 1216, "", 1, 0 -; total TS size = 1220 -isPrime = bits, U32, 1220, [0:0] -engineTurnedRecently = bits, U32, 1220, [1:1] -isFuelPumpOn = bits, U32, 1220, [2:2] -ignitionOn = bits, U32, 1220, [3:3] +isNitrousArmed = bits, U32, 1204, [0:0] +isNitrousSpeedCondition = bits, U32, 1204, [1:1] +isNitrousTpsCondition = bits, U32, 1204, [2:2] +isNitrousCltCondition = bits, U32, 1204, [3:3] +isNitrousMapCondition = bits, U32, 1204, [4:4] +isNitrousAfrCondition = bits, U32, 1204, [5:5] +isNitrousRpmCondition = bits, U32, 1204, [6:6] +isNitrousCondition = bits, U32, 1204, [7:7] +; total TS size = 1208 +fan1cranking = bits, U32, 1208, [0:0] +fan1notRunning = bits, U32, 1208, [1:1] +fan1disabledWhileEngineStopped = bits, U32, 1208, [2:2] +fan1brokenClt = bits, U32, 1208, [3:3] +fan1enabledForAc = bits, U32, 1208, [4:4] +fan1hot = bits, U32, 1208, [5:5] +fan1cold = bits, U32, 1208, [6:6] +fan1disabledBySpeed = bits, U32, 1208, [7:7] +fan1m_state = bits, U32, 1208, [8:8] +fan1radiatorFanStatus = scalar, U08, 1212, "", 1, 0 +; total TS size = 1216 +fan2cranking = bits, U32, 1216, [0:0] +fan2notRunning = bits, U32, 1216, [1:1] +fan2disabledWhileEngineStopped = bits, U32, 1216, [2:2] +fan2brokenClt = bits, U32, 1216, [3:3] +fan2enabledForAc = bits, U32, 1216, [4:4] +fan2hot = bits, U32, 1216, [5:5] +fan2cold = bits, U32, 1216, [6:6] +fan2disabledBySpeed = bits, U32, 1216, [7:7] +fan2m_state = bits, U32, 1216, [8:8] +fan2radiatorFanStatus = scalar, U08, 1220, "", 1, 0 ; total TS size = 1224 -isBenchTest = bits, U32, 1224, [0:0] -hasIgnitionVoltage = bits, U32, 1224, [1:1] -mainRelayState = bits, U32, 1224, [2:2] -delayedShutoffRequested = bits, U32, 1224, [3:3] +isPrime = bits, U32, 1224, [0:0] +engineTurnedRecently = bits, U32, 1224, [1:1] +isFuelPumpOn = bits, U32, 1224, [2:2] +ignitionOn = bits, U32, 1224, [3:3] ; total TS size = 1228 -lua_fuelAdd = scalar, F32, 1228, "g", 1, 0 -lua_fuelMult = scalar, F32, 1232, "", 1, 0 -lua_clutchUpState = bits, U32, 1236, [0:0] -lua_brakePedalState = bits, U32, 1236, [1:1] -lua_acRequestState = bits, U32, 1236, [2:2] -lua_luaDisableEtb = bits, U32, 1236, [3:3] -lua_luaIgnCut = bits, U32, 1236, [4:4] -lua_luaFuelCut = bits, U32, 1236, [5:5] -lua_clutchDownState = bits, U32, 1236, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1236, [7:7] -lua_torqueReductionState = bits, U32, 1236, [8:8] -sd_tCharge = scalar, S16, 1240, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1244, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1248, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1252, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1256, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1260, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1264, "", 1, 0 -hellenBoardId = scalar, S16, 1268, "id", 1, 0 -clutchUpState = scalar, S08, 1270, "", 1, 0 -brakePedalState = scalar, S08, 1271, "", 1, 0 -startStopState = scalar, S08, 1272, "", 1, 0 -smartChipState = scalar, S08, 1273, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1274, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1275, "", 1, 0 -startStopPhysicalState = bits, U32, 1276, [0:0] -acrActive = bits, U32, 1276, [1:1] -acrEngineMovedRecently = bits, U32, 1276, [2:2] -heaterControlEnabled = bits, U32, 1276, [3:3] -luaDigitalState0 = bits, U32, 1276, [4:4] -luaDigitalState1 = bits, U32, 1276, [5:5] -luaDigitalState2 = bits, U32, 1276, [6:6] -luaDigitalState3 = bits, U32, 1276, [7:7] -clutchDownState = bits, U32, 1276, [8:8] -startStopStateToggleCounter = scalar, U32, 1280, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1284, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1288, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1292, "", 1, 0 -fuelInjectionCounter = scalar, U32, 1296, "", 1, 0 -globalSparkCounter = scalar, U32, 1300, "", 1, 0 -fuelingLoad = scalar, F32, 1304, "", 1, 0 -ignitionLoad = scalar, F32, 1308, "", 1, 0 -veTableYAxis = scalar, U16, 1312, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1314, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1315, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1316, "", 1, 0 -; total TS size = 1320 -tpsFrom = scalar, F32, 1320 -tpsTo = scalar, F32, 1324 -deltaTps = scalar, F32, 1328 -extraFuel = scalar, F32, 1332, "", 1, 0 -valueFromTable = scalar, F32, 1336, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1340, [0:0] -isBelowDecelThreshold = bits, U32, 1340, [1:1] -isTimeToResetAccumulator = bits, U32, 1340, [2:2] -isFractionalEnrichment = bits, U32, 1340, [3:3] -belowEpsilon = bits, U32, 1340, [4:4] -tooShort = bits, U32, 1340, [5:5] -fractionalInjFuel = scalar, F32, 1344, "", 1, 0 -accumulatedValue = scalar, F32, 1348, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1352, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1356, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1360, "", 1, 0 -cycleCnt = scalar, S32, 1364, "", 1, 0 -; total TS size = 1368 -hwEventCounters1 = scalar, U16, 1368, "", 1, 0 -hwEventCounters2 = scalar, U16, 1370, "", 1, 0 -hwEventCounters3 = scalar, U16, 1372, "", 1, 0 -hwEventCounters4 = scalar, U16, 1374, "", 1, 0 -vvtCamCounter = scalar, U16, 1376, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1380, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1384, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1388, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1389, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1392, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1396, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1400, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1404, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1408, [0:0] -triggerElapsedUs = scalar, U32, 1412, "", 1, 0 -; total TS size = 1416 -trgsynchronizationCounter = scalar, U32, 1416, "", 1, 0 -trgvvtToothDurations0 = scalar, U32, 1420, "us", 1, 0 -trgvvtCurrentPosition = scalar, F32, 1424, "", 1, 0 -trgvvtToothPosition1 = scalar, F32, 1428, "", 1, 0 -trgvvtToothPosition2 = scalar, F32, 1432, "", 1, 0 -trgvvtToothPosition3 = scalar, F32, 1436, "", 1, 0 -trgvvtToothPosition4 = scalar, F32, 1440, "", 1, 0 -trgtriggerSyncGapRatio = scalar, F32, 1444, "", 1, 0 -trgtriggerStateIndex = scalar, U08, 1448, "", 1, 0 -; total TS size = 1452 -vvt1isynchronizationCounter = scalar, U32, 1452, "", 1, 0 -vvt1ivvtToothDurations0 = scalar, U32, 1456, "us", 1, 0 -vvt1ivvtCurrentPosition = scalar, F32, 1460, "", 1, 0 -vvt1ivvtToothPosition1 = scalar, F32, 1464, "", 1, 0 -vvt1ivvtToothPosition2 = scalar, F32, 1468, "", 1, 0 -vvt1ivvtToothPosition3 = scalar, F32, 1472, "", 1, 0 -vvt1ivvtToothPosition4 = scalar, F32, 1476, "", 1, 0 -vvt1itriggerSyncGapRatio = scalar, F32, 1480, "", 1, 0 -vvt1itriggerStateIndex = scalar, U08, 1484, "", 1, 0 -; total TS size = 1488 -vvt1esynchronizationCounter = scalar, U32, 1488, "", 1, 0 -vvt1evvtToothDurations0 = scalar, U32, 1492, "us", 1, 0 -vvt1evvtCurrentPosition = scalar, F32, 1496, "", 1, 0 -vvt1evvtToothPosition1 = scalar, F32, 1500, "", 1, 0 -vvt1evvtToothPosition2 = scalar, F32, 1504, "", 1, 0 -vvt1evvtToothPosition3 = scalar, F32, 1508, "", 1, 0 -vvt1evvtToothPosition4 = scalar, F32, 1512, "", 1, 0 -vvt1etriggerSyncGapRatio = scalar, F32, 1516, "", 1, 0 -vvt1etriggerStateIndex = scalar, U08, 1520, "", 1, 0 -; total TS size = 1524 -vvt2isynchronizationCounter = scalar, U32, 1524, "", 1, 0 -vvt2ivvtToothDurations0 = scalar, U32, 1528, "us", 1, 0 -vvt2ivvtCurrentPosition = scalar, F32, 1532, "", 1, 0 -vvt2ivvtToothPosition1 = scalar, F32, 1536, "", 1, 0 -vvt2ivvtToothPosition2 = scalar, F32, 1540, "", 1, 0 -vvt2ivvtToothPosition3 = scalar, F32, 1544, "", 1, 0 -vvt2ivvtToothPosition4 = scalar, F32, 1548, "", 1, 0 -vvt2itriggerSyncGapRatio = scalar, F32, 1552, "", 1, 0 -vvt2itriggerStateIndex = scalar, U08, 1556, "", 1, 0 -; total TS size = 1560 -vvt2esynchronizationCounter = scalar, U32, 1560, "", 1, 0 -vvt2evvtToothDurations0 = scalar, U32, 1564, "us", 1, 0 -vvt2evvtCurrentPosition = scalar, F32, 1568, "", 1, 0 -vvt2evvtToothPosition1 = scalar, F32, 1572, "", 1, 0 -vvt2evvtToothPosition2 = scalar, F32, 1576, "", 1, 0 -vvt2evvtToothPosition3 = scalar, F32, 1580, "", 1, 0 -vvt2evvtToothPosition4 = scalar, F32, 1584, "", 1, 0 -vvt2etriggerSyncGapRatio = scalar, F32, 1588, "", 1, 0 -vvt2etriggerStateIndex = scalar, U08, 1592, "", 1, 0 -; total TS size = 1596 -camResyncCounter = scalar, U08, 1596, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1600, [0:0] -; total TS size = 1604 -wallFuelCorrection = scalar, F32, 1604, "", 1, 0 -wallFuel = scalar, F32, 1608, "", 1, 0 -; total TS size = 1612 -idleState = bits, S32, 1612, [0:2], "not important" -currentIdlePosition = scalar, F32, 1616 -baseIdlePosition = scalar, F32, 1620 -idleClosedLoop = scalar, F32, 1624 -iacByTpsTaper = scalar, F32, 1628 -mightResetPid = bits, U32, 1632, [0:0] -shouldResetPid = bits, U32, 1632, [1:1] -wasResetPid = bits, U32, 1632, [2:2] -mustResetPid = bits, U32, 1632, [3:3] -isCranking = bits, U32, 1632, [4:4] -isIacTableForCoasting = bits, U32, 1632, [5:5] -notIdling = bits, U32, 1632, [6:6] -needReset = bits, U32, 1632, [7:7] -isInDeadZone = bits, U32, 1632, [8:8] -isBlipping = bits, U32, 1632, [9:9] -useClosedLoop = bits, U32, 1632, [10:10] -badTps = bits, U32, 1632, [11:11] -looksLikeRunning = bits, U32, 1632, [12:12] -looksLikeCoasting = bits, U32, 1632, [13:13] -looksLikeCrankToIdle = bits, U32, 1632, [14:14] -isIdleCoasting = bits, U32, 1632, [15:15] -isIdleClosedLoop = bits, U32, 1632, [16:16] -idleTarget = scalar, S32, 1636, "", 1, 0 -targetRpmByClt = scalar, S32, 1640, "", 1, 0 -targetRpmAc = scalar, S32, 1644, "", 1, 0 -iacByRpmTaper = scalar, F32, 1648 -luaAdd = scalar, F32, 1652 -; total TS size = 1656 -etb1targetWithIdlePosition = scalar, F32, 1656, "%", 1,0 -etb1trim = scalar, F32, 1660, "", 1, 0 -etb1luaAdjustment = scalar, F32, 1664, "%", 1,0 -etb1m_wastegatePosition = scalar, F32, 1668, "%", 1,0 -etb1etbFeedForward = scalar, F32, 1672 -etb1etbIntegralError = scalar, F32, 1676, "", 1, 0 -etb1etbCurrentTarget = scalar, F32, 1680, "%", 1, 0 -etb1m_adjustedTarget = scalar, S16, 1684, "%", 0.01, 0 -etb1etbRevLimitActive = bits, U32, 1688, [0:0] -etb1jamDetected = bits, U32, 1688, [1:1] -etb1validPlantPosition = bits, U32, 1688, [2:2] -etb1etbTpsErrorCounter = scalar, U16, 1692, "count", 1,0 -etb1etbPpsErrorCounter = scalar, U16, 1694, "count", 1,0 -etb1etbErrorCode = scalar, S08, 1696, "", 1, 0 -etb1etbErrorCodeBlinker = scalar, S08, 1697, "", 1, 0 -etb1tcEtbDrop = scalar, S08, 1698, "%", 1, 0 -etb1jamTimer = scalar, U16, 1700, "sec", 0.01, 0 -etb1adjustedEtbTarget = scalar, S08, 1702, "%", 1, 0 -etb1state = scalar, U08, 1703, "", 1, 0 -; total TS size = 1704 -etb2targetWithIdlePosition = scalar, F32, 1704, "%", 1,0 -etb2trim = scalar, F32, 1708, "", 1, 0 -etb2luaAdjustment = scalar, F32, 1712, "%", 1,0 -etb2m_wastegatePosition = scalar, F32, 1716, "%", 1,0 -etb2etbFeedForward = scalar, F32, 1720 -etb2etbIntegralError = scalar, F32, 1724, "", 1, 0 -etb2etbCurrentTarget = scalar, F32, 1728, "%", 1, 0 -etb2m_adjustedTarget = scalar, S16, 1732, "%", 0.01, 0 -etb2etbRevLimitActive = bits, U32, 1736, [0:0] -etb2jamDetected = bits, U32, 1736, [1:1] -etb2validPlantPosition = bits, U32, 1736, [2:2] -etb2etbTpsErrorCounter = scalar, U16, 1740, "count", 1,0 -etb2etbPpsErrorCounter = scalar, U16, 1742, "count", 1,0 -etb2etbErrorCode = scalar, S08, 1744, "", 1, 0 -etb2etbErrorCodeBlinker = scalar, S08, 1745, "", 1, 0 -etb2tcEtbDrop = scalar, S08, 1746, "%", 1, 0 -etb2jamTimer = scalar, U16, 1748, "sec", 0.01, 0 -etb2adjustedEtbTarget = scalar, S08, 1750, "%", 1, 0 -etb2state = scalar, U08, 1751, "", 1, 0 -; total TS size = 1752 -wb1faultCode = scalar, U08, 1752, "", 1, 0 -wb1heaterDuty = scalar, U08, 1753, "%", 1, 0 -wb1pumpDuty = scalar, U08, 1754, "%", 1, 0 -wb1tempC = scalar, U16, 1756, "C", 1, 0 -wb1nernstVoltage = scalar, U16, 1758, "V", 0.001, 0 -wb1esr = scalar, U16, 1760, "ohm", 1, 0 -; total TS size = 1764 -wb2faultCode = scalar, U08, 1764, "", 1, 0 -wb2heaterDuty = scalar, U08, 1765, "%", 1, 0 -wb2pumpDuty = scalar, U08, 1766, "%", 1, 0 -wb2tempC = scalar, U16, 1768, "C", 1, 0 -wb2nernstVoltage = scalar, U16, 1770, "V", 0.001, 0 -wb2esr = scalar, U16, 1772, "ohm", 1, 0 -; total TS size = 1776 -dcOutput0 = scalar, F32, 1776, "%", 1,0 -isEnabled0_int = scalar, U08, 1780, "%", 1,0 -isEnabled0 = bits, U32, 1784, [0:0] -; total TS size = 1788 -value0 = scalar, U16, 1788, "RAW", 1,0 -value1 = scalar, U16, 1790, "RAW", 1,0 -errorRate = scalar, F32, 1792, "% (don't belive me)", 1,0 -; total TS size = 1796 -vvtTarget = scalar, U16, 1796, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1798, "%", 0.5, 0 +isBenchTest = bits, U32, 1228, [0:0] +hasIgnitionVoltage = bits, U32, 1228, [1:1] +mainRelayState = bits, U32, 1228, [2:2] +delayedShutoffRequested = bits, U32, 1228, [3:3] +; total TS size = 1232 +lua_fuelAdd = scalar, F32, 1232, "g", 1, 0 +lua_fuelMult = scalar, F32, 1236, "", 1, 0 +lua_clutchUpState = bits, U32, 1240, [0:0] +lua_brakePedalState = bits, U32, 1240, [1:1] +lua_acRequestState = bits, U32, 1240, [2:2] +lua_luaDisableEtb = bits, U32, 1240, [3:3] +lua_luaIgnCut = bits, U32, 1240, [4:4] +lua_luaFuelCut = bits, U32, 1240, [5:5] +lua_clutchDownState = bits, U32, 1240, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1240, [7:7] +lua_torqueReductionState = bits, U32, 1240, [8:8] +sd_tCharge = scalar, S16, 1244, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1248, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1252, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1256, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1260, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1264, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1268, "", 1, 0 +hellenBoardId = scalar, S16, 1272, "id", 1, 0 +clutchUpState = scalar, S08, 1274, "", 1, 0 +brakePedalState = scalar, S08, 1275, "", 1, 0 +startStopState = scalar, S08, 1276, "", 1, 0 +smartChipState = scalar, S08, 1277, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1278, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1279, "", 1, 0 +startStopPhysicalState = bits, U32, 1280, [0:0] +acrActive = bits, U32, 1280, [1:1] +acrEngineMovedRecently = bits, U32, 1280, [2:2] +heaterControlEnabled = bits, U32, 1280, [3:3] +luaDigitalState0 = bits, U32, 1280, [4:4] +luaDigitalState1 = bits, U32, 1280, [5:5] +luaDigitalState2 = bits, U32, 1280, [6:6] +luaDigitalState3 = bits, U32, 1280, [7:7] +clutchDownState = bits, U32, 1280, [8:8] +startStopStateToggleCounter = scalar, U32, 1284, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1288, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1292, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1296, "", 1, 0 +fuelInjectionCounter = scalar, U32, 1300, "", 1, 0 +globalSparkCounter = scalar, U32, 1304, "", 1, 0 +fuelingLoad = scalar, F32, 1308, "", 1, 0 +ignitionLoad = scalar, F32, 1312, "", 1, 0 +veTableYAxis = scalar, U16, 1316, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1318, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1319, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1320, "", 1, 0 +; total TS size = 1324 +tpsFrom = scalar, F32, 1324 +tpsTo = scalar, F32, 1328 +deltaTps = scalar, F32, 1332 +extraFuel = scalar, F32, 1336, "", 1, 0 +valueFromTable = scalar, F32, 1340, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1344, [0:0] +isBelowDecelThreshold = bits, U32, 1344, [1:1] +isTimeToResetAccumulator = bits, U32, 1344, [2:2] +isFractionalEnrichment = bits, U32, 1344, [3:3] +belowEpsilon = bits, U32, 1344, [4:4] +tooShort = bits, U32, 1344, [5:5] +fractionalInjFuel = scalar, F32, 1348, "", 1, 0 +accumulatedValue = scalar, F32, 1352, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1356, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1360, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1364, "", 1, 0 +cycleCnt = scalar, S32, 1368, "", 1, 0 +; total TS size = 1372 +hwEventCounters1 = scalar, U16, 1372, "", 1, 0 +hwEventCounters2 = scalar, U16, 1374, "", 1, 0 +hwEventCounters3 = scalar, U16, 1376, "", 1, 0 +hwEventCounters4 = scalar, U16, 1378, "", 1, 0 +vvtCamCounter = scalar, U16, 1380, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1384, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1388, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1392, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1393, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1396, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1400, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1404, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1408, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1412, [0:0] +triggerElapsedUs = scalar, U32, 1416, "", 1, 0 +; total TS size = 1420 +trgsynchronizationCounter = scalar, U32, 1420, "", 1, 0 +trgvvtToothDurations0 = scalar, U32, 1424, "us", 1, 0 +trgvvtCurrentPosition = scalar, F32, 1428, "", 1, 0 +trgvvtToothPosition1 = scalar, F32, 1432, "", 1, 0 +trgvvtToothPosition2 = scalar, F32, 1436, "", 1, 0 +trgvvtToothPosition3 = scalar, F32, 1440, "", 1, 0 +trgvvtToothPosition4 = scalar, F32, 1444, "", 1, 0 +trgtriggerSyncGapRatio = scalar, F32, 1448, "", 1, 0 +trgtriggerStateIndex = scalar, U08, 1452, "", 1, 0 +; total TS size = 1456 +vvt1isynchronizationCounter = scalar, U32, 1456, "", 1, 0 +vvt1ivvtToothDurations0 = scalar, U32, 1460, "us", 1, 0 +vvt1ivvtCurrentPosition = scalar, F32, 1464, "", 1, 0 +vvt1ivvtToothPosition1 = scalar, F32, 1468, "", 1, 0 +vvt1ivvtToothPosition2 = scalar, F32, 1472, "", 1, 0 +vvt1ivvtToothPosition3 = scalar, F32, 1476, "", 1, 0 +vvt1ivvtToothPosition4 = scalar, F32, 1480, "", 1, 0 +vvt1itriggerSyncGapRatio = scalar, F32, 1484, "", 1, 0 +vvt1itriggerStateIndex = scalar, U08, 1488, "", 1, 0 +; total TS size = 1492 +vvt1esynchronizationCounter = scalar, U32, 1492, "", 1, 0 +vvt1evvtToothDurations0 = scalar, U32, 1496, "us", 1, 0 +vvt1evvtCurrentPosition = scalar, F32, 1500, "", 1, 0 +vvt1evvtToothPosition1 = scalar, F32, 1504, "", 1, 0 +vvt1evvtToothPosition2 = scalar, F32, 1508, "", 1, 0 +vvt1evvtToothPosition3 = scalar, F32, 1512, "", 1, 0 +vvt1evvtToothPosition4 = scalar, F32, 1516, "", 1, 0 +vvt1etriggerSyncGapRatio = scalar, F32, 1520, "", 1, 0 +vvt1etriggerStateIndex = scalar, U08, 1524, "", 1, 0 +; total TS size = 1528 +vvt2isynchronizationCounter = scalar, U32, 1528, "", 1, 0 +vvt2ivvtToothDurations0 = scalar, U32, 1532, "us", 1, 0 +vvt2ivvtCurrentPosition = scalar, F32, 1536, "", 1, 0 +vvt2ivvtToothPosition1 = scalar, F32, 1540, "", 1, 0 +vvt2ivvtToothPosition2 = scalar, F32, 1544, "", 1, 0 +vvt2ivvtToothPosition3 = scalar, F32, 1548, "", 1, 0 +vvt2ivvtToothPosition4 = scalar, F32, 1552, "", 1, 0 +vvt2itriggerSyncGapRatio = scalar, F32, 1556, "", 1, 0 +vvt2itriggerStateIndex = scalar, U08, 1560, "", 1, 0 +; total TS size = 1564 +vvt2esynchronizationCounter = scalar, U32, 1564, "", 1, 0 +vvt2evvtToothDurations0 = scalar, U32, 1568, "us", 1, 0 +vvt2evvtCurrentPosition = scalar, F32, 1572, "", 1, 0 +vvt2evvtToothPosition1 = scalar, F32, 1576, "", 1, 0 +vvt2evvtToothPosition2 = scalar, F32, 1580, "", 1, 0 +vvt2evvtToothPosition3 = scalar, F32, 1584, "", 1, 0 +vvt2evvtToothPosition4 = scalar, F32, 1588, "", 1, 0 +vvt2etriggerSyncGapRatio = scalar, F32, 1592, "", 1, 0 +vvt2etriggerStateIndex = scalar, U08, 1596, "", 1, 0 +; total TS size = 1600 +camResyncCounter = scalar, U08, 1600, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1604, [0:0] +; total TS size = 1608 +wallFuelCorrection = scalar, F32, 1608, "", 1, 0 +wallFuel = scalar, F32, 1612, "", 1, 0 +; total TS size = 1616 +idleState = bits, S32, 1616, [0:2], "not important" +currentIdlePosition = scalar, F32, 1620 +baseIdlePosition = scalar, F32, 1624 +idleClosedLoop = scalar, F32, 1628 +iacByTpsTaper = scalar, F32, 1632 +mightResetPid = bits, U32, 1636, [0:0] +shouldResetPid = bits, U32, 1636, [1:1] +wasResetPid = bits, U32, 1636, [2:2] +mustResetPid = bits, U32, 1636, [3:3] +isCranking = bits, U32, 1636, [4:4] +isIacTableForCoasting = bits, U32, 1636, [5:5] +notIdling = bits, U32, 1636, [6:6] +needReset = bits, U32, 1636, [7:7] +isInDeadZone = bits, U32, 1636, [8:8] +isBlipping = bits, U32, 1636, [9:9] +useClosedLoop = bits, U32, 1636, [10:10] +badTps = bits, U32, 1636, [11:11] +looksLikeRunning = bits, U32, 1636, [12:12] +looksLikeCoasting = bits, U32, 1636, [13:13] +looksLikeCrankToIdle = bits, U32, 1636, [14:14] +isIdleCoasting = bits, U32, 1636, [15:15] +isIdleClosedLoop = bits, U32, 1636, [16:16] +idleTarget = scalar, S32, 1640, "", 1, 0 +targetRpmByClt = scalar, S32, 1644, "", 1, 0 +targetRpmAc = scalar, S32, 1648, "", 1, 0 +iacByRpmTaper = scalar, F32, 1652 +luaAdd = scalar, F32, 1656 +; total TS size = 1660 +etb1targetWithIdlePosition = scalar, F32, 1660, "%", 1,0 +etb1trim = scalar, F32, 1664, "", 1, 0 +etb1luaAdjustment = scalar, F32, 1668, "%", 1,0 +etb1m_wastegatePosition = scalar, F32, 1672, "%", 1,0 +etb1etbFeedForward = scalar, F32, 1676 +etb1etbIntegralError = scalar, F32, 1680, "", 1, 0 +etb1etbCurrentTarget = scalar, F32, 1684, "%", 1, 0 +etb1m_adjustedTarget = scalar, S16, 1688, "%", 0.01, 0 +etb1etbRevLimitActive = bits, U32, 1692, [0:0] +etb1jamDetected = bits, U32, 1692, [1:1] +etb1validPlantPosition = bits, U32, 1692, [2:2] +etb1etbTpsErrorCounter = scalar, U16, 1696, "count", 1,0 +etb1etbPpsErrorCounter = scalar, U16, 1698, "count", 1,0 +etb1etbErrorCode = scalar, S08, 1700, "", 1, 0 +etb1etbErrorCodeBlinker = scalar, S08, 1701, "", 1, 0 +etb1tcEtbDrop = scalar, S08, 1702, "%", 1, 0 +etb1jamTimer = scalar, U16, 1704, "sec", 0.01, 0 +etb1adjustedEtbTarget = scalar, S08, 1706, "%", 1, 0 +etb1state = scalar, U08, 1707, "", 1, 0 +; total TS size = 1708 +etb2targetWithIdlePosition = scalar, F32, 1708, "%", 1,0 +etb2trim = scalar, F32, 1712, "", 1, 0 +etb2luaAdjustment = scalar, F32, 1716, "%", 1,0 +etb2m_wastegatePosition = scalar, F32, 1720, "%", 1,0 +etb2etbFeedForward = scalar, F32, 1724 +etb2etbIntegralError = scalar, F32, 1728, "", 1, 0 +etb2etbCurrentTarget = scalar, F32, 1732, "%", 1, 0 +etb2m_adjustedTarget = scalar, S16, 1736, "%", 0.01, 0 +etb2etbRevLimitActive = bits, U32, 1740, [0:0] +etb2jamDetected = bits, U32, 1740, [1:1] +etb2validPlantPosition = bits, U32, 1740, [2:2] +etb2etbTpsErrorCounter = scalar, U16, 1744, "count", 1,0 +etb2etbPpsErrorCounter = scalar, U16, 1746, "count", 1,0 +etb2etbErrorCode = scalar, S08, 1748, "", 1, 0 +etb2etbErrorCodeBlinker = scalar, S08, 1749, "", 1, 0 +etb2tcEtbDrop = scalar, S08, 1750, "%", 1, 0 +etb2jamTimer = scalar, U16, 1752, "sec", 0.01, 0 +etb2adjustedEtbTarget = scalar, S08, 1754, "%", 1, 0 +etb2state = scalar, U08, 1755, "", 1, 0 +; total TS size = 1756 +wb1faultCode = scalar, U08, 1756, "", 1, 0 +wb1heaterDuty = scalar, U08, 1757, "%", 1, 0 +wb1pumpDuty = scalar, U08, 1758, "%", 1, 0 +wb1tempC = scalar, U16, 1760, "C", 1, 0 +wb1nernstVoltage = scalar, U16, 1762, "V", 0.001, 0 +wb1esr = scalar, U16, 1764, "ohm", 1, 0 +; total TS size = 1768 +wb2faultCode = scalar, U08, 1768, "", 1, 0 +wb2heaterDuty = scalar, U08, 1769, "%", 1, 0 +wb2pumpDuty = scalar, U08, 1770, "%", 1, 0 +wb2tempC = scalar, U16, 1772, "C", 1, 0 +wb2nernstVoltage = scalar, U16, 1774, "V", 0.001, 0 +wb2esr = scalar, U16, 1776, "ohm", 1, 0 +; total TS size = 1780 +dcOutput0 = scalar, F32, 1780, "%", 1,0 +isEnabled0_int = scalar, U08, 1784, "%", 1,0 +isEnabled0 = bits, U32, 1788, [0:0] +; total TS size = 1792 +value0 = scalar, U16, 1792, "RAW", 1,0 +value1 = scalar, U16, 1794, "RAW", 1,0 +errorRate = scalar, F32, 1796, "% (don't belive me)", 1,0 ; total TS size = 1800 -lambdaCurrentlyGood = bits, U32, 1800, [0:0] -lambdaMonitorCut = bits, U32, 1800, [1:1] -lambdaTimeSinceGood = scalar, U16, 1804, "sec", 0.01, 0 -; total TS size = 1808 +vvtTarget = scalar, U16, 1800, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1802, "%", 0.5, 0 +; total TS size = 1804 +lambdaCurrentlyGood = bits, U32, 1804, [0:0] +lambdaMonitorCut = bits, U32, 1804, [1:1] +lambdaTimeSinceGood = scalar, U16, 1808, "sec", 0.01, 0 +; total TS size = 1812 time = { timeNow } @@ -4493,6 +4496,12 @@ curve = rangeMatrix, "Range Switch Input Matrix" gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. upDownLabel = "(RICHER)", "(LEANER)" + table = trailingSparkTable, trailingSparkMap, "Trailing spark", 1 + xyLabels = "RPM", "Ignition Load" + xBins = trailingSparkRpmBins, RPMValue + yBins = trailingSparkLoadBins, ignitionLoad + zBins = trailingSparkTable + table = torqueTableTbl, torqueTableMap, "Engine Torque", 1 xBins = torqueRpmBins, RPMValue yBins = torqueLoadBins, veTableYAxis @@ -4785,6 +4794,7 @@ timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20 timingPidCorrectionGauge = timingPidCorrection,"Idle: Timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 +trailingSparkAngleGauge = trailingSparkAngle,"Ign: Trailing spark deg", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 gaugeCategory = "Boost Control" luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 @@ -5666,6 +5676,7 @@ entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" entry = luaIgnitionSkip, "Ign: Lua Spark Skip", int, "%d" +entry = trailingSparkAngle, "Ign: Trailing spark deg", float, "%.3f" entry = m_knockLevel, "Knock: Current level", float, "%.3f" entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" @@ -6579,6 +6590,7 @@ dialog = ignition_stateDialog, "ignition_state" graphLine = luaTimingAdd liveGraph = ignition_state_4_Graph, "Graph", South graphLine = luaTimingMult + graphLine = trailingSparkAngle dialog = knock_controllerDialog, "knock_controller" @@ -9736,11 +9748,11 @@ dialog = tcuControls, "Transmission Settings" dialog = rotaryDialog, "Rotary" field = "Enable Trailing Sparks", enableTrailingSparks - field = "Trailing Spark Offset", trailingSparkAngle field = "Trailing Pin 1", trailingCoilPins1 field = "Trailing Pin 2", trailingCoilPins2 field = "Trailing Pin 3", trailingCoilPins3 field = "Trailing Pin 4", trailingCoilPins4 + panel = trailingSparkTable diff --git a/firmware/tunerstudio/generated/rusefi_hellen-nb1.ini b/firmware/tunerstudio/generated/rusefi_hellen-nb1.ini index 4c7a6880b5..17de4fd756 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.2025.02.07.hellen-nb1.3508678793" + signature = "rusEFI master.2025.02.07.hellen-nb1.1453440996" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2025.02.07.hellen-nb1.3508678793" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2025.02.07.hellen-nb1.1453440996" ; 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 @@ -101,7 +101,7 @@ enable2ndByteCanID = false ; CONFIG_DEFINITION_START ; this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt -pageSize = 23280 +pageSize = 23304 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",22="BMW_M52",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",21="ET_BOSCH_QUICK_START",24="ET_TEST_WITH_BOSCH_QUICK_START",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",41="FRANKENSO_MIATA_NA6_MAP",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",47="GM_LCV",55="GM_LTG",98="GM_SBC",49="GM_SBC_GEN5",8="GY6_139QMB",6="HARLEY",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",34="MAZDA_MIATA_NA6",80="MAZDA_MIATA_NA94",10="MAZDA_MIATA_NA96",83="MAZDA_MIATA_NB1",69="MAZDA_MIATA_NB2",86="MAZDA_MIATA_NB2_36",20="MAZDA_MIATA_NC",33="ME17_9_MISC",68="MERCEDES_M111",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",4="MRE_SECONDARY_CAN",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",35="POLARIS",9="POLARIS_RZR",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",27="PROTEUS_GM_LS_4",25="PROTEUS_LUA_DEMO",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",17="TCU_4R70W",100="TEST_100",101="TEST_101",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",93="TEST_ISSUE_6451",19="TEST_ROTARY",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",102="UNUSED102",67="UNUSED67",94="UNUSED94",65="UNUSED_65",97="UNUSED_97",77="VAG_5_CYL",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -245,7 +245,7 @@ vbattAdcChannel = bits, U08, 513, [0:5], $adc_channel_e_list fuelLevelSensor = bits, U08, 514, [0:5], $adc_channel_e_list tps2_1AdcChannel = bits, U08, 515, [0:5], $adc_channel_e_list idle_derivativeFilterLoss = scalar, F32, 516, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 520, "angle", 1, 0, 0, 720, 0 +unusedTrailingSparkAngle = scalar, S32, 520, "", 1, 0, 0, 100, 0 trigger_type = bits, U32, 524, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Daihatsu 3 cylinder", "Mazda SOHC 4", "60-2", "36-1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "Dodge Ram 1+16", "60-2 Wrong Polarity", "Benelli Tre", "Dodge Stratus", "36_2_2_2", "Nissan Primera", "dev 2JZ 3/34 simulator", "Rover K", "GM 24x 5 degree", "Honda CBR 600 Cam", "INVALID", "Honda CBR 600 custom", "3-1 skipped", "Dodge Neon 2003 crank", "Miata NB", "INVALID", "INVALID", "Subaru 7+6", "Jeep 18-2-2-2", "12crank/24cam", "Dodge Neon 1995 crank only", "Jeep XJ 4 cyl", "FiatIAQ_P8", "Mazda Z5", "INVALID", "Renix 44-2-2", "Renix 66-2-2-2", "Honda K 12+1", "INVALID", "36-2", "Subaru SVX", "Suzuki K6A", "Subaru 7 without 6", "INVALID", "INVALID", "GM 60-2-2-2", "Skoda Favorit", "Barra 3+1 Cam", "Kawa KX450F", "Nissan VQ35", "INVALID", "Nissan VQ30", "Nissan QR25", "INVALID", "Subaru SVX Crank 1", "Subaru SVX Cam VVT", "Ford PIP", "Suzuki G13B", "Honda K 4+1", "Nissan MR18 Crank", "32-2", "36-2-1", "36-2-1-1", "3-0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6-0", "Daihatsu 4 cylinder", "INVALID", "dev", "Nissan HR", "Arctic Cat", "HR12 in", "HONDA J30A2", "trg88", "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" trigger_customTotalToothCount = scalar, S32, 528, "number", 1, 0, 1, 300, 0 trigger_customSkippedToothCount = scalar, S32, 532, "number", 1, 0, 0, 300, 0 @@ -1796,7 +1796,10 @@ dynoCarCarMassKg = scalar, S16, 23268, "", 1, 0, 0, 32000, 0 dynoCarCargoMassKg = scalar, S16, 23270, "", 1, 0, 0, 32000, 0 dynoCarCoeffOfDrag = scalar, F32, 23272, "", 1, 0, 0, 100, 0 dynoCarFrontalAreaM2 = scalar, F32, 23276, "", 1, 0, 0, 100, 0 -; total TS size = 23280 +trailingSparkTable = array, S08, 23280, [4x4], "deg", 0.1, 0, 0, 20, 1 +trailingSparkRpmBins = array, U08, 23296, [4], "rpm", 50.0, 0, 0, 12000, 0 +trailingSparkLoadBins = array, U08, 23300, [4], "Load", 5.0, 0, 0, 1000, 0 +; total TS size = 23304 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1890,7 +1893,6 @@ dynoCarFrontalAreaM2 = scalar, F32, 23276, "", 1, 0, 0, 100, 0 fuelLevelSensor = "This is the processor pin that your fuel level sensor in connected to. This is a non standard input so will need to be user defined." tps2_1AdcChannel = "Second throttle body position sensor, single channel so far" idle_derivativeFilterLoss = "0.1 is a good default value" - trailingSparkAngle = "just a temporary solution" trigger_type = "https://github.com/rusefi/rusefi/wiki/All-Supported-Triggers" airByRpmTaper = "Extra air taper amount" boostControlSafeDutyCycle = "Duty cycle to use in case of a sensor failure. This duty cycle should produce the minimum possible amount of boost. This duty is also used in case any of the minimum RPM/TPS/MAP conditions are not met." @@ -2664,7 +2666,7 @@ dynoCarFrontalAreaM2 = scalar, F32, 23276, "", 1, 0, 0, 100, 0 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1808 + ochBlockSize = 1812 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3189,417 +3191,418 @@ dwellVoltageCorrection = scalar, F32, 940, "", 1, 0 luaTimingAdd = scalar, F32, 944, "deg", 1, 0 luaTimingMult = scalar, F32, 948, "deg", 1, 0 luaIgnitionSkip = bits, U32, 952, [0:0] -; total TS size = 956 -m_knockLevel = scalar, F32, 956, "Volts", 1, 0 -m_knockCyl1 = scalar, S08, 960, "dBv", 1, 0 -m_knockCyl2 = scalar, S08, 961, "dBv", 1, 0 -m_knockCyl3 = scalar, S08, 962, "dBv", 1, 0 -m_knockCyl4 = scalar, S08, 963, "dBv", 1, 0 -m_knockCyl5 = scalar, S08, 964, "dBv", 1, 0 -m_knockCyl6 = scalar, S08, 965, "dBv", 1, 0 -m_knockCyl7 = scalar, S08, 966, "dBv", 1, 0 -m_knockCyl8 = scalar, S08, 967, "dBv", 1, 0 -m_knockCyl9 = scalar, S08, 968, "dBv", 1, 0 -m_knockCyl10 = scalar, S08, 969, "dBv", 1, 0 -m_knockCyl11 = scalar, S08, 970, "dBv", 1, 0 -m_knockCyl12 = scalar, S08, 971, "dBv", 1, 0 -m_knockRetard = scalar, F32, 972, "deg", 1,0 -m_knockThreshold = scalar, F32, 976, "", 1, 0 -m_knockCount = scalar, U32, 980, "", 1, 0 -m_maximumRetard = scalar, F32, 984, "", 1, 0 -m_knockSpectrum1 = scalar, U32, 988, "compressed data", 1, 0 -m_knockSpectrum2 = scalar, U32, 992, "compressed data", 1, 0 -m_knockSpectrum3 = scalar, U32, 996, "compressed data", 1, 0 -m_knockSpectrum4 = scalar, U32, 1000, "compressed data", 1, 0 -m_knockSpectrum5 = scalar, U32, 1004, "compressed data", 1, 0 -m_knockSpectrum6 = scalar, U32, 1008, "compressed data", 1, 0 -m_knockSpectrum7 = scalar, U32, 1012, "compressed data", 1, 0 -m_knockSpectrum8 = scalar, U32, 1016, "compressed data", 1, 0 -m_knockSpectrum9 = scalar, U32, 1020, "compressed data", 1, 0 -m_knockSpectrum10 = scalar, U32, 1024, "compressed data", 1, 0 -m_knockSpectrum11 = scalar, U32, 1028, "compressed data", 1, 0 -m_knockSpectrum12 = scalar, U32, 1032, "compressed data", 1, 0 -m_knockSpectrum13 = scalar, U32, 1036, "compressed data", 1, 0 -m_knockSpectrum14 = scalar, U32, 1040, "compressed data", 1, 0 -m_knockSpectrum15 = scalar, U32, 1044, "compressed data", 1, 0 -m_knockSpectrum16 = scalar, U32, 1048, "compressed data", 1, 0 -m_knockSpectrumChannelCyl = scalar, U16, 1052, "compressed N + N", 1, 0 -m_knockFrequencyStart = scalar, U16, 1054, "Hz", 1, 0 -m_knockFrequencyStep = scalar, F32, 1056, "Hz", 1, 0 -m_knockFuelTrimMultiplier = scalar, F32, 1060, "multiplier", 1, 0 -; total TS size = 1064 -m_isPriming = bits, U32, 1064, [0:0] +trailingSparkAngle = scalar, S16, 956, "deg", 0.01,0 +; total TS size = 960 +m_knockLevel = scalar, F32, 960, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 964, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 965, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 966, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 967, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 968, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 969, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 970, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 971, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 972, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 973, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 974, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 975, "dBv", 1, 0 +m_knockRetard = scalar, F32, 976, "deg", 1,0 +m_knockThreshold = scalar, F32, 980, "", 1, 0 +m_knockCount = scalar, U32, 984, "", 1, 0 +m_maximumRetard = scalar, F32, 988, "", 1, 0 +m_knockSpectrum1 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1040, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1044, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1048, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1052, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1056, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1058, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1060, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1064, "multiplier", 1, 0 ; total TS size = 1068 -tcuCurrentGear = scalar, S08, 1068, "gear", 1, 0 -tcRatio = scalar, U16, 1070, "value", 0.01, 0 -lastShiftTime = scalar, F32, 1072, "", 1, 0 -tcu_currentRange = scalar, U08, 1076, "", 1, 0 -pressureControlDuty = scalar, S08, 1077, "%", 1,0 -torqueConverterDuty = scalar, S08, 1078, "%", 1,0 -isShifting = bits, U32, 1080, [0:0] -; total TS size = 1084 -throttleUseWotModel = bits, U32, 1084, [0:0] -throttleModelCrossoverAngle = scalar, S16, 1088, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1092, "g/s", 1, 0 -; total TS size = 1096 -m_requested_pump = scalar, F32, 1096, "", 1, 0 -fuel_requested_percent = scalar, F32, 1100, "%", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1104, "", 1, 0 -noValve = bits, U32, 1108, [0:0] -angleAboveMin = bits, U32, 1108, [1:1] -isHpfpActive = bits, U32, 1108, [2:2] -HpfpValveState = bits, U32, 1108, [3:3] -m_pressureTarget_kPa = scalar, F32, 1112, "", 1, 0 -nextLobe = scalar, F32, 1116, "", 1, 0 -di_nextStart = scalar, F32, 1120, "v", 1, 0 -HpfdActivationPhase = scalar, F32, 1124, "", 1, 0 -HpfdDeactivationPhase = scalar, F32, 1128, "", 1, 0 -; total TS size = 1132 -m_deadtime = scalar, F32, 1132, "ms", 1, 0 -pressureDelta = scalar, F32, 1136, "kPa", 1, 0 -pressureRatio = scalar, F32, 1140, "", 1, 0 -; total TS size = 1144 -retardThresholdRpm = scalar, S32, 1144, "", 1, 0 -launchActivatePinState = bits, U32, 1148, [0:0] -isPreLaunchCondition = bits, U32, 1148, [1:1] -isLaunchCondition = bits, U32, 1148, [2:2] -isSwitchActivated = bits, U32, 1148, [3:3] -isClutchActivated = bits, U32, 1148, [4:4] -isBrakePedalActivated = bits, U32, 1148, [5:5] -isValidInputPin = bits, U32, 1148, [6:6] -activateSwitchCondition = bits, U32, 1148, [7:7] -rpmLaunchCondition = bits, U32, 1148, [8:8] -rpmPreLaunchCondition = bits, U32, 1148, [9:9] -speedCondition = bits, U32, 1148, [10:10] -tpsCondition = bits, U32, 1148, [11:11] -; total TS size = 1152 -isTorqueReductionTriggerPinValid = bits, U32, 1152, [0:0] -torqueReductionTriggerPinState = bits, U32, 1152, [1:1] -isTimeConditionSatisfied = bits, U32, 1152, [2:2] -isRpmConditionSatisfied = bits, U32, 1152, [3:3] -isAppConditionSatisfied = bits, U32, 1152, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1152, [5:5] +m_isPriming = bits, U32, 1068, [0:0] +; total TS size = 1072 +tcuCurrentGear = scalar, S08, 1072, "gear", 1, 0 +tcRatio = scalar, U16, 1074, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1076, "", 1, 0 +tcu_currentRange = scalar, U08, 1080, "", 1, 0 +pressureControlDuty = scalar, S08, 1081, "%", 1,0 +torqueConverterDuty = scalar, S08, 1082, "%", 1,0 +isShifting = bits, U32, 1084, [0:0] +; total TS size = 1088 +throttleUseWotModel = bits, U32, 1088, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1092, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1096, "g/s", 1, 0 +; total TS size = 1100 +m_requested_pump = scalar, F32, 1100, "", 1, 0 +fuel_requested_percent = scalar, F32, 1104, "%", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1108, "", 1, 0 +noValve = bits, U32, 1112, [0:0] +angleAboveMin = bits, U32, 1112, [1:1] +isHpfpActive = bits, U32, 1112, [2:2] +HpfpValveState = bits, U32, 1112, [3:3] +m_pressureTarget_kPa = scalar, F32, 1116, "", 1, 0 +nextLobe = scalar, F32, 1120, "", 1, 0 +di_nextStart = scalar, F32, 1124, "v", 1, 0 +HpfdActivationPhase = scalar, F32, 1128, "", 1, 0 +HpfdDeactivationPhase = scalar, F32, 1132, "", 1, 0 +; total TS size = 1136 +m_deadtime = scalar, F32, 1136, "ms", 1, 0 +pressureDelta = scalar, F32, 1140, "kPa", 1, 0 +pressureRatio = scalar, F32, 1144, "", 1, 0 +; total TS size = 1148 +retardThresholdRpm = scalar, S32, 1148, "", 1, 0 +launchActivatePinState = bits, U32, 1152, [0:0] +isPreLaunchCondition = bits, U32, 1152, [1:1] +isLaunchCondition = bits, U32, 1152, [2:2] +isSwitchActivated = bits, U32, 1152, [3:3] +isClutchActivated = bits, U32, 1152, [4:4] +isBrakePedalActivated = bits, U32, 1152, [5:5] +isValidInputPin = bits, U32, 1152, [6:6] +activateSwitchCondition = bits, U32, 1152, [7:7] +rpmLaunchCondition = bits, U32, 1152, [8:8] +rpmPreLaunchCondition = bits, U32, 1152, [9:9] +speedCondition = bits, U32, 1152, [10:10] +tpsCondition = bits, U32, 1152, [11:11] ; total TS size = 1156 -isAntilagCondition = bits, U32, 1156, [0:0] -ALSMinRPMCondition = bits, U32, 1156, [1:1] -ALSMaxRPMCondition = bits, U32, 1156, [2:2] -ALSMinCLTCondition = bits, U32, 1156, [3:3] -ALSMaxCLTCondition = bits, U32, 1156, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1156, [5:5] -isALSSwitchActivated = bits, U32, 1156, [6:6] -ALSActivatePinState = bits, U32, 1156, [7:7] -ALSSwitchCondition = bits, U32, 1156, [8:8] -ALSTimerCondition = bits, U32, 1156, [9:9] -fuelALSCorrection = scalar, F32, 1160, "", 1, 0 -timingALSCorrection = scalar, S16, 1164, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1166, "deg", 0.01, 0 -; total TS size = 1168 -isTpsInvalid = bits, U32, 1168, [0:0] -m_shouldResetPid = bits, U32, 1168, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1168, [2:2] -isNotClosedLoop = bits, U32, 1168, [3:3] -isZeroRpm = bits, U32, 1168, [4:4] -hasInitBoost = bits, U32, 1168, [5:5] -rpmTooLow = bits, U32, 1168, [6:6] -tpsTooLow = bits, U32, 1168, [7:7] -mapTooLow = bits, U32, 1168, [8:8] -isPlantValid = bits, U32, 1168, [9:9] -isBoostControlled = bits, U32, 1168, [10:10] -luaTargetAdd = scalar, S16, 1172, "v", 0.5,0 -boostOutput = scalar, S16, 1174, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1176, "v", 1,0 -openLoopPart = scalar, F32, 1180, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1184, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1188, "%", 0.5,0 -boostControlTarget = scalar, S16, 1190, "kPa", 0.03333333333333333,0 -; total TS size = 1192 -acButtonState = scalar, S08, 1192, "", 1, 0 -m_acEnabled = bits, U32, 1196, [0:0] -engineTooSlow = bits, U32, 1196, [1:1] -engineTooFast = bits, U32, 1196, [2:2] -noClt = bits, U32, 1196, [3:3] -engineTooHot = bits, U32, 1196, [4:4] -tpsTooHigh = bits, U32, 1196, [5:5] -isDisabledByLua = bits, U32, 1196, [6:6] -acCompressorState = bits, U32, 1196, [7:7] -acPressureTooLow = bits, U32, 1196, [8:8] -acPressureTooHigh = bits, U32, 1196, [9:9] -; total TS size = 1200 -isNitrousArmed = bits, U32, 1200, [0:0] -isNitrousSpeedCondition = bits, U32, 1200, [1:1] -isNitrousTpsCondition = bits, U32, 1200, [2:2] -isNitrousCltCondition = bits, U32, 1200, [3:3] -isNitrousMapCondition = bits, U32, 1200, [4:4] -isNitrousAfrCondition = bits, U32, 1200, [5:5] -isNitrousRpmCondition = bits, U32, 1200, [6:6] -isNitrousCondition = bits, U32, 1200, [7:7] +isTorqueReductionTriggerPinValid = bits, U32, 1156, [0:0] +torqueReductionTriggerPinState = bits, U32, 1156, [1:1] +isTimeConditionSatisfied = bits, U32, 1156, [2:2] +isRpmConditionSatisfied = bits, U32, 1156, [3:3] +isAppConditionSatisfied = bits, U32, 1156, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1156, [5:5] +; total TS size = 1160 +isAntilagCondition = bits, U32, 1160, [0:0] +ALSMinRPMCondition = bits, U32, 1160, [1:1] +ALSMaxRPMCondition = bits, U32, 1160, [2:2] +ALSMinCLTCondition = bits, U32, 1160, [3:3] +ALSMaxCLTCondition = bits, U32, 1160, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1160, [5:5] +isALSSwitchActivated = bits, U32, 1160, [6:6] +ALSActivatePinState = bits, U32, 1160, [7:7] +ALSSwitchCondition = bits, U32, 1160, [8:8] +ALSTimerCondition = bits, U32, 1160, [9:9] +fuelALSCorrection = scalar, F32, 1164, "", 1, 0 +timingALSCorrection = scalar, S16, 1168, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1170, "deg", 0.01, 0 +; total TS size = 1172 +isTpsInvalid = bits, U32, 1172, [0:0] +m_shouldResetPid = bits, U32, 1172, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1172, [2:2] +isNotClosedLoop = bits, U32, 1172, [3:3] +isZeroRpm = bits, U32, 1172, [4:4] +hasInitBoost = bits, U32, 1172, [5:5] +rpmTooLow = bits, U32, 1172, [6:6] +tpsTooLow = bits, U32, 1172, [7:7] +mapTooLow = bits, U32, 1172, [8:8] +isPlantValid = bits, U32, 1172, [9:9] +isBoostControlled = bits, U32, 1172, [10:10] +luaTargetAdd = scalar, S16, 1176, "v", 0.5,0 +boostOutput = scalar, S16, 1178, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1180, "v", 1,0 +openLoopPart = scalar, F32, 1184, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1188, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1192, "%", 0.5,0 +boostControlTarget = scalar, S16, 1194, "kPa", 0.03333333333333333,0 +; total TS size = 1196 +acButtonState = scalar, S08, 1196, "", 1, 0 +m_acEnabled = bits, U32, 1200, [0:0] +engineTooSlow = bits, U32, 1200, [1:1] +engineTooFast = bits, U32, 1200, [2:2] +noClt = bits, U32, 1200, [3:3] +engineTooHot = bits, U32, 1200, [4:4] +tpsTooHigh = bits, U32, 1200, [5:5] +isDisabledByLua = bits, U32, 1200, [6:6] +acCompressorState = bits, U32, 1200, [7:7] +acPressureTooLow = bits, U32, 1200, [8:8] +acPressureTooHigh = bits, U32, 1200, [9:9] ; total TS size = 1204 -fan1cranking = bits, U32, 1204, [0:0] -fan1notRunning = bits, U32, 1204, [1:1] -fan1disabledWhileEngineStopped = bits, U32, 1204, [2:2] -fan1brokenClt = bits, U32, 1204, [3:3] -fan1enabledForAc = bits, U32, 1204, [4:4] -fan1hot = bits, U32, 1204, [5:5] -fan1cold = bits, U32, 1204, [6:6] -fan1disabledBySpeed = bits, U32, 1204, [7:7] -fan1m_state = bits, U32, 1204, [8:8] -fan1radiatorFanStatus = scalar, U08, 1208, "", 1, 0 -; total TS size = 1212 -fan2cranking = bits, U32, 1212, [0:0] -fan2notRunning = bits, U32, 1212, [1:1] -fan2disabledWhileEngineStopped = bits, U32, 1212, [2:2] -fan2brokenClt = bits, U32, 1212, [3:3] -fan2enabledForAc = bits, U32, 1212, [4:4] -fan2hot = bits, U32, 1212, [5:5] -fan2cold = bits, U32, 1212, [6:6] -fan2disabledBySpeed = bits, U32, 1212, [7:7] -fan2m_state = bits, U32, 1212, [8:8] -fan2radiatorFanStatus = scalar, U08, 1216, "", 1, 0 -; total TS size = 1220 -isPrime = bits, U32, 1220, [0:0] -engineTurnedRecently = bits, U32, 1220, [1:1] -isFuelPumpOn = bits, U32, 1220, [2:2] -ignitionOn = bits, U32, 1220, [3:3] +isNitrousArmed = bits, U32, 1204, [0:0] +isNitrousSpeedCondition = bits, U32, 1204, [1:1] +isNitrousTpsCondition = bits, U32, 1204, [2:2] +isNitrousCltCondition = bits, U32, 1204, [3:3] +isNitrousMapCondition = bits, U32, 1204, [4:4] +isNitrousAfrCondition = bits, U32, 1204, [5:5] +isNitrousRpmCondition = bits, U32, 1204, [6:6] +isNitrousCondition = bits, U32, 1204, [7:7] +; total TS size = 1208 +fan1cranking = bits, U32, 1208, [0:0] +fan1notRunning = bits, U32, 1208, [1:1] +fan1disabledWhileEngineStopped = bits, U32, 1208, [2:2] +fan1brokenClt = bits, U32, 1208, [3:3] +fan1enabledForAc = bits, U32, 1208, [4:4] +fan1hot = bits, U32, 1208, [5:5] +fan1cold = bits, U32, 1208, [6:6] +fan1disabledBySpeed = bits, U32, 1208, [7:7] +fan1m_state = bits, U32, 1208, [8:8] +fan1radiatorFanStatus = scalar, U08, 1212, "", 1, 0 +; total TS size = 1216 +fan2cranking = bits, U32, 1216, [0:0] +fan2notRunning = bits, U32, 1216, [1:1] +fan2disabledWhileEngineStopped = bits, U32, 1216, [2:2] +fan2brokenClt = bits, U32, 1216, [3:3] +fan2enabledForAc = bits, U32, 1216, [4:4] +fan2hot = bits, U32, 1216, [5:5] +fan2cold = bits, U32, 1216, [6:6] +fan2disabledBySpeed = bits, U32, 1216, [7:7] +fan2m_state = bits, U32, 1216, [8:8] +fan2radiatorFanStatus = scalar, U08, 1220, "", 1, 0 ; total TS size = 1224 -isBenchTest = bits, U32, 1224, [0:0] -hasIgnitionVoltage = bits, U32, 1224, [1:1] -mainRelayState = bits, U32, 1224, [2:2] -delayedShutoffRequested = bits, U32, 1224, [3:3] +isPrime = bits, U32, 1224, [0:0] +engineTurnedRecently = bits, U32, 1224, [1:1] +isFuelPumpOn = bits, U32, 1224, [2:2] +ignitionOn = bits, U32, 1224, [3:3] ; total TS size = 1228 -lua_fuelAdd = scalar, F32, 1228, "g", 1, 0 -lua_fuelMult = scalar, F32, 1232, "", 1, 0 -lua_clutchUpState = bits, U32, 1236, [0:0] -lua_brakePedalState = bits, U32, 1236, [1:1] -lua_acRequestState = bits, U32, 1236, [2:2] -lua_luaDisableEtb = bits, U32, 1236, [3:3] -lua_luaIgnCut = bits, U32, 1236, [4:4] -lua_luaFuelCut = bits, U32, 1236, [5:5] -lua_clutchDownState = bits, U32, 1236, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1236, [7:7] -lua_torqueReductionState = bits, U32, 1236, [8:8] -sd_tCharge = scalar, S16, 1240, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1244, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1248, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1252, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1256, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1260, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1264, "", 1, 0 -hellenBoardId = scalar, S16, 1268, "id", 1, 0 -clutchUpState = scalar, S08, 1270, "", 1, 0 -brakePedalState = scalar, S08, 1271, "", 1, 0 -startStopState = scalar, S08, 1272, "", 1, 0 -smartChipState = scalar, S08, 1273, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1274, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1275, "", 1, 0 -startStopPhysicalState = bits, U32, 1276, [0:0] -acrActive = bits, U32, 1276, [1:1] -acrEngineMovedRecently = bits, U32, 1276, [2:2] -heaterControlEnabled = bits, U32, 1276, [3:3] -luaDigitalState0 = bits, U32, 1276, [4:4] -luaDigitalState1 = bits, U32, 1276, [5:5] -luaDigitalState2 = bits, U32, 1276, [6:6] -luaDigitalState3 = bits, U32, 1276, [7:7] -clutchDownState = bits, U32, 1276, [8:8] -startStopStateToggleCounter = scalar, U32, 1280, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1284, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1288, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1292, "", 1, 0 -fuelInjectionCounter = scalar, U32, 1296, "", 1, 0 -globalSparkCounter = scalar, U32, 1300, "", 1, 0 -fuelingLoad = scalar, F32, 1304, "", 1, 0 -ignitionLoad = scalar, F32, 1308, "", 1, 0 -veTableYAxis = scalar, U16, 1312, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1314, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1315, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1316, "", 1, 0 -; total TS size = 1320 -tpsFrom = scalar, F32, 1320 -tpsTo = scalar, F32, 1324 -deltaTps = scalar, F32, 1328 -extraFuel = scalar, F32, 1332, "", 1, 0 -valueFromTable = scalar, F32, 1336, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1340, [0:0] -isBelowDecelThreshold = bits, U32, 1340, [1:1] -isTimeToResetAccumulator = bits, U32, 1340, [2:2] -isFractionalEnrichment = bits, U32, 1340, [3:3] -belowEpsilon = bits, U32, 1340, [4:4] -tooShort = bits, U32, 1340, [5:5] -fractionalInjFuel = scalar, F32, 1344, "", 1, 0 -accumulatedValue = scalar, F32, 1348, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1352, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1356, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1360, "", 1, 0 -cycleCnt = scalar, S32, 1364, "", 1, 0 -; total TS size = 1368 -hwEventCounters1 = scalar, U16, 1368, "", 1, 0 -hwEventCounters2 = scalar, U16, 1370, "", 1, 0 -hwEventCounters3 = scalar, U16, 1372, "", 1, 0 -hwEventCounters4 = scalar, U16, 1374, "", 1, 0 -vvtCamCounter = scalar, U16, 1376, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1380, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1384, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1388, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1389, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1392, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1396, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1400, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1404, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1408, [0:0] -triggerElapsedUs = scalar, U32, 1412, "", 1, 0 -; total TS size = 1416 -trgsynchronizationCounter = scalar, U32, 1416, "", 1, 0 -trgvvtToothDurations0 = scalar, U32, 1420, "us", 1, 0 -trgvvtCurrentPosition = scalar, F32, 1424, "", 1, 0 -trgvvtToothPosition1 = scalar, F32, 1428, "", 1, 0 -trgvvtToothPosition2 = scalar, F32, 1432, "", 1, 0 -trgvvtToothPosition3 = scalar, F32, 1436, "", 1, 0 -trgvvtToothPosition4 = scalar, F32, 1440, "", 1, 0 -trgtriggerSyncGapRatio = scalar, F32, 1444, "", 1, 0 -trgtriggerStateIndex = scalar, U08, 1448, "", 1, 0 -; total TS size = 1452 -vvt1isynchronizationCounter = scalar, U32, 1452, "", 1, 0 -vvt1ivvtToothDurations0 = scalar, U32, 1456, "us", 1, 0 -vvt1ivvtCurrentPosition = scalar, F32, 1460, "", 1, 0 -vvt1ivvtToothPosition1 = scalar, F32, 1464, "", 1, 0 -vvt1ivvtToothPosition2 = scalar, F32, 1468, "", 1, 0 -vvt1ivvtToothPosition3 = scalar, F32, 1472, "", 1, 0 -vvt1ivvtToothPosition4 = scalar, F32, 1476, "", 1, 0 -vvt1itriggerSyncGapRatio = scalar, F32, 1480, "", 1, 0 -vvt1itriggerStateIndex = scalar, U08, 1484, "", 1, 0 -; total TS size = 1488 -vvt1esynchronizationCounter = scalar, U32, 1488, "", 1, 0 -vvt1evvtToothDurations0 = scalar, U32, 1492, "us", 1, 0 -vvt1evvtCurrentPosition = scalar, F32, 1496, "", 1, 0 -vvt1evvtToothPosition1 = scalar, F32, 1500, "", 1, 0 -vvt1evvtToothPosition2 = scalar, F32, 1504, "", 1, 0 -vvt1evvtToothPosition3 = scalar, F32, 1508, "", 1, 0 -vvt1evvtToothPosition4 = scalar, F32, 1512, "", 1, 0 -vvt1etriggerSyncGapRatio = scalar, F32, 1516, "", 1, 0 -vvt1etriggerStateIndex = scalar, U08, 1520, "", 1, 0 -; total TS size = 1524 -vvt2isynchronizationCounter = scalar, U32, 1524, "", 1, 0 -vvt2ivvtToothDurations0 = scalar, U32, 1528, "us", 1, 0 -vvt2ivvtCurrentPosition = scalar, F32, 1532, "", 1, 0 -vvt2ivvtToothPosition1 = scalar, F32, 1536, "", 1, 0 -vvt2ivvtToothPosition2 = scalar, F32, 1540, "", 1, 0 -vvt2ivvtToothPosition3 = scalar, F32, 1544, "", 1, 0 -vvt2ivvtToothPosition4 = scalar, F32, 1548, "", 1, 0 -vvt2itriggerSyncGapRatio = scalar, F32, 1552, "", 1, 0 -vvt2itriggerStateIndex = scalar, U08, 1556, "", 1, 0 -; total TS size = 1560 -vvt2esynchronizationCounter = scalar, U32, 1560, "", 1, 0 -vvt2evvtToothDurations0 = scalar, U32, 1564, "us", 1, 0 -vvt2evvtCurrentPosition = scalar, F32, 1568, "", 1, 0 -vvt2evvtToothPosition1 = scalar, F32, 1572, "", 1, 0 -vvt2evvtToothPosition2 = scalar, F32, 1576, "", 1, 0 -vvt2evvtToothPosition3 = scalar, F32, 1580, "", 1, 0 -vvt2evvtToothPosition4 = scalar, F32, 1584, "", 1, 0 -vvt2etriggerSyncGapRatio = scalar, F32, 1588, "", 1, 0 -vvt2etriggerStateIndex = scalar, U08, 1592, "", 1, 0 -; total TS size = 1596 -camResyncCounter = scalar, U08, 1596, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1600, [0:0] -; total TS size = 1604 -wallFuelCorrection = scalar, F32, 1604, "", 1, 0 -wallFuel = scalar, F32, 1608, "", 1, 0 -; total TS size = 1612 -idleState = bits, S32, 1612, [0:2], "not important" -currentIdlePosition = scalar, F32, 1616 -baseIdlePosition = scalar, F32, 1620 -idleClosedLoop = scalar, F32, 1624 -iacByTpsTaper = scalar, F32, 1628 -mightResetPid = bits, U32, 1632, [0:0] -shouldResetPid = bits, U32, 1632, [1:1] -wasResetPid = bits, U32, 1632, [2:2] -mustResetPid = bits, U32, 1632, [3:3] -isCranking = bits, U32, 1632, [4:4] -isIacTableForCoasting = bits, U32, 1632, [5:5] -notIdling = bits, U32, 1632, [6:6] -needReset = bits, U32, 1632, [7:7] -isInDeadZone = bits, U32, 1632, [8:8] -isBlipping = bits, U32, 1632, [9:9] -useClosedLoop = bits, U32, 1632, [10:10] -badTps = bits, U32, 1632, [11:11] -looksLikeRunning = bits, U32, 1632, [12:12] -looksLikeCoasting = bits, U32, 1632, [13:13] -looksLikeCrankToIdle = bits, U32, 1632, [14:14] -isIdleCoasting = bits, U32, 1632, [15:15] -isIdleClosedLoop = bits, U32, 1632, [16:16] -idleTarget = scalar, S32, 1636, "", 1, 0 -targetRpmByClt = scalar, S32, 1640, "", 1, 0 -targetRpmAc = scalar, S32, 1644, "", 1, 0 -iacByRpmTaper = scalar, F32, 1648 -luaAdd = scalar, F32, 1652 -; total TS size = 1656 -etb1targetWithIdlePosition = scalar, F32, 1656, "%", 1,0 -etb1trim = scalar, F32, 1660, "", 1, 0 -etb1luaAdjustment = scalar, F32, 1664, "%", 1,0 -etb1m_wastegatePosition = scalar, F32, 1668, "%", 1,0 -etb1etbFeedForward = scalar, F32, 1672 -etb1etbIntegralError = scalar, F32, 1676, "", 1, 0 -etb1etbCurrentTarget = scalar, F32, 1680, "%", 1, 0 -etb1m_adjustedTarget = scalar, S16, 1684, "%", 0.01, 0 -etb1etbRevLimitActive = bits, U32, 1688, [0:0] -etb1jamDetected = bits, U32, 1688, [1:1] -etb1validPlantPosition = bits, U32, 1688, [2:2] -etb1etbTpsErrorCounter = scalar, U16, 1692, "count", 1,0 -etb1etbPpsErrorCounter = scalar, U16, 1694, "count", 1,0 -etb1etbErrorCode = scalar, S08, 1696, "", 1, 0 -etb1etbErrorCodeBlinker = scalar, S08, 1697, "", 1, 0 -etb1tcEtbDrop = scalar, S08, 1698, "%", 1, 0 -etb1jamTimer = scalar, U16, 1700, "sec", 0.01, 0 -etb1adjustedEtbTarget = scalar, S08, 1702, "%", 1, 0 -etb1state = scalar, U08, 1703, "", 1, 0 -; total TS size = 1704 -etb2targetWithIdlePosition = scalar, F32, 1704, "%", 1,0 -etb2trim = scalar, F32, 1708, "", 1, 0 -etb2luaAdjustment = scalar, F32, 1712, "%", 1,0 -etb2m_wastegatePosition = scalar, F32, 1716, "%", 1,0 -etb2etbFeedForward = scalar, F32, 1720 -etb2etbIntegralError = scalar, F32, 1724, "", 1, 0 -etb2etbCurrentTarget = scalar, F32, 1728, "%", 1, 0 -etb2m_adjustedTarget = scalar, S16, 1732, "%", 0.01, 0 -etb2etbRevLimitActive = bits, U32, 1736, [0:0] -etb2jamDetected = bits, U32, 1736, [1:1] -etb2validPlantPosition = bits, U32, 1736, [2:2] -etb2etbTpsErrorCounter = scalar, U16, 1740, "count", 1,0 -etb2etbPpsErrorCounter = scalar, U16, 1742, "count", 1,0 -etb2etbErrorCode = scalar, S08, 1744, "", 1, 0 -etb2etbErrorCodeBlinker = scalar, S08, 1745, "", 1, 0 -etb2tcEtbDrop = scalar, S08, 1746, "%", 1, 0 -etb2jamTimer = scalar, U16, 1748, "sec", 0.01, 0 -etb2adjustedEtbTarget = scalar, S08, 1750, "%", 1, 0 -etb2state = scalar, U08, 1751, "", 1, 0 -; total TS size = 1752 -wb1faultCode = scalar, U08, 1752, "", 1, 0 -wb1heaterDuty = scalar, U08, 1753, "%", 1, 0 -wb1pumpDuty = scalar, U08, 1754, "%", 1, 0 -wb1tempC = scalar, U16, 1756, "C", 1, 0 -wb1nernstVoltage = scalar, U16, 1758, "V", 0.001, 0 -wb1esr = scalar, U16, 1760, "ohm", 1, 0 -; total TS size = 1764 -wb2faultCode = scalar, U08, 1764, "", 1, 0 -wb2heaterDuty = scalar, U08, 1765, "%", 1, 0 -wb2pumpDuty = scalar, U08, 1766, "%", 1, 0 -wb2tempC = scalar, U16, 1768, "C", 1, 0 -wb2nernstVoltage = scalar, U16, 1770, "V", 0.001, 0 -wb2esr = scalar, U16, 1772, "ohm", 1, 0 -; total TS size = 1776 -dcOutput0 = scalar, F32, 1776, "%", 1,0 -isEnabled0_int = scalar, U08, 1780, "%", 1,0 -isEnabled0 = bits, U32, 1784, [0:0] -; total TS size = 1788 -value0 = scalar, U16, 1788, "RAW", 1,0 -value1 = scalar, U16, 1790, "RAW", 1,0 -errorRate = scalar, F32, 1792, "% (don't belive me)", 1,0 -; total TS size = 1796 -vvtTarget = scalar, U16, 1796, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1798, "%", 0.5, 0 +isBenchTest = bits, U32, 1228, [0:0] +hasIgnitionVoltage = bits, U32, 1228, [1:1] +mainRelayState = bits, U32, 1228, [2:2] +delayedShutoffRequested = bits, U32, 1228, [3:3] +; total TS size = 1232 +lua_fuelAdd = scalar, F32, 1232, "g", 1, 0 +lua_fuelMult = scalar, F32, 1236, "", 1, 0 +lua_clutchUpState = bits, U32, 1240, [0:0] +lua_brakePedalState = bits, U32, 1240, [1:1] +lua_acRequestState = bits, U32, 1240, [2:2] +lua_luaDisableEtb = bits, U32, 1240, [3:3] +lua_luaIgnCut = bits, U32, 1240, [4:4] +lua_luaFuelCut = bits, U32, 1240, [5:5] +lua_clutchDownState = bits, U32, 1240, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1240, [7:7] +lua_torqueReductionState = bits, U32, 1240, [8:8] +sd_tCharge = scalar, S16, 1244, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1248, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1252, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1256, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1260, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1264, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1268, "", 1, 0 +hellenBoardId = scalar, S16, 1272, "id", 1, 0 +clutchUpState = scalar, S08, 1274, "", 1, 0 +brakePedalState = scalar, S08, 1275, "", 1, 0 +startStopState = scalar, S08, 1276, "", 1, 0 +smartChipState = scalar, S08, 1277, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1278, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1279, "", 1, 0 +startStopPhysicalState = bits, U32, 1280, [0:0] +acrActive = bits, U32, 1280, [1:1] +acrEngineMovedRecently = bits, U32, 1280, [2:2] +heaterControlEnabled = bits, U32, 1280, [3:3] +luaDigitalState0 = bits, U32, 1280, [4:4] +luaDigitalState1 = bits, U32, 1280, [5:5] +luaDigitalState2 = bits, U32, 1280, [6:6] +luaDigitalState3 = bits, U32, 1280, [7:7] +clutchDownState = bits, U32, 1280, [8:8] +startStopStateToggleCounter = scalar, U32, 1284, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1288, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1292, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1296, "", 1, 0 +fuelInjectionCounter = scalar, U32, 1300, "", 1, 0 +globalSparkCounter = scalar, U32, 1304, "", 1, 0 +fuelingLoad = scalar, F32, 1308, "", 1, 0 +ignitionLoad = scalar, F32, 1312, "", 1, 0 +veTableYAxis = scalar, U16, 1316, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1318, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1319, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1320, "", 1, 0 +; total TS size = 1324 +tpsFrom = scalar, F32, 1324 +tpsTo = scalar, F32, 1328 +deltaTps = scalar, F32, 1332 +extraFuel = scalar, F32, 1336, "", 1, 0 +valueFromTable = scalar, F32, 1340, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1344, [0:0] +isBelowDecelThreshold = bits, U32, 1344, [1:1] +isTimeToResetAccumulator = bits, U32, 1344, [2:2] +isFractionalEnrichment = bits, U32, 1344, [3:3] +belowEpsilon = bits, U32, 1344, [4:4] +tooShort = bits, U32, 1344, [5:5] +fractionalInjFuel = scalar, F32, 1348, "", 1, 0 +accumulatedValue = scalar, F32, 1352, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1356, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1360, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1364, "", 1, 0 +cycleCnt = scalar, S32, 1368, "", 1, 0 +; total TS size = 1372 +hwEventCounters1 = scalar, U16, 1372, "", 1, 0 +hwEventCounters2 = scalar, U16, 1374, "", 1, 0 +hwEventCounters3 = scalar, U16, 1376, "", 1, 0 +hwEventCounters4 = scalar, U16, 1378, "", 1, 0 +vvtCamCounter = scalar, U16, 1380, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1384, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1388, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1392, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1393, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1396, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1400, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1404, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1408, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1412, [0:0] +triggerElapsedUs = scalar, U32, 1416, "", 1, 0 +; total TS size = 1420 +trgsynchronizationCounter = scalar, U32, 1420, "", 1, 0 +trgvvtToothDurations0 = scalar, U32, 1424, "us", 1, 0 +trgvvtCurrentPosition = scalar, F32, 1428, "", 1, 0 +trgvvtToothPosition1 = scalar, F32, 1432, "", 1, 0 +trgvvtToothPosition2 = scalar, F32, 1436, "", 1, 0 +trgvvtToothPosition3 = scalar, F32, 1440, "", 1, 0 +trgvvtToothPosition4 = scalar, F32, 1444, "", 1, 0 +trgtriggerSyncGapRatio = scalar, F32, 1448, "", 1, 0 +trgtriggerStateIndex = scalar, U08, 1452, "", 1, 0 +; total TS size = 1456 +vvt1isynchronizationCounter = scalar, U32, 1456, "", 1, 0 +vvt1ivvtToothDurations0 = scalar, U32, 1460, "us", 1, 0 +vvt1ivvtCurrentPosition = scalar, F32, 1464, "", 1, 0 +vvt1ivvtToothPosition1 = scalar, F32, 1468, "", 1, 0 +vvt1ivvtToothPosition2 = scalar, F32, 1472, "", 1, 0 +vvt1ivvtToothPosition3 = scalar, F32, 1476, "", 1, 0 +vvt1ivvtToothPosition4 = scalar, F32, 1480, "", 1, 0 +vvt1itriggerSyncGapRatio = scalar, F32, 1484, "", 1, 0 +vvt1itriggerStateIndex = scalar, U08, 1488, "", 1, 0 +; total TS size = 1492 +vvt1esynchronizationCounter = scalar, U32, 1492, "", 1, 0 +vvt1evvtToothDurations0 = scalar, U32, 1496, "us", 1, 0 +vvt1evvtCurrentPosition = scalar, F32, 1500, "", 1, 0 +vvt1evvtToothPosition1 = scalar, F32, 1504, "", 1, 0 +vvt1evvtToothPosition2 = scalar, F32, 1508, "", 1, 0 +vvt1evvtToothPosition3 = scalar, F32, 1512, "", 1, 0 +vvt1evvtToothPosition4 = scalar, F32, 1516, "", 1, 0 +vvt1etriggerSyncGapRatio = scalar, F32, 1520, "", 1, 0 +vvt1etriggerStateIndex = scalar, U08, 1524, "", 1, 0 +; total TS size = 1528 +vvt2isynchronizationCounter = scalar, U32, 1528, "", 1, 0 +vvt2ivvtToothDurations0 = scalar, U32, 1532, "us", 1, 0 +vvt2ivvtCurrentPosition = scalar, F32, 1536, "", 1, 0 +vvt2ivvtToothPosition1 = scalar, F32, 1540, "", 1, 0 +vvt2ivvtToothPosition2 = scalar, F32, 1544, "", 1, 0 +vvt2ivvtToothPosition3 = scalar, F32, 1548, "", 1, 0 +vvt2ivvtToothPosition4 = scalar, F32, 1552, "", 1, 0 +vvt2itriggerSyncGapRatio = scalar, F32, 1556, "", 1, 0 +vvt2itriggerStateIndex = scalar, U08, 1560, "", 1, 0 +; total TS size = 1564 +vvt2esynchronizationCounter = scalar, U32, 1564, "", 1, 0 +vvt2evvtToothDurations0 = scalar, U32, 1568, "us", 1, 0 +vvt2evvtCurrentPosition = scalar, F32, 1572, "", 1, 0 +vvt2evvtToothPosition1 = scalar, F32, 1576, "", 1, 0 +vvt2evvtToothPosition2 = scalar, F32, 1580, "", 1, 0 +vvt2evvtToothPosition3 = scalar, F32, 1584, "", 1, 0 +vvt2evvtToothPosition4 = scalar, F32, 1588, "", 1, 0 +vvt2etriggerSyncGapRatio = scalar, F32, 1592, "", 1, 0 +vvt2etriggerStateIndex = scalar, U08, 1596, "", 1, 0 +; total TS size = 1600 +camResyncCounter = scalar, U08, 1600, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1604, [0:0] +; total TS size = 1608 +wallFuelCorrection = scalar, F32, 1608, "", 1, 0 +wallFuel = scalar, F32, 1612, "", 1, 0 +; total TS size = 1616 +idleState = bits, S32, 1616, [0:2], "not important" +currentIdlePosition = scalar, F32, 1620 +baseIdlePosition = scalar, F32, 1624 +idleClosedLoop = scalar, F32, 1628 +iacByTpsTaper = scalar, F32, 1632 +mightResetPid = bits, U32, 1636, [0:0] +shouldResetPid = bits, U32, 1636, [1:1] +wasResetPid = bits, U32, 1636, [2:2] +mustResetPid = bits, U32, 1636, [3:3] +isCranking = bits, U32, 1636, [4:4] +isIacTableForCoasting = bits, U32, 1636, [5:5] +notIdling = bits, U32, 1636, [6:6] +needReset = bits, U32, 1636, [7:7] +isInDeadZone = bits, U32, 1636, [8:8] +isBlipping = bits, U32, 1636, [9:9] +useClosedLoop = bits, U32, 1636, [10:10] +badTps = bits, U32, 1636, [11:11] +looksLikeRunning = bits, U32, 1636, [12:12] +looksLikeCoasting = bits, U32, 1636, [13:13] +looksLikeCrankToIdle = bits, U32, 1636, [14:14] +isIdleCoasting = bits, U32, 1636, [15:15] +isIdleClosedLoop = bits, U32, 1636, [16:16] +idleTarget = scalar, S32, 1640, "", 1, 0 +targetRpmByClt = scalar, S32, 1644, "", 1, 0 +targetRpmAc = scalar, S32, 1648, "", 1, 0 +iacByRpmTaper = scalar, F32, 1652 +luaAdd = scalar, F32, 1656 +; total TS size = 1660 +etb1targetWithIdlePosition = scalar, F32, 1660, "%", 1,0 +etb1trim = scalar, F32, 1664, "", 1, 0 +etb1luaAdjustment = scalar, F32, 1668, "%", 1,0 +etb1m_wastegatePosition = scalar, F32, 1672, "%", 1,0 +etb1etbFeedForward = scalar, F32, 1676 +etb1etbIntegralError = scalar, F32, 1680, "", 1, 0 +etb1etbCurrentTarget = scalar, F32, 1684, "%", 1, 0 +etb1m_adjustedTarget = scalar, S16, 1688, "%", 0.01, 0 +etb1etbRevLimitActive = bits, U32, 1692, [0:0] +etb1jamDetected = bits, U32, 1692, [1:1] +etb1validPlantPosition = bits, U32, 1692, [2:2] +etb1etbTpsErrorCounter = scalar, U16, 1696, "count", 1,0 +etb1etbPpsErrorCounter = scalar, U16, 1698, "count", 1,0 +etb1etbErrorCode = scalar, S08, 1700, "", 1, 0 +etb1etbErrorCodeBlinker = scalar, S08, 1701, "", 1, 0 +etb1tcEtbDrop = scalar, S08, 1702, "%", 1, 0 +etb1jamTimer = scalar, U16, 1704, "sec", 0.01, 0 +etb1adjustedEtbTarget = scalar, S08, 1706, "%", 1, 0 +etb1state = scalar, U08, 1707, "", 1, 0 +; total TS size = 1708 +etb2targetWithIdlePosition = scalar, F32, 1708, "%", 1,0 +etb2trim = scalar, F32, 1712, "", 1, 0 +etb2luaAdjustment = scalar, F32, 1716, "%", 1,0 +etb2m_wastegatePosition = scalar, F32, 1720, "%", 1,0 +etb2etbFeedForward = scalar, F32, 1724 +etb2etbIntegralError = scalar, F32, 1728, "", 1, 0 +etb2etbCurrentTarget = scalar, F32, 1732, "%", 1, 0 +etb2m_adjustedTarget = scalar, S16, 1736, "%", 0.01, 0 +etb2etbRevLimitActive = bits, U32, 1740, [0:0] +etb2jamDetected = bits, U32, 1740, [1:1] +etb2validPlantPosition = bits, U32, 1740, [2:2] +etb2etbTpsErrorCounter = scalar, U16, 1744, "count", 1,0 +etb2etbPpsErrorCounter = scalar, U16, 1746, "count", 1,0 +etb2etbErrorCode = scalar, S08, 1748, "", 1, 0 +etb2etbErrorCodeBlinker = scalar, S08, 1749, "", 1, 0 +etb2tcEtbDrop = scalar, S08, 1750, "%", 1, 0 +etb2jamTimer = scalar, U16, 1752, "sec", 0.01, 0 +etb2adjustedEtbTarget = scalar, S08, 1754, "%", 1, 0 +etb2state = scalar, U08, 1755, "", 1, 0 +; total TS size = 1756 +wb1faultCode = scalar, U08, 1756, "", 1, 0 +wb1heaterDuty = scalar, U08, 1757, "%", 1, 0 +wb1pumpDuty = scalar, U08, 1758, "%", 1, 0 +wb1tempC = scalar, U16, 1760, "C", 1, 0 +wb1nernstVoltage = scalar, U16, 1762, "V", 0.001, 0 +wb1esr = scalar, U16, 1764, "ohm", 1, 0 +; total TS size = 1768 +wb2faultCode = scalar, U08, 1768, "", 1, 0 +wb2heaterDuty = scalar, U08, 1769, "%", 1, 0 +wb2pumpDuty = scalar, U08, 1770, "%", 1, 0 +wb2tempC = scalar, U16, 1772, "C", 1, 0 +wb2nernstVoltage = scalar, U16, 1774, "V", 0.001, 0 +wb2esr = scalar, U16, 1776, "ohm", 1, 0 +; total TS size = 1780 +dcOutput0 = scalar, F32, 1780, "%", 1,0 +isEnabled0_int = scalar, U08, 1784, "%", 1,0 +isEnabled0 = bits, U32, 1788, [0:0] +; total TS size = 1792 +value0 = scalar, U16, 1792, "RAW", 1,0 +value1 = scalar, U16, 1794, "RAW", 1,0 +errorRate = scalar, F32, 1796, "% (don't belive me)", 1,0 ; total TS size = 1800 -lambdaCurrentlyGood = bits, U32, 1800, [0:0] -lambdaMonitorCut = bits, U32, 1800, [1:1] -lambdaTimeSinceGood = scalar, U16, 1804, "sec", 0.01, 0 -; total TS size = 1808 +vvtTarget = scalar, U16, 1800, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1802, "%", 0.5, 0 +; total TS size = 1804 +lambdaCurrentlyGood = bits, U32, 1804, [0:0] +lambdaMonitorCut = bits, U32, 1804, [1:1] +lambdaTimeSinceGood = scalar, U16, 1808, "sec", 0.01, 0 +; total TS size = 1812 time = { timeNow } @@ -4584,6 +4587,12 @@ curve = rangeMatrix, "Range Switch Input Matrix" gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. upDownLabel = "(RICHER)", "(LEANER)" + table = trailingSparkTable, trailingSparkMap, "Trailing spark", 1 + xyLabels = "RPM", "Ignition Load" + xBins = trailingSparkRpmBins, RPMValue + yBins = trailingSparkLoadBins, ignitionLoad + zBins = trailingSparkTable + table = torqueTableTbl, torqueTableMap, "Engine Torque", 1 xBins = torqueRpmBins, RPMValue yBins = torqueLoadBins, veTableYAxis @@ -4881,6 +4890,7 @@ timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20 timingPidCorrectionGauge = timingPidCorrection,"Idle: Timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 +trailingSparkAngleGauge = trailingSparkAngle,"Ign: Trailing spark deg", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 gaugeCategory = "Boost Control" luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 @@ -5811,6 +5821,7 @@ entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" entry = luaIgnitionSkip, "Ign: Lua Spark Skip", int, "%d" +entry = trailingSparkAngle, "Ign: Trailing spark deg", float, "%.3f" entry = m_knockLevel, "Knock: Current level", float, "%.3f" entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" @@ -6760,6 +6771,7 @@ dialog = ignition_stateDialog, "ignition_state" graphLine = luaTimingAdd liveGraph = ignition_state_4_Graph, "Graph", South graphLine = luaTimingMult + graphLine = trailingSparkAngle dialog = knock_controllerDialog, "knock_controller" @@ -10069,11 +10081,11 @@ dialog = tcuControls, "Transmission Settings" dialog = rotaryDialog, "Rotary" field = "Enable Trailing Sparks", enableTrailingSparks - field = "Trailing Spark Offset", trailingSparkAngle field = "Trailing Pin 1", trailingCoilPins1 field = "Trailing Pin 2", trailingCoilPins2 field = "Trailing Pin 3", trailingCoilPins3 field = "Trailing Pin 4", trailingCoilPins4 + panel = trailingSparkTable diff --git a/firmware/tunerstudio/generated/rusefi_hellen121nissan.ini b/firmware/tunerstudio/generated/rusefi_hellen121nissan.ini index c3d334f7de..fa348ab788 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.2025.02.07.hellen121nissan.2183100182" + signature = "rusEFI master.2025.02.07.hellen121nissan.94173307" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2025.02.07.hellen121nissan.2183100182" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2025.02.07.hellen121nissan.94173307" ; 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 @@ -101,7 +101,7 @@ enable2ndByteCanID = false ; CONFIG_DEFINITION_START ; this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt -pageSize = 23280 +pageSize = 23304 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",22="BMW_M52",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",21="ET_BOSCH_QUICK_START",24="ET_TEST_WITH_BOSCH_QUICK_START",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",41="FRANKENSO_MIATA_NA6_MAP",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",47="GM_LCV",55="GM_LTG",98="GM_SBC",49="GM_SBC_GEN5",8="GY6_139QMB",6="HARLEY",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",34="MAZDA_MIATA_NA6",80="MAZDA_MIATA_NA94",10="MAZDA_MIATA_NA96",83="MAZDA_MIATA_NB1",69="MAZDA_MIATA_NB2",86="MAZDA_MIATA_NB2_36",20="MAZDA_MIATA_NC",33="ME17_9_MISC",68="MERCEDES_M111",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",4="MRE_SECONDARY_CAN",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",35="POLARIS",9="POLARIS_RZR",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",27="PROTEUS_GM_LS_4",25="PROTEUS_LUA_DEMO",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",17="TCU_4R70W",100="TEST_100",101="TEST_101",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",93="TEST_ISSUE_6451",19="TEST_ROTARY",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",102="UNUSED102",67="UNUSED67",94="UNUSED94",65="UNUSED_65",97="UNUSED_97",77="VAG_5_CYL",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -245,7 +245,7 @@ vbattAdcChannel = bits, U08, 513, [0:5], $adc_channel_e_list fuelLevelSensor = bits, U08, 514, [0:5], $adc_channel_e_list tps2_1AdcChannel = bits, U08, 515, [0:5], $adc_channel_e_list idle_derivativeFilterLoss = scalar, F32, 516, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 520, "angle", 1, 0, 0, 720, 0 +unusedTrailingSparkAngle = scalar, S32, 520, "", 1, 0, 0, 100, 0 trigger_type = bits, U32, 524, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Daihatsu 3 cylinder", "Mazda SOHC 4", "60-2", "36-1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "Dodge Ram 1+16", "60-2 Wrong Polarity", "Benelli Tre", "Dodge Stratus", "36_2_2_2", "Nissan Primera", "dev 2JZ 3/34 simulator", "Rover K", "GM 24x 5 degree", "Honda CBR 600 Cam", "INVALID", "Honda CBR 600 custom", "3-1 skipped", "Dodge Neon 2003 crank", "Miata NB", "INVALID", "INVALID", "Subaru 7+6", "Jeep 18-2-2-2", "12crank/24cam", "Dodge Neon 1995 crank only", "Jeep XJ 4 cyl", "FiatIAQ_P8", "Mazda Z5", "INVALID", "Renix 44-2-2", "Renix 66-2-2-2", "Honda K 12+1", "INVALID", "36-2", "Subaru SVX", "Suzuki K6A", "Subaru 7 without 6", "INVALID", "INVALID", "GM 60-2-2-2", "Skoda Favorit", "Barra 3+1 Cam", "Kawa KX450F", "Nissan VQ35", "INVALID", "Nissan VQ30", "Nissan QR25", "INVALID", "Subaru SVX Crank 1", "Subaru SVX Cam VVT", "Ford PIP", "Suzuki G13B", "Honda K 4+1", "Nissan MR18 Crank", "32-2", "36-2-1", "36-2-1-1", "3-0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6-0", "Daihatsu 4 cylinder", "INVALID", "dev", "Nissan HR", "Arctic Cat", "HR12 in", "HONDA J30A2", "trg88", "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" trigger_customTotalToothCount = scalar, S32, 528, "number", 1, 0, 1, 300, 0 trigger_customSkippedToothCount = scalar, S32, 532, "number", 1, 0, 0, 300, 0 @@ -1796,7 +1796,10 @@ dynoCarCarMassKg = scalar, S16, 23268, "", 1, 0, 0, 32000, 0 dynoCarCargoMassKg = scalar, S16, 23270, "", 1, 0, 0, 32000, 0 dynoCarCoeffOfDrag = scalar, F32, 23272, "", 1, 0, 0, 100, 0 dynoCarFrontalAreaM2 = scalar, F32, 23276, "", 1, 0, 0, 100, 0 -; total TS size = 23280 +trailingSparkTable = array, S08, 23280, [4x4], "deg", 0.1, 0, 0, 20, 1 +trailingSparkRpmBins = array, U08, 23296, [4], "rpm", 50.0, 0, 0, 12000, 0 +trailingSparkLoadBins = array, U08, 23300, [4], "Load", 5.0, 0, 0, 1000, 0 +; total TS size = 23304 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1890,7 +1893,6 @@ dynoCarFrontalAreaM2 = scalar, F32, 23276, "", 1, 0, 0, 100, 0 fuelLevelSensor = "This is the processor pin that your fuel level sensor in connected to. This is a non standard input so will need to be user defined." tps2_1AdcChannel = "Second throttle body position sensor, single channel so far" idle_derivativeFilterLoss = "0.1 is a good default value" - trailingSparkAngle = "just a temporary solution" trigger_type = "https://github.com/rusefi/rusefi/wiki/All-Supported-Triggers" airByRpmTaper = "Extra air taper amount" boostControlSafeDutyCycle = "Duty cycle to use in case of a sensor failure. This duty cycle should produce the minimum possible amount of boost. This duty is also used in case any of the minimum RPM/TPS/MAP conditions are not met." @@ -2664,7 +2666,7 @@ dynoCarFrontalAreaM2 = scalar, F32, 23276, "", 1, 0, 0, 100, 0 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1808 + ochBlockSize = 1812 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3189,417 +3191,418 @@ dwellVoltageCorrection = scalar, F32, 940, "", 1, 0 luaTimingAdd = scalar, F32, 944, "deg", 1, 0 luaTimingMult = scalar, F32, 948, "deg", 1, 0 luaIgnitionSkip = bits, U32, 952, [0:0] -; total TS size = 956 -m_knockLevel = scalar, F32, 956, "Volts", 1, 0 -m_knockCyl1 = scalar, S08, 960, "dBv", 1, 0 -m_knockCyl2 = scalar, S08, 961, "dBv", 1, 0 -m_knockCyl3 = scalar, S08, 962, "dBv", 1, 0 -m_knockCyl4 = scalar, S08, 963, "dBv", 1, 0 -m_knockCyl5 = scalar, S08, 964, "dBv", 1, 0 -m_knockCyl6 = scalar, S08, 965, "dBv", 1, 0 -m_knockCyl7 = scalar, S08, 966, "dBv", 1, 0 -m_knockCyl8 = scalar, S08, 967, "dBv", 1, 0 -m_knockCyl9 = scalar, S08, 968, "dBv", 1, 0 -m_knockCyl10 = scalar, S08, 969, "dBv", 1, 0 -m_knockCyl11 = scalar, S08, 970, "dBv", 1, 0 -m_knockCyl12 = scalar, S08, 971, "dBv", 1, 0 -m_knockRetard = scalar, F32, 972, "deg", 1,0 -m_knockThreshold = scalar, F32, 976, "", 1, 0 -m_knockCount = scalar, U32, 980, "", 1, 0 -m_maximumRetard = scalar, F32, 984, "", 1, 0 -m_knockSpectrum1 = scalar, U32, 988, "compressed data", 1, 0 -m_knockSpectrum2 = scalar, U32, 992, "compressed data", 1, 0 -m_knockSpectrum3 = scalar, U32, 996, "compressed data", 1, 0 -m_knockSpectrum4 = scalar, U32, 1000, "compressed data", 1, 0 -m_knockSpectrum5 = scalar, U32, 1004, "compressed data", 1, 0 -m_knockSpectrum6 = scalar, U32, 1008, "compressed data", 1, 0 -m_knockSpectrum7 = scalar, U32, 1012, "compressed data", 1, 0 -m_knockSpectrum8 = scalar, U32, 1016, "compressed data", 1, 0 -m_knockSpectrum9 = scalar, U32, 1020, "compressed data", 1, 0 -m_knockSpectrum10 = scalar, U32, 1024, "compressed data", 1, 0 -m_knockSpectrum11 = scalar, U32, 1028, "compressed data", 1, 0 -m_knockSpectrum12 = scalar, U32, 1032, "compressed data", 1, 0 -m_knockSpectrum13 = scalar, U32, 1036, "compressed data", 1, 0 -m_knockSpectrum14 = scalar, U32, 1040, "compressed data", 1, 0 -m_knockSpectrum15 = scalar, U32, 1044, "compressed data", 1, 0 -m_knockSpectrum16 = scalar, U32, 1048, "compressed data", 1, 0 -m_knockSpectrumChannelCyl = scalar, U16, 1052, "compressed N + N", 1, 0 -m_knockFrequencyStart = scalar, U16, 1054, "Hz", 1, 0 -m_knockFrequencyStep = scalar, F32, 1056, "Hz", 1, 0 -m_knockFuelTrimMultiplier = scalar, F32, 1060, "multiplier", 1, 0 -; total TS size = 1064 -m_isPriming = bits, U32, 1064, [0:0] +trailingSparkAngle = scalar, S16, 956, "deg", 0.01,0 +; total TS size = 960 +m_knockLevel = scalar, F32, 960, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 964, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 965, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 966, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 967, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 968, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 969, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 970, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 971, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 972, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 973, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 974, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 975, "dBv", 1, 0 +m_knockRetard = scalar, F32, 976, "deg", 1,0 +m_knockThreshold = scalar, F32, 980, "", 1, 0 +m_knockCount = scalar, U32, 984, "", 1, 0 +m_maximumRetard = scalar, F32, 988, "", 1, 0 +m_knockSpectrum1 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1040, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1044, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1048, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1052, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1056, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1058, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1060, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1064, "multiplier", 1, 0 ; total TS size = 1068 -tcuCurrentGear = scalar, S08, 1068, "gear", 1, 0 -tcRatio = scalar, U16, 1070, "value", 0.01, 0 -lastShiftTime = scalar, F32, 1072, "", 1, 0 -tcu_currentRange = scalar, U08, 1076, "", 1, 0 -pressureControlDuty = scalar, S08, 1077, "%", 1,0 -torqueConverterDuty = scalar, S08, 1078, "%", 1,0 -isShifting = bits, U32, 1080, [0:0] -; total TS size = 1084 -throttleUseWotModel = bits, U32, 1084, [0:0] -throttleModelCrossoverAngle = scalar, S16, 1088, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1092, "g/s", 1, 0 -; total TS size = 1096 -m_requested_pump = scalar, F32, 1096, "", 1, 0 -fuel_requested_percent = scalar, F32, 1100, "%", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1104, "", 1, 0 -noValve = bits, U32, 1108, [0:0] -angleAboveMin = bits, U32, 1108, [1:1] -isHpfpActive = bits, U32, 1108, [2:2] -HpfpValveState = bits, U32, 1108, [3:3] -m_pressureTarget_kPa = scalar, F32, 1112, "", 1, 0 -nextLobe = scalar, F32, 1116, "", 1, 0 -di_nextStart = scalar, F32, 1120, "v", 1, 0 -HpfdActivationPhase = scalar, F32, 1124, "", 1, 0 -HpfdDeactivationPhase = scalar, F32, 1128, "", 1, 0 -; total TS size = 1132 -m_deadtime = scalar, F32, 1132, "ms", 1, 0 -pressureDelta = scalar, F32, 1136, "kPa", 1, 0 -pressureRatio = scalar, F32, 1140, "", 1, 0 -; total TS size = 1144 -retardThresholdRpm = scalar, S32, 1144, "", 1, 0 -launchActivatePinState = bits, U32, 1148, [0:0] -isPreLaunchCondition = bits, U32, 1148, [1:1] -isLaunchCondition = bits, U32, 1148, [2:2] -isSwitchActivated = bits, U32, 1148, [3:3] -isClutchActivated = bits, U32, 1148, [4:4] -isBrakePedalActivated = bits, U32, 1148, [5:5] -isValidInputPin = bits, U32, 1148, [6:6] -activateSwitchCondition = bits, U32, 1148, [7:7] -rpmLaunchCondition = bits, U32, 1148, [8:8] -rpmPreLaunchCondition = bits, U32, 1148, [9:9] -speedCondition = bits, U32, 1148, [10:10] -tpsCondition = bits, U32, 1148, [11:11] -; total TS size = 1152 -isTorqueReductionTriggerPinValid = bits, U32, 1152, [0:0] -torqueReductionTriggerPinState = bits, U32, 1152, [1:1] -isTimeConditionSatisfied = bits, U32, 1152, [2:2] -isRpmConditionSatisfied = bits, U32, 1152, [3:3] -isAppConditionSatisfied = bits, U32, 1152, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1152, [5:5] +m_isPriming = bits, U32, 1068, [0:0] +; total TS size = 1072 +tcuCurrentGear = scalar, S08, 1072, "gear", 1, 0 +tcRatio = scalar, U16, 1074, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1076, "", 1, 0 +tcu_currentRange = scalar, U08, 1080, "", 1, 0 +pressureControlDuty = scalar, S08, 1081, "%", 1,0 +torqueConverterDuty = scalar, S08, 1082, "%", 1,0 +isShifting = bits, U32, 1084, [0:0] +; total TS size = 1088 +throttleUseWotModel = bits, U32, 1088, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1092, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1096, "g/s", 1, 0 +; total TS size = 1100 +m_requested_pump = scalar, F32, 1100, "", 1, 0 +fuel_requested_percent = scalar, F32, 1104, "%", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1108, "", 1, 0 +noValve = bits, U32, 1112, [0:0] +angleAboveMin = bits, U32, 1112, [1:1] +isHpfpActive = bits, U32, 1112, [2:2] +HpfpValveState = bits, U32, 1112, [3:3] +m_pressureTarget_kPa = scalar, F32, 1116, "", 1, 0 +nextLobe = scalar, F32, 1120, "", 1, 0 +di_nextStart = scalar, F32, 1124, "v", 1, 0 +HpfdActivationPhase = scalar, F32, 1128, "", 1, 0 +HpfdDeactivationPhase = scalar, F32, 1132, "", 1, 0 +; total TS size = 1136 +m_deadtime = scalar, F32, 1136, "ms", 1, 0 +pressureDelta = scalar, F32, 1140, "kPa", 1, 0 +pressureRatio = scalar, F32, 1144, "", 1, 0 +; total TS size = 1148 +retardThresholdRpm = scalar, S32, 1148, "", 1, 0 +launchActivatePinState = bits, U32, 1152, [0:0] +isPreLaunchCondition = bits, U32, 1152, [1:1] +isLaunchCondition = bits, U32, 1152, [2:2] +isSwitchActivated = bits, U32, 1152, [3:3] +isClutchActivated = bits, U32, 1152, [4:4] +isBrakePedalActivated = bits, U32, 1152, [5:5] +isValidInputPin = bits, U32, 1152, [6:6] +activateSwitchCondition = bits, U32, 1152, [7:7] +rpmLaunchCondition = bits, U32, 1152, [8:8] +rpmPreLaunchCondition = bits, U32, 1152, [9:9] +speedCondition = bits, U32, 1152, [10:10] +tpsCondition = bits, U32, 1152, [11:11] ; total TS size = 1156 -isAntilagCondition = bits, U32, 1156, [0:0] -ALSMinRPMCondition = bits, U32, 1156, [1:1] -ALSMaxRPMCondition = bits, U32, 1156, [2:2] -ALSMinCLTCondition = bits, U32, 1156, [3:3] -ALSMaxCLTCondition = bits, U32, 1156, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1156, [5:5] -isALSSwitchActivated = bits, U32, 1156, [6:6] -ALSActivatePinState = bits, U32, 1156, [7:7] -ALSSwitchCondition = bits, U32, 1156, [8:8] -ALSTimerCondition = bits, U32, 1156, [9:9] -fuelALSCorrection = scalar, F32, 1160, "", 1, 0 -timingALSCorrection = scalar, S16, 1164, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1166, "deg", 0.01, 0 -; total TS size = 1168 -isTpsInvalid = bits, U32, 1168, [0:0] -m_shouldResetPid = bits, U32, 1168, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1168, [2:2] -isNotClosedLoop = bits, U32, 1168, [3:3] -isZeroRpm = bits, U32, 1168, [4:4] -hasInitBoost = bits, U32, 1168, [5:5] -rpmTooLow = bits, U32, 1168, [6:6] -tpsTooLow = bits, U32, 1168, [7:7] -mapTooLow = bits, U32, 1168, [8:8] -isPlantValid = bits, U32, 1168, [9:9] -isBoostControlled = bits, U32, 1168, [10:10] -luaTargetAdd = scalar, S16, 1172, "v", 0.5,0 -boostOutput = scalar, S16, 1174, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1176, "v", 1,0 -openLoopPart = scalar, F32, 1180, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1184, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1188, "%", 0.5,0 -boostControlTarget = scalar, S16, 1190, "kPa", 0.03333333333333333,0 -; total TS size = 1192 -acButtonState = scalar, S08, 1192, "", 1, 0 -m_acEnabled = bits, U32, 1196, [0:0] -engineTooSlow = bits, U32, 1196, [1:1] -engineTooFast = bits, U32, 1196, [2:2] -noClt = bits, U32, 1196, [3:3] -engineTooHot = bits, U32, 1196, [4:4] -tpsTooHigh = bits, U32, 1196, [5:5] -isDisabledByLua = bits, U32, 1196, [6:6] -acCompressorState = bits, U32, 1196, [7:7] -acPressureTooLow = bits, U32, 1196, [8:8] -acPressureTooHigh = bits, U32, 1196, [9:9] -; total TS size = 1200 -isNitrousArmed = bits, U32, 1200, [0:0] -isNitrousSpeedCondition = bits, U32, 1200, [1:1] -isNitrousTpsCondition = bits, U32, 1200, [2:2] -isNitrousCltCondition = bits, U32, 1200, [3:3] -isNitrousMapCondition = bits, U32, 1200, [4:4] -isNitrousAfrCondition = bits, U32, 1200, [5:5] -isNitrousRpmCondition = bits, U32, 1200, [6:6] -isNitrousCondition = bits, U32, 1200, [7:7] +isTorqueReductionTriggerPinValid = bits, U32, 1156, [0:0] +torqueReductionTriggerPinState = bits, U32, 1156, [1:1] +isTimeConditionSatisfied = bits, U32, 1156, [2:2] +isRpmConditionSatisfied = bits, U32, 1156, [3:3] +isAppConditionSatisfied = bits, U32, 1156, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1156, [5:5] +; total TS size = 1160 +isAntilagCondition = bits, U32, 1160, [0:0] +ALSMinRPMCondition = bits, U32, 1160, [1:1] +ALSMaxRPMCondition = bits, U32, 1160, [2:2] +ALSMinCLTCondition = bits, U32, 1160, [3:3] +ALSMaxCLTCondition = bits, U32, 1160, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1160, [5:5] +isALSSwitchActivated = bits, U32, 1160, [6:6] +ALSActivatePinState = bits, U32, 1160, [7:7] +ALSSwitchCondition = bits, U32, 1160, [8:8] +ALSTimerCondition = bits, U32, 1160, [9:9] +fuelALSCorrection = scalar, F32, 1164, "", 1, 0 +timingALSCorrection = scalar, S16, 1168, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1170, "deg", 0.01, 0 +; total TS size = 1172 +isTpsInvalid = bits, U32, 1172, [0:0] +m_shouldResetPid = bits, U32, 1172, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1172, [2:2] +isNotClosedLoop = bits, U32, 1172, [3:3] +isZeroRpm = bits, U32, 1172, [4:4] +hasInitBoost = bits, U32, 1172, [5:5] +rpmTooLow = bits, U32, 1172, [6:6] +tpsTooLow = bits, U32, 1172, [7:7] +mapTooLow = bits, U32, 1172, [8:8] +isPlantValid = bits, U32, 1172, [9:9] +isBoostControlled = bits, U32, 1172, [10:10] +luaTargetAdd = scalar, S16, 1176, "v", 0.5,0 +boostOutput = scalar, S16, 1178, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1180, "v", 1,0 +openLoopPart = scalar, F32, 1184, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1188, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1192, "%", 0.5,0 +boostControlTarget = scalar, S16, 1194, "kPa", 0.03333333333333333,0 +; total TS size = 1196 +acButtonState = scalar, S08, 1196, "", 1, 0 +m_acEnabled = bits, U32, 1200, [0:0] +engineTooSlow = bits, U32, 1200, [1:1] +engineTooFast = bits, U32, 1200, [2:2] +noClt = bits, U32, 1200, [3:3] +engineTooHot = bits, U32, 1200, [4:4] +tpsTooHigh = bits, U32, 1200, [5:5] +isDisabledByLua = bits, U32, 1200, [6:6] +acCompressorState = bits, U32, 1200, [7:7] +acPressureTooLow = bits, U32, 1200, [8:8] +acPressureTooHigh = bits, U32, 1200, [9:9] ; total TS size = 1204 -fan1cranking = bits, U32, 1204, [0:0] -fan1notRunning = bits, U32, 1204, [1:1] -fan1disabledWhileEngineStopped = bits, U32, 1204, [2:2] -fan1brokenClt = bits, U32, 1204, [3:3] -fan1enabledForAc = bits, U32, 1204, [4:4] -fan1hot = bits, U32, 1204, [5:5] -fan1cold = bits, U32, 1204, [6:6] -fan1disabledBySpeed = bits, U32, 1204, [7:7] -fan1m_state = bits, U32, 1204, [8:8] -fan1radiatorFanStatus = scalar, U08, 1208, "", 1, 0 -; total TS size = 1212 -fan2cranking = bits, U32, 1212, [0:0] -fan2notRunning = bits, U32, 1212, [1:1] -fan2disabledWhileEngineStopped = bits, U32, 1212, [2:2] -fan2brokenClt = bits, U32, 1212, [3:3] -fan2enabledForAc = bits, U32, 1212, [4:4] -fan2hot = bits, U32, 1212, [5:5] -fan2cold = bits, U32, 1212, [6:6] -fan2disabledBySpeed = bits, U32, 1212, [7:7] -fan2m_state = bits, U32, 1212, [8:8] -fan2radiatorFanStatus = scalar, U08, 1216, "", 1, 0 -; total TS size = 1220 -isPrime = bits, U32, 1220, [0:0] -engineTurnedRecently = bits, U32, 1220, [1:1] -isFuelPumpOn = bits, U32, 1220, [2:2] -ignitionOn = bits, U32, 1220, [3:3] +isNitrousArmed = bits, U32, 1204, [0:0] +isNitrousSpeedCondition = bits, U32, 1204, [1:1] +isNitrousTpsCondition = bits, U32, 1204, [2:2] +isNitrousCltCondition = bits, U32, 1204, [3:3] +isNitrousMapCondition = bits, U32, 1204, [4:4] +isNitrousAfrCondition = bits, U32, 1204, [5:5] +isNitrousRpmCondition = bits, U32, 1204, [6:6] +isNitrousCondition = bits, U32, 1204, [7:7] +; total TS size = 1208 +fan1cranking = bits, U32, 1208, [0:0] +fan1notRunning = bits, U32, 1208, [1:1] +fan1disabledWhileEngineStopped = bits, U32, 1208, [2:2] +fan1brokenClt = bits, U32, 1208, [3:3] +fan1enabledForAc = bits, U32, 1208, [4:4] +fan1hot = bits, U32, 1208, [5:5] +fan1cold = bits, U32, 1208, [6:6] +fan1disabledBySpeed = bits, U32, 1208, [7:7] +fan1m_state = bits, U32, 1208, [8:8] +fan1radiatorFanStatus = scalar, U08, 1212, "", 1, 0 +; total TS size = 1216 +fan2cranking = bits, U32, 1216, [0:0] +fan2notRunning = bits, U32, 1216, [1:1] +fan2disabledWhileEngineStopped = bits, U32, 1216, [2:2] +fan2brokenClt = bits, U32, 1216, [3:3] +fan2enabledForAc = bits, U32, 1216, [4:4] +fan2hot = bits, U32, 1216, [5:5] +fan2cold = bits, U32, 1216, [6:6] +fan2disabledBySpeed = bits, U32, 1216, [7:7] +fan2m_state = bits, U32, 1216, [8:8] +fan2radiatorFanStatus = scalar, U08, 1220, "", 1, 0 ; total TS size = 1224 -isBenchTest = bits, U32, 1224, [0:0] -hasIgnitionVoltage = bits, U32, 1224, [1:1] -mainRelayState = bits, U32, 1224, [2:2] -delayedShutoffRequested = bits, U32, 1224, [3:3] +isPrime = bits, U32, 1224, [0:0] +engineTurnedRecently = bits, U32, 1224, [1:1] +isFuelPumpOn = bits, U32, 1224, [2:2] +ignitionOn = bits, U32, 1224, [3:3] ; total TS size = 1228 -lua_fuelAdd = scalar, F32, 1228, "g", 1, 0 -lua_fuelMult = scalar, F32, 1232, "", 1, 0 -lua_clutchUpState = bits, U32, 1236, [0:0] -lua_brakePedalState = bits, U32, 1236, [1:1] -lua_acRequestState = bits, U32, 1236, [2:2] -lua_luaDisableEtb = bits, U32, 1236, [3:3] -lua_luaIgnCut = bits, U32, 1236, [4:4] -lua_luaFuelCut = bits, U32, 1236, [5:5] -lua_clutchDownState = bits, U32, 1236, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1236, [7:7] -lua_torqueReductionState = bits, U32, 1236, [8:8] -sd_tCharge = scalar, S16, 1240, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1244, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1248, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1252, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1256, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1260, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1264, "", 1, 0 -hellenBoardId = scalar, S16, 1268, "id", 1, 0 -clutchUpState = scalar, S08, 1270, "", 1, 0 -brakePedalState = scalar, S08, 1271, "", 1, 0 -startStopState = scalar, S08, 1272, "", 1, 0 -smartChipState = scalar, S08, 1273, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1274, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1275, "", 1, 0 -startStopPhysicalState = bits, U32, 1276, [0:0] -acrActive = bits, U32, 1276, [1:1] -acrEngineMovedRecently = bits, U32, 1276, [2:2] -heaterControlEnabled = bits, U32, 1276, [3:3] -luaDigitalState0 = bits, U32, 1276, [4:4] -luaDigitalState1 = bits, U32, 1276, [5:5] -luaDigitalState2 = bits, U32, 1276, [6:6] -luaDigitalState3 = bits, U32, 1276, [7:7] -clutchDownState = bits, U32, 1276, [8:8] -startStopStateToggleCounter = scalar, U32, 1280, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1284, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1288, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1292, "", 1, 0 -fuelInjectionCounter = scalar, U32, 1296, "", 1, 0 -globalSparkCounter = scalar, U32, 1300, "", 1, 0 -fuelingLoad = scalar, F32, 1304, "", 1, 0 -ignitionLoad = scalar, F32, 1308, "", 1, 0 -veTableYAxis = scalar, U16, 1312, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1314, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1315, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1316, "", 1, 0 -; total TS size = 1320 -tpsFrom = scalar, F32, 1320 -tpsTo = scalar, F32, 1324 -deltaTps = scalar, F32, 1328 -extraFuel = scalar, F32, 1332, "", 1, 0 -valueFromTable = scalar, F32, 1336, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1340, [0:0] -isBelowDecelThreshold = bits, U32, 1340, [1:1] -isTimeToResetAccumulator = bits, U32, 1340, [2:2] -isFractionalEnrichment = bits, U32, 1340, [3:3] -belowEpsilon = bits, U32, 1340, [4:4] -tooShort = bits, U32, 1340, [5:5] -fractionalInjFuel = scalar, F32, 1344, "", 1, 0 -accumulatedValue = scalar, F32, 1348, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1352, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1356, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1360, "", 1, 0 -cycleCnt = scalar, S32, 1364, "", 1, 0 -; total TS size = 1368 -hwEventCounters1 = scalar, U16, 1368, "", 1, 0 -hwEventCounters2 = scalar, U16, 1370, "", 1, 0 -hwEventCounters3 = scalar, U16, 1372, "", 1, 0 -hwEventCounters4 = scalar, U16, 1374, "", 1, 0 -vvtCamCounter = scalar, U16, 1376, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1380, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1384, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1388, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1389, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1392, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1396, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1400, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1404, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1408, [0:0] -triggerElapsedUs = scalar, U32, 1412, "", 1, 0 -; total TS size = 1416 -trgsynchronizationCounter = scalar, U32, 1416, "", 1, 0 -trgvvtToothDurations0 = scalar, U32, 1420, "us", 1, 0 -trgvvtCurrentPosition = scalar, F32, 1424, "", 1, 0 -trgvvtToothPosition1 = scalar, F32, 1428, "", 1, 0 -trgvvtToothPosition2 = scalar, F32, 1432, "", 1, 0 -trgvvtToothPosition3 = scalar, F32, 1436, "", 1, 0 -trgvvtToothPosition4 = scalar, F32, 1440, "", 1, 0 -trgtriggerSyncGapRatio = scalar, F32, 1444, "", 1, 0 -trgtriggerStateIndex = scalar, U08, 1448, "", 1, 0 -; total TS size = 1452 -vvt1isynchronizationCounter = scalar, U32, 1452, "", 1, 0 -vvt1ivvtToothDurations0 = scalar, U32, 1456, "us", 1, 0 -vvt1ivvtCurrentPosition = scalar, F32, 1460, "", 1, 0 -vvt1ivvtToothPosition1 = scalar, F32, 1464, "", 1, 0 -vvt1ivvtToothPosition2 = scalar, F32, 1468, "", 1, 0 -vvt1ivvtToothPosition3 = scalar, F32, 1472, "", 1, 0 -vvt1ivvtToothPosition4 = scalar, F32, 1476, "", 1, 0 -vvt1itriggerSyncGapRatio = scalar, F32, 1480, "", 1, 0 -vvt1itriggerStateIndex = scalar, U08, 1484, "", 1, 0 -; total TS size = 1488 -vvt1esynchronizationCounter = scalar, U32, 1488, "", 1, 0 -vvt1evvtToothDurations0 = scalar, U32, 1492, "us", 1, 0 -vvt1evvtCurrentPosition = scalar, F32, 1496, "", 1, 0 -vvt1evvtToothPosition1 = scalar, F32, 1500, "", 1, 0 -vvt1evvtToothPosition2 = scalar, F32, 1504, "", 1, 0 -vvt1evvtToothPosition3 = scalar, F32, 1508, "", 1, 0 -vvt1evvtToothPosition4 = scalar, F32, 1512, "", 1, 0 -vvt1etriggerSyncGapRatio = scalar, F32, 1516, "", 1, 0 -vvt1etriggerStateIndex = scalar, U08, 1520, "", 1, 0 -; total TS size = 1524 -vvt2isynchronizationCounter = scalar, U32, 1524, "", 1, 0 -vvt2ivvtToothDurations0 = scalar, U32, 1528, "us", 1, 0 -vvt2ivvtCurrentPosition = scalar, F32, 1532, "", 1, 0 -vvt2ivvtToothPosition1 = scalar, F32, 1536, "", 1, 0 -vvt2ivvtToothPosition2 = scalar, F32, 1540, "", 1, 0 -vvt2ivvtToothPosition3 = scalar, F32, 1544, "", 1, 0 -vvt2ivvtToothPosition4 = scalar, F32, 1548, "", 1, 0 -vvt2itriggerSyncGapRatio = scalar, F32, 1552, "", 1, 0 -vvt2itriggerStateIndex = scalar, U08, 1556, "", 1, 0 -; total TS size = 1560 -vvt2esynchronizationCounter = scalar, U32, 1560, "", 1, 0 -vvt2evvtToothDurations0 = scalar, U32, 1564, "us", 1, 0 -vvt2evvtCurrentPosition = scalar, F32, 1568, "", 1, 0 -vvt2evvtToothPosition1 = scalar, F32, 1572, "", 1, 0 -vvt2evvtToothPosition2 = scalar, F32, 1576, "", 1, 0 -vvt2evvtToothPosition3 = scalar, F32, 1580, "", 1, 0 -vvt2evvtToothPosition4 = scalar, F32, 1584, "", 1, 0 -vvt2etriggerSyncGapRatio = scalar, F32, 1588, "", 1, 0 -vvt2etriggerStateIndex = scalar, U08, 1592, "", 1, 0 -; total TS size = 1596 -camResyncCounter = scalar, U08, 1596, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1600, [0:0] -; total TS size = 1604 -wallFuelCorrection = scalar, F32, 1604, "", 1, 0 -wallFuel = scalar, F32, 1608, "", 1, 0 -; total TS size = 1612 -idleState = bits, S32, 1612, [0:2], "not important" -currentIdlePosition = scalar, F32, 1616 -baseIdlePosition = scalar, F32, 1620 -idleClosedLoop = scalar, F32, 1624 -iacByTpsTaper = scalar, F32, 1628 -mightResetPid = bits, U32, 1632, [0:0] -shouldResetPid = bits, U32, 1632, [1:1] -wasResetPid = bits, U32, 1632, [2:2] -mustResetPid = bits, U32, 1632, [3:3] -isCranking = bits, U32, 1632, [4:4] -isIacTableForCoasting = bits, U32, 1632, [5:5] -notIdling = bits, U32, 1632, [6:6] -needReset = bits, U32, 1632, [7:7] -isInDeadZone = bits, U32, 1632, [8:8] -isBlipping = bits, U32, 1632, [9:9] -useClosedLoop = bits, U32, 1632, [10:10] -badTps = bits, U32, 1632, [11:11] -looksLikeRunning = bits, U32, 1632, [12:12] -looksLikeCoasting = bits, U32, 1632, [13:13] -looksLikeCrankToIdle = bits, U32, 1632, [14:14] -isIdleCoasting = bits, U32, 1632, [15:15] -isIdleClosedLoop = bits, U32, 1632, [16:16] -idleTarget = scalar, S32, 1636, "", 1, 0 -targetRpmByClt = scalar, S32, 1640, "", 1, 0 -targetRpmAc = scalar, S32, 1644, "", 1, 0 -iacByRpmTaper = scalar, F32, 1648 -luaAdd = scalar, F32, 1652 -; total TS size = 1656 -etb1targetWithIdlePosition = scalar, F32, 1656, "%", 1,0 -etb1trim = scalar, F32, 1660, "", 1, 0 -etb1luaAdjustment = scalar, F32, 1664, "%", 1,0 -etb1m_wastegatePosition = scalar, F32, 1668, "%", 1,0 -etb1etbFeedForward = scalar, F32, 1672 -etb1etbIntegralError = scalar, F32, 1676, "", 1, 0 -etb1etbCurrentTarget = scalar, F32, 1680, "%", 1, 0 -etb1m_adjustedTarget = scalar, S16, 1684, "%", 0.01, 0 -etb1etbRevLimitActive = bits, U32, 1688, [0:0] -etb1jamDetected = bits, U32, 1688, [1:1] -etb1validPlantPosition = bits, U32, 1688, [2:2] -etb1etbTpsErrorCounter = scalar, U16, 1692, "count", 1,0 -etb1etbPpsErrorCounter = scalar, U16, 1694, "count", 1,0 -etb1etbErrorCode = scalar, S08, 1696, "", 1, 0 -etb1etbErrorCodeBlinker = scalar, S08, 1697, "", 1, 0 -etb1tcEtbDrop = scalar, S08, 1698, "%", 1, 0 -etb1jamTimer = scalar, U16, 1700, "sec", 0.01, 0 -etb1adjustedEtbTarget = scalar, S08, 1702, "%", 1, 0 -etb1state = scalar, U08, 1703, "", 1, 0 -; total TS size = 1704 -etb2targetWithIdlePosition = scalar, F32, 1704, "%", 1,0 -etb2trim = scalar, F32, 1708, "", 1, 0 -etb2luaAdjustment = scalar, F32, 1712, "%", 1,0 -etb2m_wastegatePosition = scalar, F32, 1716, "%", 1,0 -etb2etbFeedForward = scalar, F32, 1720 -etb2etbIntegralError = scalar, F32, 1724, "", 1, 0 -etb2etbCurrentTarget = scalar, F32, 1728, "%", 1, 0 -etb2m_adjustedTarget = scalar, S16, 1732, "%", 0.01, 0 -etb2etbRevLimitActive = bits, U32, 1736, [0:0] -etb2jamDetected = bits, U32, 1736, [1:1] -etb2validPlantPosition = bits, U32, 1736, [2:2] -etb2etbTpsErrorCounter = scalar, U16, 1740, "count", 1,0 -etb2etbPpsErrorCounter = scalar, U16, 1742, "count", 1,0 -etb2etbErrorCode = scalar, S08, 1744, "", 1, 0 -etb2etbErrorCodeBlinker = scalar, S08, 1745, "", 1, 0 -etb2tcEtbDrop = scalar, S08, 1746, "%", 1, 0 -etb2jamTimer = scalar, U16, 1748, "sec", 0.01, 0 -etb2adjustedEtbTarget = scalar, S08, 1750, "%", 1, 0 -etb2state = scalar, U08, 1751, "", 1, 0 -; total TS size = 1752 -wb1faultCode = scalar, U08, 1752, "", 1, 0 -wb1heaterDuty = scalar, U08, 1753, "%", 1, 0 -wb1pumpDuty = scalar, U08, 1754, "%", 1, 0 -wb1tempC = scalar, U16, 1756, "C", 1, 0 -wb1nernstVoltage = scalar, U16, 1758, "V", 0.001, 0 -wb1esr = scalar, U16, 1760, "ohm", 1, 0 -; total TS size = 1764 -wb2faultCode = scalar, U08, 1764, "", 1, 0 -wb2heaterDuty = scalar, U08, 1765, "%", 1, 0 -wb2pumpDuty = scalar, U08, 1766, "%", 1, 0 -wb2tempC = scalar, U16, 1768, "C", 1, 0 -wb2nernstVoltage = scalar, U16, 1770, "V", 0.001, 0 -wb2esr = scalar, U16, 1772, "ohm", 1, 0 -; total TS size = 1776 -dcOutput0 = scalar, F32, 1776, "%", 1,0 -isEnabled0_int = scalar, U08, 1780, "%", 1,0 -isEnabled0 = bits, U32, 1784, [0:0] -; total TS size = 1788 -value0 = scalar, U16, 1788, "RAW", 1,0 -value1 = scalar, U16, 1790, "RAW", 1,0 -errorRate = scalar, F32, 1792, "% (don't belive me)", 1,0 -; total TS size = 1796 -vvtTarget = scalar, U16, 1796, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1798, "%", 0.5, 0 +isBenchTest = bits, U32, 1228, [0:0] +hasIgnitionVoltage = bits, U32, 1228, [1:1] +mainRelayState = bits, U32, 1228, [2:2] +delayedShutoffRequested = bits, U32, 1228, [3:3] +; total TS size = 1232 +lua_fuelAdd = scalar, F32, 1232, "g", 1, 0 +lua_fuelMult = scalar, F32, 1236, "", 1, 0 +lua_clutchUpState = bits, U32, 1240, [0:0] +lua_brakePedalState = bits, U32, 1240, [1:1] +lua_acRequestState = bits, U32, 1240, [2:2] +lua_luaDisableEtb = bits, U32, 1240, [3:3] +lua_luaIgnCut = bits, U32, 1240, [4:4] +lua_luaFuelCut = bits, U32, 1240, [5:5] +lua_clutchDownState = bits, U32, 1240, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1240, [7:7] +lua_torqueReductionState = bits, U32, 1240, [8:8] +sd_tCharge = scalar, S16, 1244, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1248, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1252, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1256, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1260, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1264, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1268, "", 1, 0 +hellenBoardId = scalar, S16, 1272, "id", 1, 0 +clutchUpState = scalar, S08, 1274, "", 1, 0 +brakePedalState = scalar, S08, 1275, "", 1, 0 +startStopState = scalar, S08, 1276, "", 1, 0 +smartChipState = scalar, S08, 1277, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1278, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1279, "", 1, 0 +startStopPhysicalState = bits, U32, 1280, [0:0] +acrActive = bits, U32, 1280, [1:1] +acrEngineMovedRecently = bits, U32, 1280, [2:2] +heaterControlEnabled = bits, U32, 1280, [3:3] +luaDigitalState0 = bits, U32, 1280, [4:4] +luaDigitalState1 = bits, U32, 1280, [5:5] +luaDigitalState2 = bits, U32, 1280, [6:6] +luaDigitalState3 = bits, U32, 1280, [7:7] +clutchDownState = bits, U32, 1280, [8:8] +startStopStateToggleCounter = scalar, U32, 1284, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1288, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1292, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1296, "", 1, 0 +fuelInjectionCounter = scalar, U32, 1300, "", 1, 0 +globalSparkCounter = scalar, U32, 1304, "", 1, 0 +fuelingLoad = scalar, F32, 1308, "", 1, 0 +ignitionLoad = scalar, F32, 1312, "", 1, 0 +veTableYAxis = scalar, U16, 1316, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1318, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1319, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1320, "", 1, 0 +; total TS size = 1324 +tpsFrom = scalar, F32, 1324 +tpsTo = scalar, F32, 1328 +deltaTps = scalar, F32, 1332 +extraFuel = scalar, F32, 1336, "", 1, 0 +valueFromTable = scalar, F32, 1340, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1344, [0:0] +isBelowDecelThreshold = bits, U32, 1344, [1:1] +isTimeToResetAccumulator = bits, U32, 1344, [2:2] +isFractionalEnrichment = bits, U32, 1344, [3:3] +belowEpsilon = bits, U32, 1344, [4:4] +tooShort = bits, U32, 1344, [5:5] +fractionalInjFuel = scalar, F32, 1348, "", 1, 0 +accumulatedValue = scalar, F32, 1352, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1356, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1360, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1364, "", 1, 0 +cycleCnt = scalar, S32, 1368, "", 1, 0 +; total TS size = 1372 +hwEventCounters1 = scalar, U16, 1372, "", 1, 0 +hwEventCounters2 = scalar, U16, 1374, "", 1, 0 +hwEventCounters3 = scalar, U16, 1376, "", 1, 0 +hwEventCounters4 = scalar, U16, 1378, "", 1, 0 +vvtCamCounter = scalar, U16, 1380, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1384, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1388, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1392, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1393, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1396, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1400, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1404, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1408, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1412, [0:0] +triggerElapsedUs = scalar, U32, 1416, "", 1, 0 +; total TS size = 1420 +trgsynchronizationCounter = scalar, U32, 1420, "", 1, 0 +trgvvtToothDurations0 = scalar, U32, 1424, "us", 1, 0 +trgvvtCurrentPosition = scalar, F32, 1428, "", 1, 0 +trgvvtToothPosition1 = scalar, F32, 1432, "", 1, 0 +trgvvtToothPosition2 = scalar, F32, 1436, "", 1, 0 +trgvvtToothPosition3 = scalar, F32, 1440, "", 1, 0 +trgvvtToothPosition4 = scalar, F32, 1444, "", 1, 0 +trgtriggerSyncGapRatio = scalar, F32, 1448, "", 1, 0 +trgtriggerStateIndex = scalar, U08, 1452, "", 1, 0 +; total TS size = 1456 +vvt1isynchronizationCounter = scalar, U32, 1456, "", 1, 0 +vvt1ivvtToothDurations0 = scalar, U32, 1460, "us", 1, 0 +vvt1ivvtCurrentPosition = scalar, F32, 1464, "", 1, 0 +vvt1ivvtToothPosition1 = scalar, F32, 1468, "", 1, 0 +vvt1ivvtToothPosition2 = scalar, F32, 1472, "", 1, 0 +vvt1ivvtToothPosition3 = scalar, F32, 1476, "", 1, 0 +vvt1ivvtToothPosition4 = scalar, F32, 1480, "", 1, 0 +vvt1itriggerSyncGapRatio = scalar, F32, 1484, "", 1, 0 +vvt1itriggerStateIndex = scalar, U08, 1488, "", 1, 0 +; total TS size = 1492 +vvt1esynchronizationCounter = scalar, U32, 1492, "", 1, 0 +vvt1evvtToothDurations0 = scalar, U32, 1496, "us", 1, 0 +vvt1evvtCurrentPosition = scalar, F32, 1500, "", 1, 0 +vvt1evvtToothPosition1 = scalar, F32, 1504, "", 1, 0 +vvt1evvtToothPosition2 = scalar, F32, 1508, "", 1, 0 +vvt1evvtToothPosition3 = scalar, F32, 1512, "", 1, 0 +vvt1evvtToothPosition4 = scalar, F32, 1516, "", 1, 0 +vvt1etriggerSyncGapRatio = scalar, F32, 1520, "", 1, 0 +vvt1etriggerStateIndex = scalar, U08, 1524, "", 1, 0 +; total TS size = 1528 +vvt2isynchronizationCounter = scalar, U32, 1528, "", 1, 0 +vvt2ivvtToothDurations0 = scalar, U32, 1532, "us", 1, 0 +vvt2ivvtCurrentPosition = scalar, F32, 1536, "", 1, 0 +vvt2ivvtToothPosition1 = scalar, F32, 1540, "", 1, 0 +vvt2ivvtToothPosition2 = scalar, F32, 1544, "", 1, 0 +vvt2ivvtToothPosition3 = scalar, F32, 1548, "", 1, 0 +vvt2ivvtToothPosition4 = scalar, F32, 1552, "", 1, 0 +vvt2itriggerSyncGapRatio = scalar, F32, 1556, "", 1, 0 +vvt2itriggerStateIndex = scalar, U08, 1560, "", 1, 0 +; total TS size = 1564 +vvt2esynchronizationCounter = scalar, U32, 1564, "", 1, 0 +vvt2evvtToothDurations0 = scalar, U32, 1568, "us", 1, 0 +vvt2evvtCurrentPosition = scalar, F32, 1572, "", 1, 0 +vvt2evvtToothPosition1 = scalar, F32, 1576, "", 1, 0 +vvt2evvtToothPosition2 = scalar, F32, 1580, "", 1, 0 +vvt2evvtToothPosition3 = scalar, F32, 1584, "", 1, 0 +vvt2evvtToothPosition4 = scalar, F32, 1588, "", 1, 0 +vvt2etriggerSyncGapRatio = scalar, F32, 1592, "", 1, 0 +vvt2etriggerStateIndex = scalar, U08, 1596, "", 1, 0 +; total TS size = 1600 +camResyncCounter = scalar, U08, 1600, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1604, [0:0] +; total TS size = 1608 +wallFuelCorrection = scalar, F32, 1608, "", 1, 0 +wallFuel = scalar, F32, 1612, "", 1, 0 +; total TS size = 1616 +idleState = bits, S32, 1616, [0:2], "not important" +currentIdlePosition = scalar, F32, 1620 +baseIdlePosition = scalar, F32, 1624 +idleClosedLoop = scalar, F32, 1628 +iacByTpsTaper = scalar, F32, 1632 +mightResetPid = bits, U32, 1636, [0:0] +shouldResetPid = bits, U32, 1636, [1:1] +wasResetPid = bits, U32, 1636, [2:2] +mustResetPid = bits, U32, 1636, [3:3] +isCranking = bits, U32, 1636, [4:4] +isIacTableForCoasting = bits, U32, 1636, [5:5] +notIdling = bits, U32, 1636, [6:6] +needReset = bits, U32, 1636, [7:7] +isInDeadZone = bits, U32, 1636, [8:8] +isBlipping = bits, U32, 1636, [9:9] +useClosedLoop = bits, U32, 1636, [10:10] +badTps = bits, U32, 1636, [11:11] +looksLikeRunning = bits, U32, 1636, [12:12] +looksLikeCoasting = bits, U32, 1636, [13:13] +looksLikeCrankToIdle = bits, U32, 1636, [14:14] +isIdleCoasting = bits, U32, 1636, [15:15] +isIdleClosedLoop = bits, U32, 1636, [16:16] +idleTarget = scalar, S32, 1640, "", 1, 0 +targetRpmByClt = scalar, S32, 1644, "", 1, 0 +targetRpmAc = scalar, S32, 1648, "", 1, 0 +iacByRpmTaper = scalar, F32, 1652 +luaAdd = scalar, F32, 1656 +; total TS size = 1660 +etb1targetWithIdlePosition = scalar, F32, 1660, "%", 1,0 +etb1trim = scalar, F32, 1664, "", 1, 0 +etb1luaAdjustment = scalar, F32, 1668, "%", 1,0 +etb1m_wastegatePosition = scalar, F32, 1672, "%", 1,0 +etb1etbFeedForward = scalar, F32, 1676 +etb1etbIntegralError = scalar, F32, 1680, "", 1, 0 +etb1etbCurrentTarget = scalar, F32, 1684, "%", 1, 0 +etb1m_adjustedTarget = scalar, S16, 1688, "%", 0.01, 0 +etb1etbRevLimitActive = bits, U32, 1692, [0:0] +etb1jamDetected = bits, U32, 1692, [1:1] +etb1validPlantPosition = bits, U32, 1692, [2:2] +etb1etbTpsErrorCounter = scalar, U16, 1696, "count", 1,0 +etb1etbPpsErrorCounter = scalar, U16, 1698, "count", 1,0 +etb1etbErrorCode = scalar, S08, 1700, "", 1, 0 +etb1etbErrorCodeBlinker = scalar, S08, 1701, "", 1, 0 +etb1tcEtbDrop = scalar, S08, 1702, "%", 1, 0 +etb1jamTimer = scalar, U16, 1704, "sec", 0.01, 0 +etb1adjustedEtbTarget = scalar, S08, 1706, "%", 1, 0 +etb1state = scalar, U08, 1707, "", 1, 0 +; total TS size = 1708 +etb2targetWithIdlePosition = scalar, F32, 1708, "%", 1,0 +etb2trim = scalar, F32, 1712, "", 1, 0 +etb2luaAdjustment = scalar, F32, 1716, "%", 1,0 +etb2m_wastegatePosition = scalar, F32, 1720, "%", 1,0 +etb2etbFeedForward = scalar, F32, 1724 +etb2etbIntegralError = scalar, F32, 1728, "", 1, 0 +etb2etbCurrentTarget = scalar, F32, 1732, "%", 1, 0 +etb2m_adjustedTarget = scalar, S16, 1736, "%", 0.01, 0 +etb2etbRevLimitActive = bits, U32, 1740, [0:0] +etb2jamDetected = bits, U32, 1740, [1:1] +etb2validPlantPosition = bits, U32, 1740, [2:2] +etb2etbTpsErrorCounter = scalar, U16, 1744, "count", 1,0 +etb2etbPpsErrorCounter = scalar, U16, 1746, "count", 1,0 +etb2etbErrorCode = scalar, S08, 1748, "", 1, 0 +etb2etbErrorCodeBlinker = scalar, S08, 1749, "", 1, 0 +etb2tcEtbDrop = scalar, S08, 1750, "%", 1, 0 +etb2jamTimer = scalar, U16, 1752, "sec", 0.01, 0 +etb2adjustedEtbTarget = scalar, S08, 1754, "%", 1, 0 +etb2state = scalar, U08, 1755, "", 1, 0 +; total TS size = 1756 +wb1faultCode = scalar, U08, 1756, "", 1, 0 +wb1heaterDuty = scalar, U08, 1757, "%", 1, 0 +wb1pumpDuty = scalar, U08, 1758, "%", 1, 0 +wb1tempC = scalar, U16, 1760, "C", 1, 0 +wb1nernstVoltage = scalar, U16, 1762, "V", 0.001, 0 +wb1esr = scalar, U16, 1764, "ohm", 1, 0 +; total TS size = 1768 +wb2faultCode = scalar, U08, 1768, "", 1, 0 +wb2heaterDuty = scalar, U08, 1769, "%", 1, 0 +wb2pumpDuty = scalar, U08, 1770, "%", 1, 0 +wb2tempC = scalar, U16, 1772, "C", 1, 0 +wb2nernstVoltage = scalar, U16, 1774, "V", 0.001, 0 +wb2esr = scalar, U16, 1776, "ohm", 1, 0 +; total TS size = 1780 +dcOutput0 = scalar, F32, 1780, "%", 1,0 +isEnabled0_int = scalar, U08, 1784, "%", 1,0 +isEnabled0 = bits, U32, 1788, [0:0] +; total TS size = 1792 +value0 = scalar, U16, 1792, "RAW", 1,0 +value1 = scalar, U16, 1794, "RAW", 1,0 +errorRate = scalar, F32, 1796, "% (don't belive me)", 1,0 ; total TS size = 1800 -lambdaCurrentlyGood = bits, U32, 1800, [0:0] -lambdaMonitorCut = bits, U32, 1800, [1:1] -lambdaTimeSinceGood = scalar, U16, 1804, "sec", 0.01, 0 -; total TS size = 1808 +vvtTarget = scalar, U16, 1800, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1802, "%", 0.5, 0 +; total TS size = 1804 +lambdaCurrentlyGood = bits, U32, 1804, [0:0] +lambdaMonitorCut = bits, U32, 1804, [1:1] +lambdaTimeSinceGood = scalar, U16, 1808, "sec", 0.01, 0 +; total TS size = 1812 time = { timeNow } @@ -4584,6 +4587,12 @@ curve = rangeMatrix, "Range Switch Input Matrix" gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. upDownLabel = "(RICHER)", "(LEANER)" + table = trailingSparkTable, trailingSparkMap, "Trailing spark", 1 + xyLabels = "RPM", "Ignition Load" + xBins = trailingSparkRpmBins, RPMValue + yBins = trailingSparkLoadBins, ignitionLoad + zBins = trailingSparkTable + table = torqueTableTbl, torqueTableMap, "Engine Torque", 1 xBins = torqueRpmBins, RPMValue yBins = torqueLoadBins, veTableYAxis @@ -4881,6 +4890,7 @@ timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20 timingPidCorrectionGauge = timingPidCorrection,"Idle: Timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 +trailingSparkAngleGauge = trailingSparkAngle,"Ign: Trailing spark deg", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 gaugeCategory = "Boost Control" luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 @@ -5810,6 +5820,7 @@ entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" entry = luaIgnitionSkip, "Ign: Lua Spark Skip", int, "%d" +entry = trailingSparkAngle, "Ign: Trailing spark deg", float, "%.3f" entry = m_knockLevel, "Knock: Current level", float, "%.3f" entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" @@ -6756,6 +6767,7 @@ dialog = ignition_stateDialog, "ignition_state" graphLine = luaTimingAdd liveGraph = ignition_state_4_Graph, "Graph", South graphLine = luaTimingMult + graphLine = trailingSparkAngle dialog = knock_controllerDialog, "knock_controller" @@ -10023,11 +10035,11 @@ dialog = tcuControls, "Transmission Settings" dialog = rotaryDialog, "Rotary" field = "Enable Trailing Sparks", enableTrailingSparks - field = "Trailing Spark Offset", trailingSparkAngle field = "Trailing Pin 1", trailingCoilPins1 field = "Trailing Pin 2", trailingCoilPins2 field = "Trailing Pin 3", trailingCoilPins3 field = "Trailing Pin 4", trailingCoilPins4 + panel = trailingSparkTable diff --git a/firmware/tunerstudio/generated/rusefi_hellen121vag.ini b/firmware/tunerstudio/generated/rusefi_hellen121vag.ini index ac58155804..3eae22254c 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.2025.02.07.hellen121vag.3665192273" + signature = "rusEFI master.2025.02.07.hellen121vag.1576397372" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2025.02.07.hellen121vag.3665192273" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2025.02.07.hellen121vag.1576397372" ; 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 @@ -101,7 +101,7 @@ enable2ndByteCanID = false ; CONFIG_DEFINITION_START ; this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt -pageSize = 23280 +pageSize = 23304 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",22="BMW_M52",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",21="ET_BOSCH_QUICK_START",24="ET_TEST_WITH_BOSCH_QUICK_START",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",41="FRANKENSO_MIATA_NA6_MAP",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",47="GM_LCV",55="GM_LTG",98="GM_SBC",49="GM_SBC_GEN5",8="GY6_139QMB",6="HARLEY",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",34="MAZDA_MIATA_NA6",80="MAZDA_MIATA_NA94",10="MAZDA_MIATA_NA96",83="MAZDA_MIATA_NB1",69="MAZDA_MIATA_NB2",86="MAZDA_MIATA_NB2_36",20="MAZDA_MIATA_NC",33="ME17_9_MISC",68="MERCEDES_M111",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",4="MRE_SECONDARY_CAN",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",35="POLARIS",9="POLARIS_RZR",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",27="PROTEUS_GM_LS_4",25="PROTEUS_LUA_DEMO",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",17="TCU_4R70W",100="TEST_100",101="TEST_101",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",93="TEST_ISSUE_6451",19="TEST_ROTARY",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",102="UNUSED102",67="UNUSED67",94="UNUSED94",65="UNUSED_65",97="UNUSED_97",77="VAG_5_CYL",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -245,7 +245,7 @@ vbattAdcChannel = bits, U08, 513, [0:5], $adc_channel_e_list fuelLevelSensor = bits, U08, 514, [0:5], $adc_channel_e_list tps2_1AdcChannel = bits, U08, 515, [0:5], $adc_channel_e_list idle_derivativeFilterLoss = scalar, F32, 516, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 520, "angle", 1, 0, 0, 720, 0 +unusedTrailingSparkAngle = scalar, S32, 520, "", 1, 0, 0, 100, 0 trigger_type = bits, U32, 524, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Daihatsu 3 cylinder", "Mazda SOHC 4", "60-2", "36-1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "Dodge Ram 1+16", "60-2 Wrong Polarity", "Benelli Tre", "Dodge Stratus", "36_2_2_2", "Nissan Primera", "dev 2JZ 3/34 simulator", "Rover K", "GM 24x 5 degree", "Honda CBR 600 Cam", "INVALID", "Honda CBR 600 custom", "3-1 skipped", "Dodge Neon 2003 crank", "Miata NB", "INVALID", "INVALID", "Subaru 7+6", "Jeep 18-2-2-2", "12crank/24cam", "Dodge Neon 1995 crank only", "Jeep XJ 4 cyl", "FiatIAQ_P8", "Mazda Z5", "INVALID", "Renix 44-2-2", "Renix 66-2-2-2", "Honda K 12+1", "INVALID", "36-2", "Subaru SVX", "Suzuki K6A", "Subaru 7 without 6", "INVALID", "INVALID", "GM 60-2-2-2", "Skoda Favorit", "Barra 3+1 Cam", "Kawa KX450F", "Nissan VQ35", "INVALID", "Nissan VQ30", "Nissan QR25", "INVALID", "Subaru SVX Crank 1", "Subaru SVX Cam VVT", "Ford PIP", "Suzuki G13B", "Honda K 4+1", "Nissan MR18 Crank", "32-2", "36-2-1", "36-2-1-1", "3-0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6-0", "Daihatsu 4 cylinder", "INVALID", "dev", "Nissan HR", "Arctic Cat", "HR12 in", "HONDA J30A2", "trg88", "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" trigger_customTotalToothCount = scalar, S32, 528, "number", 1, 0, 1, 300, 0 trigger_customSkippedToothCount = scalar, S32, 532, "number", 1, 0, 0, 300, 0 @@ -1796,7 +1796,10 @@ dynoCarCarMassKg = scalar, S16, 23268, "", 1, 0, 0, 32000, 0 dynoCarCargoMassKg = scalar, S16, 23270, "", 1, 0, 0, 32000, 0 dynoCarCoeffOfDrag = scalar, F32, 23272, "", 1, 0, 0, 100, 0 dynoCarFrontalAreaM2 = scalar, F32, 23276, "", 1, 0, 0, 100, 0 -; total TS size = 23280 +trailingSparkTable = array, S08, 23280, [4x4], "deg", 0.1, 0, 0, 20, 1 +trailingSparkRpmBins = array, U08, 23296, [4], "rpm", 50.0, 0, 0, 12000, 0 +trailingSparkLoadBins = array, U08, 23300, [4], "Load", 5.0, 0, 0, 1000, 0 +; total TS size = 23304 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1890,7 +1893,6 @@ dynoCarFrontalAreaM2 = scalar, F32, 23276, "", 1, 0, 0, 100, 0 fuelLevelSensor = "This is the processor pin that your fuel level sensor in connected to. This is a non standard input so will need to be user defined." tps2_1AdcChannel = "Second throttle body position sensor, single channel so far" idle_derivativeFilterLoss = "0.1 is a good default value" - trailingSparkAngle = "just a temporary solution" trigger_type = "https://github.com/rusefi/rusefi/wiki/All-Supported-Triggers" airByRpmTaper = "Extra air taper amount" boostControlSafeDutyCycle = "Duty cycle to use in case of a sensor failure. This duty cycle should produce the minimum possible amount of boost. This duty is also used in case any of the minimum RPM/TPS/MAP conditions are not met." @@ -2664,7 +2666,7 @@ dynoCarFrontalAreaM2 = scalar, F32, 23276, "", 1, 0, 0, 100, 0 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1808 + ochBlockSize = 1812 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3189,417 +3191,418 @@ dwellVoltageCorrection = scalar, F32, 940, "", 1, 0 luaTimingAdd = scalar, F32, 944, "deg", 1, 0 luaTimingMult = scalar, F32, 948, "deg", 1, 0 luaIgnitionSkip = bits, U32, 952, [0:0] -; total TS size = 956 -m_knockLevel = scalar, F32, 956, "Volts", 1, 0 -m_knockCyl1 = scalar, S08, 960, "dBv", 1, 0 -m_knockCyl2 = scalar, S08, 961, "dBv", 1, 0 -m_knockCyl3 = scalar, S08, 962, "dBv", 1, 0 -m_knockCyl4 = scalar, S08, 963, "dBv", 1, 0 -m_knockCyl5 = scalar, S08, 964, "dBv", 1, 0 -m_knockCyl6 = scalar, S08, 965, "dBv", 1, 0 -m_knockCyl7 = scalar, S08, 966, "dBv", 1, 0 -m_knockCyl8 = scalar, S08, 967, "dBv", 1, 0 -m_knockCyl9 = scalar, S08, 968, "dBv", 1, 0 -m_knockCyl10 = scalar, S08, 969, "dBv", 1, 0 -m_knockCyl11 = scalar, S08, 970, "dBv", 1, 0 -m_knockCyl12 = scalar, S08, 971, "dBv", 1, 0 -m_knockRetard = scalar, F32, 972, "deg", 1,0 -m_knockThreshold = scalar, F32, 976, "", 1, 0 -m_knockCount = scalar, U32, 980, "", 1, 0 -m_maximumRetard = scalar, F32, 984, "", 1, 0 -m_knockSpectrum1 = scalar, U32, 988, "compressed data", 1, 0 -m_knockSpectrum2 = scalar, U32, 992, "compressed data", 1, 0 -m_knockSpectrum3 = scalar, U32, 996, "compressed data", 1, 0 -m_knockSpectrum4 = scalar, U32, 1000, "compressed data", 1, 0 -m_knockSpectrum5 = scalar, U32, 1004, "compressed data", 1, 0 -m_knockSpectrum6 = scalar, U32, 1008, "compressed data", 1, 0 -m_knockSpectrum7 = scalar, U32, 1012, "compressed data", 1, 0 -m_knockSpectrum8 = scalar, U32, 1016, "compressed data", 1, 0 -m_knockSpectrum9 = scalar, U32, 1020, "compressed data", 1, 0 -m_knockSpectrum10 = scalar, U32, 1024, "compressed data", 1, 0 -m_knockSpectrum11 = scalar, U32, 1028, "compressed data", 1, 0 -m_knockSpectrum12 = scalar, U32, 1032, "compressed data", 1, 0 -m_knockSpectrum13 = scalar, U32, 1036, "compressed data", 1, 0 -m_knockSpectrum14 = scalar, U32, 1040, "compressed data", 1, 0 -m_knockSpectrum15 = scalar, U32, 1044, "compressed data", 1, 0 -m_knockSpectrum16 = scalar, U32, 1048, "compressed data", 1, 0 -m_knockSpectrumChannelCyl = scalar, U16, 1052, "compressed N + N", 1, 0 -m_knockFrequencyStart = scalar, U16, 1054, "Hz", 1, 0 -m_knockFrequencyStep = scalar, F32, 1056, "Hz", 1, 0 -m_knockFuelTrimMultiplier = scalar, F32, 1060, "multiplier", 1, 0 -; total TS size = 1064 -m_isPriming = bits, U32, 1064, [0:0] +trailingSparkAngle = scalar, S16, 956, "deg", 0.01,0 +; total TS size = 960 +m_knockLevel = scalar, F32, 960, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 964, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 965, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 966, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 967, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 968, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 969, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 970, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 971, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 972, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 973, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 974, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 975, "dBv", 1, 0 +m_knockRetard = scalar, F32, 976, "deg", 1,0 +m_knockThreshold = scalar, F32, 980, "", 1, 0 +m_knockCount = scalar, U32, 984, "", 1, 0 +m_maximumRetard = scalar, F32, 988, "", 1, 0 +m_knockSpectrum1 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1040, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1044, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1048, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1052, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1056, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1058, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1060, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1064, "multiplier", 1, 0 ; total TS size = 1068 -tcuCurrentGear = scalar, S08, 1068, "gear", 1, 0 -tcRatio = scalar, U16, 1070, "value", 0.01, 0 -lastShiftTime = scalar, F32, 1072, "", 1, 0 -tcu_currentRange = scalar, U08, 1076, "", 1, 0 -pressureControlDuty = scalar, S08, 1077, "%", 1,0 -torqueConverterDuty = scalar, S08, 1078, "%", 1,0 -isShifting = bits, U32, 1080, [0:0] -; total TS size = 1084 -throttleUseWotModel = bits, U32, 1084, [0:0] -throttleModelCrossoverAngle = scalar, S16, 1088, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1092, "g/s", 1, 0 -; total TS size = 1096 -m_requested_pump = scalar, F32, 1096, "", 1, 0 -fuel_requested_percent = scalar, F32, 1100, "%", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1104, "", 1, 0 -noValve = bits, U32, 1108, [0:0] -angleAboveMin = bits, U32, 1108, [1:1] -isHpfpActive = bits, U32, 1108, [2:2] -HpfpValveState = bits, U32, 1108, [3:3] -m_pressureTarget_kPa = scalar, F32, 1112, "", 1, 0 -nextLobe = scalar, F32, 1116, "", 1, 0 -di_nextStart = scalar, F32, 1120, "v", 1, 0 -HpfdActivationPhase = scalar, F32, 1124, "", 1, 0 -HpfdDeactivationPhase = scalar, F32, 1128, "", 1, 0 -; total TS size = 1132 -m_deadtime = scalar, F32, 1132, "ms", 1, 0 -pressureDelta = scalar, F32, 1136, "kPa", 1, 0 -pressureRatio = scalar, F32, 1140, "", 1, 0 -; total TS size = 1144 -retardThresholdRpm = scalar, S32, 1144, "", 1, 0 -launchActivatePinState = bits, U32, 1148, [0:0] -isPreLaunchCondition = bits, U32, 1148, [1:1] -isLaunchCondition = bits, U32, 1148, [2:2] -isSwitchActivated = bits, U32, 1148, [3:3] -isClutchActivated = bits, U32, 1148, [4:4] -isBrakePedalActivated = bits, U32, 1148, [5:5] -isValidInputPin = bits, U32, 1148, [6:6] -activateSwitchCondition = bits, U32, 1148, [7:7] -rpmLaunchCondition = bits, U32, 1148, [8:8] -rpmPreLaunchCondition = bits, U32, 1148, [9:9] -speedCondition = bits, U32, 1148, [10:10] -tpsCondition = bits, U32, 1148, [11:11] -; total TS size = 1152 -isTorqueReductionTriggerPinValid = bits, U32, 1152, [0:0] -torqueReductionTriggerPinState = bits, U32, 1152, [1:1] -isTimeConditionSatisfied = bits, U32, 1152, [2:2] -isRpmConditionSatisfied = bits, U32, 1152, [3:3] -isAppConditionSatisfied = bits, U32, 1152, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1152, [5:5] +m_isPriming = bits, U32, 1068, [0:0] +; total TS size = 1072 +tcuCurrentGear = scalar, S08, 1072, "gear", 1, 0 +tcRatio = scalar, U16, 1074, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1076, "", 1, 0 +tcu_currentRange = scalar, U08, 1080, "", 1, 0 +pressureControlDuty = scalar, S08, 1081, "%", 1,0 +torqueConverterDuty = scalar, S08, 1082, "%", 1,0 +isShifting = bits, U32, 1084, [0:0] +; total TS size = 1088 +throttleUseWotModel = bits, U32, 1088, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1092, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1096, "g/s", 1, 0 +; total TS size = 1100 +m_requested_pump = scalar, F32, 1100, "", 1, 0 +fuel_requested_percent = scalar, F32, 1104, "%", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1108, "", 1, 0 +noValve = bits, U32, 1112, [0:0] +angleAboveMin = bits, U32, 1112, [1:1] +isHpfpActive = bits, U32, 1112, [2:2] +HpfpValveState = bits, U32, 1112, [3:3] +m_pressureTarget_kPa = scalar, F32, 1116, "", 1, 0 +nextLobe = scalar, F32, 1120, "", 1, 0 +di_nextStart = scalar, F32, 1124, "v", 1, 0 +HpfdActivationPhase = scalar, F32, 1128, "", 1, 0 +HpfdDeactivationPhase = scalar, F32, 1132, "", 1, 0 +; total TS size = 1136 +m_deadtime = scalar, F32, 1136, "ms", 1, 0 +pressureDelta = scalar, F32, 1140, "kPa", 1, 0 +pressureRatio = scalar, F32, 1144, "", 1, 0 +; total TS size = 1148 +retardThresholdRpm = scalar, S32, 1148, "", 1, 0 +launchActivatePinState = bits, U32, 1152, [0:0] +isPreLaunchCondition = bits, U32, 1152, [1:1] +isLaunchCondition = bits, U32, 1152, [2:2] +isSwitchActivated = bits, U32, 1152, [3:3] +isClutchActivated = bits, U32, 1152, [4:4] +isBrakePedalActivated = bits, U32, 1152, [5:5] +isValidInputPin = bits, U32, 1152, [6:6] +activateSwitchCondition = bits, U32, 1152, [7:7] +rpmLaunchCondition = bits, U32, 1152, [8:8] +rpmPreLaunchCondition = bits, U32, 1152, [9:9] +speedCondition = bits, U32, 1152, [10:10] +tpsCondition = bits, U32, 1152, [11:11] ; total TS size = 1156 -isAntilagCondition = bits, U32, 1156, [0:0] -ALSMinRPMCondition = bits, U32, 1156, [1:1] -ALSMaxRPMCondition = bits, U32, 1156, [2:2] -ALSMinCLTCondition = bits, U32, 1156, [3:3] -ALSMaxCLTCondition = bits, U32, 1156, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1156, [5:5] -isALSSwitchActivated = bits, U32, 1156, [6:6] -ALSActivatePinState = bits, U32, 1156, [7:7] -ALSSwitchCondition = bits, U32, 1156, [8:8] -ALSTimerCondition = bits, U32, 1156, [9:9] -fuelALSCorrection = scalar, F32, 1160, "", 1, 0 -timingALSCorrection = scalar, S16, 1164, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1166, "deg", 0.01, 0 -; total TS size = 1168 -isTpsInvalid = bits, U32, 1168, [0:0] -m_shouldResetPid = bits, U32, 1168, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1168, [2:2] -isNotClosedLoop = bits, U32, 1168, [3:3] -isZeroRpm = bits, U32, 1168, [4:4] -hasInitBoost = bits, U32, 1168, [5:5] -rpmTooLow = bits, U32, 1168, [6:6] -tpsTooLow = bits, U32, 1168, [7:7] -mapTooLow = bits, U32, 1168, [8:8] -isPlantValid = bits, U32, 1168, [9:9] -isBoostControlled = bits, U32, 1168, [10:10] -luaTargetAdd = scalar, S16, 1172, "v", 0.5,0 -boostOutput = scalar, S16, 1174, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1176, "v", 1,0 -openLoopPart = scalar, F32, 1180, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1184, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1188, "%", 0.5,0 -boostControlTarget = scalar, S16, 1190, "kPa", 0.03333333333333333,0 -; total TS size = 1192 -acButtonState = scalar, S08, 1192, "", 1, 0 -m_acEnabled = bits, U32, 1196, [0:0] -engineTooSlow = bits, U32, 1196, [1:1] -engineTooFast = bits, U32, 1196, [2:2] -noClt = bits, U32, 1196, [3:3] -engineTooHot = bits, U32, 1196, [4:4] -tpsTooHigh = bits, U32, 1196, [5:5] -isDisabledByLua = bits, U32, 1196, [6:6] -acCompressorState = bits, U32, 1196, [7:7] -acPressureTooLow = bits, U32, 1196, [8:8] -acPressureTooHigh = bits, U32, 1196, [9:9] -; total TS size = 1200 -isNitrousArmed = bits, U32, 1200, [0:0] -isNitrousSpeedCondition = bits, U32, 1200, [1:1] -isNitrousTpsCondition = bits, U32, 1200, [2:2] -isNitrousCltCondition = bits, U32, 1200, [3:3] -isNitrousMapCondition = bits, U32, 1200, [4:4] -isNitrousAfrCondition = bits, U32, 1200, [5:5] -isNitrousRpmCondition = bits, U32, 1200, [6:6] -isNitrousCondition = bits, U32, 1200, [7:7] +isTorqueReductionTriggerPinValid = bits, U32, 1156, [0:0] +torqueReductionTriggerPinState = bits, U32, 1156, [1:1] +isTimeConditionSatisfied = bits, U32, 1156, [2:2] +isRpmConditionSatisfied = bits, U32, 1156, [3:3] +isAppConditionSatisfied = bits, U32, 1156, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1156, [5:5] +; total TS size = 1160 +isAntilagCondition = bits, U32, 1160, [0:0] +ALSMinRPMCondition = bits, U32, 1160, [1:1] +ALSMaxRPMCondition = bits, U32, 1160, [2:2] +ALSMinCLTCondition = bits, U32, 1160, [3:3] +ALSMaxCLTCondition = bits, U32, 1160, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1160, [5:5] +isALSSwitchActivated = bits, U32, 1160, [6:6] +ALSActivatePinState = bits, U32, 1160, [7:7] +ALSSwitchCondition = bits, U32, 1160, [8:8] +ALSTimerCondition = bits, U32, 1160, [9:9] +fuelALSCorrection = scalar, F32, 1164, "", 1, 0 +timingALSCorrection = scalar, S16, 1168, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1170, "deg", 0.01, 0 +; total TS size = 1172 +isTpsInvalid = bits, U32, 1172, [0:0] +m_shouldResetPid = bits, U32, 1172, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1172, [2:2] +isNotClosedLoop = bits, U32, 1172, [3:3] +isZeroRpm = bits, U32, 1172, [4:4] +hasInitBoost = bits, U32, 1172, [5:5] +rpmTooLow = bits, U32, 1172, [6:6] +tpsTooLow = bits, U32, 1172, [7:7] +mapTooLow = bits, U32, 1172, [8:8] +isPlantValid = bits, U32, 1172, [9:9] +isBoostControlled = bits, U32, 1172, [10:10] +luaTargetAdd = scalar, S16, 1176, "v", 0.5,0 +boostOutput = scalar, S16, 1178, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1180, "v", 1,0 +openLoopPart = scalar, F32, 1184, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1188, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1192, "%", 0.5,0 +boostControlTarget = scalar, S16, 1194, "kPa", 0.03333333333333333,0 +; total TS size = 1196 +acButtonState = scalar, S08, 1196, "", 1, 0 +m_acEnabled = bits, U32, 1200, [0:0] +engineTooSlow = bits, U32, 1200, [1:1] +engineTooFast = bits, U32, 1200, [2:2] +noClt = bits, U32, 1200, [3:3] +engineTooHot = bits, U32, 1200, [4:4] +tpsTooHigh = bits, U32, 1200, [5:5] +isDisabledByLua = bits, U32, 1200, [6:6] +acCompressorState = bits, U32, 1200, [7:7] +acPressureTooLow = bits, U32, 1200, [8:8] +acPressureTooHigh = bits, U32, 1200, [9:9] ; total TS size = 1204 -fan1cranking = bits, U32, 1204, [0:0] -fan1notRunning = bits, U32, 1204, [1:1] -fan1disabledWhileEngineStopped = bits, U32, 1204, [2:2] -fan1brokenClt = bits, U32, 1204, [3:3] -fan1enabledForAc = bits, U32, 1204, [4:4] -fan1hot = bits, U32, 1204, [5:5] -fan1cold = bits, U32, 1204, [6:6] -fan1disabledBySpeed = bits, U32, 1204, [7:7] -fan1m_state = bits, U32, 1204, [8:8] -fan1radiatorFanStatus = scalar, U08, 1208, "", 1, 0 -; total TS size = 1212 -fan2cranking = bits, U32, 1212, [0:0] -fan2notRunning = bits, U32, 1212, [1:1] -fan2disabledWhileEngineStopped = bits, U32, 1212, [2:2] -fan2brokenClt = bits, U32, 1212, [3:3] -fan2enabledForAc = bits, U32, 1212, [4:4] -fan2hot = bits, U32, 1212, [5:5] -fan2cold = bits, U32, 1212, [6:6] -fan2disabledBySpeed = bits, U32, 1212, [7:7] -fan2m_state = bits, U32, 1212, [8:8] -fan2radiatorFanStatus = scalar, U08, 1216, "", 1, 0 -; total TS size = 1220 -isPrime = bits, U32, 1220, [0:0] -engineTurnedRecently = bits, U32, 1220, [1:1] -isFuelPumpOn = bits, U32, 1220, [2:2] -ignitionOn = bits, U32, 1220, [3:3] +isNitrousArmed = bits, U32, 1204, [0:0] +isNitrousSpeedCondition = bits, U32, 1204, [1:1] +isNitrousTpsCondition = bits, U32, 1204, [2:2] +isNitrousCltCondition = bits, U32, 1204, [3:3] +isNitrousMapCondition = bits, U32, 1204, [4:4] +isNitrousAfrCondition = bits, U32, 1204, [5:5] +isNitrousRpmCondition = bits, U32, 1204, [6:6] +isNitrousCondition = bits, U32, 1204, [7:7] +; total TS size = 1208 +fan1cranking = bits, U32, 1208, [0:0] +fan1notRunning = bits, U32, 1208, [1:1] +fan1disabledWhileEngineStopped = bits, U32, 1208, [2:2] +fan1brokenClt = bits, U32, 1208, [3:3] +fan1enabledForAc = bits, U32, 1208, [4:4] +fan1hot = bits, U32, 1208, [5:5] +fan1cold = bits, U32, 1208, [6:6] +fan1disabledBySpeed = bits, U32, 1208, [7:7] +fan1m_state = bits, U32, 1208, [8:8] +fan1radiatorFanStatus = scalar, U08, 1212, "", 1, 0 +; total TS size = 1216 +fan2cranking = bits, U32, 1216, [0:0] +fan2notRunning = bits, U32, 1216, [1:1] +fan2disabledWhileEngineStopped = bits, U32, 1216, [2:2] +fan2brokenClt = bits, U32, 1216, [3:3] +fan2enabledForAc = bits, U32, 1216, [4:4] +fan2hot = bits, U32, 1216, [5:5] +fan2cold = bits, U32, 1216, [6:6] +fan2disabledBySpeed = bits, U32, 1216, [7:7] +fan2m_state = bits, U32, 1216, [8:8] +fan2radiatorFanStatus = scalar, U08, 1220, "", 1, 0 ; total TS size = 1224 -isBenchTest = bits, U32, 1224, [0:0] -hasIgnitionVoltage = bits, U32, 1224, [1:1] -mainRelayState = bits, U32, 1224, [2:2] -delayedShutoffRequested = bits, U32, 1224, [3:3] +isPrime = bits, U32, 1224, [0:0] +engineTurnedRecently = bits, U32, 1224, [1:1] +isFuelPumpOn = bits, U32, 1224, [2:2] +ignitionOn = bits, U32, 1224, [3:3] ; total TS size = 1228 -lua_fuelAdd = scalar, F32, 1228, "g", 1, 0 -lua_fuelMult = scalar, F32, 1232, "", 1, 0 -lua_clutchUpState = bits, U32, 1236, [0:0] -lua_brakePedalState = bits, U32, 1236, [1:1] -lua_acRequestState = bits, U32, 1236, [2:2] -lua_luaDisableEtb = bits, U32, 1236, [3:3] -lua_luaIgnCut = bits, U32, 1236, [4:4] -lua_luaFuelCut = bits, U32, 1236, [5:5] -lua_clutchDownState = bits, U32, 1236, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1236, [7:7] -lua_torqueReductionState = bits, U32, 1236, [8:8] -sd_tCharge = scalar, S16, 1240, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1244, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1248, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1252, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1256, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1260, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1264, "", 1, 0 -hellenBoardId = scalar, S16, 1268, "id", 1, 0 -clutchUpState = scalar, S08, 1270, "", 1, 0 -brakePedalState = scalar, S08, 1271, "", 1, 0 -startStopState = scalar, S08, 1272, "", 1, 0 -smartChipState = scalar, S08, 1273, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1274, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1275, "", 1, 0 -startStopPhysicalState = bits, U32, 1276, [0:0] -acrActive = bits, U32, 1276, [1:1] -acrEngineMovedRecently = bits, U32, 1276, [2:2] -heaterControlEnabled = bits, U32, 1276, [3:3] -luaDigitalState0 = bits, U32, 1276, [4:4] -luaDigitalState1 = bits, U32, 1276, [5:5] -luaDigitalState2 = bits, U32, 1276, [6:6] -luaDigitalState3 = bits, U32, 1276, [7:7] -clutchDownState = bits, U32, 1276, [8:8] -startStopStateToggleCounter = scalar, U32, 1280, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1284, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1288, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1292, "", 1, 0 -fuelInjectionCounter = scalar, U32, 1296, "", 1, 0 -globalSparkCounter = scalar, U32, 1300, "", 1, 0 -fuelingLoad = scalar, F32, 1304, "", 1, 0 -ignitionLoad = scalar, F32, 1308, "", 1, 0 -veTableYAxis = scalar, U16, 1312, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1314, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1315, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1316, "", 1, 0 -; total TS size = 1320 -tpsFrom = scalar, F32, 1320 -tpsTo = scalar, F32, 1324 -deltaTps = scalar, F32, 1328 -extraFuel = scalar, F32, 1332, "", 1, 0 -valueFromTable = scalar, F32, 1336, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1340, [0:0] -isBelowDecelThreshold = bits, U32, 1340, [1:1] -isTimeToResetAccumulator = bits, U32, 1340, [2:2] -isFractionalEnrichment = bits, U32, 1340, [3:3] -belowEpsilon = bits, U32, 1340, [4:4] -tooShort = bits, U32, 1340, [5:5] -fractionalInjFuel = scalar, F32, 1344, "", 1, 0 -accumulatedValue = scalar, F32, 1348, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1352, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1356, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1360, "", 1, 0 -cycleCnt = scalar, S32, 1364, "", 1, 0 -; total TS size = 1368 -hwEventCounters1 = scalar, U16, 1368, "", 1, 0 -hwEventCounters2 = scalar, U16, 1370, "", 1, 0 -hwEventCounters3 = scalar, U16, 1372, "", 1, 0 -hwEventCounters4 = scalar, U16, 1374, "", 1, 0 -vvtCamCounter = scalar, U16, 1376, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1380, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1384, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1388, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1389, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1392, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1396, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1400, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1404, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1408, [0:0] -triggerElapsedUs = scalar, U32, 1412, "", 1, 0 -; total TS size = 1416 -trgsynchronizationCounter = scalar, U32, 1416, "", 1, 0 -trgvvtToothDurations0 = scalar, U32, 1420, "us", 1, 0 -trgvvtCurrentPosition = scalar, F32, 1424, "", 1, 0 -trgvvtToothPosition1 = scalar, F32, 1428, "", 1, 0 -trgvvtToothPosition2 = scalar, F32, 1432, "", 1, 0 -trgvvtToothPosition3 = scalar, F32, 1436, "", 1, 0 -trgvvtToothPosition4 = scalar, F32, 1440, "", 1, 0 -trgtriggerSyncGapRatio = scalar, F32, 1444, "", 1, 0 -trgtriggerStateIndex = scalar, U08, 1448, "", 1, 0 -; total TS size = 1452 -vvt1isynchronizationCounter = scalar, U32, 1452, "", 1, 0 -vvt1ivvtToothDurations0 = scalar, U32, 1456, "us", 1, 0 -vvt1ivvtCurrentPosition = scalar, F32, 1460, "", 1, 0 -vvt1ivvtToothPosition1 = scalar, F32, 1464, "", 1, 0 -vvt1ivvtToothPosition2 = scalar, F32, 1468, "", 1, 0 -vvt1ivvtToothPosition3 = scalar, F32, 1472, "", 1, 0 -vvt1ivvtToothPosition4 = scalar, F32, 1476, "", 1, 0 -vvt1itriggerSyncGapRatio = scalar, F32, 1480, "", 1, 0 -vvt1itriggerStateIndex = scalar, U08, 1484, "", 1, 0 -; total TS size = 1488 -vvt1esynchronizationCounter = scalar, U32, 1488, "", 1, 0 -vvt1evvtToothDurations0 = scalar, U32, 1492, "us", 1, 0 -vvt1evvtCurrentPosition = scalar, F32, 1496, "", 1, 0 -vvt1evvtToothPosition1 = scalar, F32, 1500, "", 1, 0 -vvt1evvtToothPosition2 = scalar, F32, 1504, "", 1, 0 -vvt1evvtToothPosition3 = scalar, F32, 1508, "", 1, 0 -vvt1evvtToothPosition4 = scalar, F32, 1512, "", 1, 0 -vvt1etriggerSyncGapRatio = scalar, F32, 1516, "", 1, 0 -vvt1etriggerStateIndex = scalar, U08, 1520, "", 1, 0 -; total TS size = 1524 -vvt2isynchronizationCounter = scalar, U32, 1524, "", 1, 0 -vvt2ivvtToothDurations0 = scalar, U32, 1528, "us", 1, 0 -vvt2ivvtCurrentPosition = scalar, F32, 1532, "", 1, 0 -vvt2ivvtToothPosition1 = scalar, F32, 1536, "", 1, 0 -vvt2ivvtToothPosition2 = scalar, F32, 1540, "", 1, 0 -vvt2ivvtToothPosition3 = scalar, F32, 1544, "", 1, 0 -vvt2ivvtToothPosition4 = scalar, F32, 1548, "", 1, 0 -vvt2itriggerSyncGapRatio = scalar, F32, 1552, "", 1, 0 -vvt2itriggerStateIndex = scalar, U08, 1556, "", 1, 0 -; total TS size = 1560 -vvt2esynchronizationCounter = scalar, U32, 1560, "", 1, 0 -vvt2evvtToothDurations0 = scalar, U32, 1564, "us", 1, 0 -vvt2evvtCurrentPosition = scalar, F32, 1568, "", 1, 0 -vvt2evvtToothPosition1 = scalar, F32, 1572, "", 1, 0 -vvt2evvtToothPosition2 = scalar, F32, 1576, "", 1, 0 -vvt2evvtToothPosition3 = scalar, F32, 1580, "", 1, 0 -vvt2evvtToothPosition4 = scalar, F32, 1584, "", 1, 0 -vvt2etriggerSyncGapRatio = scalar, F32, 1588, "", 1, 0 -vvt2etriggerStateIndex = scalar, U08, 1592, "", 1, 0 -; total TS size = 1596 -camResyncCounter = scalar, U08, 1596, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1600, [0:0] -; total TS size = 1604 -wallFuelCorrection = scalar, F32, 1604, "", 1, 0 -wallFuel = scalar, F32, 1608, "", 1, 0 -; total TS size = 1612 -idleState = bits, S32, 1612, [0:2], "not important" -currentIdlePosition = scalar, F32, 1616 -baseIdlePosition = scalar, F32, 1620 -idleClosedLoop = scalar, F32, 1624 -iacByTpsTaper = scalar, F32, 1628 -mightResetPid = bits, U32, 1632, [0:0] -shouldResetPid = bits, U32, 1632, [1:1] -wasResetPid = bits, U32, 1632, [2:2] -mustResetPid = bits, U32, 1632, [3:3] -isCranking = bits, U32, 1632, [4:4] -isIacTableForCoasting = bits, U32, 1632, [5:5] -notIdling = bits, U32, 1632, [6:6] -needReset = bits, U32, 1632, [7:7] -isInDeadZone = bits, U32, 1632, [8:8] -isBlipping = bits, U32, 1632, [9:9] -useClosedLoop = bits, U32, 1632, [10:10] -badTps = bits, U32, 1632, [11:11] -looksLikeRunning = bits, U32, 1632, [12:12] -looksLikeCoasting = bits, U32, 1632, [13:13] -looksLikeCrankToIdle = bits, U32, 1632, [14:14] -isIdleCoasting = bits, U32, 1632, [15:15] -isIdleClosedLoop = bits, U32, 1632, [16:16] -idleTarget = scalar, S32, 1636, "", 1, 0 -targetRpmByClt = scalar, S32, 1640, "", 1, 0 -targetRpmAc = scalar, S32, 1644, "", 1, 0 -iacByRpmTaper = scalar, F32, 1648 -luaAdd = scalar, F32, 1652 -; total TS size = 1656 -etb1targetWithIdlePosition = scalar, F32, 1656, "%", 1,0 -etb1trim = scalar, F32, 1660, "", 1, 0 -etb1luaAdjustment = scalar, F32, 1664, "%", 1,0 -etb1m_wastegatePosition = scalar, F32, 1668, "%", 1,0 -etb1etbFeedForward = scalar, F32, 1672 -etb1etbIntegralError = scalar, F32, 1676, "", 1, 0 -etb1etbCurrentTarget = scalar, F32, 1680, "%", 1, 0 -etb1m_adjustedTarget = scalar, S16, 1684, "%", 0.01, 0 -etb1etbRevLimitActive = bits, U32, 1688, [0:0] -etb1jamDetected = bits, U32, 1688, [1:1] -etb1validPlantPosition = bits, U32, 1688, [2:2] -etb1etbTpsErrorCounter = scalar, U16, 1692, "count", 1,0 -etb1etbPpsErrorCounter = scalar, U16, 1694, "count", 1,0 -etb1etbErrorCode = scalar, S08, 1696, "", 1, 0 -etb1etbErrorCodeBlinker = scalar, S08, 1697, "", 1, 0 -etb1tcEtbDrop = scalar, S08, 1698, "%", 1, 0 -etb1jamTimer = scalar, U16, 1700, "sec", 0.01, 0 -etb1adjustedEtbTarget = scalar, S08, 1702, "%", 1, 0 -etb1state = scalar, U08, 1703, "", 1, 0 -; total TS size = 1704 -etb2targetWithIdlePosition = scalar, F32, 1704, "%", 1,0 -etb2trim = scalar, F32, 1708, "", 1, 0 -etb2luaAdjustment = scalar, F32, 1712, "%", 1,0 -etb2m_wastegatePosition = scalar, F32, 1716, "%", 1,0 -etb2etbFeedForward = scalar, F32, 1720 -etb2etbIntegralError = scalar, F32, 1724, "", 1, 0 -etb2etbCurrentTarget = scalar, F32, 1728, "%", 1, 0 -etb2m_adjustedTarget = scalar, S16, 1732, "%", 0.01, 0 -etb2etbRevLimitActive = bits, U32, 1736, [0:0] -etb2jamDetected = bits, U32, 1736, [1:1] -etb2validPlantPosition = bits, U32, 1736, [2:2] -etb2etbTpsErrorCounter = scalar, U16, 1740, "count", 1,0 -etb2etbPpsErrorCounter = scalar, U16, 1742, "count", 1,0 -etb2etbErrorCode = scalar, S08, 1744, "", 1, 0 -etb2etbErrorCodeBlinker = scalar, S08, 1745, "", 1, 0 -etb2tcEtbDrop = scalar, S08, 1746, "%", 1, 0 -etb2jamTimer = scalar, U16, 1748, "sec", 0.01, 0 -etb2adjustedEtbTarget = scalar, S08, 1750, "%", 1, 0 -etb2state = scalar, U08, 1751, "", 1, 0 -; total TS size = 1752 -wb1faultCode = scalar, U08, 1752, "", 1, 0 -wb1heaterDuty = scalar, U08, 1753, "%", 1, 0 -wb1pumpDuty = scalar, U08, 1754, "%", 1, 0 -wb1tempC = scalar, U16, 1756, "C", 1, 0 -wb1nernstVoltage = scalar, U16, 1758, "V", 0.001, 0 -wb1esr = scalar, U16, 1760, "ohm", 1, 0 -; total TS size = 1764 -wb2faultCode = scalar, U08, 1764, "", 1, 0 -wb2heaterDuty = scalar, U08, 1765, "%", 1, 0 -wb2pumpDuty = scalar, U08, 1766, "%", 1, 0 -wb2tempC = scalar, U16, 1768, "C", 1, 0 -wb2nernstVoltage = scalar, U16, 1770, "V", 0.001, 0 -wb2esr = scalar, U16, 1772, "ohm", 1, 0 -; total TS size = 1776 -dcOutput0 = scalar, F32, 1776, "%", 1,0 -isEnabled0_int = scalar, U08, 1780, "%", 1,0 -isEnabled0 = bits, U32, 1784, [0:0] -; total TS size = 1788 -value0 = scalar, U16, 1788, "RAW", 1,0 -value1 = scalar, U16, 1790, "RAW", 1,0 -errorRate = scalar, F32, 1792, "% (don't belive me)", 1,0 -; total TS size = 1796 -vvtTarget = scalar, U16, 1796, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1798, "%", 0.5, 0 +isBenchTest = bits, U32, 1228, [0:0] +hasIgnitionVoltage = bits, U32, 1228, [1:1] +mainRelayState = bits, U32, 1228, [2:2] +delayedShutoffRequested = bits, U32, 1228, [3:3] +; total TS size = 1232 +lua_fuelAdd = scalar, F32, 1232, "g", 1, 0 +lua_fuelMult = scalar, F32, 1236, "", 1, 0 +lua_clutchUpState = bits, U32, 1240, [0:0] +lua_brakePedalState = bits, U32, 1240, [1:1] +lua_acRequestState = bits, U32, 1240, [2:2] +lua_luaDisableEtb = bits, U32, 1240, [3:3] +lua_luaIgnCut = bits, U32, 1240, [4:4] +lua_luaFuelCut = bits, U32, 1240, [5:5] +lua_clutchDownState = bits, U32, 1240, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1240, [7:7] +lua_torqueReductionState = bits, U32, 1240, [8:8] +sd_tCharge = scalar, S16, 1244, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1248, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1252, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1256, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1260, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1264, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1268, "", 1, 0 +hellenBoardId = scalar, S16, 1272, "id", 1, 0 +clutchUpState = scalar, S08, 1274, "", 1, 0 +brakePedalState = scalar, S08, 1275, "", 1, 0 +startStopState = scalar, S08, 1276, "", 1, 0 +smartChipState = scalar, S08, 1277, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1278, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1279, "", 1, 0 +startStopPhysicalState = bits, U32, 1280, [0:0] +acrActive = bits, U32, 1280, [1:1] +acrEngineMovedRecently = bits, U32, 1280, [2:2] +heaterControlEnabled = bits, U32, 1280, [3:3] +luaDigitalState0 = bits, U32, 1280, [4:4] +luaDigitalState1 = bits, U32, 1280, [5:5] +luaDigitalState2 = bits, U32, 1280, [6:6] +luaDigitalState3 = bits, U32, 1280, [7:7] +clutchDownState = bits, U32, 1280, [8:8] +startStopStateToggleCounter = scalar, U32, 1284, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1288, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1292, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1296, "", 1, 0 +fuelInjectionCounter = scalar, U32, 1300, "", 1, 0 +globalSparkCounter = scalar, U32, 1304, "", 1, 0 +fuelingLoad = scalar, F32, 1308, "", 1, 0 +ignitionLoad = scalar, F32, 1312, "", 1, 0 +veTableYAxis = scalar, U16, 1316, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1318, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1319, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1320, "", 1, 0 +; total TS size = 1324 +tpsFrom = scalar, F32, 1324 +tpsTo = scalar, F32, 1328 +deltaTps = scalar, F32, 1332 +extraFuel = scalar, F32, 1336, "", 1, 0 +valueFromTable = scalar, F32, 1340, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1344, [0:0] +isBelowDecelThreshold = bits, U32, 1344, [1:1] +isTimeToResetAccumulator = bits, U32, 1344, [2:2] +isFractionalEnrichment = bits, U32, 1344, [3:3] +belowEpsilon = bits, U32, 1344, [4:4] +tooShort = bits, U32, 1344, [5:5] +fractionalInjFuel = scalar, F32, 1348, "", 1, 0 +accumulatedValue = scalar, F32, 1352, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1356, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1360, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1364, "", 1, 0 +cycleCnt = scalar, S32, 1368, "", 1, 0 +; total TS size = 1372 +hwEventCounters1 = scalar, U16, 1372, "", 1, 0 +hwEventCounters2 = scalar, U16, 1374, "", 1, 0 +hwEventCounters3 = scalar, U16, 1376, "", 1, 0 +hwEventCounters4 = scalar, U16, 1378, "", 1, 0 +vvtCamCounter = scalar, U16, 1380, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1384, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1388, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1392, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1393, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1396, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1400, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1404, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1408, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1412, [0:0] +triggerElapsedUs = scalar, U32, 1416, "", 1, 0 +; total TS size = 1420 +trgsynchronizationCounter = scalar, U32, 1420, "", 1, 0 +trgvvtToothDurations0 = scalar, U32, 1424, "us", 1, 0 +trgvvtCurrentPosition = scalar, F32, 1428, "", 1, 0 +trgvvtToothPosition1 = scalar, F32, 1432, "", 1, 0 +trgvvtToothPosition2 = scalar, F32, 1436, "", 1, 0 +trgvvtToothPosition3 = scalar, F32, 1440, "", 1, 0 +trgvvtToothPosition4 = scalar, F32, 1444, "", 1, 0 +trgtriggerSyncGapRatio = scalar, F32, 1448, "", 1, 0 +trgtriggerStateIndex = scalar, U08, 1452, "", 1, 0 +; total TS size = 1456 +vvt1isynchronizationCounter = scalar, U32, 1456, "", 1, 0 +vvt1ivvtToothDurations0 = scalar, U32, 1460, "us", 1, 0 +vvt1ivvtCurrentPosition = scalar, F32, 1464, "", 1, 0 +vvt1ivvtToothPosition1 = scalar, F32, 1468, "", 1, 0 +vvt1ivvtToothPosition2 = scalar, F32, 1472, "", 1, 0 +vvt1ivvtToothPosition3 = scalar, F32, 1476, "", 1, 0 +vvt1ivvtToothPosition4 = scalar, F32, 1480, "", 1, 0 +vvt1itriggerSyncGapRatio = scalar, F32, 1484, "", 1, 0 +vvt1itriggerStateIndex = scalar, U08, 1488, "", 1, 0 +; total TS size = 1492 +vvt1esynchronizationCounter = scalar, U32, 1492, "", 1, 0 +vvt1evvtToothDurations0 = scalar, U32, 1496, "us", 1, 0 +vvt1evvtCurrentPosition = scalar, F32, 1500, "", 1, 0 +vvt1evvtToothPosition1 = scalar, F32, 1504, "", 1, 0 +vvt1evvtToothPosition2 = scalar, F32, 1508, "", 1, 0 +vvt1evvtToothPosition3 = scalar, F32, 1512, "", 1, 0 +vvt1evvtToothPosition4 = scalar, F32, 1516, "", 1, 0 +vvt1etriggerSyncGapRatio = scalar, F32, 1520, "", 1, 0 +vvt1etriggerStateIndex = scalar, U08, 1524, "", 1, 0 +; total TS size = 1528 +vvt2isynchronizationCounter = scalar, U32, 1528, "", 1, 0 +vvt2ivvtToothDurations0 = scalar, U32, 1532, "us", 1, 0 +vvt2ivvtCurrentPosition = scalar, F32, 1536, "", 1, 0 +vvt2ivvtToothPosition1 = scalar, F32, 1540, "", 1, 0 +vvt2ivvtToothPosition2 = scalar, F32, 1544, "", 1, 0 +vvt2ivvtToothPosition3 = scalar, F32, 1548, "", 1, 0 +vvt2ivvtToothPosition4 = scalar, F32, 1552, "", 1, 0 +vvt2itriggerSyncGapRatio = scalar, F32, 1556, "", 1, 0 +vvt2itriggerStateIndex = scalar, U08, 1560, "", 1, 0 +; total TS size = 1564 +vvt2esynchronizationCounter = scalar, U32, 1564, "", 1, 0 +vvt2evvtToothDurations0 = scalar, U32, 1568, "us", 1, 0 +vvt2evvtCurrentPosition = scalar, F32, 1572, "", 1, 0 +vvt2evvtToothPosition1 = scalar, F32, 1576, "", 1, 0 +vvt2evvtToothPosition2 = scalar, F32, 1580, "", 1, 0 +vvt2evvtToothPosition3 = scalar, F32, 1584, "", 1, 0 +vvt2evvtToothPosition4 = scalar, F32, 1588, "", 1, 0 +vvt2etriggerSyncGapRatio = scalar, F32, 1592, "", 1, 0 +vvt2etriggerStateIndex = scalar, U08, 1596, "", 1, 0 +; total TS size = 1600 +camResyncCounter = scalar, U08, 1600, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1604, [0:0] +; total TS size = 1608 +wallFuelCorrection = scalar, F32, 1608, "", 1, 0 +wallFuel = scalar, F32, 1612, "", 1, 0 +; total TS size = 1616 +idleState = bits, S32, 1616, [0:2], "not important" +currentIdlePosition = scalar, F32, 1620 +baseIdlePosition = scalar, F32, 1624 +idleClosedLoop = scalar, F32, 1628 +iacByTpsTaper = scalar, F32, 1632 +mightResetPid = bits, U32, 1636, [0:0] +shouldResetPid = bits, U32, 1636, [1:1] +wasResetPid = bits, U32, 1636, [2:2] +mustResetPid = bits, U32, 1636, [3:3] +isCranking = bits, U32, 1636, [4:4] +isIacTableForCoasting = bits, U32, 1636, [5:5] +notIdling = bits, U32, 1636, [6:6] +needReset = bits, U32, 1636, [7:7] +isInDeadZone = bits, U32, 1636, [8:8] +isBlipping = bits, U32, 1636, [9:9] +useClosedLoop = bits, U32, 1636, [10:10] +badTps = bits, U32, 1636, [11:11] +looksLikeRunning = bits, U32, 1636, [12:12] +looksLikeCoasting = bits, U32, 1636, [13:13] +looksLikeCrankToIdle = bits, U32, 1636, [14:14] +isIdleCoasting = bits, U32, 1636, [15:15] +isIdleClosedLoop = bits, U32, 1636, [16:16] +idleTarget = scalar, S32, 1640, "", 1, 0 +targetRpmByClt = scalar, S32, 1644, "", 1, 0 +targetRpmAc = scalar, S32, 1648, "", 1, 0 +iacByRpmTaper = scalar, F32, 1652 +luaAdd = scalar, F32, 1656 +; total TS size = 1660 +etb1targetWithIdlePosition = scalar, F32, 1660, "%", 1,0 +etb1trim = scalar, F32, 1664, "", 1, 0 +etb1luaAdjustment = scalar, F32, 1668, "%", 1,0 +etb1m_wastegatePosition = scalar, F32, 1672, "%", 1,0 +etb1etbFeedForward = scalar, F32, 1676 +etb1etbIntegralError = scalar, F32, 1680, "", 1, 0 +etb1etbCurrentTarget = scalar, F32, 1684, "%", 1, 0 +etb1m_adjustedTarget = scalar, S16, 1688, "%", 0.01, 0 +etb1etbRevLimitActive = bits, U32, 1692, [0:0] +etb1jamDetected = bits, U32, 1692, [1:1] +etb1validPlantPosition = bits, U32, 1692, [2:2] +etb1etbTpsErrorCounter = scalar, U16, 1696, "count", 1,0 +etb1etbPpsErrorCounter = scalar, U16, 1698, "count", 1,0 +etb1etbErrorCode = scalar, S08, 1700, "", 1, 0 +etb1etbErrorCodeBlinker = scalar, S08, 1701, "", 1, 0 +etb1tcEtbDrop = scalar, S08, 1702, "%", 1, 0 +etb1jamTimer = scalar, U16, 1704, "sec", 0.01, 0 +etb1adjustedEtbTarget = scalar, S08, 1706, "%", 1, 0 +etb1state = scalar, U08, 1707, "", 1, 0 +; total TS size = 1708 +etb2targetWithIdlePosition = scalar, F32, 1708, "%", 1,0 +etb2trim = scalar, F32, 1712, "", 1, 0 +etb2luaAdjustment = scalar, F32, 1716, "%", 1,0 +etb2m_wastegatePosition = scalar, F32, 1720, "%", 1,0 +etb2etbFeedForward = scalar, F32, 1724 +etb2etbIntegralError = scalar, F32, 1728, "", 1, 0 +etb2etbCurrentTarget = scalar, F32, 1732, "%", 1, 0 +etb2m_adjustedTarget = scalar, S16, 1736, "%", 0.01, 0 +etb2etbRevLimitActive = bits, U32, 1740, [0:0] +etb2jamDetected = bits, U32, 1740, [1:1] +etb2validPlantPosition = bits, U32, 1740, [2:2] +etb2etbTpsErrorCounter = scalar, U16, 1744, "count", 1,0 +etb2etbPpsErrorCounter = scalar, U16, 1746, "count", 1,0 +etb2etbErrorCode = scalar, S08, 1748, "", 1, 0 +etb2etbErrorCodeBlinker = scalar, S08, 1749, "", 1, 0 +etb2tcEtbDrop = scalar, S08, 1750, "%", 1, 0 +etb2jamTimer = scalar, U16, 1752, "sec", 0.01, 0 +etb2adjustedEtbTarget = scalar, S08, 1754, "%", 1, 0 +etb2state = scalar, U08, 1755, "", 1, 0 +; total TS size = 1756 +wb1faultCode = scalar, U08, 1756, "", 1, 0 +wb1heaterDuty = scalar, U08, 1757, "%", 1, 0 +wb1pumpDuty = scalar, U08, 1758, "%", 1, 0 +wb1tempC = scalar, U16, 1760, "C", 1, 0 +wb1nernstVoltage = scalar, U16, 1762, "V", 0.001, 0 +wb1esr = scalar, U16, 1764, "ohm", 1, 0 +; total TS size = 1768 +wb2faultCode = scalar, U08, 1768, "", 1, 0 +wb2heaterDuty = scalar, U08, 1769, "%", 1, 0 +wb2pumpDuty = scalar, U08, 1770, "%", 1, 0 +wb2tempC = scalar, U16, 1772, "C", 1, 0 +wb2nernstVoltage = scalar, U16, 1774, "V", 0.001, 0 +wb2esr = scalar, U16, 1776, "ohm", 1, 0 +; total TS size = 1780 +dcOutput0 = scalar, F32, 1780, "%", 1,0 +isEnabled0_int = scalar, U08, 1784, "%", 1,0 +isEnabled0 = bits, U32, 1788, [0:0] +; total TS size = 1792 +value0 = scalar, U16, 1792, "RAW", 1,0 +value1 = scalar, U16, 1794, "RAW", 1,0 +errorRate = scalar, F32, 1796, "% (don't belive me)", 1,0 ; total TS size = 1800 -lambdaCurrentlyGood = bits, U32, 1800, [0:0] -lambdaMonitorCut = bits, U32, 1800, [1:1] -lambdaTimeSinceGood = scalar, U16, 1804, "sec", 0.01, 0 -; total TS size = 1808 +vvtTarget = scalar, U16, 1800, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1802, "%", 0.5, 0 +; total TS size = 1804 +lambdaCurrentlyGood = bits, U32, 1804, [0:0] +lambdaMonitorCut = bits, U32, 1804, [1:1] +lambdaTimeSinceGood = scalar, U16, 1808, "sec", 0.01, 0 +; total TS size = 1812 time = { timeNow } @@ -4584,6 +4587,12 @@ curve = rangeMatrix, "Range Switch Input Matrix" gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. upDownLabel = "(RICHER)", "(LEANER)" + table = trailingSparkTable, trailingSparkMap, "Trailing spark", 1 + xyLabels = "RPM", "Ignition Load" + xBins = trailingSparkRpmBins, RPMValue + yBins = trailingSparkLoadBins, ignitionLoad + zBins = trailingSparkTable + table = torqueTableTbl, torqueTableMap, "Engine Torque", 1 xBins = torqueRpmBins, RPMValue yBins = torqueLoadBins, veTableYAxis @@ -4881,6 +4890,7 @@ timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20 timingPidCorrectionGauge = timingPidCorrection,"Idle: Timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 +trailingSparkAngleGauge = trailingSparkAngle,"Ign: Trailing spark deg", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 gaugeCategory = "Boost Control" luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 @@ -5810,6 +5820,7 @@ entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" entry = luaIgnitionSkip, "Ign: Lua Spark Skip", int, "%d" +entry = trailingSparkAngle, "Ign: Trailing spark deg", float, "%.3f" entry = m_knockLevel, "Knock: Current level", float, "%.3f" entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" @@ -6758,6 +6769,7 @@ dialog = ignition_stateDialog, "ignition_state" graphLine = luaTimingAdd liveGraph = ignition_state_4_Graph, "Graph", South graphLine = luaTimingMult + graphLine = trailingSparkAngle dialog = knock_controllerDialog, "knock_controller" @@ -10058,11 +10070,11 @@ dialog = tcuControls, "Transmission Settings" dialog = rotaryDialog, "Rotary" field = "Enable Trailing Sparks", enableTrailingSparks - field = "Trailing Spark Offset", trailingSparkAngle field = "Trailing Pin 1", trailingCoilPins1 field = "Trailing Pin 2", trailingCoilPins2 field = "Trailing Pin 3", trailingCoilPins3 field = "Trailing Pin 4", trailingCoilPins4 + panel = trailingSparkTable diff --git a/firmware/tunerstudio/generated/rusefi_hellen128.ini b/firmware/tunerstudio/generated/rusefi_hellen128.ini index 3def408739..43b2f0e426 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.2025.02.07.hellen128.3205943137" + signature = "rusEFI master.2025.02.07.hellen128.949305356" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2025.02.07.hellen128.3205943137" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2025.02.07.hellen128.949305356" ; 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 @@ -101,7 +101,7 @@ enable2ndByteCanID = false ; CONFIG_DEFINITION_START ; this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt -pageSize = 23280 +pageSize = 23304 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",22="BMW_M52",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",21="ET_BOSCH_QUICK_START",24="ET_TEST_WITH_BOSCH_QUICK_START",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",41="FRANKENSO_MIATA_NA6_MAP",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",47="GM_LCV",55="GM_LTG",98="GM_SBC",49="GM_SBC_GEN5",8="GY6_139QMB",6="HARLEY",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",34="MAZDA_MIATA_NA6",80="MAZDA_MIATA_NA94",10="MAZDA_MIATA_NA96",83="MAZDA_MIATA_NB1",69="MAZDA_MIATA_NB2",86="MAZDA_MIATA_NB2_36",20="MAZDA_MIATA_NC",33="ME17_9_MISC",68="MERCEDES_M111",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",4="MRE_SECONDARY_CAN",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",35="POLARIS",9="POLARIS_RZR",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",27="PROTEUS_GM_LS_4",25="PROTEUS_LUA_DEMO",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",17="TCU_4R70W",100="TEST_100",101="TEST_101",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",93="TEST_ISSUE_6451",19="TEST_ROTARY",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",102="UNUSED102",67="UNUSED67",94="UNUSED94",65="UNUSED_65",97="UNUSED_97",77="VAG_5_CYL",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -245,7 +245,7 @@ vbattAdcChannel = bits, U08, 513, [0:5], $adc_channel_e_list fuelLevelSensor = bits, U08, 514, [0:5], $adc_channel_e_list tps2_1AdcChannel = bits, U08, 515, [0:5], $adc_channel_e_list idle_derivativeFilterLoss = scalar, F32, 516, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 520, "angle", 1, 0, 0, 720, 0 +unusedTrailingSparkAngle = scalar, S32, 520, "", 1, 0, 0, 100, 0 trigger_type = bits, U32, 524, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Daihatsu 3 cylinder", "Mazda SOHC 4", "60-2", "36-1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "Dodge Ram 1+16", "60-2 Wrong Polarity", "Benelli Tre", "Dodge Stratus", "36_2_2_2", "Nissan Primera", "dev 2JZ 3/34 simulator", "Rover K", "GM 24x 5 degree", "Honda CBR 600 Cam", "INVALID", "Honda CBR 600 custom", "3-1 skipped", "Dodge Neon 2003 crank", "Miata NB", "INVALID", "INVALID", "Subaru 7+6", "Jeep 18-2-2-2", "12crank/24cam", "Dodge Neon 1995 crank only", "Jeep XJ 4 cyl", "FiatIAQ_P8", "Mazda Z5", "INVALID", "Renix 44-2-2", "Renix 66-2-2-2", "Honda K 12+1", "INVALID", "36-2", "Subaru SVX", "Suzuki K6A", "Subaru 7 without 6", "INVALID", "INVALID", "GM 60-2-2-2", "Skoda Favorit", "Barra 3+1 Cam", "Kawa KX450F", "Nissan VQ35", "INVALID", "Nissan VQ30", "Nissan QR25", "INVALID", "Subaru SVX Crank 1", "Subaru SVX Cam VVT", "Ford PIP", "Suzuki G13B", "Honda K 4+1", "Nissan MR18 Crank", "32-2", "36-2-1", "36-2-1-1", "3-0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6-0", "Daihatsu 4 cylinder", "INVALID", "dev", "Nissan HR", "Arctic Cat", "HR12 in", "HONDA J30A2", "trg88", "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" trigger_customTotalToothCount = scalar, S32, 528, "number", 1, 0, 1, 300, 0 trigger_customSkippedToothCount = scalar, S32, 532, "number", 1, 0, 0, 300, 0 @@ -1796,7 +1796,10 @@ dynoCarCarMassKg = scalar, S16, 23268, "", 1, 0, 0, 32000, 0 dynoCarCargoMassKg = scalar, S16, 23270, "", 1, 0, 0, 32000, 0 dynoCarCoeffOfDrag = scalar, F32, 23272, "", 1, 0, 0, 100, 0 dynoCarFrontalAreaM2 = scalar, F32, 23276, "", 1, 0, 0, 100, 0 -; total TS size = 23280 +trailingSparkTable = array, S08, 23280, [4x4], "deg", 0.1, 0, 0, 20, 1 +trailingSparkRpmBins = array, U08, 23296, [4], "rpm", 50.0, 0, 0, 12000, 0 +trailingSparkLoadBins = array, U08, 23300, [4], "Load", 5.0, 0, 0, 1000, 0 +; total TS size = 23304 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1890,7 +1893,6 @@ dynoCarFrontalAreaM2 = scalar, F32, 23276, "", 1, 0, 0, 100, 0 fuelLevelSensor = "This is the processor pin that your fuel level sensor in connected to. This is a non standard input so will need to be user defined." tps2_1AdcChannel = "Second throttle body position sensor, single channel so far" idle_derivativeFilterLoss = "0.1 is a good default value" - trailingSparkAngle = "just a temporary solution" trigger_type = "https://github.com/rusefi/rusefi/wiki/All-Supported-Triggers" airByRpmTaper = "Extra air taper amount" boostControlSafeDutyCycle = "Duty cycle to use in case of a sensor failure. This duty cycle should produce the minimum possible amount of boost. This duty is also used in case any of the minimum RPM/TPS/MAP conditions are not met." @@ -2664,7 +2666,7 @@ dynoCarFrontalAreaM2 = scalar, F32, 23276, "", 1, 0, 0, 100, 0 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1808 + ochBlockSize = 1812 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3189,417 +3191,418 @@ dwellVoltageCorrection = scalar, F32, 940, "", 1, 0 luaTimingAdd = scalar, F32, 944, "deg", 1, 0 luaTimingMult = scalar, F32, 948, "deg", 1, 0 luaIgnitionSkip = bits, U32, 952, [0:0] -; total TS size = 956 -m_knockLevel = scalar, F32, 956, "Volts", 1, 0 -m_knockCyl1 = scalar, S08, 960, "dBv", 1, 0 -m_knockCyl2 = scalar, S08, 961, "dBv", 1, 0 -m_knockCyl3 = scalar, S08, 962, "dBv", 1, 0 -m_knockCyl4 = scalar, S08, 963, "dBv", 1, 0 -m_knockCyl5 = scalar, S08, 964, "dBv", 1, 0 -m_knockCyl6 = scalar, S08, 965, "dBv", 1, 0 -m_knockCyl7 = scalar, S08, 966, "dBv", 1, 0 -m_knockCyl8 = scalar, S08, 967, "dBv", 1, 0 -m_knockCyl9 = scalar, S08, 968, "dBv", 1, 0 -m_knockCyl10 = scalar, S08, 969, "dBv", 1, 0 -m_knockCyl11 = scalar, S08, 970, "dBv", 1, 0 -m_knockCyl12 = scalar, S08, 971, "dBv", 1, 0 -m_knockRetard = scalar, F32, 972, "deg", 1,0 -m_knockThreshold = scalar, F32, 976, "", 1, 0 -m_knockCount = scalar, U32, 980, "", 1, 0 -m_maximumRetard = scalar, F32, 984, "", 1, 0 -m_knockSpectrum1 = scalar, U32, 988, "compressed data", 1, 0 -m_knockSpectrum2 = scalar, U32, 992, "compressed data", 1, 0 -m_knockSpectrum3 = scalar, U32, 996, "compressed data", 1, 0 -m_knockSpectrum4 = scalar, U32, 1000, "compressed data", 1, 0 -m_knockSpectrum5 = scalar, U32, 1004, "compressed data", 1, 0 -m_knockSpectrum6 = scalar, U32, 1008, "compressed data", 1, 0 -m_knockSpectrum7 = scalar, U32, 1012, "compressed data", 1, 0 -m_knockSpectrum8 = scalar, U32, 1016, "compressed data", 1, 0 -m_knockSpectrum9 = scalar, U32, 1020, "compressed data", 1, 0 -m_knockSpectrum10 = scalar, U32, 1024, "compressed data", 1, 0 -m_knockSpectrum11 = scalar, U32, 1028, "compressed data", 1, 0 -m_knockSpectrum12 = scalar, U32, 1032, "compressed data", 1, 0 -m_knockSpectrum13 = scalar, U32, 1036, "compressed data", 1, 0 -m_knockSpectrum14 = scalar, U32, 1040, "compressed data", 1, 0 -m_knockSpectrum15 = scalar, U32, 1044, "compressed data", 1, 0 -m_knockSpectrum16 = scalar, U32, 1048, "compressed data", 1, 0 -m_knockSpectrumChannelCyl = scalar, U16, 1052, "compressed N + N", 1, 0 -m_knockFrequencyStart = scalar, U16, 1054, "Hz", 1, 0 -m_knockFrequencyStep = scalar, F32, 1056, "Hz", 1, 0 -m_knockFuelTrimMultiplier = scalar, F32, 1060, "multiplier", 1, 0 -; total TS size = 1064 -m_isPriming = bits, U32, 1064, [0:0] +trailingSparkAngle = scalar, S16, 956, "deg", 0.01,0 +; total TS size = 960 +m_knockLevel = scalar, F32, 960, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 964, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 965, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 966, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 967, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 968, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 969, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 970, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 971, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 972, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 973, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 974, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 975, "dBv", 1, 0 +m_knockRetard = scalar, F32, 976, "deg", 1,0 +m_knockThreshold = scalar, F32, 980, "", 1, 0 +m_knockCount = scalar, U32, 984, "", 1, 0 +m_maximumRetard = scalar, F32, 988, "", 1, 0 +m_knockSpectrum1 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1040, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1044, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1048, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1052, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1056, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1058, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1060, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1064, "multiplier", 1, 0 ; total TS size = 1068 -tcuCurrentGear = scalar, S08, 1068, "gear", 1, 0 -tcRatio = scalar, U16, 1070, "value", 0.01, 0 -lastShiftTime = scalar, F32, 1072, "", 1, 0 -tcu_currentRange = scalar, U08, 1076, "", 1, 0 -pressureControlDuty = scalar, S08, 1077, "%", 1,0 -torqueConverterDuty = scalar, S08, 1078, "%", 1,0 -isShifting = bits, U32, 1080, [0:0] -; total TS size = 1084 -throttleUseWotModel = bits, U32, 1084, [0:0] -throttleModelCrossoverAngle = scalar, S16, 1088, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1092, "g/s", 1, 0 -; total TS size = 1096 -m_requested_pump = scalar, F32, 1096, "", 1, 0 -fuel_requested_percent = scalar, F32, 1100, "%", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1104, "", 1, 0 -noValve = bits, U32, 1108, [0:0] -angleAboveMin = bits, U32, 1108, [1:1] -isHpfpActive = bits, U32, 1108, [2:2] -HpfpValveState = bits, U32, 1108, [3:3] -m_pressureTarget_kPa = scalar, F32, 1112, "", 1, 0 -nextLobe = scalar, F32, 1116, "", 1, 0 -di_nextStart = scalar, F32, 1120, "v", 1, 0 -HpfdActivationPhase = scalar, F32, 1124, "", 1, 0 -HpfdDeactivationPhase = scalar, F32, 1128, "", 1, 0 -; total TS size = 1132 -m_deadtime = scalar, F32, 1132, "ms", 1, 0 -pressureDelta = scalar, F32, 1136, "kPa", 1, 0 -pressureRatio = scalar, F32, 1140, "", 1, 0 -; total TS size = 1144 -retardThresholdRpm = scalar, S32, 1144, "", 1, 0 -launchActivatePinState = bits, U32, 1148, [0:0] -isPreLaunchCondition = bits, U32, 1148, [1:1] -isLaunchCondition = bits, U32, 1148, [2:2] -isSwitchActivated = bits, U32, 1148, [3:3] -isClutchActivated = bits, U32, 1148, [4:4] -isBrakePedalActivated = bits, U32, 1148, [5:5] -isValidInputPin = bits, U32, 1148, [6:6] -activateSwitchCondition = bits, U32, 1148, [7:7] -rpmLaunchCondition = bits, U32, 1148, [8:8] -rpmPreLaunchCondition = bits, U32, 1148, [9:9] -speedCondition = bits, U32, 1148, [10:10] -tpsCondition = bits, U32, 1148, [11:11] -; total TS size = 1152 -isTorqueReductionTriggerPinValid = bits, U32, 1152, [0:0] -torqueReductionTriggerPinState = bits, U32, 1152, [1:1] -isTimeConditionSatisfied = bits, U32, 1152, [2:2] -isRpmConditionSatisfied = bits, U32, 1152, [3:3] -isAppConditionSatisfied = bits, U32, 1152, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1152, [5:5] +m_isPriming = bits, U32, 1068, [0:0] +; total TS size = 1072 +tcuCurrentGear = scalar, S08, 1072, "gear", 1, 0 +tcRatio = scalar, U16, 1074, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1076, "", 1, 0 +tcu_currentRange = scalar, U08, 1080, "", 1, 0 +pressureControlDuty = scalar, S08, 1081, "%", 1,0 +torqueConverterDuty = scalar, S08, 1082, "%", 1,0 +isShifting = bits, U32, 1084, [0:0] +; total TS size = 1088 +throttleUseWotModel = bits, U32, 1088, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1092, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1096, "g/s", 1, 0 +; total TS size = 1100 +m_requested_pump = scalar, F32, 1100, "", 1, 0 +fuel_requested_percent = scalar, F32, 1104, "%", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1108, "", 1, 0 +noValve = bits, U32, 1112, [0:0] +angleAboveMin = bits, U32, 1112, [1:1] +isHpfpActive = bits, U32, 1112, [2:2] +HpfpValveState = bits, U32, 1112, [3:3] +m_pressureTarget_kPa = scalar, F32, 1116, "", 1, 0 +nextLobe = scalar, F32, 1120, "", 1, 0 +di_nextStart = scalar, F32, 1124, "v", 1, 0 +HpfdActivationPhase = scalar, F32, 1128, "", 1, 0 +HpfdDeactivationPhase = scalar, F32, 1132, "", 1, 0 +; total TS size = 1136 +m_deadtime = scalar, F32, 1136, "ms", 1, 0 +pressureDelta = scalar, F32, 1140, "kPa", 1, 0 +pressureRatio = scalar, F32, 1144, "", 1, 0 +; total TS size = 1148 +retardThresholdRpm = scalar, S32, 1148, "", 1, 0 +launchActivatePinState = bits, U32, 1152, [0:0] +isPreLaunchCondition = bits, U32, 1152, [1:1] +isLaunchCondition = bits, U32, 1152, [2:2] +isSwitchActivated = bits, U32, 1152, [3:3] +isClutchActivated = bits, U32, 1152, [4:4] +isBrakePedalActivated = bits, U32, 1152, [5:5] +isValidInputPin = bits, U32, 1152, [6:6] +activateSwitchCondition = bits, U32, 1152, [7:7] +rpmLaunchCondition = bits, U32, 1152, [8:8] +rpmPreLaunchCondition = bits, U32, 1152, [9:9] +speedCondition = bits, U32, 1152, [10:10] +tpsCondition = bits, U32, 1152, [11:11] ; total TS size = 1156 -isAntilagCondition = bits, U32, 1156, [0:0] -ALSMinRPMCondition = bits, U32, 1156, [1:1] -ALSMaxRPMCondition = bits, U32, 1156, [2:2] -ALSMinCLTCondition = bits, U32, 1156, [3:3] -ALSMaxCLTCondition = bits, U32, 1156, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1156, [5:5] -isALSSwitchActivated = bits, U32, 1156, [6:6] -ALSActivatePinState = bits, U32, 1156, [7:7] -ALSSwitchCondition = bits, U32, 1156, [8:8] -ALSTimerCondition = bits, U32, 1156, [9:9] -fuelALSCorrection = scalar, F32, 1160, "", 1, 0 -timingALSCorrection = scalar, S16, 1164, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1166, "deg", 0.01, 0 -; total TS size = 1168 -isTpsInvalid = bits, U32, 1168, [0:0] -m_shouldResetPid = bits, U32, 1168, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1168, [2:2] -isNotClosedLoop = bits, U32, 1168, [3:3] -isZeroRpm = bits, U32, 1168, [4:4] -hasInitBoost = bits, U32, 1168, [5:5] -rpmTooLow = bits, U32, 1168, [6:6] -tpsTooLow = bits, U32, 1168, [7:7] -mapTooLow = bits, U32, 1168, [8:8] -isPlantValid = bits, U32, 1168, [9:9] -isBoostControlled = bits, U32, 1168, [10:10] -luaTargetAdd = scalar, S16, 1172, "v", 0.5,0 -boostOutput = scalar, S16, 1174, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1176, "v", 1,0 -openLoopPart = scalar, F32, 1180, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1184, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1188, "%", 0.5,0 -boostControlTarget = scalar, S16, 1190, "kPa", 0.03333333333333333,0 -; total TS size = 1192 -acButtonState = scalar, S08, 1192, "", 1, 0 -m_acEnabled = bits, U32, 1196, [0:0] -engineTooSlow = bits, U32, 1196, [1:1] -engineTooFast = bits, U32, 1196, [2:2] -noClt = bits, U32, 1196, [3:3] -engineTooHot = bits, U32, 1196, [4:4] -tpsTooHigh = bits, U32, 1196, [5:5] -isDisabledByLua = bits, U32, 1196, [6:6] -acCompressorState = bits, U32, 1196, [7:7] -acPressureTooLow = bits, U32, 1196, [8:8] -acPressureTooHigh = bits, U32, 1196, [9:9] -; total TS size = 1200 -isNitrousArmed = bits, U32, 1200, [0:0] -isNitrousSpeedCondition = bits, U32, 1200, [1:1] -isNitrousTpsCondition = bits, U32, 1200, [2:2] -isNitrousCltCondition = bits, U32, 1200, [3:3] -isNitrousMapCondition = bits, U32, 1200, [4:4] -isNitrousAfrCondition = bits, U32, 1200, [5:5] -isNitrousRpmCondition = bits, U32, 1200, [6:6] -isNitrousCondition = bits, U32, 1200, [7:7] +isTorqueReductionTriggerPinValid = bits, U32, 1156, [0:0] +torqueReductionTriggerPinState = bits, U32, 1156, [1:1] +isTimeConditionSatisfied = bits, U32, 1156, [2:2] +isRpmConditionSatisfied = bits, U32, 1156, [3:3] +isAppConditionSatisfied = bits, U32, 1156, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1156, [5:5] +; total TS size = 1160 +isAntilagCondition = bits, U32, 1160, [0:0] +ALSMinRPMCondition = bits, U32, 1160, [1:1] +ALSMaxRPMCondition = bits, U32, 1160, [2:2] +ALSMinCLTCondition = bits, U32, 1160, [3:3] +ALSMaxCLTCondition = bits, U32, 1160, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1160, [5:5] +isALSSwitchActivated = bits, U32, 1160, [6:6] +ALSActivatePinState = bits, U32, 1160, [7:7] +ALSSwitchCondition = bits, U32, 1160, [8:8] +ALSTimerCondition = bits, U32, 1160, [9:9] +fuelALSCorrection = scalar, F32, 1164, "", 1, 0 +timingALSCorrection = scalar, S16, 1168, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1170, "deg", 0.01, 0 +; total TS size = 1172 +isTpsInvalid = bits, U32, 1172, [0:0] +m_shouldResetPid = bits, U32, 1172, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1172, [2:2] +isNotClosedLoop = bits, U32, 1172, [3:3] +isZeroRpm = bits, U32, 1172, [4:4] +hasInitBoost = bits, U32, 1172, [5:5] +rpmTooLow = bits, U32, 1172, [6:6] +tpsTooLow = bits, U32, 1172, [7:7] +mapTooLow = bits, U32, 1172, [8:8] +isPlantValid = bits, U32, 1172, [9:9] +isBoostControlled = bits, U32, 1172, [10:10] +luaTargetAdd = scalar, S16, 1176, "v", 0.5,0 +boostOutput = scalar, S16, 1178, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1180, "v", 1,0 +openLoopPart = scalar, F32, 1184, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1188, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1192, "%", 0.5,0 +boostControlTarget = scalar, S16, 1194, "kPa", 0.03333333333333333,0 +; total TS size = 1196 +acButtonState = scalar, S08, 1196, "", 1, 0 +m_acEnabled = bits, U32, 1200, [0:0] +engineTooSlow = bits, U32, 1200, [1:1] +engineTooFast = bits, U32, 1200, [2:2] +noClt = bits, U32, 1200, [3:3] +engineTooHot = bits, U32, 1200, [4:4] +tpsTooHigh = bits, U32, 1200, [5:5] +isDisabledByLua = bits, U32, 1200, [6:6] +acCompressorState = bits, U32, 1200, [7:7] +acPressureTooLow = bits, U32, 1200, [8:8] +acPressureTooHigh = bits, U32, 1200, [9:9] ; total TS size = 1204 -fan1cranking = bits, U32, 1204, [0:0] -fan1notRunning = bits, U32, 1204, [1:1] -fan1disabledWhileEngineStopped = bits, U32, 1204, [2:2] -fan1brokenClt = bits, U32, 1204, [3:3] -fan1enabledForAc = bits, U32, 1204, [4:4] -fan1hot = bits, U32, 1204, [5:5] -fan1cold = bits, U32, 1204, [6:6] -fan1disabledBySpeed = bits, U32, 1204, [7:7] -fan1m_state = bits, U32, 1204, [8:8] -fan1radiatorFanStatus = scalar, U08, 1208, "", 1, 0 -; total TS size = 1212 -fan2cranking = bits, U32, 1212, [0:0] -fan2notRunning = bits, U32, 1212, [1:1] -fan2disabledWhileEngineStopped = bits, U32, 1212, [2:2] -fan2brokenClt = bits, U32, 1212, [3:3] -fan2enabledForAc = bits, U32, 1212, [4:4] -fan2hot = bits, U32, 1212, [5:5] -fan2cold = bits, U32, 1212, [6:6] -fan2disabledBySpeed = bits, U32, 1212, [7:7] -fan2m_state = bits, U32, 1212, [8:8] -fan2radiatorFanStatus = scalar, U08, 1216, "", 1, 0 -; total TS size = 1220 -isPrime = bits, U32, 1220, [0:0] -engineTurnedRecently = bits, U32, 1220, [1:1] -isFuelPumpOn = bits, U32, 1220, [2:2] -ignitionOn = bits, U32, 1220, [3:3] +isNitrousArmed = bits, U32, 1204, [0:0] +isNitrousSpeedCondition = bits, U32, 1204, [1:1] +isNitrousTpsCondition = bits, U32, 1204, [2:2] +isNitrousCltCondition = bits, U32, 1204, [3:3] +isNitrousMapCondition = bits, U32, 1204, [4:4] +isNitrousAfrCondition = bits, U32, 1204, [5:5] +isNitrousRpmCondition = bits, U32, 1204, [6:6] +isNitrousCondition = bits, U32, 1204, [7:7] +; total TS size = 1208 +fan1cranking = bits, U32, 1208, [0:0] +fan1notRunning = bits, U32, 1208, [1:1] +fan1disabledWhileEngineStopped = bits, U32, 1208, [2:2] +fan1brokenClt = bits, U32, 1208, [3:3] +fan1enabledForAc = bits, U32, 1208, [4:4] +fan1hot = bits, U32, 1208, [5:5] +fan1cold = bits, U32, 1208, [6:6] +fan1disabledBySpeed = bits, U32, 1208, [7:7] +fan1m_state = bits, U32, 1208, [8:8] +fan1radiatorFanStatus = scalar, U08, 1212, "", 1, 0 +; total TS size = 1216 +fan2cranking = bits, U32, 1216, [0:0] +fan2notRunning = bits, U32, 1216, [1:1] +fan2disabledWhileEngineStopped = bits, U32, 1216, [2:2] +fan2brokenClt = bits, U32, 1216, [3:3] +fan2enabledForAc = bits, U32, 1216, [4:4] +fan2hot = bits, U32, 1216, [5:5] +fan2cold = bits, U32, 1216, [6:6] +fan2disabledBySpeed = bits, U32, 1216, [7:7] +fan2m_state = bits, U32, 1216, [8:8] +fan2radiatorFanStatus = scalar, U08, 1220, "", 1, 0 ; total TS size = 1224 -isBenchTest = bits, U32, 1224, [0:0] -hasIgnitionVoltage = bits, U32, 1224, [1:1] -mainRelayState = bits, U32, 1224, [2:2] -delayedShutoffRequested = bits, U32, 1224, [3:3] +isPrime = bits, U32, 1224, [0:0] +engineTurnedRecently = bits, U32, 1224, [1:1] +isFuelPumpOn = bits, U32, 1224, [2:2] +ignitionOn = bits, U32, 1224, [3:3] ; total TS size = 1228 -lua_fuelAdd = scalar, F32, 1228, "g", 1, 0 -lua_fuelMult = scalar, F32, 1232, "", 1, 0 -lua_clutchUpState = bits, U32, 1236, [0:0] -lua_brakePedalState = bits, U32, 1236, [1:1] -lua_acRequestState = bits, U32, 1236, [2:2] -lua_luaDisableEtb = bits, U32, 1236, [3:3] -lua_luaIgnCut = bits, U32, 1236, [4:4] -lua_luaFuelCut = bits, U32, 1236, [5:5] -lua_clutchDownState = bits, U32, 1236, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1236, [7:7] -lua_torqueReductionState = bits, U32, 1236, [8:8] -sd_tCharge = scalar, S16, 1240, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1244, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1248, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1252, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1256, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1260, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1264, "", 1, 0 -hellenBoardId = scalar, S16, 1268, "id", 1, 0 -clutchUpState = scalar, S08, 1270, "", 1, 0 -brakePedalState = scalar, S08, 1271, "", 1, 0 -startStopState = scalar, S08, 1272, "", 1, 0 -smartChipState = scalar, S08, 1273, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1274, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1275, "", 1, 0 -startStopPhysicalState = bits, U32, 1276, [0:0] -acrActive = bits, U32, 1276, [1:1] -acrEngineMovedRecently = bits, U32, 1276, [2:2] -heaterControlEnabled = bits, U32, 1276, [3:3] -luaDigitalState0 = bits, U32, 1276, [4:4] -luaDigitalState1 = bits, U32, 1276, [5:5] -luaDigitalState2 = bits, U32, 1276, [6:6] -luaDigitalState3 = bits, U32, 1276, [7:7] -clutchDownState = bits, U32, 1276, [8:8] -startStopStateToggleCounter = scalar, U32, 1280, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1284, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1288, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1292, "", 1, 0 -fuelInjectionCounter = scalar, U32, 1296, "", 1, 0 -globalSparkCounter = scalar, U32, 1300, "", 1, 0 -fuelingLoad = scalar, F32, 1304, "", 1, 0 -ignitionLoad = scalar, F32, 1308, "", 1, 0 -veTableYAxis = scalar, U16, 1312, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1314, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1315, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1316, "", 1, 0 -; total TS size = 1320 -tpsFrom = scalar, F32, 1320 -tpsTo = scalar, F32, 1324 -deltaTps = scalar, F32, 1328 -extraFuel = scalar, F32, 1332, "", 1, 0 -valueFromTable = scalar, F32, 1336, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1340, [0:0] -isBelowDecelThreshold = bits, U32, 1340, [1:1] -isTimeToResetAccumulator = bits, U32, 1340, [2:2] -isFractionalEnrichment = bits, U32, 1340, [3:3] -belowEpsilon = bits, U32, 1340, [4:4] -tooShort = bits, U32, 1340, [5:5] -fractionalInjFuel = scalar, F32, 1344, "", 1, 0 -accumulatedValue = scalar, F32, 1348, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1352, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1356, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1360, "", 1, 0 -cycleCnt = scalar, S32, 1364, "", 1, 0 -; total TS size = 1368 -hwEventCounters1 = scalar, U16, 1368, "", 1, 0 -hwEventCounters2 = scalar, U16, 1370, "", 1, 0 -hwEventCounters3 = scalar, U16, 1372, "", 1, 0 -hwEventCounters4 = scalar, U16, 1374, "", 1, 0 -vvtCamCounter = scalar, U16, 1376, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1380, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1384, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1388, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1389, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1392, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1396, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1400, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1404, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1408, [0:0] -triggerElapsedUs = scalar, U32, 1412, "", 1, 0 -; total TS size = 1416 -trgsynchronizationCounter = scalar, U32, 1416, "", 1, 0 -trgvvtToothDurations0 = scalar, U32, 1420, "us", 1, 0 -trgvvtCurrentPosition = scalar, F32, 1424, "", 1, 0 -trgvvtToothPosition1 = scalar, F32, 1428, "", 1, 0 -trgvvtToothPosition2 = scalar, F32, 1432, "", 1, 0 -trgvvtToothPosition3 = scalar, F32, 1436, "", 1, 0 -trgvvtToothPosition4 = scalar, F32, 1440, "", 1, 0 -trgtriggerSyncGapRatio = scalar, F32, 1444, "", 1, 0 -trgtriggerStateIndex = scalar, U08, 1448, "", 1, 0 -; total TS size = 1452 -vvt1isynchronizationCounter = scalar, U32, 1452, "", 1, 0 -vvt1ivvtToothDurations0 = scalar, U32, 1456, "us", 1, 0 -vvt1ivvtCurrentPosition = scalar, F32, 1460, "", 1, 0 -vvt1ivvtToothPosition1 = scalar, F32, 1464, "", 1, 0 -vvt1ivvtToothPosition2 = scalar, F32, 1468, "", 1, 0 -vvt1ivvtToothPosition3 = scalar, F32, 1472, "", 1, 0 -vvt1ivvtToothPosition4 = scalar, F32, 1476, "", 1, 0 -vvt1itriggerSyncGapRatio = scalar, F32, 1480, "", 1, 0 -vvt1itriggerStateIndex = scalar, U08, 1484, "", 1, 0 -; total TS size = 1488 -vvt1esynchronizationCounter = scalar, U32, 1488, "", 1, 0 -vvt1evvtToothDurations0 = scalar, U32, 1492, "us", 1, 0 -vvt1evvtCurrentPosition = scalar, F32, 1496, "", 1, 0 -vvt1evvtToothPosition1 = scalar, F32, 1500, "", 1, 0 -vvt1evvtToothPosition2 = scalar, F32, 1504, "", 1, 0 -vvt1evvtToothPosition3 = scalar, F32, 1508, "", 1, 0 -vvt1evvtToothPosition4 = scalar, F32, 1512, "", 1, 0 -vvt1etriggerSyncGapRatio = scalar, F32, 1516, "", 1, 0 -vvt1etriggerStateIndex = scalar, U08, 1520, "", 1, 0 -; total TS size = 1524 -vvt2isynchronizationCounter = scalar, U32, 1524, "", 1, 0 -vvt2ivvtToothDurations0 = scalar, U32, 1528, "us", 1, 0 -vvt2ivvtCurrentPosition = scalar, F32, 1532, "", 1, 0 -vvt2ivvtToothPosition1 = scalar, F32, 1536, "", 1, 0 -vvt2ivvtToothPosition2 = scalar, F32, 1540, "", 1, 0 -vvt2ivvtToothPosition3 = scalar, F32, 1544, "", 1, 0 -vvt2ivvtToothPosition4 = scalar, F32, 1548, "", 1, 0 -vvt2itriggerSyncGapRatio = scalar, F32, 1552, "", 1, 0 -vvt2itriggerStateIndex = scalar, U08, 1556, "", 1, 0 -; total TS size = 1560 -vvt2esynchronizationCounter = scalar, U32, 1560, "", 1, 0 -vvt2evvtToothDurations0 = scalar, U32, 1564, "us", 1, 0 -vvt2evvtCurrentPosition = scalar, F32, 1568, "", 1, 0 -vvt2evvtToothPosition1 = scalar, F32, 1572, "", 1, 0 -vvt2evvtToothPosition2 = scalar, F32, 1576, "", 1, 0 -vvt2evvtToothPosition3 = scalar, F32, 1580, "", 1, 0 -vvt2evvtToothPosition4 = scalar, F32, 1584, "", 1, 0 -vvt2etriggerSyncGapRatio = scalar, F32, 1588, "", 1, 0 -vvt2etriggerStateIndex = scalar, U08, 1592, "", 1, 0 -; total TS size = 1596 -camResyncCounter = scalar, U08, 1596, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1600, [0:0] -; total TS size = 1604 -wallFuelCorrection = scalar, F32, 1604, "", 1, 0 -wallFuel = scalar, F32, 1608, "", 1, 0 -; total TS size = 1612 -idleState = bits, S32, 1612, [0:2], "not important" -currentIdlePosition = scalar, F32, 1616 -baseIdlePosition = scalar, F32, 1620 -idleClosedLoop = scalar, F32, 1624 -iacByTpsTaper = scalar, F32, 1628 -mightResetPid = bits, U32, 1632, [0:0] -shouldResetPid = bits, U32, 1632, [1:1] -wasResetPid = bits, U32, 1632, [2:2] -mustResetPid = bits, U32, 1632, [3:3] -isCranking = bits, U32, 1632, [4:4] -isIacTableForCoasting = bits, U32, 1632, [5:5] -notIdling = bits, U32, 1632, [6:6] -needReset = bits, U32, 1632, [7:7] -isInDeadZone = bits, U32, 1632, [8:8] -isBlipping = bits, U32, 1632, [9:9] -useClosedLoop = bits, U32, 1632, [10:10] -badTps = bits, U32, 1632, [11:11] -looksLikeRunning = bits, U32, 1632, [12:12] -looksLikeCoasting = bits, U32, 1632, [13:13] -looksLikeCrankToIdle = bits, U32, 1632, [14:14] -isIdleCoasting = bits, U32, 1632, [15:15] -isIdleClosedLoop = bits, U32, 1632, [16:16] -idleTarget = scalar, S32, 1636, "", 1, 0 -targetRpmByClt = scalar, S32, 1640, "", 1, 0 -targetRpmAc = scalar, S32, 1644, "", 1, 0 -iacByRpmTaper = scalar, F32, 1648 -luaAdd = scalar, F32, 1652 -; total TS size = 1656 -etb1targetWithIdlePosition = scalar, F32, 1656, "%", 1,0 -etb1trim = scalar, F32, 1660, "", 1, 0 -etb1luaAdjustment = scalar, F32, 1664, "%", 1,0 -etb1m_wastegatePosition = scalar, F32, 1668, "%", 1,0 -etb1etbFeedForward = scalar, F32, 1672 -etb1etbIntegralError = scalar, F32, 1676, "", 1, 0 -etb1etbCurrentTarget = scalar, F32, 1680, "%", 1, 0 -etb1m_adjustedTarget = scalar, S16, 1684, "%", 0.01, 0 -etb1etbRevLimitActive = bits, U32, 1688, [0:0] -etb1jamDetected = bits, U32, 1688, [1:1] -etb1validPlantPosition = bits, U32, 1688, [2:2] -etb1etbTpsErrorCounter = scalar, U16, 1692, "count", 1,0 -etb1etbPpsErrorCounter = scalar, U16, 1694, "count", 1,0 -etb1etbErrorCode = scalar, S08, 1696, "", 1, 0 -etb1etbErrorCodeBlinker = scalar, S08, 1697, "", 1, 0 -etb1tcEtbDrop = scalar, S08, 1698, "%", 1, 0 -etb1jamTimer = scalar, U16, 1700, "sec", 0.01, 0 -etb1adjustedEtbTarget = scalar, S08, 1702, "%", 1, 0 -etb1state = scalar, U08, 1703, "", 1, 0 -; total TS size = 1704 -etb2targetWithIdlePosition = scalar, F32, 1704, "%", 1,0 -etb2trim = scalar, F32, 1708, "", 1, 0 -etb2luaAdjustment = scalar, F32, 1712, "%", 1,0 -etb2m_wastegatePosition = scalar, F32, 1716, "%", 1,0 -etb2etbFeedForward = scalar, F32, 1720 -etb2etbIntegralError = scalar, F32, 1724, "", 1, 0 -etb2etbCurrentTarget = scalar, F32, 1728, "%", 1, 0 -etb2m_adjustedTarget = scalar, S16, 1732, "%", 0.01, 0 -etb2etbRevLimitActive = bits, U32, 1736, [0:0] -etb2jamDetected = bits, U32, 1736, [1:1] -etb2validPlantPosition = bits, U32, 1736, [2:2] -etb2etbTpsErrorCounter = scalar, U16, 1740, "count", 1,0 -etb2etbPpsErrorCounter = scalar, U16, 1742, "count", 1,0 -etb2etbErrorCode = scalar, S08, 1744, "", 1, 0 -etb2etbErrorCodeBlinker = scalar, S08, 1745, "", 1, 0 -etb2tcEtbDrop = scalar, S08, 1746, "%", 1, 0 -etb2jamTimer = scalar, U16, 1748, "sec", 0.01, 0 -etb2adjustedEtbTarget = scalar, S08, 1750, "%", 1, 0 -etb2state = scalar, U08, 1751, "", 1, 0 -; total TS size = 1752 -wb1faultCode = scalar, U08, 1752, "", 1, 0 -wb1heaterDuty = scalar, U08, 1753, "%", 1, 0 -wb1pumpDuty = scalar, U08, 1754, "%", 1, 0 -wb1tempC = scalar, U16, 1756, "C", 1, 0 -wb1nernstVoltage = scalar, U16, 1758, "V", 0.001, 0 -wb1esr = scalar, U16, 1760, "ohm", 1, 0 -; total TS size = 1764 -wb2faultCode = scalar, U08, 1764, "", 1, 0 -wb2heaterDuty = scalar, U08, 1765, "%", 1, 0 -wb2pumpDuty = scalar, U08, 1766, "%", 1, 0 -wb2tempC = scalar, U16, 1768, "C", 1, 0 -wb2nernstVoltage = scalar, U16, 1770, "V", 0.001, 0 -wb2esr = scalar, U16, 1772, "ohm", 1, 0 -; total TS size = 1776 -dcOutput0 = scalar, F32, 1776, "%", 1,0 -isEnabled0_int = scalar, U08, 1780, "%", 1,0 -isEnabled0 = bits, U32, 1784, [0:0] -; total TS size = 1788 -value0 = scalar, U16, 1788, "RAW", 1,0 -value1 = scalar, U16, 1790, "RAW", 1,0 -errorRate = scalar, F32, 1792, "% (don't belive me)", 1,0 -; total TS size = 1796 -vvtTarget = scalar, U16, 1796, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1798, "%", 0.5, 0 +isBenchTest = bits, U32, 1228, [0:0] +hasIgnitionVoltage = bits, U32, 1228, [1:1] +mainRelayState = bits, U32, 1228, [2:2] +delayedShutoffRequested = bits, U32, 1228, [3:3] +; total TS size = 1232 +lua_fuelAdd = scalar, F32, 1232, "g", 1, 0 +lua_fuelMult = scalar, F32, 1236, "", 1, 0 +lua_clutchUpState = bits, U32, 1240, [0:0] +lua_brakePedalState = bits, U32, 1240, [1:1] +lua_acRequestState = bits, U32, 1240, [2:2] +lua_luaDisableEtb = bits, U32, 1240, [3:3] +lua_luaIgnCut = bits, U32, 1240, [4:4] +lua_luaFuelCut = bits, U32, 1240, [5:5] +lua_clutchDownState = bits, U32, 1240, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1240, [7:7] +lua_torqueReductionState = bits, U32, 1240, [8:8] +sd_tCharge = scalar, S16, 1244, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1248, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1252, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1256, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1260, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1264, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1268, "", 1, 0 +hellenBoardId = scalar, S16, 1272, "id", 1, 0 +clutchUpState = scalar, S08, 1274, "", 1, 0 +brakePedalState = scalar, S08, 1275, "", 1, 0 +startStopState = scalar, S08, 1276, "", 1, 0 +smartChipState = scalar, S08, 1277, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1278, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1279, "", 1, 0 +startStopPhysicalState = bits, U32, 1280, [0:0] +acrActive = bits, U32, 1280, [1:1] +acrEngineMovedRecently = bits, U32, 1280, [2:2] +heaterControlEnabled = bits, U32, 1280, [3:3] +luaDigitalState0 = bits, U32, 1280, [4:4] +luaDigitalState1 = bits, U32, 1280, [5:5] +luaDigitalState2 = bits, U32, 1280, [6:6] +luaDigitalState3 = bits, U32, 1280, [7:7] +clutchDownState = bits, U32, 1280, [8:8] +startStopStateToggleCounter = scalar, U32, 1284, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1288, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1292, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1296, "", 1, 0 +fuelInjectionCounter = scalar, U32, 1300, "", 1, 0 +globalSparkCounter = scalar, U32, 1304, "", 1, 0 +fuelingLoad = scalar, F32, 1308, "", 1, 0 +ignitionLoad = scalar, F32, 1312, "", 1, 0 +veTableYAxis = scalar, U16, 1316, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1318, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1319, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1320, "", 1, 0 +; total TS size = 1324 +tpsFrom = scalar, F32, 1324 +tpsTo = scalar, F32, 1328 +deltaTps = scalar, F32, 1332 +extraFuel = scalar, F32, 1336, "", 1, 0 +valueFromTable = scalar, F32, 1340, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1344, [0:0] +isBelowDecelThreshold = bits, U32, 1344, [1:1] +isTimeToResetAccumulator = bits, U32, 1344, [2:2] +isFractionalEnrichment = bits, U32, 1344, [3:3] +belowEpsilon = bits, U32, 1344, [4:4] +tooShort = bits, U32, 1344, [5:5] +fractionalInjFuel = scalar, F32, 1348, "", 1, 0 +accumulatedValue = scalar, F32, 1352, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1356, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1360, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1364, "", 1, 0 +cycleCnt = scalar, S32, 1368, "", 1, 0 +; total TS size = 1372 +hwEventCounters1 = scalar, U16, 1372, "", 1, 0 +hwEventCounters2 = scalar, U16, 1374, "", 1, 0 +hwEventCounters3 = scalar, U16, 1376, "", 1, 0 +hwEventCounters4 = scalar, U16, 1378, "", 1, 0 +vvtCamCounter = scalar, U16, 1380, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1384, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1388, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1392, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1393, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1396, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1400, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1404, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1408, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1412, [0:0] +triggerElapsedUs = scalar, U32, 1416, "", 1, 0 +; total TS size = 1420 +trgsynchronizationCounter = scalar, U32, 1420, "", 1, 0 +trgvvtToothDurations0 = scalar, U32, 1424, "us", 1, 0 +trgvvtCurrentPosition = scalar, F32, 1428, "", 1, 0 +trgvvtToothPosition1 = scalar, F32, 1432, "", 1, 0 +trgvvtToothPosition2 = scalar, F32, 1436, "", 1, 0 +trgvvtToothPosition3 = scalar, F32, 1440, "", 1, 0 +trgvvtToothPosition4 = scalar, F32, 1444, "", 1, 0 +trgtriggerSyncGapRatio = scalar, F32, 1448, "", 1, 0 +trgtriggerStateIndex = scalar, U08, 1452, "", 1, 0 +; total TS size = 1456 +vvt1isynchronizationCounter = scalar, U32, 1456, "", 1, 0 +vvt1ivvtToothDurations0 = scalar, U32, 1460, "us", 1, 0 +vvt1ivvtCurrentPosition = scalar, F32, 1464, "", 1, 0 +vvt1ivvtToothPosition1 = scalar, F32, 1468, "", 1, 0 +vvt1ivvtToothPosition2 = scalar, F32, 1472, "", 1, 0 +vvt1ivvtToothPosition3 = scalar, F32, 1476, "", 1, 0 +vvt1ivvtToothPosition4 = scalar, F32, 1480, "", 1, 0 +vvt1itriggerSyncGapRatio = scalar, F32, 1484, "", 1, 0 +vvt1itriggerStateIndex = scalar, U08, 1488, "", 1, 0 +; total TS size = 1492 +vvt1esynchronizationCounter = scalar, U32, 1492, "", 1, 0 +vvt1evvtToothDurations0 = scalar, U32, 1496, "us", 1, 0 +vvt1evvtCurrentPosition = scalar, F32, 1500, "", 1, 0 +vvt1evvtToothPosition1 = scalar, F32, 1504, "", 1, 0 +vvt1evvtToothPosition2 = scalar, F32, 1508, "", 1, 0 +vvt1evvtToothPosition3 = scalar, F32, 1512, "", 1, 0 +vvt1evvtToothPosition4 = scalar, F32, 1516, "", 1, 0 +vvt1etriggerSyncGapRatio = scalar, F32, 1520, "", 1, 0 +vvt1etriggerStateIndex = scalar, U08, 1524, "", 1, 0 +; total TS size = 1528 +vvt2isynchronizationCounter = scalar, U32, 1528, "", 1, 0 +vvt2ivvtToothDurations0 = scalar, U32, 1532, "us", 1, 0 +vvt2ivvtCurrentPosition = scalar, F32, 1536, "", 1, 0 +vvt2ivvtToothPosition1 = scalar, F32, 1540, "", 1, 0 +vvt2ivvtToothPosition2 = scalar, F32, 1544, "", 1, 0 +vvt2ivvtToothPosition3 = scalar, F32, 1548, "", 1, 0 +vvt2ivvtToothPosition4 = scalar, F32, 1552, "", 1, 0 +vvt2itriggerSyncGapRatio = scalar, F32, 1556, "", 1, 0 +vvt2itriggerStateIndex = scalar, U08, 1560, "", 1, 0 +; total TS size = 1564 +vvt2esynchronizationCounter = scalar, U32, 1564, "", 1, 0 +vvt2evvtToothDurations0 = scalar, U32, 1568, "us", 1, 0 +vvt2evvtCurrentPosition = scalar, F32, 1572, "", 1, 0 +vvt2evvtToothPosition1 = scalar, F32, 1576, "", 1, 0 +vvt2evvtToothPosition2 = scalar, F32, 1580, "", 1, 0 +vvt2evvtToothPosition3 = scalar, F32, 1584, "", 1, 0 +vvt2evvtToothPosition4 = scalar, F32, 1588, "", 1, 0 +vvt2etriggerSyncGapRatio = scalar, F32, 1592, "", 1, 0 +vvt2etriggerStateIndex = scalar, U08, 1596, "", 1, 0 +; total TS size = 1600 +camResyncCounter = scalar, U08, 1600, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1604, [0:0] +; total TS size = 1608 +wallFuelCorrection = scalar, F32, 1608, "", 1, 0 +wallFuel = scalar, F32, 1612, "", 1, 0 +; total TS size = 1616 +idleState = bits, S32, 1616, [0:2], "not important" +currentIdlePosition = scalar, F32, 1620 +baseIdlePosition = scalar, F32, 1624 +idleClosedLoop = scalar, F32, 1628 +iacByTpsTaper = scalar, F32, 1632 +mightResetPid = bits, U32, 1636, [0:0] +shouldResetPid = bits, U32, 1636, [1:1] +wasResetPid = bits, U32, 1636, [2:2] +mustResetPid = bits, U32, 1636, [3:3] +isCranking = bits, U32, 1636, [4:4] +isIacTableForCoasting = bits, U32, 1636, [5:5] +notIdling = bits, U32, 1636, [6:6] +needReset = bits, U32, 1636, [7:7] +isInDeadZone = bits, U32, 1636, [8:8] +isBlipping = bits, U32, 1636, [9:9] +useClosedLoop = bits, U32, 1636, [10:10] +badTps = bits, U32, 1636, [11:11] +looksLikeRunning = bits, U32, 1636, [12:12] +looksLikeCoasting = bits, U32, 1636, [13:13] +looksLikeCrankToIdle = bits, U32, 1636, [14:14] +isIdleCoasting = bits, U32, 1636, [15:15] +isIdleClosedLoop = bits, U32, 1636, [16:16] +idleTarget = scalar, S32, 1640, "", 1, 0 +targetRpmByClt = scalar, S32, 1644, "", 1, 0 +targetRpmAc = scalar, S32, 1648, "", 1, 0 +iacByRpmTaper = scalar, F32, 1652 +luaAdd = scalar, F32, 1656 +; total TS size = 1660 +etb1targetWithIdlePosition = scalar, F32, 1660, "%", 1,0 +etb1trim = scalar, F32, 1664, "", 1, 0 +etb1luaAdjustment = scalar, F32, 1668, "%", 1,0 +etb1m_wastegatePosition = scalar, F32, 1672, "%", 1,0 +etb1etbFeedForward = scalar, F32, 1676 +etb1etbIntegralError = scalar, F32, 1680, "", 1, 0 +etb1etbCurrentTarget = scalar, F32, 1684, "%", 1, 0 +etb1m_adjustedTarget = scalar, S16, 1688, "%", 0.01, 0 +etb1etbRevLimitActive = bits, U32, 1692, [0:0] +etb1jamDetected = bits, U32, 1692, [1:1] +etb1validPlantPosition = bits, U32, 1692, [2:2] +etb1etbTpsErrorCounter = scalar, U16, 1696, "count", 1,0 +etb1etbPpsErrorCounter = scalar, U16, 1698, "count", 1,0 +etb1etbErrorCode = scalar, S08, 1700, "", 1, 0 +etb1etbErrorCodeBlinker = scalar, S08, 1701, "", 1, 0 +etb1tcEtbDrop = scalar, S08, 1702, "%", 1, 0 +etb1jamTimer = scalar, U16, 1704, "sec", 0.01, 0 +etb1adjustedEtbTarget = scalar, S08, 1706, "%", 1, 0 +etb1state = scalar, U08, 1707, "", 1, 0 +; total TS size = 1708 +etb2targetWithIdlePosition = scalar, F32, 1708, "%", 1,0 +etb2trim = scalar, F32, 1712, "", 1, 0 +etb2luaAdjustment = scalar, F32, 1716, "%", 1,0 +etb2m_wastegatePosition = scalar, F32, 1720, "%", 1,0 +etb2etbFeedForward = scalar, F32, 1724 +etb2etbIntegralError = scalar, F32, 1728, "", 1, 0 +etb2etbCurrentTarget = scalar, F32, 1732, "%", 1, 0 +etb2m_adjustedTarget = scalar, S16, 1736, "%", 0.01, 0 +etb2etbRevLimitActive = bits, U32, 1740, [0:0] +etb2jamDetected = bits, U32, 1740, [1:1] +etb2validPlantPosition = bits, U32, 1740, [2:2] +etb2etbTpsErrorCounter = scalar, U16, 1744, "count", 1,0 +etb2etbPpsErrorCounter = scalar, U16, 1746, "count", 1,0 +etb2etbErrorCode = scalar, S08, 1748, "", 1, 0 +etb2etbErrorCodeBlinker = scalar, S08, 1749, "", 1, 0 +etb2tcEtbDrop = scalar, S08, 1750, "%", 1, 0 +etb2jamTimer = scalar, U16, 1752, "sec", 0.01, 0 +etb2adjustedEtbTarget = scalar, S08, 1754, "%", 1, 0 +etb2state = scalar, U08, 1755, "", 1, 0 +; total TS size = 1756 +wb1faultCode = scalar, U08, 1756, "", 1, 0 +wb1heaterDuty = scalar, U08, 1757, "%", 1, 0 +wb1pumpDuty = scalar, U08, 1758, "%", 1, 0 +wb1tempC = scalar, U16, 1760, "C", 1, 0 +wb1nernstVoltage = scalar, U16, 1762, "V", 0.001, 0 +wb1esr = scalar, U16, 1764, "ohm", 1, 0 +; total TS size = 1768 +wb2faultCode = scalar, U08, 1768, "", 1, 0 +wb2heaterDuty = scalar, U08, 1769, "%", 1, 0 +wb2pumpDuty = scalar, U08, 1770, "%", 1, 0 +wb2tempC = scalar, U16, 1772, "C", 1, 0 +wb2nernstVoltage = scalar, U16, 1774, "V", 0.001, 0 +wb2esr = scalar, U16, 1776, "ohm", 1, 0 +; total TS size = 1780 +dcOutput0 = scalar, F32, 1780, "%", 1,0 +isEnabled0_int = scalar, U08, 1784, "%", 1,0 +isEnabled0 = bits, U32, 1788, [0:0] +; total TS size = 1792 +value0 = scalar, U16, 1792, "RAW", 1,0 +value1 = scalar, U16, 1794, "RAW", 1,0 +errorRate = scalar, F32, 1796, "% (don't belive me)", 1,0 ; total TS size = 1800 -lambdaCurrentlyGood = bits, U32, 1800, [0:0] -lambdaMonitorCut = bits, U32, 1800, [1:1] -lambdaTimeSinceGood = scalar, U16, 1804, "sec", 0.01, 0 -; total TS size = 1808 +vvtTarget = scalar, U16, 1800, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1802, "%", 0.5, 0 +; total TS size = 1804 +lambdaCurrentlyGood = bits, U32, 1804, [0:0] +lambdaMonitorCut = bits, U32, 1804, [1:1] +lambdaTimeSinceGood = scalar, U16, 1808, "sec", 0.01, 0 +; total TS size = 1812 time = { timeNow } @@ -4584,6 +4587,12 @@ curve = rangeMatrix, "Range Switch Input Matrix" gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. upDownLabel = "(RICHER)", "(LEANER)" + table = trailingSparkTable, trailingSparkMap, "Trailing spark", 1 + xyLabels = "RPM", "Ignition Load" + xBins = trailingSparkRpmBins, RPMValue + yBins = trailingSparkLoadBins, ignitionLoad + zBins = trailingSparkTable + table = torqueTableTbl, torqueTableMap, "Engine Torque", 1 xBins = torqueRpmBins, RPMValue yBins = torqueLoadBins, veTableYAxis @@ -4881,6 +4890,7 @@ timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20 timingPidCorrectionGauge = timingPidCorrection,"Idle: Timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 +trailingSparkAngleGauge = trailingSparkAngle,"Ign: Trailing spark deg", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 gaugeCategory = "Boost Control" luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 @@ -5811,6 +5821,7 @@ entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" entry = luaIgnitionSkip, "Ign: Lua Spark Skip", int, "%d" +entry = trailingSparkAngle, "Ign: Trailing spark deg", float, "%.3f" entry = m_knockLevel, "Knock: Current level", float, "%.3f" entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" @@ -6760,6 +6771,7 @@ dialog = ignition_stateDialog, "ignition_state" graphLine = luaTimingAdd liveGraph = ignition_state_4_Graph, "Graph", South graphLine = luaTimingMult + graphLine = trailingSparkAngle dialog = knock_controllerDialog, "knock_controller" @@ -10067,11 +10079,11 @@ dialog = tcuControls, "Transmission Settings" dialog = rotaryDialog, "Rotary" field = "Enable Trailing Sparks", enableTrailingSparks - field = "Trailing Spark Offset", trailingSparkAngle field = "Trailing Pin 1", trailingCoilPins1 field = "Trailing Pin 2", trailingCoilPins2 field = "Trailing Pin 3", trailingCoilPins3 field = "Trailing Pin 4", trailingCoilPins4 + panel = trailingSparkTable diff --git a/firmware/tunerstudio/generated/rusefi_hellen154hyundai.ini b/firmware/tunerstudio/generated/rusefi_hellen154hyundai.ini index 7bb866a953..59b201e6bd 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.2025.02.07.hellen154hyundai.2956534942" + signature = "rusEFI master.2025.02.07.hellen154hyundai.934980595" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2025.02.07.hellen154hyundai.2956534942" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2025.02.07.hellen154hyundai.934980595" ; 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 @@ -101,7 +101,7 @@ enable2ndByteCanID = false ; CONFIG_DEFINITION_START ; this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt -pageSize = 23280 +pageSize = 23304 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",22="BMW_M52",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",21="ET_BOSCH_QUICK_START",24="ET_TEST_WITH_BOSCH_QUICK_START",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",41="FRANKENSO_MIATA_NA6_MAP",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",47="GM_LCV",55="GM_LTG",98="GM_SBC",49="GM_SBC_GEN5",8="GY6_139QMB",6="HARLEY",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",34="MAZDA_MIATA_NA6",80="MAZDA_MIATA_NA94",10="MAZDA_MIATA_NA96",83="MAZDA_MIATA_NB1",69="MAZDA_MIATA_NB2",86="MAZDA_MIATA_NB2_36",20="MAZDA_MIATA_NC",33="ME17_9_MISC",68="MERCEDES_M111",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",4="MRE_SECONDARY_CAN",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",35="POLARIS",9="POLARIS_RZR",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",27="PROTEUS_GM_LS_4",25="PROTEUS_LUA_DEMO",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",17="TCU_4R70W",100="TEST_100",101="TEST_101",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",93="TEST_ISSUE_6451",19="TEST_ROTARY",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",102="UNUSED102",67="UNUSED67",94="UNUSED94",65="UNUSED_65",97="UNUSED_97",77="VAG_5_CYL",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -245,7 +245,7 @@ vbattAdcChannel = bits, U08, 513, [0:5], $adc_channel_e_list fuelLevelSensor = bits, U08, 514, [0:5], $adc_channel_e_list tps2_1AdcChannel = bits, U08, 515, [0:5], $adc_channel_e_list idle_derivativeFilterLoss = scalar, F32, 516, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 520, "angle", 1, 0, 0, 720, 0 +unusedTrailingSparkAngle = scalar, S32, 520, "", 1, 0, 0, 100, 0 trigger_type = bits, U32, 524, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Daihatsu 3 cylinder", "Mazda SOHC 4", "60-2", "36-1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "Dodge Ram 1+16", "60-2 Wrong Polarity", "Benelli Tre", "Dodge Stratus", "36_2_2_2", "Nissan Primera", "dev 2JZ 3/34 simulator", "Rover K", "GM 24x 5 degree", "Honda CBR 600 Cam", "INVALID", "Honda CBR 600 custom", "3-1 skipped", "Dodge Neon 2003 crank", "Miata NB", "INVALID", "INVALID", "Subaru 7+6", "Jeep 18-2-2-2", "12crank/24cam", "Dodge Neon 1995 crank only", "Jeep XJ 4 cyl", "FiatIAQ_P8", "Mazda Z5", "INVALID", "Renix 44-2-2", "Renix 66-2-2-2", "Honda K 12+1", "INVALID", "36-2", "Subaru SVX", "Suzuki K6A", "Subaru 7 without 6", "INVALID", "INVALID", "GM 60-2-2-2", "Skoda Favorit", "Barra 3+1 Cam", "Kawa KX450F", "Nissan VQ35", "INVALID", "Nissan VQ30", "Nissan QR25", "INVALID", "Subaru SVX Crank 1", "Subaru SVX Cam VVT", "Ford PIP", "Suzuki G13B", "Honda K 4+1", "Nissan MR18 Crank", "32-2", "36-2-1", "36-2-1-1", "3-0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6-0", "Daihatsu 4 cylinder", "INVALID", "dev", "Nissan HR", "Arctic Cat", "HR12 in", "HONDA J30A2", "trg88", "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" trigger_customTotalToothCount = scalar, S32, 528, "number", 1, 0, 1, 300, 0 trigger_customSkippedToothCount = scalar, S32, 532, "number", 1, 0, 0, 300, 0 @@ -1796,7 +1796,10 @@ dynoCarCarMassKg = scalar, S16, 23268, "", 1, 0, 0, 32000, 0 dynoCarCargoMassKg = scalar, S16, 23270, "", 1, 0, 0, 32000, 0 dynoCarCoeffOfDrag = scalar, F32, 23272, "", 1, 0, 0, 100, 0 dynoCarFrontalAreaM2 = scalar, F32, 23276, "", 1, 0, 0, 100, 0 -; total TS size = 23280 +trailingSparkTable = array, S08, 23280, [4x4], "deg", 0.1, 0, 0, 20, 1 +trailingSparkRpmBins = array, U08, 23296, [4], "rpm", 50.0, 0, 0, 12000, 0 +trailingSparkLoadBins = array, U08, 23300, [4], "Load", 5.0, 0, 0, 1000, 0 +; total TS size = 23304 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1890,7 +1893,6 @@ dynoCarFrontalAreaM2 = scalar, F32, 23276, "", 1, 0, 0, 100, 0 fuelLevelSensor = "This is the processor pin that your fuel level sensor in connected to. This is a non standard input so will need to be user defined." tps2_1AdcChannel = "Second throttle body position sensor, single channel so far" idle_derivativeFilterLoss = "0.1 is a good default value" - trailingSparkAngle = "just a temporary solution" trigger_type = "https://github.com/rusefi/rusefi/wiki/All-Supported-Triggers" airByRpmTaper = "Extra air taper amount" boostControlSafeDutyCycle = "Duty cycle to use in case of a sensor failure. This duty cycle should produce the minimum possible amount of boost. This duty is also used in case any of the minimum RPM/TPS/MAP conditions are not met." @@ -2664,7 +2666,7 @@ dynoCarFrontalAreaM2 = scalar, F32, 23276, "", 1, 0, 0, 100, 0 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1808 + ochBlockSize = 1812 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3189,417 +3191,418 @@ dwellVoltageCorrection = scalar, F32, 940, "", 1, 0 luaTimingAdd = scalar, F32, 944, "deg", 1, 0 luaTimingMult = scalar, F32, 948, "deg", 1, 0 luaIgnitionSkip = bits, U32, 952, [0:0] -; total TS size = 956 -m_knockLevel = scalar, F32, 956, "Volts", 1, 0 -m_knockCyl1 = scalar, S08, 960, "dBv", 1, 0 -m_knockCyl2 = scalar, S08, 961, "dBv", 1, 0 -m_knockCyl3 = scalar, S08, 962, "dBv", 1, 0 -m_knockCyl4 = scalar, S08, 963, "dBv", 1, 0 -m_knockCyl5 = scalar, S08, 964, "dBv", 1, 0 -m_knockCyl6 = scalar, S08, 965, "dBv", 1, 0 -m_knockCyl7 = scalar, S08, 966, "dBv", 1, 0 -m_knockCyl8 = scalar, S08, 967, "dBv", 1, 0 -m_knockCyl9 = scalar, S08, 968, "dBv", 1, 0 -m_knockCyl10 = scalar, S08, 969, "dBv", 1, 0 -m_knockCyl11 = scalar, S08, 970, "dBv", 1, 0 -m_knockCyl12 = scalar, S08, 971, "dBv", 1, 0 -m_knockRetard = scalar, F32, 972, "deg", 1,0 -m_knockThreshold = scalar, F32, 976, "", 1, 0 -m_knockCount = scalar, U32, 980, "", 1, 0 -m_maximumRetard = scalar, F32, 984, "", 1, 0 -m_knockSpectrum1 = scalar, U32, 988, "compressed data", 1, 0 -m_knockSpectrum2 = scalar, U32, 992, "compressed data", 1, 0 -m_knockSpectrum3 = scalar, U32, 996, "compressed data", 1, 0 -m_knockSpectrum4 = scalar, U32, 1000, "compressed data", 1, 0 -m_knockSpectrum5 = scalar, U32, 1004, "compressed data", 1, 0 -m_knockSpectrum6 = scalar, U32, 1008, "compressed data", 1, 0 -m_knockSpectrum7 = scalar, U32, 1012, "compressed data", 1, 0 -m_knockSpectrum8 = scalar, U32, 1016, "compressed data", 1, 0 -m_knockSpectrum9 = scalar, U32, 1020, "compressed data", 1, 0 -m_knockSpectrum10 = scalar, U32, 1024, "compressed data", 1, 0 -m_knockSpectrum11 = scalar, U32, 1028, "compressed data", 1, 0 -m_knockSpectrum12 = scalar, U32, 1032, "compressed data", 1, 0 -m_knockSpectrum13 = scalar, U32, 1036, "compressed data", 1, 0 -m_knockSpectrum14 = scalar, U32, 1040, "compressed data", 1, 0 -m_knockSpectrum15 = scalar, U32, 1044, "compressed data", 1, 0 -m_knockSpectrum16 = scalar, U32, 1048, "compressed data", 1, 0 -m_knockSpectrumChannelCyl = scalar, U16, 1052, "compressed N + N", 1, 0 -m_knockFrequencyStart = scalar, U16, 1054, "Hz", 1, 0 -m_knockFrequencyStep = scalar, F32, 1056, "Hz", 1, 0 -m_knockFuelTrimMultiplier = scalar, F32, 1060, "multiplier", 1, 0 -; total TS size = 1064 -m_isPriming = bits, U32, 1064, [0:0] +trailingSparkAngle = scalar, S16, 956, "deg", 0.01,0 +; total TS size = 960 +m_knockLevel = scalar, F32, 960, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 964, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 965, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 966, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 967, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 968, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 969, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 970, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 971, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 972, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 973, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 974, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 975, "dBv", 1, 0 +m_knockRetard = scalar, F32, 976, "deg", 1,0 +m_knockThreshold = scalar, F32, 980, "", 1, 0 +m_knockCount = scalar, U32, 984, "", 1, 0 +m_maximumRetard = scalar, F32, 988, "", 1, 0 +m_knockSpectrum1 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1040, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1044, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1048, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1052, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1056, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1058, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1060, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1064, "multiplier", 1, 0 ; total TS size = 1068 -tcuCurrentGear = scalar, S08, 1068, "gear", 1, 0 -tcRatio = scalar, U16, 1070, "value", 0.01, 0 -lastShiftTime = scalar, F32, 1072, "", 1, 0 -tcu_currentRange = scalar, U08, 1076, "", 1, 0 -pressureControlDuty = scalar, S08, 1077, "%", 1,0 -torqueConverterDuty = scalar, S08, 1078, "%", 1,0 -isShifting = bits, U32, 1080, [0:0] -; total TS size = 1084 -throttleUseWotModel = bits, U32, 1084, [0:0] -throttleModelCrossoverAngle = scalar, S16, 1088, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1092, "g/s", 1, 0 -; total TS size = 1096 -m_requested_pump = scalar, F32, 1096, "", 1, 0 -fuel_requested_percent = scalar, F32, 1100, "%", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1104, "", 1, 0 -noValve = bits, U32, 1108, [0:0] -angleAboveMin = bits, U32, 1108, [1:1] -isHpfpActive = bits, U32, 1108, [2:2] -HpfpValveState = bits, U32, 1108, [3:3] -m_pressureTarget_kPa = scalar, F32, 1112, "", 1, 0 -nextLobe = scalar, F32, 1116, "", 1, 0 -di_nextStart = scalar, F32, 1120, "v", 1, 0 -HpfdActivationPhase = scalar, F32, 1124, "", 1, 0 -HpfdDeactivationPhase = scalar, F32, 1128, "", 1, 0 -; total TS size = 1132 -m_deadtime = scalar, F32, 1132, "ms", 1, 0 -pressureDelta = scalar, F32, 1136, "kPa", 1, 0 -pressureRatio = scalar, F32, 1140, "", 1, 0 -; total TS size = 1144 -retardThresholdRpm = scalar, S32, 1144, "", 1, 0 -launchActivatePinState = bits, U32, 1148, [0:0] -isPreLaunchCondition = bits, U32, 1148, [1:1] -isLaunchCondition = bits, U32, 1148, [2:2] -isSwitchActivated = bits, U32, 1148, [3:3] -isClutchActivated = bits, U32, 1148, [4:4] -isBrakePedalActivated = bits, U32, 1148, [5:5] -isValidInputPin = bits, U32, 1148, [6:6] -activateSwitchCondition = bits, U32, 1148, [7:7] -rpmLaunchCondition = bits, U32, 1148, [8:8] -rpmPreLaunchCondition = bits, U32, 1148, [9:9] -speedCondition = bits, U32, 1148, [10:10] -tpsCondition = bits, U32, 1148, [11:11] -; total TS size = 1152 -isTorqueReductionTriggerPinValid = bits, U32, 1152, [0:0] -torqueReductionTriggerPinState = bits, U32, 1152, [1:1] -isTimeConditionSatisfied = bits, U32, 1152, [2:2] -isRpmConditionSatisfied = bits, U32, 1152, [3:3] -isAppConditionSatisfied = bits, U32, 1152, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1152, [5:5] +m_isPriming = bits, U32, 1068, [0:0] +; total TS size = 1072 +tcuCurrentGear = scalar, S08, 1072, "gear", 1, 0 +tcRatio = scalar, U16, 1074, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1076, "", 1, 0 +tcu_currentRange = scalar, U08, 1080, "", 1, 0 +pressureControlDuty = scalar, S08, 1081, "%", 1,0 +torqueConverterDuty = scalar, S08, 1082, "%", 1,0 +isShifting = bits, U32, 1084, [0:0] +; total TS size = 1088 +throttleUseWotModel = bits, U32, 1088, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1092, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1096, "g/s", 1, 0 +; total TS size = 1100 +m_requested_pump = scalar, F32, 1100, "", 1, 0 +fuel_requested_percent = scalar, F32, 1104, "%", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1108, "", 1, 0 +noValve = bits, U32, 1112, [0:0] +angleAboveMin = bits, U32, 1112, [1:1] +isHpfpActive = bits, U32, 1112, [2:2] +HpfpValveState = bits, U32, 1112, [3:3] +m_pressureTarget_kPa = scalar, F32, 1116, "", 1, 0 +nextLobe = scalar, F32, 1120, "", 1, 0 +di_nextStart = scalar, F32, 1124, "v", 1, 0 +HpfdActivationPhase = scalar, F32, 1128, "", 1, 0 +HpfdDeactivationPhase = scalar, F32, 1132, "", 1, 0 +; total TS size = 1136 +m_deadtime = scalar, F32, 1136, "ms", 1, 0 +pressureDelta = scalar, F32, 1140, "kPa", 1, 0 +pressureRatio = scalar, F32, 1144, "", 1, 0 +; total TS size = 1148 +retardThresholdRpm = scalar, S32, 1148, "", 1, 0 +launchActivatePinState = bits, U32, 1152, [0:0] +isPreLaunchCondition = bits, U32, 1152, [1:1] +isLaunchCondition = bits, U32, 1152, [2:2] +isSwitchActivated = bits, U32, 1152, [3:3] +isClutchActivated = bits, U32, 1152, [4:4] +isBrakePedalActivated = bits, U32, 1152, [5:5] +isValidInputPin = bits, U32, 1152, [6:6] +activateSwitchCondition = bits, U32, 1152, [7:7] +rpmLaunchCondition = bits, U32, 1152, [8:8] +rpmPreLaunchCondition = bits, U32, 1152, [9:9] +speedCondition = bits, U32, 1152, [10:10] +tpsCondition = bits, U32, 1152, [11:11] ; total TS size = 1156 -isAntilagCondition = bits, U32, 1156, [0:0] -ALSMinRPMCondition = bits, U32, 1156, [1:1] -ALSMaxRPMCondition = bits, U32, 1156, [2:2] -ALSMinCLTCondition = bits, U32, 1156, [3:3] -ALSMaxCLTCondition = bits, U32, 1156, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1156, [5:5] -isALSSwitchActivated = bits, U32, 1156, [6:6] -ALSActivatePinState = bits, U32, 1156, [7:7] -ALSSwitchCondition = bits, U32, 1156, [8:8] -ALSTimerCondition = bits, U32, 1156, [9:9] -fuelALSCorrection = scalar, F32, 1160, "", 1, 0 -timingALSCorrection = scalar, S16, 1164, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1166, "deg", 0.01, 0 -; total TS size = 1168 -isTpsInvalid = bits, U32, 1168, [0:0] -m_shouldResetPid = bits, U32, 1168, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1168, [2:2] -isNotClosedLoop = bits, U32, 1168, [3:3] -isZeroRpm = bits, U32, 1168, [4:4] -hasInitBoost = bits, U32, 1168, [5:5] -rpmTooLow = bits, U32, 1168, [6:6] -tpsTooLow = bits, U32, 1168, [7:7] -mapTooLow = bits, U32, 1168, [8:8] -isPlantValid = bits, U32, 1168, [9:9] -isBoostControlled = bits, U32, 1168, [10:10] -luaTargetAdd = scalar, S16, 1172, "v", 0.5,0 -boostOutput = scalar, S16, 1174, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1176, "v", 1,0 -openLoopPart = scalar, F32, 1180, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1184, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1188, "%", 0.5,0 -boostControlTarget = scalar, S16, 1190, "kPa", 0.03333333333333333,0 -; total TS size = 1192 -acButtonState = scalar, S08, 1192, "", 1, 0 -m_acEnabled = bits, U32, 1196, [0:0] -engineTooSlow = bits, U32, 1196, [1:1] -engineTooFast = bits, U32, 1196, [2:2] -noClt = bits, U32, 1196, [3:3] -engineTooHot = bits, U32, 1196, [4:4] -tpsTooHigh = bits, U32, 1196, [5:5] -isDisabledByLua = bits, U32, 1196, [6:6] -acCompressorState = bits, U32, 1196, [7:7] -acPressureTooLow = bits, U32, 1196, [8:8] -acPressureTooHigh = bits, U32, 1196, [9:9] -; total TS size = 1200 -isNitrousArmed = bits, U32, 1200, [0:0] -isNitrousSpeedCondition = bits, U32, 1200, [1:1] -isNitrousTpsCondition = bits, U32, 1200, [2:2] -isNitrousCltCondition = bits, U32, 1200, [3:3] -isNitrousMapCondition = bits, U32, 1200, [4:4] -isNitrousAfrCondition = bits, U32, 1200, [5:5] -isNitrousRpmCondition = bits, U32, 1200, [6:6] -isNitrousCondition = bits, U32, 1200, [7:7] +isTorqueReductionTriggerPinValid = bits, U32, 1156, [0:0] +torqueReductionTriggerPinState = bits, U32, 1156, [1:1] +isTimeConditionSatisfied = bits, U32, 1156, [2:2] +isRpmConditionSatisfied = bits, U32, 1156, [3:3] +isAppConditionSatisfied = bits, U32, 1156, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1156, [5:5] +; total TS size = 1160 +isAntilagCondition = bits, U32, 1160, [0:0] +ALSMinRPMCondition = bits, U32, 1160, [1:1] +ALSMaxRPMCondition = bits, U32, 1160, [2:2] +ALSMinCLTCondition = bits, U32, 1160, [3:3] +ALSMaxCLTCondition = bits, U32, 1160, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1160, [5:5] +isALSSwitchActivated = bits, U32, 1160, [6:6] +ALSActivatePinState = bits, U32, 1160, [7:7] +ALSSwitchCondition = bits, U32, 1160, [8:8] +ALSTimerCondition = bits, U32, 1160, [9:9] +fuelALSCorrection = scalar, F32, 1164, "", 1, 0 +timingALSCorrection = scalar, S16, 1168, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1170, "deg", 0.01, 0 +; total TS size = 1172 +isTpsInvalid = bits, U32, 1172, [0:0] +m_shouldResetPid = bits, U32, 1172, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1172, [2:2] +isNotClosedLoop = bits, U32, 1172, [3:3] +isZeroRpm = bits, U32, 1172, [4:4] +hasInitBoost = bits, U32, 1172, [5:5] +rpmTooLow = bits, U32, 1172, [6:6] +tpsTooLow = bits, U32, 1172, [7:7] +mapTooLow = bits, U32, 1172, [8:8] +isPlantValid = bits, U32, 1172, [9:9] +isBoostControlled = bits, U32, 1172, [10:10] +luaTargetAdd = scalar, S16, 1176, "v", 0.5,0 +boostOutput = scalar, S16, 1178, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1180, "v", 1,0 +openLoopPart = scalar, F32, 1184, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1188, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1192, "%", 0.5,0 +boostControlTarget = scalar, S16, 1194, "kPa", 0.03333333333333333,0 +; total TS size = 1196 +acButtonState = scalar, S08, 1196, "", 1, 0 +m_acEnabled = bits, U32, 1200, [0:0] +engineTooSlow = bits, U32, 1200, [1:1] +engineTooFast = bits, U32, 1200, [2:2] +noClt = bits, U32, 1200, [3:3] +engineTooHot = bits, U32, 1200, [4:4] +tpsTooHigh = bits, U32, 1200, [5:5] +isDisabledByLua = bits, U32, 1200, [6:6] +acCompressorState = bits, U32, 1200, [7:7] +acPressureTooLow = bits, U32, 1200, [8:8] +acPressureTooHigh = bits, U32, 1200, [9:9] ; total TS size = 1204 -fan1cranking = bits, U32, 1204, [0:0] -fan1notRunning = bits, U32, 1204, [1:1] -fan1disabledWhileEngineStopped = bits, U32, 1204, [2:2] -fan1brokenClt = bits, U32, 1204, [3:3] -fan1enabledForAc = bits, U32, 1204, [4:4] -fan1hot = bits, U32, 1204, [5:5] -fan1cold = bits, U32, 1204, [6:6] -fan1disabledBySpeed = bits, U32, 1204, [7:7] -fan1m_state = bits, U32, 1204, [8:8] -fan1radiatorFanStatus = scalar, U08, 1208, "", 1, 0 -; total TS size = 1212 -fan2cranking = bits, U32, 1212, [0:0] -fan2notRunning = bits, U32, 1212, [1:1] -fan2disabledWhileEngineStopped = bits, U32, 1212, [2:2] -fan2brokenClt = bits, U32, 1212, [3:3] -fan2enabledForAc = bits, U32, 1212, [4:4] -fan2hot = bits, U32, 1212, [5:5] -fan2cold = bits, U32, 1212, [6:6] -fan2disabledBySpeed = bits, U32, 1212, [7:7] -fan2m_state = bits, U32, 1212, [8:8] -fan2radiatorFanStatus = scalar, U08, 1216, "", 1, 0 -; total TS size = 1220 -isPrime = bits, U32, 1220, [0:0] -engineTurnedRecently = bits, U32, 1220, [1:1] -isFuelPumpOn = bits, U32, 1220, [2:2] -ignitionOn = bits, U32, 1220, [3:3] +isNitrousArmed = bits, U32, 1204, [0:0] +isNitrousSpeedCondition = bits, U32, 1204, [1:1] +isNitrousTpsCondition = bits, U32, 1204, [2:2] +isNitrousCltCondition = bits, U32, 1204, [3:3] +isNitrousMapCondition = bits, U32, 1204, [4:4] +isNitrousAfrCondition = bits, U32, 1204, [5:5] +isNitrousRpmCondition = bits, U32, 1204, [6:6] +isNitrousCondition = bits, U32, 1204, [7:7] +; total TS size = 1208 +fan1cranking = bits, U32, 1208, [0:0] +fan1notRunning = bits, U32, 1208, [1:1] +fan1disabledWhileEngineStopped = bits, U32, 1208, [2:2] +fan1brokenClt = bits, U32, 1208, [3:3] +fan1enabledForAc = bits, U32, 1208, [4:4] +fan1hot = bits, U32, 1208, [5:5] +fan1cold = bits, U32, 1208, [6:6] +fan1disabledBySpeed = bits, U32, 1208, [7:7] +fan1m_state = bits, U32, 1208, [8:8] +fan1radiatorFanStatus = scalar, U08, 1212, "", 1, 0 +; total TS size = 1216 +fan2cranking = bits, U32, 1216, [0:0] +fan2notRunning = bits, U32, 1216, [1:1] +fan2disabledWhileEngineStopped = bits, U32, 1216, [2:2] +fan2brokenClt = bits, U32, 1216, [3:3] +fan2enabledForAc = bits, U32, 1216, [4:4] +fan2hot = bits, U32, 1216, [5:5] +fan2cold = bits, U32, 1216, [6:6] +fan2disabledBySpeed = bits, U32, 1216, [7:7] +fan2m_state = bits, U32, 1216, [8:8] +fan2radiatorFanStatus = scalar, U08, 1220, "", 1, 0 ; total TS size = 1224 -isBenchTest = bits, U32, 1224, [0:0] -hasIgnitionVoltage = bits, U32, 1224, [1:1] -mainRelayState = bits, U32, 1224, [2:2] -delayedShutoffRequested = bits, U32, 1224, [3:3] +isPrime = bits, U32, 1224, [0:0] +engineTurnedRecently = bits, U32, 1224, [1:1] +isFuelPumpOn = bits, U32, 1224, [2:2] +ignitionOn = bits, U32, 1224, [3:3] ; total TS size = 1228 -lua_fuelAdd = scalar, F32, 1228, "g", 1, 0 -lua_fuelMult = scalar, F32, 1232, "", 1, 0 -lua_clutchUpState = bits, U32, 1236, [0:0] -lua_brakePedalState = bits, U32, 1236, [1:1] -lua_acRequestState = bits, U32, 1236, [2:2] -lua_luaDisableEtb = bits, U32, 1236, [3:3] -lua_luaIgnCut = bits, U32, 1236, [4:4] -lua_luaFuelCut = bits, U32, 1236, [5:5] -lua_clutchDownState = bits, U32, 1236, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1236, [7:7] -lua_torqueReductionState = bits, U32, 1236, [8:8] -sd_tCharge = scalar, S16, 1240, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1244, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1248, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1252, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1256, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1260, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1264, "", 1, 0 -hellenBoardId = scalar, S16, 1268, "id", 1, 0 -clutchUpState = scalar, S08, 1270, "", 1, 0 -brakePedalState = scalar, S08, 1271, "", 1, 0 -startStopState = scalar, S08, 1272, "", 1, 0 -smartChipState = scalar, S08, 1273, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1274, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1275, "", 1, 0 -startStopPhysicalState = bits, U32, 1276, [0:0] -acrActive = bits, U32, 1276, [1:1] -acrEngineMovedRecently = bits, U32, 1276, [2:2] -heaterControlEnabled = bits, U32, 1276, [3:3] -luaDigitalState0 = bits, U32, 1276, [4:4] -luaDigitalState1 = bits, U32, 1276, [5:5] -luaDigitalState2 = bits, U32, 1276, [6:6] -luaDigitalState3 = bits, U32, 1276, [7:7] -clutchDownState = bits, U32, 1276, [8:8] -startStopStateToggleCounter = scalar, U32, 1280, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1284, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1288, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1292, "", 1, 0 -fuelInjectionCounter = scalar, U32, 1296, "", 1, 0 -globalSparkCounter = scalar, U32, 1300, "", 1, 0 -fuelingLoad = scalar, F32, 1304, "", 1, 0 -ignitionLoad = scalar, F32, 1308, "", 1, 0 -veTableYAxis = scalar, U16, 1312, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1314, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1315, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1316, "", 1, 0 -; total TS size = 1320 -tpsFrom = scalar, F32, 1320 -tpsTo = scalar, F32, 1324 -deltaTps = scalar, F32, 1328 -extraFuel = scalar, F32, 1332, "", 1, 0 -valueFromTable = scalar, F32, 1336, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1340, [0:0] -isBelowDecelThreshold = bits, U32, 1340, [1:1] -isTimeToResetAccumulator = bits, U32, 1340, [2:2] -isFractionalEnrichment = bits, U32, 1340, [3:3] -belowEpsilon = bits, U32, 1340, [4:4] -tooShort = bits, U32, 1340, [5:5] -fractionalInjFuel = scalar, F32, 1344, "", 1, 0 -accumulatedValue = scalar, F32, 1348, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1352, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1356, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1360, "", 1, 0 -cycleCnt = scalar, S32, 1364, "", 1, 0 -; total TS size = 1368 -hwEventCounters1 = scalar, U16, 1368, "", 1, 0 -hwEventCounters2 = scalar, U16, 1370, "", 1, 0 -hwEventCounters3 = scalar, U16, 1372, "", 1, 0 -hwEventCounters4 = scalar, U16, 1374, "", 1, 0 -vvtCamCounter = scalar, U16, 1376, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1380, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1384, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1388, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1389, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1392, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1396, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1400, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1404, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1408, [0:0] -triggerElapsedUs = scalar, U32, 1412, "", 1, 0 -; total TS size = 1416 -trgsynchronizationCounter = scalar, U32, 1416, "", 1, 0 -trgvvtToothDurations0 = scalar, U32, 1420, "us", 1, 0 -trgvvtCurrentPosition = scalar, F32, 1424, "", 1, 0 -trgvvtToothPosition1 = scalar, F32, 1428, "", 1, 0 -trgvvtToothPosition2 = scalar, F32, 1432, "", 1, 0 -trgvvtToothPosition3 = scalar, F32, 1436, "", 1, 0 -trgvvtToothPosition4 = scalar, F32, 1440, "", 1, 0 -trgtriggerSyncGapRatio = scalar, F32, 1444, "", 1, 0 -trgtriggerStateIndex = scalar, U08, 1448, "", 1, 0 -; total TS size = 1452 -vvt1isynchronizationCounter = scalar, U32, 1452, "", 1, 0 -vvt1ivvtToothDurations0 = scalar, U32, 1456, "us", 1, 0 -vvt1ivvtCurrentPosition = scalar, F32, 1460, "", 1, 0 -vvt1ivvtToothPosition1 = scalar, F32, 1464, "", 1, 0 -vvt1ivvtToothPosition2 = scalar, F32, 1468, "", 1, 0 -vvt1ivvtToothPosition3 = scalar, F32, 1472, "", 1, 0 -vvt1ivvtToothPosition4 = scalar, F32, 1476, "", 1, 0 -vvt1itriggerSyncGapRatio = scalar, F32, 1480, "", 1, 0 -vvt1itriggerStateIndex = scalar, U08, 1484, "", 1, 0 -; total TS size = 1488 -vvt1esynchronizationCounter = scalar, U32, 1488, "", 1, 0 -vvt1evvtToothDurations0 = scalar, U32, 1492, "us", 1, 0 -vvt1evvtCurrentPosition = scalar, F32, 1496, "", 1, 0 -vvt1evvtToothPosition1 = scalar, F32, 1500, "", 1, 0 -vvt1evvtToothPosition2 = scalar, F32, 1504, "", 1, 0 -vvt1evvtToothPosition3 = scalar, F32, 1508, "", 1, 0 -vvt1evvtToothPosition4 = scalar, F32, 1512, "", 1, 0 -vvt1etriggerSyncGapRatio = scalar, F32, 1516, "", 1, 0 -vvt1etriggerStateIndex = scalar, U08, 1520, "", 1, 0 -; total TS size = 1524 -vvt2isynchronizationCounter = scalar, U32, 1524, "", 1, 0 -vvt2ivvtToothDurations0 = scalar, U32, 1528, "us", 1, 0 -vvt2ivvtCurrentPosition = scalar, F32, 1532, "", 1, 0 -vvt2ivvtToothPosition1 = scalar, F32, 1536, "", 1, 0 -vvt2ivvtToothPosition2 = scalar, F32, 1540, "", 1, 0 -vvt2ivvtToothPosition3 = scalar, F32, 1544, "", 1, 0 -vvt2ivvtToothPosition4 = scalar, F32, 1548, "", 1, 0 -vvt2itriggerSyncGapRatio = scalar, F32, 1552, "", 1, 0 -vvt2itriggerStateIndex = scalar, U08, 1556, "", 1, 0 -; total TS size = 1560 -vvt2esynchronizationCounter = scalar, U32, 1560, "", 1, 0 -vvt2evvtToothDurations0 = scalar, U32, 1564, "us", 1, 0 -vvt2evvtCurrentPosition = scalar, F32, 1568, "", 1, 0 -vvt2evvtToothPosition1 = scalar, F32, 1572, "", 1, 0 -vvt2evvtToothPosition2 = scalar, F32, 1576, "", 1, 0 -vvt2evvtToothPosition3 = scalar, F32, 1580, "", 1, 0 -vvt2evvtToothPosition4 = scalar, F32, 1584, "", 1, 0 -vvt2etriggerSyncGapRatio = scalar, F32, 1588, "", 1, 0 -vvt2etriggerStateIndex = scalar, U08, 1592, "", 1, 0 -; total TS size = 1596 -camResyncCounter = scalar, U08, 1596, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1600, [0:0] -; total TS size = 1604 -wallFuelCorrection = scalar, F32, 1604, "", 1, 0 -wallFuel = scalar, F32, 1608, "", 1, 0 -; total TS size = 1612 -idleState = bits, S32, 1612, [0:2], "not important" -currentIdlePosition = scalar, F32, 1616 -baseIdlePosition = scalar, F32, 1620 -idleClosedLoop = scalar, F32, 1624 -iacByTpsTaper = scalar, F32, 1628 -mightResetPid = bits, U32, 1632, [0:0] -shouldResetPid = bits, U32, 1632, [1:1] -wasResetPid = bits, U32, 1632, [2:2] -mustResetPid = bits, U32, 1632, [3:3] -isCranking = bits, U32, 1632, [4:4] -isIacTableForCoasting = bits, U32, 1632, [5:5] -notIdling = bits, U32, 1632, [6:6] -needReset = bits, U32, 1632, [7:7] -isInDeadZone = bits, U32, 1632, [8:8] -isBlipping = bits, U32, 1632, [9:9] -useClosedLoop = bits, U32, 1632, [10:10] -badTps = bits, U32, 1632, [11:11] -looksLikeRunning = bits, U32, 1632, [12:12] -looksLikeCoasting = bits, U32, 1632, [13:13] -looksLikeCrankToIdle = bits, U32, 1632, [14:14] -isIdleCoasting = bits, U32, 1632, [15:15] -isIdleClosedLoop = bits, U32, 1632, [16:16] -idleTarget = scalar, S32, 1636, "", 1, 0 -targetRpmByClt = scalar, S32, 1640, "", 1, 0 -targetRpmAc = scalar, S32, 1644, "", 1, 0 -iacByRpmTaper = scalar, F32, 1648 -luaAdd = scalar, F32, 1652 -; total TS size = 1656 -etb1targetWithIdlePosition = scalar, F32, 1656, "%", 1,0 -etb1trim = scalar, F32, 1660, "", 1, 0 -etb1luaAdjustment = scalar, F32, 1664, "%", 1,0 -etb1m_wastegatePosition = scalar, F32, 1668, "%", 1,0 -etb1etbFeedForward = scalar, F32, 1672 -etb1etbIntegralError = scalar, F32, 1676, "", 1, 0 -etb1etbCurrentTarget = scalar, F32, 1680, "%", 1, 0 -etb1m_adjustedTarget = scalar, S16, 1684, "%", 0.01, 0 -etb1etbRevLimitActive = bits, U32, 1688, [0:0] -etb1jamDetected = bits, U32, 1688, [1:1] -etb1validPlantPosition = bits, U32, 1688, [2:2] -etb1etbTpsErrorCounter = scalar, U16, 1692, "count", 1,0 -etb1etbPpsErrorCounter = scalar, U16, 1694, "count", 1,0 -etb1etbErrorCode = scalar, S08, 1696, "", 1, 0 -etb1etbErrorCodeBlinker = scalar, S08, 1697, "", 1, 0 -etb1tcEtbDrop = scalar, S08, 1698, "%", 1, 0 -etb1jamTimer = scalar, U16, 1700, "sec", 0.01, 0 -etb1adjustedEtbTarget = scalar, S08, 1702, "%", 1, 0 -etb1state = scalar, U08, 1703, "", 1, 0 -; total TS size = 1704 -etb2targetWithIdlePosition = scalar, F32, 1704, "%", 1,0 -etb2trim = scalar, F32, 1708, "", 1, 0 -etb2luaAdjustment = scalar, F32, 1712, "%", 1,0 -etb2m_wastegatePosition = scalar, F32, 1716, "%", 1,0 -etb2etbFeedForward = scalar, F32, 1720 -etb2etbIntegralError = scalar, F32, 1724, "", 1, 0 -etb2etbCurrentTarget = scalar, F32, 1728, "%", 1, 0 -etb2m_adjustedTarget = scalar, S16, 1732, "%", 0.01, 0 -etb2etbRevLimitActive = bits, U32, 1736, [0:0] -etb2jamDetected = bits, U32, 1736, [1:1] -etb2validPlantPosition = bits, U32, 1736, [2:2] -etb2etbTpsErrorCounter = scalar, U16, 1740, "count", 1,0 -etb2etbPpsErrorCounter = scalar, U16, 1742, "count", 1,0 -etb2etbErrorCode = scalar, S08, 1744, "", 1, 0 -etb2etbErrorCodeBlinker = scalar, S08, 1745, "", 1, 0 -etb2tcEtbDrop = scalar, S08, 1746, "%", 1, 0 -etb2jamTimer = scalar, U16, 1748, "sec", 0.01, 0 -etb2adjustedEtbTarget = scalar, S08, 1750, "%", 1, 0 -etb2state = scalar, U08, 1751, "", 1, 0 -; total TS size = 1752 -wb1faultCode = scalar, U08, 1752, "", 1, 0 -wb1heaterDuty = scalar, U08, 1753, "%", 1, 0 -wb1pumpDuty = scalar, U08, 1754, "%", 1, 0 -wb1tempC = scalar, U16, 1756, "C", 1, 0 -wb1nernstVoltage = scalar, U16, 1758, "V", 0.001, 0 -wb1esr = scalar, U16, 1760, "ohm", 1, 0 -; total TS size = 1764 -wb2faultCode = scalar, U08, 1764, "", 1, 0 -wb2heaterDuty = scalar, U08, 1765, "%", 1, 0 -wb2pumpDuty = scalar, U08, 1766, "%", 1, 0 -wb2tempC = scalar, U16, 1768, "C", 1, 0 -wb2nernstVoltage = scalar, U16, 1770, "V", 0.001, 0 -wb2esr = scalar, U16, 1772, "ohm", 1, 0 -; total TS size = 1776 -dcOutput0 = scalar, F32, 1776, "%", 1,0 -isEnabled0_int = scalar, U08, 1780, "%", 1,0 -isEnabled0 = bits, U32, 1784, [0:0] -; total TS size = 1788 -value0 = scalar, U16, 1788, "RAW", 1,0 -value1 = scalar, U16, 1790, "RAW", 1,0 -errorRate = scalar, F32, 1792, "% (don't belive me)", 1,0 -; total TS size = 1796 -vvtTarget = scalar, U16, 1796, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1798, "%", 0.5, 0 +isBenchTest = bits, U32, 1228, [0:0] +hasIgnitionVoltage = bits, U32, 1228, [1:1] +mainRelayState = bits, U32, 1228, [2:2] +delayedShutoffRequested = bits, U32, 1228, [3:3] +; total TS size = 1232 +lua_fuelAdd = scalar, F32, 1232, "g", 1, 0 +lua_fuelMult = scalar, F32, 1236, "", 1, 0 +lua_clutchUpState = bits, U32, 1240, [0:0] +lua_brakePedalState = bits, U32, 1240, [1:1] +lua_acRequestState = bits, U32, 1240, [2:2] +lua_luaDisableEtb = bits, U32, 1240, [3:3] +lua_luaIgnCut = bits, U32, 1240, [4:4] +lua_luaFuelCut = bits, U32, 1240, [5:5] +lua_clutchDownState = bits, U32, 1240, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1240, [7:7] +lua_torqueReductionState = bits, U32, 1240, [8:8] +sd_tCharge = scalar, S16, 1244, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1248, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1252, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1256, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1260, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1264, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1268, "", 1, 0 +hellenBoardId = scalar, S16, 1272, "id", 1, 0 +clutchUpState = scalar, S08, 1274, "", 1, 0 +brakePedalState = scalar, S08, 1275, "", 1, 0 +startStopState = scalar, S08, 1276, "", 1, 0 +smartChipState = scalar, S08, 1277, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1278, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1279, "", 1, 0 +startStopPhysicalState = bits, U32, 1280, [0:0] +acrActive = bits, U32, 1280, [1:1] +acrEngineMovedRecently = bits, U32, 1280, [2:2] +heaterControlEnabled = bits, U32, 1280, [3:3] +luaDigitalState0 = bits, U32, 1280, [4:4] +luaDigitalState1 = bits, U32, 1280, [5:5] +luaDigitalState2 = bits, U32, 1280, [6:6] +luaDigitalState3 = bits, U32, 1280, [7:7] +clutchDownState = bits, U32, 1280, [8:8] +startStopStateToggleCounter = scalar, U32, 1284, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1288, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1292, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1296, "", 1, 0 +fuelInjectionCounter = scalar, U32, 1300, "", 1, 0 +globalSparkCounter = scalar, U32, 1304, "", 1, 0 +fuelingLoad = scalar, F32, 1308, "", 1, 0 +ignitionLoad = scalar, F32, 1312, "", 1, 0 +veTableYAxis = scalar, U16, 1316, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1318, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1319, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1320, "", 1, 0 +; total TS size = 1324 +tpsFrom = scalar, F32, 1324 +tpsTo = scalar, F32, 1328 +deltaTps = scalar, F32, 1332 +extraFuel = scalar, F32, 1336, "", 1, 0 +valueFromTable = scalar, F32, 1340, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1344, [0:0] +isBelowDecelThreshold = bits, U32, 1344, [1:1] +isTimeToResetAccumulator = bits, U32, 1344, [2:2] +isFractionalEnrichment = bits, U32, 1344, [3:3] +belowEpsilon = bits, U32, 1344, [4:4] +tooShort = bits, U32, 1344, [5:5] +fractionalInjFuel = scalar, F32, 1348, "", 1, 0 +accumulatedValue = scalar, F32, 1352, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1356, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1360, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1364, "", 1, 0 +cycleCnt = scalar, S32, 1368, "", 1, 0 +; total TS size = 1372 +hwEventCounters1 = scalar, U16, 1372, "", 1, 0 +hwEventCounters2 = scalar, U16, 1374, "", 1, 0 +hwEventCounters3 = scalar, U16, 1376, "", 1, 0 +hwEventCounters4 = scalar, U16, 1378, "", 1, 0 +vvtCamCounter = scalar, U16, 1380, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1384, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1388, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1392, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1393, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1396, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1400, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1404, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1408, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1412, [0:0] +triggerElapsedUs = scalar, U32, 1416, "", 1, 0 +; total TS size = 1420 +trgsynchronizationCounter = scalar, U32, 1420, "", 1, 0 +trgvvtToothDurations0 = scalar, U32, 1424, "us", 1, 0 +trgvvtCurrentPosition = scalar, F32, 1428, "", 1, 0 +trgvvtToothPosition1 = scalar, F32, 1432, "", 1, 0 +trgvvtToothPosition2 = scalar, F32, 1436, "", 1, 0 +trgvvtToothPosition3 = scalar, F32, 1440, "", 1, 0 +trgvvtToothPosition4 = scalar, F32, 1444, "", 1, 0 +trgtriggerSyncGapRatio = scalar, F32, 1448, "", 1, 0 +trgtriggerStateIndex = scalar, U08, 1452, "", 1, 0 +; total TS size = 1456 +vvt1isynchronizationCounter = scalar, U32, 1456, "", 1, 0 +vvt1ivvtToothDurations0 = scalar, U32, 1460, "us", 1, 0 +vvt1ivvtCurrentPosition = scalar, F32, 1464, "", 1, 0 +vvt1ivvtToothPosition1 = scalar, F32, 1468, "", 1, 0 +vvt1ivvtToothPosition2 = scalar, F32, 1472, "", 1, 0 +vvt1ivvtToothPosition3 = scalar, F32, 1476, "", 1, 0 +vvt1ivvtToothPosition4 = scalar, F32, 1480, "", 1, 0 +vvt1itriggerSyncGapRatio = scalar, F32, 1484, "", 1, 0 +vvt1itriggerStateIndex = scalar, U08, 1488, "", 1, 0 +; total TS size = 1492 +vvt1esynchronizationCounter = scalar, U32, 1492, "", 1, 0 +vvt1evvtToothDurations0 = scalar, U32, 1496, "us", 1, 0 +vvt1evvtCurrentPosition = scalar, F32, 1500, "", 1, 0 +vvt1evvtToothPosition1 = scalar, F32, 1504, "", 1, 0 +vvt1evvtToothPosition2 = scalar, F32, 1508, "", 1, 0 +vvt1evvtToothPosition3 = scalar, F32, 1512, "", 1, 0 +vvt1evvtToothPosition4 = scalar, F32, 1516, "", 1, 0 +vvt1etriggerSyncGapRatio = scalar, F32, 1520, "", 1, 0 +vvt1etriggerStateIndex = scalar, U08, 1524, "", 1, 0 +; total TS size = 1528 +vvt2isynchronizationCounter = scalar, U32, 1528, "", 1, 0 +vvt2ivvtToothDurations0 = scalar, U32, 1532, "us", 1, 0 +vvt2ivvtCurrentPosition = scalar, F32, 1536, "", 1, 0 +vvt2ivvtToothPosition1 = scalar, F32, 1540, "", 1, 0 +vvt2ivvtToothPosition2 = scalar, F32, 1544, "", 1, 0 +vvt2ivvtToothPosition3 = scalar, F32, 1548, "", 1, 0 +vvt2ivvtToothPosition4 = scalar, F32, 1552, "", 1, 0 +vvt2itriggerSyncGapRatio = scalar, F32, 1556, "", 1, 0 +vvt2itriggerStateIndex = scalar, U08, 1560, "", 1, 0 +; total TS size = 1564 +vvt2esynchronizationCounter = scalar, U32, 1564, "", 1, 0 +vvt2evvtToothDurations0 = scalar, U32, 1568, "us", 1, 0 +vvt2evvtCurrentPosition = scalar, F32, 1572, "", 1, 0 +vvt2evvtToothPosition1 = scalar, F32, 1576, "", 1, 0 +vvt2evvtToothPosition2 = scalar, F32, 1580, "", 1, 0 +vvt2evvtToothPosition3 = scalar, F32, 1584, "", 1, 0 +vvt2evvtToothPosition4 = scalar, F32, 1588, "", 1, 0 +vvt2etriggerSyncGapRatio = scalar, F32, 1592, "", 1, 0 +vvt2etriggerStateIndex = scalar, U08, 1596, "", 1, 0 +; total TS size = 1600 +camResyncCounter = scalar, U08, 1600, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1604, [0:0] +; total TS size = 1608 +wallFuelCorrection = scalar, F32, 1608, "", 1, 0 +wallFuel = scalar, F32, 1612, "", 1, 0 +; total TS size = 1616 +idleState = bits, S32, 1616, [0:2], "not important" +currentIdlePosition = scalar, F32, 1620 +baseIdlePosition = scalar, F32, 1624 +idleClosedLoop = scalar, F32, 1628 +iacByTpsTaper = scalar, F32, 1632 +mightResetPid = bits, U32, 1636, [0:0] +shouldResetPid = bits, U32, 1636, [1:1] +wasResetPid = bits, U32, 1636, [2:2] +mustResetPid = bits, U32, 1636, [3:3] +isCranking = bits, U32, 1636, [4:4] +isIacTableForCoasting = bits, U32, 1636, [5:5] +notIdling = bits, U32, 1636, [6:6] +needReset = bits, U32, 1636, [7:7] +isInDeadZone = bits, U32, 1636, [8:8] +isBlipping = bits, U32, 1636, [9:9] +useClosedLoop = bits, U32, 1636, [10:10] +badTps = bits, U32, 1636, [11:11] +looksLikeRunning = bits, U32, 1636, [12:12] +looksLikeCoasting = bits, U32, 1636, [13:13] +looksLikeCrankToIdle = bits, U32, 1636, [14:14] +isIdleCoasting = bits, U32, 1636, [15:15] +isIdleClosedLoop = bits, U32, 1636, [16:16] +idleTarget = scalar, S32, 1640, "", 1, 0 +targetRpmByClt = scalar, S32, 1644, "", 1, 0 +targetRpmAc = scalar, S32, 1648, "", 1, 0 +iacByRpmTaper = scalar, F32, 1652 +luaAdd = scalar, F32, 1656 +; total TS size = 1660 +etb1targetWithIdlePosition = scalar, F32, 1660, "%", 1,0 +etb1trim = scalar, F32, 1664, "", 1, 0 +etb1luaAdjustment = scalar, F32, 1668, "%", 1,0 +etb1m_wastegatePosition = scalar, F32, 1672, "%", 1,0 +etb1etbFeedForward = scalar, F32, 1676 +etb1etbIntegralError = scalar, F32, 1680, "", 1, 0 +etb1etbCurrentTarget = scalar, F32, 1684, "%", 1, 0 +etb1m_adjustedTarget = scalar, S16, 1688, "%", 0.01, 0 +etb1etbRevLimitActive = bits, U32, 1692, [0:0] +etb1jamDetected = bits, U32, 1692, [1:1] +etb1validPlantPosition = bits, U32, 1692, [2:2] +etb1etbTpsErrorCounter = scalar, U16, 1696, "count", 1,0 +etb1etbPpsErrorCounter = scalar, U16, 1698, "count", 1,0 +etb1etbErrorCode = scalar, S08, 1700, "", 1, 0 +etb1etbErrorCodeBlinker = scalar, S08, 1701, "", 1, 0 +etb1tcEtbDrop = scalar, S08, 1702, "%", 1, 0 +etb1jamTimer = scalar, U16, 1704, "sec", 0.01, 0 +etb1adjustedEtbTarget = scalar, S08, 1706, "%", 1, 0 +etb1state = scalar, U08, 1707, "", 1, 0 +; total TS size = 1708 +etb2targetWithIdlePosition = scalar, F32, 1708, "%", 1,0 +etb2trim = scalar, F32, 1712, "", 1, 0 +etb2luaAdjustment = scalar, F32, 1716, "%", 1,0 +etb2m_wastegatePosition = scalar, F32, 1720, "%", 1,0 +etb2etbFeedForward = scalar, F32, 1724 +etb2etbIntegralError = scalar, F32, 1728, "", 1, 0 +etb2etbCurrentTarget = scalar, F32, 1732, "%", 1, 0 +etb2m_adjustedTarget = scalar, S16, 1736, "%", 0.01, 0 +etb2etbRevLimitActive = bits, U32, 1740, [0:0] +etb2jamDetected = bits, U32, 1740, [1:1] +etb2validPlantPosition = bits, U32, 1740, [2:2] +etb2etbTpsErrorCounter = scalar, U16, 1744, "count", 1,0 +etb2etbPpsErrorCounter = scalar, U16, 1746, "count", 1,0 +etb2etbErrorCode = scalar, S08, 1748, "", 1, 0 +etb2etbErrorCodeBlinker = scalar, S08, 1749, "", 1, 0 +etb2tcEtbDrop = scalar, S08, 1750, "%", 1, 0 +etb2jamTimer = scalar, U16, 1752, "sec", 0.01, 0 +etb2adjustedEtbTarget = scalar, S08, 1754, "%", 1, 0 +etb2state = scalar, U08, 1755, "", 1, 0 +; total TS size = 1756 +wb1faultCode = scalar, U08, 1756, "", 1, 0 +wb1heaterDuty = scalar, U08, 1757, "%", 1, 0 +wb1pumpDuty = scalar, U08, 1758, "%", 1, 0 +wb1tempC = scalar, U16, 1760, "C", 1, 0 +wb1nernstVoltage = scalar, U16, 1762, "V", 0.001, 0 +wb1esr = scalar, U16, 1764, "ohm", 1, 0 +; total TS size = 1768 +wb2faultCode = scalar, U08, 1768, "", 1, 0 +wb2heaterDuty = scalar, U08, 1769, "%", 1, 0 +wb2pumpDuty = scalar, U08, 1770, "%", 1, 0 +wb2tempC = scalar, U16, 1772, "C", 1, 0 +wb2nernstVoltage = scalar, U16, 1774, "V", 0.001, 0 +wb2esr = scalar, U16, 1776, "ohm", 1, 0 +; total TS size = 1780 +dcOutput0 = scalar, F32, 1780, "%", 1,0 +isEnabled0_int = scalar, U08, 1784, "%", 1,0 +isEnabled0 = bits, U32, 1788, [0:0] +; total TS size = 1792 +value0 = scalar, U16, 1792, "RAW", 1,0 +value1 = scalar, U16, 1794, "RAW", 1,0 +errorRate = scalar, F32, 1796, "% (don't belive me)", 1,0 ; total TS size = 1800 -lambdaCurrentlyGood = bits, U32, 1800, [0:0] -lambdaMonitorCut = bits, U32, 1800, [1:1] -lambdaTimeSinceGood = scalar, U16, 1804, "sec", 0.01, 0 -; total TS size = 1808 +vvtTarget = scalar, U16, 1800, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1802, "%", 0.5, 0 +; total TS size = 1804 +lambdaCurrentlyGood = bits, U32, 1804, [0:0] +lambdaMonitorCut = bits, U32, 1804, [1:1] +lambdaTimeSinceGood = scalar, U16, 1808, "sec", 0.01, 0 +; total TS size = 1812 time = { timeNow } @@ -4584,6 +4587,12 @@ curve = rangeMatrix, "Range Switch Input Matrix" gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. upDownLabel = "(RICHER)", "(LEANER)" + table = trailingSparkTable, trailingSparkMap, "Trailing spark", 1 + xyLabels = "RPM", "Ignition Load" + xBins = trailingSparkRpmBins, RPMValue + yBins = trailingSparkLoadBins, ignitionLoad + zBins = trailingSparkTable + table = torqueTableTbl, torqueTableMap, "Engine Torque", 1 xBins = torqueRpmBins, RPMValue yBins = torqueLoadBins, veTableYAxis @@ -4881,6 +4890,7 @@ timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20 timingPidCorrectionGauge = timingPidCorrection,"Idle: Timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 +trailingSparkAngleGauge = trailingSparkAngle,"Ign: Trailing spark deg", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 gaugeCategory = "Boost Control" luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 @@ -5806,6 +5816,7 @@ entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" entry = luaIgnitionSkip, "Ign: Lua Spark Skip", int, "%d" +entry = trailingSparkAngle, "Ign: Trailing spark deg", float, "%.3f" entry = m_knockLevel, "Knock: Current level", float, "%.3f" entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" @@ -6741,6 +6752,7 @@ dialog = ignition_stateDialog, "ignition_state" graphLine = luaTimingAdd liveGraph = ignition_state_4_Graph, "Graph", South graphLine = luaTimingMult + graphLine = trailingSparkAngle dialog = knock_controllerDialog, "knock_controller" @@ -9976,11 +9988,11 @@ dialog = tcuControls, "Transmission Settings" dialog = rotaryDialog, "Rotary" field = "Enable Trailing Sparks", enableTrailingSparks - field = "Trailing Spark Offset", trailingSparkAngle field = "Trailing Pin 1", trailingCoilPins1 field = "Trailing Pin 2", trailingCoilPins2 field = "Trailing Pin 3", trailingCoilPins3 field = "Trailing Pin 4", trailingCoilPins4 + panel = trailingSparkTable diff --git a/firmware/tunerstudio/generated/rusefi_hellen154hyundai_f7.ini b/firmware/tunerstudio/generated/rusefi_hellen154hyundai_f7.ini index 8b657ea9e5..2c73449179 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.2025.02.07.hellen154hyundai_f7.1130799628" + signature = "rusEFI master.2025.02.07.hellen154hyundai_f7.3303353697" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2025.02.07.hellen154hyundai_f7.1130799628" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2025.02.07.hellen154hyundai_f7.3303353697" ; 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 @@ -101,7 +101,7 @@ enable2ndByteCanID = false ; CONFIG_DEFINITION_START ; this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt -pageSize = 23280 +pageSize = 23304 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",22="BMW_M52",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",21="ET_BOSCH_QUICK_START",24="ET_TEST_WITH_BOSCH_QUICK_START",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",41="FRANKENSO_MIATA_NA6_MAP",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",47="GM_LCV",55="GM_LTG",98="GM_SBC",49="GM_SBC_GEN5",8="GY6_139QMB",6="HARLEY",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",34="MAZDA_MIATA_NA6",80="MAZDA_MIATA_NA94",10="MAZDA_MIATA_NA96",83="MAZDA_MIATA_NB1",69="MAZDA_MIATA_NB2",86="MAZDA_MIATA_NB2_36",20="MAZDA_MIATA_NC",33="ME17_9_MISC",68="MERCEDES_M111",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",4="MRE_SECONDARY_CAN",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",35="POLARIS",9="POLARIS_RZR",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",27="PROTEUS_GM_LS_4",25="PROTEUS_LUA_DEMO",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",17="TCU_4R70W",100="TEST_100",101="TEST_101",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",93="TEST_ISSUE_6451",19="TEST_ROTARY",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",102="UNUSED102",67="UNUSED67",94="UNUSED94",65="UNUSED_65",97="UNUSED_97",77="VAG_5_CYL",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -245,7 +245,7 @@ vbattAdcChannel = bits, U08, 513, [0:5], $adc_channel_e_list fuelLevelSensor = bits, U08, 514, [0:5], $adc_channel_e_list tps2_1AdcChannel = bits, U08, 515, [0:5], $adc_channel_e_list idle_derivativeFilterLoss = scalar, F32, 516, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 520, "angle", 1, 0, 0, 720, 0 +unusedTrailingSparkAngle = scalar, S32, 520, "", 1, 0, 0, 100, 0 trigger_type = bits, U32, 524, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Daihatsu 3 cylinder", "Mazda SOHC 4", "60-2", "36-1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "Dodge Ram 1+16", "60-2 Wrong Polarity", "Benelli Tre", "Dodge Stratus", "36_2_2_2", "Nissan Primera", "dev 2JZ 3/34 simulator", "Rover K", "GM 24x 5 degree", "Honda CBR 600 Cam", "INVALID", "Honda CBR 600 custom", "3-1 skipped", "Dodge Neon 2003 crank", "Miata NB", "INVALID", "INVALID", "Subaru 7+6", "Jeep 18-2-2-2", "12crank/24cam", "Dodge Neon 1995 crank only", "Jeep XJ 4 cyl", "FiatIAQ_P8", "Mazda Z5", "INVALID", "Renix 44-2-2", "Renix 66-2-2-2", "Honda K 12+1", "INVALID", "36-2", "Subaru SVX", "Suzuki K6A", "Subaru 7 without 6", "INVALID", "INVALID", "GM 60-2-2-2", "Skoda Favorit", "Barra 3+1 Cam", "Kawa KX450F", "Nissan VQ35", "INVALID", "Nissan VQ30", "Nissan QR25", "INVALID", "Subaru SVX Crank 1", "Subaru SVX Cam VVT", "Ford PIP", "Suzuki G13B", "Honda K 4+1", "Nissan MR18 Crank", "32-2", "36-2-1", "36-2-1-1", "3-0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6-0", "Daihatsu 4 cylinder", "INVALID", "dev", "Nissan HR", "Arctic Cat", "HR12 in", "HONDA J30A2", "trg88", "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" trigger_customTotalToothCount = scalar, S32, 528, "number", 1, 0, 1, 300, 0 trigger_customSkippedToothCount = scalar, S32, 532, "number", 1, 0, 0, 300, 0 @@ -1796,7 +1796,10 @@ dynoCarCarMassKg = scalar, S16, 23268, "", 1, 0, 0, 32000, 0 dynoCarCargoMassKg = scalar, S16, 23270, "", 1, 0, 0, 32000, 0 dynoCarCoeffOfDrag = scalar, F32, 23272, "", 1, 0, 0, 100, 0 dynoCarFrontalAreaM2 = scalar, F32, 23276, "", 1, 0, 0, 100, 0 -; total TS size = 23280 +trailingSparkTable = array, S08, 23280, [4x4], "deg", 0.1, 0, 0, 20, 1 +trailingSparkRpmBins = array, U08, 23296, [4], "rpm", 50.0, 0, 0, 12000, 0 +trailingSparkLoadBins = array, U08, 23300, [4], "Load", 5.0, 0, 0, 1000, 0 +; total TS size = 23304 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1890,7 +1893,6 @@ dynoCarFrontalAreaM2 = scalar, F32, 23276, "", 1, 0, 0, 100, 0 fuelLevelSensor = "This is the processor pin that your fuel level sensor in connected to. This is a non standard input so will need to be user defined." tps2_1AdcChannel = "Second throttle body position sensor, single channel so far" idle_derivativeFilterLoss = "0.1 is a good default value" - trailingSparkAngle = "just a temporary solution" trigger_type = "https://github.com/rusefi/rusefi/wiki/All-Supported-Triggers" airByRpmTaper = "Extra air taper amount" boostControlSafeDutyCycle = "Duty cycle to use in case of a sensor failure. This duty cycle should produce the minimum possible amount of boost. This duty is also used in case any of the minimum RPM/TPS/MAP conditions are not met." @@ -2664,7 +2666,7 @@ dynoCarFrontalAreaM2 = scalar, F32, 23276, "", 1, 0, 0, 100, 0 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1808 + ochBlockSize = 1812 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3189,417 +3191,418 @@ dwellVoltageCorrection = scalar, F32, 940, "", 1, 0 luaTimingAdd = scalar, F32, 944, "deg", 1, 0 luaTimingMult = scalar, F32, 948, "deg", 1, 0 luaIgnitionSkip = bits, U32, 952, [0:0] -; total TS size = 956 -m_knockLevel = scalar, F32, 956, "Volts", 1, 0 -m_knockCyl1 = scalar, S08, 960, "dBv", 1, 0 -m_knockCyl2 = scalar, S08, 961, "dBv", 1, 0 -m_knockCyl3 = scalar, S08, 962, "dBv", 1, 0 -m_knockCyl4 = scalar, S08, 963, "dBv", 1, 0 -m_knockCyl5 = scalar, S08, 964, "dBv", 1, 0 -m_knockCyl6 = scalar, S08, 965, "dBv", 1, 0 -m_knockCyl7 = scalar, S08, 966, "dBv", 1, 0 -m_knockCyl8 = scalar, S08, 967, "dBv", 1, 0 -m_knockCyl9 = scalar, S08, 968, "dBv", 1, 0 -m_knockCyl10 = scalar, S08, 969, "dBv", 1, 0 -m_knockCyl11 = scalar, S08, 970, "dBv", 1, 0 -m_knockCyl12 = scalar, S08, 971, "dBv", 1, 0 -m_knockRetard = scalar, F32, 972, "deg", 1,0 -m_knockThreshold = scalar, F32, 976, "", 1, 0 -m_knockCount = scalar, U32, 980, "", 1, 0 -m_maximumRetard = scalar, F32, 984, "", 1, 0 -m_knockSpectrum1 = scalar, U32, 988, "compressed data", 1, 0 -m_knockSpectrum2 = scalar, U32, 992, "compressed data", 1, 0 -m_knockSpectrum3 = scalar, U32, 996, "compressed data", 1, 0 -m_knockSpectrum4 = scalar, U32, 1000, "compressed data", 1, 0 -m_knockSpectrum5 = scalar, U32, 1004, "compressed data", 1, 0 -m_knockSpectrum6 = scalar, U32, 1008, "compressed data", 1, 0 -m_knockSpectrum7 = scalar, U32, 1012, "compressed data", 1, 0 -m_knockSpectrum8 = scalar, U32, 1016, "compressed data", 1, 0 -m_knockSpectrum9 = scalar, U32, 1020, "compressed data", 1, 0 -m_knockSpectrum10 = scalar, U32, 1024, "compressed data", 1, 0 -m_knockSpectrum11 = scalar, U32, 1028, "compressed data", 1, 0 -m_knockSpectrum12 = scalar, U32, 1032, "compressed data", 1, 0 -m_knockSpectrum13 = scalar, U32, 1036, "compressed data", 1, 0 -m_knockSpectrum14 = scalar, U32, 1040, "compressed data", 1, 0 -m_knockSpectrum15 = scalar, U32, 1044, "compressed data", 1, 0 -m_knockSpectrum16 = scalar, U32, 1048, "compressed data", 1, 0 -m_knockSpectrumChannelCyl = scalar, U16, 1052, "compressed N + N", 1, 0 -m_knockFrequencyStart = scalar, U16, 1054, "Hz", 1, 0 -m_knockFrequencyStep = scalar, F32, 1056, "Hz", 1, 0 -m_knockFuelTrimMultiplier = scalar, F32, 1060, "multiplier", 1, 0 -; total TS size = 1064 -m_isPriming = bits, U32, 1064, [0:0] +trailingSparkAngle = scalar, S16, 956, "deg", 0.01,0 +; total TS size = 960 +m_knockLevel = scalar, F32, 960, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 964, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 965, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 966, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 967, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 968, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 969, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 970, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 971, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 972, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 973, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 974, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 975, "dBv", 1, 0 +m_knockRetard = scalar, F32, 976, "deg", 1,0 +m_knockThreshold = scalar, F32, 980, "", 1, 0 +m_knockCount = scalar, U32, 984, "", 1, 0 +m_maximumRetard = scalar, F32, 988, "", 1, 0 +m_knockSpectrum1 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1040, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1044, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1048, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1052, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1056, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1058, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1060, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1064, "multiplier", 1, 0 ; total TS size = 1068 -tcuCurrentGear = scalar, S08, 1068, "gear", 1, 0 -tcRatio = scalar, U16, 1070, "value", 0.01, 0 -lastShiftTime = scalar, F32, 1072, "", 1, 0 -tcu_currentRange = scalar, U08, 1076, "", 1, 0 -pressureControlDuty = scalar, S08, 1077, "%", 1,0 -torqueConverterDuty = scalar, S08, 1078, "%", 1,0 -isShifting = bits, U32, 1080, [0:0] -; total TS size = 1084 -throttleUseWotModel = bits, U32, 1084, [0:0] -throttleModelCrossoverAngle = scalar, S16, 1088, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1092, "g/s", 1, 0 -; total TS size = 1096 -m_requested_pump = scalar, F32, 1096, "", 1, 0 -fuel_requested_percent = scalar, F32, 1100, "%", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1104, "", 1, 0 -noValve = bits, U32, 1108, [0:0] -angleAboveMin = bits, U32, 1108, [1:1] -isHpfpActive = bits, U32, 1108, [2:2] -HpfpValveState = bits, U32, 1108, [3:3] -m_pressureTarget_kPa = scalar, F32, 1112, "", 1, 0 -nextLobe = scalar, F32, 1116, "", 1, 0 -di_nextStart = scalar, F32, 1120, "v", 1, 0 -HpfdActivationPhase = scalar, F32, 1124, "", 1, 0 -HpfdDeactivationPhase = scalar, F32, 1128, "", 1, 0 -; total TS size = 1132 -m_deadtime = scalar, F32, 1132, "ms", 1, 0 -pressureDelta = scalar, F32, 1136, "kPa", 1, 0 -pressureRatio = scalar, F32, 1140, "", 1, 0 -; total TS size = 1144 -retardThresholdRpm = scalar, S32, 1144, "", 1, 0 -launchActivatePinState = bits, U32, 1148, [0:0] -isPreLaunchCondition = bits, U32, 1148, [1:1] -isLaunchCondition = bits, U32, 1148, [2:2] -isSwitchActivated = bits, U32, 1148, [3:3] -isClutchActivated = bits, U32, 1148, [4:4] -isBrakePedalActivated = bits, U32, 1148, [5:5] -isValidInputPin = bits, U32, 1148, [6:6] -activateSwitchCondition = bits, U32, 1148, [7:7] -rpmLaunchCondition = bits, U32, 1148, [8:8] -rpmPreLaunchCondition = bits, U32, 1148, [9:9] -speedCondition = bits, U32, 1148, [10:10] -tpsCondition = bits, U32, 1148, [11:11] -; total TS size = 1152 -isTorqueReductionTriggerPinValid = bits, U32, 1152, [0:0] -torqueReductionTriggerPinState = bits, U32, 1152, [1:1] -isTimeConditionSatisfied = bits, U32, 1152, [2:2] -isRpmConditionSatisfied = bits, U32, 1152, [3:3] -isAppConditionSatisfied = bits, U32, 1152, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1152, [5:5] +m_isPriming = bits, U32, 1068, [0:0] +; total TS size = 1072 +tcuCurrentGear = scalar, S08, 1072, "gear", 1, 0 +tcRatio = scalar, U16, 1074, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1076, "", 1, 0 +tcu_currentRange = scalar, U08, 1080, "", 1, 0 +pressureControlDuty = scalar, S08, 1081, "%", 1,0 +torqueConverterDuty = scalar, S08, 1082, "%", 1,0 +isShifting = bits, U32, 1084, [0:0] +; total TS size = 1088 +throttleUseWotModel = bits, U32, 1088, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1092, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1096, "g/s", 1, 0 +; total TS size = 1100 +m_requested_pump = scalar, F32, 1100, "", 1, 0 +fuel_requested_percent = scalar, F32, 1104, "%", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1108, "", 1, 0 +noValve = bits, U32, 1112, [0:0] +angleAboveMin = bits, U32, 1112, [1:1] +isHpfpActive = bits, U32, 1112, [2:2] +HpfpValveState = bits, U32, 1112, [3:3] +m_pressureTarget_kPa = scalar, F32, 1116, "", 1, 0 +nextLobe = scalar, F32, 1120, "", 1, 0 +di_nextStart = scalar, F32, 1124, "v", 1, 0 +HpfdActivationPhase = scalar, F32, 1128, "", 1, 0 +HpfdDeactivationPhase = scalar, F32, 1132, "", 1, 0 +; total TS size = 1136 +m_deadtime = scalar, F32, 1136, "ms", 1, 0 +pressureDelta = scalar, F32, 1140, "kPa", 1, 0 +pressureRatio = scalar, F32, 1144, "", 1, 0 +; total TS size = 1148 +retardThresholdRpm = scalar, S32, 1148, "", 1, 0 +launchActivatePinState = bits, U32, 1152, [0:0] +isPreLaunchCondition = bits, U32, 1152, [1:1] +isLaunchCondition = bits, U32, 1152, [2:2] +isSwitchActivated = bits, U32, 1152, [3:3] +isClutchActivated = bits, U32, 1152, [4:4] +isBrakePedalActivated = bits, U32, 1152, [5:5] +isValidInputPin = bits, U32, 1152, [6:6] +activateSwitchCondition = bits, U32, 1152, [7:7] +rpmLaunchCondition = bits, U32, 1152, [8:8] +rpmPreLaunchCondition = bits, U32, 1152, [9:9] +speedCondition = bits, U32, 1152, [10:10] +tpsCondition = bits, U32, 1152, [11:11] ; total TS size = 1156 -isAntilagCondition = bits, U32, 1156, [0:0] -ALSMinRPMCondition = bits, U32, 1156, [1:1] -ALSMaxRPMCondition = bits, U32, 1156, [2:2] -ALSMinCLTCondition = bits, U32, 1156, [3:3] -ALSMaxCLTCondition = bits, U32, 1156, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1156, [5:5] -isALSSwitchActivated = bits, U32, 1156, [6:6] -ALSActivatePinState = bits, U32, 1156, [7:7] -ALSSwitchCondition = bits, U32, 1156, [8:8] -ALSTimerCondition = bits, U32, 1156, [9:9] -fuelALSCorrection = scalar, F32, 1160, "", 1, 0 -timingALSCorrection = scalar, S16, 1164, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1166, "deg", 0.01, 0 -; total TS size = 1168 -isTpsInvalid = bits, U32, 1168, [0:0] -m_shouldResetPid = bits, U32, 1168, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1168, [2:2] -isNotClosedLoop = bits, U32, 1168, [3:3] -isZeroRpm = bits, U32, 1168, [4:4] -hasInitBoost = bits, U32, 1168, [5:5] -rpmTooLow = bits, U32, 1168, [6:6] -tpsTooLow = bits, U32, 1168, [7:7] -mapTooLow = bits, U32, 1168, [8:8] -isPlantValid = bits, U32, 1168, [9:9] -isBoostControlled = bits, U32, 1168, [10:10] -luaTargetAdd = scalar, S16, 1172, "v", 0.5,0 -boostOutput = scalar, S16, 1174, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1176, "v", 1,0 -openLoopPart = scalar, F32, 1180, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1184, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1188, "%", 0.5,0 -boostControlTarget = scalar, S16, 1190, "kPa", 0.03333333333333333,0 -; total TS size = 1192 -acButtonState = scalar, S08, 1192, "", 1, 0 -m_acEnabled = bits, U32, 1196, [0:0] -engineTooSlow = bits, U32, 1196, [1:1] -engineTooFast = bits, U32, 1196, [2:2] -noClt = bits, U32, 1196, [3:3] -engineTooHot = bits, U32, 1196, [4:4] -tpsTooHigh = bits, U32, 1196, [5:5] -isDisabledByLua = bits, U32, 1196, [6:6] -acCompressorState = bits, U32, 1196, [7:7] -acPressureTooLow = bits, U32, 1196, [8:8] -acPressureTooHigh = bits, U32, 1196, [9:9] -; total TS size = 1200 -isNitrousArmed = bits, U32, 1200, [0:0] -isNitrousSpeedCondition = bits, U32, 1200, [1:1] -isNitrousTpsCondition = bits, U32, 1200, [2:2] -isNitrousCltCondition = bits, U32, 1200, [3:3] -isNitrousMapCondition = bits, U32, 1200, [4:4] -isNitrousAfrCondition = bits, U32, 1200, [5:5] -isNitrousRpmCondition = bits, U32, 1200, [6:6] -isNitrousCondition = bits, U32, 1200, [7:7] +isTorqueReductionTriggerPinValid = bits, U32, 1156, [0:0] +torqueReductionTriggerPinState = bits, U32, 1156, [1:1] +isTimeConditionSatisfied = bits, U32, 1156, [2:2] +isRpmConditionSatisfied = bits, U32, 1156, [3:3] +isAppConditionSatisfied = bits, U32, 1156, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1156, [5:5] +; total TS size = 1160 +isAntilagCondition = bits, U32, 1160, [0:0] +ALSMinRPMCondition = bits, U32, 1160, [1:1] +ALSMaxRPMCondition = bits, U32, 1160, [2:2] +ALSMinCLTCondition = bits, U32, 1160, [3:3] +ALSMaxCLTCondition = bits, U32, 1160, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1160, [5:5] +isALSSwitchActivated = bits, U32, 1160, [6:6] +ALSActivatePinState = bits, U32, 1160, [7:7] +ALSSwitchCondition = bits, U32, 1160, [8:8] +ALSTimerCondition = bits, U32, 1160, [9:9] +fuelALSCorrection = scalar, F32, 1164, "", 1, 0 +timingALSCorrection = scalar, S16, 1168, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1170, "deg", 0.01, 0 +; total TS size = 1172 +isTpsInvalid = bits, U32, 1172, [0:0] +m_shouldResetPid = bits, U32, 1172, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1172, [2:2] +isNotClosedLoop = bits, U32, 1172, [3:3] +isZeroRpm = bits, U32, 1172, [4:4] +hasInitBoost = bits, U32, 1172, [5:5] +rpmTooLow = bits, U32, 1172, [6:6] +tpsTooLow = bits, U32, 1172, [7:7] +mapTooLow = bits, U32, 1172, [8:8] +isPlantValid = bits, U32, 1172, [9:9] +isBoostControlled = bits, U32, 1172, [10:10] +luaTargetAdd = scalar, S16, 1176, "v", 0.5,0 +boostOutput = scalar, S16, 1178, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1180, "v", 1,0 +openLoopPart = scalar, F32, 1184, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1188, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1192, "%", 0.5,0 +boostControlTarget = scalar, S16, 1194, "kPa", 0.03333333333333333,0 +; total TS size = 1196 +acButtonState = scalar, S08, 1196, "", 1, 0 +m_acEnabled = bits, U32, 1200, [0:0] +engineTooSlow = bits, U32, 1200, [1:1] +engineTooFast = bits, U32, 1200, [2:2] +noClt = bits, U32, 1200, [3:3] +engineTooHot = bits, U32, 1200, [4:4] +tpsTooHigh = bits, U32, 1200, [5:5] +isDisabledByLua = bits, U32, 1200, [6:6] +acCompressorState = bits, U32, 1200, [7:7] +acPressureTooLow = bits, U32, 1200, [8:8] +acPressureTooHigh = bits, U32, 1200, [9:9] ; total TS size = 1204 -fan1cranking = bits, U32, 1204, [0:0] -fan1notRunning = bits, U32, 1204, [1:1] -fan1disabledWhileEngineStopped = bits, U32, 1204, [2:2] -fan1brokenClt = bits, U32, 1204, [3:3] -fan1enabledForAc = bits, U32, 1204, [4:4] -fan1hot = bits, U32, 1204, [5:5] -fan1cold = bits, U32, 1204, [6:6] -fan1disabledBySpeed = bits, U32, 1204, [7:7] -fan1m_state = bits, U32, 1204, [8:8] -fan1radiatorFanStatus = scalar, U08, 1208, "", 1, 0 -; total TS size = 1212 -fan2cranking = bits, U32, 1212, [0:0] -fan2notRunning = bits, U32, 1212, [1:1] -fan2disabledWhileEngineStopped = bits, U32, 1212, [2:2] -fan2brokenClt = bits, U32, 1212, [3:3] -fan2enabledForAc = bits, U32, 1212, [4:4] -fan2hot = bits, U32, 1212, [5:5] -fan2cold = bits, U32, 1212, [6:6] -fan2disabledBySpeed = bits, U32, 1212, [7:7] -fan2m_state = bits, U32, 1212, [8:8] -fan2radiatorFanStatus = scalar, U08, 1216, "", 1, 0 -; total TS size = 1220 -isPrime = bits, U32, 1220, [0:0] -engineTurnedRecently = bits, U32, 1220, [1:1] -isFuelPumpOn = bits, U32, 1220, [2:2] -ignitionOn = bits, U32, 1220, [3:3] +isNitrousArmed = bits, U32, 1204, [0:0] +isNitrousSpeedCondition = bits, U32, 1204, [1:1] +isNitrousTpsCondition = bits, U32, 1204, [2:2] +isNitrousCltCondition = bits, U32, 1204, [3:3] +isNitrousMapCondition = bits, U32, 1204, [4:4] +isNitrousAfrCondition = bits, U32, 1204, [5:5] +isNitrousRpmCondition = bits, U32, 1204, [6:6] +isNitrousCondition = bits, U32, 1204, [7:7] +; total TS size = 1208 +fan1cranking = bits, U32, 1208, [0:0] +fan1notRunning = bits, U32, 1208, [1:1] +fan1disabledWhileEngineStopped = bits, U32, 1208, [2:2] +fan1brokenClt = bits, U32, 1208, [3:3] +fan1enabledForAc = bits, U32, 1208, [4:4] +fan1hot = bits, U32, 1208, [5:5] +fan1cold = bits, U32, 1208, [6:6] +fan1disabledBySpeed = bits, U32, 1208, [7:7] +fan1m_state = bits, U32, 1208, [8:8] +fan1radiatorFanStatus = scalar, U08, 1212, "", 1, 0 +; total TS size = 1216 +fan2cranking = bits, U32, 1216, [0:0] +fan2notRunning = bits, U32, 1216, [1:1] +fan2disabledWhileEngineStopped = bits, U32, 1216, [2:2] +fan2brokenClt = bits, U32, 1216, [3:3] +fan2enabledForAc = bits, U32, 1216, [4:4] +fan2hot = bits, U32, 1216, [5:5] +fan2cold = bits, U32, 1216, [6:6] +fan2disabledBySpeed = bits, U32, 1216, [7:7] +fan2m_state = bits, U32, 1216, [8:8] +fan2radiatorFanStatus = scalar, U08, 1220, "", 1, 0 ; total TS size = 1224 -isBenchTest = bits, U32, 1224, [0:0] -hasIgnitionVoltage = bits, U32, 1224, [1:1] -mainRelayState = bits, U32, 1224, [2:2] -delayedShutoffRequested = bits, U32, 1224, [3:3] +isPrime = bits, U32, 1224, [0:0] +engineTurnedRecently = bits, U32, 1224, [1:1] +isFuelPumpOn = bits, U32, 1224, [2:2] +ignitionOn = bits, U32, 1224, [3:3] ; total TS size = 1228 -lua_fuelAdd = scalar, F32, 1228, "g", 1, 0 -lua_fuelMult = scalar, F32, 1232, "", 1, 0 -lua_clutchUpState = bits, U32, 1236, [0:0] -lua_brakePedalState = bits, U32, 1236, [1:1] -lua_acRequestState = bits, U32, 1236, [2:2] -lua_luaDisableEtb = bits, U32, 1236, [3:3] -lua_luaIgnCut = bits, U32, 1236, [4:4] -lua_luaFuelCut = bits, U32, 1236, [5:5] -lua_clutchDownState = bits, U32, 1236, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1236, [7:7] -lua_torqueReductionState = bits, U32, 1236, [8:8] -sd_tCharge = scalar, S16, 1240, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1244, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1248, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1252, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1256, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1260, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1264, "", 1, 0 -hellenBoardId = scalar, S16, 1268, "id", 1, 0 -clutchUpState = scalar, S08, 1270, "", 1, 0 -brakePedalState = scalar, S08, 1271, "", 1, 0 -startStopState = scalar, S08, 1272, "", 1, 0 -smartChipState = scalar, S08, 1273, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1274, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1275, "", 1, 0 -startStopPhysicalState = bits, U32, 1276, [0:0] -acrActive = bits, U32, 1276, [1:1] -acrEngineMovedRecently = bits, U32, 1276, [2:2] -heaterControlEnabled = bits, U32, 1276, [3:3] -luaDigitalState0 = bits, U32, 1276, [4:4] -luaDigitalState1 = bits, U32, 1276, [5:5] -luaDigitalState2 = bits, U32, 1276, [6:6] -luaDigitalState3 = bits, U32, 1276, [7:7] -clutchDownState = bits, U32, 1276, [8:8] -startStopStateToggleCounter = scalar, U32, 1280, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1284, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1288, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1292, "", 1, 0 -fuelInjectionCounter = scalar, U32, 1296, "", 1, 0 -globalSparkCounter = scalar, U32, 1300, "", 1, 0 -fuelingLoad = scalar, F32, 1304, "", 1, 0 -ignitionLoad = scalar, F32, 1308, "", 1, 0 -veTableYAxis = scalar, U16, 1312, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1314, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1315, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1316, "", 1, 0 -; total TS size = 1320 -tpsFrom = scalar, F32, 1320 -tpsTo = scalar, F32, 1324 -deltaTps = scalar, F32, 1328 -extraFuel = scalar, F32, 1332, "", 1, 0 -valueFromTable = scalar, F32, 1336, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1340, [0:0] -isBelowDecelThreshold = bits, U32, 1340, [1:1] -isTimeToResetAccumulator = bits, U32, 1340, [2:2] -isFractionalEnrichment = bits, U32, 1340, [3:3] -belowEpsilon = bits, U32, 1340, [4:4] -tooShort = bits, U32, 1340, [5:5] -fractionalInjFuel = scalar, F32, 1344, "", 1, 0 -accumulatedValue = scalar, F32, 1348, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1352, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1356, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1360, "", 1, 0 -cycleCnt = scalar, S32, 1364, "", 1, 0 -; total TS size = 1368 -hwEventCounters1 = scalar, U16, 1368, "", 1, 0 -hwEventCounters2 = scalar, U16, 1370, "", 1, 0 -hwEventCounters3 = scalar, U16, 1372, "", 1, 0 -hwEventCounters4 = scalar, U16, 1374, "", 1, 0 -vvtCamCounter = scalar, U16, 1376, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1380, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1384, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1388, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1389, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1392, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1396, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1400, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1404, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1408, [0:0] -triggerElapsedUs = scalar, U32, 1412, "", 1, 0 -; total TS size = 1416 -trgsynchronizationCounter = scalar, U32, 1416, "", 1, 0 -trgvvtToothDurations0 = scalar, U32, 1420, "us", 1, 0 -trgvvtCurrentPosition = scalar, F32, 1424, "", 1, 0 -trgvvtToothPosition1 = scalar, F32, 1428, "", 1, 0 -trgvvtToothPosition2 = scalar, F32, 1432, "", 1, 0 -trgvvtToothPosition3 = scalar, F32, 1436, "", 1, 0 -trgvvtToothPosition4 = scalar, F32, 1440, "", 1, 0 -trgtriggerSyncGapRatio = scalar, F32, 1444, "", 1, 0 -trgtriggerStateIndex = scalar, U08, 1448, "", 1, 0 -; total TS size = 1452 -vvt1isynchronizationCounter = scalar, U32, 1452, "", 1, 0 -vvt1ivvtToothDurations0 = scalar, U32, 1456, "us", 1, 0 -vvt1ivvtCurrentPosition = scalar, F32, 1460, "", 1, 0 -vvt1ivvtToothPosition1 = scalar, F32, 1464, "", 1, 0 -vvt1ivvtToothPosition2 = scalar, F32, 1468, "", 1, 0 -vvt1ivvtToothPosition3 = scalar, F32, 1472, "", 1, 0 -vvt1ivvtToothPosition4 = scalar, F32, 1476, "", 1, 0 -vvt1itriggerSyncGapRatio = scalar, F32, 1480, "", 1, 0 -vvt1itriggerStateIndex = scalar, U08, 1484, "", 1, 0 -; total TS size = 1488 -vvt1esynchronizationCounter = scalar, U32, 1488, "", 1, 0 -vvt1evvtToothDurations0 = scalar, U32, 1492, "us", 1, 0 -vvt1evvtCurrentPosition = scalar, F32, 1496, "", 1, 0 -vvt1evvtToothPosition1 = scalar, F32, 1500, "", 1, 0 -vvt1evvtToothPosition2 = scalar, F32, 1504, "", 1, 0 -vvt1evvtToothPosition3 = scalar, F32, 1508, "", 1, 0 -vvt1evvtToothPosition4 = scalar, F32, 1512, "", 1, 0 -vvt1etriggerSyncGapRatio = scalar, F32, 1516, "", 1, 0 -vvt1etriggerStateIndex = scalar, U08, 1520, "", 1, 0 -; total TS size = 1524 -vvt2isynchronizationCounter = scalar, U32, 1524, "", 1, 0 -vvt2ivvtToothDurations0 = scalar, U32, 1528, "us", 1, 0 -vvt2ivvtCurrentPosition = scalar, F32, 1532, "", 1, 0 -vvt2ivvtToothPosition1 = scalar, F32, 1536, "", 1, 0 -vvt2ivvtToothPosition2 = scalar, F32, 1540, "", 1, 0 -vvt2ivvtToothPosition3 = scalar, F32, 1544, "", 1, 0 -vvt2ivvtToothPosition4 = scalar, F32, 1548, "", 1, 0 -vvt2itriggerSyncGapRatio = scalar, F32, 1552, "", 1, 0 -vvt2itriggerStateIndex = scalar, U08, 1556, "", 1, 0 -; total TS size = 1560 -vvt2esynchronizationCounter = scalar, U32, 1560, "", 1, 0 -vvt2evvtToothDurations0 = scalar, U32, 1564, "us", 1, 0 -vvt2evvtCurrentPosition = scalar, F32, 1568, "", 1, 0 -vvt2evvtToothPosition1 = scalar, F32, 1572, "", 1, 0 -vvt2evvtToothPosition2 = scalar, F32, 1576, "", 1, 0 -vvt2evvtToothPosition3 = scalar, F32, 1580, "", 1, 0 -vvt2evvtToothPosition4 = scalar, F32, 1584, "", 1, 0 -vvt2etriggerSyncGapRatio = scalar, F32, 1588, "", 1, 0 -vvt2etriggerStateIndex = scalar, U08, 1592, "", 1, 0 -; total TS size = 1596 -camResyncCounter = scalar, U08, 1596, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1600, [0:0] -; total TS size = 1604 -wallFuelCorrection = scalar, F32, 1604, "", 1, 0 -wallFuel = scalar, F32, 1608, "", 1, 0 -; total TS size = 1612 -idleState = bits, S32, 1612, [0:2], "not important" -currentIdlePosition = scalar, F32, 1616 -baseIdlePosition = scalar, F32, 1620 -idleClosedLoop = scalar, F32, 1624 -iacByTpsTaper = scalar, F32, 1628 -mightResetPid = bits, U32, 1632, [0:0] -shouldResetPid = bits, U32, 1632, [1:1] -wasResetPid = bits, U32, 1632, [2:2] -mustResetPid = bits, U32, 1632, [3:3] -isCranking = bits, U32, 1632, [4:4] -isIacTableForCoasting = bits, U32, 1632, [5:5] -notIdling = bits, U32, 1632, [6:6] -needReset = bits, U32, 1632, [7:7] -isInDeadZone = bits, U32, 1632, [8:8] -isBlipping = bits, U32, 1632, [9:9] -useClosedLoop = bits, U32, 1632, [10:10] -badTps = bits, U32, 1632, [11:11] -looksLikeRunning = bits, U32, 1632, [12:12] -looksLikeCoasting = bits, U32, 1632, [13:13] -looksLikeCrankToIdle = bits, U32, 1632, [14:14] -isIdleCoasting = bits, U32, 1632, [15:15] -isIdleClosedLoop = bits, U32, 1632, [16:16] -idleTarget = scalar, S32, 1636, "", 1, 0 -targetRpmByClt = scalar, S32, 1640, "", 1, 0 -targetRpmAc = scalar, S32, 1644, "", 1, 0 -iacByRpmTaper = scalar, F32, 1648 -luaAdd = scalar, F32, 1652 -; total TS size = 1656 -etb1targetWithIdlePosition = scalar, F32, 1656, "%", 1,0 -etb1trim = scalar, F32, 1660, "", 1, 0 -etb1luaAdjustment = scalar, F32, 1664, "%", 1,0 -etb1m_wastegatePosition = scalar, F32, 1668, "%", 1,0 -etb1etbFeedForward = scalar, F32, 1672 -etb1etbIntegralError = scalar, F32, 1676, "", 1, 0 -etb1etbCurrentTarget = scalar, F32, 1680, "%", 1, 0 -etb1m_adjustedTarget = scalar, S16, 1684, "%", 0.01, 0 -etb1etbRevLimitActive = bits, U32, 1688, [0:0] -etb1jamDetected = bits, U32, 1688, [1:1] -etb1validPlantPosition = bits, U32, 1688, [2:2] -etb1etbTpsErrorCounter = scalar, U16, 1692, "count", 1,0 -etb1etbPpsErrorCounter = scalar, U16, 1694, "count", 1,0 -etb1etbErrorCode = scalar, S08, 1696, "", 1, 0 -etb1etbErrorCodeBlinker = scalar, S08, 1697, "", 1, 0 -etb1tcEtbDrop = scalar, S08, 1698, "%", 1, 0 -etb1jamTimer = scalar, U16, 1700, "sec", 0.01, 0 -etb1adjustedEtbTarget = scalar, S08, 1702, "%", 1, 0 -etb1state = scalar, U08, 1703, "", 1, 0 -; total TS size = 1704 -etb2targetWithIdlePosition = scalar, F32, 1704, "%", 1,0 -etb2trim = scalar, F32, 1708, "", 1, 0 -etb2luaAdjustment = scalar, F32, 1712, "%", 1,0 -etb2m_wastegatePosition = scalar, F32, 1716, "%", 1,0 -etb2etbFeedForward = scalar, F32, 1720 -etb2etbIntegralError = scalar, F32, 1724, "", 1, 0 -etb2etbCurrentTarget = scalar, F32, 1728, "%", 1, 0 -etb2m_adjustedTarget = scalar, S16, 1732, "%", 0.01, 0 -etb2etbRevLimitActive = bits, U32, 1736, [0:0] -etb2jamDetected = bits, U32, 1736, [1:1] -etb2validPlantPosition = bits, U32, 1736, [2:2] -etb2etbTpsErrorCounter = scalar, U16, 1740, "count", 1,0 -etb2etbPpsErrorCounter = scalar, U16, 1742, "count", 1,0 -etb2etbErrorCode = scalar, S08, 1744, "", 1, 0 -etb2etbErrorCodeBlinker = scalar, S08, 1745, "", 1, 0 -etb2tcEtbDrop = scalar, S08, 1746, "%", 1, 0 -etb2jamTimer = scalar, U16, 1748, "sec", 0.01, 0 -etb2adjustedEtbTarget = scalar, S08, 1750, "%", 1, 0 -etb2state = scalar, U08, 1751, "", 1, 0 -; total TS size = 1752 -wb1faultCode = scalar, U08, 1752, "", 1, 0 -wb1heaterDuty = scalar, U08, 1753, "%", 1, 0 -wb1pumpDuty = scalar, U08, 1754, "%", 1, 0 -wb1tempC = scalar, U16, 1756, "C", 1, 0 -wb1nernstVoltage = scalar, U16, 1758, "V", 0.001, 0 -wb1esr = scalar, U16, 1760, "ohm", 1, 0 -; total TS size = 1764 -wb2faultCode = scalar, U08, 1764, "", 1, 0 -wb2heaterDuty = scalar, U08, 1765, "%", 1, 0 -wb2pumpDuty = scalar, U08, 1766, "%", 1, 0 -wb2tempC = scalar, U16, 1768, "C", 1, 0 -wb2nernstVoltage = scalar, U16, 1770, "V", 0.001, 0 -wb2esr = scalar, U16, 1772, "ohm", 1, 0 -; total TS size = 1776 -dcOutput0 = scalar, F32, 1776, "%", 1,0 -isEnabled0_int = scalar, U08, 1780, "%", 1,0 -isEnabled0 = bits, U32, 1784, [0:0] -; total TS size = 1788 -value0 = scalar, U16, 1788, "RAW", 1,0 -value1 = scalar, U16, 1790, "RAW", 1,0 -errorRate = scalar, F32, 1792, "% (don't belive me)", 1,0 -; total TS size = 1796 -vvtTarget = scalar, U16, 1796, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1798, "%", 0.5, 0 +isBenchTest = bits, U32, 1228, [0:0] +hasIgnitionVoltage = bits, U32, 1228, [1:1] +mainRelayState = bits, U32, 1228, [2:2] +delayedShutoffRequested = bits, U32, 1228, [3:3] +; total TS size = 1232 +lua_fuelAdd = scalar, F32, 1232, "g", 1, 0 +lua_fuelMult = scalar, F32, 1236, "", 1, 0 +lua_clutchUpState = bits, U32, 1240, [0:0] +lua_brakePedalState = bits, U32, 1240, [1:1] +lua_acRequestState = bits, U32, 1240, [2:2] +lua_luaDisableEtb = bits, U32, 1240, [3:3] +lua_luaIgnCut = bits, U32, 1240, [4:4] +lua_luaFuelCut = bits, U32, 1240, [5:5] +lua_clutchDownState = bits, U32, 1240, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1240, [7:7] +lua_torqueReductionState = bits, U32, 1240, [8:8] +sd_tCharge = scalar, S16, 1244, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1248, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1252, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1256, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1260, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1264, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1268, "", 1, 0 +hellenBoardId = scalar, S16, 1272, "id", 1, 0 +clutchUpState = scalar, S08, 1274, "", 1, 0 +brakePedalState = scalar, S08, 1275, "", 1, 0 +startStopState = scalar, S08, 1276, "", 1, 0 +smartChipState = scalar, S08, 1277, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1278, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1279, "", 1, 0 +startStopPhysicalState = bits, U32, 1280, [0:0] +acrActive = bits, U32, 1280, [1:1] +acrEngineMovedRecently = bits, U32, 1280, [2:2] +heaterControlEnabled = bits, U32, 1280, [3:3] +luaDigitalState0 = bits, U32, 1280, [4:4] +luaDigitalState1 = bits, U32, 1280, [5:5] +luaDigitalState2 = bits, U32, 1280, [6:6] +luaDigitalState3 = bits, U32, 1280, [7:7] +clutchDownState = bits, U32, 1280, [8:8] +startStopStateToggleCounter = scalar, U32, 1284, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1288, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1292, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1296, "", 1, 0 +fuelInjectionCounter = scalar, U32, 1300, "", 1, 0 +globalSparkCounter = scalar, U32, 1304, "", 1, 0 +fuelingLoad = scalar, F32, 1308, "", 1, 0 +ignitionLoad = scalar, F32, 1312, "", 1, 0 +veTableYAxis = scalar, U16, 1316, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1318, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1319, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1320, "", 1, 0 +; total TS size = 1324 +tpsFrom = scalar, F32, 1324 +tpsTo = scalar, F32, 1328 +deltaTps = scalar, F32, 1332 +extraFuel = scalar, F32, 1336, "", 1, 0 +valueFromTable = scalar, F32, 1340, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1344, [0:0] +isBelowDecelThreshold = bits, U32, 1344, [1:1] +isTimeToResetAccumulator = bits, U32, 1344, [2:2] +isFractionalEnrichment = bits, U32, 1344, [3:3] +belowEpsilon = bits, U32, 1344, [4:4] +tooShort = bits, U32, 1344, [5:5] +fractionalInjFuel = scalar, F32, 1348, "", 1, 0 +accumulatedValue = scalar, F32, 1352, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1356, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1360, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1364, "", 1, 0 +cycleCnt = scalar, S32, 1368, "", 1, 0 +; total TS size = 1372 +hwEventCounters1 = scalar, U16, 1372, "", 1, 0 +hwEventCounters2 = scalar, U16, 1374, "", 1, 0 +hwEventCounters3 = scalar, U16, 1376, "", 1, 0 +hwEventCounters4 = scalar, U16, 1378, "", 1, 0 +vvtCamCounter = scalar, U16, 1380, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1384, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1388, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1392, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1393, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1396, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1400, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1404, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1408, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1412, [0:0] +triggerElapsedUs = scalar, U32, 1416, "", 1, 0 +; total TS size = 1420 +trgsynchronizationCounter = scalar, U32, 1420, "", 1, 0 +trgvvtToothDurations0 = scalar, U32, 1424, "us", 1, 0 +trgvvtCurrentPosition = scalar, F32, 1428, "", 1, 0 +trgvvtToothPosition1 = scalar, F32, 1432, "", 1, 0 +trgvvtToothPosition2 = scalar, F32, 1436, "", 1, 0 +trgvvtToothPosition3 = scalar, F32, 1440, "", 1, 0 +trgvvtToothPosition4 = scalar, F32, 1444, "", 1, 0 +trgtriggerSyncGapRatio = scalar, F32, 1448, "", 1, 0 +trgtriggerStateIndex = scalar, U08, 1452, "", 1, 0 +; total TS size = 1456 +vvt1isynchronizationCounter = scalar, U32, 1456, "", 1, 0 +vvt1ivvtToothDurations0 = scalar, U32, 1460, "us", 1, 0 +vvt1ivvtCurrentPosition = scalar, F32, 1464, "", 1, 0 +vvt1ivvtToothPosition1 = scalar, F32, 1468, "", 1, 0 +vvt1ivvtToothPosition2 = scalar, F32, 1472, "", 1, 0 +vvt1ivvtToothPosition3 = scalar, F32, 1476, "", 1, 0 +vvt1ivvtToothPosition4 = scalar, F32, 1480, "", 1, 0 +vvt1itriggerSyncGapRatio = scalar, F32, 1484, "", 1, 0 +vvt1itriggerStateIndex = scalar, U08, 1488, "", 1, 0 +; total TS size = 1492 +vvt1esynchronizationCounter = scalar, U32, 1492, "", 1, 0 +vvt1evvtToothDurations0 = scalar, U32, 1496, "us", 1, 0 +vvt1evvtCurrentPosition = scalar, F32, 1500, "", 1, 0 +vvt1evvtToothPosition1 = scalar, F32, 1504, "", 1, 0 +vvt1evvtToothPosition2 = scalar, F32, 1508, "", 1, 0 +vvt1evvtToothPosition3 = scalar, F32, 1512, "", 1, 0 +vvt1evvtToothPosition4 = scalar, F32, 1516, "", 1, 0 +vvt1etriggerSyncGapRatio = scalar, F32, 1520, "", 1, 0 +vvt1etriggerStateIndex = scalar, U08, 1524, "", 1, 0 +; total TS size = 1528 +vvt2isynchronizationCounter = scalar, U32, 1528, "", 1, 0 +vvt2ivvtToothDurations0 = scalar, U32, 1532, "us", 1, 0 +vvt2ivvtCurrentPosition = scalar, F32, 1536, "", 1, 0 +vvt2ivvtToothPosition1 = scalar, F32, 1540, "", 1, 0 +vvt2ivvtToothPosition2 = scalar, F32, 1544, "", 1, 0 +vvt2ivvtToothPosition3 = scalar, F32, 1548, "", 1, 0 +vvt2ivvtToothPosition4 = scalar, F32, 1552, "", 1, 0 +vvt2itriggerSyncGapRatio = scalar, F32, 1556, "", 1, 0 +vvt2itriggerStateIndex = scalar, U08, 1560, "", 1, 0 +; total TS size = 1564 +vvt2esynchronizationCounter = scalar, U32, 1564, "", 1, 0 +vvt2evvtToothDurations0 = scalar, U32, 1568, "us", 1, 0 +vvt2evvtCurrentPosition = scalar, F32, 1572, "", 1, 0 +vvt2evvtToothPosition1 = scalar, F32, 1576, "", 1, 0 +vvt2evvtToothPosition2 = scalar, F32, 1580, "", 1, 0 +vvt2evvtToothPosition3 = scalar, F32, 1584, "", 1, 0 +vvt2evvtToothPosition4 = scalar, F32, 1588, "", 1, 0 +vvt2etriggerSyncGapRatio = scalar, F32, 1592, "", 1, 0 +vvt2etriggerStateIndex = scalar, U08, 1596, "", 1, 0 +; total TS size = 1600 +camResyncCounter = scalar, U08, 1600, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1604, [0:0] +; total TS size = 1608 +wallFuelCorrection = scalar, F32, 1608, "", 1, 0 +wallFuel = scalar, F32, 1612, "", 1, 0 +; total TS size = 1616 +idleState = bits, S32, 1616, [0:2], "not important" +currentIdlePosition = scalar, F32, 1620 +baseIdlePosition = scalar, F32, 1624 +idleClosedLoop = scalar, F32, 1628 +iacByTpsTaper = scalar, F32, 1632 +mightResetPid = bits, U32, 1636, [0:0] +shouldResetPid = bits, U32, 1636, [1:1] +wasResetPid = bits, U32, 1636, [2:2] +mustResetPid = bits, U32, 1636, [3:3] +isCranking = bits, U32, 1636, [4:4] +isIacTableForCoasting = bits, U32, 1636, [5:5] +notIdling = bits, U32, 1636, [6:6] +needReset = bits, U32, 1636, [7:7] +isInDeadZone = bits, U32, 1636, [8:8] +isBlipping = bits, U32, 1636, [9:9] +useClosedLoop = bits, U32, 1636, [10:10] +badTps = bits, U32, 1636, [11:11] +looksLikeRunning = bits, U32, 1636, [12:12] +looksLikeCoasting = bits, U32, 1636, [13:13] +looksLikeCrankToIdle = bits, U32, 1636, [14:14] +isIdleCoasting = bits, U32, 1636, [15:15] +isIdleClosedLoop = bits, U32, 1636, [16:16] +idleTarget = scalar, S32, 1640, "", 1, 0 +targetRpmByClt = scalar, S32, 1644, "", 1, 0 +targetRpmAc = scalar, S32, 1648, "", 1, 0 +iacByRpmTaper = scalar, F32, 1652 +luaAdd = scalar, F32, 1656 +; total TS size = 1660 +etb1targetWithIdlePosition = scalar, F32, 1660, "%", 1,0 +etb1trim = scalar, F32, 1664, "", 1, 0 +etb1luaAdjustment = scalar, F32, 1668, "%", 1,0 +etb1m_wastegatePosition = scalar, F32, 1672, "%", 1,0 +etb1etbFeedForward = scalar, F32, 1676 +etb1etbIntegralError = scalar, F32, 1680, "", 1, 0 +etb1etbCurrentTarget = scalar, F32, 1684, "%", 1, 0 +etb1m_adjustedTarget = scalar, S16, 1688, "%", 0.01, 0 +etb1etbRevLimitActive = bits, U32, 1692, [0:0] +etb1jamDetected = bits, U32, 1692, [1:1] +etb1validPlantPosition = bits, U32, 1692, [2:2] +etb1etbTpsErrorCounter = scalar, U16, 1696, "count", 1,0 +etb1etbPpsErrorCounter = scalar, U16, 1698, "count", 1,0 +etb1etbErrorCode = scalar, S08, 1700, "", 1, 0 +etb1etbErrorCodeBlinker = scalar, S08, 1701, "", 1, 0 +etb1tcEtbDrop = scalar, S08, 1702, "%", 1, 0 +etb1jamTimer = scalar, U16, 1704, "sec", 0.01, 0 +etb1adjustedEtbTarget = scalar, S08, 1706, "%", 1, 0 +etb1state = scalar, U08, 1707, "", 1, 0 +; total TS size = 1708 +etb2targetWithIdlePosition = scalar, F32, 1708, "%", 1,0 +etb2trim = scalar, F32, 1712, "", 1, 0 +etb2luaAdjustment = scalar, F32, 1716, "%", 1,0 +etb2m_wastegatePosition = scalar, F32, 1720, "%", 1,0 +etb2etbFeedForward = scalar, F32, 1724 +etb2etbIntegralError = scalar, F32, 1728, "", 1, 0 +etb2etbCurrentTarget = scalar, F32, 1732, "%", 1, 0 +etb2m_adjustedTarget = scalar, S16, 1736, "%", 0.01, 0 +etb2etbRevLimitActive = bits, U32, 1740, [0:0] +etb2jamDetected = bits, U32, 1740, [1:1] +etb2validPlantPosition = bits, U32, 1740, [2:2] +etb2etbTpsErrorCounter = scalar, U16, 1744, "count", 1,0 +etb2etbPpsErrorCounter = scalar, U16, 1746, "count", 1,0 +etb2etbErrorCode = scalar, S08, 1748, "", 1, 0 +etb2etbErrorCodeBlinker = scalar, S08, 1749, "", 1, 0 +etb2tcEtbDrop = scalar, S08, 1750, "%", 1, 0 +etb2jamTimer = scalar, U16, 1752, "sec", 0.01, 0 +etb2adjustedEtbTarget = scalar, S08, 1754, "%", 1, 0 +etb2state = scalar, U08, 1755, "", 1, 0 +; total TS size = 1756 +wb1faultCode = scalar, U08, 1756, "", 1, 0 +wb1heaterDuty = scalar, U08, 1757, "%", 1, 0 +wb1pumpDuty = scalar, U08, 1758, "%", 1, 0 +wb1tempC = scalar, U16, 1760, "C", 1, 0 +wb1nernstVoltage = scalar, U16, 1762, "V", 0.001, 0 +wb1esr = scalar, U16, 1764, "ohm", 1, 0 +; total TS size = 1768 +wb2faultCode = scalar, U08, 1768, "", 1, 0 +wb2heaterDuty = scalar, U08, 1769, "%", 1, 0 +wb2pumpDuty = scalar, U08, 1770, "%", 1, 0 +wb2tempC = scalar, U16, 1772, "C", 1, 0 +wb2nernstVoltage = scalar, U16, 1774, "V", 0.001, 0 +wb2esr = scalar, U16, 1776, "ohm", 1, 0 +; total TS size = 1780 +dcOutput0 = scalar, F32, 1780, "%", 1,0 +isEnabled0_int = scalar, U08, 1784, "%", 1,0 +isEnabled0 = bits, U32, 1788, [0:0] +; total TS size = 1792 +value0 = scalar, U16, 1792, "RAW", 1,0 +value1 = scalar, U16, 1794, "RAW", 1,0 +errorRate = scalar, F32, 1796, "% (don't belive me)", 1,0 ; total TS size = 1800 -lambdaCurrentlyGood = bits, U32, 1800, [0:0] -lambdaMonitorCut = bits, U32, 1800, [1:1] -lambdaTimeSinceGood = scalar, U16, 1804, "sec", 0.01, 0 -; total TS size = 1808 +vvtTarget = scalar, U16, 1800, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1802, "%", 0.5, 0 +; total TS size = 1804 +lambdaCurrentlyGood = bits, U32, 1804, [0:0] +lambdaMonitorCut = bits, U32, 1804, [1:1] +lambdaTimeSinceGood = scalar, U16, 1808, "sec", 0.01, 0 +; total TS size = 1812 time = { timeNow } @@ -4584,6 +4587,12 @@ curve = rangeMatrix, "Range Switch Input Matrix" gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. upDownLabel = "(RICHER)", "(LEANER)" + table = trailingSparkTable, trailingSparkMap, "Trailing spark", 1 + xyLabels = "RPM", "Ignition Load" + xBins = trailingSparkRpmBins, RPMValue + yBins = trailingSparkLoadBins, ignitionLoad + zBins = trailingSparkTable + table = torqueTableTbl, torqueTableMap, "Engine Torque", 1 xBins = torqueRpmBins, RPMValue yBins = torqueLoadBins, veTableYAxis @@ -4881,6 +4890,7 @@ timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20 timingPidCorrectionGauge = timingPidCorrection,"Idle: Timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 +trailingSparkAngleGauge = trailingSparkAngle,"Ign: Trailing spark deg", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 gaugeCategory = "Boost Control" luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 @@ -5806,6 +5816,7 @@ entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" entry = luaIgnitionSkip, "Ign: Lua Spark Skip", int, "%d" +entry = trailingSparkAngle, "Ign: Trailing spark deg", float, "%.3f" entry = m_knockLevel, "Knock: Current level", float, "%.3f" entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" @@ -6742,6 +6753,7 @@ dialog = ignition_stateDialog, "ignition_state" graphLine = luaTimingAdd liveGraph = ignition_state_4_Graph, "Graph", South graphLine = luaTimingMult + graphLine = trailingSparkAngle dialog = knock_controllerDialog, "knock_controller" @@ -9977,11 +9989,11 @@ dialog = tcuControls, "Transmission Settings" dialog = rotaryDialog, "Rotary" field = "Enable Trailing Sparks", enableTrailingSparks - field = "Trailing Spark Offset", trailingSparkAngle field = "Trailing Pin 1", trailingCoilPins1 field = "Trailing Pin 2", trailingCoilPins2 field = "Trailing Pin 3", trailingCoilPins3 field = "Trailing Pin 4", trailingCoilPins4 + panel = trailingSparkTable diff --git a/firmware/tunerstudio/generated/rusefi_hellen72.ini b/firmware/tunerstudio/generated/rusefi_hellen72.ini index a3530a6304..98c85d2f25 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.2025.02.07.hellen72.2947287104" + signature = "rusEFI master.2025.02.07.hellen72.674203437" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2025.02.07.hellen72.2947287104" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2025.02.07.hellen72.674203437" ; 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 @@ -101,7 +101,7 @@ enable2ndByteCanID = false ; CONFIG_DEFINITION_START ; this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt -pageSize = 23280 +pageSize = 23304 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",22="BMW_M52",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",21="ET_BOSCH_QUICK_START",24="ET_TEST_WITH_BOSCH_QUICK_START",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",41="FRANKENSO_MIATA_NA6_MAP",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",47="GM_LCV",55="GM_LTG",98="GM_SBC",49="GM_SBC_GEN5",8="GY6_139QMB",6="HARLEY",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",34="MAZDA_MIATA_NA6",80="MAZDA_MIATA_NA94",10="MAZDA_MIATA_NA96",83="MAZDA_MIATA_NB1",69="MAZDA_MIATA_NB2",86="MAZDA_MIATA_NB2_36",20="MAZDA_MIATA_NC",33="ME17_9_MISC",68="MERCEDES_M111",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",4="MRE_SECONDARY_CAN",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",35="POLARIS",9="POLARIS_RZR",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",27="PROTEUS_GM_LS_4",25="PROTEUS_LUA_DEMO",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",17="TCU_4R70W",100="TEST_100",101="TEST_101",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",93="TEST_ISSUE_6451",19="TEST_ROTARY",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",102="UNUSED102",67="UNUSED67",94="UNUSED94",65="UNUSED_65",97="UNUSED_97",77="VAG_5_CYL",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -245,7 +245,7 @@ vbattAdcChannel = bits, U08, 513, [0:5], $adc_channel_e_list fuelLevelSensor = bits, U08, 514, [0:5], $adc_channel_e_list tps2_1AdcChannel = bits, U08, 515, [0:5], $adc_channel_e_list idle_derivativeFilterLoss = scalar, F32, 516, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 520, "angle", 1, 0, 0, 720, 0 +unusedTrailingSparkAngle = scalar, S32, 520, "", 1, 0, 0, 100, 0 trigger_type = bits, U32, 524, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Daihatsu 3 cylinder", "Mazda SOHC 4", "60-2", "36-1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "Dodge Ram 1+16", "60-2 Wrong Polarity", "Benelli Tre", "Dodge Stratus", "36_2_2_2", "Nissan Primera", "dev 2JZ 3/34 simulator", "Rover K", "GM 24x 5 degree", "Honda CBR 600 Cam", "INVALID", "Honda CBR 600 custom", "3-1 skipped", "Dodge Neon 2003 crank", "Miata NB", "INVALID", "INVALID", "Subaru 7+6", "Jeep 18-2-2-2", "12crank/24cam", "Dodge Neon 1995 crank only", "Jeep XJ 4 cyl", "FiatIAQ_P8", "Mazda Z5", "INVALID", "Renix 44-2-2", "Renix 66-2-2-2", "Honda K 12+1", "INVALID", "36-2", "Subaru SVX", "Suzuki K6A", "Subaru 7 without 6", "INVALID", "INVALID", "GM 60-2-2-2", "Skoda Favorit", "Barra 3+1 Cam", "Kawa KX450F", "Nissan VQ35", "INVALID", "Nissan VQ30", "Nissan QR25", "INVALID", "Subaru SVX Crank 1", "Subaru SVX Cam VVT", "Ford PIP", "Suzuki G13B", "Honda K 4+1", "Nissan MR18 Crank", "32-2", "36-2-1", "36-2-1-1", "3-0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6-0", "Daihatsu 4 cylinder", "INVALID", "dev", "Nissan HR", "Arctic Cat", "HR12 in", "HONDA J30A2", "trg88", "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" trigger_customTotalToothCount = scalar, S32, 528, "number", 1, 0, 1, 300, 0 trigger_customSkippedToothCount = scalar, S32, 532, "number", 1, 0, 0, 300, 0 @@ -1796,7 +1796,10 @@ dynoCarCarMassKg = scalar, S16, 23268, "", 1, 0, 0, 32000, 0 dynoCarCargoMassKg = scalar, S16, 23270, "", 1, 0, 0, 32000, 0 dynoCarCoeffOfDrag = scalar, F32, 23272, "", 1, 0, 0, 100, 0 dynoCarFrontalAreaM2 = scalar, F32, 23276, "", 1, 0, 0, 100, 0 -; total TS size = 23280 +trailingSparkTable = array, S08, 23280, [4x4], "deg", 0.1, 0, 0, 20, 1 +trailingSparkRpmBins = array, U08, 23296, [4], "rpm", 50.0, 0, 0, 12000, 0 +trailingSparkLoadBins = array, U08, 23300, [4], "Load", 5.0, 0, 0, 1000, 0 +; total TS size = 23304 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1890,7 +1893,6 @@ dynoCarFrontalAreaM2 = scalar, F32, 23276, "", 1, 0, 0, 100, 0 fuelLevelSensor = "This is the processor pin that your fuel level sensor in connected to. This is a non standard input so will need to be user defined." tps2_1AdcChannel = "Second throttle body position sensor, single channel so far" idle_derivativeFilterLoss = "0.1 is a good default value" - trailingSparkAngle = "just a temporary solution" trigger_type = "https://github.com/rusefi/rusefi/wiki/All-Supported-Triggers" airByRpmTaper = "Extra air taper amount" boostControlSafeDutyCycle = "Duty cycle to use in case of a sensor failure. This duty cycle should produce the minimum possible amount of boost. This duty is also used in case any of the minimum RPM/TPS/MAP conditions are not met." @@ -2664,7 +2666,7 @@ dynoCarFrontalAreaM2 = scalar, F32, 23276, "", 1, 0, 0, 100, 0 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1808 + ochBlockSize = 1812 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3189,417 +3191,418 @@ dwellVoltageCorrection = scalar, F32, 940, "", 1, 0 luaTimingAdd = scalar, F32, 944, "deg", 1, 0 luaTimingMult = scalar, F32, 948, "deg", 1, 0 luaIgnitionSkip = bits, U32, 952, [0:0] -; total TS size = 956 -m_knockLevel = scalar, F32, 956, "Volts", 1, 0 -m_knockCyl1 = scalar, S08, 960, "dBv", 1, 0 -m_knockCyl2 = scalar, S08, 961, "dBv", 1, 0 -m_knockCyl3 = scalar, S08, 962, "dBv", 1, 0 -m_knockCyl4 = scalar, S08, 963, "dBv", 1, 0 -m_knockCyl5 = scalar, S08, 964, "dBv", 1, 0 -m_knockCyl6 = scalar, S08, 965, "dBv", 1, 0 -m_knockCyl7 = scalar, S08, 966, "dBv", 1, 0 -m_knockCyl8 = scalar, S08, 967, "dBv", 1, 0 -m_knockCyl9 = scalar, S08, 968, "dBv", 1, 0 -m_knockCyl10 = scalar, S08, 969, "dBv", 1, 0 -m_knockCyl11 = scalar, S08, 970, "dBv", 1, 0 -m_knockCyl12 = scalar, S08, 971, "dBv", 1, 0 -m_knockRetard = scalar, F32, 972, "deg", 1,0 -m_knockThreshold = scalar, F32, 976, "", 1, 0 -m_knockCount = scalar, U32, 980, "", 1, 0 -m_maximumRetard = scalar, F32, 984, "", 1, 0 -m_knockSpectrum1 = scalar, U32, 988, "compressed data", 1, 0 -m_knockSpectrum2 = scalar, U32, 992, "compressed data", 1, 0 -m_knockSpectrum3 = scalar, U32, 996, "compressed data", 1, 0 -m_knockSpectrum4 = scalar, U32, 1000, "compressed data", 1, 0 -m_knockSpectrum5 = scalar, U32, 1004, "compressed data", 1, 0 -m_knockSpectrum6 = scalar, U32, 1008, "compressed data", 1, 0 -m_knockSpectrum7 = scalar, U32, 1012, "compressed data", 1, 0 -m_knockSpectrum8 = scalar, U32, 1016, "compressed data", 1, 0 -m_knockSpectrum9 = scalar, U32, 1020, "compressed data", 1, 0 -m_knockSpectrum10 = scalar, U32, 1024, "compressed data", 1, 0 -m_knockSpectrum11 = scalar, U32, 1028, "compressed data", 1, 0 -m_knockSpectrum12 = scalar, U32, 1032, "compressed data", 1, 0 -m_knockSpectrum13 = scalar, U32, 1036, "compressed data", 1, 0 -m_knockSpectrum14 = scalar, U32, 1040, "compressed data", 1, 0 -m_knockSpectrum15 = scalar, U32, 1044, "compressed data", 1, 0 -m_knockSpectrum16 = scalar, U32, 1048, "compressed data", 1, 0 -m_knockSpectrumChannelCyl = scalar, U16, 1052, "compressed N + N", 1, 0 -m_knockFrequencyStart = scalar, U16, 1054, "Hz", 1, 0 -m_knockFrequencyStep = scalar, F32, 1056, "Hz", 1, 0 -m_knockFuelTrimMultiplier = scalar, F32, 1060, "multiplier", 1, 0 -; total TS size = 1064 -m_isPriming = bits, U32, 1064, [0:0] +trailingSparkAngle = scalar, S16, 956, "deg", 0.01,0 +; total TS size = 960 +m_knockLevel = scalar, F32, 960, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 964, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 965, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 966, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 967, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 968, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 969, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 970, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 971, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 972, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 973, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 974, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 975, "dBv", 1, 0 +m_knockRetard = scalar, F32, 976, "deg", 1,0 +m_knockThreshold = scalar, F32, 980, "", 1, 0 +m_knockCount = scalar, U32, 984, "", 1, 0 +m_maximumRetard = scalar, F32, 988, "", 1, 0 +m_knockSpectrum1 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1040, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1044, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1048, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1052, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1056, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1058, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1060, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1064, "multiplier", 1, 0 ; total TS size = 1068 -tcuCurrentGear = scalar, S08, 1068, "gear", 1, 0 -tcRatio = scalar, U16, 1070, "value", 0.01, 0 -lastShiftTime = scalar, F32, 1072, "", 1, 0 -tcu_currentRange = scalar, U08, 1076, "", 1, 0 -pressureControlDuty = scalar, S08, 1077, "%", 1,0 -torqueConverterDuty = scalar, S08, 1078, "%", 1,0 -isShifting = bits, U32, 1080, [0:0] -; total TS size = 1084 -throttleUseWotModel = bits, U32, 1084, [0:0] -throttleModelCrossoverAngle = scalar, S16, 1088, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1092, "g/s", 1, 0 -; total TS size = 1096 -m_requested_pump = scalar, F32, 1096, "", 1, 0 -fuel_requested_percent = scalar, F32, 1100, "%", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1104, "", 1, 0 -noValve = bits, U32, 1108, [0:0] -angleAboveMin = bits, U32, 1108, [1:1] -isHpfpActive = bits, U32, 1108, [2:2] -HpfpValveState = bits, U32, 1108, [3:3] -m_pressureTarget_kPa = scalar, F32, 1112, "", 1, 0 -nextLobe = scalar, F32, 1116, "", 1, 0 -di_nextStart = scalar, F32, 1120, "v", 1, 0 -HpfdActivationPhase = scalar, F32, 1124, "", 1, 0 -HpfdDeactivationPhase = scalar, F32, 1128, "", 1, 0 -; total TS size = 1132 -m_deadtime = scalar, F32, 1132, "ms", 1, 0 -pressureDelta = scalar, F32, 1136, "kPa", 1, 0 -pressureRatio = scalar, F32, 1140, "", 1, 0 -; total TS size = 1144 -retardThresholdRpm = scalar, S32, 1144, "", 1, 0 -launchActivatePinState = bits, U32, 1148, [0:0] -isPreLaunchCondition = bits, U32, 1148, [1:1] -isLaunchCondition = bits, U32, 1148, [2:2] -isSwitchActivated = bits, U32, 1148, [3:3] -isClutchActivated = bits, U32, 1148, [4:4] -isBrakePedalActivated = bits, U32, 1148, [5:5] -isValidInputPin = bits, U32, 1148, [6:6] -activateSwitchCondition = bits, U32, 1148, [7:7] -rpmLaunchCondition = bits, U32, 1148, [8:8] -rpmPreLaunchCondition = bits, U32, 1148, [9:9] -speedCondition = bits, U32, 1148, [10:10] -tpsCondition = bits, U32, 1148, [11:11] -; total TS size = 1152 -isTorqueReductionTriggerPinValid = bits, U32, 1152, [0:0] -torqueReductionTriggerPinState = bits, U32, 1152, [1:1] -isTimeConditionSatisfied = bits, U32, 1152, [2:2] -isRpmConditionSatisfied = bits, U32, 1152, [3:3] -isAppConditionSatisfied = bits, U32, 1152, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1152, [5:5] +m_isPriming = bits, U32, 1068, [0:0] +; total TS size = 1072 +tcuCurrentGear = scalar, S08, 1072, "gear", 1, 0 +tcRatio = scalar, U16, 1074, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1076, "", 1, 0 +tcu_currentRange = scalar, U08, 1080, "", 1, 0 +pressureControlDuty = scalar, S08, 1081, "%", 1,0 +torqueConverterDuty = scalar, S08, 1082, "%", 1,0 +isShifting = bits, U32, 1084, [0:0] +; total TS size = 1088 +throttleUseWotModel = bits, U32, 1088, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1092, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1096, "g/s", 1, 0 +; total TS size = 1100 +m_requested_pump = scalar, F32, 1100, "", 1, 0 +fuel_requested_percent = scalar, F32, 1104, "%", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1108, "", 1, 0 +noValve = bits, U32, 1112, [0:0] +angleAboveMin = bits, U32, 1112, [1:1] +isHpfpActive = bits, U32, 1112, [2:2] +HpfpValveState = bits, U32, 1112, [3:3] +m_pressureTarget_kPa = scalar, F32, 1116, "", 1, 0 +nextLobe = scalar, F32, 1120, "", 1, 0 +di_nextStart = scalar, F32, 1124, "v", 1, 0 +HpfdActivationPhase = scalar, F32, 1128, "", 1, 0 +HpfdDeactivationPhase = scalar, F32, 1132, "", 1, 0 +; total TS size = 1136 +m_deadtime = scalar, F32, 1136, "ms", 1, 0 +pressureDelta = scalar, F32, 1140, "kPa", 1, 0 +pressureRatio = scalar, F32, 1144, "", 1, 0 +; total TS size = 1148 +retardThresholdRpm = scalar, S32, 1148, "", 1, 0 +launchActivatePinState = bits, U32, 1152, [0:0] +isPreLaunchCondition = bits, U32, 1152, [1:1] +isLaunchCondition = bits, U32, 1152, [2:2] +isSwitchActivated = bits, U32, 1152, [3:3] +isClutchActivated = bits, U32, 1152, [4:4] +isBrakePedalActivated = bits, U32, 1152, [5:5] +isValidInputPin = bits, U32, 1152, [6:6] +activateSwitchCondition = bits, U32, 1152, [7:7] +rpmLaunchCondition = bits, U32, 1152, [8:8] +rpmPreLaunchCondition = bits, U32, 1152, [9:9] +speedCondition = bits, U32, 1152, [10:10] +tpsCondition = bits, U32, 1152, [11:11] ; total TS size = 1156 -isAntilagCondition = bits, U32, 1156, [0:0] -ALSMinRPMCondition = bits, U32, 1156, [1:1] -ALSMaxRPMCondition = bits, U32, 1156, [2:2] -ALSMinCLTCondition = bits, U32, 1156, [3:3] -ALSMaxCLTCondition = bits, U32, 1156, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1156, [5:5] -isALSSwitchActivated = bits, U32, 1156, [6:6] -ALSActivatePinState = bits, U32, 1156, [7:7] -ALSSwitchCondition = bits, U32, 1156, [8:8] -ALSTimerCondition = bits, U32, 1156, [9:9] -fuelALSCorrection = scalar, F32, 1160, "", 1, 0 -timingALSCorrection = scalar, S16, 1164, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1166, "deg", 0.01, 0 -; total TS size = 1168 -isTpsInvalid = bits, U32, 1168, [0:0] -m_shouldResetPid = bits, U32, 1168, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1168, [2:2] -isNotClosedLoop = bits, U32, 1168, [3:3] -isZeroRpm = bits, U32, 1168, [4:4] -hasInitBoost = bits, U32, 1168, [5:5] -rpmTooLow = bits, U32, 1168, [6:6] -tpsTooLow = bits, U32, 1168, [7:7] -mapTooLow = bits, U32, 1168, [8:8] -isPlantValid = bits, U32, 1168, [9:9] -isBoostControlled = bits, U32, 1168, [10:10] -luaTargetAdd = scalar, S16, 1172, "v", 0.5,0 -boostOutput = scalar, S16, 1174, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1176, "v", 1,0 -openLoopPart = scalar, F32, 1180, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1184, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1188, "%", 0.5,0 -boostControlTarget = scalar, S16, 1190, "kPa", 0.03333333333333333,0 -; total TS size = 1192 -acButtonState = scalar, S08, 1192, "", 1, 0 -m_acEnabled = bits, U32, 1196, [0:0] -engineTooSlow = bits, U32, 1196, [1:1] -engineTooFast = bits, U32, 1196, [2:2] -noClt = bits, U32, 1196, [3:3] -engineTooHot = bits, U32, 1196, [4:4] -tpsTooHigh = bits, U32, 1196, [5:5] -isDisabledByLua = bits, U32, 1196, [6:6] -acCompressorState = bits, U32, 1196, [7:7] -acPressureTooLow = bits, U32, 1196, [8:8] -acPressureTooHigh = bits, U32, 1196, [9:9] -; total TS size = 1200 -isNitrousArmed = bits, U32, 1200, [0:0] -isNitrousSpeedCondition = bits, U32, 1200, [1:1] -isNitrousTpsCondition = bits, U32, 1200, [2:2] -isNitrousCltCondition = bits, U32, 1200, [3:3] -isNitrousMapCondition = bits, U32, 1200, [4:4] -isNitrousAfrCondition = bits, U32, 1200, [5:5] -isNitrousRpmCondition = bits, U32, 1200, [6:6] -isNitrousCondition = bits, U32, 1200, [7:7] +isTorqueReductionTriggerPinValid = bits, U32, 1156, [0:0] +torqueReductionTriggerPinState = bits, U32, 1156, [1:1] +isTimeConditionSatisfied = bits, U32, 1156, [2:2] +isRpmConditionSatisfied = bits, U32, 1156, [3:3] +isAppConditionSatisfied = bits, U32, 1156, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1156, [5:5] +; total TS size = 1160 +isAntilagCondition = bits, U32, 1160, [0:0] +ALSMinRPMCondition = bits, U32, 1160, [1:1] +ALSMaxRPMCondition = bits, U32, 1160, [2:2] +ALSMinCLTCondition = bits, U32, 1160, [3:3] +ALSMaxCLTCondition = bits, U32, 1160, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1160, [5:5] +isALSSwitchActivated = bits, U32, 1160, [6:6] +ALSActivatePinState = bits, U32, 1160, [7:7] +ALSSwitchCondition = bits, U32, 1160, [8:8] +ALSTimerCondition = bits, U32, 1160, [9:9] +fuelALSCorrection = scalar, F32, 1164, "", 1, 0 +timingALSCorrection = scalar, S16, 1168, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1170, "deg", 0.01, 0 +; total TS size = 1172 +isTpsInvalid = bits, U32, 1172, [0:0] +m_shouldResetPid = bits, U32, 1172, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1172, [2:2] +isNotClosedLoop = bits, U32, 1172, [3:3] +isZeroRpm = bits, U32, 1172, [4:4] +hasInitBoost = bits, U32, 1172, [5:5] +rpmTooLow = bits, U32, 1172, [6:6] +tpsTooLow = bits, U32, 1172, [7:7] +mapTooLow = bits, U32, 1172, [8:8] +isPlantValid = bits, U32, 1172, [9:9] +isBoostControlled = bits, U32, 1172, [10:10] +luaTargetAdd = scalar, S16, 1176, "v", 0.5,0 +boostOutput = scalar, S16, 1178, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1180, "v", 1,0 +openLoopPart = scalar, F32, 1184, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1188, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1192, "%", 0.5,0 +boostControlTarget = scalar, S16, 1194, "kPa", 0.03333333333333333,0 +; total TS size = 1196 +acButtonState = scalar, S08, 1196, "", 1, 0 +m_acEnabled = bits, U32, 1200, [0:0] +engineTooSlow = bits, U32, 1200, [1:1] +engineTooFast = bits, U32, 1200, [2:2] +noClt = bits, U32, 1200, [3:3] +engineTooHot = bits, U32, 1200, [4:4] +tpsTooHigh = bits, U32, 1200, [5:5] +isDisabledByLua = bits, U32, 1200, [6:6] +acCompressorState = bits, U32, 1200, [7:7] +acPressureTooLow = bits, U32, 1200, [8:8] +acPressureTooHigh = bits, U32, 1200, [9:9] ; total TS size = 1204 -fan1cranking = bits, U32, 1204, [0:0] -fan1notRunning = bits, U32, 1204, [1:1] -fan1disabledWhileEngineStopped = bits, U32, 1204, [2:2] -fan1brokenClt = bits, U32, 1204, [3:3] -fan1enabledForAc = bits, U32, 1204, [4:4] -fan1hot = bits, U32, 1204, [5:5] -fan1cold = bits, U32, 1204, [6:6] -fan1disabledBySpeed = bits, U32, 1204, [7:7] -fan1m_state = bits, U32, 1204, [8:8] -fan1radiatorFanStatus = scalar, U08, 1208, "", 1, 0 -; total TS size = 1212 -fan2cranking = bits, U32, 1212, [0:0] -fan2notRunning = bits, U32, 1212, [1:1] -fan2disabledWhileEngineStopped = bits, U32, 1212, [2:2] -fan2brokenClt = bits, U32, 1212, [3:3] -fan2enabledForAc = bits, U32, 1212, [4:4] -fan2hot = bits, U32, 1212, [5:5] -fan2cold = bits, U32, 1212, [6:6] -fan2disabledBySpeed = bits, U32, 1212, [7:7] -fan2m_state = bits, U32, 1212, [8:8] -fan2radiatorFanStatus = scalar, U08, 1216, "", 1, 0 -; total TS size = 1220 -isPrime = bits, U32, 1220, [0:0] -engineTurnedRecently = bits, U32, 1220, [1:1] -isFuelPumpOn = bits, U32, 1220, [2:2] -ignitionOn = bits, U32, 1220, [3:3] +isNitrousArmed = bits, U32, 1204, [0:0] +isNitrousSpeedCondition = bits, U32, 1204, [1:1] +isNitrousTpsCondition = bits, U32, 1204, [2:2] +isNitrousCltCondition = bits, U32, 1204, [3:3] +isNitrousMapCondition = bits, U32, 1204, [4:4] +isNitrousAfrCondition = bits, U32, 1204, [5:5] +isNitrousRpmCondition = bits, U32, 1204, [6:6] +isNitrousCondition = bits, U32, 1204, [7:7] +; total TS size = 1208 +fan1cranking = bits, U32, 1208, [0:0] +fan1notRunning = bits, U32, 1208, [1:1] +fan1disabledWhileEngineStopped = bits, U32, 1208, [2:2] +fan1brokenClt = bits, U32, 1208, [3:3] +fan1enabledForAc = bits, U32, 1208, [4:4] +fan1hot = bits, U32, 1208, [5:5] +fan1cold = bits, U32, 1208, [6:6] +fan1disabledBySpeed = bits, U32, 1208, [7:7] +fan1m_state = bits, U32, 1208, [8:8] +fan1radiatorFanStatus = scalar, U08, 1212, "", 1, 0 +; total TS size = 1216 +fan2cranking = bits, U32, 1216, [0:0] +fan2notRunning = bits, U32, 1216, [1:1] +fan2disabledWhileEngineStopped = bits, U32, 1216, [2:2] +fan2brokenClt = bits, U32, 1216, [3:3] +fan2enabledForAc = bits, U32, 1216, [4:4] +fan2hot = bits, U32, 1216, [5:5] +fan2cold = bits, U32, 1216, [6:6] +fan2disabledBySpeed = bits, U32, 1216, [7:7] +fan2m_state = bits, U32, 1216, [8:8] +fan2radiatorFanStatus = scalar, U08, 1220, "", 1, 0 ; total TS size = 1224 -isBenchTest = bits, U32, 1224, [0:0] -hasIgnitionVoltage = bits, U32, 1224, [1:1] -mainRelayState = bits, U32, 1224, [2:2] -delayedShutoffRequested = bits, U32, 1224, [3:3] +isPrime = bits, U32, 1224, [0:0] +engineTurnedRecently = bits, U32, 1224, [1:1] +isFuelPumpOn = bits, U32, 1224, [2:2] +ignitionOn = bits, U32, 1224, [3:3] ; total TS size = 1228 -lua_fuelAdd = scalar, F32, 1228, "g", 1, 0 -lua_fuelMult = scalar, F32, 1232, "", 1, 0 -lua_clutchUpState = bits, U32, 1236, [0:0] -lua_brakePedalState = bits, U32, 1236, [1:1] -lua_acRequestState = bits, U32, 1236, [2:2] -lua_luaDisableEtb = bits, U32, 1236, [3:3] -lua_luaIgnCut = bits, U32, 1236, [4:4] -lua_luaFuelCut = bits, U32, 1236, [5:5] -lua_clutchDownState = bits, U32, 1236, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1236, [7:7] -lua_torqueReductionState = bits, U32, 1236, [8:8] -sd_tCharge = scalar, S16, 1240, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1244, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1248, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1252, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1256, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1260, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1264, "", 1, 0 -hellenBoardId = scalar, S16, 1268, "id", 1, 0 -clutchUpState = scalar, S08, 1270, "", 1, 0 -brakePedalState = scalar, S08, 1271, "", 1, 0 -startStopState = scalar, S08, 1272, "", 1, 0 -smartChipState = scalar, S08, 1273, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1274, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1275, "", 1, 0 -startStopPhysicalState = bits, U32, 1276, [0:0] -acrActive = bits, U32, 1276, [1:1] -acrEngineMovedRecently = bits, U32, 1276, [2:2] -heaterControlEnabled = bits, U32, 1276, [3:3] -luaDigitalState0 = bits, U32, 1276, [4:4] -luaDigitalState1 = bits, U32, 1276, [5:5] -luaDigitalState2 = bits, U32, 1276, [6:6] -luaDigitalState3 = bits, U32, 1276, [7:7] -clutchDownState = bits, U32, 1276, [8:8] -startStopStateToggleCounter = scalar, U32, 1280, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1284, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1288, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1292, "", 1, 0 -fuelInjectionCounter = scalar, U32, 1296, "", 1, 0 -globalSparkCounter = scalar, U32, 1300, "", 1, 0 -fuelingLoad = scalar, F32, 1304, "", 1, 0 -ignitionLoad = scalar, F32, 1308, "", 1, 0 -veTableYAxis = scalar, U16, 1312, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1314, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1315, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1316, "", 1, 0 -; total TS size = 1320 -tpsFrom = scalar, F32, 1320 -tpsTo = scalar, F32, 1324 -deltaTps = scalar, F32, 1328 -extraFuel = scalar, F32, 1332, "", 1, 0 -valueFromTable = scalar, F32, 1336, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1340, [0:0] -isBelowDecelThreshold = bits, U32, 1340, [1:1] -isTimeToResetAccumulator = bits, U32, 1340, [2:2] -isFractionalEnrichment = bits, U32, 1340, [3:3] -belowEpsilon = bits, U32, 1340, [4:4] -tooShort = bits, U32, 1340, [5:5] -fractionalInjFuel = scalar, F32, 1344, "", 1, 0 -accumulatedValue = scalar, F32, 1348, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1352, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1356, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1360, "", 1, 0 -cycleCnt = scalar, S32, 1364, "", 1, 0 -; total TS size = 1368 -hwEventCounters1 = scalar, U16, 1368, "", 1, 0 -hwEventCounters2 = scalar, U16, 1370, "", 1, 0 -hwEventCounters3 = scalar, U16, 1372, "", 1, 0 -hwEventCounters4 = scalar, U16, 1374, "", 1, 0 -vvtCamCounter = scalar, U16, 1376, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1380, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1384, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1388, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1389, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1392, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1396, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1400, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1404, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1408, [0:0] -triggerElapsedUs = scalar, U32, 1412, "", 1, 0 -; total TS size = 1416 -trgsynchronizationCounter = scalar, U32, 1416, "", 1, 0 -trgvvtToothDurations0 = scalar, U32, 1420, "us", 1, 0 -trgvvtCurrentPosition = scalar, F32, 1424, "", 1, 0 -trgvvtToothPosition1 = scalar, F32, 1428, "", 1, 0 -trgvvtToothPosition2 = scalar, F32, 1432, "", 1, 0 -trgvvtToothPosition3 = scalar, F32, 1436, "", 1, 0 -trgvvtToothPosition4 = scalar, F32, 1440, "", 1, 0 -trgtriggerSyncGapRatio = scalar, F32, 1444, "", 1, 0 -trgtriggerStateIndex = scalar, U08, 1448, "", 1, 0 -; total TS size = 1452 -vvt1isynchronizationCounter = scalar, U32, 1452, "", 1, 0 -vvt1ivvtToothDurations0 = scalar, U32, 1456, "us", 1, 0 -vvt1ivvtCurrentPosition = scalar, F32, 1460, "", 1, 0 -vvt1ivvtToothPosition1 = scalar, F32, 1464, "", 1, 0 -vvt1ivvtToothPosition2 = scalar, F32, 1468, "", 1, 0 -vvt1ivvtToothPosition3 = scalar, F32, 1472, "", 1, 0 -vvt1ivvtToothPosition4 = scalar, F32, 1476, "", 1, 0 -vvt1itriggerSyncGapRatio = scalar, F32, 1480, "", 1, 0 -vvt1itriggerStateIndex = scalar, U08, 1484, "", 1, 0 -; total TS size = 1488 -vvt1esynchronizationCounter = scalar, U32, 1488, "", 1, 0 -vvt1evvtToothDurations0 = scalar, U32, 1492, "us", 1, 0 -vvt1evvtCurrentPosition = scalar, F32, 1496, "", 1, 0 -vvt1evvtToothPosition1 = scalar, F32, 1500, "", 1, 0 -vvt1evvtToothPosition2 = scalar, F32, 1504, "", 1, 0 -vvt1evvtToothPosition3 = scalar, F32, 1508, "", 1, 0 -vvt1evvtToothPosition4 = scalar, F32, 1512, "", 1, 0 -vvt1etriggerSyncGapRatio = scalar, F32, 1516, "", 1, 0 -vvt1etriggerStateIndex = scalar, U08, 1520, "", 1, 0 -; total TS size = 1524 -vvt2isynchronizationCounter = scalar, U32, 1524, "", 1, 0 -vvt2ivvtToothDurations0 = scalar, U32, 1528, "us", 1, 0 -vvt2ivvtCurrentPosition = scalar, F32, 1532, "", 1, 0 -vvt2ivvtToothPosition1 = scalar, F32, 1536, "", 1, 0 -vvt2ivvtToothPosition2 = scalar, F32, 1540, "", 1, 0 -vvt2ivvtToothPosition3 = scalar, F32, 1544, "", 1, 0 -vvt2ivvtToothPosition4 = scalar, F32, 1548, "", 1, 0 -vvt2itriggerSyncGapRatio = scalar, F32, 1552, "", 1, 0 -vvt2itriggerStateIndex = scalar, U08, 1556, "", 1, 0 -; total TS size = 1560 -vvt2esynchronizationCounter = scalar, U32, 1560, "", 1, 0 -vvt2evvtToothDurations0 = scalar, U32, 1564, "us", 1, 0 -vvt2evvtCurrentPosition = scalar, F32, 1568, "", 1, 0 -vvt2evvtToothPosition1 = scalar, F32, 1572, "", 1, 0 -vvt2evvtToothPosition2 = scalar, F32, 1576, "", 1, 0 -vvt2evvtToothPosition3 = scalar, F32, 1580, "", 1, 0 -vvt2evvtToothPosition4 = scalar, F32, 1584, "", 1, 0 -vvt2etriggerSyncGapRatio = scalar, F32, 1588, "", 1, 0 -vvt2etriggerStateIndex = scalar, U08, 1592, "", 1, 0 -; total TS size = 1596 -camResyncCounter = scalar, U08, 1596, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1600, [0:0] -; total TS size = 1604 -wallFuelCorrection = scalar, F32, 1604, "", 1, 0 -wallFuel = scalar, F32, 1608, "", 1, 0 -; total TS size = 1612 -idleState = bits, S32, 1612, [0:2], "not important" -currentIdlePosition = scalar, F32, 1616 -baseIdlePosition = scalar, F32, 1620 -idleClosedLoop = scalar, F32, 1624 -iacByTpsTaper = scalar, F32, 1628 -mightResetPid = bits, U32, 1632, [0:0] -shouldResetPid = bits, U32, 1632, [1:1] -wasResetPid = bits, U32, 1632, [2:2] -mustResetPid = bits, U32, 1632, [3:3] -isCranking = bits, U32, 1632, [4:4] -isIacTableForCoasting = bits, U32, 1632, [5:5] -notIdling = bits, U32, 1632, [6:6] -needReset = bits, U32, 1632, [7:7] -isInDeadZone = bits, U32, 1632, [8:8] -isBlipping = bits, U32, 1632, [9:9] -useClosedLoop = bits, U32, 1632, [10:10] -badTps = bits, U32, 1632, [11:11] -looksLikeRunning = bits, U32, 1632, [12:12] -looksLikeCoasting = bits, U32, 1632, [13:13] -looksLikeCrankToIdle = bits, U32, 1632, [14:14] -isIdleCoasting = bits, U32, 1632, [15:15] -isIdleClosedLoop = bits, U32, 1632, [16:16] -idleTarget = scalar, S32, 1636, "", 1, 0 -targetRpmByClt = scalar, S32, 1640, "", 1, 0 -targetRpmAc = scalar, S32, 1644, "", 1, 0 -iacByRpmTaper = scalar, F32, 1648 -luaAdd = scalar, F32, 1652 -; total TS size = 1656 -etb1targetWithIdlePosition = scalar, F32, 1656, "%", 1,0 -etb1trim = scalar, F32, 1660, "", 1, 0 -etb1luaAdjustment = scalar, F32, 1664, "%", 1,0 -etb1m_wastegatePosition = scalar, F32, 1668, "%", 1,0 -etb1etbFeedForward = scalar, F32, 1672 -etb1etbIntegralError = scalar, F32, 1676, "", 1, 0 -etb1etbCurrentTarget = scalar, F32, 1680, "%", 1, 0 -etb1m_adjustedTarget = scalar, S16, 1684, "%", 0.01, 0 -etb1etbRevLimitActive = bits, U32, 1688, [0:0] -etb1jamDetected = bits, U32, 1688, [1:1] -etb1validPlantPosition = bits, U32, 1688, [2:2] -etb1etbTpsErrorCounter = scalar, U16, 1692, "count", 1,0 -etb1etbPpsErrorCounter = scalar, U16, 1694, "count", 1,0 -etb1etbErrorCode = scalar, S08, 1696, "", 1, 0 -etb1etbErrorCodeBlinker = scalar, S08, 1697, "", 1, 0 -etb1tcEtbDrop = scalar, S08, 1698, "%", 1, 0 -etb1jamTimer = scalar, U16, 1700, "sec", 0.01, 0 -etb1adjustedEtbTarget = scalar, S08, 1702, "%", 1, 0 -etb1state = scalar, U08, 1703, "", 1, 0 -; total TS size = 1704 -etb2targetWithIdlePosition = scalar, F32, 1704, "%", 1,0 -etb2trim = scalar, F32, 1708, "", 1, 0 -etb2luaAdjustment = scalar, F32, 1712, "%", 1,0 -etb2m_wastegatePosition = scalar, F32, 1716, "%", 1,0 -etb2etbFeedForward = scalar, F32, 1720 -etb2etbIntegralError = scalar, F32, 1724, "", 1, 0 -etb2etbCurrentTarget = scalar, F32, 1728, "%", 1, 0 -etb2m_adjustedTarget = scalar, S16, 1732, "%", 0.01, 0 -etb2etbRevLimitActive = bits, U32, 1736, [0:0] -etb2jamDetected = bits, U32, 1736, [1:1] -etb2validPlantPosition = bits, U32, 1736, [2:2] -etb2etbTpsErrorCounter = scalar, U16, 1740, "count", 1,0 -etb2etbPpsErrorCounter = scalar, U16, 1742, "count", 1,0 -etb2etbErrorCode = scalar, S08, 1744, "", 1, 0 -etb2etbErrorCodeBlinker = scalar, S08, 1745, "", 1, 0 -etb2tcEtbDrop = scalar, S08, 1746, "%", 1, 0 -etb2jamTimer = scalar, U16, 1748, "sec", 0.01, 0 -etb2adjustedEtbTarget = scalar, S08, 1750, "%", 1, 0 -etb2state = scalar, U08, 1751, "", 1, 0 -; total TS size = 1752 -wb1faultCode = scalar, U08, 1752, "", 1, 0 -wb1heaterDuty = scalar, U08, 1753, "%", 1, 0 -wb1pumpDuty = scalar, U08, 1754, "%", 1, 0 -wb1tempC = scalar, U16, 1756, "C", 1, 0 -wb1nernstVoltage = scalar, U16, 1758, "V", 0.001, 0 -wb1esr = scalar, U16, 1760, "ohm", 1, 0 -; total TS size = 1764 -wb2faultCode = scalar, U08, 1764, "", 1, 0 -wb2heaterDuty = scalar, U08, 1765, "%", 1, 0 -wb2pumpDuty = scalar, U08, 1766, "%", 1, 0 -wb2tempC = scalar, U16, 1768, "C", 1, 0 -wb2nernstVoltage = scalar, U16, 1770, "V", 0.001, 0 -wb2esr = scalar, U16, 1772, "ohm", 1, 0 -; total TS size = 1776 -dcOutput0 = scalar, F32, 1776, "%", 1,0 -isEnabled0_int = scalar, U08, 1780, "%", 1,0 -isEnabled0 = bits, U32, 1784, [0:0] -; total TS size = 1788 -value0 = scalar, U16, 1788, "RAW", 1,0 -value1 = scalar, U16, 1790, "RAW", 1,0 -errorRate = scalar, F32, 1792, "% (don't belive me)", 1,0 -; total TS size = 1796 -vvtTarget = scalar, U16, 1796, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1798, "%", 0.5, 0 +isBenchTest = bits, U32, 1228, [0:0] +hasIgnitionVoltage = bits, U32, 1228, [1:1] +mainRelayState = bits, U32, 1228, [2:2] +delayedShutoffRequested = bits, U32, 1228, [3:3] +; total TS size = 1232 +lua_fuelAdd = scalar, F32, 1232, "g", 1, 0 +lua_fuelMult = scalar, F32, 1236, "", 1, 0 +lua_clutchUpState = bits, U32, 1240, [0:0] +lua_brakePedalState = bits, U32, 1240, [1:1] +lua_acRequestState = bits, U32, 1240, [2:2] +lua_luaDisableEtb = bits, U32, 1240, [3:3] +lua_luaIgnCut = bits, U32, 1240, [4:4] +lua_luaFuelCut = bits, U32, 1240, [5:5] +lua_clutchDownState = bits, U32, 1240, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1240, [7:7] +lua_torqueReductionState = bits, U32, 1240, [8:8] +sd_tCharge = scalar, S16, 1244, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1248, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1252, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1256, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1260, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1264, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1268, "", 1, 0 +hellenBoardId = scalar, S16, 1272, "id", 1, 0 +clutchUpState = scalar, S08, 1274, "", 1, 0 +brakePedalState = scalar, S08, 1275, "", 1, 0 +startStopState = scalar, S08, 1276, "", 1, 0 +smartChipState = scalar, S08, 1277, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1278, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1279, "", 1, 0 +startStopPhysicalState = bits, U32, 1280, [0:0] +acrActive = bits, U32, 1280, [1:1] +acrEngineMovedRecently = bits, U32, 1280, [2:2] +heaterControlEnabled = bits, U32, 1280, [3:3] +luaDigitalState0 = bits, U32, 1280, [4:4] +luaDigitalState1 = bits, U32, 1280, [5:5] +luaDigitalState2 = bits, U32, 1280, [6:6] +luaDigitalState3 = bits, U32, 1280, [7:7] +clutchDownState = bits, U32, 1280, [8:8] +startStopStateToggleCounter = scalar, U32, 1284, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1288, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1292, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1296, "", 1, 0 +fuelInjectionCounter = scalar, U32, 1300, "", 1, 0 +globalSparkCounter = scalar, U32, 1304, "", 1, 0 +fuelingLoad = scalar, F32, 1308, "", 1, 0 +ignitionLoad = scalar, F32, 1312, "", 1, 0 +veTableYAxis = scalar, U16, 1316, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1318, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1319, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1320, "", 1, 0 +; total TS size = 1324 +tpsFrom = scalar, F32, 1324 +tpsTo = scalar, F32, 1328 +deltaTps = scalar, F32, 1332 +extraFuel = scalar, F32, 1336, "", 1, 0 +valueFromTable = scalar, F32, 1340, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1344, [0:0] +isBelowDecelThreshold = bits, U32, 1344, [1:1] +isTimeToResetAccumulator = bits, U32, 1344, [2:2] +isFractionalEnrichment = bits, U32, 1344, [3:3] +belowEpsilon = bits, U32, 1344, [4:4] +tooShort = bits, U32, 1344, [5:5] +fractionalInjFuel = scalar, F32, 1348, "", 1, 0 +accumulatedValue = scalar, F32, 1352, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1356, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1360, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1364, "", 1, 0 +cycleCnt = scalar, S32, 1368, "", 1, 0 +; total TS size = 1372 +hwEventCounters1 = scalar, U16, 1372, "", 1, 0 +hwEventCounters2 = scalar, U16, 1374, "", 1, 0 +hwEventCounters3 = scalar, U16, 1376, "", 1, 0 +hwEventCounters4 = scalar, U16, 1378, "", 1, 0 +vvtCamCounter = scalar, U16, 1380, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1384, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1388, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1392, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1393, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1396, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1400, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1404, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1408, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1412, [0:0] +triggerElapsedUs = scalar, U32, 1416, "", 1, 0 +; total TS size = 1420 +trgsynchronizationCounter = scalar, U32, 1420, "", 1, 0 +trgvvtToothDurations0 = scalar, U32, 1424, "us", 1, 0 +trgvvtCurrentPosition = scalar, F32, 1428, "", 1, 0 +trgvvtToothPosition1 = scalar, F32, 1432, "", 1, 0 +trgvvtToothPosition2 = scalar, F32, 1436, "", 1, 0 +trgvvtToothPosition3 = scalar, F32, 1440, "", 1, 0 +trgvvtToothPosition4 = scalar, F32, 1444, "", 1, 0 +trgtriggerSyncGapRatio = scalar, F32, 1448, "", 1, 0 +trgtriggerStateIndex = scalar, U08, 1452, "", 1, 0 +; total TS size = 1456 +vvt1isynchronizationCounter = scalar, U32, 1456, "", 1, 0 +vvt1ivvtToothDurations0 = scalar, U32, 1460, "us", 1, 0 +vvt1ivvtCurrentPosition = scalar, F32, 1464, "", 1, 0 +vvt1ivvtToothPosition1 = scalar, F32, 1468, "", 1, 0 +vvt1ivvtToothPosition2 = scalar, F32, 1472, "", 1, 0 +vvt1ivvtToothPosition3 = scalar, F32, 1476, "", 1, 0 +vvt1ivvtToothPosition4 = scalar, F32, 1480, "", 1, 0 +vvt1itriggerSyncGapRatio = scalar, F32, 1484, "", 1, 0 +vvt1itriggerStateIndex = scalar, U08, 1488, "", 1, 0 +; total TS size = 1492 +vvt1esynchronizationCounter = scalar, U32, 1492, "", 1, 0 +vvt1evvtToothDurations0 = scalar, U32, 1496, "us", 1, 0 +vvt1evvtCurrentPosition = scalar, F32, 1500, "", 1, 0 +vvt1evvtToothPosition1 = scalar, F32, 1504, "", 1, 0 +vvt1evvtToothPosition2 = scalar, F32, 1508, "", 1, 0 +vvt1evvtToothPosition3 = scalar, F32, 1512, "", 1, 0 +vvt1evvtToothPosition4 = scalar, F32, 1516, "", 1, 0 +vvt1etriggerSyncGapRatio = scalar, F32, 1520, "", 1, 0 +vvt1etriggerStateIndex = scalar, U08, 1524, "", 1, 0 +; total TS size = 1528 +vvt2isynchronizationCounter = scalar, U32, 1528, "", 1, 0 +vvt2ivvtToothDurations0 = scalar, U32, 1532, "us", 1, 0 +vvt2ivvtCurrentPosition = scalar, F32, 1536, "", 1, 0 +vvt2ivvtToothPosition1 = scalar, F32, 1540, "", 1, 0 +vvt2ivvtToothPosition2 = scalar, F32, 1544, "", 1, 0 +vvt2ivvtToothPosition3 = scalar, F32, 1548, "", 1, 0 +vvt2ivvtToothPosition4 = scalar, F32, 1552, "", 1, 0 +vvt2itriggerSyncGapRatio = scalar, F32, 1556, "", 1, 0 +vvt2itriggerStateIndex = scalar, U08, 1560, "", 1, 0 +; total TS size = 1564 +vvt2esynchronizationCounter = scalar, U32, 1564, "", 1, 0 +vvt2evvtToothDurations0 = scalar, U32, 1568, "us", 1, 0 +vvt2evvtCurrentPosition = scalar, F32, 1572, "", 1, 0 +vvt2evvtToothPosition1 = scalar, F32, 1576, "", 1, 0 +vvt2evvtToothPosition2 = scalar, F32, 1580, "", 1, 0 +vvt2evvtToothPosition3 = scalar, F32, 1584, "", 1, 0 +vvt2evvtToothPosition4 = scalar, F32, 1588, "", 1, 0 +vvt2etriggerSyncGapRatio = scalar, F32, 1592, "", 1, 0 +vvt2etriggerStateIndex = scalar, U08, 1596, "", 1, 0 +; total TS size = 1600 +camResyncCounter = scalar, U08, 1600, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1604, [0:0] +; total TS size = 1608 +wallFuelCorrection = scalar, F32, 1608, "", 1, 0 +wallFuel = scalar, F32, 1612, "", 1, 0 +; total TS size = 1616 +idleState = bits, S32, 1616, [0:2], "not important" +currentIdlePosition = scalar, F32, 1620 +baseIdlePosition = scalar, F32, 1624 +idleClosedLoop = scalar, F32, 1628 +iacByTpsTaper = scalar, F32, 1632 +mightResetPid = bits, U32, 1636, [0:0] +shouldResetPid = bits, U32, 1636, [1:1] +wasResetPid = bits, U32, 1636, [2:2] +mustResetPid = bits, U32, 1636, [3:3] +isCranking = bits, U32, 1636, [4:4] +isIacTableForCoasting = bits, U32, 1636, [5:5] +notIdling = bits, U32, 1636, [6:6] +needReset = bits, U32, 1636, [7:7] +isInDeadZone = bits, U32, 1636, [8:8] +isBlipping = bits, U32, 1636, [9:9] +useClosedLoop = bits, U32, 1636, [10:10] +badTps = bits, U32, 1636, [11:11] +looksLikeRunning = bits, U32, 1636, [12:12] +looksLikeCoasting = bits, U32, 1636, [13:13] +looksLikeCrankToIdle = bits, U32, 1636, [14:14] +isIdleCoasting = bits, U32, 1636, [15:15] +isIdleClosedLoop = bits, U32, 1636, [16:16] +idleTarget = scalar, S32, 1640, "", 1, 0 +targetRpmByClt = scalar, S32, 1644, "", 1, 0 +targetRpmAc = scalar, S32, 1648, "", 1, 0 +iacByRpmTaper = scalar, F32, 1652 +luaAdd = scalar, F32, 1656 +; total TS size = 1660 +etb1targetWithIdlePosition = scalar, F32, 1660, "%", 1,0 +etb1trim = scalar, F32, 1664, "", 1, 0 +etb1luaAdjustment = scalar, F32, 1668, "%", 1,0 +etb1m_wastegatePosition = scalar, F32, 1672, "%", 1,0 +etb1etbFeedForward = scalar, F32, 1676 +etb1etbIntegralError = scalar, F32, 1680, "", 1, 0 +etb1etbCurrentTarget = scalar, F32, 1684, "%", 1, 0 +etb1m_adjustedTarget = scalar, S16, 1688, "%", 0.01, 0 +etb1etbRevLimitActive = bits, U32, 1692, [0:0] +etb1jamDetected = bits, U32, 1692, [1:1] +etb1validPlantPosition = bits, U32, 1692, [2:2] +etb1etbTpsErrorCounter = scalar, U16, 1696, "count", 1,0 +etb1etbPpsErrorCounter = scalar, U16, 1698, "count", 1,0 +etb1etbErrorCode = scalar, S08, 1700, "", 1, 0 +etb1etbErrorCodeBlinker = scalar, S08, 1701, "", 1, 0 +etb1tcEtbDrop = scalar, S08, 1702, "%", 1, 0 +etb1jamTimer = scalar, U16, 1704, "sec", 0.01, 0 +etb1adjustedEtbTarget = scalar, S08, 1706, "%", 1, 0 +etb1state = scalar, U08, 1707, "", 1, 0 +; total TS size = 1708 +etb2targetWithIdlePosition = scalar, F32, 1708, "%", 1,0 +etb2trim = scalar, F32, 1712, "", 1, 0 +etb2luaAdjustment = scalar, F32, 1716, "%", 1,0 +etb2m_wastegatePosition = scalar, F32, 1720, "%", 1,0 +etb2etbFeedForward = scalar, F32, 1724 +etb2etbIntegralError = scalar, F32, 1728, "", 1, 0 +etb2etbCurrentTarget = scalar, F32, 1732, "%", 1, 0 +etb2m_adjustedTarget = scalar, S16, 1736, "%", 0.01, 0 +etb2etbRevLimitActive = bits, U32, 1740, [0:0] +etb2jamDetected = bits, U32, 1740, [1:1] +etb2validPlantPosition = bits, U32, 1740, [2:2] +etb2etbTpsErrorCounter = scalar, U16, 1744, "count", 1,0 +etb2etbPpsErrorCounter = scalar, U16, 1746, "count", 1,0 +etb2etbErrorCode = scalar, S08, 1748, "", 1, 0 +etb2etbErrorCodeBlinker = scalar, S08, 1749, "", 1, 0 +etb2tcEtbDrop = scalar, S08, 1750, "%", 1, 0 +etb2jamTimer = scalar, U16, 1752, "sec", 0.01, 0 +etb2adjustedEtbTarget = scalar, S08, 1754, "%", 1, 0 +etb2state = scalar, U08, 1755, "", 1, 0 +; total TS size = 1756 +wb1faultCode = scalar, U08, 1756, "", 1, 0 +wb1heaterDuty = scalar, U08, 1757, "%", 1, 0 +wb1pumpDuty = scalar, U08, 1758, "%", 1, 0 +wb1tempC = scalar, U16, 1760, "C", 1, 0 +wb1nernstVoltage = scalar, U16, 1762, "V", 0.001, 0 +wb1esr = scalar, U16, 1764, "ohm", 1, 0 +; total TS size = 1768 +wb2faultCode = scalar, U08, 1768, "", 1, 0 +wb2heaterDuty = scalar, U08, 1769, "%", 1, 0 +wb2pumpDuty = scalar, U08, 1770, "%", 1, 0 +wb2tempC = scalar, U16, 1772, "C", 1, 0 +wb2nernstVoltage = scalar, U16, 1774, "V", 0.001, 0 +wb2esr = scalar, U16, 1776, "ohm", 1, 0 +; total TS size = 1780 +dcOutput0 = scalar, F32, 1780, "%", 1,0 +isEnabled0_int = scalar, U08, 1784, "%", 1,0 +isEnabled0 = bits, U32, 1788, [0:0] +; total TS size = 1792 +value0 = scalar, U16, 1792, "RAW", 1,0 +value1 = scalar, U16, 1794, "RAW", 1,0 +errorRate = scalar, F32, 1796, "% (don't belive me)", 1,0 ; total TS size = 1800 -lambdaCurrentlyGood = bits, U32, 1800, [0:0] -lambdaMonitorCut = bits, U32, 1800, [1:1] -lambdaTimeSinceGood = scalar, U16, 1804, "sec", 0.01, 0 -; total TS size = 1808 +vvtTarget = scalar, U16, 1800, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1802, "%", 0.5, 0 +; total TS size = 1804 +lambdaCurrentlyGood = bits, U32, 1804, [0:0] +lambdaMonitorCut = bits, U32, 1804, [1:1] +lambdaTimeSinceGood = scalar, U16, 1808, "sec", 0.01, 0 +; total TS size = 1812 time = { timeNow } @@ -4584,6 +4587,12 @@ curve = rangeMatrix, "Range Switch Input Matrix" gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. upDownLabel = "(RICHER)", "(LEANER)" + table = trailingSparkTable, trailingSparkMap, "Trailing spark", 1 + xyLabels = "RPM", "Ignition Load" + xBins = trailingSparkRpmBins, RPMValue + yBins = trailingSparkLoadBins, ignitionLoad + zBins = trailingSparkTable + table = torqueTableTbl, torqueTableMap, "Engine Torque", 1 xBins = torqueRpmBins, RPMValue yBins = torqueLoadBins, veTableYAxis @@ -4881,6 +4890,7 @@ timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20 timingPidCorrectionGauge = timingPidCorrection,"Idle: Timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 +trailingSparkAngleGauge = trailingSparkAngle,"Ign: Trailing spark deg", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 gaugeCategory = "Boost Control" luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 @@ -5811,6 +5821,7 @@ entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" entry = luaIgnitionSkip, "Ign: Lua Spark Skip", int, "%d" +entry = trailingSparkAngle, "Ign: Trailing spark deg", float, "%.3f" entry = m_knockLevel, "Knock: Current level", float, "%.3f" entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" @@ -6760,6 +6771,7 @@ dialog = ignition_stateDialog, "ignition_state" graphLine = luaTimingAdd liveGraph = ignition_state_4_Graph, "Graph", South graphLine = luaTimingMult + graphLine = trailingSparkAngle dialog = knock_controllerDialog, "knock_controller" @@ -10069,11 +10081,11 @@ dialog = tcuControls, "Transmission Settings" dialog = rotaryDialog, "Rotary" field = "Enable Trailing Sparks", enableTrailingSparks - field = "Trailing Spark Offset", trailingSparkAngle field = "Trailing Pin 1", trailingCoilPins1 field = "Trailing Pin 2", trailingCoilPins2 field = "Trailing Pin 3", trailingCoilPins3 field = "Trailing Pin 4", trailingCoilPins4 + panel = trailingSparkTable diff --git a/firmware/tunerstudio/generated/rusefi_hellenNA6.ini b/firmware/tunerstudio/generated/rusefi_hellenNA6.ini index e81e261d23..6077864ccf 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.2025.02.07.hellenNA6.3324053110" + signature = "rusEFI master.2025.02.07.hellenNA6.1101170971" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2025.02.07.hellenNA6.3324053110" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2025.02.07.hellenNA6.1101170971" ; 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 @@ -101,7 +101,7 @@ enable2ndByteCanID = false ; CONFIG_DEFINITION_START ; this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt -pageSize = 23280 +pageSize = 23304 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",22="BMW_M52",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",21="ET_BOSCH_QUICK_START",24="ET_TEST_WITH_BOSCH_QUICK_START",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",41="FRANKENSO_MIATA_NA6_MAP",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",47="GM_LCV",55="GM_LTG",98="GM_SBC",49="GM_SBC_GEN5",8="GY6_139QMB",6="HARLEY",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",34="MAZDA_MIATA_NA6",80="MAZDA_MIATA_NA94",10="MAZDA_MIATA_NA96",83="MAZDA_MIATA_NB1",69="MAZDA_MIATA_NB2",86="MAZDA_MIATA_NB2_36",20="MAZDA_MIATA_NC",33="ME17_9_MISC",68="MERCEDES_M111",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",4="MRE_SECONDARY_CAN",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",35="POLARIS",9="POLARIS_RZR",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",27="PROTEUS_GM_LS_4",25="PROTEUS_LUA_DEMO",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",17="TCU_4R70W",100="TEST_100",101="TEST_101",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",93="TEST_ISSUE_6451",19="TEST_ROTARY",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",102="UNUSED102",67="UNUSED67",94="UNUSED94",65="UNUSED_65",97="UNUSED_97",77="VAG_5_CYL",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -245,7 +245,7 @@ vbattAdcChannel = bits, U08, 513, [0:5], $adc_channel_e_list fuelLevelSensor = bits, U08, 514, [0:5], $adc_channel_e_list tps2_1AdcChannel = bits, U08, 515, [0:5], $adc_channel_e_list idle_derivativeFilterLoss = scalar, F32, 516, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 520, "angle", 1, 0, 0, 720, 0 +unusedTrailingSparkAngle = scalar, S32, 520, "", 1, 0, 0, 100, 0 trigger_type = bits, U32, 524, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Daihatsu 3 cylinder", "Mazda SOHC 4", "60-2", "36-1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "Dodge Ram 1+16", "60-2 Wrong Polarity", "Benelli Tre", "Dodge Stratus", "36_2_2_2", "Nissan Primera", "dev 2JZ 3/34 simulator", "Rover K", "GM 24x 5 degree", "Honda CBR 600 Cam", "INVALID", "Honda CBR 600 custom", "3-1 skipped", "Dodge Neon 2003 crank", "Miata NB", "INVALID", "INVALID", "Subaru 7+6", "Jeep 18-2-2-2", "12crank/24cam", "Dodge Neon 1995 crank only", "Jeep XJ 4 cyl", "FiatIAQ_P8", "Mazda Z5", "INVALID", "Renix 44-2-2", "Renix 66-2-2-2", "Honda K 12+1", "INVALID", "36-2", "Subaru SVX", "Suzuki K6A", "Subaru 7 without 6", "INVALID", "INVALID", "GM 60-2-2-2", "Skoda Favorit", "Barra 3+1 Cam", "Kawa KX450F", "Nissan VQ35", "INVALID", "Nissan VQ30", "Nissan QR25", "INVALID", "Subaru SVX Crank 1", "Subaru SVX Cam VVT", "Ford PIP", "Suzuki G13B", "Honda K 4+1", "Nissan MR18 Crank", "32-2", "36-2-1", "36-2-1-1", "3-0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6-0", "Daihatsu 4 cylinder", "INVALID", "dev", "Nissan HR", "Arctic Cat", "HR12 in", "HONDA J30A2", "trg88", "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" trigger_customTotalToothCount = scalar, S32, 528, "number", 1, 0, 1, 300, 0 trigger_customSkippedToothCount = scalar, S32, 532, "number", 1, 0, 0, 300, 0 @@ -1796,7 +1796,10 @@ dynoCarCarMassKg = scalar, S16, 23268, "", 1, 0, 0, 32000, 0 dynoCarCargoMassKg = scalar, S16, 23270, "", 1, 0, 0, 32000, 0 dynoCarCoeffOfDrag = scalar, F32, 23272, "", 1, 0, 0, 100, 0 dynoCarFrontalAreaM2 = scalar, F32, 23276, "", 1, 0, 0, 100, 0 -; total TS size = 23280 +trailingSparkTable = array, S08, 23280, [4x4], "deg", 0.1, 0, 0, 20, 1 +trailingSparkRpmBins = array, U08, 23296, [4], "rpm", 50.0, 0, 0, 12000, 0 +trailingSparkLoadBins = array, U08, 23300, [4], "Load", 5.0, 0, 0, 1000, 0 +; total TS size = 23304 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1890,7 +1893,6 @@ dynoCarFrontalAreaM2 = scalar, F32, 23276, "", 1, 0, 0, 100, 0 fuelLevelSensor = "This is the processor pin that your fuel level sensor in connected to. This is a non standard input so will need to be user defined." tps2_1AdcChannel = "Second throttle body position sensor, single channel so far" idle_derivativeFilterLoss = "0.1 is a good default value" - trailingSparkAngle = "just a temporary solution" trigger_type = "https://github.com/rusefi/rusefi/wiki/All-Supported-Triggers" airByRpmTaper = "Extra air taper amount" boostControlSafeDutyCycle = "Duty cycle to use in case of a sensor failure. This duty cycle should produce the minimum possible amount of boost. This duty is also used in case any of the minimum RPM/TPS/MAP conditions are not met." @@ -2664,7 +2666,7 @@ dynoCarFrontalAreaM2 = scalar, F32, 23276, "", 1, 0, 0, 100, 0 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1808 + ochBlockSize = 1812 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3189,417 +3191,418 @@ dwellVoltageCorrection = scalar, F32, 940, "", 1, 0 luaTimingAdd = scalar, F32, 944, "deg", 1, 0 luaTimingMult = scalar, F32, 948, "deg", 1, 0 luaIgnitionSkip = bits, U32, 952, [0:0] -; total TS size = 956 -m_knockLevel = scalar, F32, 956, "Volts", 1, 0 -m_knockCyl1 = scalar, S08, 960, "dBv", 1, 0 -m_knockCyl2 = scalar, S08, 961, "dBv", 1, 0 -m_knockCyl3 = scalar, S08, 962, "dBv", 1, 0 -m_knockCyl4 = scalar, S08, 963, "dBv", 1, 0 -m_knockCyl5 = scalar, S08, 964, "dBv", 1, 0 -m_knockCyl6 = scalar, S08, 965, "dBv", 1, 0 -m_knockCyl7 = scalar, S08, 966, "dBv", 1, 0 -m_knockCyl8 = scalar, S08, 967, "dBv", 1, 0 -m_knockCyl9 = scalar, S08, 968, "dBv", 1, 0 -m_knockCyl10 = scalar, S08, 969, "dBv", 1, 0 -m_knockCyl11 = scalar, S08, 970, "dBv", 1, 0 -m_knockCyl12 = scalar, S08, 971, "dBv", 1, 0 -m_knockRetard = scalar, F32, 972, "deg", 1,0 -m_knockThreshold = scalar, F32, 976, "", 1, 0 -m_knockCount = scalar, U32, 980, "", 1, 0 -m_maximumRetard = scalar, F32, 984, "", 1, 0 -m_knockSpectrum1 = scalar, U32, 988, "compressed data", 1, 0 -m_knockSpectrum2 = scalar, U32, 992, "compressed data", 1, 0 -m_knockSpectrum3 = scalar, U32, 996, "compressed data", 1, 0 -m_knockSpectrum4 = scalar, U32, 1000, "compressed data", 1, 0 -m_knockSpectrum5 = scalar, U32, 1004, "compressed data", 1, 0 -m_knockSpectrum6 = scalar, U32, 1008, "compressed data", 1, 0 -m_knockSpectrum7 = scalar, U32, 1012, "compressed data", 1, 0 -m_knockSpectrum8 = scalar, U32, 1016, "compressed data", 1, 0 -m_knockSpectrum9 = scalar, U32, 1020, "compressed data", 1, 0 -m_knockSpectrum10 = scalar, U32, 1024, "compressed data", 1, 0 -m_knockSpectrum11 = scalar, U32, 1028, "compressed data", 1, 0 -m_knockSpectrum12 = scalar, U32, 1032, "compressed data", 1, 0 -m_knockSpectrum13 = scalar, U32, 1036, "compressed data", 1, 0 -m_knockSpectrum14 = scalar, U32, 1040, "compressed data", 1, 0 -m_knockSpectrum15 = scalar, U32, 1044, "compressed data", 1, 0 -m_knockSpectrum16 = scalar, U32, 1048, "compressed data", 1, 0 -m_knockSpectrumChannelCyl = scalar, U16, 1052, "compressed N + N", 1, 0 -m_knockFrequencyStart = scalar, U16, 1054, "Hz", 1, 0 -m_knockFrequencyStep = scalar, F32, 1056, "Hz", 1, 0 -m_knockFuelTrimMultiplier = scalar, F32, 1060, "multiplier", 1, 0 -; total TS size = 1064 -m_isPriming = bits, U32, 1064, [0:0] +trailingSparkAngle = scalar, S16, 956, "deg", 0.01,0 +; total TS size = 960 +m_knockLevel = scalar, F32, 960, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 964, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 965, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 966, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 967, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 968, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 969, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 970, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 971, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 972, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 973, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 974, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 975, "dBv", 1, 0 +m_knockRetard = scalar, F32, 976, "deg", 1,0 +m_knockThreshold = scalar, F32, 980, "", 1, 0 +m_knockCount = scalar, U32, 984, "", 1, 0 +m_maximumRetard = scalar, F32, 988, "", 1, 0 +m_knockSpectrum1 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1040, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1044, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1048, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1052, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1056, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1058, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1060, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1064, "multiplier", 1, 0 ; total TS size = 1068 -tcuCurrentGear = scalar, S08, 1068, "gear", 1, 0 -tcRatio = scalar, U16, 1070, "value", 0.01, 0 -lastShiftTime = scalar, F32, 1072, "", 1, 0 -tcu_currentRange = scalar, U08, 1076, "", 1, 0 -pressureControlDuty = scalar, S08, 1077, "%", 1,0 -torqueConverterDuty = scalar, S08, 1078, "%", 1,0 -isShifting = bits, U32, 1080, [0:0] -; total TS size = 1084 -throttleUseWotModel = bits, U32, 1084, [0:0] -throttleModelCrossoverAngle = scalar, S16, 1088, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1092, "g/s", 1, 0 -; total TS size = 1096 -m_requested_pump = scalar, F32, 1096, "", 1, 0 -fuel_requested_percent = scalar, F32, 1100, "%", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1104, "", 1, 0 -noValve = bits, U32, 1108, [0:0] -angleAboveMin = bits, U32, 1108, [1:1] -isHpfpActive = bits, U32, 1108, [2:2] -HpfpValveState = bits, U32, 1108, [3:3] -m_pressureTarget_kPa = scalar, F32, 1112, "", 1, 0 -nextLobe = scalar, F32, 1116, "", 1, 0 -di_nextStart = scalar, F32, 1120, "v", 1, 0 -HpfdActivationPhase = scalar, F32, 1124, "", 1, 0 -HpfdDeactivationPhase = scalar, F32, 1128, "", 1, 0 -; total TS size = 1132 -m_deadtime = scalar, F32, 1132, "ms", 1, 0 -pressureDelta = scalar, F32, 1136, "kPa", 1, 0 -pressureRatio = scalar, F32, 1140, "", 1, 0 -; total TS size = 1144 -retardThresholdRpm = scalar, S32, 1144, "", 1, 0 -launchActivatePinState = bits, U32, 1148, [0:0] -isPreLaunchCondition = bits, U32, 1148, [1:1] -isLaunchCondition = bits, U32, 1148, [2:2] -isSwitchActivated = bits, U32, 1148, [3:3] -isClutchActivated = bits, U32, 1148, [4:4] -isBrakePedalActivated = bits, U32, 1148, [5:5] -isValidInputPin = bits, U32, 1148, [6:6] -activateSwitchCondition = bits, U32, 1148, [7:7] -rpmLaunchCondition = bits, U32, 1148, [8:8] -rpmPreLaunchCondition = bits, U32, 1148, [9:9] -speedCondition = bits, U32, 1148, [10:10] -tpsCondition = bits, U32, 1148, [11:11] -; total TS size = 1152 -isTorqueReductionTriggerPinValid = bits, U32, 1152, [0:0] -torqueReductionTriggerPinState = bits, U32, 1152, [1:1] -isTimeConditionSatisfied = bits, U32, 1152, [2:2] -isRpmConditionSatisfied = bits, U32, 1152, [3:3] -isAppConditionSatisfied = bits, U32, 1152, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1152, [5:5] +m_isPriming = bits, U32, 1068, [0:0] +; total TS size = 1072 +tcuCurrentGear = scalar, S08, 1072, "gear", 1, 0 +tcRatio = scalar, U16, 1074, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1076, "", 1, 0 +tcu_currentRange = scalar, U08, 1080, "", 1, 0 +pressureControlDuty = scalar, S08, 1081, "%", 1,0 +torqueConverterDuty = scalar, S08, 1082, "%", 1,0 +isShifting = bits, U32, 1084, [0:0] +; total TS size = 1088 +throttleUseWotModel = bits, U32, 1088, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1092, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1096, "g/s", 1, 0 +; total TS size = 1100 +m_requested_pump = scalar, F32, 1100, "", 1, 0 +fuel_requested_percent = scalar, F32, 1104, "%", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1108, "", 1, 0 +noValve = bits, U32, 1112, [0:0] +angleAboveMin = bits, U32, 1112, [1:1] +isHpfpActive = bits, U32, 1112, [2:2] +HpfpValveState = bits, U32, 1112, [3:3] +m_pressureTarget_kPa = scalar, F32, 1116, "", 1, 0 +nextLobe = scalar, F32, 1120, "", 1, 0 +di_nextStart = scalar, F32, 1124, "v", 1, 0 +HpfdActivationPhase = scalar, F32, 1128, "", 1, 0 +HpfdDeactivationPhase = scalar, F32, 1132, "", 1, 0 +; total TS size = 1136 +m_deadtime = scalar, F32, 1136, "ms", 1, 0 +pressureDelta = scalar, F32, 1140, "kPa", 1, 0 +pressureRatio = scalar, F32, 1144, "", 1, 0 +; total TS size = 1148 +retardThresholdRpm = scalar, S32, 1148, "", 1, 0 +launchActivatePinState = bits, U32, 1152, [0:0] +isPreLaunchCondition = bits, U32, 1152, [1:1] +isLaunchCondition = bits, U32, 1152, [2:2] +isSwitchActivated = bits, U32, 1152, [3:3] +isClutchActivated = bits, U32, 1152, [4:4] +isBrakePedalActivated = bits, U32, 1152, [5:5] +isValidInputPin = bits, U32, 1152, [6:6] +activateSwitchCondition = bits, U32, 1152, [7:7] +rpmLaunchCondition = bits, U32, 1152, [8:8] +rpmPreLaunchCondition = bits, U32, 1152, [9:9] +speedCondition = bits, U32, 1152, [10:10] +tpsCondition = bits, U32, 1152, [11:11] ; total TS size = 1156 -isAntilagCondition = bits, U32, 1156, [0:0] -ALSMinRPMCondition = bits, U32, 1156, [1:1] -ALSMaxRPMCondition = bits, U32, 1156, [2:2] -ALSMinCLTCondition = bits, U32, 1156, [3:3] -ALSMaxCLTCondition = bits, U32, 1156, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1156, [5:5] -isALSSwitchActivated = bits, U32, 1156, [6:6] -ALSActivatePinState = bits, U32, 1156, [7:7] -ALSSwitchCondition = bits, U32, 1156, [8:8] -ALSTimerCondition = bits, U32, 1156, [9:9] -fuelALSCorrection = scalar, F32, 1160, "", 1, 0 -timingALSCorrection = scalar, S16, 1164, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1166, "deg", 0.01, 0 -; total TS size = 1168 -isTpsInvalid = bits, U32, 1168, [0:0] -m_shouldResetPid = bits, U32, 1168, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1168, [2:2] -isNotClosedLoop = bits, U32, 1168, [3:3] -isZeroRpm = bits, U32, 1168, [4:4] -hasInitBoost = bits, U32, 1168, [5:5] -rpmTooLow = bits, U32, 1168, [6:6] -tpsTooLow = bits, U32, 1168, [7:7] -mapTooLow = bits, U32, 1168, [8:8] -isPlantValid = bits, U32, 1168, [9:9] -isBoostControlled = bits, U32, 1168, [10:10] -luaTargetAdd = scalar, S16, 1172, "v", 0.5,0 -boostOutput = scalar, S16, 1174, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1176, "v", 1,0 -openLoopPart = scalar, F32, 1180, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1184, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1188, "%", 0.5,0 -boostControlTarget = scalar, S16, 1190, "kPa", 0.03333333333333333,0 -; total TS size = 1192 -acButtonState = scalar, S08, 1192, "", 1, 0 -m_acEnabled = bits, U32, 1196, [0:0] -engineTooSlow = bits, U32, 1196, [1:1] -engineTooFast = bits, U32, 1196, [2:2] -noClt = bits, U32, 1196, [3:3] -engineTooHot = bits, U32, 1196, [4:4] -tpsTooHigh = bits, U32, 1196, [5:5] -isDisabledByLua = bits, U32, 1196, [6:6] -acCompressorState = bits, U32, 1196, [7:7] -acPressureTooLow = bits, U32, 1196, [8:8] -acPressureTooHigh = bits, U32, 1196, [9:9] -; total TS size = 1200 -isNitrousArmed = bits, U32, 1200, [0:0] -isNitrousSpeedCondition = bits, U32, 1200, [1:1] -isNitrousTpsCondition = bits, U32, 1200, [2:2] -isNitrousCltCondition = bits, U32, 1200, [3:3] -isNitrousMapCondition = bits, U32, 1200, [4:4] -isNitrousAfrCondition = bits, U32, 1200, [5:5] -isNitrousRpmCondition = bits, U32, 1200, [6:6] -isNitrousCondition = bits, U32, 1200, [7:7] +isTorqueReductionTriggerPinValid = bits, U32, 1156, [0:0] +torqueReductionTriggerPinState = bits, U32, 1156, [1:1] +isTimeConditionSatisfied = bits, U32, 1156, [2:2] +isRpmConditionSatisfied = bits, U32, 1156, [3:3] +isAppConditionSatisfied = bits, U32, 1156, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1156, [5:5] +; total TS size = 1160 +isAntilagCondition = bits, U32, 1160, [0:0] +ALSMinRPMCondition = bits, U32, 1160, [1:1] +ALSMaxRPMCondition = bits, U32, 1160, [2:2] +ALSMinCLTCondition = bits, U32, 1160, [3:3] +ALSMaxCLTCondition = bits, U32, 1160, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1160, [5:5] +isALSSwitchActivated = bits, U32, 1160, [6:6] +ALSActivatePinState = bits, U32, 1160, [7:7] +ALSSwitchCondition = bits, U32, 1160, [8:8] +ALSTimerCondition = bits, U32, 1160, [9:9] +fuelALSCorrection = scalar, F32, 1164, "", 1, 0 +timingALSCorrection = scalar, S16, 1168, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1170, "deg", 0.01, 0 +; total TS size = 1172 +isTpsInvalid = bits, U32, 1172, [0:0] +m_shouldResetPid = bits, U32, 1172, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1172, [2:2] +isNotClosedLoop = bits, U32, 1172, [3:3] +isZeroRpm = bits, U32, 1172, [4:4] +hasInitBoost = bits, U32, 1172, [5:5] +rpmTooLow = bits, U32, 1172, [6:6] +tpsTooLow = bits, U32, 1172, [7:7] +mapTooLow = bits, U32, 1172, [8:8] +isPlantValid = bits, U32, 1172, [9:9] +isBoostControlled = bits, U32, 1172, [10:10] +luaTargetAdd = scalar, S16, 1176, "v", 0.5,0 +boostOutput = scalar, S16, 1178, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1180, "v", 1,0 +openLoopPart = scalar, F32, 1184, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1188, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1192, "%", 0.5,0 +boostControlTarget = scalar, S16, 1194, "kPa", 0.03333333333333333,0 +; total TS size = 1196 +acButtonState = scalar, S08, 1196, "", 1, 0 +m_acEnabled = bits, U32, 1200, [0:0] +engineTooSlow = bits, U32, 1200, [1:1] +engineTooFast = bits, U32, 1200, [2:2] +noClt = bits, U32, 1200, [3:3] +engineTooHot = bits, U32, 1200, [4:4] +tpsTooHigh = bits, U32, 1200, [5:5] +isDisabledByLua = bits, U32, 1200, [6:6] +acCompressorState = bits, U32, 1200, [7:7] +acPressureTooLow = bits, U32, 1200, [8:8] +acPressureTooHigh = bits, U32, 1200, [9:9] ; total TS size = 1204 -fan1cranking = bits, U32, 1204, [0:0] -fan1notRunning = bits, U32, 1204, [1:1] -fan1disabledWhileEngineStopped = bits, U32, 1204, [2:2] -fan1brokenClt = bits, U32, 1204, [3:3] -fan1enabledForAc = bits, U32, 1204, [4:4] -fan1hot = bits, U32, 1204, [5:5] -fan1cold = bits, U32, 1204, [6:6] -fan1disabledBySpeed = bits, U32, 1204, [7:7] -fan1m_state = bits, U32, 1204, [8:8] -fan1radiatorFanStatus = scalar, U08, 1208, "", 1, 0 -; total TS size = 1212 -fan2cranking = bits, U32, 1212, [0:0] -fan2notRunning = bits, U32, 1212, [1:1] -fan2disabledWhileEngineStopped = bits, U32, 1212, [2:2] -fan2brokenClt = bits, U32, 1212, [3:3] -fan2enabledForAc = bits, U32, 1212, [4:4] -fan2hot = bits, U32, 1212, [5:5] -fan2cold = bits, U32, 1212, [6:6] -fan2disabledBySpeed = bits, U32, 1212, [7:7] -fan2m_state = bits, U32, 1212, [8:8] -fan2radiatorFanStatus = scalar, U08, 1216, "", 1, 0 -; total TS size = 1220 -isPrime = bits, U32, 1220, [0:0] -engineTurnedRecently = bits, U32, 1220, [1:1] -isFuelPumpOn = bits, U32, 1220, [2:2] -ignitionOn = bits, U32, 1220, [3:3] +isNitrousArmed = bits, U32, 1204, [0:0] +isNitrousSpeedCondition = bits, U32, 1204, [1:1] +isNitrousTpsCondition = bits, U32, 1204, [2:2] +isNitrousCltCondition = bits, U32, 1204, [3:3] +isNitrousMapCondition = bits, U32, 1204, [4:4] +isNitrousAfrCondition = bits, U32, 1204, [5:5] +isNitrousRpmCondition = bits, U32, 1204, [6:6] +isNitrousCondition = bits, U32, 1204, [7:7] +; total TS size = 1208 +fan1cranking = bits, U32, 1208, [0:0] +fan1notRunning = bits, U32, 1208, [1:1] +fan1disabledWhileEngineStopped = bits, U32, 1208, [2:2] +fan1brokenClt = bits, U32, 1208, [3:3] +fan1enabledForAc = bits, U32, 1208, [4:4] +fan1hot = bits, U32, 1208, [5:5] +fan1cold = bits, U32, 1208, [6:6] +fan1disabledBySpeed = bits, U32, 1208, [7:7] +fan1m_state = bits, U32, 1208, [8:8] +fan1radiatorFanStatus = scalar, U08, 1212, "", 1, 0 +; total TS size = 1216 +fan2cranking = bits, U32, 1216, [0:0] +fan2notRunning = bits, U32, 1216, [1:1] +fan2disabledWhileEngineStopped = bits, U32, 1216, [2:2] +fan2brokenClt = bits, U32, 1216, [3:3] +fan2enabledForAc = bits, U32, 1216, [4:4] +fan2hot = bits, U32, 1216, [5:5] +fan2cold = bits, U32, 1216, [6:6] +fan2disabledBySpeed = bits, U32, 1216, [7:7] +fan2m_state = bits, U32, 1216, [8:8] +fan2radiatorFanStatus = scalar, U08, 1220, "", 1, 0 ; total TS size = 1224 -isBenchTest = bits, U32, 1224, [0:0] -hasIgnitionVoltage = bits, U32, 1224, [1:1] -mainRelayState = bits, U32, 1224, [2:2] -delayedShutoffRequested = bits, U32, 1224, [3:3] +isPrime = bits, U32, 1224, [0:0] +engineTurnedRecently = bits, U32, 1224, [1:1] +isFuelPumpOn = bits, U32, 1224, [2:2] +ignitionOn = bits, U32, 1224, [3:3] ; total TS size = 1228 -lua_fuelAdd = scalar, F32, 1228, "g", 1, 0 -lua_fuelMult = scalar, F32, 1232, "", 1, 0 -lua_clutchUpState = bits, U32, 1236, [0:0] -lua_brakePedalState = bits, U32, 1236, [1:1] -lua_acRequestState = bits, U32, 1236, [2:2] -lua_luaDisableEtb = bits, U32, 1236, [3:3] -lua_luaIgnCut = bits, U32, 1236, [4:4] -lua_luaFuelCut = bits, U32, 1236, [5:5] -lua_clutchDownState = bits, U32, 1236, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1236, [7:7] -lua_torqueReductionState = bits, U32, 1236, [8:8] -sd_tCharge = scalar, S16, 1240, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1244, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1248, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1252, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1256, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1260, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1264, "", 1, 0 -hellenBoardId = scalar, S16, 1268, "id", 1, 0 -clutchUpState = scalar, S08, 1270, "", 1, 0 -brakePedalState = scalar, S08, 1271, "", 1, 0 -startStopState = scalar, S08, 1272, "", 1, 0 -smartChipState = scalar, S08, 1273, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1274, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1275, "", 1, 0 -startStopPhysicalState = bits, U32, 1276, [0:0] -acrActive = bits, U32, 1276, [1:1] -acrEngineMovedRecently = bits, U32, 1276, [2:2] -heaterControlEnabled = bits, U32, 1276, [3:3] -luaDigitalState0 = bits, U32, 1276, [4:4] -luaDigitalState1 = bits, U32, 1276, [5:5] -luaDigitalState2 = bits, U32, 1276, [6:6] -luaDigitalState3 = bits, U32, 1276, [7:7] -clutchDownState = bits, U32, 1276, [8:8] -startStopStateToggleCounter = scalar, U32, 1280, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1284, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1288, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1292, "", 1, 0 -fuelInjectionCounter = scalar, U32, 1296, "", 1, 0 -globalSparkCounter = scalar, U32, 1300, "", 1, 0 -fuelingLoad = scalar, F32, 1304, "", 1, 0 -ignitionLoad = scalar, F32, 1308, "", 1, 0 -veTableYAxis = scalar, U16, 1312, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1314, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1315, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1316, "", 1, 0 -; total TS size = 1320 -tpsFrom = scalar, F32, 1320 -tpsTo = scalar, F32, 1324 -deltaTps = scalar, F32, 1328 -extraFuel = scalar, F32, 1332, "", 1, 0 -valueFromTable = scalar, F32, 1336, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1340, [0:0] -isBelowDecelThreshold = bits, U32, 1340, [1:1] -isTimeToResetAccumulator = bits, U32, 1340, [2:2] -isFractionalEnrichment = bits, U32, 1340, [3:3] -belowEpsilon = bits, U32, 1340, [4:4] -tooShort = bits, U32, 1340, [5:5] -fractionalInjFuel = scalar, F32, 1344, "", 1, 0 -accumulatedValue = scalar, F32, 1348, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1352, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1356, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1360, "", 1, 0 -cycleCnt = scalar, S32, 1364, "", 1, 0 -; total TS size = 1368 -hwEventCounters1 = scalar, U16, 1368, "", 1, 0 -hwEventCounters2 = scalar, U16, 1370, "", 1, 0 -hwEventCounters3 = scalar, U16, 1372, "", 1, 0 -hwEventCounters4 = scalar, U16, 1374, "", 1, 0 -vvtCamCounter = scalar, U16, 1376, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1380, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1384, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1388, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1389, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1392, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1396, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1400, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1404, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1408, [0:0] -triggerElapsedUs = scalar, U32, 1412, "", 1, 0 -; total TS size = 1416 -trgsynchronizationCounter = scalar, U32, 1416, "", 1, 0 -trgvvtToothDurations0 = scalar, U32, 1420, "us", 1, 0 -trgvvtCurrentPosition = scalar, F32, 1424, "", 1, 0 -trgvvtToothPosition1 = scalar, F32, 1428, "", 1, 0 -trgvvtToothPosition2 = scalar, F32, 1432, "", 1, 0 -trgvvtToothPosition3 = scalar, F32, 1436, "", 1, 0 -trgvvtToothPosition4 = scalar, F32, 1440, "", 1, 0 -trgtriggerSyncGapRatio = scalar, F32, 1444, "", 1, 0 -trgtriggerStateIndex = scalar, U08, 1448, "", 1, 0 -; total TS size = 1452 -vvt1isynchronizationCounter = scalar, U32, 1452, "", 1, 0 -vvt1ivvtToothDurations0 = scalar, U32, 1456, "us", 1, 0 -vvt1ivvtCurrentPosition = scalar, F32, 1460, "", 1, 0 -vvt1ivvtToothPosition1 = scalar, F32, 1464, "", 1, 0 -vvt1ivvtToothPosition2 = scalar, F32, 1468, "", 1, 0 -vvt1ivvtToothPosition3 = scalar, F32, 1472, "", 1, 0 -vvt1ivvtToothPosition4 = scalar, F32, 1476, "", 1, 0 -vvt1itriggerSyncGapRatio = scalar, F32, 1480, "", 1, 0 -vvt1itriggerStateIndex = scalar, U08, 1484, "", 1, 0 -; total TS size = 1488 -vvt1esynchronizationCounter = scalar, U32, 1488, "", 1, 0 -vvt1evvtToothDurations0 = scalar, U32, 1492, "us", 1, 0 -vvt1evvtCurrentPosition = scalar, F32, 1496, "", 1, 0 -vvt1evvtToothPosition1 = scalar, F32, 1500, "", 1, 0 -vvt1evvtToothPosition2 = scalar, F32, 1504, "", 1, 0 -vvt1evvtToothPosition3 = scalar, F32, 1508, "", 1, 0 -vvt1evvtToothPosition4 = scalar, F32, 1512, "", 1, 0 -vvt1etriggerSyncGapRatio = scalar, F32, 1516, "", 1, 0 -vvt1etriggerStateIndex = scalar, U08, 1520, "", 1, 0 -; total TS size = 1524 -vvt2isynchronizationCounter = scalar, U32, 1524, "", 1, 0 -vvt2ivvtToothDurations0 = scalar, U32, 1528, "us", 1, 0 -vvt2ivvtCurrentPosition = scalar, F32, 1532, "", 1, 0 -vvt2ivvtToothPosition1 = scalar, F32, 1536, "", 1, 0 -vvt2ivvtToothPosition2 = scalar, F32, 1540, "", 1, 0 -vvt2ivvtToothPosition3 = scalar, F32, 1544, "", 1, 0 -vvt2ivvtToothPosition4 = scalar, F32, 1548, "", 1, 0 -vvt2itriggerSyncGapRatio = scalar, F32, 1552, "", 1, 0 -vvt2itriggerStateIndex = scalar, U08, 1556, "", 1, 0 -; total TS size = 1560 -vvt2esynchronizationCounter = scalar, U32, 1560, "", 1, 0 -vvt2evvtToothDurations0 = scalar, U32, 1564, "us", 1, 0 -vvt2evvtCurrentPosition = scalar, F32, 1568, "", 1, 0 -vvt2evvtToothPosition1 = scalar, F32, 1572, "", 1, 0 -vvt2evvtToothPosition2 = scalar, F32, 1576, "", 1, 0 -vvt2evvtToothPosition3 = scalar, F32, 1580, "", 1, 0 -vvt2evvtToothPosition4 = scalar, F32, 1584, "", 1, 0 -vvt2etriggerSyncGapRatio = scalar, F32, 1588, "", 1, 0 -vvt2etriggerStateIndex = scalar, U08, 1592, "", 1, 0 -; total TS size = 1596 -camResyncCounter = scalar, U08, 1596, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1600, [0:0] -; total TS size = 1604 -wallFuelCorrection = scalar, F32, 1604, "", 1, 0 -wallFuel = scalar, F32, 1608, "", 1, 0 -; total TS size = 1612 -idleState = bits, S32, 1612, [0:2], "not important" -currentIdlePosition = scalar, F32, 1616 -baseIdlePosition = scalar, F32, 1620 -idleClosedLoop = scalar, F32, 1624 -iacByTpsTaper = scalar, F32, 1628 -mightResetPid = bits, U32, 1632, [0:0] -shouldResetPid = bits, U32, 1632, [1:1] -wasResetPid = bits, U32, 1632, [2:2] -mustResetPid = bits, U32, 1632, [3:3] -isCranking = bits, U32, 1632, [4:4] -isIacTableForCoasting = bits, U32, 1632, [5:5] -notIdling = bits, U32, 1632, [6:6] -needReset = bits, U32, 1632, [7:7] -isInDeadZone = bits, U32, 1632, [8:8] -isBlipping = bits, U32, 1632, [9:9] -useClosedLoop = bits, U32, 1632, [10:10] -badTps = bits, U32, 1632, [11:11] -looksLikeRunning = bits, U32, 1632, [12:12] -looksLikeCoasting = bits, U32, 1632, [13:13] -looksLikeCrankToIdle = bits, U32, 1632, [14:14] -isIdleCoasting = bits, U32, 1632, [15:15] -isIdleClosedLoop = bits, U32, 1632, [16:16] -idleTarget = scalar, S32, 1636, "", 1, 0 -targetRpmByClt = scalar, S32, 1640, "", 1, 0 -targetRpmAc = scalar, S32, 1644, "", 1, 0 -iacByRpmTaper = scalar, F32, 1648 -luaAdd = scalar, F32, 1652 -; total TS size = 1656 -etb1targetWithIdlePosition = scalar, F32, 1656, "%", 1,0 -etb1trim = scalar, F32, 1660, "", 1, 0 -etb1luaAdjustment = scalar, F32, 1664, "%", 1,0 -etb1m_wastegatePosition = scalar, F32, 1668, "%", 1,0 -etb1etbFeedForward = scalar, F32, 1672 -etb1etbIntegralError = scalar, F32, 1676, "", 1, 0 -etb1etbCurrentTarget = scalar, F32, 1680, "%", 1, 0 -etb1m_adjustedTarget = scalar, S16, 1684, "%", 0.01, 0 -etb1etbRevLimitActive = bits, U32, 1688, [0:0] -etb1jamDetected = bits, U32, 1688, [1:1] -etb1validPlantPosition = bits, U32, 1688, [2:2] -etb1etbTpsErrorCounter = scalar, U16, 1692, "count", 1,0 -etb1etbPpsErrorCounter = scalar, U16, 1694, "count", 1,0 -etb1etbErrorCode = scalar, S08, 1696, "", 1, 0 -etb1etbErrorCodeBlinker = scalar, S08, 1697, "", 1, 0 -etb1tcEtbDrop = scalar, S08, 1698, "%", 1, 0 -etb1jamTimer = scalar, U16, 1700, "sec", 0.01, 0 -etb1adjustedEtbTarget = scalar, S08, 1702, "%", 1, 0 -etb1state = scalar, U08, 1703, "", 1, 0 -; total TS size = 1704 -etb2targetWithIdlePosition = scalar, F32, 1704, "%", 1,0 -etb2trim = scalar, F32, 1708, "", 1, 0 -etb2luaAdjustment = scalar, F32, 1712, "%", 1,0 -etb2m_wastegatePosition = scalar, F32, 1716, "%", 1,0 -etb2etbFeedForward = scalar, F32, 1720 -etb2etbIntegralError = scalar, F32, 1724, "", 1, 0 -etb2etbCurrentTarget = scalar, F32, 1728, "%", 1, 0 -etb2m_adjustedTarget = scalar, S16, 1732, "%", 0.01, 0 -etb2etbRevLimitActive = bits, U32, 1736, [0:0] -etb2jamDetected = bits, U32, 1736, [1:1] -etb2validPlantPosition = bits, U32, 1736, [2:2] -etb2etbTpsErrorCounter = scalar, U16, 1740, "count", 1,0 -etb2etbPpsErrorCounter = scalar, U16, 1742, "count", 1,0 -etb2etbErrorCode = scalar, S08, 1744, "", 1, 0 -etb2etbErrorCodeBlinker = scalar, S08, 1745, "", 1, 0 -etb2tcEtbDrop = scalar, S08, 1746, "%", 1, 0 -etb2jamTimer = scalar, U16, 1748, "sec", 0.01, 0 -etb2adjustedEtbTarget = scalar, S08, 1750, "%", 1, 0 -etb2state = scalar, U08, 1751, "", 1, 0 -; total TS size = 1752 -wb1faultCode = scalar, U08, 1752, "", 1, 0 -wb1heaterDuty = scalar, U08, 1753, "%", 1, 0 -wb1pumpDuty = scalar, U08, 1754, "%", 1, 0 -wb1tempC = scalar, U16, 1756, "C", 1, 0 -wb1nernstVoltage = scalar, U16, 1758, "V", 0.001, 0 -wb1esr = scalar, U16, 1760, "ohm", 1, 0 -; total TS size = 1764 -wb2faultCode = scalar, U08, 1764, "", 1, 0 -wb2heaterDuty = scalar, U08, 1765, "%", 1, 0 -wb2pumpDuty = scalar, U08, 1766, "%", 1, 0 -wb2tempC = scalar, U16, 1768, "C", 1, 0 -wb2nernstVoltage = scalar, U16, 1770, "V", 0.001, 0 -wb2esr = scalar, U16, 1772, "ohm", 1, 0 -; total TS size = 1776 -dcOutput0 = scalar, F32, 1776, "%", 1,0 -isEnabled0_int = scalar, U08, 1780, "%", 1,0 -isEnabled0 = bits, U32, 1784, [0:0] -; total TS size = 1788 -value0 = scalar, U16, 1788, "RAW", 1,0 -value1 = scalar, U16, 1790, "RAW", 1,0 -errorRate = scalar, F32, 1792, "% (don't belive me)", 1,0 -; total TS size = 1796 -vvtTarget = scalar, U16, 1796, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1798, "%", 0.5, 0 +isBenchTest = bits, U32, 1228, [0:0] +hasIgnitionVoltage = bits, U32, 1228, [1:1] +mainRelayState = bits, U32, 1228, [2:2] +delayedShutoffRequested = bits, U32, 1228, [3:3] +; total TS size = 1232 +lua_fuelAdd = scalar, F32, 1232, "g", 1, 0 +lua_fuelMult = scalar, F32, 1236, "", 1, 0 +lua_clutchUpState = bits, U32, 1240, [0:0] +lua_brakePedalState = bits, U32, 1240, [1:1] +lua_acRequestState = bits, U32, 1240, [2:2] +lua_luaDisableEtb = bits, U32, 1240, [3:3] +lua_luaIgnCut = bits, U32, 1240, [4:4] +lua_luaFuelCut = bits, U32, 1240, [5:5] +lua_clutchDownState = bits, U32, 1240, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1240, [7:7] +lua_torqueReductionState = bits, U32, 1240, [8:8] +sd_tCharge = scalar, S16, 1244, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1248, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1252, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1256, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1260, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1264, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1268, "", 1, 0 +hellenBoardId = scalar, S16, 1272, "id", 1, 0 +clutchUpState = scalar, S08, 1274, "", 1, 0 +brakePedalState = scalar, S08, 1275, "", 1, 0 +startStopState = scalar, S08, 1276, "", 1, 0 +smartChipState = scalar, S08, 1277, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1278, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1279, "", 1, 0 +startStopPhysicalState = bits, U32, 1280, [0:0] +acrActive = bits, U32, 1280, [1:1] +acrEngineMovedRecently = bits, U32, 1280, [2:2] +heaterControlEnabled = bits, U32, 1280, [3:3] +luaDigitalState0 = bits, U32, 1280, [4:4] +luaDigitalState1 = bits, U32, 1280, [5:5] +luaDigitalState2 = bits, U32, 1280, [6:6] +luaDigitalState3 = bits, U32, 1280, [7:7] +clutchDownState = bits, U32, 1280, [8:8] +startStopStateToggleCounter = scalar, U32, 1284, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1288, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1292, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1296, "", 1, 0 +fuelInjectionCounter = scalar, U32, 1300, "", 1, 0 +globalSparkCounter = scalar, U32, 1304, "", 1, 0 +fuelingLoad = scalar, F32, 1308, "", 1, 0 +ignitionLoad = scalar, F32, 1312, "", 1, 0 +veTableYAxis = scalar, U16, 1316, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1318, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1319, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1320, "", 1, 0 +; total TS size = 1324 +tpsFrom = scalar, F32, 1324 +tpsTo = scalar, F32, 1328 +deltaTps = scalar, F32, 1332 +extraFuel = scalar, F32, 1336, "", 1, 0 +valueFromTable = scalar, F32, 1340, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1344, [0:0] +isBelowDecelThreshold = bits, U32, 1344, [1:1] +isTimeToResetAccumulator = bits, U32, 1344, [2:2] +isFractionalEnrichment = bits, U32, 1344, [3:3] +belowEpsilon = bits, U32, 1344, [4:4] +tooShort = bits, U32, 1344, [5:5] +fractionalInjFuel = scalar, F32, 1348, "", 1, 0 +accumulatedValue = scalar, F32, 1352, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1356, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1360, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1364, "", 1, 0 +cycleCnt = scalar, S32, 1368, "", 1, 0 +; total TS size = 1372 +hwEventCounters1 = scalar, U16, 1372, "", 1, 0 +hwEventCounters2 = scalar, U16, 1374, "", 1, 0 +hwEventCounters3 = scalar, U16, 1376, "", 1, 0 +hwEventCounters4 = scalar, U16, 1378, "", 1, 0 +vvtCamCounter = scalar, U16, 1380, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1384, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1388, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1392, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1393, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1396, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1400, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1404, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1408, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1412, [0:0] +triggerElapsedUs = scalar, U32, 1416, "", 1, 0 +; total TS size = 1420 +trgsynchronizationCounter = scalar, U32, 1420, "", 1, 0 +trgvvtToothDurations0 = scalar, U32, 1424, "us", 1, 0 +trgvvtCurrentPosition = scalar, F32, 1428, "", 1, 0 +trgvvtToothPosition1 = scalar, F32, 1432, "", 1, 0 +trgvvtToothPosition2 = scalar, F32, 1436, "", 1, 0 +trgvvtToothPosition3 = scalar, F32, 1440, "", 1, 0 +trgvvtToothPosition4 = scalar, F32, 1444, "", 1, 0 +trgtriggerSyncGapRatio = scalar, F32, 1448, "", 1, 0 +trgtriggerStateIndex = scalar, U08, 1452, "", 1, 0 +; total TS size = 1456 +vvt1isynchronizationCounter = scalar, U32, 1456, "", 1, 0 +vvt1ivvtToothDurations0 = scalar, U32, 1460, "us", 1, 0 +vvt1ivvtCurrentPosition = scalar, F32, 1464, "", 1, 0 +vvt1ivvtToothPosition1 = scalar, F32, 1468, "", 1, 0 +vvt1ivvtToothPosition2 = scalar, F32, 1472, "", 1, 0 +vvt1ivvtToothPosition3 = scalar, F32, 1476, "", 1, 0 +vvt1ivvtToothPosition4 = scalar, F32, 1480, "", 1, 0 +vvt1itriggerSyncGapRatio = scalar, F32, 1484, "", 1, 0 +vvt1itriggerStateIndex = scalar, U08, 1488, "", 1, 0 +; total TS size = 1492 +vvt1esynchronizationCounter = scalar, U32, 1492, "", 1, 0 +vvt1evvtToothDurations0 = scalar, U32, 1496, "us", 1, 0 +vvt1evvtCurrentPosition = scalar, F32, 1500, "", 1, 0 +vvt1evvtToothPosition1 = scalar, F32, 1504, "", 1, 0 +vvt1evvtToothPosition2 = scalar, F32, 1508, "", 1, 0 +vvt1evvtToothPosition3 = scalar, F32, 1512, "", 1, 0 +vvt1evvtToothPosition4 = scalar, F32, 1516, "", 1, 0 +vvt1etriggerSyncGapRatio = scalar, F32, 1520, "", 1, 0 +vvt1etriggerStateIndex = scalar, U08, 1524, "", 1, 0 +; total TS size = 1528 +vvt2isynchronizationCounter = scalar, U32, 1528, "", 1, 0 +vvt2ivvtToothDurations0 = scalar, U32, 1532, "us", 1, 0 +vvt2ivvtCurrentPosition = scalar, F32, 1536, "", 1, 0 +vvt2ivvtToothPosition1 = scalar, F32, 1540, "", 1, 0 +vvt2ivvtToothPosition2 = scalar, F32, 1544, "", 1, 0 +vvt2ivvtToothPosition3 = scalar, F32, 1548, "", 1, 0 +vvt2ivvtToothPosition4 = scalar, F32, 1552, "", 1, 0 +vvt2itriggerSyncGapRatio = scalar, F32, 1556, "", 1, 0 +vvt2itriggerStateIndex = scalar, U08, 1560, "", 1, 0 +; total TS size = 1564 +vvt2esynchronizationCounter = scalar, U32, 1564, "", 1, 0 +vvt2evvtToothDurations0 = scalar, U32, 1568, "us", 1, 0 +vvt2evvtCurrentPosition = scalar, F32, 1572, "", 1, 0 +vvt2evvtToothPosition1 = scalar, F32, 1576, "", 1, 0 +vvt2evvtToothPosition2 = scalar, F32, 1580, "", 1, 0 +vvt2evvtToothPosition3 = scalar, F32, 1584, "", 1, 0 +vvt2evvtToothPosition4 = scalar, F32, 1588, "", 1, 0 +vvt2etriggerSyncGapRatio = scalar, F32, 1592, "", 1, 0 +vvt2etriggerStateIndex = scalar, U08, 1596, "", 1, 0 +; total TS size = 1600 +camResyncCounter = scalar, U08, 1600, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1604, [0:0] +; total TS size = 1608 +wallFuelCorrection = scalar, F32, 1608, "", 1, 0 +wallFuel = scalar, F32, 1612, "", 1, 0 +; total TS size = 1616 +idleState = bits, S32, 1616, [0:2], "not important" +currentIdlePosition = scalar, F32, 1620 +baseIdlePosition = scalar, F32, 1624 +idleClosedLoop = scalar, F32, 1628 +iacByTpsTaper = scalar, F32, 1632 +mightResetPid = bits, U32, 1636, [0:0] +shouldResetPid = bits, U32, 1636, [1:1] +wasResetPid = bits, U32, 1636, [2:2] +mustResetPid = bits, U32, 1636, [3:3] +isCranking = bits, U32, 1636, [4:4] +isIacTableForCoasting = bits, U32, 1636, [5:5] +notIdling = bits, U32, 1636, [6:6] +needReset = bits, U32, 1636, [7:7] +isInDeadZone = bits, U32, 1636, [8:8] +isBlipping = bits, U32, 1636, [9:9] +useClosedLoop = bits, U32, 1636, [10:10] +badTps = bits, U32, 1636, [11:11] +looksLikeRunning = bits, U32, 1636, [12:12] +looksLikeCoasting = bits, U32, 1636, [13:13] +looksLikeCrankToIdle = bits, U32, 1636, [14:14] +isIdleCoasting = bits, U32, 1636, [15:15] +isIdleClosedLoop = bits, U32, 1636, [16:16] +idleTarget = scalar, S32, 1640, "", 1, 0 +targetRpmByClt = scalar, S32, 1644, "", 1, 0 +targetRpmAc = scalar, S32, 1648, "", 1, 0 +iacByRpmTaper = scalar, F32, 1652 +luaAdd = scalar, F32, 1656 +; total TS size = 1660 +etb1targetWithIdlePosition = scalar, F32, 1660, "%", 1,0 +etb1trim = scalar, F32, 1664, "", 1, 0 +etb1luaAdjustment = scalar, F32, 1668, "%", 1,0 +etb1m_wastegatePosition = scalar, F32, 1672, "%", 1,0 +etb1etbFeedForward = scalar, F32, 1676 +etb1etbIntegralError = scalar, F32, 1680, "", 1, 0 +etb1etbCurrentTarget = scalar, F32, 1684, "%", 1, 0 +etb1m_adjustedTarget = scalar, S16, 1688, "%", 0.01, 0 +etb1etbRevLimitActive = bits, U32, 1692, [0:0] +etb1jamDetected = bits, U32, 1692, [1:1] +etb1validPlantPosition = bits, U32, 1692, [2:2] +etb1etbTpsErrorCounter = scalar, U16, 1696, "count", 1,0 +etb1etbPpsErrorCounter = scalar, U16, 1698, "count", 1,0 +etb1etbErrorCode = scalar, S08, 1700, "", 1, 0 +etb1etbErrorCodeBlinker = scalar, S08, 1701, "", 1, 0 +etb1tcEtbDrop = scalar, S08, 1702, "%", 1, 0 +etb1jamTimer = scalar, U16, 1704, "sec", 0.01, 0 +etb1adjustedEtbTarget = scalar, S08, 1706, "%", 1, 0 +etb1state = scalar, U08, 1707, "", 1, 0 +; total TS size = 1708 +etb2targetWithIdlePosition = scalar, F32, 1708, "%", 1,0 +etb2trim = scalar, F32, 1712, "", 1, 0 +etb2luaAdjustment = scalar, F32, 1716, "%", 1,0 +etb2m_wastegatePosition = scalar, F32, 1720, "%", 1,0 +etb2etbFeedForward = scalar, F32, 1724 +etb2etbIntegralError = scalar, F32, 1728, "", 1, 0 +etb2etbCurrentTarget = scalar, F32, 1732, "%", 1, 0 +etb2m_adjustedTarget = scalar, S16, 1736, "%", 0.01, 0 +etb2etbRevLimitActive = bits, U32, 1740, [0:0] +etb2jamDetected = bits, U32, 1740, [1:1] +etb2validPlantPosition = bits, U32, 1740, [2:2] +etb2etbTpsErrorCounter = scalar, U16, 1744, "count", 1,0 +etb2etbPpsErrorCounter = scalar, U16, 1746, "count", 1,0 +etb2etbErrorCode = scalar, S08, 1748, "", 1, 0 +etb2etbErrorCodeBlinker = scalar, S08, 1749, "", 1, 0 +etb2tcEtbDrop = scalar, S08, 1750, "%", 1, 0 +etb2jamTimer = scalar, U16, 1752, "sec", 0.01, 0 +etb2adjustedEtbTarget = scalar, S08, 1754, "%", 1, 0 +etb2state = scalar, U08, 1755, "", 1, 0 +; total TS size = 1756 +wb1faultCode = scalar, U08, 1756, "", 1, 0 +wb1heaterDuty = scalar, U08, 1757, "%", 1, 0 +wb1pumpDuty = scalar, U08, 1758, "%", 1, 0 +wb1tempC = scalar, U16, 1760, "C", 1, 0 +wb1nernstVoltage = scalar, U16, 1762, "V", 0.001, 0 +wb1esr = scalar, U16, 1764, "ohm", 1, 0 +; total TS size = 1768 +wb2faultCode = scalar, U08, 1768, "", 1, 0 +wb2heaterDuty = scalar, U08, 1769, "%", 1, 0 +wb2pumpDuty = scalar, U08, 1770, "%", 1, 0 +wb2tempC = scalar, U16, 1772, "C", 1, 0 +wb2nernstVoltage = scalar, U16, 1774, "V", 0.001, 0 +wb2esr = scalar, U16, 1776, "ohm", 1, 0 +; total TS size = 1780 +dcOutput0 = scalar, F32, 1780, "%", 1,0 +isEnabled0_int = scalar, U08, 1784, "%", 1,0 +isEnabled0 = bits, U32, 1788, [0:0] +; total TS size = 1792 +value0 = scalar, U16, 1792, "RAW", 1,0 +value1 = scalar, U16, 1794, "RAW", 1,0 +errorRate = scalar, F32, 1796, "% (don't belive me)", 1,0 ; total TS size = 1800 -lambdaCurrentlyGood = bits, U32, 1800, [0:0] -lambdaMonitorCut = bits, U32, 1800, [1:1] -lambdaTimeSinceGood = scalar, U16, 1804, "sec", 0.01, 0 -; total TS size = 1808 +vvtTarget = scalar, U16, 1800, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1802, "%", 0.5, 0 +; total TS size = 1804 +lambdaCurrentlyGood = bits, U32, 1804, [0:0] +lambdaMonitorCut = bits, U32, 1804, [1:1] +lambdaTimeSinceGood = scalar, U16, 1808, "sec", 0.01, 0 +; total TS size = 1812 time = { timeNow } @@ -4584,6 +4587,12 @@ curve = rangeMatrix, "Range Switch Input Matrix" gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. upDownLabel = "(RICHER)", "(LEANER)" + table = trailingSparkTable, trailingSparkMap, "Trailing spark", 1 + xyLabels = "RPM", "Ignition Load" + xBins = trailingSparkRpmBins, RPMValue + yBins = trailingSparkLoadBins, ignitionLoad + zBins = trailingSparkTable + table = torqueTableTbl, torqueTableMap, "Engine Torque", 1 xBins = torqueRpmBins, RPMValue yBins = torqueLoadBins, veTableYAxis @@ -4881,6 +4890,7 @@ timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20 timingPidCorrectionGauge = timingPidCorrection,"Idle: Timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 +trailingSparkAngleGauge = trailingSparkAngle,"Ign: Trailing spark deg", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 gaugeCategory = "Boost Control" luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 @@ -5811,6 +5821,7 @@ entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" entry = luaIgnitionSkip, "Ign: Lua Spark Skip", int, "%d" +entry = trailingSparkAngle, "Ign: Trailing spark deg", float, "%.3f" entry = m_knockLevel, "Knock: Current level", float, "%.3f" entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" @@ -6760,6 +6771,7 @@ dialog = ignition_stateDialog, "ignition_state" graphLine = luaTimingAdd liveGraph = ignition_state_4_Graph, "Graph", South graphLine = luaTimingMult + graphLine = trailingSparkAngle dialog = knock_controllerDialog, "knock_controller" @@ -10069,11 +10081,11 @@ dialog = tcuControls, "Transmission Settings" dialog = rotaryDialog, "Rotary" field = "Enable Trailing Sparks", enableTrailingSparks - field = "Trailing Spark Offset", trailingSparkAngle field = "Trailing Pin 1", trailingCoilPins1 field = "Trailing Pin 2", trailingCoilPins2 field = "Trailing Pin 3", trailingCoilPins3 field = "Trailing Pin 4", trailingCoilPins4 + panel = trailingSparkTable diff --git a/firmware/tunerstudio/generated/rusefi_hellenNA8_96.ini b/firmware/tunerstudio/generated/rusefi_hellenNA8_96.ini index b6849ea5c7..0cde57b636 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.2025.02.07.hellenNA8_96.972768440" + signature = "rusEFI master.2025.02.07.hellenNA8_96.3195587541" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2025.02.07.hellenNA8_96.972768440" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2025.02.07.hellenNA8_96.3195587541" ; 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 @@ -101,7 +101,7 @@ enable2ndByteCanID = false ; CONFIG_DEFINITION_START ; this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt -pageSize = 23280 +pageSize = 23304 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",22="BMW_M52",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",21="ET_BOSCH_QUICK_START",24="ET_TEST_WITH_BOSCH_QUICK_START",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",41="FRANKENSO_MIATA_NA6_MAP",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",47="GM_LCV",55="GM_LTG",98="GM_SBC",49="GM_SBC_GEN5",8="GY6_139QMB",6="HARLEY",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",34="MAZDA_MIATA_NA6",80="MAZDA_MIATA_NA94",10="MAZDA_MIATA_NA96",83="MAZDA_MIATA_NB1",69="MAZDA_MIATA_NB2",86="MAZDA_MIATA_NB2_36",20="MAZDA_MIATA_NC",33="ME17_9_MISC",68="MERCEDES_M111",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",4="MRE_SECONDARY_CAN",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",35="POLARIS",9="POLARIS_RZR",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",27="PROTEUS_GM_LS_4",25="PROTEUS_LUA_DEMO",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",17="TCU_4R70W",100="TEST_100",101="TEST_101",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",93="TEST_ISSUE_6451",19="TEST_ROTARY",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",102="UNUSED102",67="UNUSED67",94="UNUSED94",65="UNUSED_65",97="UNUSED_97",77="VAG_5_CYL",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -245,7 +245,7 @@ vbattAdcChannel = bits, U08, 513, [0:5], $adc_channel_e_list fuelLevelSensor = bits, U08, 514, [0:5], $adc_channel_e_list tps2_1AdcChannel = bits, U08, 515, [0:5], $adc_channel_e_list idle_derivativeFilterLoss = scalar, F32, 516, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 520, "angle", 1, 0, 0, 720, 0 +unusedTrailingSparkAngle = scalar, S32, 520, "", 1, 0, 0, 100, 0 trigger_type = bits, U32, 524, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Daihatsu 3 cylinder", "Mazda SOHC 4", "60-2", "36-1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "Dodge Ram 1+16", "60-2 Wrong Polarity", "Benelli Tre", "Dodge Stratus", "36_2_2_2", "Nissan Primera", "dev 2JZ 3/34 simulator", "Rover K", "GM 24x 5 degree", "Honda CBR 600 Cam", "INVALID", "Honda CBR 600 custom", "3-1 skipped", "Dodge Neon 2003 crank", "Miata NB", "INVALID", "INVALID", "Subaru 7+6", "Jeep 18-2-2-2", "12crank/24cam", "Dodge Neon 1995 crank only", "Jeep XJ 4 cyl", "FiatIAQ_P8", "Mazda Z5", "INVALID", "Renix 44-2-2", "Renix 66-2-2-2", "Honda K 12+1", "INVALID", "36-2", "Subaru SVX", "Suzuki K6A", "Subaru 7 without 6", "INVALID", "INVALID", "GM 60-2-2-2", "Skoda Favorit", "Barra 3+1 Cam", "Kawa KX450F", "Nissan VQ35", "INVALID", "Nissan VQ30", "Nissan QR25", "INVALID", "Subaru SVX Crank 1", "Subaru SVX Cam VVT", "Ford PIP", "Suzuki G13B", "Honda K 4+1", "Nissan MR18 Crank", "32-2", "36-2-1", "36-2-1-1", "3-0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6-0", "Daihatsu 4 cylinder", "INVALID", "dev", "Nissan HR", "Arctic Cat", "HR12 in", "HONDA J30A2", "trg88", "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" trigger_customTotalToothCount = scalar, S32, 528, "number", 1, 0, 1, 300, 0 trigger_customSkippedToothCount = scalar, S32, 532, "number", 1, 0, 0, 300, 0 @@ -1796,7 +1796,10 @@ dynoCarCarMassKg = scalar, S16, 23268, "", 1, 0, 0, 32000, 0 dynoCarCargoMassKg = scalar, S16, 23270, "", 1, 0, 0, 32000, 0 dynoCarCoeffOfDrag = scalar, F32, 23272, "", 1, 0, 0, 100, 0 dynoCarFrontalAreaM2 = scalar, F32, 23276, "", 1, 0, 0, 100, 0 -; total TS size = 23280 +trailingSparkTable = array, S08, 23280, [4x4], "deg", 0.1, 0, 0, 20, 1 +trailingSparkRpmBins = array, U08, 23296, [4], "rpm", 50.0, 0, 0, 12000, 0 +trailingSparkLoadBins = array, U08, 23300, [4], "Load", 5.0, 0, 0, 1000, 0 +; total TS size = 23304 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1890,7 +1893,6 @@ dynoCarFrontalAreaM2 = scalar, F32, 23276, "", 1, 0, 0, 100, 0 fuelLevelSensor = "This is the processor pin that your fuel level sensor in connected to. This is a non standard input so will need to be user defined." tps2_1AdcChannel = "Second throttle body position sensor, single channel so far" idle_derivativeFilterLoss = "0.1 is a good default value" - trailingSparkAngle = "just a temporary solution" trigger_type = "https://github.com/rusefi/rusefi/wiki/All-Supported-Triggers" airByRpmTaper = "Extra air taper amount" boostControlSafeDutyCycle = "Duty cycle to use in case of a sensor failure. This duty cycle should produce the minimum possible amount of boost. This duty is also used in case any of the minimum RPM/TPS/MAP conditions are not met." @@ -2664,7 +2666,7 @@ dynoCarFrontalAreaM2 = scalar, F32, 23276, "", 1, 0, 0, 100, 0 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1808 + ochBlockSize = 1812 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3189,417 +3191,418 @@ dwellVoltageCorrection = scalar, F32, 940, "", 1, 0 luaTimingAdd = scalar, F32, 944, "deg", 1, 0 luaTimingMult = scalar, F32, 948, "deg", 1, 0 luaIgnitionSkip = bits, U32, 952, [0:0] -; total TS size = 956 -m_knockLevel = scalar, F32, 956, "Volts", 1, 0 -m_knockCyl1 = scalar, S08, 960, "dBv", 1, 0 -m_knockCyl2 = scalar, S08, 961, "dBv", 1, 0 -m_knockCyl3 = scalar, S08, 962, "dBv", 1, 0 -m_knockCyl4 = scalar, S08, 963, "dBv", 1, 0 -m_knockCyl5 = scalar, S08, 964, "dBv", 1, 0 -m_knockCyl6 = scalar, S08, 965, "dBv", 1, 0 -m_knockCyl7 = scalar, S08, 966, "dBv", 1, 0 -m_knockCyl8 = scalar, S08, 967, "dBv", 1, 0 -m_knockCyl9 = scalar, S08, 968, "dBv", 1, 0 -m_knockCyl10 = scalar, S08, 969, "dBv", 1, 0 -m_knockCyl11 = scalar, S08, 970, "dBv", 1, 0 -m_knockCyl12 = scalar, S08, 971, "dBv", 1, 0 -m_knockRetard = scalar, F32, 972, "deg", 1,0 -m_knockThreshold = scalar, F32, 976, "", 1, 0 -m_knockCount = scalar, U32, 980, "", 1, 0 -m_maximumRetard = scalar, F32, 984, "", 1, 0 -m_knockSpectrum1 = scalar, U32, 988, "compressed data", 1, 0 -m_knockSpectrum2 = scalar, U32, 992, "compressed data", 1, 0 -m_knockSpectrum3 = scalar, U32, 996, "compressed data", 1, 0 -m_knockSpectrum4 = scalar, U32, 1000, "compressed data", 1, 0 -m_knockSpectrum5 = scalar, U32, 1004, "compressed data", 1, 0 -m_knockSpectrum6 = scalar, U32, 1008, "compressed data", 1, 0 -m_knockSpectrum7 = scalar, U32, 1012, "compressed data", 1, 0 -m_knockSpectrum8 = scalar, U32, 1016, "compressed data", 1, 0 -m_knockSpectrum9 = scalar, U32, 1020, "compressed data", 1, 0 -m_knockSpectrum10 = scalar, U32, 1024, "compressed data", 1, 0 -m_knockSpectrum11 = scalar, U32, 1028, "compressed data", 1, 0 -m_knockSpectrum12 = scalar, U32, 1032, "compressed data", 1, 0 -m_knockSpectrum13 = scalar, U32, 1036, "compressed data", 1, 0 -m_knockSpectrum14 = scalar, U32, 1040, "compressed data", 1, 0 -m_knockSpectrum15 = scalar, U32, 1044, "compressed data", 1, 0 -m_knockSpectrum16 = scalar, U32, 1048, "compressed data", 1, 0 -m_knockSpectrumChannelCyl = scalar, U16, 1052, "compressed N + N", 1, 0 -m_knockFrequencyStart = scalar, U16, 1054, "Hz", 1, 0 -m_knockFrequencyStep = scalar, F32, 1056, "Hz", 1, 0 -m_knockFuelTrimMultiplier = scalar, F32, 1060, "multiplier", 1, 0 -; total TS size = 1064 -m_isPriming = bits, U32, 1064, [0:0] +trailingSparkAngle = scalar, S16, 956, "deg", 0.01,0 +; total TS size = 960 +m_knockLevel = scalar, F32, 960, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 964, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 965, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 966, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 967, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 968, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 969, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 970, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 971, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 972, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 973, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 974, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 975, "dBv", 1, 0 +m_knockRetard = scalar, F32, 976, "deg", 1,0 +m_knockThreshold = scalar, F32, 980, "", 1, 0 +m_knockCount = scalar, U32, 984, "", 1, 0 +m_maximumRetard = scalar, F32, 988, "", 1, 0 +m_knockSpectrum1 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1040, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1044, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1048, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1052, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1056, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1058, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1060, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1064, "multiplier", 1, 0 ; total TS size = 1068 -tcuCurrentGear = scalar, S08, 1068, "gear", 1, 0 -tcRatio = scalar, U16, 1070, "value", 0.01, 0 -lastShiftTime = scalar, F32, 1072, "", 1, 0 -tcu_currentRange = scalar, U08, 1076, "", 1, 0 -pressureControlDuty = scalar, S08, 1077, "%", 1,0 -torqueConverterDuty = scalar, S08, 1078, "%", 1,0 -isShifting = bits, U32, 1080, [0:0] -; total TS size = 1084 -throttleUseWotModel = bits, U32, 1084, [0:0] -throttleModelCrossoverAngle = scalar, S16, 1088, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1092, "g/s", 1, 0 -; total TS size = 1096 -m_requested_pump = scalar, F32, 1096, "", 1, 0 -fuel_requested_percent = scalar, F32, 1100, "%", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1104, "", 1, 0 -noValve = bits, U32, 1108, [0:0] -angleAboveMin = bits, U32, 1108, [1:1] -isHpfpActive = bits, U32, 1108, [2:2] -HpfpValveState = bits, U32, 1108, [3:3] -m_pressureTarget_kPa = scalar, F32, 1112, "", 1, 0 -nextLobe = scalar, F32, 1116, "", 1, 0 -di_nextStart = scalar, F32, 1120, "v", 1, 0 -HpfdActivationPhase = scalar, F32, 1124, "", 1, 0 -HpfdDeactivationPhase = scalar, F32, 1128, "", 1, 0 -; total TS size = 1132 -m_deadtime = scalar, F32, 1132, "ms", 1, 0 -pressureDelta = scalar, F32, 1136, "kPa", 1, 0 -pressureRatio = scalar, F32, 1140, "", 1, 0 -; total TS size = 1144 -retardThresholdRpm = scalar, S32, 1144, "", 1, 0 -launchActivatePinState = bits, U32, 1148, [0:0] -isPreLaunchCondition = bits, U32, 1148, [1:1] -isLaunchCondition = bits, U32, 1148, [2:2] -isSwitchActivated = bits, U32, 1148, [3:3] -isClutchActivated = bits, U32, 1148, [4:4] -isBrakePedalActivated = bits, U32, 1148, [5:5] -isValidInputPin = bits, U32, 1148, [6:6] -activateSwitchCondition = bits, U32, 1148, [7:7] -rpmLaunchCondition = bits, U32, 1148, [8:8] -rpmPreLaunchCondition = bits, U32, 1148, [9:9] -speedCondition = bits, U32, 1148, [10:10] -tpsCondition = bits, U32, 1148, [11:11] -; total TS size = 1152 -isTorqueReductionTriggerPinValid = bits, U32, 1152, [0:0] -torqueReductionTriggerPinState = bits, U32, 1152, [1:1] -isTimeConditionSatisfied = bits, U32, 1152, [2:2] -isRpmConditionSatisfied = bits, U32, 1152, [3:3] -isAppConditionSatisfied = bits, U32, 1152, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1152, [5:5] +m_isPriming = bits, U32, 1068, [0:0] +; total TS size = 1072 +tcuCurrentGear = scalar, S08, 1072, "gear", 1, 0 +tcRatio = scalar, U16, 1074, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1076, "", 1, 0 +tcu_currentRange = scalar, U08, 1080, "", 1, 0 +pressureControlDuty = scalar, S08, 1081, "%", 1,0 +torqueConverterDuty = scalar, S08, 1082, "%", 1,0 +isShifting = bits, U32, 1084, [0:0] +; total TS size = 1088 +throttleUseWotModel = bits, U32, 1088, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1092, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1096, "g/s", 1, 0 +; total TS size = 1100 +m_requested_pump = scalar, F32, 1100, "", 1, 0 +fuel_requested_percent = scalar, F32, 1104, "%", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1108, "", 1, 0 +noValve = bits, U32, 1112, [0:0] +angleAboveMin = bits, U32, 1112, [1:1] +isHpfpActive = bits, U32, 1112, [2:2] +HpfpValveState = bits, U32, 1112, [3:3] +m_pressureTarget_kPa = scalar, F32, 1116, "", 1, 0 +nextLobe = scalar, F32, 1120, "", 1, 0 +di_nextStart = scalar, F32, 1124, "v", 1, 0 +HpfdActivationPhase = scalar, F32, 1128, "", 1, 0 +HpfdDeactivationPhase = scalar, F32, 1132, "", 1, 0 +; total TS size = 1136 +m_deadtime = scalar, F32, 1136, "ms", 1, 0 +pressureDelta = scalar, F32, 1140, "kPa", 1, 0 +pressureRatio = scalar, F32, 1144, "", 1, 0 +; total TS size = 1148 +retardThresholdRpm = scalar, S32, 1148, "", 1, 0 +launchActivatePinState = bits, U32, 1152, [0:0] +isPreLaunchCondition = bits, U32, 1152, [1:1] +isLaunchCondition = bits, U32, 1152, [2:2] +isSwitchActivated = bits, U32, 1152, [3:3] +isClutchActivated = bits, U32, 1152, [4:4] +isBrakePedalActivated = bits, U32, 1152, [5:5] +isValidInputPin = bits, U32, 1152, [6:6] +activateSwitchCondition = bits, U32, 1152, [7:7] +rpmLaunchCondition = bits, U32, 1152, [8:8] +rpmPreLaunchCondition = bits, U32, 1152, [9:9] +speedCondition = bits, U32, 1152, [10:10] +tpsCondition = bits, U32, 1152, [11:11] ; total TS size = 1156 -isAntilagCondition = bits, U32, 1156, [0:0] -ALSMinRPMCondition = bits, U32, 1156, [1:1] -ALSMaxRPMCondition = bits, U32, 1156, [2:2] -ALSMinCLTCondition = bits, U32, 1156, [3:3] -ALSMaxCLTCondition = bits, U32, 1156, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1156, [5:5] -isALSSwitchActivated = bits, U32, 1156, [6:6] -ALSActivatePinState = bits, U32, 1156, [7:7] -ALSSwitchCondition = bits, U32, 1156, [8:8] -ALSTimerCondition = bits, U32, 1156, [9:9] -fuelALSCorrection = scalar, F32, 1160, "", 1, 0 -timingALSCorrection = scalar, S16, 1164, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1166, "deg", 0.01, 0 -; total TS size = 1168 -isTpsInvalid = bits, U32, 1168, [0:0] -m_shouldResetPid = bits, U32, 1168, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1168, [2:2] -isNotClosedLoop = bits, U32, 1168, [3:3] -isZeroRpm = bits, U32, 1168, [4:4] -hasInitBoost = bits, U32, 1168, [5:5] -rpmTooLow = bits, U32, 1168, [6:6] -tpsTooLow = bits, U32, 1168, [7:7] -mapTooLow = bits, U32, 1168, [8:8] -isPlantValid = bits, U32, 1168, [9:9] -isBoostControlled = bits, U32, 1168, [10:10] -luaTargetAdd = scalar, S16, 1172, "v", 0.5,0 -boostOutput = scalar, S16, 1174, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1176, "v", 1,0 -openLoopPart = scalar, F32, 1180, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1184, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1188, "%", 0.5,0 -boostControlTarget = scalar, S16, 1190, "kPa", 0.03333333333333333,0 -; total TS size = 1192 -acButtonState = scalar, S08, 1192, "", 1, 0 -m_acEnabled = bits, U32, 1196, [0:0] -engineTooSlow = bits, U32, 1196, [1:1] -engineTooFast = bits, U32, 1196, [2:2] -noClt = bits, U32, 1196, [3:3] -engineTooHot = bits, U32, 1196, [4:4] -tpsTooHigh = bits, U32, 1196, [5:5] -isDisabledByLua = bits, U32, 1196, [6:6] -acCompressorState = bits, U32, 1196, [7:7] -acPressureTooLow = bits, U32, 1196, [8:8] -acPressureTooHigh = bits, U32, 1196, [9:9] -; total TS size = 1200 -isNitrousArmed = bits, U32, 1200, [0:0] -isNitrousSpeedCondition = bits, U32, 1200, [1:1] -isNitrousTpsCondition = bits, U32, 1200, [2:2] -isNitrousCltCondition = bits, U32, 1200, [3:3] -isNitrousMapCondition = bits, U32, 1200, [4:4] -isNitrousAfrCondition = bits, U32, 1200, [5:5] -isNitrousRpmCondition = bits, U32, 1200, [6:6] -isNitrousCondition = bits, U32, 1200, [7:7] +isTorqueReductionTriggerPinValid = bits, U32, 1156, [0:0] +torqueReductionTriggerPinState = bits, U32, 1156, [1:1] +isTimeConditionSatisfied = bits, U32, 1156, [2:2] +isRpmConditionSatisfied = bits, U32, 1156, [3:3] +isAppConditionSatisfied = bits, U32, 1156, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1156, [5:5] +; total TS size = 1160 +isAntilagCondition = bits, U32, 1160, [0:0] +ALSMinRPMCondition = bits, U32, 1160, [1:1] +ALSMaxRPMCondition = bits, U32, 1160, [2:2] +ALSMinCLTCondition = bits, U32, 1160, [3:3] +ALSMaxCLTCondition = bits, U32, 1160, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1160, [5:5] +isALSSwitchActivated = bits, U32, 1160, [6:6] +ALSActivatePinState = bits, U32, 1160, [7:7] +ALSSwitchCondition = bits, U32, 1160, [8:8] +ALSTimerCondition = bits, U32, 1160, [9:9] +fuelALSCorrection = scalar, F32, 1164, "", 1, 0 +timingALSCorrection = scalar, S16, 1168, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1170, "deg", 0.01, 0 +; total TS size = 1172 +isTpsInvalid = bits, U32, 1172, [0:0] +m_shouldResetPid = bits, U32, 1172, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1172, [2:2] +isNotClosedLoop = bits, U32, 1172, [3:3] +isZeroRpm = bits, U32, 1172, [4:4] +hasInitBoost = bits, U32, 1172, [5:5] +rpmTooLow = bits, U32, 1172, [6:6] +tpsTooLow = bits, U32, 1172, [7:7] +mapTooLow = bits, U32, 1172, [8:8] +isPlantValid = bits, U32, 1172, [9:9] +isBoostControlled = bits, U32, 1172, [10:10] +luaTargetAdd = scalar, S16, 1176, "v", 0.5,0 +boostOutput = scalar, S16, 1178, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1180, "v", 1,0 +openLoopPart = scalar, F32, 1184, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1188, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1192, "%", 0.5,0 +boostControlTarget = scalar, S16, 1194, "kPa", 0.03333333333333333,0 +; total TS size = 1196 +acButtonState = scalar, S08, 1196, "", 1, 0 +m_acEnabled = bits, U32, 1200, [0:0] +engineTooSlow = bits, U32, 1200, [1:1] +engineTooFast = bits, U32, 1200, [2:2] +noClt = bits, U32, 1200, [3:3] +engineTooHot = bits, U32, 1200, [4:4] +tpsTooHigh = bits, U32, 1200, [5:5] +isDisabledByLua = bits, U32, 1200, [6:6] +acCompressorState = bits, U32, 1200, [7:7] +acPressureTooLow = bits, U32, 1200, [8:8] +acPressureTooHigh = bits, U32, 1200, [9:9] ; total TS size = 1204 -fan1cranking = bits, U32, 1204, [0:0] -fan1notRunning = bits, U32, 1204, [1:1] -fan1disabledWhileEngineStopped = bits, U32, 1204, [2:2] -fan1brokenClt = bits, U32, 1204, [3:3] -fan1enabledForAc = bits, U32, 1204, [4:4] -fan1hot = bits, U32, 1204, [5:5] -fan1cold = bits, U32, 1204, [6:6] -fan1disabledBySpeed = bits, U32, 1204, [7:7] -fan1m_state = bits, U32, 1204, [8:8] -fan1radiatorFanStatus = scalar, U08, 1208, "", 1, 0 -; total TS size = 1212 -fan2cranking = bits, U32, 1212, [0:0] -fan2notRunning = bits, U32, 1212, [1:1] -fan2disabledWhileEngineStopped = bits, U32, 1212, [2:2] -fan2brokenClt = bits, U32, 1212, [3:3] -fan2enabledForAc = bits, U32, 1212, [4:4] -fan2hot = bits, U32, 1212, [5:5] -fan2cold = bits, U32, 1212, [6:6] -fan2disabledBySpeed = bits, U32, 1212, [7:7] -fan2m_state = bits, U32, 1212, [8:8] -fan2radiatorFanStatus = scalar, U08, 1216, "", 1, 0 -; total TS size = 1220 -isPrime = bits, U32, 1220, [0:0] -engineTurnedRecently = bits, U32, 1220, [1:1] -isFuelPumpOn = bits, U32, 1220, [2:2] -ignitionOn = bits, U32, 1220, [3:3] +isNitrousArmed = bits, U32, 1204, [0:0] +isNitrousSpeedCondition = bits, U32, 1204, [1:1] +isNitrousTpsCondition = bits, U32, 1204, [2:2] +isNitrousCltCondition = bits, U32, 1204, [3:3] +isNitrousMapCondition = bits, U32, 1204, [4:4] +isNitrousAfrCondition = bits, U32, 1204, [5:5] +isNitrousRpmCondition = bits, U32, 1204, [6:6] +isNitrousCondition = bits, U32, 1204, [7:7] +; total TS size = 1208 +fan1cranking = bits, U32, 1208, [0:0] +fan1notRunning = bits, U32, 1208, [1:1] +fan1disabledWhileEngineStopped = bits, U32, 1208, [2:2] +fan1brokenClt = bits, U32, 1208, [3:3] +fan1enabledForAc = bits, U32, 1208, [4:4] +fan1hot = bits, U32, 1208, [5:5] +fan1cold = bits, U32, 1208, [6:6] +fan1disabledBySpeed = bits, U32, 1208, [7:7] +fan1m_state = bits, U32, 1208, [8:8] +fan1radiatorFanStatus = scalar, U08, 1212, "", 1, 0 +; total TS size = 1216 +fan2cranking = bits, U32, 1216, [0:0] +fan2notRunning = bits, U32, 1216, [1:1] +fan2disabledWhileEngineStopped = bits, U32, 1216, [2:2] +fan2brokenClt = bits, U32, 1216, [3:3] +fan2enabledForAc = bits, U32, 1216, [4:4] +fan2hot = bits, U32, 1216, [5:5] +fan2cold = bits, U32, 1216, [6:6] +fan2disabledBySpeed = bits, U32, 1216, [7:7] +fan2m_state = bits, U32, 1216, [8:8] +fan2radiatorFanStatus = scalar, U08, 1220, "", 1, 0 ; total TS size = 1224 -isBenchTest = bits, U32, 1224, [0:0] -hasIgnitionVoltage = bits, U32, 1224, [1:1] -mainRelayState = bits, U32, 1224, [2:2] -delayedShutoffRequested = bits, U32, 1224, [3:3] +isPrime = bits, U32, 1224, [0:0] +engineTurnedRecently = bits, U32, 1224, [1:1] +isFuelPumpOn = bits, U32, 1224, [2:2] +ignitionOn = bits, U32, 1224, [3:3] ; total TS size = 1228 -lua_fuelAdd = scalar, F32, 1228, "g", 1, 0 -lua_fuelMult = scalar, F32, 1232, "", 1, 0 -lua_clutchUpState = bits, U32, 1236, [0:0] -lua_brakePedalState = bits, U32, 1236, [1:1] -lua_acRequestState = bits, U32, 1236, [2:2] -lua_luaDisableEtb = bits, U32, 1236, [3:3] -lua_luaIgnCut = bits, U32, 1236, [4:4] -lua_luaFuelCut = bits, U32, 1236, [5:5] -lua_clutchDownState = bits, U32, 1236, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1236, [7:7] -lua_torqueReductionState = bits, U32, 1236, [8:8] -sd_tCharge = scalar, S16, 1240, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1244, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1248, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1252, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1256, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1260, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1264, "", 1, 0 -hellenBoardId = scalar, S16, 1268, "id", 1, 0 -clutchUpState = scalar, S08, 1270, "", 1, 0 -brakePedalState = scalar, S08, 1271, "", 1, 0 -startStopState = scalar, S08, 1272, "", 1, 0 -smartChipState = scalar, S08, 1273, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1274, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1275, "", 1, 0 -startStopPhysicalState = bits, U32, 1276, [0:0] -acrActive = bits, U32, 1276, [1:1] -acrEngineMovedRecently = bits, U32, 1276, [2:2] -heaterControlEnabled = bits, U32, 1276, [3:3] -luaDigitalState0 = bits, U32, 1276, [4:4] -luaDigitalState1 = bits, U32, 1276, [5:5] -luaDigitalState2 = bits, U32, 1276, [6:6] -luaDigitalState3 = bits, U32, 1276, [7:7] -clutchDownState = bits, U32, 1276, [8:8] -startStopStateToggleCounter = scalar, U32, 1280, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1284, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1288, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1292, "", 1, 0 -fuelInjectionCounter = scalar, U32, 1296, "", 1, 0 -globalSparkCounter = scalar, U32, 1300, "", 1, 0 -fuelingLoad = scalar, F32, 1304, "", 1, 0 -ignitionLoad = scalar, F32, 1308, "", 1, 0 -veTableYAxis = scalar, U16, 1312, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1314, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1315, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1316, "", 1, 0 -; total TS size = 1320 -tpsFrom = scalar, F32, 1320 -tpsTo = scalar, F32, 1324 -deltaTps = scalar, F32, 1328 -extraFuel = scalar, F32, 1332, "", 1, 0 -valueFromTable = scalar, F32, 1336, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1340, [0:0] -isBelowDecelThreshold = bits, U32, 1340, [1:1] -isTimeToResetAccumulator = bits, U32, 1340, [2:2] -isFractionalEnrichment = bits, U32, 1340, [3:3] -belowEpsilon = bits, U32, 1340, [4:4] -tooShort = bits, U32, 1340, [5:5] -fractionalInjFuel = scalar, F32, 1344, "", 1, 0 -accumulatedValue = scalar, F32, 1348, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1352, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1356, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1360, "", 1, 0 -cycleCnt = scalar, S32, 1364, "", 1, 0 -; total TS size = 1368 -hwEventCounters1 = scalar, U16, 1368, "", 1, 0 -hwEventCounters2 = scalar, U16, 1370, "", 1, 0 -hwEventCounters3 = scalar, U16, 1372, "", 1, 0 -hwEventCounters4 = scalar, U16, 1374, "", 1, 0 -vvtCamCounter = scalar, U16, 1376, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1380, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1384, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1388, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1389, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1392, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1396, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1400, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1404, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1408, [0:0] -triggerElapsedUs = scalar, U32, 1412, "", 1, 0 -; total TS size = 1416 -trgsynchronizationCounter = scalar, U32, 1416, "", 1, 0 -trgvvtToothDurations0 = scalar, U32, 1420, "us", 1, 0 -trgvvtCurrentPosition = scalar, F32, 1424, "", 1, 0 -trgvvtToothPosition1 = scalar, F32, 1428, "", 1, 0 -trgvvtToothPosition2 = scalar, F32, 1432, "", 1, 0 -trgvvtToothPosition3 = scalar, F32, 1436, "", 1, 0 -trgvvtToothPosition4 = scalar, F32, 1440, "", 1, 0 -trgtriggerSyncGapRatio = scalar, F32, 1444, "", 1, 0 -trgtriggerStateIndex = scalar, U08, 1448, "", 1, 0 -; total TS size = 1452 -vvt1isynchronizationCounter = scalar, U32, 1452, "", 1, 0 -vvt1ivvtToothDurations0 = scalar, U32, 1456, "us", 1, 0 -vvt1ivvtCurrentPosition = scalar, F32, 1460, "", 1, 0 -vvt1ivvtToothPosition1 = scalar, F32, 1464, "", 1, 0 -vvt1ivvtToothPosition2 = scalar, F32, 1468, "", 1, 0 -vvt1ivvtToothPosition3 = scalar, F32, 1472, "", 1, 0 -vvt1ivvtToothPosition4 = scalar, F32, 1476, "", 1, 0 -vvt1itriggerSyncGapRatio = scalar, F32, 1480, "", 1, 0 -vvt1itriggerStateIndex = scalar, U08, 1484, "", 1, 0 -; total TS size = 1488 -vvt1esynchronizationCounter = scalar, U32, 1488, "", 1, 0 -vvt1evvtToothDurations0 = scalar, U32, 1492, "us", 1, 0 -vvt1evvtCurrentPosition = scalar, F32, 1496, "", 1, 0 -vvt1evvtToothPosition1 = scalar, F32, 1500, "", 1, 0 -vvt1evvtToothPosition2 = scalar, F32, 1504, "", 1, 0 -vvt1evvtToothPosition3 = scalar, F32, 1508, "", 1, 0 -vvt1evvtToothPosition4 = scalar, F32, 1512, "", 1, 0 -vvt1etriggerSyncGapRatio = scalar, F32, 1516, "", 1, 0 -vvt1etriggerStateIndex = scalar, U08, 1520, "", 1, 0 -; total TS size = 1524 -vvt2isynchronizationCounter = scalar, U32, 1524, "", 1, 0 -vvt2ivvtToothDurations0 = scalar, U32, 1528, "us", 1, 0 -vvt2ivvtCurrentPosition = scalar, F32, 1532, "", 1, 0 -vvt2ivvtToothPosition1 = scalar, F32, 1536, "", 1, 0 -vvt2ivvtToothPosition2 = scalar, F32, 1540, "", 1, 0 -vvt2ivvtToothPosition3 = scalar, F32, 1544, "", 1, 0 -vvt2ivvtToothPosition4 = scalar, F32, 1548, "", 1, 0 -vvt2itriggerSyncGapRatio = scalar, F32, 1552, "", 1, 0 -vvt2itriggerStateIndex = scalar, U08, 1556, "", 1, 0 -; total TS size = 1560 -vvt2esynchronizationCounter = scalar, U32, 1560, "", 1, 0 -vvt2evvtToothDurations0 = scalar, U32, 1564, "us", 1, 0 -vvt2evvtCurrentPosition = scalar, F32, 1568, "", 1, 0 -vvt2evvtToothPosition1 = scalar, F32, 1572, "", 1, 0 -vvt2evvtToothPosition2 = scalar, F32, 1576, "", 1, 0 -vvt2evvtToothPosition3 = scalar, F32, 1580, "", 1, 0 -vvt2evvtToothPosition4 = scalar, F32, 1584, "", 1, 0 -vvt2etriggerSyncGapRatio = scalar, F32, 1588, "", 1, 0 -vvt2etriggerStateIndex = scalar, U08, 1592, "", 1, 0 -; total TS size = 1596 -camResyncCounter = scalar, U08, 1596, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1600, [0:0] -; total TS size = 1604 -wallFuelCorrection = scalar, F32, 1604, "", 1, 0 -wallFuel = scalar, F32, 1608, "", 1, 0 -; total TS size = 1612 -idleState = bits, S32, 1612, [0:2], "not important" -currentIdlePosition = scalar, F32, 1616 -baseIdlePosition = scalar, F32, 1620 -idleClosedLoop = scalar, F32, 1624 -iacByTpsTaper = scalar, F32, 1628 -mightResetPid = bits, U32, 1632, [0:0] -shouldResetPid = bits, U32, 1632, [1:1] -wasResetPid = bits, U32, 1632, [2:2] -mustResetPid = bits, U32, 1632, [3:3] -isCranking = bits, U32, 1632, [4:4] -isIacTableForCoasting = bits, U32, 1632, [5:5] -notIdling = bits, U32, 1632, [6:6] -needReset = bits, U32, 1632, [7:7] -isInDeadZone = bits, U32, 1632, [8:8] -isBlipping = bits, U32, 1632, [9:9] -useClosedLoop = bits, U32, 1632, [10:10] -badTps = bits, U32, 1632, [11:11] -looksLikeRunning = bits, U32, 1632, [12:12] -looksLikeCoasting = bits, U32, 1632, [13:13] -looksLikeCrankToIdle = bits, U32, 1632, [14:14] -isIdleCoasting = bits, U32, 1632, [15:15] -isIdleClosedLoop = bits, U32, 1632, [16:16] -idleTarget = scalar, S32, 1636, "", 1, 0 -targetRpmByClt = scalar, S32, 1640, "", 1, 0 -targetRpmAc = scalar, S32, 1644, "", 1, 0 -iacByRpmTaper = scalar, F32, 1648 -luaAdd = scalar, F32, 1652 -; total TS size = 1656 -etb1targetWithIdlePosition = scalar, F32, 1656, "%", 1,0 -etb1trim = scalar, F32, 1660, "", 1, 0 -etb1luaAdjustment = scalar, F32, 1664, "%", 1,0 -etb1m_wastegatePosition = scalar, F32, 1668, "%", 1,0 -etb1etbFeedForward = scalar, F32, 1672 -etb1etbIntegralError = scalar, F32, 1676, "", 1, 0 -etb1etbCurrentTarget = scalar, F32, 1680, "%", 1, 0 -etb1m_adjustedTarget = scalar, S16, 1684, "%", 0.01, 0 -etb1etbRevLimitActive = bits, U32, 1688, [0:0] -etb1jamDetected = bits, U32, 1688, [1:1] -etb1validPlantPosition = bits, U32, 1688, [2:2] -etb1etbTpsErrorCounter = scalar, U16, 1692, "count", 1,0 -etb1etbPpsErrorCounter = scalar, U16, 1694, "count", 1,0 -etb1etbErrorCode = scalar, S08, 1696, "", 1, 0 -etb1etbErrorCodeBlinker = scalar, S08, 1697, "", 1, 0 -etb1tcEtbDrop = scalar, S08, 1698, "%", 1, 0 -etb1jamTimer = scalar, U16, 1700, "sec", 0.01, 0 -etb1adjustedEtbTarget = scalar, S08, 1702, "%", 1, 0 -etb1state = scalar, U08, 1703, "", 1, 0 -; total TS size = 1704 -etb2targetWithIdlePosition = scalar, F32, 1704, "%", 1,0 -etb2trim = scalar, F32, 1708, "", 1, 0 -etb2luaAdjustment = scalar, F32, 1712, "%", 1,0 -etb2m_wastegatePosition = scalar, F32, 1716, "%", 1,0 -etb2etbFeedForward = scalar, F32, 1720 -etb2etbIntegralError = scalar, F32, 1724, "", 1, 0 -etb2etbCurrentTarget = scalar, F32, 1728, "%", 1, 0 -etb2m_adjustedTarget = scalar, S16, 1732, "%", 0.01, 0 -etb2etbRevLimitActive = bits, U32, 1736, [0:0] -etb2jamDetected = bits, U32, 1736, [1:1] -etb2validPlantPosition = bits, U32, 1736, [2:2] -etb2etbTpsErrorCounter = scalar, U16, 1740, "count", 1,0 -etb2etbPpsErrorCounter = scalar, U16, 1742, "count", 1,0 -etb2etbErrorCode = scalar, S08, 1744, "", 1, 0 -etb2etbErrorCodeBlinker = scalar, S08, 1745, "", 1, 0 -etb2tcEtbDrop = scalar, S08, 1746, "%", 1, 0 -etb2jamTimer = scalar, U16, 1748, "sec", 0.01, 0 -etb2adjustedEtbTarget = scalar, S08, 1750, "%", 1, 0 -etb2state = scalar, U08, 1751, "", 1, 0 -; total TS size = 1752 -wb1faultCode = scalar, U08, 1752, "", 1, 0 -wb1heaterDuty = scalar, U08, 1753, "%", 1, 0 -wb1pumpDuty = scalar, U08, 1754, "%", 1, 0 -wb1tempC = scalar, U16, 1756, "C", 1, 0 -wb1nernstVoltage = scalar, U16, 1758, "V", 0.001, 0 -wb1esr = scalar, U16, 1760, "ohm", 1, 0 -; total TS size = 1764 -wb2faultCode = scalar, U08, 1764, "", 1, 0 -wb2heaterDuty = scalar, U08, 1765, "%", 1, 0 -wb2pumpDuty = scalar, U08, 1766, "%", 1, 0 -wb2tempC = scalar, U16, 1768, "C", 1, 0 -wb2nernstVoltage = scalar, U16, 1770, "V", 0.001, 0 -wb2esr = scalar, U16, 1772, "ohm", 1, 0 -; total TS size = 1776 -dcOutput0 = scalar, F32, 1776, "%", 1,0 -isEnabled0_int = scalar, U08, 1780, "%", 1,0 -isEnabled0 = bits, U32, 1784, [0:0] -; total TS size = 1788 -value0 = scalar, U16, 1788, "RAW", 1,0 -value1 = scalar, U16, 1790, "RAW", 1,0 -errorRate = scalar, F32, 1792, "% (don't belive me)", 1,0 -; total TS size = 1796 -vvtTarget = scalar, U16, 1796, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1798, "%", 0.5, 0 +isBenchTest = bits, U32, 1228, [0:0] +hasIgnitionVoltage = bits, U32, 1228, [1:1] +mainRelayState = bits, U32, 1228, [2:2] +delayedShutoffRequested = bits, U32, 1228, [3:3] +; total TS size = 1232 +lua_fuelAdd = scalar, F32, 1232, "g", 1, 0 +lua_fuelMult = scalar, F32, 1236, "", 1, 0 +lua_clutchUpState = bits, U32, 1240, [0:0] +lua_brakePedalState = bits, U32, 1240, [1:1] +lua_acRequestState = bits, U32, 1240, [2:2] +lua_luaDisableEtb = bits, U32, 1240, [3:3] +lua_luaIgnCut = bits, U32, 1240, [4:4] +lua_luaFuelCut = bits, U32, 1240, [5:5] +lua_clutchDownState = bits, U32, 1240, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1240, [7:7] +lua_torqueReductionState = bits, U32, 1240, [8:8] +sd_tCharge = scalar, S16, 1244, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1248, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1252, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1256, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1260, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1264, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1268, "", 1, 0 +hellenBoardId = scalar, S16, 1272, "id", 1, 0 +clutchUpState = scalar, S08, 1274, "", 1, 0 +brakePedalState = scalar, S08, 1275, "", 1, 0 +startStopState = scalar, S08, 1276, "", 1, 0 +smartChipState = scalar, S08, 1277, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1278, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1279, "", 1, 0 +startStopPhysicalState = bits, U32, 1280, [0:0] +acrActive = bits, U32, 1280, [1:1] +acrEngineMovedRecently = bits, U32, 1280, [2:2] +heaterControlEnabled = bits, U32, 1280, [3:3] +luaDigitalState0 = bits, U32, 1280, [4:4] +luaDigitalState1 = bits, U32, 1280, [5:5] +luaDigitalState2 = bits, U32, 1280, [6:6] +luaDigitalState3 = bits, U32, 1280, [7:7] +clutchDownState = bits, U32, 1280, [8:8] +startStopStateToggleCounter = scalar, U32, 1284, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1288, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1292, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1296, "", 1, 0 +fuelInjectionCounter = scalar, U32, 1300, "", 1, 0 +globalSparkCounter = scalar, U32, 1304, "", 1, 0 +fuelingLoad = scalar, F32, 1308, "", 1, 0 +ignitionLoad = scalar, F32, 1312, "", 1, 0 +veTableYAxis = scalar, U16, 1316, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1318, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1319, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1320, "", 1, 0 +; total TS size = 1324 +tpsFrom = scalar, F32, 1324 +tpsTo = scalar, F32, 1328 +deltaTps = scalar, F32, 1332 +extraFuel = scalar, F32, 1336, "", 1, 0 +valueFromTable = scalar, F32, 1340, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1344, [0:0] +isBelowDecelThreshold = bits, U32, 1344, [1:1] +isTimeToResetAccumulator = bits, U32, 1344, [2:2] +isFractionalEnrichment = bits, U32, 1344, [3:3] +belowEpsilon = bits, U32, 1344, [4:4] +tooShort = bits, U32, 1344, [5:5] +fractionalInjFuel = scalar, F32, 1348, "", 1, 0 +accumulatedValue = scalar, F32, 1352, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1356, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1360, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1364, "", 1, 0 +cycleCnt = scalar, S32, 1368, "", 1, 0 +; total TS size = 1372 +hwEventCounters1 = scalar, U16, 1372, "", 1, 0 +hwEventCounters2 = scalar, U16, 1374, "", 1, 0 +hwEventCounters3 = scalar, U16, 1376, "", 1, 0 +hwEventCounters4 = scalar, U16, 1378, "", 1, 0 +vvtCamCounter = scalar, U16, 1380, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1384, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1388, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1392, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1393, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1396, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1400, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1404, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1408, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1412, [0:0] +triggerElapsedUs = scalar, U32, 1416, "", 1, 0 +; total TS size = 1420 +trgsynchronizationCounter = scalar, U32, 1420, "", 1, 0 +trgvvtToothDurations0 = scalar, U32, 1424, "us", 1, 0 +trgvvtCurrentPosition = scalar, F32, 1428, "", 1, 0 +trgvvtToothPosition1 = scalar, F32, 1432, "", 1, 0 +trgvvtToothPosition2 = scalar, F32, 1436, "", 1, 0 +trgvvtToothPosition3 = scalar, F32, 1440, "", 1, 0 +trgvvtToothPosition4 = scalar, F32, 1444, "", 1, 0 +trgtriggerSyncGapRatio = scalar, F32, 1448, "", 1, 0 +trgtriggerStateIndex = scalar, U08, 1452, "", 1, 0 +; total TS size = 1456 +vvt1isynchronizationCounter = scalar, U32, 1456, "", 1, 0 +vvt1ivvtToothDurations0 = scalar, U32, 1460, "us", 1, 0 +vvt1ivvtCurrentPosition = scalar, F32, 1464, "", 1, 0 +vvt1ivvtToothPosition1 = scalar, F32, 1468, "", 1, 0 +vvt1ivvtToothPosition2 = scalar, F32, 1472, "", 1, 0 +vvt1ivvtToothPosition3 = scalar, F32, 1476, "", 1, 0 +vvt1ivvtToothPosition4 = scalar, F32, 1480, "", 1, 0 +vvt1itriggerSyncGapRatio = scalar, F32, 1484, "", 1, 0 +vvt1itriggerStateIndex = scalar, U08, 1488, "", 1, 0 +; total TS size = 1492 +vvt1esynchronizationCounter = scalar, U32, 1492, "", 1, 0 +vvt1evvtToothDurations0 = scalar, U32, 1496, "us", 1, 0 +vvt1evvtCurrentPosition = scalar, F32, 1500, "", 1, 0 +vvt1evvtToothPosition1 = scalar, F32, 1504, "", 1, 0 +vvt1evvtToothPosition2 = scalar, F32, 1508, "", 1, 0 +vvt1evvtToothPosition3 = scalar, F32, 1512, "", 1, 0 +vvt1evvtToothPosition4 = scalar, F32, 1516, "", 1, 0 +vvt1etriggerSyncGapRatio = scalar, F32, 1520, "", 1, 0 +vvt1etriggerStateIndex = scalar, U08, 1524, "", 1, 0 +; total TS size = 1528 +vvt2isynchronizationCounter = scalar, U32, 1528, "", 1, 0 +vvt2ivvtToothDurations0 = scalar, U32, 1532, "us", 1, 0 +vvt2ivvtCurrentPosition = scalar, F32, 1536, "", 1, 0 +vvt2ivvtToothPosition1 = scalar, F32, 1540, "", 1, 0 +vvt2ivvtToothPosition2 = scalar, F32, 1544, "", 1, 0 +vvt2ivvtToothPosition3 = scalar, F32, 1548, "", 1, 0 +vvt2ivvtToothPosition4 = scalar, F32, 1552, "", 1, 0 +vvt2itriggerSyncGapRatio = scalar, F32, 1556, "", 1, 0 +vvt2itriggerStateIndex = scalar, U08, 1560, "", 1, 0 +; total TS size = 1564 +vvt2esynchronizationCounter = scalar, U32, 1564, "", 1, 0 +vvt2evvtToothDurations0 = scalar, U32, 1568, "us", 1, 0 +vvt2evvtCurrentPosition = scalar, F32, 1572, "", 1, 0 +vvt2evvtToothPosition1 = scalar, F32, 1576, "", 1, 0 +vvt2evvtToothPosition2 = scalar, F32, 1580, "", 1, 0 +vvt2evvtToothPosition3 = scalar, F32, 1584, "", 1, 0 +vvt2evvtToothPosition4 = scalar, F32, 1588, "", 1, 0 +vvt2etriggerSyncGapRatio = scalar, F32, 1592, "", 1, 0 +vvt2etriggerStateIndex = scalar, U08, 1596, "", 1, 0 +; total TS size = 1600 +camResyncCounter = scalar, U08, 1600, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1604, [0:0] +; total TS size = 1608 +wallFuelCorrection = scalar, F32, 1608, "", 1, 0 +wallFuel = scalar, F32, 1612, "", 1, 0 +; total TS size = 1616 +idleState = bits, S32, 1616, [0:2], "not important" +currentIdlePosition = scalar, F32, 1620 +baseIdlePosition = scalar, F32, 1624 +idleClosedLoop = scalar, F32, 1628 +iacByTpsTaper = scalar, F32, 1632 +mightResetPid = bits, U32, 1636, [0:0] +shouldResetPid = bits, U32, 1636, [1:1] +wasResetPid = bits, U32, 1636, [2:2] +mustResetPid = bits, U32, 1636, [3:3] +isCranking = bits, U32, 1636, [4:4] +isIacTableForCoasting = bits, U32, 1636, [5:5] +notIdling = bits, U32, 1636, [6:6] +needReset = bits, U32, 1636, [7:7] +isInDeadZone = bits, U32, 1636, [8:8] +isBlipping = bits, U32, 1636, [9:9] +useClosedLoop = bits, U32, 1636, [10:10] +badTps = bits, U32, 1636, [11:11] +looksLikeRunning = bits, U32, 1636, [12:12] +looksLikeCoasting = bits, U32, 1636, [13:13] +looksLikeCrankToIdle = bits, U32, 1636, [14:14] +isIdleCoasting = bits, U32, 1636, [15:15] +isIdleClosedLoop = bits, U32, 1636, [16:16] +idleTarget = scalar, S32, 1640, "", 1, 0 +targetRpmByClt = scalar, S32, 1644, "", 1, 0 +targetRpmAc = scalar, S32, 1648, "", 1, 0 +iacByRpmTaper = scalar, F32, 1652 +luaAdd = scalar, F32, 1656 +; total TS size = 1660 +etb1targetWithIdlePosition = scalar, F32, 1660, "%", 1,0 +etb1trim = scalar, F32, 1664, "", 1, 0 +etb1luaAdjustment = scalar, F32, 1668, "%", 1,0 +etb1m_wastegatePosition = scalar, F32, 1672, "%", 1,0 +etb1etbFeedForward = scalar, F32, 1676 +etb1etbIntegralError = scalar, F32, 1680, "", 1, 0 +etb1etbCurrentTarget = scalar, F32, 1684, "%", 1, 0 +etb1m_adjustedTarget = scalar, S16, 1688, "%", 0.01, 0 +etb1etbRevLimitActive = bits, U32, 1692, [0:0] +etb1jamDetected = bits, U32, 1692, [1:1] +etb1validPlantPosition = bits, U32, 1692, [2:2] +etb1etbTpsErrorCounter = scalar, U16, 1696, "count", 1,0 +etb1etbPpsErrorCounter = scalar, U16, 1698, "count", 1,0 +etb1etbErrorCode = scalar, S08, 1700, "", 1, 0 +etb1etbErrorCodeBlinker = scalar, S08, 1701, "", 1, 0 +etb1tcEtbDrop = scalar, S08, 1702, "%", 1, 0 +etb1jamTimer = scalar, U16, 1704, "sec", 0.01, 0 +etb1adjustedEtbTarget = scalar, S08, 1706, "%", 1, 0 +etb1state = scalar, U08, 1707, "", 1, 0 +; total TS size = 1708 +etb2targetWithIdlePosition = scalar, F32, 1708, "%", 1,0 +etb2trim = scalar, F32, 1712, "", 1, 0 +etb2luaAdjustment = scalar, F32, 1716, "%", 1,0 +etb2m_wastegatePosition = scalar, F32, 1720, "%", 1,0 +etb2etbFeedForward = scalar, F32, 1724 +etb2etbIntegralError = scalar, F32, 1728, "", 1, 0 +etb2etbCurrentTarget = scalar, F32, 1732, "%", 1, 0 +etb2m_adjustedTarget = scalar, S16, 1736, "%", 0.01, 0 +etb2etbRevLimitActive = bits, U32, 1740, [0:0] +etb2jamDetected = bits, U32, 1740, [1:1] +etb2validPlantPosition = bits, U32, 1740, [2:2] +etb2etbTpsErrorCounter = scalar, U16, 1744, "count", 1,0 +etb2etbPpsErrorCounter = scalar, U16, 1746, "count", 1,0 +etb2etbErrorCode = scalar, S08, 1748, "", 1, 0 +etb2etbErrorCodeBlinker = scalar, S08, 1749, "", 1, 0 +etb2tcEtbDrop = scalar, S08, 1750, "%", 1, 0 +etb2jamTimer = scalar, U16, 1752, "sec", 0.01, 0 +etb2adjustedEtbTarget = scalar, S08, 1754, "%", 1, 0 +etb2state = scalar, U08, 1755, "", 1, 0 +; total TS size = 1756 +wb1faultCode = scalar, U08, 1756, "", 1, 0 +wb1heaterDuty = scalar, U08, 1757, "%", 1, 0 +wb1pumpDuty = scalar, U08, 1758, "%", 1, 0 +wb1tempC = scalar, U16, 1760, "C", 1, 0 +wb1nernstVoltage = scalar, U16, 1762, "V", 0.001, 0 +wb1esr = scalar, U16, 1764, "ohm", 1, 0 +; total TS size = 1768 +wb2faultCode = scalar, U08, 1768, "", 1, 0 +wb2heaterDuty = scalar, U08, 1769, "%", 1, 0 +wb2pumpDuty = scalar, U08, 1770, "%", 1, 0 +wb2tempC = scalar, U16, 1772, "C", 1, 0 +wb2nernstVoltage = scalar, U16, 1774, "V", 0.001, 0 +wb2esr = scalar, U16, 1776, "ohm", 1, 0 +; total TS size = 1780 +dcOutput0 = scalar, F32, 1780, "%", 1,0 +isEnabled0_int = scalar, U08, 1784, "%", 1,0 +isEnabled0 = bits, U32, 1788, [0:0] +; total TS size = 1792 +value0 = scalar, U16, 1792, "RAW", 1,0 +value1 = scalar, U16, 1794, "RAW", 1,0 +errorRate = scalar, F32, 1796, "% (don't belive me)", 1,0 ; total TS size = 1800 -lambdaCurrentlyGood = bits, U32, 1800, [0:0] -lambdaMonitorCut = bits, U32, 1800, [1:1] -lambdaTimeSinceGood = scalar, U16, 1804, "sec", 0.01, 0 -; total TS size = 1808 +vvtTarget = scalar, U16, 1800, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1802, "%", 0.5, 0 +; total TS size = 1804 +lambdaCurrentlyGood = bits, U32, 1804, [0:0] +lambdaMonitorCut = bits, U32, 1804, [1:1] +lambdaTimeSinceGood = scalar, U16, 1808, "sec", 0.01, 0 +; total TS size = 1812 time = { timeNow } @@ -4584,6 +4587,12 @@ curve = rangeMatrix, "Range Switch Input Matrix" gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. upDownLabel = "(RICHER)", "(LEANER)" + table = trailingSparkTable, trailingSparkMap, "Trailing spark", 1 + xyLabels = "RPM", "Ignition Load" + xBins = trailingSparkRpmBins, RPMValue + yBins = trailingSparkLoadBins, ignitionLoad + zBins = trailingSparkTable + table = torqueTableTbl, torqueTableMap, "Engine Torque", 1 xBins = torqueRpmBins, RPMValue yBins = torqueLoadBins, veTableYAxis @@ -4881,6 +4890,7 @@ timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20 timingPidCorrectionGauge = timingPidCorrection,"Idle: Timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 +trailingSparkAngleGauge = trailingSparkAngle,"Ign: Trailing spark deg", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 gaugeCategory = "Boost Control" luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 @@ -5811,6 +5821,7 @@ entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" entry = luaIgnitionSkip, "Ign: Lua Spark Skip", int, "%d" +entry = trailingSparkAngle, "Ign: Trailing spark deg", float, "%.3f" entry = m_knockLevel, "Knock: Current level", float, "%.3f" entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" @@ -6760,6 +6771,7 @@ dialog = ignition_stateDialog, "ignition_state" graphLine = luaTimingAdd liveGraph = ignition_state_4_Graph, "Graph", South graphLine = luaTimingMult + graphLine = trailingSparkAngle dialog = knock_controllerDialog, "knock_controller" @@ -10069,11 +10081,11 @@ dialog = tcuControls, "Transmission Settings" dialog = rotaryDialog, "Rotary" field = "Enable Trailing Sparks", enableTrailingSparks - field = "Trailing Spark Offset", trailingSparkAngle field = "Trailing Pin 1", trailingCoilPins1 field = "Trailing Pin 2", trailingCoilPins2 field = "Trailing Pin 3", trailingCoilPins3 field = "Trailing Pin 4", trailingCoilPins4 + panel = trailingSparkTable diff --git a/firmware/tunerstudio/generated/rusefi_m74_9.ini b/firmware/tunerstudio/generated/rusefi_m74_9.ini index cb31894de4..eec049a0c7 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.2025.02.07.m74_9.882353673" + signature = "rusEFI master.2025.02.07.m74_9.3004442980" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2025.02.07.m74_9.882353673" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2025.02.07.m74_9.3004442980" ; 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 @@ -101,7 +101,7 @@ enable2ndByteCanID = false ; CONFIG_DEFINITION_START ; this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt -pageSize = 22736 +pageSize = 22760 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",22="BMW_M52",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",21="ET_BOSCH_QUICK_START",24="ET_TEST_WITH_BOSCH_QUICK_START",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",41="FRANKENSO_MIATA_NA6_MAP",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",47="GM_LCV",55="GM_LTG",98="GM_SBC",49="GM_SBC_GEN5",8="GY6_139QMB",6="HARLEY",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",34="MAZDA_MIATA_NA6",80="MAZDA_MIATA_NA94",10="MAZDA_MIATA_NA96",83="MAZDA_MIATA_NB1",69="MAZDA_MIATA_NB2",86="MAZDA_MIATA_NB2_36",20="MAZDA_MIATA_NC",33="ME17_9_MISC",68="MERCEDES_M111",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",4="MRE_SECONDARY_CAN",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",35="POLARIS",9="POLARIS_RZR",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",27="PROTEUS_GM_LS_4",25="PROTEUS_LUA_DEMO",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",17="TCU_4R70W",100="TEST_100",101="TEST_101",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",93="TEST_ISSUE_6451",19="TEST_ROTARY",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",102="UNUSED102",67="UNUSED67",94="UNUSED94",65="UNUSED_65",97="UNUSED_97",77="VAG_5_CYL",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -245,7 +245,7 @@ vbattAdcChannel = bits, U08, 513, [0:5], $adc_channel_e_list fuelLevelSensor = bits, U08, 514, [0:5], $adc_channel_e_list tps2_1AdcChannel = bits, U08, 515, [0:5], $adc_channel_e_list idle_derivativeFilterLoss = scalar, F32, 516, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 520, "angle", 1, 0, 0, 720, 0 +unusedTrailingSparkAngle = scalar, S32, 520, "", 1, 0, 0, 100, 0 trigger_type = bits, U32, 524, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Daihatsu 3 cylinder", "Mazda SOHC 4", "60-2", "36-1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "Dodge Ram 1+16", "60-2 Wrong Polarity", "Benelli Tre", "Dodge Stratus", "36_2_2_2", "Nissan Primera", "dev 2JZ 3/34 simulator", "Rover K", "GM 24x 5 degree", "Honda CBR 600 Cam", "INVALID", "Honda CBR 600 custom", "3-1 skipped", "Dodge Neon 2003 crank", "Miata NB", "INVALID", "INVALID", "Subaru 7+6", "Jeep 18-2-2-2", "12crank/24cam", "Dodge Neon 1995 crank only", "Jeep XJ 4 cyl", "FiatIAQ_P8", "Mazda Z5", "INVALID", "Renix 44-2-2", "Renix 66-2-2-2", "Honda K 12+1", "INVALID", "36-2", "Subaru SVX", "Suzuki K6A", "Subaru 7 without 6", "INVALID", "INVALID", "GM 60-2-2-2", "Skoda Favorit", "Barra 3+1 Cam", "Kawa KX450F", "Nissan VQ35", "INVALID", "Nissan VQ30", "Nissan QR25", "INVALID", "Subaru SVX Crank 1", "Subaru SVX Cam VVT", "Ford PIP", "Suzuki G13B", "Honda K 4+1", "Nissan MR18 Crank", "32-2", "36-2-1", "36-2-1-1", "3-0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6-0", "Daihatsu 4 cylinder", "INVALID", "dev", "Nissan HR", "Arctic Cat", "HR12 in", "HONDA J30A2", "trg88", "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" trigger_customTotalToothCount = scalar, S32, 528, "number", 1, 0, 1, 300, 0 trigger_customSkippedToothCount = scalar, S32, 532, "number", 1, 0, 0, 300, 0 @@ -1796,7 +1796,10 @@ dynoCarCarMassKg = scalar, S16, 22724, "", 1, 0, 0, 32000, 0 dynoCarCargoMassKg = scalar, S16, 22726, "", 1, 0, 0, 32000, 0 dynoCarCoeffOfDrag = scalar, F32, 22728, "", 1, 0, 0, 100, 0 dynoCarFrontalAreaM2 = scalar, F32, 22732, "", 1, 0, 0, 100, 0 -; total TS size = 22736 +trailingSparkTable = array, S08, 22736, [4x4], "deg", 0.1, 0, 0, 20, 1 +trailingSparkRpmBins = array, U08, 22752, [4], "rpm", 50.0, 0, 0, 12000, 0 +trailingSparkLoadBins = array, U08, 22756, [4], "Load", 5.0, 0, 0, 1000, 0 +; total TS size = 22760 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1890,7 +1893,6 @@ dynoCarFrontalAreaM2 = scalar, F32, 22732, "", 1, 0, 0, 100, 0 fuelLevelSensor = "This is the processor pin that your fuel level sensor in connected to. This is a non standard input so will need to be user defined." tps2_1AdcChannel = "Second throttle body position sensor, single channel so far" idle_derivativeFilterLoss = "0.1 is a good default value" - trailingSparkAngle = "just a temporary solution" trigger_type = "https://github.com/rusefi/rusefi/wiki/All-Supported-Triggers" airByRpmTaper = "Extra air taper amount" boostControlSafeDutyCycle = "Duty cycle to use in case of a sensor failure. This duty cycle should produce the minimum possible amount of boost. This duty is also used in case any of the minimum RPM/TPS/MAP conditions are not met." @@ -2664,7 +2666,7 @@ dynoCarFrontalAreaM2 = scalar, F32, 22732, "", 1, 0, 0, 100, 0 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1808 + ochBlockSize = 1812 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3189,417 +3191,418 @@ dwellVoltageCorrection = scalar, F32, 940, "", 1, 0 luaTimingAdd = scalar, F32, 944, "deg", 1, 0 luaTimingMult = scalar, F32, 948, "deg", 1, 0 luaIgnitionSkip = bits, U32, 952, [0:0] -; total TS size = 956 -m_knockLevel = scalar, F32, 956, "Volts", 1, 0 -m_knockCyl1 = scalar, S08, 960, "dBv", 1, 0 -m_knockCyl2 = scalar, S08, 961, "dBv", 1, 0 -m_knockCyl3 = scalar, S08, 962, "dBv", 1, 0 -m_knockCyl4 = scalar, S08, 963, "dBv", 1, 0 -m_knockCyl5 = scalar, S08, 964, "dBv", 1, 0 -m_knockCyl6 = scalar, S08, 965, "dBv", 1, 0 -m_knockCyl7 = scalar, S08, 966, "dBv", 1, 0 -m_knockCyl8 = scalar, S08, 967, "dBv", 1, 0 -m_knockCyl9 = scalar, S08, 968, "dBv", 1, 0 -m_knockCyl10 = scalar, S08, 969, "dBv", 1, 0 -m_knockCyl11 = scalar, S08, 970, "dBv", 1, 0 -m_knockCyl12 = scalar, S08, 971, "dBv", 1, 0 -m_knockRetard = scalar, F32, 972, "deg", 1,0 -m_knockThreshold = scalar, F32, 976, "", 1, 0 -m_knockCount = scalar, U32, 980, "", 1, 0 -m_maximumRetard = scalar, F32, 984, "", 1, 0 -m_knockSpectrum1 = scalar, U32, 988, "compressed data", 1, 0 -m_knockSpectrum2 = scalar, U32, 992, "compressed data", 1, 0 -m_knockSpectrum3 = scalar, U32, 996, "compressed data", 1, 0 -m_knockSpectrum4 = scalar, U32, 1000, "compressed data", 1, 0 -m_knockSpectrum5 = scalar, U32, 1004, "compressed data", 1, 0 -m_knockSpectrum6 = scalar, U32, 1008, "compressed data", 1, 0 -m_knockSpectrum7 = scalar, U32, 1012, "compressed data", 1, 0 -m_knockSpectrum8 = scalar, U32, 1016, "compressed data", 1, 0 -m_knockSpectrum9 = scalar, U32, 1020, "compressed data", 1, 0 -m_knockSpectrum10 = scalar, U32, 1024, "compressed data", 1, 0 -m_knockSpectrum11 = scalar, U32, 1028, "compressed data", 1, 0 -m_knockSpectrum12 = scalar, U32, 1032, "compressed data", 1, 0 -m_knockSpectrum13 = scalar, U32, 1036, "compressed data", 1, 0 -m_knockSpectrum14 = scalar, U32, 1040, "compressed data", 1, 0 -m_knockSpectrum15 = scalar, U32, 1044, "compressed data", 1, 0 -m_knockSpectrum16 = scalar, U32, 1048, "compressed data", 1, 0 -m_knockSpectrumChannelCyl = scalar, U16, 1052, "compressed N + N", 1, 0 -m_knockFrequencyStart = scalar, U16, 1054, "Hz", 1, 0 -m_knockFrequencyStep = scalar, F32, 1056, "Hz", 1, 0 -m_knockFuelTrimMultiplier = scalar, F32, 1060, "multiplier", 1, 0 -; total TS size = 1064 -m_isPriming = bits, U32, 1064, [0:0] +trailingSparkAngle = scalar, S16, 956, "deg", 0.01,0 +; total TS size = 960 +m_knockLevel = scalar, F32, 960, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 964, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 965, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 966, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 967, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 968, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 969, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 970, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 971, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 972, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 973, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 974, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 975, "dBv", 1, 0 +m_knockRetard = scalar, F32, 976, "deg", 1,0 +m_knockThreshold = scalar, F32, 980, "", 1, 0 +m_knockCount = scalar, U32, 984, "", 1, 0 +m_maximumRetard = scalar, F32, 988, "", 1, 0 +m_knockSpectrum1 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1040, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1044, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1048, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1052, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1056, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1058, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1060, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1064, "multiplier", 1, 0 ; total TS size = 1068 -tcuCurrentGear = scalar, S08, 1068, "gear", 1, 0 -tcRatio = scalar, U16, 1070, "value", 0.01, 0 -lastShiftTime = scalar, F32, 1072, "", 1, 0 -tcu_currentRange = scalar, U08, 1076, "", 1, 0 -pressureControlDuty = scalar, S08, 1077, "%", 1,0 -torqueConverterDuty = scalar, S08, 1078, "%", 1,0 -isShifting = bits, U32, 1080, [0:0] -; total TS size = 1084 -throttleUseWotModel = bits, U32, 1084, [0:0] -throttleModelCrossoverAngle = scalar, S16, 1088, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1092, "g/s", 1, 0 -; total TS size = 1096 -m_requested_pump = scalar, F32, 1096, "", 1, 0 -fuel_requested_percent = scalar, F32, 1100, "%", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1104, "", 1, 0 -noValve = bits, U32, 1108, [0:0] -angleAboveMin = bits, U32, 1108, [1:1] -isHpfpActive = bits, U32, 1108, [2:2] -HpfpValveState = bits, U32, 1108, [3:3] -m_pressureTarget_kPa = scalar, F32, 1112, "", 1, 0 -nextLobe = scalar, F32, 1116, "", 1, 0 -di_nextStart = scalar, F32, 1120, "v", 1, 0 -HpfdActivationPhase = scalar, F32, 1124, "", 1, 0 -HpfdDeactivationPhase = scalar, F32, 1128, "", 1, 0 -; total TS size = 1132 -m_deadtime = scalar, F32, 1132, "ms", 1, 0 -pressureDelta = scalar, F32, 1136, "kPa", 1, 0 -pressureRatio = scalar, F32, 1140, "", 1, 0 -; total TS size = 1144 -retardThresholdRpm = scalar, S32, 1144, "", 1, 0 -launchActivatePinState = bits, U32, 1148, [0:0] -isPreLaunchCondition = bits, U32, 1148, [1:1] -isLaunchCondition = bits, U32, 1148, [2:2] -isSwitchActivated = bits, U32, 1148, [3:3] -isClutchActivated = bits, U32, 1148, [4:4] -isBrakePedalActivated = bits, U32, 1148, [5:5] -isValidInputPin = bits, U32, 1148, [6:6] -activateSwitchCondition = bits, U32, 1148, [7:7] -rpmLaunchCondition = bits, U32, 1148, [8:8] -rpmPreLaunchCondition = bits, U32, 1148, [9:9] -speedCondition = bits, U32, 1148, [10:10] -tpsCondition = bits, U32, 1148, [11:11] -; total TS size = 1152 -isTorqueReductionTriggerPinValid = bits, U32, 1152, [0:0] -torqueReductionTriggerPinState = bits, U32, 1152, [1:1] -isTimeConditionSatisfied = bits, U32, 1152, [2:2] -isRpmConditionSatisfied = bits, U32, 1152, [3:3] -isAppConditionSatisfied = bits, U32, 1152, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1152, [5:5] +m_isPriming = bits, U32, 1068, [0:0] +; total TS size = 1072 +tcuCurrentGear = scalar, S08, 1072, "gear", 1, 0 +tcRatio = scalar, U16, 1074, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1076, "", 1, 0 +tcu_currentRange = scalar, U08, 1080, "", 1, 0 +pressureControlDuty = scalar, S08, 1081, "%", 1,0 +torqueConverterDuty = scalar, S08, 1082, "%", 1,0 +isShifting = bits, U32, 1084, [0:0] +; total TS size = 1088 +throttleUseWotModel = bits, U32, 1088, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1092, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1096, "g/s", 1, 0 +; total TS size = 1100 +m_requested_pump = scalar, F32, 1100, "", 1, 0 +fuel_requested_percent = scalar, F32, 1104, "%", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1108, "", 1, 0 +noValve = bits, U32, 1112, [0:0] +angleAboveMin = bits, U32, 1112, [1:1] +isHpfpActive = bits, U32, 1112, [2:2] +HpfpValveState = bits, U32, 1112, [3:3] +m_pressureTarget_kPa = scalar, F32, 1116, "", 1, 0 +nextLobe = scalar, F32, 1120, "", 1, 0 +di_nextStart = scalar, F32, 1124, "v", 1, 0 +HpfdActivationPhase = scalar, F32, 1128, "", 1, 0 +HpfdDeactivationPhase = scalar, F32, 1132, "", 1, 0 +; total TS size = 1136 +m_deadtime = scalar, F32, 1136, "ms", 1, 0 +pressureDelta = scalar, F32, 1140, "kPa", 1, 0 +pressureRatio = scalar, F32, 1144, "", 1, 0 +; total TS size = 1148 +retardThresholdRpm = scalar, S32, 1148, "", 1, 0 +launchActivatePinState = bits, U32, 1152, [0:0] +isPreLaunchCondition = bits, U32, 1152, [1:1] +isLaunchCondition = bits, U32, 1152, [2:2] +isSwitchActivated = bits, U32, 1152, [3:3] +isClutchActivated = bits, U32, 1152, [4:4] +isBrakePedalActivated = bits, U32, 1152, [5:5] +isValidInputPin = bits, U32, 1152, [6:6] +activateSwitchCondition = bits, U32, 1152, [7:7] +rpmLaunchCondition = bits, U32, 1152, [8:8] +rpmPreLaunchCondition = bits, U32, 1152, [9:9] +speedCondition = bits, U32, 1152, [10:10] +tpsCondition = bits, U32, 1152, [11:11] ; total TS size = 1156 -isAntilagCondition = bits, U32, 1156, [0:0] -ALSMinRPMCondition = bits, U32, 1156, [1:1] -ALSMaxRPMCondition = bits, U32, 1156, [2:2] -ALSMinCLTCondition = bits, U32, 1156, [3:3] -ALSMaxCLTCondition = bits, U32, 1156, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1156, [5:5] -isALSSwitchActivated = bits, U32, 1156, [6:6] -ALSActivatePinState = bits, U32, 1156, [7:7] -ALSSwitchCondition = bits, U32, 1156, [8:8] -ALSTimerCondition = bits, U32, 1156, [9:9] -fuelALSCorrection = scalar, F32, 1160, "", 1, 0 -timingALSCorrection = scalar, S16, 1164, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1166, "deg", 0.01, 0 -; total TS size = 1168 -isTpsInvalid = bits, U32, 1168, [0:0] -m_shouldResetPid = bits, U32, 1168, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1168, [2:2] -isNotClosedLoop = bits, U32, 1168, [3:3] -isZeroRpm = bits, U32, 1168, [4:4] -hasInitBoost = bits, U32, 1168, [5:5] -rpmTooLow = bits, U32, 1168, [6:6] -tpsTooLow = bits, U32, 1168, [7:7] -mapTooLow = bits, U32, 1168, [8:8] -isPlantValid = bits, U32, 1168, [9:9] -isBoostControlled = bits, U32, 1168, [10:10] -luaTargetAdd = scalar, S16, 1172, "v", 0.5,0 -boostOutput = scalar, S16, 1174, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1176, "v", 1,0 -openLoopPart = scalar, F32, 1180, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1184, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1188, "%", 0.5,0 -boostControlTarget = scalar, S16, 1190, "kPa", 0.03333333333333333,0 -; total TS size = 1192 -acButtonState = scalar, S08, 1192, "", 1, 0 -m_acEnabled = bits, U32, 1196, [0:0] -engineTooSlow = bits, U32, 1196, [1:1] -engineTooFast = bits, U32, 1196, [2:2] -noClt = bits, U32, 1196, [3:3] -engineTooHot = bits, U32, 1196, [4:4] -tpsTooHigh = bits, U32, 1196, [5:5] -isDisabledByLua = bits, U32, 1196, [6:6] -acCompressorState = bits, U32, 1196, [7:7] -acPressureTooLow = bits, U32, 1196, [8:8] -acPressureTooHigh = bits, U32, 1196, [9:9] -; total TS size = 1200 -isNitrousArmed = bits, U32, 1200, [0:0] -isNitrousSpeedCondition = bits, U32, 1200, [1:1] -isNitrousTpsCondition = bits, U32, 1200, [2:2] -isNitrousCltCondition = bits, U32, 1200, [3:3] -isNitrousMapCondition = bits, U32, 1200, [4:4] -isNitrousAfrCondition = bits, U32, 1200, [5:5] -isNitrousRpmCondition = bits, U32, 1200, [6:6] -isNitrousCondition = bits, U32, 1200, [7:7] +isTorqueReductionTriggerPinValid = bits, U32, 1156, [0:0] +torqueReductionTriggerPinState = bits, U32, 1156, [1:1] +isTimeConditionSatisfied = bits, U32, 1156, [2:2] +isRpmConditionSatisfied = bits, U32, 1156, [3:3] +isAppConditionSatisfied = bits, U32, 1156, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1156, [5:5] +; total TS size = 1160 +isAntilagCondition = bits, U32, 1160, [0:0] +ALSMinRPMCondition = bits, U32, 1160, [1:1] +ALSMaxRPMCondition = bits, U32, 1160, [2:2] +ALSMinCLTCondition = bits, U32, 1160, [3:3] +ALSMaxCLTCondition = bits, U32, 1160, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1160, [5:5] +isALSSwitchActivated = bits, U32, 1160, [6:6] +ALSActivatePinState = bits, U32, 1160, [7:7] +ALSSwitchCondition = bits, U32, 1160, [8:8] +ALSTimerCondition = bits, U32, 1160, [9:9] +fuelALSCorrection = scalar, F32, 1164, "", 1, 0 +timingALSCorrection = scalar, S16, 1168, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1170, "deg", 0.01, 0 +; total TS size = 1172 +isTpsInvalid = bits, U32, 1172, [0:0] +m_shouldResetPid = bits, U32, 1172, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1172, [2:2] +isNotClosedLoop = bits, U32, 1172, [3:3] +isZeroRpm = bits, U32, 1172, [4:4] +hasInitBoost = bits, U32, 1172, [5:5] +rpmTooLow = bits, U32, 1172, [6:6] +tpsTooLow = bits, U32, 1172, [7:7] +mapTooLow = bits, U32, 1172, [8:8] +isPlantValid = bits, U32, 1172, [9:9] +isBoostControlled = bits, U32, 1172, [10:10] +luaTargetAdd = scalar, S16, 1176, "v", 0.5,0 +boostOutput = scalar, S16, 1178, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1180, "v", 1,0 +openLoopPart = scalar, F32, 1184, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1188, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1192, "%", 0.5,0 +boostControlTarget = scalar, S16, 1194, "kPa", 0.03333333333333333,0 +; total TS size = 1196 +acButtonState = scalar, S08, 1196, "", 1, 0 +m_acEnabled = bits, U32, 1200, [0:0] +engineTooSlow = bits, U32, 1200, [1:1] +engineTooFast = bits, U32, 1200, [2:2] +noClt = bits, U32, 1200, [3:3] +engineTooHot = bits, U32, 1200, [4:4] +tpsTooHigh = bits, U32, 1200, [5:5] +isDisabledByLua = bits, U32, 1200, [6:6] +acCompressorState = bits, U32, 1200, [7:7] +acPressureTooLow = bits, U32, 1200, [8:8] +acPressureTooHigh = bits, U32, 1200, [9:9] ; total TS size = 1204 -fan1cranking = bits, U32, 1204, [0:0] -fan1notRunning = bits, U32, 1204, [1:1] -fan1disabledWhileEngineStopped = bits, U32, 1204, [2:2] -fan1brokenClt = bits, U32, 1204, [3:3] -fan1enabledForAc = bits, U32, 1204, [4:4] -fan1hot = bits, U32, 1204, [5:5] -fan1cold = bits, U32, 1204, [6:6] -fan1disabledBySpeed = bits, U32, 1204, [7:7] -fan1m_state = bits, U32, 1204, [8:8] -fan1radiatorFanStatus = scalar, U08, 1208, "", 1, 0 -; total TS size = 1212 -fan2cranking = bits, U32, 1212, [0:0] -fan2notRunning = bits, U32, 1212, [1:1] -fan2disabledWhileEngineStopped = bits, U32, 1212, [2:2] -fan2brokenClt = bits, U32, 1212, [3:3] -fan2enabledForAc = bits, U32, 1212, [4:4] -fan2hot = bits, U32, 1212, [5:5] -fan2cold = bits, U32, 1212, [6:6] -fan2disabledBySpeed = bits, U32, 1212, [7:7] -fan2m_state = bits, U32, 1212, [8:8] -fan2radiatorFanStatus = scalar, U08, 1216, "", 1, 0 -; total TS size = 1220 -isPrime = bits, U32, 1220, [0:0] -engineTurnedRecently = bits, U32, 1220, [1:1] -isFuelPumpOn = bits, U32, 1220, [2:2] -ignitionOn = bits, U32, 1220, [3:3] +isNitrousArmed = bits, U32, 1204, [0:0] +isNitrousSpeedCondition = bits, U32, 1204, [1:1] +isNitrousTpsCondition = bits, U32, 1204, [2:2] +isNitrousCltCondition = bits, U32, 1204, [3:3] +isNitrousMapCondition = bits, U32, 1204, [4:4] +isNitrousAfrCondition = bits, U32, 1204, [5:5] +isNitrousRpmCondition = bits, U32, 1204, [6:6] +isNitrousCondition = bits, U32, 1204, [7:7] +; total TS size = 1208 +fan1cranking = bits, U32, 1208, [0:0] +fan1notRunning = bits, U32, 1208, [1:1] +fan1disabledWhileEngineStopped = bits, U32, 1208, [2:2] +fan1brokenClt = bits, U32, 1208, [3:3] +fan1enabledForAc = bits, U32, 1208, [4:4] +fan1hot = bits, U32, 1208, [5:5] +fan1cold = bits, U32, 1208, [6:6] +fan1disabledBySpeed = bits, U32, 1208, [7:7] +fan1m_state = bits, U32, 1208, [8:8] +fan1radiatorFanStatus = scalar, U08, 1212, "", 1, 0 +; total TS size = 1216 +fan2cranking = bits, U32, 1216, [0:0] +fan2notRunning = bits, U32, 1216, [1:1] +fan2disabledWhileEngineStopped = bits, U32, 1216, [2:2] +fan2brokenClt = bits, U32, 1216, [3:3] +fan2enabledForAc = bits, U32, 1216, [4:4] +fan2hot = bits, U32, 1216, [5:5] +fan2cold = bits, U32, 1216, [6:6] +fan2disabledBySpeed = bits, U32, 1216, [7:7] +fan2m_state = bits, U32, 1216, [8:8] +fan2radiatorFanStatus = scalar, U08, 1220, "", 1, 0 ; total TS size = 1224 -isBenchTest = bits, U32, 1224, [0:0] -hasIgnitionVoltage = bits, U32, 1224, [1:1] -mainRelayState = bits, U32, 1224, [2:2] -delayedShutoffRequested = bits, U32, 1224, [3:3] +isPrime = bits, U32, 1224, [0:0] +engineTurnedRecently = bits, U32, 1224, [1:1] +isFuelPumpOn = bits, U32, 1224, [2:2] +ignitionOn = bits, U32, 1224, [3:3] ; total TS size = 1228 -lua_fuelAdd = scalar, F32, 1228, "g", 1, 0 -lua_fuelMult = scalar, F32, 1232, "", 1, 0 -lua_clutchUpState = bits, U32, 1236, [0:0] -lua_brakePedalState = bits, U32, 1236, [1:1] -lua_acRequestState = bits, U32, 1236, [2:2] -lua_luaDisableEtb = bits, U32, 1236, [3:3] -lua_luaIgnCut = bits, U32, 1236, [4:4] -lua_luaFuelCut = bits, U32, 1236, [5:5] -lua_clutchDownState = bits, U32, 1236, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1236, [7:7] -lua_torqueReductionState = bits, U32, 1236, [8:8] -sd_tCharge = scalar, S16, 1240, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1244, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1248, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1252, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1256, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1260, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1264, "", 1, 0 -hellenBoardId = scalar, S16, 1268, "id", 1, 0 -clutchUpState = scalar, S08, 1270, "", 1, 0 -brakePedalState = scalar, S08, 1271, "", 1, 0 -startStopState = scalar, S08, 1272, "", 1, 0 -smartChipState = scalar, S08, 1273, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1274, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1275, "", 1, 0 -startStopPhysicalState = bits, U32, 1276, [0:0] -acrActive = bits, U32, 1276, [1:1] -acrEngineMovedRecently = bits, U32, 1276, [2:2] -heaterControlEnabled = bits, U32, 1276, [3:3] -luaDigitalState0 = bits, U32, 1276, [4:4] -luaDigitalState1 = bits, U32, 1276, [5:5] -luaDigitalState2 = bits, U32, 1276, [6:6] -luaDigitalState3 = bits, U32, 1276, [7:7] -clutchDownState = bits, U32, 1276, [8:8] -startStopStateToggleCounter = scalar, U32, 1280, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1284, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1288, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1292, "", 1, 0 -fuelInjectionCounter = scalar, U32, 1296, "", 1, 0 -globalSparkCounter = scalar, U32, 1300, "", 1, 0 -fuelingLoad = scalar, F32, 1304, "", 1, 0 -ignitionLoad = scalar, F32, 1308, "", 1, 0 -veTableYAxis = scalar, U16, 1312, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1314, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1315, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1316, "", 1, 0 -; total TS size = 1320 -tpsFrom = scalar, F32, 1320 -tpsTo = scalar, F32, 1324 -deltaTps = scalar, F32, 1328 -extraFuel = scalar, F32, 1332, "", 1, 0 -valueFromTable = scalar, F32, 1336, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1340, [0:0] -isBelowDecelThreshold = bits, U32, 1340, [1:1] -isTimeToResetAccumulator = bits, U32, 1340, [2:2] -isFractionalEnrichment = bits, U32, 1340, [3:3] -belowEpsilon = bits, U32, 1340, [4:4] -tooShort = bits, U32, 1340, [5:5] -fractionalInjFuel = scalar, F32, 1344, "", 1, 0 -accumulatedValue = scalar, F32, 1348, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1352, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1356, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1360, "", 1, 0 -cycleCnt = scalar, S32, 1364, "", 1, 0 -; total TS size = 1368 -hwEventCounters1 = scalar, U16, 1368, "", 1, 0 -hwEventCounters2 = scalar, U16, 1370, "", 1, 0 -hwEventCounters3 = scalar, U16, 1372, "", 1, 0 -hwEventCounters4 = scalar, U16, 1374, "", 1, 0 -vvtCamCounter = scalar, U16, 1376, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1380, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1384, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1388, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1389, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1392, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1396, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1400, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1404, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1408, [0:0] -triggerElapsedUs = scalar, U32, 1412, "", 1, 0 -; total TS size = 1416 -trgsynchronizationCounter = scalar, U32, 1416, "", 1, 0 -trgvvtToothDurations0 = scalar, U32, 1420, "us", 1, 0 -trgvvtCurrentPosition = scalar, F32, 1424, "", 1, 0 -trgvvtToothPosition1 = scalar, F32, 1428, "", 1, 0 -trgvvtToothPosition2 = scalar, F32, 1432, "", 1, 0 -trgvvtToothPosition3 = scalar, F32, 1436, "", 1, 0 -trgvvtToothPosition4 = scalar, F32, 1440, "", 1, 0 -trgtriggerSyncGapRatio = scalar, F32, 1444, "", 1, 0 -trgtriggerStateIndex = scalar, U08, 1448, "", 1, 0 -; total TS size = 1452 -vvt1isynchronizationCounter = scalar, U32, 1452, "", 1, 0 -vvt1ivvtToothDurations0 = scalar, U32, 1456, "us", 1, 0 -vvt1ivvtCurrentPosition = scalar, F32, 1460, "", 1, 0 -vvt1ivvtToothPosition1 = scalar, F32, 1464, "", 1, 0 -vvt1ivvtToothPosition2 = scalar, F32, 1468, "", 1, 0 -vvt1ivvtToothPosition3 = scalar, F32, 1472, "", 1, 0 -vvt1ivvtToothPosition4 = scalar, F32, 1476, "", 1, 0 -vvt1itriggerSyncGapRatio = scalar, F32, 1480, "", 1, 0 -vvt1itriggerStateIndex = scalar, U08, 1484, "", 1, 0 -; total TS size = 1488 -vvt1esynchronizationCounter = scalar, U32, 1488, "", 1, 0 -vvt1evvtToothDurations0 = scalar, U32, 1492, "us", 1, 0 -vvt1evvtCurrentPosition = scalar, F32, 1496, "", 1, 0 -vvt1evvtToothPosition1 = scalar, F32, 1500, "", 1, 0 -vvt1evvtToothPosition2 = scalar, F32, 1504, "", 1, 0 -vvt1evvtToothPosition3 = scalar, F32, 1508, "", 1, 0 -vvt1evvtToothPosition4 = scalar, F32, 1512, "", 1, 0 -vvt1etriggerSyncGapRatio = scalar, F32, 1516, "", 1, 0 -vvt1etriggerStateIndex = scalar, U08, 1520, "", 1, 0 -; total TS size = 1524 -vvt2isynchronizationCounter = scalar, U32, 1524, "", 1, 0 -vvt2ivvtToothDurations0 = scalar, U32, 1528, "us", 1, 0 -vvt2ivvtCurrentPosition = scalar, F32, 1532, "", 1, 0 -vvt2ivvtToothPosition1 = scalar, F32, 1536, "", 1, 0 -vvt2ivvtToothPosition2 = scalar, F32, 1540, "", 1, 0 -vvt2ivvtToothPosition3 = scalar, F32, 1544, "", 1, 0 -vvt2ivvtToothPosition4 = scalar, F32, 1548, "", 1, 0 -vvt2itriggerSyncGapRatio = scalar, F32, 1552, "", 1, 0 -vvt2itriggerStateIndex = scalar, U08, 1556, "", 1, 0 -; total TS size = 1560 -vvt2esynchronizationCounter = scalar, U32, 1560, "", 1, 0 -vvt2evvtToothDurations0 = scalar, U32, 1564, "us", 1, 0 -vvt2evvtCurrentPosition = scalar, F32, 1568, "", 1, 0 -vvt2evvtToothPosition1 = scalar, F32, 1572, "", 1, 0 -vvt2evvtToothPosition2 = scalar, F32, 1576, "", 1, 0 -vvt2evvtToothPosition3 = scalar, F32, 1580, "", 1, 0 -vvt2evvtToothPosition4 = scalar, F32, 1584, "", 1, 0 -vvt2etriggerSyncGapRatio = scalar, F32, 1588, "", 1, 0 -vvt2etriggerStateIndex = scalar, U08, 1592, "", 1, 0 -; total TS size = 1596 -camResyncCounter = scalar, U08, 1596, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1600, [0:0] -; total TS size = 1604 -wallFuelCorrection = scalar, F32, 1604, "", 1, 0 -wallFuel = scalar, F32, 1608, "", 1, 0 -; total TS size = 1612 -idleState = bits, S32, 1612, [0:2], "not important" -currentIdlePosition = scalar, F32, 1616 -baseIdlePosition = scalar, F32, 1620 -idleClosedLoop = scalar, F32, 1624 -iacByTpsTaper = scalar, F32, 1628 -mightResetPid = bits, U32, 1632, [0:0] -shouldResetPid = bits, U32, 1632, [1:1] -wasResetPid = bits, U32, 1632, [2:2] -mustResetPid = bits, U32, 1632, [3:3] -isCranking = bits, U32, 1632, [4:4] -isIacTableForCoasting = bits, U32, 1632, [5:5] -notIdling = bits, U32, 1632, [6:6] -needReset = bits, U32, 1632, [7:7] -isInDeadZone = bits, U32, 1632, [8:8] -isBlipping = bits, U32, 1632, [9:9] -useClosedLoop = bits, U32, 1632, [10:10] -badTps = bits, U32, 1632, [11:11] -looksLikeRunning = bits, U32, 1632, [12:12] -looksLikeCoasting = bits, U32, 1632, [13:13] -looksLikeCrankToIdle = bits, U32, 1632, [14:14] -isIdleCoasting = bits, U32, 1632, [15:15] -isIdleClosedLoop = bits, U32, 1632, [16:16] -idleTarget = scalar, S32, 1636, "", 1, 0 -targetRpmByClt = scalar, S32, 1640, "", 1, 0 -targetRpmAc = scalar, S32, 1644, "", 1, 0 -iacByRpmTaper = scalar, F32, 1648 -luaAdd = scalar, F32, 1652 -; total TS size = 1656 -etb1targetWithIdlePosition = scalar, F32, 1656, "%", 1,0 -etb1trim = scalar, F32, 1660, "", 1, 0 -etb1luaAdjustment = scalar, F32, 1664, "%", 1,0 -etb1m_wastegatePosition = scalar, F32, 1668, "%", 1,0 -etb1etbFeedForward = scalar, F32, 1672 -etb1etbIntegralError = scalar, F32, 1676, "", 1, 0 -etb1etbCurrentTarget = scalar, F32, 1680, "%", 1, 0 -etb1m_adjustedTarget = scalar, S16, 1684, "%", 0.01, 0 -etb1etbRevLimitActive = bits, U32, 1688, [0:0] -etb1jamDetected = bits, U32, 1688, [1:1] -etb1validPlantPosition = bits, U32, 1688, [2:2] -etb1etbTpsErrorCounter = scalar, U16, 1692, "count", 1,0 -etb1etbPpsErrorCounter = scalar, U16, 1694, "count", 1,0 -etb1etbErrorCode = scalar, S08, 1696, "", 1, 0 -etb1etbErrorCodeBlinker = scalar, S08, 1697, "", 1, 0 -etb1tcEtbDrop = scalar, S08, 1698, "%", 1, 0 -etb1jamTimer = scalar, U16, 1700, "sec", 0.01, 0 -etb1adjustedEtbTarget = scalar, S08, 1702, "%", 1, 0 -etb1state = scalar, U08, 1703, "", 1, 0 -; total TS size = 1704 -etb2targetWithIdlePosition = scalar, F32, 1704, "%", 1,0 -etb2trim = scalar, F32, 1708, "", 1, 0 -etb2luaAdjustment = scalar, F32, 1712, "%", 1,0 -etb2m_wastegatePosition = scalar, F32, 1716, "%", 1,0 -etb2etbFeedForward = scalar, F32, 1720 -etb2etbIntegralError = scalar, F32, 1724, "", 1, 0 -etb2etbCurrentTarget = scalar, F32, 1728, "%", 1, 0 -etb2m_adjustedTarget = scalar, S16, 1732, "%", 0.01, 0 -etb2etbRevLimitActive = bits, U32, 1736, [0:0] -etb2jamDetected = bits, U32, 1736, [1:1] -etb2validPlantPosition = bits, U32, 1736, [2:2] -etb2etbTpsErrorCounter = scalar, U16, 1740, "count", 1,0 -etb2etbPpsErrorCounter = scalar, U16, 1742, "count", 1,0 -etb2etbErrorCode = scalar, S08, 1744, "", 1, 0 -etb2etbErrorCodeBlinker = scalar, S08, 1745, "", 1, 0 -etb2tcEtbDrop = scalar, S08, 1746, "%", 1, 0 -etb2jamTimer = scalar, U16, 1748, "sec", 0.01, 0 -etb2adjustedEtbTarget = scalar, S08, 1750, "%", 1, 0 -etb2state = scalar, U08, 1751, "", 1, 0 -; total TS size = 1752 -wb1faultCode = scalar, U08, 1752, "", 1, 0 -wb1heaterDuty = scalar, U08, 1753, "%", 1, 0 -wb1pumpDuty = scalar, U08, 1754, "%", 1, 0 -wb1tempC = scalar, U16, 1756, "C", 1, 0 -wb1nernstVoltage = scalar, U16, 1758, "V", 0.001, 0 -wb1esr = scalar, U16, 1760, "ohm", 1, 0 -; total TS size = 1764 -wb2faultCode = scalar, U08, 1764, "", 1, 0 -wb2heaterDuty = scalar, U08, 1765, "%", 1, 0 -wb2pumpDuty = scalar, U08, 1766, "%", 1, 0 -wb2tempC = scalar, U16, 1768, "C", 1, 0 -wb2nernstVoltage = scalar, U16, 1770, "V", 0.001, 0 -wb2esr = scalar, U16, 1772, "ohm", 1, 0 -; total TS size = 1776 -dcOutput0 = scalar, F32, 1776, "%", 1,0 -isEnabled0_int = scalar, U08, 1780, "%", 1,0 -isEnabled0 = bits, U32, 1784, [0:0] -; total TS size = 1788 -value0 = scalar, U16, 1788, "RAW", 1,0 -value1 = scalar, U16, 1790, "RAW", 1,0 -errorRate = scalar, F32, 1792, "% (don't belive me)", 1,0 -; total TS size = 1796 -vvtTarget = scalar, U16, 1796, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1798, "%", 0.5, 0 +isBenchTest = bits, U32, 1228, [0:0] +hasIgnitionVoltage = bits, U32, 1228, [1:1] +mainRelayState = bits, U32, 1228, [2:2] +delayedShutoffRequested = bits, U32, 1228, [3:3] +; total TS size = 1232 +lua_fuelAdd = scalar, F32, 1232, "g", 1, 0 +lua_fuelMult = scalar, F32, 1236, "", 1, 0 +lua_clutchUpState = bits, U32, 1240, [0:0] +lua_brakePedalState = bits, U32, 1240, [1:1] +lua_acRequestState = bits, U32, 1240, [2:2] +lua_luaDisableEtb = bits, U32, 1240, [3:3] +lua_luaIgnCut = bits, U32, 1240, [4:4] +lua_luaFuelCut = bits, U32, 1240, [5:5] +lua_clutchDownState = bits, U32, 1240, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1240, [7:7] +lua_torqueReductionState = bits, U32, 1240, [8:8] +sd_tCharge = scalar, S16, 1244, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1248, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1252, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1256, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1260, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1264, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1268, "", 1, 0 +hellenBoardId = scalar, S16, 1272, "id", 1, 0 +clutchUpState = scalar, S08, 1274, "", 1, 0 +brakePedalState = scalar, S08, 1275, "", 1, 0 +startStopState = scalar, S08, 1276, "", 1, 0 +smartChipState = scalar, S08, 1277, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1278, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1279, "", 1, 0 +startStopPhysicalState = bits, U32, 1280, [0:0] +acrActive = bits, U32, 1280, [1:1] +acrEngineMovedRecently = bits, U32, 1280, [2:2] +heaterControlEnabled = bits, U32, 1280, [3:3] +luaDigitalState0 = bits, U32, 1280, [4:4] +luaDigitalState1 = bits, U32, 1280, [5:5] +luaDigitalState2 = bits, U32, 1280, [6:6] +luaDigitalState3 = bits, U32, 1280, [7:7] +clutchDownState = bits, U32, 1280, [8:8] +startStopStateToggleCounter = scalar, U32, 1284, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1288, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1292, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1296, "", 1, 0 +fuelInjectionCounter = scalar, U32, 1300, "", 1, 0 +globalSparkCounter = scalar, U32, 1304, "", 1, 0 +fuelingLoad = scalar, F32, 1308, "", 1, 0 +ignitionLoad = scalar, F32, 1312, "", 1, 0 +veTableYAxis = scalar, U16, 1316, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1318, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1319, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1320, "", 1, 0 +; total TS size = 1324 +tpsFrom = scalar, F32, 1324 +tpsTo = scalar, F32, 1328 +deltaTps = scalar, F32, 1332 +extraFuel = scalar, F32, 1336, "", 1, 0 +valueFromTable = scalar, F32, 1340, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1344, [0:0] +isBelowDecelThreshold = bits, U32, 1344, [1:1] +isTimeToResetAccumulator = bits, U32, 1344, [2:2] +isFractionalEnrichment = bits, U32, 1344, [3:3] +belowEpsilon = bits, U32, 1344, [4:4] +tooShort = bits, U32, 1344, [5:5] +fractionalInjFuel = scalar, F32, 1348, "", 1, 0 +accumulatedValue = scalar, F32, 1352, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1356, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1360, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1364, "", 1, 0 +cycleCnt = scalar, S32, 1368, "", 1, 0 +; total TS size = 1372 +hwEventCounters1 = scalar, U16, 1372, "", 1, 0 +hwEventCounters2 = scalar, U16, 1374, "", 1, 0 +hwEventCounters3 = scalar, U16, 1376, "", 1, 0 +hwEventCounters4 = scalar, U16, 1378, "", 1, 0 +vvtCamCounter = scalar, U16, 1380, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1384, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1388, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1392, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1393, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1396, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1400, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1404, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1408, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1412, [0:0] +triggerElapsedUs = scalar, U32, 1416, "", 1, 0 +; total TS size = 1420 +trgsynchronizationCounter = scalar, U32, 1420, "", 1, 0 +trgvvtToothDurations0 = scalar, U32, 1424, "us", 1, 0 +trgvvtCurrentPosition = scalar, F32, 1428, "", 1, 0 +trgvvtToothPosition1 = scalar, F32, 1432, "", 1, 0 +trgvvtToothPosition2 = scalar, F32, 1436, "", 1, 0 +trgvvtToothPosition3 = scalar, F32, 1440, "", 1, 0 +trgvvtToothPosition4 = scalar, F32, 1444, "", 1, 0 +trgtriggerSyncGapRatio = scalar, F32, 1448, "", 1, 0 +trgtriggerStateIndex = scalar, U08, 1452, "", 1, 0 +; total TS size = 1456 +vvt1isynchronizationCounter = scalar, U32, 1456, "", 1, 0 +vvt1ivvtToothDurations0 = scalar, U32, 1460, "us", 1, 0 +vvt1ivvtCurrentPosition = scalar, F32, 1464, "", 1, 0 +vvt1ivvtToothPosition1 = scalar, F32, 1468, "", 1, 0 +vvt1ivvtToothPosition2 = scalar, F32, 1472, "", 1, 0 +vvt1ivvtToothPosition3 = scalar, F32, 1476, "", 1, 0 +vvt1ivvtToothPosition4 = scalar, F32, 1480, "", 1, 0 +vvt1itriggerSyncGapRatio = scalar, F32, 1484, "", 1, 0 +vvt1itriggerStateIndex = scalar, U08, 1488, "", 1, 0 +; total TS size = 1492 +vvt1esynchronizationCounter = scalar, U32, 1492, "", 1, 0 +vvt1evvtToothDurations0 = scalar, U32, 1496, "us", 1, 0 +vvt1evvtCurrentPosition = scalar, F32, 1500, "", 1, 0 +vvt1evvtToothPosition1 = scalar, F32, 1504, "", 1, 0 +vvt1evvtToothPosition2 = scalar, F32, 1508, "", 1, 0 +vvt1evvtToothPosition3 = scalar, F32, 1512, "", 1, 0 +vvt1evvtToothPosition4 = scalar, F32, 1516, "", 1, 0 +vvt1etriggerSyncGapRatio = scalar, F32, 1520, "", 1, 0 +vvt1etriggerStateIndex = scalar, U08, 1524, "", 1, 0 +; total TS size = 1528 +vvt2isynchronizationCounter = scalar, U32, 1528, "", 1, 0 +vvt2ivvtToothDurations0 = scalar, U32, 1532, "us", 1, 0 +vvt2ivvtCurrentPosition = scalar, F32, 1536, "", 1, 0 +vvt2ivvtToothPosition1 = scalar, F32, 1540, "", 1, 0 +vvt2ivvtToothPosition2 = scalar, F32, 1544, "", 1, 0 +vvt2ivvtToothPosition3 = scalar, F32, 1548, "", 1, 0 +vvt2ivvtToothPosition4 = scalar, F32, 1552, "", 1, 0 +vvt2itriggerSyncGapRatio = scalar, F32, 1556, "", 1, 0 +vvt2itriggerStateIndex = scalar, U08, 1560, "", 1, 0 +; total TS size = 1564 +vvt2esynchronizationCounter = scalar, U32, 1564, "", 1, 0 +vvt2evvtToothDurations0 = scalar, U32, 1568, "us", 1, 0 +vvt2evvtCurrentPosition = scalar, F32, 1572, "", 1, 0 +vvt2evvtToothPosition1 = scalar, F32, 1576, "", 1, 0 +vvt2evvtToothPosition2 = scalar, F32, 1580, "", 1, 0 +vvt2evvtToothPosition3 = scalar, F32, 1584, "", 1, 0 +vvt2evvtToothPosition4 = scalar, F32, 1588, "", 1, 0 +vvt2etriggerSyncGapRatio = scalar, F32, 1592, "", 1, 0 +vvt2etriggerStateIndex = scalar, U08, 1596, "", 1, 0 +; total TS size = 1600 +camResyncCounter = scalar, U08, 1600, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1604, [0:0] +; total TS size = 1608 +wallFuelCorrection = scalar, F32, 1608, "", 1, 0 +wallFuel = scalar, F32, 1612, "", 1, 0 +; total TS size = 1616 +idleState = bits, S32, 1616, [0:2], "not important" +currentIdlePosition = scalar, F32, 1620 +baseIdlePosition = scalar, F32, 1624 +idleClosedLoop = scalar, F32, 1628 +iacByTpsTaper = scalar, F32, 1632 +mightResetPid = bits, U32, 1636, [0:0] +shouldResetPid = bits, U32, 1636, [1:1] +wasResetPid = bits, U32, 1636, [2:2] +mustResetPid = bits, U32, 1636, [3:3] +isCranking = bits, U32, 1636, [4:4] +isIacTableForCoasting = bits, U32, 1636, [5:5] +notIdling = bits, U32, 1636, [6:6] +needReset = bits, U32, 1636, [7:7] +isInDeadZone = bits, U32, 1636, [8:8] +isBlipping = bits, U32, 1636, [9:9] +useClosedLoop = bits, U32, 1636, [10:10] +badTps = bits, U32, 1636, [11:11] +looksLikeRunning = bits, U32, 1636, [12:12] +looksLikeCoasting = bits, U32, 1636, [13:13] +looksLikeCrankToIdle = bits, U32, 1636, [14:14] +isIdleCoasting = bits, U32, 1636, [15:15] +isIdleClosedLoop = bits, U32, 1636, [16:16] +idleTarget = scalar, S32, 1640, "", 1, 0 +targetRpmByClt = scalar, S32, 1644, "", 1, 0 +targetRpmAc = scalar, S32, 1648, "", 1, 0 +iacByRpmTaper = scalar, F32, 1652 +luaAdd = scalar, F32, 1656 +; total TS size = 1660 +etb1targetWithIdlePosition = scalar, F32, 1660, "%", 1,0 +etb1trim = scalar, F32, 1664, "", 1, 0 +etb1luaAdjustment = scalar, F32, 1668, "%", 1,0 +etb1m_wastegatePosition = scalar, F32, 1672, "%", 1,0 +etb1etbFeedForward = scalar, F32, 1676 +etb1etbIntegralError = scalar, F32, 1680, "", 1, 0 +etb1etbCurrentTarget = scalar, F32, 1684, "%", 1, 0 +etb1m_adjustedTarget = scalar, S16, 1688, "%", 0.01, 0 +etb1etbRevLimitActive = bits, U32, 1692, [0:0] +etb1jamDetected = bits, U32, 1692, [1:1] +etb1validPlantPosition = bits, U32, 1692, [2:2] +etb1etbTpsErrorCounter = scalar, U16, 1696, "count", 1,0 +etb1etbPpsErrorCounter = scalar, U16, 1698, "count", 1,0 +etb1etbErrorCode = scalar, S08, 1700, "", 1, 0 +etb1etbErrorCodeBlinker = scalar, S08, 1701, "", 1, 0 +etb1tcEtbDrop = scalar, S08, 1702, "%", 1, 0 +etb1jamTimer = scalar, U16, 1704, "sec", 0.01, 0 +etb1adjustedEtbTarget = scalar, S08, 1706, "%", 1, 0 +etb1state = scalar, U08, 1707, "", 1, 0 +; total TS size = 1708 +etb2targetWithIdlePosition = scalar, F32, 1708, "%", 1,0 +etb2trim = scalar, F32, 1712, "", 1, 0 +etb2luaAdjustment = scalar, F32, 1716, "%", 1,0 +etb2m_wastegatePosition = scalar, F32, 1720, "%", 1,0 +etb2etbFeedForward = scalar, F32, 1724 +etb2etbIntegralError = scalar, F32, 1728, "", 1, 0 +etb2etbCurrentTarget = scalar, F32, 1732, "%", 1, 0 +etb2m_adjustedTarget = scalar, S16, 1736, "%", 0.01, 0 +etb2etbRevLimitActive = bits, U32, 1740, [0:0] +etb2jamDetected = bits, U32, 1740, [1:1] +etb2validPlantPosition = bits, U32, 1740, [2:2] +etb2etbTpsErrorCounter = scalar, U16, 1744, "count", 1,0 +etb2etbPpsErrorCounter = scalar, U16, 1746, "count", 1,0 +etb2etbErrorCode = scalar, S08, 1748, "", 1, 0 +etb2etbErrorCodeBlinker = scalar, S08, 1749, "", 1, 0 +etb2tcEtbDrop = scalar, S08, 1750, "%", 1, 0 +etb2jamTimer = scalar, U16, 1752, "sec", 0.01, 0 +etb2adjustedEtbTarget = scalar, S08, 1754, "%", 1, 0 +etb2state = scalar, U08, 1755, "", 1, 0 +; total TS size = 1756 +wb1faultCode = scalar, U08, 1756, "", 1, 0 +wb1heaterDuty = scalar, U08, 1757, "%", 1, 0 +wb1pumpDuty = scalar, U08, 1758, "%", 1, 0 +wb1tempC = scalar, U16, 1760, "C", 1, 0 +wb1nernstVoltage = scalar, U16, 1762, "V", 0.001, 0 +wb1esr = scalar, U16, 1764, "ohm", 1, 0 +; total TS size = 1768 +wb2faultCode = scalar, U08, 1768, "", 1, 0 +wb2heaterDuty = scalar, U08, 1769, "%", 1, 0 +wb2pumpDuty = scalar, U08, 1770, "%", 1, 0 +wb2tempC = scalar, U16, 1772, "C", 1, 0 +wb2nernstVoltage = scalar, U16, 1774, "V", 0.001, 0 +wb2esr = scalar, U16, 1776, "ohm", 1, 0 +; total TS size = 1780 +dcOutput0 = scalar, F32, 1780, "%", 1,0 +isEnabled0_int = scalar, U08, 1784, "%", 1,0 +isEnabled0 = bits, U32, 1788, [0:0] +; total TS size = 1792 +value0 = scalar, U16, 1792, "RAW", 1,0 +value1 = scalar, U16, 1794, "RAW", 1,0 +errorRate = scalar, F32, 1796, "% (don't belive me)", 1,0 ; total TS size = 1800 -lambdaCurrentlyGood = bits, U32, 1800, [0:0] -lambdaMonitorCut = bits, U32, 1800, [1:1] -lambdaTimeSinceGood = scalar, U16, 1804, "sec", 0.01, 0 -; total TS size = 1808 +vvtTarget = scalar, U16, 1800, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1802, "%", 0.5, 0 +; total TS size = 1804 +lambdaCurrentlyGood = bits, U32, 1804, [0:0] +lambdaMonitorCut = bits, U32, 1804, [1:1] +lambdaTimeSinceGood = scalar, U16, 1808, "sec", 0.01, 0 +; total TS size = 1812 time = { timeNow } @@ -4584,6 +4587,12 @@ curve = rangeMatrix, "Range Switch Input Matrix" gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. upDownLabel = "(RICHER)", "(LEANER)" + table = trailingSparkTable, trailingSparkMap, "Trailing spark", 1 + xyLabels = "RPM", "Ignition Load" + xBins = trailingSparkRpmBins, RPMValue + yBins = trailingSparkLoadBins, ignitionLoad + zBins = trailingSparkTable + table = torqueTableTbl, torqueTableMap, "Engine Torque", 1 xBins = torqueRpmBins, RPMValue yBins = torqueLoadBins, veTableYAxis @@ -4881,6 +4890,7 @@ timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20 timingPidCorrectionGauge = timingPidCorrection,"Idle: Timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 +trailingSparkAngleGauge = trailingSparkAngle,"Ign: Trailing spark deg", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 gaugeCategory = "Boost Control" luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 @@ -5811,6 +5821,7 @@ entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" entry = luaIgnitionSkip, "Ign: Lua Spark Skip", int, "%d" +entry = trailingSparkAngle, "Ign: Trailing spark deg", float, "%.3f" entry = m_knockLevel, "Knock: Current level", float, "%.3f" entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" @@ -6762,6 +6773,7 @@ dialog = ignition_stateDialog, "ignition_state" graphLine = luaTimingAdd liveGraph = ignition_state_4_Graph, "Graph", South graphLine = luaTimingMult + graphLine = trailingSparkAngle dialog = knock_controllerDialog, "knock_controller" @@ -10073,11 +10085,11 @@ dialog = tcuControls, "Transmission Settings" dialog = rotaryDialog, "Rotary" field = "Enable Trailing Sparks", enableTrailingSparks - field = "Trailing Spark Offset", trailingSparkAngle field = "Trailing Pin 1", trailingCoilPins1 field = "Trailing Pin 2", trailingCoilPins2 field = "Trailing Pin 3", trailingCoilPins3 field = "Trailing Pin 4", trailingCoilPins4 + panel = trailingSparkTable diff --git a/firmware/tunerstudio/generated/rusefi_mre-legacy_f4.ini b/firmware/tunerstudio/generated/rusefi_mre-legacy_f4.ini index 6fb9363af3..7a52e968b4 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.2025.02.07.mre-legacy_f4.435823701" + signature = "rusEFI master.2025.02.07.mre-legacy_f4.2658773816" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2025.02.07.mre-legacy_f4.435823701" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2025.02.07.mre-legacy_f4.2658773816" ; 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 @@ -101,7 +101,7 @@ enable2ndByteCanID = false ; CONFIG_DEFINITION_START ; this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt -pageSize = 25280 +pageSize = 25304 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",22="BMW_M52",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",21="ET_BOSCH_QUICK_START",24="ET_TEST_WITH_BOSCH_QUICK_START",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",41="FRANKENSO_MIATA_NA6_MAP",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",47="GM_LCV",55="GM_LTG",98="GM_SBC",49="GM_SBC_GEN5",8="GY6_139QMB",6="HARLEY",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",34="MAZDA_MIATA_NA6",80="MAZDA_MIATA_NA94",10="MAZDA_MIATA_NA96",83="MAZDA_MIATA_NB1",69="MAZDA_MIATA_NB2",86="MAZDA_MIATA_NB2_36",20="MAZDA_MIATA_NC",33="ME17_9_MISC",68="MERCEDES_M111",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",4="MRE_SECONDARY_CAN",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",35="POLARIS",9="POLARIS_RZR",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",27="PROTEUS_GM_LS_4",25="PROTEUS_LUA_DEMO",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",17="TCU_4R70W",100="TEST_100",101="TEST_101",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",93="TEST_ISSUE_6451",19="TEST_ROTARY",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",102="UNUSED102",67="UNUSED67",94="UNUSED94",65="UNUSED_65",97="UNUSED_97",77="VAG_5_CYL",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -245,7 +245,7 @@ vbattAdcChannel = bits, U08, 513, [0:5], $adc_channel_e_list fuelLevelSensor = bits, U08, 514, [0:5], $adc_channel_e_list tps2_1AdcChannel = bits, U08, 515, [0:5], $adc_channel_e_list idle_derivativeFilterLoss = scalar, F32, 516, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 520, "angle", 1, 0, 0, 720, 0 +unusedTrailingSparkAngle = scalar, S32, 520, "", 1, 0, 0, 100, 0 trigger_type = bits, U32, 524, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Daihatsu 3 cylinder", "Mazda SOHC 4", "60-2", "36-1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "Dodge Ram 1+16", "60-2 Wrong Polarity", "Benelli Tre", "Dodge Stratus", "36_2_2_2", "Nissan Primera", "dev 2JZ 3/34 simulator", "Rover K", "GM 24x 5 degree", "Honda CBR 600 Cam", "INVALID", "Honda CBR 600 custom", "3-1 skipped", "Dodge Neon 2003 crank", "Miata NB", "INVALID", "INVALID", "Subaru 7+6", "Jeep 18-2-2-2", "12crank/24cam", "Dodge Neon 1995 crank only", "Jeep XJ 4 cyl", "FiatIAQ_P8", "Mazda Z5", "INVALID", "Renix 44-2-2", "Renix 66-2-2-2", "Honda K 12+1", "INVALID", "36-2", "Subaru SVX", "Suzuki K6A", "Subaru 7 without 6", "INVALID", "INVALID", "GM 60-2-2-2", "Skoda Favorit", "Barra 3+1 Cam", "Kawa KX450F", "Nissan VQ35", "INVALID", "Nissan VQ30", "Nissan QR25", "INVALID", "Subaru SVX Crank 1", "Subaru SVX Cam VVT", "Ford PIP", "Suzuki G13B", "Honda K 4+1", "Nissan MR18 Crank", "32-2", "36-2-1", "36-2-1-1", "3-0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6-0", "Daihatsu 4 cylinder", "INVALID", "dev", "Nissan HR", "Arctic Cat", "HR12 in", "HONDA J30A2", "trg88", "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" trigger_customTotalToothCount = scalar, S32, 528, "number", 1, 0, 1, 300, 0 trigger_customSkippedToothCount = scalar, S32, 532, "number", 1, 0, 0, 300, 0 @@ -1796,7 +1796,10 @@ dynoCarCarMassKg = scalar, S16, 25268, "", 1, 0, 0, 32000, 0 dynoCarCargoMassKg = scalar, S16, 25270, "", 1, 0, 0, 32000, 0 dynoCarCoeffOfDrag = scalar, F32, 25272, "", 1, 0, 0, 100, 0 dynoCarFrontalAreaM2 = scalar, F32, 25276, "", 1, 0, 0, 100, 0 -; total TS size = 25280 +trailingSparkTable = array, S08, 25280, [4x4], "deg", 0.1, 0, 0, 20, 1 +trailingSparkRpmBins = array, U08, 25296, [4], "rpm", 50.0, 0, 0, 12000, 0 +trailingSparkLoadBins = array, U08, 25300, [4], "Load", 5.0, 0, 0, 1000, 0 +; total TS size = 25304 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1890,7 +1893,6 @@ dynoCarFrontalAreaM2 = scalar, F32, 25276, "", 1, 0, 0, 100, 0 fuelLevelSensor = "This is the processor pin that your fuel level sensor in connected to. This is a non standard input so will need to be user defined." tps2_1AdcChannel = "Second throttle body position sensor, single channel so far" idle_derivativeFilterLoss = "0.1 is a good default value" - trailingSparkAngle = "just a temporary solution" trigger_type = "https://github.com/rusefi/rusefi/wiki/All-Supported-Triggers" airByRpmTaper = "Extra air taper amount" boostControlSafeDutyCycle = "Duty cycle to use in case of a sensor failure. This duty cycle should produce the minimum possible amount of boost. This duty is also used in case any of the minimum RPM/TPS/MAP conditions are not met." @@ -2664,7 +2666,7 @@ dynoCarFrontalAreaM2 = scalar, F32, 25276, "", 1, 0, 0, 100, 0 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1808 + ochBlockSize = 1812 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3189,417 +3191,418 @@ dwellVoltageCorrection = scalar, F32, 940, "", 1, 0 luaTimingAdd = scalar, F32, 944, "deg", 1, 0 luaTimingMult = scalar, F32, 948, "deg", 1, 0 luaIgnitionSkip = bits, U32, 952, [0:0] -; total TS size = 956 -m_knockLevel = scalar, F32, 956, "Volts", 1, 0 -m_knockCyl1 = scalar, S08, 960, "dBv", 1, 0 -m_knockCyl2 = scalar, S08, 961, "dBv", 1, 0 -m_knockCyl3 = scalar, S08, 962, "dBv", 1, 0 -m_knockCyl4 = scalar, S08, 963, "dBv", 1, 0 -m_knockCyl5 = scalar, S08, 964, "dBv", 1, 0 -m_knockCyl6 = scalar, S08, 965, "dBv", 1, 0 -m_knockCyl7 = scalar, S08, 966, "dBv", 1, 0 -m_knockCyl8 = scalar, S08, 967, "dBv", 1, 0 -m_knockCyl9 = scalar, S08, 968, "dBv", 1, 0 -m_knockCyl10 = scalar, S08, 969, "dBv", 1, 0 -m_knockCyl11 = scalar, S08, 970, "dBv", 1, 0 -m_knockCyl12 = scalar, S08, 971, "dBv", 1, 0 -m_knockRetard = scalar, F32, 972, "deg", 1,0 -m_knockThreshold = scalar, F32, 976, "", 1, 0 -m_knockCount = scalar, U32, 980, "", 1, 0 -m_maximumRetard = scalar, F32, 984, "", 1, 0 -m_knockSpectrum1 = scalar, U32, 988, "compressed data", 1, 0 -m_knockSpectrum2 = scalar, U32, 992, "compressed data", 1, 0 -m_knockSpectrum3 = scalar, U32, 996, "compressed data", 1, 0 -m_knockSpectrum4 = scalar, U32, 1000, "compressed data", 1, 0 -m_knockSpectrum5 = scalar, U32, 1004, "compressed data", 1, 0 -m_knockSpectrum6 = scalar, U32, 1008, "compressed data", 1, 0 -m_knockSpectrum7 = scalar, U32, 1012, "compressed data", 1, 0 -m_knockSpectrum8 = scalar, U32, 1016, "compressed data", 1, 0 -m_knockSpectrum9 = scalar, U32, 1020, "compressed data", 1, 0 -m_knockSpectrum10 = scalar, U32, 1024, "compressed data", 1, 0 -m_knockSpectrum11 = scalar, U32, 1028, "compressed data", 1, 0 -m_knockSpectrum12 = scalar, U32, 1032, "compressed data", 1, 0 -m_knockSpectrum13 = scalar, U32, 1036, "compressed data", 1, 0 -m_knockSpectrum14 = scalar, U32, 1040, "compressed data", 1, 0 -m_knockSpectrum15 = scalar, U32, 1044, "compressed data", 1, 0 -m_knockSpectrum16 = scalar, U32, 1048, "compressed data", 1, 0 -m_knockSpectrumChannelCyl = scalar, U16, 1052, "compressed N + N", 1, 0 -m_knockFrequencyStart = scalar, U16, 1054, "Hz", 1, 0 -m_knockFrequencyStep = scalar, F32, 1056, "Hz", 1, 0 -m_knockFuelTrimMultiplier = scalar, F32, 1060, "multiplier", 1, 0 -; total TS size = 1064 -m_isPriming = bits, U32, 1064, [0:0] +trailingSparkAngle = scalar, S16, 956, "deg", 0.01,0 +; total TS size = 960 +m_knockLevel = scalar, F32, 960, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 964, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 965, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 966, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 967, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 968, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 969, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 970, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 971, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 972, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 973, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 974, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 975, "dBv", 1, 0 +m_knockRetard = scalar, F32, 976, "deg", 1,0 +m_knockThreshold = scalar, F32, 980, "", 1, 0 +m_knockCount = scalar, U32, 984, "", 1, 0 +m_maximumRetard = scalar, F32, 988, "", 1, 0 +m_knockSpectrum1 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1040, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1044, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1048, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1052, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1056, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1058, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1060, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1064, "multiplier", 1, 0 ; total TS size = 1068 -tcuCurrentGear = scalar, S08, 1068, "gear", 1, 0 -tcRatio = scalar, U16, 1070, "value", 0.01, 0 -lastShiftTime = scalar, F32, 1072, "", 1, 0 -tcu_currentRange = scalar, U08, 1076, "", 1, 0 -pressureControlDuty = scalar, S08, 1077, "%", 1,0 -torqueConverterDuty = scalar, S08, 1078, "%", 1,0 -isShifting = bits, U32, 1080, [0:0] -; total TS size = 1084 -throttleUseWotModel = bits, U32, 1084, [0:0] -throttleModelCrossoverAngle = scalar, S16, 1088, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1092, "g/s", 1, 0 -; total TS size = 1096 -m_requested_pump = scalar, F32, 1096, "", 1, 0 -fuel_requested_percent = scalar, F32, 1100, "%", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1104, "", 1, 0 -noValve = bits, U32, 1108, [0:0] -angleAboveMin = bits, U32, 1108, [1:1] -isHpfpActive = bits, U32, 1108, [2:2] -HpfpValveState = bits, U32, 1108, [3:3] -m_pressureTarget_kPa = scalar, F32, 1112, "", 1, 0 -nextLobe = scalar, F32, 1116, "", 1, 0 -di_nextStart = scalar, F32, 1120, "v", 1, 0 -HpfdActivationPhase = scalar, F32, 1124, "", 1, 0 -HpfdDeactivationPhase = scalar, F32, 1128, "", 1, 0 -; total TS size = 1132 -m_deadtime = scalar, F32, 1132, "ms", 1, 0 -pressureDelta = scalar, F32, 1136, "kPa", 1, 0 -pressureRatio = scalar, F32, 1140, "", 1, 0 -; total TS size = 1144 -retardThresholdRpm = scalar, S32, 1144, "", 1, 0 -launchActivatePinState = bits, U32, 1148, [0:0] -isPreLaunchCondition = bits, U32, 1148, [1:1] -isLaunchCondition = bits, U32, 1148, [2:2] -isSwitchActivated = bits, U32, 1148, [3:3] -isClutchActivated = bits, U32, 1148, [4:4] -isBrakePedalActivated = bits, U32, 1148, [5:5] -isValidInputPin = bits, U32, 1148, [6:6] -activateSwitchCondition = bits, U32, 1148, [7:7] -rpmLaunchCondition = bits, U32, 1148, [8:8] -rpmPreLaunchCondition = bits, U32, 1148, [9:9] -speedCondition = bits, U32, 1148, [10:10] -tpsCondition = bits, U32, 1148, [11:11] -; total TS size = 1152 -isTorqueReductionTriggerPinValid = bits, U32, 1152, [0:0] -torqueReductionTriggerPinState = bits, U32, 1152, [1:1] -isTimeConditionSatisfied = bits, U32, 1152, [2:2] -isRpmConditionSatisfied = bits, U32, 1152, [3:3] -isAppConditionSatisfied = bits, U32, 1152, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1152, [5:5] +m_isPriming = bits, U32, 1068, [0:0] +; total TS size = 1072 +tcuCurrentGear = scalar, S08, 1072, "gear", 1, 0 +tcRatio = scalar, U16, 1074, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1076, "", 1, 0 +tcu_currentRange = scalar, U08, 1080, "", 1, 0 +pressureControlDuty = scalar, S08, 1081, "%", 1,0 +torqueConverterDuty = scalar, S08, 1082, "%", 1,0 +isShifting = bits, U32, 1084, [0:0] +; total TS size = 1088 +throttleUseWotModel = bits, U32, 1088, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1092, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1096, "g/s", 1, 0 +; total TS size = 1100 +m_requested_pump = scalar, F32, 1100, "", 1, 0 +fuel_requested_percent = scalar, F32, 1104, "%", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1108, "", 1, 0 +noValve = bits, U32, 1112, [0:0] +angleAboveMin = bits, U32, 1112, [1:1] +isHpfpActive = bits, U32, 1112, [2:2] +HpfpValveState = bits, U32, 1112, [3:3] +m_pressureTarget_kPa = scalar, F32, 1116, "", 1, 0 +nextLobe = scalar, F32, 1120, "", 1, 0 +di_nextStart = scalar, F32, 1124, "v", 1, 0 +HpfdActivationPhase = scalar, F32, 1128, "", 1, 0 +HpfdDeactivationPhase = scalar, F32, 1132, "", 1, 0 +; total TS size = 1136 +m_deadtime = scalar, F32, 1136, "ms", 1, 0 +pressureDelta = scalar, F32, 1140, "kPa", 1, 0 +pressureRatio = scalar, F32, 1144, "", 1, 0 +; total TS size = 1148 +retardThresholdRpm = scalar, S32, 1148, "", 1, 0 +launchActivatePinState = bits, U32, 1152, [0:0] +isPreLaunchCondition = bits, U32, 1152, [1:1] +isLaunchCondition = bits, U32, 1152, [2:2] +isSwitchActivated = bits, U32, 1152, [3:3] +isClutchActivated = bits, U32, 1152, [4:4] +isBrakePedalActivated = bits, U32, 1152, [5:5] +isValidInputPin = bits, U32, 1152, [6:6] +activateSwitchCondition = bits, U32, 1152, [7:7] +rpmLaunchCondition = bits, U32, 1152, [8:8] +rpmPreLaunchCondition = bits, U32, 1152, [9:9] +speedCondition = bits, U32, 1152, [10:10] +tpsCondition = bits, U32, 1152, [11:11] ; total TS size = 1156 -isAntilagCondition = bits, U32, 1156, [0:0] -ALSMinRPMCondition = bits, U32, 1156, [1:1] -ALSMaxRPMCondition = bits, U32, 1156, [2:2] -ALSMinCLTCondition = bits, U32, 1156, [3:3] -ALSMaxCLTCondition = bits, U32, 1156, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1156, [5:5] -isALSSwitchActivated = bits, U32, 1156, [6:6] -ALSActivatePinState = bits, U32, 1156, [7:7] -ALSSwitchCondition = bits, U32, 1156, [8:8] -ALSTimerCondition = bits, U32, 1156, [9:9] -fuelALSCorrection = scalar, F32, 1160, "", 1, 0 -timingALSCorrection = scalar, S16, 1164, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1166, "deg", 0.01, 0 -; total TS size = 1168 -isTpsInvalid = bits, U32, 1168, [0:0] -m_shouldResetPid = bits, U32, 1168, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1168, [2:2] -isNotClosedLoop = bits, U32, 1168, [3:3] -isZeroRpm = bits, U32, 1168, [4:4] -hasInitBoost = bits, U32, 1168, [5:5] -rpmTooLow = bits, U32, 1168, [6:6] -tpsTooLow = bits, U32, 1168, [7:7] -mapTooLow = bits, U32, 1168, [8:8] -isPlantValid = bits, U32, 1168, [9:9] -isBoostControlled = bits, U32, 1168, [10:10] -luaTargetAdd = scalar, S16, 1172, "v", 0.5,0 -boostOutput = scalar, S16, 1174, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1176, "v", 1,0 -openLoopPart = scalar, F32, 1180, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1184, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1188, "%", 0.5,0 -boostControlTarget = scalar, S16, 1190, "kPa", 0.03333333333333333,0 -; total TS size = 1192 -acButtonState = scalar, S08, 1192, "", 1, 0 -m_acEnabled = bits, U32, 1196, [0:0] -engineTooSlow = bits, U32, 1196, [1:1] -engineTooFast = bits, U32, 1196, [2:2] -noClt = bits, U32, 1196, [3:3] -engineTooHot = bits, U32, 1196, [4:4] -tpsTooHigh = bits, U32, 1196, [5:5] -isDisabledByLua = bits, U32, 1196, [6:6] -acCompressorState = bits, U32, 1196, [7:7] -acPressureTooLow = bits, U32, 1196, [8:8] -acPressureTooHigh = bits, U32, 1196, [9:9] -; total TS size = 1200 -isNitrousArmed = bits, U32, 1200, [0:0] -isNitrousSpeedCondition = bits, U32, 1200, [1:1] -isNitrousTpsCondition = bits, U32, 1200, [2:2] -isNitrousCltCondition = bits, U32, 1200, [3:3] -isNitrousMapCondition = bits, U32, 1200, [4:4] -isNitrousAfrCondition = bits, U32, 1200, [5:5] -isNitrousRpmCondition = bits, U32, 1200, [6:6] -isNitrousCondition = bits, U32, 1200, [7:7] +isTorqueReductionTriggerPinValid = bits, U32, 1156, [0:0] +torqueReductionTriggerPinState = bits, U32, 1156, [1:1] +isTimeConditionSatisfied = bits, U32, 1156, [2:2] +isRpmConditionSatisfied = bits, U32, 1156, [3:3] +isAppConditionSatisfied = bits, U32, 1156, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1156, [5:5] +; total TS size = 1160 +isAntilagCondition = bits, U32, 1160, [0:0] +ALSMinRPMCondition = bits, U32, 1160, [1:1] +ALSMaxRPMCondition = bits, U32, 1160, [2:2] +ALSMinCLTCondition = bits, U32, 1160, [3:3] +ALSMaxCLTCondition = bits, U32, 1160, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1160, [5:5] +isALSSwitchActivated = bits, U32, 1160, [6:6] +ALSActivatePinState = bits, U32, 1160, [7:7] +ALSSwitchCondition = bits, U32, 1160, [8:8] +ALSTimerCondition = bits, U32, 1160, [9:9] +fuelALSCorrection = scalar, F32, 1164, "", 1, 0 +timingALSCorrection = scalar, S16, 1168, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1170, "deg", 0.01, 0 +; total TS size = 1172 +isTpsInvalid = bits, U32, 1172, [0:0] +m_shouldResetPid = bits, U32, 1172, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1172, [2:2] +isNotClosedLoop = bits, U32, 1172, [3:3] +isZeroRpm = bits, U32, 1172, [4:4] +hasInitBoost = bits, U32, 1172, [5:5] +rpmTooLow = bits, U32, 1172, [6:6] +tpsTooLow = bits, U32, 1172, [7:7] +mapTooLow = bits, U32, 1172, [8:8] +isPlantValid = bits, U32, 1172, [9:9] +isBoostControlled = bits, U32, 1172, [10:10] +luaTargetAdd = scalar, S16, 1176, "v", 0.5,0 +boostOutput = scalar, S16, 1178, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1180, "v", 1,0 +openLoopPart = scalar, F32, 1184, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1188, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1192, "%", 0.5,0 +boostControlTarget = scalar, S16, 1194, "kPa", 0.03333333333333333,0 +; total TS size = 1196 +acButtonState = scalar, S08, 1196, "", 1, 0 +m_acEnabled = bits, U32, 1200, [0:0] +engineTooSlow = bits, U32, 1200, [1:1] +engineTooFast = bits, U32, 1200, [2:2] +noClt = bits, U32, 1200, [3:3] +engineTooHot = bits, U32, 1200, [4:4] +tpsTooHigh = bits, U32, 1200, [5:5] +isDisabledByLua = bits, U32, 1200, [6:6] +acCompressorState = bits, U32, 1200, [7:7] +acPressureTooLow = bits, U32, 1200, [8:8] +acPressureTooHigh = bits, U32, 1200, [9:9] ; total TS size = 1204 -fan1cranking = bits, U32, 1204, [0:0] -fan1notRunning = bits, U32, 1204, [1:1] -fan1disabledWhileEngineStopped = bits, U32, 1204, [2:2] -fan1brokenClt = bits, U32, 1204, [3:3] -fan1enabledForAc = bits, U32, 1204, [4:4] -fan1hot = bits, U32, 1204, [5:5] -fan1cold = bits, U32, 1204, [6:6] -fan1disabledBySpeed = bits, U32, 1204, [7:7] -fan1m_state = bits, U32, 1204, [8:8] -fan1radiatorFanStatus = scalar, U08, 1208, "", 1, 0 -; total TS size = 1212 -fan2cranking = bits, U32, 1212, [0:0] -fan2notRunning = bits, U32, 1212, [1:1] -fan2disabledWhileEngineStopped = bits, U32, 1212, [2:2] -fan2brokenClt = bits, U32, 1212, [3:3] -fan2enabledForAc = bits, U32, 1212, [4:4] -fan2hot = bits, U32, 1212, [5:5] -fan2cold = bits, U32, 1212, [6:6] -fan2disabledBySpeed = bits, U32, 1212, [7:7] -fan2m_state = bits, U32, 1212, [8:8] -fan2radiatorFanStatus = scalar, U08, 1216, "", 1, 0 -; total TS size = 1220 -isPrime = bits, U32, 1220, [0:0] -engineTurnedRecently = bits, U32, 1220, [1:1] -isFuelPumpOn = bits, U32, 1220, [2:2] -ignitionOn = bits, U32, 1220, [3:3] +isNitrousArmed = bits, U32, 1204, [0:0] +isNitrousSpeedCondition = bits, U32, 1204, [1:1] +isNitrousTpsCondition = bits, U32, 1204, [2:2] +isNitrousCltCondition = bits, U32, 1204, [3:3] +isNitrousMapCondition = bits, U32, 1204, [4:4] +isNitrousAfrCondition = bits, U32, 1204, [5:5] +isNitrousRpmCondition = bits, U32, 1204, [6:6] +isNitrousCondition = bits, U32, 1204, [7:7] +; total TS size = 1208 +fan1cranking = bits, U32, 1208, [0:0] +fan1notRunning = bits, U32, 1208, [1:1] +fan1disabledWhileEngineStopped = bits, U32, 1208, [2:2] +fan1brokenClt = bits, U32, 1208, [3:3] +fan1enabledForAc = bits, U32, 1208, [4:4] +fan1hot = bits, U32, 1208, [5:5] +fan1cold = bits, U32, 1208, [6:6] +fan1disabledBySpeed = bits, U32, 1208, [7:7] +fan1m_state = bits, U32, 1208, [8:8] +fan1radiatorFanStatus = scalar, U08, 1212, "", 1, 0 +; total TS size = 1216 +fan2cranking = bits, U32, 1216, [0:0] +fan2notRunning = bits, U32, 1216, [1:1] +fan2disabledWhileEngineStopped = bits, U32, 1216, [2:2] +fan2brokenClt = bits, U32, 1216, [3:3] +fan2enabledForAc = bits, U32, 1216, [4:4] +fan2hot = bits, U32, 1216, [5:5] +fan2cold = bits, U32, 1216, [6:6] +fan2disabledBySpeed = bits, U32, 1216, [7:7] +fan2m_state = bits, U32, 1216, [8:8] +fan2radiatorFanStatus = scalar, U08, 1220, "", 1, 0 ; total TS size = 1224 -isBenchTest = bits, U32, 1224, [0:0] -hasIgnitionVoltage = bits, U32, 1224, [1:1] -mainRelayState = bits, U32, 1224, [2:2] -delayedShutoffRequested = bits, U32, 1224, [3:3] +isPrime = bits, U32, 1224, [0:0] +engineTurnedRecently = bits, U32, 1224, [1:1] +isFuelPumpOn = bits, U32, 1224, [2:2] +ignitionOn = bits, U32, 1224, [3:3] ; total TS size = 1228 -lua_fuelAdd = scalar, F32, 1228, "g", 1, 0 -lua_fuelMult = scalar, F32, 1232, "", 1, 0 -lua_clutchUpState = bits, U32, 1236, [0:0] -lua_brakePedalState = bits, U32, 1236, [1:1] -lua_acRequestState = bits, U32, 1236, [2:2] -lua_luaDisableEtb = bits, U32, 1236, [3:3] -lua_luaIgnCut = bits, U32, 1236, [4:4] -lua_luaFuelCut = bits, U32, 1236, [5:5] -lua_clutchDownState = bits, U32, 1236, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1236, [7:7] -lua_torqueReductionState = bits, U32, 1236, [8:8] -sd_tCharge = scalar, S16, 1240, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1244, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1248, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1252, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1256, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1260, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1264, "", 1, 0 -hellenBoardId = scalar, S16, 1268, "id", 1, 0 -clutchUpState = scalar, S08, 1270, "", 1, 0 -brakePedalState = scalar, S08, 1271, "", 1, 0 -startStopState = scalar, S08, 1272, "", 1, 0 -smartChipState = scalar, S08, 1273, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1274, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1275, "", 1, 0 -startStopPhysicalState = bits, U32, 1276, [0:0] -acrActive = bits, U32, 1276, [1:1] -acrEngineMovedRecently = bits, U32, 1276, [2:2] -heaterControlEnabled = bits, U32, 1276, [3:3] -luaDigitalState0 = bits, U32, 1276, [4:4] -luaDigitalState1 = bits, U32, 1276, [5:5] -luaDigitalState2 = bits, U32, 1276, [6:6] -luaDigitalState3 = bits, U32, 1276, [7:7] -clutchDownState = bits, U32, 1276, [8:8] -startStopStateToggleCounter = scalar, U32, 1280, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1284, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1288, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1292, "", 1, 0 -fuelInjectionCounter = scalar, U32, 1296, "", 1, 0 -globalSparkCounter = scalar, U32, 1300, "", 1, 0 -fuelingLoad = scalar, F32, 1304, "", 1, 0 -ignitionLoad = scalar, F32, 1308, "", 1, 0 -veTableYAxis = scalar, U16, 1312, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1314, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1315, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1316, "", 1, 0 -; total TS size = 1320 -tpsFrom = scalar, F32, 1320 -tpsTo = scalar, F32, 1324 -deltaTps = scalar, F32, 1328 -extraFuel = scalar, F32, 1332, "", 1, 0 -valueFromTable = scalar, F32, 1336, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1340, [0:0] -isBelowDecelThreshold = bits, U32, 1340, [1:1] -isTimeToResetAccumulator = bits, U32, 1340, [2:2] -isFractionalEnrichment = bits, U32, 1340, [3:3] -belowEpsilon = bits, U32, 1340, [4:4] -tooShort = bits, U32, 1340, [5:5] -fractionalInjFuel = scalar, F32, 1344, "", 1, 0 -accumulatedValue = scalar, F32, 1348, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1352, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1356, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1360, "", 1, 0 -cycleCnt = scalar, S32, 1364, "", 1, 0 -; total TS size = 1368 -hwEventCounters1 = scalar, U16, 1368, "", 1, 0 -hwEventCounters2 = scalar, U16, 1370, "", 1, 0 -hwEventCounters3 = scalar, U16, 1372, "", 1, 0 -hwEventCounters4 = scalar, U16, 1374, "", 1, 0 -vvtCamCounter = scalar, U16, 1376, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1380, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1384, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1388, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1389, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1392, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1396, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1400, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1404, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1408, [0:0] -triggerElapsedUs = scalar, U32, 1412, "", 1, 0 -; total TS size = 1416 -trgsynchronizationCounter = scalar, U32, 1416, "", 1, 0 -trgvvtToothDurations0 = scalar, U32, 1420, "us", 1, 0 -trgvvtCurrentPosition = scalar, F32, 1424, "", 1, 0 -trgvvtToothPosition1 = scalar, F32, 1428, "", 1, 0 -trgvvtToothPosition2 = scalar, F32, 1432, "", 1, 0 -trgvvtToothPosition3 = scalar, F32, 1436, "", 1, 0 -trgvvtToothPosition4 = scalar, F32, 1440, "", 1, 0 -trgtriggerSyncGapRatio = scalar, F32, 1444, "", 1, 0 -trgtriggerStateIndex = scalar, U08, 1448, "", 1, 0 -; total TS size = 1452 -vvt1isynchronizationCounter = scalar, U32, 1452, "", 1, 0 -vvt1ivvtToothDurations0 = scalar, U32, 1456, "us", 1, 0 -vvt1ivvtCurrentPosition = scalar, F32, 1460, "", 1, 0 -vvt1ivvtToothPosition1 = scalar, F32, 1464, "", 1, 0 -vvt1ivvtToothPosition2 = scalar, F32, 1468, "", 1, 0 -vvt1ivvtToothPosition3 = scalar, F32, 1472, "", 1, 0 -vvt1ivvtToothPosition4 = scalar, F32, 1476, "", 1, 0 -vvt1itriggerSyncGapRatio = scalar, F32, 1480, "", 1, 0 -vvt1itriggerStateIndex = scalar, U08, 1484, "", 1, 0 -; total TS size = 1488 -vvt1esynchronizationCounter = scalar, U32, 1488, "", 1, 0 -vvt1evvtToothDurations0 = scalar, U32, 1492, "us", 1, 0 -vvt1evvtCurrentPosition = scalar, F32, 1496, "", 1, 0 -vvt1evvtToothPosition1 = scalar, F32, 1500, "", 1, 0 -vvt1evvtToothPosition2 = scalar, F32, 1504, "", 1, 0 -vvt1evvtToothPosition3 = scalar, F32, 1508, "", 1, 0 -vvt1evvtToothPosition4 = scalar, F32, 1512, "", 1, 0 -vvt1etriggerSyncGapRatio = scalar, F32, 1516, "", 1, 0 -vvt1etriggerStateIndex = scalar, U08, 1520, "", 1, 0 -; total TS size = 1524 -vvt2isynchronizationCounter = scalar, U32, 1524, "", 1, 0 -vvt2ivvtToothDurations0 = scalar, U32, 1528, "us", 1, 0 -vvt2ivvtCurrentPosition = scalar, F32, 1532, "", 1, 0 -vvt2ivvtToothPosition1 = scalar, F32, 1536, "", 1, 0 -vvt2ivvtToothPosition2 = scalar, F32, 1540, "", 1, 0 -vvt2ivvtToothPosition3 = scalar, F32, 1544, "", 1, 0 -vvt2ivvtToothPosition4 = scalar, F32, 1548, "", 1, 0 -vvt2itriggerSyncGapRatio = scalar, F32, 1552, "", 1, 0 -vvt2itriggerStateIndex = scalar, U08, 1556, "", 1, 0 -; total TS size = 1560 -vvt2esynchronizationCounter = scalar, U32, 1560, "", 1, 0 -vvt2evvtToothDurations0 = scalar, U32, 1564, "us", 1, 0 -vvt2evvtCurrentPosition = scalar, F32, 1568, "", 1, 0 -vvt2evvtToothPosition1 = scalar, F32, 1572, "", 1, 0 -vvt2evvtToothPosition2 = scalar, F32, 1576, "", 1, 0 -vvt2evvtToothPosition3 = scalar, F32, 1580, "", 1, 0 -vvt2evvtToothPosition4 = scalar, F32, 1584, "", 1, 0 -vvt2etriggerSyncGapRatio = scalar, F32, 1588, "", 1, 0 -vvt2etriggerStateIndex = scalar, U08, 1592, "", 1, 0 -; total TS size = 1596 -camResyncCounter = scalar, U08, 1596, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1600, [0:0] -; total TS size = 1604 -wallFuelCorrection = scalar, F32, 1604, "", 1, 0 -wallFuel = scalar, F32, 1608, "", 1, 0 -; total TS size = 1612 -idleState = bits, S32, 1612, [0:2], "not important" -currentIdlePosition = scalar, F32, 1616 -baseIdlePosition = scalar, F32, 1620 -idleClosedLoop = scalar, F32, 1624 -iacByTpsTaper = scalar, F32, 1628 -mightResetPid = bits, U32, 1632, [0:0] -shouldResetPid = bits, U32, 1632, [1:1] -wasResetPid = bits, U32, 1632, [2:2] -mustResetPid = bits, U32, 1632, [3:3] -isCranking = bits, U32, 1632, [4:4] -isIacTableForCoasting = bits, U32, 1632, [5:5] -notIdling = bits, U32, 1632, [6:6] -needReset = bits, U32, 1632, [7:7] -isInDeadZone = bits, U32, 1632, [8:8] -isBlipping = bits, U32, 1632, [9:9] -useClosedLoop = bits, U32, 1632, [10:10] -badTps = bits, U32, 1632, [11:11] -looksLikeRunning = bits, U32, 1632, [12:12] -looksLikeCoasting = bits, U32, 1632, [13:13] -looksLikeCrankToIdle = bits, U32, 1632, [14:14] -isIdleCoasting = bits, U32, 1632, [15:15] -isIdleClosedLoop = bits, U32, 1632, [16:16] -idleTarget = scalar, S32, 1636, "", 1, 0 -targetRpmByClt = scalar, S32, 1640, "", 1, 0 -targetRpmAc = scalar, S32, 1644, "", 1, 0 -iacByRpmTaper = scalar, F32, 1648 -luaAdd = scalar, F32, 1652 -; total TS size = 1656 -etb1targetWithIdlePosition = scalar, F32, 1656, "%", 1,0 -etb1trim = scalar, F32, 1660, "", 1, 0 -etb1luaAdjustment = scalar, F32, 1664, "%", 1,0 -etb1m_wastegatePosition = scalar, F32, 1668, "%", 1,0 -etb1etbFeedForward = scalar, F32, 1672 -etb1etbIntegralError = scalar, F32, 1676, "", 1, 0 -etb1etbCurrentTarget = scalar, F32, 1680, "%", 1, 0 -etb1m_adjustedTarget = scalar, S16, 1684, "%", 0.01, 0 -etb1etbRevLimitActive = bits, U32, 1688, [0:0] -etb1jamDetected = bits, U32, 1688, [1:1] -etb1validPlantPosition = bits, U32, 1688, [2:2] -etb1etbTpsErrorCounter = scalar, U16, 1692, "count", 1,0 -etb1etbPpsErrorCounter = scalar, U16, 1694, "count", 1,0 -etb1etbErrorCode = scalar, S08, 1696, "", 1, 0 -etb1etbErrorCodeBlinker = scalar, S08, 1697, "", 1, 0 -etb1tcEtbDrop = scalar, S08, 1698, "%", 1, 0 -etb1jamTimer = scalar, U16, 1700, "sec", 0.01, 0 -etb1adjustedEtbTarget = scalar, S08, 1702, "%", 1, 0 -etb1state = scalar, U08, 1703, "", 1, 0 -; total TS size = 1704 -etb2targetWithIdlePosition = scalar, F32, 1704, "%", 1,0 -etb2trim = scalar, F32, 1708, "", 1, 0 -etb2luaAdjustment = scalar, F32, 1712, "%", 1,0 -etb2m_wastegatePosition = scalar, F32, 1716, "%", 1,0 -etb2etbFeedForward = scalar, F32, 1720 -etb2etbIntegralError = scalar, F32, 1724, "", 1, 0 -etb2etbCurrentTarget = scalar, F32, 1728, "%", 1, 0 -etb2m_adjustedTarget = scalar, S16, 1732, "%", 0.01, 0 -etb2etbRevLimitActive = bits, U32, 1736, [0:0] -etb2jamDetected = bits, U32, 1736, [1:1] -etb2validPlantPosition = bits, U32, 1736, [2:2] -etb2etbTpsErrorCounter = scalar, U16, 1740, "count", 1,0 -etb2etbPpsErrorCounter = scalar, U16, 1742, "count", 1,0 -etb2etbErrorCode = scalar, S08, 1744, "", 1, 0 -etb2etbErrorCodeBlinker = scalar, S08, 1745, "", 1, 0 -etb2tcEtbDrop = scalar, S08, 1746, "%", 1, 0 -etb2jamTimer = scalar, U16, 1748, "sec", 0.01, 0 -etb2adjustedEtbTarget = scalar, S08, 1750, "%", 1, 0 -etb2state = scalar, U08, 1751, "", 1, 0 -; total TS size = 1752 -wb1faultCode = scalar, U08, 1752, "", 1, 0 -wb1heaterDuty = scalar, U08, 1753, "%", 1, 0 -wb1pumpDuty = scalar, U08, 1754, "%", 1, 0 -wb1tempC = scalar, U16, 1756, "C", 1, 0 -wb1nernstVoltage = scalar, U16, 1758, "V", 0.001, 0 -wb1esr = scalar, U16, 1760, "ohm", 1, 0 -; total TS size = 1764 -wb2faultCode = scalar, U08, 1764, "", 1, 0 -wb2heaterDuty = scalar, U08, 1765, "%", 1, 0 -wb2pumpDuty = scalar, U08, 1766, "%", 1, 0 -wb2tempC = scalar, U16, 1768, "C", 1, 0 -wb2nernstVoltage = scalar, U16, 1770, "V", 0.001, 0 -wb2esr = scalar, U16, 1772, "ohm", 1, 0 -; total TS size = 1776 -dcOutput0 = scalar, F32, 1776, "%", 1,0 -isEnabled0_int = scalar, U08, 1780, "%", 1,0 -isEnabled0 = bits, U32, 1784, [0:0] -; total TS size = 1788 -value0 = scalar, U16, 1788, "RAW", 1,0 -value1 = scalar, U16, 1790, "RAW", 1,0 -errorRate = scalar, F32, 1792, "% (don't belive me)", 1,0 -; total TS size = 1796 -vvtTarget = scalar, U16, 1796, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1798, "%", 0.5, 0 +isBenchTest = bits, U32, 1228, [0:0] +hasIgnitionVoltage = bits, U32, 1228, [1:1] +mainRelayState = bits, U32, 1228, [2:2] +delayedShutoffRequested = bits, U32, 1228, [3:3] +; total TS size = 1232 +lua_fuelAdd = scalar, F32, 1232, "g", 1, 0 +lua_fuelMult = scalar, F32, 1236, "", 1, 0 +lua_clutchUpState = bits, U32, 1240, [0:0] +lua_brakePedalState = bits, U32, 1240, [1:1] +lua_acRequestState = bits, U32, 1240, [2:2] +lua_luaDisableEtb = bits, U32, 1240, [3:3] +lua_luaIgnCut = bits, U32, 1240, [4:4] +lua_luaFuelCut = bits, U32, 1240, [5:5] +lua_clutchDownState = bits, U32, 1240, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1240, [7:7] +lua_torqueReductionState = bits, U32, 1240, [8:8] +sd_tCharge = scalar, S16, 1244, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1248, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1252, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1256, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1260, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1264, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1268, "", 1, 0 +hellenBoardId = scalar, S16, 1272, "id", 1, 0 +clutchUpState = scalar, S08, 1274, "", 1, 0 +brakePedalState = scalar, S08, 1275, "", 1, 0 +startStopState = scalar, S08, 1276, "", 1, 0 +smartChipState = scalar, S08, 1277, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1278, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1279, "", 1, 0 +startStopPhysicalState = bits, U32, 1280, [0:0] +acrActive = bits, U32, 1280, [1:1] +acrEngineMovedRecently = bits, U32, 1280, [2:2] +heaterControlEnabled = bits, U32, 1280, [3:3] +luaDigitalState0 = bits, U32, 1280, [4:4] +luaDigitalState1 = bits, U32, 1280, [5:5] +luaDigitalState2 = bits, U32, 1280, [6:6] +luaDigitalState3 = bits, U32, 1280, [7:7] +clutchDownState = bits, U32, 1280, [8:8] +startStopStateToggleCounter = scalar, U32, 1284, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1288, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1292, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1296, "", 1, 0 +fuelInjectionCounter = scalar, U32, 1300, "", 1, 0 +globalSparkCounter = scalar, U32, 1304, "", 1, 0 +fuelingLoad = scalar, F32, 1308, "", 1, 0 +ignitionLoad = scalar, F32, 1312, "", 1, 0 +veTableYAxis = scalar, U16, 1316, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1318, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1319, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1320, "", 1, 0 +; total TS size = 1324 +tpsFrom = scalar, F32, 1324 +tpsTo = scalar, F32, 1328 +deltaTps = scalar, F32, 1332 +extraFuel = scalar, F32, 1336, "", 1, 0 +valueFromTable = scalar, F32, 1340, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1344, [0:0] +isBelowDecelThreshold = bits, U32, 1344, [1:1] +isTimeToResetAccumulator = bits, U32, 1344, [2:2] +isFractionalEnrichment = bits, U32, 1344, [3:3] +belowEpsilon = bits, U32, 1344, [4:4] +tooShort = bits, U32, 1344, [5:5] +fractionalInjFuel = scalar, F32, 1348, "", 1, 0 +accumulatedValue = scalar, F32, 1352, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1356, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1360, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1364, "", 1, 0 +cycleCnt = scalar, S32, 1368, "", 1, 0 +; total TS size = 1372 +hwEventCounters1 = scalar, U16, 1372, "", 1, 0 +hwEventCounters2 = scalar, U16, 1374, "", 1, 0 +hwEventCounters3 = scalar, U16, 1376, "", 1, 0 +hwEventCounters4 = scalar, U16, 1378, "", 1, 0 +vvtCamCounter = scalar, U16, 1380, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1384, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1388, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1392, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1393, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1396, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1400, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1404, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1408, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1412, [0:0] +triggerElapsedUs = scalar, U32, 1416, "", 1, 0 +; total TS size = 1420 +trgsynchronizationCounter = scalar, U32, 1420, "", 1, 0 +trgvvtToothDurations0 = scalar, U32, 1424, "us", 1, 0 +trgvvtCurrentPosition = scalar, F32, 1428, "", 1, 0 +trgvvtToothPosition1 = scalar, F32, 1432, "", 1, 0 +trgvvtToothPosition2 = scalar, F32, 1436, "", 1, 0 +trgvvtToothPosition3 = scalar, F32, 1440, "", 1, 0 +trgvvtToothPosition4 = scalar, F32, 1444, "", 1, 0 +trgtriggerSyncGapRatio = scalar, F32, 1448, "", 1, 0 +trgtriggerStateIndex = scalar, U08, 1452, "", 1, 0 +; total TS size = 1456 +vvt1isynchronizationCounter = scalar, U32, 1456, "", 1, 0 +vvt1ivvtToothDurations0 = scalar, U32, 1460, "us", 1, 0 +vvt1ivvtCurrentPosition = scalar, F32, 1464, "", 1, 0 +vvt1ivvtToothPosition1 = scalar, F32, 1468, "", 1, 0 +vvt1ivvtToothPosition2 = scalar, F32, 1472, "", 1, 0 +vvt1ivvtToothPosition3 = scalar, F32, 1476, "", 1, 0 +vvt1ivvtToothPosition4 = scalar, F32, 1480, "", 1, 0 +vvt1itriggerSyncGapRatio = scalar, F32, 1484, "", 1, 0 +vvt1itriggerStateIndex = scalar, U08, 1488, "", 1, 0 +; total TS size = 1492 +vvt1esynchronizationCounter = scalar, U32, 1492, "", 1, 0 +vvt1evvtToothDurations0 = scalar, U32, 1496, "us", 1, 0 +vvt1evvtCurrentPosition = scalar, F32, 1500, "", 1, 0 +vvt1evvtToothPosition1 = scalar, F32, 1504, "", 1, 0 +vvt1evvtToothPosition2 = scalar, F32, 1508, "", 1, 0 +vvt1evvtToothPosition3 = scalar, F32, 1512, "", 1, 0 +vvt1evvtToothPosition4 = scalar, F32, 1516, "", 1, 0 +vvt1etriggerSyncGapRatio = scalar, F32, 1520, "", 1, 0 +vvt1etriggerStateIndex = scalar, U08, 1524, "", 1, 0 +; total TS size = 1528 +vvt2isynchronizationCounter = scalar, U32, 1528, "", 1, 0 +vvt2ivvtToothDurations0 = scalar, U32, 1532, "us", 1, 0 +vvt2ivvtCurrentPosition = scalar, F32, 1536, "", 1, 0 +vvt2ivvtToothPosition1 = scalar, F32, 1540, "", 1, 0 +vvt2ivvtToothPosition2 = scalar, F32, 1544, "", 1, 0 +vvt2ivvtToothPosition3 = scalar, F32, 1548, "", 1, 0 +vvt2ivvtToothPosition4 = scalar, F32, 1552, "", 1, 0 +vvt2itriggerSyncGapRatio = scalar, F32, 1556, "", 1, 0 +vvt2itriggerStateIndex = scalar, U08, 1560, "", 1, 0 +; total TS size = 1564 +vvt2esynchronizationCounter = scalar, U32, 1564, "", 1, 0 +vvt2evvtToothDurations0 = scalar, U32, 1568, "us", 1, 0 +vvt2evvtCurrentPosition = scalar, F32, 1572, "", 1, 0 +vvt2evvtToothPosition1 = scalar, F32, 1576, "", 1, 0 +vvt2evvtToothPosition2 = scalar, F32, 1580, "", 1, 0 +vvt2evvtToothPosition3 = scalar, F32, 1584, "", 1, 0 +vvt2evvtToothPosition4 = scalar, F32, 1588, "", 1, 0 +vvt2etriggerSyncGapRatio = scalar, F32, 1592, "", 1, 0 +vvt2etriggerStateIndex = scalar, U08, 1596, "", 1, 0 +; total TS size = 1600 +camResyncCounter = scalar, U08, 1600, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1604, [0:0] +; total TS size = 1608 +wallFuelCorrection = scalar, F32, 1608, "", 1, 0 +wallFuel = scalar, F32, 1612, "", 1, 0 +; total TS size = 1616 +idleState = bits, S32, 1616, [0:2], "not important" +currentIdlePosition = scalar, F32, 1620 +baseIdlePosition = scalar, F32, 1624 +idleClosedLoop = scalar, F32, 1628 +iacByTpsTaper = scalar, F32, 1632 +mightResetPid = bits, U32, 1636, [0:0] +shouldResetPid = bits, U32, 1636, [1:1] +wasResetPid = bits, U32, 1636, [2:2] +mustResetPid = bits, U32, 1636, [3:3] +isCranking = bits, U32, 1636, [4:4] +isIacTableForCoasting = bits, U32, 1636, [5:5] +notIdling = bits, U32, 1636, [6:6] +needReset = bits, U32, 1636, [7:7] +isInDeadZone = bits, U32, 1636, [8:8] +isBlipping = bits, U32, 1636, [9:9] +useClosedLoop = bits, U32, 1636, [10:10] +badTps = bits, U32, 1636, [11:11] +looksLikeRunning = bits, U32, 1636, [12:12] +looksLikeCoasting = bits, U32, 1636, [13:13] +looksLikeCrankToIdle = bits, U32, 1636, [14:14] +isIdleCoasting = bits, U32, 1636, [15:15] +isIdleClosedLoop = bits, U32, 1636, [16:16] +idleTarget = scalar, S32, 1640, "", 1, 0 +targetRpmByClt = scalar, S32, 1644, "", 1, 0 +targetRpmAc = scalar, S32, 1648, "", 1, 0 +iacByRpmTaper = scalar, F32, 1652 +luaAdd = scalar, F32, 1656 +; total TS size = 1660 +etb1targetWithIdlePosition = scalar, F32, 1660, "%", 1,0 +etb1trim = scalar, F32, 1664, "", 1, 0 +etb1luaAdjustment = scalar, F32, 1668, "%", 1,0 +etb1m_wastegatePosition = scalar, F32, 1672, "%", 1,0 +etb1etbFeedForward = scalar, F32, 1676 +etb1etbIntegralError = scalar, F32, 1680, "", 1, 0 +etb1etbCurrentTarget = scalar, F32, 1684, "%", 1, 0 +etb1m_adjustedTarget = scalar, S16, 1688, "%", 0.01, 0 +etb1etbRevLimitActive = bits, U32, 1692, [0:0] +etb1jamDetected = bits, U32, 1692, [1:1] +etb1validPlantPosition = bits, U32, 1692, [2:2] +etb1etbTpsErrorCounter = scalar, U16, 1696, "count", 1,0 +etb1etbPpsErrorCounter = scalar, U16, 1698, "count", 1,0 +etb1etbErrorCode = scalar, S08, 1700, "", 1, 0 +etb1etbErrorCodeBlinker = scalar, S08, 1701, "", 1, 0 +etb1tcEtbDrop = scalar, S08, 1702, "%", 1, 0 +etb1jamTimer = scalar, U16, 1704, "sec", 0.01, 0 +etb1adjustedEtbTarget = scalar, S08, 1706, "%", 1, 0 +etb1state = scalar, U08, 1707, "", 1, 0 +; total TS size = 1708 +etb2targetWithIdlePosition = scalar, F32, 1708, "%", 1,0 +etb2trim = scalar, F32, 1712, "", 1, 0 +etb2luaAdjustment = scalar, F32, 1716, "%", 1,0 +etb2m_wastegatePosition = scalar, F32, 1720, "%", 1,0 +etb2etbFeedForward = scalar, F32, 1724 +etb2etbIntegralError = scalar, F32, 1728, "", 1, 0 +etb2etbCurrentTarget = scalar, F32, 1732, "%", 1, 0 +etb2m_adjustedTarget = scalar, S16, 1736, "%", 0.01, 0 +etb2etbRevLimitActive = bits, U32, 1740, [0:0] +etb2jamDetected = bits, U32, 1740, [1:1] +etb2validPlantPosition = bits, U32, 1740, [2:2] +etb2etbTpsErrorCounter = scalar, U16, 1744, "count", 1,0 +etb2etbPpsErrorCounter = scalar, U16, 1746, "count", 1,0 +etb2etbErrorCode = scalar, S08, 1748, "", 1, 0 +etb2etbErrorCodeBlinker = scalar, S08, 1749, "", 1, 0 +etb2tcEtbDrop = scalar, S08, 1750, "%", 1, 0 +etb2jamTimer = scalar, U16, 1752, "sec", 0.01, 0 +etb2adjustedEtbTarget = scalar, S08, 1754, "%", 1, 0 +etb2state = scalar, U08, 1755, "", 1, 0 +; total TS size = 1756 +wb1faultCode = scalar, U08, 1756, "", 1, 0 +wb1heaterDuty = scalar, U08, 1757, "%", 1, 0 +wb1pumpDuty = scalar, U08, 1758, "%", 1, 0 +wb1tempC = scalar, U16, 1760, "C", 1, 0 +wb1nernstVoltage = scalar, U16, 1762, "V", 0.001, 0 +wb1esr = scalar, U16, 1764, "ohm", 1, 0 +; total TS size = 1768 +wb2faultCode = scalar, U08, 1768, "", 1, 0 +wb2heaterDuty = scalar, U08, 1769, "%", 1, 0 +wb2pumpDuty = scalar, U08, 1770, "%", 1, 0 +wb2tempC = scalar, U16, 1772, "C", 1, 0 +wb2nernstVoltage = scalar, U16, 1774, "V", 0.001, 0 +wb2esr = scalar, U16, 1776, "ohm", 1, 0 +; total TS size = 1780 +dcOutput0 = scalar, F32, 1780, "%", 1,0 +isEnabled0_int = scalar, U08, 1784, "%", 1,0 +isEnabled0 = bits, U32, 1788, [0:0] +; total TS size = 1792 +value0 = scalar, U16, 1792, "RAW", 1,0 +value1 = scalar, U16, 1794, "RAW", 1,0 +errorRate = scalar, F32, 1796, "% (don't belive me)", 1,0 ; total TS size = 1800 -lambdaCurrentlyGood = bits, U32, 1800, [0:0] -lambdaMonitorCut = bits, U32, 1800, [1:1] -lambdaTimeSinceGood = scalar, U16, 1804, "sec", 0.01, 0 -; total TS size = 1808 +vvtTarget = scalar, U16, 1800, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1802, "%", 0.5, 0 +; total TS size = 1804 +lambdaCurrentlyGood = bits, U32, 1804, [0:0] +lambdaMonitorCut = bits, U32, 1804, [1:1] +lambdaTimeSinceGood = scalar, U16, 1808, "sec", 0.01, 0 +; total TS size = 1812 time = { timeNow } @@ -4584,6 +4587,12 @@ curve = rangeMatrix, "Range Switch Input Matrix" gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. upDownLabel = "(RICHER)", "(LEANER)" + table = trailingSparkTable, trailingSparkMap, "Trailing spark", 1 + xyLabels = "RPM", "Ignition Load" + xBins = trailingSparkRpmBins, RPMValue + yBins = trailingSparkLoadBins, ignitionLoad + zBins = trailingSparkTable + table = torqueTableTbl, torqueTableMap, "Engine Torque", 1 xBins = torqueRpmBins, RPMValue yBins = torqueLoadBins, veTableYAxis @@ -4881,6 +4890,7 @@ timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20 timingPidCorrectionGauge = timingPidCorrection,"Idle: Timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 +trailingSparkAngleGauge = trailingSparkAngle,"Ign: Trailing spark deg", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 gaugeCategory = "Boost Control" luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 @@ -5808,6 +5818,7 @@ entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" entry = luaIgnitionSkip, "Ign: Lua Spark Skip", int, "%d" +entry = trailingSparkAngle, "Ign: Trailing spark deg", float, "%.3f" entry = m_knockLevel, "Knock: Current level", float, "%.3f" entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" @@ -6774,6 +6785,7 @@ dialog = ignition_stateDialog, "ignition_state" graphLine = luaTimingAdd liveGraph = ignition_state_4_Graph, "Graph", South graphLine = luaTimingMult + graphLine = trailingSparkAngle dialog = knock_controllerDialog, "knock_controller" @@ -10043,11 +10055,11 @@ commandButton = "microRusEFI M111", cmd_set_engine_type_MERCEDES_M11 dialog = rotaryDialog, "Rotary" field = "Enable Trailing Sparks", enableTrailingSparks - field = "Trailing Spark Offset", trailingSparkAngle field = "Trailing Pin 1", trailingCoilPins1 field = "Trailing Pin 2", trailingCoilPins2 field = "Trailing Pin 3", trailingCoilPins3 field = "Trailing Pin 4", trailingCoilPins4 + panel = trailingSparkTable diff --git a/firmware/tunerstudio/generated/rusefi_mre_f4.ini b/firmware/tunerstudio/generated/rusefi_mre_f4.ini index 5a95fa05dd..ec9f32987e 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.2025.02.07.mre_f4.435823701" + signature = "rusEFI master.2025.02.07.mre_f4.2658773816" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2025.02.07.mre_f4.435823701" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2025.02.07.mre_f4.2658773816" ; 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 @@ -101,7 +101,7 @@ enable2ndByteCanID = false ; CONFIG_DEFINITION_START ; this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt -pageSize = 25280 +pageSize = 25304 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",22="BMW_M52",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",21="ET_BOSCH_QUICK_START",24="ET_TEST_WITH_BOSCH_QUICK_START",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",41="FRANKENSO_MIATA_NA6_MAP",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",47="GM_LCV",55="GM_LTG",98="GM_SBC",49="GM_SBC_GEN5",8="GY6_139QMB",6="HARLEY",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",34="MAZDA_MIATA_NA6",80="MAZDA_MIATA_NA94",10="MAZDA_MIATA_NA96",83="MAZDA_MIATA_NB1",69="MAZDA_MIATA_NB2",86="MAZDA_MIATA_NB2_36",20="MAZDA_MIATA_NC",33="ME17_9_MISC",68="MERCEDES_M111",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",4="MRE_SECONDARY_CAN",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",35="POLARIS",9="POLARIS_RZR",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",27="PROTEUS_GM_LS_4",25="PROTEUS_LUA_DEMO",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",17="TCU_4R70W",100="TEST_100",101="TEST_101",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",93="TEST_ISSUE_6451",19="TEST_ROTARY",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",102="UNUSED102",67="UNUSED67",94="UNUSED94",65="UNUSED_65",97="UNUSED_97",77="VAG_5_CYL",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -245,7 +245,7 @@ vbattAdcChannel = bits, U08, 513, [0:5], $adc_channel_e_list fuelLevelSensor = bits, U08, 514, [0:5], $adc_channel_e_list tps2_1AdcChannel = bits, U08, 515, [0:5], $adc_channel_e_list idle_derivativeFilterLoss = scalar, F32, 516, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 520, "angle", 1, 0, 0, 720, 0 +unusedTrailingSparkAngle = scalar, S32, 520, "", 1, 0, 0, 100, 0 trigger_type = bits, U32, 524, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Daihatsu 3 cylinder", "Mazda SOHC 4", "60-2", "36-1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "Dodge Ram 1+16", "60-2 Wrong Polarity", "Benelli Tre", "Dodge Stratus", "36_2_2_2", "Nissan Primera", "dev 2JZ 3/34 simulator", "Rover K", "GM 24x 5 degree", "Honda CBR 600 Cam", "INVALID", "Honda CBR 600 custom", "3-1 skipped", "Dodge Neon 2003 crank", "Miata NB", "INVALID", "INVALID", "Subaru 7+6", "Jeep 18-2-2-2", "12crank/24cam", "Dodge Neon 1995 crank only", "Jeep XJ 4 cyl", "FiatIAQ_P8", "Mazda Z5", "INVALID", "Renix 44-2-2", "Renix 66-2-2-2", "Honda K 12+1", "INVALID", "36-2", "Subaru SVX", "Suzuki K6A", "Subaru 7 without 6", "INVALID", "INVALID", "GM 60-2-2-2", "Skoda Favorit", "Barra 3+1 Cam", "Kawa KX450F", "Nissan VQ35", "INVALID", "Nissan VQ30", "Nissan QR25", "INVALID", "Subaru SVX Crank 1", "Subaru SVX Cam VVT", "Ford PIP", "Suzuki G13B", "Honda K 4+1", "Nissan MR18 Crank", "32-2", "36-2-1", "36-2-1-1", "3-0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6-0", "Daihatsu 4 cylinder", "INVALID", "dev", "Nissan HR", "Arctic Cat", "HR12 in", "HONDA J30A2", "trg88", "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" trigger_customTotalToothCount = scalar, S32, 528, "number", 1, 0, 1, 300, 0 trigger_customSkippedToothCount = scalar, S32, 532, "number", 1, 0, 0, 300, 0 @@ -1796,7 +1796,10 @@ dynoCarCarMassKg = scalar, S16, 25268, "", 1, 0, 0, 32000, 0 dynoCarCargoMassKg = scalar, S16, 25270, "", 1, 0, 0, 32000, 0 dynoCarCoeffOfDrag = scalar, F32, 25272, "", 1, 0, 0, 100, 0 dynoCarFrontalAreaM2 = scalar, F32, 25276, "", 1, 0, 0, 100, 0 -; total TS size = 25280 +trailingSparkTable = array, S08, 25280, [4x4], "deg", 0.1, 0, 0, 20, 1 +trailingSparkRpmBins = array, U08, 25296, [4], "rpm", 50.0, 0, 0, 12000, 0 +trailingSparkLoadBins = array, U08, 25300, [4], "Load", 5.0, 0, 0, 1000, 0 +; total TS size = 25304 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1890,7 +1893,6 @@ dynoCarFrontalAreaM2 = scalar, F32, 25276, "", 1, 0, 0, 100, 0 fuelLevelSensor = "This is the processor pin that your fuel level sensor in connected to. This is a non standard input so will need to be user defined." tps2_1AdcChannel = "Second throttle body position sensor, single channel so far" idle_derivativeFilterLoss = "0.1 is a good default value" - trailingSparkAngle = "just a temporary solution" trigger_type = "https://github.com/rusefi/rusefi/wiki/All-Supported-Triggers" airByRpmTaper = "Extra air taper amount" boostControlSafeDutyCycle = "Duty cycle to use in case of a sensor failure. This duty cycle should produce the minimum possible amount of boost. This duty is also used in case any of the minimum RPM/TPS/MAP conditions are not met." @@ -2664,7 +2666,7 @@ dynoCarFrontalAreaM2 = scalar, F32, 25276, "", 1, 0, 0, 100, 0 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1808 + ochBlockSize = 1812 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3189,417 +3191,418 @@ dwellVoltageCorrection = scalar, F32, 940, "", 1, 0 luaTimingAdd = scalar, F32, 944, "deg", 1, 0 luaTimingMult = scalar, F32, 948, "deg", 1, 0 luaIgnitionSkip = bits, U32, 952, [0:0] -; total TS size = 956 -m_knockLevel = scalar, F32, 956, "Volts", 1, 0 -m_knockCyl1 = scalar, S08, 960, "dBv", 1, 0 -m_knockCyl2 = scalar, S08, 961, "dBv", 1, 0 -m_knockCyl3 = scalar, S08, 962, "dBv", 1, 0 -m_knockCyl4 = scalar, S08, 963, "dBv", 1, 0 -m_knockCyl5 = scalar, S08, 964, "dBv", 1, 0 -m_knockCyl6 = scalar, S08, 965, "dBv", 1, 0 -m_knockCyl7 = scalar, S08, 966, "dBv", 1, 0 -m_knockCyl8 = scalar, S08, 967, "dBv", 1, 0 -m_knockCyl9 = scalar, S08, 968, "dBv", 1, 0 -m_knockCyl10 = scalar, S08, 969, "dBv", 1, 0 -m_knockCyl11 = scalar, S08, 970, "dBv", 1, 0 -m_knockCyl12 = scalar, S08, 971, "dBv", 1, 0 -m_knockRetard = scalar, F32, 972, "deg", 1,0 -m_knockThreshold = scalar, F32, 976, "", 1, 0 -m_knockCount = scalar, U32, 980, "", 1, 0 -m_maximumRetard = scalar, F32, 984, "", 1, 0 -m_knockSpectrum1 = scalar, U32, 988, "compressed data", 1, 0 -m_knockSpectrum2 = scalar, U32, 992, "compressed data", 1, 0 -m_knockSpectrum3 = scalar, U32, 996, "compressed data", 1, 0 -m_knockSpectrum4 = scalar, U32, 1000, "compressed data", 1, 0 -m_knockSpectrum5 = scalar, U32, 1004, "compressed data", 1, 0 -m_knockSpectrum6 = scalar, U32, 1008, "compressed data", 1, 0 -m_knockSpectrum7 = scalar, U32, 1012, "compressed data", 1, 0 -m_knockSpectrum8 = scalar, U32, 1016, "compressed data", 1, 0 -m_knockSpectrum9 = scalar, U32, 1020, "compressed data", 1, 0 -m_knockSpectrum10 = scalar, U32, 1024, "compressed data", 1, 0 -m_knockSpectrum11 = scalar, U32, 1028, "compressed data", 1, 0 -m_knockSpectrum12 = scalar, U32, 1032, "compressed data", 1, 0 -m_knockSpectrum13 = scalar, U32, 1036, "compressed data", 1, 0 -m_knockSpectrum14 = scalar, U32, 1040, "compressed data", 1, 0 -m_knockSpectrum15 = scalar, U32, 1044, "compressed data", 1, 0 -m_knockSpectrum16 = scalar, U32, 1048, "compressed data", 1, 0 -m_knockSpectrumChannelCyl = scalar, U16, 1052, "compressed N + N", 1, 0 -m_knockFrequencyStart = scalar, U16, 1054, "Hz", 1, 0 -m_knockFrequencyStep = scalar, F32, 1056, "Hz", 1, 0 -m_knockFuelTrimMultiplier = scalar, F32, 1060, "multiplier", 1, 0 -; total TS size = 1064 -m_isPriming = bits, U32, 1064, [0:0] +trailingSparkAngle = scalar, S16, 956, "deg", 0.01,0 +; total TS size = 960 +m_knockLevel = scalar, F32, 960, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 964, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 965, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 966, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 967, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 968, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 969, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 970, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 971, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 972, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 973, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 974, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 975, "dBv", 1, 0 +m_knockRetard = scalar, F32, 976, "deg", 1,0 +m_knockThreshold = scalar, F32, 980, "", 1, 0 +m_knockCount = scalar, U32, 984, "", 1, 0 +m_maximumRetard = scalar, F32, 988, "", 1, 0 +m_knockSpectrum1 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1040, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1044, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1048, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1052, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1056, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1058, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1060, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1064, "multiplier", 1, 0 ; total TS size = 1068 -tcuCurrentGear = scalar, S08, 1068, "gear", 1, 0 -tcRatio = scalar, U16, 1070, "value", 0.01, 0 -lastShiftTime = scalar, F32, 1072, "", 1, 0 -tcu_currentRange = scalar, U08, 1076, "", 1, 0 -pressureControlDuty = scalar, S08, 1077, "%", 1,0 -torqueConverterDuty = scalar, S08, 1078, "%", 1,0 -isShifting = bits, U32, 1080, [0:0] -; total TS size = 1084 -throttleUseWotModel = bits, U32, 1084, [0:0] -throttleModelCrossoverAngle = scalar, S16, 1088, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1092, "g/s", 1, 0 -; total TS size = 1096 -m_requested_pump = scalar, F32, 1096, "", 1, 0 -fuel_requested_percent = scalar, F32, 1100, "%", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1104, "", 1, 0 -noValve = bits, U32, 1108, [0:0] -angleAboveMin = bits, U32, 1108, [1:1] -isHpfpActive = bits, U32, 1108, [2:2] -HpfpValveState = bits, U32, 1108, [3:3] -m_pressureTarget_kPa = scalar, F32, 1112, "", 1, 0 -nextLobe = scalar, F32, 1116, "", 1, 0 -di_nextStart = scalar, F32, 1120, "v", 1, 0 -HpfdActivationPhase = scalar, F32, 1124, "", 1, 0 -HpfdDeactivationPhase = scalar, F32, 1128, "", 1, 0 -; total TS size = 1132 -m_deadtime = scalar, F32, 1132, "ms", 1, 0 -pressureDelta = scalar, F32, 1136, "kPa", 1, 0 -pressureRatio = scalar, F32, 1140, "", 1, 0 -; total TS size = 1144 -retardThresholdRpm = scalar, S32, 1144, "", 1, 0 -launchActivatePinState = bits, U32, 1148, [0:0] -isPreLaunchCondition = bits, U32, 1148, [1:1] -isLaunchCondition = bits, U32, 1148, [2:2] -isSwitchActivated = bits, U32, 1148, [3:3] -isClutchActivated = bits, U32, 1148, [4:4] -isBrakePedalActivated = bits, U32, 1148, [5:5] -isValidInputPin = bits, U32, 1148, [6:6] -activateSwitchCondition = bits, U32, 1148, [7:7] -rpmLaunchCondition = bits, U32, 1148, [8:8] -rpmPreLaunchCondition = bits, U32, 1148, [9:9] -speedCondition = bits, U32, 1148, [10:10] -tpsCondition = bits, U32, 1148, [11:11] -; total TS size = 1152 -isTorqueReductionTriggerPinValid = bits, U32, 1152, [0:0] -torqueReductionTriggerPinState = bits, U32, 1152, [1:1] -isTimeConditionSatisfied = bits, U32, 1152, [2:2] -isRpmConditionSatisfied = bits, U32, 1152, [3:3] -isAppConditionSatisfied = bits, U32, 1152, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1152, [5:5] +m_isPriming = bits, U32, 1068, [0:0] +; total TS size = 1072 +tcuCurrentGear = scalar, S08, 1072, "gear", 1, 0 +tcRatio = scalar, U16, 1074, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1076, "", 1, 0 +tcu_currentRange = scalar, U08, 1080, "", 1, 0 +pressureControlDuty = scalar, S08, 1081, "%", 1,0 +torqueConverterDuty = scalar, S08, 1082, "%", 1,0 +isShifting = bits, U32, 1084, [0:0] +; total TS size = 1088 +throttleUseWotModel = bits, U32, 1088, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1092, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1096, "g/s", 1, 0 +; total TS size = 1100 +m_requested_pump = scalar, F32, 1100, "", 1, 0 +fuel_requested_percent = scalar, F32, 1104, "%", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1108, "", 1, 0 +noValve = bits, U32, 1112, [0:0] +angleAboveMin = bits, U32, 1112, [1:1] +isHpfpActive = bits, U32, 1112, [2:2] +HpfpValveState = bits, U32, 1112, [3:3] +m_pressureTarget_kPa = scalar, F32, 1116, "", 1, 0 +nextLobe = scalar, F32, 1120, "", 1, 0 +di_nextStart = scalar, F32, 1124, "v", 1, 0 +HpfdActivationPhase = scalar, F32, 1128, "", 1, 0 +HpfdDeactivationPhase = scalar, F32, 1132, "", 1, 0 +; total TS size = 1136 +m_deadtime = scalar, F32, 1136, "ms", 1, 0 +pressureDelta = scalar, F32, 1140, "kPa", 1, 0 +pressureRatio = scalar, F32, 1144, "", 1, 0 +; total TS size = 1148 +retardThresholdRpm = scalar, S32, 1148, "", 1, 0 +launchActivatePinState = bits, U32, 1152, [0:0] +isPreLaunchCondition = bits, U32, 1152, [1:1] +isLaunchCondition = bits, U32, 1152, [2:2] +isSwitchActivated = bits, U32, 1152, [3:3] +isClutchActivated = bits, U32, 1152, [4:4] +isBrakePedalActivated = bits, U32, 1152, [5:5] +isValidInputPin = bits, U32, 1152, [6:6] +activateSwitchCondition = bits, U32, 1152, [7:7] +rpmLaunchCondition = bits, U32, 1152, [8:8] +rpmPreLaunchCondition = bits, U32, 1152, [9:9] +speedCondition = bits, U32, 1152, [10:10] +tpsCondition = bits, U32, 1152, [11:11] ; total TS size = 1156 -isAntilagCondition = bits, U32, 1156, [0:0] -ALSMinRPMCondition = bits, U32, 1156, [1:1] -ALSMaxRPMCondition = bits, U32, 1156, [2:2] -ALSMinCLTCondition = bits, U32, 1156, [3:3] -ALSMaxCLTCondition = bits, U32, 1156, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1156, [5:5] -isALSSwitchActivated = bits, U32, 1156, [6:6] -ALSActivatePinState = bits, U32, 1156, [7:7] -ALSSwitchCondition = bits, U32, 1156, [8:8] -ALSTimerCondition = bits, U32, 1156, [9:9] -fuelALSCorrection = scalar, F32, 1160, "", 1, 0 -timingALSCorrection = scalar, S16, 1164, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1166, "deg", 0.01, 0 -; total TS size = 1168 -isTpsInvalid = bits, U32, 1168, [0:0] -m_shouldResetPid = bits, U32, 1168, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1168, [2:2] -isNotClosedLoop = bits, U32, 1168, [3:3] -isZeroRpm = bits, U32, 1168, [4:4] -hasInitBoost = bits, U32, 1168, [5:5] -rpmTooLow = bits, U32, 1168, [6:6] -tpsTooLow = bits, U32, 1168, [7:7] -mapTooLow = bits, U32, 1168, [8:8] -isPlantValid = bits, U32, 1168, [9:9] -isBoostControlled = bits, U32, 1168, [10:10] -luaTargetAdd = scalar, S16, 1172, "v", 0.5,0 -boostOutput = scalar, S16, 1174, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1176, "v", 1,0 -openLoopPart = scalar, F32, 1180, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1184, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1188, "%", 0.5,0 -boostControlTarget = scalar, S16, 1190, "kPa", 0.03333333333333333,0 -; total TS size = 1192 -acButtonState = scalar, S08, 1192, "", 1, 0 -m_acEnabled = bits, U32, 1196, [0:0] -engineTooSlow = bits, U32, 1196, [1:1] -engineTooFast = bits, U32, 1196, [2:2] -noClt = bits, U32, 1196, [3:3] -engineTooHot = bits, U32, 1196, [4:4] -tpsTooHigh = bits, U32, 1196, [5:5] -isDisabledByLua = bits, U32, 1196, [6:6] -acCompressorState = bits, U32, 1196, [7:7] -acPressureTooLow = bits, U32, 1196, [8:8] -acPressureTooHigh = bits, U32, 1196, [9:9] -; total TS size = 1200 -isNitrousArmed = bits, U32, 1200, [0:0] -isNitrousSpeedCondition = bits, U32, 1200, [1:1] -isNitrousTpsCondition = bits, U32, 1200, [2:2] -isNitrousCltCondition = bits, U32, 1200, [3:3] -isNitrousMapCondition = bits, U32, 1200, [4:4] -isNitrousAfrCondition = bits, U32, 1200, [5:5] -isNitrousRpmCondition = bits, U32, 1200, [6:6] -isNitrousCondition = bits, U32, 1200, [7:7] +isTorqueReductionTriggerPinValid = bits, U32, 1156, [0:0] +torqueReductionTriggerPinState = bits, U32, 1156, [1:1] +isTimeConditionSatisfied = bits, U32, 1156, [2:2] +isRpmConditionSatisfied = bits, U32, 1156, [3:3] +isAppConditionSatisfied = bits, U32, 1156, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1156, [5:5] +; total TS size = 1160 +isAntilagCondition = bits, U32, 1160, [0:0] +ALSMinRPMCondition = bits, U32, 1160, [1:1] +ALSMaxRPMCondition = bits, U32, 1160, [2:2] +ALSMinCLTCondition = bits, U32, 1160, [3:3] +ALSMaxCLTCondition = bits, U32, 1160, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1160, [5:5] +isALSSwitchActivated = bits, U32, 1160, [6:6] +ALSActivatePinState = bits, U32, 1160, [7:7] +ALSSwitchCondition = bits, U32, 1160, [8:8] +ALSTimerCondition = bits, U32, 1160, [9:9] +fuelALSCorrection = scalar, F32, 1164, "", 1, 0 +timingALSCorrection = scalar, S16, 1168, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1170, "deg", 0.01, 0 +; total TS size = 1172 +isTpsInvalid = bits, U32, 1172, [0:0] +m_shouldResetPid = bits, U32, 1172, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1172, [2:2] +isNotClosedLoop = bits, U32, 1172, [3:3] +isZeroRpm = bits, U32, 1172, [4:4] +hasInitBoost = bits, U32, 1172, [5:5] +rpmTooLow = bits, U32, 1172, [6:6] +tpsTooLow = bits, U32, 1172, [7:7] +mapTooLow = bits, U32, 1172, [8:8] +isPlantValid = bits, U32, 1172, [9:9] +isBoostControlled = bits, U32, 1172, [10:10] +luaTargetAdd = scalar, S16, 1176, "v", 0.5,0 +boostOutput = scalar, S16, 1178, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1180, "v", 1,0 +openLoopPart = scalar, F32, 1184, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1188, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1192, "%", 0.5,0 +boostControlTarget = scalar, S16, 1194, "kPa", 0.03333333333333333,0 +; total TS size = 1196 +acButtonState = scalar, S08, 1196, "", 1, 0 +m_acEnabled = bits, U32, 1200, [0:0] +engineTooSlow = bits, U32, 1200, [1:1] +engineTooFast = bits, U32, 1200, [2:2] +noClt = bits, U32, 1200, [3:3] +engineTooHot = bits, U32, 1200, [4:4] +tpsTooHigh = bits, U32, 1200, [5:5] +isDisabledByLua = bits, U32, 1200, [6:6] +acCompressorState = bits, U32, 1200, [7:7] +acPressureTooLow = bits, U32, 1200, [8:8] +acPressureTooHigh = bits, U32, 1200, [9:9] ; total TS size = 1204 -fan1cranking = bits, U32, 1204, [0:0] -fan1notRunning = bits, U32, 1204, [1:1] -fan1disabledWhileEngineStopped = bits, U32, 1204, [2:2] -fan1brokenClt = bits, U32, 1204, [3:3] -fan1enabledForAc = bits, U32, 1204, [4:4] -fan1hot = bits, U32, 1204, [5:5] -fan1cold = bits, U32, 1204, [6:6] -fan1disabledBySpeed = bits, U32, 1204, [7:7] -fan1m_state = bits, U32, 1204, [8:8] -fan1radiatorFanStatus = scalar, U08, 1208, "", 1, 0 -; total TS size = 1212 -fan2cranking = bits, U32, 1212, [0:0] -fan2notRunning = bits, U32, 1212, [1:1] -fan2disabledWhileEngineStopped = bits, U32, 1212, [2:2] -fan2brokenClt = bits, U32, 1212, [3:3] -fan2enabledForAc = bits, U32, 1212, [4:4] -fan2hot = bits, U32, 1212, [5:5] -fan2cold = bits, U32, 1212, [6:6] -fan2disabledBySpeed = bits, U32, 1212, [7:7] -fan2m_state = bits, U32, 1212, [8:8] -fan2radiatorFanStatus = scalar, U08, 1216, "", 1, 0 -; total TS size = 1220 -isPrime = bits, U32, 1220, [0:0] -engineTurnedRecently = bits, U32, 1220, [1:1] -isFuelPumpOn = bits, U32, 1220, [2:2] -ignitionOn = bits, U32, 1220, [3:3] +isNitrousArmed = bits, U32, 1204, [0:0] +isNitrousSpeedCondition = bits, U32, 1204, [1:1] +isNitrousTpsCondition = bits, U32, 1204, [2:2] +isNitrousCltCondition = bits, U32, 1204, [3:3] +isNitrousMapCondition = bits, U32, 1204, [4:4] +isNitrousAfrCondition = bits, U32, 1204, [5:5] +isNitrousRpmCondition = bits, U32, 1204, [6:6] +isNitrousCondition = bits, U32, 1204, [7:7] +; total TS size = 1208 +fan1cranking = bits, U32, 1208, [0:0] +fan1notRunning = bits, U32, 1208, [1:1] +fan1disabledWhileEngineStopped = bits, U32, 1208, [2:2] +fan1brokenClt = bits, U32, 1208, [3:3] +fan1enabledForAc = bits, U32, 1208, [4:4] +fan1hot = bits, U32, 1208, [5:5] +fan1cold = bits, U32, 1208, [6:6] +fan1disabledBySpeed = bits, U32, 1208, [7:7] +fan1m_state = bits, U32, 1208, [8:8] +fan1radiatorFanStatus = scalar, U08, 1212, "", 1, 0 +; total TS size = 1216 +fan2cranking = bits, U32, 1216, [0:0] +fan2notRunning = bits, U32, 1216, [1:1] +fan2disabledWhileEngineStopped = bits, U32, 1216, [2:2] +fan2brokenClt = bits, U32, 1216, [3:3] +fan2enabledForAc = bits, U32, 1216, [4:4] +fan2hot = bits, U32, 1216, [5:5] +fan2cold = bits, U32, 1216, [6:6] +fan2disabledBySpeed = bits, U32, 1216, [7:7] +fan2m_state = bits, U32, 1216, [8:8] +fan2radiatorFanStatus = scalar, U08, 1220, "", 1, 0 ; total TS size = 1224 -isBenchTest = bits, U32, 1224, [0:0] -hasIgnitionVoltage = bits, U32, 1224, [1:1] -mainRelayState = bits, U32, 1224, [2:2] -delayedShutoffRequested = bits, U32, 1224, [3:3] +isPrime = bits, U32, 1224, [0:0] +engineTurnedRecently = bits, U32, 1224, [1:1] +isFuelPumpOn = bits, U32, 1224, [2:2] +ignitionOn = bits, U32, 1224, [3:3] ; total TS size = 1228 -lua_fuelAdd = scalar, F32, 1228, "g", 1, 0 -lua_fuelMult = scalar, F32, 1232, "", 1, 0 -lua_clutchUpState = bits, U32, 1236, [0:0] -lua_brakePedalState = bits, U32, 1236, [1:1] -lua_acRequestState = bits, U32, 1236, [2:2] -lua_luaDisableEtb = bits, U32, 1236, [3:3] -lua_luaIgnCut = bits, U32, 1236, [4:4] -lua_luaFuelCut = bits, U32, 1236, [5:5] -lua_clutchDownState = bits, U32, 1236, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1236, [7:7] -lua_torqueReductionState = bits, U32, 1236, [8:8] -sd_tCharge = scalar, S16, 1240, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1244, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1248, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1252, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1256, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1260, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1264, "", 1, 0 -hellenBoardId = scalar, S16, 1268, "id", 1, 0 -clutchUpState = scalar, S08, 1270, "", 1, 0 -brakePedalState = scalar, S08, 1271, "", 1, 0 -startStopState = scalar, S08, 1272, "", 1, 0 -smartChipState = scalar, S08, 1273, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1274, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1275, "", 1, 0 -startStopPhysicalState = bits, U32, 1276, [0:0] -acrActive = bits, U32, 1276, [1:1] -acrEngineMovedRecently = bits, U32, 1276, [2:2] -heaterControlEnabled = bits, U32, 1276, [3:3] -luaDigitalState0 = bits, U32, 1276, [4:4] -luaDigitalState1 = bits, U32, 1276, [5:5] -luaDigitalState2 = bits, U32, 1276, [6:6] -luaDigitalState3 = bits, U32, 1276, [7:7] -clutchDownState = bits, U32, 1276, [8:8] -startStopStateToggleCounter = scalar, U32, 1280, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1284, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1288, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1292, "", 1, 0 -fuelInjectionCounter = scalar, U32, 1296, "", 1, 0 -globalSparkCounter = scalar, U32, 1300, "", 1, 0 -fuelingLoad = scalar, F32, 1304, "", 1, 0 -ignitionLoad = scalar, F32, 1308, "", 1, 0 -veTableYAxis = scalar, U16, 1312, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1314, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1315, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1316, "", 1, 0 -; total TS size = 1320 -tpsFrom = scalar, F32, 1320 -tpsTo = scalar, F32, 1324 -deltaTps = scalar, F32, 1328 -extraFuel = scalar, F32, 1332, "", 1, 0 -valueFromTable = scalar, F32, 1336, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1340, [0:0] -isBelowDecelThreshold = bits, U32, 1340, [1:1] -isTimeToResetAccumulator = bits, U32, 1340, [2:2] -isFractionalEnrichment = bits, U32, 1340, [3:3] -belowEpsilon = bits, U32, 1340, [4:4] -tooShort = bits, U32, 1340, [5:5] -fractionalInjFuel = scalar, F32, 1344, "", 1, 0 -accumulatedValue = scalar, F32, 1348, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1352, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1356, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1360, "", 1, 0 -cycleCnt = scalar, S32, 1364, "", 1, 0 -; total TS size = 1368 -hwEventCounters1 = scalar, U16, 1368, "", 1, 0 -hwEventCounters2 = scalar, U16, 1370, "", 1, 0 -hwEventCounters3 = scalar, U16, 1372, "", 1, 0 -hwEventCounters4 = scalar, U16, 1374, "", 1, 0 -vvtCamCounter = scalar, U16, 1376, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1380, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1384, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1388, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1389, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1392, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1396, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1400, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1404, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1408, [0:0] -triggerElapsedUs = scalar, U32, 1412, "", 1, 0 -; total TS size = 1416 -trgsynchronizationCounter = scalar, U32, 1416, "", 1, 0 -trgvvtToothDurations0 = scalar, U32, 1420, "us", 1, 0 -trgvvtCurrentPosition = scalar, F32, 1424, "", 1, 0 -trgvvtToothPosition1 = scalar, F32, 1428, "", 1, 0 -trgvvtToothPosition2 = scalar, F32, 1432, "", 1, 0 -trgvvtToothPosition3 = scalar, F32, 1436, "", 1, 0 -trgvvtToothPosition4 = scalar, F32, 1440, "", 1, 0 -trgtriggerSyncGapRatio = scalar, F32, 1444, "", 1, 0 -trgtriggerStateIndex = scalar, U08, 1448, "", 1, 0 -; total TS size = 1452 -vvt1isynchronizationCounter = scalar, U32, 1452, "", 1, 0 -vvt1ivvtToothDurations0 = scalar, U32, 1456, "us", 1, 0 -vvt1ivvtCurrentPosition = scalar, F32, 1460, "", 1, 0 -vvt1ivvtToothPosition1 = scalar, F32, 1464, "", 1, 0 -vvt1ivvtToothPosition2 = scalar, F32, 1468, "", 1, 0 -vvt1ivvtToothPosition3 = scalar, F32, 1472, "", 1, 0 -vvt1ivvtToothPosition4 = scalar, F32, 1476, "", 1, 0 -vvt1itriggerSyncGapRatio = scalar, F32, 1480, "", 1, 0 -vvt1itriggerStateIndex = scalar, U08, 1484, "", 1, 0 -; total TS size = 1488 -vvt1esynchronizationCounter = scalar, U32, 1488, "", 1, 0 -vvt1evvtToothDurations0 = scalar, U32, 1492, "us", 1, 0 -vvt1evvtCurrentPosition = scalar, F32, 1496, "", 1, 0 -vvt1evvtToothPosition1 = scalar, F32, 1500, "", 1, 0 -vvt1evvtToothPosition2 = scalar, F32, 1504, "", 1, 0 -vvt1evvtToothPosition3 = scalar, F32, 1508, "", 1, 0 -vvt1evvtToothPosition4 = scalar, F32, 1512, "", 1, 0 -vvt1etriggerSyncGapRatio = scalar, F32, 1516, "", 1, 0 -vvt1etriggerStateIndex = scalar, U08, 1520, "", 1, 0 -; total TS size = 1524 -vvt2isynchronizationCounter = scalar, U32, 1524, "", 1, 0 -vvt2ivvtToothDurations0 = scalar, U32, 1528, "us", 1, 0 -vvt2ivvtCurrentPosition = scalar, F32, 1532, "", 1, 0 -vvt2ivvtToothPosition1 = scalar, F32, 1536, "", 1, 0 -vvt2ivvtToothPosition2 = scalar, F32, 1540, "", 1, 0 -vvt2ivvtToothPosition3 = scalar, F32, 1544, "", 1, 0 -vvt2ivvtToothPosition4 = scalar, F32, 1548, "", 1, 0 -vvt2itriggerSyncGapRatio = scalar, F32, 1552, "", 1, 0 -vvt2itriggerStateIndex = scalar, U08, 1556, "", 1, 0 -; total TS size = 1560 -vvt2esynchronizationCounter = scalar, U32, 1560, "", 1, 0 -vvt2evvtToothDurations0 = scalar, U32, 1564, "us", 1, 0 -vvt2evvtCurrentPosition = scalar, F32, 1568, "", 1, 0 -vvt2evvtToothPosition1 = scalar, F32, 1572, "", 1, 0 -vvt2evvtToothPosition2 = scalar, F32, 1576, "", 1, 0 -vvt2evvtToothPosition3 = scalar, F32, 1580, "", 1, 0 -vvt2evvtToothPosition4 = scalar, F32, 1584, "", 1, 0 -vvt2etriggerSyncGapRatio = scalar, F32, 1588, "", 1, 0 -vvt2etriggerStateIndex = scalar, U08, 1592, "", 1, 0 -; total TS size = 1596 -camResyncCounter = scalar, U08, 1596, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1600, [0:0] -; total TS size = 1604 -wallFuelCorrection = scalar, F32, 1604, "", 1, 0 -wallFuel = scalar, F32, 1608, "", 1, 0 -; total TS size = 1612 -idleState = bits, S32, 1612, [0:2], "not important" -currentIdlePosition = scalar, F32, 1616 -baseIdlePosition = scalar, F32, 1620 -idleClosedLoop = scalar, F32, 1624 -iacByTpsTaper = scalar, F32, 1628 -mightResetPid = bits, U32, 1632, [0:0] -shouldResetPid = bits, U32, 1632, [1:1] -wasResetPid = bits, U32, 1632, [2:2] -mustResetPid = bits, U32, 1632, [3:3] -isCranking = bits, U32, 1632, [4:4] -isIacTableForCoasting = bits, U32, 1632, [5:5] -notIdling = bits, U32, 1632, [6:6] -needReset = bits, U32, 1632, [7:7] -isInDeadZone = bits, U32, 1632, [8:8] -isBlipping = bits, U32, 1632, [9:9] -useClosedLoop = bits, U32, 1632, [10:10] -badTps = bits, U32, 1632, [11:11] -looksLikeRunning = bits, U32, 1632, [12:12] -looksLikeCoasting = bits, U32, 1632, [13:13] -looksLikeCrankToIdle = bits, U32, 1632, [14:14] -isIdleCoasting = bits, U32, 1632, [15:15] -isIdleClosedLoop = bits, U32, 1632, [16:16] -idleTarget = scalar, S32, 1636, "", 1, 0 -targetRpmByClt = scalar, S32, 1640, "", 1, 0 -targetRpmAc = scalar, S32, 1644, "", 1, 0 -iacByRpmTaper = scalar, F32, 1648 -luaAdd = scalar, F32, 1652 -; total TS size = 1656 -etb1targetWithIdlePosition = scalar, F32, 1656, "%", 1,0 -etb1trim = scalar, F32, 1660, "", 1, 0 -etb1luaAdjustment = scalar, F32, 1664, "%", 1,0 -etb1m_wastegatePosition = scalar, F32, 1668, "%", 1,0 -etb1etbFeedForward = scalar, F32, 1672 -etb1etbIntegralError = scalar, F32, 1676, "", 1, 0 -etb1etbCurrentTarget = scalar, F32, 1680, "%", 1, 0 -etb1m_adjustedTarget = scalar, S16, 1684, "%", 0.01, 0 -etb1etbRevLimitActive = bits, U32, 1688, [0:0] -etb1jamDetected = bits, U32, 1688, [1:1] -etb1validPlantPosition = bits, U32, 1688, [2:2] -etb1etbTpsErrorCounter = scalar, U16, 1692, "count", 1,0 -etb1etbPpsErrorCounter = scalar, U16, 1694, "count", 1,0 -etb1etbErrorCode = scalar, S08, 1696, "", 1, 0 -etb1etbErrorCodeBlinker = scalar, S08, 1697, "", 1, 0 -etb1tcEtbDrop = scalar, S08, 1698, "%", 1, 0 -etb1jamTimer = scalar, U16, 1700, "sec", 0.01, 0 -etb1adjustedEtbTarget = scalar, S08, 1702, "%", 1, 0 -etb1state = scalar, U08, 1703, "", 1, 0 -; total TS size = 1704 -etb2targetWithIdlePosition = scalar, F32, 1704, "%", 1,0 -etb2trim = scalar, F32, 1708, "", 1, 0 -etb2luaAdjustment = scalar, F32, 1712, "%", 1,0 -etb2m_wastegatePosition = scalar, F32, 1716, "%", 1,0 -etb2etbFeedForward = scalar, F32, 1720 -etb2etbIntegralError = scalar, F32, 1724, "", 1, 0 -etb2etbCurrentTarget = scalar, F32, 1728, "%", 1, 0 -etb2m_adjustedTarget = scalar, S16, 1732, "%", 0.01, 0 -etb2etbRevLimitActive = bits, U32, 1736, [0:0] -etb2jamDetected = bits, U32, 1736, [1:1] -etb2validPlantPosition = bits, U32, 1736, [2:2] -etb2etbTpsErrorCounter = scalar, U16, 1740, "count", 1,0 -etb2etbPpsErrorCounter = scalar, U16, 1742, "count", 1,0 -etb2etbErrorCode = scalar, S08, 1744, "", 1, 0 -etb2etbErrorCodeBlinker = scalar, S08, 1745, "", 1, 0 -etb2tcEtbDrop = scalar, S08, 1746, "%", 1, 0 -etb2jamTimer = scalar, U16, 1748, "sec", 0.01, 0 -etb2adjustedEtbTarget = scalar, S08, 1750, "%", 1, 0 -etb2state = scalar, U08, 1751, "", 1, 0 -; total TS size = 1752 -wb1faultCode = scalar, U08, 1752, "", 1, 0 -wb1heaterDuty = scalar, U08, 1753, "%", 1, 0 -wb1pumpDuty = scalar, U08, 1754, "%", 1, 0 -wb1tempC = scalar, U16, 1756, "C", 1, 0 -wb1nernstVoltage = scalar, U16, 1758, "V", 0.001, 0 -wb1esr = scalar, U16, 1760, "ohm", 1, 0 -; total TS size = 1764 -wb2faultCode = scalar, U08, 1764, "", 1, 0 -wb2heaterDuty = scalar, U08, 1765, "%", 1, 0 -wb2pumpDuty = scalar, U08, 1766, "%", 1, 0 -wb2tempC = scalar, U16, 1768, "C", 1, 0 -wb2nernstVoltage = scalar, U16, 1770, "V", 0.001, 0 -wb2esr = scalar, U16, 1772, "ohm", 1, 0 -; total TS size = 1776 -dcOutput0 = scalar, F32, 1776, "%", 1,0 -isEnabled0_int = scalar, U08, 1780, "%", 1,0 -isEnabled0 = bits, U32, 1784, [0:0] -; total TS size = 1788 -value0 = scalar, U16, 1788, "RAW", 1,0 -value1 = scalar, U16, 1790, "RAW", 1,0 -errorRate = scalar, F32, 1792, "% (don't belive me)", 1,0 -; total TS size = 1796 -vvtTarget = scalar, U16, 1796, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1798, "%", 0.5, 0 +isBenchTest = bits, U32, 1228, [0:0] +hasIgnitionVoltage = bits, U32, 1228, [1:1] +mainRelayState = bits, U32, 1228, [2:2] +delayedShutoffRequested = bits, U32, 1228, [3:3] +; total TS size = 1232 +lua_fuelAdd = scalar, F32, 1232, "g", 1, 0 +lua_fuelMult = scalar, F32, 1236, "", 1, 0 +lua_clutchUpState = bits, U32, 1240, [0:0] +lua_brakePedalState = bits, U32, 1240, [1:1] +lua_acRequestState = bits, U32, 1240, [2:2] +lua_luaDisableEtb = bits, U32, 1240, [3:3] +lua_luaIgnCut = bits, U32, 1240, [4:4] +lua_luaFuelCut = bits, U32, 1240, [5:5] +lua_clutchDownState = bits, U32, 1240, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1240, [7:7] +lua_torqueReductionState = bits, U32, 1240, [8:8] +sd_tCharge = scalar, S16, 1244, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1248, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1252, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1256, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1260, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1264, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1268, "", 1, 0 +hellenBoardId = scalar, S16, 1272, "id", 1, 0 +clutchUpState = scalar, S08, 1274, "", 1, 0 +brakePedalState = scalar, S08, 1275, "", 1, 0 +startStopState = scalar, S08, 1276, "", 1, 0 +smartChipState = scalar, S08, 1277, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1278, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1279, "", 1, 0 +startStopPhysicalState = bits, U32, 1280, [0:0] +acrActive = bits, U32, 1280, [1:1] +acrEngineMovedRecently = bits, U32, 1280, [2:2] +heaterControlEnabled = bits, U32, 1280, [3:3] +luaDigitalState0 = bits, U32, 1280, [4:4] +luaDigitalState1 = bits, U32, 1280, [5:5] +luaDigitalState2 = bits, U32, 1280, [6:6] +luaDigitalState3 = bits, U32, 1280, [7:7] +clutchDownState = bits, U32, 1280, [8:8] +startStopStateToggleCounter = scalar, U32, 1284, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1288, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1292, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1296, "", 1, 0 +fuelInjectionCounter = scalar, U32, 1300, "", 1, 0 +globalSparkCounter = scalar, U32, 1304, "", 1, 0 +fuelingLoad = scalar, F32, 1308, "", 1, 0 +ignitionLoad = scalar, F32, 1312, "", 1, 0 +veTableYAxis = scalar, U16, 1316, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1318, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1319, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1320, "", 1, 0 +; total TS size = 1324 +tpsFrom = scalar, F32, 1324 +tpsTo = scalar, F32, 1328 +deltaTps = scalar, F32, 1332 +extraFuel = scalar, F32, 1336, "", 1, 0 +valueFromTable = scalar, F32, 1340, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1344, [0:0] +isBelowDecelThreshold = bits, U32, 1344, [1:1] +isTimeToResetAccumulator = bits, U32, 1344, [2:2] +isFractionalEnrichment = bits, U32, 1344, [3:3] +belowEpsilon = bits, U32, 1344, [4:4] +tooShort = bits, U32, 1344, [5:5] +fractionalInjFuel = scalar, F32, 1348, "", 1, 0 +accumulatedValue = scalar, F32, 1352, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1356, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1360, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1364, "", 1, 0 +cycleCnt = scalar, S32, 1368, "", 1, 0 +; total TS size = 1372 +hwEventCounters1 = scalar, U16, 1372, "", 1, 0 +hwEventCounters2 = scalar, U16, 1374, "", 1, 0 +hwEventCounters3 = scalar, U16, 1376, "", 1, 0 +hwEventCounters4 = scalar, U16, 1378, "", 1, 0 +vvtCamCounter = scalar, U16, 1380, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1384, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1388, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1392, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1393, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1396, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1400, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1404, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1408, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1412, [0:0] +triggerElapsedUs = scalar, U32, 1416, "", 1, 0 +; total TS size = 1420 +trgsynchronizationCounter = scalar, U32, 1420, "", 1, 0 +trgvvtToothDurations0 = scalar, U32, 1424, "us", 1, 0 +trgvvtCurrentPosition = scalar, F32, 1428, "", 1, 0 +trgvvtToothPosition1 = scalar, F32, 1432, "", 1, 0 +trgvvtToothPosition2 = scalar, F32, 1436, "", 1, 0 +trgvvtToothPosition3 = scalar, F32, 1440, "", 1, 0 +trgvvtToothPosition4 = scalar, F32, 1444, "", 1, 0 +trgtriggerSyncGapRatio = scalar, F32, 1448, "", 1, 0 +trgtriggerStateIndex = scalar, U08, 1452, "", 1, 0 +; total TS size = 1456 +vvt1isynchronizationCounter = scalar, U32, 1456, "", 1, 0 +vvt1ivvtToothDurations0 = scalar, U32, 1460, "us", 1, 0 +vvt1ivvtCurrentPosition = scalar, F32, 1464, "", 1, 0 +vvt1ivvtToothPosition1 = scalar, F32, 1468, "", 1, 0 +vvt1ivvtToothPosition2 = scalar, F32, 1472, "", 1, 0 +vvt1ivvtToothPosition3 = scalar, F32, 1476, "", 1, 0 +vvt1ivvtToothPosition4 = scalar, F32, 1480, "", 1, 0 +vvt1itriggerSyncGapRatio = scalar, F32, 1484, "", 1, 0 +vvt1itriggerStateIndex = scalar, U08, 1488, "", 1, 0 +; total TS size = 1492 +vvt1esynchronizationCounter = scalar, U32, 1492, "", 1, 0 +vvt1evvtToothDurations0 = scalar, U32, 1496, "us", 1, 0 +vvt1evvtCurrentPosition = scalar, F32, 1500, "", 1, 0 +vvt1evvtToothPosition1 = scalar, F32, 1504, "", 1, 0 +vvt1evvtToothPosition2 = scalar, F32, 1508, "", 1, 0 +vvt1evvtToothPosition3 = scalar, F32, 1512, "", 1, 0 +vvt1evvtToothPosition4 = scalar, F32, 1516, "", 1, 0 +vvt1etriggerSyncGapRatio = scalar, F32, 1520, "", 1, 0 +vvt1etriggerStateIndex = scalar, U08, 1524, "", 1, 0 +; total TS size = 1528 +vvt2isynchronizationCounter = scalar, U32, 1528, "", 1, 0 +vvt2ivvtToothDurations0 = scalar, U32, 1532, "us", 1, 0 +vvt2ivvtCurrentPosition = scalar, F32, 1536, "", 1, 0 +vvt2ivvtToothPosition1 = scalar, F32, 1540, "", 1, 0 +vvt2ivvtToothPosition2 = scalar, F32, 1544, "", 1, 0 +vvt2ivvtToothPosition3 = scalar, F32, 1548, "", 1, 0 +vvt2ivvtToothPosition4 = scalar, F32, 1552, "", 1, 0 +vvt2itriggerSyncGapRatio = scalar, F32, 1556, "", 1, 0 +vvt2itriggerStateIndex = scalar, U08, 1560, "", 1, 0 +; total TS size = 1564 +vvt2esynchronizationCounter = scalar, U32, 1564, "", 1, 0 +vvt2evvtToothDurations0 = scalar, U32, 1568, "us", 1, 0 +vvt2evvtCurrentPosition = scalar, F32, 1572, "", 1, 0 +vvt2evvtToothPosition1 = scalar, F32, 1576, "", 1, 0 +vvt2evvtToothPosition2 = scalar, F32, 1580, "", 1, 0 +vvt2evvtToothPosition3 = scalar, F32, 1584, "", 1, 0 +vvt2evvtToothPosition4 = scalar, F32, 1588, "", 1, 0 +vvt2etriggerSyncGapRatio = scalar, F32, 1592, "", 1, 0 +vvt2etriggerStateIndex = scalar, U08, 1596, "", 1, 0 +; total TS size = 1600 +camResyncCounter = scalar, U08, 1600, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1604, [0:0] +; total TS size = 1608 +wallFuelCorrection = scalar, F32, 1608, "", 1, 0 +wallFuel = scalar, F32, 1612, "", 1, 0 +; total TS size = 1616 +idleState = bits, S32, 1616, [0:2], "not important" +currentIdlePosition = scalar, F32, 1620 +baseIdlePosition = scalar, F32, 1624 +idleClosedLoop = scalar, F32, 1628 +iacByTpsTaper = scalar, F32, 1632 +mightResetPid = bits, U32, 1636, [0:0] +shouldResetPid = bits, U32, 1636, [1:1] +wasResetPid = bits, U32, 1636, [2:2] +mustResetPid = bits, U32, 1636, [3:3] +isCranking = bits, U32, 1636, [4:4] +isIacTableForCoasting = bits, U32, 1636, [5:5] +notIdling = bits, U32, 1636, [6:6] +needReset = bits, U32, 1636, [7:7] +isInDeadZone = bits, U32, 1636, [8:8] +isBlipping = bits, U32, 1636, [9:9] +useClosedLoop = bits, U32, 1636, [10:10] +badTps = bits, U32, 1636, [11:11] +looksLikeRunning = bits, U32, 1636, [12:12] +looksLikeCoasting = bits, U32, 1636, [13:13] +looksLikeCrankToIdle = bits, U32, 1636, [14:14] +isIdleCoasting = bits, U32, 1636, [15:15] +isIdleClosedLoop = bits, U32, 1636, [16:16] +idleTarget = scalar, S32, 1640, "", 1, 0 +targetRpmByClt = scalar, S32, 1644, "", 1, 0 +targetRpmAc = scalar, S32, 1648, "", 1, 0 +iacByRpmTaper = scalar, F32, 1652 +luaAdd = scalar, F32, 1656 +; total TS size = 1660 +etb1targetWithIdlePosition = scalar, F32, 1660, "%", 1,0 +etb1trim = scalar, F32, 1664, "", 1, 0 +etb1luaAdjustment = scalar, F32, 1668, "%", 1,0 +etb1m_wastegatePosition = scalar, F32, 1672, "%", 1,0 +etb1etbFeedForward = scalar, F32, 1676 +etb1etbIntegralError = scalar, F32, 1680, "", 1, 0 +etb1etbCurrentTarget = scalar, F32, 1684, "%", 1, 0 +etb1m_adjustedTarget = scalar, S16, 1688, "%", 0.01, 0 +etb1etbRevLimitActive = bits, U32, 1692, [0:0] +etb1jamDetected = bits, U32, 1692, [1:1] +etb1validPlantPosition = bits, U32, 1692, [2:2] +etb1etbTpsErrorCounter = scalar, U16, 1696, "count", 1,0 +etb1etbPpsErrorCounter = scalar, U16, 1698, "count", 1,0 +etb1etbErrorCode = scalar, S08, 1700, "", 1, 0 +etb1etbErrorCodeBlinker = scalar, S08, 1701, "", 1, 0 +etb1tcEtbDrop = scalar, S08, 1702, "%", 1, 0 +etb1jamTimer = scalar, U16, 1704, "sec", 0.01, 0 +etb1adjustedEtbTarget = scalar, S08, 1706, "%", 1, 0 +etb1state = scalar, U08, 1707, "", 1, 0 +; total TS size = 1708 +etb2targetWithIdlePosition = scalar, F32, 1708, "%", 1,0 +etb2trim = scalar, F32, 1712, "", 1, 0 +etb2luaAdjustment = scalar, F32, 1716, "%", 1,0 +etb2m_wastegatePosition = scalar, F32, 1720, "%", 1,0 +etb2etbFeedForward = scalar, F32, 1724 +etb2etbIntegralError = scalar, F32, 1728, "", 1, 0 +etb2etbCurrentTarget = scalar, F32, 1732, "%", 1, 0 +etb2m_adjustedTarget = scalar, S16, 1736, "%", 0.01, 0 +etb2etbRevLimitActive = bits, U32, 1740, [0:0] +etb2jamDetected = bits, U32, 1740, [1:1] +etb2validPlantPosition = bits, U32, 1740, [2:2] +etb2etbTpsErrorCounter = scalar, U16, 1744, "count", 1,0 +etb2etbPpsErrorCounter = scalar, U16, 1746, "count", 1,0 +etb2etbErrorCode = scalar, S08, 1748, "", 1, 0 +etb2etbErrorCodeBlinker = scalar, S08, 1749, "", 1, 0 +etb2tcEtbDrop = scalar, S08, 1750, "%", 1, 0 +etb2jamTimer = scalar, U16, 1752, "sec", 0.01, 0 +etb2adjustedEtbTarget = scalar, S08, 1754, "%", 1, 0 +etb2state = scalar, U08, 1755, "", 1, 0 +; total TS size = 1756 +wb1faultCode = scalar, U08, 1756, "", 1, 0 +wb1heaterDuty = scalar, U08, 1757, "%", 1, 0 +wb1pumpDuty = scalar, U08, 1758, "%", 1, 0 +wb1tempC = scalar, U16, 1760, "C", 1, 0 +wb1nernstVoltage = scalar, U16, 1762, "V", 0.001, 0 +wb1esr = scalar, U16, 1764, "ohm", 1, 0 +; total TS size = 1768 +wb2faultCode = scalar, U08, 1768, "", 1, 0 +wb2heaterDuty = scalar, U08, 1769, "%", 1, 0 +wb2pumpDuty = scalar, U08, 1770, "%", 1, 0 +wb2tempC = scalar, U16, 1772, "C", 1, 0 +wb2nernstVoltage = scalar, U16, 1774, "V", 0.001, 0 +wb2esr = scalar, U16, 1776, "ohm", 1, 0 +; total TS size = 1780 +dcOutput0 = scalar, F32, 1780, "%", 1,0 +isEnabled0_int = scalar, U08, 1784, "%", 1,0 +isEnabled0 = bits, U32, 1788, [0:0] +; total TS size = 1792 +value0 = scalar, U16, 1792, "RAW", 1,0 +value1 = scalar, U16, 1794, "RAW", 1,0 +errorRate = scalar, F32, 1796, "% (don't belive me)", 1,0 ; total TS size = 1800 -lambdaCurrentlyGood = bits, U32, 1800, [0:0] -lambdaMonitorCut = bits, U32, 1800, [1:1] -lambdaTimeSinceGood = scalar, U16, 1804, "sec", 0.01, 0 -; total TS size = 1808 +vvtTarget = scalar, U16, 1800, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1802, "%", 0.5, 0 +; total TS size = 1804 +lambdaCurrentlyGood = bits, U32, 1804, [0:0] +lambdaMonitorCut = bits, U32, 1804, [1:1] +lambdaTimeSinceGood = scalar, U16, 1808, "sec", 0.01, 0 +; total TS size = 1812 time = { timeNow } @@ -4584,6 +4587,12 @@ curve = rangeMatrix, "Range Switch Input Matrix" gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. upDownLabel = "(RICHER)", "(LEANER)" + table = trailingSparkTable, trailingSparkMap, "Trailing spark", 1 + xyLabels = "RPM", "Ignition Load" + xBins = trailingSparkRpmBins, RPMValue + yBins = trailingSparkLoadBins, ignitionLoad + zBins = trailingSparkTable + table = torqueTableTbl, torqueTableMap, "Engine Torque", 1 xBins = torqueRpmBins, RPMValue yBins = torqueLoadBins, veTableYAxis @@ -4881,6 +4890,7 @@ timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20 timingPidCorrectionGauge = timingPidCorrection,"Idle: Timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 +trailingSparkAngleGauge = trailingSparkAngle,"Ign: Trailing spark deg", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 gaugeCategory = "Boost Control" luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 @@ -5808,6 +5818,7 @@ entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" entry = luaIgnitionSkip, "Ign: Lua Spark Skip", int, "%d" +entry = trailingSparkAngle, "Ign: Trailing spark deg", float, "%.3f" entry = m_knockLevel, "Knock: Current level", float, "%.3f" entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" @@ -6774,6 +6785,7 @@ dialog = ignition_stateDialog, "ignition_state" graphLine = luaTimingAdd liveGraph = ignition_state_4_Graph, "Graph", South graphLine = luaTimingMult + graphLine = trailingSparkAngle dialog = knock_controllerDialog, "knock_controller" @@ -10043,11 +10055,11 @@ commandButton = "microRusEFI M111", cmd_set_engine_type_MERCEDES_M11 dialog = rotaryDialog, "Rotary" field = "Enable Trailing Sparks", enableTrailingSparks - field = "Trailing Spark Offset", trailingSparkAngle field = "Trailing Pin 1", trailingCoilPins1 field = "Trailing Pin 2", trailingCoilPins2 field = "Trailing Pin 3", trailingCoilPins3 field = "Trailing Pin 4", trailingCoilPins4 + panel = trailingSparkTable diff --git a/firmware/tunerstudio/generated/rusefi_mre_f7.ini b/firmware/tunerstudio/generated/rusefi_mre_f7.ini index ead031baf2..1b4bc9f652 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.2025.02.07.mre_f7.435823701" + signature = "rusEFI master.2025.02.07.mre_f7.2658773816" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2025.02.07.mre_f7.435823701" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2025.02.07.mre_f7.2658773816" ; 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 @@ -101,7 +101,7 @@ enable2ndByteCanID = false ; CONFIG_DEFINITION_START ; this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt -pageSize = 25280 +pageSize = 25304 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",22="BMW_M52",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",21="ET_BOSCH_QUICK_START",24="ET_TEST_WITH_BOSCH_QUICK_START",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",41="FRANKENSO_MIATA_NA6_MAP",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",47="GM_LCV",55="GM_LTG",98="GM_SBC",49="GM_SBC_GEN5",8="GY6_139QMB",6="HARLEY",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",34="MAZDA_MIATA_NA6",80="MAZDA_MIATA_NA94",10="MAZDA_MIATA_NA96",83="MAZDA_MIATA_NB1",69="MAZDA_MIATA_NB2",86="MAZDA_MIATA_NB2_36",20="MAZDA_MIATA_NC",33="ME17_9_MISC",68="MERCEDES_M111",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",4="MRE_SECONDARY_CAN",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",35="POLARIS",9="POLARIS_RZR",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",27="PROTEUS_GM_LS_4",25="PROTEUS_LUA_DEMO",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",17="TCU_4R70W",100="TEST_100",101="TEST_101",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",93="TEST_ISSUE_6451",19="TEST_ROTARY",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",102="UNUSED102",67="UNUSED67",94="UNUSED94",65="UNUSED_65",97="UNUSED_97",77="VAG_5_CYL",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -245,7 +245,7 @@ vbattAdcChannel = bits, U08, 513, [0:5], $adc_channel_e_list fuelLevelSensor = bits, U08, 514, [0:5], $adc_channel_e_list tps2_1AdcChannel = bits, U08, 515, [0:5], $adc_channel_e_list idle_derivativeFilterLoss = scalar, F32, 516, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 520, "angle", 1, 0, 0, 720, 0 +unusedTrailingSparkAngle = scalar, S32, 520, "", 1, 0, 0, 100, 0 trigger_type = bits, U32, 524, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Daihatsu 3 cylinder", "Mazda SOHC 4", "60-2", "36-1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "Dodge Ram 1+16", "60-2 Wrong Polarity", "Benelli Tre", "Dodge Stratus", "36_2_2_2", "Nissan Primera", "dev 2JZ 3/34 simulator", "Rover K", "GM 24x 5 degree", "Honda CBR 600 Cam", "INVALID", "Honda CBR 600 custom", "3-1 skipped", "Dodge Neon 2003 crank", "Miata NB", "INVALID", "INVALID", "Subaru 7+6", "Jeep 18-2-2-2", "12crank/24cam", "Dodge Neon 1995 crank only", "Jeep XJ 4 cyl", "FiatIAQ_P8", "Mazda Z5", "INVALID", "Renix 44-2-2", "Renix 66-2-2-2", "Honda K 12+1", "INVALID", "36-2", "Subaru SVX", "Suzuki K6A", "Subaru 7 without 6", "INVALID", "INVALID", "GM 60-2-2-2", "Skoda Favorit", "Barra 3+1 Cam", "Kawa KX450F", "Nissan VQ35", "INVALID", "Nissan VQ30", "Nissan QR25", "INVALID", "Subaru SVX Crank 1", "Subaru SVX Cam VVT", "Ford PIP", "Suzuki G13B", "Honda K 4+1", "Nissan MR18 Crank", "32-2", "36-2-1", "36-2-1-1", "3-0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6-0", "Daihatsu 4 cylinder", "INVALID", "dev", "Nissan HR", "Arctic Cat", "HR12 in", "HONDA J30A2", "trg88", "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" trigger_customTotalToothCount = scalar, S32, 528, "number", 1, 0, 1, 300, 0 trigger_customSkippedToothCount = scalar, S32, 532, "number", 1, 0, 0, 300, 0 @@ -1796,7 +1796,10 @@ dynoCarCarMassKg = scalar, S16, 25268, "", 1, 0, 0, 32000, 0 dynoCarCargoMassKg = scalar, S16, 25270, "", 1, 0, 0, 32000, 0 dynoCarCoeffOfDrag = scalar, F32, 25272, "", 1, 0, 0, 100, 0 dynoCarFrontalAreaM2 = scalar, F32, 25276, "", 1, 0, 0, 100, 0 -; total TS size = 25280 +trailingSparkTable = array, S08, 25280, [4x4], "deg", 0.1, 0, 0, 20, 1 +trailingSparkRpmBins = array, U08, 25296, [4], "rpm", 50.0, 0, 0, 12000, 0 +trailingSparkLoadBins = array, U08, 25300, [4], "Load", 5.0, 0, 0, 1000, 0 +; total TS size = 25304 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1890,7 +1893,6 @@ dynoCarFrontalAreaM2 = scalar, F32, 25276, "", 1, 0, 0, 100, 0 fuelLevelSensor = "This is the processor pin that your fuel level sensor in connected to. This is a non standard input so will need to be user defined." tps2_1AdcChannel = "Second throttle body position sensor, single channel so far" idle_derivativeFilterLoss = "0.1 is a good default value" - trailingSparkAngle = "just a temporary solution" trigger_type = "https://github.com/rusefi/rusefi/wiki/All-Supported-Triggers" airByRpmTaper = "Extra air taper amount" boostControlSafeDutyCycle = "Duty cycle to use in case of a sensor failure. This duty cycle should produce the minimum possible amount of boost. This duty is also used in case any of the minimum RPM/TPS/MAP conditions are not met." @@ -2664,7 +2666,7 @@ dynoCarFrontalAreaM2 = scalar, F32, 25276, "", 1, 0, 0, 100, 0 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1808 + ochBlockSize = 1812 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3189,417 +3191,418 @@ dwellVoltageCorrection = scalar, F32, 940, "", 1, 0 luaTimingAdd = scalar, F32, 944, "deg", 1, 0 luaTimingMult = scalar, F32, 948, "deg", 1, 0 luaIgnitionSkip = bits, U32, 952, [0:0] -; total TS size = 956 -m_knockLevel = scalar, F32, 956, "Volts", 1, 0 -m_knockCyl1 = scalar, S08, 960, "dBv", 1, 0 -m_knockCyl2 = scalar, S08, 961, "dBv", 1, 0 -m_knockCyl3 = scalar, S08, 962, "dBv", 1, 0 -m_knockCyl4 = scalar, S08, 963, "dBv", 1, 0 -m_knockCyl5 = scalar, S08, 964, "dBv", 1, 0 -m_knockCyl6 = scalar, S08, 965, "dBv", 1, 0 -m_knockCyl7 = scalar, S08, 966, "dBv", 1, 0 -m_knockCyl8 = scalar, S08, 967, "dBv", 1, 0 -m_knockCyl9 = scalar, S08, 968, "dBv", 1, 0 -m_knockCyl10 = scalar, S08, 969, "dBv", 1, 0 -m_knockCyl11 = scalar, S08, 970, "dBv", 1, 0 -m_knockCyl12 = scalar, S08, 971, "dBv", 1, 0 -m_knockRetard = scalar, F32, 972, "deg", 1,0 -m_knockThreshold = scalar, F32, 976, "", 1, 0 -m_knockCount = scalar, U32, 980, "", 1, 0 -m_maximumRetard = scalar, F32, 984, "", 1, 0 -m_knockSpectrum1 = scalar, U32, 988, "compressed data", 1, 0 -m_knockSpectrum2 = scalar, U32, 992, "compressed data", 1, 0 -m_knockSpectrum3 = scalar, U32, 996, "compressed data", 1, 0 -m_knockSpectrum4 = scalar, U32, 1000, "compressed data", 1, 0 -m_knockSpectrum5 = scalar, U32, 1004, "compressed data", 1, 0 -m_knockSpectrum6 = scalar, U32, 1008, "compressed data", 1, 0 -m_knockSpectrum7 = scalar, U32, 1012, "compressed data", 1, 0 -m_knockSpectrum8 = scalar, U32, 1016, "compressed data", 1, 0 -m_knockSpectrum9 = scalar, U32, 1020, "compressed data", 1, 0 -m_knockSpectrum10 = scalar, U32, 1024, "compressed data", 1, 0 -m_knockSpectrum11 = scalar, U32, 1028, "compressed data", 1, 0 -m_knockSpectrum12 = scalar, U32, 1032, "compressed data", 1, 0 -m_knockSpectrum13 = scalar, U32, 1036, "compressed data", 1, 0 -m_knockSpectrum14 = scalar, U32, 1040, "compressed data", 1, 0 -m_knockSpectrum15 = scalar, U32, 1044, "compressed data", 1, 0 -m_knockSpectrum16 = scalar, U32, 1048, "compressed data", 1, 0 -m_knockSpectrumChannelCyl = scalar, U16, 1052, "compressed N + N", 1, 0 -m_knockFrequencyStart = scalar, U16, 1054, "Hz", 1, 0 -m_knockFrequencyStep = scalar, F32, 1056, "Hz", 1, 0 -m_knockFuelTrimMultiplier = scalar, F32, 1060, "multiplier", 1, 0 -; total TS size = 1064 -m_isPriming = bits, U32, 1064, [0:0] +trailingSparkAngle = scalar, S16, 956, "deg", 0.01,0 +; total TS size = 960 +m_knockLevel = scalar, F32, 960, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 964, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 965, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 966, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 967, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 968, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 969, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 970, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 971, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 972, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 973, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 974, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 975, "dBv", 1, 0 +m_knockRetard = scalar, F32, 976, "deg", 1,0 +m_knockThreshold = scalar, F32, 980, "", 1, 0 +m_knockCount = scalar, U32, 984, "", 1, 0 +m_maximumRetard = scalar, F32, 988, "", 1, 0 +m_knockSpectrum1 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1040, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1044, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1048, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1052, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1056, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1058, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1060, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1064, "multiplier", 1, 0 ; total TS size = 1068 -tcuCurrentGear = scalar, S08, 1068, "gear", 1, 0 -tcRatio = scalar, U16, 1070, "value", 0.01, 0 -lastShiftTime = scalar, F32, 1072, "", 1, 0 -tcu_currentRange = scalar, U08, 1076, "", 1, 0 -pressureControlDuty = scalar, S08, 1077, "%", 1,0 -torqueConverterDuty = scalar, S08, 1078, "%", 1,0 -isShifting = bits, U32, 1080, [0:0] -; total TS size = 1084 -throttleUseWotModel = bits, U32, 1084, [0:0] -throttleModelCrossoverAngle = scalar, S16, 1088, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1092, "g/s", 1, 0 -; total TS size = 1096 -m_requested_pump = scalar, F32, 1096, "", 1, 0 -fuel_requested_percent = scalar, F32, 1100, "%", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1104, "", 1, 0 -noValve = bits, U32, 1108, [0:0] -angleAboveMin = bits, U32, 1108, [1:1] -isHpfpActive = bits, U32, 1108, [2:2] -HpfpValveState = bits, U32, 1108, [3:3] -m_pressureTarget_kPa = scalar, F32, 1112, "", 1, 0 -nextLobe = scalar, F32, 1116, "", 1, 0 -di_nextStart = scalar, F32, 1120, "v", 1, 0 -HpfdActivationPhase = scalar, F32, 1124, "", 1, 0 -HpfdDeactivationPhase = scalar, F32, 1128, "", 1, 0 -; total TS size = 1132 -m_deadtime = scalar, F32, 1132, "ms", 1, 0 -pressureDelta = scalar, F32, 1136, "kPa", 1, 0 -pressureRatio = scalar, F32, 1140, "", 1, 0 -; total TS size = 1144 -retardThresholdRpm = scalar, S32, 1144, "", 1, 0 -launchActivatePinState = bits, U32, 1148, [0:0] -isPreLaunchCondition = bits, U32, 1148, [1:1] -isLaunchCondition = bits, U32, 1148, [2:2] -isSwitchActivated = bits, U32, 1148, [3:3] -isClutchActivated = bits, U32, 1148, [4:4] -isBrakePedalActivated = bits, U32, 1148, [5:5] -isValidInputPin = bits, U32, 1148, [6:6] -activateSwitchCondition = bits, U32, 1148, [7:7] -rpmLaunchCondition = bits, U32, 1148, [8:8] -rpmPreLaunchCondition = bits, U32, 1148, [9:9] -speedCondition = bits, U32, 1148, [10:10] -tpsCondition = bits, U32, 1148, [11:11] -; total TS size = 1152 -isTorqueReductionTriggerPinValid = bits, U32, 1152, [0:0] -torqueReductionTriggerPinState = bits, U32, 1152, [1:1] -isTimeConditionSatisfied = bits, U32, 1152, [2:2] -isRpmConditionSatisfied = bits, U32, 1152, [3:3] -isAppConditionSatisfied = bits, U32, 1152, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1152, [5:5] +m_isPriming = bits, U32, 1068, [0:0] +; total TS size = 1072 +tcuCurrentGear = scalar, S08, 1072, "gear", 1, 0 +tcRatio = scalar, U16, 1074, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1076, "", 1, 0 +tcu_currentRange = scalar, U08, 1080, "", 1, 0 +pressureControlDuty = scalar, S08, 1081, "%", 1,0 +torqueConverterDuty = scalar, S08, 1082, "%", 1,0 +isShifting = bits, U32, 1084, [0:0] +; total TS size = 1088 +throttleUseWotModel = bits, U32, 1088, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1092, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1096, "g/s", 1, 0 +; total TS size = 1100 +m_requested_pump = scalar, F32, 1100, "", 1, 0 +fuel_requested_percent = scalar, F32, 1104, "%", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1108, "", 1, 0 +noValve = bits, U32, 1112, [0:0] +angleAboveMin = bits, U32, 1112, [1:1] +isHpfpActive = bits, U32, 1112, [2:2] +HpfpValveState = bits, U32, 1112, [3:3] +m_pressureTarget_kPa = scalar, F32, 1116, "", 1, 0 +nextLobe = scalar, F32, 1120, "", 1, 0 +di_nextStart = scalar, F32, 1124, "v", 1, 0 +HpfdActivationPhase = scalar, F32, 1128, "", 1, 0 +HpfdDeactivationPhase = scalar, F32, 1132, "", 1, 0 +; total TS size = 1136 +m_deadtime = scalar, F32, 1136, "ms", 1, 0 +pressureDelta = scalar, F32, 1140, "kPa", 1, 0 +pressureRatio = scalar, F32, 1144, "", 1, 0 +; total TS size = 1148 +retardThresholdRpm = scalar, S32, 1148, "", 1, 0 +launchActivatePinState = bits, U32, 1152, [0:0] +isPreLaunchCondition = bits, U32, 1152, [1:1] +isLaunchCondition = bits, U32, 1152, [2:2] +isSwitchActivated = bits, U32, 1152, [3:3] +isClutchActivated = bits, U32, 1152, [4:4] +isBrakePedalActivated = bits, U32, 1152, [5:5] +isValidInputPin = bits, U32, 1152, [6:6] +activateSwitchCondition = bits, U32, 1152, [7:7] +rpmLaunchCondition = bits, U32, 1152, [8:8] +rpmPreLaunchCondition = bits, U32, 1152, [9:9] +speedCondition = bits, U32, 1152, [10:10] +tpsCondition = bits, U32, 1152, [11:11] ; total TS size = 1156 -isAntilagCondition = bits, U32, 1156, [0:0] -ALSMinRPMCondition = bits, U32, 1156, [1:1] -ALSMaxRPMCondition = bits, U32, 1156, [2:2] -ALSMinCLTCondition = bits, U32, 1156, [3:3] -ALSMaxCLTCondition = bits, U32, 1156, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1156, [5:5] -isALSSwitchActivated = bits, U32, 1156, [6:6] -ALSActivatePinState = bits, U32, 1156, [7:7] -ALSSwitchCondition = bits, U32, 1156, [8:8] -ALSTimerCondition = bits, U32, 1156, [9:9] -fuelALSCorrection = scalar, F32, 1160, "", 1, 0 -timingALSCorrection = scalar, S16, 1164, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1166, "deg", 0.01, 0 -; total TS size = 1168 -isTpsInvalid = bits, U32, 1168, [0:0] -m_shouldResetPid = bits, U32, 1168, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1168, [2:2] -isNotClosedLoop = bits, U32, 1168, [3:3] -isZeroRpm = bits, U32, 1168, [4:4] -hasInitBoost = bits, U32, 1168, [5:5] -rpmTooLow = bits, U32, 1168, [6:6] -tpsTooLow = bits, U32, 1168, [7:7] -mapTooLow = bits, U32, 1168, [8:8] -isPlantValid = bits, U32, 1168, [9:9] -isBoostControlled = bits, U32, 1168, [10:10] -luaTargetAdd = scalar, S16, 1172, "v", 0.5,0 -boostOutput = scalar, S16, 1174, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1176, "v", 1,0 -openLoopPart = scalar, F32, 1180, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1184, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1188, "%", 0.5,0 -boostControlTarget = scalar, S16, 1190, "kPa", 0.03333333333333333,0 -; total TS size = 1192 -acButtonState = scalar, S08, 1192, "", 1, 0 -m_acEnabled = bits, U32, 1196, [0:0] -engineTooSlow = bits, U32, 1196, [1:1] -engineTooFast = bits, U32, 1196, [2:2] -noClt = bits, U32, 1196, [3:3] -engineTooHot = bits, U32, 1196, [4:4] -tpsTooHigh = bits, U32, 1196, [5:5] -isDisabledByLua = bits, U32, 1196, [6:6] -acCompressorState = bits, U32, 1196, [7:7] -acPressureTooLow = bits, U32, 1196, [8:8] -acPressureTooHigh = bits, U32, 1196, [9:9] -; total TS size = 1200 -isNitrousArmed = bits, U32, 1200, [0:0] -isNitrousSpeedCondition = bits, U32, 1200, [1:1] -isNitrousTpsCondition = bits, U32, 1200, [2:2] -isNitrousCltCondition = bits, U32, 1200, [3:3] -isNitrousMapCondition = bits, U32, 1200, [4:4] -isNitrousAfrCondition = bits, U32, 1200, [5:5] -isNitrousRpmCondition = bits, U32, 1200, [6:6] -isNitrousCondition = bits, U32, 1200, [7:7] +isTorqueReductionTriggerPinValid = bits, U32, 1156, [0:0] +torqueReductionTriggerPinState = bits, U32, 1156, [1:1] +isTimeConditionSatisfied = bits, U32, 1156, [2:2] +isRpmConditionSatisfied = bits, U32, 1156, [3:3] +isAppConditionSatisfied = bits, U32, 1156, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1156, [5:5] +; total TS size = 1160 +isAntilagCondition = bits, U32, 1160, [0:0] +ALSMinRPMCondition = bits, U32, 1160, [1:1] +ALSMaxRPMCondition = bits, U32, 1160, [2:2] +ALSMinCLTCondition = bits, U32, 1160, [3:3] +ALSMaxCLTCondition = bits, U32, 1160, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1160, [5:5] +isALSSwitchActivated = bits, U32, 1160, [6:6] +ALSActivatePinState = bits, U32, 1160, [7:7] +ALSSwitchCondition = bits, U32, 1160, [8:8] +ALSTimerCondition = bits, U32, 1160, [9:9] +fuelALSCorrection = scalar, F32, 1164, "", 1, 0 +timingALSCorrection = scalar, S16, 1168, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1170, "deg", 0.01, 0 +; total TS size = 1172 +isTpsInvalid = bits, U32, 1172, [0:0] +m_shouldResetPid = bits, U32, 1172, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1172, [2:2] +isNotClosedLoop = bits, U32, 1172, [3:3] +isZeroRpm = bits, U32, 1172, [4:4] +hasInitBoost = bits, U32, 1172, [5:5] +rpmTooLow = bits, U32, 1172, [6:6] +tpsTooLow = bits, U32, 1172, [7:7] +mapTooLow = bits, U32, 1172, [8:8] +isPlantValid = bits, U32, 1172, [9:9] +isBoostControlled = bits, U32, 1172, [10:10] +luaTargetAdd = scalar, S16, 1176, "v", 0.5,0 +boostOutput = scalar, S16, 1178, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1180, "v", 1,0 +openLoopPart = scalar, F32, 1184, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1188, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1192, "%", 0.5,0 +boostControlTarget = scalar, S16, 1194, "kPa", 0.03333333333333333,0 +; total TS size = 1196 +acButtonState = scalar, S08, 1196, "", 1, 0 +m_acEnabled = bits, U32, 1200, [0:0] +engineTooSlow = bits, U32, 1200, [1:1] +engineTooFast = bits, U32, 1200, [2:2] +noClt = bits, U32, 1200, [3:3] +engineTooHot = bits, U32, 1200, [4:4] +tpsTooHigh = bits, U32, 1200, [5:5] +isDisabledByLua = bits, U32, 1200, [6:6] +acCompressorState = bits, U32, 1200, [7:7] +acPressureTooLow = bits, U32, 1200, [8:8] +acPressureTooHigh = bits, U32, 1200, [9:9] ; total TS size = 1204 -fan1cranking = bits, U32, 1204, [0:0] -fan1notRunning = bits, U32, 1204, [1:1] -fan1disabledWhileEngineStopped = bits, U32, 1204, [2:2] -fan1brokenClt = bits, U32, 1204, [3:3] -fan1enabledForAc = bits, U32, 1204, [4:4] -fan1hot = bits, U32, 1204, [5:5] -fan1cold = bits, U32, 1204, [6:6] -fan1disabledBySpeed = bits, U32, 1204, [7:7] -fan1m_state = bits, U32, 1204, [8:8] -fan1radiatorFanStatus = scalar, U08, 1208, "", 1, 0 -; total TS size = 1212 -fan2cranking = bits, U32, 1212, [0:0] -fan2notRunning = bits, U32, 1212, [1:1] -fan2disabledWhileEngineStopped = bits, U32, 1212, [2:2] -fan2brokenClt = bits, U32, 1212, [3:3] -fan2enabledForAc = bits, U32, 1212, [4:4] -fan2hot = bits, U32, 1212, [5:5] -fan2cold = bits, U32, 1212, [6:6] -fan2disabledBySpeed = bits, U32, 1212, [7:7] -fan2m_state = bits, U32, 1212, [8:8] -fan2radiatorFanStatus = scalar, U08, 1216, "", 1, 0 -; total TS size = 1220 -isPrime = bits, U32, 1220, [0:0] -engineTurnedRecently = bits, U32, 1220, [1:1] -isFuelPumpOn = bits, U32, 1220, [2:2] -ignitionOn = bits, U32, 1220, [3:3] +isNitrousArmed = bits, U32, 1204, [0:0] +isNitrousSpeedCondition = bits, U32, 1204, [1:1] +isNitrousTpsCondition = bits, U32, 1204, [2:2] +isNitrousCltCondition = bits, U32, 1204, [3:3] +isNitrousMapCondition = bits, U32, 1204, [4:4] +isNitrousAfrCondition = bits, U32, 1204, [5:5] +isNitrousRpmCondition = bits, U32, 1204, [6:6] +isNitrousCondition = bits, U32, 1204, [7:7] +; total TS size = 1208 +fan1cranking = bits, U32, 1208, [0:0] +fan1notRunning = bits, U32, 1208, [1:1] +fan1disabledWhileEngineStopped = bits, U32, 1208, [2:2] +fan1brokenClt = bits, U32, 1208, [3:3] +fan1enabledForAc = bits, U32, 1208, [4:4] +fan1hot = bits, U32, 1208, [5:5] +fan1cold = bits, U32, 1208, [6:6] +fan1disabledBySpeed = bits, U32, 1208, [7:7] +fan1m_state = bits, U32, 1208, [8:8] +fan1radiatorFanStatus = scalar, U08, 1212, "", 1, 0 +; total TS size = 1216 +fan2cranking = bits, U32, 1216, [0:0] +fan2notRunning = bits, U32, 1216, [1:1] +fan2disabledWhileEngineStopped = bits, U32, 1216, [2:2] +fan2brokenClt = bits, U32, 1216, [3:3] +fan2enabledForAc = bits, U32, 1216, [4:4] +fan2hot = bits, U32, 1216, [5:5] +fan2cold = bits, U32, 1216, [6:6] +fan2disabledBySpeed = bits, U32, 1216, [7:7] +fan2m_state = bits, U32, 1216, [8:8] +fan2radiatorFanStatus = scalar, U08, 1220, "", 1, 0 ; total TS size = 1224 -isBenchTest = bits, U32, 1224, [0:0] -hasIgnitionVoltage = bits, U32, 1224, [1:1] -mainRelayState = bits, U32, 1224, [2:2] -delayedShutoffRequested = bits, U32, 1224, [3:3] +isPrime = bits, U32, 1224, [0:0] +engineTurnedRecently = bits, U32, 1224, [1:1] +isFuelPumpOn = bits, U32, 1224, [2:2] +ignitionOn = bits, U32, 1224, [3:3] ; total TS size = 1228 -lua_fuelAdd = scalar, F32, 1228, "g", 1, 0 -lua_fuelMult = scalar, F32, 1232, "", 1, 0 -lua_clutchUpState = bits, U32, 1236, [0:0] -lua_brakePedalState = bits, U32, 1236, [1:1] -lua_acRequestState = bits, U32, 1236, [2:2] -lua_luaDisableEtb = bits, U32, 1236, [3:3] -lua_luaIgnCut = bits, U32, 1236, [4:4] -lua_luaFuelCut = bits, U32, 1236, [5:5] -lua_clutchDownState = bits, U32, 1236, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1236, [7:7] -lua_torqueReductionState = bits, U32, 1236, [8:8] -sd_tCharge = scalar, S16, 1240, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1244, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1248, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1252, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1256, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1260, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1264, "", 1, 0 -hellenBoardId = scalar, S16, 1268, "id", 1, 0 -clutchUpState = scalar, S08, 1270, "", 1, 0 -brakePedalState = scalar, S08, 1271, "", 1, 0 -startStopState = scalar, S08, 1272, "", 1, 0 -smartChipState = scalar, S08, 1273, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1274, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1275, "", 1, 0 -startStopPhysicalState = bits, U32, 1276, [0:0] -acrActive = bits, U32, 1276, [1:1] -acrEngineMovedRecently = bits, U32, 1276, [2:2] -heaterControlEnabled = bits, U32, 1276, [3:3] -luaDigitalState0 = bits, U32, 1276, [4:4] -luaDigitalState1 = bits, U32, 1276, [5:5] -luaDigitalState2 = bits, U32, 1276, [6:6] -luaDigitalState3 = bits, U32, 1276, [7:7] -clutchDownState = bits, U32, 1276, [8:8] -startStopStateToggleCounter = scalar, U32, 1280, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1284, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1288, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1292, "", 1, 0 -fuelInjectionCounter = scalar, U32, 1296, "", 1, 0 -globalSparkCounter = scalar, U32, 1300, "", 1, 0 -fuelingLoad = scalar, F32, 1304, "", 1, 0 -ignitionLoad = scalar, F32, 1308, "", 1, 0 -veTableYAxis = scalar, U16, 1312, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1314, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1315, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1316, "", 1, 0 -; total TS size = 1320 -tpsFrom = scalar, F32, 1320 -tpsTo = scalar, F32, 1324 -deltaTps = scalar, F32, 1328 -extraFuel = scalar, F32, 1332, "", 1, 0 -valueFromTable = scalar, F32, 1336, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1340, [0:0] -isBelowDecelThreshold = bits, U32, 1340, [1:1] -isTimeToResetAccumulator = bits, U32, 1340, [2:2] -isFractionalEnrichment = bits, U32, 1340, [3:3] -belowEpsilon = bits, U32, 1340, [4:4] -tooShort = bits, U32, 1340, [5:5] -fractionalInjFuel = scalar, F32, 1344, "", 1, 0 -accumulatedValue = scalar, F32, 1348, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1352, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1356, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1360, "", 1, 0 -cycleCnt = scalar, S32, 1364, "", 1, 0 -; total TS size = 1368 -hwEventCounters1 = scalar, U16, 1368, "", 1, 0 -hwEventCounters2 = scalar, U16, 1370, "", 1, 0 -hwEventCounters3 = scalar, U16, 1372, "", 1, 0 -hwEventCounters4 = scalar, U16, 1374, "", 1, 0 -vvtCamCounter = scalar, U16, 1376, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1380, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1384, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1388, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1389, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1392, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1396, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1400, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1404, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1408, [0:0] -triggerElapsedUs = scalar, U32, 1412, "", 1, 0 -; total TS size = 1416 -trgsynchronizationCounter = scalar, U32, 1416, "", 1, 0 -trgvvtToothDurations0 = scalar, U32, 1420, "us", 1, 0 -trgvvtCurrentPosition = scalar, F32, 1424, "", 1, 0 -trgvvtToothPosition1 = scalar, F32, 1428, "", 1, 0 -trgvvtToothPosition2 = scalar, F32, 1432, "", 1, 0 -trgvvtToothPosition3 = scalar, F32, 1436, "", 1, 0 -trgvvtToothPosition4 = scalar, F32, 1440, "", 1, 0 -trgtriggerSyncGapRatio = scalar, F32, 1444, "", 1, 0 -trgtriggerStateIndex = scalar, U08, 1448, "", 1, 0 -; total TS size = 1452 -vvt1isynchronizationCounter = scalar, U32, 1452, "", 1, 0 -vvt1ivvtToothDurations0 = scalar, U32, 1456, "us", 1, 0 -vvt1ivvtCurrentPosition = scalar, F32, 1460, "", 1, 0 -vvt1ivvtToothPosition1 = scalar, F32, 1464, "", 1, 0 -vvt1ivvtToothPosition2 = scalar, F32, 1468, "", 1, 0 -vvt1ivvtToothPosition3 = scalar, F32, 1472, "", 1, 0 -vvt1ivvtToothPosition4 = scalar, F32, 1476, "", 1, 0 -vvt1itriggerSyncGapRatio = scalar, F32, 1480, "", 1, 0 -vvt1itriggerStateIndex = scalar, U08, 1484, "", 1, 0 -; total TS size = 1488 -vvt1esynchronizationCounter = scalar, U32, 1488, "", 1, 0 -vvt1evvtToothDurations0 = scalar, U32, 1492, "us", 1, 0 -vvt1evvtCurrentPosition = scalar, F32, 1496, "", 1, 0 -vvt1evvtToothPosition1 = scalar, F32, 1500, "", 1, 0 -vvt1evvtToothPosition2 = scalar, F32, 1504, "", 1, 0 -vvt1evvtToothPosition3 = scalar, F32, 1508, "", 1, 0 -vvt1evvtToothPosition4 = scalar, F32, 1512, "", 1, 0 -vvt1etriggerSyncGapRatio = scalar, F32, 1516, "", 1, 0 -vvt1etriggerStateIndex = scalar, U08, 1520, "", 1, 0 -; total TS size = 1524 -vvt2isynchronizationCounter = scalar, U32, 1524, "", 1, 0 -vvt2ivvtToothDurations0 = scalar, U32, 1528, "us", 1, 0 -vvt2ivvtCurrentPosition = scalar, F32, 1532, "", 1, 0 -vvt2ivvtToothPosition1 = scalar, F32, 1536, "", 1, 0 -vvt2ivvtToothPosition2 = scalar, F32, 1540, "", 1, 0 -vvt2ivvtToothPosition3 = scalar, F32, 1544, "", 1, 0 -vvt2ivvtToothPosition4 = scalar, F32, 1548, "", 1, 0 -vvt2itriggerSyncGapRatio = scalar, F32, 1552, "", 1, 0 -vvt2itriggerStateIndex = scalar, U08, 1556, "", 1, 0 -; total TS size = 1560 -vvt2esynchronizationCounter = scalar, U32, 1560, "", 1, 0 -vvt2evvtToothDurations0 = scalar, U32, 1564, "us", 1, 0 -vvt2evvtCurrentPosition = scalar, F32, 1568, "", 1, 0 -vvt2evvtToothPosition1 = scalar, F32, 1572, "", 1, 0 -vvt2evvtToothPosition2 = scalar, F32, 1576, "", 1, 0 -vvt2evvtToothPosition3 = scalar, F32, 1580, "", 1, 0 -vvt2evvtToothPosition4 = scalar, F32, 1584, "", 1, 0 -vvt2etriggerSyncGapRatio = scalar, F32, 1588, "", 1, 0 -vvt2etriggerStateIndex = scalar, U08, 1592, "", 1, 0 -; total TS size = 1596 -camResyncCounter = scalar, U08, 1596, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1600, [0:0] -; total TS size = 1604 -wallFuelCorrection = scalar, F32, 1604, "", 1, 0 -wallFuel = scalar, F32, 1608, "", 1, 0 -; total TS size = 1612 -idleState = bits, S32, 1612, [0:2], "not important" -currentIdlePosition = scalar, F32, 1616 -baseIdlePosition = scalar, F32, 1620 -idleClosedLoop = scalar, F32, 1624 -iacByTpsTaper = scalar, F32, 1628 -mightResetPid = bits, U32, 1632, [0:0] -shouldResetPid = bits, U32, 1632, [1:1] -wasResetPid = bits, U32, 1632, [2:2] -mustResetPid = bits, U32, 1632, [3:3] -isCranking = bits, U32, 1632, [4:4] -isIacTableForCoasting = bits, U32, 1632, [5:5] -notIdling = bits, U32, 1632, [6:6] -needReset = bits, U32, 1632, [7:7] -isInDeadZone = bits, U32, 1632, [8:8] -isBlipping = bits, U32, 1632, [9:9] -useClosedLoop = bits, U32, 1632, [10:10] -badTps = bits, U32, 1632, [11:11] -looksLikeRunning = bits, U32, 1632, [12:12] -looksLikeCoasting = bits, U32, 1632, [13:13] -looksLikeCrankToIdle = bits, U32, 1632, [14:14] -isIdleCoasting = bits, U32, 1632, [15:15] -isIdleClosedLoop = bits, U32, 1632, [16:16] -idleTarget = scalar, S32, 1636, "", 1, 0 -targetRpmByClt = scalar, S32, 1640, "", 1, 0 -targetRpmAc = scalar, S32, 1644, "", 1, 0 -iacByRpmTaper = scalar, F32, 1648 -luaAdd = scalar, F32, 1652 -; total TS size = 1656 -etb1targetWithIdlePosition = scalar, F32, 1656, "%", 1,0 -etb1trim = scalar, F32, 1660, "", 1, 0 -etb1luaAdjustment = scalar, F32, 1664, "%", 1,0 -etb1m_wastegatePosition = scalar, F32, 1668, "%", 1,0 -etb1etbFeedForward = scalar, F32, 1672 -etb1etbIntegralError = scalar, F32, 1676, "", 1, 0 -etb1etbCurrentTarget = scalar, F32, 1680, "%", 1, 0 -etb1m_adjustedTarget = scalar, S16, 1684, "%", 0.01, 0 -etb1etbRevLimitActive = bits, U32, 1688, [0:0] -etb1jamDetected = bits, U32, 1688, [1:1] -etb1validPlantPosition = bits, U32, 1688, [2:2] -etb1etbTpsErrorCounter = scalar, U16, 1692, "count", 1,0 -etb1etbPpsErrorCounter = scalar, U16, 1694, "count", 1,0 -etb1etbErrorCode = scalar, S08, 1696, "", 1, 0 -etb1etbErrorCodeBlinker = scalar, S08, 1697, "", 1, 0 -etb1tcEtbDrop = scalar, S08, 1698, "%", 1, 0 -etb1jamTimer = scalar, U16, 1700, "sec", 0.01, 0 -etb1adjustedEtbTarget = scalar, S08, 1702, "%", 1, 0 -etb1state = scalar, U08, 1703, "", 1, 0 -; total TS size = 1704 -etb2targetWithIdlePosition = scalar, F32, 1704, "%", 1,0 -etb2trim = scalar, F32, 1708, "", 1, 0 -etb2luaAdjustment = scalar, F32, 1712, "%", 1,0 -etb2m_wastegatePosition = scalar, F32, 1716, "%", 1,0 -etb2etbFeedForward = scalar, F32, 1720 -etb2etbIntegralError = scalar, F32, 1724, "", 1, 0 -etb2etbCurrentTarget = scalar, F32, 1728, "%", 1, 0 -etb2m_adjustedTarget = scalar, S16, 1732, "%", 0.01, 0 -etb2etbRevLimitActive = bits, U32, 1736, [0:0] -etb2jamDetected = bits, U32, 1736, [1:1] -etb2validPlantPosition = bits, U32, 1736, [2:2] -etb2etbTpsErrorCounter = scalar, U16, 1740, "count", 1,0 -etb2etbPpsErrorCounter = scalar, U16, 1742, "count", 1,0 -etb2etbErrorCode = scalar, S08, 1744, "", 1, 0 -etb2etbErrorCodeBlinker = scalar, S08, 1745, "", 1, 0 -etb2tcEtbDrop = scalar, S08, 1746, "%", 1, 0 -etb2jamTimer = scalar, U16, 1748, "sec", 0.01, 0 -etb2adjustedEtbTarget = scalar, S08, 1750, "%", 1, 0 -etb2state = scalar, U08, 1751, "", 1, 0 -; total TS size = 1752 -wb1faultCode = scalar, U08, 1752, "", 1, 0 -wb1heaterDuty = scalar, U08, 1753, "%", 1, 0 -wb1pumpDuty = scalar, U08, 1754, "%", 1, 0 -wb1tempC = scalar, U16, 1756, "C", 1, 0 -wb1nernstVoltage = scalar, U16, 1758, "V", 0.001, 0 -wb1esr = scalar, U16, 1760, "ohm", 1, 0 -; total TS size = 1764 -wb2faultCode = scalar, U08, 1764, "", 1, 0 -wb2heaterDuty = scalar, U08, 1765, "%", 1, 0 -wb2pumpDuty = scalar, U08, 1766, "%", 1, 0 -wb2tempC = scalar, U16, 1768, "C", 1, 0 -wb2nernstVoltage = scalar, U16, 1770, "V", 0.001, 0 -wb2esr = scalar, U16, 1772, "ohm", 1, 0 -; total TS size = 1776 -dcOutput0 = scalar, F32, 1776, "%", 1,0 -isEnabled0_int = scalar, U08, 1780, "%", 1,0 -isEnabled0 = bits, U32, 1784, [0:0] -; total TS size = 1788 -value0 = scalar, U16, 1788, "RAW", 1,0 -value1 = scalar, U16, 1790, "RAW", 1,0 -errorRate = scalar, F32, 1792, "% (don't belive me)", 1,0 -; total TS size = 1796 -vvtTarget = scalar, U16, 1796, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1798, "%", 0.5, 0 +isBenchTest = bits, U32, 1228, [0:0] +hasIgnitionVoltage = bits, U32, 1228, [1:1] +mainRelayState = bits, U32, 1228, [2:2] +delayedShutoffRequested = bits, U32, 1228, [3:3] +; total TS size = 1232 +lua_fuelAdd = scalar, F32, 1232, "g", 1, 0 +lua_fuelMult = scalar, F32, 1236, "", 1, 0 +lua_clutchUpState = bits, U32, 1240, [0:0] +lua_brakePedalState = bits, U32, 1240, [1:1] +lua_acRequestState = bits, U32, 1240, [2:2] +lua_luaDisableEtb = bits, U32, 1240, [3:3] +lua_luaIgnCut = bits, U32, 1240, [4:4] +lua_luaFuelCut = bits, U32, 1240, [5:5] +lua_clutchDownState = bits, U32, 1240, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1240, [7:7] +lua_torqueReductionState = bits, U32, 1240, [8:8] +sd_tCharge = scalar, S16, 1244, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1248, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1252, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1256, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1260, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1264, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1268, "", 1, 0 +hellenBoardId = scalar, S16, 1272, "id", 1, 0 +clutchUpState = scalar, S08, 1274, "", 1, 0 +brakePedalState = scalar, S08, 1275, "", 1, 0 +startStopState = scalar, S08, 1276, "", 1, 0 +smartChipState = scalar, S08, 1277, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1278, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1279, "", 1, 0 +startStopPhysicalState = bits, U32, 1280, [0:0] +acrActive = bits, U32, 1280, [1:1] +acrEngineMovedRecently = bits, U32, 1280, [2:2] +heaterControlEnabled = bits, U32, 1280, [3:3] +luaDigitalState0 = bits, U32, 1280, [4:4] +luaDigitalState1 = bits, U32, 1280, [5:5] +luaDigitalState2 = bits, U32, 1280, [6:6] +luaDigitalState3 = bits, U32, 1280, [7:7] +clutchDownState = bits, U32, 1280, [8:8] +startStopStateToggleCounter = scalar, U32, 1284, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1288, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1292, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1296, "", 1, 0 +fuelInjectionCounter = scalar, U32, 1300, "", 1, 0 +globalSparkCounter = scalar, U32, 1304, "", 1, 0 +fuelingLoad = scalar, F32, 1308, "", 1, 0 +ignitionLoad = scalar, F32, 1312, "", 1, 0 +veTableYAxis = scalar, U16, 1316, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1318, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1319, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1320, "", 1, 0 +; total TS size = 1324 +tpsFrom = scalar, F32, 1324 +tpsTo = scalar, F32, 1328 +deltaTps = scalar, F32, 1332 +extraFuel = scalar, F32, 1336, "", 1, 0 +valueFromTable = scalar, F32, 1340, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1344, [0:0] +isBelowDecelThreshold = bits, U32, 1344, [1:1] +isTimeToResetAccumulator = bits, U32, 1344, [2:2] +isFractionalEnrichment = bits, U32, 1344, [3:3] +belowEpsilon = bits, U32, 1344, [4:4] +tooShort = bits, U32, 1344, [5:5] +fractionalInjFuel = scalar, F32, 1348, "", 1, 0 +accumulatedValue = scalar, F32, 1352, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1356, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1360, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1364, "", 1, 0 +cycleCnt = scalar, S32, 1368, "", 1, 0 +; total TS size = 1372 +hwEventCounters1 = scalar, U16, 1372, "", 1, 0 +hwEventCounters2 = scalar, U16, 1374, "", 1, 0 +hwEventCounters3 = scalar, U16, 1376, "", 1, 0 +hwEventCounters4 = scalar, U16, 1378, "", 1, 0 +vvtCamCounter = scalar, U16, 1380, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1384, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1388, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1392, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1393, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1396, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1400, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1404, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1408, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1412, [0:0] +triggerElapsedUs = scalar, U32, 1416, "", 1, 0 +; total TS size = 1420 +trgsynchronizationCounter = scalar, U32, 1420, "", 1, 0 +trgvvtToothDurations0 = scalar, U32, 1424, "us", 1, 0 +trgvvtCurrentPosition = scalar, F32, 1428, "", 1, 0 +trgvvtToothPosition1 = scalar, F32, 1432, "", 1, 0 +trgvvtToothPosition2 = scalar, F32, 1436, "", 1, 0 +trgvvtToothPosition3 = scalar, F32, 1440, "", 1, 0 +trgvvtToothPosition4 = scalar, F32, 1444, "", 1, 0 +trgtriggerSyncGapRatio = scalar, F32, 1448, "", 1, 0 +trgtriggerStateIndex = scalar, U08, 1452, "", 1, 0 +; total TS size = 1456 +vvt1isynchronizationCounter = scalar, U32, 1456, "", 1, 0 +vvt1ivvtToothDurations0 = scalar, U32, 1460, "us", 1, 0 +vvt1ivvtCurrentPosition = scalar, F32, 1464, "", 1, 0 +vvt1ivvtToothPosition1 = scalar, F32, 1468, "", 1, 0 +vvt1ivvtToothPosition2 = scalar, F32, 1472, "", 1, 0 +vvt1ivvtToothPosition3 = scalar, F32, 1476, "", 1, 0 +vvt1ivvtToothPosition4 = scalar, F32, 1480, "", 1, 0 +vvt1itriggerSyncGapRatio = scalar, F32, 1484, "", 1, 0 +vvt1itriggerStateIndex = scalar, U08, 1488, "", 1, 0 +; total TS size = 1492 +vvt1esynchronizationCounter = scalar, U32, 1492, "", 1, 0 +vvt1evvtToothDurations0 = scalar, U32, 1496, "us", 1, 0 +vvt1evvtCurrentPosition = scalar, F32, 1500, "", 1, 0 +vvt1evvtToothPosition1 = scalar, F32, 1504, "", 1, 0 +vvt1evvtToothPosition2 = scalar, F32, 1508, "", 1, 0 +vvt1evvtToothPosition3 = scalar, F32, 1512, "", 1, 0 +vvt1evvtToothPosition4 = scalar, F32, 1516, "", 1, 0 +vvt1etriggerSyncGapRatio = scalar, F32, 1520, "", 1, 0 +vvt1etriggerStateIndex = scalar, U08, 1524, "", 1, 0 +; total TS size = 1528 +vvt2isynchronizationCounter = scalar, U32, 1528, "", 1, 0 +vvt2ivvtToothDurations0 = scalar, U32, 1532, "us", 1, 0 +vvt2ivvtCurrentPosition = scalar, F32, 1536, "", 1, 0 +vvt2ivvtToothPosition1 = scalar, F32, 1540, "", 1, 0 +vvt2ivvtToothPosition2 = scalar, F32, 1544, "", 1, 0 +vvt2ivvtToothPosition3 = scalar, F32, 1548, "", 1, 0 +vvt2ivvtToothPosition4 = scalar, F32, 1552, "", 1, 0 +vvt2itriggerSyncGapRatio = scalar, F32, 1556, "", 1, 0 +vvt2itriggerStateIndex = scalar, U08, 1560, "", 1, 0 +; total TS size = 1564 +vvt2esynchronizationCounter = scalar, U32, 1564, "", 1, 0 +vvt2evvtToothDurations0 = scalar, U32, 1568, "us", 1, 0 +vvt2evvtCurrentPosition = scalar, F32, 1572, "", 1, 0 +vvt2evvtToothPosition1 = scalar, F32, 1576, "", 1, 0 +vvt2evvtToothPosition2 = scalar, F32, 1580, "", 1, 0 +vvt2evvtToothPosition3 = scalar, F32, 1584, "", 1, 0 +vvt2evvtToothPosition4 = scalar, F32, 1588, "", 1, 0 +vvt2etriggerSyncGapRatio = scalar, F32, 1592, "", 1, 0 +vvt2etriggerStateIndex = scalar, U08, 1596, "", 1, 0 +; total TS size = 1600 +camResyncCounter = scalar, U08, 1600, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1604, [0:0] +; total TS size = 1608 +wallFuelCorrection = scalar, F32, 1608, "", 1, 0 +wallFuel = scalar, F32, 1612, "", 1, 0 +; total TS size = 1616 +idleState = bits, S32, 1616, [0:2], "not important" +currentIdlePosition = scalar, F32, 1620 +baseIdlePosition = scalar, F32, 1624 +idleClosedLoop = scalar, F32, 1628 +iacByTpsTaper = scalar, F32, 1632 +mightResetPid = bits, U32, 1636, [0:0] +shouldResetPid = bits, U32, 1636, [1:1] +wasResetPid = bits, U32, 1636, [2:2] +mustResetPid = bits, U32, 1636, [3:3] +isCranking = bits, U32, 1636, [4:4] +isIacTableForCoasting = bits, U32, 1636, [5:5] +notIdling = bits, U32, 1636, [6:6] +needReset = bits, U32, 1636, [7:7] +isInDeadZone = bits, U32, 1636, [8:8] +isBlipping = bits, U32, 1636, [9:9] +useClosedLoop = bits, U32, 1636, [10:10] +badTps = bits, U32, 1636, [11:11] +looksLikeRunning = bits, U32, 1636, [12:12] +looksLikeCoasting = bits, U32, 1636, [13:13] +looksLikeCrankToIdle = bits, U32, 1636, [14:14] +isIdleCoasting = bits, U32, 1636, [15:15] +isIdleClosedLoop = bits, U32, 1636, [16:16] +idleTarget = scalar, S32, 1640, "", 1, 0 +targetRpmByClt = scalar, S32, 1644, "", 1, 0 +targetRpmAc = scalar, S32, 1648, "", 1, 0 +iacByRpmTaper = scalar, F32, 1652 +luaAdd = scalar, F32, 1656 +; total TS size = 1660 +etb1targetWithIdlePosition = scalar, F32, 1660, "%", 1,0 +etb1trim = scalar, F32, 1664, "", 1, 0 +etb1luaAdjustment = scalar, F32, 1668, "%", 1,0 +etb1m_wastegatePosition = scalar, F32, 1672, "%", 1,0 +etb1etbFeedForward = scalar, F32, 1676 +etb1etbIntegralError = scalar, F32, 1680, "", 1, 0 +etb1etbCurrentTarget = scalar, F32, 1684, "%", 1, 0 +etb1m_adjustedTarget = scalar, S16, 1688, "%", 0.01, 0 +etb1etbRevLimitActive = bits, U32, 1692, [0:0] +etb1jamDetected = bits, U32, 1692, [1:1] +etb1validPlantPosition = bits, U32, 1692, [2:2] +etb1etbTpsErrorCounter = scalar, U16, 1696, "count", 1,0 +etb1etbPpsErrorCounter = scalar, U16, 1698, "count", 1,0 +etb1etbErrorCode = scalar, S08, 1700, "", 1, 0 +etb1etbErrorCodeBlinker = scalar, S08, 1701, "", 1, 0 +etb1tcEtbDrop = scalar, S08, 1702, "%", 1, 0 +etb1jamTimer = scalar, U16, 1704, "sec", 0.01, 0 +etb1adjustedEtbTarget = scalar, S08, 1706, "%", 1, 0 +etb1state = scalar, U08, 1707, "", 1, 0 +; total TS size = 1708 +etb2targetWithIdlePosition = scalar, F32, 1708, "%", 1,0 +etb2trim = scalar, F32, 1712, "", 1, 0 +etb2luaAdjustment = scalar, F32, 1716, "%", 1,0 +etb2m_wastegatePosition = scalar, F32, 1720, "%", 1,0 +etb2etbFeedForward = scalar, F32, 1724 +etb2etbIntegralError = scalar, F32, 1728, "", 1, 0 +etb2etbCurrentTarget = scalar, F32, 1732, "%", 1, 0 +etb2m_adjustedTarget = scalar, S16, 1736, "%", 0.01, 0 +etb2etbRevLimitActive = bits, U32, 1740, [0:0] +etb2jamDetected = bits, U32, 1740, [1:1] +etb2validPlantPosition = bits, U32, 1740, [2:2] +etb2etbTpsErrorCounter = scalar, U16, 1744, "count", 1,0 +etb2etbPpsErrorCounter = scalar, U16, 1746, "count", 1,0 +etb2etbErrorCode = scalar, S08, 1748, "", 1, 0 +etb2etbErrorCodeBlinker = scalar, S08, 1749, "", 1, 0 +etb2tcEtbDrop = scalar, S08, 1750, "%", 1, 0 +etb2jamTimer = scalar, U16, 1752, "sec", 0.01, 0 +etb2adjustedEtbTarget = scalar, S08, 1754, "%", 1, 0 +etb2state = scalar, U08, 1755, "", 1, 0 +; total TS size = 1756 +wb1faultCode = scalar, U08, 1756, "", 1, 0 +wb1heaterDuty = scalar, U08, 1757, "%", 1, 0 +wb1pumpDuty = scalar, U08, 1758, "%", 1, 0 +wb1tempC = scalar, U16, 1760, "C", 1, 0 +wb1nernstVoltage = scalar, U16, 1762, "V", 0.001, 0 +wb1esr = scalar, U16, 1764, "ohm", 1, 0 +; total TS size = 1768 +wb2faultCode = scalar, U08, 1768, "", 1, 0 +wb2heaterDuty = scalar, U08, 1769, "%", 1, 0 +wb2pumpDuty = scalar, U08, 1770, "%", 1, 0 +wb2tempC = scalar, U16, 1772, "C", 1, 0 +wb2nernstVoltage = scalar, U16, 1774, "V", 0.001, 0 +wb2esr = scalar, U16, 1776, "ohm", 1, 0 +; total TS size = 1780 +dcOutput0 = scalar, F32, 1780, "%", 1,0 +isEnabled0_int = scalar, U08, 1784, "%", 1,0 +isEnabled0 = bits, U32, 1788, [0:0] +; total TS size = 1792 +value0 = scalar, U16, 1792, "RAW", 1,0 +value1 = scalar, U16, 1794, "RAW", 1,0 +errorRate = scalar, F32, 1796, "% (don't belive me)", 1,0 ; total TS size = 1800 -lambdaCurrentlyGood = bits, U32, 1800, [0:0] -lambdaMonitorCut = bits, U32, 1800, [1:1] -lambdaTimeSinceGood = scalar, U16, 1804, "sec", 0.01, 0 -; total TS size = 1808 +vvtTarget = scalar, U16, 1800, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1802, "%", 0.5, 0 +; total TS size = 1804 +lambdaCurrentlyGood = bits, U32, 1804, [0:0] +lambdaMonitorCut = bits, U32, 1804, [1:1] +lambdaTimeSinceGood = scalar, U16, 1808, "sec", 0.01, 0 +; total TS size = 1812 time = { timeNow } @@ -4584,6 +4587,12 @@ curve = rangeMatrix, "Range Switch Input Matrix" gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. upDownLabel = "(RICHER)", "(LEANER)" + table = trailingSparkTable, trailingSparkMap, "Trailing spark", 1 + xyLabels = "RPM", "Ignition Load" + xBins = trailingSparkRpmBins, RPMValue + yBins = trailingSparkLoadBins, ignitionLoad + zBins = trailingSparkTable + table = torqueTableTbl, torqueTableMap, "Engine Torque", 1 xBins = torqueRpmBins, RPMValue yBins = torqueLoadBins, veTableYAxis @@ -4881,6 +4890,7 @@ timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20 timingPidCorrectionGauge = timingPidCorrection,"Idle: Timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 +trailingSparkAngleGauge = trailingSparkAngle,"Ign: Trailing spark deg", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 gaugeCategory = "Boost Control" luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 @@ -5808,6 +5818,7 @@ entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" entry = luaIgnitionSkip, "Ign: Lua Spark Skip", int, "%d" +entry = trailingSparkAngle, "Ign: Trailing spark deg", float, "%.3f" entry = m_knockLevel, "Knock: Current level", float, "%.3f" entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" @@ -6774,6 +6785,7 @@ dialog = ignition_stateDialog, "ignition_state" graphLine = luaTimingAdd liveGraph = ignition_state_4_Graph, "Graph", South graphLine = luaTimingMult + graphLine = trailingSparkAngle dialog = knock_controllerDialog, "knock_controller" @@ -10043,11 +10055,11 @@ commandButton = "microRusEFI M111", cmd_set_engine_type_MERCEDES_M11 dialog = rotaryDialog, "Rotary" field = "Enable Trailing Sparks", enableTrailingSparks - field = "Trailing Spark Offset", trailingSparkAngle field = "Trailing Pin 1", trailingCoilPins1 field = "Trailing Pin 2", trailingCoilPins2 field = "Trailing Pin 3", trailingCoilPins3 field = "Trailing Pin 4", trailingCoilPins4 + panel = trailingSparkTable diff --git a/firmware/tunerstudio/generated/rusefi_nucleo_f413.ini b/firmware/tunerstudio/generated/rusefi_nucleo_f413.ini index 352128d026..196e7ecd38 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.2025.02.07.nucleo_f413.1384441238" + signature = "rusEFI master.2025.02.07.nucleo_f413.3574033147" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2025.02.07.nucleo_f413.1384441238" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2025.02.07.nucleo_f413.3574033147" ; 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 @@ -101,7 +101,7 @@ enable2ndByteCanID = false ; CONFIG_DEFINITION_START ; this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt -pageSize = 23280 +pageSize = 23304 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",22="BMW_M52",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",21="ET_BOSCH_QUICK_START",24="ET_TEST_WITH_BOSCH_QUICK_START",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",41="FRANKENSO_MIATA_NA6_MAP",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",47="GM_LCV",55="GM_LTG",98="GM_SBC",49="GM_SBC_GEN5",8="GY6_139QMB",6="HARLEY",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",34="MAZDA_MIATA_NA6",80="MAZDA_MIATA_NA94",10="MAZDA_MIATA_NA96",83="MAZDA_MIATA_NB1",69="MAZDA_MIATA_NB2",86="MAZDA_MIATA_NB2_36",20="MAZDA_MIATA_NC",33="ME17_9_MISC",68="MERCEDES_M111",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",4="MRE_SECONDARY_CAN",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",35="POLARIS",9="POLARIS_RZR",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",27="PROTEUS_GM_LS_4",25="PROTEUS_LUA_DEMO",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",17="TCU_4R70W",100="TEST_100",101="TEST_101",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",93="TEST_ISSUE_6451",19="TEST_ROTARY",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",102="UNUSED102",67="UNUSED67",94="UNUSED94",65="UNUSED_65",97="UNUSED_97",77="VAG_5_CYL",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -245,7 +245,7 @@ vbattAdcChannel = bits, U08, 513, [0:5], $adc_channel_e_list fuelLevelSensor = bits, U08, 514, [0:5], $adc_channel_e_list tps2_1AdcChannel = bits, U08, 515, [0:5], $adc_channel_e_list idle_derivativeFilterLoss = scalar, F32, 516, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 520, "angle", 1, 0, 0, 720, 0 +unusedTrailingSparkAngle = scalar, S32, 520, "", 1, 0, 0, 100, 0 trigger_type = bits, U32, 524, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Daihatsu 3 cylinder", "Mazda SOHC 4", "60-2", "36-1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "Dodge Ram 1+16", "60-2 Wrong Polarity", "Benelli Tre", "Dodge Stratus", "36_2_2_2", "Nissan Primera", "dev 2JZ 3/34 simulator", "Rover K", "GM 24x 5 degree", "Honda CBR 600 Cam", "INVALID", "Honda CBR 600 custom", "3-1 skipped", "Dodge Neon 2003 crank", "Miata NB", "INVALID", "INVALID", "Subaru 7+6", "Jeep 18-2-2-2", "12crank/24cam", "Dodge Neon 1995 crank only", "Jeep XJ 4 cyl", "FiatIAQ_P8", "Mazda Z5", "INVALID", "Renix 44-2-2", "Renix 66-2-2-2", "Honda K 12+1", "INVALID", "36-2", "Subaru SVX", "Suzuki K6A", "Subaru 7 without 6", "INVALID", "INVALID", "GM 60-2-2-2", "Skoda Favorit", "Barra 3+1 Cam", "Kawa KX450F", "Nissan VQ35", "INVALID", "Nissan VQ30", "Nissan QR25", "INVALID", "Subaru SVX Crank 1", "Subaru SVX Cam VVT", "Ford PIP", "Suzuki G13B", "Honda K 4+1", "Nissan MR18 Crank", "32-2", "36-2-1", "36-2-1-1", "3-0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6-0", "Daihatsu 4 cylinder", "INVALID", "dev", "Nissan HR", "Arctic Cat", "HR12 in", "HONDA J30A2", "trg88", "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" trigger_customTotalToothCount = scalar, S32, 528, "number", 1, 0, 1, 300, 0 trigger_customSkippedToothCount = scalar, S32, 532, "number", 1, 0, 0, 300, 0 @@ -1796,7 +1796,10 @@ dynoCarCarMassKg = scalar, S16, 23268, "", 1, 0, 0, 32000, 0 dynoCarCargoMassKg = scalar, S16, 23270, "", 1, 0, 0, 32000, 0 dynoCarCoeffOfDrag = scalar, F32, 23272, "", 1, 0, 0, 100, 0 dynoCarFrontalAreaM2 = scalar, F32, 23276, "", 1, 0, 0, 100, 0 -; total TS size = 23280 +trailingSparkTable = array, S08, 23280, [4x4], "deg", 0.1, 0, 0, 20, 1 +trailingSparkRpmBins = array, U08, 23296, [4], "rpm", 50.0, 0, 0, 12000, 0 +trailingSparkLoadBins = array, U08, 23300, [4], "Load", 5.0, 0, 0, 1000, 0 +; total TS size = 23304 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1890,7 +1893,6 @@ dynoCarFrontalAreaM2 = scalar, F32, 23276, "", 1, 0, 0, 100, 0 fuelLevelSensor = "This is the processor pin that your fuel level sensor in connected to. This is a non standard input so will need to be user defined." tps2_1AdcChannel = "Second throttle body position sensor, single channel so far" idle_derivativeFilterLoss = "0.1 is a good default value" - trailingSparkAngle = "just a temporary solution" trigger_type = "https://github.com/rusefi/rusefi/wiki/All-Supported-Triggers" airByRpmTaper = "Extra air taper amount" boostControlSafeDutyCycle = "Duty cycle to use in case of a sensor failure. This duty cycle should produce the minimum possible amount of boost. This duty is also used in case any of the minimum RPM/TPS/MAP conditions are not met." @@ -2664,7 +2666,7 @@ dynoCarFrontalAreaM2 = scalar, F32, 23276, "", 1, 0, 0, 100, 0 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1808 + ochBlockSize = 1812 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3189,417 +3191,418 @@ dwellVoltageCorrection = scalar, F32, 940, "", 1, 0 luaTimingAdd = scalar, F32, 944, "deg", 1, 0 luaTimingMult = scalar, F32, 948, "deg", 1, 0 luaIgnitionSkip = bits, U32, 952, [0:0] -; total TS size = 956 -m_knockLevel = scalar, F32, 956, "Volts", 1, 0 -m_knockCyl1 = scalar, S08, 960, "dBv", 1, 0 -m_knockCyl2 = scalar, S08, 961, "dBv", 1, 0 -m_knockCyl3 = scalar, S08, 962, "dBv", 1, 0 -m_knockCyl4 = scalar, S08, 963, "dBv", 1, 0 -m_knockCyl5 = scalar, S08, 964, "dBv", 1, 0 -m_knockCyl6 = scalar, S08, 965, "dBv", 1, 0 -m_knockCyl7 = scalar, S08, 966, "dBv", 1, 0 -m_knockCyl8 = scalar, S08, 967, "dBv", 1, 0 -m_knockCyl9 = scalar, S08, 968, "dBv", 1, 0 -m_knockCyl10 = scalar, S08, 969, "dBv", 1, 0 -m_knockCyl11 = scalar, S08, 970, "dBv", 1, 0 -m_knockCyl12 = scalar, S08, 971, "dBv", 1, 0 -m_knockRetard = scalar, F32, 972, "deg", 1,0 -m_knockThreshold = scalar, F32, 976, "", 1, 0 -m_knockCount = scalar, U32, 980, "", 1, 0 -m_maximumRetard = scalar, F32, 984, "", 1, 0 -m_knockSpectrum1 = scalar, U32, 988, "compressed data", 1, 0 -m_knockSpectrum2 = scalar, U32, 992, "compressed data", 1, 0 -m_knockSpectrum3 = scalar, U32, 996, "compressed data", 1, 0 -m_knockSpectrum4 = scalar, U32, 1000, "compressed data", 1, 0 -m_knockSpectrum5 = scalar, U32, 1004, "compressed data", 1, 0 -m_knockSpectrum6 = scalar, U32, 1008, "compressed data", 1, 0 -m_knockSpectrum7 = scalar, U32, 1012, "compressed data", 1, 0 -m_knockSpectrum8 = scalar, U32, 1016, "compressed data", 1, 0 -m_knockSpectrum9 = scalar, U32, 1020, "compressed data", 1, 0 -m_knockSpectrum10 = scalar, U32, 1024, "compressed data", 1, 0 -m_knockSpectrum11 = scalar, U32, 1028, "compressed data", 1, 0 -m_knockSpectrum12 = scalar, U32, 1032, "compressed data", 1, 0 -m_knockSpectrum13 = scalar, U32, 1036, "compressed data", 1, 0 -m_knockSpectrum14 = scalar, U32, 1040, "compressed data", 1, 0 -m_knockSpectrum15 = scalar, U32, 1044, "compressed data", 1, 0 -m_knockSpectrum16 = scalar, U32, 1048, "compressed data", 1, 0 -m_knockSpectrumChannelCyl = scalar, U16, 1052, "compressed N + N", 1, 0 -m_knockFrequencyStart = scalar, U16, 1054, "Hz", 1, 0 -m_knockFrequencyStep = scalar, F32, 1056, "Hz", 1, 0 -m_knockFuelTrimMultiplier = scalar, F32, 1060, "multiplier", 1, 0 -; total TS size = 1064 -m_isPriming = bits, U32, 1064, [0:0] +trailingSparkAngle = scalar, S16, 956, "deg", 0.01,0 +; total TS size = 960 +m_knockLevel = scalar, F32, 960, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 964, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 965, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 966, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 967, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 968, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 969, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 970, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 971, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 972, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 973, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 974, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 975, "dBv", 1, 0 +m_knockRetard = scalar, F32, 976, "deg", 1,0 +m_knockThreshold = scalar, F32, 980, "", 1, 0 +m_knockCount = scalar, U32, 984, "", 1, 0 +m_maximumRetard = scalar, F32, 988, "", 1, 0 +m_knockSpectrum1 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1040, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1044, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1048, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1052, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1056, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1058, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1060, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1064, "multiplier", 1, 0 ; total TS size = 1068 -tcuCurrentGear = scalar, S08, 1068, "gear", 1, 0 -tcRatio = scalar, U16, 1070, "value", 0.01, 0 -lastShiftTime = scalar, F32, 1072, "", 1, 0 -tcu_currentRange = scalar, U08, 1076, "", 1, 0 -pressureControlDuty = scalar, S08, 1077, "%", 1,0 -torqueConverterDuty = scalar, S08, 1078, "%", 1,0 -isShifting = bits, U32, 1080, [0:0] -; total TS size = 1084 -throttleUseWotModel = bits, U32, 1084, [0:0] -throttleModelCrossoverAngle = scalar, S16, 1088, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1092, "g/s", 1, 0 -; total TS size = 1096 -m_requested_pump = scalar, F32, 1096, "", 1, 0 -fuel_requested_percent = scalar, F32, 1100, "%", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1104, "", 1, 0 -noValve = bits, U32, 1108, [0:0] -angleAboveMin = bits, U32, 1108, [1:1] -isHpfpActive = bits, U32, 1108, [2:2] -HpfpValveState = bits, U32, 1108, [3:3] -m_pressureTarget_kPa = scalar, F32, 1112, "", 1, 0 -nextLobe = scalar, F32, 1116, "", 1, 0 -di_nextStart = scalar, F32, 1120, "v", 1, 0 -HpfdActivationPhase = scalar, F32, 1124, "", 1, 0 -HpfdDeactivationPhase = scalar, F32, 1128, "", 1, 0 -; total TS size = 1132 -m_deadtime = scalar, F32, 1132, "ms", 1, 0 -pressureDelta = scalar, F32, 1136, "kPa", 1, 0 -pressureRatio = scalar, F32, 1140, "", 1, 0 -; total TS size = 1144 -retardThresholdRpm = scalar, S32, 1144, "", 1, 0 -launchActivatePinState = bits, U32, 1148, [0:0] -isPreLaunchCondition = bits, U32, 1148, [1:1] -isLaunchCondition = bits, U32, 1148, [2:2] -isSwitchActivated = bits, U32, 1148, [3:3] -isClutchActivated = bits, U32, 1148, [4:4] -isBrakePedalActivated = bits, U32, 1148, [5:5] -isValidInputPin = bits, U32, 1148, [6:6] -activateSwitchCondition = bits, U32, 1148, [7:7] -rpmLaunchCondition = bits, U32, 1148, [8:8] -rpmPreLaunchCondition = bits, U32, 1148, [9:9] -speedCondition = bits, U32, 1148, [10:10] -tpsCondition = bits, U32, 1148, [11:11] -; total TS size = 1152 -isTorqueReductionTriggerPinValid = bits, U32, 1152, [0:0] -torqueReductionTriggerPinState = bits, U32, 1152, [1:1] -isTimeConditionSatisfied = bits, U32, 1152, [2:2] -isRpmConditionSatisfied = bits, U32, 1152, [3:3] -isAppConditionSatisfied = bits, U32, 1152, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1152, [5:5] +m_isPriming = bits, U32, 1068, [0:0] +; total TS size = 1072 +tcuCurrentGear = scalar, S08, 1072, "gear", 1, 0 +tcRatio = scalar, U16, 1074, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1076, "", 1, 0 +tcu_currentRange = scalar, U08, 1080, "", 1, 0 +pressureControlDuty = scalar, S08, 1081, "%", 1,0 +torqueConverterDuty = scalar, S08, 1082, "%", 1,0 +isShifting = bits, U32, 1084, [0:0] +; total TS size = 1088 +throttleUseWotModel = bits, U32, 1088, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1092, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1096, "g/s", 1, 0 +; total TS size = 1100 +m_requested_pump = scalar, F32, 1100, "", 1, 0 +fuel_requested_percent = scalar, F32, 1104, "%", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1108, "", 1, 0 +noValve = bits, U32, 1112, [0:0] +angleAboveMin = bits, U32, 1112, [1:1] +isHpfpActive = bits, U32, 1112, [2:2] +HpfpValveState = bits, U32, 1112, [3:3] +m_pressureTarget_kPa = scalar, F32, 1116, "", 1, 0 +nextLobe = scalar, F32, 1120, "", 1, 0 +di_nextStart = scalar, F32, 1124, "v", 1, 0 +HpfdActivationPhase = scalar, F32, 1128, "", 1, 0 +HpfdDeactivationPhase = scalar, F32, 1132, "", 1, 0 +; total TS size = 1136 +m_deadtime = scalar, F32, 1136, "ms", 1, 0 +pressureDelta = scalar, F32, 1140, "kPa", 1, 0 +pressureRatio = scalar, F32, 1144, "", 1, 0 +; total TS size = 1148 +retardThresholdRpm = scalar, S32, 1148, "", 1, 0 +launchActivatePinState = bits, U32, 1152, [0:0] +isPreLaunchCondition = bits, U32, 1152, [1:1] +isLaunchCondition = bits, U32, 1152, [2:2] +isSwitchActivated = bits, U32, 1152, [3:3] +isClutchActivated = bits, U32, 1152, [4:4] +isBrakePedalActivated = bits, U32, 1152, [5:5] +isValidInputPin = bits, U32, 1152, [6:6] +activateSwitchCondition = bits, U32, 1152, [7:7] +rpmLaunchCondition = bits, U32, 1152, [8:8] +rpmPreLaunchCondition = bits, U32, 1152, [9:9] +speedCondition = bits, U32, 1152, [10:10] +tpsCondition = bits, U32, 1152, [11:11] ; total TS size = 1156 -isAntilagCondition = bits, U32, 1156, [0:0] -ALSMinRPMCondition = bits, U32, 1156, [1:1] -ALSMaxRPMCondition = bits, U32, 1156, [2:2] -ALSMinCLTCondition = bits, U32, 1156, [3:3] -ALSMaxCLTCondition = bits, U32, 1156, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1156, [5:5] -isALSSwitchActivated = bits, U32, 1156, [6:6] -ALSActivatePinState = bits, U32, 1156, [7:7] -ALSSwitchCondition = bits, U32, 1156, [8:8] -ALSTimerCondition = bits, U32, 1156, [9:9] -fuelALSCorrection = scalar, F32, 1160, "", 1, 0 -timingALSCorrection = scalar, S16, 1164, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1166, "deg", 0.01, 0 -; total TS size = 1168 -isTpsInvalid = bits, U32, 1168, [0:0] -m_shouldResetPid = bits, U32, 1168, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1168, [2:2] -isNotClosedLoop = bits, U32, 1168, [3:3] -isZeroRpm = bits, U32, 1168, [4:4] -hasInitBoost = bits, U32, 1168, [5:5] -rpmTooLow = bits, U32, 1168, [6:6] -tpsTooLow = bits, U32, 1168, [7:7] -mapTooLow = bits, U32, 1168, [8:8] -isPlantValid = bits, U32, 1168, [9:9] -isBoostControlled = bits, U32, 1168, [10:10] -luaTargetAdd = scalar, S16, 1172, "v", 0.5,0 -boostOutput = scalar, S16, 1174, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1176, "v", 1,0 -openLoopPart = scalar, F32, 1180, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1184, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1188, "%", 0.5,0 -boostControlTarget = scalar, S16, 1190, "kPa", 0.03333333333333333,0 -; total TS size = 1192 -acButtonState = scalar, S08, 1192, "", 1, 0 -m_acEnabled = bits, U32, 1196, [0:0] -engineTooSlow = bits, U32, 1196, [1:1] -engineTooFast = bits, U32, 1196, [2:2] -noClt = bits, U32, 1196, [3:3] -engineTooHot = bits, U32, 1196, [4:4] -tpsTooHigh = bits, U32, 1196, [5:5] -isDisabledByLua = bits, U32, 1196, [6:6] -acCompressorState = bits, U32, 1196, [7:7] -acPressureTooLow = bits, U32, 1196, [8:8] -acPressureTooHigh = bits, U32, 1196, [9:9] -; total TS size = 1200 -isNitrousArmed = bits, U32, 1200, [0:0] -isNitrousSpeedCondition = bits, U32, 1200, [1:1] -isNitrousTpsCondition = bits, U32, 1200, [2:2] -isNitrousCltCondition = bits, U32, 1200, [3:3] -isNitrousMapCondition = bits, U32, 1200, [4:4] -isNitrousAfrCondition = bits, U32, 1200, [5:5] -isNitrousRpmCondition = bits, U32, 1200, [6:6] -isNitrousCondition = bits, U32, 1200, [7:7] +isTorqueReductionTriggerPinValid = bits, U32, 1156, [0:0] +torqueReductionTriggerPinState = bits, U32, 1156, [1:1] +isTimeConditionSatisfied = bits, U32, 1156, [2:2] +isRpmConditionSatisfied = bits, U32, 1156, [3:3] +isAppConditionSatisfied = bits, U32, 1156, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1156, [5:5] +; total TS size = 1160 +isAntilagCondition = bits, U32, 1160, [0:0] +ALSMinRPMCondition = bits, U32, 1160, [1:1] +ALSMaxRPMCondition = bits, U32, 1160, [2:2] +ALSMinCLTCondition = bits, U32, 1160, [3:3] +ALSMaxCLTCondition = bits, U32, 1160, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1160, [5:5] +isALSSwitchActivated = bits, U32, 1160, [6:6] +ALSActivatePinState = bits, U32, 1160, [7:7] +ALSSwitchCondition = bits, U32, 1160, [8:8] +ALSTimerCondition = bits, U32, 1160, [9:9] +fuelALSCorrection = scalar, F32, 1164, "", 1, 0 +timingALSCorrection = scalar, S16, 1168, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1170, "deg", 0.01, 0 +; total TS size = 1172 +isTpsInvalid = bits, U32, 1172, [0:0] +m_shouldResetPid = bits, U32, 1172, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1172, [2:2] +isNotClosedLoop = bits, U32, 1172, [3:3] +isZeroRpm = bits, U32, 1172, [4:4] +hasInitBoost = bits, U32, 1172, [5:5] +rpmTooLow = bits, U32, 1172, [6:6] +tpsTooLow = bits, U32, 1172, [7:7] +mapTooLow = bits, U32, 1172, [8:8] +isPlantValid = bits, U32, 1172, [9:9] +isBoostControlled = bits, U32, 1172, [10:10] +luaTargetAdd = scalar, S16, 1176, "v", 0.5,0 +boostOutput = scalar, S16, 1178, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1180, "v", 1,0 +openLoopPart = scalar, F32, 1184, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1188, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1192, "%", 0.5,0 +boostControlTarget = scalar, S16, 1194, "kPa", 0.03333333333333333,0 +; total TS size = 1196 +acButtonState = scalar, S08, 1196, "", 1, 0 +m_acEnabled = bits, U32, 1200, [0:0] +engineTooSlow = bits, U32, 1200, [1:1] +engineTooFast = bits, U32, 1200, [2:2] +noClt = bits, U32, 1200, [3:3] +engineTooHot = bits, U32, 1200, [4:4] +tpsTooHigh = bits, U32, 1200, [5:5] +isDisabledByLua = bits, U32, 1200, [6:6] +acCompressorState = bits, U32, 1200, [7:7] +acPressureTooLow = bits, U32, 1200, [8:8] +acPressureTooHigh = bits, U32, 1200, [9:9] ; total TS size = 1204 -fan1cranking = bits, U32, 1204, [0:0] -fan1notRunning = bits, U32, 1204, [1:1] -fan1disabledWhileEngineStopped = bits, U32, 1204, [2:2] -fan1brokenClt = bits, U32, 1204, [3:3] -fan1enabledForAc = bits, U32, 1204, [4:4] -fan1hot = bits, U32, 1204, [5:5] -fan1cold = bits, U32, 1204, [6:6] -fan1disabledBySpeed = bits, U32, 1204, [7:7] -fan1m_state = bits, U32, 1204, [8:8] -fan1radiatorFanStatus = scalar, U08, 1208, "", 1, 0 -; total TS size = 1212 -fan2cranking = bits, U32, 1212, [0:0] -fan2notRunning = bits, U32, 1212, [1:1] -fan2disabledWhileEngineStopped = bits, U32, 1212, [2:2] -fan2brokenClt = bits, U32, 1212, [3:3] -fan2enabledForAc = bits, U32, 1212, [4:4] -fan2hot = bits, U32, 1212, [5:5] -fan2cold = bits, U32, 1212, [6:6] -fan2disabledBySpeed = bits, U32, 1212, [7:7] -fan2m_state = bits, U32, 1212, [8:8] -fan2radiatorFanStatus = scalar, U08, 1216, "", 1, 0 -; total TS size = 1220 -isPrime = bits, U32, 1220, [0:0] -engineTurnedRecently = bits, U32, 1220, [1:1] -isFuelPumpOn = bits, U32, 1220, [2:2] -ignitionOn = bits, U32, 1220, [3:3] +isNitrousArmed = bits, U32, 1204, [0:0] +isNitrousSpeedCondition = bits, U32, 1204, [1:1] +isNitrousTpsCondition = bits, U32, 1204, [2:2] +isNitrousCltCondition = bits, U32, 1204, [3:3] +isNitrousMapCondition = bits, U32, 1204, [4:4] +isNitrousAfrCondition = bits, U32, 1204, [5:5] +isNitrousRpmCondition = bits, U32, 1204, [6:6] +isNitrousCondition = bits, U32, 1204, [7:7] +; total TS size = 1208 +fan1cranking = bits, U32, 1208, [0:0] +fan1notRunning = bits, U32, 1208, [1:1] +fan1disabledWhileEngineStopped = bits, U32, 1208, [2:2] +fan1brokenClt = bits, U32, 1208, [3:3] +fan1enabledForAc = bits, U32, 1208, [4:4] +fan1hot = bits, U32, 1208, [5:5] +fan1cold = bits, U32, 1208, [6:6] +fan1disabledBySpeed = bits, U32, 1208, [7:7] +fan1m_state = bits, U32, 1208, [8:8] +fan1radiatorFanStatus = scalar, U08, 1212, "", 1, 0 +; total TS size = 1216 +fan2cranking = bits, U32, 1216, [0:0] +fan2notRunning = bits, U32, 1216, [1:1] +fan2disabledWhileEngineStopped = bits, U32, 1216, [2:2] +fan2brokenClt = bits, U32, 1216, [3:3] +fan2enabledForAc = bits, U32, 1216, [4:4] +fan2hot = bits, U32, 1216, [5:5] +fan2cold = bits, U32, 1216, [6:6] +fan2disabledBySpeed = bits, U32, 1216, [7:7] +fan2m_state = bits, U32, 1216, [8:8] +fan2radiatorFanStatus = scalar, U08, 1220, "", 1, 0 ; total TS size = 1224 -isBenchTest = bits, U32, 1224, [0:0] -hasIgnitionVoltage = bits, U32, 1224, [1:1] -mainRelayState = bits, U32, 1224, [2:2] -delayedShutoffRequested = bits, U32, 1224, [3:3] +isPrime = bits, U32, 1224, [0:0] +engineTurnedRecently = bits, U32, 1224, [1:1] +isFuelPumpOn = bits, U32, 1224, [2:2] +ignitionOn = bits, U32, 1224, [3:3] ; total TS size = 1228 -lua_fuelAdd = scalar, F32, 1228, "g", 1, 0 -lua_fuelMult = scalar, F32, 1232, "", 1, 0 -lua_clutchUpState = bits, U32, 1236, [0:0] -lua_brakePedalState = bits, U32, 1236, [1:1] -lua_acRequestState = bits, U32, 1236, [2:2] -lua_luaDisableEtb = bits, U32, 1236, [3:3] -lua_luaIgnCut = bits, U32, 1236, [4:4] -lua_luaFuelCut = bits, U32, 1236, [5:5] -lua_clutchDownState = bits, U32, 1236, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1236, [7:7] -lua_torqueReductionState = bits, U32, 1236, [8:8] -sd_tCharge = scalar, S16, 1240, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1244, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1248, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1252, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1256, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1260, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1264, "", 1, 0 -hellenBoardId = scalar, S16, 1268, "id", 1, 0 -clutchUpState = scalar, S08, 1270, "", 1, 0 -brakePedalState = scalar, S08, 1271, "", 1, 0 -startStopState = scalar, S08, 1272, "", 1, 0 -smartChipState = scalar, S08, 1273, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1274, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1275, "", 1, 0 -startStopPhysicalState = bits, U32, 1276, [0:0] -acrActive = bits, U32, 1276, [1:1] -acrEngineMovedRecently = bits, U32, 1276, [2:2] -heaterControlEnabled = bits, U32, 1276, [3:3] -luaDigitalState0 = bits, U32, 1276, [4:4] -luaDigitalState1 = bits, U32, 1276, [5:5] -luaDigitalState2 = bits, U32, 1276, [6:6] -luaDigitalState3 = bits, U32, 1276, [7:7] -clutchDownState = bits, U32, 1276, [8:8] -startStopStateToggleCounter = scalar, U32, 1280, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1284, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1288, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1292, "", 1, 0 -fuelInjectionCounter = scalar, U32, 1296, "", 1, 0 -globalSparkCounter = scalar, U32, 1300, "", 1, 0 -fuelingLoad = scalar, F32, 1304, "", 1, 0 -ignitionLoad = scalar, F32, 1308, "", 1, 0 -veTableYAxis = scalar, U16, 1312, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1314, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1315, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1316, "", 1, 0 -; total TS size = 1320 -tpsFrom = scalar, F32, 1320 -tpsTo = scalar, F32, 1324 -deltaTps = scalar, F32, 1328 -extraFuel = scalar, F32, 1332, "", 1, 0 -valueFromTable = scalar, F32, 1336, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1340, [0:0] -isBelowDecelThreshold = bits, U32, 1340, [1:1] -isTimeToResetAccumulator = bits, U32, 1340, [2:2] -isFractionalEnrichment = bits, U32, 1340, [3:3] -belowEpsilon = bits, U32, 1340, [4:4] -tooShort = bits, U32, 1340, [5:5] -fractionalInjFuel = scalar, F32, 1344, "", 1, 0 -accumulatedValue = scalar, F32, 1348, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1352, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1356, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1360, "", 1, 0 -cycleCnt = scalar, S32, 1364, "", 1, 0 -; total TS size = 1368 -hwEventCounters1 = scalar, U16, 1368, "", 1, 0 -hwEventCounters2 = scalar, U16, 1370, "", 1, 0 -hwEventCounters3 = scalar, U16, 1372, "", 1, 0 -hwEventCounters4 = scalar, U16, 1374, "", 1, 0 -vvtCamCounter = scalar, U16, 1376, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1380, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1384, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1388, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1389, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1392, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1396, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1400, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1404, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1408, [0:0] -triggerElapsedUs = scalar, U32, 1412, "", 1, 0 -; total TS size = 1416 -trgsynchronizationCounter = scalar, U32, 1416, "", 1, 0 -trgvvtToothDurations0 = scalar, U32, 1420, "us", 1, 0 -trgvvtCurrentPosition = scalar, F32, 1424, "", 1, 0 -trgvvtToothPosition1 = scalar, F32, 1428, "", 1, 0 -trgvvtToothPosition2 = scalar, F32, 1432, "", 1, 0 -trgvvtToothPosition3 = scalar, F32, 1436, "", 1, 0 -trgvvtToothPosition4 = scalar, F32, 1440, "", 1, 0 -trgtriggerSyncGapRatio = scalar, F32, 1444, "", 1, 0 -trgtriggerStateIndex = scalar, U08, 1448, "", 1, 0 -; total TS size = 1452 -vvt1isynchronizationCounter = scalar, U32, 1452, "", 1, 0 -vvt1ivvtToothDurations0 = scalar, U32, 1456, "us", 1, 0 -vvt1ivvtCurrentPosition = scalar, F32, 1460, "", 1, 0 -vvt1ivvtToothPosition1 = scalar, F32, 1464, "", 1, 0 -vvt1ivvtToothPosition2 = scalar, F32, 1468, "", 1, 0 -vvt1ivvtToothPosition3 = scalar, F32, 1472, "", 1, 0 -vvt1ivvtToothPosition4 = scalar, F32, 1476, "", 1, 0 -vvt1itriggerSyncGapRatio = scalar, F32, 1480, "", 1, 0 -vvt1itriggerStateIndex = scalar, U08, 1484, "", 1, 0 -; total TS size = 1488 -vvt1esynchronizationCounter = scalar, U32, 1488, "", 1, 0 -vvt1evvtToothDurations0 = scalar, U32, 1492, "us", 1, 0 -vvt1evvtCurrentPosition = scalar, F32, 1496, "", 1, 0 -vvt1evvtToothPosition1 = scalar, F32, 1500, "", 1, 0 -vvt1evvtToothPosition2 = scalar, F32, 1504, "", 1, 0 -vvt1evvtToothPosition3 = scalar, F32, 1508, "", 1, 0 -vvt1evvtToothPosition4 = scalar, F32, 1512, "", 1, 0 -vvt1etriggerSyncGapRatio = scalar, F32, 1516, "", 1, 0 -vvt1etriggerStateIndex = scalar, U08, 1520, "", 1, 0 -; total TS size = 1524 -vvt2isynchronizationCounter = scalar, U32, 1524, "", 1, 0 -vvt2ivvtToothDurations0 = scalar, U32, 1528, "us", 1, 0 -vvt2ivvtCurrentPosition = scalar, F32, 1532, "", 1, 0 -vvt2ivvtToothPosition1 = scalar, F32, 1536, "", 1, 0 -vvt2ivvtToothPosition2 = scalar, F32, 1540, "", 1, 0 -vvt2ivvtToothPosition3 = scalar, F32, 1544, "", 1, 0 -vvt2ivvtToothPosition4 = scalar, F32, 1548, "", 1, 0 -vvt2itriggerSyncGapRatio = scalar, F32, 1552, "", 1, 0 -vvt2itriggerStateIndex = scalar, U08, 1556, "", 1, 0 -; total TS size = 1560 -vvt2esynchronizationCounter = scalar, U32, 1560, "", 1, 0 -vvt2evvtToothDurations0 = scalar, U32, 1564, "us", 1, 0 -vvt2evvtCurrentPosition = scalar, F32, 1568, "", 1, 0 -vvt2evvtToothPosition1 = scalar, F32, 1572, "", 1, 0 -vvt2evvtToothPosition2 = scalar, F32, 1576, "", 1, 0 -vvt2evvtToothPosition3 = scalar, F32, 1580, "", 1, 0 -vvt2evvtToothPosition4 = scalar, F32, 1584, "", 1, 0 -vvt2etriggerSyncGapRatio = scalar, F32, 1588, "", 1, 0 -vvt2etriggerStateIndex = scalar, U08, 1592, "", 1, 0 -; total TS size = 1596 -camResyncCounter = scalar, U08, 1596, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1600, [0:0] -; total TS size = 1604 -wallFuelCorrection = scalar, F32, 1604, "", 1, 0 -wallFuel = scalar, F32, 1608, "", 1, 0 -; total TS size = 1612 -idleState = bits, S32, 1612, [0:2], "not important" -currentIdlePosition = scalar, F32, 1616 -baseIdlePosition = scalar, F32, 1620 -idleClosedLoop = scalar, F32, 1624 -iacByTpsTaper = scalar, F32, 1628 -mightResetPid = bits, U32, 1632, [0:0] -shouldResetPid = bits, U32, 1632, [1:1] -wasResetPid = bits, U32, 1632, [2:2] -mustResetPid = bits, U32, 1632, [3:3] -isCranking = bits, U32, 1632, [4:4] -isIacTableForCoasting = bits, U32, 1632, [5:5] -notIdling = bits, U32, 1632, [6:6] -needReset = bits, U32, 1632, [7:7] -isInDeadZone = bits, U32, 1632, [8:8] -isBlipping = bits, U32, 1632, [9:9] -useClosedLoop = bits, U32, 1632, [10:10] -badTps = bits, U32, 1632, [11:11] -looksLikeRunning = bits, U32, 1632, [12:12] -looksLikeCoasting = bits, U32, 1632, [13:13] -looksLikeCrankToIdle = bits, U32, 1632, [14:14] -isIdleCoasting = bits, U32, 1632, [15:15] -isIdleClosedLoop = bits, U32, 1632, [16:16] -idleTarget = scalar, S32, 1636, "", 1, 0 -targetRpmByClt = scalar, S32, 1640, "", 1, 0 -targetRpmAc = scalar, S32, 1644, "", 1, 0 -iacByRpmTaper = scalar, F32, 1648 -luaAdd = scalar, F32, 1652 -; total TS size = 1656 -etb1targetWithIdlePosition = scalar, F32, 1656, "%", 1,0 -etb1trim = scalar, F32, 1660, "", 1, 0 -etb1luaAdjustment = scalar, F32, 1664, "%", 1,0 -etb1m_wastegatePosition = scalar, F32, 1668, "%", 1,0 -etb1etbFeedForward = scalar, F32, 1672 -etb1etbIntegralError = scalar, F32, 1676, "", 1, 0 -etb1etbCurrentTarget = scalar, F32, 1680, "%", 1, 0 -etb1m_adjustedTarget = scalar, S16, 1684, "%", 0.01, 0 -etb1etbRevLimitActive = bits, U32, 1688, [0:0] -etb1jamDetected = bits, U32, 1688, [1:1] -etb1validPlantPosition = bits, U32, 1688, [2:2] -etb1etbTpsErrorCounter = scalar, U16, 1692, "count", 1,0 -etb1etbPpsErrorCounter = scalar, U16, 1694, "count", 1,0 -etb1etbErrorCode = scalar, S08, 1696, "", 1, 0 -etb1etbErrorCodeBlinker = scalar, S08, 1697, "", 1, 0 -etb1tcEtbDrop = scalar, S08, 1698, "%", 1, 0 -etb1jamTimer = scalar, U16, 1700, "sec", 0.01, 0 -etb1adjustedEtbTarget = scalar, S08, 1702, "%", 1, 0 -etb1state = scalar, U08, 1703, "", 1, 0 -; total TS size = 1704 -etb2targetWithIdlePosition = scalar, F32, 1704, "%", 1,0 -etb2trim = scalar, F32, 1708, "", 1, 0 -etb2luaAdjustment = scalar, F32, 1712, "%", 1,0 -etb2m_wastegatePosition = scalar, F32, 1716, "%", 1,0 -etb2etbFeedForward = scalar, F32, 1720 -etb2etbIntegralError = scalar, F32, 1724, "", 1, 0 -etb2etbCurrentTarget = scalar, F32, 1728, "%", 1, 0 -etb2m_adjustedTarget = scalar, S16, 1732, "%", 0.01, 0 -etb2etbRevLimitActive = bits, U32, 1736, [0:0] -etb2jamDetected = bits, U32, 1736, [1:1] -etb2validPlantPosition = bits, U32, 1736, [2:2] -etb2etbTpsErrorCounter = scalar, U16, 1740, "count", 1,0 -etb2etbPpsErrorCounter = scalar, U16, 1742, "count", 1,0 -etb2etbErrorCode = scalar, S08, 1744, "", 1, 0 -etb2etbErrorCodeBlinker = scalar, S08, 1745, "", 1, 0 -etb2tcEtbDrop = scalar, S08, 1746, "%", 1, 0 -etb2jamTimer = scalar, U16, 1748, "sec", 0.01, 0 -etb2adjustedEtbTarget = scalar, S08, 1750, "%", 1, 0 -etb2state = scalar, U08, 1751, "", 1, 0 -; total TS size = 1752 -wb1faultCode = scalar, U08, 1752, "", 1, 0 -wb1heaterDuty = scalar, U08, 1753, "%", 1, 0 -wb1pumpDuty = scalar, U08, 1754, "%", 1, 0 -wb1tempC = scalar, U16, 1756, "C", 1, 0 -wb1nernstVoltage = scalar, U16, 1758, "V", 0.001, 0 -wb1esr = scalar, U16, 1760, "ohm", 1, 0 -; total TS size = 1764 -wb2faultCode = scalar, U08, 1764, "", 1, 0 -wb2heaterDuty = scalar, U08, 1765, "%", 1, 0 -wb2pumpDuty = scalar, U08, 1766, "%", 1, 0 -wb2tempC = scalar, U16, 1768, "C", 1, 0 -wb2nernstVoltage = scalar, U16, 1770, "V", 0.001, 0 -wb2esr = scalar, U16, 1772, "ohm", 1, 0 -; total TS size = 1776 -dcOutput0 = scalar, F32, 1776, "%", 1,0 -isEnabled0_int = scalar, U08, 1780, "%", 1,0 -isEnabled0 = bits, U32, 1784, [0:0] -; total TS size = 1788 -value0 = scalar, U16, 1788, "RAW", 1,0 -value1 = scalar, U16, 1790, "RAW", 1,0 -errorRate = scalar, F32, 1792, "% (don't belive me)", 1,0 -; total TS size = 1796 -vvtTarget = scalar, U16, 1796, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1798, "%", 0.5, 0 +isBenchTest = bits, U32, 1228, [0:0] +hasIgnitionVoltage = bits, U32, 1228, [1:1] +mainRelayState = bits, U32, 1228, [2:2] +delayedShutoffRequested = bits, U32, 1228, [3:3] +; total TS size = 1232 +lua_fuelAdd = scalar, F32, 1232, "g", 1, 0 +lua_fuelMult = scalar, F32, 1236, "", 1, 0 +lua_clutchUpState = bits, U32, 1240, [0:0] +lua_brakePedalState = bits, U32, 1240, [1:1] +lua_acRequestState = bits, U32, 1240, [2:2] +lua_luaDisableEtb = bits, U32, 1240, [3:3] +lua_luaIgnCut = bits, U32, 1240, [4:4] +lua_luaFuelCut = bits, U32, 1240, [5:5] +lua_clutchDownState = bits, U32, 1240, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1240, [7:7] +lua_torqueReductionState = bits, U32, 1240, [8:8] +sd_tCharge = scalar, S16, 1244, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1248, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1252, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1256, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1260, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1264, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1268, "", 1, 0 +hellenBoardId = scalar, S16, 1272, "id", 1, 0 +clutchUpState = scalar, S08, 1274, "", 1, 0 +brakePedalState = scalar, S08, 1275, "", 1, 0 +startStopState = scalar, S08, 1276, "", 1, 0 +smartChipState = scalar, S08, 1277, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1278, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1279, "", 1, 0 +startStopPhysicalState = bits, U32, 1280, [0:0] +acrActive = bits, U32, 1280, [1:1] +acrEngineMovedRecently = bits, U32, 1280, [2:2] +heaterControlEnabled = bits, U32, 1280, [3:3] +luaDigitalState0 = bits, U32, 1280, [4:4] +luaDigitalState1 = bits, U32, 1280, [5:5] +luaDigitalState2 = bits, U32, 1280, [6:6] +luaDigitalState3 = bits, U32, 1280, [7:7] +clutchDownState = bits, U32, 1280, [8:8] +startStopStateToggleCounter = scalar, U32, 1284, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1288, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1292, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1296, "", 1, 0 +fuelInjectionCounter = scalar, U32, 1300, "", 1, 0 +globalSparkCounter = scalar, U32, 1304, "", 1, 0 +fuelingLoad = scalar, F32, 1308, "", 1, 0 +ignitionLoad = scalar, F32, 1312, "", 1, 0 +veTableYAxis = scalar, U16, 1316, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1318, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1319, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1320, "", 1, 0 +; total TS size = 1324 +tpsFrom = scalar, F32, 1324 +tpsTo = scalar, F32, 1328 +deltaTps = scalar, F32, 1332 +extraFuel = scalar, F32, 1336, "", 1, 0 +valueFromTable = scalar, F32, 1340, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1344, [0:0] +isBelowDecelThreshold = bits, U32, 1344, [1:1] +isTimeToResetAccumulator = bits, U32, 1344, [2:2] +isFractionalEnrichment = bits, U32, 1344, [3:3] +belowEpsilon = bits, U32, 1344, [4:4] +tooShort = bits, U32, 1344, [5:5] +fractionalInjFuel = scalar, F32, 1348, "", 1, 0 +accumulatedValue = scalar, F32, 1352, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1356, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1360, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1364, "", 1, 0 +cycleCnt = scalar, S32, 1368, "", 1, 0 +; total TS size = 1372 +hwEventCounters1 = scalar, U16, 1372, "", 1, 0 +hwEventCounters2 = scalar, U16, 1374, "", 1, 0 +hwEventCounters3 = scalar, U16, 1376, "", 1, 0 +hwEventCounters4 = scalar, U16, 1378, "", 1, 0 +vvtCamCounter = scalar, U16, 1380, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1384, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1388, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1392, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1393, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1396, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1400, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1404, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1408, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1412, [0:0] +triggerElapsedUs = scalar, U32, 1416, "", 1, 0 +; total TS size = 1420 +trgsynchronizationCounter = scalar, U32, 1420, "", 1, 0 +trgvvtToothDurations0 = scalar, U32, 1424, "us", 1, 0 +trgvvtCurrentPosition = scalar, F32, 1428, "", 1, 0 +trgvvtToothPosition1 = scalar, F32, 1432, "", 1, 0 +trgvvtToothPosition2 = scalar, F32, 1436, "", 1, 0 +trgvvtToothPosition3 = scalar, F32, 1440, "", 1, 0 +trgvvtToothPosition4 = scalar, F32, 1444, "", 1, 0 +trgtriggerSyncGapRatio = scalar, F32, 1448, "", 1, 0 +trgtriggerStateIndex = scalar, U08, 1452, "", 1, 0 +; total TS size = 1456 +vvt1isynchronizationCounter = scalar, U32, 1456, "", 1, 0 +vvt1ivvtToothDurations0 = scalar, U32, 1460, "us", 1, 0 +vvt1ivvtCurrentPosition = scalar, F32, 1464, "", 1, 0 +vvt1ivvtToothPosition1 = scalar, F32, 1468, "", 1, 0 +vvt1ivvtToothPosition2 = scalar, F32, 1472, "", 1, 0 +vvt1ivvtToothPosition3 = scalar, F32, 1476, "", 1, 0 +vvt1ivvtToothPosition4 = scalar, F32, 1480, "", 1, 0 +vvt1itriggerSyncGapRatio = scalar, F32, 1484, "", 1, 0 +vvt1itriggerStateIndex = scalar, U08, 1488, "", 1, 0 +; total TS size = 1492 +vvt1esynchronizationCounter = scalar, U32, 1492, "", 1, 0 +vvt1evvtToothDurations0 = scalar, U32, 1496, "us", 1, 0 +vvt1evvtCurrentPosition = scalar, F32, 1500, "", 1, 0 +vvt1evvtToothPosition1 = scalar, F32, 1504, "", 1, 0 +vvt1evvtToothPosition2 = scalar, F32, 1508, "", 1, 0 +vvt1evvtToothPosition3 = scalar, F32, 1512, "", 1, 0 +vvt1evvtToothPosition4 = scalar, F32, 1516, "", 1, 0 +vvt1etriggerSyncGapRatio = scalar, F32, 1520, "", 1, 0 +vvt1etriggerStateIndex = scalar, U08, 1524, "", 1, 0 +; total TS size = 1528 +vvt2isynchronizationCounter = scalar, U32, 1528, "", 1, 0 +vvt2ivvtToothDurations0 = scalar, U32, 1532, "us", 1, 0 +vvt2ivvtCurrentPosition = scalar, F32, 1536, "", 1, 0 +vvt2ivvtToothPosition1 = scalar, F32, 1540, "", 1, 0 +vvt2ivvtToothPosition2 = scalar, F32, 1544, "", 1, 0 +vvt2ivvtToothPosition3 = scalar, F32, 1548, "", 1, 0 +vvt2ivvtToothPosition4 = scalar, F32, 1552, "", 1, 0 +vvt2itriggerSyncGapRatio = scalar, F32, 1556, "", 1, 0 +vvt2itriggerStateIndex = scalar, U08, 1560, "", 1, 0 +; total TS size = 1564 +vvt2esynchronizationCounter = scalar, U32, 1564, "", 1, 0 +vvt2evvtToothDurations0 = scalar, U32, 1568, "us", 1, 0 +vvt2evvtCurrentPosition = scalar, F32, 1572, "", 1, 0 +vvt2evvtToothPosition1 = scalar, F32, 1576, "", 1, 0 +vvt2evvtToothPosition2 = scalar, F32, 1580, "", 1, 0 +vvt2evvtToothPosition3 = scalar, F32, 1584, "", 1, 0 +vvt2evvtToothPosition4 = scalar, F32, 1588, "", 1, 0 +vvt2etriggerSyncGapRatio = scalar, F32, 1592, "", 1, 0 +vvt2etriggerStateIndex = scalar, U08, 1596, "", 1, 0 +; total TS size = 1600 +camResyncCounter = scalar, U08, 1600, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1604, [0:0] +; total TS size = 1608 +wallFuelCorrection = scalar, F32, 1608, "", 1, 0 +wallFuel = scalar, F32, 1612, "", 1, 0 +; total TS size = 1616 +idleState = bits, S32, 1616, [0:2], "not important" +currentIdlePosition = scalar, F32, 1620 +baseIdlePosition = scalar, F32, 1624 +idleClosedLoop = scalar, F32, 1628 +iacByTpsTaper = scalar, F32, 1632 +mightResetPid = bits, U32, 1636, [0:0] +shouldResetPid = bits, U32, 1636, [1:1] +wasResetPid = bits, U32, 1636, [2:2] +mustResetPid = bits, U32, 1636, [3:3] +isCranking = bits, U32, 1636, [4:4] +isIacTableForCoasting = bits, U32, 1636, [5:5] +notIdling = bits, U32, 1636, [6:6] +needReset = bits, U32, 1636, [7:7] +isInDeadZone = bits, U32, 1636, [8:8] +isBlipping = bits, U32, 1636, [9:9] +useClosedLoop = bits, U32, 1636, [10:10] +badTps = bits, U32, 1636, [11:11] +looksLikeRunning = bits, U32, 1636, [12:12] +looksLikeCoasting = bits, U32, 1636, [13:13] +looksLikeCrankToIdle = bits, U32, 1636, [14:14] +isIdleCoasting = bits, U32, 1636, [15:15] +isIdleClosedLoop = bits, U32, 1636, [16:16] +idleTarget = scalar, S32, 1640, "", 1, 0 +targetRpmByClt = scalar, S32, 1644, "", 1, 0 +targetRpmAc = scalar, S32, 1648, "", 1, 0 +iacByRpmTaper = scalar, F32, 1652 +luaAdd = scalar, F32, 1656 +; total TS size = 1660 +etb1targetWithIdlePosition = scalar, F32, 1660, "%", 1,0 +etb1trim = scalar, F32, 1664, "", 1, 0 +etb1luaAdjustment = scalar, F32, 1668, "%", 1,0 +etb1m_wastegatePosition = scalar, F32, 1672, "%", 1,0 +etb1etbFeedForward = scalar, F32, 1676 +etb1etbIntegralError = scalar, F32, 1680, "", 1, 0 +etb1etbCurrentTarget = scalar, F32, 1684, "%", 1, 0 +etb1m_adjustedTarget = scalar, S16, 1688, "%", 0.01, 0 +etb1etbRevLimitActive = bits, U32, 1692, [0:0] +etb1jamDetected = bits, U32, 1692, [1:1] +etb1validPlantPosition = bits, U32, 1692, [2:2] +etb1etbTpsErrorCounter = scalar, U16, 1696, "count", 1,0 +etb1etbPpsErrorCounter = scalar, U16, 1698, "count", 1,0 +etb1etbErrorCode = scalar, S08, 1700, "", 1, 0 +etb1etbErrorCodeBlinker = scalar, S08, 1701, "", 1, 0 +etb1tcEtbDrop = scalar, S08, 1702, "%", 1, 0 +etb1jamTimer = scalar, U16, 1704, "sec", 0.01, 0 +etb1adjustedEtbTarget = scalar, S08, 1706, "%", 1, 0 +etb1state = scalar, U08, 1707, "", 1, 0 +; total TS size = 1708 +etb2targetWithIdlePosition = scalar, F32, 1708, "%", 1,0 +etb2trim = scalar, F32, 1712, "", 1, 0 +etb2luaAdjustment = scalar, F32, 1716, "%", 1,0 +etb2m_wastegatePosition = scalar, F32, 1720, "%", 1,0 +etb2etbFeedForward = scalar, F32, 1724 +etb2etbIntegralError = scalar, F32, 1728, "", 1, 0 +etb2etbCurrentTarget = scalar, F32, 1732, "%", 1, 0 +etb2m_adjustedTarget = scalar, S16, 1736, "%", 0.01, 0 +etb2etbRevLimitActive = bits, U32, 1740, [0:0] +etb2jamDetected = bits, U32, 1740, [1:1] +etb2validPlantPosition = bits, U32, 1740, [2:2] +etb2etbTpsErrorCounter = scalar, U16, 1744, "count", 1,0 +etb2etbPpsErrorCounter = scalar, U16, 1746, "count", 1,0 +etb2etbErrorCode = scalar, S08, 1748, "", 1, 0 +etb2etbErrorCodeBlinker = scalar, S08, 1749, "", 1, 0 +etb2tcEtbDrop = scalar, S08, 1750, "%", 1, 0 +etb2jamTimer = scalar, U16, 1752, "sec", 0.01, 0 +etb2adjustedEtbTarget = scalar, S08, 1754, "%", 1, 0 +etb2state = scalar, U08, 1755, "", 1, 0 +; total TS size = 1756 +wb1faultCode = scalar, U08, 1756, "", 1, 0 +wb1heaterDuty = scalar, U08, 1757, "%", 1, 0 +wb1pumpDuty = scalar, U08, 1758, "%", 1, 0 +wb1tempC = scalar, U16, 1760, "C", 1, 0 +wb1nernstVoltage = scalar, U16, 1762, "V", 0.001, 0 +wb1esr = scalar, U16, 1764, "ohm", 1, 0 +; total TS size = 1768 +wb2faultCode = scalar, U08, 1768, "", 1, 0 +wb2heaterDuty = scalar, U08, 1769, "%", 1, 0 +wb2pumpDuty = scalar, U08, 1770, "%", 1, 0 +wb2tempC = scalar, U16, 1772, "C", 1, 0 +wb2nernstVoltage = scalar, U16, 1774, "V", 0.001, 0 +wb2esr = scalar, U16, 1776, "ohm", 1, 0 +; total TS size = 1780 +dcOutput0 = scalar, F32, 1780, "%", 1,0 +isEnabled0_int = scalar, U08, 1784, "%", 1,0 +isEnabled0 = bits, U32, 1788, [0:0] +; total TS size = 1792 +value0 = scalar, U16, 1792, "RAW", 1,0 +value1 = scalar, U16, 1794, "RAW", 1,0 +errorRate = scalar, F32, 1796, "% (don't belive me)", 1,0 ; total TS size = 1800 -lambdaCurrentlyGood = bits, U32, 1800, [0:0] -lambdaMonitorCut = bits, U32, 1800, [1:1] -lambdaTimeSinceGood = scalar, U16, 1804, "sec", 0.01, 0 -; total TS size = 1808 +vvtTarget = scalar, U16, 1800, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1802, "%", 0.5, 0 +; total TS size = 1804 +lambdaCurrentlyGood = bits, U32, 1804, [0:0] +lambdaMonitorCut = bits, U32, 1804, [1:1] +lambdaTimeSinceGood = scalar, U16, 1808, "sec", 0.01, 0 +; total TS size = 1812 time = { timeNow } @@ -4584,6 +4587,12 @@ curve = rangeMatrix, "Range Switch Input Matrix" gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. upDownLabel = "(RICHER)", "(LEANER)" + table = trailingSparkTable, trailingSparkMap, "Trailing spark", 1 + xyLabels = "RPM", "Ignition Load" + xBins = trailingSparkRpmBins, RPMValue + yBins = trailingSparkLoadBins, ignitionLoad + zBins = trailingSparkTable + table = torqueTableTbl, torqueTableMap, "Engine Torque", 1 xBins = torqueRpmBins, RPMValue yBins = torqueLoadBins, veTableYAxis @@ -4881,6 +4890,7 @@ timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20 timingPidCorrectionGauge = timingPidCorrection,"Idle: Timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 +trailingSparkAngleGauge = trailingSparkAngle,"Ign: Trailing spark deg", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 gaugeCategory = "Boost Control" luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 @@ -5811,6 +5821,7 @@ entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" entry = luaIgnitionSkip, "Ign: Lua Spark Skip", int, "%d" +entry = trailingSparkAngle, "Ign: Trailing spark deg", float, "%.3f" entry = m_knockLevel, "Knock: Current level", float, "%.3f" entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" @@ -6759,6 +6770,7 @@ dialog = ignition_stateDialog, "ignition_state" graphLine = luaTimingAdd liveGraph = ignition_state_4_Graph, "Graph", South graphLine = luaTimingMult + graphLine = trailingSparkAngle dialog = knock_controllerDialog, "knock_controller" @@ -10095,11 +10107,11 @@ dialog = tcuControls, "Transmission Settings" dialog = rotaryDialog, "Rotary" field = "Enable Trailing Sparks", enableTrailingSparks - field = "Trailing Spark Offset", trailingSparkAngle field = "Trailing Pin 1", trailingCoilPins1 field = "Trailing Pin 2", trailingCoilPins2 field = "Trailing Pin 3", trailingCoilPins3 field = "Trailing Pin 4", trailingCoilPins4 + panel = trailingSparkTable diff --git a/firmware/tunerstudio/generated/rusefi_proteus_f4.ini b/firmware/tunerstudio/generated/rusefi_proteus_f4.ini index c6c78a0cd5..0ce1e01c46 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.2025.02.07.proteus_f4.1063564502" + signature = "rusEFI master.2025.02.07.proteus_f4.3102161851" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2025.02.07.proteus_f4.1063564502" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2025.02.07.proteus_f4.3102161851" ; 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 @@ -101,7 +101,7 @@ enable2ndByteCanID = false ; CONFIG_DEFINITION_START ; this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt -pageSize = 28780 +pageSize = 28804 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",22="BMW_M52",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",21="ET_BOSCH_QUICK_START",24="ET_TEST_WITH_BOSCH_QUICK_START",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",41="FRANKENSO_MIATA_NA6_MAP",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",47="GM_LCV",55="GM_LTG",98="GM_SBC",49="GM_SBC_GEN5",8="GY6_139QMB",6="HARLEY",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",34="MAZDA_MIATA_NA6",80="MAZDA_MIATA_NA94",10="MAZDA_MIATA_NA96",83="MAZDA_MIATA_NB1",69="MAZDA_MIATA_NB2",86="MAZDA_MIATA_NB2_36",20="MAZDA_MIATA_NC",33="ME17_9_MISC",68="MERCEDES_M111",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",4="MRE_SECONDARY_CAN",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",35="POLARIS",9="POLARIS_RZR",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",27="PROTEUS_GM_LS_4",25="PROTEUS_LUA_DEMO",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",17="TCU_4R70W",100="TEST_100",101="TEST_101",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",93="TEST_ISSUE_6451",19="TEST_ROTARY",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",102="UNUSED102",67="UNUSED67",94="UNUSED94",65="UNUSED_65",97="UNUSED_97",77="VAG_5_CYL",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -245,7 +245,7 @@ vbattAdcChannel = bits, U08, 513, [0:5], $adc_channel_e_list fuelLevelSensor = bits, U08, 514, [0:5], $adc_channel_e_list tps2_1AdcChannel = bits, U08, 515, [0:5], $adc_channel_e_list idle_derivativeFilterLoss = scalar, F32, 516, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 520, "angle", 1, 0, 0, 720, 0 +unusedTrailingSparkAngle = scalar, S32, 520, "", 1, 0, 0, 100, 0 trigger_type = bits, U32, 524, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Daihatsu 3 cylinder", "Mazda SOHC 4", "60-2", "36-1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "Dodge Ram 1+16", "60-2 Wrong Polarity", "Benelli Tre", "Dodge Stratus", "36_2_2_2", "Nissan Primera", "dev 2JZ 3/34 simulator", "Rover K", "GM 24x 5 degree", "Honda CBR 600 Cam", "INVALID", "Honda CBR 600 custom", "3-1 skipped", "Dodge Neon 2003 crank", "Miata NB", "INVALID", "INVALID", "Subaru 7+6", "Jeep 18-2-2-2", "12crank/24cam", "Dodge Neon 1995 crank only", "Jeep XJ 4 cyl", "FiatIAQ_P8", "Mazda Z5", "INVALID", "Renix 44-2-2", "Renix 66-2-2-2", "Honda K 12+1", "INVALID", "36-2", "Subaru SVX", "Suzuki K6A", "Subaru 7 without 6", "INVALID", "INVALID", "GM 60-2-2-2", "Skoda Favorit", "Barra 3+1 Cam", "Kawa KX450F", "Nissan VQ35", "INVALID", "Nissan VQ30", "Nissan QR25", "INVALID", "Subaru SVX Crank 1", "Subaru SVX Cam VVT", "Ford PIP", "Suzuki G13B", "Honda K 4+1", "Nissan MR18 Crank", "32-2", "36-2-1", "36-2-1-1", "3-0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6-0", "Daihatsu 4 cylinder", "INVALID", "dev", "Nissan HR", "Arctic Cat", "HR12 in", "HONDA J30A2", "trg88", "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" trigger_customTotalToothCount = scalar, S32, 528, "number", 1, 0, 1, 300, 0 trigger_customSkippedToothCount = scalar, S32, 532, "number", 1, 0, 0, 300, 0 @@ -1796,7 +1796,10 @@ dynoCarCarMassKg = scalar, S16, 28768, "", 1, 0, 0, 32000, 0 dynoCarCargoMassKg = scalar, S16, 28770, "", 1, 0, 0, 32000, 0 dynoCarCoeffOfDrag = scalar, F32, 28772, "", 1, 0, 0, 100, 0 dynoCarFrontalAreaM2 = scalar, F32, 28776, "", 1, 0, 0, 100, 0 -; total TS size = 28780 +trailingSparkTable = array, S08, 28780, [4x4], "deg", 0.1, 0, 0, 20, 1 +trailingSparkRpmBins = array, U08, 28796, [4], "rpm", 50.0, 0, 0, 12000, 0 +trailingSparkLoadBins = array, U08, 28800, [4], "Load", 5.0, 0, 0, 1000, 0 +; total TS size = 28804 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1890,7 +1893,6 @@ dynoCarFrontalAreaM2 = scalar, F32, 28776, "", 1, 0, 0, 100, 0 fuelLevelSensor = "This is the processor pin that your fuel level sensor in connected to. This is a non standard input so will need to be user defined." tps2_1AdcChannel = "Second throttle body position sensor, single channel so far" idle_derivativeFilterLoss = "0.1 is a good default value" - trailingSparkAngle = "just a temporary solution" trigger_type = "https://github.com/rusefi/rusefi/wiki/All-Supported-Triggers" airByRpmTaper = "Extra air taper amount" boostControlSafeDutyCycle = "Duty cycle to use in case of a sensor failure. This duty cycle should produce the minimum possible amount of boost. This duty is also used in case any of the minimum RPM/TPS/MAP conditions are not met." @@ -2664,7 +2666,7 @@ dynoCarFrontalAreaM2 = scalar, F32, 28776, "", 1, 0, 0, 100, 0 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1808 + ochBlockSize = 1812 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3189,417 +3191,418 @@ dwellVoltageCorrection = scalar, F32, 940, "", 1, 0 luaTimingAdd = scalar, F32, 944, "deg", 1, 0 luaTimingMult = scalar, F32, 948, "deg", 1, 0 luaIgnitionSkip = bits, U32, 952, [0:0] -; total TS size = 956 -m_knockLevel = scalar, F32, 956, "Volts", 1, 0 -m_knockCyl1 = scalar, S08, 960, "dBv", 1, 0 -m_knockCyl2 = scalar, S08, 961, "dBv", 1, 0 -m_knockCyl3 = scalar, S08, 962, "dBv", 1, 0 -m_knockCyl4 = scalar, S08, 963, "dBv", 1, 0 -m_knockCyl5 = scalar, S08, 964, "dBv", 1, 0 -m_knockCyl6 = scalar, S08, 965, "dBv", 1, 0 -m_knockCyl7 = scalar, S08, 966, "dBv", 1, 0 -m_knockCyl8 = scalar, S08, 967, "dBv", 1, 0 -m_knockCyl9 = scalar, S08, 968, "dBv", 1, 0 -m_knockCyl10 = scalar, S08, 969, "dBv", 1, 0 -m_knockCyl11 = scalar, S08, 970, "dBv", 1, 0 -m_knockCyl12 = scalar, S08, 971, "dBv", 1, 0 -m_knockRetard = scalar, F32, 972, "deg", 1,0 -m_knockThreshold = scalar, F32, 976, "", 1, 0 -m_knockCount = scalar, U32, 980, "", 1, 0 -m_maximumRetard = scalar, F32, 984, "", 1, 0 -m_knockSpectrum1 = scalar, U32, 988, "compressed data", 1, 0 -m_knockSpectrum2 = scalar, U32, 992, "compressed data", 1, 0 -m_knockSpectrum3 = scalar, U32, 996, "compressed data", 1, 0 -m_knockSpectrum4 = scalar, U32, 1000, "compressed data", 1, 0 -m_knockSpectrum5 = scalar, U32, 1004, "compressed data", 1, 0 -m_knockSpectrum6 = scalar, U32, 1008, "compressed data", 1, 0 -m_knockSpectrum7 = scalar, U32, 1012, "compressed data", 1, 0 -m_knockSpectrum8 = scalar, U32, 1016, "compressed data", 1, 0 -m_knockSpectrum9 = scalar, U32, 1020, "compressed data", 1, 0 -m_knockSpectrum10 = scalar, U32, 1024, "compressed data", 1, 0 -m_knockSpectrum11 = scalar, U32, 1028, "compressed data", 1, 0 -m_knockSpectrum12 = scalar, U32, 1032, "compressed data", 1, 0 -m_knockSpectrum13 = scalar, U32, 1036, "compressed data", 1, 0 -m_knockSpectrum14 = scalar, U32, 1040, "compressed data", 1, 0 -m_knockSpectrum15 = scalar, U32, 1044, "compressed data", 1, 0 -m_knockSpectrum16 = scalar, U32, 1048, "compressed data", 1, 0 -m_knockSpectrumChannelCyl = scalar, U16, 1052, "compressed N + N", 1, 0 -m_knockFrequencyStart = scalar, U16, 1054, "Hz", 1, 0 -m_knockFrequencyStep = scalar, F32, 1056, "Hz", 1, 0 -m_knockFuelTrimMultiplier = scalar, F32, 1060, "multiplier", 1, 0 -; total TS size = 1064 -m_isPriming = bits, U32, 1064, [0:0] +trailingSparkAngle = scalar, S16, 956, "deg", 0.01,0 +; total TS size = 960 +m_knockLevel = scalar, F32, 960, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 964, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 965, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 966, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 967, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 968, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 969, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 970, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 971, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 972, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 973, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 974, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 975, "dBv", 1, 0 +m_knockRetard = scalar, F32, 976, "deg", 1,0 +m_knockThreshold = scalar, F32, 980, "", 1, 0 +m_knockCount = scalar, U32, 984, "", 1, 0 +m_maximumRetard = scalar, F32, 988, "", 1, 0 +m_knockSpectrum1 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1040, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1044, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1048, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1052, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1056, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1058, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1060, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1064, "multiplier", 1, 0 ; total TS size = 1068 -tcuCurrentGear = scalar, S08, 1068, "gear", 1, 0 -tcRatio = scalar, U16, 1070, "value", 0.01, 0 -lastShiftTime = scalar, F32, 1072, "", 1, 0 -tcu_currentRange = scalar, U08, 1076, "", 1, 0 -pressureControlDuty = scalar, S08, 1077, "%", 1,0 -torqueConverterDuty = scalar, S08, 1078, "%", 1,0 -isShifting = bits, U32, 1080, [0:0] -; total TS size = 1084 -throttleUseWotModel = bits, U32, 1084, [0:0] -throttleModelCrossoverAngle = scalar, S16, 1088, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1092, "g/s", 1, 0 -; total TS size = 1096 -m_requested_pump = scalar, F32, 1096, "", 1, 0 -fuel_requested_percent = scalar, F32, 1100, "%", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1104, "", 1, 0 -noValve = bits, U32, 1108, [0:0] -angleAboveMin = bits, U32, 1108, [1:1] -isHpfpActive = bits, U32, 1108, [2:2] -HpfpValveState = bits, U32, 1108, [3:3] -m_pressureTarget_kPa = scalar, F32, 1112, "", 1, 0 -nextLobe = scalar, F32, 1116, "", 1, 0 -di_nextStart = scalar, F32, 1120, "v", 1, 0 -HpfdActivationPhase = scalar, F32, 1124, "", 1, 0 -HpfdDeactivationPhase = scalar, F32, 1128, "", 1, 0 -; total TS size = 1132 -m_deadtime = scalar, F32, 1132, "ms", 1, 0 -pressureDelta = scalar, F32, 1136, "kPa", 1, 0 -pressureRatio = scalar, F32, 1140, "", 1, 0 -; total TS size = 1144 -retardThresholdRpm = scalar, S32, 1144, "", 1, 0 -launchActivatePinState = bits, U32, 1148, [0:0] -isPreLaunchCondition = bits, U32, 1148, [1:1] -isLaunchCondition = bits, U32, 1148, [2:2] -isSwitchActivated = bits, U32, 1148, [3:3] -isClutchActivated = bits, U32, 1148, [4:4] -isBrakePedalActivated = bits, U32, 1148, [5:5] -isValidInputPin = bits, U32, 1148, [6:6] -activateSwitchCondition = bits, U32, 1148, [7:7] -rpmLaunchCondition = bits, U32, 1148, [8:8] -rpmPreLaunchCondition = bits, U32, 1148, [9:9] -speedCondition = bits, U32, 1148, [10:10] -tpsCondition = bits, U32, 1148, [11:11] -; total TS size = 1152 -isTorqueReductionTriggerPinValid = bits, U32, 1152, [0:0] -torqueReductionTriggerPinState = bits, U32, 1152, [1:1] -isTimeConditionSatisfied = bits, U32, 1152, [2:2] -isRpmConditionSatisfied = bits, U32, 1152, [3:3] -isAppConditionSatisfied = bits, U32, 1152, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1152, [5:5] +m_isPriming = bits, U32, 1068, [0:0] +; total TS size = 1072 +tcuCurrentGear = scalar, S08, 1072, "gear", 1, 0 +tcRatio = scalar, U16, 1074, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1076, "", 1, 0 +tcu_currentRange = scalar, U08, 1080, "", 1, 0 +pressureControlDuty = scalar, S08, 1081, "%", 1,0 +torqueConverterDuty = scalar, S08, 1082, "%", 1,0 +isShifting = bits, U32, 1084, [0:0] +; total TS size = 1088 +throttleUseWotModel = bits, U32, 1088, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1092, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1096, "g/s", 1, 0 +; total TS size = 1100 +m_requested_pump = scalar, F32, 1100, "", 1, 0 +fuel_requested_percent = scalar, F32, 1104, "%", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1108, "", 1, 0 +noValve = bits, U32, 1112, [0:0] +angleAboveMin = bits, U32, 1112, [1:1] +isHpfpActive = bits, U32, 1112, [2:2] +HpfpValveState = bits, U32, 1112, [3:3] +m_pressureTarget_kPa = scalar, F32, 1116, "", 1, 0 +nextLobe = scalar, F32, 1120, "", 1, 0 +di_nextStart = scalar, F32, 1124, "v", 1, 0 +HpfdActivationPhase = scalar, F32, 1128, "", 1, 0 +HpfdDeactivationPhase = scalar, F32, 1132, "", 1, 0 +; total TS size = 1136 +m_deadtime = scalar, F32, 1136, "ms", 1, 0 +pressureDelta = scalar, F32, 1140, "kPa", 1, 0 +pressureRatio = scalar, F32, 1144, "", 1, 0 +; total TS size = 1148 +retardThresholdRpm = scalar, S32, 1148, "", 1, 0 +launchActivatePinState = bits, U32, 1152, [0:0] +isPreLaunchCondition = bits, U32, 1152, [1:1] +isLaunchCondition = bits, U32, 1152, [2:2] +isSwitchActivated = bits, U32, 1152, [3:3] +isClutchActivated = bits, U32, 1152, [4:4] +isBrakePedalActivated = bits, U32, 1152, [5:5] +isValidInputPin = bits, U32, 1152, [6:6] +activateSwitchCondition = bits, U32, 1152, [7:7] +rpmLaunchCondition = bits, U32, 1152, [8:8] +rpmPreLaunchCondition = bits, U32, 1152, [9:9] +speedCondition = bits, U32, 1152, [10:10] +tpsCondition = bits, U32, 1152, [11:11] ; total TS size = 1156 -isAntilagCondition = bits, U32, 1156, [0:0] -ALSMinRPMCondition = bits, U32, 1156, [1:1] -ALSMaxRPMCondition = bits, U32, 1156, [2:2] -ALSMinCLTCondition = bits, U32, 1156, [3:3] -ALSMaxCLTCondition = bits, U32, 1156, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1156, [5:5] -isALSSwitchActivated = bits, U32, 1156, [6:6] -ALSActivatePinState = bits, U32, 1156, [7:7] -ALSSwitchCondition = bits, U32, 1156, [8:8] -ALSTimerCondition = bits, U32, 1156, [9:9] -fuelALSCorrection = scalar, F32, 1160, "", 1, 0 -timingALSCorrection = scalar, S16, 1164, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1166, "deg", 0.01, 0 -; total TS size = 1168 -isTpsInvalid = bits, U32, 1168, [0:0] -m_shouldResetPid = bits, U32, 1168, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1168, [2:2] -isNotClosedLoop = bits, U32, 1168, [3:3] -isZeroRpm = bits, U32, 1168, [4:4] -hasInitBoost = bits, U32, 1168, [5:5] -rpmTooLow = bits, U32, 1168, [6:6] -tpsTooLow = bits, U32, 1168, [7:7] -mapTooLow = bits, U32, 1168, [8:8] -isPlantValid = bits, U32, 1168, [9:9] -isBoostControlled = bits, U32, 1168, [10:10] -luaTargetAdd = scalar, S16, 1172, "v", 0.5,0 -boostOutput = scalar, S16, 1174, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1176, "v", 1,0 -openLoopPart = scalar, F32, 1180, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1184, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1188, "%", 0.5,0 -boostControlTarget = scalar, S16, 1190, "kPa", 0.03333333333333333,0 -; total TS size = 1192 -acButtonState = scalar, S08, 1192, "", 1, 0 -m_acEnabled = bits, U32, 1196, [0:0] -engineTooSlow = bits, U32, 1196, [1:1] -engineTooFast = bits, U32, 1196, [2:2] -noClt = bits, U32, 1196, [3:3] -engineTooHot = bits, U32, 1196, [4:4] -tpsTooHigh = bits, U32, 1196, [5:5] -isDisabledByLua = bits, U32, 1196, [6:6] -acCompressorState = bits, U32, 1196, [7:7] -acPressureTooLow = bits, U32, 1196, [8:8] -acPressureTooHigh = bits, U32, 1196, [9:9] -; total TS size = 1200 -isNitrousArmed = bits, U32, 1200, [0:0] -isNitrousSpeedCondition = bits, U32, 1200, [1:1] -isNitrousTpsCondition = bits, U32, 1200, [2:2] -isNitrousCltCondition = bits, U32, 1200, [3:3] -isNitrousMapCondition = bits, U32, 1200, [4:4] -isNitrousAfrCondition = bits, U32, 1200, [5:5] -isNitrousRpmCondition = bits, U32, 1200, [6:6] -isNitrousCondition = bits, U32, 1200, [7:7] +isTorqueReductionTriggerPinValid = bits, U32, 1156, [0:0] +torqueReductionTriggerPinState = bits, U32, 1156, [1:1] +isTimeConditionSatisfied = bits, U32, 1156, [2:2] +isRpmConditionSatisfied = bits, U32, 1156, [3:3] +isAppConditionSatisfied = bits, U32, 1156, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1156, [5:5] +; total TS size = 1160 +isAntilagCondition = bits, U32, 1160, [0:0] +ALSMinRPMCondition = bits, U32, 1160, [1:1] +ALSMaxRPMCondition = bits, U32, 1160, [2:2] +ALSMinCLTCondition = bits, U32, 1160, [3:3] +ALSMaxCLTCondition = bits, U32, 1160, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1160, [5:5] +isALSSwitchActivated = bits, U32, 1160, [6:6] +ALSActivatePinState = bits, U32, 1160, [7:7] +ALSSwitchCondition = bits, U32, 1160, [8:8] +ALSTimerCondition = bits, U32, 1160, [9:9] +fuelALSCorrection = scalar, F32, 1164, "", 1, 0 +timingALSCorrection = scalar, S16, 1168, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1170, "deg", 0.01, 0 +; total TS size = 1172 +isTpsInvalid = bits, U32, 1172, [0:0] +m_shouldResetPid = bits, U32, 1172, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1172, [2:2] +isNotClosedLoop = bits, U32, 1172, [3:3] +isZeroRpm = bits, U32, 1172, [4:4] +hasInitBoost = bits, U32, 1172, [5:5] +rpmTooLow = bits, U32, 1172, [6:6] +tpsTooLow = bits, U32, 1172, [7:7] +mapTooLow = bits, U32, 1172, [8:8] +isPlantValid = bits, U32, 1172, [9:9] +isBoostControlled = bits, U32, 1172, [10:10] +luaTargetAdd = scalar, S16, 1176, "v", 0.5,0 +boostOutput = scalar, S16, 1178, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1180, "v", 1,0 +openLoopPart = scalar, F32, 1184, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1188, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1192, "%", 0.5,0 +boostControlTarget = scalar, S16, 1194, "kPa", 0.03333333333333333,0 +; total TS size = 1196 +acButtonState = scalar, S08, 1196, "", 1, 0 +m_acEnabled = bits, U32, 1200, [0:0] +engineTooSlow = bits, U32, 1200, [1:1] +engineTooFast = bits, U32, 1200, [2:2] +noClt = bits, U32, 1200, [3:3] +engineTooHot = bits, U32, 1200, [4:4] +tpsTooHigh = bits, U32, 1200, [5:5] +isDisabledByLua = bits, U32, 1200, [6:6] +acCompressorState = bits, U32, 1200, [7:7] +acPressureTooLow = bits, U32, 1200, [8:8] +acPressureTooHigh = bits, U32, 1200, [9:9] ; total TS size = 1204 -fan1cranking = bits, U32, 1204, [0:0] -fan1notRunning = bits, U32, 1204, [1:1] -fan1disabledWhileEngineStopped = bits, U32, 1204, [2:2] -fan1brokenClt = bits, U32, 1204, [3:3] -fan1enabledForAc = bits, U32, 1204, [4:4] -fan1hot = bits, U32, 1204, [5:5] -fan1cold = bits, U32, 1204, [6:6] -fan1disabledBySpeed = bits, U32, 1204, [7:7] -fan1m_state = bits, U32, 1204, [8:8] -fan1radiatorFanStatus = scalar, U08, 1208, "", 1, 0 -; total TS size = 1212 -fan2cranking = bits, U32, 1212, [0:0] -fan2notRunning = bits, U32, 1212, [1:1] -fan2disabledWhileEngineStopped = bits, U32, 1212, [2:2] -fan2brokenClt = bits, U32, 1212, [3:3] -fan2enabledForAc = bits, U32, 1212, [4:4] -fan2hot = bits, U32, 1212, [5:5] -fan2cold = bits, U32, 1212, [6:6] -fan2disabledBySpeed = bits, U32, 1212, [7:7] -fan2m_state = bits, U32, 1212, [8:8] -fan2radiatorFanStatus = scalar, U08, 1216, "", 1, 0 -; total TS size = 1220 -isPrime = bits, U32, 1220, [0:0] -engineTurnedRecently = bits, U32, 1220, [1:1] -isFuelPumpOn = bits, U32, 1220, [2:2] -ignitionOn = bits, U32, 1220, [3:3] +isNitrousArmed = bits, U32, 1204, [0:0] +isNitrousSpeedCondition = bits, U32, 1204, [1:1] +isNitrousTpsCondition = bits, U32, 1204, [2:2] +isNitrousCltCondition = bits, U32, 1204, [3:3] +isNitrousMapCondition = bits, U32, 1204, [4:4] +isNitrousAfrCondition = bits, U32, 1204, [5:5] +isNitrousRpmCondition = bits, U32, 1204, [6:6] +isNitrousCondition = bits, U32, 1204, [7:7] +; total TS size = 1208 +fan1cranking = bits, U32, 1208, [0:0] +fan1notRunning = bits, U32, 1208, [1:1] +fan1disabledWhileEngineStopped = bits, U32, 1208, [2:2] +fan1brokenClt = bits, U32, 1208, [3:3] +fan1enabledForAc = bits, U32, 1208, [4:4] +fan1hot = bits, U32, 1208, [5:5] +fan1cold = bits, U32, 1208, [6:6] +fan1disabledBySpeed = bits, U32, 1208, [7:7] +fan1m_state = bits, U32, 1208, [8:8] +fan1radiatorFanStatus = scalar, U08, 1212, "", 1, 0 +; total TS size = 1216 +fan2cranking = bits, U32, 1216, [0:0] +fan2notRunning = bits, U32, 1216, [1:1] +fan2disabledWhileEngineStopped = bits, U32, 1216, [2:2] +fan2brokenClt = bits, U32, 1216, [3:3] +fan2enabledForAc = bits, U32, 1216, [4:4] +fan2hot = bits, U32, 1216, [5:5] +fan2cold = bits, U32, 1216, [6:6] +fan2disabledBySpeed = bits, U32, 1216, [7:7] +fan2m_state = bits, U32, 1216, [8:8] +fan2radiatorFanStatus = scalar, U08, 1220, "", 1, 0 ; total TS size = 1224 -isBenchTest = bits, U32, 1224, [0:0] -hasIgnitionVoltage = bits, U32, 1224, [1:1] -mainRelayState = bits, U32, 1224, [2:2] -delayedShutoffRequested = bits, U32, 1224, [3:3] +isPrime = bits, U32, 1224, [0:0] +engineTurnedRecently = bits, U32, 1224, [1:1] +isFuelPumpOn = bits, U32, 1224, [2:2] +ignitionOn = bits, U32, 1224, [3:3] ; total TS size = 1228 -lua_fuelAdd = scalar, F32, 1228, "g", 1, 0 -lua_fuelMult = scalar, F32, 1232, "", 1, 0 -lua_clutchUpState = bits, U32, 1236, [0:0] -lua_brakePedalState = bits, U32, 1236, [1:1] -lua_acRequestState = bits, U32, 1236, [2:2] -lua_luaDisableEtb = bits, U32, 1236, [3:3] -lua_luaIgnCut = bits, U32, 1236, [4:4] -lua_luaFuelCut = bits, U32, 1236, [5:5] -lua_clutchDownState = bits, U32, 1236, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1236, [7:7] -lua_torqueReductionState = bits, U32, 1236, [8:8] -sd_tCharge = scalar, S16, 1240, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1244, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1248, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1252, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1256, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1260, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1264, "", 1, 0 -hellenBoardId = scalar, S16, 1268, "id", 1, 0 -clutchUpState = scalar, S08, 1270, "", 1, 0 -brakePedalState = scalar, S08, 1271, "", 1, 0 -startStopState = scalar, S08, 1272, "", 1, 0 -smartChipState = scalar, S08, 1273, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1274, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1275, "", 1, 0 -startStopPhysicalState = bits, U32, 1276, [0:0] -acrActive = bits, U32, 1276, [1:1] -acrEngineMovedRecently = bits, U32, 1276, [2:2] -heaterControlEnabled = bits, U32, 1276, [3:3] -luaDigitalState0 = bits, U32, 1276, [4:4] -luaDigitalState1 = bits, U32, 1276, [5:5] -luaDigitalState2 = bits, U32, 1276, [6:6] -luaDigitalState3 = bits, U32, 1276, [7:7] -clutchDownState = bits, U32, 1276, [8:8] -startStopStateToggleCounter = scalar, U32, 1280, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1284, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1288, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1292, "", 1, 0 -fuelInjectionCounter = scalar, U32, 1296, "", 1, 0 -globalSparkCounter = scalar, U32, 1300, "", 1, 0 -fuelingLoad = scalar, F32, 1304, "", 1, 0 -ignitionLoad = scalar, F32, 1308, "", 1, 0 -veTableYAxis = scalar, U16, 1312, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1314, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1315, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1316, "", 1, 0 -; total TS size = 1320 -tpsFrom = scalar, F32, 1320 -tpsTo = scalar, F32, 1324 -deltaTps = scalar, F32, 1328 -extraFuel = scalar, F32, 1332, "", 1, 0 -valueFromTable = scalar, F32, 1336, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1340, [0:0] -isBelowDecelThreshold = bits, U32, 1340, [1:1] -isTimeToResetAccumulator = bits, U32, 1340, [2:2] -isFractionalEnrichment = bits, U32, 1340, [3:3] -belowEpsilon = bits, U32, 1340, [4:4] -tooShort = bits, U32, 1340, [5:5] -fractionalInjFuel = scalar, F32, 1344, "", 1, 0 -accumulatedValue = scalar, F32, 1348, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1352, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1356, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1360, "", 1, 0 -cycleCnt = scalar, S32, 1364, "", 1, 0 -; total TS size = 1368 -hwEventCounters1 = scalar, U16, 1368, "", 1, 0 -hwEventCounters2 = scalar, U16, 1370, "", 1, 0 -hwEventCounters3 = scalar, U16, 1372, "", 1, 0 -hwEventCounters4 = scalar, U16, 1374, "", 1, 0 -vvtCamCounter = scalar, U16, 1376, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1380, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1384, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1388, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1389, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1392, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1396, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1400, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1404, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1408, [0:0] -triggerElapsedUs = scalar, U32, 1412, "", 1, 0 -; total TS size = 1416 -trgsynchronizationCounter = scalar, U32, 1416, "", 1, 0 -trgvvtToothDurations0 = scalar, U32, 1420, "us", 1, 0 -trgvvtCurrentPosition = scalar, F32, 1424, "", 1, 0 -trgvvtToothPosition1 = scalar, F32, 1428, "", 1, 0 -trgvvtToothPosition2 = scalar, F32, 1432, "", 1, 0 -trgvvtToothPosition3 = scalar, F32, 1436, "", 1, 0 -trgvvtToothPosition4 = scalar, F32, 1440, "", 1, 0 -trgtriggerSyncGapRatio = scalar, F32, 1444, "", 1, 0 -trgtriggerStateIndex = scalar, U08, 1448, "", 1, 0 -; total TS size = 1452 -vvt1isynchronizationCounter = scalar, U32, 1452, "", 1, 0 -vvt1ivvtToothDurations0 = scalar, U32, 1456, "us", 1, 0 -vvt1ivvtCurrentPosition = scalar, F32, 1460, "", 1, 0 -vvt1ivvtToothPosition1 = scalar, F32, 1464, "", 1, 0 -vvt1ivvtToothPosition2 = scalar, F32, 1468, "", 1, 0 -vvt1ivvtToothPosition3 = scalar, F32, 1472, "", 1, 0 -vvt1ivvtToothPosition4 = scalar, F32, 1476, "", 1, 0 -vvt1itriggerSyncGapRatio = scalar, F32, 1480, "", 1, 0 -vvt1itriggerStateIndex = scalar, U08, 1484, "", 1, 0 -; total TS size = 1488 -vvt1esynchronizationCounter = scalar, U32, 1488, "", 1, 0 -vvt1evvtToothDurations0 = scalar, U32, 1492, "us", 1, 0 -vvt1evvtCurrentPosition = scalar, F32, 1496, "", 1, 0 -vvt1evvtToothPosition1 = scalar, F32, 1500, "", 1, 0 -vvt1evvtToothPosition2 = scalar, F32, 1504, "", 1, 0 -vvt1evvtToothPosition3 = scalar, F32, 1508, "", 1, 0 -vvt1evvtToothPosition4 = scalar, F32, 1512, "", 1, 0 -vvt1etriggerSyncGapRatio = scalar, F32, 1516, "", 1, 0 -vvt1etriggerStateIndex = scalar, U08, 1520, "", 1, 0 -; total TS size = 1524 -vvt2isynchronizationCounter = scalar, U32, 1524, "", 1, 0 -vvt2ivvtToothDurations0 = scalar, U32, 1528, "us", 1, 0 -vvt2ivvtCurrentPosition = scalar, F32, 1532, "", 1, 0 -vvt2ivvtToothPosition1 = scalar, F32, 1536, "", 1, 0 -vvt2ivvtToothPosition2 = scalar, F32, 1540, "", 1, 0 -vvt2ivvtToothPosition3 = scalar, F32, 1544, "", 1, 0 -vvt2ivvtToothPosition4 = scalar, F32, 1548, "", 1, 0 -vvt2itriggerSyncGapRatio = scalar, F32, 1552, "", 1, 0 -vvt2itriggerStateIndex = scalar, U08, 1556, "", 1, 0 -; total TS size = 1560 -vvt2esynchronizationCounter = scalar, U32, 1560, "", 1, 0 -vvt2evvtToothDurations0 = scalar, U32, 1564, "us", 1, 0 -vvt2evvtCurrentPosition = scalar, F32, 1568, "", 1, 0 -vvt2evvtToothPosition1 = scalar, F32, 1572, "", 1, 0 -vvt2evvtToothPosition2 = scalar, F32, 1576, "", 1, 0 -vvt2evvtToothPosition3 = scalar, F32, 1580, "", 1, 0 -vvt2evvtToothPosition4 = scalar, F32, 1584, "", 1, 0 -vvt2etriggerSyncGapRatio = scalar, F32, 1588, "", 1, 0 -vvt2etriggerStateIndex = scalar, U08, 1592, "", 1, 0 -; total TS size = 1596 -camResyncCounter = scalar, U08, 1596, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1600, [0:0] -; total TS size = 1604 -wallFuelCorrection = scalar, F32, 1604, "", 1, 0 -wallFuel = scalar, F32, 1608, "", 1, 0 -; total TS size = 1612 -idleState = bits, S32, 1612, [0:2], "not important" -currentIdlePosition = scalar, F32, 1616 -baseIdlePosition = scalar, F32, 1620 -idleClosedLoop = scalar, F32, 1624 -iacByTpsTaper = scalar, F32, 1628 -mightResetPid = bits, U32, 1632, [0:0] -shouldResetPid = bits, U32, 1632, [1:1] -wasResetPid = bits, U32, 1632, [2:2] -mustResetPid = bits, U32, 1632, [3:3] -isCranking = bits, U32, 1632, [4:4] -isIacTableForCoasting = bits, U32, 1632, [5:5] -notIdling = bits, U32, 1632, [6:6] -needReset = bits, U32, 1632, [7:7] -isInDeadZone = bits, U32, 1632, [8:8] -isBlipping = bits, U32, 1632, [9:9] -useClosedLoop = bits, U32, 1632, [10:10] -badTps = bits, U32, 1632, [11:11] -looksLikeRunning = bits, U32, 1632, [12:12] -looksLikeCoasting = bits, U32, 1632, [13:13] -looksLikeCrankToIdle = bits, U32, 1632, [14:14] -isIdleCoasting = bits, U32, 1632, [15:15] -isIdleClosedLoop = bits, U32, 1632, [16:16] -idleTarget = scalar, S32, 1636, "", 1, 0 -targetRpmByClt = scalar, S32, 1640, "", 1, 0 -targetRpmAc = scalar, S32, 1644, "", 1, 0 -iacByRpmTaper = scalar, F32, 1648 -luaAdd = scalar, F32, 1652 -; total TS size = 1656 -etb1targetWithIdlePosition = scalar, F32, 1656, "%", 1,0 -etb1trim = scalar, F32, 1660, "", 1, 0 -etb1luaAdjustment = scalar, F32, 1664, "%", 1,0 -etb1m_wastegatePosition = scalar, F32, 1668, "%", 1,0 -etb1etbFeedForward = scalar, F32, 1672 -etb1etbIntegralError = scalar, F32, 1676, "", 1, 0 -etb1etbCurrentTarget = scalar, F32, 1680, "%", 1, 0 -etb1m_adjustedTarget = scalar, S16, 1684, "%", 0.01, 0 -etb1etbRevLimitActive = bits, U32, 1688, [0:0] -etb1jamDetected = bits, U32, 1688, [1:1] -etb1validPlantPosition = bits, U32, 1688, [2:2] -etb1etbTpsErrorCounter = scalar, U16, 1692, "count", 1,0 -etb1etbPpsErrorCounter = scalar, U16, 1694, "count", 1,0 -etb1etbErrorCode = scalar, S08, 1696, "", 1, 0 -etb1etbErrorCodeBlinker = scalar, S08, 1697, "", 1, 0 -etb1tcEtbDrop = scalar, S08, 1698, "%", 1, 0 -etb1jamTimer = scalar, U16, 1700, "sec", 0.01, 0 -etb1adjustedEtbTarget = scalar, S08, 1702, "%", 1, 0 -etb1state = scalar, U08, 1703, "", 1, 0 -; total TS size = 1704 -etb2targetWithIdlePosition = scalar, F32, 1704, "%", 1,0 -etb2trim = scalar, F32, 1708, "", 1, 0 -etb2luaAdjustment = scalar, F32, 1712, "%", 1,0 -etb2m_wastegatePosition = scalar, F32, 1716, "%", 1,0 -etb2etbFeedForward = scalar, F32, 1720 -etb2etbIntegralError = scalar, F32, 1724, "", 1, 0 -etb2etbCurrentTarget = scalar, F32, 1728, "%", 1, 0 -etb2m_adjustedTarget = scalar, S16, 1732, "%", 0.01, 0 -etb2etbRevLimitActive = bits, U32, 1736, [0:0] -etb2jamDetected = bits, U32, 1736, [1:1] -etb2validPlantPosition = bits, U32, 1736, [2:2] -etb2etbTpsErrorCounter = scalar, U16, 1740, "count", 1,0 -etb2etbPpsErrorCounter = scalar, U16, 1742, "count", 1,0 -etb2etbErrorCode = scalar, S08, 1744, "", 1, 0 -etb2etbErrorCodeBlinker = scalar, S08, 1745, "", 1, 0 -etb2tcEtbDrop = scalar, S08, 1746, "%", 1, 0 -etb2jamTimer = scalar, U16, 1748, "sec", 0.01, 0 -etb2adjustedEtbTarget = scalar, S08, 1750, "%", 1, 0 -etb2state = scalar, U08, 1751, "", 1, 0 -; total TS size = 1752 -wb1faultCode = scalar, U08, 1752, "", 1, 0 -wb1heaterDuty = scalar, U08, 1753, "%", 1, 0 -wb1pumpDuty = scalar, U08, 1754, "%", 1, 0 -wb1tempC = scalar, U16, 1756, "C", 1, 0 -wb1nernstVoltage = scalar, U16, 1758, "V", 0.001, 0 -wb1esr = scalar, U16, 1760, "ohm", 1, 0 -; total TS size = 1764 -wb2faultCode = scalar, U08, 1764, "", 1, 0 -wb2heaterDuty = scalar, U08, 1765, "%", 1, 0 -wb2pumpDuty = scalar, U08, 1766, "%", 1, 0 -wb2tempC = scalar, U16, 1768, "C", 1, 0 -wb2nernstVoltage = scalar, U16, 1770, "V", 0.001, 0 -wb2esr = scalar, U16, 1772, "ohm", 1, 0 -; total TS size = 1776 -dcOutput0 = scalar, F32, 1776, "%", 1,0 -isEnabled0_int = scalar, U08, 1780, "%", 1,0 -isEnabled0 = bits, U32, 1784, [0:0] -; total TS size = 1788 -value0 = scalar, U16, 1788, "RAW", 1,0 -value1 = scalar, U16, 1790, "RAW", 1,0 -errorRate = scalar, F32, 1792, "% (don't belive me)", 1,0 -; total TS size = 1796 -vvtTarget = scalar, U16, 1796, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1798, "%", 0.5, 0 +isBenchTest = bits, U32, 1228, [0:0] +hasIgnitionVoltage = bits, U32, 1228, [1:1] +mainRelayState = bits, U32, 1228, [2:2] +delayedShutoffRequested = bits, U32, 1228, [3:3] +; total TS size = 1232 +lua_fuelAdd = scalar, F32, 1232, "g", 1, 0 +lua_fuelMult = scalar, F32, 1236, "", 1, 0 +lua_clutchUpState = bits, U32, 1240, [0:0] +lua_brakePedalState = bits, U32, 1240, [1:1] +lua_acRequestState = bits, U32, 1240, [2:2] +lua_luaDisableEtb = bits, U32, 1240, [3:3] +lua_luaIgnCut = bits, U32, 1240, [4:4] +lua_luaFuelCut = bits, U32, 1240, [5:5] +lua_clutchDownState = bits, U32, 1240, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1240, [7:7] +lua_torqueReductionState = bits, U32, 1240, [8:8] +sd_tCharge = scalar, S16, 1244, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1248, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1252, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1256, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1260, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1264, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1268, "", 1, 0 +hellenBoardId = scalar, S16, 1272, "id", 1, 0 +clutchUpState = scalar, S08, 1274, "", 1, 0 +brakePedalState = scalar, S08, 1275, "", 1, 0 +startStopState = scalar, S08, 1276, "", 1, 0 +smartChipState = scalar, S08, 1277, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1278, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1279, "", 1, 0 +startStopPhysicalState = bits, U32, 1280, [0:0] +acrActive = bits, U32, 1280, [1:1] +acrEngineMovedRecently = bits, U32, 1280, [2:2] +heaterControlEnabled = bits, U32, 1280, [3:3] +luaDigitalState0 = bits, U32, 1280, [4:4] +luaDigitalState1 = bits, U32, 1280, [5:5] +luaDigitalState2 = bits, U32, 1280, [6:6] +luaDigitalState3 = bits, U32, 1280, [7:7] +clutchDownState = bits, U32, 1280, [8:8] +startStopStateToggleCounter = scalar, U32, 1284, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1288, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1292, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1296, "", 1, 0 +fuelInjectionCounter = scalar, U32, 1300, "", 1, 0 +globalSparkCounter = scalar, U32, 1304, "", 1, 0 +fuelingLoad = scalar, F32, 1308, "", 1, 0 +ignitionLoad = scalar, F32, 1312, "", 1, 0 +veTableYAxis = scalar, U16, 1316, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1318, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1319, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1320, "", 1, 0 +; total TS size = 1324 +tpsFrom = scalar, F32, 1324 +tpsTo = scalar, F32, 1328 +deltaTps = scalar, F32, 1332 +extraFuel = scalar, F32, 1336, "", 1, 0 +valueFromTable = scalar, F32, 1340, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1344, [0:0] +isBelowDecelThreshold = bits, U32, 1344, [1:1] +isTimeToResetAccumulator = bits, U32, 1344, [2:2] +isFractionalEnrichment = bits, U32, 1344, [3:3] +belowEpsilon = bits, U32, 1344, [4:4] +tooShort = bits, U32, 1344, [5:5] +fractionalInjFuel = scalar, F32, 1348, "", 1, 0 +accumulatedValue = scalar, F32, 1352, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1356, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1360, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1364, "", 1, 0 +cycleCnt = scalar, S32, 1368, "", 1, 0 +; total TS size = 1372 +hwEventCounters1 = scalar, U16, 1372, "", 1, 0 +hwEventCounters2 = scalar, U16, 1374, "", 1, 0 +hwEventCounters3 = scalar, U16, 1376, "", 1, 0 +hwEventCounters4 = scalar, U16, 1378, "", 1, 0 +vvtCamCounter = scalar, U16, 1380, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1384, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1388, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1392, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1393, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1396, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1400, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1404, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1408, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1412, [0:0] +triggerElapsedUs = scalar, U32, 1416, "", 1, 0 +; total TS size = 1420 +trgsynchronizationCounter = scalar, U32, 1420, "", 1, 0 +trgvvtToothDurations0 = scalar, U32, 1424, "us", 1, 0 +trgvvtCurrentPosition = scalar, F32, 1428, "", 1, 0 +trgvvtToothPosition1 = scalar, F32, 1432, "", 1, 0 +trgvvtToothPosition2 = scalar, F32, 1436, "", 1, 0 +trgvvtToothPosition3 = scalar, F32, 1440, "", 1, 0 +trgvvtToothPosition4 = scalar, F32, 1444, "", 1, 0 +trgtriggerSyncGapRatio = scalar, F32, 1448, "", 1, 0 +trgtriggerStateIndex = scalar, U08, 1452, "", 1, 0 +; total TS size = 1456 +vvt1isynchronizationCounter = scalar, U32, 1456, "", 1, 0 +vvt1ivvtToothDurations0 = scalar, U32, 1460, "us", 1, 0 +vvt1ivvtCurrentPosition = scalar, F32, 1464, "", 1, 0 +vvt1ivvtToothPosition1 = scalar, F32, 1468, "", 1, 0 +vvt1ivvtToothPosition2 = scalar, F32, 1472, "", 1, 0 +vvt1ivvtToothPosition3 = scalar, F32, 1476, "", 1, 0 +vvt1ivvtToothPosition4 = scalar, F32, 1480, "", 1, 0 +vvt1itriggerSyncGapRatio = scalar, F32, 1484, "", 1, 0 +vvt1itriggerStateIndex = scalar, U08, 1488, "", 1, 0 +; total TS size = 1492 +vvt1esynchronizationCounter = scalar, U32, 1492, "", 1, 0 +vvt1evvtToothDurations0 = scalar, U32, 1496, "us", 1, 0 +vvt1evvtCurrentPosition = scalar, F32, 1500, "", 1, 0 +vvt1evvtToothPosition1 = scalar, F32, 1504, "", 1, 0 +vvt1evvtToothPosition2 = scalar, F32, 1508, "", 1, 0 +vvt1evvtToothPosition3 = scalar, F32, 1512, "", 1, 0 +vvt1evvtToothPosition4 = scalar, F32, 1516, "", 1, 0 +vvt1etriggerSyncGapRatio = scalar, F32, 1520, "", 1, 0 +vvt1etriggerStateIndex = scalar, U08, 1524, "", 1, 0 +; total TS size = 1528 +vvt2isynchronizationCounter = scalar, U32, 1528, "", 1, 0 +vvt2ivvtToothDurations0 = scalar, U32, 1532, "us", 1, 0 +vvt2ivvtCurrentPosition = scalar, F32, 1536, "", 1, 0 +vvt2ivvtToothPosition1 = scalar, F32, 1540, "", 1, 0 +vvt2ivvtToothPosition2 = scalar, F32, 1544, "", 1, 0 +vvt2ivvtToothPosition3 = scalar, F32, 1548, "", 1, 0 +vvt2ivvtToothPosition4 = scalar, F32, 1552, "", 1, 0 +vvt2itriggerSyncGapRatio = scalar, F32, 1556, "", 1, 0 +vvt2itriggerStateIndex = scalar, U08, 1560, "", 1, 0 +; total TS size = 1564 +vvt2esynchronizationCounter = scalar, U32, 1564, "", 1, 0 +vvt2evvtToothDurations0 = scalar, U32, 1568, "us", 1, 0 +vvt2evvtCurrentPosition = scalar, F32, 1572, "", 1, 0 +vvt2evvtToothPosition1 = scalar, F32, 1576, "", 1, 0 +vvt2evvtToothPosition2 = scalar, F32, 1580, "", 1, 0 +vvt2evvtToothPosition3 = scalar, F32, 1584, "", 1, 0 +vvt2evvtToothPosition4 = scalar, F32, 1588, "", 1, 0 +vvt2etriggerSyncGapRatio = scalar, F32, 1592, "", 1, 0 +vvt2etriggerStateIndex = scalar, U08, 1596, "", 1, 0 +; total TS size = 1600 +camResyncCounter = scalar, U08, 1600, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1604, [0:0] +; total TS size = 1608 +wallFuelCorrection = scalar, F32, 1608, "", 1, 0 +wallFuel = scalar, F32, 1612, "", 1, 0 +; total TS size = 1616 +idleState = bits, S32, 1616, [0:2], "not important" +currentIdlePosition = scalar, F32, 1620 +baseIdlePosition = scalar, F32, 1624 +idleClosedLoop = scalar, F32, 1628 +iacByTpsTaper = scalar, F32, 1632 +mightResetPid = bits, U32, 1636, [0:0] +shouldResetPid = bits, U32, 1636, [1:1] +wasResetPid = bits, U32, 1636, [2:2] +mustResetPid = bits, U32, 1636, [3:3] +isCranking = bits, U32, 1636, [4:4] +isIacTableForCoasting = bits, U32, 1636, [5:5] +notIdling = bits, U32, 1636, [6:6] +needReset = bits, U32, 1636, [7:7] +isInDeadZone = bits, U32, 1636, [8:8] +isBlipping = bits, U32, 1636, [9:9] +useClosedLoop = bits, U32, 1636, [10:10] +badTps = bits, U32, 1636, [11:11] +looksLikeRunning = bits, U32, 1636, [12:12] +looksLikeCoasting = bits, U32, 1636, [13:13] +looksLikeCrankToIdle = bits, U32, 1636, [14:14] +isIdleCoasting = bits, U32, 1636, [15:15] +isIdleClosedLoop = bits, U32, 1636, [16:16] +idleTarget = scalar, S32, 1640, "", 1, 0 +targetRpmByClt = scalar, S32, 1644, "", 1, 0 +targetRpmAc = scalar, S32, 1648, "", 1, 0 +iacByRpmTaper = scalar, F32, 1652 +luaAdd = scalar, F32, 1656 +; total TS size = 1660 +etb1targetWithIdlePosition = scalar, F32, 1660, "%", 1,0 +etb1trim = scalar, F32, 1664, "", 1, 0 +etb1luaAdjustment = scalar, F32, 1668, "%", 1,0 +etb1m_wastegatePosition = scalar, F32, 1672, "%", 1,0 +etb1etbFeedForward = scalar, F32, 1676 +etb1etbIntegralError = scalar, F32, 1680, "", 1, 0 +etb1etbCurrentTarget = scalar, F32, 1684, "%", 1, 0 +etb1m_adjustedTarget = scalar, S16, 1688, "%", 0.01, 0 +etb1etbRevLimitActive = bits, U32, 1692, [0:0] +etb1jamDetected = bits, U32, 1692, [1:1] +etb1validPlantPosition = bits, U32, 1692, [2:2] +etb1etbTpsErrorCounter = scalar, U16, 1696, "count", 1,0 +etb1etbPpsErrorCounter = scalar, U16, 1698, "count", 1,0 +etb1etbErrorCode = scalar, S08, 1700, "", 1, 0 +etb1etbErrorCodeBlinker = scalar, S08, 1701, "", 1, 0 +etb1tcEtbDrop = scalar, S08, 1702, "%", 1, 0 +etb1jamTimer = scalar, U16, 1704, "sec", 0.01, 0 +etb1adjustedEtbTarget = scalar, S08, 1706, "%", 1, 0 +etb1state = scalar, U08, 1707, "", 1, 0 +; total TS size = 1708 +etb2targetWithIdlePosition = scalar, F32, 1708, "%", 1,0 +etb2trim = scalar, F32, 1712, "", 1, 0 +etb2luaAdjustment = scalar, F32, 1716, "%", 1,0 +etb2m_wastegatePosition = scalar, F32, 1720, "%", 1,0 +etb2etbFeedForward = scalar, F32, 1724 +etb2etbIntegralError = scalar, F32, 1728, "", 1, 0 +etb2etbCurrentTarget = scalar, F32, 1732, "%", 1, 0 +etb2m_adjustedTarget = scalar, S16, 1736, "%", 0.01, 0 +etb2etbRevLimitActive = bits, U32, 1740, [0:0] +etb2jamDetected = bits, U32, 1740, [1:1] +etb2validPlantPosition = bits, U32, 1740, [2:2] +etb2etbTpsErrorCounter = scalar, U16, 1744, "count", 1,0 +etb2etbPpsErrorCounter = scalar, U16, 1746, "count", 1,0 +etb2etbErrorCode = scalar, S08, 1748, "", 1, 0 +etb2etbErrorCodeBlinker = scalar, S08, 1749, "", 1, 0 +etb2tcEtbDrop = scalar, S08, 1750, "%", 1, 0 +etb2jamTimer = scalar, U16, 1752, "sec", 0.01, 0 +etb2adjustedEtbTarget = scalar, S08, 1754, "%", 1, 0 +etb2state = scalar, U08, 1755, "", 1, 0 +; total TS size = 1756 +wb1faultCode = scalar, U08, 1756, "", 1, 0 +wb1heaterDuty = scalar, U08, 1757, "%", 1, 0 +wb1pumpDuty = scalar, U08, 1758, "%", 1, 0 +wb1tempC = scalar, U16, 1760, "C", 1, 0 +wb1nernstVoltage = scalar, U16, 1762, "V", 0.001, 0 +wb1esr = scalar, U16, 1764, "ohm", 1, 0 +; total TS size = 1768 +wb2faultCode = scalar, U08, 1768, "", 1, 0 +wb2heaterDuty = scalar, U08, 1769, "%", 1, 0 +wb2pumpDuty = scalar, U08, 1770, "%", 1, 0 +wb2tempC = scalar, U16, 1772, "C", 1, 0 +wb2nernstVoltage = scalar, U16, 1774, "V", 0.001, 0 +wb2esr = scalar, U16, 1776, "ohm", 1, 0 +; total TS size = 1780 +dcOutput0 = scalar, F32, 1780, "%", 1,0 +isEnabled0_int = scalar, U08, 1784, "%", 1,0 +isEnabled0 = bits, U32, 1788, [0:0] +; total TS size = 1792 +value0 = scalar, U16, 1792, "RAW", 1,0 +value1 = scalar, U16, 1794, "RAW", 1,0 +errorRate = scalar, F32, 1796, "% (don't belive me)", 1,0 ; total TS size = 1800 -lambdaCurrentlyGood = bits, U32, 1800, [0:0] -lambdaMonitorCut = bits, U32, 1800, [1:1] -lambdaTimeSinceGood = scalar, U16, 1804, "sec", 0.01, 0 -; total TS size = 1808 +vvtTarget = scalar, U16, 1800, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1802, "%", 0.5, 0 +; total TS size = 1804 +lambdaCurrentlyGood = bits, U32, 1804, [0:0] +lambdaMonitorCut = bits, U32, 1804, [1:1] +lambdaTimeSinceGood = scalar, U16, 1808, "sec", 0.01, 0 +; total TS size = 1812 time = { timeNow } @@ -4584,6 +4587,12 @@ curve = rangeMatrix, "Range Switch Input Matrix" gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. upDownLabel = "(RICHER)", "(LEANER)" + table = trailingSparkTable, trailingSparkMap, "Trailing spark", 1 + xyLabels = "RPM", "Ignition Load" + xBins = trailingSparkRpmBins, RPMValue + yBins = trailingSparkLoadBins, ignitionLoad + zBins = trailingSparkTable + table = torqueTableTbl, torqueTableMap, "Engine Torque", 1 xBins = torqueRpmBins, RPMValue yBins = torqueLoadBins, veTableYAxis @@ -4881,6 +4890,7 @@ timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20 timingPidCorrectionGauge = timingPidCorrection,"Idle: Timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 +trailingSparkAngleGauge = trailingSparkAngle,"Ign: Trailing spark deg", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 gaugeCategory = "Boost Control" luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 @@ -5812,6 +5822,7 @@ entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" entry = luaIgnitionSkip, "Ign: Lua Spark Skip", int, "%d" +entry = trailingSparkAngle, "Ign: Trailing spark deg", float, "%.3f" entry = m_knockLevel, "Knock: Current level", float, "%.3f" entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" @@ -6787,6 +6798,7 @@ dialog = ignition_stateDialog, "ignition_state" graphLine = luaTimingAdd liveGraph = ignition_state_4_Graph, "Graph", South graphLine = luaTimingMult + graphLine = trailingSparkAngle dialog = knock_controllerDialog, "knock_controller" @@ -10106,11 +10118,11 @@ commandButton = "Fuel Bench", cmd_set_engine_type_FUEL_BENCH dialog = rotaryDialog, "Rotary" field = "Enable Trailing Sparks", enableTrailingSparks - field = "Trailing Spark Offset", trailingSparkAngle field = "Trailing Pin 1", trailingCoilPins1 field = "Trailing Pin 2", trailingCoilPins2 field = "Trailing Pin 3", trailingCoilPins3 field = "Trailing Pin 4", trailingCoilPins4 + panel = trailingSparkTable diff --git a/firmware/tunerstudio/generated/rusefi_proteus_f7.ini b/firmware/tunerstudio/generated/rusefi_proteus_f7.ini index fcc6b0e512..3b5b30c163 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.2025.02.07.proteus_f7.1063564502" + signature = "rusEFI master.2025.02.07.proteus_f7.3102161851" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2025.02.07.proteus_f7.1063564502" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2025.02.07.proteus_f7.3102161851" ; 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 @@ -101,7 +101,7 @@ enable2ndByteCanID = false ; CONFIG_DEFINITION_START ; this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt -pageSize = 28780 +pageSize = 28804 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",22="BMW_M52",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",21="ET_BOSCH_QUICK_START",24="ET_TEST_WITH_BOSCH_QUICK_START",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",41="FRANKENSO_MIATA_NA6_MAP",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",47="GM_LCV",55="GM_LTG",98="GM_SBC",49="GM_SBC_GEN5",8="GY6_139QMB",6="HARLEY",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",34="MAZDA_MIATA_NA6",80="MAZDA_MIATA_NA94",10="MAZDA_MIATA_NA96",83="MAZDA_MIATA_NB1",69="MAZDA_MIATA_NB2",86="MAZDA_MIATA_NB2_36",20="MAZDA_MIATA_NC",33="ME17_9_MISC",68="MERCEDES_M111",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",4="MRE_SECONDARY_CAN",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",35="POLARIS",9="POLARIS_RZR",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",27="PROTEUS_GM_LS_4",25="PROTEUS_LUA_DEMO",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",17="TCU_4R70W",100="TEST_100",101="TEST_101",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",93="TEST_ISSUE_6451",19="TEST_ROTARY",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",102="UNUSED102",67="UNUSED67",94="UNUSED94",65="UNUSED_65",97="UNUSED_97",77="VAG_5_CYL",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -245,7 +245,7 @@ vbattAdcChannel = bits, U08, 513, [0:5], $adc_channel_e_list fuelLevelSensor = bits, U08, 514, [0:5], $adc_channel_e_list tps2_1AdcChannel = bits, U08, 515, [0:5], $adc_channel_e_list idle_derivativeFilterLoss = scalar, F32, 516, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 520, "angle", 1, 0, 0, 720, 0 +unusedTrailingSparkAngle = scalar, S32, 520, "", 1, 0, 0, 100, 0 trigger_type = bits, U32, 524, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Daihatsu 3 cylinder", "Mazda SOHC 4", "60-2", "36-1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "Dodge Ram 1+16", "60-2 Wrong Polarity", "Benelli Tre", "Dodge Stratus", "36_2_2_2", "Nissan Primera", "dev 2JZ 3/34 simulator", "Rover K", "GM 24x 5 degree", "Honda CBR 600 Cam", "INVALID", "Honda CBR 600 custom", "3-1 skipped", "Dodge Neon 2003 crank", "Miata NB", "INVALID", "INVALID", "Subaru 7+6", "Jeep 18-2-2-2", "12crank/24cam", "Dodge Neon 1995 crank only", "Jeep XJ 4 cyl", "FiatIAQ_P8", "Mazda Z5", "INVALID", "Renix 44-2-2", "Renix 66-2-2-2", "Honda K 12+1", "INVALID", "36-2", "Subaru SVX", "Suzuki K6A", "Subaru 7 without 6", "INVALID", "INVALID", "GM 60-2-2-2", "Skoda Favorit", "Barra 3+1 Cam", "Kawa KX450F", "Nissan VQ35", "INVALID", "Nissan VQ30", "Nissan QR25", "INVALID", "Subaru SVX Crank 1", "Subaru SVX Cam VVT", "Ford PIP", "Suzuki G13B", "Honda K 4+1", "Nissan MR18 Crank", "32-2", "36-2-1", "36-2-1-1", "3-0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6-0", "Daihatsu 4 cylinder", "INVALID", "dev", "Nissan HR", "Arctic Cat", "HR12 in", "HONDA J30A2", "trg88", "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" trigger_customTotalToothCount = scalar, S32, 528, "number", 1, 0, 1, 300, 0 trigger_customSkippedToothCount = scalar, S32, 532, "number", 1, 0, 0, 300, 0 @@ -1796,7 +1796,10 @@ dynoCarCarMassKg = scalar, S16, 28768, "", 1, 0, 0, 32000, 0 dynoCarCargoMassKg = scalar, S16, 28770, "", 1, 0, 0, 32000, 0 dynoCarCoeffOfDrag = scalar, F32, 28772, "", 1, 0, 0, 100, 0 dynoCarFrontalAreaM2 = scalar, F32, 28776, "", 1, 0, 0, 100, 0 -; total TS size = 28780 +trailingSparkTable = array, S08, 28780, [4x4], "deg", 0.1, 0, 0, 20, 1 +trailingSparkRpmBins = array, U08, 28796, [4], "rpm", 50.0, 0, 0, 12000, 0 +trailingSparkLoadBins = array, U08, 28800, [4], "Load", 5.0, 0, 0, 1000, 0 +; total TS size = 28804 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1890,7 +1893,6 @@ dynoCarFrontalAreaM2 = scalar, F32, 28776, "", 1, 0, 0, 100, 0 fuelLevelSensor = "This is the processor pin that your fuel level sensor in connected to. This is a non standard input so will need to be user defined." tps2_1AdcChannel = "Second throttle body position sensor, single channel so far" idle_derivativeFilterLoss = "0.1 is a good default value" - trailingSparkAngle = "just a temporary solution" trigger_type = "https://github.com/rusefi/rusefi/wiki/All-Supported-Triggers" airByRpmTaper = "Extra air taper amount" boostControlSafeDutyCycle = "Duty cycle to use in case of a sensor failure. This duty cycle should produce the minimum possible amount of boost. This duty is also used in case any of the minimum RPM/TPS/MAP conditions are not met." @@ -2664,7 +2666,7 @@ dynoCarFrontalAreaM2 = scalar, F32, 28776, "", 1, 0, 0, 100, 0 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1808 + ochBlockSize = 1812 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3189,417 +3191,418 @@ dwellVoltageCorrection = scalar, F32, 940, "", 1, 0 luaTimingAdd = scalar, F32, 944, "deg", 1, 0 luaTimingMult = scalar, F32, 948, "deg", 1, 0 luaIgnitionSkip = bits, U32, 952, [0:0] -; total TS size = 956 -m_knockLevel = scalar, F32, 956, "Volts", 1, 0 -m_knockCyl1 = scalar, S08, 960, "dBv", 1, 0 -m_knockCyl2 = scalar, S08, 961, "dBv", 1, 0 -m_knockCyl3 = scalar, S08, 962, "dBv", 1, 0 -m_knockCyl4 = scalar, S08, 963, "dBv", 1, 0 -m_knockCyl5 = scalar, S08, 964, "dBv", 1, 0 -m_knockCyl6 = scalar, S08, 965, "dBv", 1, 0 -m_knockCyl7 = scalar, S08, 966, "dBv", 1, 0 -m_knockCyl8 = scalar, S08, 967, "dBv", 1, 0 -m_knockCyl9 = scalar, S08, 968, "dBv", 1, 0 -m_knockCyl10 = scalar, S08, 969, "dBv", 1, 0 -m_knockCyl11 = scalar, S08, 970, "dBv", 1, 0 -m_knockCyl12 = scalar, S08, 971, "dBv", 1, 0 -m_knockRetard = scalar, F32, 972, "deg", 1,0 -m_knockThreshold = scalar, F32, 976, "", 1, 0 -m_knockCount = scalar, U32, 980, "", 1, 0 -m_maximumRetard = scalar, F32, 984, "", 1, 0 -m_knockSpectrum1 = scalar, U32, 988, "compressed data", 1, 0 -m_knockSpectrum2 = scalar, U32, 992, "compressed data", 1, 0 -m_knockSpectrum3 = scalar, U32, 996, "compressed data", 1, 0 -m_knockSpectrum4 = scalar, U32, 1000, "compressed data", 1, 0 -m_knockSpectrum5 = scalar, U32, 1004, "compressed data", 1, 0 -m_knockSpectrum6 = scalar, U32, 1008, "compressed data", 1, 0 -m_knockSpectrum7 = scalar, U32, 1012, "compressed data", 1, 0 -m_knockSpectrum8 = scalar, U32, 1016, "compressed data", 1, 0 -m_knockSpectrum9 = scalar, U32, 1020, "compressed data", 1, 0 -m_knockSpectrum10 = scalar, U32, 1024, "compressed data", 1, 0 -m_knockSpectrum11 = scalar, U32, 1028, "compressed data", 1, 0 -m_knockSpectrum12 = scalar, U32, 1032, "compressed data", 1, 0 -m_knockSpectrum13 = scalar, U32, 1036, "compressed data", 1, 0 -m_knockSpectrum14 = scalar, U32, 1040, "compressed data", 1, 0 -m_knockSpectrum15 = scalar, U32, 1044, "compressed data", 1, 0 -m_knockSpectrum16 = scalar, U32, 1048, "compressed data", 1, 0 -m_knockSpectrumChannelCyl = scalar, U16, 1052, "compressed N + N", 1, 0 -m_knockFrequencyStart = scalar, U16, 1054, "Hz", 1, 0 -m_knockFrequencyStep = scalar, F32, 1056, "Hz", 1, 0 -m_knockFuelTrimMultiplier = scalar, F32, 1060, "multiplier", 1, 0 -; total TS size = 1064 -m_isPriming = bits, U32, 1064, [0:0] +trailingSparkAngle = scalar, S16, 956, "deg", 0.01,0 +; total TS size = 960 +m_knockLevel = scalar, F32, 960, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 964, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 965, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 966, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 967, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 968, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 969, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 970, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 971, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 972, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 973, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 974, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 975, "dBv", 1, 0 +m_knockRetard = scalar, F32, 976, "deg", 1,0 +m_knockThreshold = scalar, F32, 980, "", 1, 0 +m_knockCount = scalar, U32, 984, "", 1, 0 +m_maximumRetard = scalar, F32, 988, "", 1, 0 +m_knockSpectrum1 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1040, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1044, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1048, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1052, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1056, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1058, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1060, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1064, "multiplier", 1, 0 ; total TS size = 1068 -tcuCurrentGear = scalar, S08, 1068, "gear", 1, 0 -tcRatio = scalar, U16, 1070, "value", 0.01, 0 -lastShiftTime = scalar, F32, 1072, "", 1, 0 -tcu_currentRange = scalar, U08, 1076, "", 1, 0 -pressureControlDuty = scalar, S08, 1077, "%", 1,0 -torqueConverterDuty = scalar, S08, 1078, "%", 1,0 -isShifting = bits, U32, 1080, [0:0] -; total TS size = 1084 -throttleUseWotModel = bits, U32, 1084, [0:0] -throttleModelCrossoverAngle = scalar, S16, 1088, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1092, "g/s", 1, 0 -; total TS size = 1096 -m_requested_pump = scalar, F32, 1096, "", 1, 0 -fuel_requested_percent = scalar, F32, 1100, "%", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1104, "", 1, 0 -noValve = bits, U32, 1108, [0:0] -angleAboveMin = bits, U32, 1108, [1:1] -isHpfpActive = bits, U32, 1108, [2:2] -HpfpValveState = bits, U32, 1108, [3:3] -m_pressureTarget_kPa = scalar, F32, 1112, "", 1, 0 -nextLobe = scalar, F32, 1116, "", 1, 0 -di_nextStart = scalar, F32, 1120, "v", 1, 0 -HpfdActivationPhase = scalar, F32, 1124, "", 1, 0 -HpfdDeactivationPhase = scalar, F32, 1128, "", 1, 0 -; total TS size = 1132 -m_deadtime = scalar, F32, 1132, "ms", 1, 0 -pressureDelta = scalar, F32, 1136, "kPa", 1, 0 -pressureRatio = scalar, F32, 1140, "", 1, 0 -; total TS size = 1144 -retardThresholdRpm = scalar, S32, 1144, "", 1, 0 -launchActivatePinState = bits, U32, 1148, [0:0] -isPreLaunchCondition = bits, U32, 1148, [1:1] -isLaunchCondition = bits, U32, 1148, [2:2] -isSwitchActivated = bits, U32, 1148, [3:3] -isClutchActivated = bits, U32, 1148, [4:4] -isBrakePedalActivated = bits, U32, 1148, [5:5] -isValidInputPin = bits, U32, 1148, [6:6] -activateSwitchCondition = bits, U32, 1148, [7:7] -rpmLaunchCondition = bits, U32, 1148, [8:8] -rpmPreLaunchCondition = bits, U32, 1148, [9:9] -speedCondition = bits, U32, 1148, [10:10] -tpsCondition = bits, U32, 1148, [11:11] -; total TS size = 1152 -isTorqueReductionTriggerPinValid = bits, U32, 1152, [0:0] -torqueReductionTriggerPinState = bits, U32, 1152, [1:1] -isTimeConditionSatisfied = bits, U32, 1152, [2:2] -isRpmConditionSatisfied = bits, U32, 1152, [3:3] -isAppConditionSatisfied = bits, U32, 1152, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1152, [5:5] +m_isPriming = bits, U32, 1068, [0:0] +; total TS size = 1072 +tcuCurrentGear = scalar, S08, 1072, "gear", 1, 0 +tcRatio = scalar, U16, 1074, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1076, "", 1, 0 +tcu_currentRange = scalar, U08, 1080, "", 1, 0 +pressureControlDuty = scalar, S08, 1081, "%", 1,0 +torqueConverterDuty = scalar, S08, 1082, "%", 1,0 +isShifting = bits, U32, 1084, [0:0] +; total TS size = 1088 +throttleUseWotModel = bits, U32, 1088, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1092, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1096, "g/s", 1, 0 +; total TS size = 1100 +m_requested_pump = scalar, F32, 1100, "", 1, 0 +fuel_requested_percent = scalar, F32, 1104, "%", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1108, "", 1, 0 +noValve = bits, U32, 1112, [0:0] +angleAboveMin = bits, U32, 1112, [1:1] +isHpfpActive = bits, U32, 1112, [2:2] +HpfpValveState = bits, U32, 1112, [3:3] +m_pressureTarget_kPa = scalar, F32, 1116, "", 1, 0 +nextLobe = scalar, F32, 1120, "", 1, 0 +di_nextStart = scalar, F32, 1124, "v", 1, 0 +HpfdActivationPhase = scalar, F32, 1128, "", 1, 0 +HpfdDeactivationPhase = scalar, F32, 1132, "", 1, 0 +; total TS size = 1136 +m_deadtime = scalar, F32, 1136, "ms", 1, 0 +pressureDelta = scalar, F32, 1140, "kPa", 1, 0 +pressureRatio = scalar, F32, 1144, "", 1, 0 +; total TS size = 1148 +retardThresholdRpm = scalar, S32, 1148, "", 1, 0 +launchActivatePinState = bits, U32, 1152, [0:0] +isPreLaunchCondition = bits, U32, 1152, [1:1] +isLaunchCondition = bits, U32, 1152, [2:2] +isSwitchActivated = bits, U32, 1152, [3:3] +isClutchActivated = bits, U32, 1152, [4:4] +isBrakePedalActivated = bits, U32, 1152, [5:5] +isValidInputPin = bits, U32, 1152, [6:6] +activateSwitchCondition = bits, U32, 1152, [7:7] +rpmLaunchCondition = bits, U32, 1152, [8:8] +rpmPreLaunchCondition = bits, U32, 1152, [9:9] +speedCondition = bits, U32, 1152, [10:10] +tpsCondition = bits, U32, 1152, [11:11] ; total TS size = 1156 -isAntilagCondition = bits, U32, 1156, [0:0] -ALSMinRPMCondition = bits, U32, 1156, [1:1] -ALSMaxRPMCondition = bits, U32, 1156, [2:2] -ALSMinCLTCondition = bits, U32, 1156, [3:3] -ALSMaxCLTCondition = bits, U32, 1156, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1156, [5:5] -isALSSwitchActivated = bits, U32, 1156, [6:6] -ALSActivatePinState = bits, U32, 1156, [7:7] -ALSSwitchCondition = bits, U32, 1156, [8:8] -ALSTimerCondition = bits, U32, 1156, [9:9] -fuelALSCorrection = scalar, F32, 1160, "", 1, 0 -timingALSCorrection = scalar, S16, 1164, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1166, "deg", 0.01, 0 -; total TS size = 1168 -isTpsInvalid = bits, U32, 1168, [0:0] -m_shouldResetPid = bits, U32, 1168, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1168, [2:2] -isNotClosedLoop = bits, U32, 1168, [3:3] -isZeroRpm = bits, U32, 1168, [4:4] -hasInitBoost = bits, U32, 1168, [5:5] -rpmTooLow = bits, U32, 1168, [6:6] -tpsTooLow = bits, U32, 1168, [7:7] -mapTooLow = bits, U32, 1168, [8:8] -isPlantValid = bits, U32, 1168, [9:9] -isBoostControlled = bits, U32, 1168, [10:10] -luaTargetAdd = scalar, S16, 1172, "v", 0.5,0 -boostOutput = scalar, S16, 1174, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1176, "v", 1,0 -openLoopPart = scalar, F32, 1180, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1184, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1188, "%", 0.5,0 -boostControlTarget = scalar, S16, 1190, "kPa", 0.03333333333333333,0 -; total TS size = 1192 -acButtonState = scalar, S08, 1192, "", 1, 0 -m_acEnabled = bits, U32, 1196, [0:0] -engineTooSlow = bits, U32, 1196, [1:1] -engineTooFast = bits, U32, 1196, [2:2] -noClt = bits, U32, 1196, [3:3] -engineTooHot = bits, U32, 1196, [4:4] -tpsTooHigh = bits, U32, 1196, [5:5] -isDisabledByLua = bits, U32, 1196, [6:6] -acCompressorState = bits, U32, 1196, [7:7] -acPressureTooLow = bits, U32, 1196, [8:8] -acPressureTooHigh = bits, U32, 1196, [9:9] -; total TS size = 1200 -isNitrousArmed = bits, U32, 1200, [0:0] -isNitrousSpeedCondition = bits, U32, 1200, [1:1] -isNitrousTpsCondition = bits, U32, 1200, [2:2] -isNitrousCltCondition = bits, U32, 1200, [3:3] -isNitrousMapCondition = bits, U32, 1200, [4:4] -isNitrousAfrCondition = bits, U32, 1200, [5:5] -isNitrousRpmCondition = bits, U32, 1200, [6:6] -isNitrousCondition = bits, U32, 1200, [7:7] +isTorqueReductionTriggerPinValid = bits, U32, 1156, [0:0] +torqueReductionTriggerPinState = bits, U32, 1156, [1:1] +isTimeConditionSatisfied = bits, U32, 1156, [2:2] +isRpmConditionSatisfied = bits, U32, 1156, [3:3] +isAppConditionSatisfied = bits, U32, 1156, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1156, [5:5] +; total TS size = 1160 +isAntilagCondition = bits, U32, 1160, [0:0] +ALSMinRPMCondition = bits, U32, 1160, [1:1] +ALSMaxRPMCondition = bits, U32, 1160, [2:2] +ALSMinCLTCondition = bits, U32, 1160, [3:3] +ALSMaxCLTCondition = bits, U32, 1160, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1160, [5:5] +isALSSwitchActivated = bits, U32, 1160, [6:6] +ALSActivatePinState = bits, U32, 1160, [7:7] +ALSSwitchCondition = bits, U32, 1160, [8:8] +ALSTimerCondition = bits, U32, 1160, [9:9] +fuelALSCorrection = scalar, F32, 1164, "", 1, 0 +timingALSCorrection = scalar, S16, 1168, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1170, "deg", 0.01, 0 +; total TS size = 1172 +isTpsInvalid = bits, U32, 1172, [0:0] +m_shouldResetPid = bits, U32, 1172, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1172, [2:2] +isNotClosedLoop = bits, U32, 1172, [3:3] +isZeroRpm = bits, U32, 1172, [4:4] +hasInitBoost = bits, U32, 1172, [5:5] +rpmTooLow = bits, U32, 1172, [6:6] +tpsTooLow = bits, U32, 1172, [7:7] +mapTooLow = bits, U32, 1172, [8:8] +isPlantValid = bits, U32, 1172, [9:9] +isBoostControlled = bits, U32, 1172, [10:10] +luaTargetAdd = scalar, S16, 1176, "v", 0.5,0 +boostOutput = scalar, S16, 1178, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1180, "v", 1,0 +openLoopPart = scalar, F32, 1184, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1188, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1192, "%", 0.5,0 +boostControlTarget = scalar, S16, 1194, "kPa", 0.03333333333333333,0 +; total TS size = 1196 +acButtonState = scalar, S08, 1196, "", 1, 0 +m_acEnabled = bits, U32, 1200, [0:0] +engineTooSlow = bits, U32, 1200, [1:1] +engineTooFast = bits, U32, 1200, [2:2] +noClt = bits, U32, 1200, [3:3] +engineTooHot = bits, U32, 1200, [4:4] +tpsTooHigh = bits, U32, 1200, [5:5] +isDisabledByLua = bits, U32, 1200, [6:6] +acCompressorState = bits, U32, 1200, [7:7] +acPressureTooLow = bits, U32, 1200, [8:8] +acPressureTooHigh = bits, U32, 1200, [9:9] ; total TS size = 1204 -fan1cranking = bits, U32, 1204, [0:0] -fan1notRunning = bits, U32, 1204, [1:1] -fan1disabledWhileEngineStopped = bits, U32, 1204, [2:2] -fan1brokenClt = bits, U32, 1204, [3:3] -fan1enabledForAc = bits, U32, 1204, [4:4] -fan1hot = bits, U32, 1204, [5:5] -fan1cold = bits, U32, 1204, [6:6] -fan1disabledBySpeed = bits, U32, 1204, [7:7] -fan1m_state = bits, U32, 1204, [8:8] -fan1radiatorFanStatus = scalar, U08, 1208, "", 1, 0 -; total TS size = 1212 -fan2cranking = bits, U32, 1212, [0:0] -fan2notRunning = bits, U32, 1212, [1:1] -fan2disabledWhileEngineStopped = bits, U32, 1212, [2:2] -fan2brokenClt = bits, U32, 1212, [3:3] -fan2enabledForAc = bits, U32, 1212, [4:4] -fan2hot = bits, U32, 1212, [5:5] -fan2cold = bits, U32, 1212, [6:6] -fan2disabledBySpeed = bits, U32, 1212, [7:7] -fan2m_state = bits, U32, 1212, [8:8] -fan2radiatorFanStatus = scalar, U08, 1216, "", 1, 0 -; total TS size = 1220 -isPrime = bits, U32, 1220, [0:0] -engineTurnedRecently = bits, U32, 1220, [1:1] -isFuelPumpOn = bits, U32, 1220, [2:2] -ignitionOn = bits, U32, 1220, [3:3] +isNitrousArmed = bits, U32, 1204, [0:0] +isNitrousSpeedCondition = bits, U32, 1204, [1:1] +isNitrousTpsCondition = bits, U32, 1204, [2:2] +isNitrousCltCondition = bits, U32, 1204, [3:3] +isNitrousMapCondition = bits, U32, 1204, [4:4] +isNitrousAfrCondition = bits, U32, 1204, [5:5] +isNitrousRpmCondition = bits, U32, 1204, [6:6] +isNitrousCondition = bits, U32, 1204, [7:7] +; total TS size = 1208 +fan1cranking = bits, U32, 1208, [0:0] +fan1notRunning = bits, U32, 1208, [1:1] +fan1disabledWhileEngineStopped = bits, U32, 1208, [2:2] +fan1brokenClt = bits, U32, 1208, [3:3] +fan1enabledForAc = bits, U32, 1208, [4:4] +fan1hot = bits, U32, 1208, [5:5] +fan1cold = bits, U32, 1208, [6:6] +fan1disabledBySpeed = bits, U32, 1208, [7:7] +fan1m_state = bits, U32, 1208, [8:8] +fan1radiatorFanStatus = scalar, U08, 1212, "", 1, 0 +; total TS size = 1216 +fan2cranking = bits, U32, 1216, [0:0] +fan2notRunning = bits, U32, 1216, [1:1] +fan2disabledWhileEngineStopped = bits, U32, 1216, [2:2] +fan2brokenClt = bits, U32, 1216, [3:3] +fan2enabledForAc = bits, U32, 1216, [4:4] +fan2hot = bits, U32, 1216, [5:5] +fan2cold = bits, U32, 1216, [6:6] +fan2disabledBySpeed = bits, U32, 1216, [7:7] +fan2m_state = bits, U32, 1216, [8:8] +fan2radiatorFanStatus = scalar, U08, 1220, "", 1, 0 ; total TS size = 1224 -isBenchTest = bits, U32, 1224, [0:0] -hasIgnitionVoltage = bits, U32, 1224, [1:1] -mainRelayState = bits, U32, 1224, [2:2] -delayedShutoffRequested = bits, U32, 1224, [3:3] +isPrime = bits, U32, 1224, [0:0] +engineTurnedRecently = bits, U32, 1224, [1:1] +isFuelPumpOn = bits, U32, 1224, [2:2] +ignitionOn = bits, U32, 1224, [3:3] ; total TS size = 1228 -lua_fuelAdd = scalar, F32, 1228, "g", 1, 0 -lua_fuelMult = scalar, F32, 1232, "", 1, 0 -lua_clutchUpState = bits, U32, 1236, [0:0] -lua_brakePedalState = bits, U32, 1236, [1:1] -lua_acRequestState = bits, U32, 1236, [2:2] -lua_luaDisableEtb = bits, U32, 1236, [3:3] -lua_luaIgnCut = bits, U32, 1236, [4:4] -lua_luaFuelCut = bits, U32, 1236, [5:5] -lua_clutchDownState = bits, U32, 1236, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1236, [7:7] -lua_torqueReductionState = bits, U32, 1236, [8:8] -sd_tCharge = scalar, S16, 1240, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1244, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1248, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1252, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1256, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1260, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1264, "", 1, 0 -hellenBoardId = scalar, S16, 1268, "id", 1, 0 -clutchUpState = scalar, S08, 1270, "", 1, 0 -brakePedalState = scalar, S08, 1271, "", 1, 0 -startStopState = scalar, S08, 1272, "", 1, 0 -smartChipState = scalar, S08, 1273, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1274, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1275, "", 1, 0 -startStopPhysicalState = bits, U32, 1276, [0:0] -acrActive = bits, U32, 1276, [1:1] -acrEngineMovedRecently = bits, U32, 1276, [2:2] -heaterControlEnabled = bits, U32, 1276, [3:3] -luaDigitalState0 = bits, U32, 1276, [4:4] -luaDigitalState1 = bits, U32, 1276, [5:5] -luaDigitalState2 = bits, U32, 1276, [6:6] -luaDigitalState3 = bits, U32, 1276, [7:7] -clutchDownState = bits, U32, 1276, [8:8] -startStopStateToggleCounter = scalar, U32, 1280, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1284, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1288, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1292, "", 1, 0 -fuelInjectionCounter = scalar, U32, 1296, "", 1, 0 -globalSparkCounter = scalar, U32, 1300, "", 1, 0 -fuelingLoad = scalar, F32, 1304, "", 1, 0 -ignitionLoad = scalar, F32, 1308, "", 1, 0 -veTableYAxis = scalar, U16, 1312, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1314, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1315, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1316, "", 1, 0 -; total TS size = 1320 -tpsFrom = scalar, F32, 1320 -tpsTo = scalar, F32, 1324 -deltaTps = scalar, F32, 1328 -extraFuel = scalar, F32, 1332, "", 1, 0 -valueFromTable = scalar, F32, 1336, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1340, [0:0] -isBelowDecelThreshold = bits, U32, 1340, [1:1] -isTimeToResetAccumulator = bits, U32, 1340, [2:2] -isFractionalEnrichment = bits, U32, 1340, [3:3] -belowEpsilon = bits, U32, 1340, [4:4] -tooShort = bits, U32, 1340, [5:5] -fractionalInjFuel = scalar, F32, 1344, "", 1, 0 -accumulatedValue = scalar, F32, 1348, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1352, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1356, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1360, "", 1, 0 -cycleCnt = scalar, S32, 1364, "", 1, 0 -; total TS size = 1368 -hwEventCounters1 = scalar, U16, 1368, "", 1, 0 -hwEventCounters2 = scalar, U16, 1370, "", 1, 0 -hwEventCounters3 = scalar, U16, 1372, "", 1, 0 -hwEventCounters4 = scalar, U16, 1374, "", 1, 0 -vvtCamCounter = scalar, U16, 1376, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1380, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1384, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1388, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1389, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1392, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1396, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1400, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1404, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1408, [0:0] -triggerElapsedUs = scalar, U32, 1412, "", 1, 0 -; total TS size = 1416 -trgsynchronizationCounter = scalar, U32, 1416, "", 1, 0 -trgvvtToothDurations0 = scalar, U32, 1420, "us", 1, 0 -trgvvtCurrentPosition = scalar, F32, 1424, "", 1, 0 -trgvvtToothPosition1 = scalar, F32, 1428, "", 1, 0 -trgvvtToothPosition2 = scalar, F32, 1432, "", 1, 0 -trgvvtToothPosition3 = scalar, F32, 1436, "", 1, 0 -trgvvtToothPosition4 = scalar, F32, 1440, "", 1, 0 -trgtriggerSyncGapRatio = scalar, F32, 1444, "", 1, 0 -trgtriggerStateIndex = scalar, U08, 1448, "", 1, 0 -; total TS size = 1452 -vvt1isynchronizationCounter = scalar, U32, 1452, "", 1, 0 -vvt1ivvtToothDurations0 = scalar, U32, 1456, "us", 1, 0 -vvt1ivvtCurrentPosition = scalar, F32, 1460, "", 1, 0 -vvt1ivvtToothPosition1 = scalar, F32, 1464, "", 1, 0 -vvt1ivvtToothPosition2 = scalar, F32, 1468, "", 1, 0 -vvt1ivvtToothPosition3 = scalar, F32, 1472, "", 1, 0 -vvt1ivvtToothPosition4 = scalar, F32, 1476, "", 1, 0 -vvt1itriggerSyncGapRatio = scalar, F32, 1480, "", 1, 0 -vvt1itriggerStateIndex = scalar, U08, 1484, "", 1, 0 -; total TS size = 1488 -vvt1esynchronizationCounter = scalar, U32, 1488, "", 1, 0 -vvt1evvtToothDurations0 = scalar, U32, 1492, "us", 1, 0 -vvt1evvtCurrentPosition = scalar, F32, 1496, "", 1, 0 -vvt1evvtToothPosition1 = scalar, F32, 1500, "", 1, 0 -vvt1evvtToothPosition2 = scalar, F32, 1504, "", 1, 0 -vvt1evvtToothPosition3 = scalar, F32, 1508, "", 1, 0 -vvt1evvtToothPosition4 = scalar, F32, 1512, "", 1, 0 -vvt1etriggerSyncGapRatio = scalar, F32, 1516, "", 1, 0 -vvt1etriggerStateIndex = scalar, U08, 1520, "", 1, 0 -; total TS size = 1524 -vvt2isynchronizationCounter = scalar, U32, 1524, "", 1, 0 -vvt2ivvtToothDurations0 = scalar, U32, 1528, "us", 1, 0 -vvt2ivvtCurrentPosition = scalar, F32, 1532, "", 1, 0 -vvt2ivvtToothPosition1 = scalar, F32, 1536, "", 1, 0 -vvt2ivvtToothPosition2 = scalar, F32, 1540, "", 1, 0 -vvt2ivvtToothPosition3 = scalar, F32, 1544, "", 1, 0 -vvt2ivvtToothPosition4 = scalar, F32, 1548, "", 1, 0 -vvt2itriggerSyncGapRatio = scalar, F32, 1552, "", 1, 0 -vvt2itriggerStateIndex = scalar, U08, 1556, "", 1, 0 -; total TS size = 1560 -vvt2esynchronizationCounter = scalar, U32, 1560, "", 1, 0 -vvt2evvtToothDurations0 = scalar, U32, 1564, "us", 1, 0 -vvt2evvtCurrentPosition = scalar, F32, 1568, "", 1, 0 -vvt2evvtToothPosition1 = scalar, F32, 1572, "", 1, 0 -vvt2evvtToothPosition2 = scalar, F32, 1576, "", 1, 0 -vvt2evvtToothPosition3 = scalar, F32, 1580, "", 1, 0 -vvt2evvtToothPosition4 = scalar, F32, 1584, "", 1, 0 -vvt2etriggerSyncGapRatio = scalar, F32, 1588, "", 1, 0 -vvt2etriggerStateIndex = scalar, U08, 1592, "", 1, 0 -; total TS size = 1596 -camResyncCounter = scalar, U08, 1596, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1600, [0:0] -; total TS size = 1604 -wallFuelCorrection = scalar, F32, 1604, "", 1, 0 -wallFuel = scalar, F32, 1608, "", 1, 0 -; total TS size = 1612 -idleState = bits, S32, 1612, [0:2], "not important" -currentIdlePosition = scalar, F32, 1616 -baseIdlePosition = scalar, F32, 1620 -idleClosedLoop = scalar, F32, 1624 -iacByTpsTaper = scalar, F32, 1628 -mightResetPid = bits, U32, 1632, [0:0] -shouldResetPid = bits, U32, 1632, [1:1] -wasResetPid = bits, U32, 1632, [2:2] -mustResetPid = bits, U32, 1632, [3:3] -isCranking = bits, U32, 1632, [4:4] -isIacTableForCoasting = bits, U32, 1632, [5:5] -notIdling = bits, U32, 1632, [6:6] -needReset = bits, U32, 1632, [7:7] -isInDeadZone = bits, U32, 1632, [8:8] -isBlipping = bits, U32, 1632, [9:9] -useClosedLoop = bits, U32, 1632, [10:10] -badTps = bits, U32, 1632, [11:11] -looksLikeRunning = bits, U32, 1632, [12:12] -looksLikeCoasting = bits, U32, 1632, [13:13] -looksLikeCrankToIdle = bits, U32, 1632, [14:14] -isIdleCoasting = bits, U32, 1632, [15:15] -isIdleClosedLoop = bits, U32, 1632, [16:16] -idleTarget = scalar, S32, 1636, "", 1, 0 -targetRpmByClt = scalar, S32, 1640, "", 1, 0 -targetRpmAc = scalar, S32, 1644, "", 1, 0 -iacByRpmTaper = scalar, F32, 1648 -luaAdd = scalar, F32, 1652 -; total TS size = 1656 -etb1targetWithIdlePosition = scalar, F32, 1656, "%", 1,0 -etb1trim = scalar, F32, 1660, "", 1, 0 -etb1luaAdjustment = scalar, F32, 1664, "%", 1,0 -etb1m_wastegatePosition = scalar, F32, 1668, "%", 1,0 -etb1etbFeedForward = scalar, F32, 1672 -etb1etbIntegralError = scalar, F32, 1676, "", 1, 0 -etb1etbCurrentTarget = scalar, F32, 1680, "%", 1, 0 -etb1m_adjustedTarget = scalar, S16, 1684, "%", 0.01, 0 -etb1etbRevLimitActive = bits, U32, 1688, [0:0] -etb1jamDetected = bits, U32, 1688, [1:1] -etb1validPlantPosition = bits, U32, 1688, [2:2] -etb1etbTpsErrorCounter = scalar, U16, 1692, "count", 1,0 -etb1etbPpsErrorCounter = scalar, U16, 1694, "count", 1,0 -etb1etbErrorCode = scalar, S08, 1696, "", 1, 0 -etb1etbErrorCodeBlinker = scalar, S08, 1697, "", 1, 0 -etb1tcEtbDrop = scalar, S08, 1698, "%", 1, 0 -etb1jamTimer = scalar, U16, 1700, "sec", 0.01, 0 -etb1adjustedEtbTarget = scalar, S08, 1702, "%", 1, 0 -etb1state = scalar, U08, 1703, "", 1, 0 -; total TS size = 1704 -etb2targetWithIdlePosition = scalar, F32, 1704, "%", 1,0 -etb2trim = scalar, F32, 1708, "", 1, 0 -etb2luaAdjustment = scalar, F32, 1712, "%", 1,0 -etb2m_wastegatePosition = scalar, F32, 1716, "%", 1,0 -etb2etbFeedForward = scalar, F32, 1720 -etb2etbIntegralError = scalar, F32, 1724, "", 1, 0 -etb2etbCurrentTarget = scalar, F32, 1728, "%", 1, 0 -etb2m_adjustedTarget = scalar, S16, 1732, "%", 0.01, 0 -etb2etbRevLimitActive = bits, U32, 1736, [0:0] -etb2jamDetected = bits, U32, 1736, [1:1] -etb2validPlantPosition = bits, U32, 1736, [2:2] -etb2etbTpsErrorCounter = scalar, U16, 1740, "count", 1,0 -etb2etbPpsErrorCounter = scalar, U16, 1742, "count", 1,0 -etb2etbErrorCode = scalar, S08, 1744, "", 1, 0 -etb2etbErrorCodeBlinker = scalar, S08, 1745, "", 1, 0 -etb2tcEtbDrop = scalar, S08, 1746, "%", 1, 0 -etb2jamTimer = scalar, U16, 1748, "sec", 0.01, 0 -etb2adjustedEtbTarget = scalar, S08, 1750, "%", 1, 0 -etb2state = scalar, U08, 1751, "", 1, 0 -; total TS size = 1752 -wb1faultCode = scalar, U08, 1752, "", 1, 0 -wb1heaterDuty = scalar, U08, 1753, "%", 1, 0 -wb1pumpDuty = scalar, U08, 1754, "%", 1, 0 -wb1tempC = scalar, U16, 1756, "C", 1, 0 -wb1nernstVoltage = scalar, U16, 1758, "V", 0.001, 0 -wb1esr = scalar, U16, 1760, "ohm", 1, 0 -; total TS size = 1764 -wb2faultCode = scalar, U08, 1764, "", 1, 0 -wb2heaterDuty = scalar, U08, 1765, "%", 1, 0 -wb2pumpDuty = scalar, U08, 1766, "%", 1, 0 -wb2tempC = scalar, U16, 1768, "C", 1, 0 -wb2nernstVoltage = scalar, U16, 1770, "V", 0.001, 0 -wb2esr = scalar, U16, 1772, "ohm", 1, 0 -; total TS size = 1776 -dcOutput0 = scalar, F32, 1776, "%", 1,0 -isEnabled0_int = scalar, U08, 1780, "%", 1,0 -isEnabled0 = bits, U32, 1784, [0:0] -; total TS size = 1788 -value0 = scalar, U16, 1788, "RAW", 1,0 -value1 = scalar, U16, 1790, "RAW", 1,0 -errorRate = scalar, F32, 1792, "% (don't belive me)", 1,0 -; total TS size = 1796 -vvtTarget = scalar, U16, 1796, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1798, "%", 0.5, 0 +isBenchTest = bits, U32, 1228, [0:0] +hasIgnitionVoltage = bits, U32, 1228, [1:1] +mainRelayState = bits, U32, 1228, [2:2] +delayedShutoffRequested = bits, U32, 1228, [3:3] +; total TS size = 1232 +lua_fuelAdd = scalar, F32, 1232, "g", 1, 0 +lua_fuelMult = scalar, F32, 1236, "", 1, 0 +lua_clutchUpState = bits, U32, 1240, [0:0] +lua_brakePedalState = bits, U32, 1240, [1:1] +lua_acRequestState = bits, U32, 1240, [2:2] +lua_luaDisableEtb = bits, U32, 1240, [3:3] +lua_luaIgnCut = bits, U32, 1240, [4:4] +lua_luaFuelCut = bits, U32, 1240, [5:5] +lua_clutchDownState = bits, U32, 1240, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1240, [7:7] +lua_torqueReductionState = bits, U32, 1240, [8:8] +sd_tCharge = scalar, S16, 1244, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1248, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1252, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1256, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1260, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1264, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1268, "", 1, 0 +hellenBoardId = scalar, S16, 1272, "id", 1, 0 +clutchUpState = scalar, S08, 1274, "", 1, 0 +brakePedalState = scalar, S08, 1275, "", 1, 0 +startStopState = scalar, S08, 1276, "", 1, 0 +smartChipState = scalar, S08, 1277, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1278, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1279, "", 1, 0 +startStopPhysicalState = bits, U32, 1280, [0:0] +acrActive = bits, U32, 1280, [1:1] +acrEngineMovedRecently = bits, U32, 1280, [2:2] +heaterControlEnabled = bits, U32, 1280, [3:3] +luaDigitalState0 = bits, U32, 1280, [4:4] +luaDigitalState1 = bits, U32, 1280, [5:5] +luaDigitalState2 = bits, U32, 1280, [6:6] +luaDigitalState3 = bits, U32, 1280, [7:7] +clutchDownState = bits, U32, 1280, [8:8] +startStopStateToggleCounter = scalar, U32, 1284, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1288, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1292, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1296, "", 1, 0 +fuelInjectionCounter = scalar, U32, 1300, "", 1, 0 +globalSparkCounter = scalar, U32, 1304, "", 1, 0 +fuelingLoad = scalar, F32, 1308, "", 1, 0 +ignitionLoad = scalar, F32, 1312, "", 1, 0 +veTableYAxis = scalar, U16, 1316, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1318, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1319, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1320, "", 1, 0 +; total TS size = 1324 +tpsFrom = scalar, F32, 1324 +tpsTo = scalar, F32, 1328 +deltaTps = scalar, F32, 1332 +extraFuel = scalar, F32, 1336, "", 1, 0 +valueFromTable = scalar, F32, 1340, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1344, [0:0] +isBelowDecelThreshold = bits, U32, 1344, [1:1] +isTimeToResetAccumulator = bits, U32, 1344, [2:2] +isFractionalEnrichment = bits, U32, 1344, [3:3] +belowEpsilon = bits, U32, 1344, [4:4] +tooShort = bits, U32, 1344, [5:5] +fractionalInjFuel = scalar, F32, 1348, "", 1, 0 +accumulatedValue = scalar, F32, 1352, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1356, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1360, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1364, "", 1, 0 +cycleCnt = scalar, S32, 1368, "", 1, 0 +; total TS size = 1372 +hwEventCounters1 = scalar, U16, 1372, "", 1, 0 +hwEventCounters2 = scalar, U16, 1374, "", 1, 0 +hwEventCounters3 = scalar, U16, 1376, "", 1, 0 +hwEventCounters4 = scalar, U16, 1378, "", 1, 0 +vvtCamCounter = scalar, U16, 1380, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1384, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1388, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1392, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1393, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1396, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1400, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1404, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1408, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1412, [0:0] +triggerElapsedUs = scalar, U32, 1416, "", 1, 0 +; total TS size = 1420 +trgsynchronizationCounter = scalar, U32, 1420, "", 1, 0 +trgvvtToothDurations0 = scalar, U32, 1424, "us", 1, 0 +trgvvtCurrentPosition = scalar, F32, 1428, "", 1, 0 +trgvvtToothPosition1 = scalar, F32, 1432, "", 1, 0 +trgvvtToothPosition2 = scalar, F32, 1436, "", 1, 0 +trgvvtToothPosition3 = scalar, F32, 1440, "", 1, 0 +trgvvtToothPosition4 = scalar, F32, 1444, "", 1, 0 +trgtriggerSyncGapRatio = scalar, F32, 1448, "", 1, 0 +trgtriggerStateIndex = scalar, U08, 1452, "", 1, 0 +; total TS size = 1456 +vvt1isynchronizationCounter = scalar, U32, 1456, "", 1, 0 +vvt1ivvtToothDurations0 = scalar, U32, 1460, "us", 1, 0 +vvt1ivvtCurrentPosition = scalar, F32, 1464, "", 1, 0 +vvt1ivvtToothPosition1 = scalar, F32, 1468, "", 1, 0 +vvt1ivvtToothPosition2 = scalar, F32, 1472, "", 1, 0 +vvt1ivvtToothPosition3 = scalar, F32, 1476, "", 1, 0 +vvt1ivvtToothPosition4 = scalar, F32, 1480, "", 1, 0 +vvt1itriggerSyncGapRatio = scalar, F32, 1484, "", 1, 0 +vvt1itriggerStateIndex = scalar, U08, 1488, "", 1, 0 +; total TS size = 1492 +vvt1esynchronizationCounter = scalar, U32, 1492, "", 1, 0 +vvt1evvtToothDurations0 = scalar, U32, 1496, "us", 1, 0 +vvt1evvtCurrentPosition = scalar, F32, 1500, "", 1, 0 +vvt1evvtToothPosition1 = scalar, F32, 1504, "", 1, 0 +vvt1evvtToothPosition2 = scalar, F32, 1508, "", 1, 0 +vvt1evvtToothPosition3 = scalar, F32, 1512, "", 1, 0 +vvt1evvtToothPosition4 = scalar, F32, 1516, "", 1, 0 +vvt1etriggerSyncGapRatio = scalar, F32, 1520, "", 1, 0 +vvt1etriggerStateIndex = scalar, U08, 1524, "", 1, 0 +; total TS size = 1528 +vvt2isynchronizationCounter = scalar, U32, 1528, "", 1, 0 +vvt2ivvtToothDurations0 = scalar, U32, 1532, "us", 1, 0 +vvt2ivvtCurrentPosition = scalar, F32, 1536, "", 1, 0 +vvt2ivvtToothPosition1 = scalar, F32, 1540, "", 1, 0 +vvt2ivvtToothPosition2 = scalar, F32, 1544, "", 1, 0 +vvt2ivvtToothPosition3 = scalar, F32, 1548, "", 1, 0 +vvt2ivvtToothPosition4 = scalar, F32, 1552, "", 1, 0 +vvt2itriggerSyncGapRatio = scalar, F32, 1556, "", 1, 0 +vvt2itriggerStateIndex = scalar, U08, 1560, "", 1, 0 +; total TS size = 1564 +vvt2esynchronizationCounter = scalar, U32, 1564, "", 1, 0 +vvt2evvtToothDurations0 = scalar, U32, 1568, "us", 1, 0 +vvt2evvtCurrentPosition = scalar, F32, 1572, "", 1, 0 +vvt2evvtToothPosition1 = scalar, F32, 1576, "", 1, 0 +vvt2evvtToothPosition2 = scalar, F32, 1580, "", 1, 0 +vvt2evvtToothPosition3 = scalar, F32, 1584, "", 1, 0 +vvt2evvtToothPosition4 = scalar, F32, 1588, "", 1, 0 +vvt2etriggerSyncGapRatio = scalar, F32, 1592, "", 1, 0 +vvt2etriggerStateIndex = scalar, U08, 1596, "", 1, 0 +; total TS size = 1600 +camResyncCounter = scalar, U08, 1600, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1604, [0:0] +; total TS size = 1608 +wallFuelCorrection = scalar, F32, 1608, "", 1, 0 +wallFuel = scalar, F32, 1612, "", 1, 0 +; total TS size = 1616 +idleState = bits, S32, 1616, [0:2], "not important" +currentIdlePosition = scalar, F32, 1620 +baseIdlePosition = scalar, F32, 1624 +idleClosedLoop = scalar, F32, 1628 +iacByTpsTaper = scalar, F32, 1632 +mightResetPid = bits, U32, 1636, [0:0] +shouldResetPid = bits, U32, 1636, [1:1] +wasResetPid = bits, U32, 1636, [2:2] +mustResetPid = bits, U32, 1636, [3:3] +isCranking = bits, U32, 1636, [4:4] +isIacTableForCoasting = bits, U32, 1636, [5:5] +notIdling = bits, U32, 1636, [6:6] +needReset = bits, U32, 1636, [7:7] +isInDeadZone = bits, U32, 1636, [8:8] +isBlipping = bits, U32, 1636, [9:9] +useClosedLoop = bits, U32, 1636, [10:10] +badTps = bits, U32, 1636, [11:11] +looksLikeRunning = bits, U32, 1636, [12:12] +looksLikeCoasting = bits, U32, 1636, [13:13] +looksLikeCrankToIdle = bits, U32, 1636, [14:14] +isIdleCoasting = bits, U32, 1636, [15:15] +isIdleClosedLoop = bits, U32, 1636, [16:16] +idleTarget = scalar, S32, 1640, "", 1, 0 +targetRpmByClt = scalar, S32, 1644, "", 1, 0 +targetRpmAc = scalar, S32, 1648, "", 1, 0 +iacByRpmTaper = scalar, F32, 1652 +luaAdd = scalar, F32, 1656 +; total TS size = 1660 +etb1targetWithIdlePosition = scalar, F32, 1660, "%", 1,0 +etb1trim = scalar, F32, 1664, "", 1, 0 +etb1luaAdjustment = scalar, F32, 1668, "%", 1,0 +etb1m_wastegatePosition = scalar, F32, 1672, "%", 1,0 +etb1etbFeedForward = scalar, F32, 1676 +etb1etbIntegralError = scalar, F32, 1680, "", 1, 0 +etb1etbCurrentTarget = scalar, F32, 1684, "%", 1, 0 +etb1m_adjustedTarget = scalar, S16, 1688, "%", 0.01, 0 +etb1etbRevLimitActive = bits, U32, 1692, [0:0] +etb1jamDetected = bits, U32, 1692, [1:1] +etb1validPlantPosition = bits, U32, 1692, [2:2] +etb1etbTpsErrorCounter = scalar, U16, 1696, "count", 1,0 +etb1etbPpsErrorCounter = scalar, U16, 1698, "count", 1,0 +etb1etbErrorCode = scalar, S08, 1700, "", 1, 0 +etb1etbErrorCodeBlinker = scalar, S08, 1701, "", 1, 0 +etb1tcEtbDrop = scalar, S08, 1702, "%", 1, 0 +etb1jamTimer = scalar, U16, 1704, "sec", 0.01, 0 +etb1adjustedEtbTarget = scalar, S08, 1706, "%", 1, 0 +etb1state = scalar, U08, 1707, "", 1, 0 +; total TS size = 1708 +etb2targetWithIdlePosition = scalar, F32, 1708, "%", 1,0 +etb2trim = scalar, F32, 1712, "", 1, 0 +etb2luaAdjustment = scalar, F32, 1716, "%", 1,0 +etb2m_wastegatePosition = scalar, F32, 1720, "%", 1,0 +etb2etbFeedForward = scalar, F32, 1724 +etb2etbIntegralError = scalar, F32, 1728, "", 1, 0 +etb2etbCurrentTarget = scalar, F32, 1732, "%", 1, 0 +etb2m_adjustedTarget = scalar, S16, 1736, "%", 0.01, 0 +etb2etbRevLimitActive = bits, U32, 1740, [0:0] +etb2jamDetected = bits, U32, 1740, [1:1] +etb2validPlantPosition = bits, U32, 1740, [2:2] +etb2etbTpsErrorCounter = scalar, U16, 1744, "count", 1,0 +etb2etbPpsErrorCounter = scalar, U16, 1746, "count", 1,0 +etb2etbErrorCode = scalar, S08, 1748, "", 1, 0 +etb2etbErrorCodeBlinker = scalar, S08, 1749, "", 1, 0 +etb2tcEtbDrop = scalar, S08, 1750, "%", 1, 0 +etb2jamTimer = scalar, U16, 1752, "sec", 0.01, 0 +etb2adjustedEtbTarget = scalar, S08, 1754, "%", 1, 0 +etb2state = scalar, U08, 1755, "", 1, 0 +; total TS size = 1756 +wb1faultCode = scalar, U08, 1756, "", 1, 0 +wb1heaterDuty = scalar, U08, 1757, "%", 1, 0 +wb1pumpDuty = scalar, U08, 1758, "%", 1, 0 +wb1tempC = scalar, U16, 1760, "C", 1, 0 +wb1nernstVoltage = scalar, U16, 1762, "V", 0.001, 0 +wb1esr = scalar, U16, 1764, "ohm", 1, 0 +; total TS size = 1768 +wb2faultCode = scalar, U08, 1768, "", 1, 0 +wb2heaterDuty = scalar, U08, 1769, "%", 1, 0 +wb2pumpDuty = scalar, U08, 1770, "%", 1, 0 +wb2tempC = scalar, U16, 1772, "C", 1, 0 +wb2nernstVoltage = scalar, U16, 1774, "V", 0.001, 0 +wb2esr = scalar, U16, 1776, "ohm", 1, 0 +; total TS size = 1780 +dcOutput0 = scalar, F32, 1780, "%", 1,0 +isEnabled0_int = scalar, U08, 1784, "%", 1,0 +isEnabled0 = bits, U32, 1788, [0:0] +; total TS size = 1792 +value0 = scalar, U16, 1792, "RAW", 1,0 +value1 = scalar, U16, 1794, "RAW", 1,0 +errorRate = scalar, F32, 1796, "% (don't belive me)", 1,0 ; total TS size = 1800 -lambdaCurrentlyGood = bits, U32, 1800, [0:0] -lambdaMonitorCut = bits, U32, 1800, [1:1] -lambdaTimeSinceGood = scalar, U16, 1804, "sec", 0.01, 0 -; total TS size = 1808 +vvtTarget = scalar, U16, 1800, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1802, "%", 0.5, 0 +; total TS size = 1804 +lambdaCurrentlyGood = bits, U32, 1804, [0:0] +lambdaMonitorCut = bits, U32, 1804, [1:1] +lambdaTimeSinceGood = scalar, U16, 1808, "sec", 0.01, 0 +; total TS size = 1812 time = { timeNow } @@ -4584,6 +4587,12 @@ curve = rangeMatrix, "Range Switch Input Matrix" gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. upDownLabel = "(RICHER)", "(LEANER)" + table = trailingSparkTable, trailingSparkMap, "Trailing spark", 1 + xyLabels = "RPM", "Ignition Load" + xBins = trailingSparkRpmBins, RPMValue + yBins = trailingSparkLoadBins, ignitionLoad + zBins = trailingSparkTable + table = torqueTableTbl, torqueTableMap, "Engine Torque", 1 xBins = torqueRpmBins, RPMValue yBins = torqueLoadBins, veTableYAxis @@ -4881,6 +4890,7 @@ timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20 timingPidCorrectionGauge = timingPidCorrection,"Idle: Timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 +trailingSparkAngleGauge = trailingSparkAngle,"Ign: Trailing spark deg", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 gaugeCategory = "Boost Control" luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 @@ -5812,6 +5822,7 @@ entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" entry = luaIgnitionSkip, "Ign: Lua Spark Skip", int, "%d" +entry = trailingSparkAngle, "Ign: Trailing spark deg", float, "%.3f" entry = m_knockLevel, "Knock: Current level", float, "%.3f" entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" @@ -6787,6 +6798,7 @@ dialog = ignition_stateDialog, "ignition_state" graphLine = luaTimingAdd liveGraph = ignition_state_4_Graph, "Graph", South graphLine = luaTimingMult + graphLine = trailingSparkAngle dialog = knock_controllerDialog, "knock_controller" @@ -10106,11 +10118,11 @@ commandButton = "Fuel Bench", cmd_set_engine_type_FUEL_BENCH dialog = rotaryDialog, "Rotary" field = "Enable Trailing Sparks", enableTrailingSparks - field = "Trailing Spark Offset", trailingSparkAngle field = "Trailing Pin 1", trailingCoilPins1 field = "Trailing Pin 2", trailingCoilPins2 field = "Trailing Pin 3", trailingCoilPins3 field = "Trailing Pin 4", trailingCoilPins4 + panel = trailingSparkTable diff --git a/firmware/tunerstudio/generated/rusefi_proteus_h7.ini b/firmware/tunerstudio/generated/rusefi_proteus_h7.ini index dd0a1338ae..4397e3798f 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.2025.02.07.proteus_h7.1063564502" + signature = "rusEFI master.2025.02.07.proteus_h7.3102161851" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2025.02.07.proteus_h7.1063564502" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2025.02.07.proteus_h7.3102161851" ; 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 @@ -101,7 +101,7 @@ enable2ndByteCanID = false ; CONFIG_DEFINITION_START ; this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt -pageSize = 28780 +pageSize = 28804 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",22="BMW_M52",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",21="ET_BOSCH_QUICK_START",24="ET_TEST_WITH_BOSCH_QUICK_START",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",41="FRANKENSO_MIATA_NA6_MAP",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",47="GM_LCV",55="GM_LTG",98="GM_SBC",49="GM_SBC_GEN5",8="GY6_139QMB",6="HARLEY",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",34="MAZDA_MIATA_NA6",80="MAZDA_MIATA_NA94",10="MAZDA_MIATA_NA96",83="MAZDA_MIATA_NB1",69="MAZDA_MIATA_NB2",86="MAZDA_MIATA_NB2_36",20="MAZDA_MIATA_NC",33="ME17_9_MISC",68="MERCEDES_M111",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",4="MRE_SECONDARY_CAN",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",35="POLARIS",9="POLARIS_RZR",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",27="PROTEUS_GM_LS_4",25="PROTEUS_LUA_DEMO",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",17="TCU_4R70W",100="TEST_100",101="TEST_101",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",93="TEST_ISSUE_6451",19="TEST_ROTARY",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",102="UNUSED102",67="UNUSED67",94="UNUSED94",65="UNUSED_65",97="UNUSED_97",77="VAG_5_CYL",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -245,7 +245,7 @@ vbattAdcChannel = bits, U08, 513, [0:5], $adc_channel_e_list fuelLevelSensor = bits, U08, 514, [0:5], $adc_channel_e_list tps2_1AdcChannel = bits, U08, 515, [0:5], $adc_channel_e_list idle_derivativeFilterLoss = scalar, F32, 516, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 520, "angle", 1, 0, 0, 720, 0 +unusedTrailingSparkAngle = scalar, S32, 520, "", 1, 0, 0, 100, 0 trigger_type = bits, U32, 524, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Daihatsu 3 cylinder", "Mazda SOHC 4", "60-2", "36-1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "Dodge Ram 1+16", "60-2 Wrong Polarity", "Benelli Tre", "Dodge Stratus", "36_2_2_2", "Nissan Primera", "dev 2JZ 3/34 simulator", "Rover K", "GM 24x 5 degree", "Honda CBR 600 Cam", "INVALID", "Honda CBR 600 custom", "3-1 skipped", "Dodge Neon 2003 crank", "Miata NB", "INVALID", "INVALID", "Subaru 7+6", "Jeep 18-2-2-2", "12crank/24cam", "Dodge Neon 1995 crank only", "Jeep XJ 4 cyl", "FiatIAQ_P8", "Mazda Z5", "INVALID", "Renix 44-2-2", "Renix 66-2-2-2", "Honda K 12+1", "INVALID", "36-2", "Subaru SVX", "Suzuki K6A", "Subaru 7 without 6", "INVALID", "INVALID", "GM 60-2-2-2", "Skoda Favorit", "Barra 3+1 Cam", "Kawa KX450F", "Nissan VQ35", "INVALID", "Nissan VQ30", "Nissan QR25", "INVALID", "Subaru SVX Crank 1", "Subaru SVX Cam VVT", "Ford PIP", "Suzuki G13B", "Honda K 4+1", "Nissan MR18 Crank", "32-2", "36-2-1", "36-2-1-1", "3-0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6-0", "Daihatsu 4 cylinder", "INVALID", "dev", "Nissan HR", "Arctic Cat", "HR12 in", "HONDA J30A2", "trg88", "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" trigger_customTotalToothCount = scalar, S32, 528, "number", 1, 0, 1, 300, 0 trigger_customSkippedToothCount = scalar, S32, 532, "number", 1, 0, 0, 300, 0 @@ -1796,7 +1796,10 @@ dynoCarCarMassKg = scalar, S16, 28768, "", 1, 0, 0, 32000, 0 dynoCarCargoMassKg = scalar, S16, 28770, "", 1, 0, 0, 32000, 0 dynoCarCoeffOfDrag = scalar, F32, 28772, "", 1, 0, 0, 100, 0 dynoCarFrontalAreaM2 = scalar, F32, 28776, "", 1, 0, 0, 100, 0 -; total TS size = 28780 +trailingSparkTable = array, S08, 28780, [4x4], "deg", 0.1, 0, 0, 20, 1 +trailingSparkRpmBins = array, U08, 28796, [4], "rpm", 50.0, 0, 0, 12000, 0 +trailingSparkLoadBins = array, U08, 28800, [4], "Load", 5.0, 0, 0, 1000, 0 +; total TS size = 28804 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1890,7 +1893,6 @@ dynoCarFrontalAreaM2 = scalar, F32, 28776, "", 1, 0, 0, 100, 0 fuelLevelSensor = "This is the processor pin that your fuel level sensor in connected to. This is a non standard input so will need to be user defined." tps2_1AdcChannel = "Second throttle body position sensor, single channel so far" idle_derivativeFilterLoss = "0.1 is a good default value" - trailingSparkAngle = "just a temporary solution" trigger_type = "https://github.com/rusefi/rusefi/wiki/All-Supported-Triggers" airByRpmTaper = "Extra air taper amount" boostControlSafeDutyCycle = "Duty cycle to use in case of a sensor failure. This duty cycle should produce the minimum possible amount of boost. This duty is also used in case any of the minimum RPM/TPS/MAP conditions are not met." @@ -2664,7 +2666,7 @@ dynoCarFrontalAreaM2 = scalar, F32, 28776, "", 1, 0, 0, 100, 0 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1808 + ochBlockSize = 1812 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3189,417 +3191,418 @@ dwellVoltageCorrection = scalar, F32, 940, "", 1, 0 luaTimingAdd = scalar, F32, 944, "deg", 1, 0 luaTimingMult = scalar, F32, 948, "deg", 1, 0 luaIgnitionSkip = bits, U32, 952, [0:0] -; total TS size = 956 -m_knockLevel = scalar, F32, 956, "Volts", 1, 0 -m_knockCyl1 = scalar, S08, 960, "dBv", 1, 0 -m_knockCyl2 = scalar, S08, 961, "dBv", 1, 0 -m_knockCyl3 = scalar, S08, 962, "dBv", 1, 0 -m_knockCyl4 = scalar, S08, 963, "dBv", 1, 0 -m_knockCyl5 = scalar, S08, 964, "dBv", 1, 0 -m_knockCyl6 = scalar, S08, 965, "dBv", 1, 0 -m_knockCyl7 = scalar, S08, 966, "dBv", 1, 0 -m_knockCyl8 = scalar, S08, 967, "dBv", 1, 0 -m_knockCyl9 = scalar, S08, 968, "dBv", 1, 0 -m_knockCyl10 = scalar, S08, 969, "dBv", 1, 0 -m_knockCyl11 = scalar, S08, 970, "dBv", 1, 0 -m_knockCyl12 = scalar, S08, 971, "dBv", 1, 0 -m_knockRetard = scalar, F32, 972, "deg", 1,0 -m_knockThreshold = scalar, F32, 976, "", 1, 0 -m_knockCount = scalar, U32, 980, "", 1, 0 -m_maximumRetard = scalar, F32, 984, "", 1, 0 -m_knockSpectrum1 = scalar, U32, 988, "compressed data", 1, 0 -m_knockSpectrum2 = scalar, U32, 992, "compressed data", 1, 0 -m_knockSpectrum3 = scalar, U32, 996, "compressed data", 1, 0 -m_knockSpectrum4 = scalar, U32, 1000, "compressed data", 1, 0 -m_knockSpectrum5 = scalar, U32, 1004, "compressed data", 1, 0 -m_knockSpectrum6 = scalar, U32, 1008, "compressed data", 1, 0 -m_knockSpectrum7 = scalar, U32, 1012, "compressed data", 1, 0 -m_knockSpectrum8 = scalar, U32, 1016, "compressed data", 1, 0 -m_knockSpectrum9 = scalar, U32, 1020, "compressed data", 1, 0 -m_knockSpectrum10 = scalar, U32, 1024, "compressed data", 1, 0 -m_knockSpectrum11 = scalar, U32, 1028, "compressed data", 1, 0 -m_knockSpectrum12 = scalar, U32, 1032, "compressed data", 1, 0 -m_knockSpectrum13 = scalar, U32, 1036, "compressed data", 1, 0 -m_knockSpectrum14 = scalar, U32, 1040, "compressed data", 1, 0 -m_knockSpectrum15 = scalar, U32, 1044, "compressed data", 1, 0 -m_knockSpectrum16 = scalar, U32, 1048, "compressed data", 1, 0 -m_knockSpectrumChannelCyl = scalar, U16, 1052, "compressed N + N", 1, 0 -m_knockFrequencyStart = scalar, U16, 1054, "Hz", 1, 0 -m_knockFrequencyStep = scalar, F32, 1056, "Hz", 1, 0 -m_knockFuelTrimMultiplier = scalar, F32, 1060, "multiplier", 1, 0 -; total TS size = 1064 -m_isPriming = bits, U32, 1064, [0:0] +trailingSparkAngle = scalar, S16, 956, "deg", 0.01,0 +; total TS size = 960 +m_knockLevel = scalar, F32, 960, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 964, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 965, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 966, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 967, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 968, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 969, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 970, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 971, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 972, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 973, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 974, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 975, "dBv", 1, 0 +m_knockRetard = scalar, F32, 976, "deg", 1,0 +m_knockThreshold = scalar, F32, 980, "", 1, 0 +m_knockCount = scalar, U32, 984, "", 1, 0 +m_maximumRetard = scalar, F32, 988, "", 1, 0 +m_knockSpectrum1 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1040, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1044, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1048, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1052, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1056, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1058, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1060, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1064, "multiplier", 1, 0 ; total TS size = 1068 -tcuCurrentGear = scalar, S08, 1068, "gear", 1, 0 -tcRatio = scalar, U16, 1070, "value", 0.01, 0 -lastShiftTime = scalar, F32, 1072, "", 1, 0 -tcu_currentRange = scalar, U08, 1076, "", 1, 0 -pressureControlDuty = scalar, S08, 1077, "%", 1,0 -torqueConverterDuty = scalar, S08, 1078, "%", 1,0 -isShifting = bits, U32, 1080, [0:0] -; total TS size = 1084 -throttleUseWotModel = bits, U32, 1084, [0:0] -throttleModelCrossoverAngle = scalar, S16, 1088, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1092, "g/s", 1, 0 -; total TS size = 1096 -m_requested_pump = scalar, F32, 1096, "", 1, 0 -fuel_requested_percent = scalar, F32, 1100, "%", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1104, "", 1, 0 -noValve = bits, U32, 1108, [0:0] -angleAboveMin = bits, U32, 1108, [1:1] -isHpfpActive = bits, U32, 1108, [2:2] -HpfpValveState = bits, U32, 1108, [3:3] -m_pressureTarget_kPa = scalar, F32, 1112, "", 1, 0 -nextLobe = scalar, F32, 1116, "", 1, 0 -di_nextStart = scalar, F32, 1120, "v", 1, 0 -HpfdActivationPhase = scalar, F32, 1124, "", 1, 0 -HpfdDeactivationPhase = scalar, F32, 1128, "", 1, 0 -; total TS size = 1132 -m_deadtime = scalar, F32, 1132, "ms", 1, 0 -pressureDelta = scalar, F32, 1136, "kPa", 1, 0 -pressureRatio = scalar, F32, 1140, "", 1, 0 -; total TS size = 1144 -retardThresholdRpm = scalar, S32, 1144, "", 1, 0 -launchActivatePinState = bits, U32, 1148, [0:0] -isPreLaunchCondition = bits, U32, 1148, [1:1] -isLaunchCondition = bits, U32, 1148, [2:2] -isSwitchActivated = bits, U32, 1148, [3:3] -isClutchActivated = bits, U32, 1148, [4:4] -isBrakePedalActivated = bits, U32, 1148, [5:5] -isValidInputPin = bits, U32, 1148, [6:6] -activateSwitchCondition = bits, U32, 1148, [7:7] -rpmLaunchCondition = bits, U32, 1148, [8:8] -rpmPreLaunchCondition = bits, U32, 1148, [9:9] -speedCondition = bits, U32, 1148, [10:10] -tpsCondition = bits, U32, 1148, [11:11] -; total TS size = 1152 -isTorqueReductionTriggerPinValid = bits, U32, 1152, [0:0] -torqueReductionTriggerPinState = bits, U32, 1152, [1:1] -isTimeConditionSatisfied = bits, U32, 1152, [2:2] -isRpmConditionSatisfied = bits, U32, 1152, [3:3] -isAppConditionSatisfied = bits, U32, 1152, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1152, [5:5] +m_isPriming = bits, U32, 1068, [0:0] +; total TS size = 1072 +tcuCurrentGear = scalar, S08, 1072, "gear", 1, 0 +tcRatio = scalar, U16, 1074, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1076, "", 1, 0 +tcu_currentRange = scalar, U08, 1080, "", 1, 0 +pressureControlDuty = scalar, S08, 1081, "%", 1,0 +torqueConverterDuty = scalar, S08, 1082, "%", 1,0 +isShifting = bits, U32, 1084, [0:0] +; total TS size = 1088 +throttleUseWotModel = bits, U32, 1088, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1092, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1096, "g/s", 1, 0 +; total TS size = 1100 +m_requested_pump = scalar, F32, 1100, "", 1, 0 +fuel_requested_percent = scalar, F32, 1104, "%", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1108, "", 1, 0 +noValve = bits, U32, 1112, [0:0] +angleAboveMin = bits, U32, 1112, [1:1] +isHpfpActive = bits, U32, 1112, [2:2] +HpfpValveState = bits, U32, 1112, [3:3] +m_pressureTarget_kPa = scalar, F32, 1116, "", 1, 0 +nextLobe = scalar, F32, 1120, "", 1, 0 +di_nextStart = scalar, F32, 1124, "v", 1, 0 +HpfdActivationPhase = scalar, F32, 1128, "", 1, 0 +HpfdDeactivationPhase = scalar, F32, 1132, "", 1, 0 +; total TS size = 1136 +m_deadtime = scalar, F32, 1136, "ms", 1, 0 +pressureDelta = scalar, F32, 1140, "kPa", 1, 0 +pressureRatio = scalar, F32, 1144, "", 1, 0 +; total TS size = 1148 +retardThresholdRpm = scalar, S32, 1148, "", 1, 0 +launchActivatePinState = bits, U32, 1152, [0:0] +isPreLaunchCondition = bits, U32, 1152, [1:1] +isLaunchCondition = bits, U32, 1152, [2:2] +isSwitchActivated = bits, U32, 1152, [3:3] +isClutchActivated = bits, U32, 1152, [4:4] +isBrakePedalActivated = bits, U32, 1152, [5:5] +isValidInputPin = bits, U32, 1152, [6:6] +activateSwitchCondition = bits, U32, 1152, [7:7] +rpmLaunchCondition = bits, U32, 1152, [8:8] +rpmPreLaunchCondition = bits, U32, 1152, [9:9] +speedCondition = bits, U32, 1152, [10:10] +tpsCondition = bits, U32, 1152, [11:11] ; total TS size = 1156 -isAntilagCondition = bits, U32, 1156, [0:0] -ALSMinRPMCondition = bits, U32, 1156, [1:1] -ALSMaxRPMCondition = bits, U32, 1156, [2:2] -ALSMinCLTCondition = bits, U32, 1156, [3:3] -ALSMaxCLTCondition = bits, U32, 1156, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1156, [5:5] -isALSSwitchActivated = bits, U32, 1156, [6:6] -ALSActivatePinState = bits, U32, 1156, [7:7] -ALSSwitchCondition = bits, U32, 1156, [8:8] -ALSTimerCondition = bits, U32, 1156, [9:9] -fuelALSCorrection = scalar, F32, 1160, "", 1, 0 -timingALSCorrection = scalar, S16, 1164, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1166, "deg", 0.01, 0 -; total TS size = 1168 -isTpsInvalid = bits, U32, 1168, [0:0] -m_shouldResetPid = bits, U32, 1168, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1168, [2:2] -isNotClosedLoop = bits, U32, 1168, [3:3] -isZeroRpm = bits, U32, 1168, [4:4] -hasInitBoost = bits, U32, 1168, [5:5] -rpmTooLow = bits, U32, 1168, [6:6] -tpsTooLow = bits, U32, 1168, [7:7] -mapTooLow = bits, U32, 1168, [8:8] -isPlantValid = bits, U32, 1168, [9:9] -isBoostControlled = bits, U32, 1168, [10:10] -luaTargetAdd = scalar, S16, 1172, "v", 0.5,0 -boostOutput = scalar, S16, 1174, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1176, "v", 1,0 -openLoopPart = scalar, F32, 1180, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1184, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1188, "%", 0.5,0 -boostControlTarget = scalar, S16, 1190, "kPa", 0.03333333333333333,0 -; total TS size = 1192 -acButtonState = scalar, S08, 1192, "", 1, 0 -m_acEnabled = bits, U32, 1196, [0:0] -engineTooSlow = bits, U32, 1196, [1:1] -engineTooFast = bits, U32, 1196, [2:2] -noClt = bits, U32, 1196, [3:3] -engineTooHot = bits, U32, 1196, [4:4] -tpsTooHigh = bits, U32, 1196, [5:5] -isDisabledByLua = bits, U32, 1196, [6:6] -acCompressorState = bits, U32, 1196, [7:7] -acPressureTooLow = bits, U32, 1196, [8:8] -acPressureTooHigh = bits, U32, 1196, [9:9] -; total TS size = 1200 -isNitrousArmed = bits, U32, 1200, [0:0] -isNitrousSpeedCondition = bits, U32, 1200, [1:1] -isNitrousTpsCondition = bits, U32, 1200, [2:2] -isNitrousCltCondition = bits, U32, 1200, [3:3] -isNitrousMapCondition = bits, U32, 1200, [4:4] -isNitrousAfrCondition = bits, U32, 1200, [5:5] -isNitrousRpmCondition = bits, U32, 1200, [6:6] -isNitrousCondition = bits, U32, 1200, [7:7] +isTorqueReductionTriggerPinValid = bits, U32, 1156, [0:0] +torqueReductionTriggerPinState = bits, U32, 1156, [1:1] +isTimeConditionSatisfied = bits, U32, 1156, [2:2] +isRpmConditionSatisfied = bits, U32, 1156, [3:3] +isAppConditionSatisfied = bits, U32, 1156, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1156, [5:5] +; total TS size = 1160 +isAntilagCondition = bits, U32, 1160, [0:0] +ALSMinRPMCondition = bits, U32, 1160, [1:1] +ALSMaxRPMCondition = bits, U32, 1160, [2:2] +ALSMinCLTCondition = bits, U32, 1160, [3:3] +ALSMaxCLTCondition = bits, U32, 1160, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1160, [5:5] +isALSSwitchActivated = bits, U32, 1160, [6:6] +ALSActivatePinState = bits, U32, 1160, [7:7] +ALSSwitchCondition = bits, U32, 1160, [8:8] +ALSTimerCondition = bits, U32, 1160, [9:9] +fuelALSCorrection = scalar, F32, 1164, "", 1, 0 +timingALSCorrection = scalar, S16, 1168, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1170, "deg", 0.01, 0 +; total TS size = 1172 +isTpsInvalid = bits, U32, 1172, [0:0] +m_shouldResetPid = bits, U32, 1172, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1172, [2:2] +isNotClosedLoop = bits, U32, 1172, [3:3] +isZeroRpm = bits, U32, 1172, [4:4] +hasInitBoost = bits, U32, 1172, [5:5] +rpmTooLow = bits, U32, 1172, [6:6] +tpsTooLow = bits, U32, 1172, [7:7] +mapTooLow = bits, U32, 1172, [8:8] +isPlantValid = bits, U32, 1172, [9:9] +isBoostControlled = bits, U32, 1172, [10:10] +luaTargetAdd = scalar, S16, 1176, "v", 0.5,0 +boostOutput = scalar, S16, 1178, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1180, "v", 1,0 +openLoopPart = scalar, F32, 1184, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1188, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1192, "%", 0.5,0 +boostControlTarget = scalar, S16, 1194, "kPa", 0.03333333333333333,0 +; total TS size = 1196 +acButtonState = scalar, S08, 1196, "", 1, 0 +m_acEnabled = bits, U32, 1200, [0:0] +engineTooSlow = bits, U32, 1200, [1:1] +engineTooFast = bits, U32, 1200, [2:2] +noClt = bits, U32, 1200, [3:3] +engineTooHot = bits, U32, 1200, [4:4] +tpsTooHigh = bits, U32, 1200, [5:5] +isDisabledByLua = bits, U32, 1200, [6:6] +acCompressorState = bits, U32, 1200, [7:7] +acPressureTooLow = bits, U32, 1200, [8:8] +acPressureTooHigh = bits, U32, 1200, [9:9] ; total TS size = 1204 -fan1cranking = bits, U32, 1204, [0:0] -fan1notRunning = bits, U32, 1204, [1:1] -fan1disabledWhileEngineStopped = bits, U32, 1204, [2:2] -fan1brokenClt = bits, U32, 1204, [3:3] -fan1enabledForAc = bits, U32, 1204, [4:4] -fan1hot = bits, U32, 1204, [5:5] -fan1cold = bits, U32, 1204, [6:6] -fan1disabledBySpeed = bits, U32, 1204, [7:7] -fan1m_state = bits, U32, 1204, [8:8] -fan1radiatorFanStatus = scalar, U08, 1208, "", 1, 0 -; total TS size = 1212 -fan2cranking = bits, U32, 1212, [0:0] -fan2notRunning = bits, U32, 1212, [1:1] -fan2disabledWhileEngineStopped = bits, U32, 1212, [2:2] -fan2brokenClt = bits, U32, 1212, [3:3] -fan2enabledForAc = bits, U32, 1212, [4:4] -fan2hot = bits, U32, 1212, [5:5] -fan2cold = bits, U32, 1212, [6:6] -fan2disabledBySpeed = bits, U32, 1212, [7:7] -fan2m_state = bits, U32, 1212, [8:8] -fan2radiatorFanStatus = scalar, U08, 1216, "", 1, 0 -; total TS size = 1220 -isPrime = bits, U32, 1220, [0:0] -engineTurnedRecently = bits, U32, 1220, [1:1] -isFuelPumpOn = bits, U32, 1220, [2:2] -ignitionOn = bits, U32, 1220, [3:3] +isNitrousArmed = bits, U32, 1204, [0:0] +isNitrousSpeedCondition = bits, U32, 1204, [1:1] +isNitrousTpsCondition = bits, U32, 1204, [2:2] +isNitrousCltCondition = bits, U32, 1204, [3:3] +isNitrousMapCondition = bits, U32, 1204, [4:4] +isNitrousAfrCondition = bits, U32, 1204, [5:5] +isNitrousRpmCondition = bits, U32, 1204, [6:6] +isNitrousCondition = bits, U32, 1204, [7:7] +; total TS size = 1208 +fan1cranking = bits, U32, 1208, [0:0] +fan1notRunning = bits, U32, 1208, [1:1] +fan1disabledWhileEngineStopped = bits, U32, 1208, [2:2] +fan1brokenClt = bits, U32, 1208, [3:3] +fan1enabledForAc = bits, U32, 1208, [4:4] +fan1hot = bits, U32, 1208, [5:5] +fan1cold = bits, U32, 1208, [6:6] +fan1disabledBySpeed = bits, U32, 1208, [7:7] +fan1m_state = bits, U32, 1208, [8:8] +fan1radiatorFanStatus = scalar, U08, 1212, "", 1, 0 +; total TS size = 1216 +fan2cranking = bits, U32, 1216, [0:0] +fan2notRunning = bits, U32, 1216, [1:1] +fan2disabledWhileEngineStopped = bits, U32, 1216, [2:2] +fan2brokenClt = bits, U32, 1216, [3:3] +fan2enabledForAc = bits, U32, 1216, [4:4] +fan2hot = bits, U32, 1216, [5:5] +fan2cold = bits, U32, 1216, [6:6] +fan2disabledBySpeed = bits, U32, 1216, [7:7] +fan2m_state = bits, U32, 1216, [8:8] +fan2radiatorFanStatus = scalar, U08, 1220, "", 1, 0 ; total TS size = 1224 -isBenchTest = bits, U32, 1224, [0:0] -hasIgnitionVoltage = bits, U32, 1224, [1:1] -mainRelayState = bits, U32, 1224, [2:2] -delayedShutoffRequested = bits, U32, 1224, [3:3] +isPrime = bits, U32, 1224, [0:0] +engineTurnedRecently = bits, U32, 1224, [1:1] +isFuelPumpOn = bits, U32, 1224, [2:2] +ignitionOn = bits, U32, 1224, [3:3] ; total TS size = 1228 -lua_fuelAdd = scalar, F32, 1228, "g", 1, 0 -lua_fuelMult = scalar, F32, 1232, "", 1, 0 -lua_clutchUpState = bits, U32, 1236, [0:0] -lua_brakePedalState = bits, U32, 1236, [1:1] -lua_acRequestState = bits, U32, 1236, [2:2] -lua_luaDisableEtb = bits, U32, 1236, [3:3] -lua_luaIgnCut = bits, U32, 1236, [4:4] -lua_luaFuelCut = bits, U32, 1236, [5:5] -lua_clutchDownState = bits, U32, 1236, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1236, [7:7] -lua_torqueReductionState = bits, U32, 1236, [8:8] -sd_tCharge = scalar, S16, 1240, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1244, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1248, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1252, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1256, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1260, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1264, "", 1, 0 -hellenBoardId = scalar, S16, 1268, "id", 1, 0 -clutchUpState = scalar, S08, 1270, "", 1, 0 -brakePedalState = scalar, S08, 1271, "", 1, 0 -startStopState = scalar, S08, 1272, "", 1, 0 -smartChipState = scalar, S08, 1273, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1274, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1275, "", 1, 0 -startStopPhysicalState = bits, U32, 1276, [0:0] -acrActive = bits, U32, 1276, [1:1] -acrEngineMovedRecently = bits, U32, 1276, [2:2] -heaterControlEnabled = bits, U32, 1276, [3:3] -luaDigitalState0 = bits, U32, 1276, [4:4] -luaDigitalState1 = bits, U32, 1276, [5:5] -luaDigitalState2 = bits, U32, 1276, [6:6] -luaDigitalState3 = bits, U32, 1276, [7:7] -clutchDownState = bits, U32, 1276, [8:8] -startStopStateToggleCounter = scalar, U32, 1280, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1284, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1288, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1292, "", 1, 0 -fuelInjectionCounter = scalar, U32, 1296, "", 1, 0 -globalSparkCounter = scalar, U32, 1300, "", 1, 0 -fuelingLoad = scalar, F32, 1304, "", 1, 0 -ignitionLoad = scalar, F32, 1308, "", 1, 0 -veTableYAxis = scalar, U16, 1312, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1314, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1315, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1316, "", 1, 0 -; total TS size = 1320 -tpsFrom = scalar, F32, 1320 -tpsTo = scalar, F32, 1324 -deltaTps = scalar, F32, 1328 -extraFuel = scalar, F32, 1332, "", 1, 0 -valueFromTable = scalar, F32, 1336, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1340, [0:0] -isBelowDecelThreshold = bits, U32, 1340, [1:1] -isTimeToResetAccumulator = bits, U32, 1340, [2:2] -isFractionalEnrichment = bits, U32, 1340, [3:3] -belowEpsilon = bits, U32, 1340, [4:4] -tooShort = bits, U32, 1340, [5:5] -fractionalInjFuel = scalar, F32, 1344, "", 1, 0 -accumulatedValue = scalar, F32, 1348, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1352, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1356, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1360, "", 1, 0 -cycleCnt = scalar, S32, 1364, "", 1, 0 -; total TS size = 1368 -hwEventCounters1 = scalar, U16, 1368, "", 1, 0 -hwEventCounters2 = scalar, U16, 1370, "", 1, 0 -hwEventCounters3 = scalar, U16, 1372, "", 1, 0 -hwEventCounters4 = scalar, U16, 1374, "", 1, 0 -vvtCamCounter = scalar, U16, 1376, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1380, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1384, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1388, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1389, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1392, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1396, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1400, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1404, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1408, [0:0] -triggerElapsedUs = scalar, U32, 1412, "", 1, 0 -; total TS size = 1416 -trgsynchronizationCounter = scalar, U32, 1416, "", 1, 0 -trgvvtToothDurations0 = scalar, U32, 1420, "us", 1, 0 -trgvvtCurrentPosition = scalar, F32, 1424, "", 1, 0 -trgvvtToothPosition1 = scalar, F32, 1428, "", 1, 0 -trgvvtToothPosition2 = scalar, F32, 1432, "", 1, 0 -trgvvtToothPosition3 = scalar, F32, 1436, "", 1, 0 -trgvvtToothPosition4 = scalar, F32, 1440, "", 1, 0 -trgtriggerSyncGapRatio = scalar, F32, 1444, "", 1, 0 -trgtriggerStateIndex = scalar, U08, 1448, "", 1, 0 -; total TS size = 1452 -vvt1isynchronizationCounter = scalar, U32, 1452, "", 1, 0 -vvt1ivvtToothDurations0 = scalar, U32, 1456, "us", 1, 0 -vvt1ivvtCurrentPosition = scalar, F32, 1460, "", 1, 0 -vvt1ivvtToothPosition1 = scalar, F32, 1464, "", 1, 0 -vvt1ivvtToothPosition2 = scalar, F32, 1468, "", 1, 0 -vvt1ivvtToothPosition3 = scalar, F32, 1472, "", 1, 0 -vvt1ivvtToothPosition4 = scalar, F32, 1476, "", 1, 0 -vvt1itriggerSyncGapRatio = scalar, F32, 1480, "", 1, 0 -vvt1itriggerStateIndex = scalar, U08, 1484, "", 1, 0 -; total TS size = 1488 -vvt1esynchronizationCounter = scalar, U32, 1488, "", 1, 0 -vvt1evvtToothDurations0 = scalar, U32, 1492, "us", 1, 0 -vvt1evvtCurrentPosition = scalar, F32, 1496, "", 1, 0 -vvt1evvtToothPosition1 = scalar, F32, 1500, "", 1, 0 -vvt1evvtToothPosition2 = scalar, F32, 1504, "", 1, 0 -vvt1evvtToothPosition3 = scalar, F32, 1508, "", 1, 0 -vvt1evvtToothPosition4 = scalar, F32, 1512, "", 1, 0 -vvt1etriggerSyncGapRatio = scalar, F32, 1516, "", 1, 0 -vvt1etriggerStateIndex = scalar, U08, 1520, "", 1, 0 -; total TS size = 1524 -vvt2isynchronizationCounter = scalar, U32, 1524, "", 1, 0 -vvt2ivvtToothDurations0 = scalar, U32, 1528, "us", 1, 0 -vvt2ivvtCurrentPosition = scalar, F32, 1532, "", 1, 0 -vvt2ivvtToothPosition1 = scalar, F32, 1536, "", 1, 0 -vvt2ivvtToothPosition2 = scalar, F32, 1540, "", 1, 0 -vvt2ivvtToothPosition3 = scalar, F32, 1544, "", 1, 0 -vvt2ivvtToothPosition4 = scalar, F32, 1548, "", 1, 0 -vvt2itriggerSyncGapRatio = scalar, F32, 1552, "", 1, 0 -vvt2itriggerStateIndex = scalar, U08, 1556, "", 1, 0 -; total TS size = 1560 -vvt2esynchronizationCounter = scalar, U32, 1560, "", 1, 0 -vvt2evvtToothDurations0 = scalar, U32, 1564, "us", 1, 0 -vvt2evvtCurrentPosition = scalar, F32, 1568, "", 1, 0 -vvt2evvtToothPosition1 = scalar, F32, 1572, "", 1, 0 -vvt2evvtToothPosition2 = scalar, F32, 1576, "", 1, 0 -vvt2evvtToothPosition3 = scalar, F32, 1580, "", 1, 0 -vvt2evvtToothPosition4 = scalar, F32, 1584, "", 1, 0 -vvt2etriggerSyncGapRatio = scalar, F32, 1588, "", 1, 0 -vvt2etriggerStateIndex = scalar, U08, 1592, "", 1, 0 -; total TS size = 1596 -camResyncCounter = scalar, U08, 1596, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1600, [0:0] -; total TS size = 1604 -wallFuelCorrection = scalar, F32, 1604, "", 1, 0 -wallFuel = scalar, F32, 1608, "", 1, 0 -; total TS size = 1612 -idleState = bits, S32, 1612, [0:2], "not important" -currentIdlePosition = scalar, F32, 1616 -baseIdlePosition = scalar, F32, 1620 -idleClosedLoop = scalar, F32, 1624 -iacByTpsTaper = scalar, F32, 1628 -mightResetPid = bits, U32, 1632, [0:0] -shouldResetPid = bits, U32, 1632, [1:1] -wasResetPid = bits, U32, 1632, [2:2] -mustResetPid = bits, U32, 1632, [3:3] -isCranking = bits, U32, 1632, [4:4] -isIacTableForCoasting = bits, U32, 1632, [5:5] -notIdling = bits, U32, 1632, [6:6] -needReset = bits, U32, 1632, [7:7] -isInDeadZone = bits, U32, 1632, [8:8] -isBlipping = bits, U32, 1632, [9:9] -useClosedLoop = bits, U32, 1632, [10:10] -badTps = bits, U32, 1632, [11:11] -looksLikeRunning = bits, U32, 1632, [12:12] -looksLikeCoasting = bits, U32, 1632, [13:13] -looksLikeCrankToIdle = bits, U32, 1632, [14:14] -isIdleCoasting = bits, U32, 1632, [15:15] -isIdleClosedLoop = bits, U32, 1632, [16:16] -idleTarget = scalar, S32, 1636, "", 1, 0 -targetRpmByClt = scalar, S32, 1640, "", 1, 0 -targetRpmAc = scalar, S32, 1644, "", 1, 0 -iacByRpmTaper = scalar, F32, 1648 -luaAdd = scalar, F32, 1652 -; total TS size = 1656 -etb1targetWithIdlePosition = scalar, F32, 1656, "%", 1,0 -etb1trim = scalar, F32, 1660, "", 1, 0 -etb1luaAdjustment = scalar, F32, 1664, "%", 1,0 -etb1m_wastegatePosition = scalar, F32, 1668, "%", 1,0 -etb1etbFeedForward = scalar, F32, 1672 -etb1etbIntegralError = scalar, F32, 1676, "", 1, 0 -etb1etbCurrentTarget = scalar, F32, 1680, "%", 1, 0 -etb1m_adjustedTarget = scalar, S16, 1684, "%", 0.01, 0 -etb1etbRevLimitActive = bits, U32, 1688, [0:0] -etb1jamDetected = bits, U32, 1688, [1:1] -etb1validPlantPosition = bits, U32, 1688, [2:2] -etb1etbTpsErrorCounter = scalar, U16, 1692, "count", 1,0 -etb1etbPpsErrorCounter = scalar, U16, 1694, "count", 1,0 -etb1etbErrorCode = scalar, S08, 1696, "", 1, 0 -etb1etbErrorCodeBlinker = scalar, S08, 1697, "", 1, 0 -etb1tcEtbDrop = scalar, S08, 1698, "%", 1, 0 -etb1jamTimer = scalar, U16, 1700, "sec", 0.01, 0 -etb1adjustedEtbTarget = scalar, S08, 1702, "%", 1, 0 -etb1state = scalar, U08, 1703, "", 1, 0 -; total TS size = 1704 -etb2targetWithIdlePosition = scalar, F32, 1704, "%", 1,0 -etb2trim = scalar, F32, 1708, "", 1, 0 -etb2luaAdjustment = scalar, F32, 1712, "%", 1,0 -etb2m_wastegatePosition = scalar, F32, 1716, "%", 1,0 -etb2etbFeedForward = scalar, F32, 1720 -etb2etbIntegralError = scalar, F32, 1724, "", 1, 0 -etb2etbCurrentTarget = scalar, F32, 1728, "%", 1, 0 -etb2m_adjustedTarget = scalar, S16, 1732, "%", 0.01, 0 -etb2etbRevLimitActive = bits, U32, 1736, [0:0] -etb2jamDetected = bits, U32, 1736, [1:1] -etb2validPlantPosition = bits, U32, 1736, [2:2] -etb2etbTpsErrorCounter = scalar, U16, 1740, "count", 1,0 -etb2etbPpsErrorCounter = scalar, U16, 1742, "count", 1,0 -etb2etbErrorCode = scalar, S08, 1744, "", 1, 0 -etb2etbErrorCodeBlinker = scalar, S08, 1745, "", 1, 0 -etb2tcEtbDrop = scalar, S08, 1746, "%", 1, 0 -etb2jamTimer = scalar, U16, 1748, "sec", 0.01, 0 -etb2adjustedEtbTarget = scalar, S08, 1750, "%", 1, 0 -etb2state = scalar, U08, 1751, "", 1, 0 -; total TS size = 1752 -wb1faultCode = scalar, U08, 1752, "", 1, 0 -wb1heaterDuty = scalar, U08, 1753, "%", 1, 0 -wb1pumpDuty = scalar, U08, 1754, "%", 1, 0 -wb1tempC = scalar, U16, 1756, "C", 1, 0 -wb1nernstVoltage = scalar, U16, 1758, "V", 0.001, 0 -wb1esr = scalar, U16, 1760, "ohm", 1, 0 -; total TS size = 1764 -wb2faultCode = scalar, U08, 1764, "", 1, 0 -wb2heaterDuty = scalar, U08, 1765, "%", 1, 0 -wb2pumpDuty = scalar, U08, 1766, "%", 1, 0 -wb2tempC = scalar, U16, 1768, "C", 1, 0 -wb2nernstVoltage = scalar, U16, 1770, "V", 0.001, 0 -wb2esr = scalar, U16, 1772, "ohm", 1, 0 -; total TS size = 1776 -dcOutput0 = scalar, F32, 1776, "%", 1,0 -isEnabled0_int = scalar, U08, 1780, "%", 1,0 -isEnabled0 = bits, U32, 1784, [0:0] -; total TS size = 1788 -value0 = scalar, U16, 1788, "RAW", 1,0 -value1 = scalar, U16, 1790, "RAW", 1,0 -errorRate = scalar, F32, 1792, "% (don't belive me)", 1,0 -; total TS size = 1796 -vvtTarget = scalar, U16, 1796, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1798, "%", 0.5, 0 +isBenchTest = bits, U32, 1228, [0:0] +hasIgnitionVoltage = bits, U32, 1228, [1:1] +mainRelayState = bits, U32, 1228, [2:2] +delayedShutoffRequested = bits, U32, 1228, [3:3] +; total TS size = 1232 +lua_fuelAdd = scalar, F32, 1232, "g", 1, 0 +lua_fuelMult = scalar, F32, 1236, "", 1, 0 +lua_clutchUpState = bits, U32, 1240, [0:0] +lua_brakePedalState = bits, U32, 1240, [1:1] +lua_acRequestState = bits, U32, 1240, [2:2] +lua_luaDisableEtb = bits, U32, 1240, [3:3] +lua_luaIgnCut = bits, U32, 1240, [4:4] +lua_luaFuelCut = bits, U32, 1240, [5:5] +lua_clutchDownState = bits, U32, 1240, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1240, [7:7] +lua_torqueReductionState = bits, U32, 1240, [8:8] +sd_tCharge = scalar, S16, 1244, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1248, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1252, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1256, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1260, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1264, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1268, "", 1, 0 +hellenBoardId = scalar, S16, 1272, "id", 1, 0 +clutchUpState = scalar, S08, 1274, "", 1, 0 +brakePedalState = scalar, S08, 1275, "", 1, 0 +startStopState = scalar, S08, 1276, "", 1, 0 +smartChipState = scalar, S08, 1277, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1278, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1279, "", 1, 0 +startStopPhysicalState = bits, U32, 1280, [0:0] +acrActive = bits, U32, 1280, [1:1] +acrEngineMovedRecently = bits, U32, 1280, [2:2] +heaterControlEnabled = bits, U32, 1280, [3:3] +luaDigitalState0 = bits, U32, 1280, [4:4] +luaDigitalState1 = bits, U32, 1280, [5:5] +luaDigitalState2 = bits, U32, 1280, [6:6] +luaDigitalState3 = bits, U32, 1280, [7:7] +clutchDownState = bits, U32, 1280, [8:8] +startStopStateToggleCounter = scalar, U32, 1284, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1288, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1292, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1296, "", 1, 0 +fuelInjectionCounter = scalar, U32, 1300, "", 1, 0 +globalSparkCounter = scalar, U32, 1304, "", 1, 0 +fuelingLoad = scalar, F32, 1308, "", 1, 0 +ignitionLoad = scalar, F32, 1312, "", 1, 0 +veTableYAxis = scalar, U16, 1316, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1318, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1319, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1320, "", 1, 0 +; total TS size = 1324 +tpsFrom = scalar, F32, 1324 +tpsTo = scalar, F32, 1328 +deltaTps = scalar, F32, 1332 +extraFuel = scalar, F32, 1336, "", 1, 0 +valueFromTable = scalar, F32, 1340, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1344, [0:0] +isBelowDecelThreshold = bits, U32, 1344, [1:1] +isTimeToResetAccumulator = bits, U32, 1344, [2:2] +isFractionalEnrichment = bits, U32, 1344, [3:3] +belowEpsilon = bits, U32, 1344, [4:4] +tooShort = bits, U32, 1344, [5:5] +fractionalInjFuel = scalar, F32, 1348, "", 1, 0 +accumulatedValue = scalar, F32, 1352, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1356, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1360, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1364, "", 1, 0 +cycleCnt = scalar, S32, 1368, "", 1, 0 +; total TS size = 1372 +hwEventCounters1 = scalar, U16, 1372, "", 1, 0 +hwEventCounters2 = scalar, U16, 1374, "", 1, 0 +hwEventCounters3 = scalar, U16, 1376, "", 1, 0 +hwEventCounters4 = scalar, U16, 1378, "", 1, 0 +vvtCamCounter = scalar, U16, 1380, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1384, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1388, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1392, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1393, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1396, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1400, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1404, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1408, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1412, [0:0] +triggerElapsedUs = scalar, U32, 1416, "", 1, 0 +; total TS size = 1420 +trgsynchronizationCounter = scalar, U32, 1420, "", 1, 0 +trgvvtToothDurations0 = scalar, U32, 1424, "us", 1, 0 +trgvvtCurrentPosition = scalar, F32, 1428, "", 1, 0 +trgvvtToothPosition1 = scalar, F32, 1432, "", 1, 0 +trgvvtToothPosition2 = scalar, F32, 1436, "", 1, 0 +trgvvtToothPosition3 = scalar, F32, 1440, "", 1, 0 +trgvvtToothPosition4 = scalar, F32, 1444, "", 1, 0 +trgtriggerSyncGapRatio = scalar, F32, 1448, "", 1, 0 +trgtriggerStateIndex = scalar, U08, 1452, "", 1, 0 +; total TS size = 1456 +vvt1isynchronizationCounter = scalar, U32, 1456, "", 1, 0 +vvt1ivvtToothDurations0 = scalar, U32, 1460, "us", 1, 0 +vvt1ivvtCurrentPosition = scalar, F32, 1464, "", 1, 0 +vvt1ivvtToothPosition1 = scalar, F32, 1468, "", 1, 0 +vvt1ivvtToothPosition2 = scalar, F32, 1472, "", 1, 0 +vvt1ivvtToothPosition3 = scalar, F32, 1476, "", 1, 0 +vvt1ivvtToothPosition4 = scalar, F32, 1480, "", 1, 0 +vvt1itriggerSyncGapRatio = scalar, F32, 1484, "", 1, 0 +vvt1itriggerStateIndex = scalar, U08, 1488, "", 1, 0 +; total TS size = 1492 +vvt1esynchronizationCounter = scalar, U32, 1492, "", 1, 0 +vvt1evvtToothDurations0 = scalar, U32, 1496, "us", 1, 0 +vvt1evvtCurrentPosition = scalar, F32, 1500, "", 1, 0 +vvt1evvtToothPosition1 = scalar, F32, 1504, "", 1, 0 +vvt1evvtToothPosition2 = scalar, F32, 1508, "", 1, 0 +vvt1evvtToothPosition3 = scalar, F32, 1512, "", 1, 0 +vvt1evvtToothPosition4 = scalar, F32, 1516, "", 1, 0 +vvt1etriggerSyncGapRatio = scalar, F32, 1520, "", 1, 0 +vvt1etriggerStateIndex = scalar, U08, 1524, "", 1, 0 +; total TS size = 1528 +vvt2isynchronizationCounter = scalar, U32, 1528, "", 1, 0 +vvt2ivvtToothDurations0 = scalar, U32, 1532, "us", 1, 0 +vvt2ivvtCurrentPosition = scalar, F32, 1536, "", 1, 0 +vvt2ivvtToothPosition1 = scalar, F32, 1540, "", 1, 0 +vvt2ivvtToothPosition2 = scalar, F32, 1544, "", 1, 0 +vvt2ivvtToothPosition3 = scalar, F32, 1548, "", 1, 0 +vvt2ivvtToothPosition4 = scalar, F32, 1552, "", 1, 0 +vvt2itriggerSyncGapRatio = scalar, F32, 1556, "", 1, 0 +vvt2itriggerStateIndex = scalar, U08, 1560, "", 1, 0 +; total TS size = 1564 +vvt2esynchronizationCounter = scalar, U32, 1564, "", 1, 0 +vvt2evvtToothDurations0 = scalar, U32, 1568, "us", 1, 0 +vvt2evvtCurrentPosition = scalar, F32, 1572, "", 1, 0 +vvt2evvtToothPosition1 = scalar, F32, 1576, "", 1, 0 +vvt2evvtToothPosition2 = scalar, F32, 1580, "", 1, 0 +vvt2evvtToothPosition3 = scalar, F32, 1584, "", 1, 0 +vvt2evvtToothPosition4 = scalar, F32, 1588, "", 1, 0 +vvt2etriggerSyncGapRatio = scalar, F32, 1592, "", 1, 0 +vvt2etriggerStateIndex = scalar, U08, 1596, "", 1, 0 +; total TS size = 1600 +camResyncCounter = scalar, U08, 1600, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1604, [0:0] +; total TS size = 1608 +wallFuelCorrection = scalar, F32, 1608, "", 1, 0 +wallFuel = scalar, F32, 1612, "", 1, 0 +; total TS size = 1616 +idleState = bits, S32, 1616, [0:2], "not important" +currentIdlePosition = scalar, F32, 1620 +baseIdlePosition = scalar, F32, 1624 +idleClosedLoop = scalar, F32, 1628 +iacByTpsTaper = scalar, F32, 1632 +mightResetPid = bits, U32, 1636, [0:0] +shouldResetPid = bits, U32, 1636, [1:1] +wasResetPid = bits, U32, 1636, [2:2] +mustResetPid = bits, U32, 1636, [3:3] +isCranking = bits, U32, 1636, [4:4] +isIacTableForCoasting = bits, U32, 1636, [5:5] +notIdling = bits, U32, 1636, [6:6] +needReset = bits, U32, 1636, [7:7] +isInDeadZone = bits, U32, 1636, [8:8] +isBlipping = bits, U32, 1636, [9:9] +useClosedLoop = bits, U32, 1636, [10:10] +badTps = bits, U32, 1636, [11:11] +looksLikeRunning = bits, U32, 1636, [12:12] +looksLikeCoasting = bits, U32, 1636, [13:13] +looksLikeCrankToIdle = bits, U32, 1636, [14:14] +isIdleCoasting = bits, U32, 1636, [15:15] +isIdleClosedLoop = bits, U32, 1636, [16:16] +idleTarget = scalar, S32, 1640, "", 1, 0 +targetRpmByClt = scalar, S32, 1644, "", 1, 0 +targetRpmAc = scalar, S32, 1648, "", 1, 0 +iacByRpmTaper = scalar, F32, 1652 +luaAdd = scalar, F32, 1656 +; total TS size = 1660 +etb1targetWithIdlePosition = scalar, F32, 1660, "%", 1,0 +etb1trim = scalar, F32, 1664, "", 1, 0 +etb1luaAdjustment = scalar, F32, 1668, "%", 1,0 +etb1m_wastegatePosition = scalar, F32, 1672, "%", 1,0 +etb1etbFeedForward = scalar, F32, 1676 +etb1etbIntegralError = scalar, F32, 1680, "", 1, 0 +etb1etbCurrentTarget = scalar, F32, 1684, "%", 1, 0 +etb1m_adjustedTarget = scalar, S16, 1688, "%", 0.01, 0 +etb1etbRevLimitActive = bits, U32, 1692, [0:0] +etb1jamDetected = bits, U32, 1692, [1:1] +etb1validPlantPosition = bits, U32, 1692, [2:2] +etb1etbTpsErrorCounter = scalar, U16, 1696, "count", 1,0 +etb1etbPpsErrorCounter = scalar, U16, 1698, "count", 1,0 +etb1etbErrorCode = scalar, S08, 1700, "", 1, 0 +etb1etbErrorCodeBlinker = scalar, S08, 1701, "", 1, 0 +etb1tcEtbDrop = scalar, S08, 1702, "%", 1, 0 +etb1jamTimer = scalar, U16, 1704, "sec", 0.01, 0 +etb1adjustedEtbTarget = scalar, S08, 1706, "%", 1, 0 +etb1state = scalar, U08, 1707, "", 1, 0 +; total TS size = 1708 +etb2targetWithIdlePosition = scalar, F32, 1708, "%", 1,0 +etb2trim = scalar, F32, 1712, "", 1, 0 +etb2luaAdjustment = scalar, F32, 1716, "%", 1,0 +etb2m_wastegatePosition = scalar, F32, 1720, "%", 1,0 +etb2etbFeedForward = scalar, F32, 1724 +etb2etbIntegralError = scalar, F32, 1728, "", 1, 0 +etb2etbCurrentTarget = scalar, F32, 1732, "%", 1, 0 +etb2m_adjustedTarget = scalar, S16, 1736, "%", 0.01, 0 +etb2etbRevLimitActive = bits, U32, 1740, [0:0] +etb2jamDetected = bits, U32, 1740, [1:1] +etb2validPlantPosition = bits, U32, 1740, [2:2] +etb2etbTpsErrorCounter = scalar, U16, 1744, "count", 1,0 +etb2etbPpsErrorCounter = scalar, U16, 1746, "count", 1,0 +etb2etbErrorCode = scalar, S08, 1748, "", 1, 0 +etb2etbErrorCodeBlinker = scalar, S08, 1749, "", 1, 0 +etb2tcEtbDrop = scalar, S08, 1750, "%", 1, 0 +etb2jamTimer = scalar, U16, 1752, "sec", 0.01, 0 +etb2adjustedEtbTarget = scalar, S08, 1754, "%", 1, 0 +etb2state = scalar, U08, 1755, "", 1, 0 +; total TS size = 1756 +wb1faultCode = scalar, U08, 1756, "", 1, 0 +wb1heaterDuty = scalar, U08, 1757, "%", 1, 0 +wb1pumpDuty = scalar, U08, 1758, "%", 1, 0 +wb1tempC = scalar, U16, 1760, "C", 1, 0 +wb1nernstVoltage = scalar, U16, 1762, "V", 0.001, 0 +wb1esr = scalar, U16, 1764, "ohm", 1, 0 +; total TS size = 1768 +wb2faultCode = scalar, U08, 1768, "", 1, 0 +wb2heaterDuty = scalar, U08, 1769, "%", 1, 0 +wb2pumpDuty = scalar, U08, 1770, "%", 1, 0 +wb2tempC = scalar, U16, 1772, "C", 1, 0 +wb2nernstVoltage = scalar, U16, 1774, "V", 0.001, 0 +wb2esr = scalar, U16, 1776, "ohm", 1, 0 +; total TS size = 1780 +dcOutput0 = scalar, F32, 1780, "%", 1,0 +isEnabled0_int = scalar, U08, 1784, "%", 1,0 +isEnabled0 = bits, U32, 1788, [0:0] +; total TS size = 1792 +value0 = scalar, U16, 1792, "RAW", 1,0 +value1 = scalar, U16, 1794, "RAW", 1,0 +errorRate = scalar, F32, 1796, "% (don't belive me)", 1,0 ; total TS size = 1800 -lambdaCurrentlyGood = bits, U32, 1800, [0:0] -lambdaMonitorCut = bits, U32, 1800, [1:1] -lambdaTimeSinceGood = scalar, U16, 1804, "sec", 0.01, 0 -; total TS size = 1808 +vvtTarget = scalar, U16, 1800, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1802, "%", 0.5, 0 +; total TS size = 1804 +lambdaCurrentlyGood = bits, U32, 1804, [0:0] +lambdaMonitorCut = bits, U32, 1804, [1:1] +lambdaTimeSinceGood = scalar, U16, 1808, "sec", 0.01, 0 +; total TS size = 1812 time = { timeNow } @@ -4584,6 +4587,12 @@ curve = rangeMatrix, "Range Switch Input Matrix" gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. upDownLabel = "(RICHER)", "(LEANER)" + table = trailingSparkTable, trailingSparkMap, "Trailing spark", 1 + xyLabels = "RPM", "Ignition Load" + xBins = trailingSparkRpmBins, RPMValue + yBins = trailingSparkLoadBins, ignitionLoad + zBins = trailingSparkTable + table = torqueTableTbl, torqueTableMap, "Engine Torque", 1 xBins = torqueRpmBins, RPMValue yBins = torqueLoadBins, veTableYAxis @@ -4881,6 +4890,7 @@ timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20 timingPidCorrectionGauge = timingPidCorrection,"Idle: Timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 +trailingSparkAngleGauge = trailingSparkAngle,"Ign: Trailing spark deg", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 gaugeCategory = "Boost Control" luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 @@ -5812,6 +5822,7 @@ entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" entry = luaIgnitionSkip, "Ign: Lua Spark Skip", int, "%d" +entry = trailingSparkAngle, "Ign: Trailing spark deg", float, "%.3f" entry = m_knockLevel, "Knock: Current level", float, "%.3f" entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" @@ -6787,6 +6798,7 @@ dialog = ignition_stateDialog, "ignition_state" graphLine = luaTimingAdd liveGraph = ignition_state_4_Graph, "Graph", South graphLine = luaTimingMult + graphLine = trailingSparkAngle dialog = knock_controllerDialog, "knock_controller" @@ -10106,11 +10118,11 @@ commandButton = "Fuel Bench", cmd_set_engine_type_FUEL_BENCH dialog = rotaryDialog, "Rotary" field = "Enable Trailing Sparks", enableTrailingSparks - field = "Trailing Spark Offset", trailingSparkAngle field = "Trailing Pin 1", trailingCoilPins1 field = "Trailing Pin 2", trailingCoilPins2 field = "Trailing Pin 3", trailingCoilPins3 field = "Trailing Pin 4", trailingCoilPins4 + panel = trailingSparkTable diff --git a/firmware/tunerstudio/generated/rusefi_small-can-board.ini b/firmware/tunerstudio/generated/rusefi_small-can-board.ini index 7cd55e8e06..de93f2c365 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.2025.02.07.small-can-board.243255483" + signature = "rusEFI master.2025.02.07.small-can-board.2315012054" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2025.02.07.small-can-board.243255483" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2025.02.07.small-can-board.2315012054" ; 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 @@ -101,7 +101,7 @@ enable2ndByteCanID = false ; CONFIG_DEFINITION_START ; this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt -pageSize = 23280 +pageSize = 23304 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",22="BMW_M52",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",21="ET_BOSCH_QUICK_START",24="ET_TEST_WITH_BOSCH_QUICK_START",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",41="FRANKENSO_MIATA_NA6_MAP",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",47="GM_LCV",55="GM_LTG",98="GM_SBC",49="GM_SBC_GEN5",8="GY6_139QMB",6="HARLEY",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",34="MAZDA_MIATA_NA6",80="MAZDA_MIATA_NA94",10="MAZDA_MIATA_NA96",83="MAZDA_MIATA_NB1",69="MAZDA_MIATA_NB2",86="MAZDA_MIATA_NB2_36",20="MAZDA_MIATA_NC",33="ME17_9_MISC",68="MERCEDES_M111",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",4="MRE_SECONDARY_CAN",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",35="POLARIS",9="POLARIS_RZR",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",27="PROTEUS_GM_LS_4",25="PROTEUS_LUA_DEMO",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",17="TCU_4R70W",100="TEST_100",101="TEST_101",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",93="TEST_ISSUE_6451",19="TEST_ROTARY",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",102="UNUSED102",67="UNUSED67",94="UNUSED94",65="UNUSED_65",97="UNUSED_97",77="VAG_5_CYL",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -245,7 +245,7 @@ vbattAdcChannel = bits, U08, 513, [0:5], $adc_channel_e_list fuelLevelSensor = bits, U08, 514, [0:5], $adc_channel_e_list tps2_1AdcChannel = bits, U08, 515, [0:5], $adc_channel_e_list idle_derivativeFilterLoss = scalar, F32, 516, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 520, "angle", 1, 0, 0, 720, 0 +unusedTrailingSparkAngle = scalar, S32, 520, "", 1, 0, 0, 100, 0 trigger_type = bits, U32, 524, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Daihatsu 3 cylinder", "Mazda SOHC 4", "60-2", "36-1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "Dodge Ram 1+16", "60-2 Wrong Polarity", "Benelli Tre", "Dodge Stratus", "36_2_2_2", "Nissan Primera", "dev 2JZ 3/34 simulator", "Rover K", "GM 24x 5 degree", "Honda CBR 600 Cam", "INVALID", "Honda CBR 600 custom", "3-1 skipped", "Dodge Neon 2003 crank", "Miata NB", "INVALID", "INVALID", "Subaru 7+6", "Jeep 18-2-2-2", "12crank/24cam", "Dodge Neon 1995 crank only", "Jeep XJ 4 cyl", "FiatIAQ_P8", "Mazda Z5", "INVALID", "Renix 44-2-2", "Renix 66-2-2-2", "Honda K 12+1", "INVALID", "36-2", "Subaru SVX", "Suzuki K6A", "Subaru 7 without 6", "INVALID", "INVALID", "GM 60-2-2-2", "Skoda Favorit", "Barra 3+1 Cam", "Kawa KX450F", "Nissan VQ35", "INVALID", "Nissan VQ30", "Nissan QR25", "INVALID", "Subaru SVX Crank 1", "Subaru SVX Cam VVT", "Ford PIP", "Suzuki G13B", "Honda K 4+1", "Nissan MR18 Crank", "32-2", "36-2-1", "36-2-1-1", "3-0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6-0", "Daihatsu 4 cylinder", "INVALID", "dev", "Nissan HR", "Arctic Cat", "HR12 in", "HONDA J30A2", "trg88", "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" trigger_customTotalToothCount = scalar, S32, 528, "number", 1, 0, 1, 300, 0 trigger_customSkippedToothCount = scalar, S32, 532, "number", 1, 0, 0, 300, 0 @@ -1796,7 +1796,10 @@ dynoCarCarMassKg = scalar, S16, 23268, "", 1, 0, 0, 32000, 0 dynoCarCargoMassKg = scalar, S16, 23270, "", 1, 0, 0, 32000, 0 dynoCarCoeffOfDrag = scalar, F32, 23272, "", 1, 0, 0, 100, 0 dynoCarFrontalAreaM2 = scalar, F32, 23276, "", 1, 0, 0, 100, 0 -; total TS size = 23280 +trailingSparkTable = array, S08, 23280, [4x4], "deg", 0.1, 0, 0, 20, 1 +trailingSparkRpmBins = array, U08, 23296, [4], "rpm", 50.0, 0, 0, 12000, 0 +trailingSparkLoadBins = array, U08, 23300, [4], "Load", 5.0, 0, 0, 1000, 0 +; total TS size = 23304 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1890,7 +1893,6 @@ dynoCarFrontalAreaM2 = scalar, F32, 23276, "", 1, 0, 0, 100, 0 fuelLevelSensor = "This is the processor pin that your fuel level sensor in connected to. This is a non standard input so will need to be user defined." tps2_1AdcChannel = "Second throttle body position sensor, single channel so far" idle_derivativeFilterLoss = "0.1 is a good default value" - trailingSparkAngle = "just a temporary solution" trigger_type = "https://github.com/rusefi/rusefi/wiki/All-Supported-Triggers" airByRpmTaper = "Extra air taper amount" boostControlSafeDutyCycle = "Duty cycle to use in case of a sensor failure. This duty cycle should produce the minimum possible amount of boost. This duty is also used in case any of the minimum RPM/TPS/MAP conditions are not met." @@ -2664,7 +2666,7 @@ dynoCarFrontalAreaM2 = scalar, F32, 23276, "", 1, 0, 0, 100, 0 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1808 + ochBlockSize = 1812 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3189,417 +3191,418 @@ dwellVoltageCorrection = scalar, F32, 940, "", 1, 0 luaTimingAdd = scalar, F32, 944, "deg", 1, 0 luaTimingMult = scalar, F32, 948, "deg", 1, 0 luaIgnitionSkip = bits, U32, 952, [0:0] -; total TS size = 956 -m_knockLevel = scalar, F32, 956, "Volts", 1, 0 -m_knockCyl1 = scalar, S08, 960, "dBv", 1, 0 -m_knockCyl2 = scalar, S08, 961, "dBv", 1, 0 -m_knockCyl3 = scalar, S08, 962, "dBv", 1, 0 -m_knockCyl4 = scalar, S08, 963, "dBv", 1, 0 -m_knockCyl5 = scalar, S08, 964, "dBv", 1, 0 -m_knockCyl6 = scalar, S08, 965, "dBv", 1, 0 -m_knockCyl7 = scalar, S08, 966, "dBv", 1, 0 -m_knockCyl8 = scalar, S08, 967, "dBv", 1, 0 -m_knockCyl9 = scalar, S08, 968, "dBv", 1, 0 -m_knockCyl10 = scalar, S08, 969, "dBv", 1, 0 -m_knockCyl11 = scalar, S08, 970, "dBv", 1, 0 -m_knockCyl12 = scalar, S08, 971, "dBv", 1, 0 -m_knockRetard = scalar, F32, 972, "deg", 1,0 -m_knockThreshold = scalar, F32, 976, "", 1, 0 -m_knockCount = scalar, U32, 980, "", 1, 0 -m_maximumRetard = scalar, F32, 984, "", 1, 0 -m_knockSpectrum1 = scalar, U32, 988, "compressed data", 1, 0 -m_knockSpectrum2 = scalar, U32, 992, "compressed data", 1, 0 -m_knockSpectrum3 = scalar, U32, 996, "compressed data", 1, 0 -m_knockSpectrum4 = scalar, U32, 1000, "compressed data", 1, 0 -m_knockSpectrum5 = scalar, U32, 1004, "compressed data", 1, 0 -m_knockSpectrum6 = scalar, U32, 1008, "compressed data", 1, 0 -m_knockSpectrum7 = scalar, U32, 1012, "compressed data", 1, 0 -m_knockSpectrum8 = scalar, U32, 1016, "compressed data", 1, 0 -m_knockSpectrum9 = scalar, U32, 1020, "compressed data", 1, 0 -m_knockSpectrum10 = scalar, U32, 1024, "compressed data", 1, 0 -m_knockSpectrum11 = scalar, U32, 1028, "compressed data", 1, 0 -m_knockSpectrum12 = scalar, U32, 1032, "compressed data", 1, 0 -m_knockSpectrum13 = scalar, U32, 1036, "compressed data", 1, 0 -m_knockSpectrum14 = scalar, U32, 1040, "compressed data", 1, 0 -m_knockSpectrum15 = scalar, U32, 1044, "compressed data", 1, 0 -m_knockSpectrum16 = scalar, U32, 1048, "compressed data", 1, 0 -m_knockSpectrumChannelCyl = scalar, U16, 1052, "compressed N + N", 1, 0 -m_knockFrequencyStart = scalar, U16, 1054, "Hz", 1, 0 -m_knockFrequencyStep = scalar, F32, 1056, "Hz", 1, 0 -m_knockFuelTrimMultiplier = scalar, F32, 1060, "multiplier", 1, 0 -; total TS size = 1064 -m_isPriming = bits, U32, 1064, [0:0] +trailingSparkAngle = scalar, S16, 956, "deg", 0.01,0 +; total TS size = 960 +m_knockLevel = scalar, F32, 960, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 964, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 965, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 966, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 967, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 968, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 969, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 970, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 971, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 972, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 973, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 974, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 975, "dBv", 1, 0 +m_knockRetard = scalar, F32, 976, "deg", 1,0 +m_knockThreshold = scalar, F32, 980, "", 1, 0 +m_knockCount = scalar, U32, 984, "", 1, 0 +m_maximumRetard = scalar, F32, 988, "", 1, 0 +m_knockSpectrum1 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1040, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1044, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1048, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1052, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1056, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1058, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1060, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1064, "multiplier", 1, 0 ; total TS size = 1068 -tcuCurrentGear = scalar, S08, 1068, "gear", 1, 0 -tcRatio = scalar, U16, 1070, "value", 0.01, 0 -lastShiftTime = scalar, F32, 1072, "", 1, 0 -tcu_currentRange = scalar, U08, 1076, "", 1, 0 -pressureControlDuty = scalar, S08, 1077, "%", 1,0 -torqueConverterDuty = scalar, S08, 1078, "%", 1,0 -isShifting = bits, U32, 1080, [0:0] -; total TS size = 1084 -throttleUseWotModel = bits, U32, 1084, [0:0] -throttleModelCrossoverAngle = scalar, S16, 1088, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1092, "g/s", 1, 0 -; total TS size = 1096 -m_requested_pump = scalar, F32, 1096, "", 1, 0 -fuel_requested_percent = scalar, F32, 1100, "%", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1104, "", 1, 0 -noValve = bits, U32, 1108, [0:0] -angleAboveMin = bits, U32, 1108, [1:1] -isHpfpActive = bits, U32, 1108, [2:2] -HpfpValveState = bits, U32, 1108, [3:3] -m_pressureTarget_kPa = scalar, F32, 1112, "", 1, 0 -nextLobe = scalar, F32, 1116, "", 1, 0 -di_nextStart = scalar, F32, 1120, "v", 1, 0 -HpfdActivationPhase = scalar, F32, 1124, "", 1, 0 -HpfdDeactivationPhase = scalar, F32, 1128, "", 1, 0 -; total TS size = 1132 -m_deadtime = scalar, F32, 1132, "ms", 1, 0 -pressureDelta = scalar, F32, 1136, "kPa", 1, 0 -pressureRatio = scalar, F32, 1140, "", 1, 0 -; total TS size = 1144 -retardThresholdRpm = scalar, S32, 1144, "", 1, 0 -launchActivatePinState = bits, U32, 1148, [0:0] -isPreLaunchCondition = bits, U32, 1148, [1:1] -isLaunchCondition = bits, U32, 1148, [2:2] -isSwitchActivated = bits, U32, 1148, [3:3] -isClutchActivated = bits, U32, 1148, [4:4] -isBrakePedalActivated = bits, U32, 1148, [5:5] -isValidInputPin = bits, U32, 1148, [6:6] -activateSwitchCondition = bits, U32, 1148, [7:7] -rpmLaunchCondition = bits, U32, 1148, [8:8] -rpmPreLaunchCondition = bits, U32, 1148, [9:9] -speedCondition = bits, U32, 1148, [10:10] -tpsCondition = bits, U32, 1148, [11:11] -; total TS size = 1152 -isTorqueReductionTriggerPinValid = bits, U32, 1152, [0:0] -torqueReductionTriggerPinState = bits, U32, 1152, [1:1] -isTimeConditionSatisfied = bits, U32, 1152, [2:2] -isRpmConditionSatisfied = bits, U32, 1152, [3:3] -isAppConditionSatisfied = bits, U32, 1152, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1152, [5:5] +m_isPriming = bits, U32, 1068, [0:0] +; total TS size = 1072 +tcuCurrentGear = scalar, S08, 1072, "gear", 1, 0 +tcRatio = scalar, U16, 1074, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1076, "", 1, 0 +tcu_currentRange = scalar, U08, 1080, "", 1, 0 +pressureControlDuty = scalar, S08, 1081, "%", 1,0 +torqueConverterDuty = scalar, S08, 1082, "%", 1,0 +isShifting = bits, U32, 1084, [0:0] +; total TS size = 1088 +throttleUseWotModel = bits, U32, 1088, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1092, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1096, "g/s", 1, 0 +; total TS size = 1100 +m_requested_pump = scalar, F32, 1100, "", 1, 0 +fuel_requested_percent = scalar, F32, 1104, "%", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1108, "", 1, 0 +noValve = bits, U32, 1112, [0:0] +angleAboveMin = bits, U32, 1112, [1:1] +isHpfpActive = bits, U32, 1112, [2:2] +HpfpValveState = bits, U32, 1112, [3:3] +m_pressureTarget_kPa = scalar, F32, 1116, "", 1, 0 +nextLobe = scalar, F32, 1120, "", 1, 0 +di_nextStart = scalar, F32, 1124, "v", 1, 0 +HpfdActivationPhase = scalar, F32, 1128, "", 1, 0 +HpfdDeactivationPhase = scalar, F32, 1132, "", 1, 0 +; total TS size = 1136 +m_deadtime = scalar, F32, 1136, "ms", 1, 0 +pressureDelta = scalar, F32, 1140, "kPa", 1, 0 +pressureRatio = scalar, F32, 1144, "", 1, 0 +; total TS size = 1148 +retardThresholdRpm = scalar, S32, 1148, "", 1, 0 +launchActivatePinState = bits, U32, 1152, [0:0] +isPreLaunchCondition = bits, U32, 1152, [1:1] +isLaunchCondition = bits, U32, 1152, [2:2] +isSwitchActivated = bits, U32, 1152, [3:3] +isClutchActivated = bits, U32, 1152, [4:4] +isBrakePedalActivated = bits, U32, 1152, [5:5] +isValidInputPin = bits, U32, 1152, [6:6] +activateSwitchCondition = bits, U32, 1152, [7:7] +rpmLaunchCondition = bits, U32, 1152, [8:8] +rpmPreLaunchCondition = bits, U32, 1152, [9:9] +speedCondition = bits, U32, 1152, [10:10] +tpsCondition = bits, U32, 1152, [11:11] ; total TS size = 1156 -isAntilagCondition = bits, U32, 1156, [0:0] -ALSMinRPMCondition = bits, U32, 1156, [1:1] -ALSMaxRPMCondition = bits, U32, 1156, [2:2] -ALSMinCLTCondition = bits, U32, 1156, [3:3] -ALSMaxCLTCondition = bits, U32, 1156, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1156, [5:5] -isALSSwitchActivated = bits, U32, 1156, [6:6] -ALSActivatePinState = bits, U32, 1156, [7:7] -ALSSwitchCondition = bits, U32, 1156, [8:8] -ALSTimerCondition = bits, U32, 1156, [9:9] -fuelALSCorrection = scalar, F32, 1160, "", 1, 0 -timingALSCorrection = scalar, S16, 1164, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1166, "deg", 0.01, 0 -; total TS size = 1168 -isTpsInvalid = bits, U32, 1168, [0:0] -m_shouldResetPid = bits, U32, 1168, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1168, [2:2] -isNotClosedLoop = bits, U32, 1168, [3:3] -isZeroRpm = bits, U32, 1168, [4:4] -hasInitBoost = bits, U32, 1168, [5:5] -rpmTooLow = bits, U32, 1168, [6:6] -tpsTooLow = bits, U32, 1168, [7:7] -mapTooLow = bits, U32, 1168, [8:8] -isPlantValid = bits, U32, 1168, [9:9] -isBoostControlled = bits, U32, 1168, [10:10] -luaTargetAdd = scalar, S16, 1172, "v", 0.5,0 -boostOutput = scalar, S16, 1174, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1176, "v", 1,0 -openLoopPart = scalar, F32, 1180, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1184, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1188, "%", 0.5,0 -boostControlTarget = scalar, S16, 1190, "kPa", 0.03333333333333333,0 -; total TS size = 1192 -acButtonState = scalar, S08, 1192, "", 1, 0 -m_acEnabled = bits, U32, 1196, [0:0] -engineTooSlow = bits, U32, 1196, [1:1] -engineTooFast = bits, U32, 1196, [2:2] -noClt = bits, U32, 1196, [3:3] -engineTooHot = bits, U32, 1196, [4:4] -tpsTooHigh = bits, U32, 1196, [5:5] -isDisabledByLua = bits, U32, 1196, [6:6] -acCompressorState = bits, U32, 1196, [7:7] -acPressureTooLow = bits, U32, 1196, [8:8] -acPressureTooHigh = bits, U32, 1196, [9:9] -; total TS size = 1200 -isNitrousArmed = bits, U32, 1200, [0:0] -isNitrousSpeedCondition = bits, U32, 1200, [1:1] -isNitrousTpsCondition = bits, U32, 1200, [2:2] -isNitrousCltCondition = bits, U32, 1200, [3:3] -isNitrousMapCondition = bits, U32, 1200, [4:4] -isNitrousAfrCondition = bits, U32, 1200, [5:5] -isNitrousRpmCondition = bits, U32, 1200, [6:6] -isNitrousCondition = bits, U32, 1200, [7:7] +isTorqueReductionTriggerPinValid = bits, U32, 1156, [0:0] +torqueReductionTriggerPinState = bits, U32, 1156, [1:1] +isTimeConditionSatisfied = bits, U32, 1156, [2:2] +isRpmConditionSatisfied = bits, U32, 1156, [3:3] +isAppConditionSatisfied = bits, U32, 1156, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1156, [5:5] +; total TS size = 1160 +isAntilagCondition = bits, U32, 1160, [0:0] +ALSMinRPMCondition = bits, U32, 1160, [1:1] +ALSMaxRPMCondition = bits, U32, 1160, [2:2] +ALSMinCLTCondition = bits, U32, 1160, [3:3] +ALSMaxCLTCondition = bits, U32, 1160, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1160, [5:5] +isALSSwitchActivated = bits, U32, 1160, [6:6] +ALSActivatePinState = bits, U32, 1160, [7:7] +ALSSwitchCondition = bits, U32, 1160, [8:8] +ALSTimerCondition = bits, U32, 1160, [9:9] +fuelALSCorrection = scalar, F32, 1164, "", 1, 0 +timingALSCorrection = scalar, S16, 1168, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1170, "deg", 0.01, 0 +; total TS size = 1172 +isTpsInvalid = bits, U32, 1172, [0:0] +m_shouldResetPid = bits, U32, 1172, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1172, [2:2] +isNotClosedLoop = bits, U32, 1172, [3:3] +isZeroRpm = bits, U32, 1172, [4:4] +hasInitBoost = bits, U32, 1172, [5:5] +rpmTooLow = bits, U32, 1172, [6:6] +tpsTooLow = bits, U32, 1172, [7:7] +mapTooLow = bits, U32, 1172, [8:8] +isPlantValid = bits, U32, 1172, [9:9] +isBoostControlled = bits, U32, 1172, [10:10] +luaTargetAdd = scalar, S16, 1176, "v", 0.5,0 +boostOutput = scalar, S16, 1178, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1180, "v", 1,0 +openLoopPart = scalar, F32, 1184, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1188, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1192, "%", 0.5,0 +boostControlTarget = scalar, S16, 1194, "kPa", 0.03333333333333333,0 +; total TS size = 1196 +acButtonState = scalar, S08, 1196, "", 1, 0 +m_acEnabled = bits, U32, 1200, [0:0] +engineTooSlow = bits, U32, 1200, [1:1] +engineTooFast = bits, U32, 1200, [2:2] +noClt = bits, U32, 1200, [3:3] +engineTooHot = bits, U32, 1200, [4:4] +tpsTooHigh = bits, U32, 1200, [5:5] +isDisabledByLua = bits, U32, 1200, [6:6] +acCompressorState = bits, U32, 1200, [7:7] +acPressureTooLow = bits, U32, 1200, [8:8] +acPressureTooHigh = bits, U32, 1200, [9:9] ; total TS size = 1204 -fan1cranking = bits, U32, 1204, [0:0] -fan1notRunning = bits, U32, 1204, [1:1] -fan1disabledWhileEngineStopped = bits, U32, 1204, [2:2] -fan1brokenClt = bits, U32, 1204, [3:3] -fan1enabledForAc = bits, U32, 1204, [4:4] -fan1hot = bits, U32, 1204, [5:5] -fan1cold = bits, U32, 1204, [6:6] -fan1disabledBySpeed = bits, U32, 1204, [7:7] -fan1m_state = bits, U32, 1204, [8:8] -fan1radiatorFanStatus = scalar, U08, 1208, "", 1, 0 -; total TS size = 1212 -fan2cranking = bits, U32, 1212, [0:0] -fan2notRunning = bits, U32, 1212, [1:1] -fan2disabledWhileEngineStopped = bits, U32, 1212, [2:2] -fan2brokenClt = bits, U32, 1212, [3:3] -fan2enabledForAc = bits, U32, 1212, [4:4] -fan2hot = bits, U32, 1212, [5:5] -fan2cold = bits, U32, 1212, [6:6] -fan2disabledBySpeed = bits, U32, 1212, [7:7] -fan2m_state = bits, U32, 1212, [8:8] -fan2radiatorFanStatus = scalar, U08, 1216, "", 1, 0 -; total TS size = 1220 -isPrime = bits, U32, 1220, [0:0] -engineTurnedRecently = bits, U32, 1220, [1:1] -isFuelPumpOn = bits, U32, 1220, [2:2] -ignitionOn = bits, U32, 1220, [3:3] +isNitrousArmed = bits, U32, 1204, [0:0] +isNitrousSpeedCondition = bits, U32, 1204, [1:1] +isNitrousTpsCondition = bits, U32, 1204, [2:2] +isNitrousCltCondition = bits, U32, 1204, [3:3] +isNitrousMapCondition = bits, U32, 1204, [4:4] +isNitrousAfrCondition = bits, U32, 1204, [5:5] +isNitrousRpmCondition = bits, U32, 1204, [6:6] +isNitrousCondition = bits, U32, 1204, [7:7] +; total TS size = 1208 +fan1cranking = bits, U32, 1208, [0:0] +fan1notRunning = bits, U32, 1208, [1:1] +fan1disabledWhileEngineStopped = bits, U32, 1208, [2:2] +fan1brokenClt = bits, U32, 1208, [3:3] +fan1enabledForAc = bits, U32, 1208, [4:4] +fan1hot = bits, U32, 1208, [5:5] +fan1cold = bits, U32, 1208, [6:6] +fan1disabledBySpeed = bits, U32, 1208, [7:7] +fan1m_state = bits, U32, 1208, [8:8] +fan1radiatorFanStatus = scalar, U08, 1212, "", 1, 0 +; total TS size = 1216 +fan2cranking = bits, U32, 1216, [0:0] +fan2notRunning = bits, U32, 1216, [1:1] +fan2disabledWhileEngineStopped = bits, U32, 1216, [2:2] +fan2brokenClt = bits, U32, 1216, [3:3] +fan2enabledForAc = bits, U32, 1216, [4:4] +fan2hot = bits, U32, 1216, [5:5] +fan2cold = bits, U32, 1216, [6:6] +fan2disabledBySpeed = bits, U32, 1216, [7:7] +fan2m_state = bits, U32, 1216, [8:8] +fan2radiatorFanStatus = scalar, U08, 1220, "", 1, 0 ; total TS size = 1224 -isBenchTest = bits, U32, 1224, [0:0] -hasIgnitionVoltage = bits, U32, 1224, [1:1] -mainRelayState = bits, U32, 1224, [2:2] -delayedShutoffRequested = bits, U32, 1224, [3:3] +isPrime = bits, U32, 1224, [0:0] +engineTurnedRecently = bits, U32, 1224, [1:1] +isFuelPumpOn = bits, U32, 1224, [2:2] +ignitionOn = bits, U32, 1224, [3:3] ; total TS size = 1228 -lua_fuelAdd = scalar, F32, 1228, "g", 1, 0 -lua_fuelMult = scalar, F32, 1232, "", 1, 0 -lua_clutchUpState = bits, U32, 1236, [0:0] -lua_brakePedalState = bits, U32, 1236, [1:1] -lua_acRequestState = bits, U32, 1236, [2:2] -lua_luaDisableEtb = bits, U32, 1236, [3:3] -lua_luaIgnCut = bits, U32, 1236, [4:4] -lua_luaFuelCut = bits, U32, 1236, [5:5] -lua_clutchDownState = bits, U32, 1236, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1236, [7:7] -lua_torqueReductionState = bits, U32, 1236, [8:8] -sd_tCharge = scalar, S16, 1240, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1244, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1248, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1252, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1256, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1260, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1264, "", 1, 0 -hellenBoardId = scalar, S16, 1268, "id", 1, 0 -clutchUpState = scalar, S08, 1270, "", 1, 0 -brakePedalState = scalar, S08, 1271, "", 1, 0 -startStopState = scalar, S08, 1272, "", 1, 0 -smartChipState = scalar, S08, 1273, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1274, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1275, "", 1, 0 -startStopPhysicalState = bits, U32, 1276, [0:0] -acrActive = bits, U32, 1276, [1:1] -acrEngineMovedRecently = bits, U32, 1276, [2:2] -heaterControlEnabled = bits, U32, 1276, [3:3] -luaDigitalState0 = bits, U32, 1276, [4:4] -luaDigitalState1 = bits, U32, 1276, [5:5] -luaDigitalState2 = bits, U32, 1276, [6:6] -luaDigitalState3 = bits, U32, 1276, [7:7] -clutchDownState = bits, U32, 1276, [8:8] -startStopStateToggleCounter = scalar, U32, 1280, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1284, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1288, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1292, "", 1, 0 -fuelInjectionCounter = scalar, U32, 1296, "", 1, 0 -globalSparkCounter = scalar, U32, 1300, "", 1, 0 -fuelingLoad = scalar, F32, 1304, "", 1, 0 -ignitionLoad = scalar, F32, 1308, "", 1, 0 -veTableYAxis = scalar, U16, 1312, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1314, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1315, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1316, "", 1, 0 -; total TS size = 1320 -tpsFrom = scalar, F32, 1320 -tpsTo = scalar, F32, 1324 -deltaTps = scalar, F32, 1328 -extraFuel = scalar, F32, 1332, "", 1, 0 -valueFromTable = scalar, F32, 1336, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1340, [0:0] -isBelowDecelThreshold = bits, U32, 1340, [1:1] -isTimeToResetAccumulator = bits, U32, 1340, [2:2] -isFractionalEnrichment = bits, U32, 1340, [3:3] -belowEpsilon = bits, U32, 1340, [4:4] -tooShort = bits, U32, 1340, [5:5] -fractionalInjFuel = scalar, F32, 1344, "", 1, 0 -accumulatedValue = scalar, F32, 1348, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1352, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1356, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1360, "", 1, 0 -cycleCnt = scalar, S32, 1364, "", 1, 0 -; total TS size = 1368 -hwEventCounters1 = scalar, U16, 1368, "", 1, 0 -hwEventCounters2 = scalar, U16, 1370, "", 1, 0 -hwEventCounters3 = scalar, U16, 1372, "", 1, 0 -hwEventCounters4 = scalar, U16, 1374, "", 1, 0 -vvtCamCounter = scalar, U16, 1376, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1380, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1384, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1388, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1389, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1392, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1396, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1400, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1404, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1408, [0:0] -triggerElapsedUs = scalar, U32, 1412, "", 1, 0 -; total TS size = 1416 -trgsynchronizationCounter = scalar, U32, 1416, "", 1, 0 -trgvvtToothDurations0 = scalar, U32, 1420, "us", 1, 0 -trgvvtCurrentPosition = scalar, F32, 1424, "", 1, 0 -trgvvtToothPosition1 = scalar, F32, 1428, "", 1, 0 -trgvvtToothPosition2 = scalar, F32, 1432, "", 1, 0 -trgvvtToothPosition3 = scalar, F32, 1436, "", 1, 0 -trgvvtToothPosition4 = scalar, F32, 1440, "", 1, 0 -trgtriggerSyncGapRatio = scalar, F32, 1444, "", 1, 0 -trgtriggerStateIndex = scalar, U08, 1448, "", 1, 0 -; total TS size = 1452 -vvt1isynchronizationCounter = scalar, U32, 1452, "", 1, 0 -vvt1ivvtToothDurations0 = scalar, U32, 1456, "us", 1, 0 -vvt1ivvtCurrentPosition = scalar, F32, 1460, "", 1, 0 -vvt1ivvtToothPosition1 = scalar, F32, 1464, "", 1, 0 -vvt1ivvtToothPosition2 = scalar, F32, 1468, "", 1, 0 -vvt1ivvtToothPosition3 = scalar, F32, 1472, "", 1, 0 -vvt1ivvtToothPosition4 = scalar, F32, 1476, "", 1, 0 -vvt1itriggerSyncGapRatio = scalar, F32, 1480, "", 1, 0 -vvt1itriggerStateIndex = scalar, U08, 1484, "", 1, 0 -; total TS size = 1488 -vvt1esynchronizationCounter = scalar, U32, 1488, "", 1, 0 -vvt1evvtToothDurations0 = scalar, U32, 1492, "us", 1, 0 -vvt1evvtCurrentPosition = scalar, F32, 1496, "", 1, 0 -vvt1evvtToothPosition1 = scalar, F32, 1500, "", 1, 0 -vvt1evvtToothPosition2 = scalar, F32, 1504, "", 1, 0 -vvt1evvtToothPosition3 = scalar, F32, 1508, "", 1, 0 -vvt1evvtToothPosition4 = scalar, F32, 1512, "", 1, 0 -vvt1etriggerSyncGapRatio = scalar, F32, 1516, "", 1, 0 -vvt1etriggerStateIndex = scalar, U08, 1520, "", 1, 0 -; total TS size = 1524 -vvt2isynchronizationCounter = scalar, U32, 1524, "", 1, 0 -vvt2ivvtToothDurations0 = scalar, U32, 1528, "us", 1, 0 -vvt2ivvtCurrentPosition = scalar, F32, 1532, "", 1, 0 -vvt2ivvtToothPosition1 = scalar, F32, 1536, "", 1, 0 -vvt2ivvtToothPosition2 = scalar, F32, 1540, "", 1, 0 -vvt2ivvtToothPosition3 = scalar, F32, 1544, "", 1, 0 -vvt2ivvtToothPosition4 = scalar, F32, 1548, "", 1, 0 -vvt2itriggerSyncGapRatio = scalar, F32, 1552, "", 1, 0 -vvt2itriggerStateIndex = scalar, U08, 1556, "", 1, 0 -; total TS size = 1560 -vvt2esynchronizationCounter = scalar, U32, 1560, "", 1, 0 -vvt2evvtToothDurations0 = scalar, U32, 1564, "us", 1, 0 -vvt2evvtCurrentPosition = scalar, F32, 1568, "", 1, 0 -vvt2evvtToothPosition1 = scalar, F32, 1572, "", 1, 0 -vvt2evvtToothPosition2 = scalar, F32, 1576, "", 1, 0 -vvt2evvtToothPosition3 = scalar, F32, 1580, "", 1, 0 -vvt2evvtToothPosition4 = scalar, F32, 1584, "", 1, 0 -vvt2etriggerSyncGapRatio = scalar, F32, 1588, "", 1, 0 -vvt2etriggerStateIndex = scalar, U08, 1592, "", 1, 0 -; total TS size = 1596 -camResyncCounter = scalar, U08, 1596, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1600, [0:0] -; total TS size = 1604 -wallFuelCorrection = scalar, F32, 1604, "", 1, 0 -wallFuel = scalar, F32, 1608, "", 1, 0 -; total TS size = 1612 -idleState = bits, S32, 1612, [0:2], "not important" -currentIdlePosition = scalar, F32, 1616 -baseIdlePosition = scalar, F32, 1620 -idleClosedLoop = scalar, F32, 1624 -iacByTpsTaper = scalar, F32, 1628 -mightResetPid = bits, U32, 1632, [0:0] -shouldResetPid = bits, U32, 1632, [1:1] -wasResetPid = bits, U32, 1632, [2:2] -mustResetPid = bits, U32, 1632, [3:3] -isCranking = bits, U32, 1632, [4:4] -isIacTableForCoasting = bits, U32, 1632, [5:5] -notIdling = bits, U32, 1632, [6:6] -needReset = bits, U32, 1632, [7:7] -isInDeadZone = bits, U32, 1632, [8:8] -isBlipping = bits, U32, 1632, [9:9] -useClosedLoop = bits, U32, 1632, [10:10] -badTps = bits, U32, 1632, [11:11] -looksLikeRunning = bits, U32, 1632, [12:12] -looksLikeCoasting = bits, U32, 1632, [13:13] -looksLikeCrankToIdle = bits, U32, 1632, [14:14] -isIdleCoasting = bits, U32, 1632, [15:15] -isIdleClosedLoop = bits, U32, 1632, [16:16] -idleTarget = scalar, S32, 1636, "", 1, 0 -targetRpmByClt = scalar, S32, 1640, "", 1, 0 -targetRpmAc = scalar, S32, 1644, "", 1, 0 -iacByRpmTaper = scalar, F32, 1648 -luaAdd = scalar, F32, 1652 -; total TS size = 1656 -etb1targetWithIdlePosition = scalar, F32, 1656, "%", 1,0 -etb1trim = scalar, F32, 1660, "", 1, 0 -etb1luaAdjustment = scalar, F32, 1664, "%", 1,0 -etb1m_wastegatePosition = scalar, F32, 1668, "%", 1,0 -etb1etbFeedForward = scalar, F32, 1672 -etb1etbIntegralError = scalar, F32, 1676, "", 1, 0 -etb1etbCurrentTarget = scalar, F32, 1680, "%", 1, 0 -etb1m_adjustedTarget = scalar, S16, 1684, "%", 0.01, 0 -etb1etbRevLimitActive = bits, U32, 1688, [0:0] -etb1jamDetected = bits, U32, 1688, [1:1] -etb1validPlantPosition = bits, U32, 1688, [2:2] -etb1etbTpsErrorCounter = scalar, U16, 1692, "count", 1,0 -etb1etbPpsErrorCounter = scalar, U16, 1694, "count", 1,0 -etb1etbErrorCode = scalar, S08, 1696, "", 1, 0 -etb1etbErrorCodeBlinker = scalar, S08, 1697, "", 1, 0 -etb1tcEtbDrop = scalar, S08, 1698, "%", 1, 0 -etb1jamTimer = scalar, U16, 1700, "sec", 0.01, 0 -etb1adjustedEtbTarget = scalar, S08, 1702, "%", 1, 0 -etb1state = scalar, U08, 1703, "", 1, 0 -; total TS size = 1704 -etb2targetWithIdlePosition = scalar, F32, 1704, "%", 1,0 -etb2trim = scalar, F32, 1708, "", 1, 0 -etb2luaAdjustment = scalar, F32, 1712, "%", 1,0 -etb2m_wastegatePosition = scalar, F32, 1716, "%", 1,0 -etb2etbFeedForward = scalar, F32, 1720 -etb2etbIntegralError = scalar, F32, 1724, "", 1, 0 -etb2etbCurrentTarget = scalar, F32, 1728, "%", 1, 0 -etb2m_adjustedTarget = scalar, S16, 1732, "%", 0.01, 0 -etb2etbRevLimitActive = bits, U32, 1736, [0:0] -etb2jamDetected = bits, U32, 1736, [1:1] -etb2validPlantPosition = bits, U32, 1736, [2:2] -etb2etbTpsErrorCounter = scalar, U16, 1740, "count", 1,0 -etb2etbPpsErrorCounter = scalar, U16, 1742, "count", 1,0 -etb2etbErrorCode = scalar, S08, 1744, "", 1, 0 -etb2etbErrorCodeBlinker = scalar, S08, 1745, "", 1, 0 -etb2tcEtbDrop = scalar, S08, 1746, "%", 1, 0 -etb2jamTimer = scalar, U16, 1748, "sec", 0.01, 0 -etb2adjustedEtbTarget = scalar, S08, 1750, "%", 1, 0 -etb2state = scalar, U08, 1751, "", 1, 0 -; total TS size = 1752 -wb1faultCode = scalar, U08, 1752, "", 1, 0 -wb1heaterDuty = scalar, U08, 1753, "%", 1, 0 -wb1pumpDuty = scalar, U08, 1754, "%", 1, 0 -wb1tempC = scalar, U16, 1756, "C", 1, 0 -wb1nernstVoltage = scalar, U16, 1758, "V", 0.001, 0 -wb1esr = scalar, U16, 1760, "ohm", 1, 0 -; total TS size = 1764 -wb2faultCode = scalar, U08, 1764, "", 1, 0 -wb2heaterDuty = scalar, U08, 1765, "%", 1, 0 -wb2pumpDuty = scalar, U08, 1766, "%", 1, 0 -wb2tempC = scalar, U16, 1768, "C", 1, 0 -wb2nernstVoltage = scalar, U16, 1770, "V", 0.001, 0 -wb2esr = scalar, U16, 1772, "ohm", 1, 0 -; total TS size = 1776 -dcOutput0 = scalar, F32, 1776, "%", 1,0 -isEnabled0_int = scalar, U08, 1780, "%", 1,0 -isEnabled0 = bits, U32, 1784, [0:0] -; total TS size = 1788 -value0 = scalar, U16, 1788, "RAW", 1,0 -value1 = scalar, U16, 1790, "RAW", 1,0 -errorRate = scalar, F32, 1792, "% (don't belive me)", 1,0 -; total TS size = 1796 -vvtTarget = scalar, U16, 1796, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1798, "%", 0.5, 0 +isBenchTest = bits, U32, 1228, [0:0] +hasIgnitionVoltage = bits, U32, 1228, [1:1] +mainRelayState = bits, U32, 1228, [2:2] +delayedShutoffRequested = bits, U32, 1228, [3:3] +; total TS size = 1232 +lua_fuelAdd = scalar, F32, 1232, "g", 1, 0 +lua_fuelMult = scalar, F32, 1236, "", 1, 0 +lua_clutchUpState = bits, U32, 1240, [0:0] +lua_brakePedalState = bits, U32, 1240, [1:1] +lua_acRequestState = bits, U32, 1240, [2:2] +lua_luaDisableEtb = bits, U32, 1240, [3:3] +lua_luaIgnCut = bits, U32, 1240, [4:4] +lua_luaFuelCut = bits, U32, 1240, [5:5] +lua_clutchDownState = bits, U32, 1240, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1240, [7:7] +lua_torqueReductionState = bits, U32, 1240, [8:8] +sd_tCharge = scalar, S16, 1244, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1248, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1252, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1256, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1260, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1264, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1268, "", 1, 0 +hellenBoardId = scalar, S16, 1272, "id", 1, 0 +clutchUpState = scalar, S08, 1274, "", 1, 0 +brakePedalState = scalar, S08, 1275, "", 1, 0 +startStopState = scalar, S08, 1276, "", 1, 0 +smartChipState = scalar, S08, 1277, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1278, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1279, "", 1, 0 +startStopPhysicalState = bits, U32, 1280, [0:0] +acrActive = bits, U32, 1280, [1:1] +acrEngineMovedRecently = bits, U32, 1280, [2:2] +heaterControlEnabled = bits, U32, 1280, [3:3] +luaDigitalState0 = bits, U32, 1280, [4:4] +luaDigitalState1 = bits, U32, 1280, [5:5] +luaDigitalState2 = bits, U32, 1280, [6:6] +luaDigitalState3 = bits, U32, 1280, [7:7] +clutchDownState = bits, U32, 1280, [8:8] +startStopStateToggleCounter = scalar, U32, 1284, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1288, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1292, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1296, "", 1, 0 +fuelInjectionCounter = scalar, U32, 1300, "", 1, 0 +globalSparkCounter = scalar, U32, 1304, "", 1, 0 +fuelingLoad = scalar, F32, 1308, "", 1, 0 +ignitionLoad = scalar, F32, 1312, "", 1, 0 +veTableYAxis = scalar, U16, 1316, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1318, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1319, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1320, "", 1, 0 +; total TS size = 1324 +tpsFrom = scalar, F32, 1324 +tpsTo = scalar, F32, 1328 +deltaTps = scalar, F32, 1332 +extraFuel = scalar, F32, 1336, "", 1, 0 +valueFromTable = scalar, F32, 1340, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1344, [0:0] +isBelowDecelThreshold = bits, U32, 1344, [1:1] +isTimeToResetAccumulator = bits, U32, 1344, [2:2] +isFractionalEnrichment = bits, U32, 1344, [3:3] +belowEpsilon = bits, U32, 1344, [4:4] +tooShort = bits, U32, 1344, [5:5] +fractionalInjFuel = scalar, F32, 1348, "", 1, 0 +accumulatedValue = scalar, F32, 1352, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1356, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1360, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1364, "", 1, 0 +cycleCnt = scalar, S32, 1368, "", 1, 0 +; total TS size = 1372 +hwEventCounters1 = scalar, U16, 1372, "", 1, 0 +hwEventCounters2 = scalar, U16, 1374, "", 1, 0 +hwEventCounters3 = scalar, U16, 1376, "", 1, 0 +hwEventCounters4 = scalar, U16, 1378, "", 1, 0 +vvtCamCounter = scalar, U16, 1380, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1384, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1388, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1392, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1393, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1396, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1400, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1404, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1408, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1412, [0:0] +triggerElapsedUs = scalar, U32, 1416, "", 1, 0 +; total TS size = 1420 +trgsynchronizationCounter = scalar, U32, 1420, "", 1, 0 +trgvvtToothDurations0 = scalar, U32, 1424, "us", 1, 0 +trgvvtCurrentPosition = scalar, F32, 1428, "", 1, 0 +trgvvtToothPosition1 = scalar, F32, 1432, "", 1, 0 +trgvvtToothPosition2 = scalar, F32, 1436, "", 1, 0 +trgvvtToothPosition3 = scalar, F32, 1440, "", 1, 0 +trgvvtToothPosition4 = scalar, F32, 1444, "", 1, 0 +trgtriggerSyncGapRatio = scalar, F32, 1448, "", 1, 0 +trgtriggerStateIndex = scalar, U08, 1452, "", 1, 0 +; total TS size = 1456 +vvt1isynchronizationCounter = scalar, U32, 1456, "", 1, 0 +vvt1ivvtToothDurations0 = scalar, U32, 1460, "us", 1, 0 +vvt1ivvtCurrentPosition = scalar, F32, 1464, "", 1, 0 +vvt1ivvtToothPosition1 = scalar, F32, 1468, "", 1, 0 +vvt1ivvtToothPosition2 = scalar, F32, 1472, "", 1, 0 +vvt1ivvtToothPosition3 = scalar, F32, 1476, "", 1, 0 +vvt1ivvtToothPosition4 = scalar, F32, 1480, "", 1, 0 +vvt1itriggerSyncGapRatio = scalar, F32, 1484, "", 1, 0 +vvt1itriggerStateIndex = scalar, U08, 1488, "", 1, 0 +; total TS size = 1492 +vvt1esynchronizationCounter = scalar, U32, 1492, "", 1, 0 +vvt1evvtToothDurations0 = scalar, U32, 1496, "us", 1, 0 +vvt1evvtCurrentPosition = scalar, F32, 1500, "", 1, 0 +vvt1evvtToothPosition1 = scalar, F32, 1504, "", 1, 0 +vvt1evvtToothPosition2 = scalar, F32, 1508, "", 1, 0 +vvt1evvtToothPosition3 = scalar, F32, 1512, "", 1, 0 +vvt1evvtToothPosition4 = scalar, F32, 1516, "", 1, 0 +vvt1etriggerSyncGapRatio = scalar, F32, 1520, "", 1, 0 +vvt1etriggerStateIndex = scalar, U08, 1524, "", 1, 0 +; total TS size = 1528 +vvt2isynchronizationCounter = scalar, U32, 1528, "", 1, 0 +vvt2ivvtToothDurations0 = scalar, U32, 1532, "us", 1, 0 +vvt2ivvtCurrentPosition = scalar, F32, 1536, "", 1, 0 +vvt2ivvtToothPosition1 = scalar, F32, 1540, "", 1, 0 +vvt2ivvtToothPosition2 = scalar, F32, 1544, "", 1, 0 +vvt2ivvtToothPosition3 = scalar, F32, 1548, "", 1, 0 +vvt2ivvtToothPosition4 = scalar, F32, 1552, "", 1, 0 +vvt2itriggerSyncGapRatio = scalar, F32, 1556, "", 1, 0 +vvt2itriggerStateIndex = scalar, U08, 1560, "", 1, 0 +; total TS size = 1564 +vvt2esynchronizationCounter = scalar, U32, 1564, "", 1, 0 +vvt2evvtToothDurations0 = scalar, U32, 1568, "us", 1, 0 +vvt2evvtCurrentPosition = scalar, F32, 1572, "", 1, 0 +vvt2evvtToothPosition1 = scalar, F32, 1576, "", 1, 0 +vvt2evvtToothPosition2 = scalar, F32, 1580, "", 1, 0 +vvt2evvtToothPosition3 = scalar, F32, 1584, "", 1, 0 +vvt2evvtToothPosition4 = scalar, F32, 1588, "", 1, 0 +vvt2etriggerSyncGapRatio = scalar, F32, 1592, "", 1, 0 +vvt2etriggerStateIndex = scalar, U08, 1596, "", 1, 0 +; total TS size = 1600 +camResyncCounter = scalar, U08, 1600, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1604, [0:0] +; total TS size = 1608 +wallFuelCorrection = scalar, F32, 1608, "", 1, 0 +wallFuel = scalar, F32, 1612, "", 1, 0 +; total TS size = 1616 +idleState = bits, S32, 1616, [0:2], "not important" +currentIdlePosition = scalar, F32, 1620 +baseIdlePosition = scalar, F32, 1624 +idleClosedLoop = scalar, F32, 1628 +iacByTpsTaper = scalar, F32, 1632 +mightResetPid = bits, U32, 1636, [0:0] +shouldResetPid = bits, U32, 1636, [1:1] +wasResetPid = bits, U32, 1636, [2:2] +mustResetPid = bits, U32, 1636, [3:3] +isCranking = bits, U32, 1636, [4:4] +isIacTableForCoasting = bits, U32, 1636, [5:5] +notIdling = bits, U32, 1636, [6:6] +needReset = bits, U32, 1636, [7:7] +isInDeadZone = bits, U32, 1636, [8:8] +isBlipping = bits, U32, 1636, [9:9] +useClosedLoop = bits, U32, 1636, [10:10] +badTps = bits, U32, 1636, [11:11] +looksLikeRunning = bits, U32, 1636, [12:12] +looksLikeCoasting = bits, U32, 1636, [13:13] +looksLikeCrankToIdle = bits, U32, 1636, [14:14] +isIdleCoasting = bits, U32, 1636, [15:15] +isIdleClosedLoop = bits, U32, 1636, [16:16] +idleTarget = scalar, S32, 1640, "", 1, 0 +targetRpmByClt = scalar, S32, 1644, "", 1, 0 +targetRpmAc = scalar, S32, 1648, "", 1, 0 +iacByRpmTaper = scalar, F32, 1652 +luaAdd = scalar, F32, 1656 +; total TS size = 1660 +etb1targetWithIdlePosition = scalar, F32, 1660, "%", 1,0 +etb1trim = scalar, F32, 1664, "", 1, 0 +etb1luaAdjustment = scalar, F32, 1668, "%", 1,0 +etb1m_wastegatePosition = scalar, F32, 1672, "%", 1,0 +etb1etbFeedForward = scalar, F32, 1676 +etb1etbIntegralError = scalar, F32, 1680, "", 1, 0 +etb1etbCurrentTarget = scalar, F32, 1684, "%", 1, 0 +etb1m_adjustedTarget = scalar, S16, 1688, "%", 0.01, 0 +etb1etbRevLimitActive = bits, U32, 1692, [0:0] +etb1jamDetected = bits, U32, 1692, [1:1] +etb1validPlantPosition = bits, U32, 1692, [2:2] +etb1etbTpsErrorCounter = scalar, U16, 1696, "count", 1,0 +etb1etbPpsErrorCounter = scalar, U16, 1698, "count", 1,0 +etb1etbErrorCode = scalar, S08, 1700, "", 1, 0 +etb1etbErrorCodeBlinker = scalar, S08, 1701, "", 1, 0 +etb1tcEtbDrop = scalar, S08, 1702, "%", 1, 0 +etb1jamTimer = scalar, U16, 1704, "sec", 0.01, 0 +etb1adjustedEtbTarget = scalar, S08, 1706, "%", 1, 0 +etb1state = scalar, U08, 1707, "", 1, 0 +; total TS size = 1708 +etb2targetWithIdlePosition = scalar, F32, 1708, "%", 1,0 +etb2trim = scalar, F32, 1712, "", 1, 0 +etb2luaAdjustment = scalar, F32, 1716, "%", 1,0 +etb2m_wastegatePosition = scalar, F32, 1720, "%", 1,0 +etb2etbFeedForward = scalar, F32, 1724 +etb2etbIntegralError = scalar, F32, 1728, "", 1, 0 +etb2etbCurrentTarget = scalar, F32, 1732, "%", 1, 0 +etb2m_adjustedTarget = scalar, S16, 1736, "%", 0.01, 0 +etb2etbRevLimitActive = bits, U32, 1740, [0:0] +etb2jamDetected = bits, U32, 1740, [1:1] +etb2validPlantPosition = bits, U32, 1740, [2:2] +etb2etbTpsErrorCounter = scalar, U16, 1744, "count", 1,0 +etb2etbPpsErrorCounter = scalar, U16, 1746, "count", 1,0 +etb2etbErrorCode = scalar, S08, 1748, "", 1, 0 +etb2etbErrorCodeBlinker = scalar, S08, 1749, "", 1, 0 +etb2tcEtbDrop = scalar, S08, 1750, "%", 1, 0 +etb2jamTimer = scalar, U16, 1752, "sec", 0.01, 0 +etb2adjustedEtbTarget = scalar, S08, 1754, "%", 1, 0 +etb2state = scalar, U08, 1755, "", 1, 0 +; total TS size = 1756 +wb1faultCode = scalar, U08, 1756, "", 1, 0 +wb1heaterDuty = scalar, U08, 1757, "%", 1, 0 +wb1pumpDuty = scalar, U08, 1758, "%", 1, 0 +wb1tempC = scalar, U16, 1760, "C", 1, 0 +wb1nernstVoltage = scalar, U16, 1762, "V", 0.001, 0 +wb1esr = scalar, U16, 1764, "ohm", 1, 0 +; total TS size = 1768 +wb2faultCode = scalar, U08, 1768, "", 1, 0 +wb2heaterDuty = scalar, U08, 1769, "%", 1, 0 +wb2pumpDuty = scalar, U08, 1770, "%", 1, 0 +wb2tempC = scalar, U16, 1772, "C", 1, 0 +wb2nernstVoltage = scalar, U16, 1774, "V", 0.001, 0 +wb2esr = scalar, U16, 1776, "ohm", 1, 0 +; total TS size = 1780 +dcOutput0 = scalar, F32, 1780, "%", 1,0 +isEnabled0_int = scalar, U08, 1784, "%", 1,0 +isEnabled0 = bits, U32, 1788, [0:0] +; total TS size = 1792 +value0 = scalar, U16, 1792, "RAW", 1,0 +value1 = scalar, U16, 1794, "RAW", 1,0 +errorRate = scalar, F32, 1796, "% (don't belive me)", 1,0 ; total TS size = 1800 -lambdaCurrentlyGood = bits, U32, 1800, [0:0] -lambdaMonitorCut = bits, U32, 1800, [1:1] -lambdaTimeSinceGood = scalar, U16, 1804, "sec", 0.01, 0 -; total TS size = 1808 +vvtTarget = scalar, U16, 1800, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1802, "%", 0.5, 0 +; total TS size = 1804 +lambdaCurrentlyGood = bits, U32, 1804, [0:0] +lambdaMonitorCut = bits, U32, 1804, [1:1] +lambdaTimeSinceGood = scalar, U16, 1808, "sec", 0.01, 0 +; total TS size = 1812 time = { timeNow } @@ -4584,6 +4587,12 @@ curve = rangeMatrix, "Range Switch Input Matrix" gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. upDownLabel = "(RICHER)", "(LEANER)" + table = trailingSparkTable, trailingSparkMap, "Trailing spark", 1 + xyLabels = "RPM", "Ignition Load" + xBins = trailingSparkRpmBins, RPMValue + yBins = trailingSparkLoadBins, ignitionLoad + zBins = trailingSparkTable + table = torqueTableTbl, torqueTableMap, "Engine Torque", 1 xBins = torqueRpmBins, RPMValue yBins = torqueLoadBins, veTableYAxis @@ -4881,6 +4890,7 @@ timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20 timingPidCorrectionGauge = timingPidCorrection,"Idle: Timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 +trailingSparkAngleGauge = trailingSparkAngle,"Ign: Trailing spark deg", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 gaugeCategory = "Boost Control" luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 @@ -5811,6 +5821,7 @@ entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" entry = luaIgnitionSkip, "Ign: Lua Spark Skip", int, "%d" +entry = trailingSparkAngle, "Ign: Trailing spark deg", float, "%.3f" entry = m_knockLevel, "Knock: Current level", float, "%.3f" entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" @@ -6759,6 +6770,7 @@ dialog = ignition_stateDialog, "ignition_state" graphLine = luaTimingAdd liveGraph = ignition_state_4_Graph, "Graph", South graphLine = luaTimingMult + graphLine = trailingSparkAngle dialog = knock_controllerDialog, "knock_controller" @@ -10086,11 +10098,11 @@ commandButton = "Honda BCM", cmd_set_engine_type_SMALL_CB_HONDA_BCM dialog = rotaryDialog, "Rotary" field = "Enable Trailing Sparks", enableTrailingSparks - field = "Trailing Spark Offset", trailingSparkAngle field = "Trailing Pin 1", trailingCoilPins1 field = "Trailing Pin 2", trailingCoilPins2 field = "Trailing Pin 3", trailingCoilPins3 field = "Trailing Pin 4", trailingCoilPins4 + panel = trailingSparkTable diff --git a/firmware/tunerstudio/generated/rusefi_stm32f429_nucleo.ini b/firmware/tunerstudio/generated/rusefi_stm32f429_nucleo.ini index bf1728085a..ed67c0f61a 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.2025.02.07.stm32f429_nucleo.1384441238" + signature = "rusEFI master.2025.02.07.stm32f429_nucleo.3574033147" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2025.02.07.stm32f429_nucleo.1384441238" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2025.02.07.stm32f429_nucleo.3574033147" ; 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 @@ -101,7 +101,7 @@ enable2ndByteCanID = false ; CONFIG_DEFINITION_START ; this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt -pageSize = 23280 +pageSize = 23304 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",22="BMW_M52",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",21="ET_BOSCH_QUICK_START",24="ET_TEST_WITH_BOSCH_QUICK_START",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",41="FRANKENSO_MIATA_NA6_MAP",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",47="GM_LCV",55="GM_LTG",98="GM_SBC",49="GM_SBC_GEN5",8="GY6_139QMB",6="HARLEY",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",34="MAZDA_MIATA_NA6",80="MAZDA_MIATA_NA94",10="MAZDA_MIATA_NA96",83="MAZDA_MIATA_NB1",69="MAZDA_MIATA_NB2",86="MAZDA_MIATA_NB2_36",20="MAZDA_MIATA_NC",33="ME17_9_MISC",68="MERCEDES_M111",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",4="MRE_SECONDARY_CAN",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",35="POLARIS",9="POLARIS_RZR",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",27="PROTEUS_GM_LS_4",25="PROTEUS_LUA_DEMO",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",17="TCU_4R70W",100="TEST_100",101="TEST_101",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",93="TEST_ISSUE_6451",19="TEST_ROTARY",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",102="UNUSED102",67="UNUSED67",94="UNUSED94",65="UNUSED_65",97="UNUSED_97",77="VAG_5_CYL",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -245,7 +245,7 @@ vbattAdcChannel = bits, U08, 513, [0:5], $adc_channel_e_list fuelLevelSensor = bits, U08, 514, [0:5], $adc_channel_e_list tps2_1AdcChannel = bits, U08, 515, [0:5], $adc_channel_e_list idle_derivativeFilterLoss = scalar, F32, 516, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 520, "angle", 1, 0, 0, 720, 0 +unusedTrailingSparkAngle = scalar, S32, 520, "", 1, 0, 0, 100, 0 trigger_type = bits, U32, 524, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Daihatsu 3 cylinder", "Mazda SOHC 4", "60-2", "36-1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "Dodge Ram 1+16", "60-2 Wrong Polarity", "Benelli Tre", "Dodge Stratus", "36_2_2_2", "Nissan Primera", "dev 2JZ 3/34 simulator", "Rover K", "GM 24x 5 degree", "Honda CBR 600 Cam", "INVALID", "Honda CBR 600 custom", "3-1 skipped", "Dodge Neon 2003 crank", "Miata NB", "INVALID", "INVALID", "Subaru 7+6", "Jeep 18-2-2-2", "12crank/24cam", "Dodge Neon 1995 crank only", "Jeep XJ 4 cyl", "FiatIAQ_P8", "Mazda Z5", "INVALID", "Renix 44-2-2", "Renix 66-2-2-2", "Honda K 12+1", "INVALID", "36-2", "Subaru SVX", "Suzuki K6A", "Subaru 7 without 6", "INVALID", "INVALID", "GM 60-2-2-2", "Skoda Favorit", "Barra 3+1 Cam", "Kawa KX450F", "Nissan VQ35", "INVALID", "Nissan VQ30", "Nissan QR25", "INVALID", "Subaru SVX Crank 1", "Subaru SVX Cam VVT", "Ford PIP", "Suzuki G13B", "Honda K 4+1", "Nissan MR18 Crank", "32-2", "36-2-1", "36-2-1-1", "3-0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6-0", "Daihatsu 4 cylinder", "INVALID", "dev", "Nissan HR", "Arctic Cat", "HR12 in", "HONDA J30A2", "trg88", "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" trigger_customTotalToothCount = scalar, S32, 528, "number", 1, 0, 1, 300, 0 trigger_customSkippedToothCount = scalar, S32, 532, "number", 1, 0, 0, 300, 0 @@ -1796,7 +1796,10 @@ dynoCarCarMassKg = scalar, S16, 23268, "", 1, 0, 0, 32000, 0 dynoCarCargoMassKg = scalar, S16, 23270, "", 1, 0, 0, 32000, 0 dynoCarCoeffOfDrag = scalar, F32, 23272, "", 1, 0, 0, 100, 0 dynoCarFrontalAreaM2 = scalar, F32, 23276, "", 1, 0, 0, 100, 0 -; total TS size = 23280 +trailingSparkTable = array, S08, 23280, [4x4], "deg", 0.1, 0, 0, 20, 1 +trailingSparkRpmBins = array, U08, 23296, [4], "rpm", 50.0, 0, 0, 12000, 0 +trailingSparkLoadBins = array, U08, 23300, [4], "Load", 5.0, 0, 0, 1000, 0 +; total TS size = 23304 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1890,7 +1893,6 @@ dynoCarFrontalAreaM2 = scalar, F32, 23276, "", 1, 0, 0, 100, 0 fuelLevelSensor = "This is the processor pin that your fuel level sensor in connected to. This is a non standard input so will need to be user defined." tps2_1AdcChannel = "Second throttle body position sensor, single channel so far" idle_derivativeFilterLoss = "0.1 is a good default value" - trailingSparkAngle = "just a temporary solution" trigger_type = "https://github.com/rusefi/rusefi/wiki/All-Supported-Triggers" airByRpmTaper = "Extra air taper amount" boostControlSafeDutyCycle = "Duty cycle to use in case of a sensor failure. This duty cycle should produce the minimum possible amount of boost. This duty is also used in case any of the minimum RPM/TPS/MAP conditions are not met." @@ -2664,7 +2666,7 @@ dynoCarFrontalAreaM2 = scalar, F32, 23276, "", 1, 0, 0, 100, 0 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1808 + ochBlockSize = 1812 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3189,417 +3191,418 @@ dwellVoltageCorrection = scalar, F32, 940, "", 1, 0 luaTimingAdd = scalar, F32, 944, "deg", 1, 0 luaTimingMult = scalar, F32, 948, "deg", 1, 0 luaIgnitionSkip = bits, U32, 952, [0:0] -; total TS size = 956 -m_knockLevel = scalar, F32, 956, "Volts", 1, 0 -m_knockCyl1 = scalar, S08, 960, "dBv", 1, 0 -m_knockCyl2 = scalar, S08, 961, "dBv", 1, 0 -m_knockCyl3 = scalar, S08, 962, "dBv", 1, 0 -m_knockCyl4 = scalar, S08, 963, "dBv", 1, 0 -m_knockCyl5 = scalar, S08, 964, "dBv", 1, 0 -m_knockCyl6 = scalar, S08, 965, "dBv", 1, 0 -m_knockCyl7 = scalar, S08, 966, "dBv", 1, 0 -m_knockCyl8 = scalar, S08, 967, "dBv", 1, 0 -m_knockCyl9 = scalar, S08, 968, "dBv", 1, 0 -m_knockCyl10 = scalar, S08, 969, "dBv", 1, 0 -m_knockCyl11 = scalar, S08, 970, "dBv", 1, 0 -m_knockCyl12 = scalar, S08, 971, "dBv", 1, 0 -m_knockRetard = scalar, F32, 972, "deg", 1,0 -m_knockThreshold = scalar, F32, 976, "", 1, 0 -m_knockCount = scalar, U32, 980, "", 1, 0 -m_maximumRetard = scalar, F32, 984, "", 1, 0 -m_knockSpectrum1 = scalar, U32, 988, "compressed data", 1, 0 -m_knockSpectrum2 = scalar, U32, 992, "compressed data", 1, 0 -m_knockSpectrum3 = scalar, U32, 996, "compressed data", 1, 0 -m_knockSpectrum4 = scalar, U32, 1000, "compressed data", 1, 0 -m_knockSpectrum5 = scalar, U32, 1004, "compressed data", 1, 0 -m_knockSpectrum6 = scalar, U32, 1008, "compressed data", 1, 0 -m_knockSpectrum7 = scalar, U32, 1012, "compressed data", 1, 0 -m_knockSpectrum8 = scalar, U32, 1016, "compressed data", 1, 0 -m_knockSpectrum9 = scalar, U32, 1020, "compressed data", 1, 0 -m_knockSpectrum10 = scalar, U32, 1024, "compressed data", 1, 0 -m_knockSpectrum11 = scalar, U32, 1028, "compressed data", 1, 0 -m_knockSpectrum12 = scalar, U32, 1032, "compressed data", 1, 0 -m_knockSpectrum13 = scalar, U32, 1036, "compressed data", 1, 0 -m_knockSpectrum14 = scalar, U32, 1040, "compressed data", 1, 0 -m_knockSpectrum15 = scalar, U32, 1044, "compressed data", 1, 0 -m_knockSpectrum16 = scalar, U32, 1048, "compressed data", 1, 0 -m_knockSpectrumChannelCyl = scalar, U16, 1052, "compressed N + N", 1, 0 -m_knockFrequencyStart = scalar, U16, 1054, "Hz", 1, 0 -m_knockFrequencyStep = scalar, F32, 1056, "Hz", 1, 0 -m_knockFuelTrimMultiplier = scalar, F32, 1060, "multiplier", 1, 0 -; total TS size = 1064 -m_isPriming = bits, U32, 1064, [0:0] +trailingSparkAngle = scalar, S16, 956, "deg", 0.01,0 +; total TS size = 960 +m_knockLevel = scalar, F32, 960, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 964, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 965, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 966, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 967, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 968, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 969, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 970, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 971, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 972, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 973, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 974, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 975, "dBv", 1, 0 +m_knockRetard = scalar, F32, 976, "deg", 1,0 +m_knockThreshold = scalar, F32, 980, "", 1, 0 +m_knockCount = scalar, U32, 984, "", 1, 0 +m_maximumRetard = scalar, F32, 988, "", 1, 0 +m_knockSpectrum1 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1040, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1044, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1048, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1052, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1056, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1058, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1060, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1064, "multiplier", 1, 0 ; total TS size = 1068 -tcuCurrentGear = scalar, S08, 1068, "gear", 1, 0 -tcRatio = scalar, U16, 1070, "value", 0.01, 0 -lastShiftTime = scalar, F32, 1072, "", 1, 0 -tcu_currentRange = scalar, U08, 1076, "", 1, 0 -pressureControlDuty = scalar, S08, 1077, "%", 1,0 -torqueConverterDuty = scalar, S08, 1078, "%", 1,0 -isShifting = bits, U32, 1080, [0:0] -; total TS size = 1084 -throttleUseWotModel = bits, U32, 1084, [0:0] -throttleModelCrossoverAngle = scalar, S16, 1088, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1092, "g/s", 1, 0 -; total TS size = 1096 -m_requested_pump = scalar, F32, 1096, "", 1, 0 -fuel_requested_percent = scalar, F32, 1100, "%", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1104, "", 1, 0 -noValve = bits, U32, 1108, [0:0] -angleAboveMin = bits, U32, 1108, [1:1] -isHpfpActive = bits, U32, 1108, [2:2] -HpfpValveState = bits, U32, 1108, [3:3] -m_pressureTarget_kPa = scalar, F32, 1112, "", 1, 0 -nextLobe = scalar, F32, 1116, "", 1, 0 -di_nextStart = scalar, F32, 1120, "v", 1, 0 -HpfdActivationPhase = scalar, F32, 1124, "", 1, 0 -HpfdDeactivationPhase = scalar, F32, 1128, "", 1, 0 -; total TS size = 1132 -m_deadtime = scalar, F32, 1132, "ms", 1, 0 -pressureDelta = scalar, F32, 1136, "kPa", 1, 0 -pressureRatio = scalar, F32, 1140, "", 1, 0 -; total TS size = 1144 -retardThresholdRpm = scalar, S32, 1144, "", 1, 0 -launchActivatePinState = bits, U32, 1148, [0:0] -isPreLaunchCondition = bits, U32, 1148, [1:1] -isLaunchCondition = bits, U32, 1148, [2:2] -isSwitchActivated = bits, U32, 1148, [3:3] -isClutchActivated = bits, U32, 1148, [4:4] -isBrakePedalActivated = bits, U32, 1148, [5:5] -isValidInputPin = bits, U32, 1148, [6:6] -activateSwitchCondition = bits, U32, 1148, [7:7] -rpmLaunchCondition = bits, U32, 1148, [8:8] -rpmPreLaunchCondition = bits, U32, 1148, [9:9] -speedCondition = bits, U32, 1148, [10:10] -tpsCondition = bits, U32, 1148, [11:11] -; total TS size = 1152 -isTorqueReductionTriggerPinValid = bits, U32, 1152, [0:0] -torqueReductionTriggerPinState = bits, U32, 1152, [1:1] -isTimeConditionSatisfied = bits, U32, 1152, [2:2] -isRpmConditionSatisfied = bits, U32, 1152, [3:3] -isAppConditionSatisfied = bits, U32, 1152, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1152, [5:5] +m_isPriming = bits, U32, 1068, [0:0] +; total TS size = 1072 +tcuCurrentGear = scalar, S08, 1072, "gear", 1, 0 +tcRatio = scalar, U16, 1074, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1076, "", 1, 0 +tcu_currentRange = scalar, U08, 1080, "", 1, 0 +pressureControlDuty = scalar, S08, 1081, "%", 1,0 +torqueConverterDuty = scalar, S08, 1082, "%", 1,0 +isShifting = bits, U32, 1084, [0:0] +; total TS size = 1088 +throttleUseWotModel = bits, U32, 1088, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1092, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1096, "g/s", 1, 0 +; total TS size = 1100 +m_requested_pump = scalar, F32, 1100, "", 1, 0 +fuel_requested_percent = scalar, F32, 1104, "%", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1108, "", 1, 0 +noValve = bits, U32, 1112, [0:0] +angleAboveMin = bits, U32, 1112, [1:1] +isHpfpActive = bits, U32, 1112, [2:2] +HpfpValveState = bits, U32, 1112, [3:3] +m_pressureTarget_kPa = scalar, F32, 1116, "", 1, 0 +nextLobe = scalar, F32, 1120, "", 1, 0 +di_nextStart = scalar, F32, 1124, "v", 1, 0 +HpfdActivationPhase = scalar, F32, 1128, "", 1, 0 +HpfdDeactivationPhase = scalar, F32, 1132, "", 1, 0 +; total TS size = 1136 +m_deadtime = scalar, F32, 1136, "ms", 1, 0 +pressureDelta = scalar, F32, 1140, "kPa", 1, 0 +pressureRatio = scalar, F32, 1144, "", 1, 0 +; total TS size = 1148 +retardThresholdRpm = scalar, S32, 1148, "", 1, 0 +launchActivatePinState = bits, U32, 1152, [0:0] +isPreLaunchCondition = bits, U32, 1152, [1:1] +isLaunchCondition = bits, U32, 1152, [2:2] +isSwitchActivated = bits, U32, 1152, [3:3] +isClutchActivated = bits, U32, 1152, [4:4] +isBrakePedalActivated = bits, U32, 1152, [5:5] +isValidInputPin = bits, U32, 1152, [6:6] +activateSwitchCondition = bits, U32, 1152, [7:7] +rpmLaunchCondition = bits, U32, 1152, [8:8] +rpmPreLaunchCondition = bits, U32, 1152, [9:9] +speedCondition = bits, U32, 1152, [10:10] +tpsCondition = bits, U32, 1152, [11:11] ; total TS size = 1156 -isAntilagCondition = bits, U32, 1156, [0:0] -ALSMinRPMCondition = bits, U32, 1156, [1:1] -ALSMaxRPMCondition = bits, U32, 1156, [2:2] -ALSMinCLTCondition = bits, U32, 1156, [3:3] -ALSMaxCLTCondition = bits, U32, 1156, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1156, [5:5] -isALSSwitchActivated = bits, U32, 1156, [6:6] -ALSActivatePinState = bits, U32, 1156, [7:7] -ALSSwitchCondition = bits, U32, 1156, [8:8] -ALSTimerCondition = bits, U32, 1156, [9:9] -fuelALSCorrection = scalar, F32, 1160, "", 1, 0 -timingALSCorrection = scalar, S16, 1164, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1166, "deg", 0.01, 0 -; total TS size = 1168 -isTpsInvalid = bits, U32, 1168, [0:0] -m_shouldResetPid = bits, U32, 1168, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1168, [2:2] -isNotClosedLoop = bits, U32, 1168, [3:3] -isZeroRpm = bits, U32, 1168, [4:4] -hasInitBoost = bits, U32, 1168, [5:5] -rpmTooLow = bits, U32, 1168, [6:6] -tpsTooLow = bits, U32, 1168, [7:7] -mapTooLow = bits, U32, 1168, [8:8] -isPlantValid = bits, U32, 1168, [9:9] -isBoostControlled = bits, U32, 1168, [10:10] -luaTargetAdd = scalar, S16, 1172, "v", 0.5,0 -boostOutput = scalar, S16, 1174, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1176, "v", 1,0 -openLoopPart = scalar, F32, 1180, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1184, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1188, "%", 0.5,0 -boostControlTarget = scalar, S16, 1190, "kPa", 0.03333333333333333,0 -; total TS size = 1192 -acButtonState = scalar, S08, 1192, "", 1, 0 -m_acEnabled = bits, U32, 1196, [0:0] -engineTooSlow = bits, U32, 1196, [1:1] -engineTooFast = bits, U32, 1196, [2:2] -noClt = bits, U32, 1196, [3:3] -engineTooHot = bits, U32, 1196, [4:4] -tpsTooHigh = bits, U32, 1196, [5:5] -isDisabledByLua = bits, U32, 1196, [6:6] -acCompressorState = bits, U32, 1196, [7:7] -acPressureTooLow = bits, U32, 1196, [8:8] -acPressureTooHigh = bits, U32, 1196, [9:9] -; total TS size = 1200 -isNitrousArmed = bits, U32, 1200, [0:0] -isNitrousSpeedCondition = bits, U32, 1200, [1:1] -isNitrousTpsCondition = bits, U32, 1200, [2:2] -isNitrousCltCondition = bits, U32, 1200, [3:3] -isNitrousMapCondition = bits, U32, 1200, [4:4] -isNitrousAfrCondition = bits, U32, 1200, [5:5] -isNitrousRpmCondition = bits, U32, 1200, [6:6] -isNitrousCondition = bits, U32, 1200, [7:7] +isTorqueReductionTriggerPinValid = bits, U32, 1156, [0:0] +torqueReductionTriggerPinState = bits, U32, 1156, [1:1] +isTimeConditionSatisfied = bits, U32, 1156, [2:2] +isRpmConditionSatisfied = bits, U32, 1156, [3:3] +isAppConditionSatisfied = bits, U32, 1156, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1156, [5:5] +; total TS size = 1160 +isAntilagCondition = bits, U32, 1160, [0:0] +ALSMinRPMCondition = bits, U32, 1160, [1:1] +ALSMaxRPMCondition = bits, U32, 1160, [2:2] +ALSMinCLTCondition = bits, U32, 1160, [3:3] +ALSMaxCLTCondition = bits, U32, 1160, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1160, [5:5] +isALSSwitchActivated = bits, U32, 1160, [6:6] +ALSActivatePinState = bits, U32, 1160, [7:7] +ALSSwitchCondition = bits, U32, 1160, [8:8] +ALSTimerCondition = bits, U32, 1160, [9:9] +fuelALSCorrection = scalar, F32, 1164, "", 1, 0 +timingALSCorrection = scalar, S16, 1168, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1170, "deg", 0.01, 0 +; total TS size = 1172 +isTpsInvalid = bits, U32, 1172, [0:0] +m_shouldResetPid = bits, U32, 1172, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1172, [2:2] +isNotClosedLoop = bits, U32, 1172, [3:3] +isZeroRpm = bits, U32, 1172, [4:4] +hasInitBoost = bits, U32, 1172, [5:5] +rpmTooLow = bits, U32, 1172, [6:6] +tpsTooLow = bits, U32, 1172, [7:7] +mapTooLow = bits, U32, 1172, [8:8] +isPlantValid = bits, U32, 1172, [9:9] +isBoostControlled = bits, U32, 1172, [10:10] +luaTargetAdd = scalar, S16, 1176, "v", 0.5,0 +boostOutput = scalar, S16, 1178, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1180, "v", 1,0 +openLoopPart = scalar, F32, 1184, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1188, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1192, "%", 0.5,0 +boostControlTarget = scalar, S16, 1194, "kPa", 0.03333333333333333,0 +; total TS size = 1196 +acButtonState = scalar, S08, 1196, "", 1, 0 +m_acEnabled = bits, U32, 1200, [0:0] +engineTooSlow = bits, U32, 1200, [1:1] +engineTooFast = bits, U32, 1200, [2:2] +noClt = bits, U32, 1200, [3:3] +engineTooHot = bits, U32, 1200, [4:4] +tpsTooHigh = bits, U32, 1200, [5:5] +isDisabledByLua = bits, U32, 1200, [6:6] +acCompressorState = bits, U32, 1200, [7:7] +acPressureTooLow = bits, U32, 1200, [8:8] +acPressureTooHigh = bits, U32, 1200, [9:9] ; total TS size = 1204 -fan1cranking = bits, U32, 1204, [0:0] -fan1notRunning = bits, U32, 1204, [1:1] -fan1disabledWhileEngineStopped = bits, U32, 1204, [2:2] -fan1brokenClt = bits, U32, 1204, [3:3] -fan1enabledForAc = bits, U32, 1204, [4:4] -fan1hot = bits, U32, 1204, [5:5] -fan1cold = bits, U32, 1204, [6:6] -fan1disabledBySpeed = bits, U32, 1204, [7:7] -fan1m_state = bits, U32, 1204, [8:8] -fan1radiatorFanStatus = scalar, U08, 1208, "", 1, 0 -; total TS size = 1212 -fan2cranking = bits, U32, 1212, [0:0] -fan2notRunning = bits, U32, 1212, [1:1] -fan2disabledWhileEngineStopped = bits, U32, 1212, [2:2] -fan2brokenClt = bits, U32, 1212, [3:3] -fan2enabledForAc = bits, U32, 1212, [4:4] -fan2hot = bits, U32, 1212, [5:5] -fan2cold = bits, U32, 1212, [6:6] -fan2disabledBySpeed = bits, U32, 1212, [7:7] -fan2m_state = bits, U32, 1212, [8:8] -fan2radiatorFanStatus = scalar, U08, 1216, "", 1, 0 -; total TS size = 1220 -isPrime = bits, U32, 1220, [0:0] -engineTurnedRecently = bits, U32, 1220, [1:1] -isFuelPumpOn = bits, U32, 1220, [2:2] -ignitionOn = bits, U32, 1220, [3:3] +isNitrousArmed = bits, U32, 1204, [0:0] +isNitrousSpeedCondition = bits, U32, 1204, [1:1] +isNitrousTpsCondition = bits, U32, 1204, [2:2] +isNitrousCltCondition = bits, U32, 1204, [3:3] +isNitrousMapCondition = bits, U32, 1204, [4:4] +isNitrousAfrCondition = bits, U32, 1204, [5:5] +isNitrousRpmCondition = bits, U32, 1204, [6:6] +isNitrousCondition = bits, U32, 1204, [7:7] +; total TS size = 1208 +fan1cranking = bits, U32, 1208, [0:0] +fan1notRunning = bits, U32, 1208, [1:1] +fan1disabledWhileEngineStopped = bits, U32, 1208, [2:2] +fan1brokenClt = bits, U32, 1208, [3:3] +fan1enabledForAc = bits, U32, 1208, [4:4] +fan1hot = bits, U32, 1208, [5:5] +fan1cold = bits, U32, 1208, [6:6] +fan1disabledBySpeed = bits, U32, 1208, [7:7] +fan1m_state = bits, U32, 1208, [8:8] +fan1radiatorFanStatus = scalar, U08, 1212, "", 1, 0 +; total TS size = 1216 +fan2cranking = bits, U32, 1216, [0:0] +fan2notRunning = bits, U32, 1216, [1:1] +fan2disabledWhileEngineStopped = bits, U32, 1216, [2:2] +fan2brokenClt = bits, U32, 1216, [3:3] +fan2enabledForAc = bits, U32, 1216, [4:4] +fan2hot = bits, U32, 1216, [5:5] +fan2cold = bits, U32, 1216, [6:6] +fan2disabledBySpeed = bits, U32, 1216, [7:7] +fan2m_state = bits, U32, 1216, [8:8] +fan2radiatorFanStatus = scalar, U08, 1220, "", 1, 0 ; total TS size = 1224 -isBenchTest = bits, U32, 1224, [0:0] -hasIgnitionVoltage = bits, U32, 1224, [1:1] -mainRelayState = bits, U32, 1224, [2:2] -delayedShutoffRequested = bits, U32, 1224, [3:3] +isPrime = bits, U32, 1224, [0:0] +engineTurnedRecently = bits, U32, 1224, [1:1] +isFuelPumpOn = bits, U32, 1224, [2:2] +ignitionOn = bits, U32, 1224, [3:3] ; total TS size = 1228 -lua_fuelAdd = scalar, F32, 1228, "g", 1, 0 -lua_fuelMult = scalar, F32, 1232, "", 1, 0 -lua_clutchUpState = bits, U32, 1236, [0:0] -lua_brakePedalState = bits, U32, 1236, [1:1] -lua_acRequestState = bits, U32, 1236, [2:2] -lua_luaDisableEtb = bits, U32, 1236, [3:3] -lua_luaIgnCut = bits, U32, 1236, [4:4] -lua_luaFuelCut = bits, U32, 1236, [5:5] -lua_clutchDownState = bits, U32, 1236, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1236, [7:7] -lua_torqueReductionState = bits, U32, 1236, [8:8] -sd_tCharge = scalar, S16, 1240, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1244, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1248, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1252, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1256, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1260, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1264, "", 1, 0 -hellenBoardId = scalar, S16, 1268, "id", 1, 0 -clutchUpState = scalar, S08, 1270, "", 1, 0 -brakePedalState = scalar, S08, 1271, "", 1, 0 -startStopState = scalar, S08, 1272, "", 1, 0 -smartChipState = scalar, S08, 1273, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1274, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1275, "", 1, 0 -startStopPhysicalState = bits, U32, 1276, [0:0] -acrActive = bits, U32, 1276, [1:1] -acrEngineMovedRecently = bits, U32, 1276, [2:2] -heaterControlEnabled = bits, U32, 1276, [3:3] -luaDigitalState0 = bits, U32, 1276, [4:4] -luaDigitalState1 = bits, U32, 1276, [5:5] -luaDigitalState2 = bits, U32, 1276, [6:6] -luaDigitalState3 = bits, U32, 1276, [7:7] -clutchDownState = bits, U32, 1276, [8:8] -startStopStateToggleCounter = scalar, U32, 1280, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1284, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1288, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1292, "", 1, 0 -fuelInjectionCounter = scalar, U32, 1296, "", 1, 0 -globalSparkCounter = scalar, U32, 1300, "", 1, 0 -fuelingLoad = scalar, F32, 1304, "", 1, 0 -ignitionLoad = scalar, F32, 1308, "", 1, 0 -veTableYAxis = scalar, U16, 1312, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1314, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1315, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1316, "", 1, 0 -; total TS size = 1320 -tpsFrom = scalar, F32, 1320 -tpsTo = scalar, F32, 1324 -deltaTps = scalar, F32, 1328 -extraFuel = scalar, F32, 1332, "", 1, 0 -valueFromTable = scalar, F32, 1336, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1340, [0:0] -isBelowDecelThreshold = bits, U32, 1340, [1:1] -isTimeToResetAccumulator = bits, U32, 1340, [2:2] -isFractionalEnrichment = bits, U32, 1340, [3:3] -belowEpsilon = bits, U32, 1340, [4:4] -tooShort = bits, U32, 1340, [5:5] -fractionalInjFuel = scalar, F32, 1344, "", 1, 0 -accumulatedValue = scalar, F32, 1348, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1352, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1356, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1360, "", 1, 0 -cycleCnt = scalar, S32, 1364, "", 1, 0 -; total TS size = 1368 -hwEventCounters1 = scalar, U16, 1368, "", 1, 0 -hwEventCounters2 = scalar, U16, 1370, "", 1, 0 -hwEventCounters3 = scalar, U16, 1372, "", 1, 0 -hwEventCounters4 = scalar, U16, 1374, "", 1, 0 -vvtCamCounter = scalar, U16, 1376, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1380, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1384, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1388, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1389, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1392, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1396, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1400, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1404, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1408, [0:0] -triggerElapsedUs = scalar, U32, 1412, "", 1, 0 -; total TS size = 1416 -trgsynchronizationCounter = scalar, U32, 1416, "", 1, 0 -trgvvtToothDurations0 = scalar, U32, 1420, "us", 1, 0 -trgvvtCurrentPosition = scalar, F32, 1424, "", 1, 0 -trgvvtToothPosition1 = scalar, F32, 1428, "", 1, 0 -trgvvtToothPosition2 = scalar, F32, 1432, "", 1, 0 -trgvvtToothPosition3 = scalar, F32, 1436, "", 1, 0 -trgvvtToothPosition4 = scalar, F32, 1440, "", 1, 0 -trgtriggerSyncGapRatio = scalar, F32, 1444, "", 1, 0 -trgtriggerStateIndex = scalar, U08, 1448, "", 1, 0 -; total TS size = 1452 -vvt1isynchronizationCounter = scalar, U32, 1452, "", 1, 0 -vvt1ivvtToothDurations0 = scalar, U32, 1456, "us", 1, 0 -vvt1ivvtCurrentPosition = scalar, F32, 1460, "", 1, 0 -vvt1ivvtToothPosition1 = scalar, F32, 1464, "", 1, 0 -vvt1ivvtToothPosition2 = scalar, F32, 1468, "", 1, 0 -vvt1ivvtToothPosition3 = scalar, F32, 1472, "", 1, 0 -vvt1ivvtToothPosition4 = scalar, F32, 1476, "", 1, 0 -vvt1itriggerSyncGapRatio = scalar, F32, 1480, "", 1, 0 -vvt1itriggerStateIndex = scalar, U08, 1484, "", 1, 0 -; total TS size = 1488 -vvt1esynchronizationCounter = scalar, U32, 1488, "", 1, 0 -vvt1evvtToothDurations0 = scalar, U32, 1492, "us", 1, 0 -vvt1evvtCurrentPosition = scalar, F32, 1496, "", 1, 0 -vvt1evvtToothPosition1 = scalar, F32, 1500, "", 1, 0 -vvt1evvtToothPosition2 = scalar, F32, 1504, "", 1, 0 -vvt1evvtToothPosition3 = scalar, F32, 1508, "", 1, 0 -vvt1evvtToothPosition4 = scalar, F32, 1512, "", 1, 0 -vvt1etriggerSyncGapRatio = scalar, F32, 1516, "", 1, 0 -vvt1etriggerStateIndex = scalar, U08, 1520, "", 1, 0 -; total TS size = 1524 -vvt2isynchronizationCounter = scalar, U32, 1524, "", 1, 0 -vvt2ivvtToothDurations0 = scalar, U32, 1528, "us", 1, 0 -vvt2ivvtCurrentPosition = scalar, F32, 1532, "", 1, 0 -vvt2ivvtToothPosition1 = scalar, F32, 1536, "", 1, 0 -vvt2ivvtToothPosition2 = scalar, F32, 1540, "", 1, 0 -vvt2ivvtToothPosition3 = scalar, F32, 1544, "", 1, 0 -vvt2ivvtToothPosition4 = scalar, F32, 1548, "", 1, 0 -vvt2itriggerSyncGapRatio = scalar, F32, 1552, "", 1, 0 -vvt2itriggerStateIndex = scalar, U08, 1556, "", 1, 0 -; total TS size = 1560 -vvt2esynchronizationCounter = scalar, U32, 1560, "", 1, 0 -vvt2evvtToothDurations0 = scalar, U32, 1564, "us", 1, 0 -vvt2evvtCurrentPosition = scalar, F32, 1568, "", 1, 0 -vvt2evvtToothPosition1 = scalar, F32, 1572, "", 1, 0 -vvt2evvtToothPosition2 = scalar, F32, 1576, "", 1, 0 -vvt2evvtToothPosition3 = scalar, F32, 1580, "", 1, 0 -vvt2evvtToothPosition4 = scalar, F32, 1584, "", 1, 0 -vvt2etriggerSyncGapRatio = scalar, F32, 1588, "", 1, 0 -vvt2etriggerStateIndex = scalar, U08, 1592, "", 1, 0 -; total TS size = 1596 -camResyncCounter = scalar, U08, 1596, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1600, [0:0] -; total TS size = 1604 -wallFuelCorrection = scalar, F32, 1604, "", 1, 0 -wallFuel = scalar, F32, 1608, "", 1, 0 -; total TS size = 1612 -idleState = bits, S32, 1612, [0:2], "not important" -currentIdlePosition = scalar, F32, 1616 -baseIdlePosition = scalar, F32, 1620 -idleClosedLoop = scalar, F32, 1624 -iacByTpsTaper = scalar, F32, 1628 -mightResetPid = bits, U32, 1632, [0:0] -shouldResetPid = bits, U32, 1632, [1:1] -wasResetPid = bits, U32, 1632, [2:2] -mustResetPid = bits, U32, 1632, [3:3] -isCranking = bits, U32, 1632, [4:4] -isIacTableForCoasting = bits, U32, 1632, [5:5] -notIdling = bits, U32, 1632, [6:6] -needReset = bits, U32, 1632, [7:7] -isInDeadZone = bits, U32, 1632, [8:8] -isBlipping = bits, U32, 1632, [9:9] -useClosedLoop = bits, U32, 1632, [10:10] -badTps = bits, U32, 1632, [11:11] -looksLikeRunning = bits, U32, 1632, [12:12] -looksLikeCoasting = bits, U32, 1632, [13:13] -looksLikeCrankToIdle = bits, U32, 1632, [14:14] -isIdleCoasting = bits, U32, 1632, [15:15] -isIdleClosedLoop = bits, U32, 1632, [16:16] -idleTarget = scalar, S32, 1636, "", 1, 0 -targetRpmByClt = scalar, S32, 1640, "", 1, 0 -targetRpmAc = scalar, S32, 1644, "", 1, 0 -iacByRpmTaper = scalar, F32, 1648 -luaAdd = scalar, F32, 1652 -; total TS size = 1656 -etb1targetWithIdlePosition = scalar, F32, 1656, "%", 1,0 -etb1trim = scalar, F32, 1660, "", 1, 0 -etb1luaAdjustment = scalar, F32, 1664, "%", 1,0 -etb1m_wastegatePosition = scalar, F32, 1668, "%", 1,0 -etb1etbFeedForward = scalar, F32, 1672 -etb1etbIntegralError = scalar, F32, 1676, "", 1, 0 -etb1etbCurrentTarget = scalar, F32, 1680, "%", 1, 0 -etb1m_adjustedTarget = scalar, S16, 1684, "%", 0.01, 0 -etb1etbRevLimitActive = bits, U32, 1688, [0:0] -etb1jamDetected = bits, U32, 1688, [1:1] -etb1validPlantPosition = bits, U32, 1688, [2:2] -etb1etbTpsErrorCounter = scalar, U16, 1692, "count", 1,0 -etb1etbPpsErrorCounter = scalar, U16, 1694, "count", 1,0 -etb1etbErrorCode = scalar, S08, 1696, "", 1, 0 -etb1etbErrorCodeBlinker = scalar, S08, 1697, "", 1, 0 -etb1tcEtbDrop = scalar, S08, 1698, "%", 1, 0 -etb1jamTimer = scalar, U16, 1700, "sec", 0.01, 0 -etb1adjustedEtbTarget = scalar, S08, 1702, "%", 1, 0 -etb1state = scalar, U08, 1703, "", 1, 0 -; total TS size = 1704 -etb2targetWithIdlePosition = scalar, F32, 1704, "%", 1,0 -etb2trim = scalar, F32, 1708, "", 1, 0 -etb2luaAdjustment = scalar, F32, 1712, "%", 1,0 -etb2m_wastegatePosition = scalar, F32, 1716, "%", 1,0 -etb2etbFeedForward = scalar, F32, 1720 -etb2etbIntegralError = scalar, F32, 1724, "", 1, 0 -etb2etbCurrentTarget = scalar, F32, 1728, "%", 1, 0 -etb2m_adjustedTarget = scalar, S16, 1732, "%", 0.01, 0 -etb2etbRevLimitActive = bits, U32, 1736, [0:0] -etb2jamDetected = bits, U32, 1736, [1:1] -etb2validPlantPosition = bits, U32, 1736, [2:2] -etb2etbTpsErrorCounter = scalar, U16, 1740, "count", 1,0 -etb2etbPpsErrorCounter = scalar, U16, 1742, "count", 1,0 -etb2etbErrorCode = scalar, S08, 1744, "", 1, 0 -etb2etbErrorCodeBlinker = scalar, S08, 1745, "", 1, 0 -etb2tcEtbDrop = scalar, S08, 1746, "%", 1, 0 -etb2jamTimer = scalar, U16, 1748, "sec", 0.01, 0 -etb2adjustedEtbTarget = scalar, S08, 1750, "%", 1, 0 -etb2state = scalar, U08, 1751, "", 1, 0 -; total TS size = 1752 -wb1faultCode = scalar, U08, 1752, "", 1, 0 -wb1heaterDuty = scalar, U08, 1753, "%", 1, 0 -wb1pumpDuty = scalar, U08, 1754, "%", 1, 0 -wb1tempC = scalar, U16, 1756, "C", 1, 0 -wb1nernstVoltage = scalar, U16, 1758, "V", 0.001, 0 -wb1esr = scalar, U16, 1760, "ohm", 1, 0 -; total TS size = 1764 -wb2faultCode = scalar, U08, 1764, "", 1, 0 -wb2heaterDuty = scalar, U08, 1765, "%", 1, 0 -wb2pumpDuty = scalar, U08, 1766, "%", 1, 0 -wb2tempC = scalar, U16, 1768, "C", 1, 0 -wb2nernstVoltage = scalar, U16, 1770, "V", 0.001, 0 -wb2esr = scalar, U16, 1772, "ohm", 1, 0 -; total TS size = 1776 -dcOutput0 = scalar, F32, 1776, "%", 1,0 -isEnabled0_int = scalar, U08, 1780, "%", 1,0 -isEnabled0 = bits, U32, 1784, [0:0] -; total TS size = 1788 -value0 = scalar, U16, 1788, "RAW", 1,0 -value1 = scalar, U16, 1790, "RAW", 1,0 -errorRate = scalar, F32, 1792, "% (don't belive me)", 1,0 -; total TS size = 1796 -vvtTarget = scalar, U16, 1796, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1798, "%", 0.5, 0 +isBenchTest = bits, U32, 1228, [0:0] +hasIgnitionVoltage = bits, U32, 1228, [1:1] +mainRelayState = bits, U32, 1228, [2:2] +delayedShutoffRequested = bits, U32, 1228, [3:3] +; total TS size = 1232 +lua_fuelAdd = scalar, F32, 1232, "g", 1, 0 +lua_fuelMult = scalar, F32, 1236, "", 1, 0 +lua_clutchUpState = bits, U32, 1240, [0:0] +lua_brakePedalState = bits, U32, 1240, [1:1] +lua_acRequestState = bits, U32, 1240, [2:2] +lua_luaDisableEtb = bits, U32, 1240, [3:3] +lua_luaIgnCut = bits, U32, 1240, [4:4] +lua_luaFuelCut = bits, U32, 1240, [5:5] +lua_clutchDownState = bits, U32, 1240, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1240, [7:7] +lua_torqueReductionState = bits, U32, 1240, [8:8] +sd_tCharge = scalar, S16, 1244, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1248, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1252, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1256, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1260, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1264, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1268, "", 1, 0 +hellenBoardId = scalar, S16, 1272, "id", 1, 0 +clutchUpState = scalar, S08, 1274, "", 1, 0 +brakePedalState = scalar, S08, 1275, "", 1, 0 +startStopState = scalar, S08, 1276, "", 1, 0 +smartChipState = scalar, S08, 1277, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1278, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1279, "", 1, 0 +startStopPhysicalState = bits, U32, 1280, [0:0] +acrActive = bits, U32, 1280, [1:1] +acrEngineMovedRecently = bits, U32, 1280, [2:2] +heaterControlEnabled = bits, U32, 1280, [3:3] +luaDigitalState0 = bits, U32, 1280, [4:4] +luaDigitalState1 = bits, U32, 1280, [5:5] +luaDigitalState2 = bits, U32, 1280, [6:6] +luaDigitalState3 = bits, U32, 1280, [7:7] +clutchDownState = bits, U32, 1280, [8:8] +startStopStateToggleCounter = scalar, U32, 1284, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1288, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1292, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1296, "", 1, 0 +fuelInjectionCounter = scalar, U32, 1300, "", 1, 0 +globalSparkCounter = scalar, U32, 1304, "", 1, 0 +fuelingLoad = scalar, F32, 1308, "", 1, 0 +ignitionLoad = scalar, F32, 1312, "", 1, 0 +veTableYAxis = scalar, U16, 1316, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1318, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1319, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1320, "", 1, 0 +; total TS size = 1324 +tpsFrom = scalar, F32, 1324 +tpsTo = scalar, F32, 1328 +deltaTps = scalar, F32, 1332 +extraFuel = scalar, F32, 1336, "", 1, 0 +valueFromTable = scalar, F32, 1340, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1344, [0:0] +isBelowDecelThreshold = bits, U32, 1344, [1:1] +isTimeToResetAccumulator = bits, U32, 1344, [2:2] +isFractionalEnrichment = bits, U32, 1344, [3:3] +belowEpsilon = bits, U32, 1344, [4:4] +tooShort = bits, U32, 1344, [5:5] +fractionalInjFuel = scalar, F32, 1348, "", 1, 0 +accumulatedValue = scalar, F32, 1352, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1356, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1360, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1364, "", 1, 0 +cycleCnt = scalar, S32, 1368, "", 1, 0 +; total TS size = 1372 +hwEventCounters1 = scalar, U16, 1372, "", 1, 0 +hwEventCounters2 = scalar, U16, 1374, "", 1, 0 +hwEventCounters3 = scalar, U16, 1376, "", 1, 0 +hwEventCounters4 = scalar, U16, 1378, "", 1, 0 +vvtCamCounter = scalar, U16, 1380, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1384, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1388, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1392, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1393, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1396, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1400, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1404, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1408, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1412, [0:0] +triggerElapsedUs = scalar, U32, 1416, "", 1, 0 +; total TS size = 1420 +trgsynchronizationCounter = scalar, U32, 1420, "", 1, 0 +trgvvtToothDurations0 = scalar, U32, 1424, "us", 1, 0 +trgvvtCurrentPosition = scalar, F32, 1428, "", 1, 0 +trgvvtToothPosition1 = scalar, F32, 1432, "", 1, 0 +trgvvtToothPosition2 = scalar, F32, 1436, "", 1, 0 +trgvvtToothPosition3 = scalar, F32, 1440, "", 1, 0 +trgvvtToothPosition4 = scalar, F32, 1444, "", 1, 0 +trgtriggerSyncGapRatio = scalar, F32, 1448, "", 1, 0 +trgtriggerStateIndex = scalar, U08, 1452, "", 1, 0 +; total TS size = 1456 +vvt1isynchronizationCounter = scalar, U32, 1456, "", 1, 0 +vvt1ivvtToothDurations0 = scalar, U32, 1460, "us", 1, 0 +vvt1ivvtCurrentPosition = scalar, F32, 1464, "", 1, 0 +vvt1ivvtToothPosition1 = scalar, F32, 1468, "", 1, 0 +vvt1ivvtToothPosition2 = scalar, F32, 1472, "", 1, 0 +vvt1ivvtToothPosition3 = scalar, F32, 1476, "", 1, 0 +vvt1ivvtToothPosition4 = scalar, F32, 1480, "", 1, 0 +vvt1itriggerSyncGapRatio = scalar, F32, 1484, "", 1, 0 +vvt1itriggerStateIndex = scalar, U08, 1488, "", 1, 0 +; total TS size = 1492 +vvt1esynchronizationCounter = scalar, U32, 1492, "", 1, 0 +vvt1evvtToothDurations0 = scalar, U32, 1496, "us", 1, 0 +vvt1evvtCurrentPosition = scalar, F32, 1500, "", 1, 0 +vvt1evvtToothPosition1 = scalar, F32, 1504, "", 1, 0 +vvt1evvtToothPosition2 = scalar, F32, 1508, "", 1, 0 +vvt1evvtToothPosition3 = scalar, F32, 1512, "", 1, 0 +vvt1evvtToothPosition4 = scalar, F32, 1516, "", 1, 0 +vvt1etriggerSyncGapRatio = scalar, F32, 1520, "", 1, 0 +vvt1etriggerStateIndex = scalar, U08, 1524, "", 1, 0 +; total TS size = 1528 +vvt2isynchronizationCounter = scalar, U32, 1528, "", 1, 0 +vvt2ivvtToothDurations0 = scalar, U32, 1532, "us", 1, 0 +vvt2ivvtCurrentPosition = scalar, F32, 1536, "", 1, 0 +vvt2ivvtToothPosition1 = scalar, F32, 1540, "", 1, 0 +vvt2ivvtToothPosition2 = scalar, F32, 1544, "", 1, 0 +vvt2ivvtToothPosition3 = scalar, F32, 1548, "", 1, 0 +vvt2ivvtToothPosition4 = scalar, F32, 1552, "", 1, 0 +vvt2itriggerSyncGapRatio = scalar, F32, 1556, "", 1, 0 +vvt2itriggerStateIndex = scalar, U08, 1560, "", 1, 0 +; total TS size = 1564 +vvt2esynchronizationCounter = scalar, U32, 1564, "", 1, 0 +vvt2evvtToothDurations0 = scalar, U32, 1568, "us", 1, 0 +vvt2evvtCurrentPosition = scalar, F32, 1572, "", 1, 0 +vvt2evvtToothPosition1 = scalar, F32, 1576, "", 1, 0 +vvt2evvtToothPosition2 = scalar, F32, 1580, "", 1, 0 +vvt2evvtToothPosition3 = scalar, F32, 1584, "", 1, 0 +vvt2evvtToothPosition4 = scalar, F32, 1588, "", 1, 0 +vvt2etriggerSyncGapRatio = scalar, F32, 1592, "", 1, 0 +vvt2etriggerStateIndex = scalar, U08, 1596, "", 1, 0 +; total TS size = 1600 +camResyncCounter = scalar, U08, 1600, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1604, [0:0] +; total TS size = 1608 +wallFuelCorrection = scalar, F32, 1608, "", 1, 0 +wallFuel = scalar, F32, 1612, "", 1, 0 +; total TS size = 1616 +idleState = bits, S32, 1616, [0:2], "not important" +currentIdlePosition = scalar, F32, 1620 +baseIdlePosition = scalar, F32, 1624 +idleClosedLoop = scalar, F32, 1628 +iacByTpsTaper = scalar, F32, 1632 +mightResetPid = bits, U32, 1636, [0:0] +shouldResetPid = bits, U32, 1636, [1:1] +wasResetPid = bits, U32, 1636, [2:2] +mustResetPid = bits, U32, 1636, [3:3] +isCranking = bits, U32, 1636, [4:4] +isIacTableForCoasting = bits, U32, 1636, [5:5] +notIdling = bits, U32, 1636, [6:6] +needReset = bits, U32, 1636, [7:7] +isInDeadZone = bits, U32, 1636, [8:8] +isBlipping = bits, U32, 1636, [9:9] +useClosedLoop = bits, U32, 1636, [10:10] +badTps = bits, U32, 1636, [11:11] +looksLikeRunning = bits, U32, 1636, [12:12] +looksLikeCoasting = bits, U32, 1636, [13:13] +looksLikeCrankToIdle = bits, U32, 1636, [14:14] +isIdleCoasting = bits, U32, 1636, [15:15] +isIdleClosedLoop = bits, U32, 1636, [16:16] +idleTarget = scalar, S32, 1640, "", 1, 0 +targetRpmByClt = scalar, S32, 1644, "", 1, 0 +targetRpmAc = scalar, S32, 1648, "", 1, 0 +iacByRpmTaper = scalar, F32, 1652 +luaAdd = scalar, F32, 1656 +; total TS size = 1660 +etb1targetWithIdlePosition = scalar, F32, 1660, "%", 1,0 +etb1trim = scalar, F32, 1664, "", 1, 0 +etb1luaAdjustment = scalar, F32, 1668, "%", 1,0 +etb1m_wastegatePosition = scalar, F32, 1672, "%", 1,0 +etb1etbFeedForward = scalar, F32, 1676 +etb1etbIntegralError = scalar, F32, 1680, "", 1, 0 +etb1etbCurrentTarget = scalar, F32, 1684, "%", 1, 0 +etb1m_adjustedTarget = scalar, S16, 1688, "%", 0.01, 0 +etb1etbRevLimitActive = bits, U32, 1692, [0:0] +etb1jamDetected = bits, U32, 1692, [1:1] +etb1validPlantPosition = bits, U32, 1692, [2:2] +etb1etbTpsErrorCounter = scalar, U16, 1696, "count", 1,0 +etb1etbPpsErrorCounter = scalar, U16, 1698, "count", 1,0 +etb1etbErrorCode = scalar, S08, 1700, "", 1, 0 +etb1etbErrorCodeBlinker = scalar, S08, 1701, "", 1, 0 +etb1tcEtbDrop = scalar, S08, 1702, "%", 1, 0 +etb1jamTimer = scalar, U16, 1704, "sec", 0.01, 0 +etb1adjustedEtbTarget = scalar, S08, 1706, "%", 1, 0 +etb1state = scalar, U08, 1707, "", 1, 0 +; total TS size = 1708 +etb2targetWithIdlePosition = scalar, F32, 1708, "%", 1,0 +etb2trim = scalar, F32, 1712, "", 1, 0 +etb2luaAdjustment = scalar, F32, 1716, "%", 1,0 +etb2m_wastegatePosition = scalar, F32, 1720, "%", 1,0 +etb2etbFeedForward = scalar, F32, 1724 +etb2etbIntegralError = scalar, F32, 1728, "", 1, 0 +etb2etbCurrentTarget = scalar, F32, 1732, "%", 1, 0 +etb2m_adjustedTarget = scalar, S16, 1736, "%", 0.01, 0 +etb2etbRevLimitActive = bits, U32, 1740, [0:0] +etb2jamDetected = bits, U32, 1740, [1:1] +etb2validPlantPosition = bits, U32, 1740, [2:2] +etb2etbTpsErrorCounter = scalar, U16, 1744, "count", 1,0 +etb2etbPpsErrorCounter = scalar, U16, 1746, "count", 1,0 +etb2etbErrorCode = scalar, S08, 1748, "", 1, 0 +etb2etbErrorCodeBlinker = scalar, S08, 1749, "", 1, 0 +etb2tcEtbDrop = scalar, S08, 1750, "%", 1, 0 +etb2jamTimer = scalar, U16, 1752, "sec", 0.01, 0 +etb2adjustedEtbTarget = scalar, S08, 1754, "%", 1, 0 +etb2state = scalar, U08, 1755, "", 1, 0 +; total TS size = 1756 +wb1faultCode = scalar, U08, 1756, "", 1, 0 +wb1heaterDuty = scalar, U08, 1757, "%", 1, 0 +wb1pumpDuty = scalar, U08, 1758, "%", 1, 0 +wb1tempC = scalar, U16, 1760, "C", 1, 0 +wb1nernstVoltage = scalar, U16, 1762, "V", 0.001, 0 +wb1esr = scalar, U16, 1764, "ohm", 1, 0 +; total TS size = 1768 +wb2faultCode = scalar, U08, 1768, "", 1, 0 +wb2heaterDuty = scalar, U08, 1769, "%", 1, 0 +wb2pumpDuty = scalar, U08, 1770, "%", 1, 0 +wb2tempC = scalar, U16, 1772, "C", 1, 0 +wb2nernstVoltage = scalar, U16, 1774, "V", 0.001, 0 +wb2esr = scalar, U16, 1776, "ohm", 1, 0 +; total TS size = 1780 +dcOutput0 = scalar, F32, 1780, "%", 1,0 +isEnabled0_int = scalar, U08, 1784, "%", 1,0 +isEnabled0 = bits, U32, 1788, [0:0] +; total TS size = 1792 +value0 = scalar, U16, 1792, "RAW", 1,0 +value1 = scalar, U16, 1794, "RAW", 1,0 +errorRate = scalar, F32, 1796, "% (don't belive me)", 1,0 ; total TS size = 1800 -lambdaCurrentlyGood = bits, U32, 1800, [0:0] -lambdaMonitorCut = bits, U32, 1800, [1:1] -lambdaTimeSinceGood = scalar, U16, 1804, "sec", 0.01, 0 -; total TS size = 1808 +vvtTarget = scalar, U16, 1800, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1802, "%", 0.5, 0 +; total TS size = 1804 +lambdaCurrentlyGood = bits, U32, 1804, [0:0] +lambdaMonitorCut = bits, U32, 1804, [1:1] +lambdaTimeSinceGood = scalar, U16, 1808, "sec", 0.01, 0 +; total TS size = 1812 time = { timeNow } @@ -4584,6 +4587,12 @@ curve = rangeMatrix, "Range Switch Input Matrix" gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. upDownLabel = "(RICHER)", "(LEANER)" + table = trailingSparkTable, trailingSparkMap, "Trailing spark", 1 + xyLabels = "RPM", "Ignition Load" + xBins = trailingSparkRpmBins, RPMValue + yBins = trailingSparkLoadBins, ignitionLoad + zBins = trailingSparkTable + table = torqueTableTbl, torqueTableMap, "Engine Torque", 1 xBins = torqueRpmBins, RPMValue yBins = torqueLoadBins, veTableYAxis @@ -4881,6 +4890,7 @@ timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20 timingPidCorrectionGauge = timingPidCorrection,"Idle: Timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 +trailingSparkAngleGauge = trailingSparkAngle,"Ign: Trailing spark deg", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 gaugeCategory = "Boost Control" luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 @@ -5811,6 +5821,7 @@ entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" entry = luaIgnitionSkip, "Ign: Lua Spark Skip", int, "%d" +entry = trailingSparkAngle, "Ign: Trailing spark deg", float, "%.3f" entry = m_knockLevel, "Knock: Current level", float, "%.3f" entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" @@ -6759,6 +6770,7 @@ dialog = ignition_stateDialog, "ignition_state" graphLine = luaTimingAdd liveGraph = ignition_state_4_Graph, "Graph", South graphLine = luaTimingMult + graphLine = trailingSparkAngle dialog = knock_controllerDialog, "knock_controller" @@ -10095,11 +10107,11 @@ dialog = tcuControls, "Transmission Settings" dialog = rotaryDialog, "Rotary" field = "Enable Trailing Sparks", enableTrailingSparks - field = "Trailing Spark Offset", trailingSparkAngle field = "Trailing Pin 1", trailingCoilPins1 field = "Trailing Pin 2", trailingCoilPins2 field = "Trailing Pin 3", trailingCoilPins3 field = "Trailing Pin 4", trailingCoilPins4 + panel = trailingSparkTable diff --git a/firmware/tunerstudio/generated/rusefi_stm32f767_nucleo.ini b/firmware/tunerstudio/generated/rusefi_stm32f767_nucleo.ini index 811d5a1c94..dfba76f5e5 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.2025.02.07.stm32f767_nucleo.1384441238" + signature = "rusEFI master.2025.02.07.stm32f767_nucleo.3574033147" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2025.02.07.stm32f767_nucleo.1384441238" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2025.02.07.stm32f767_nucleo.3574033147" ; 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 @@ -101,7 +101,7 @@ enable2ndByteCanID = false ; CONFIG_DEFINITION_START ; this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt -pageSize = 23280 +pageSize = 23304 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",22="BMW_M52",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",21="ET_BOSCH_QUICK_START",24="ET_TEST_WITH_BOSCH_QUICK_START",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",41="FRANKENSO_MIATA_NA6_MAP",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",47="GM_LCV",55="GM_LTG",98="GM_SBC",49="GM_SBC_GEN5",8="GY6_139QMB",6="HARLEY",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",34="MAZDA_MIATA_NA6",80="MAZDA_MIATA_NA94",10="MAZDA_MIATA_NA96",83="MAZDA_MIATA_NB1",69="MAZDA_MIATA_NB2",86="MAZDA_MIATA_NB2_36",20="MAZDA_MIATA_NC",33="ME17_9_MISC",68="MERCEDES_M111",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",4="MRE_SECONDARY_CAN",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",35="POLARIS",9="POLARIS_RZR",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",27="PROTEUS_GM_LS_4",25="PROTEUS_LUA_DEMO",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",17="TCU_4R70W",100="TEST_100",101="TEST_101",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",93="TEST_ISSUE_6451",19="TEST_ROTARY",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",102="UNUSED102",67="UNUSED67",94="UNUSED94",65="UNUSED_65",97="UNUSED_97",77="VAG_5_CYL",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -245,7 +245,7 @@ vbattAdcChannel = bits, U08, 513, [0:5], $adc_channel_e_list fuelLevelSensor = bits, U08, 514, [0:5], $adc_channel_e_list tps2_1AdcChannel = bits, U08, 515, [0:5], $adc_channel_e_list idle_derivativeFilterLoss = scalar, F32, 516, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 520, "angle", 1, 0, 0, 720, 0 +unusedTrailingSparkAngle = scalar, S32, 520, "", 1, 0, 0, 100, 0 trigger_type = bits, U32, 524, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Daihatsu 3 cylinder", "Mazda SOHC 4", "60-2", "36-1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "Dodge Ram 1+16", "60-2 Wrong Polarity", "Benelli Tre", "Dodge Stratus", "36_2_2_2", "Nissan Primera", "dev 2JZ 3/34 simulator", "Rover K", "GM 24x 5 degree", "Honda CBR 600 Cam", "INVALID", "Honda CBR 600 custom", "3-1 skipped", "Dodge Neon 2003 crank", "Miata NB", "INVALID", "INVALID", "Subaru 7+6", "Jeep 18-2-2-2", "12crank/24cam", "Dodge Neon 1995 crank only", "Jeep XJ 4 cyl", "FiatIAQ_P8", "Mazda Z5", "INVALID", "Renix 44-2-2", "Renix 66-2-2-2", "Honda K 12+1", "INVALID", "36-2", "Subaru SVX", "Suzuki K6A", "Subaru 7 without 6", "INVALID", "INVALID", "GM 60-2-2-2", "Skoda Favorit", "Barra 3+1 Cam", "Kawa KX450F", "Nissan VQ35", "INVALID", "Nissan VQ30", "Nissan QR25", "INVALID", "Subaru SVX Crank 1", "Subaru SVX Cam VVT", "Ford PIP", "Suzuki G13B", "Honda K 4+1", "Nissan MR18 Crank", "32-2", "36-2-1", "36-2-1-1", "3-0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6-0", "Daihatsu 4 cylinder", "INVALID", "dev", "Nissan HR", "Arctic Cat", "HR12 in", "HONDA J30A2", "trg88", "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" trigger_customTotalToothCount = scalar, S32, 528, "number", 1, 0, 1, 300, 0 trigger_customSkippedToothCount = scalar, S32, 532, "number", 1, 0, 0, 300, 0 @@ -1796,7 +1796,10 @@ dynoCarCarMassKg = scalar, S16, 23268, "", 1, 0, 0, 32000, 0 dynoCarCargoMassKg = scalar, S16, 23270, "", 1, 0, 0, 32000, 0 dynoCarCoeffOfDrag = scalar, F32, 23272, "", 1, 0, 0, 100, 0 dynoCarFrontalAreaM2 = scalar, F32, 23276, "", 1, 0, 0, 100, 0 -; total TS size = 23280 +trailingSparkTable = array, S08, 23280, [4x4], "deg", 0.1, 0, 0, 20, 1 +trailingSparkRpmBins = array, U08, 23296, [4], "rpm", 50.0, 0, 0, 12000, 0 +trailingSparkLoadBins = array, U08, 23300, [4], "Load", 5.0, 0, 0, 1000, 0 +; total TS size = 23304 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1890,7 +1893,6 @@ dynoCarFrontalAreaM2 = scalar, F32, 23276, "", 1, 0, 0, 100, 0 fuelLevelSensor = "This is the processor pin that your fuel level sensor in connected to. This is a non standard input so will need to be user defined." tps2_1AdcChannel = "Second throttle body position sensor, single channel so far" idle_derivativeFilterLoss = "0.1 is a good default value" - trailingSparkAngle = "just a temporary solution" trigger_type = "https://github.com/rusefi/rusefi/wiki/All-Supported-Triggers" airByRpmTaper = "Extra air taper amount" boostControlSafeDutyCycle = "Duty cycle to use in case of a sensor failure. This duty cycle should produce the minimum possible amount of boost. This duty is also used in case any of the minimum RPM/TPS/MAP conditions are not met." @@ -2664,7 +2666,7 @@ dynoCarFrontalAreaM2 = scalar, F32, 23276, "", 1, 0, 0, 100, 0 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1808 + ochBlockSize = 1812 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3189,417 +3191,418 @@ dwellVoltageCorrection = scalar, F32, 940, "", 1, 0 luaTimingAdd = scalar, F32, 944, "deg", 1, 0 luaTimingMult = scalar, F32, 948, "deg", 1, 0 luaIgnitionSkip = bits, U32, 952, [0:0] -; total TS size = 956 -m_knockLevel = scalar, F32, 956, "Volts", 1, 0 -m_knockCyl1 = scalar, S08, 960, "dBv", 1, 0 -m_knockCyl2 = scalar, S08, 961, "dBv", 1, 0 -m_knockCyl3 = scalar, S08, 962, "dBv", 1, 0 -m_knockCyl4 = scalar, S08, 963, "dBv", 1, 0 -m_knockCyl5 = scalar, S08, 964, "dBv", 1, 0 -m_knockCyl6 = scalar, S08, 965, "dBv", 1, 0 -m_knockCyl7 = scalar, S08, 966, "dBv", 1, 0 -m_knockCyl8 = scalar, S08, 967, "dBv", 1, 0 -m_knockCyl9 = scalar, S08, 968, "dBv", 1, 0 -m_knockCyl10 = scalar, S08, 969, "dBv", 1, 0 -m_knockCyl11 = scalar, S08, 970, "dBv", 1, 0 -m_knockCyl12 = scalar, S08, 971, "dBv", 1, 0 -m_knockRetard = scalar, F32, 972, "deg", 1,0 -m_knockThreshold = scalar, F32, 976, "", 1, 0 -m_knockCount = scalar, U32, 980, "", 1, 0 -m_maximumRetard = scalar, F32, 984, "", 1, 0 -m_knockSpectrum1 = scalar, U32, 988, "compressed data", 1, 0 -m_knockSpectrum2 = scalar, U32, 992, "compressed data", 1, 0 -m_knockSpectrum3 = scalar, U32, 996, "compressed data", 1, 0 -m_knockSpectrum4 = scalar, U32, 1000, "compressed data", 1, 0 -m_knockSpectrum5 = scalar, U32, 1004, "compressed data", 1, 0 -m_knockSpectrum6 = scalar, U32, 1008, "compressed data", 1, 0 -m_knockSpectrum7 = scalar, U32, 1012, "compressed data", 1, 0 -m_knockSpectrum8 = scalar, U32, 1016, "compressed data", 1, 0 -m_knockSpectrum9 = scalar, U32, 1020, "compressed data", 1, 0 -m_knockSpectrum10 = scalar, U32, 1024, "compressed data", 1, 0 -m_knockSpectrum11 = scalar, U32, 1028, "compressed data", 1, 0 -m_knockSpectrum12 = scalar, U32, 1032, "compressed data", 1, 0 -m_knockSpectrum13 = scalar, U32, 1036, "compressed data", 1, 0 -m_knockSpectrum14 = scalar, U32, 1040, "compressed data", 1, 0 -m_knockSpectrum15 = scalar, U32, 1044, "compressed data", 1, 0 -m_knockSpectrum16 = scalar, U32, 1048, "compressed data", 1, 0 -m_knockSpectrumChannelCyl = scalar, U16, 1052, "compressed N + N", 1, 0 -m_knockFrequencyStart = scalar, U16, 1054, "Hz", 1, 0 -m_knockFrequencyStep = scalar, F32, 1056, "Hz", 1, 0 -m_knockFuelTrimMultiplier = scalar, F32, 1060, "multiplier", 1, 0 -; total TS size = 1064 -m_isPriming = bits, U32, 1064, [0:0] +trailingSparkAngle = scalar, S16, 956, "deg", 0.01,0 +; total TS size = 960 +m_knockLevel = scalar, F32, 960, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 964, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 965, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 966, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 967, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 968, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 969, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 970, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 971, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 972, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 973, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 974, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 975, "dBv", 1, 0 +m_knockRetard = scalar, F32, 976, "deg", 1,0 +m_knockThreshold = scalar, F32, 980, "", 1, 0 +m_knockCount = scalar, U32, 984, "", 1, 0 +m_maximumRetard = scalar, F32, 988, "", 1, 0 +m_knockSpectrum1 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1040, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1044, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1048, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1052, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1056, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1058, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1060, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1064, "multiplier", 1, 0 ; total TS size = 1068 -tcuCurrentGear = scalar, S08, 1068, "gear", 1, 0 -tcRatio = scalar, U16, 1070, "value", 0.01, 0 -lastShiftTime = scalar, F32, 1072, "", 1, 0 -tcu_currentRange = scalar, U08, 1076, "", 1, 0 -pressureControlDuty = scalar, S08, 1077, "%", 1,0 -torqueConverterDuty = scalar, S08, 1078, "%", 1,0 -isShifting = bits, U32, 1080, [0:0] -; total TS size = 1084 -throttleUseWotModel = bits, U32, 1084, [0:0] -throttleModelCrossoverAngle = scalar, S16, 1088, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1092, "g/s", 1, 0 -; total TS size = 1096 -m_requested_pump = scalar, F32, 1096, "", 1, 0 -fuel_requested_percent = scalar, F32, 1100, "%", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1104, "", 1, 0 -noValve = bits, U32, 1108, [0:0] -angleAboveMin = bits, U32, 1108, [1:1] -isHpfpActive = bits, U32, 1108, [2:2] -HpfpValveState = bits, U32, 1108, [3:3] -m_pressureTarget_kPa = scalar, F32, 1112, "", 1, 0 -nextLobe = scalar, F32, 1116, "", 1, 0 -di_nextStart = scalar, F32, 1120, "v", 1, 0 -HpfdActivationPhase = scalar, F32, 1124, "", 1, 0 -HpfdDeactivationPhase = scalar, F32, 1128, "", 1, 0 -; total TS size = 1132 -m_deadtime = scalar, F32, 1132, "ms", 1, 0 -pressureDelta = scalar, F32, 1136, "kPa", 1, 0 -pressureRatio = scalar, F32, 1140, "", 1, 0 -; total TS size = 1144 -retardThresholdRpm = scalar, S32, 1144, "", 1, 0 -launchActivatePinState = bits, U32, 1148, [0:0] -isPreLaunchCondition = bits, U32, 1148, [1:1] -isLaunchCondition = bits, U32, 1148, [2:2] -isSwitchActivated = bits, U32, 1148, [3:3] -isClutchActivated = bits, U32, 1148, [4:4] -isBrakePedalActivated = bits, U32, 1148, [5:5] -isValidInputPin = bits, U32, 1148, [6:6] -activateSwitchCondition = bits, U32, 1148, [7:7] -rpmLaunchCondition = bits, U32, 1148, [8:8] -rpmPreLaunchCondition = bits, U32, 1148, [9:9] -speedCondition = bits, U32, 1148, [10:10] -tpsCondition = bits, U32, 1148, [11:11] -; total TS size = 1152 -isTorqueReductionTriggerPinValid = bits, U32, 1152, [0:0] -torqueReductionTriggerPinState = bits, U32, 1152, [1:1] -isTimeConditionSatisfied = bits, U32, 1152, [2:2] -isRpmConditionSatisfied = bits, U32, 1152, [3:3] -isAppConditionSatisfied = bits, U32, 1152, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1152, [5:5] +m_isPriming = bits, U32, 1068, [0:0] +; total TS size = 1072 +tcuCurrentGear = scalar, S08, 1072, "gear", 1, 0 +tcRatio = scalar, U16, 1074, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1076, "", 1, 0 +tcu_currentRange = scalar, U08, 1080, "", 1, 0 +pressureControlDuty = scalar, S08, 1081, "%", 1,0 +torqueConverterDuty = scalar, S08, 1082, "%", 1,0 +isShifting = bits, U32, 1084, [0:0] +; total TS size = 1088 +throttleUseWotModel = bits, U32, 1088, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1092, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1096, "g/s", 1, 0 +; total TS size = 1100 +m_requested_pump = scalar, F32, 1100, "", 1, 0 +fuel_requested_percent = scalar, F32, 1104, "%", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1108, "", 1, 0 +noValve = bits, U32, 1112, [0:0] +angleAboveMin = bits, U32, 1112, [1:1] +isHpfpActive = bits, U32, 1112, [2:2] +HpfpValveState = bits, U32, 1112, [3:3] +m_pressureTarget_kPa = scalar, F32, 1116, "", 1, 0 +nextLobe = scalar, F32, 1120, "", 1, 0 +di_nextStart = scalar, F32, 1124, "v", 1, 0 +HpfdActivationPhase = scalar, F32, 1128, "", 1, 0 +HpfdDeactivationPhase = scalar, F32, 1132, "", 1, 0 +; total TS size = 1136 +m_deadtime = scalar, F32, 1136, "ms", 1, 0 +pressureDelta = scalar, F32, 1140, "kPa", 1, 0 +pressureRatio = scalar, F32, 1144, "", 1, 0 +; total TS size = 1148 +retardThresholdRpm = scalar, S32, 1148, "", 1, 0 +launchActivatePinState = bits, U32, 1152, [0:0] +isPreLaunchCondition = bits, U32, 1152, [1:1] +isLaunchCondition = bits, U32, 1152, [2:2] +isSwitchActivated = bits, U32, 1152, [3:3] +isClutchActivated = bits, U32, 1152, [4:4] +isBrakePedalActivated = bits, U32, 1152, [5:5] +isValidInputPin = bits, U32, 1152, [6:6] +activateSwitchCondition = bits, U32, 1152, [7:7] +rpmLaunchCondition = bits, U32, 1152, [8:8] +rpmPreLaunchCondition = bits, U32, 1152, [9:9] +speedCondition = bits, U32, 1152, [10:10] +tpsCondition = bits, U32, 1152, [11:11] ; total TS size = 1156 -isAntilagCondition = bits, U32, 1156, [0:0] -ALSMinRPMCondition = bits, U32, 1156, [1:1] -ALSMaxRPMCondition = bits, U32, 1156, [2:2] -ALSMinCLTCondition = bits, U32, 1156, [3:3] -ALSMaxCLTCondition = bits, U32, 1156, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1156, [5:5] -isALSSwitchActivated = bits, U32, 1156, [6:6] -ALSActivatePinState = bits, U32, 1156, [7:7] -ALSSwitchCondition = bits, U32, 1156, [8:8] -ALSTimerCondition = bits, U32, 1156, [9:9] -fuelALSCorrection = scalar, F32, 1160, "", 1, 0 -timingALSCorrection = scalar, S16, 1164, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1166, "deg", 0.01, 0 -; total TS size = 1168 -isTpsInvalid = bits, U32, 1168, [0:0] -m_shouldResetPid = bits, U32, 1168, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1168, [2:2] -isNotClosedLoop = bits, U32, 1168, [3:3] -isZeroRpm = bits, U32, 1168, [4:4] -hasInitBoost = bits, U32, 1168, [5:5] -rpmTooLow = bits, U32, 1168, [6:6] -tpsTooLow = bits, U32, 1168, [7:7] -mapTooLow = bits, U32, 1168, [8:8] -isPlantValid = bits, U32, 1168, [9:9] -isBoostControlled = bits, U32, 1168, [10:10] -luaTargetAdd = scalar, S16, 1172, "v", 0.5,0 -boostOutput = scalar, S16, 1174, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1176, "v", 1,0 -openLoopPart = scalar, F32, 1180, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1184, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1188, "%", 0.5,0 -boostControlTarget = scalar, S16, 1190, "kPa", 0.03333333333333333,0 -; total TS size = 1192 -acButtonState = scalar, S08, 1192, "", 1, 0 -m_acEnabled = bits, U32, 1196, [0:0] -engineTooSlow = bits, U32, 1196, [1:1] -engineTooFast = bits, U32, 1196, [2:2] -noClt = bits, U32, 1196, [3:3] -engineTooHot = bits, U32, 1196, [4:4] -tpsTooHigh = bits, U32, 1196, [5:5] -isDisabledByLua = bits, U32, 1196, [6:6] -acCompressorState = bits, U32, 1196, [7:7] -acPressureTooLow = bits, U32, 1196, [8:8] -acPressureTooHigh = bits, U32, 1196, [9:9] -; total TS size = 1200 -isNitrousArmed = bits, U32, 1200, [0:0] -isNitrousSpeedCondition = bits, U32, 1200, [1:1] -isNitrousTpsCondition = bits, U32, 1200, [2:2] -isNitrousCltCondition = bits, U32, 1200, [3:3] -isNitrousMapCondition = bits, U32, 1200, [4:4] -isNitrousAfrCondition = bits, U32, 1200, [5:5] -isNitrousRpmCondition = bits, U32, 1200, [6:6] -isNitrousCondition = bits, U32, 1200, [7:7] +isTorqueReductionTriggerPinValid = bits, U32, 1156, [0:0] +torqueReductionTriggerPinState = bits, U32, 1156, [1:1] +isTimeConditionSatisfied = bits, U32, 1156, [2:2] +isRpmConditionSatisfied = bits, U32, 1156, [3:3] +isAppConditionSatisfied = bits, U32, 1156, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1156, [5:5] +; total TS size = 1160 +isAntilagCondition = bits, U32, 1160, [0:0] +ALSMinRPMCondition = bits, U32, 1160, [1:1] +ALSMaxRPMCondition = bits, U32, 1160, [2:2] +ALSMinCLTCondition = bits, U32, 1160, [3:3] +ALSMaxCLTCondition = bits, U32, 1160, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1160, [5:5] +isALSSwitchActivated = bits, U32, 1160, [6:6] +ALSActivatePinState = bits, U32, 1160, [7:7] +ALSSwitchCondition = bits, U32, 1160, [8:8] +ALSTimerCondition = bits, U32, 1160, [9:9] +fuelALSCorrection = scalar, F32, 1164, "", 1, 0 +timingALSCorrection = scalar, S16, 1168, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1170, "deg", 0.01, 0 +; total TS size = 1172 +isTpsInvalid = bits, U32, 1172, [0:0] +m_shouldResetPid = bits, U32, 1172, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1172, [2:2] +isNotClosedLoop = bits, U32, 1172, [3:3] +isZeroRpm = bits, U32, 1172, [4:4] +hasInitBoost = bits, U32, 1172, [5:5] +rpmTooLow = bits, U32, 1172, [6:6] +tpsTooLow = bits, U32, 1172, [7:7] +mapTooLow = bits, U32, 1172, [8:8] +isPlantValid = bits, U32, 1172, [9:9] +isBoostControlled = bits, U32, 1172, [10:10] +luaTargetAdd = scalar, S16, 1176, "v", 0.5,0 +boostOutput = scalar, S16, 1178, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1180, "v", 1,0 +openLoopPart = scalar, F32, 1184, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1188, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1192, "%", 0.5,0 +boostControlTarget = scalar, S16, 1194, "kPa", 0.03333333333333333,0 +; total TS size = 1196 +acButtonState = scalar, S08, 1196, "", 1, 0 +m_acEnabled = bits, U32, 1200, [0:0] +engineTooSlow = bits, U32, 1200, [1:1] +engineTooFast = bits, U32, 1200, [2:2] +noClt = bits, U32, 1200, [3:3] +engineTooHot = bits, U32, 1200, [4:4] +tpsTooHigh = bits, U32, 1200, [5:5] +isDisabledByLua = bits, U32, 1200, [6:6] +acCompressorState = bits, U32, 1200, [7:7] +acPressureTooLow = bits, U32, 1200, [8:8] +acPressureTooHigh = bits, U32, 1200, [9:9] ; total TS size = 1204 -fan1cranking = bits, U32, 1204, [0:0] -fan1notRunning = bits, U32, 1204, [1:1] -fan1disabledWhileEngineStopped = bits, U32, 1204, [2:2] -fan1brokenClt = bits, U32, 1204, [3:3] -fan1enabledForAc = bits, U32, 1204, [4:4] -fan1hot = bits, U32, 1204, [5:5] -fan1cold = bits, U32, 1204, [6:6] -fan1disabledBySpeed = bits, U32, 1204, [7:7] -fan1m_state = bits, U32, 1204, [8:8] -fan1radiatorFanStatus = scalar, U08, 1208, "", 1, 0 -; total TS size = 1212 -fan2cranking = bits, U32, 1212, [0:0] -fan2notRunning = bits, U32, 1212, [1:1] -fan2disabledWhileEngineStopped = bits, U32, 1212, [2:2] -fan2brokenClt = bits, U32, 1212, [3:3] -fan2enabledForAc = bits, U32, 1212, [4:4] -fan2hot = bits, U32, 1212, [5:5] -fan2cold = bits, U32, 1212, [6:6] -fan2disabledBySpeed = bits, U32, 1212, [7:7] -fan2m_state = bits, U32, 1212, [8:8] -fan2radiatorFanStatus = scalar, U08, 1216, "", 1, 0 -; total TS size = 1220 -isPrime = bits, U32, 1220, [0:0] -engineTurnedRecently = bits, U32, 1220, [1:1] -isFuelPumpOn = bits, U32, 1220, [2:2] -ignitionOn = bits, U32, 1220, [3:3] +isNitrousArmed = bits, U32, 1204, [0:0] +isNitrousSpeedCondition = bits, U32, 1204, [1:1] +isNitrousTpsCondition = bits, U32, 1204, [2:2] +isNitrousCltCondition = bits, U32, 1204, [3:3] +isNitrousMapCondition = bits, U32, 1204, [4:4] +isNitrousAfrCondition = bits, U32, 1204, [5:5] +isNitrousRpmCondition = bits, U32, 1204, [6:6] +isNitrousCondition = bits, U32, 1204, [7:7] +; total TS size = 1208 +fan1cranking = bits, U32, 1208, [0:0] +fan1notRunning = bits, U32, 1208, [1:1] +fan1disabledWhileEngineStopped = bits, U32, 1208, [2:2] +fan1brokenClt = bits, U32, 1208, [3:3] +fan1enabledForAc = bits, U32, 1208, [4:4] +fan1hot = bits, U32, 1208, [5:5] +fan1cold = bits, U32, 1208, [6:6] +fan1disabledBySpeed = bits, U32, 1208, [7:7] +fan1m_state = bits, U32, 1208, [8:8] +fan1radiatorFanStatus = scalar, U08, 1212, "", 1, 0 +; total TS size = 1216 +fan2cranking = bits, U32, 1216, [0:0] +fan2notRunning = bits, U32, 1216, [1:1] +fan2disabledWhileEngineStopped = bits, U32, 1216, [2:2] +fan2brokenClt = bits, U32, 1216, [3:3] +fan2enabledForAc = bits, U32, 1216, [4:4] +fan2hot = bits, U32, 1216, [5:5] +fan2cold = bits, U32, 1216, [6:6] +fan2disabledBySpeed = bits, U32, 1216, [7:7] +fan2m_state = bits, U32, 1216, [8:8] +fan2radiatorFanStatus = scalar, U08, 1220, "", 1, 0 ; total TS size = 1224 -isBenchTest = bits, U32, 1224, [0:0] -hasIgnitionVoltage = bits, U32, 1224, [1:1] -mainRelayState = bits, U32, 1224, [2:2] -delayedShutoffRequested = bits, U32, 1224, [3:3] +isPrime = bits, U32, 1224, [0:0] +engineTurnedRecently = bits, U32, 1224, [1:1] +isFuelPumpOn = bits, U32, 1224, [2:2] +ignitionOn = bits, U32, 1224, [3:3] ; total TS size = 1228 -lua_fuelAdd = scalar, F32, 1228, "g", 1, 0 -lua_fuelMult = scalar, F32, 1232, "", 1, 0 -lua_clutchUpState = bits, U32, 1236, [0:0] -lua_brakePedalState = bits, U32, 1236, [1:1] -lua_acRequestState = bits, U32, 1236, [2:2] -lua_luaDisableEtb = bits, U32, 1236, [3:3] -lua_luaIgnCut = bits, U32, 1236, [4:4] -lua_luaFuelCut = bits, U32, 1236, [5:5] -lua_clutchDownState = bits, U32, 1236, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1236, [7:7] -lua_torqueReductionState = bits, U32, 1236, [8:8] -sd_tCharge = scalar, S16, 1240, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1244, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1248, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1252, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1256, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1260, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1264, "", 1, 0 -hellenBoardId = scalar, S16, 1268, "id", 1, 0 -clutchUpState = scalar, S08, 1270, "", 1, 0 -brakePedalState = scalar, S08, 1271, "", 1, 0 -startStopState = scalar, S08, 1272, "", 1, 0 -smartChipState = scalar, S08, 1273, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1274, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1275, "", 1, 0 -startStopPhysicalState = bits, U32, 1276, [0:0] -acrActive = bits, U32, 1276, [1:1] -acrEngineMovedRecently = bits, U32, 1276, [2:2] -heaterControlEnabled = bits, U32, 1276, [3:3] -luaDigitalState0 = bits, U32, 1276, [4:4] -luaDigitalState1 = bits, U32, 1276, [5:5] -luaDigitalState2 = bits, U32, 1276, [6:6] -luaDigitalState3 = bits, U32, 1276, [7:7] -clutchDownState = bits, U32, 1276, [8:8] -startStopStateToggleCounter = scalar, U32, 1280, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1284, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1288, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1292, "", 1, 0 -fuelInjectionCounter = scalar, U32, 1296, "", 1, 0 -globalSparkCounter = scalar, U32, 1300, "", 1, 0 -fuelingLoad = scalar, F32, 1304, "", 1, 0 -ignitionLoad = scalar, F32, 1308, "", 1, 0 -veTableYAxis = scalar, U16, 1312, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1314, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1315, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1316, "", 1, 0 -; total TS size = 1320 -tpsFrom = scalar, F32, 1320 -tpsTo = scalar, F32, 1324 -deltaTps = scalar, F32, 1328 -extraFuel = scalar, F32, 1332, "", 1, 0 -valueFromTable = scalar, F32, 1336, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1340, [0:0] -isBelowDecelThreshold = bits, U32, 1340, [1:1] -isTimeToResetAccumulator = bits, U32, 1340, [2:2] -isFractionalEnrichment = bits, U32, 1340, [3:3] -belowEpsilon = bits, U32, 1340, [4:4] -tooShort = bits, U32, 1340, [5:5] -fractionalInjFuel = scalar, F32, 1344, "", 1, 0 -accumulatedValue = scalar, F32, 1348, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1352, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1356, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1360, "", 1, 0 -cycleCnt = scalar, S32, 1364, "", 1, 0 -; total TS size = 1368 -hwEventCounters1 = scalar, U16, 1368, "", 1, 0 -hwEventCounters2 = scalar, U16, 1370, "", 1, 0 -hwEventCounters3 = scalar, U16, 1372, "", 1, 0 -hwEventCounters4 = scalar, U16, 1374, "", 1, 0 -vvtCamCounter = scalar, U16, 1376, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1380, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1384, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1388, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1389, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1392, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1396, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1400, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1404, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1408, [0:0] -triggerElapsedUs = scalar, U32, 1412, "", 1, 0 -; total TS size = 1416 -trgsynchronizationCounter = scalar, U32, 1416, "", 1, 0 -trgvvtToothDurations0 = scalar, U32, 1420, "us", 1, 0 -trgvvtCurrentPosition = scalar, F32, 1424, "", 1, 0 -trgvvtToothPosition1 = scalar, F32, 1428, "", 1, 0 -trgvvtToothPosition2 = scalar, F32, 1432, "", 1, 0 -trgvvtToothPosition3 = scalar, F32, 1436, "", 1, 0 -trgvvtToothPosition4 = scalar, F32, 1440, "", 1, 0 -trgtriggerSyncGapRatio = scalar, F32, 1444, "", 1, 0 -trgtriggerStateIndex = scalar, U08, 1448, "", 1, 0 -; total TS size = 1452 -vvt1isynchronizationCounter = scalar, U32, 1452, "", 1, 0 -vvt1ivvtToothDurations0 = scalar, U32, 1456, "us", 1, 0 -vvt1ivvtCurrentPosition = scalar, F32, 1460, "", 1, 0 -vvt1ivvtToothPosition1 = scalar, F32, 1464, "", 1, 0 -vvt1ivvtToothPosition2 = scalar, F32, 1468, "", 1, 0 -vvt1ivvtToothPosition3 = scalar, F32, 1472, "", 1, 0 -vvt1ivvtToothPosition4 = scalar, F32, 1476, "", 1, 0 -vvt1itriggerSyncGapRatio = scalar, F32, 1480, "", 1, 0 -vvt1itriggerStateIndex = scalar, U08, 1484, "", 1, 0 -; total TS size = 1488 -vvt1esynchronizationCounter = scalar, U32, 1488, "", 1, 0 -vvt1evvtToothDurations0 = scalar, U32, 1492, "us", 1, 0 -vvt1evvtCurrentPosition = scalar, F32, 1496, "", 1, 0 -vvt1evvtToothPosition1 = scalar, F32, 1500, "", 1, 0 -vvt1evvtToothPosition2 = scalar, F32, 1504, "", 1, 0 -vvt1evvtToothPosition3 = scalar, F32, 1508, "", 1, 0 -vvt1evvtToothPosition4 = scalar, F32, 1512, "", 1, 0 -vvt1etriggerSyncGapRatio = scalar, F32, 1516, "", 1, 0 -vvt1etriggerStateIndex = scalar, U08, 1520, "", 1, 0 -; total TS size = 1524 -vvt2isynchronizationCounter = scalar, U32, 1524, "", 1, 0 -vvt2ivvtToothDurations0 = scalar, U32, 1528, "us", 1, 0 -vvt2ivvtCurrentPosition = scalar, F32, 1532, "", 1, 0 -vvt2ivvtToothPosition1 = scalar, F32, 1536, "", 1, 0 -vvt2ivvtToothPosition2 = scalar, F32, 1540, "", 1, 0 -vvt2ivvtToothPosition3 = scalar, F32, 1544, "", 1, 0 -vvt2ivvtToothPosition4 = scalar, F32, 1548, "", 1, 0 -vvt2itriggerSyncGapRatio = scalar, F32, 1552, "", 1, 0 -vvt2itriggerStateIndex = scalar, U08, 1556, "", 1, 0 -; total TS size = 1560 -vvt2esynchronizationCounter = scalar, U32, 1560, "", 1, 0 -vvt2evvtToothDurations0 = scalar, U32, 1564, "us", 1, 0 -vvt2evvtCurrentPosition = scalar, F32, 1568, "", 1, 0 -vvt2evvtToothPosition1 = scalar, F32, 1572, "", 1, 0 -vvt2evvtToothPosition2 = scalar, F32, 1576, "", 1, 0 -vvt2evvtToothPosition3 = scalar, F32, 1580, "", 1, 0 -vvt2evvtToothPosition4 = scalar, F32, 1584, "", 1, 0 -vvt2etriggerSyncGapRatio = scalar, F32, 1588, "", 1, 0 -vvt2etriggerStateIndex = scalar, U08, 1592, "", 1, 0 -; total TS size = 1596 -camResyncCounter = scalar, U08, 1596, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1600, [0:0] -; total TS size = 1604 -wallFuelCorrection = scalar, F32, 1604, "", 1, 0 -wallFuel = scalar, F32, 1608, "", 1, 0 -; total TS size = 1612 -idleState = bits, S32, 1612, [0:2], "not important" -currentIdlePosition = scalar, F32, 1616 -baseIdlePosition = scalar, F32, 1620 -idleClosedLoop = scalar, F32, 1624 -iacByTpsTaper = scalar, F32, 1628 -mightResetPid = bits, U32, 1632, [0:0] -shouldResetPid = bits, U32, 1632, [1:1] -wasResetPid = bits, U32, 1632, [2:2] -mustResetPid = bits, U32, 1632, [3:3] -isCranking = bits, U32, 1632, [4:4] -isIacTableForCoasting = bits, U32, 1632, [5:5] -notIdling = bits, U32, 1632, [6:6] -needReset = bits, U32, 1632, [7:7] -isInDeadZone = bits, U32, 1632, [8:8] -isBlipping = bits, U32, 1632, [9:9] -useClosedLoop = bits, U32, 1632, [10:10] -badTps = bits, U32, 1632, [11:11] -looksLikeRunning = bits, U32, 1632, [12:12] -looksLikeCoasting = bits, U32, 1632, [13:13] -looksLikeCrankToIdle = bits, U32, 1632, [14:14] -isIdleCoasting = bits, U32, 1632, [15:15] -isIdleClosedLoop = bits, U32, 1632, [16:16] -idleTarget = scalar, S32, 1636, "", 1, 0 -targetRpmByClt = scalar, S32, 1640, "", 1, 0 -targetRpmAc = scalar, S32, 1644, "", 1, 0 -iacByRpmTaper = scalar, F32, 1648 -luaAdd = scalar, F32, 1652 -; total TS size = 1656 -etb1targetWithIdlePosition = scalar, F32, 1656, "%", 1,0 -etb1trim = scalar, F32, 1660, "", 1, 0 -etb1luaAdjustment = scalar, F32, 1664, "%", 1,0 -etb1m_wastegatePosition = scalar, F32, 1668, "%", 1,0 -etb1etbFeedForward = scalar, F32, 1672 -etb1etbIntegralError = scalar, F32, 1676, "", 1, 0 -etb1etbCurrentTarget = scalar, F32, 1680, "%", 1, 0 -etb1m_adjustedTarget = scalar, S16, 1684, "%", 0.01, 0 -etb1etbRevLimitActive = bits, U32, 1688, [0:0] -etb1jamDetected = bits, U32, 1688, [1:1] -etb1validPlantPosition = bits, U32, 1688, [2:2] -etb1etbTpsErrorCounter = scalar, U16, 1692, "count", 1,0 -etb1etbPpsErrorCounter = scalar, U16, 1694, "count", 1,0 -etb1etbErrorCode = scalar, S08, 1696, "", 1, 0 -etb1etbErrorCodeBlinker = scalar, S08, 1697, "", 1, 0 -etb1tcEtbDrop = scalar, S08, 1698, "%", 1, 0 -etb1jamTimer = scalar, U16, 1700, "sec", 0.01, 0 -etb1adjustedEtbTarget = scalar, S08, 1702, "%", 1, 0 -etb1state = scalar, U08, 1703, "", 1, 0 -; total TS size = 1704 -etb2targetWithIdlePosition = scalar, F32, 1704, "%", 1,0 -etb2trim = scalar, F32, 1708, "", 1, 0 -etb2luaAdjustment = scalar, F32, 1712, "%", 1,0 -etb2m_wastegatePosition = scalar, F32, 1716, "%", 1,0 -etb2etbFeedForward = scalar, F32, 1720 -etb2etbIntegralError = scalar, F32, 1724, "", 1, 0 -etb2etbCurrentTarget = scalar, F32, 1728, "%", 1, 0 -etb2m_adjustedTarget = scalar, S16, 1732, "%", 0.01, 0 -etb2etbRevLimitActive = bits, U32, 1736, [0:0] -etb2jamDetected = bits, U32, 1736, [1:1] -etb2validPlantPosition = bits, U32, 1736, [2:2] -etb2etbTpsErrorCounter = scalar, U16, 1740, "count", 1,0 -etb2etbPpsErrorCounter = scalar, U16, 1742, "count", 1,0 -etb2etbErrorCode = scalar, S08, 1744, "", 1, 0 -etb2etbErrorCodeBlinker = scalar, S08, 1745, "", 1, 0 -etb2tcEtbDrop = scalar, S08, 1746, "%", 1, 0 -etb2jamTimer = scalar, U16, 1748, "sec", 0.01, 0 -etb2adjustedEtbTarget = scalar, S08, 1750, "%", 1, 0 -etb2state = scalar, U08, 1751, "", 1, 0 -; total TS size = 1752 -wb1faultCode = scalar, U08, 1752, "", 1, 0 -wb1heaterDuty = scalar, U08, 1753, "%", 1, 0 -wb1pumpDuty = scalar, U08, 1754, "%", 1, 0 -wb1tempC = scalar, U16, 1756, "C", 1, 0 -wb1nernstVoltage = scalar, U16, 1758, "V", 0.001, 0 -wb1esr = scalar, U16, 1760, "ohm", 1, 0 -; total TS size = 1764 -wb2faultCode = scalar, U08, 1764, "", 1, 0 -wb2heaterDuty = scalar, U08, 1765, "%", 1, 0 -wb2pumpDuty = scalar, U08, 1766, "%", 1, 0 -wb2tempC = scalar, U16, 1768, "C", 1, 0 -wb2nernstVoltage = scalar, U16, 1770, "V", 0.001, 0 -wb2esr = scalar, U16, 1772, "ohm", 1, 0 -; total TS size = 1776 -dcOutput0 = scalar, F32, 1776, "%", 1,0 -isEnabled0_int = scalar, U08, 1780, "%", 1,0 -isEnabled0 = bits, U32, 1784, [0:0] -; total TS size = 1788 -value0 = scalar, U16, 1788, "RAW", 1,0 -value1 = scalar, U16, 1790, "RAW", 1,0 -errorRate = scalar, F32, 1792, "% (don't belive me)", 1,0 -; total TS size = 1796 -vvtTarget = scalar, U16, 1796, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1798, "%", 0.5, 0 +isBenchTest = bits, U32, 1228, [0:0] +hasIgnitionVoltage = bits, U32, 1228, [1:1] +mainRelayState = bits, U32, 1228, [2:2] +delayedShutoffRequested = bits, U32, 1228, [3:3] +; total TS size = 1232 +lua_fuelAdd = scalar, F32, 1232, "g", 1, 0 +lua_fuelMult = scalar, F32, 1236, "", 1, 0 +lua_clutchUpState = bits, U32, 1240, [0:0] +lua_brakePedalState = bits, U32, 1240, [1:1] +lua_acRequestState = bits, U32, 1240, [2:2] +lua_luaDisableEtb = bits, U32, 1240, [3:3] +lua_luaIgnCut = bits, U32, 1240, [4:4] +lua_luaFuelCut = bits, U32, 1240, [5:5] +lua_clutchDownState = bits, U32, 1240, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1240, [7:7] +lua_torqueReductionState = bits, U32, 1240, [8:8] +sd_tCharge = scalar, S16, 1244, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1248, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1252, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1256, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1260, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1264, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1268, "", 1, 0 +hellenBoardId = scalar, S16, 1272, "id", 1, 0 +clutchUpState = scalar, S08, 1274, "", 1, 0 +brakePedalState = scalar, S08, 1275, "", 1, 0 +startStopState = scalar, S08, 1276, "", 1, 0 +smartChipState = scalar, S08, 1277, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1278, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1279, "", 1, 0 +startStopPhysicalState = bits, U32, 1280, [0:0] +acrActive = bits, U32, 1280, [1:1] +acrEngineMovedRecently = bits, U32, 1280, [2:2] +heaterControlEnabled = bits, U32, 1280, [3:3] +luaDigitalState0 = bits, U32, 1280, [4:4] +luaDigitalState1 = bits, U32, 1280, [5:5] +luaDigitalState2 = bits, U32, 1280, [6:6] +luaDigitalState3 = bits, U32, 1280, [7:7] +clutchDownState = bits, U32, 1280, [8:8] +startStopStateToggleCounter = scalar, U32, 1284, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1288, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1292, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1296, "", 1, 0 +fuelInjectionCounter = scalar, U32, 1300, "", 1, 0 +globalSparkCounter = scalar, U32, 1304, "", 1, 0 +fuelingLoad = scalar, F32, 1308, "", 1, 0 +ignitionLoad = scalar, F32, 1312, "", 1, 0 +veTableYAxis = scalar, U16, 1316, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1318, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1319, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1320, "", 1, 0 +; total TS size = 1324 +tpsFrom = scalar, F32, 1324 +tpsTo = scalar, F32, 1328 +deltaTps = scalar, F32, 1332 +extraFuel = scalar, F32, 1336, "", 1, 0 +valueFromTable = scalar, F32, 1340, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1344, [0:0] +isBelowDecelThreshold = bits, U32, 1344, [1:1] +isTimeToResetAccumulator = bits, U32, 1344, [2:2] +isFractionalEnrichment = bits, U32, 1344, [3:3] +belowEpsilon = bits, U32, 1344, [4:4] +tooShort = bits, U32, 1344, [5:5] +fractionalInjFuel = scalar, F32, 1348, "", 1, 0 +accumulatedValue = scalar, F32, 1352, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1356, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1360, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1364, "", 1, 0 +cycleCnt = scalar, S32, 1368, "", 1, 0 +; total TS size = 1372 +hwEventCounters1 = scalar, U16, 1372, "", 1, 0 +hwEventCounters2 = scalar, U16, 1374, "", 1, 0 +hwEventCounters3 = scalar, U16, 1376, "", 1, 0 +hwEventCounters4 = scalar, U16, 1378, "", 1, 0 +vvtCamCounter = scalar, U16, 1380, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1384, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1388, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1392, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1393, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1396, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1400, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1404, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1408, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1412, [0:0] +triggerElapsedUs = scalar, U32, 1416, "", 1, 0 +; total TS size = 1420 +trgsynchronizationCounter = scalar, U32, 1420, "", 1, 0 +trgvvtToothDurations0 = scalar, U32, 1424, "us", 1, 0 +trgvvtCurrentPosition = scalar, F32, 1428, "", 1, 0 +trgvvtToothPosition1 = scalar, F32, 1432, "", 1, 0 +trgvvtToothPosition2 = scalar, F32, 1436, "", 1, 0 +trgvvtToothPosition3 = scalar, F32, 1440, "", 1, 0 +trgvvtToothPosition4 = scalar, F32, 1444, "", 1, 0 +trgtriggerSyncGapRatio = scalar, F32, 1448, "", 1, 0 +trgtriggerStateIndex = scalar, U08, 1452, "", 1, 0 +; total TS size = 1456 +vvt1isynchronizationCounter = scalar, U32, 1456, "", 1, 0 +vvt1ivvtToothDurations0 = scalar, U32, 1460, "us", 1, 0 +vvt1ivvtCurrentPosition = scalar, F32, 1464, "", 1, 0 +vvt1ivvtToothPosition1 = scalar, F32, 1468, "", 1, 0 +vvt1ivvtToothPosition2 = scalar, F32, 1472, "", 1, 0 +vvt1ivvtToothPosition3 = scalar, F32, 1476, "", 1, 0 +vvt1ivvtToothPosition4 = scalar, F32, 1480, "", 1, 0 +vvt1itriggerSyncGapRatio = scalar, F32, 1484, "", 1, 0 +vvt1itriggerStateIndex = scalar, U08, 1488, "", 1, 0 +; total TS size = 1492 +vvt1esynchronizationCounter = scalar, U32, 1492, "", 1, 0 +vvt1evvtToothDurations0 = scalar, U32, 1496, "us", 1, 0 +vvt1evvtCurrentPosition = scalar, F32, 1500, "", 1, 0 +vvt1evvtToothPosition1 = scalar, F32, 1504, "", 1, 0 +vvt1evvtToothPosition2 = scalar, F32, 1508, "", 1, 0 +vvt1evvtToothPosition3 = scalar, F32, 1512, "", 1, 0 +vvt1evvtToothPosition4 = scalar, F32, 1516, "", 1, 0 +vvt1etriggerSyncGapRatio = scalar, F32, 1520, "", 1, 0 +vvt1etriggerStateIndex = scalar, U08, 1524, "", 1, 0 +; total TS size = 1528 +vvt2isynchronizationCounter = scalar, U32, 1528, "", 1, 0 +vvt2ivvtToothDurations0 = scalar, U32, 1532, "us", 1, 0 +vvt2ivvtCurrentPosition = scalar, F32, 1536, "", 1, 0 +vvt2ivvtToothPosition1 = scalar, F32, 1540, "", 1, 0 +vvt2ivvtToothPosition2 = scalar, F32, 1544, "", 1, 0 +vvt2ivvtToothPosition3 = scalar, F32, 1548, "", 1, 0 +vvt2ivvtToothPosition4 = scalar, F32, 1552, "", 1, 0 +vvt2itriggerSyncGapRatio = scalar, F32, 1556, "", 1, 0 +vvt2itriggerStateIndex = scalar, U08, 1560, "", 1, 0 +; total TS size = 1564 +vvt2esynchronizationCounter = scalar, U32, 1564, "", 1, 0 +vvt2evvtToothDurations0 = scalar, U32, 1568, "us", 1, 0 +vvt2evvtCurrentPosition = scalar, F32, 1572, "", 1, 0 +vvt2evvtToothPosition1 = scalar, F32, 1576, "", 1, 0 +vvt2evvtToothPosition2 = scalar, F32, 1580, "", 1, 0 +vvt2evvtToothPosition3 = scalar, F32, 1584, "", 1, 0 +vvt2evvtToothPosition4 = scalar, F32, 1588, "", 1, 0 +vvt2etriggerSyncGapRatio = scalar, F32, 1592, "", 1, 0 +vvt2etriggerStateIndex = scalar, U08, 1596, "", 1, 0 +; total TS size = 1600 +camResyncCounter = scalar, U08, 1600, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1604, [0:0] +; total TS size = 1608 +wallFuelCorrection = scalar, F32, 1608, "", 1, 0 +wallFuel = scalar, F32, 1612, "", 1, 0 +; total TS size = 1616 +idleState = bits, S32, 1616, [0:2], "not important" +currentIdlePosition = scalar, F32, 1620 +baseIdlePosition = scalar, F32, 1624 +idleClosedLoop = scalar, F32, 1628 +iacByTpsTaper = scalar, F32, 1632 +mightResetPid = bits, U32, 1636, [0:0] +shouldResetPid = bits, U32, 1636, [1:1] +wasResetPid = bits, U32, 1636, [2:2] +mustResetPid = bits, U32, 1636, [3:3] +isCranking = bits, U32, 1636, [4:4] +isIacTableForCoasting = bits, U32, 1636, [5:5] +notIdling = bits, U32, 1636, [6:6] +needReset = bits, U32, 1636, [7:7] +isInDeadZone = bits, U32, 1636, [8:8] +isBlipping = bits, U32, 1636, [9:9] +useClosedLoop = bits, U32, 1636, [10:10] +badTps = bits, U32, 1636, [11:11] +looksLikeRunning = bits, U32, 1636, [12:12] +looksLikeCoasting = bits, U32, 1636, [13:13] +looksLikeCrankToIdle = bits, U32, 1636, [14:14] +isIdleCoasting = bits, U32, 1636, [15:15] +isIdleClosedLoop = bits, U32, 1636, [16:16] +idleTarget = scalar, S32, 1640, "", 1, 0 +targetRpmByClt = scalar, S32, 1644, "", 1, 0 +targetRpmAc = scalar, S32, 1648, "", 1, 0 +iacByRpmTaper = scalar, F32, 1652 +luaAdd = scalar, F32, 1656 +; total TS size = 1660 +etb1targetWithIdlePosition = scalar, F32, 1660, "%", 1,0 +etb1trim = scalar, F32, 1664, "", 1, 0 +etb1luaAdjustment = scalar, F32, 1668, "%", 1,0 +etb1m_wastegatePosition = scalar, F32, 1672, "%", 1,0 +etb1etbFeedForward = scalar, F32, 1676 +etb1etbIntegralError = scalar, F32, 1680, "", 1, 0 +etb1etbCurrentTarget = scalar, F32, 1684, "%", 1, 0 +etb1m_adjustedTarget = scalar, S16, 1688, "%", 0.01, 0 +etb1etbRevLimitActive = bits, U32, 1692, [0:0] +etb1jamDetected = bits, U32, 1692, [1:1] +etb1validPlantPosition = bits, U32, 1692, [2:2] +etb1etbTpsErrorCounter = scalar, U16, 1696, "count", 1,0 +etb1etbPpsErrorCounter = scalar, U16, 1698, "count", 1,0 +etb1etbErrorCode = scalar, S08, 1700, "", 1, 0 +etb1etbErrorCodeBlinker = scalar, S08, 1701, "", 1, 0 +etb1tcEtbDrop = scalar, S08, 1702, "%", 1, 0 +etb1jamTimer = scalar, U16, 1704, "sec", 0.01, 0 +etb1adjustedEtbTarget = scalar, S08, 1706, "%", 1, 0 +etb1state = scalar, U08, 1707, "", 1, 0 +; total TS size = 1708 +etb2targetWithIdlePosition = scalar, F32, 1708, "%", 1,0 +etb2trim = scalar, F32, 1712, "", 1, 0 +etb2luaAdjustment = scalar, F32, 1716, "%", 1,0 +etb2m_wastegatePosition = scalar, F32, 1720, "%", 1,0 +etb2etbFeedForward = scalar, F32, 1724 +etb2etbIntegralError = scalar, F32, 1728, "", 1, 0 +etb2etbCurrentTarget = scalar, F32, 1732, "%", 1, 0 +etb2m_adjustedTarget = scalar, S16, 1736, "%", 0.01, 0 +etb2etbRevLimitActive = bits, U32, 1740, [0:0] +etb2jamDetected = bits, U32, 1740, [1:1] +etb2validPlantPosition = bits, U32, 1740, [2:2] +etb2etbTpsErrorCounter = scalar, U16, 1744, "count", 1,0 +etb2etbPpsErrorCounter = scalar, U16, 1746, "count", 1,0 +etb2etbErrorCode = scalar, S08, 1748, "", 1, 0 +etb2etbErrorCodeBlinker = scalar, S08, 1749, "", 1, 0 +etb2tcEtbDrop = scalar, S08, 1750, "%", 1, 0 +etb2jamTimer = scalar, U16, 1752, "sec", 0.01, 0 +etb2adjustedEtbTarget = scalar, S08, 1754, "%", 1, 0 +etb2state = scalar, U08, 1755, "", 1, 0 +; total TS size = 1756 +wb1faultCode = scalar, U08, 1756, "", 1, 0 +wb1heaterDuty = scalar, U08, 1757, "%", 1, 0 +wb1pumpDuty = scalar, U08, 1758, "%", 1, 0 +wb1tempC = scalar, U16, 1760, "C", 1, 0 +wb1nernstVoltage = scalar, U16, 1762, "V", 0.001, 0 +wb1esr = scalar, U16, 1764, "ohm", 1, 0 +; total TS size = 1768 +wb2faultCode = scalar, U08, 1768, "", 1, 0 +wb2heaterDuty = scalar, U08, 1769, "%", 1, 0 +wb2pumpDuty = scalar, U08, 1770, "%", 1, 0 +wb2tempC = scalar, U16, 1772, "C", 1, 0 +wb2nernstVoltage = scalar, U16, 1774, "V", 0.001, 0 +wb2esr = scalar, U16, 1776, "ohm", 1, 0 +; total TS size = 1780 +dcOutput0 = scalar, F32, 1780, "%", 1,0 +isEnabled0_int = scalar, U08, 1784, "%", 1,0 +isEnabled0 = bits, U32, 1788, [0:0] +; total TS size = 1792 +value0 = scalar, U16, 1792, "RAW", 1,0 +value1 = scalar, U16, 1794, "RAW", 1,0 +errorRate = scalar, F32, 1796, "% (don't belive me)", 1,0 ; total TS size = 1800 -lambdaCurrentlyGood = bits, U32, 1800, [0:0] -lambdaMonitorCut = bits, U32, 1800, [1:1] -lambdaTimeSinceGood = scalar, U16, 1804, "sec", 0.01, 0 -; total TS size = 1808 +vvtTarget = scalar, U16, 1800, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1802, "%", 0.5, 0 +; total TS size = 1804 +lambdaCurrentlyGood = bits, U32, 1804, [0:0] +lambdaMonitorCut = bits, U32, 1804, [1:1] +lambdaTimeSinceGood = scalar, U16, 1808, "sec", 0.01, 0 +; total TS size = 1812 time = { timeNow } @@ -4584,6 +4587,12 @@ curve = rangeMatrix, "Range Switch Input Matrix" gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. upDownLabel = "(RICHER)", "(LEANER)" + table = trailingSparkTable, trailingSparkMap, "Trailing spark", 1 + xyLabels = "RPM", "Ignition Load" + xBins = trailingSparkRpmBins, RPMValue + yBins = trailingSparkLoadBins, ignitionLoad + zBins = trailingSparkTable + table = torqueTableTbl, torqueTableMap, "Engine Torque", 1 xBins = torqueRpmBins, RPMValue yBins = torqueLoadBins, veTableYAxis @@ -4881,6 +4890,7 @@ timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20 timingPidCorrectionGauge = timingPidCorrection,"Idle: Timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 +trailingSparkAngleGauge = trailingSparkAngle,"Ign: Trailing spark deg", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 gaugeCategory = "Boost Control" luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 @@ -5811,6 +5821,7 @@ entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" entry = luaIgnitionSkip, "Ign: Lua Spark Skip", int, "%d" +entry = trailingSparkAngle, "Ign: Trailing spark deg", float, "%.3f" entry = m_knockLevel, "Knock: Current level", float, "%.3f" entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" @@ -6759,6 +6770,7 @@ dialog = ignition_stateDialog, "ignition_state" graphLine = luaTimingAdd liveGraph = ignition_state_4_Graph, "Graph", South graphLine = luaTimingMult + graphLine = trailingSparkAngle dialog = knock_controllerDialog, "knock_controller" @@ -10095,11 +10107,11 @@ dialog = tcuControls, "Transmission Settings" dialog = rotaryDialog, "Rotary" field = "Enable Trailing Sparks", enableTrailingSparks - field = "Trailing Spark Offset", trailingSparkAngle field = "Trailing Pin 1", trailingCoilPins1 field = "Trailing Pin 2", trailingCoilPins2 field = "Trailing Pin 3", trailingCoilPins3 field = "Trailing Pin 4", trailingCoilPins4 + panel = trailingSparkTable diff --git a/firmware/tunerstudio/generated/rusefi_stm32h743_nucleo.ini b/firmware/tunerstudio/generated/rusefi_stm32h743_nucleo.ini index 68bc978a97..0a7af1d036 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.2025.02.07.stm32h743_nucleo.1384441238" + signature = "rusEFI master.2025.02.07.stm32h743_nucleo.3574033147" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2025.02.07.stm32h743_nucleo.1384441238" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2025.02.07.stm32h743_nucleo.3574033147" ; 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 @@ -101,7 +101,7 @@ enable2ndByteCanID = false ; CONFIG_DEFINITION_START ; this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt -pageSize = 23280 +pageSize = 23304 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",22="BMW_M52",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",21="ET_BOSCH_QUICK_START",24="ET_TEST_WITH_BOSCH_QUICK_START",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",41="FRANKENSO_MIATA_NA6_MAP",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",47="GM_LCV",55="GM_LTG",98="GM_SBC",49="GM_SBC_GEN5",8="GY6_139QMB",6="HARLEY",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",34="MAZDA_MIATA_NA6",80="MAZDA_MIATA_NA94",10="MAZDA_MIATA_NA96",83="MAZDA_MIATA_NB1",69="MAZDA_MIATA_NB2",86="MAZDA_MIATA_NB2_36",20="MAZDA_MIATA_NC",33="ME17_9_MISC",68="MERCEDES_M111",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",4="MRE_SECONDARY_CAN",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",35="POLARIS",9="POLARIS_RZR",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",27="PROTEUS_GM_LS_4",25="PROTEUS_LUA_DEMO",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",17="TCU_4R70W",100="TEST_100",101="TEST_101",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",93="TEST_ISSUE_6451",19="TEST_ROTARY",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",102="UNUSED102",67="UNUSED67",94="UNUSED94",65="UNUSED_65",97="UNUSED_97",77="VAG_5_CYL",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -245,7 +245,7 @@ vbattAdcChannel = bits, U08, 513, [0:5], $adc_channel_e_list fuelLevelSensor = bits, U08, 514, [0:5], $adc_channel_e_list tps2_1AdcChannel = bits, U08, 515, [0:5], $adc_channel_e_list idle_derivativeFilterLoss = scalar, F32, 516, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 520, "angle", 1, 0, 0, 720, 0 +unusedTrailingSparkAngle = scalar, S32, 520, "", 1, 0, 0, 100, 0 trigger_type = bits, U32, 524, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Daihatsu 3 cylinder", "Mazda SOHC 4", "60-2", "36-1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "Dodge Ram 1+16", "60-2 Wrong Polarity", "Benelli Tre", "Dodge Stratus", "36_2_2_2", "Nissan Primera", "dev 2JZ 3/34 simulator", "Rover K", "GM 24x 5 degree", "Honda CBR 600 Cam", "INVALID", "Honda CBR 600 custom", "3-1 skipped", "Dodge Neon 2003 crank", "Miata NB", "INVALID", "INVALID", "Subaru 7+6", "Jeep 18-2-2-2", "12crank/24cam", "Dodge Neon 1995 crank only", "Jeep XJ 4 cyl", "FiatIAQ_P8", "Mazda Z5", "INVALID", "Renix 44-2-2", "Renix 66-2-2-2", "Honda K 12+1", "INVALID", "36-2", "Subaru SVX", "Suzuki K6A", "Subaru 7 without 6", "INVALID", "INVALID", "GM 60-2-2-2", "Skoda Favorit", "Barra 3+1 Cam", "Kawa KX450F", "Nissan VQ35", "INVALID", "Nissan VQ30", "Nissan QR25", "INVALID", "Subaru SVX Crank 1", "Subaru SVX Cam VVT", "Ford PIP", "Suzuki G13B", "Honda K 4+1", "Nissan MR18 Crank", "32-2", "36-2-1", "36-2-1-1", "3-0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6-0", "Daihatsu 4 cylinder", "INVALID", "dev", "Nissan HR", "Arctic Cat", "HR12 in", "HONDA J30A2", "trg88", "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" trigger_customTotalToothCount = scalar, S32, 528, "number", 1, 0, 1, 300, 0 trigger_customSkippedToothCount = scalar, S32, 532, "number", 1, 0, 0, 300, 0 @@ -1796,7 +1796,10 @@ dynoCarCarMassKg = scalar, S16, 23268, "", 1, 0, 0, 32000, 0 dynoCarCargoMassKg = scalar, S16, 23270, "", 1, 0, 0, 32000, 0 dynoCarCoeffOfDrag = scalar, F32, 23272, "", 1, 0, 0, 100, 0 dynoCarFrontalAreaM2 = scalar, F32, 23276, "", 1, 0, 0, 100, 0 -; total TS size = 23280 +trailingSparkTable = array, S08, 23280, [4x4], "deg", 0.1, 0, 0, 20, 1 +trailingSparkRpmBins = array, U08, 23296, [4], "rpm", 50.0, 0, 0, 12000, 0 +trailingSparkLoadBins = array, U08, 23300, [4], "Load", 5.0, 0, 0, 1000, 0 +; total TS size = 23304 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1890,7 +1893,6 @@ dynoCarFrontalAreaM2 = scalar, F32, 23276, "", 1, 0, 0, 100, 0 fuelLevelSensor = "This is the processor pin that your fuel level sensor in connected to. This is a non standard input so will need to be user defined." tps2_1AdcChannel = "Second throttle body position sensor, single channel so far" idle_derivativeFilterLoss = "0.1 is a good default value" - trailingSparkAngle = "just a temporary solution" trigger_type = "https://github.com/rusefi/rusefi/wiki/All-Supported-Triggers" airByRpmTaper = "Extra air taper amount" boostControlSafeDutyCycle = "Duty cycle to use in case of a sensor failure. This duty cycle should produce the minimum possible amount of boost. This duty is also used in case any of the minimum RPM/TPS/MAP conditions are not met." @@ -2664,7 +2666,7 @@ dynoCarFrontalAreaM2 = scalar, F32, 23276, "", 1, 0, 0, 100, 0 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1808 + ochBlockSize = 1812 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3189,417 +3191,418 @@ dwellVoltageCorrection = scalar, F32, 940, "", 1, 0 luaTimingAdd = scalar, F32, 944, "deg", 1, 0 luaTimingMult = scalar, F32, 948, "deg", 1, 0 luaIgnitionSkip = bits, U32, 952, [0:0] -; total TS size = 956 -m_knockLevel = scalar, F32, 956, "Volts", 1, 0 -m_knockCyl1 = scalar, S08, 960, "dBv", 1, 0 -m_knockCyl2 = scalar, S08, 961, "dBv", 1, 0 -m_knockCyl3 = scalar, S08, 962, "dBv", 1, 0 -m_knockCyl4 = scalar, S08, 963, "dBv", 1, 0 -m_knockCyl5 = scalar, S08, 964, "dBv", 1, 0 -m_knockCyl6 = scalar, S08, 965, "dBv", 1, 0 -m_knockCyl7 = scalar, S08, 966, "dBv", 1, 0 -m_knockCyl8 = scalar, S08, 967, "dBv", 1, 0 -m_knockCyl9 = scalar, S08, 968, "dBv", 1, 0 -m_knockCyl10 = scalar, S08, 969, "dBv", 1, 0 -m_knockCyl11 = scalar, S08, 970, "dBv", 1, 0 -m_knockCyl12 = scalar, S08, 971, "dBv", 1, 0 -m_knockRetard = scalar, F32, 972, "deg", 1,0 -m_knockThreshold = scalar, F32, 976, "", 1, 0 -m_knockCount = scalar, U32, 980, "", 1, 0 -m_maximumRetard = scalar, F32, 984, "", 1, 0 -m_knockSpectrum1 = scalar, U32, 988, "compressed data", 1, 0 -m_knockSpectrum2 = scalar, U32, 992, "compressed data", 1, 0 -m_knockSpectrum3 = scalar, U32, 996, "compressed data", 1, 0 -m_knockSpectrum4 = scalar, U32, 1000, "compressed data", 1, 0 -m_knockSpectrum5 = scalar, U32, 1004, "compressed data", 1, 0 -m_knockSpectrum6 = scalar, U32, 1008, "compressed data", 1, 0 -m_knockSpectrum7 = scalar, U32, 1012, "compressed data", 1, 0 -m_knockSpectrum8 = scalar, U32, 1016, "compressed data", 1, 0 -m_knockSpectrum9 = scalar, U32, 1020, "compressed data", 1, 0 -m_knockSpectrum10 = scalar, U32, 1024, "compressed data", 1, 0 -m_knockSpectrum11 = scalar, U32, 1028, "compressed data", 1, 0 -m_knockSpectrum12 = scalar, U32, 1032, "compressed data", 1, 0 -m_knockSpectrum13 = scalar, U32, 1036, "compressed data", 1, 0 -m_knockSpectrum14 = scalar, U32, 1040, "compressed data", 1, 0 -m_knockSpectrum15 = scalar, U32, 1044, "compressed data", 1, 0 -m_knockSpectrum16 = scalar, U32, 1048, "compressed data", 1, 0 -m_knockSpectrumChannelCyl = scalar, U16, 1052, "compressed N + N", 1, 0 -m_knockFrequencyStart = scalar, U16, 1054, "Hz", 1, 0 -m_knockFrequencyStep = scalar, F32, 1056, "Hz", 1, 0 -m_knockFuelTrimMultiplier = scalar, F32, 1060, "multiplier", 1, 0 -; total TS size = 1064 -m_isPriming = bits, U32, 1064, [0:0] +trailingSparkAngle = scalar, S16, 956, "deg", 0.01,0 +; total TS size = 960 +m_knockLevel = scalar, F32, 960, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 964, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 965, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 966, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 967, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 968, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 969, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 970, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 971, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 972, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 973, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 974, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 975, "dBv", 1, 0 +m_knockRetard = scalar, F32, 976, "deg", 1,0 +m_knockThreshold = scalar, F32, 980, "", 1, 0 +m_knockCount = scalar, U32, 984, "", 1, 0 +m_maximumRetard = scalar, F32, 988, "", 1, 0 +m_knockSpectrum1 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1040, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1044, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1048, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1052, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1056, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1058, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1060, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1064, "multiplier", 1, 0 ; total TS size = 1068 -tcuCurrentGear = scalar, S08, 1068, "gear", 1, 0 -tcRatio = scalar, U16, 1070, "value", 0.01, 0 -lastShiftTime = scalar, F32, 1072, "", 1, 0 -tcu_currentRange = scalar, U08, 1076, "", 1, 0 -pressureControlDuty = scalar, S08, 1077, "%", 1,0 -torqueConverterDuty = scalar, S08, 1078, "%", 1,0 -isShifting = bits, U32, 1080, [0:0] -; total TS size = 1084 -throttleUseWotModel = bits, U32, 1084, [0:0] -throttleModelCrossoverAngle = scalar, S16, 1088, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1092, "g/s", 1, 0 -; total TS size = 1096 -m_requested_pump = scalar, F32, 1096, "", 1, 0 -fuel_requested_percent = scalar, F32, 1100, "%", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1104, "", 1, 0 -noValve = bits, U32, 1108, [0:0] -angleAboveMin = bits, U32, 1108, [1:1] -isHpfpActive = bits, U32, 1108, [2:2] -HpfpValveState = bits, U32, 1108, [3:3] -m_pressureTarget_kPa = scalar, F32, 1112, "", 1, 0 -nextLobe = scalar, F32, 1116, "", 1, 0 -di_nextStart = scalar, F32, 1120, "v", 1, 0 -HpfdActivationPhase = scalar, F32, 1124, "", 1, 0 -HpfdDeactivationPhase = scalar, F32, 1128, "", 1, 0 -; total TS size = 1132 -m_deadtime = scalar, F32, 1132, "ms", 1, 0 -pressureDelta = scalar, F32, 1136, "kPa", 1, 0 -pressureRatio = scalar, F32, 1140, "", 1, 0 -; total TS size = 1144 -retardThresholdRpm = scalar, S32, 1144, "", 1, 0 -launchActivatePinState = bits, U32, 1148, [0:0] -isPreLaunchCondition = bits, U32, 1148, [1:1] -isLaunchCondition = bits, U32, 1148, [2:2] -isSwitchActivated = bits, U32, 1148, [3:3] -isClutchActivated = bits, U32, 1148, [4:4] -isBrakePedalActivated = bits, U32, 1148, [5:5] -isValidInputPin = bits, U32, 1148, [6:6] -activateSwitchCondition = bits, U32, 1148, [7:7] -rpmLaunchCondition = bits, U32, 1148, [8:8] -rpmPreLaunchCondition = bits, U32, 1148, [9:9] -speedCondition = bits, U32, 1148, [10:10] -tpsCondition = bits, U32, 1148, [11:11] -; total TS size = 1152 -isTorqueReductionTriggerPinValid = bits, U32, 1152, [0:0] -torqueReductionTriggerPinState = bits, U32, 1152, [1:1] -isTimeConditionSatisfied = bits, U32, 1152, [2:2] -isRpmConditionSatisfied = bits, U32, 1152, [3:3] -isAppConditionSatisfied = bits, U32, 1152, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1152, [5:5] +m_isPriming = bits, U32, 1068, [0:0] +; total TS size = 1072 +tcuCurrentGear = scalar, S08, 1072, "gear", 1, 0 +tcRatio = scalar, U16, 1074, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1076, "", 1, 0 +tcu_currentRange = scalar, U08, 1080, "", 1, 0 +pressureControlDuty = scalar, S08, 1081, "%", 1,0 +torqueConverterDuty = scalar, S08, 1082, "%", 1,0 +isShifting = bits, U32, 1084, [0:0] +; total TS size = 1088 +throttleUseWotModel = bits, U32, 1088, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1092, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1096, "g/s", 1, 0 +; total TS size = 1100 +m_requested_pump = scalar, F32, 1100, "", 1, 0 +fuel_requested_percent = scalar, F32, 1104, "%", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1108, "", 1, 0 +noValve = bits, U32, 1112, [0:0] +angleAboveMin = bits, U32, 1112, [1:1] +isHpfpActive = bits, U32, 1112, [2:2] +HpfpValveState = bits, U32, 1112, [3:3] +m_pressureTarget_kPa = scalar, F32, 1116, "", 1, 0 +nextLobe = scalar, F32, 1120, "", 1, 0 +di_nextStart = scalar, F32, 1124, "v", 1, 0 +HpfdActivationPhase = scalar, F32, 1128, "", 1, 0 +HpfdDeactivationPhase = scalar, F32, 1132, "", 1, 0 +; total TS size = 1136 +m_deadtime = scalar, F32, 1136, "ms", 1, 0 +pressureDelta = scalar, F32, 1140, "kPa", 1, 0 +pressureRatio = scalar, F32, 1144, "", 1, 0 +; total TS size = 1148 +retardThresholdRpm = scalar, S32, 1148, "", 1, 0 +launchActivatePinState = bits, U32, 1152, [0:0] +isPreLaunchCondition = bits, U32, 1152, [1:1] +isLaunchCondition = bits, U32, 1152, [2:2] +isSwitchActivated = bits, U32, 1152, [3:3] +isClutchActivated = bits, U32, 1152, [4:4] +isBrakePedalActivated = bits, U32, 1152, [5:5] +isValidInputPin = bits, U32, 1152, [6:6] +activateSwitchCondition = bits, U32, 1152, [7:7] +rpmLaunchCondition = bits, U32, 1152, [8:8] +rpmPreLaunchCondition = bits, U32, 1152, [9:9] +speedCondition = bits, U32, 1152, [10:10] +tpsCondition = bits, U32, 1152, [11:11] ; total TS size = 1156 -isAntilagCondition = bits, U32, 1156, [0:0] -ALSMinRPMCondition = bits, U32, 1156, [1:1] -ALSMaxRPMCondition = bits, U32, 1156, [2:2] -ALSMinCLTCondition = bits, U32, 1156, [3:3] -ALSMaxCLTCondition = bits, U32, 1156, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1156, [5:5] -isALSSwitchActivated = bits, U32, 1156, [6:6] -ALSActivatePinState = bits, U32, 1156, [7:7] -ALSSwitchCondition = bits, U32, 1156, [8:8] -ALSTimerCondition = bits, U32, 1156, [9:9] -fuelALSCorrection = scalar, F32, 1160, "", 1, 0 -timingALSCorrection = scalar, S16, 1164, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1166, "deg", 0.01, 0 -; total TS size = 1168 -isTpsInvalid = bits, U32, 1168, [0:0] -m_shouldResetPid = bits, U32, 1168, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1168, [2:2] -isNotClosedLoop = bits, U32, 1168, [3:3] -isZeroRpm = bits, U32, 1168, [4:4] -hasInitBoost = bits, U32, 1168, [5:5] -rpmTooLow = bits, U32, 1168, [6:6] -tpsTooLow = bits, U32, 1168, [7:7] -mapTooLow = bits, U32, 1168, [8:8] -isPlantValid = bits, U32, 1168, [9:9] -isBoostControlled = bits, U32, 1168, [10:10] -luaTargetAdd = scalar, S16, 1172, "v", 0.5,0 -boostOutput = scalar, S16, 1174, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1176, "v", 1,0 -openLoopPart = scalar, F32, 1180, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1184, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1188, "%", 0.5,0 -boostControlTarget = scalar, S16, 1190, "kPa", 0.03333333333333333,0 -; total TS size = 1192 -acButtonState = scalar, S08, 1192, "", 1, 0 -m_acEnabled = bits, U32, 1196, [0:0] -engineTooSlow = bits, U32, 1196, [1:1] -engineTooFast = bits, U32, 1196, [2:2] -noClt = bits, U32, 1196, [3:3] -engineTooHot = bits, U32, 1196, [4:4] -tpsTooHigh = bits, U32, 1196, [5:5] -isDisabledByLua = bits, U32, 1196, [6:6] -acCompressorState = bits, U32, 1196, [7:7] -acPressureTooLow = bits, U32, 1196, [8:8] -acPressureTooHigh = bits, U32, 1196, [9:9] -; total TS size = 1200 -isNitrousArmed = bits, U32, 1200, [0:0] -isNitrousSpeedCondition = bits, U32, 1200, [1:1] -isNitrousTpsCondition = bits, U32, 1200, [2:2] -isNitrousCltCondition = bits, U32, 1200, [3:3] -isNitrousMapCondition = bits, U32, 1200, [4:4] -isNitrousAfrCondition = bits, U32, 1200, [5:5] -isNitrousRpmCondition = bits, U32, 1200, [6:6] -isNitrousCondition = bits, U32, 1200, [7:7] +isTorqueReductionTriggerPinValid = bits, U32, 1156, [0:0] +torqueReductionTriggerPinState = bits, U32, 1156, [1:1] +isTimeConditionSatisfied = bits, U32, 1156, [2:2] +isRpmConditionSatisfied = bits, U32, 1156, [3:3] +isAppConditionSatisfied = bits, U32, 1156, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1156, [5:5] +; total TS size = 1160 +isAntilagCondition = bits, U32, 1160, [0:0] +ALSMinRPMCondition = bits, U32, 1160, [1:1] +ALSMaxRPMCondition = bits, U32, 1160, [2:2] +ALSMinCLTCondition = bits, U32, 1160, [3:3] +ALSMaxCLTCondition = bits, U32, 1160, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1160, [5:5] +isALSSwitchActivated = bits, U32, 1160, [6:6] +ALSActivatePinState = bits, U32, 1160, [7:7] +ALSSwitchCondition = bits, U32, 1160, [8:8] +ALSTimerCondition = bits, U32, 1160, [9:9] +fuelALSCorrection = scalar, F32, 1164, "", 1, 0 +timingALSCorrection = scalar, S16, 1168, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1170, "deg", 0.01, 0 +; total TS size = 1172 +isTpsInvalid = bits, U32, 1172, [0:0] +m_shouldResetPid = bits, U32, 1172, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1172, [2:2] +isNotClosedLoop = bits, U32, 1172, [3:3] +isZeroRpm = bits, U32, 1172, [4:4] +hasInitBoost = bits, U32, 1172, [5:5] +rpmTooLow = bits, U32, 1172, [6:6] +tpsTooLow = bits, U32, 1172, [7:7] +mapTooLow = bits, U32, 1172, [8:8] +isPlantValid = bits, U32, 1172, [9:9] +isBoostControlled = bits, U32, 1172, [10:10] +luaTargetAdd = scalar, S16, 1176, "v", 0.5,0 +boostOutput = scalar, S16, 1178, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1180, "v", 1,0 +openLoopPart = scalar, F32, 1184, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1188, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1192, "%", 0.5,0 +boostControlTarget = scalar, S16, 1194, "kPa", 0.03333333333333333,0 +; total TS size = 1196 +acButtonState = scalar, S08, 1196, "", 1, 0 +m_acEnabled = bits, U32, 1200, [0:0] +engineTooSlow = bits, U32, 1200, [1:1] +engineTooFast = bits, U32, 1200, [2:2] +noClt = bits, U32, 1200, [3:3] +engineTooHot = bits, U32, 1200, [4:4] +tpsTooHigh = bits, U32, 1200, [5:5] +isDisabledByLua = bits, U32, 1200, [6:6] +acCompressorState = bits, U32, 1200, [7:7] +acPressureTooLow = bits, U32, 1200, [8:8] +acPressureTooHigh = bits, U32, 1200, [9:9] ; total TS size = 1204 -fan1cranking = bits, U32, 1204, [0:0] -fan1notRunning = bits, U32, 1204, [1:1] -fan1disabledWhileEngineStopped = bits, U32, 1204, [2:2] -fan1brokenClt = bits, U32, 1204, [3:3] -fan1enabledForAc = bits, U32, 1204, [4:4] -fan1hot = bits, U32, 1204, [5:5] -fan1cold = bits, U32, 1204, [6:6] -fan1disabledBySpeed = bits, U32, 1204, [7:7] -fan1m_state = bits, U32, 1204, [8:8] -fan1radiatorFanStatus = scalar, U08, 1208, "", 1, 0 -; total TS size = 1212 -fan2cranking = bits, U32, 1212, [0:0] -fan2notRunning = bits, U32, 1212, [1:1] -fan2disabledWhileEngineStopped = bits, U32, 1212, [2:2] -fan2brokenClt = bits, U32, 1212, [3:3] -fan2enabledForAc = bits, U32, 1212, [4:4] -fan2hot = bits, U32, 1212, [5:5] -fan2cold = bits, U32, 1212, [6:6] -fan2disabledBySpeed = bits, U32, 1212, [7:7] -fan2m_state = bits, U32, 1212, [8:8] -fan2radiatorFanStatus = scalar, U08, 1216, "", 1, 0 -; total TS size = 1220 -isPrime = bits, U32, 1220, [0:0] -engineTurnedRecently = bits, U32, 1220, [1:1] -isFuelPumpOn = bits, U32, 1220, [2:2] -ignitionOn = bits, U32, 1220, [3:3] +isNitrousArmed = bits, U32, 1204, [0:0] +isNitrousSpeedCondition = bits, U32, 1204, [1:1] +isNitrousTpsCondition = bits, U32, 1204, [2:2] +isNitrousCltCondition = bits, U32, 1204, [3:3] +isNitrousMapCondition = bits, U32, 1204, [4:4] +isNitrousAfrCondition = bits, U32, 1204, [5:5] +isNitrousRpmCondition = bits, U32, 1204, [6:6] +isNitrousCondition = bits, U32, 1204, [7:7] +; total TS size = 1208 +fan1cranking = bits, U32, 1208, [0:0] +fan1notRunning = bits, U32, 1208, [1:1] +fan1disabledWhileEngineStopped = bits, U32, 1208, [2:2] +fan1brokenClt = bits, U32, 1208, [3:3] +fan1enabledForAc = bits, U32, 1208, [4:4] +fan1hot = bits, U32, 1208, [5:5] +fan1cold = bits, U32, 1208, [6:6] +fan1disabledBySpeed = bits, U32, 1208, [7:7] +fan1m_state = bits, U32, 1208, [8:8] +fan1radiatorFanStatus = scalar, U08, 1212, "", 1, 0 +; total TS size = 1216 +fan2cranking = bits, U32, 1216, [0:0] +fan2notRunning = bits, U32, 1216, [1:1] +fan2disabledWhileEngineStopped = bits, U32, 1216, [2:2] +fan2brokenClt = bits, U32, 1216, [3:3] +fan2enabledForAc = bits, U32, 1216, [4:4] +fan2hot = bits, U32, 1216, [5:5] +fan2cold = bits, U32, 1216, [6:6] +fan2disabledBySpeed = bits, U32, 1216, [7:7] +fan2m_state = bits, U32, 1216, [8:8] +fan2radiatorFanStatus = scalar, U08, 1220, "", 1, 0 ; total TS size = 1224 -isBenchTest = bits, U32, 1224, [0:0] -hasIgnitionVoltage = bits, U32, 1224, [1:1] -mainRelayState = bits, U32, 1224, [2:2] -delayedShutoffRequested = bits, U32, 1224, [3:3] +isPrime = bits, U32, 1224, [0:0] +engineTurnedRecently = bits, U32, 1224, [1:1] +isFuelPumpOn = bits, U32, 1224, [2:2] +ignitionOn = bits, U32, 1224, [3:3] ; total TS size = 1228 -lua_fuelAdd = scalar, F32, 1228, "g", 1, 0 -lua_fuelMult = scalar, F32, 1232, "", 1, 0 -lua_clutchUpState = bits, U32, 1236, [0:0] -lua_brakePedalState = bits, U32, 1236, [1:1] -lua_acRequestState = bits, U32, 1236, [2:2] -lua_luaDisableEtb = bits, U32, 1236, [3:3] -lua_luaIgnCut = bits, U32, 1236, [4:4] -lua_luaFuelCut = bits, U32, 1236, [5:5] -lua_clutchDownState = bits, U32, 1236, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1236, [7:7] -lua_torqueReductionState = bits, U32, 1236, [8:8] -sd_tCharge = scalar, S16, 1240, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1244, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1248, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1252, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1256, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1260, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1264, "", 1, 0 -hellenBoardId = scalar, S16, 1268, "id", 1, 0 -clutchUpState = scalar, S08, 1270, "", 1, 0 -brakePedalState = scalar, S08, 1271, "", 1, 0 -startStopState = scalar, S08, 1272, "", 1, 0 -smartChipState = scalar, S08, 1273, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1274, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1275, "", 1, 0 -startStopPhysicalState = bits, U32, 1276, [0:0] -acrActive = bits, U32, 1276, [1:1] -acrEngineMovedRecently = bits, U32, 1276, [2:2] -heaterControlEnabled = bits, U32, 1276, [3:3] -luaDigitalState0 = bits, U32, 1276, [4:4] -luaDigitalState1 = bits, U32, 1276, [5:5] -luaDigitalState2 = bits, U32, 1276, [6:6] -luaDigitalState3 = bits, U32, 1276, [7:7] -clutchDownState = bits, U32, 1276, [8:8] -startStopStateToggleCounter = scalar, U32, 1280, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1284, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1288, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1292, "", 1, 0 -fuelInjectionCounter = scalar, U32, 1296, "", 1, 0 -globalSparkCounter = scalar, U32, 1300, "", 1, 0 -fuelingLoad = scalar, F32, 1304, "", 1, 0 -ignitionLoad = scalar, F32, 1308, "", 1, 0 -veTableYAxis = scalar, U16, 1312, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1314, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1315, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1316, "", 1, 0 -; total TS size = 1320 -tpsFrom = scalar, F32, 1320 -tpsTo = scalar, F32, 1324 -deltaTps = scalar, F32, 1328 -extraFuel = scalar, F32, 1332, "", 1, 0 -valueFromTable = scalar, F32, 1336, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1340, [0:0] -isBelowDecelThreshold = bits, U32, 1340, [1:1] -isTimeToResetAccumulator = bits, U32, 1340, [2:2] -isFractionalEnrichment = bits, U32, 1340, [3:3] -belowEpsilon = bits, U32, 1340, [4:4] -tooShort = bits, U32, 1340, [5:5] -fractionalInjFuel = scalar, F32, 1344, "", 1, 0 -accumulatedValue = scalar, F32, 1348, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1352, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1356, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1360, "", 1, 0 -cycleCnt = scalar, S32, 1364, "", 1, 0 -; total TS size = 1368 -hwEventCounters1 = scalar, U16, 1368, "", 1, 0 -hwEventCounters2 = scalar, U16, 1370, "", 1, 0 -hwEventCounters3 = scalar, U16, 1372, "", 1, 0 -hwEventCounters4 = scalar, U16, 1374, "", 1, 0 -vvtCamCounter = scalar, U16, 1376, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1380, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1384, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1388, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1389, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1392, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1396, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1400, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1404, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1408, [0:0] -triggerElapsedUs = scalar, U32, 1412, "", 1, 0 -; total TS size = 1416 -trgsynchronizationCounter = scalar, U32, 1416, "", 1, 0 -trgvvtToothDurations0 = scalar, U32, 1420, "us", 1, 0 -trgvvtCurrentPosition = scalar, F32, 1424, "", 1, 0 -trgvvtToothPosition1 = scalar, F32, 1428, "", 1, 0 -trgvvtToothPosition2 = scalar, F32, 1432, "", 1, 0 -trgvvtToothPosition3 = scalar, F32, 1436, "", 1, 0 -trgvvtToothPosition4 = scalar, F32, 1440, "", 1, 0 -trgtriggerSyncGapRatio = scalar, F32, 1444, "", 1, 0 -trgtriggerStateIndex = scalar, U08, 1448, "", 1, 0 -; total TS size = 1452 -vvt1isynchronizationCounter = scalar, U32, 1452, "", 1, 0 -vvt1ivvtToothDurations0 = scalar, U32, 1456, "us", 1, 0 -vvt1ivvtCurrentPosition = scalar, F32, 1460, "", 1, 0 -vvt1ivvtToothPosition1 = scalar, F32, 1464, "", 1, 0 -vvt1ivvtToothPosition2 = scalar, F32, 1468, "", 1, 0 -vvt1ivvtToothPosition3 = scalar, F32, 1472, "", 1, 0 -vvt1ivvtToothPosition4 = scalar, F32, 1476, "", 1, 0 -vvt1itriggerSyncGapRatio = scalar, F32, 1480, "", 1, 0 -vvt1itriggerStateIndex = scalar, U08, 1484, "", 1, 0 -; total TS size = 1488 -vvt1esynchronizationCounter = scalar, U32, 1488, "", 1, 0 -vvt1evvtToothDurations0 = scalar, U32, 1492, "us", 1, 0 -vvt1evvtCurrentPosition = scalar, F32, 1496, "", 1, 0 -vvt1evvtToothPosition1 = scalar, F32, 1500, "", 1, 0 -vvt1evvtToothPosition2 = scalar, F32, 1504, "", 1, 0 -vvt1evvtToothPosition3 = scalar, F32, 1508, "", 1, 0 -vvt1evvtToothPosition4 = scalar, F32, 1512, "", 1, 0 -vvt1etriggerSyncGapRatio = scalar, F32, 1516, "", 1, 0 -vvt1etriggerStateIndex = scalar, U08, 1520, "", 1, 0 -; total TS size = 1524 -vvt2isynchronizationCounter = scalar, U32, 1524, "", 1, 0 -vvt2ivvtToothDurations0 = scalar, U32, 1528, "us", 1, 0 -vvt2ivvtCurrentPosition = scalar, F32, 1532, "", 1, 0 -vvt2ivvtToothPosition1 = scalar, F32, 1536, "", 1, 0 -vvt2ivvtToothPosition2 = scalar, F32, 1540, "", 1, 0 -vvt2ivvtToothPosition3 = scalar, F32, 1544, "", 1, 0 -vvt2ivvtToothPosition4 = scalar, F32, 1548, "", 1, 0 -vvt2itriggerSyncGapRatio = scalar, F32, 1552, "", 1, 0 -vvt2itriggerStateIndex = scalar, U08, 1556, "", 1, 0 -; total TS size = 1560 -vvt2esynchronizationCounter = scalar, U32, 1560, "", 1, 0 -vvt2evvtToothDurations0 = scalar, U32, 1564, "us", 1, 0 -vvt2evvtCurrentPosition = scalar, F32, 1568, "", 1, 0 -vvt2evvtToothPosition1 = scalar, F32, 1572, "", 1, 0 -vvt2evvtToothPosition2 = scalar, F32, 1576, "", 1, 0 -vvt2evvtToothPosition3 = scalar, F32, 1580, "", 1, 0 -vvt2evvtToothPosition4 = scalar, F32, 1584, "", 1, 0 -vvt2etriggerSyncGapRatio = scalar, F32, 1588, "", 1, 0 -vvt2etriggerStateIndex = scalar, U08, 1592, "", 1, 0 -; total TS size = 1596 -camResyncCounter = scalar, U08, 1596, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1600, [0:0] -; total TS size = 1604 -wallFuelCorrection = scalar, F32, 1604, "", 1, 0 -wallFuel = scalar, F32, 1608, "", 1, 0 -; total TS size = 1612 -idleState = bits, S32, 1612, [0:2], "not important" -currentIdlePosition = scalar, F32, 1616 -baseIdlePosition = scalar, F32, 1620 -idleClosedLoop = scalar, F32, 1624 -iacByTpsTaper = scalar, F32, 1628 -mightResetPid = bits, U32, 1632, [0:0] -shouldResetPid = bits, U32, 1632, [1:1] -wasResetPid = bits, U32, 1632, [2:2] -mustResetPid = bits, U32, 1632, [3:3] -isCranking = bits, U32, 1632, [4:4] -isIacTableForCoasting = bits, U32, 1632, [5:5] -notIdling = bits, U32, 1632, [6:6] -needReset = bits, U32, 1632, [7:7] -isInDeadZone = bits, U32, 1632, [8:8] -isBlipping = bits, U32, 1632, [9:9] -useClosedLoop = bits, U32, 1632, [10:10] -badTps = bits, U32, 1632, [11:11] -looksLikeRunning = bits, U32, 1632, [12:12] -looksLikeCoasting = bits, U32, 1632, [13:13] -looksLikeCrankToIdle = bits, U32, 1632, [14:14] -isIdleCoasting = bits, U32, 1632, [15:15] -isIdleClosedLoop = bits, U32, 1632, [16:16] -idleTarget = scalar, S32, 1636, "", 1, 0 -targetRpmByClt = scalar, S32, 1640, "", 1, 0 -targetRpmAc = scalar, S32, 1644, "", 1, 0 -iacByRpmTaper = scalar, F32, 1648 -luaAdd = scalar, F32, 1652 -; total TS size = 1656 -etb1targetWithIdlePosition = scalar, F32, 1656, "%", 1,0 -etb1trim = scalar, F32, 1660, "", 1, 0 -etb1luaAdjustment = scalar, F32, 1664, "%", 1,0 -etb1m_wastegatePosition = scalar, F32, 1668, "%", 1,0 -etb1etbFeedForward = scalar, F32, 1672 -etb1etbIntegralError = scalar, F32, 1676, "", 1, 0 -etb1etbCurrentTarget = scalar, F32, 1680, "%", 1, 0 -etb1m_adjustedTarget = scalar, S16, 1684, "%", 0.01, 0 -etb1etbRevLimitActive = bits, U32, 1688, [0:0] -etb1jamDetected = bits, U32, 1688, [1:1] -etb1validPlantPosition = bits, U32, 1688, [2:2] -etb1etbTpsErrorCounter = scalar, U16, 1692, "count", 1,0 -etb1etbPpsErrorCounter = scalar, U16, 1694, "count", 1,0 -etb1etbErrorCode = scalar, S08, 1696, "", 1, 0 -etb1etbErrorCodeBlinker = scalar, S08, 1697, "", 1, 0 -etb1tcEtbDrop = scalar, S08, 1698, "%", 1, 0 -etb1jamTimer = scalar, U16, 1700, "sec", 0.01, 0 -etb1adjustedEtbTarget = scalar, S08, 1702, "%", 1, 0 -etb1state = scalar, U08, 1703, "", 1, 0 -; total TS size = 1704 -etb2targetWithIdlePosition = scalar, F32, 1704, "%", 1,0 -etb2trim = scalar, F32, 1708, "", 1, 0 -etb2luaAdjustment = scalar, F32, 1712, "%", 1,0 -etb2m_wastegatePosition = scalar, F32, 1716, "%", 1,0 -etb2etbFeedForward = scalar, F32, 1720 -etb2etbIntegralError = scalar, F32, 1724, "", 1, 0 -etb2etbCurrentTarget = scalar, F32, 1728, "%", 1, 0 -etb2m_adjustedTarget = scalar, S16, 1732, "%", 0.01, 0 -etb2etbRevLimitActive = bits, U32, 1736, [0:0] -etb2jamDetected = bits, U32, 1736, [1:1] -etb2validPlantPosition = bits, U32, 1736, [2:2] -etb2etbTpsErrorCounter = scalar, U16, 1740, "count", 1,0 -etb2etbPpsErrorCounter = scalar, U16, 1742, "count", 1,0 -etb2etbErrorCode = scalar, S08, 1744, "", 1, 0 -etb2etbErrorCodeBlinker = scalar, S08, 1745, "", 1, 0 -etb2tcEtbDrop = scalar, S08, 1746, "%", 1, 0 -etb2jamTimer = scalar, U16, 1748, "sec", 0.01, 0 -etb2adjustedEtbTarget = scalar, S08, 1750, "%", 1, 0 -etb2state = scalar, U08, 1751, "", 1, 0 -; total TS size = 1752 -wb1faultCode = scalar, U08, 1752, "", 1, 0 -wb1heaterDuty = scalar, U08, 1753, "%", 1, 0 -wb1pumpDuty = scalar, U08, 1754, "%", 1, 0 -wb1tempC = scalar, U16, 1756, "C", 1, 0 -wb1nernstVoltage = scalar, U16, 1758, "V", 0.001, 0 -wb1esr = scalar, U16, 1760, "ohm", 1, 0 -; total TS size = 1764 -wb2faultCode = scalar, U08, 1764, "", 1, 0 -wb2heaterDuty = scalar, U08, 1765, "%", 1, 0 -wb2pumpDuty = scalar, U08, 1766, "%", 1, 0 -wb2tempC = scalar, U16, 1768, "C", 1, 0 -wb2nernstVoltage = scalar, U16, 1770, "V", 0.001, 0 -wb2esr = scalar, U16, 1772, "ohm", 1, 0 -; total TS size = 1776 -dcOutput0 = scalar, F32, 1776, "%", 1,0 -isEnabled0_int = scalar, U08, 1780, "%", 1,0 -isEnabled0 = bits, U32, 1784, [0:0] -; total TS size = 1788 -value0 = scalar, U16, 1788, "RAW", 1,0 -value1 = scalar, U16, 1790, "RAW", 1,0 -errorRate = scalar, F32, 1792, "% (don't belive me)", 1,0 -; total TS size = 1796 -vvtTarget = scalar, U16, 1796, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1798, "%", 0.5, 0 +isBenchTest = bits, U32, 1228, [0:0] +hasIgnitionVoltage = bits, U32, 1228, [1:1] +mainRelayState = bits, U32, 1228, [2:2] +delayedShutoffRequested = bits, U32, 1228, [3:3] +; total TS size = 1232 +lua_fuelAdd = scalar, F32, 1232, "g", 1, 0 +lua_fuelMult = scalar, F32, 1236, "", 1, 0 +lua_clutchUpState = bits, U32, 1240, [0:0] +lua_brakePedalState = bits, U32, 1240, [1:1] +lua_acRequestState = bits, U32, 1240, [2:2] +lua_luaDisableEtb = bits, U32, 1240, [3:3] +lua_luaIgnCut = bits, U32, 1240, [4:4] +lua_luaFuelCut = bits, U32, 1240, [5:5] +lua_clutchDownState = bits, U32, 1240, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1240, [7:7] +lua_torqueReductionState = bits, U32, 1240, [8:8] +sd_tCharge = scalar, S16, 1244, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1248, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1252, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1256, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1260, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1264, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1268, "", 1, 0 +hellenBoardId = scalar, S16, 1272, "id", 1, 0 +clutchUpState = scalar, S08, 1274, "", 1, 0 +brakePedalState = scalar, S08, 1275, "", 1, 0 +startStopState = scalar, S08, 1276, "", 1, 0 +smartChipState = scalar, S08, 1277, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1278, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1279, "", 1, 0 +startStopPhysicalState = bits, U32, 1280, [0:0] +acrActive = bits, U32, 1280, [1:1] +acrEngineMovedRecently = bits, U32, 1280, [2:2] +heaterControlEnabled = bits, U32, 1280, [3:3] +luaDigitalState0 = bits, U32, 1280, [4:4] +luaDigitalState1 = bits, U32, 1280, [5:5] +luaDigitalState2 = bits, U32, 1280, [6:6] +luaDigitalState3 = bits, U32, 1280, [7:7] +clutchDownState = bits, U32, 1280, [8:8] +startStopStateToggleCounter = scalar, U32, 1284, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1288, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1292, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1296, "", 1, 0 +fuelInjectionCounter = scalar, U32, 1300, "", 1, 0 +globalSparkCounter = scalar, U32, 1304, "", 1, 0 +fuelingLoad = scalar, F32, 1308, "", 1, 0 +ignitionLoad = scalar, F32, 1312, "", 1, 0 +veTableYAxis = scalar, U16, 1316, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1318, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1319, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1320, "", 1, 0 +; total TS size = 1324 +tpsFrom = scalar, F32, 1324 +tpsTo = scalar, F32, 1328 +deltaTps = scalar, F32, 1332 +extraFuel = scalar, F32, 1336, "", 1, 0 +valueFromTable = scalar, F32, 1340, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1344, [0:0] +isBelowDecelThreshold = bits, U32, 1344, [1:1] +isTimeToResetAccumulator = bits, U32, 1344, [2:2] +isFractionalEnrichment = bits, U32, 1344, [3:3] +belowEpsilon = bits, U32, 1344, [4:4] +tooShort = bits, U32, 1344, [5:5] +fractionalInjFuel = scalar, F32, 1348, "", 1, 0 +accumulatedValue = scalar, F32, 1352, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1356, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1360, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1364, "", 1, 0 +cycleCnt = scalar, S32, 1368, "", 1, 0 +; total TS size = 1372 +hwEventCounters1 = scalar, U16, 1372, "", 1, 0 +hwEventCounters2 = scalar, U16, 1374, "", 1, 0 +hwEventCounters3 = scalar, U16, 1376, "", 1, 0 +hwEventCounters4 = scalar, U16, 1378, "", 1, 0 +vvtCamCounter = scalar, U16, 1380, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1384, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1388, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1392, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1393, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1396, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1400, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1404, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1408, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1412, [0:0] +triggerElapsedUs = scalar, U32, 1416, "", 1, 0 +; total TS size = 1420 +trgsynchronizationCounter = scalar, U32, 1420, "", 1, 0 +trgvvtToothDurations0 = scalar, U32, 1424, "us", 1, 0 +trgvvtCurrentPosition = scalar, F32, 1428, "", 1, 0 +trgvvtToothPosition1 = scalar, F32, 1432, "", 1, 0 +trgvvtToothPosition2 = scalar, F32, 1436, "", 1, 0 +trgvvtToothPosition3 = scalar, F32, 1440, "", 1, 0 +trgvvtToothPosition4 = scalar, F32, 1444, "", 1, 0 +trgtriggerSyncGapRatio = scalar, F32, 1448, "", 1, 0 +trgtriggerStateIndex = scalar, U08, 1452, "", 1, 0 +; total TS size = 1456 +vvt1isynchronizationCounter = scalar, U32, 1456, "", 1, 0 +vvt1ivvtToothDurations0 = scalar, U32, 1460, "us", 1, 0 +vvt1ivvtCurrentPosition = scalar, F32, 1464, "", 1, 0 +vvt1ivvtToothPosition1 = scalar, F32, 1468, "", 1, 0 +vvt1ivvtToothPosition2 = scalar, F32, 1472, "", 1, 0 +vvt1ivvtToothPosition3 = scalar, F32, 1476, "", 1, 0 +vvt1ivvtToothPosition4 = scalar, F32, 1480, "", 1, 0 +vvt1itriggerSyncGapRatio = scalar, F32, 1484, "", 1, 0 +vvt1itriggerStateIndex = scalar, U08, 1488, "", 1, 0 +; total TS size = 1492 +vvt1esynchronizationCounter = scalar, U32, 1492, "", 1, 0 +vvt1evvtToothDurations0 = scalar, U32, 1496, "us", 1, 0 +vvt1evvtCurrentPosition = scalar, F32, 1500, "", 1, 0 +vvt1evvtToothPosition1 = scalar, F32, 1504, "", 1, 0 +vvt1evvtToothPosition2 = scalar, F32, 1508, "", 1, 0 +vvt1evvtToothPosition3 = scalar, F32, 1512, "", 1, 0 +vvt1evvtToothPosition4 = scalar, F32, 1516, "", 1, 0 +vvt1etriggerSyncGapRatio = scalar, F32, 1520, "", 1, 0 +vvt1etriggerStateIndex = scalar, U08, 1524, "", 1, 0 +; total TS size = 1528 +vvt2isynchronizationCounter = scalar, U32, 1528, "", 1, 0 +vvt2ivvtToothDurations0 = scalar, U32, 1532, "us", 1, 0 +vvt2ivvtCurrentPosition = scalar, F32, 1536, "", 1, 0 +vvt2ivvtToothPosition1 = scalar, F32, 1540, "", 1, 0 +vvt2ivvtToothPosition2 = scalar, F32, 1544, "", 1, 0 +vvt2ivvtToothPosition3 = scalar, F32, 1548, "", 1, 0 +vvt2ivvtToothPosition4 = scalar, F32, 1552, "", 1, 0 +vvt2itriggerSyncGapRatio = scalar, F32, 1556, "", 1, 0 +vvt2itriggerStateIndex = scalar, U08, 1560, "", 1, 0 +; total TS size = 1564 +vvt2esynchronizationCounter = scalar, U32, 1564, "", 1, 0 +vvt2evvtToothDurations0 = scalar, U32, 1568, "us", 1, 0 +vvt2evvtCurrentPosition = scalar, F32, 1572, "", 1, 0 +vvt2evvtToothPosition1 = scalar, F32, 1576, "", 1, 0 +vvt2evvtToothPosition2 = scalar, F32, 1580, "", 1, 0 +vvt2evvtToothPosition3 = scalar, F32, 1584, "", 1, 0 +vvt2evvtToothPosition4 = scalar, F32, 1588, "", 1, 0 +vvt2etriggerSyncGapRatio = scalar, F32, 1592, "", 1, 0 +vvt2etriggerStateIndex = scalar, U08, 1596, "", 1, 0 +; total TS size = 1600 +camResyncCounter = scalar, U08, 1600, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1604, [0:0] +; total TS size = 1608 +wallFuelCorrection = scalar, F32, 1608, "", 1, 0 +wallFuel = scalar, F32, 1612, "", 1, 0 +; total TS size = 1616 +idleState = bits, S32, 1616, [0:2], "not important" +currentIdlePosition = scalar, F32, 1620 +baseIdlePosition = scalar, F32, 1624 +idleClosedLoop = scalar, F32, 1628 +iacByTpsTaper = scalar, F32, 1632 +mightResetPid = bits, U32, 1636, [0:0] +shouldResetPid = bits, U32, 1636, [1:1] +wasResetPid = bits, U32, 1636, [2:2] +mustResetPid = bits, U32, 1636, [3:3] +isCranking = bits, U32, 1636, [4:4] +isIacTableForCoasting = bits, U32, 1636, [5:5] +notIdling = bits, U32, 1636, [6:6] +needReset = bits, U32, 1636, [7:7] +isInDeadZone = bits, U32, 1636, [8:8] +isBlipping = bits, U32, 1636, [9:9] +useClosedLoop = bits, U32, 1636, [10:10] +badTps = bits, U32, 1636, [11:11] +looksLikeRunning = bits, U32, 1636, [12:12] +looksLikeCoasting = bits, U32, 1636, [13:13] +looksLikeCrankToIdle = bits, U32, 1636, [14:14] +isIdleCoasting = bits, U32, 1636, [15:15] +isIdleClosedLoop = bits, U32, 1636, [16:16] +idleTarget = scalar, S32, 1640, "", 1, 0 +targetRpmByClt = scalar, S32, 1644, "", 1, 0 +targetRpmAc = scalar, S32, 1648, "", 1, 0 +iacByRpmTaper = scalar, F32, 1652 +luaAdd = scalar, F32, 1656 +; total TS size = 1660 +etb1targetWithIdlePosition = scalar, F32, 1660, "%", 1,0 +etb1trim = scalar, F32, 1664, "", 1, 0 +etb1luaAdjustment = scalar, F32, 1668, "%", 1,0 +etb1m_wastegatePosition = scalar, F32, 1672, "%", 1,0 +etb1etbFeedForward = scalar, F32, 1676 +etb1etbIntegralError = scalar, F32, 1680, "", 1, 0 +etb1etbCurrentTarget = scalar, F32, 1684, "%", 1, 0 +etb1m_adjustedTarget = scalar, S16, 1688, "%", 0.01, 0 +etb1etbRevLimitActive = bits, U32, 1692, [0:0] +etb1jamDetected = bits, U32, 1692, [1:1] +etb1validPlantPosition = bits, U32, 1692, [2:2] +etb1etbTpsErrorCounter = scalar, U16, 1696, "count", 1,0 +etb1etbPpsErrorCounter = scalar, U16, 1698, "count", 1,0 +etb1etbErrorCode = scalar, S08, 1700, "", 1, 0 +etb1etbErrorCodeBlinker = scalar, S08, 1701, "", 1, 0 +etb1tcEtbDrop = scalar, S08, 1702, "%", 1, 0 +etb1jamTimer = scalar, U16, 1704, "sec", 0.01, 0 +etb1adjustedEtbTarget = scalar, S08, 1706, "%", 1, 0 +etb1state = scalar, U08, 1707, "", 1, 0 +; total TS size = 1708 +etb2targetWithIdlePosition = scalar, F32, 1708, "%", 1,0 +etb2trim = scalar, F32, 1712, "", 1, 0 +etb2luaAdjustment = scalar, F32, 1716, "%", 1,0 +etb2m_wastegatePosition = scalar, F32, 1720, "%", 1,0 +etb2etbFeedForward = scalar, F32, 1724 +etb2etbIntegralError = scalar, F32, 1728, "", 1, 0 +etb2etbCurrentTarget = scalar, F32, 1732, "%", 1, 0 +etb2m_adjustedTarget = scalar, S16, 1736, "%", 0.01, 0 +etb2etbRevLimitActive = bits, U32, 1740, [0:0] +etb2jamDetected = bits, U32, 1740, [1:1] +etb2validPlantPosition = bits, U32, 1740, [2:2] +etb2etbTpsErrorCounter = scalar, U16, 1744, "count", 1,0 +etb2etbPpsErrorCounter = scalar, U16, 1746, "count", 1,0 +etb2etbErrorCode = scalar, S08, 1748, "", 1, 0 +etb2etbErrorCodeBlinker = scalar, S08, 1749, "", 1, 0 +etb2tcEtbDrop = scalar, S08, 1750, "%", 1, 0 +etb2jamTimer = scalar, U16, 1752, "sec", 0.01, 0 +etb2adjustedEtbTarget = scalar, S08, 1754, "%", 1, 0 +etb2state = scalar, U08, 1755, "", 1, 0 +; total TS size = 1756 +wb1faultCode = scalar, U08, 1756, "", 1, 0 +wb1heaterDuty = scalar, U08, 1757, "%", 1, 0 +wb1pumpDuty = scalar, U08, 1758, "%", 1, 0 +wb1tempC = scalar, U16, 1760, "C", 1, 0 +wb1nernstVoltage = scalar, U16, 1762, "V", 0.001, 0 +wb1esr = scalar, U16, 1764, "ohm", 1, 0 +; total TS size = 1768 +wb2faultCode = scalar, U08, 1768, "", 1, 0 +wb2heaterDuty = scalar, U08, 1769, "%", 1, 0 +wb2pumpDuty = scalar, U08, 1770, "%", 1, 0 +wb2tempC = scalar, U16, 1772, "C", 1, 0 +wb2nernstVoltage = scalar, U16, 1774, "V", 0.001, 0 +wb2esr = scalar, U16, 1776, "ohm", 1, 0 +; total TS size = 1780 +dcOutput0 = scalar, F32, 1780, "%", 1,0 +isEnabled0_int = scalar, U08, 1784, "%", 1,0 +isEnabled0 = bits, U32, 1788, [0:0] +; total TS size = 1792 +value0 = scalar, U16, 1792, "RAW", 1,0 +value1 = scalar, U16, 1794, "RAW", 1,0 +errorRate = scalar, F32, 1796, "% (don't belive me)", 1,0 ; total TS size = 1800 -lambdaCurrentlyGood = bits, U32, 1800, [0:0] -lambdaMonitorCut = bits, U32, 1800, [1:1] -lambdaTimeSinceGood = scalar, U16, 1804, "sec", 0.01, 0 -; total TS size = 1808 +vvtTarget = scalar, U16, 1800, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1802, "%", 0.5, 0 +; total TS size = 1804 +lambdaCurrentlyGood = bits, U32, 1804, [0:0] +lambdaMonitorCut = bits, U32, 1804, [1:1] +lambdaTimeSinceGood = scalar, U16, 1808, "sec", 0.01, 0 +; total TS size = 1812 time = { timeNow } @@ -4584,6 +4587,12 @@ curve = rangeMatrix, "Range Switch Input Matrix" gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. upDownLabel = "(RICHER)", "(LEANER)" + table = trailingSparkTable, trailingSparkMap, "Trailing spark", 1 + xyLabels = "RPM", "Ignition Load" + xBins = trailingSparkRpmBins, RPMValue + yBins = trailingSparkLoadBins, ignitionLoad + zBins = trailingSparkTable + table = torqueTableTbl, torqueTableMap, "Engine Torque", 1 xBins = torqueRpmBins, RPMValue yBins = torqueLoadBins, veTableYAxis @@ -4881,6 +4890,7 @@ timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20 timingPidCorrectionGauge = timingPidCorrection,"Idle: Timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 +trailingSparkAngleGauge = trailingSparkAngle,"Ign: Trailing spark deg", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 gaugeCategory = "Boost Control" luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 @@ -5811,6 +5821,7 @@ entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" entry = luaIgnitionSkip, "Ign: Lua Spark Skip", int, "%d" +entry = trailingSparkAngle, "Ign: Trailing spark deg", float, "%.3f" entry = m_knockLevel, "Knock: Current level", float, "%.3f" entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" @@ -6759,6 +6770,7 @@ dialog = ignition_stateDialog, "ignition_state" graphLine = luaTimingAdd liveGraph = ignition_state_4_Graph, "Graph", South graphLine = luaTimingMult + graphLine = trailingSparkAngle dialog = knock_controllerDialog, "knock_controller" @@ -10095,11 +10107,11 @@ dialog = tcuControls, "Transmission Settings" dialog = rotaryDialog, "Rotary" field = "Enable Trailing Sparks", enableTrailingSparks - field = "Trailing Spark Offset", trailingSparkAngle field = "Trailing Pin 1", trailingCoilPins1 field = "Trailing Pin 2", trailingCoilPins2 field = "Trailing Pin 3", trailingCoilPins3 field = "Trailing Pin 4", trailingCoilPins4 + panel = trailingSparkTable diff --git a/firmware/tunerstudio/generated/rusefi_subaru_eg33_f7.ini b/firmware/tunerstudio/generated/rusefi_subaru_eg33_f7.ini index 945b4825fd..bc4e912995 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.2025.02.07.subaru_eg33_f7.228974024" + signature = "rusEFI master.2025.02.07.subaru_eg33_f7.2317767333" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2025.02.07.subaru_eg33_f7.228974024" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2025.02.07.subaru_eg33_f7.2317767333" ; 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 @@ -101,7 +101,7 @@ enable2ndByteCanID = false ; CONFIG_DEFINITION_START ; this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt -pageSize = 23280 +pageSize = 23304 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",22="BMW_M52",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",21="ET_BOSCH_QUICK_START",24="ET_TEST_WITH_BOSCH_QUICK_START",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",41="FRANKENSO_MIATA_NA6_MAP",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",47="GM_LCV",55="GM_LTG",98="GM_SBC",49="GM_SBC_GEN5",8="GY6_139QMB",6="HARLEY",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",34="MAZDA_MIATA_NA6",80="MAZDA_MIATA_NA94",10="MAZDA_MIATA_NA96",83="MAZDA_MIATA_NB1",69="MAZDA_MIATA_NB2",86="MAZDA_MIATA_NB2_36",20="MAZDA_MIATA_NC",33="ME17_9_MISC",68="MERCEDES_M111",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",4="MRE_SECONDARY_CAN",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",35="POLARIS",9="POLARIS_RZR",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",27="PROTEUS_GM_LS_4",25="PROTEUS_LUA_DEMO",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",17="TCU_4R70W",100="TEST_100",101="TEST_101",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",93="TEST_ISSUE_6451",19="TEST_ROTARY",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",102="UNUSED102",67="UNUSED67",94="UNUSED94",65="UNUSED_65",97="UNUSED_97",77="VAG_5_CYL",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -245,7 +245,7 @@ vbattAdcChannel = bits, U08, 513, [0:5], $adc_channel_e_list fuelLevelSensor = bits, U08, 514, [0:5], $adc_channel_e_list tps2_1AdcChannel = bits, U08, 515, [0:5], $adc_channel_e_list idle_derivativeFilterLoss = scalar, F32, 516, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 520, "angle", 1, 0, 0, 720, 0 +unusedTrailingSparkAngle = scalar, S32, 520, "", 1, 0, 0, 100, 0 trigger_type = bits, U32, 524, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Daihatsu 3 cylinder", "Mazda SOHC 4", "60-2", "36-1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "Dodge Ram 1+16", "60-2 Wrong Polarity", "Benelli Tre", "Dodge Stratus", "36_2_2_2", "Nissan Primera", "dev 2JZ 3/34 simulator", "Rover K", "GM 24x 5 degree", "Honda CBR 600 Cam", "INVALID", "Honda CBR 600 custom", "3-1 skipped", "Dodge Neon 2003 crank", "Miata NB", "INVALID", "INVALID", "Subaru 7+6", "Jeep 18-2-2-2", "12crank/24cam", "Dodge Neon 1995 crank only", "Jeep XJ 4 cyl", "FiatIAQ_P8", "Mazda Z5", "INVALID", "Renix 44-2-2", "Renix 66-2-2-2", "Honda K 12+1", "INVALID", "36-2", "Subaru SVX", "Suzuki K6A", "Subaru 7 without 6", "INVALID", "INVALID", "GM 60-2-2-2", "Skoda Favorit", "Barra 3+1 Cam", "Kawa KX450F", "Nissan VQ35", "INVALID", "Nissan VQ30", "Nissan QR25", "INVALID", "Subaru SVX Crank 1", "Subaru SVX Cam VVT", "Ford PIP", "Suzuki G13B", "Honda K 4+1", "Nissan MR18 Crank", "32-2", "36-2-1", "36-2-1-1", "3-0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6-0", "Daihatsu 4 cylinder", "INVALID", "dev", "Nissan HR", "Arctic Cat", "HR12 in", "HONDA J30A2", "trg88", "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" trigger_customTotalToothCount = scalar, S32, 528, "number", 1, 0, 1, 300, 0 trigger_customSkippedToothCount = scalar, S32, 532, "number", 1, 0, 0, 300, 0 @@ -1796,7 +1796,10 @@ dynoCarCarMassKg = scalar, S16, 23268, "", 1, 0, 0, 32000, 0 dynoCarCargoMassKg = scalar, S16, 23270, "", 1, 0, 0, 32000, 0 dynoCarCoeffOfDrag = scalar, F32, 23272, "", 1, 0, 0, 100, 0 dynoCarFrontalAreaM2 = scalar, F32, 23276, "", 1, 0, 0, 100, 0 -; total TS size = 23280 +trailingSparkTable = array, S08, 23280, [4x4], "deg", 0.1, 0, 0, 20, 1 +trailingSparkRpmBins = array, U08, 23296, [4], "rpm", 50.0, 0, 0, 12000, 0 +trailingSparkLoadBins = array, U08, 23300, [4], "Load", 5.0, 0, 0, 1000, 0 +; total TS size = 23304 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1890,7 +1893,6 @@ dynoCarFrontalAreaM2 = scalar, F32, 23276, "", 1, 0, 0, 100, 0 fuelLevelSensor = "This is the processor pin that your fuel level sensor in connected to. This is a non standard input so will need to be user defined." tps2_1AdcChannel = "Second throttle body position sensor, single channel so far" idle_derivativeFilterLoss = "0.1 is a good default value" - trailingSparkAngle = "just a temporary solution" trigger_type = "https://github.com/rusefi/rusefi/wiki/All-Supported-Triggers" airByRpmTaper = "Extra air taper amount" boostControlSafeDutyCycle = "Duty cycle to use in case of a sensor failure. This duty cycle should produce the minimum possible amount of boost. This duty is also used in case any of the minimum RPM/TPS/MAP conditions are not met." @@ -2664,7 +2666,7 @@ dynoCarFrontalAreaM2 = scalar, F32, 23276, "", 1, 0, 0, 100, 0 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1808 + ochBlockSize = 1812 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3189,417 +3191,418 @@ dwellVoltageCorrection = scalar, F32, 940, "", 1, 0 luaTimingAdd = scalar, F32, 944, "deg", 1, 0 luaTimingMult = scalar, F32, 948, "deg", 1, 0 luaIgnitionSkip = bits, U32, 952, [0:0] -; total TS size = 956 -m_knockLevel = scalar, F32, 956, "Volts", 1, 0 -m_knockCyl1 = scalar, S08, 960, "dBv", 1, 0 -m_knockCyl2 = scalar, S08, 961, "dBv", 1, 0 -m_knockCyl3 = scalar, S08, 962, "dBv", 1, 0 -m_knockCyl4 = scalar, S08, 963, "dBv", 1, 0 -m_knockCyl5 = scalar, S08, 964, "dBv", 1, 0 -m_knockCyl6 = scalar, S08, 965, "dBv", 1, 0 -m_knockCyl7 = scalar, S08, 966, "dBv", 1, 0 -m_knockCyl8 = scalar, S08, 967, "dBv", 1, 0 -m_knockCyl9 = scalar, S08, 968, "dBv", 1, 0 -m_knockCyl10 = scalar, S08, 969, "dBv", 1, 0 -m_knockCyl11 = scalar, S08, 970, "dBv", 1, 0 -m_knockCyl12 = scalar, S08, 971, "dBv", 1, 0 -m_knockRetard = scalar, F32, 972, "deg", 1,0 -m_knockThreshold = scalar, F32, 976, "", 1, 0 -m_knockCount = scalar, U32, 980, "", 1, 0 -m_maximumRetard = scalar, F32, 984, "", 1, 0 -m_knockSpectrum1 = scalar, U32, 988, "compressed data", 1, 0 -m_knockSpectrum2 = scalar, U32, 992, "compressed data", 1, 0 -m_knockSpectrum3 = scalar, U32, 996, "compressed data", 1, 0 -m_knockSpectrum4 = scalar, U32, 1000, "compressed data", 1, 0 -m_knockSpectrum5 = scalar, U32, 1004, "compressed data", 1, 0 -m_knockSpectrum6 = scalar, U32, 1008, "compressed data", 1, 0 -m_knockSpectrum7 = scalar, U32, 1012, "compressed data", 1, 0 -m_knockSpectrum8 = scalar, U32, 1016, "compressed data", 1, 0 -m_knockSpectrum9 = scalar, U32, 1020, "compressed data", 1, 0 -m_knockSpectrum10 = scalar, U32, 1024, "compressed data", 1, 0 -m_knockSpectrum11 = scalar, U32, 1028, "compressed data", 1, 0 -m_knockSpectrum12 = scalar, U32, 1032, "compressed data", 1, 0 -m_knockSpectrum13 = scalar, U32, 1036, "compressed data", 1, 0 -m_knockSpectrum14 = scalar, U32, 1040, "compressed data", 1, 0 -m_knockSpectrum15 = scalar, U32, 1044, "compressed data", 1, 0 -m_knockSpectrum16 = scalar, U32, 1048, "compressed data", 1, 0 -m_knockSpectrumChannelCyl = scalar, U16, 1052, "compressed N + N", 1, 0 -m_knockFrequencyStart = scalar, U16, 1054, "Hz", 1, 0 -m_knockFrequencyStep = scalar, F32, 1056, "Hz", 1, 0 -m_knockFuelTrimMultiplier = scalar, F32, 1060, "multiplier", 1, 0 -; total TS size = 1064 -m_isPriming = bits, U32, 1064, [0:0] +trailingSparkAngle = scalar, S16, 956, "deg", 0.01,0 +; total TS size = 960 +m_knockLevel = scalar, F32, 960, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 964, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 965, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 966, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 967, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 968, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 969, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 970, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 971, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 972, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 973, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 974, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 975, "dBv", 1, 0 +m_knockRetard = scalar, F32, 976, "deg", 1,0 +m_knockThreshold = scalar, F32, 980, "", 1, 0 +m_knockCount = scalar, U32, 984, "", 1, 0 +m_maximumRetard = scalar, F32, 988, "", 1, 0 +m_knockSpectrum1 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1040, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1044, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1048, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1052, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1056, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1058, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1060, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1064, "multiplier", 1, 0 ; total TS size = 1068 -tcuCurrentGear = scalar, S08, 1068, "gear", 1, 0 -tcRatio = scalar, U16, 1070, "value", 0.01, 0 -lastShiftTime = scalar, F32, 1072, "", 1, 0 -tcu_currentRange = scalar, U08, 1076, "", 1, 0 -pressureControlDuty = scalar, S08, 1077, "%", 1,0 -torqueConverterDuty = scalar, S08, 1078, "%", 1,0 -isShifting = bits, U32, 1080, [0:0] -; total TS size = 1084 -throttleUseWotModel = bits, U32, 1084, [0:0] -throttleModelCrossoverAngle = scalar, S16, 1088, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1092, "g/s", 1, 0 -; total TS size = 1096 -m_requested_pump = scalar, F32, 1096, "", 1, 0 -fuel_requested_percent = scalar, F32, 1100, "%", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1104, "", 1, 0 -noValve = bits, U32, 1108, [0:0] -angleAboveMin = bits, U32, 1108, [1:1] -isHpfpActive = bits, U32, 1108, [2:2] -HpfpValveState = bits, U32, 1108, [3:3] -m_pressureTarget_kPa = scalar, F32, 1112, "", 1, 0 -nextLobe = scalar, F32, 1116, "", 1, 0 -di_nextStart = scalar, F32, 1120, "v", 1, 0 -HpfdActivationPhase = scalar, F32, 1124, "", 1, 0 -HpfdDeactivationPhase = scalar, F32, 1128, "", 1, 0 -; total TS size = 1132 -m_deadtime = scalar, F32, 1132, "ms", 1, 0 -pressureDelta = scalar, F32, 1136, "kPa", 1, 0 -pressureRatio = scalar, F32, 1140, "", 1, 0 -; total TS size = 1144 -retardThresholdRpm = scalar, S32, 1144, "", 1, 0 -launchActivatePinState = bits, U32, 1148, [0:0] -isPreLaunchCondition = bits, U32, 1148, [1:1] -isLaunchCondition = bits, U32, 1148, [2:2] -isSwitchActivated = bits, U32, 1148, [3:3] -isClutchActivated = bits, U32, 1148, [4:4] -isBrakePedalActivated = bits, U32, 1148, [5:5] -isValidInputPin = bits, U32, 1148, [6:6] -activateSwitchCondition = bits, U32, 1148, [7:7] -rpmLaunchCondition = bits, U32, 1148, [8:8] -rpmPreLaunchCondition = bits, U32, 1148, [9:9] -speedCondition = bits, U32, 1148, [10:10] -tpsCondition = bits, U32, 1148, [11:11] -; total TS size = 1152 -isTorqueReductionTriggerPinValid = bits, U32, 1152, [0:0] -torqueReductionTriggerPinState = bits, U32, 1152, [1:1] -isTimeConditionSatisfied = bits, U32, 1152, [2:2] -isRpmConditionSatisfied = bits, U32, 1152, [3:3] -isAppConditionSatisfied = bits, U32, 1152, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1152, [5:5] +m_isPriming = bits, U32, 1068, [0:0] +; total TS size = 1072 +tcuCurrentGear = scalar, S08, 1072, "gear", 1, 0 +tcRatio = scalar, U16, 1074, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1076, "", 1, 0 +tcu_currentRange = scalar, U08, 1080, "", 1, 0 +pressureControlDuty = scalar, S08, 1081, "%", 1,0 +torqueConverterDuty = scalar, S08, 1082, "%", 1,0 +isShifting = bits, U32, 1084, [0:0] +; total TS size = 1088 +throttleUseWotModel = bits, U32, 1088, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1092, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1096, "g/s", 1, 0 +; total TS size = 1100 +m_requested_pump = scalar, F32, 1100, "", 1, 0 +fuel_requested_percent = scalar, F32, 1104, "%", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1108, "", 1, 0 +noValve = bits, U32, 1112, [0:0] +angleAboveMin = bits, U32, 1112, [1:1] +isHpfpActive = bits, U32, 1112, [2:2] +HpfpValveState = bits, U32, 1112, [3:3] +m_pressureTarget_kPa = scalar, F32, 1116, "", 1, 0 +nextLobe = scalar, F32, 1120, "", 1, 0 +di_nextStart = scalar, F32, 1124, "v", 1, 0 +HpfdActivationPhase = scalar, F32, 1128, "", 1, 0 +HpfdDeactivationPhase = scalar, F32, 1132, "", 1, 0 +; total TS size = 1136 +m_deadtime = scalar, F32, 1136, "ms", 1, 0 +pressureDelta = scalar, F32, 1140, "kPa", 1, 0 +pressureRatio = scalar, F32, 1144, "", 1, 0 +; total TS size = 1148 +retardThresholdRpm = scalar, S32, 1148, "", 1, 0 +launchActivatePinState = bits, U32, 1152, [0:0] +isPreLaunchCondition = bits, U32, 1152, [1:1] +isLaunchCondition = bits, U32, 1152, [2:2] +isSwitchActivated = bits, U32, 1152, [3:3] +isClutchActivated = bits, U32, 1152, [4:4] +isBrakePedalActivated = bits, U32, 1152, [5:5] +isValidInputPin = bits, U32, 1152, [6:6] +activateSwitchCondition = bits, U32, 1152, [7:7] +rpmLaunchCondition = bits, U32, 1152, [8:8] +rpmPreLaunchCondition = bits, U32, 1152, [9:9] +speedCondition = bits, U32, 1152, [10:10] +tpsCondition = bits, U32, 1152, [11:11] ; total TS size = 1156 -isAntilagCondition = bits, U32, 1156, [0:0] -ALSMinRPMCondition = bits, U32, 1156, [1:1] -ALSMaxRPMCondition = bits, U32, 1156, [2:2] -ALSMinCLTCondition = bits, U32, 1156, [3:3] -ALSMaxCLTCondition = bits, U32, 1156, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1156, [5:5] -isALSSwitchActivated = bits, U32, 1156, [6:6] -ALSActivatePinState = bits, U32, 1156, [7:7] -ALSSwitchCondition = bits, U32, 1156, [8:8] -ALSTimerCondition = bits, U32, 1156, [9:9] -fuelALSCorrection = scalar, F32, 1160, "", 1, 0 -timingALSCorrection = scalar, S16, 1164, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1166, "deg", 0.01, 0 -; total TS size = 1168 -isTpsInvalid = bits, U32, 1168, [0:0] -m_shouldResetPid = bits, U32, 1168, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1168, [2:2] -isNotClosedLoop = bits, U32, 1168, [3:3] -isZeroRpm = bits, U32, 1168, [4:4] -hasInitBoost = bits, U32, 1168, [5:5] -rpmTooLow = bits, U32, 1168, [6:6] -tpsTooLow = bits, U32, 1168, [7:7] -mapTooLow = bits, U32, 1168, [8:8] -isPlantValid = bits, U32, 1168, [9:9] -isBoostControlled = bits, U32, 1168, [10:10] -luaTargetAdd = scalar, S16, 1172, "v", 0.5,0 -boostOutput = scalar, S16, 1174, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1176, "v", 1,0 -openLoopPart = scalar, F32, 1180, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1184, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1188, "%", 0.5,0 -boostControlTarget = scalar, S16, 1190, "kPa", 0.03333333333333333,0 -; total TS size = 1192 -acButtonState = scalar, S08, 1192, "", 1, 0 -m_acEnabled = bits, U32, 1196, [0:0] -engineTooSlow = bits, U32, 1196, [1:1] -engineTooFast = bits, U32, 1196, [2:2] -noClt = bits, U32, 1196, [3:3] -engineTooHot = bits, U32, 1196, [4:4] -tpsTooHigh = bits, U32, 1196, [5:5] -isDisabledByLua = bits, U32, 1196, [6:6] -acCompressorState = bits, U32, 1196, [7:7] -acPressureTooLow = bits, U32, 1196, [8:8] -acPressureTooHigh = bits, U32, 1196, [9:9] -; total TS size = 1200 -isNitrousArmed = bits, U32, 1200, [0:0] -isNitrousSpeedCondition = bits, U32, 1200, [1:1] -isNitrousTpsCondition = bits, U32, 1200, [2:2] -isNitrousCltCondition = bits, U32, 1200, [3:3] -isNitrousMapCondition = bits, U32, 1200, [4:4] -isNitrousAfrCondition = bits, U32, 1200, [5:5] -isNitrousRpmCondition = bits, U32, 1200, [6:6] -isNitrousCondition = bits, U32, 1200, [7:7] +isTorqueReductionTriggerPinValid = bits, U32, 1156, [0:0] +torqueReductionTriggerPinState = bits, U32, 1156, [1:1] +isTimeConditionSatisfied = bits, U32, 1156, [2:2] +isRpmConditionSatisfied = bits, U32, 1156, [3:3] +isAppConditionSatisfied = bits, U32, 1156, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1156, [5:5] +; total TS size = 1160 +isAntilagCondition = bits, U32, 1160, [0:0] +ALSMinRPMCondition = bits, U32, 1160, [1:1] +ALSMaxRPMCondition = bits, U32, 1160, [2:2] +ALSMinCLTCondition = bits, U32, 1160, [3:3] +ALSMaxCLTCondition = bits, U32, 1160, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1160, [5:5] +isALSSwitchActivated = bits, U32, 1160, [6:6] +ALSActivatePinState = bits, U32, 1160, [7:7] +ALSSwitchCondition = bits, U32, 1160, [8:8] +ALSTimerCondition = bits, U32, 1160, [9:9] +fuelALSCorrection = scalar, F32, 1164, "", 1, 0 +timingALSCorrection = scalar, S16, 1168, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1170, "deg", 0.01, 0 +; total TS size = 1172 +isTpsInvalid = bits, U32, 1172, [0:0] +m_shouldResetPid = bits, U32, 1172, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1172, [2:2] +isNotClosedLoop = bits, U32, 1172, [3:3] +isZeroRpm = bits, U32, 1172, [4:4] +hasInitBoost = bits, U32, 1172, [5:5] +rpmTooLow = bits, U32, 1172, [6:6] +tpsTooLow = bits, U32, 1172, [7:7] +mapTooLow = bits, U32, 1172, [8:8] +isPlantValid = bits, U32, 1172, [9:9] +isBoostControlled = bits, U32, 1172, [10:10] +luaTargetAdd = scalar, S16, 1176, "v", 0.5,0 +boostOutput = scalar, S16, 1178, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1180, "v", 1,0 +openLoopPart = scalar, F32, 1184, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1188, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1192, "%", 0.5,0 +boostControlTarget = scalar, S16, 1194, "kPa", 0.03333333333333333,0 +; total TS size = 1196 +acButtonState = scalar, S08, 1196, "", 1, 0 +m_acEnabled = bits, U32, 1200, [0:0] +engineTooSlow = bits, U32, 1200, [1:1] +engineTooFast = bits, U32, 1200, [2:2] +noClt = bits, U32, 1200, [3:3] +engineTooHot = bits, U32, 1200, [4:4] +tpsTooHigh = bits, U32, 1200, [5:5] +isDisabledByLua = bits, U32, 1200, [6:6] +acCompressorState = bits, U32, 1200, [7:7] +acPressureTooLow = bits, U32, 1200, [8:8] +acPressureTooHigh = bits, U32, 1200, [9:9] ; total TS size = 1204 -fan1cranking = bits, U32, 1204, [0:0] -fan1notRunning = bits, U32, 1204, [1:1] -fan1disabledWhileEngineStopped = bits, U32, 1204, [2:2] -fan1brokenClt = bits, U32, 1204, [3:3] -fan1enabledForAc = bits, U32, 1204, [4:4] -fan1hot = bits, U32, 1204, [5:5] -fan1cold = bits, U32, 1204, [6:6] -fan1disabledBySpeed = bits, U32, 1204, [7:7] -fan1m_state = bits, U32, 1204, [8:8] -fan1radiatorFanStatus = scalar, U08, 1208, "", 1, 0 -; total TS size = 1212 -fan2cranking = bits, U32, 1212, [0:0] -fan2notRunning = bits, U32, 1212, [1:1] -fan2disabledWhileEngineStopped = bits, U32, 1212, [2:2] -fan2brokenClt = bits, U32, 1212, [3:3] -fan2enabledForAc = bits, U32, 1212, [4:4] -fan2hot = bits, U32, 1212, [5:5] -fan2cold = bits, U32, 1212, [6:6] -fan2disabledBySpeed = bits, U32, 1212, [7:7] -fan2m_state = bits, U32, 1212, [8:8] -fan2radiatorFanStatus = scalar, U08, 1216, "", 1, 0 -; total TS size = 1220 -isPrime = bits, U32, 1220, [0:0] -engineTurnedRecently = bits, U32, 1220, [1:1] -isFuelPumpOn = bits, U32, 1220, [2:2] -ignitionOn = bits, U32, 1220, [3:3] +isNitrousArmed = bits, U32, 1204, [0:0] +isNitrousSpeedCondition = bits, U32, 1204, [1:1] +isNitrousTpsCondition = bits, U32, 1204, [2:2] +isNitrousCltCondition = bits, U32, 1204, [3:3] +isNitrousMapCondition = bits, U32, 1204, [4:4] +isNitrousAfrCondition = bits, U32, 1204, [5:5] +isNitrousRpmCondition = bits, U32, 1204, [6:6] +isNitrousCondition = bits, U32, 1204, [7:7] +; total TS size = 1208 +fan1cranking = bits, U32, 1208, [0:0] +fan1notRunning = bits, U32, 1208, [1:1] +fan1disabledWhileEngineStopped = bits, U32, 1208, [2:2] +fan1brokenClt = bits, U32, 1208, [3:3] +fan1enabledForAc = bits, U32, 1208, [4:4] +fan1hot = bits, U32, 1208, [5:5] +fan1cold = bits, U32, 1208, [6:6] +fan1disabledBySpeed = bits, U32, 1208, [7:7] +fan1m_state = bits, U32, 1208, [8:8] +fan1radiatorFanStatus = scalar, U08, 1212, "", 1, 0 +; total TS size = 1216 +fan2cranking = bits, U32, 1216, [0:0] +fan2notRunning = bits, U32, 1216, [1:1] +fan2disabledWhileEngineStopped = bits, U32, 1216, [2:2] +fan2brokenClt = bits, U32, 1216, [3:3] +fan2enabledForAc = bits, U32, 1216, [4:4] +fan2hot = bits, U32, 1216, [5:5] +fan2cold = bits, U32, 1216, [6:6] +fan2disabledBySpeed = bits, U32, 1216, [7:7] +fan2m_state = bits, U32, 1216, [8:8] +fan2radiatorFanStatus = scalar, U08, 1220, "", 1, 0 ; total TS size = 1224 -isBenchTest = bits, U32, 1224, [0:0] -hasIgnitionVoltage = bits, U32, 1224, [1:1] -mainRelayState = bits, U32, 1224, [2:2] -delayedShutoffRequested = bits, U32, 1224, [3:3] +isPrime = bits, U32, 1224, [0:0] +engineTurnedRecently = bits, U32, 1224, [1:1] +isFuelPumpOn = bits, U32, 1224, [2:2] +ignitionOn = bits, U32, 1224, [3:3] ; total TS size = 1228 -lua_fuelAdd = scalar, F32, 1228, "g", 1, 0 -lua_fuelMult = scalar, F32, 1232, "", 1, 0 -lua_clutchUpState = bits, U32, 1236, [0:0] -lua_brakePedalState = bits, U32, 1236, [1:1] -lua_acRequestState = bits, U32, 1236, [2:2] -lua_luaDisableEtb = bits, U32, 1236, [3:3] -lua_luaIgnCut = bits, U32, 1236, [4:4] -lua_luaFuelCut = bits, U32, 1236, [5:5] -lua_clutchDownState = bits, U32, 1236, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1236, [7:7] -lua_torqueReductionState = bits, U32, 1236, [8:8] -sd_tCharge = scalar, S16, 1240, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1244, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1248, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1252, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1256, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1260, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1264, "", 1, 0 -hellenBoardId = scalar, S16, 1268, "id", 1, 0 -clutchUpState = scalar, S08, 1270, "", 1, 0 -brakePedalState = scalar, S08, 1271, "", 1, 0 -startStopState = scalar, S08, 1272, "", 1, 0 -smartChipState = scalar, S08, 1273, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1274, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1275, "", 1, 0 -startStopPhysicalState = bits, U32, 1276, [0:0] -acrActive = bits, U32, 1276, [1:1] -acrEngineMovedRecently = bits, U32, 1276, [2:2] -heaterControlEnabled = bits, U32, 1276, [3:3] -luaDigitalState0 = bits, U32, 1276, [4:4] -luaDigitalState1 = bits, U32, 1276, [5:5] -luaDigitalState2 = bits, U32, 1276, [6:6] -luaDigitalState3 = bits, U32, 1276, [7:7] -clutchDownState = bits, U32, 1276, [8:8] -startStopStateToggleCounter = scalar, U32, 1280, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1284, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1288, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1292, "", 1, 0 -fuelInjectionCounter = scalar, U32, 1296, "", 1, 0 -globalSparkCounter = scalar, U32, 1300, "", 1, 0 -fuelingLoad = scalar, F32, 1304, "", 1, 0 -ignitionLoad = scalar, F32, 1308, "", 1, 0 -veTableYAxis = scalar, U16, 1312, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1314, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1315, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1316, "", 1, 0 -; total TS size = 1320 -tpsFrom = scalar, F32, 1320 -tpsTo = scalar, F32, 1324 -deltaTps = scalar, F32, 1328 -extraFuel = scalar, F32, 1332, "", 1, 0 -valueFromTable = scalar, F32, 1336, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1340, [0:0] -isBelowDecelThreshold = bits, U32, 1340, [1:1] -isTimeToResetAccumulator = bits, U32, 1340, [2:2] -isFractionalEnrichment = bits, U32, 1340, [3:3] -belowEpsilon = bits, U32, 1340, [4:4] -tooShort = bits, U32, 1340, [5:5] -fractionalInjFuel = scalar, F32, 1344, "", 1, 0 -accumulatedValue = scalar, F32, 1348, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1352, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1356, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1360, "", 1, 0 -cycleCnt = scalar, S32, 1364, "", 1, 0 -; total TS size = 1368 -hwEventCounters1 = scalar, U16, 1368, "", 1, 0 -hwEventCounters2 = scalar, U16, 1370, "", 1, 0 -hwEventCounters3 = scalar, U16, 1372, "", 1, 0 -hwEventCounters4 = scalar, U16, 1374, "", 1, 0 -vvtCamCounter = scalar, U16, 1376, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1380, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1384, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1388, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1389, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1392, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1396, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1400, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1404, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1408, [0:0] -triggerElapsedUs = scalar, U32, 1412, "", 1, 0 -; total TS size = 1416 -trgsynchronizationCounter = scalar, U32, 1416, "", 1, 0 -trgvvtToothDurations0 = scalar, U32, 1420, "us", 1, 0 -trgvvtCurrentPosition = scalar, F32, 1424, "", 1, 0 -trgvvtToothPosition1 = scalar, F32, 1428, "", 1, 0 -trgvvtToothPosition2 = scalar, F32, 1432, "", 1, 0 -trgvvtToothPosition3 = scalar, F32, 1436, "", 1, 0 -trgvvtToothPosition4 = scalar, F32, 1440, "", 1, 0 -trgtriggerSyncGapRatio = scalar, F32, 1444, "", 1, 0 -trgtriggerStateIndex = scalar, U08, 1448, "", 1, 0 -; total TS size = 1452 -vvt1isynchronizationCounter = scalar, U32, 1452, "", 1, 0 -vvt1ivvtToothDurations0 = scalar, U32, 1456, "us", 1, 0 -vvt1ivvtCurrentPosition = scalar, F32, 1460, "", 1, 0 -vvt1ivvtToothPosition1 = scalar, F32, 1464, "", 1, 0 -vvt1ivvtToothPosition2 = scalar, F32, 1468, "", 1, 0 -vvt1ivvtToothPosition3 = scalar, F32, 1472, "", 1, 0 -vvt1ivvtToothPosition4 = scalar, F32, 1476, "", 1, 0 -vvt1itriggerSyncGapRatio = scalar, F32, 1480, "", 1, 0 -vvt1itriggerStateIndex = scalar, U08, 1484, "", 1, 0 -; total TS size = 1488 -vvt1esynchronizationCounter = scalar, U32, 1488, "", 1, 0 -vvt1evvtToothDurations0 = scalar, U32, 1492, "us", 1, 0 -vvt1evvtCurrentPosition = scalar, F32, 1496, "", 1, 0 -vvt1evvtToothPosition1 = scalar, F32, 1500, "", 1, 0 -vvt1evvtToothPosition2 = scalar, F32, 1504, "", 1, 0 -vvt1evvtToothPosition3 = scalar, F32, 1508, "", 1, 0 -vvt1evvtToothPosition4 = scalar, F32, 1512, "", 1, 0 -vvt1etriggerSyncGapRatio = scalar, F32, 1516, "", 1, 0 -vvt1etriggerStateIndex = scalar, U08, 1520, "", 1, 0 -; total TS size = 1524 -vvt2isynchronizationCounter = scalar, U32, 1524, "", 1, 0 -vvt2ivvtToothDurations0 = scalar, U32, 1528, "us", 1, 0 -vvt2ivvtCurrentPosition = scalar, F32, 1532, "", 1, 0 -vvt2ivvtToothPosition1 = scalar, F32, 1536, "", 1, 0 -vvt2ivvtToothPosition2 = scalar, F32, 1540, "", 1, 0 -vvt2ivvtToothPosition3 = scalar, F32, 1544, "", 1, 0 -vvt2ivvtToothPosition4 = scalar, F32, 1548, "", 1, 0 -vvt2itriggerSyncGapRatio = scalar, F32, 1552, "", 1, 0 -vvt2itriggerStateIndex = scalar, U08, 1556, "", 1, 0 -; total TS size = 1560 -vvt2esynchronizationCounter = scalar, U32, 1560, "", 1, 0 -vvt2evvtToothDurations0 = scalar, U32, 1564, "us", 1, 0 -vvt2evvtCurrentPosition = scalar, F32, 1568, "", 1, 0 -vvt2evvtToothPosition1 = scalar, F32, 1572, "", 1, 0 -vvt2evvtToothPosition2 = scalar, F32, 1576, "", 1, 0 -vvt2evvtToothPosition3 = scalar, F32, 1580, "", 1, 0 -vvt2evvtToothPosition4 = scalar, F32, 1584, "", 1, 0 -vvt2etriggerSyncGapRatio = scalar, F32, 1588, "", 1, 0 -vvt2etriggerStateIndex = scalar, U08, 1592, "", 1, 0 -; total TS size = 1596 -camResyncCounter = scalar, U08, 1596, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1600, [0:0] -; total TS size = 1604 -wallFuelCorrection = scalar, F32, 1604, "", 1, 0 -wallFuel = scalar, F32, 1608, "", 1, 0 -; total TS size = 1612 -idleState = bits, S32, 1612, [0:2], "not important" -currentIdlePosition = scalar, F32, 1616 -baseIdlePosition = scalar, F32, 1620 -idleClosedLoop = scalar, F32, 1624 -iacByTpsTaper = scalar, F32, 1628 -mightResetPid = bits, U32, 1632, [0:0] -shouldResetPid = bits, U32, 1632, [1:1] -wasResetPid = bits, U32, 1632, [2:2] -mustResetPid = bits, U32, 1632, [3:3] -isCranking = bits, U32, 1632, [4:4] -isIacTableForCoasting = bits, U32, 1632, [5:5] -notIdling = bits, U32, 1632, [6:6] -needReset = bits, U32, 1632, [7:7] -isInDeadZone = bits, U32, 1632, [8:8] -isBlipping = bits, U32, 1632, [9:9] -useClosedLoop = bits, U32, 1632, [10:10] -badTps = bits, U32, 1632, [11:11] -looksLikeRunning = bits, U32, 1632, [12:12] -looksLikeCoasting = bits, U32, 1632, [13:13] -looksLikeCrankToIdle = bits, U32, 1632, [14:14] -isIdleCoasting = bits, U32, 1632, [15:15] -isIdleClosedLoop = bits, U32, 1632, [16:16] -idleTarget = scalar, S32, 1636, "", 1, 0 -targetRpmByClt = scalar, S32, 1640, "", 1, 0 -targetRpmAc = scalar, S32, 1644, "", 1, 0 -iacByRpmTaper = scalar, F32, 1648 -luaAdd = scalar, F32, 1652 -; total TS size = 1656 -etb1targetWithIdlePosition = scalar, F32, 1656, "%", 1,0 -etb1trim = scalar, F32, 1660, "", 1, 0 -etb1luaAdjustment = scalar, F32, 1664, "%", 1,0 -etb1m_wastegatePosition = scalar, F32, 1668, "%", 1,0 -etb1etbFeedForward = scalar, F32, 1672 -etb1etbIntegralError = scalar, F32, 1676, "", 1, 0 -etb1etbCurrentTarget = scalar, F32, 1680, "%", 1, 0 -etb1m_adjustedTarget = scalar, S16, 1684, "%", 0.01, 0 -etb1etbRevLimitActive = bits, U32, 1688, [0:0] -etb1jamDetected = bits, U32, 1688, [1:1] -etb1validPlantPosition = bits, U32, 1688, [2:2] -etb1etbTpsErrorCounter = scalar, U16, 1692, "count", 1,0 -etb1etbPpsErrorCounter = scalar, U16, 1694, "count", 1,0 -etb1etbErrorCode = scalar, S08, 1696, "", 1, 0 -etb1etbErrorCodeBlinker = scalar, S08, 1697, "", 1, 0 -etb1tcEtbDrop = scalar, S08, 1698, "%", 1, 0 -etb1jamTimer = scalar, U16, 1700, "sec", 0.01, 0 -etb1adjustedEtbTarget = scalar, S08, 1702, "%", 1, 0 -etb1state = scalar, U08, 1703, "", 1, 0 -; total TS size = 1704 -etb2targetWithIdlePosition = scalar, F32, 1704, "%", 1,0 -etb2trim = scalar, F32, 1708, "", 1, 0 -etb2luaAdjustment = scalar, F32, 1712, "%", 1,0 -etb2m_wastegatePosition = scalar, F32, 1716, "%", 1,0 -etb2etbFeedForward = scalar, F32, 1720 -etb2etbIntegralError = scalar, F32, 1724, "", 1, 0 -etb2etbCurrentTarget = scalar, F32, 1728, "%", 1, 0 -etb2m_adjustedTarget = scalar, S16, 1732, "%", 0.01, 0 -etb2etbRevLimitActive = bits, U32, 1736, [0:0] -etb2jamDetected = bits, U32, 1736, [1:1] -etb2validPlantPosition = bits, U32, 1736, [2:2] -etb2etbTpsErrorCounter = scalar, U16, 1740, "count", 1,0 -etb2etbPpsErrorCounter = scalar, U16, 1742, "count", 1,0 -etb2etbErrorCode = scalar, S08, 1744, "", 1, 0 -etb2etbErrorCodeBlinker = scalar, S08, 1745, "", 1, 0 -etb2tcEtbDrop = scalar, S08, 1746, "%", 1, 0 -etb2jamTimer = scalar, U16, 1748, "sec", 0.01, 0 -etb2adjustedEtbTarget = scalar, S08, 1750, "%", 1, 0 -etb2state = scalar, U08, 1751, "", 1, 0 -; total TS size = 1752 -wb1faultCode = scalar, U08, 1752, "", 1, 0 -wb1heaterDuty = scalar, U08, 1753, "%", 1, 0 -wb1pumpDuty = scalar, U08, 1754, "%", 1, 0 -wb1tempC = scalar, U16, 1756, "C", 1, 0 -wb1nernstVoltage = scalar, U16, 1758, "V", 0.001, 0 -wb1esr = scalar, U16, 1760, "ohm", 1, 0 -; total TS size = 1764 -wb2faultCode = scalar, U08, 1764, "", 1, 0 -wb2heaterDuty = scalar, U08, 1765, "%", 1, 0 -wb2pumpDuty = scalar, U08, 1766, "%", 1, 0 -wb2tempC = scalar, U16, 1768, "C", 1, 0 -wb2nernstVoltage = scalar, U16, 1770, "V", 0.001, 0 -wb2esr = scalar, U16, 1772, "ohm", 1, 0 -; total TS size = 1776 -dcOutput0 = scalar, F32, 1776, "%", 1,0 -isEnabled0_int = scalar, U08, 1780, "%", 1,0 -isEnabled0 = bits, U32, 1784, [0:0] -; total TS size = 1788 -value0 = scalar, U16, 1788, "RAW", 1,0 -value1 = scalar, U16, 1790, "RAW", 1,0 -errorRate = scalar, F32, 1792, "% (don't belive me)", 1,0 -; total TS size = 1796 -vvtTarget = scalar, U16, 1796, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1798, "%", 0.5, 0 +isBenchTest = bits, U32, 1228, [0:0] +hasIgnitionVoltage = bits, U32, 1228, [1:1] +mainRelayState = bits, U32, 1228, [2:2] +delayedShutoffRequested = bits, U32, 1228, [3:3] +; total TS size = 1232 +lua_fuelAdd = scalar, F32, 1232, "g", 1, 0 +lua_fuelMult = scalar, F32, 1236, "", 1, 0 +lua_clutchUpState = bits, U32, 1240, [0:0] +lua_brakePedalState = bits, U32, 1240, [1:1] +lua_acRequestState = bits, U32, 1240, [2:2] +lua_luaDisableEtb = bits, U32, 1240, [3:3] +lua_luaIgnCut = bits, U32, 1240, [4:4] +lua_luaFuelCut = bits, U32, 1240, [5:5] +lua_clutchDownState = bits, U32, 1240, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1240, [7:7] +lua_torqueReductionState = bits, U32, 1240, [8:8] +sd_tCharge = scalar, S16, 1244, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1248, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1252, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1256, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1260, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1264, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1268, "", 1, 0 +hellenBoardId = scalar, S16, 1272, "id", 1, 0 +clutchUpState = scalar, S08, 1274, "", 1, 0 +brakePedalState = scalar, S08, 1275, "", 1, 0 +startStopState = scalar, S08, 1276, "", 1, 0 +smartChipState = scalar, S08, 1277, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1278, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1279, "", 1, 0 +startStopPhysicalState = bits, U32, 1280, [0:0] +acrActive = bits, U32, 1280, [1:1] +acrEngineMovedRecently = bits, U32, 1280, [2:2] +heaterControlEnabled = bits, U32, 1280, [3:3] +luaDigitalState0 = bits, U32, 1280, [4:4] +luaDigitalState1 = bits, U32, 1280, [5:5] +luaDigitalState2 = bits, U32, 1280, [6:6] +luaDigitalState3 = bits, U32, 1280, [7:7] +clutchDownState = bits, U32, 1280, [8:8] +startStopStateToggleCounter = scalar, U32, 1284, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1288, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1292, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1296, "", 1, 0 +fuelInjectionCounter = scalar, U32, 1300, "", 1, 0 +globalSparkCounter = scalar, U32, 1304, "", 1, 0 +fuelingLoad = scalar, F32, 1308, "", 1, 0 +ignitionLoad = scalar, F32, 1312, "", 1, 0 +veTableYAxis = scalar, U16, 1316, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1318, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1319, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1320, "", 1, 0 +; total TS size = 1324 +tpsFrom = scalar, F32, 1324 +tpsTo = scalar, F32, 1328 +deltaTps = scalar, F32, 1332 +extraFuel = scalar, F32, 1336, "", 1, 0 +valueFromTable = scalar, F32, 1340, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1344, [0:0] +isBelowDecelThreshold = bits, U32, 1344, [1:1] +isTimeToResetAccumulator = bits, U32, 1344, [2:2] +isFractionalEnrichment = bits, U32, 1344, [3:3] +belowEpsilon = bits, U32, 1344, [4:4] +tooShort = bits, U32, 1344, [5:5] +fractionalInjFuel = scalar, F32, 1348, "", 1, 0 +accumulatedValue = scalar, F32, 1352, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1356, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1360, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1364, "", 1, 0 +cycleCnt = scalar, S32, 1368, "", 1, 0 +; total TS size = 1372 +hwEventCounters1 = scalar, U16, 1372, "", 1, 0 +hwEventCounters2 = scalar, U16, 1374, "", 1, 0 +hwEventCounters3 = scalar, U16, 1376, "", 1, 0 +hwEventCounters4 = scalar, U16, 1378, "", 1, 0 +vvtCamCounter = scalar, U16, 1380, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1384, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1388, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1392, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1393, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1396, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1400, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1404, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1408, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1412, [0:0] +triggerElapsedUs = scalar, U32, 1416, "", 1, 0 +; total TS size = 1420 +trgsynchronizationCounter = scalar, U32, 1420, "", 1, 0 +trgvvtToothDurations0 = scalar, U32, 1424, "us", 1, 0 +trgvvtCurrentPosition = scalar, F32, 1428, "", 1, 0 +trgvvtToothPosition1 = scalar, F32, 1432, "", 1, 0 +trgvvtToothPosition2 = scalar, F32, 1436, "", 1, 0 +trgvvtToothPosition3 = scalar, F32, 1440, "", 1, 0 +trgvvtToothPosition4 = scalar, F32, 1444, "", 1, 0 +trgtriggerSyncGapRatio = scalar, F32, 1448, "", 1, 0 +trgtriggerStateIndex = scalar, U08, 1452, "", 1, 0 +; total TS size = 1456 +vvt1isynchronizationCounter = scalar, U32, 1456, "", 1, 0 +vvt1ivvtToothDurations0 = scalar, U32, 1460, "us", 1, 0 +vvt1ivvtCurrentPosition = scalar, F32, 1464, "", 1, 0 +vvt1ivvtToothPosition1 = scalar, F32, 1468, "", 1, 0 +vvt1ivvtToothPosition2 = scalar, F32, 1472, "", 1, 0 +vvt1ivvtToothPosition3 = scalar, F32, 1476, "", 1, 0 +vvt1ivvtToothPosition4 = scalar, F32, 1480, "", 1, 0 +vvt1itriggerSyncGapRatio = scalar, F32, 1484, "", 1, 0 +vvt1itriggerStateIndex = scalar, U08, 1488, "", 1, 0 +; total TS size = 1492 +vvt1esynchronizationCounter = scalar, U32, 1492, "", 1, 0 +vvt1evvtToothDurations0 = scalar, U32, 1496, "us", 1, 0 +vvt1evvtCurrentPosition = scalar, F32, 1500, "", 1, 0 +vvt1evvtToothPosition1 = scalar, F32, 1504, "", 1, 0 +vvt1evvtToothPosition2 = scalar, F32, 1508, "", 1, 0 +vvt1evvtToothPosition3 = scalar, F32, 1512, "", 1, 0 +vvt1evvtToothPosition4 = scalar, F32, 1516, "", 1, 0 +vvt1etriggerSyncGapRatio = scalar, F32, 1520, "", 1, 0 +vvt1etriggerStateIndex = scalar, U08, 1524, "", 1, 0 +; total TS size = 1528 +vvt2isynchronizationCounter = scalar, U32, 1528, "", 1, 0 +vvt2ivvtToothDurations0 = scalar, U32, 1532, "us", 1, 0 +vvt2ivvtCurrentPosition = scalar, F32, 1536, "", 1, 0 +vvt2ivvtToothPosition1 = scalar, F32, 1540, "", 1, 0 +vvt2ivvtToothPosition2 = scalar, F32, 1544, "", 1, 0 +vvt2ivvtToothPosition3 = scalar, F32, 1548, "", 1, 0 +vvt2ivvtToothPosition4 = scalar, F32, 1552, "", 1, 0 +vvt2itriggerSyncGapRatio = scalar, F32, 1556, "", 1, 0 +vvt2itriggerStateIndex = scalar, U08, 1560, "", 1, 0 +; total TS size = 1564 +vvt2esynchronizationCounter = scalar, U32, 1564, "", 1, 0 +vvt2evvtToothDurations0 = scalar, U32, 1568, "us", 1, 0 +vvt2evvtCurrentPosition = scalar, F32, 1572, "", 1, 0 +vvt2evvtToothPosition1 = scalar, F32, 1576, "", 1, 0 +vvt2evvtToothPosition2 = scalar, F32, 1580, "", 1, 0 +vvt2evvtToothPosition3 = scalar, F32, 1584, "", 1, 0 +vvt2evvtToothPosition4 = scalar, F32, 1588, "", 1, 0 +vvt2etriggerSyncGapRatio = scalar, F32, 1592, "", 1, 0 +vvt2etriggerStateIndex = scalar, U08, 1596, "", 1, 0 +; total TS size = 1600 +camResyncCounter = scalar, U08, 1600, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1604, [0:0] +; total TS size = 1608 +wallFuelCorrection = scalar, F32, 1608, "", 1, 0 +wallFuel = scalar, F32, 1612, "", 1, 0 +; total TS size = 1616 +idleState = bits, S32, 1616, [0:2], "not important" +currentIdlePosition = scalar, F32, 1620 +baseIdlePosition = scalar, F32, 1624 +idleClosedLoop = scalar, F32, 1628 +iacByTpsTaper = scalar, F32, 1632 +mightResetPid = bits, U32, 1636, [0:0] +shouldResetPid = bits, U32, 1636, [1:1] +wasResetPid = bits, U32, 1636, [2:2] +mustResetPid = bits, U32, 1636, [3:3] +isCranking = bits, U32, 1636, [4:4] +isIacTableForCoasting = bits, U32, 1636, [5:5] +notIdling = bits, U32, 1636, [6:6] +needReset = bits, U32, 1636, [7:7] +isInDeadZone = bits, U32, 1636, [8:8] +isBlipping = bits, U32, 1636, [9:9] +useClosedLoop = bits, U32, 1636, [10:10] +badTps = bits, U32, 1636, [11:11] +looksLikeRunning = bits, U32, 1636, [12:12] +looksLikeCoasting = bits, U32, 1636, [13:13] +looksLikeCrankToIdle = bits, U32, 1636, [14:14] +isIdleCoasting = bits, U32, 1636, [15:15] +isIdleClosedLoop = bits, U32, 1636, [16:16] +idleTarget = scalar, S32, 1640, "", 1, 0 +targetRpmByClt = scalar, S32, 1644, "", 1, 0 +targetRpmAc = scalar, S32, 1648, "", 1, 0 +iacByRpmTaper = scalar, F32, 1652 +luaAdd = scalar, F32, 1656 +; total TS size = 1660 +etb1targetWithIdlePosition = scalar, F32, 1660, "%", 1,0 +etb1trim = scalar, F32, 1664, "", 1, 0 +etb1luaAdjustment = scalar, F32, 1668, "%", 1,0 +etb1m_wastegatePosition = scalar, F32, 1672, "%", 1,0 +etb1etbFeedForward = scalar, F32, 1676 +etb1etbIntegralError = scalar, F32, 1680, "", 1, 0 +etb1etbCurrentTarget = scalar, F32, 1684, "%", 1, 0 +etb1m_adjustedTarget = scalar, S16, 1688, "%", 0.01, 0 +etb1etbRevLimitActive = bits, U32, 1692, [0:0] +etb1jamDetected = bits, U32, 1692, [1:1] +etb1validPlantPosition = bits, U32, 1692, [2:2] +etb1etbTpsErrorCounter = scalar, U16, 1696, "count", 1,0 +etb1etbPpsErrorCounter = scalar, U16, 1698, "count", 1,0 +etb1etbErrorCode = scalar, S08, 1700, "", 1, 0 +etb1etbErrorCodeBlinker = scalar, S08, 1701, "", 1, 0 +etb1tcEtbDrop = scalar, S08, 1702, "%", 1, 0 +etb1jamTimer = scalar, U16, 1704, "sec", 0.01, 0 +etb1adjustedEtbTarget = scalar, S08, 1706, "%", 1, 0 +etb1state = scalar, U08, 1707, "", 1, 0 +; total TS size = 1708 +etb2targetWithIdlePosition = scalar, F32, 1708, "%", 1,0 +etb2trim = scalar, F32, 1712, "", 1, 0 +etb2luaAdjustment = scalar, F32, 1716, "%", 1,0 +etb2m_wastegatePosition = scalar, F32, 1720, "%", 1,0 +etb2etbFeedForward = scalar, F32, 1724 +etb2etbIntegralError = scalar, F32, 1728, "", 1, 0 +etb2etbCurrentTarget = scalar, F32, 1732, "%", 1, 0 +etb2m_adjustedTarget = scalar, S16, 1736, "%", 0.01, 0 +etb2etbRevLimitActive = bits, U32, 1740, [0:0] +etb2jamDetected = bits, U32, 1740, [1:1] +etb2validPlantPosition = bits, U32, 1740, [2:2] +etb2etbTpsErrorCounter = scalar, U16, 1744, "count", 1,0 +etb2etbPpsErrorCounter = scalar, U16, 1746, "count", 1,0 +etb2etbErrorCode = scalar, S08, 1748, "", 1, 0 +etb2etbErrorCodeBlinker = scalar, S08, 1749, "", 1, 0 +etb2tcEtbDrop = scalar, S08, 1750, "%", 1, 0 +etb2jamTimer = scalar, U16, 1752, "sec", 0.01, 0 +etb2adjustedEtbTarget = scalar, S08, 1754, "%", 1, 0 +etb2state = scalar, U08, 1755, "", 1, 0 +; total TS size = 1756 +wb1faultCode = scalar, U08, 1756, "", 1, 0 +wb1heaterDuty = scalar, U08, 1757, "%", 1, 0 +wb1pumpDuty = scalar, U08, 1758, "%", 1, 0 +wb1tempC = scalar, U16, 1760, "C", 1, 0 +wb1nernstVoltage = scalar, U16, 1762, "V", 0.001, 0 +wb1esr = scalar, U16, 1764, "ohm", 1, 0 +; total TS size = 1768 +wb2faultCode = scalar, U08, 1768, "", 1, 0 +wb2heaterDuty = scalar, U08, 1769, "%", 1, 0 +wb2pumpDuty = scalar, U08, 1770, "%", 1, 0 +wb2tempC = scalar, U16, 1772, "C", 1, 0 +wb2nernstVoltage = scalar, U16, 1774, "V", 0.001, 0 +wb2esr = scalar, U16, 1776, "ohm", 1, 0 +; total TS size = 1780 +dcOutput0 = scalar, F32, 1780, "%", 1,0 +isEnabled0_int = scalar, U08, 1784, "%", 1,0 +isEnabled0 = bits, U32, 1788, [0:0] +; total TS size = 1792 +value0 = scalar, U16, 1792, "RAW", 1,0 +value1 = scalar, U16, 1794, "RAW", 1,0 +errorRate = scalar, F32, 1796, "% (don't belive me)", 1,0 ; total TS size = 1800 -lambdaCurrentlyGood = bits, U32, 1800, [0:0] -lambdaMonitorCut = bits, U32, 1800, [1:1] -lambdaTimeSinceGood = scalar, U16, 1804, "sec", 0.01, 0 -; total TS size = 1808 +vvtTarget = scalar, U16, 1800, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1802, "%", 0.5, 0 +; total TS size = 1804 +lambdaCurrentlyGood = bits, U32, 1804, [0:0] +lambdaMonitorCut = bits, U32, 1804, [1:1] +lambdaTimeSinceGood = scalar, U16, 1808, "sec", 0.01, 0 +; total TS size = 1812 time = { timeNow } @@ -4584,6 +4587,12 @@ curve = rangeMatrix, "Range Switch Input Matrix" gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. upDownLabel = "(RICHER)", "(LEANER)" + table = trailingSparkTable, trailingSparkMap, "Trailing spark", 1 + xyLabels = "RPM", "Ignition Load" + xBins = trailingSparkRpmBins, RPMValue + yBins = trailingSparkLoadBins, ignitionLoad + zBins = trailingSparkTable + table = torqueTableTbl, torqueTableMap, "Engine Torque", 1 xBins = torqueRpmBins, RPMValue yBins = torqueLoadBins, veTableYAxis @@ -4881,6 +4890,7 @@ timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20 timingPidCorrectionGauge = timingPidCorrection,"Idle: Timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 +trailingSparkAngleGauge = trailingSparkAngle,"Ign: Trailing spark deg", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 gaugeCategory = "Boost Control" luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 @@ -5811,6 +5821,7 @@ entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" entry = luaIgnitionSkip, "Ign: Lua Spark Skip", int, "%d" +entry = trailingSparkAngle, "Ign: Trailing spark deg", float, "%.3f" entry = m_knockLevel, "Knock: Current level", float, "%.3f" entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" @@ -6761,6 +6772,7 @@ dialog = ignition_stateDialog, "ignition_state" graphLine = luaTimingAdd liveGraph = ignition_state_4_Graph, "Graph", South graphLine = luaTimingMult + graphLine = trailingSparkAngle dialog = knock_controllerDialog, "knock_controller" @@ -10089,11 +10101,11 @@ dialog = tcuControls, "Transmission Settings" dialog = rotaryDialog, "Rotary" field = "Enable Trailing Sparks", enableTrailingSparks - field = "Trailing Spark Offset", trailingSparkAngle field = "Trailing Pin 1", trailingCoilPins1 field = "Trailing Pin 2", trailingCoilPins2 field = "Trailing Pin 3", trailingCoilPins3 field = "Trailing Pin 4", trailingCoilPins4 + panel = trailingSparkTable diff --git a/firmware/tunerstudio/generated/rusefi_t-b-g.ini b/firmware/tunerstudio/generated/rusefi_t-b-g.ini index b9e9392ebc..ef44fbed55 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.2025.02.07.t-b-g.1384441238" + signature = "rusEFI master.2025.02.07.t-b-g.3574033147" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2025.02.07.t-b-g.1384441238" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2025.02.07.t-b-g.3574033147" ; 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 @@ -101,7 +101,7 @@ enable2ndByteCanID = false ; CONFIG_DEFINITION_START ; this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt -pageSize = 23280 +pageSize = 23304 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",22="BMW_M52",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",21="ET_BOSCH_QUICK_START",24="ET_TEST_WITH_BOSCH_QUICK_START",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",41="FRANKENSO_MIATA_NA6_MAP",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",47="GM_LCV",55="GM_LTG",98="GM_SBC",49="GM_SBC_GEN5",8="GY6_139QMB",6="HARLEY",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",34="MAZDA_MIATA_NA6",80="MAZDA_MIATA_NA94",10="MAZDA_MIATA_NA96",83="MAZDA_MIATA_NB1",69="MAZDA_MIATA_NB2",86="MAZDA_MIATA_NB2_36",20="MAZDA_MIATA_NC",33="ME17_9_MISC",68="MERCEDES_M111",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",4="MRE_SECONDARY_CAN",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",35="POLARIS",9="POLARIS_RZR",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",27="PROTEUS_GM_LS_4",25="PROTEUS_LUA_DEMO",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",17="TCU_4R70W",100="TEST_100",101="TEST_101",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",93="TEST_ISSUE_6451",19="TEST_ROTARY",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",102="UNUSED102",67="UNUSED67",94="UNUSED94",65="UNUSED_65",97="UNUSED_97",77="VAG_5_CYL",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -245,7 +245,7 @@ vbattAdcChannel = bits, U08, 513, [0:5], $adc_channel_e_list fuelLevelSensor = bits, U08, 514, [0:5], $adc_channel_e_list tps2_1AdcChannel = bits, U08, 515, [0:5], $adc_channel_e_list idle_derivativeFilterLoss = scalar, F32, 516, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 520, "angle", 1, 0, 0, 720, 0 +unusedTrailingSparkAngle = scalar, S32, 520, "", 1, 0, 0, 100, 0 trigger_type = bits, U32, 524, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Daihatsu 3 cylinder", "Mazda SOHC 4", "60-2", "36-1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "Dodge Ram 1+16", "60-2 Wrong Polarity", "Benelli Tre", "Dodge Stratus", "36_2_2_2", "Nissan Primera", "dev 2JZ 3/34 simulator", "Rover K", "GM 24x 5 degree", "Honda CBR 600 Cam", "INVALID", "Honda CBR 600 custom", "3-1 skipped", "Dodge Neon 2003 crank", "Miata NB", "INVALID", "INVALID", "Subaru 7+6", "Jeep 18-2-2-2", "12crank/24cam", "Dodge Neon 1995 crank only", "Jeep XJ 4 cyl", "FiatIAQ_P8", "Mazda Z5", "INVALID", "Renix 44-2-2", "Renix 66-2-2-2", "Honda K 12+1", "INVALID", "36-2", "Subaru SVX", "Suzuki K6A", "Subaru 7 without 6", "INVALID", "INVALID", "GM 60-2-2-2", "Skoda Favorit", "Barra 3+1 Cam", "Kawa KX450F", "Nissan VQ35", "INVALID", "Nissan VQ30", "Nissan QR25", "INVALID", "Subaru SVX Crank 1", "Subaru SVX Cam VVT", "Ford PIP", "Suzuki G13B", "Honda K 4+1", "Nissan MR18 Crank", "32-2", "36-2-1", "36-2-1-1", "3-0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6-0", "Daihatsu 4 cylinder", "INVALID", "dev", "Nissan HR", "Arctic Cat", "HR12 in", "HONDA J30A2", "trg88", "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" trigger_customTotalToothCount = scalar, S32, 528, "number", 1, 0, 1, 300, 0 trigger_customSkippedToothCount = scalar, S32, 532, "number", 1, 0, 0, 300, 0 @@ -1796,7 +1796,10 @@ dynoCarCarMassKg = scalar, S16, 23268, "", 1, 0, 0, 32000, 0 dynoCarCargoMassKg = scalar, S16, 23270, "", 1, 0, 0, 32000, 0 dynoCarCoeffOfDrag = scalar, F32, 23272, "", 1, 0, 0, 100, 0 dynoCarFrontalAreaM2 = scalar, F32, 23276, "", 1, 0, 0, 100, 0 -; total TS size = 23280 +trailingSparkTable = array, S08, 23280, [4x4], "deg", 0.1, 0, 0, 20, 1 +trailingSparkRpmBins = array, U08, 23296, [4], "rpm", 50.0, 0, 0, 12000, 0 +trailingSparkLoadBins = array, U08, 23300, [4], "Load", 5.0, 0, 0, 1000, 0 +; total TS size = 23304 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1890,7 +1893,6 @@ dynoCarFrontalAreaM2 = scalar, F32, 23276, "", 1, 0, 0, 100, 0 fuelLevelSensor = "This is the processor pin that your fuel level sensor in connected to. This is a non standard input so will need to be user defined." tps2_1AdcChannel = "Second throttle body position sensor, single channel so far" idle_derivativeFilterLoss = "0.1 is a good default value" - trailingSparkAngle = "just a temporary solution" trigger_type = "https://github.com/rusefi/rusefi/wiki/All-Supported-Triggers" airByRpmTaper = "Extra air taper amount" boostControlSafeDutyCycle = "Duty cycle to use in case of a sensor failure. This duty cycle should produce the minimum possible amount of boost. This duty is also used in case any of the minimum RPM/TPS/MAP conditions are not met." @@ -2664,7 +2666,7 @@ dynoCarFrontalAreaM2 = scalar, F32, 23276, "", 1, 0, 0, 100, 0 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1808 + ochBlockSize = 1812 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3189,417 +3191,418 @@ dwellVoltageCorrection = scalar, F32, 940, "", 1, 0 luaTimingAdd = scalar, F32, 944, "deg", 1, 0 luaTimingMult = scalar, F32, 948, "deg", 1, 0 luaIgnitionSkip = bits, U32, 952, [0:0] -; total TS size = 956 -m_knockLevel = scalar, F32, 956, "Volts", 1, 0 -m_knockCyl1 = scalar, S08, 960, "dBv", 1, 0 -m_knockCyl2 = scalar, S08, 961, "dBv", 1, 0 -m_knockCyl3 = scalar, S08, 962, "dBv", 1, 0 -m_knockCyl4 = scalar, S08, 963, "dBv", 1, 0 -m_knockCyl5 = scalar, S08, 964, "dBv", 1, 0 -m_knockCyl6 = scalar, S08, 965, "dBv", 1, 0 -m_knockCyl7 = scalar, S08, 966, "dBv", 1, 0 -m_knockCyl8 = scalar, S08, 967, "dBv", 1, 0 -m_knockCyl9 = scalar, S08, 968, "dBv", 1, 0 -m_knockCyl10 = scalar, S08, 969, "dBv", 1, 0 -m_knockCyl11 = scalar, S08, 970, "dBv", 1, 0 -m_knockCyl12 = scalar, S08, 971, "dBv", 1, 0 -m_knockRetard = scalar, F32, 972, "deg", 1,0 -m_knockThreshold = scalar, F32, 976, "", 1, 0 -m_knockCount = scalar, U32, 980, "", 1, 0 -m_maximumRetard = scalar, F32, 984, "", 1, 0 -m_knockSpectrum1 = scalar, U32, 988, "compressed data", 1, 0 -m_knockSpectrum2 = scalar, U32, 992, "compressed data", 1, 0 -m_knockSpectrum3 = scalar, U32, 996, "compressed data", 1, 0 -m_knockSpectrum4 = scalar, U32, 1000, "compressed data", 1, 0 -m_knockSpectrum5 = scalar, U32, 1004, "compressed data", 1, 0 -m_knockSpectrum6 = scalar, U32, 1008, "compressed data", 1, 0 -m_knockSpectrum7 = scalar, U32, 1012, "compressed data", 1, 0 -m_knockSpectrum8 = scalar, U32, 1016, "compressed data", 1, 0 -m_knockSpectrum9 = scalar, U32, 1020, "compressed data", 1, 0 -m_knockSpectrum10 = scalar, U32, 1024, "compressed data", 1, 0 -m_knockSpectrum11 = scalar, U32, 1028, "compressed data", 1, 0 -m_knockSpectrum12 = scalar, U32, 1032, "compressed data", 1, 0 -m_knockSpectrum13 = scalar, U32, 1036, "compressed data", 1, 0 -m_knockSpectrum14 = scalar, U32, 1040, "compressed data", 1, 0 -m_knockSpectrum15 = scalar, U32, 1044, "compressed data", 1, 0 -m_knockSpectrum16 = scalar, U32, 1048, "compressed data", 1, 0 -m_knockSpectrumChannelCyl = scalar, U16, 1052, "compressed N + N", 1, 0 -m_knockFrequencyStart = scalar, U16, 1054, "Hz", 1, 0 -m_knockFrequencyStep = scalar, F32, 1056, "Hz", 1, 0 -m_knockFuelTrimMultiplier = scalar, F32, 1060, "multiplier", 1, 0 -; total TS size = 1064 -m_isPriming = bits, U32, 1064, [0:0] +trailingSparkAngle = scalar, S16, 956, "deg", 0.01,0 +; total TS size = 960 +m_knockLevel = scalar, F32, 960, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 964, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 965, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 966, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 967, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 968, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 969, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 970, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 971, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 972, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 973, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 974, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 975, "dBv", 1, 0 +m_knockRetard = scalar, F32, 976, "deg", 1,0 +m_knockThreshold = scalar, F32, 980, "", 1, 0 +m_knockCount = scalar, U32, 984, "", 1, 0 +m_maximumRetard = scalar, F32, 988, "", 1, 0 +m_knockSpectrum1 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1040, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1044, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1048, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1052, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1056, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1058, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1060, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1064, "multiplier", 1, 0 ; total TS size = 1068 -tcuCurrentGear = scalar, S08, 1068, "gear", 1, 0 -tcRatio = scalar, U16, 1070, "value", 0.01, 0 -lastShiftTime = scalar, F32, 1072, "", 1, 0 -tcu_currentRange = scalar, U08, 1076, "", 1, 0 -pressureControlDuty = scalar, S08, 1077, "%", 1,0 -torqueConverterDuty = scalar, S08, 1078, "%", 1,0 -isShifting = bits, U32, 1080, [0:0] -; total TS size = 1084 -throttleUseWotModel = bits, U32, 1084, [0:0] -throttleModelCrossoverAngle = scalar, S16, 1088, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1092, "g/s", 1, 0 -; total TS size = 1096 -m_requested_pump = scalar, F32, 1096, "", 1, 0 -fuel_requested_percent = scalar, F32, 1100, "%", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1104, "", 1, 0 -noValve = bits, U32, 1108, [0:0] -angleAboveMin = bits, U32, 1108, [1:1] -isHpfpActive = bits, U32, 1108, [2:2] -HpfpValveState = bits, U32, 1108, [3:3] -m_pressureTarget_kPa = scalar, F32, 1112, "", 1, 0 -nextLobe = scalar, F32, 1116, "", 1, 0 -di_nextStart = scalar, F32, 1120, "v", 1, 0 -HpfdActivationPhase = scalar, F32, 1124, "", 1, 0 -HpfdDeactivationPhase = scalar, F32, 1128, "", 1, 0 -; total TS size = 1132 -m_deadtime = scalar, F32, 1132, "ms", 1, 0 -pressureDelta = scalar, F32, 1136, "kPa", 1, 0 -pressureRatio = scalar, F32, 1140, "", 1, 0 -; total TS size = 1144 -retardThresholdRpm = scalar, S32, 1144, "", 1, 0 -launchActivatePinState = bits, U32, 1148, [0:0] -isPreLaunchCondition = bits, U32, 1148, [1:1] -isLaunchCondition = bits, U32, 1148, [2:2] -isSwitchActivated = bits, U32, 1148, [3:3] -isClutchActivated = bits, U32, 1148, [4:4] -isBrakePedalActivated = bits, U32, 1148, [5:5] -isValidInputPin = bits, U32, 1148, [6:6] -activateSwitchCondition = bits, U32, 1148, [7:7] -rpmLaunchCondition = bits, U32, 1148, [8:8] -rpmPreLaunchCondition = bits, U32, 1148, [9:9] -speedCondition = bits, U32, 1148, [10:10] -tpsCondition = bits, U32, 1148, [11:11] -; total TS size = 1152 -isTorqueReductionTriggerPinValid = bits, U32, 1152, [0:0] -torqueReductionTriggerPinState = bits, U32, 1152, [1:1] -isTimeConditionSatisfied = bits, U32, 1152, [2:2] -isRpmConditionSatisfied = bits, U32, 1152, [3:3] -isAppConditionSatisfied = bits, U32, 1152, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1152, [5:5] +m_isPriming = bits, U32, 1068, [0:0] +; total TS size = 1072 +tcuCurrentGear = scalar, S08, 1072, "gear", 1, 0 +tcRatio = scalar, U16, 1074, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1076, "", 1, 0 +tcu_currentRange = scalar, U08, 1080, "", 1, 0 +pressureControlDuty = scalar, S08, 1081, "%", 1,0 +torqueConverterDuty = scalar, S08, 1082, "%", 1,0 +isShifting = bits, U32, 1084, [0:0] +; total TS size = 1088 +throttleUseWotModel = bits, U32, 1088, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1092, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1096, "g/s", 1, 0 +; total TS size = 1100 +m_requested_pump = scalar, F32, 1100, "", 1, 0 +fuel_requested_percent = scalar, F32, 1104, "%", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1108, "", 1, 0 +noValve = bits, U32, 1112, [0:0] +angleAboveMin = bits, U32, 1112, [1:1] +isHpfpActive = bits, U32, 1112, [2:2] +HpfpValveState = bits, U32, 1112, [3:3] +m_pressureTarget_kPa = scalar, F32, 1116, "", 1, 0 +nextLobe = scalar, F32, 1120, "", 1, 0 +di_nextStart = scalar, F32, 1124, "v", 1, 0 +HpfdActivationPhase = scalar, F32, 1128, "", 1, 0 +HpfdDeactivationPhase = scalar, F32, 1132, "", 1, 0 +; total TS size = 1136 +m_deadtime = scalar, F32, 1136, "ms", 1, 0 +pressureDelta = scalar, F32, 1140, "kPa", 1, 0 +pressureRatio = scalar, F32, 1144, "", 1, 0 +; total TS size = 1148 +retardThresholdRpm = scalar, S32, 1148, "", 1, 0 +launchActivatePinState = bits, U32, 1152, [0:0] +isPreLaunchCondition = bits, U32, 1152, [1:1] +isLaunchCondition = bits, U32, 1152, [2:2] +isSwitchActivated = bits, U32, 1152, [3:3] +isClutchActivated = bits, U32, 1152, [4:4] +isBrakePedalActivated = bits, U32, 1152, [5:5] +isValidInputPin = bits, U32, 1152, [6:6] +activateSwitchCondition = bits, U32, 1152, [7:7] +rpmLaunchCondition = bits, U32, 1152, [8:8] +rpmPreLaunchCondition = bits, U32, 1152, [9:9] +speedCondition = bits, U32, 1152, [10:10] +tpsCondition = bits, U32, 1152, [11:11] ; total TS size = 1156 -isAntilagCondition = bits, U32, 1156, [0:0] -ALSMinRPMCondition = bits, U32, 1156, [1:1] -ALSMaxRPMCondition = bits, U32, 1156, [2:2] -ALSMinCLTCondition = bits, U32, 1156, [3:3] -ALSMaxCLTCondition = bits, U32, 1156, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1156, [5:5] -isALSSwitchActivated = bits, U32, 1156, [6:6] -ALSActivatePinState = bits, U32, 1156, [7:7] -ALSSwitchCondition = bits, U32, 1156, [8:8] -ALSTimerCondition = bits, U32, 1156, [9:9] -fuelALSCorrection = scalar, F32, 1160, "", 1, 0 -timingALSCorrection = scalar, S16, 1164, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1166, "deg", 0.01, 0 -; total TS size = 1168 -isTpsInvalid = bits, U32, 1168, [0:0] -m_shouldResetPid = bits, U32, 1168, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1168, [2:2] -isNotClosedLoop = bits, U32, 1168, [3:3] -isZeroRpm = bits, U32, 1168, [4:4] -hasInitBoost = bits, U32, 1168, [5:5] -rpmTooLow = bits, U32, 1168, [6:6] -tpsTooLow = bits, U32, 1168, [7:7] -mapTooLow = bits, U32, 1168, [8:8] -isPlantValid = bits, U32, 1168, [9:9] -isBoostControlled = bits, U32, 1168, [10:10] -luaTargetAdd = scalar, S16, 1172, "v", 0.5,0 -boostOutput = scalar, S16, 1174, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1176, "v", 1,0 -openLoopPart = scalar, F32, 1180, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1184, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1188, "%", 0.5,0 -boostControlTarget = scalar, S16, 1190, "kPa", 0.03333333333333333,0 -; total TS size = 1192 -acButtonState = scalar, S08, 1192, "", 1, 0 -m_acEnabled = bits, U32, 1196, [0:0] -engineTooSlow = bits, U32, 1196, [1:1] -engineTooFast = bits, U32, 1196, [2:2] -noClt = bits, U32, 1196, [3:3] -engineTooHot = bits, U32, 1196, [4:4] -tpsTooHigh = bits, U32, 1196, [5:5] -isDisabledByLua = bits, U32, 1196, [6:6] -acCompressorState = bits, U32, 1196, [7:7] -acPressureTooLow = bits, U32, 1196, [8:8] -acPressureTooHigh = bits, U32, 1196, [9:9] -; total TS size = 1200 -isNitrousArmed = bits, U32, 1200, [0:0] -isNitrousSpeedCondition = bits, U32, 1200, [1:1] -isNitrousTpsCondition = bits, U32, 1200, [2:2] -isNitrousCltCondition = bits, U32, 1200, [3:3] -isNitrousMapCondition = bits, U32, 1200, [4:4] -isNitrousAfrCondition = bits, U32, 1200, [5:5] -isNitrousRpmCondition = bits, U32, 1200, [6:6] -isNitrousCondition = bits, U32, 1200, [7:7] +isTorqueReductionTriggerPinValid = bits, U32, 1156, [0:0] +torqueReductionTriggerPinState = bits, U32, 1156, [1:1] +isTimeConditionSatisfied = bits, U32, 1156, [2:2] +isRpmConditionSatisfied = bits, U32, 1156, [3:3] +isAppConditionSatisfied = bits, U32, 1156, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1156, [5:5] +; total TS size = 1160 +isAntilagCondition = bits, U32, 1160, [0:0] +ALSMinRPMCondition = bits, U32, 1160, [1:1] +ALSMaxRPMCondition = bits, U32, 1160, [2:2] +ALSMinCLTCondition = bits, U32, 1160, [3:3] +ALSMaxCLTCondition = bits, U32, 1160, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1160, [5:5] +isALSSwitchActivated = bits, U32, 1160, [6:6] +ALSActivatePinState = bits, U32, 1160, [7:7] +ALSSwitchCondition = bits, U32, 1160, [8:8] +ALSTimerCondition = bits, U32, 1160, [9:9] +fuelALSCorrection = scalar, F32, 1164, "", 1, 0 +timingALSCorrection = scalar, S16, 1168, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1170, "deg", 0.01, 0 +; total TS size = 1172 +isTpsInvalid = bits, U32, 1172, [0:0] +m_shouldResetPid = bits, U32, 1172, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1172, [2:2] +isNotClosedLoop = bits, U32, 1172, [3:3] +isZeroRpm = bits, U32, 1172, [4:4] +hasInitBoost = bits, U32, 1172, [5:5] +rpmTooLow = bits, U32, 1172, [6:6] +tpsTooLow = bits, U32, 1172, [7:7] +mapTooLow = bits, U32, 1172, [8:8] +isPlantValid = bits, U32, 1172, [9:9] +isBoostControlled = bits, U32, 1172, [10:10] +luaTargetAdd = scalar, S16, 1176, "v", 0.5,0 +boostOutput = scalar, S16, 1178, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1180, "v", 1,0 +openLoopPart = scalar, F32, 1184, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1188, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1192, "%", 0.5,0 +boostControlTarget = scalar, S16, 1194, "kPa", 0.03333333333333333,0 +; total TS size = 1196 +acButtonState = scalar, S08, 1196, "", 1, 0 +m_acEnabled = bits, U32, 1200, [0:0] +engineTooSlow = bits, U32, 1200, [1:1] +engineTooFast = bits, U32, 1200, [2:2] +noClt = bits, U32, 1200, [3:3] +engineTooHot = bits, U32, 1200, [4:4] +tpsTooHigh = bits, U32, 1200, [5:5] +isDisabledByLua = bits, U32, 1200, [6:6] +acCompressorState = bits, U32, 1200, [7:7] +acPressureTooLow = bits, U32, 1200, [8:8] +acPressureTooHigh = bits, U32, 1200, [9:9] ; total TS size = 1204 -fan1cranking = bits, U32, 1204, [0:0] -fan1notRunning = bits, U32, 1204, [1:1] -fan1disabledWhileEngineStopped = bits, U32, 1204, [2:2] -fan1brokenClt = bits, U32, 1204, [3:3] -fan1enabledForAc = bits, U32, 1204, [4:4] -fan1hot = bits, U32, 1204, [5:5] -fan1cold = bits, U32, 1204, [6:6] -fan1disabledBySpeed = bits, U32, 1204, [7:7] -fan1m_state = bits, U32, 1204, [8:8] -fan1radiatorFanStatus = scalar, U08, 1208, "", 1, 0 -; total TS size = 1212 -fan2cranking = bits, U32, 1212, [0:0] -fan2notRunning = bits, U32, 1212, [1:1] -fan2disabledWhileEngineStopped = bits, U32, 1212, [2:2] -fan2brokenClt = bits, U32, 1212, [3:3] -fan2enabledForAc = bits, U32, 1212, [4:4] -fan2hot = bits, U32, 1212, [5:5] -fan2cold = bits, U32, 1212, [6:6] -fan2disabledBySpeed = bits, U32, 1212, [7:7] -fan2m_state = bits, U32, 1212, [8:8] -fan2radiatorFanStatus = scalar, U08, 1216, "", 1, 0 -; total TS size = 1220 -isPrime = bits, U32, 1220, [0:0] -engineTurnedRecently = bits, U32, 1220, [1:1] -isFuelPumpOn = bits, U32, 1220, [2:2] -ignitionOn = bits, U32, 1220, [3:3] +isNitrousArmed = bits, U32, 1204, [0:0] +isNitrousSpeedCondition = bits, U32, 1204, [1:1] +isNitrousTpsCondition = bits, U32, 1204, [2:2] +isNitrousCltCondition = bits, U32, 1204, [3:3] +isNitrousMapCondition = bits, U32, 1204, [4:4] +isNitrousAfrCondition = bits, U32, 1204, [5:5] +isNitrousRpmCondition = bits, U32, 1204, [6:6] +isNitrousCondition = bits, U32, 1204, [7:7] +; total TS size = 1208 +fan1cranking = bits, U32, 1208, [0:0] +fan1notRunning = bits, U32, 1208, [1:1] +fan1disabledWhileEngineStopped = bits, U32, 1208, [2:2] +fan1brokenClt = bits, U32, 1208, [3:3] +fan1enabledForAc = bits, U32, 1208, [4:4] +fan1hot = bits, U32, 1208, [5:5] +fan1cold = bits, U32, 1208, [6:6] +fan1disabledBySpeed = bits, U32, 1208, [7:7] +fan1m_state = bits, U32, 1208, [8:8] +fan1radiatorFanStatus = scalar, U08, 1212, "", 1, 0 +; total TS size = 1216 +fan2cranking = bits, U32, 1216, [0:0] +fan2notRunning = bits, U32, 1216, [1:1] +fan2disabledWhileEngineStopped = bits, U32, 1216, [2:2] +fan2brokenClt = bits, U32, 1216, [3:3] +fan2enabledForAc = bits, U32, 1216, [4:4] +fan2hot = bits, U32, 1216, [5:5] +fan2cold = bits, U32, 1216, [6:6] +fan2disabledBySpeed = bits, U32, 1216, [7:7] +fan2m_state = bits, U32, 1216, [8:8] +fan2radiatorFanStatus = scalar, U08, 1220, "", 1, 0 ; total TS size = 1224 -isBenchTest = bits, U32, 1224, [0:0] -hasIgnitionVoltage = bits, U32, 1224, [1:1] -mainRelayState = bits, U32, 1224, [2:2] -delayedShutoffRequested = bits, U32, 1224, [3:3] +isPrime = bits, U32, 1224, [0:0] +engineTurnedRecently = bits, U32, 1224, [1:1] +isFuelPumpOn = bits, U32, 1224, [2:2] +ignitionOn = bits, U32, 1224, [3:3] ; total TS size = 1228 -lua_fuelAdd = scalar, F32, 1228, "g", 1, 0 -lua_fuelMult = scalar, F32, 1232, "", 1, 0 -lua_clutchUpState = bits, U32, 1236, [0:0] -lua_brakePedalState = bits, U32, 1236, [1:1] -lua_acRequestState = bits, U32, 1236, [2:2] -lua_luaDisableEtb = bits, U32, 1236, [3:3] -lua_luaIgnCut = bits, U32, 1236, [4:4] -lua_luaFuelCut = bits, U32, 1236, [5:5] -lua_clutchDownState = bits, U32, 1236, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1236, [7:7] -lua_torqueReductionState = bits, U32, 1236, [8:8] -sd_tCharge = scalar, S16, 1240, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1244, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1248, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1252, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1256, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1260, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1264, "", 1, 0 -hellenBoardId = scalar, S16, 1268, "id", 1, 0 -clutchUpState = scalar, S08, 1270, "", 1, 0 -brakePedalState = scalar, S08, 1271, "", 1, 0 -startStopState = scalar, S08, 1272, "", 1, 0 -smartChipState = scalar, S08, 1273, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1274, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1275, "", 1, 0 -startStopPhysicalState = bits, U32, 1276, [0:0] -acrActive = bits, U32, 1276, [1:1] -acrEngineMovedRecently = bits, U32, 1276, [2:2] -heaterControlEnabled = bits, U32, 1276, [3:3] -luaDigitalState0 = bits, U32, 1276, [4:4] -luaDigitalState1 = bits, U32, 1276, [5:5] -luaDigitalState2 = bits, U32, 1276, [6:6] -luaDigitalState3 = bits, U32, 1276, [7:7] -clutchDownState = bits, U32, 1276, [8:8] -startStopStateToggleCounter = scalar, U32, 1280, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1284, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1288, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1292, "", 1, 0 -fuelInjectionCounter = scalar, U32, 1296, "", 1, 0 -globalSparkCounter = scalar, U32, 1300, "", 1, 0 -fuelingLoad = scalar, F32, 1304, "", 1, 0 -ignitionLoad = scalar, F32, 1308, "", 1, 0 -veTableYAxis = scalar, U16, 1312, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1314, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1315, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1316, "", 1, 0 -; total TS size = 1320 -tpsFrom = scalar, F32, 1320 -tpsTo = scalar, F32, 1324 -deltaTps = scalar, F32, 1328 -extraFuel = scalar, F32, 1332, "", 1, 0 -valueFromTable = scalar, F32, 1336, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1340, [0:0] -isBelowDecelThreshold = bits, U32, 1340, [1:1] -isTimeToResetAccumulator = bits, U32, 1340, [2:2] -isFractionalEnrichment = bits, U32, 1340, [3:3] -belowEpsilon = bits, U32, 1340, [4:4] -tooShort = bits, U32, 1340, [5:5] -fractionalInjFuel = scalar, F32, 1344, "", 1, 0 -accumulatedValue = scalar, F32, 1348, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1352, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1356, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1360, "", 1, 0 -cycleCnt = scalar, S32, 1364, "", 1, 0 -; total TS size = 1368 -hwEventCounters1 = scalar, U16, 1368, "", 1, 0 -hwEventCounters2 = scalar, U16, 1370, "", 1, 0 -hwEventCounters3 = scalar, U16, 1372, "", 1, 0 -hwEventCounters4 = scalar, U16, 1374, "", 1, 0 -vvtCamCounter = scalar, U16, 1376, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1380, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1384, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1388, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1389, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1392, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1396, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1400, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1404, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1408, [0:0] -triggerElapsedUs = scalar, U32, 1412, "", 1, 0 -; total TS size = 1416 -trgsynchronizationCounter = scalar, U32, 1416, "", 1, 0 -trgvvtToothDurations0 = scalar, U32, 1420, "us", 1, 0 -trgvvtCurrentPosition = scalar, F32, 1424, "", 1, 0 -trgvvtToothPosition1 = scalar, F32, 1428, "", 1, 0 -trgvvtToothPosition2 = scalar, F32, 1432, "", 1, 0 -trgvvtToothPosition3 = scalar, F32, 1436, "", 1, 0 -trgvvtToothPosition4 = scalar, F32, 1440, "", 1, 0 -trgtriggerSyncGapRatio = scalar, F32, 1444, "", 1, 0 -trgtriggerStateIndex = scalar, U08, 1448, "", 1, 0 -; total TS size = 1452 -vvt1isynchronizationCounter = scalar, U32, 1452, "", 1, 0 -vvt1ivvtToothDurations0 = scalar, U32, 1456, "us", 1, 0 -vvt1ivvtCurrentPosition = scalar, F32, 1460, "", 1, 0 -vvt1ivvtToothPosition1 = scalar, F32, 1464, "", 1, 0 -vvt1ivvtToothPosition2 = scalar, F32, 1468, "", 1, 0 -vvt1ivvtToothPosition3 = scalar, F32, 1472, "", 1, 0 -vvt1ivvtToothPosition4 = scalar, F32, 1476, "", 1, 0 -vvt1itriggerSyncGapRatio = scalar, F32, 1480, "", 1, 0 -vvt1itriggerStateIndex = scalar, U08, 1484, "", 1, 0 -; total TS size = 1488 -vvt1esynchronizationCounter = scalar, U32, 1488, "", 1, 0 -vvt1evvtToothDurations0 = scalar, U32, 1492, "us", 1, 0 -vvt1evvtCurrentPosition = scalar, F32, 1496, "", 1, 0 -vvt1evvtToothPosition1 = scalar, F32, 1500, "", 1, 0 -vvt1evvtToothPosition2 = scalar, F32, 1504, "", 1, 0 -vvt1evvtToothPosition3 = scalar, F32, 1508, "", 1, 0 -vvt1evvtToothPosition4 = scalar, F32, 1512, "", 1, 0 -vvt1etriggerSyncGapRatio = scalar, F32, 1516, "", 1, 0 -vvt1etriggerStateIndex = scalar, U08, 1520, "", 1, 0 -; total TS size = 1524 -vvt2isynchronizationCounter = scalar, U32, 1524, "", 1, 0 -vvt2ivvtToothDurations0 = scalar, U32, 1528, "us", 1, 0 -vvt2ivvtCurrentPosition = scalar, F32, 1532, "", 1, 0 -vvt2ivvtToothPosition1 = scalar, F32, 1536, "", 1, 0 -vvt2ivvtToothPosition2 = scalar, F32, 1540, "", 1, 0 -vvt2ivvtToothPosition3 = scalar, F32, 1544, "", 1, 0 -vvt2ivvtToothPosition4 = scalar, F32, 1548, "", 1, 0 -vvt2itriggerSyncGapRatio = scalar, F32, 1552, "", 1, 0 -vvt2itriggerStateIndex = scalar, U08, 1556, "", 1, 0 -; total TS size = 1560 -vvt2esynchronizationCounter = scalar, U32, 1560, "", 1, 0 -vvt2evvtToothDurations0 = scalar, U32, 1564, "us", 1, 0 -vvt2evvtCurrentPosition = scalar, F32, 1568, "", 1, 0 -vvt2evvtToothPosition1 = scalar, F32, 1572, "", 1, 0 -vvt2evvtToothPosition2 = scalar, F32, 1576, "", 1, 0 -vvt2evvtToothPosition3 = scalar, F32, 1580, "", 1, 0 -vvt2evvtToothPosition4 = scalar, F32, 1584, "", 1, 0 -vvt2etriggerSyncGapRatio = scalar, F32, 1588, "", 1, 0 -vvt2etriggerStateIndex = scalar, U08, 1592, "", 1, 0 -; total TS size = 1596 -camResyncCounter = scalar, U08, 1596, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1600, [0:0] -; total TS size = 1604 -wallFuelCorrection = scalar, F32, 1604, "", 1, 0 -wallFuel = scalar, F32, 1608, "", 1, 0 -; total TS size = 1612 -idleState = bits, S32, 1612, [0:2], "not important" -currentIdlePosition = scalar, F32, 1616 -baseIdlePosition = scalar, F32, 1620 -idleClosedLoop = scalar, F32, 1624 -iacByTpsTaper = scalar, F32, 1628 -mightResetPid = bits, U32, 1632, [0:0] -shouldResetPid = bits, U32, 1632, [1:1] -wasResetPid = bits, U32, 1632, [2:2] -mustResetPid = bits, U32, 1632, [3:3] -isCranking = bits, U32, 1632, [4:4] -isIacTableForCoasting = bits, U32, 1632, [5:5] -notIdling = bits, U32, 1632, [6:6] -needReset = bits, U32, 1632, [7:7] -isInDeadZone = bits, U32, 1632, [8:8] -isBlipping = bits, U32, 1632, [9:9] -useClosedLoop = bits, U32, 1632, [10:10] -badTps = bits, U32, 1632, [11:11] -looksLikeRunning = bits, U32, 1632, [12:12] -looksLikeCoasting = bits, U32, 1632, [13:13] -looksLikeCrankToIdle = bits, U32, 1632, [14:14] -isIdleCoasting = bits, U32, 1632, [15:15] -isIdleClosedLoop = bits, U32, 1632, [16:16] -idleTarget = scalar, S32, 1636, "", 1, 0 -targetRpmByClt = scalar, S32, 1640, "", 1, 0 -targetRpmAc = scalar, S32, 1644, "", 1, 0 -iacByRpmTaper = scalar, F32, 1648 -luaAdd = scalar, F32, 1652 -; total TS size = 1656 -etb1targetWithIdlePosition = scalar, F32, 1656, "%", 1,0 -etb1trim = scalar, F32, 1660, "", 1, 0 -etb1luaAdjustment = scalar, F32, 1664, "%", 1,0 -etb1m_wastegatePosition = scalar, F32, 1668, "%", 1,0 -etb1etbFeedForward = scalar, F32, 1672 -etb1etbIntegralError = scalar, F32, 1676, "", 1, 0 -etb1etbCurrentTarget = scalar, F32, 1680, "%", 1, 0 -etb1m_adjustedTarget = scalar, S16, 1684, "%", 0.01, 0 -etb1etbRevLimitActive = bits, U32, 1688, [0:0] -etb1jamDetected = bits, U32, 1688, [1:1] -etb1validPlantPosition = bits, U32, 1688, [2:2] -etb1etbTpsErrorCounter = scalar, U16, 1692, "count", 1,0 -etb1etbPpsErrorCounter = scalar, U16, 1694, "count", 1,0 -etb1etbErrorCode = scalar, S08, 1696, "", 1, 0 -etb1etbErrorCodeBlinker = scalar, S08, 1697, "", 1, 0 -etb1tcEtbDrop = scalar, S08, 1698, "%", 1, 0 -etb1jamTimer = scalar, U16, 1700, "sec", 0.01, 0 -etb1adjustedEtbTarget = scalar, S08, 1702, "%", 1, 0 -etb1state = scalar, U08, 1703, "", 1, 0 -; total TS size = 1704 -etb2targetWithIdlePosition = scalar, F32, 1704, "%", 1,0 -etb2trim = scalar, F32, 1708, "", 1, 0 -etb2luaAdjustment = scalar, F32, 1712, "%", 1,0 -etb2m_wastegatePosition = scalar, F32, 1716, "%", 1,0 -etb2etbFeedForward = scalar, F32, 1720 -etb2etbIntegralError = scalar, F32, 1724, "", 1, 0 -etb2etbCurrentTarget = scalar, F32, 1728, "%", 1, 0 -etb2m_adjustedTarget = scalar, S16, 1732, "%", 0.01, 0 -etb2etbRevLimitActive = bits, U32, 1736, [0:0] -etb2jamDetected = bits, U32, 1736, [1:1] -etb2validPlantPosition = bits, U32, 1736, [2:2] -etb2etbTpsErrorCounter = scalar, U16, 1740, "count", 1,0 -etb2etbPpsErrorCounter = scalar, U16, 1742, "count", 1,0 -etb2etbErrorCode = scalar, S08, 1744, "", 1, 0 -etb2etbErrorCodeBlinker = scalar, S08, 1745, "", 1, 0 -etb2tcEtbDrop = scalar, S08, 1746, "%", 1, 0 -etb2jamTimer = scalar, U16, 1748, "sec", 0.01, 0 -etb2adjustedEtbTarget = scalar, S08, 1750, "%", 1, 0 -etb2state = scalar, U08, 1751, "", 1, 0 -; total TS size = 1752 -wb1faultCode = scalar, U08, 1752, "", 1, 0 -wb1heaterDuty = scalar, U08, 1753, "%", 1, 0 -wb1pumpDuty = scalar, U08, 1754, "%", 1, 0 -wb1tempC = scalar, U16, 1756, "C", 1, 0 -wb1nernstVoltage = scalar, U16, 1758, "V", 0.001, 0 -wb1esr = scalar, U16, 1760, "ohm", 1, 0 -; total TS size = 1764 -wb2faultCode = scalar, U08, 1764, "", 1, 0 -wb2heaterDuty = scalar, U08, 1765, "%", 1, 0 -wb2pumpDuty = scalar, U08, 1766, "%", 1, 0 -wb2tempC = scalar, U16, 1768, "C", 1, 0 -wb2nernstVoltage = scalar, U16, 1770, "V", 0.001, 0 -wb2esr = scalar, U16, 1772, "ohm", 1, 0 -; total TS size = 1776 -dcOutput0 = scalar, F32, 1776, "%", 1,0 -isEnabled0_int = scalar, U08, 1780, "%", 1,0 -isEnabled0 = bits, U32, 1784, [0:0] -; total TS size = 1788 -value0 = scalar, U16, 1788, "RAW", 1,0 -value1 = scalar, U16, 1790, "RAW", 1,0 -errorRate = scalar, F32, 1792, "% (don't belive me)", 1,0 -; total TS size = 1796 -vvtTarget = scalar, U16, 1796, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1798, "%", 0.5, 0 +isBenchTest = bits, U32, 1228, [0:0] +hasIgnitionVoltage = bits, U32, 1228, [1:1] +mainRelayState = bits, U32, 1228, [2:2] +delayedShutoffRequested = bits, U32, 1228, [3:3] +; total TS size = 1232 +lua_fuelAdd = scalar, F32, 1232, "g", 1, 0 +lua_fuelMult = scalar, F32, 1236, "", 1, 0 +lua_clutchUpState = bits, U32, 1240, [0:0] +lua_brakePedalState = bits, U32, 1240, [1:1] +lua_acRequestState = bits, U32, 1240, [2:2] +lua_luaDisableEtb = bits, U32, 1240, [3:3] +lua_luaIgnCut = bits, U32, 1240, [4:4] +lua_luaFuelCut = bits, U32, 1240, [5:5] +lua_clutchDownState = bits, U32, 1240, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1240, [7:7] +lua_torqueReductionState = bits, U32, 1240, [8:8] +sd_tCharge = scalar, S16, 1244, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1248, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1252, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1256, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1260, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1264, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1268, "", 1, 0 +hellenBoardId = scalar, S16, 1272, "id", 1, 0 +clutchUpState = scalar, S08, 1274, "", 1, 0 +brakePedalState = scalar, S08, 1275, "", 1, 0 +startStopState = scalar, S08, 1276, "", 1, 0 +smartChipState = scalar, S08, 1277, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1278, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1279, "", 1, 0 +startStopPhysicalState = bits, U32, 1280, [0:0] +acrActive = bits, U32, 1280, [1:1] +acrEngineMovedRecently = bits, U32, 1280, [2:2] +heaterControlEnabled = bits, U32, 1280, [3:3] +luaDigitalState0 = bits, U32, 1280, [4:4] +luaDigitalState1 = bits, U32, 1280, [5:5] +luaDigitalState2 = bits, U32, 1280, [6:6] +luaDigitalState3 = bits, U32, 1280, [7:7] +clutchDownState = bits, U32, 1280, [8:8] +startStopStateToggleCounter = scalar, U32, 1284, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1288, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1292, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1296, "", 1, 0 +fuelInjectionCounter = scalar, U32, 1300, "", 1, 0 +globalSparkCounter = scalar, U32, 1304, "", 1, 0 +fuelingLoad = scalar, F32, 1308, "", 1, 0 +ignitionLoad = scalar, F32, 1312, "", 1, 0 +veTableYAxis = scalar, U16, 1316, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1318, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1319, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1320, "", 1, 0 +; total TS size = 1324 +tpsFrom = scalar, F32, 1324 +tpsTo = scalar, F32, 1328 +deltaTps = scalar, F32, 1332 +extraFuel = scalar, F32, 1336, "", 1, 0 +valueFromTable = scalar, F32, 1340, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1344, [0:0] +isBelowDecelThreshold = bits, U32, 1344, [1:1] +isTimeToResetAccumulator = bits, U32, 1344, [2:2] +isFractionalEnrichment = bits, U32, 1344, [3:3] +belowEpsilon = bits, U32, 1344, [4:4] +tooShort = bits, U32, 1344, [5:5] +fractionalInjFuel = scalar, F32, 1348, "", 1, 0 +accumulatedValue = scalar, F32, 1352, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1356, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1360, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1364, "", 1, 0 +cycleCnt = scalar, S32, 1368, "", 1, 0 +; total TS size = 1372 +hwEventCounters1 = scalar, U16, 1372, "", 1, 0 +hwEventCounters2 = scalar, U16, 1374, "", 1, 0 +hwEventCounters3 = scalar, U16, 1376, "", 1, 0 +hwEventCounters4 = scalar, U16, 1378, "", 1, 0 +vvtCamCounter = scalar, U16, 1380, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1384, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1388, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1392, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1393, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1396, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1400, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1404, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1408, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1412, [0:0] +triggerElapsedUs = scalar, U32, 1416, "", 1, 0 +; total TS size = 1420 +trgsynchronizationCounter = scalar, U32, 1420, "", 1, 0 +trgvvtToothDurations0 = scalar, U32, 1424, "us", 1, 0 +trgvvtCurrentPosition = scalar, F32, 1428, "", 1, 0 +trgvvtToothPosition1 = scalar, F32, 1432, "", 1, 0 +trgvvtToothPosition2 = scalar, F32, 1436, "", 1, 0 +trgvvtToothPosition3 = scalar, F32, 1440, "", 1, 0 +trgvvtToothPosition4 = scalar, F32, 1444, "", 1, 0 +trgtriggerSyncGapRatio = scalar, F32, 1448, "", 1, 0 +trgtriggerStateIndex = scalar, U08, 1452, "", 1, 0 +; total TS size = 1456 +vvt1isynchronizationCounter = scalar, U32, 1456, "", 1, 0 +vvt1ivvtToothDurations0 = scalar, U32, 1460, "us", 1, 0 +vvt1ivvtCurrentPosition = scalar, F32, 1464, "", 1, 0 +vvt1ivvtToothPosition1 = scalar, F32, 1468, "", 1, 0 +vvt1ivvtToothPosition2 = scalar, F32, 1472, "", 1, 0 +vvt1ivvtToothPosition3 = scalar, F32, 1476, "", 1, 0 +vvt1ivvtToothPosition4 = scalar, F32, 1480, "", 1, 0 +vvt1itriggerSyncGapRatio = scalar, F32, 1484, "", 1, 0 +vvt1itriggerStateIndex = scalar, U08, 1488, "", 1, 0 +; total TS size = 1492 +vvt1esynchronizationCounter = scalar, U32, 1492, "", 1, 0 +vvt1evvtToothDurations0 = scalar, U32, 1496, "us", 1, 0 +vvt1evvtCurrentPosition = scalar, F32, 1500, "", 1, 0 +vvt1evvtToothPosition1 = scalar, F32, 1504, "", 1, 0 +vvt1evvtToothPosition2 = scalar, F32, 1508, "", 1, 0 +vvt1evvtToothPosition3 = scalar, F32, 1512, "", 1, 0 +vvt1evvtToothPosition4 = scalar, F32, 1516, "", 1, 0 +vvt1etriggerSyncGapRatio = scalar, F32, 1520, "", 1, 0 +vvt1etriggerStateIndex = scalar, U08, 1524, "", 1, 0 +; total TS size = 1528 +vvt2isynchronizationCounter = scalar, U32, 1528, "", 1, 0 +vvt2ivvtToothDurations0 = scalar, U32, 1532, "us", 1, 0 +vvt2ivvtCurrentPosition = scalar, F32, 1536, "", 1, 0 +vvt2ivvtToothPosition1 = scalar, F32, 1540, "", 1, 0 +vvt2ivvtToothPosition2 = scalar, F32, 1544, "", 1, 0 +vvt2ivvtToothPosition3 = scalar, F32, 1548, "", 1, 0 +vvt2ivvtToothPosition4 = scalar, F32, 1552, "", 1, 0 +vvt2itriggerSyncGapRatio = scalar, F32, 1556, "", 1, 0 +vvt2itriggerStateIndex = scalar, U08, 1560, "", 1, 0 +; total TS size = 1564 +vvt2esynchronizationCounter = scalar, U32, 1564, "", 1, 0 +vvt2evvtToothDurations0 = scalar, U32, 1568, "us", 1, 0 +vvt2evvtCurrentPosition = scalar, F32, 1572, "", 1, 0 +vvt2evvtToothPosition1 = scalar, F32, 1576, "", 1, 0 +vvt2evvtToothPosition2 = scalar, F32, 1580, "", 1, 0 +vvt2evvtToothPosition3 = scalar, F32, 1584, "", 1, 0 +vvt2evvtToothPosition4 = scalar, F32, 1588, "", 1, 0 +vvt2etriggerSyncGapRatio = scalar, F32, 1592, "", 1, 0 +vvt2etriggerStateIndex = scalar, U08, 1596, "", 1, 0 +; total TS size = 1600 +camResyncCounter = scalar, U08, 1600, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1604, [0:0] +; total TS size = 1608 +wallFuelCorrection = scalar, F32, 1608, "", 1, 0 +wallFuel = scalar, F32, 1612, "", 1, 0 +; total TS size = 1616 +idleState = bits, S32, 1616, [0:2], "not important" +currentIdlePosition = scalar, F32, 1620 +baseIdlePosition = scalar, F32, 1624 +idleClosedLoop = scalar, F32, 1628 +iacByTpsTaper = scalar, F32, 1632 +mightResetPid = bits, U32, 1636, [0:0] +shouldResetPid = bits, U32, 1636, [1:1] +wasResetPid = bits, U32, 1636, [2:2] +mustResetPid = bits, U32, 1636, [3:3] +isCranking = bits, U32, 1636, [4:4] +isIacTableForCoasting = bits, U32, 1636, [5:5] +notIdling = bits, U32, 1636, [6:6] +needReset = bits, U32, 1636, [7:7] +isInDeadZone = bits, U32, 1636, [8:8] +isBlipping = bits, U32, 1636, [9:9] +useClosedLoop = bits, U32, 1636, [10:10] +badTps = bits, U32, 1636, [11:11] +looksLikeRunning = bits, U32, 1636, [12:12] +looksLikeCoasting = bits, U32, 1636, [13:13] +looksLikeCrankToIdle = bits, U32, 1636, [14:14] +isIdleCoasting = bits, U32, 1636, [15:15] +isIdleClosedLoop = bits, U32, 1636, [16:16] +idleTarget = scalar, S32, 1640, "", 1, 0 +targetRpmByClt = scalar, S32, 1644, "", 1, 0 +targetRpmAc = scalar, S32, 1648, "", 1, 0 +iacByRpmTaper = scalar, F32, 1652 +luaAdd = scalar, F32, 1656 +; total TS size = 1660 +etb1targetWithIdlePosition = scalar, F32, 1660, "%", 1,0 +etb1trim = scalar, F32, 1664, "", 1, 0 +etb1luaAdjustment = scalar, F32, 1668, "%", 1,0 +etb1m_wastegatePosition = scalar, F32, 1672, "%", 1,0 +etb1etbFeedForward = scalar, F32, 1676 +etb1etbIntegralError = scalar, F32, 1680, "", 1, 0 +etb1etbCurrentTarget = scalar, F32, 1684, "%", 1, 0 +etb1m_adjustedTarget = scalar, S16, 1688, "%", 0.01, 0 +etb1etbRevLimitActive = bits, U32, 1692, [0:0] +etb1jamDetected = bits, U32, 1692, [1:1] +etb1validPlantPosition = bits, U32, 1692, [2:2] +etb1etbTpsErrorCounter = scalar, U16, 1696, "count", 1,0 +etb1etbPpsErrorCounter = scalar, U16, 1698, "count", 1,0 +etb1etbErrorCode = scalar, S08, 1700, "", 1, 0 +etb1etbErrorCodeBlinker = scalar, S08, 1701, "", 1, 0 +etb1tcEtbDrop = scalar, S08, 1702, "%", 1, 0 +etb1jamTimer = scalar, U16, 1704, "sec", 0.01, 0 +etb1adjustedEtbTarget = scalar, S08, 1706, "%", 1, 0 +etb1state = scalar, U08, 1707, "", 1, 0 +; total TS size = 1708 +etb2targetWithIdlePosition = scalar, F32, 1708, "%", 1,0 +etb2trim = scalar, F32, 1712, "", 1, 0 +etb2luaAdjustment = scalar, F32, 1716, "%", 1,0 +etb2m_wastegatePosition = scalar, F32, 1720, "%", 1,0 +etb2etbFeedForward = scalar, F32, 1724 +etb2etbIntegralError = scalar, F32, 1728, "", 1, 0 +etb2etbCurrentTarget = scalar, F32, 1732, "%", 1, 0 +etb2m_adjustedTarget = scalar, S16, 1736, "%", 0.01, 0 +etb2etbRevLimitActive = bits, U32, 1740, [0:0] +etb2jamDetected = bits, U32, 1740, [1:1] +etb2validPlantPosition = bits, U32, 1740, [2:2] +etb2etbTpsErrorCounter = scalar, U16, 1744, "count", 1,0 +etb2etbPpsErrorCounter = scalar, U16, 1746, "count", 1,0 +etb2etbErrorCode = scalar, S08, 1748, "", 1, 0 +etb2etbErrorCodeBlinker = scalar, S08, 1749, "", 1, 0 +etb2tcEtbDrop = scalar, S08, 1750, "%", 1, 0 +etb2jamTimer = scalar, U16, 1752, "sec", 0.01, 0 +etb2adjustedEtbTarget = scalar, S08, 1754, "%", 1, 0 +etb2state = scalar, U08, 1755, "", 1, 0 +; total TS size = 1756 +wb1faultCode = scalar, U08, 1756, "", 1, 0 +wb1heaterDuty = scalar, U08, 1757, "%", 1, 0 +wb1pumpDuty = scalar, U08, 1758, "%", 1, 0 +wb1tempC = scalar, U16, 1760, "C", 1, 0 +wb1nernstVoltage = scalar, U16, 1762, "V", 0.001, 0 +wb1esr = scalar, U16, 1764, "ohm", 1, 0 +; total TS size = 1768 +wb2faultCode = scalar, U08, 1768, "", 1, 0 +wb2heaterDuty = scalar, U08, 1769, "%", 1, 0 +wb2pumpDuty = scalar, U08, 1770, "%", 1, 0 +wb2tempC = scalar, U16, 1772, "C", 1, 0 +wb2nernstVoltage = scalar, U16, 1774, "V", 0.001, 0 +wb2esr = scalar, U16, 1776, "ohm", 1, 0 +; total TS size = 1780 +dcOutput0 = scalar, F32, 1780, "%", 1,0 +isEnabled0_int = scalar, U08, 1784, "%", 1,0 +isEnabled0 = bits, U32, 1788, [0:0] +; total TS size = 1792 +value0 = scalar, U16, 1792, "RAW", 1,0 +value1 = scalar, U16, 1794, "RAW", 1,0 +errorRate = scalar, F32, 1796, "% (don't belive me)", 1,0 ; total TS size = 1800 -lambdaCurrentlyGood = bits, U32, 1800, [0:0] -lambdaMonitorCut = bits, U32, 1800, [1:1] -lambdaTimeSinceGood = scalar, U16, 1804, "sec", 0.01, 0 -; total TS size = 1808 +vvtTarget = scalar, U16, 1800, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1802, "%", 0.5, 0 +; total TS size = 1804 +lambdaCurrentlyGood = bits, U32, 1804, [0:0] +lambdaMonitorCut = bits, U32, 1804, [1:1] +lambdaTimeSinceGood = scalar, U16, 1808, "sec", 0.01, 0 +; total TS size = 1812 time = { timeNow } @@ -4584,6 +4587,12 @@ curve = rangeMatrix, "Range Switch Input Matrix" gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. upDownLabel = "(RICHER)", "(LEANER)" + table = trailingSparkTable, trailingSparkMap, "Trailing spark", 1 + xyLabels = "RPM", "Ignition Load" + xBins = trailingSparkRpmBins, RPMValue + yBins = trailingSparkLoadBins, ignitionLoad + zBins = trailingSparkTable + table = torqueTableTbl, torqueTableMap, "Engine Torque", 1 xBins = torqueRpmBins, RPMValue yBins = torqueLoadBins, veTableYAxis @@ -4881,6 +4890,7 @@ timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20 timingPidCorrectionGauge = timingPidCorrection,"Idle: Timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 +trailingSparkAngleGauge = trailingSparkAngle,"Ign: Trailing spark deg", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 gaugeCategory = "Boost Control" luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 @@ -5811,6 +5821,7 @@ entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" entry = luaIgnitionSkip, "Ign: Lua Spark Skip", int, "%d" +entry = trailingSparkAngle, "Ign: Trailing spark deg", float, "%.3f" entry = m_knockLevel, "Knock: Current level", float, "%.3f" entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" @@ -6759,6 +6770,7 @@ dialog = ignition_stateDialog, "ignition_state" graphLine = luaTimingAdd liveGraph = ignition_state_4_Graph, "Graph", South graphLine = luaTimingMult + graphLine = trailingSparkAngle dialog = knock_controllerDialog, "knock_controller" @@ -10095,11 +10107,11 @@ dialog = tcuControls, "Transmission Settings" dialog = rotaryDialog, "Rotary" field = "Enable Trailing Sparks", enableTrailingSparks - field = "Trailing Spark Offset", trailingSparkAngle field = "Trailing Pin 1", trailingCoilPins1 field = "Trailing Pin 2", trailingCoilPins2 field = "Trailing Pin 3", trailingCoilPins3 field = "Trailing Pin 4", trailingCoilPins4 + panel = trailingSparkTable diff --git a/firmware/tunerstudio/generated/rusefi_uaefi.ini b/firmware/tunerstudio/generated/rusefi_uaefi.ini index 691d8d4178..ee512bb017 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.2025.02.07.uaefi.2255628228" + signature = "rusEFI master.2025.02.07.uaefi.32614569" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2025.02.07.uaefi.2255628228" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2025.02.07.uaefi.32614569" ; 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 @@ -101,7 +101,7 @@ enable2ndByteCanID = false ; CONFIG_DEFINITION_START ; this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt -pageSize = 23320 +pageSize = 23344 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",22="BMW_M52",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",21="ET_BOSCH_QUICK_START",24="ET_TEST_WITH_BOSCH_QUICK_START",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",41="FRANKENSO_MIATA_NA6_MAP",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",47="GM_LCV",55="GM_LTG",98="GM_SBC",49="GM_SBC_GEN5",8="GY6_139QMB",6="HARLEY",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",34="MAZDA_MIATA_NA6",80="MAZDA_MIATA_NA94",10="MAZDA_MIATA_NA96",83="MAZDA_MIATA_NB1",69="MAZDA_MIATA_NB2",86="MAZDA_MIATA_NB2_36",20="MAZDA_MIATA_NC",33="ME17_9_MISC",68="MERCEDES_M111",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",4="MRE_SECONDARY_CAN",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",35="POLARIS",9="POLARIS_RZR",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",27="PROTEUS_GM_LS_4",25="PROTEUS_LUA_DEMO",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",17="TCU_4R70W",100="TEST_100",101="TEST_101",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",93="TEST_ISSUE_6451",19="TEST_ROTARY",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",102="UNUSED102",67="UNUSED67",94="UNUSED94",65="UNUSED_65",97="UNUSED_97",77="VAG_5_CYL",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -245,7 +245,7 @@ vbattAdcChannel = bits, U08, 513, [0:5], $adc_channel_e_list fuelLevelSensor = bits, U08, 514, [0:5], $adc_channel_e_list tps2_1AdcChannel = bits, U08, 515, [0:5], $adc_channel_e_list idle_derivativeFilterLoss = scalar, F32, 516, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 520, "angle", 1, 0, 0, 720, 0 +unusedTrailingSparkAngle = scalar, S32, 520, "", 1, 0, 0, 100, 0 trigger_type = bits, U32, 524, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Daihatsu 3 cylinder", "Mazda SOHC 4", "60-2", "36-1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "Dodge Ram 1+16", "60-2 Wrong Polarity", "Benelli Tre", "Dodge Stratus", "36_2_2_2", "Nissan Primera", "dev 2JZ 3/34 simulator", "Rover K", "GM 24x 5 degree", "Honda CBR 600 Cam", "INVALID", "Honda CBR 600 custom", "3-1 skipped", "Dodge Neon 2003 crank", "Miata NB", "INVALID", "INVALID", "Subaru 7+6", "Jeep 18-2-2-2", "12crank/24cam", "Dodge Neon 1995 crank only", "Jeep XJ 4 cyl", "FiatIAQ_P8", "Mazda Z5", "INVALID", "Renix 44-2-2", "Renix 66-2-2-2", "Honda K 12+1", "INVALID", "36-2", "Subaru SVX", "Suzuki K6A", "Subaru 7 without 6", "INVALID", "INVALID", "GM 60-2-2-2", "Skoda Favorit", "Barra 3+1 Cam", "Kawa KX450F", "Nissan VQ35", "INVALID", "Nissan VQ30", "Nissan QR25", "INVALID", "Subaru SVX Crank 1", "Subaru SVX Cam VVT", "Ford PIP", "Suzuki G13B", "Honda K 4+1", "Nissan MR18 Crank", "32-2", "36-2-1", "36-2-1-1", "3-0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6-0", "Daihatsu 4 cylinder", "INVALID", "dev", "Nissan HR", "Arctic Cat", "HR12 in", "HONDA J30A2", "trg88", "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" trigger_customTotalToothCount = scalar, S32, 528, "number", 1, 0, 1, 300, 0 trigger_customSkippedToothCount = scalar, S32, 532, "number", 1, 0, 0, 300, 0 @@ -1796,10 +1796,13 @@ dynoCarCarMassKg = scalar, S16, 23268, "", 1, 0, 0, 32000, 0 dynoCarCargoMassKg = scalar, S16, 23270, "", 1, 0, 0, 32000, 0 dynoCarCoeffOfDrag = scalar, F32, 23272, "", 1, 0, 0, 100, 0 dynoCarFrontalAreaM2 = scalar, F32, 23276, "", 1, 0, 0, 100, 0 -rainTimingAdjustment = array, U08, 23280, [4x4], "", 1, 0, 1, 50, 2 -rainTimingRpmBins = array, U16, 23296, [4], "RPM", 1, 0, 0, 65000, 0 -rainTimingPpsBins = array, F32, 23304, [4], "C", 1, 0, -100, 120, 2 -; total TS size = 23320 +trailingSparkTable = array, S08, 23280, [4x4], "deg", 0.1, 0, 0, 20, 1 +trailingSparkRpmBins = array, U08, 23296, [4], "rpm", 50.0, 0, 0, 12000, 0 +trailingSparkLoadBins = array, U08, 23300, [4], "Load", 5.0, 0, 0, 1000, 0 +rainTimingAdjustment = array, U08, 23304, [4x4], "", 1, 0, 1, 50, 2 +rainTimingRpmBins = array, U16, 23320, [4], "RPM", 1, 0, 0, 65000, 0 +rainTimingPpsBins = array, F32, 23328, [4], "C", 1, 0, -100, 120, 2 +; total TS size = 23344 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1893,7 +1896,6 @@ rainTimingPpsBins = array, F32, 23304, [4], "C", 1, 0, -100, 120, 2 fuelLevelSensor = "This is the processor pin that your fuel level sensor in connected to. This is a non standard input so will need to be user defined." tps2_1AdcChannel = "Second throttle body position sensor, single channel so far" idle_derivativeFilterLoss = "0.1 is a good default value" - trailingSparkAngle = "just a temporary solution" trigger_type = "https://github.com/rusefi/rusefi/wiki/All-Supported-Triggers" airByRpmTaper = "Extra air taper amount" boostControlSafeDutyCycle = "Duty cycle to use in case of a sensor failure. This duty cycle should produce the minimum possible amount of boost. This duty is also used in case any of the minimum RPM/TPS/MAP conditions are not met." @@ -2667,7 +2669,7 @@ rainTimingPpsBins = array, F32, 23304, [4], "C", 1, 0, -100, 120, 2 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1808 + ochBlockSize = 1812 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3192,417 +3194,418 @@ dwellVoltageCorrection = scalar, F32, 940, "", 1, 0 luaTimingAdd = scalar, F32, 944, "deg", 1, 0 luaTimingMult = scalar, F32, 948, "deg", 1, 0 luaIgnitionSkip = bits, U32, 952, [0:0] -; total TS size = 956 -m_knockLevel = scalar, F32, 956, "Volts", 1, 0 -m_knockCyl1 = scalar, S08, 960, "dBv", 1, 0 -m_knockCyl2 = scalar, S08, 961, "dBv", 1, 0 -m_knockCyl3 = scalar, S08, 962, "dBv", 1, 0 -m_knockCyl4 = scalar, S08, 963, "dBv", 1, 0 -m_knockCyl5 = scalar, S08, 964, "dBv", 1, 0 -m_knockCyl6 = scalar, S08, 965, "dBv", 1, 0 -m_knockCyl7 = scalar, S08, 966, "dBv", 1, 0 -m_knockCyl8 = scalar, S08, 967, "dBv", 1, 0 -m_knockCyl9 = scalar, S08, 968, "dBv", 1, 0 -m_knockCyl10 = scalar, S08, 969, "dBv", 1, 0 -m_knockCyl11 = scalar, S08, 970, "dBv", 1, 0 -m_knockCyl12 = scalar, S08, 971, "dBv", 1, 0 -m_knockRetard = scalar, F32, 972, "deg", 1,0 -m_knockThreshold = scalar, F32, 976, "", 1, 0 -m_knockCount = scalar, U32, 980, "", 1, 0 -m_maximumRetard = scalar, F32, 984, "", 1, 0 -m_knockSpectrum1 = scalar, U32, 988, "compressed data", 1, 0 -m_knockSpectrum2 = scalar, U32, 992, "compressed data", 1, 0 -m_knockSpectrum3 = scalar, U32, 996, "compressed data", 1, 0 -m_knockSpectrum4 = scalar, U32, 1000, "compressed data", 1, 0 -m_knockSpectrum5 = scalar, U32, 1004, "compressed data", 1, 0 -m_knockSpectrum6 = scalar, U32, 1008, "compressed data", 1, 0 -m_knockSpectrum7 = scalar, U32, 1012, "compressed data", 1, 0 -m_knockSpectrum8 = scalar, U32, 1016, "compressed data", 1, 0 -m_knockSpectrum9 = scalar, U32, 1020, "compressed data", 1, 0 -m_knockSpectrum10 = scalar, U32, 1024, "compressed data", 1, 0 -m_knockSpectrum11 = scalar, U32, 1028, "compressed data", 1, 0 -m_knockSpectrum12 = scalar, U32, 1032, "compressed data", 1, 0 -m_knockSpectrum13 = scalar, U32, 1036, "compressed data", 1, 0 -m_knockSpectrum14 = scalar, U32, 1040, "compressed data", 1, 0 -m_knockSpectrum15 = scalar, U32, 1044, "compressed data", 1, 0 -m_knockSpectrum16 = scalar, U32, 1048, "compressed data", 1, 0 -m_knockSpectrumChannelCyl = scalar, U16, 1052, "compressed N + N", 1, 0 -m_knockFrequencyStart = scalar, U16, 1054, "Hz", 1, 0 -m_knockFrequencyStep = scalar, F32, 1056, "Hz", 1, 0 -m_knockFuelTrimMultiplier = scalar, F32, 1060, "multiplier", 1, 0 -; total TS size = 1064 -m_isPriming = bits, U32, 1064, [0:0] +trailingSparkAngle = scalar, S16, 956, "deg", 0.01,0 +; total TS size = 960 +m_knockLevel = scalar, F32, 960, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 964, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 965, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 966, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 967, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 968, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 969, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 970, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 971, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 972, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 973, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 974, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 975, "dBv", 1, 0 +m_knockRetard = scalar, F32, 976, "deg", 1,0 +m_knockThreshold = scalar, F32, 980, "", 1, 0 +m_knockCount = scalar, U32, 984, "", 1, 0 +m_maximumRetard = scalar, F32, 988, "", 1, 0 +m_knockSpectrum1 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1040, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1044, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1048, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1052, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1056, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1058, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1060, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1064, "multiplier", 1, 0 ; total TS size = 1068 -tcuCurrentGear = scalar, S08, 1068, "gear", 1, 0 -tcRatio = scalar, U16, 1070, "value", 0.01, 0 -lastShiftTime = scalar, F32, 1072, "", 1, 0 -tcu_currentRange = scalar, U08, 1076, "", 1, 0 -pressureControlDuty = scalar, S08, 1077, "%", 1,0 -torqueConverterDuty = scalar, S08, 1078, "%", 1,0 -isShifting = bits, U32, 1080, [0:0] -; total TS size = 1084 -throttleUseWotModel = bits, U32, 1084, [0:0] -throttleModelCrossoverAngle = scalar, S16, 1088, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1092, "g/s", 1, 0 -; total TS size = 1096 -m_requested_pump = scalar, F32, 1096, "", 1, 0 -fuel_requested_percent = scalar, F32, 1100, "%", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1104, "", 1, 0 -noValve = bits, U32, 1108, [0:0] -angleAboveMin = bits, U32, 1108, [1:1] -isHpfpActive = bits, U32, 1108, [2:2] -HpfpValveState = bits, U32, 1108, [3:3] -m_pressureTarget_kPa = scalar, F32, 1112, "", 1, 0 -nextLobe = scalar, F32, 1116, "", 1, 0 -di_nextStart = scalar, F32, 1120, "v", 1, 0 -HpfdActivationPhase = scalar, F32, 1124, "", 1, 0 -HpfdDeactivationPhase = scalar, F32, 1128, "", 1, 0 -; total TS size = 1132 -m_deadtime = scalar, F32, 1132, "ms", 1, 0 -pressureDelta = scalar, F32, 1136, "kPa", 1, 0 -pressureRatio = scalar, F32, 1140, "", 1, 0 -; total TS size = 1144 -retardThresholdRpm = scalar, S32, 1144, "", 1, 0 -launchActivatePinState = bits, U32, 1148, [0:0] -isPreLaunchCondition = bits, U32, 1148, [1:1] -isLaunchCondition = bits, U32, 1148, [2:2] -isSwitchActivated = bits, U32, 1148, [3:3] -isClutchActivated = bits, U32, 1148, [4:4] -isBrakePedalActivated = bits, U32, 1148, [5:5] -isValidInputPin = bits, U32, 1148, [6:6] -activateSwitchCondition = bits, U32, 1148, [7:7] -rpmLaunchCondition = bits, U32, 1148, [8:8] -rpmPreLaunchCondition = bits, U32, 1148, [9:9] -speedCondition = bits, U32, 1148, [10:10] -tpsCondition = bits, U32, 1148, [11:11] -; total TS size = 1152 -isTorqueReductionTriggerPinValid = bits, U32, 1152, [0:0] -torqueReductionTriggerPinState = bits, U32, 1152, [1:1] -isTimeConditionSatisfied = bits, U32, 1152, [2:2] -isRpmConditionSatisfied = bits, U32, 1152, [3:3] -isAppConditionSatisfied = bits, U32, 1152, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1152, [5:5] +m_isPriming = bits, U32, 1068, [0:0] +; total TS size = 1072 +tcuCurrentGear = scalar, S08, 1072, "gear", 1, 0 +tcRatio = scalar, U16, 1074, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1076, "", 1, 0 +tcu_currentRange = scalar, U08, 1080, "", 1, 0 +pressureControlDuty = scalar, S08, 1081, "%", 1,0 +torqueConverterDuty = scalar, S08, 1082, "%", 1,0 +isShifting = bits, U32, 1084, [0:0] +; total TS size = 1088 +throttleUseWotModel = bits, U32, 1088, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1092, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1096, "g/s", 1, 0 +; total TS size = 1100 +m_requested_pump = scalar, F32, 1100, "", 1, 0 +fuel_requested_percent = scalar, F32, 1104, "%", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1108, "", 1, 0 +noValve = bits, U32, 1112, [0:0] +angleAboveMin = bits, U32, 1112, [1:1] +isHpfpActive = bits, U32, 1112, [2:2] +HpfpValveState = bits, U32, 1112, [3:3] +m_pressureTarget_kPa = scalar, F32, 1116, "", 1, 0 +nextLobe = scalar, F32, 1120, "", 1, 0 +di_nextStart = scalar, F32, 1124, "v", 1, 0 +HpfdActivationPhase = scalar, F32, 1128, "", 1, 0 +HpfdDeactivationPhase = scalar, F32, 1132, "", 1, 0 +; total TS size = 1136 +m_deadtime = scalar, F32, 1136, "ms", 1, 0 +pressureDelta = scalar, F32, 1140, "kPa", 1, 0 +pressureRatio = scalar, F32, 1144, "", 1, 0 +; total TS size = 1148 +retardThresholdRpm = scalar, S32, 1148, "", 1, 0 +launchActivatePinState = bits, U32, 1152, [0:0] +isPreLaunchCondition = bits, U32, 1152, [1:1] +isLaunchCondition = bits, U32, 1152, [2:2] +isSwitchActivated = bits, U32, 1152, [3:3] +isClutchActivated = bits, U32, 1152, [4:4] +isBrakePedalActivated = bits, U32, 1152, [5:5] +isValidInputPin = bits, U32, 1152, [6:6] +activateSwitchCondition = bits, U32, 1152, [7:7] +rpmLaunchCondition = bits, U32, 1152, [8:8] +rpmPreLaunchCondition = bits, U32, 1152, [9:9] +speedCondition = bits, U32, 1152, [10:10] +tpsCondition = bits, U32, 1152, [11:11] ; total TS size = 1156 -isAntilagCondition = bits, U32, 1156, [0:0] -ALSMinRPMCondition = bits, U32, 1156, [1:1] -ALSMaxRPMCondition = bits, U32, 1156, [2:2] -ALSMinCLTCondition = bits, U32, 1156, [3:3] -ALSMaxCLTCondition = bits, U32, 1156, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1156, [5:5] -isALSSwitchActivated = bits, U32, 1156, [6:6] -ALSActivatePinState = bits, U32, 1156, [7:7] -ALSSwitchCondition = bits, U32, 1156, [8:8] -ALSTimerCondition = bits, U32, 1156, [9:9] -fuelALSCorrection = scalar, F32, 1160, "", 1, 0 -timingALSCorrection = scalar, S16, 1164, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1166, "deg", 0.01, 0 -; total TS size = 1168 -isTpsInvalid = bits, U32, 1168, [0:0] -m_shouldResetPid = bits, U32, 1168, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1168, [2:2] -isNotClosedLoop = bits, U32, 1168, [3:3] -isZeroRpm = bits, U32, 1168, [4:4] -hasInitBoost = bits, U32, 1168, [5:5] -rpmTooLow = bits, U32, 1168, [6:6] -tpsTooLow = bits, U32, 1168, [7:7] -mapTooLow = bits, U32, 1168, [8:8] -isPlantValid = bits, U32, 1168, [9:9] -isBoostControlled = bits, U32, 1168, [10:10] -luaTargetAdd = scalar, S16, 1172, "v", 0.5,0 -boostOutput = scalar, S16, 1174, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1176, "v", 1,0 -openLoopPart = scalar, F32, 1180, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1184, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1188, "%", 0.5,0 -boostControlTarget = scalar, S16, 1190, "kPa", 0.03333333333333333,0 -; total TS size = 1192 -acButtonState = scalar, S08, 1192, "", 1, 0 -m_acEnabled = bits, U32, 1196, [0:0] -engineTooSlow = bits, U32, 1196, [1:1] -engineTooFast = bits, U32, 1196, [2:2] -noClt = bits, U32, 1196, [3:3] -engineTooHot = bits, U32, 1196, [4:4] -tpsTooHigh = bits, U32, 1196, [5:5] -isDisabledByLua = bits, U32, 1196, [6:6] -acCompressorState = bits, U32, 1196, [7:7] -acPressureTooLow = bits, U32, 1196, [8:8] -acPressureTooHigh = bits, U32, 1196, [9:9] -; total TS size = 1200 -isNitrousArmed = bits, U32, 1200, [0:0] -isNitrousSpeedCondition = bits, U32, 1200, [1:1] -isNitrousTpsCondition = bits, U32, 1200, [2:2] -isNitrousCltCondition = bits, U32, 1200, [3:3] -isNitrousMapCondition = bits, U32, 1200, [4:4] -isNitrousAfrCondition = bits, U32, 1200, [5:5] -isNitrousRpmCondition = bits, U32, 1200, [6:6] -isNitrousCondition = bits, U32, 1200, [7:7] +isTorqueReductionTriggerPinValid = bits, U32, 1156, [0:0] +torqueReductionTriggerPinState = bits, U32, 1156, [1:1] +isTimeConditionSatisfied = bits, U32, 1156, [2:2] +isRpmConditionSatisfied = bits, U32, 1156, [3:3] +isAppConditionSatisfied = bits, U32, 1156, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1156, [5:5] +; total TS size = 1160 +isAntilagCondition = bits, U32, 1160, [0:0] +ALSMinRPMCondition = bits, U32, 1160, [1:1] +ALSMaxRPMCondition = bits, U32, 1160, [2:2] +ALSMinCLTCondition = bits, U32, 1160, [3:3] +ALSMaxCLTCondition = bits, U32, 1160, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1160, [5:5] +isALSSwitchActivated = bits, U32, 1160, [6:6] +ALSActivatePinState = bits, U32, 1160, [7:7] +ALSSwitchCondition = bits, U32, 1160, [8:8] +ALSTimerCondition = bits, U32, 1160, [9:9] +fuelALSCorrection = scalar, F32, 1164, "", 1, 0 +timingALSCorrection = scalar, S16, 1168, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1170, "deg", 0.01, 0 +; total TS size = 1172 +isTpsInvalid = bits, U32, 1172, [0:0] +m_shouldResetPid = bits, U32, 1172, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1172, [2:2] +isNotClosedLoop = bits, U32, 1172, [3:3] +isZeroRpm = bits, U32, 1172, [4:4] +hasInitBoost = bits, U32, 1172, [5:5] +rpmTooLow = bits, U32, 1172, [6:6] +tpsTooLow = bits, U32, 1172, [7:7] +mapTooLow = bits, U32, 1172, [8:8] +isPlantValid = bits, U32, 1172, [9:9] +isBoostControlled = bits, U32, 1172, [10:10] +luaTargetAdd = scalar, S16, 1176, "v", 0.5,0 +boostOutput = scalar, S16, 1178, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1180, "v", 1,0 +openLoopPart = scalar, F32, 1184, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1188, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1192, "%", 0.5,0 +boostControlTarget = scalar, S16, 1194, "kPa", 0.03333333333333333,0 +; total TS size = 1196 +acButtonState = scalar, S08, 1196, "", 1, 0 +m_acEnabled = bits, U32, 1200, [0:0] +engineTooSlow = bits, U32, 1200, [1:1] +engineTooFast = bits, U32, 1200, [2:2] +noClt = bits, U32, 1200, [3:3] +engineTooHot = bits, U32, 1200, [4:4] +tpsTooHigh = bits, U32, 1200, [5:5] +isDisabledByLua = bits, U32, 1200, [6:6] +acCompressorState = bits, U32, 1200, [7:7] +acPressureTooLow = bits, U32, 1200, [8:8] +acPressureTooHigh = bits, U32, 1200, [9:9] ; total TS size = 1204 -fan1cranking = bits, U32, 1204, [0:0] -fan1notRunning = bits, U32, 1204, [1:1] -fan1disabledWhileEngineStopped = bits, U32, 1204, [2:2] -fan1brokenClt = bits, U32, 1204, [3:3] -fan1enabledForAc = bits, U32, 1204, [4:4] -fan1hot = bits, U32, 1204, [5:5] -fan1cold = bits, U32, 1204, [6:6] -fan1disabledBySpeed = bits, U32, 1204, [7:7] -fan1m_state = bits, U32, 1204, [8:8] -fan1radiatorFanStatus = scalar, U08, 1208, "", 1, 0 -; total TS size = 1212 -fan2cranking = bits, U32, 1212, [0:0] -fan2notRunning = bits, U32, 1212, [1:1] -fan2disabledWhileEngineStopped = bits, U32, 1212, [2:2] -fan2brokenClt = bits, U32, 1212, [3:3] -fan2enabledForAc = bits, U32, 1212, [4:4] -fan2hot = bits, U32, 1212, [5:5] -fan2cold = bits, U32, 1212, [6:6] -fan2disabledBySpeed = bits, U32, 1212, [7:7] -fan2m_state = bits, U32, 1212, [8:8] -fan2radiatorFanStatus = scalar, U08, 1216, "", 1, 0 -; total TS size = 1220 -isPrime = bits, U32, 1220, [0:0] -engineTurnedRecently = bits, U32, 1220, [1:1] -isFuelPumpOn = bits, U32, 1220, [2:2] -ignitionOn = bits, U32, 1220, [3:3] +isNitrousArmed = bits, U32, 1204, [0:0] +isNitrousSpeedCondition = bits, U32, 1204, [1:1] +isNitrousTpsCondition = bits, U32, 1204, [2:2] +isNitrousCltCondition = bits, U32, 1204, [3:3] +isNitrousMapCondition = bits, U32, 1204, [4:4] +isNitrousAfrCondition = bits, U32, 1204, [5:5] +isNitrousRpmCondition = bits, U32, 1204, [6:6] +isNitrousCondition = bits, U32, 1204, [7:7] +; total TS size = 1208 +fan1cranking = bits, U32, 1208, [0:0] +fan1notRunning = bits, U32, 1208, [1:1] +fan1disabledWhileEngineStopped = bits, U32, 1208, [2:2] +fan1brokenClt = bits, U32, 1208, [3:3] +fan1enabledForAc = bits, U32, 1208, [4:4] +fan1hot = bits, U32, 1208, [5:5] +fan1cold = bits, U32, 1208, [6:6] +fan1disabledBySpeed = bits, U32, 1208, [7:7] +fan1m_state = bits, U32, 1208, [8:8] +fan1radiatorFanStatus = scalar, U08, 1212, "", 1, 0 +; total TS size = 1216 +fan2cranking = bits, U32, 1216, [0:0] +fan2notRunning = bits, U32, 1216, [1:1] +fan2disabledWhileEngineStopped = bits, U32, 1216, [2:2] +fan2brokenClt = bits, U32, 1216, [3:3] +fan2enabledForAc = bits, U32, 1216, [4:4] +fan2hot = bits, U32, 1216, [5:5] +fan2cold = bits, U32, 1216, [6:6] +fan2disabledBySpeed = bits, U32, 1216, [7:7] +fan2m_state = bits, U32, 1216, [8:8] +fan2radiatorFanStatus = scalar, U08, 1220, "", 1, 0 ; total TS size = 1224 -isBenchTest = bits, U32, 1224, [0:0] -hasIgnitionVoltage = bits, U32, 1224, [1:1] -mainRelayState = bits, U32, 1224, [2:2] -delayedShutoffRequested = bits, U32, 1224, [3:3] +isPrime = bits, U32, 1224, [0:0] +engineTurnedRecently = bits, U32, 1224, [1:1] +isFuelPumpOn = bits, U32, 1224, [2:2] +ignitionOn = bits, U32, 1224, [3:3] ; total TS size = 1228 -lua_fuelAdd = scalar, F32, 1228, "g", 1, 0 -lua_fuelMult = scalar, F32, 1232, "", 1, 0 -lua_clutchUpState = bits, U32, 1236, [0:0] -lua_brakePedalState = bits, U32, 1236, [1:1] -lua_acRequestState = bits, U32, 1236, [2:2] -lua_luaDisableEtb = bits, U32, 1236, [3:3] -lua_luaIgnCut = bits, U32, 1236, [4:4] -lua_luaFuelCut = bits, U32, 1236, [5:5] -lua_clutchDownState = bits, U32, 1236, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1236, [7:7] -lua_torqueReductionState = bits, U32, 1236, [8:8] -sd_tCharge = scalar, S16, 1240, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1244, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1248, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1252, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1256, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1260, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1264, "", 1, 0 -hellenBoardId = scalar, S16, 1268, "id", 1, 0 -clutchUpState = scalar, S08, 1270, "", 1, 0 -brakePedalState = scalar, S08, 1271, "", 1, 0 -startStopState = scalar, S08, 1272, "", 1, 0 -smartChipState = scalar, S08, 1273, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1274, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1275, "", 1, 0 -startStopPhysicalState = bits, U32, 1276, [0:0] -acrActive = bits, U32, 1276, [1:1] -acrEngineMovedRecently = bits, U32, 1276, [2:2] -heaterControlEnabled = bits, U32, 1276, [3:3] -luaDigitalState0 = bits, U32, 1276, [4:4] -luaDigitalState1 = bits, U32, 1276, [5:5] -luaDigitalState2 = bits, U32, 1276, [6:6] -luaDigitalState3 = bits, U32, 1276, [7:7] -clutchDownState = bits, U32, 1276, [8:8] -startStopStateToggleCounter = scalar, U32, 1280, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1284, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1288, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1292, "", 1, 0 -fuelInjectionCounter = scalar, U32, 1296, "", 1, 0 -globalSparkCounter = scalar, U32, 1300, "", 1, 0 -fuelingLoad = scalar, F32, 1304, "", 1, 0 -ignitionLoad = scalar, F32, 1308, "", 1, 0 -veTableYAxis = scalar, U16, 1312, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1314, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1315, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1316, "", 1, 0 -; total TS size = 1320 -tpsFrom = scalar, F32, 1320 -tpsTo = scalar, F32, 1324 -deltaTps = scalar, F32, 1328 -extraFuel = scalar, F32, 1332, "", 1, 0 -valueFromTable = scalar, F32, 1336, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1340, [0:0] -isBelowDecelThreshold = bits, U32, 1340, [1:1] -isTimeToResetAccumulator = bits, U32, 1340, [2:2] -isFractionalEnrichment = bits, U32, 1340, [3:3] -belowEpsilon = bits, U32, 1340, [4:4] -tooShort = bits, U32, 1340, [5:5] -fractionalInjFuel = scalar, F32, 1344, "", 1, 0 -accumulatedValue = scalar, F32, 1348, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1352, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1356, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1360, "", 1, 0 -cycleCnt = scalar, S32, 1364, "", 1, 0 -; total TS size = 1368 -hwEventCounters1 = scalar, U16, 1368, "", 1, 0 -hwEventCounters2 = scalar, U16, 1370, "", 1, 0 -hwEventCounters3 = scalar, U16, 1372, "", 1, 0 -hwEventCounters4 = scalar, U16, 1374, "", 1, 0 -vvtCamCounter = scalar, U16, 1376, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1380, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1384, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1388, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1389, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1392, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1396, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1400, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1404, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1408, [0:0] -triggerElapsedUs = scalar, U32, 1412, "", 1, 0 -; total TS size = 1416 -trgsynchronizationCounter = scalar, U32, 1416, "", 1, 0 -trgvvtToothDurations0 = scalar, U32, 1420, "us", 1, 0 -trgvvtCurrentPosition = scalar, F32, 1424, "", 1, 0 -trgvvtToothPosition1 = scalar, F32, 1428, "", 1, 0 -trgvvtToothPosition2 = scalar, F32, 1432, "", 1, 0 -trgvvtToothPosition3 = scalar, F32, 1436, "", 1, 0 -trgvvtToothPosition4 = scalar, F32, 1440, "", 1, 0 -trgtriggerSyncGapRatio = scalar, F32, 1444, "", 1, 0 -trgtriggerStateIndex = scalar, U08, 1448, "", 1, 0 -; total TS size = 1452 -vvt1isynchronizationCounter = scalar, U32, 1452, "", 1, 0 -vvt1ivvtToothDurations0 = scalar, U32, 1456, "us", 1, 0 -vvt1ivvtCurrentPosition = scalar, F32, 1460, "", 1, 0 -vvt1ivvtToothPosition1 = scalar, F32, 1464, "", 1, 0 -vvt1ivvtToothPosition2 = scalar, F32, 1468, "", 1, 0 -vvt1ivvtToothPosition3 = scalar, F32, 1472, "", 1, 0 -vvt1ivvtToothPosition4 = scalar, F32, 1476, "", 1, 0 -vvt1itriggerSyncGapRatio = scalar, F32, 1480, "", 1, 0 -vvt1itriggerStateIndex = scalar, U08, 1484, "", 1, 0 -; total TS size = 1488 -vvt1esynchronizationCounter = scalar, U32, 1488, "", 1, 0 -vvt1evvtToothDurations0 = scalar, U32, 1492, "us", 1, 0 -vvt1evvtCurrentPosition = scalar, F32, 1496, "", 1, 0 -vvt1evvtToothPosition1 = scalar, F32, 1500, "", 1, 0 -vvt1evvtToothPosition2 = scalar, F32, 1504, "", 1, 0 -vvt1evvtToothPosition3 = scalar, F32, 1508, "", 1, 0 -vvt1evvtToothPosition4 = scalar, F32, 1512, "", 1, 0 -vvt1etriggerSyncGapRatio = scalar, F32, 1516, "", 1, 0 -vvt1etriggerStateIndex = scalar, U08, 1520, "", 1, 0 -; total TS size = 1524 -vvt2isynchronizationCounter = scalar, U32, 1524, "", 1, 0 -vvt2ivvtToothDurations0 = scalar, U32, 1528, "us", 1, 0 -vvt2ivvtCurrentPosition = scalar, F32, 1532, "", 1, 0 -vvt2ivvtToothPosition1 = scalar, F32, 1536, "", 1, 0 -vvt2ivvtToothPosition2 = scalar, F32, 1540, "", 1, 0 -vvt2ivvtToothPosition3 = scalar, F32, 1544, "", 1, 0 -vvt2ivvtToothPosition4 = scalar, F32, 1548, "", 1, 0 -vvt2itriggerSyncGapRatio = scalar, F32, 1552, "", 1, 0 -vvt2itriggerStateIndex = scalar, U08, 1556, "", 1, 0 -; total TS size = 1560 -vvt2esynchronizationCounter = scalar, U32, 1560, "", 1, 0 -vvt2evvtToothDurations0 = scalar, U32, 1564, "us", 1, 0 -vvt2evvtCurrentPosition = scalar, F32, 1568, "", 1, 0 -vvt2evvtToothPosition1 = scalar, F32, 1572, "", 1, 0 -vvt2evvtToothPosition2 = scalar, F32, 1576, "", 1, 0 -vvt2evvtToothPosition3 = scalar, F32, 1580, "", 1, 0 -vvt2evvtToothPosition4 = scalar, F32, 1584, "", 1, 0 -vvt2etriggerSyncGapRatio = scalar, F32, 1588, "", 1, 0 -vvt2etriggerStateIndex = scalar, U08, 1592, "", 1, 0 -; total TS size = 1596 -camResyncCounter = scalar, U08, 1596, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1600, [0:0] -; total TS size = 1604 -wallFuelCorrection = scalar, F32, 1604, "", 1, 0 -wallFuel = scalar, F32, 1608, "", 1, 0 -; total TS size = 1612 -idleState = bits, S32, 1612, [0:2], "not important" -currentIdlePosition = scalar, F32, 1616 -baseIdlePosition = scalar, F32, 1620 -idleClosedLoop = scalar, F32, 1624 -iacByTpsTaper = scalar, F32, 1628 -mightResetPid = bits, U32, 1632, [0:0] -shouldResetPid = bits, U32, 1632, [1:1] -wasResetPid = bits, U32, 1632, [2:2] -mustResetPid = bits, U32, 1632, [3:3] -isCranking = bits, U32, 1632, [4:4] -isIacTableForCoasting = bits, U32, 1632, [5:5] -notIdling = bits, U32, 1632, [6:6] -needReset = bits, U32, 1632, [7:7] -isInDeadZone = bits, U32, 1632, [8:8] -isBlipping = bits, U32, 1632, [9:9] -useClosedLoop = bits, U32, 1632, [10:10] -badTps = bits, U32, 1632, [11:11] -looksLikeRunning = bits, U32, 1632, [12:12] -looksLikeCoasting = bits, U32, 1632, [13:13] -looksLikeCrankToIdle = bits, U32, 1632, [14:14] -isIdleCoasting = bits, U32, 1632, [15:15] -isIdleClosedLoop = bits, U32, 1632, [16:16] -idleTarget = scalar, S32, 1636, "", 1, 0 -targetRpmByClt = scalar, S32, 1640, "", 1, 0 -targetRpmAc = scalar, S32, 1644, "", 1, 0 -iacByRpmTaper = scalar, F32, 1648 -luaAdd = scalar, F32, 1652 -; total TS size = 1656 -etb1targetWithIdlePosition = scalar, F32, 1656, "%", 1,0 -etb1trim = scalar, F32, 1660, "", 1, 0 -etb1luaAdjustment = scalar, F32, 1664, "%", 1,0 -etb1m_wastegatePosition = scalar, F32, 1668, "%", 1,0 -etb1etbFeedForward = scalar, F32, 1672 -etb1etbIntegralError = scalar, F32, 1676, "", 1, 0 -etb1etbCurrentTarget = scalar, F32, 1680, "%", 1, 0 -etb1m_adjustedTarget = scalar, S16, 1684, "%", 0.01, 0 -etb1etbRevLimitActive = bits, U32, 1688, [0:0] -etb1jamDetected = bits, U32, 1688, [1:1] -etb1validPlantPosition = bits, U32, 1688, [2:2] -etb1etbTpsErrorCounter = scalar, U16, 1692, "count", 1,0 -etb1etbPpsErrorCounter = scalar, U16, 1694, "count", 1,0 -etb1etbErrorCode = scalar, S08, 1696, "", 1, 0 -etb1etbErrorCodeBlinker = scalar, S08, 1697, "", 1, 0 -etb1tcEtbDrop = scalar, S08, 1698, "%", 1, 0 -etb1jamTimer = scalar, U16, 1700, "sec", 0.01, 0 -etb1adjustedEtbTarget = scalar, S08, 1702, "%", 1, 0 -etb1state = scalar, U08, 1703, "", 1, 0 -; total TS size = 1704 -etb2targetWithIdlePosition = scalar, F32, 1704, "%", 1,0 -etb2trim = scalar, F32, 1708, "", 1, 0 -etb2luaAdjustment = scalar, F32, 1712, "%", 1,0 -etb2m_wastegatePosition = scalar, F32, 1716, "%", 1,0 -etb2etbFeedForward = scalar, F32, 1720 -etb2etbIntegralError = scalar, F32, 1724, "", 1, 0 -etb2etbCurrentTarget = scalar, F32, 1728, "%", 1, 0 -etb2m_adjustedTarget = scalar, S16, 1732, "%", 0.01, 0 -etb2etbRevLimitActive = bits, U32, 1736, [0:0] -etb2jamDetected = bits, U32, 1736, [1:1] -etb2validPlantPosition = bits, U32, 1736, [2:2] -etb2etbTpsErrorCounter = scalar, U16, 1740, "count", 1,0 -etb2etbPpsErrorCounter = scalar, U16, 1742, "count", 1,0 -etb2etbErrorCode = scalar, S08, 1744, "", 1, 0 -etb2etbErrorCodeBlinker = scalar, S08, 1745, "", 1, 0 -etb2tcEtbDrop = scalar, S08, 1746, "%", 1, 0 -etb2jamTimer = scalar, U16, 1748, "sec", 0.01, 0 -etb2adjustedEtbTarget = scalar, S08, 1750, "%", 1, 0 -etb2state = scalar, U08, 1751, "", 1, 0 -; total TS size = 1752 -wb1faultCode = scalar, U08, 1752, "", 1, 0 -wb1heaterDuty = scalar, U08, 1753, "%", 1, 0 -wb1pumpDuty = scalar, U08, 1754, "%", 1, 0 -wb1tempC = scalar, U16, 1756, "C", 1, 0 -wb1nernstVoltage = scalar, U16, 1758, "V", 0.001, 0 -wb1esr = scalar, U16, 1760, "ohm", 1, 0 -; total TS size = 1764 -wb2faultCode = scalar, U08, 1764, "", 1, 0 -wb2heaterDuty = scalar, U08, 1765, "%", 1, 0 -wb2pumpDuty = scalar, U08, 1766, "%", 1, 0 -wb2tempC = scalar, U16, 1768, "C", 1, 0 -wb2nernstVoltage = scalar, U16, 1770, "V", 0.001, 0 -wb2esr = scalar, U16, 1772, "ohm", 1, 0 -; total TS size = 1776 -dcOutput0 = scalar, F32, 1776, "%", 1,0 -isEnabled0_int = scalar, U08, 1780, "%", 1,0 -isEnabled0 = bits, U32, 1784, [0:0] -; total TS size = 1788 -value0 = scalar, U16, 1788, "RAW", 1,0 -value1 = scalar, U16, 1790, "RAW", 1,0 -errorRate = scalar, F32, 1792, "% (don't belive me)", 1,0 -; total TS size = 1796 -vvtTarget = scalar, U16, 1796, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1798, "%", 0.5, 0 +isBenchTest = bits, U32, 1228, [0:0] +hasIgnitionVoltage = bits, U32, 1228, [1:1] +mainRelayState = bits, U32, 1228, [2:2] +delayedShutoffRequested = bits, U32, 1228, [3:3] +; total TS size = 1232 +lua_fuelAdd = scalar, F32, 1232, "g", 1, 0 +lua_fuelMult = scalar, F32, 1236, "", 1, 0 +lua_clutchUpState = bits, U32, 1240, [0:0] +lua_brakePedalState = bits, U32, 1240, [1:1] +lua_acRequestState = bits, U32, 1240, [2:2] +lua_luaDisableEtb = bits, U32, 1240, [3:3] +lua_luaIgnCut = bits, U32, 1240, [4:4] +lua_luaFuelCut = bits, U32, 1240, [5:5] +lua_clutchDownState = bits, U32, 1240, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1240, [7:7] +lua_torqueReductionState = bits, U32, 1240, [8:8] +sd_tCharge = scalar, S16, 1244, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1248, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1252, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1256, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1260, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1264, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1268, "", 1, 0 +hellenBoardId = scalar, S16, 1272, "id", 1, 0 +clutchUpState = scalar, S08, 1274, "", 1, 0 +brakePedalState = scalar, S08, 1275, "", 1, 0 +startStopState = scalar, S08, 1276, "", 1, 0 +smartChipState = scalar, S08, 1277, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1278, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1279, "", 1, 0 +startStopPhysicalState = bits, U32, 1280, [0:0] +acrActive = bits, U32, 1280, [1:1] +acrEngineMovedRecently = bits, U32, 1280, [2:2] +heaterControlEnabled = bits, U32, 1280, [3:3] +luaDigitalState0 = bits, U32, 1280, [4:4] +luaDigitalState1 = bits, U32, 1280, [5:5] +luaDigitalState2 = bits, U32, 1280, [6:6] +luaDigitalState3 = bits, U32, 1280, [7:7] +clutchDownState = bits, U32, 1280, [8:8] +startStopStateToggleCounter = scalar, U32, 1284, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1288, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1292, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1296, "", 1, 0 +fuelInjectionCounter = scalar, U32, 1300, "", 1, 0 +globalSparkCounter = scalar, U32, 1304, "", 1, 0 +fuelingLoad = scalar, F32, 1308, "", 1, 0 +ignitionLoad = scalar, F32, 1312, "", 1, 0 +veTableYAxis = scalar, U16, 1316, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1318, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1319, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1320, "", 1, 0 +; total TS size = 1324 +tpsFrom = scalar, F32, 1324 +tpsTo = scalar, F32, 1328 +deltaTps = scalar, F32, 1332 +extraFuel = scalar, F32, 1336, "", 1, 0 +valueFromTable = scalar, F32, 1340, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1344, [0:0] +isBelowDecelThreshold = bits, U32, 1344, [1:1] +isTimeToResetAccumulator = bits, U32, 1344, [2:2] +isFractionalEnrichment = bits, U32, 1344, [3:3] +belowEpsilon = bits, U32, 1344, [4:4] +tooShort = bits, U32, 1344, [5:5] +fractionalInjFuel = scalar, F32, 1348, "", 1, 0 +accumulatedValue = scalar, F32, 1352, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1356, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1360, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1364, "", 1, 0 +cycleCnt = scalar, S32, 1368, "", 1, 0 +; total TS size = 1372 +hwEventCounters1 = scalar, U16, 1372, "", 1, 0 +hwEventCounters2 = scalar, U16, 1374, "", 1, 0 +hwEventCounters3 = scalar, U16, 1376, "", 1, 0 +hwEventCounters4 = scalar, U16, 1378, "", 1, 0 +vvtCamCounter = scalar, U16, 1380, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1384, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1388, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1392, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1393, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1396, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1400, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1404, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1408, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1412, [0:0] +triggerElapsedUs = scalar, U32, 1416, "", 1, 0 +; total TS size = 1420 +trgsynchronizationCounter = scalar, U32, 1420, "", 1, 0 +trgvvtToothDurations0 = scalar, U32, 1424, "us", 1, 0 +trgvvtCurrentPosition = scalar, F32, 1428, "", 1, 0 +trgvvtToothPosition1 = scalar, F32, 1432, "", 1, 0 +trgvvtToothPosition2 = scalar, F32, 1436, "", 1, 0 +trgvvtToothPosition3 = scalar, F32, 1440, "", 1, 0 +trgvvtToothPosition4 = scalar, F32, 1444, "", 1, 0 +trgtriggerSyncGapRatio = scalar, F32, 1448, "", 1, 0 +trgtriggerStateIndex = scalar, U08, 1452, "", 1, 0 +; total TS size = 1456 +vvt1isynchronizationCounter = scalar, U32, 1456, "", 1, 0 +vvt1ivvtToothDurations0 = scalar, U32, 1460, "us", 1, 0 +vvt1ivvtCurrentPosition = scalar, F32, 1464, "", 1, 0 +vvt1ivvtToothPosition1 = scalar, F32, 1468, "", 1, 0 +vvt1ivvtToothPosition2 = scalar, F32, 1472, "", 1, 0 +vvt1ivvtToothPosition3 = scalar, F32, 1476, "", 1, 0 +vvt1ivvtToothPosition4 = scalar, F32, 1480, "", 1, 0 +vvt1itriggerSyncGapRatio = scalar, F32, 1484, "", 1, 0 +vvt1itriggerStateIndex = scalar, U08, 1488, "", 1, 0 +; total TS size = 1492 +vvt1esynchronizationCounter = scalar, U32, 1492, "", 1, 0 +vvt1evvtToothDurations0 = scalar, U32, 1496, "us", 1, 0 +vvt1evvtCurrentPosition = scalar, F32, 1500, "", 1, 0 +vvt1evvtToothPosition1 = scalar, F32, 1504, "", 1, 0 +vvt1evvtToothPosition2 = scalar, F32, 1508, "", 1, 0 +vvt1evvtToothPosition3 = scalar, F32, 1512, "", 1, 0 +vvt1evvtToothPosition4 = scalar, F32, 1516, "", 1, 0 +vvt1etriggerSyncGapRatio = scalar, F32, 1520, "", 1, 0 +vvt1etriggerStateIndex = scalar, U08, 1524, "", 1, 0 +; total TS size = 1528 +vvt2isynchronizationCounter = scalar, U32, 1528, "", 1, 0 +vvt2ivvtToothDurations0 = scalar, U32, 1532, "us", 1, 0 +vvt2ivvtCurrentPosition = scalar, F32, 1536, "", 1, 0 +vvt2ivvtToothPosition1 = scalar, F32, 1540, "", 1, 0 +vvt2ivvtToothPosition2 = scalar, F32, 1544, "", 1, 0 +vvt2ivvtToothPosition3 = scalar, F32, 1548, "", 1, 0 +vvt2ivvtToothPosition4 = scalar, F32, 1552, "", 1, 0 +vvt2itriggerSyncGapRatio = scalar, F32, 1556, "", 1, 0 +vvt2itriggerStateIndex = scalar, U08, 1560, "", 1, 0 +; total TS size = 1564 +vvt2esynchronizationCounter = scalar, U32, 1564, "", 1, 0 +vvt2evvtToothDurations0 = scalar, U32, 1568, "us", 1, 0 +vvt2evvtCurrentPosition = scalar, F32, 1572, "", 1, 0 +vvt2evvtToothPosition1 = scalar, F32, 1576, "", 1, 0 +vvt2evvtToothPosition2 = scalar, F32, 1580, "", 1, 0 +vvt2evvtToothPosition3 = scalar, F32, 1584, "", 1, 0 +vvt2evvtToothPosition4 = scalar, F32, 1588, "", 1, 0 +vvt2etriggerSyncGapRatio = scalar, F32, 1592, "", 1, 0 +vvt2etriggerStateIndex = scalar, U08, 1596, "", 1, 0 +; total TS size = 1600 +camResyncCounter = scalar, U08, 1600, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1604, [0:0] +; total TS size = 1608 +wallFuelCorrection = scalar, F32, 1608, "", 1, 0 +wallFuel = scalar, F32, 1612, "", 1, 0 +; total TS size = 1616 +idleState = bits, S32, 1616, [0:2], "not important" +currentIdlePosition = scalar, F32, 1620 +baseIdlePosition = scalar, F32, 1624 +idleClosedLoop = scalar, F32, 1628 +iacByTpsTaper = scalar, F32, 1632 +mightResetPid = bits, U32, 1636, [0:0] +shouldResetPid = bits, U32, 1636, [1:1] +wasResetPid = bits, U32, 1636, [2:2] +mustResetPid = bits, U32, 1636, [3:3] +isCranking = bits, U32, 1636, [4:4] +isIacTableForCoasting = bits, U32, 1636, [5:5] +notIdling = bits, U32, 1636, [6:6] +needReset = bits, U32, 1636, [7:7] +isInDeadZone = bits, U32, 1636, [8:8] +isBlipping = bits, U32, 1636, [9:9] +useClosedLoop = bits, U32, 1636, [10:10] +badTps = bits, U32, 1636, [11:11] +looksLikeRunning = bits, U32, 1636, [12:12] +looksLikeCoasting = bits, U32, 1636, [13:13] +looksLikeCrankToIdle = bits, U32, 1636, [14:14] +isIdleCoasting = bits, U32, 1636, [15:15] +isIdleClosedLoop = bits, U32, 1636, [16:16] +idleTarget = scalar, S32, 1640, "", 1, 0 +targetRpmByClt = scalar, S32, 1644, "", 1, 0 +targetRpmAc = scalar, S32, 1648, "", 1, 0 +iacByRpmTaper = scalar, F32, 1652 +luaAdd = scalar, F32, 1656 +; total TS size = 1660 +etb1targetWithIdlePosition = scalar, F32, 1660, "%", 1,0 +etb1trim = scalar, F32, 1664, "", 1, 0 +etb1luaAdjustment = scalar, F32, 1668, "%", 1,0 +etb1m_wastegatePosition = scalar, F32, 1672, "%", 1,0 +etb1etbFeedForward = scalar, F32, 1676 +etb1etbIntegralError = scalar, F32, 1680, "", 1, 0 +etb1etbCurrentTarget = scalar, F32, 1684, "%", 1, 0 +etb1m_adjustedTarget = scalar, S16, 1688, "%", 0.01, 0 +etb1etbRevLimitActive = bits, U32, 1692, [0:0] +etb1jamDetected = bits, U32, 1692, [1:1] +etb1validPlantPosition = bits, U32, 1692, [2:2] +etb1etbTpsErrorCounter = scalar, U16, 1696, "count", 1,0 +etb1etbPpsErrorCounter = scalar, U16, 1698, "count", 1,0 +etb1etbErrorCode = scalar, S08, 1700, "", 1, 0 +etb1etbErrorCodeBlinker = scalar, S08, 1701, "", 1, 0 +etb1tcEtbDrop = scalar, S08, 1702, "%", 1, 0 +etb1jamTimer = scalar, U16, 1704, "sec", 0.01, 0 +etb1adjustedEtbTarget = scalar, S08, 1706, "%", 1, 0 +etb1state = scalar, U08, 1707, "", 1, 0 +; total TS size = 1708 +etb2targetWithIdlePosition = scalar, F32, 1708, "%", 1,0 +etb2trim = scalar, F32, 1712, "", 1, 0 +etb2luaAdjustment = scalar, F32, 1716, "%", 1,0 +etb2m_wastegatePosition = scalar, F32, 1720, "%", 1,0 +etb2etbFeedForward = scalar, F32, 1724 +etb2etbIntegralError = scalar, F32, 1728, "", 1, 0 +etb2etbCurrentTarget = scalar, F32, 1732, "%", 1, 0 +etb2m_adjustedTarget = scalar, S16, 1736, "%", 0.01, 0 +etb2etbRevLimitActive = bits, U32, 1740, [0:0] +etb2jamDetected = bits, U32, 1740, [1:1] +etb2validPlantPosition = bits, U32, 1740, [2:2] +etb2etbTpsErrorCounter = scalar, U16, 1744, "count", 1,0 +etb2etbPpsErrorCounter = scalar, U16, 1746, "count", 1,0 +etb2etbErrorCode = scalar, S08, 1748, "", 1, 0 +etb2etbErrorCodeBlinker = scalar, S08, 1749, "", 1, 0 +etb2tcEtbDrop = scalar, S08, 1750, "%", 1, 0 +etb2jamTimer = scalar, U16, 1752, "sec", 0.01, 0 +etb2adjustedEtbTarget = scalar, S08, 1754, "%", 1, 0 +etb2state = scalar, U08, 1755, "", 1, 0 +; total TS size = 1756 +wb1faultCode = scalar, U08, 1756, "", 1, 0 +wb1heaterDuty = scalar, U08, 1757, "%", 1, 0 +wb1pumpDuty = scalar, U08, 1758, "%", 1, 0 +wb1tempC = scalar, U16, 1760, "C", 1, 0 +wb1nernstVoltage = scalar, U16, 1762, "V", 0.001, 0 +wb1esr = scalar, U16, 1764, "ohm", 1, 0 +; total TS size = 1768 +wb2faultCode = scalar, U08, 1768, "", 1, 0 +wb2heaterDuty = scalar, U08, 1769, "%", 1, 0 +wb2pumpDuty = scalar, U08, 1770, "%", 1, 0 +wb2tempC = scalar, U16, 1772, "C", 1, 0 +wb2nernstVoltage = scalar, U16, 1774, "V", 0.001, 0 +wb2esr = scalar, U16, 1776, "ohm", 1, 0 +; total TS size = 1780 +dcOutput0 = scalar, F32, 1780, "%", 1,0 +isEnabled0_int = scalar, U08, 1784, "%", 1,0 +isEnabled0 = bits, U32, 1788, [0:0] +; total TS size = 1792 +value0 = scalar, U16, 1792, "RAW", 1,0 +value1 = scalar, U16, 1794, "RAW", 1,0 +errorRate = scalar, F32, 1796, "% (don't belive me)", 1,0 ; total TS size = 1800 -lambdaCurrentlyGood = bits, U32, 1800, [0:0] -lambdaMonitorCut = bits, U32, 1800, [1:1] -lambdaTimeSinceGood = scalar, U16, 1804, "sec", 0.01, 0 -; total TS size = 1808 +vvtTarget = scalar, U16, 1800, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1802, "%", 0.5, 0 +; total TS size = 1804 +lambdaCurrentlyGood = bits, U32, 1804, [0:0] +lambdaMonitorCut = bits, U32, 1804, [1:1] +lambdaTimeSinceGood = scalar, U16, 1808, "sec", 0.01, 0 +; total TS size = 1812 time = { timeNow } @@ -4594,6 +4597,12 @@ curve = rangeMatrix, "Range Switch Input Matrix" gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. upDownLabel = "(RICHER)", "(LEANER)" + table = trailingSparkTable, trailingSparkMap, "Trailing spark", 1 + xyLabels = "RPM", "Ignition Load" + xBins = trailingSparkRpmBins, RPMValue + yBins = trailingSparkLoadBins, ignitionLoad + zBins = trailingSparkTable + table = torqueTableTbl, torqueTableMap, "Engine Torque", 1 xBins = torqueRpmBins, RPMValue yBins = torqueLoadBins, veTableYAxis @@ -4891,6 +4900,7 @@ timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20 timingPidCorrectionGauge = timingPidCorrection,"Idle: Timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 +trailingSparkAngleGauge = trailingSparkAngle,"Ign: Trailing spark deg", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 gaugeCategory = "Boost Control" luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 @@ -5822,6 +5832,7 @@ entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" entry = luaIgnitionSkip, "Ign: Lua Spark Skip", int, "%d" +entry = trailingSparkAngle, "Ign: Trailing spark deg", float, "%.3f" entry = m_knockLevel, "Knock: Current level", float, "%.3f" entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" @@ -6791,6 +6802,7 @@ dialog = ignition_stateDialog, "ignition_state" graphLine = luaTimingAdd liveGraph = ignition_state_4_Graph, "Graph", South graphLine = luaTimingMult + graphLine = trailingSparkAngle dialog = knock_controllerDialog, "knock_controller" @@ -10102,11 +10114,11 @@ commandButton = "VAG i5", cmd_set_engine_type_vag_5 dialog = rotaryDialog, "Rotary" field = "Enable Trailing Sparks", enableTrailingSparks - field = "Trailing Spark Offset", trailingSparkAngle field = "Trailing Pin 1", trailingCoilPins1 field = "Trailing Pin 2", trailingCoilPins2 field = "Trailing Pin 3", trailingCoilPins3 field = "Trailing Pin 4", trailingCoilPins4 + panel = trailingSparkTable diff --git a/firmware/tunerstudio/generated/rusefi_uaefi121.ini b/firmware/tunerstudio/generated/rusefi_uaefi121.ini index 7a6bc9e1e6..f742249605 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.2025.02.07.uaefi121.2019611944" + signature = "rusEFI master.2025.02.07.uaefi121.4293089861" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI master.2025.02.07.uaefi121.2019611944" ; signature is expected to be 7 or more characters. + signature= "rusEFI master.2025.02.07.uaefi121.4293089861" ; 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 @@ -101,7 +101,7 @@ enable2ndByteCanID = false ; CONFIG_DEFINITION_START ; this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt -pageSize = 23280 +pageSize = 23304 page = 1 engineType = bits, U16, 0, [0:6], 0="DEFAULT_FRANKENSO",22="BMW_M52",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",61="EEPROM_BENCH_ENGINE",58="ETB_BENCH_ENGINE",21="ET_BOSCH_QUICK_START",24="ET_TEST_WITH_BOSCH_QUICK_START",56="ET_UNUSED_56",105="FERRARI_F136",3="FORD_ASPIRE_1996",11="FORD_COYOTE",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",41="FRANKENSO_MIATA_NA6_MAP",59="FRANKENSO_TEST_33810",15="FUEL_BENCH",47="GM_LCV",55="GM_LTG",98="GM_SBC",49="GM_SBC_GEN5",8="GY6_139QMB",6="HARLEY",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",75="HELLEN_2CHAN_STIM_QC",74="HELLEN_4CHAN_STIM_QC",57="HELLEN_HONDA_BCM",43="HONDA_600",90="HONDA_K",66="HONDA_OBD1",91="HONDA_OBD2A",104="HYUNDAI_PB",60="L9779_BENCH_ENGINE",54="MAVERICK_X3",34="MAZDA_MIATA_NA6",80="MAZDA_MIATA_NA94",10="MAZDA_MIATA_NA96",83="MAZDA_MIATA_NB1",69="MAZDA_MIATA_NB2",86="MAZDA_MIATA_NB2_36",20="MAZDA_MIATA_NC",33="ME17_9_MISC",68="MERCEDES_M111",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",12="MITSUBISHI_3A92",16="MITSUBISHI_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",4="MRE_SECONDARY_CAN",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",35="POLARIS",9="POLARIS_RZR",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",27="PROTEUS_GM_LS_4",25="PROTEUS_LUA_DEMO",103="PROTEUS_NISSAN_VQ35",42="PROTEUS_QC_TEST_BOARD",73="PROTEUS_STIM_QC",39="PROTEUS_VW_B6",29="SACHS",92="SIMULATOR_CONFIG",70="SUBARU_EG33",17="TCU_4R70W",100="TEST_100",101="TEST_101",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",93="TEST_ISSUE_6451",19="TEST_ROTARY",13="TOYOTA_1NZ_FE",44="TOYOTA_2JZ_GTE_VVTi",102="UNUSED102",67="UNUSED67",94="UNUSED94",65="UNUSED_65",97="UNUSED_97",77="VAG_5_CYL",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" startButtonSuppressOnStartUpMs = scalar, U16, 2, "", 1, 0, 0, 32000, 0 @@ -245,7 +245,7 @@ vbattAdcChannel = bits, U08, 513, [0:5], $adc_channel_e_list fuelLevelSensor = bits, U08, 514, [0:5], $adc_channel_e_list tps2_1AdcChannel = bits, U08, 515, [0:5], $adc_channel_e_list idle_derivativeFilterLoss = scalar, F32, 516, "x", 1, 0, -1000000, 1000000, 4 -trailingSparkAngle = scalar, S32, 520, "angle", 1, 0, 0, 720, 0 +unusedTrailingSparkAngle = scalar, S32, 520, "", 1, 0, 0, 100, 0 trigger_type = bits, U32, 524, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Daihatsu 3 cylinder", "Mazda SOHC 4", "60-2", "36-1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "Dodge Ram 1+16", "60-2 Wrong Polarity", "Benelli Tre", "Dodge Stratus", "36_2_2_2", "Nissan Primera", "dev 2JZ 3/34 simulator", "Rover K", "GM 24x 5 degree", "Honda CBR 600 Cam", "INVALID", "Honda CBR 600 custom", "3-1 skipped", "Dodge Neon 2003 crank", "Miata NB", "INVALID", "INVALID", "Subaru 7+6", "Jeep 18-2-2-2", "12crank/24cam", "Dodge Neon 1995 crank only", "Jeep XJ 4 cyl", "FiatIAQ_P8", "Mazda Z5", "INVALID", "Renix 44-2-2", "Renix 66-2-2-2", "Honda K 12+1", "INVALID", "36-2", "Subaru SVX", "Suzuki K6A", "Subaru 7 without 6", "INVALID", "INVALID", "GM 60-2-2-2", "Skoda Favorit", "Barra 3+1 Cam", "Kawa KX450F", "Nissan VQ35", "INVALID", "Nissan VQ30", "Nissan QR25", "INVALID", "Subaru SVX Crank 1", "Subaru SVX Cam VVT", "Ford PIP", "Suzuki G13B", "Honda K 4+1", "Nissan MR18 Crank", "32-2", "36-2-1", "36-2-1-1", "3-0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6-0", "Daihatsu 4 cylinder", "INVALID", "dev", "Nissan HR", "Arctic Cat", "HR12 in", "HONDA J30A2", "trg88", "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" trigger_customTotalToothCount = scalar, S32, 528, "number", 1, 0, 1, 300, 0 trigger_customSkippedToothCount = scalar, S32, 532, "number", 1, 0, 0, 300, 0 @@ -1796,7 +1796,10 @@ dynoCarCarMassKg = scalar, S16, 23268, "", 1, 0, 0, 32000, 0 dynoCarCargoMassKg = scalar, S16, 23270, "", 1, 0, 0, 32000, 0 dynoCarCoeffOfDrag = scalar, F32, 23272, "", 1, 0, 0, 100, 0 dynoCarFrontalAreaM2 = scalar, F32, 23276, "", 1, 0, 0, 100, 0 -; total TS size = 23280 +trailingSparkTable = array, S08, 23280, [4x4], "deg", 0.1, 0, 0, 20, 1 +trailingSparkRpmBins = array, U08, 23296, [4], "rpm", 50.0, 0, 0, 12000, 0 +trailingSparkLoadBins = array, U08, 23300, [4], "Load", 5.0, 0, 0, 1000, 0 +; total TS size = 23304 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type\nset engine_type X" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1890,7 +1893,6 @@ dynoCarFrontalAreaM2 = scalar, F32, 23276, "", 1, 0, 0, 100, 0 fuelLevelSensor = "This is the processor pin that your fuel level sensor in connected to. This is a non standard input so will need to be user defined." tps2_1AdcChannel = "Second throttle body position sensor, single channel so far" idle_derivativeFilterLoss = "0.1 is a good default value" - trailingSparkAngle = "just a temporary solution" trigger_type = "https://github.com/rusefi/rusefi/wiki/All-Supported-Triggers" airByRpmTaper = "Extra air taper amount" boostControlSafeDutyCycle = "Duty cycle to use in case of a sensor failure. This duty cycle should produce the minimum possible amount of boost. This duty is also used in case any of the minimum RPM/TPS/MAP conditions are not met." @@ -2664,7 +2666,7 @@ dynoCarFrontalAreaM2 = scalar, F32, 23276, "", 1, 0, 0, 100, 0 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1808 + ochBlockSize = 1812 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -3189,417 +3191,418 @@ dwellVoltageCorrection = scalar, F32, 940, "", 1, 0 luaTimingAdd = scalar, F32, 944, "deg", 1, 0 luaTimingMult = scalar, F32, 948, "deg", 1, 0 luaIgnitionSkip = bits, U32, 952, [0:0] -; total TS size = 956 -m_knockLevel = scalar, F32, 956, "Volts", 1, 0 -m_knockCyl1 = scalar, S08, 960, "dBv", 1, 0 -m_knockCyl2 = scalar, S08, 961, "dBv", 1, 0 -m_knockCyl3 = scalar, S08, 962, "dBv", 1, 0 -m_knockCyl4 = scalar, S08, 963, "dBv", 1, 0 -m_knockCyl5 = scalar, S08, 964, "dBv", 1, 0 -m_knockCyl6 = scalar, S08, 965, "dBv", 1, 0 -m_knockCyl7 = scalar, S08, 966, "dBv", 1, 0 -m_knockCyl8 = scalar, S08, 967, "dBv", 1, 0 -m_knockCyl9 = scalar, S08, 968, "dBv", 1, 0 -m_knockCyl10 = scalar, S08, 969, "dBv", 1, 0 -m_knockCyl11 = scalar, S08, 970, "dBv", 1, 0 -m_knockCyl12 = scalar, S08, 971, "dBv", 1, 0 -m_knockRetard = scalar, F32, 972, "deg", 1,0 -m_knockThreshold = scalar, F32, 976, "", 1, 0 -m_knockCount = scalar, U32, 980, "", 1, 0 -m_maximumRetard = scalar, F32, 984, "", 1, 0 -m_knockSpectrum1 = scalar, U32, 988, "compressed data", 1, 0 -m_knockSpectrum2 = scalar, U32, 992, "compressed data", 1, 0 -m_knockSpectrum3 = scalar, U32, 996, "compressed data", 1, 0 -m_knockSpectrum4 = scalar, U32, 1000, "compressed data", 1, 0 -m_knockSpectrum5 = scalar, U32, 1004, "compressed data", 1, 0 -m_knockSpectrum6 = scalar, U32, 1008, "compressed data", 1, 0 -m_knockSpectrum7 = scalar, U32, 1012, "compressed data", 1, 0 -m_knockSpectrum8 = scalar, U32, 1016, "compressed data", 1, 0 -m_knockSpectrum9 = scalar, U32, 1020, "compressed data", 1, 0 -m_knockSpectrum10 = scalar, U32, 1024, "compressed data", 1, 0 -m_knockSpectrum11 = scalar, U32, 1028, "compressed data", 1, 0 -m_knockSpectrum12 = scalar, U32, 1032, "compressed data", 1, 0 -m_knockSpectrum13 = scalar, U32, 1036, "compressed data", 1, 0 -m_knockSpectrum14 = scalar, U32, 1040, "compressed data", 1, 0 -m_knockSpectrum15 = scalar, U32, 1044, "compressed data", 1, 0 -m_knockSpectrum16 = scalar, U32, 1048, "compressed data", 1, 0 -m_knockSpectrumChannelCyl = scalar, U16, 1052, "compressed N + N", 1, 0 -m_knockFrequencyStart = scalar, U16, 1054, "Hz", 1, 0 -m_knockFrequencyStep = scalar, F32, 1056, "Hz", 1, 0 -m_knockFuelTrimMultiplier = scalar, F32, 1060, "multiplier", 1, 0 -; total TS size = 1064 -m_isPriming = bits, U32, 1064, [0:0] +trailingSparkAngle = scalar, S16, 956, "deg", 0.01,0 +; total TS size = 960 +m_knockLevel = scalar, F32, 960, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 964, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 965, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 966, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 967, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 968, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 969, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 970, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 971, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 972, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 973, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 974, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 975, "dBv", 1, 0 +m_knockRetard = scalar, F32, 976, "deg", 1,0 +m_knockThreshold = scalar, F32, 980, "", 1, 0 +m_knockCount = scalar, U32, 984, "", 1, 0 +m_maximumRetard = scalar, F32, 988, "", 1, 0 +m_knockSpectrum1 = scalar, U32, 992, "compressed data", 1, 0 +m_knockSpectrum2 = scalar, U32, 996, "compressed data", 1, 0 +m_knockSpectrum3 = scalar, U32, 1000, "compressed data", 1, 0 +m_knockSpectrum4 = scalar, U32, 1004, "compressed data", 1, 0 +m_knockSpectrum5 = scalar, U32, 1008, "compressed data", 1, 0 +m_knockSpectrum6 = scalar, U32, 1012, "compressed data", 1, 0 +m_knockSpectrum7 = scalar, U32, 1016, "compressed data", 1, 0 +m_knockSpectrum8 = scalar, U32, 1020, "compressed data", 1, 0 +m_knockSpectrum9 = scalar, U32, 1024, "compressed data", 1, 0 +m_knockSpectrum10 = scalar, U32, 1028, "compressed data", 1, 0 +m_knockSpectrum11 = scalar, U32, 1032, "compressed data", 1, 0 +m_knockSpectrum12 = scalar, U32, 1036, "compressed data", 1, 0 +m_knockSpectrum13 = scalar, U32, 1040, "compressed data", 1, 0 +m_knockSpectrum14 = scalar, U32, 1044, "compressed data", 1, 0 +m_knockSpectrum15 = scalar, U32, 1048, "compressed data", 1, 0 +m_knockSpectrum16 = scalar, U32, 1052, "compressed data", 1, 0 +m_knockSpectrumChannelCyl = scalar, U16, 1056, "compressed N + N", 1, 0 +m_knockFrequencyStart = scalar, U16, 1058, "Hz", 1, 0 +m_knockFrequencyStep = scalar, F32, 1060, "Hz", 1, 0 +m_knockFuelTrimMultiplier = scalar, F32, 1064, "multiplier", 1, 0 ; total TS size = 1068 -tcuCurrentGear = scalar, S08, 1068, "gear", 1, 0 -tcRatio = scalar, U16, 1070, "value", 0.01, 0 -lastShiftTime = scalar, F32, 1072, "", 1, 0 -tcu_currentRange = scalar, U08, 1076, "", 1, 0 -pressureControlDuty = scalar, S08, 1077, "%", 1,0 -torqueConverterDuty = scalar, S08, 1078, "%", 1,0 -isShifting = bits, U32, 1080, [0:0] -; total TS size = 1084 -throttleUseWotModel = bits, U32, 1084, [0:0] -throttleModelCrossoverAngle = scalar, S16, 1088, "%", 0.01, 0 -throttleEstimatedFlow = scalar, F32, 1092, "g/s", 1, 0 -; total TS size = 1096 -m_requested_pump = scalar, F32, 1096, "", 1, 0 -fuel_requested_percent = scalar, F32, 1100, "%", 1, 0 -fuel_requested_percent_pi = scalar, F32, 1104, "", 1, 0 -noValve = bits, U32, 1108, [0:0] -angleAboveMin = bits, U32, 1108, [1:1] -isHpfpActive = bits, U32, 1108, [2:2] -HpfpValveState = bits, U32, 1108, [3:3] -m_pressureTarget_kPa = scalar, F32, 1112, "", 1, 0 -nextLobe = scalar, F32, 1116, "", 1, 0 -di_nextStart = scalar, F32, 1120, "v", 1, 0 -HpfdActivationPhase = scalar, F32, 1124, "", 1, 0 -HpfdDeactivationPhase = scalar, F32, 1128, "", 1, 0 -; total TS size = 1132 -m_deadtime = scalar, F32, 1132, "ms", 1, 0 -pressureDelta = scalar, F32, 1136, "kPa", 1, 0 -pressureRatio = scalar, F32, 1140, "", 1, 0 -; total TS size = 1144 -retardThresholdRpm = scalar, S32, 1144, "", 1, 0 -launchActivatePinState = bits, U32, 1148, [0:0] -isPreLaunchCondition = bits, U32, 1148, [1:1] -isLaunchCondition = bits, U32, 1148, [2:2] -isSwitchActivated = bits, U32, 1148, [3:3] -isClutchActivated = bits, U32, 1148, [4:4] -isBrakePedalActivated = bits, U32, 1148, [5:5] -isValidInputPin = bits, U32, 1148, [6:6] -activateSwitchCondition = bits, U32, 1148, [7:7] -rpmLaunchCondition = bits, U32, 1148, [8:8] -rpmPreLaunchCondition = bits, U32, 1148, [9:9] -speedCondition = bits, U32, 1148, [10:10] -tpsCondition = bits, U32, 1148, [11:11] -; total TS size = 1152 -isTorqueReductionTriggerPinValid = bits, U32, 1152, [0:0] -torqueReductionTriggerPinState = bits, U32, 1152, [1:1] -isTimeConditionSatisfied = bits, U32, 1152, [2:2] -isRpmConditionSatisfied = bits, U32, 1152, [3:3] -isAppConditionSatisfied = bits, U32, 1152, [4:4] -isFlatShiftConditionSatisfied = bits, U32, 1152, [5:5] +m_isPriming = bits, U32, 1068, [0:0] +; total TS size = 1072 +tcuCurrentGear = scalar, S08, 1072, "gear", 1, 0 +tcRatio = scalar, U16, 1074, "value", 0.01, 0 +lastShiftTime = scalar, F32, 1076, "", 1, 0 +tcu_currentRange = scalar, U08, 1080, "", 1, 0 +pressureControlDuty = scalar, S08, 1081, "%", 1,0 +torqueConverterDuty = scalar, S08, 1082, "%", 1,0 +isShifting = bits, U32, 1084, [0:0] +; total TS size = 1088 +throttleUseWotModel = bits, U32, 1088, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1092, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1096, "g/s", 1, 0 +; total TS size = 1100 +m_requested_pump = scalar, F32, 1100, "", 1, 0 +fuel_requested_percent = scalar, F32, 1104, "%", 1, 0 +fuel_requested_percent_pi = scalar, F32, 1108, "", 1, 0 +noValve = bits, U32, 1112, [0:0] +angleAboveMin = bits, U32, 1112, [1:1] +isHpfpActive = bits, U32, 1112, [2:2] +HpfpValveState = bits, U32, 1112, [3:3] +m_pressureTarget_kPa = scalar, F32, 1116, "", 1, 0 +nextLobe = scalar, F32, 1120, "", 1, 0 +di_nextStart = scalar, F32, 1124, "v", 1, 0 +HpfdActivationPhase = scalar, F32, 1128, "", 1, 0 +HpfdDeactivationPhase = scalar, F32, 1132, "", 1, 0 +; total TS size = 1136 +m_deadtime = scalar, F32, 1136, "ms", 1, 0 +pressureDelta = scalar, F32, 1140, "kPa", 1, 0 +pressureRatio = scalar, F32, 1144, "", 1, 0 +; total TS size = 1148 +retardThresholdRpm = scalar, S32, 1148, "", 1, 0 +launchActivatePinState = bits, U32, 1152, [0:0] +isPreLaunchCondition = bits, U32, 1152, [1:1] +isLaunchCondition = bits, U32, 1152, [2:2] +isSwitchActivated = bits, U32, 1152, [3:3] +isClutchActivated = bits, U32, 1152, [4:4] +isBrakePedalActivated = bits, U32, 1152, [5:5] +isValidInputPin = bits, U32, 1152, [6:6] +activateSwitchCondition = bits, U32, 1152, [7:7] +rpmLaunchCondition = bits, U32, 1152, [8:8] +rpmPreLaunchCondition = bits, U32, 1152, [9:9] +speedCondition = bits, U32, 1152, [10:10] +tpsCondition = bits, U32, 1152, [11:11] ; total TS size = 1156 -isAntilagCondition = bits, U32, 1156, [0:0] -ALSMinRPMCondition = bits, U32, 1156, [1:1] -ALSMaxRPMCondition = bits, U32, 1156, [2:2] -ALSMinCLTCondition = bits, U32, 1156, [3:3] -ALSMaxCLTCondition = bits, U32, 1156, [4:4] -ALSMaxThrottleIntentCondition = bits, U32, 1156, [5:5] -isALSSwitchActivated = bits, U32, 1156, [6:6] -ALSActivatePinState = bits, U32, 1156, [7:7] -ALSSwitchCondition = bits, U32, 1156, [8:8] -ALSTimerCondition = bits, U32, 1156, [9:9] -fuelALSCorrection = scalar, F32, 1160, "", 1, 0 -timingALSCorrection = scalar, S16, 1164, "deg", 0.01, 0 -timingALSSkip = scalar, S16, 1166, "deg", 0.01, 0 -; total TS size = 1168 -isTpsInvalid = bits, U32, 1168, [0:0] -m_shouldResetPid = bits, U32, 1168, [1:1] -isBelowClosedLoopThreshold = bits, U32, 1168, [2:2] -isNotClosedLoop = bits, U32, 1168, [3:3] -isZeroRpm = bits, U32, 1168, [4:4] -hasInitBoost = bits, U32, 1168, [5:5] -rpmTooLow = bits, U32, 1168, [6:6] -tpsTooLow = bits, U32, 1168, [7:7] -mapTooLow = bits, U32, 1168, [8:8] -isPlantValid = bits, U32, 1168, [9:9] -isBoostControlled = bits, U32, 1168, [10:10] -luaTargetAdd = scalar, S16, 1172, "v", 0.5,0 -boostOutput = scalar, S16, 1174, "percent", 0.01,0 -luaTargetMult = scalar, F32, 1176, "v", 1,0 -openLoopPart = scalar, F32, 1180, "v", 1,0 -luaOpenLoopAdd = scalar, F32, 1184, "v", 1,0 -boostControllerClosedLoopPart = scalar, S08, 1188, "%", 0.5,0 -boostControlTarget = scalar, S16, 1190, "kPa", 0.03333333333333333,0 -; total TS size = 1192 -acButtonState = scalar, S08, 1192, "", 1, 0 -m_acEnabled = bits, U32, 1196, [0:0] -engineTooSlow = bits, U32, 1196, [1:1] -engineTooFast = bits, U32, 1196, [2:2] -noClt = bits, U32, 1196, [3:3] -engineTooHot = bits, U32, 1196, [4:4] -tpsTooHigh = bits, U32, 1196, [5:5] -isDisabledByLua = bits, U32, 1196, [6:6] -acCompressorState = bits, U32, 1196, [7:7] -acPressureTooLow = bits, U32, 1196, [8:8] -acPressureTooHigh = bits, U32, 1196, [9:9] -; total TS size = 1200 -isNitrousArmed = bits, U32, 1200, [0:0] -isNitrousSpeedCondition = bits, U32, 1200, [1:1] -isNitrousTpsCondition = bits, U32, 1200, [2:2] -isNitrousCltCondition = bits, U32, 1200, [3:3] -isNitrousMapCondition = bits, U32, 1200, [4:4] -isNitrousAfrCondition = bits, U32, 1200, [5:5] -isNitrousRpmCondition = bits, U32, 1200, [6:6] -isNitrousCondition = bits, U32, 1200, [7:7] +isTorqueReductionTriggerPinValid = bits, U32, 1156, [0:0] +torqueReductionTriggerPinState = bits, U32, 1156, [1:1] +isTimeConditionSatisfied = bits, U32, 1156, [2:2] +isRpmConditionSatisfied = bits, U32, 1156, [3:3] +isAppConditionSatisfied = bits, U32, 1156, [4:4] +isFlatShiftConditionSatisfied = bits, U32, 1156, [5:5] +; total TS size = 1160 +isAntilagCondition = bits, U32, 1160, [0:0] +ALSMinRPMCondition = bits, U32, 1160, [1:1] +ALSMaxRPMCondition = bits, U32, 1160, [2:2] +ALSMinCLTCondition = bits, U32, 1160, [3:3] +ALSMaxCLTCondition = bits, U32, 1160, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 1160, [5:5] +isALSSwitchActivated = bits, U32, 1160, [6:6] +ALSActivatePinState = bits, U32, 1160, [7:7] +ALSSwitchCondition = bits, U32, 1160, [8:8] +ALSTimerCondition = bits, U32, 1160, [9:9] +fuelALSCorrection = scalar, F32, 1164, "", 1, 0 +timingALSCorrection = scalar, S16, 1168, "deg", 0.01, 0 +timingALSSkip = scalar, S16, 1170, "deg", 0.01, 0 +; total TS size = 1172 +isTpsInvalid = bits, U32, 1172, [0:0] +m_shouldResetPid = bits, U32, 1172, [1:1] +isBelowClosedLoopThreshold = bits, U32, 1172, [2:2] +isNotClosedLoop = bits, U32, 1172, [3:3] +isZeroRpm = bits, U32, 1172, [4:4] +hasInitBoost = bits, U32, 1172, [5:5] +rpmTooLow = bits, U32, 1172, [6:6] +tpsTooLow = bits, U32, 1172, [7:7] +mapTooLow = bits, U32, 1172, [8:8] +isPlantValid = bits, U32, 1172, [9:9] +isBoostControlled = bits, U32, 1172, [10:10] +luaTargetAdd = scalar, S16, 1176, "v", 0.5,0 +boostOutput = scalar, S16, 1178, "percent", 0.01,0 +luaTargetMult = scalar, F32, 1180, "v", 1,0 +openLoopPart = scalar, F32, 1184, "v", 1,0 +luaOpenLoopAdd = scalar, F32, 1188, "v", 1,0 +boostControllerClosedLoopPart = scalar, S08, 1192, "%", 0.5,0 +boostControlTarget = scalar, S16, 1194, "kPa", 0.03333333333333333,0 +; total TS size = 1196 +acButtonState = scalar, S08, 1196, "", 1, 0 +m_acEnabled = bits, U32, 1200, [0:0] +engineTooSlow = bits, U32, 1200, [1:1] +engineTooFast = bits, U32, 1200, [2:2] +noClt = bits, U32, 1200, [3:3] +engineTooHot = bits, U32, 1200, [4:4] +tpsTooHigh = bits, U32, 1200, [5:5] +isDisabledByLua = bits, U32, 1200, [6:6] +acCompressorState = bits, U32, 1200, [7:7] +acPressureTooLow = bits, U32, 1200, [8:8] +acPressureTooHigh = bits, U32, 1200, [9:9] ; total TS size = 1204 -fan1cranking = bits, U32, 1204, [0:0] -fan1notRunning = bits, U32, 1204, [1:1] -fan1disabledWhileEngineStopped = bits, U32, 1204, [2:2] -fan1brokenClt = bits, U32, 1204, [3:3] -fan1enabledForAc = bits, U32, 1204, [4:4] -fan1hot = bits, U32, 1204, [5:5] -fan1cold = bits, U32, 1204, [6:6] -fan1disabledBySpeed = bits, U32, 1204, [7:7] -fan1m_state = bits, U32, 1204, [8:8] -fan1radiatorFanStatus = scalar, U08, 1208, "", 1, 0 -; total TS size = 1212 -fan2cranking = bits, U32, 1212, [0:0] -fan2notRunning = bits, U32, 1212, [1:1] -fan2disabledWhileEngineStopped = bits, U32, 1212, [2:2] -fan2brokenClt = bits, U32, 1212, [3:3] -fan2enabledForAc = bits, U32, 1212, [4:4] -fan2hot = bits, U32, 1212, [5:5] -fan2cold = bits, U32, 1212, [6:6] -fan2disabledBySpeed = bits, U32, 1212, [7:7] -fan2m_state = bits, U32, 1212, [8:8] -fan2radiatorFanStatus = scalar, U08, 1216, "", 1, 0 -; total TS size = 1220 -isPrime = bits, U32, 1220, [0:0] -engineTurnedRecently = bits, U32, 1220, [1:1] -isFuelPumpOn = bits, U32, 1220, [2:2] -ignitionOn = bits, U32, 1220, [3:3] +isNitrousArmed = bits, U32, 1204, [0:0] +isNitrousSpeedCondition = bits, U32, 1204, [1:1] +isNitrousTpsCondition = bits, U32, 1204, [2:2] +isNitrousCltCondition = bits, U32, 1204, [3:3] +isNitrousMapCondition = bits, U32, 1204, [4:4] +isNitrousAfrCondition = bits, U32, 1204, [5:5] +isNitrousRpmCondition = bits, U32, 1204, [6:6] +isNitrousCondition = bits, U32, 1204, [7:7] +; total TS size = 1208 +fan1cranking = bits, U32, 1208, [0:0] +fan1notRunning = bits, U32, 1208, [1:1] +fan1disabledWhileEngineStopped = bits, U32, 1208, [2:2] +fan1brokenClt = bits, U32, 1208, [3:3] +fan1enabledForAc = bits, U32, 1208, [4:4] +fan1hot = bits, U32, 1208, [5:5] +fan1cold = bits, U32, 1208, [6:6] +fan1disabledBySpeed = bits, U32, 1208, [7:7] +fan1m_state = bits, U32, 1208, [8:8] +fan1radiatorFanStatus = scalar, U08, 1212, "", 1, 0 +; total TS size = 1216 +fan2cranking = bits, U32, 1216, [0:0] +fan2notRunning = bits, U32, 1216, [1:1] +fan2disabledWhileEngineStopped = bits, U32, 1216, [2:2] +fan2brokenClt = bits, U32, 1216, [3:3] +fan2enabledForAc = bits, U32, 1216, [4:4] +fan2hot = bits, U32, 1216, [5:5] +fan2cold = bits, U32, 1216, [6:6] +fan2disabledBySpeed = bits, U32, 1216, [7:7] +fan2m_state = bits, U32, 1216, [8:8] +fan2radiatorFanStatus = scalar, U08, 1220, "", 1, 0 ; total TS size = 1224 -isBenchTest = bits, U32, 1224, [0:0] -hasIgnitionVoltage = bits, U32, 1224, [1:1] -mainRelayState = bits, U32, 1224, [2:2] -delayedShutoffRequested = bits, U32, 1224, [3:3] +isPrime = bits, U32, 1224, [0:0] +engineTurnedRecently = bits, U32, 1224, [1:1] +isFuelPumpOn = bits, U32, 1224, [2:2] +ignitionOn = bits, U32, 1224, [3:3] ; total TS size = 1228 -lua_fuelAdd = scalar, F32, 1228, "g", 1, 0 -lua_fuelMult = scalar, F32, 1232, "", 1, 0 -lua_clutchUpState = bits, U32, 1236, [0:0] -lua_brakePedalState = bits, U32, 1236, [1:1] -lua_acRequestState = bits, U32, 1236, [2:2] -lua_luaDisableEtb = bits, U32, 1236, [3:3] -lua_luaIgnCut = bits, U32, 1236, [4:4] -lua_luaFuelCut = bits, U32, 1236, [5:5] -lua_clutchDownState = bits, U32, 1236, [6:6] -lua_disableDecelerationFuelCutOff = bits, U32, 1236, [7:7] -lua_torqueReductionState = bits, U32, 1236, [8:8] -sd_tCharge = scalar, S16, 1240, "deg C", 0.01, 0 -sd_tChargeK = scalar, F32, 1244, "", 1, 0 -crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1248, "", 1, 0 -crankingFuel_tpsCoefficient = scalar, F32, 1252, "", 1, 0 -crankingFuel_durationCoefficient = scalar, F32, 1256, "", 1, 0 -crankingFuel_fuel = scalar, U16, 1260, "mg", 0.01, 0 -baroCorrection = scalar, F32, 1264, "", 1, 0 -hellenBoardId = scalar, S16, 1268, "id", 1, 0 -clutchUpState = scalar, S08, 1270, "", 1, 0 -brakePedalState = scalar, S08, 1271, "", 1, 0 -startStopState = scalar, S08, 1272, "", 1, 0 -smartChipState = scalar, S08, 1273, "", 1, 0 -smartChipRestartCounter = scalar, S08, 1274, "", 1, 0 -smartChipAliveCounter = scalar, S08, 1275, "", 1, 0 -startStopPhysicalState = bits, U32, 1276, [0:0] -acrActive = bits, U32, 1276, [1:1] -acrEngineMovedRecently = bits, U32, 1276, [2:2] -heaterControlEnabled = bits, U32, 1276, [3:3] -luaDigitalState0 = bits, U32, 1276, [4:4] -luaDigitalState1 = bits, U32, 1276, [5:5] -luaDigitalState2 = bits, U32, 1276, [6:6] -luaDigitalState3 = bits, U32, 1276, [7:7] -clutchDownState = bits, U32, 1276, [8:8] -startStopStateToggleCounter = scalar, U32, 1280, "", 1, 0 -luaSoftSparkSkip = scalar, F32, 1284, "", 1, 0 -luaHardSparkSkip = scalar, F32, 1288, "", 1, 0 -tractionControlSparkSkip = scalar, F32, 1292, "", 1, 0 -fuelInjectionCounter = scalar, U32, 1296, "", 1, 0 -globalSparkCounter = scalar, U32, 1300, "", 1, 0 -fuelingLoad = scalar, F32, 1304, "", 1, 0 -ignitionLoad = scalar, F32, 1308, "", 1, 0 -veTableYAxis = scalar, U16, 1312, "%", 0.01, 0 -overDwellCounter = scalar, U08, 1314, "", 1, 0 -overDwellNotScheduledCounter = scalar, U08, 1315, "", 1, 0 -sparkOutOfOrderCounter = scalar, U08, 1316, "", 1, 0 -; total TS size = 1320 -tpsFrom = scalar, F32, 1320 -tpsTo = scalar, F32, 1324 -deltaTps = scalar, F32, 1328 -extraFuel = scalar, F32, 1332, "", 1, 0 -valueFromTable = scalar, F32, 1336, "", 1, 0 -isAboveAccelThreshold = bits, U32, 1340, [0:0] -isBelowDecelThreshold = bits, U32, 1340, [1:1] -isTimeToResetAccumulator = bits, U32, 1340, [2:2] -isFractionalEnrichment = bits, U32, 1340, [3:3] -belowEpsilon = bits, U32, 1340, [4:4] -tooShort = bits, U32, 1340, [5:5] -fractionalInjFuel = scalar, F32, 1344, "", 1, 0 -accumulatedValue = scalar, F32, 1348, "", 1, 0 -maxExtraPerCycle = scalar, F32, 1352, "", 1, 0 -maxExtraPerPeriod = scalar, F32, 1356, "", 1, 0 -maxInjectedPerPeriod = scalar, F32, 1360, "", 1, 0 -cycleCnt = scalar, S32, 1364, "", 1, 0 -; total TS size = 1368 -hwEventCounters1 = scalar, U16, 1368, "", 1, 0 -hwEventCounters2 = scalar, U16, 1370, "", 1, 0 -hwEventCounters3 = scalar, U16, 1372, "", 1, 0 -hwEventCounters4 = scalar, U16, 1374, "", 1, 0 -vvtCamCounter = scalar, U16, 1376, "", 1, 0 -mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1380, "kPa", 1, 0 -mapVvt_MAP_AT_DIFF = scalar, F32, 1384, "kPa", 1, 0 -mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1388, "distance", 1, 0 -mapVvt_sync_counter = scalar, U08, 1389, "counter", 1, 0 -currentEngineDecodedPhase = scalar, F32, 1392, "deg", 1, 0 -triggerToothAngleError = scalar, F32, 1396, "deg", 1, 0 -triggerIgnoredToothCount = scalar, U08, 1400, "", 1, 0 -mapCamPrevToothAngle = scalar, F32, 1404, "deg", 1, 0 -isDecodingMapCam = bits, U32, 1408, [0:0] -triggerElapsedUs = scalar, U32, 1412, "", 1, 0 -; total TS size = 1416 -trgsynchronizationCounter = scalar, U32, 1416, "", 1, 0 -trgvvtToothDurations0 = scalar, U32, 1420, "us", 1, 0 -trgvvtCurrentPosition = scalar, F32, 1424, "", 1, 0 -trgvvtToothPosition1 = scalar, F32, 1428, "", 1, 0 -trgvvtToothPosition2 = scalar, F32, 1432, "", 1, 0 -trgvvtToothPosition3 = scalar, F32, 1436, "", 1, 0 -trgvvtToothPosition4 = scalar, F32, 1440, "", 1, 0 -trgtriggerSyncGapRatio = scalar, F32, 1444, "", 1, 0 -trgtriggerStateIndex = scalar, U08, 1448, "", 1, 0 -; total TS size = 1452 -vvt1isynchronizationCounter = scalar, U32, 1452, "", 1, 0 -vvt1ivvtToothDurations0 = scalar, U32, 1456, "us", 1, 0 -vvt1ivvtCurrentPosition = scalar, F32, 1460, "", 1, 0 -vvt1ivvtToothPosition1 = scalar, F32, 1464, "", 1, 0 -vvt1ivvtToothPosition2 = scalar, F32, 1468, "", 1, 0 -vvt1ivvtToothPosition3 = scalar, F32, 1472, "", 1, 0 -vvt1ivvtToothPosition4 = scalar, F32, 1476, "", 1, 0 -vvt1itriggerSyncGapRatio = scalar, F32, 1480, "", 1, 0 -vvt1itriggerStateIndex = scalar, U08, 1484, "", 1, 0 -; total TS size = 1488 -vvt1esynchronizationCounter = scalar, U32, 1488, "", 1, 0 -vvt1evvtToothDurations0 = scalar, U32, 1492, "us", 1, 0 -vvt1evvtCurrentPosition = scalar, F32, 1496, "", 1, 0 -vvt1evvtToothPosition1 = scalar, F32, 1500, "", 1, 0 -vvt1evvtToothPosition2 = scalar, F32, 1504, "", 1, 0 -vvt1evvtToothPosition3 = scalar, F32, 1508, "", 1, 0 -vvt1evvtToothPosition4 = scalar, F32, 1512, "", 1, 0 -vvt1etriggerSyncGapRatio = scalar, F32, 1516, "", 1, 0 -vvt1etriggerStateIndex = scalar, U08, 1520, "", 1, 0 -; total TS size = 1524 -vvt2isynchronizationCounter = scalar, U32, 1524, "", 1, 0 -vvt2ivvtToothDurations0 = scalar, U32, 1528, "us", 1, 0 -vvt2ivvtCurrentPosition = scalar, F32, 1532, "", 1, 0 -vvt2ivvtToothPosition1 = scalar, F32, 1536, "", 1, 0 -vvt2ivvtToothPosition2 = scalar, F32, 1540, "", 1, 0 -vvt2ivvtToothPosition3 = scalar, F32, 1544, "", 1, 0 -vvt2ivvtToothPosition4 = scalar, F32, 1548, "", 1, 0 -vvt2itriggerSyncGapRatio = scalar, F32, 1552, "", 1, 0 -vvt2itriggerStateIndex = scalar, U08, 1556, "", 1, 0 -; total TS size = 1560 -vvt2esynchronizationCounter = scalar, U32, 1560, "", 1, 0 -vvt2evvtToothDurations0 = scalar, U32, 1564, "us", 1, 0 -vvt2evvtCurrentPosition = scalar, F32, 1568, "", 1, 0 -vvt2evvtToothPosition1 = scalar, F32, 1572, "", 1, 0 -vvt2evvtToothPosition2 = scalar, F32, 1576, "", 1, 0 -vvt2evvtToothPosition3 = scalar, F32, 1580, "", 1, 0 -vvt2evvtToothPosition4 = scalar, F32, 1584, "", 1, 0 -vvt2etriggerSyncGapRatio = scalar, F32, 1588, "", 1, 0 -vvt2etriggerStateIndex = scalar, U08, 1592, "", 1, 0 -; total TS size = 1596 -camResyncCounter = scalar, U08, 1596, "", 1, 0 -m_hasSynchronizedPhase = bits, U32, 1600, [0:0] -; total TS size = 1604 -wallFuelCorrection = scalar, F32, 1604, "", 1, 0 -wallFuel = scalar, F32, 1608, "", 1, 0 -; total TS size = 1612 -idleState = bits, S32, 1612, [0:2], "not important" -currentIdlePosition = scalar, F32, 1616 -baseIdlePosition = scalar, F32, 1620 -idleClosedLoop = scalar, F32, 1624 -iacByTpsTaper = scalar, F32, 1628 -mightResetPid = bits, U32, 1632, [0:0] -shouldResetPid = bits, U32, 1632, [1:1] -wasResetPid = bits, U32, 1632, [2:2] -mustResetPid = bits, U32, 1632, [3:3] -isCranking = bits, U32, 1632, [4:4] -isIacTableForCoasting = bits, U32, 1632, [5:5] -notIdling = bits, U32, 1632, [6:6] -needReset = bits, U32, 1632, [7:7] -isInDeadZone = bits, U32, 1632, [8:8] -isBlipping = bits, U32, 1632, [9:9] -useClosedLoop = bits, U32, 1632, [10:10] -badTps = bits, U32, 1632, [11:11] -looksLikeRunning = bits, U32, 1632, [12:12] -looksLikeCoasting = bits, U32, 1632, [13:13] -looksLikeCrankToIdle = bits, U32, 1632, [14:14] -isIdleCoasting = bits, U32, 1632, [15:15] -isIdleClosedLoop = bits, U32, 1632, [16:16] -idleTarget = scalar, S32, 1636, "", 1, 0 -targetRpmByClt = scalar, S32, 1640, "", 1, 0 -targetRpmAc = scalar, S32, 1644, "", 1, 0 -iacByRpmTaper = scalar, F32, 1648 -luaAdd = scalar, F32, 1652 -; total TS size = 1656 -etb1targetWithIdlePosition = scalar, F32, 1656, "%", 1,0 -etb1trim = scalar, F32, 1660, "", 1, 0 -etb1luaAdjustment = scalar, F32, 1664, "%", 1,0 -etb1m_wastegatePosition = scalar, F32, 1668, "%", 1,0 -etb1etbFeedForward = scalar, F32, 1672 -etb1etbIntegralError = scalar, F32, 1676, "", 1, 0 -etb1etbCurrentTarget = scalar, F32, 1680, "%", 1, 0 -etb1m_adjustedTarget = scalar, S16, 1684, "%", 0.01, 0 -etb1etbRevLimitActive = bits, U32, 1688, [0:0] -etb1jamDetected = bits, U32, 1688, [1:1] -etb1validPlantPosition = bits, U32, 1688, [2:2] -etb1etbTpsErrorCounter = scalar, U16, 1692, "count", 1,0 -etb1etbPpsErrorCounter = scalar, U16, 1694, "count", 1,0 -etb1etbErrorCode = scalar, S08, 1696, "", 1, 0 -etb1etbErrorCodeBlinker = scalar, S08, 1697, "", 1, 0 -etb1tcEtbDrop = scalar, S08, 1698, "%", 1, 0 -etb1jamTimer = scalar, U16, 1700, "sec", 0.01, 0 -etb1adjustedEtbTarget = scalar, S08, 1702, "%", 1, 0 -etb1state = scalar, U08, 1703, "", 1, 0 -; total TS size = 1704 -etb2targetWithIdlePosition = scalar, F32, 1704, "%", 1,0 -etb2trim = scalar, F32, 1708, "", 1, 0 -etb2luaAdjustment = scalar, F32, 1712, "%", 1,0 -etb2m_wastegatePosition = scalar, F32, 1716, "%", 1,0 -etb2etbFeedForward = scalar, F32, 1720 -etb2etbIntegralError = scalar, F32, 1724, "", 1, 0 -etb2etbCurrentTarget = scalar, F32, 1728, "%", 1, 0 -etb2m_adjustedTarget = scalar, S16, 1732, "%", 0.01, 0 -etb2etbRevLimitActive = bits, U32, 1736, [0:0] -etb2jamDetected = bits, U32, 1736, [1:1] -etb2validPlantPosition = bits, U32, 1736, [2:2] -etb2etbTpsErrorCounter = scalar, U16, 1740, "count", 1,0 -etb2etbPpsErrorCounter = scalar, U16, 1742, "count", 1,0 -etb2etbErrorCode = scalar, S08, 1744, "", 1, 0 -etb2etbErrorCodeBlinker = scalar, S08, 1745, "", 1, 0 -etb2tcEtbDrop = scalar, S08, 1746, "%", 1, 0 -etb2jamTimer = scalar, U16, 1748, "sec", 0.01, 0 -etb2adjustedEtbTarget = scalar, S08, 1750, "%", 1, 0 -etb2state = scalar, U08, 1751, "", 1, 0 -; total TS size = 1752 -wb1faultCode = scalar, U08, 1752, "", 1, 0 -wb1heaterDuty = scalar, U08, 1753, "%", 1, 0 -wb1pumpDuty = scalar, U08, 1754, "%", 1, 0 -wb1tempC = scalar, U16, 1756, "C", 1, 0 -wb1nernstVoltage = scalar, U16, 1758, "V", 0.001, 0 -wb1esr = scalar, U16, 1760, "ohm", 1, 0 -; total TS size = 1764 -wb2faultCode = scalar, U08, 1764, "", 1, 0 -wb2heaterDuty = scalar, U08, 1765, "%", 1, 0 -wb2pumpDuty = scalar, U08, 1766, "%", 1, 0 -wb2tempC = scalar, U16, 1768, "C", 1, 0 -wb2nernstVoltage = scalar, U16, 1770, "V", 0.001, 0 -wb2esr = scalar, U16, 1772, "ohm", 1, 0 -; total TS size = 1776 -dcOutput0 = scalar, F32, 1776, "%", 1,0 -isEnabled0_int = scalar, U08, 1780, "%", 1,0 -isEnabled0 = bits, U32, 1784, [0:0] -; total TS size = 1788 -value0 = scalar, U16, 1788, "RAW", 1,0 -value1 = scalar, U16, 1790, "RAW", 1,0 -errorRate = scalar, F32, 1792, "% (don't belive me)", 1,0 -; total TS size = 1796 -vvtTarget = scalar, U16, 1796, "deg", 0.1, 0 -vvtOutput = scalar, U08, 1798, "%", 0.5, 0 +isBenchTest = bits, U32, 1228, [0:0] +hasIgnitionVoltage = bits, U32, 1228, [1:1] +mainRelayState = bits, U32, 1228, [2:2] +delayedShutoffRequested = bits, U32, 1228, [3:3] +; total TS size = 1232 +lua_fuelAdd = scalar, F32, 1232, "g", 1, 0 +lua_fuelMult = scalar, F32, 1236, "", 1, 0 +lua_clutchUpState = bits, U32, 1240, [0:0] +lua_brakePedalState = bits, U32, 1240, [1:1] +lua_acRequestState = bits, U32, 1240, [2:2] +lua_luaDisableEtb = bits, U32, 1240, [3:3] +lua_luaIgnCut = bits, U32, 1240, [4:4] +lua_luaFuelCut = bits, U32, 1240, [5:5] +lua_clutchDownState = bits, U32, 1240, [6:6] +lua_disableDecelerationFuelCutOff = bits, U32, 1240, [7:7] +lua_torqueReductionState = bits, U32, 1240, [8:8] +sd_tCharge = scalar, S16, 1244, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1248, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1252, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1256, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1260, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1264, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1268, "", 1, 0 +hellenBoardId = scalar, S16, 1272, "id", 1, 0 +clutchUpState = scalar, S08, 1274, "", 1, 0 +brakePedalState = scalar, S08, 1275, "", 1, 0 +startStopState = scalar, S08, 1276, "", 1, 0 +smartChipState = scalar, S08, 1277, "", 1, 0 +smartChipRestartCounter = scalar, S08, 1278, "", 1, 0 +smartChipAliveCounter = scalar, S08, 1279, "", 1, 0 +startStopPhysicalState = bits, U32, 1280, [0:0] +acrActive = bits, U32, 1280, [1:1] +acrEngineMovedRecently = bits, U32, 1280, [2:2] +heaterControlEnabled = bits, U32, 1280, [3:3] +luaDigitalState0 = bits, U32, 1280, [4:4] +luaDigitalState1 = bits, U32, 1280, [5:5] +luaDigitalState2 = bits, U32, 1280, [6:6] +luaDigitalState3 = bits, U32, 1280, [7:7] +clutchDownState = bits, U32, 1280, [8:8] +startStopStateToggleCounter = scalar, U32, 1284, "", 1, 0 +luaSoftSparkSkip = scalar, F32, 1288, "", 1, 0 +luaHardSparkSkip = scalar, F32, 1292, "", 1, 0 +tractionControlSparkSkip = scalar, F32, 1296, "", 1, 0 +fuelInjectionCounter = scalar, U32, 1300, "", 1, 0 +globalSparkCounter = scalar, U32, 1304, "", 1, 0 +fuelingLoad = scalar, F32, 1308, "", 1, 0 +ignitionLoad = scalar, F32, 1312, "", 1, 0 +veTableYAxis = scalar, U16, 1316, "%", 0.01, 0 +overDwellCounter = scalar, U08, 1318, "", 1, 0 +overDwellNotScheduledCounter = scalar, U08, 1319, "", 1, 0 +sparkOutOfOrderCounter = scalar, U08, 1320, "", 1, 0 +; total TS size = 1324 +tpsFrom = scalar, F32, 1324 +tpsTo = scalar, F32, 1328 +deltaTps = scalar, F32, 1332 +extraFuel = scalar, F32, 1336, "", 1, 0 +valueFromTable = scalar, F32, 1340, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1344, [0:0] +isBelowDecelThreshold = bits, U32, 1344, [1:1] +isTimeToResetAccumulator = bits, U32, 1344, [2:2] +isFractionalEnrichment = bits, U32, 1344, [3:3] +belowEpsilon = bits, U32, 1344, [4:4] +tooShort = bits, U32, 1344, [5:5] +fractionalInjFuel = scalar, F32, 1348, "", 1, 0 +accumulatedValue = scalar, F32, 1352, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1356, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1360, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1364, "", 1, 0 +cycleCnt = scalar, S32, 1368, "", 1, 0 +; total TS size = 1372 +hwEventCounters1 = scalar, U16, 1372, "", 1, 0 +hwEventCounters2 = scalar, U16, 1374, "", 1, 0 +hwEventCounters3 = scalar, U16, 1376, "", 1, 0 +hwEventCounters4 = scalar, U16, 1378, "", 1, 0 +vvtCamCounter = scalar, U16, 1380, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1384, "kPa", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1388, "kPa", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, S08, 1392, "distance", 1, 0 +mapVvt_sync_counter = scalar, U08, 1393, "counter", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1396, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1400, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1404, "", 1, 0 +mapCamPrevToothAngle = scalar, F32, 1408, "deg", 1, 0 +isDecodingMapCam = bits, U32, 1412, [0:0] +triggerElapsedUs = scalar, U32, 1416, "", 1, 0 +; total TS size = 1420 +trgsynchronizationCounter = scalar, U32, 1420, "", 1, 0 +trgvvtToothDurations0 = scalar, U32, 1424, "us", 1, 0 +trgvvtCurrentPosition = scalar, F32, 1428, "", 1, 0 +trgvvtToothPosition1 = scalar, F32, 1432, "", 1, 0 +trgvvtToothPosition2 = scalar, F32, 1436, "", 1, 0 +trgvvtToothPosition3 = scalar, F32, 1440, "", 1, 0 +trgvvtToothPosition4 = scalar, F32, 1444, "", 1, 0 +trgtriggerSyncGapRatio = scalar, F32, 1448, "", 1, 0 +trgtriggerStateIndex = scalar, U08, 1452, "", 1, 0 +; total TS size = 1456 +vvt1isynchronizationCounter = scalar, U32, 1456, "", 1, 0 +vvt1ivvtToothDurations0 = scalar, U32, 1460, "us", 1, 0 +vvt1ivvtCurrentPosition = scalar, F32, 1464, "", 1, 0 +vvt1ivvtToothPosition1 = scalar, F32, 1468, "", 1, 0 +vvt1ivvtToothPosition2 = scalar, F32, 1472, "", 1, 0 +vvt1ivvtToothPosition3 = scalar, F32, 1476, "", 1, 0 +vvt1ivvtToothPosition4 = scalar, F32, 1480, "", 1, 0 +vvt1itriggerSyncGapRatio = scalar, F32, 1484, "", 1, 0 +vvt1itriggerStateIndex = scalar, U08, 1488, "", 1, 0 +; total TS size = 1492 +vvt1esynchronizationCounter = scalar, U32, 1492, "", 1, 0 +vvt1evvtToothDurations0 = scalar, U32, 1496, "us", 1, 0 +vvt1evvtCurrentPosition = scalar, F32, 1500, "", 1, 0 +vvt1evvtToothPosition1 = scalar, F32, 1504, "", 1, 0 +vvt1evvtToothPosition2 = scalar, F32, 1508, "", 1, 0 +vvt1evvtToothPosition3 = scalar, F32, 1512, "", 1, 0 +vvt1evvtToothPosition4 = scalar, F32, 1516, "", 1, 0 +vvt1etriggerSyncGapRatio = scalar, F32, 1520, "", 1, 0 +vvt1etriggerStateIndex = scalar, U08, 1524, "", 1, 0 +; total TS size = 1528 +vvt2isynchronizationCounter = scalar, U32, 1528, "", 1, 0 +vvt2ivvtToothDurations0 = scalar, U32, 1532, "us", 1, 0 +vvt2ivvtCurrentPosition = scalar, F32, 1536, "", 1, 0 +vvt2ivvtToothPosition1 = scalar, F32, 1540, "", 1, 0 +vvt2ivvtToothPosition2 = scalar, F32, 1544, "", 1, 0 +vvt2ivvtToothPosition3 = scalar, F32, 1548, "", 1, 0 +vvt2ivvtToothPosition4 = scalar, F32, 1552, "", 1, 0 +vvt2itriggerSyncGapRatio = scalar, F32, 1556, "", 1, 0 +vvt2itriggerStateIndex = scalar, U08, 1560, "", 1, 0 +; total TS size = 1564 +vvt2esynchronizationCounter = scalar, U32, 1564, "", 1, 0 +vvt2evvtToothDurations0 = scalar, U32, 1568, "us", 1, 0 +vvt2evvtCurrentPosition = scalar, F32, 1572, "", 1, 0 +vvt2evvtToothPosition1 = scalar, F32, 1576, "", 1, 0 +vvt2evvtToothPosition2 = scalar, F32, 1580, "", 1, 0 +vvt2evvtToothPosition3 = scalar, F32, 1584, "", 1, 0 +vvt2evvtToothPosition4 = scalar, F32, 1588, "", 1, 0 +vvt2etriggerSyncGapRatio = scalar, F32, 1592, "", 1, 0 +vvt2etriggerStateIndex = scalar, U08, 1596, "", 1, 0 +; total TS size = 1600 +camResyncCounter = scalar, U08, 1600, "", 1, 0 +m_hasSynchronizedPhase = bits, U32, 1604, [0:0] +; total TS size = 1608 +wallFuelCorrection = scalar, F32, 1608, "", 1, 0 +wallFuel = scalar, F32, 1612, "", 1, 0 +; total TS size = 1616 +idleState = bits, S32, 1616, [0:2], "not important" +currentIdlePosition = scalar, F32, 1620 +baseIdlePosition = scalar, F32, 1624 +idleClosedLoop = scalar, F32, 1628 +iacByTpsTaper = scalar, F32, 1632 +mightResetPid = bits, U32, 1636, [0:0] +shouldResetPid = bits, U32, 1636, [1:1] +wasResetPid = bits, U32, 1636, [2:2] +mustResetPid = bits, U32, 1636, [3:3] +isCranking = bits, U32, 1636, [4:4] +isIacTableForCoasting = bits, U32, 1636, [5:5] +notIdling = bits, U32, 1636, [6:6] +needReset = bits, U32, 1636, [7:7] +isInDeadZone = bits, U32, 1636, [8:8] +isBlipping = bits, U32, 1636, [9:9] +useClosedLoop = bits, U32, 1636, [10:10] +badTps = bits, U32, 1636, [11:11] +looksLikeRunning = bits, U32, 1636, [12:12] +looksLikeCoasting = bits, U32, 1636, [13:13] +looksLikeCrankToIdle = bits, U32, 1636, [14:14] +isIdleCoasting = bits, U32, 1636, [15:15] +isIdleClosedLoop = bits, U32, 1636, [16:16] +idleTarget = scalar, S32, 1640, "", 1, 0 +targetRpmByClt = scalar, S32, 1644, "", 1, 0 +targetRpmAc = scalar, S32, 1648, "", 1, 0 +iacByRpmTaper = scalar, F32, 1652 +luaAdd = scalar, F32, 1656 +; total TS size = 1660 +etb1targetWithIdlePosition = scalar, F32, 1660, "%", 1,0 +etb1trim = scalar, F32, 1664, "", 1, 0 +etb1luaAdjustment = scalar, F32, 1668, "%", 1,0 +etb1m_wastegatePosition = scalar, F32, 1672, "%", 1,0 +etb1etbFeedForward = scalar, F32, 1676 +etb1etbIntegralError = scalar, F32, 1680, "", 1, 0 +etb1etbCurrentTarget = scalar, F32, 1684, "%", 1, 0 +etb1m_adjustedTarget = scalar, S16, 1688, "%", 0.01, 0 +etb1etbRevLimitActive = bits, U32, 1692, [0:0] +etb1jamDetected = bits, U32, 1692, [1:1] +etb1validPlantPosition = bits, U32, 1692, [2:2] +etb1etbTpsErrorCounter = scalar, U16, 1696, "count", 1,0 +etb1etbPpsErrorCounter = scalar, U16, 1698, "count", 1,0 +etb1etbErrorCode = scalar, S08, 1700, "", 1, 0 +etb1etbErrorCodeBlinker = scalar, S08, 1701, "", 1, 0 +etb1tcEtbDrop = scalar, S08, 1702, "%", 1, 0 +etb1jamTimer = scalar, U16, 1704, "sec", 0.01, 0 +etb1adjustedEtbTarget = scalar, S08, 1706, "%", 1, 0 +etb1state = scalar, U08, 1707, "", 1, 0 +; total TS size = 1708 +etb2targetWithIdlePosition = scalar, F32, 1708, "%", 1,0 +etb2trim = scalar, F32, 1712, "", 1, 0 +etb2luaAdjustment = scalar, F32, 1716, "%", 1,0 +etb2m_wastegatePosition = scalar, F32, 1720, "%", 1,0 +etb2etbFeedForward = scalar, F32, 1724 +etb2etbIntegralError = scalar, F32, 1728, "", 1, 0 +etb2etbCurrentTarget = scalar, F32, 1732, "%", 1, 0 +etb2m_adjustedTarget = scalar, S16, 1736, "%", 0.01, 0 +etb2etbRevLimitActive = bits, U32, 1740, [0:0] +etb2jamDetected = bits, U32, 1740, [1:1] +etb2validPlantPosition = bits, U32, 1740, [2:2] +etb2etbTpsErrorCounter = scalar, U16, 1744, "count", 1,0 +etb2etbPpsErrorCounter = scalar, U16, 1746, "count", 1,0 +etb2etbErrorCode = scalar, S08, 1748, "", 1, 0 +etb2etbErrorCodeBlinker = scalar, S08, 1749, "", 1, 0 +etb2tcEtbDrop = scalar, S08, 1750, "%", 1, 0 +etb2jamTimer = scalar, U16, 1752, "sec", 0.01, 0 +etb2adjustedEtbTarget = scalar, S08, 1754, "%", 1, 0 +etb2state = scalar, U08, 1755, "", 1, 0 +; total TS size = 1756 +wb1faultCode = scalar, U08, 1756, "", 1, 0 +wb1heaterDuty = scalar, U08, 1757, "%", 1, 0 +wb1pumpDuty = scalar, U08, 1758, "%", 1, 0 +wb1tempC = scalar, U16, 1760, "C", 1, 0 +wb1nernstVoltage = scalar, U16, 1762, "V", 0.001, 0 +wb1esr = scalar, U16, 1764, "ohm", 1, 0 +; total TS size = 1768 +wb2faultCode = scalar, U08, 1768, "", 1, 0 +wb2heaterDuty = scalar, U08, 1769, "%", 1, 0 +wb2pumpDuty = scalar, U08, 1770, "%", 1, 0 +wb2tempC = scalar, U16, 1772, "C", 1, 0 +wb2nernstVoltage = scalar, U16, 1774, "V", 0.001, 0 +wb2esr = scalar, U16, 1776, "ohm", 1, 0 +; total TS size = 1780 +dcOutput0 = scalar, F32, 1780, "%", 1,0 +isEnabled0_int = scalar, U08, 1784, "%", 1,0 +isEnabled0 = bits, U32, 1788, [0:0] +; total TS size = 1792 +value0 = scalar, U16, 1792, "RAW", 1,0 +value1 = scalar, U16, 1794, "RAW", 1,0 +errorRate = scalar, F32, 1796, "% (don't belive me)", 1,0 ; total TS size = 1800 -lambdaCurrentlyGood = bits, U32, 1800, [0:0] -lambdaMonitorCut = bits, U32, 1800, [1:1] -lambdaTimeSinceGood = scalar, U16, 1804, "sec", 0.01, 0 -; total TS size = 1808 +vvtTarget = scalar, U16, 1800, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1802, "%", 0.5, 0 +; total TS size = 1804 +lambdaCurrentlyGood = bits, U32, 1804, [0:0] +lambdaMonitorCut = bits, U32, 1804, [1:1] +lambdaTimeSinceGood = scalar, U16, 1808, "sec", 0.01, 0 +; total TS size = 1812 time = { timeNow } @@ -4584,6 +4587,12 @@ curve = rangeMatrix, "Range Switch Input Matrix" gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. upDownLabel = "(RICHER)", "(LEANER)" + table = trailingSparkTable, trailingSparkMap, "Trailing spark", 1 + xyLabels = "RPM", "Ignition Load" + xBins = trailingSparkRpmBins, RPMValue + yBins = trailingSparkLoadBins, ignitionLoad + zBins = trailingSparkTable + table = torqueTableTbl, torqueTableMap, "Engine Torque", 1 xBins = torqueRpmBins, RPMValue yBins = torqueLoadBins, veTableYAxis @@ -4881,6 +4890,7 @@ timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20 timingPidCorrectionGauge = timingPidCorrection,"Idle: Timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 +trailingSparkAngleGauge = trailingSparkAngle,"Ign: Trailing spark deg", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 gaugeCategory = "Boost Control" luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 @@ -5812,6 +5822,7 @@ entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" entry = luaIgnitionSkip, "Ign: Lua Spark Skip", int, "%d" +entry = trailingSparkAngle, "Ign: Trailing spark deg", float, "%.3f" entry = m_knockLevel, "Knock: Current level", float, "%.3f" entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" @@ -6780,6 +6791,7 @@ dialog = ignition_stateDialog, "ignition_state" graphLine = luaTimingAdd liveGraph = ignition_state_4_Graph, "Graph", South graphLine = luaTimingMult + graphLine = trailingSparkAngle dialog = knock_controllerDialog, "knock_controller" @@ -10081,11 +10093,11 @@ commandButton = "VAG i5", cmd_set_engine_type_vag_5 dialog = rotaryDialog, "Rotary" field = "Enable Trailing Sparks", enableTrailingSparks - field = "Trailing Spark Offset", trailingSparkAngle field = "Trailing Pin 1", trailingCoilPins1 field = "Trailing Pin 2", trailingCoilPins2 field = "Trailing Pin 3", trailingCoilPins3 field = "Trailing Pin 4", trailingCoilPins4 + panel = trailingSparkTable 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 93d218428d..e8f31000d5 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 @@ -181,18 +181,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(1192); - public static final Field ALIGNMENTFILL_AT_1 = Field.create("ALIGNMENTFILL_AT_1", 1, FieldType.INT8).setScale(1.0).setBaseOffset(1192); - public static final Field M_ACENABLED = Field.create("M_ACENABLED", 4, FieldType.BIT, 0).setBaseOffset(1192); - public static final Field ENGINETOOSLOW = Field.create("ENGINETOOSLOW", 4, FieldType.BIT, 1).setBaseOffset(1192); - public static final Field ENGINETOOFAST = Field.create("ENGINETOOFAST", 4, FieldType.BIT, 2).setBaseOffset(1192); - public static final Field NOCLT = Field.create("NOCLT", 4, FieldType.BIT, 3).setBaseOffset(1192); - public static final Field ENGINETOOHOT = Field.create("ENGINETOOHOT", 4, FieldType.BIT, 4).setBaseOffset(1192); - public static final Field TPSTOOHIGH = Field.create("TPSTOOHIGH", 4, FieldType.BIT, 5).setBaseOffset(1192); - public static final Field ISDISABLEDBYLUA = Field.create("ISDISABLEDBYLUA", 4, FieldType.BIT, 6).setBaseOffset(1192); - public static final Field ACCOMPRESSORSTATE = Field.create("ACCOMPRESSORSTATE", 4, FieldType.BIT, 7).setBaseOffset(1192); - public static final Field ACPRESSURETOOLOW = Field.create("ACPRESSURETOOLOW", 4, FieldType.BIT, 8).setBaseOffset(1192); - public static final Field ACPRESSURETOOHIGH = Field.create("ACPRESSURETOOHIGH", 4, FieldType.BIT, 9).setBaseOffset(1192); + public static final Field ACBUTTONSTATE = Field.create("ACBUTTONSTATE", 0, FieldType.INT8).setScale(1.0).setBaseOffset(1196); + public static final Field ALIGNMENTFILL_AT_1 = Field.create("ALIGNMENTFILL_AT_1", 1, FieldType.INT8).setScale(1.0).setBaseOffset(1196); + public static final Field M_ACENABLED = Field.create("M_ACENABLED", 4, FieldType.BIT, 0).setBaseOffset(1196); + public static final Field ENGINETOOSLOW = Field.create("ENGINETOOSLOW", 4, FieldType.BIT, 1).setBaseOffset(1196); + public static final Field ENGINETOOFAST = Field.create("ENGINETOOFAST", 4, FieldType.BIT, 2).setBaseOffset(1196); + public static final Field NOCLT = Field.create("NOCLT", 4, FieldType.BIT, 3).setBaseOffset(1196); + public static final Field ENGINETOOHOT = Field.create("ENGINETOOHOT", 4, FieldType.BIT, 4).setBaseOffset(1196); + public static final Field TPSTOOHIGH = Field.create("TPSTOOHIGH", 4, FieldType.BIT, 5).setBaseOffset(1196); + public static final Field ISDISABLEDBYLUA = Field.create("ISDISABLEDBYLUA", 4, FieldType.BIT, 6).setBaseOffset(1196); + public static final Field ACCOMPRESSORSTATE = Field.create("ACCOMPRESSORSTATE", 4, FieldType.BIT, 7).setBaseOffset(1196); + public static final Field ACPRESSURETOOLOW = Field.create("ACPRESSURETOOLOW", 4, FieldType.BIT, 8).setBaseOffset(1196); + public static final Field ACPRESSURETOOHIGH = Field.create("ACPRESSURETOOHIGH", 4, FieldType.BIT, 9).setBaseOffset(1196); 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 2f901721dd..eba8968f11 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 @@ -181,19 +181,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(1156); - public static final Field ALSMINRPMCONDITION = Field.create("ALSMINRPMCONDITION", 0, FieldType.BIT, 1).setBaseOffset(1156); - public static final Field ALSMAXRPMCONDITION = Field.create("ALSMAXRPMCONDITION", 0, FieldType.BIT, 2).setBaseOffset(1156); - public static final Field ALSMINCLTCONDITION = Field.create("ALSMINCLTCONDITION", 0, FieldType.BIT, 3).setBaseOffset(1156); - public static final Field ALSMAXCLTCONDITION = Field.create("ALSMAXCLTCONDITION", 0, FieldType.BIT, 4).setBaseOffset(1156); - public static final Field ALSMAXTHROTTLEINTENTCONDITION = Field.create("ALSMAXTHROTTLEINTENTCONDITION", 0, FieldType.BIT, 5).setBaseOffset(1156); - public static final Field ISALSSWITCHACTIVATED = Field.create("ISALSSWITCHACTIVATED", 0, FieldType.BIT, 6).setBaseOffset(1156); - public static final Field ALSACTIVATEPINSTATE = Field.create("ALSACTIVATEPINSTATE", 0, FieldType.BIT, 7).setBaseOffset(1156); - public static final Field ALSSWITCHCONDITION = Field.create("ALSSWITCHCONDITION", 0, FieldType.BIT, 8).setBaseOffset(1156); - public static final Field ALSTIMERCONDITION = Field.create("ALSTIMERCONDITION", 0, FieldType.BIT, 9).setBaseOffset(1156); - public static final Field FUELALSCORRECTION = Field.create("FUELALSCORRECTION", 4, FieldType.FLOAT).setBaseOffset(1156); - public static final Field TIMINGALSCORRECTION = Field.create("TIMINGALSCORRECTION", 8, FieldType.INT16).setScale(0.01).setBaseOffset(1156); - public static final Field TIMINGALSSKIP = Field.create("TIMINGALSSKIP", 10, FieldType.INT16).setScale(0.01).setBaseOffset(1156); + public static final Field ISANTILAGCONDITION = Field.create("ISANTILAGCONDITION", 0, FieldType.BIT, 0).setBaseOffset(1160); + public static final Field ALSMINRPMCONDITION = Field.create("ALSMINRPMCONDITION", 0, FieldType.BIT, 1).setBaseOffset(1160); + public static final Field ALSMAXRPMCONDITION = Field.create("ALSMAXRPMCONDITION", 0, FieldType.BIT, 2).setBaseOffset(1160); + public static final Field ALSMINCLTCONDITION = Field.create("ALSMINCLTCONDITION", 0, FieldType.BIT, 3).setBaseOffset(1160); + public static final Field ALSMAXCLTCONDITION = Field.create("ALSMAXCLTCONDITION", 0, FieldType.BIT, 4).setBaseOffset(1160); + public static final Field ALSMAXTHROTTLEINTENTCONDITION = Field.create("ALSMAXTHROTTLEINTENTCONDITION", 0, FieldType.BIT, 5).setBaseOffset(1160); + public static final Field ISALSSWITCHACTIVATED = Field.create("ISALSSWITCHACTIVATED", 0, FieldType.BIT, 6).setBaseOffset(1160); + public static final Field ALSACTIVATEPINSTATE = Field.create("ALSACTIVATEPINSTATE", 0, FieldType.BIT, 7).setBaseOffset(1160); + public static final Field ALSSWITCHCONDITION = Field.create("ALSSWITCHCONDITION", 0, FieldType.BIT, 8).setBaseOffset(1160); + public static final Field ALSTIMERCONDITION = Field.create("ALSTIMERCONDITION", 0, FieldType.BIT, 9).setBaseOffset(1160); + public static final Field FUELALSCORRECTION = Field.create("FUELALSCORRECTION", 4, FieldType.FLOAT).setBaseOffset(1160); + public static final Field TIMINGALSCORRECTION = Field.create("TIMINGALSCORRECTION", 8, FieldType.INT16).setScale(0.01).setBaseOffset(1160); + public static final Field TIMINGALSSKIP = Field.create("TIMINGALSSKIP", 10, FieldType.INT16).setScale(0.01).setBaseOffset(1160); 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 547524649b..c98d59bcd2 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 @@ -181,25 +181,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(1168); - public static final Field M_SHOULDRESETPID = Field.create("M_SHOULDRESETPID", 0, FieldType.BIT, 1).setBaseOffset(1168); - public static final Field ISBELOWCLOSEDLOOPTHRESHOLD = Field.create("ISBELOWCLOSEDLOOPTHRESHOLD", 0, FieldType.BIT, 2).setBaseOffset(1168); - public static final Field ISNOTCLOSEDLOOP = Field.create("ISNOTCLOSEDLOOP", 0, FieldType.BIT, 3).setBaseOffset(1168); - public static final Field ISZERORPM = Field.create("ISZERORPM", 0, FieldType.BIT, 4).setBaseOffset(1168); - public static final Field HASINITBOOST = Field.create("HASINITBOOST", 0, FieldType.BIT, 5).setBaseOffset(1168); - public static final Field RPMTOOLOW = Field.create("RPMTOOLOW", 0, FieldType.BIT, 6).setBaseOffset(1168); - public static final Field TPSTOOLOW = Field.create("TPSTOOLOW", 0, FieldType.BIT, 7).setBaseOffset(1168); - public static final Field MAPTOOLOW = Field.create("MAPTOOLOW", 0, FieldType.BIT, 8).setBaseOffset(1168); - public static final Field ISPLANTVALID = Field.create("ISPLANTVALID", 0, FieldType.BIT, 9).setBaseOffset(1168); - public static final Field ISBOOSTCONTROLLED = Field.create("ISBOOSTCONTROLLED", 0, FieldType.BIT, 10).setBaseOffset(1168); - public static final Field LUATARGETADD = Field.create("LUATARGETADD", 4, FieldType.INT16).setScale(0.5).setBaseOffset(1168); - public static final Field BOOSTOUTPUT = Field.create("BOOSTOUTPUT", 6, FieldType.INT16).setScale(0.01).setBaseOffset(1168); - public static final Field LUATARGETMULT = Field.create("LUATARGETMULT", 8, FieldType.FLOAT).setBaseOffset(1168); - public static final Field OPENLOOPPART = Field.create("OPENLOOPPART", 12, FieldType.FLOAT).setBaseOffset(1168); - public static final Field LUAOPENLOOPADD = Field.create("LUAOPENLOOPADD", 16, FieldType.FLOAT).setBaseOffset(1168); - public static final Field BOOSTCONTROLLERCLOSEDLOOPPART = Field.create("BOOSTCONTROLLERCLOSEDLOOPPART", 20, FieldType.INT8).setScale(0.5).setBaseOffset(1168); - public static final Field ALIGNMENTFILL_AT_21 = Field.create("ALIGNMENTFILL_AT_21", 21, FieldType.INT8).setScale(1.0).setBaseOffset(1168); - public static final Field BOOSTCONTROLTARGET = Field.create("BOOSTCONTROLTARGET", 22, FieldType.INT16).setScale(0.03333333333333333).setBaseOffset(1168); + public static final Field ISTPSINVALID = Field.create("ISTPSINVALID", 0, FieldType.BIT, 0).setBaseOffset(1172); + public static final Field M_SHOULDRESETPID = Field.create("M_SHOULDRESETPID", 0, FieldType.BIT, 1).setBaseOffset(1172); + public static final Field ISBELOWCLOSEDLOOPTHRESHOLD = Field.create("ISBELOWCLOSEDLOOPTHRESHOLD", 0, FieldType.BIT, 2).setBaseOffset(1172); + public static final Field ISNOTCLOSEDLOOP = Field.create("ISNOTCLOSEDLOOP", 0, FieldType.BIT, 3).setBaseOffset(1172); + public static final Field ISZERORPM = Field.create("ISZERORPM", 0, FieldType.BIT, 4).setBaseOffset(1172); + public static final Field HASINITBOOST = Field.create("HASINITBOOST", 0, FieldType.BIT, 5).setBaseOffset(1172); + public static final Field RPMTOOLOW = Field.create("RPMTOOLOW", 0, FieldType.BIT, 6).setBaseOffset(1172); + public static final Field TPSTOOLOW = Field.create("TPSTOOLOW", 0, FieldType.BIT, 7).setBaseOffset(1172); + public static final Field MAPTOOLOW = Field.create("MAPTOOLOW", 0, FieldType.BIT, 8).setBaseOffset(1172); + public static final Field ISPLANTVALID = Field.create("ISPLANTVALID", 0, FieldType.BIT, 9).setBaseOffset(1172); + public static final Field ISBOOSTCONTROLLED = Field.create("ISBOOSTCONTROLLED", 0, FieldType.BIT, 10).setBaseOffset(1172); + public static final Field LUATARGETADD = Field.create("LUATARGETADD", 4, FieldType.INT16).setScale(0.5).setBaseOffset(1172); + public static final Field BOOSTOUTPUT = Field.create("BOOSTOUTPUT", 6, FieldType.INT16).setScale(0.01).setBaseOffset(1172); + public static final Field LUATARGETMULT = Field.create("LUATARGETMULT", 8, FieldType.FLOAT).setBaseOffset(1172); + public static final Field OPENLOOPPART = Field.create("OPENLOOPPART", 12, FieldType.FLOAT).setBaseOffset(1172); + public static final Field LUAOPENLOOPADD = Field.create("LUAOPENLOOPADD", 16, FieldType.FLOAT).setBaseOffset(1172); + public static final Field BOOSTCONTROLLERCLOSEDLOOPPART = Field.create("BOOSTCONTROLLERCLOSEDLOOPPART", 20, FieldType.INT8).setScale(0.5).setBaseOffset(1172); + public static final Field ALIGNMENTFILL_AT_21 = Field.create("ALIGNMENTFILL_AT_21", 21, FieldType.INT8).setScale(1.0).setBaseOffset(1172); + public static final Field BOOSTCONTROLTARGET = Field.create("BOOSTCONTROLTARGET", 22, FieldType.INT16).setScale(0.03333333333333333).setBaseOffset(1172); 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 ff3448a4ed..76eb8a5545 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 @@ -181,10 +181,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(1776); - public static final Field ISENABLED0_INT = Field.create("ISENABLED0_INT", 4, FieldType.INT8).setScale(1.0).setBaseOffset(1776); - public static final Field ALIGNMENTFILL_AT_5 = Field.create("ALIGNMENTFILL_AT_5", 5, FieldType.INT8).setScale(1.0).setBaseOffset(1776); - public static final Field ISENABLED0 = Field.create("ISENABLED0", 8, FieldType.BIT, 0).setBaseOffset(1776); + public static final Field DCOUTPUT0 = Field.create("DCOUTPUT0", 0, FieldType.FLOAT).setBaseOffset(1780); + public static final Field ISENABLED0_INT = Field.create("ISENABLED0_INT", 4, FieldType.INT8).setScale(1.0).setBaseOffset(1780); + public static final Field ALIGNMENTFILL_AT_5 = Field.create("ALIGNMENTFILL_AT_5", 5, FieldType.INT8).setScale(1.0).setBaseOffset(1780); + public static final Field ISENABLED0 = Field.create("ISENABLED0", 8, FieldType.BIT, 0).setBaseOffset(1780); 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 9cef89aadd..70cc10f419 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 @@ -181,27 +181,27 @@ 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(1656); - public static final Field TRIM = Field.create("TRIM", 4, FieldType.FLOAT).setBaseOffset(1656); - public static final Field LUAADJUSTMENT = Field.create("LUAADJUSTMENT", 8, FieldType.FLOAT).setBaseOffset(1656); - public static final Field M_WASTEGATEPOSITION = Field.create("M_WASTEGATEPOSITION", 12, FieldType.FLOAT).setBaseOffset(1656); - public static final Field ETBFEEDFORWARD = Field.create("ETBFEEDFORWARD", 16, FieldType.FLOAT).setBaseOffset(1656); - public static final Field ETBINTEGRALERROR = Field.create("ETBINTEGRALERROR", 20, FieldType.FLOAT).setBaseOffset(1656); - public static final Field ETBCURRENTTARGET = Field.create("ETBCURRENTTARGET", 24, FieldType.FLOAT).setBaseOffset(1656); - public static final Field M_ADJUSTEDTARGET = Field.create("M_ADJUSTEDTARGET", 28, FieldType.INT16).setScale(0.01).setBaseOffset(1656); - public static final Field ALIGNMENTFILL_AT_30 = Field.create("ALIGNMENTFILL_AT_30", 30, FieldType.INT8).setScale(1.0).setBaseOffset(1656); - public static final Field ETBREVLIMITACTIVE = Field.create("ETBREVLIMITACTIVE", 32, FieldType.BIT, 0).setBaseOffset(1656); - public static final Field JAMDETECTED = Field.create("JAMDETECTED", 32, FieldType.BIT, 1).setBaseOffset(1656); - public static final Field VALIDPLANTPOSITION = Field.create("VALIDPLANTPOSITION", 32, FieldType.BIT, 2).setBaseOffset(1656); - public static final Field ETBTPSERRORCOUNTER = Field.create("ETBTPSERRORCOUNTER", 36, FieldType.INT16).setScale(1.0).setBaseOffset(1656); - public static final Field ETBPPSERRORCOUNTER = Field.create("ETBPPSERRORCOUNTER", 38, FieldType.INT16).setScale(1.0).setBaseOffset(1656); - public static final Field ETBERRORCODE = Field.create("ETBERRORCODE", 40, FieldType.INT8).setScale(1.0).setBaseOffset(1656); - public static final Field ETBERRORCODEBLINKER = Field.create("ETBERRORCODEBLINKER", 41, FieldType.INT8).setScale(1.0).setBaseOffset(1656); - public static final Field TCETBDROP = Field.create("TCETBDROP", 42, FieldType.INT8).setScale(1.0).setBaseOffset(1656); - public static final Field ALIGNMENTFILL_AT_43 = Field.create("ALIGNMENTFILL_AT_43", 43, FieldType.INT8).setScale(1.0).setBaseOffset(1656); - public static final Field JAMTIMER = Field.create("JAMTIMER", 44, FieldType.INT16).setScale(0.01).setBaseOffset(1656); - public static final Field ADJUSTEDETBTARGET = Field.create("ADJUSTEDETBTARGET", 46, FieldType.INT8).setScale(1.0).setBaseOffset(1656); - public static final Field STATE = Field.create("STATE", 47, FieldType.INT8).setScale(1.0).setBaseOffset(1656); + public static final Field TARGETWITHIDLEPOSITION = Field.create("TARGETWITHIDLEPOSITION", 0, FieldType.FLOAT).setBaseOffset(1660); + public static final Field TRIM = Field.create("TRIM", 4, FieldType.FLOAT).setBaseOffset(1660); + public static final Field LUAADJUSTMENT = Field.create("LUAADJUSTMENT", 8, FieldType.FLOAT).setBaseOffset(1660); + public static final Field M_WASTEGATEPOSITION = Field.create("M_WASTEGATEPOSITION", 12, FieldType.FLOAT).setBaseOffset(1660); + public static final Field ETBFEEDFORWARD = Field.create("ETBFEEDFORWARD", 16, FieldType.FLOAT).setBaseOffset(1660); + public static final Field ETBINTEGRALERROR = Field.create("ETBINTEGRALERROR", 20, FieldType.FLOAT).setBaseOffset(1660); + public static final Field ETBCURRENTTARGET = Field.create("ETBCURRENTTARGET", 24, FieldType.FLOAT).setBaseOffset(1660); + public static final Field M_ADJUSTEDTARGET = Field.create("M_ADJUSTEDTARGET", 28, FieldType.INT16).setScale(0.01).setBaseOffset(1660); + public static final Field ALIGNMENTFILL_AT_30 = Field.create("ALIGNMENTFILL_AT_30", 30, FieldType.INT8).setScale(1.0).setBaseOffset(1660); + public static final Field ETBREVLIMITACTIVE = Field.create("ETBREVLIMITACTIVE", 32, FieldType.BIT, 0).setBaseOffset(1660); + public static final Field JAMDETECTED = Field.create("JAMDETECTED", 32, FieldType.BIT, 1).setBaseOffset(1660); + public static final Field VALIDPLANTPOSITION = Field.create("VALIDPLANTPOSITION", 32, FieldType.BIT, 2).setBaseOffset(1660); + public static final Field ETBTPSERRORCOUNTER = Field.create("ETBTPSERRORCOUNTER", 36, FieldType.INT16).setScale(1.0).setBaseOffset(1660); + public static final Field ETBPPSERRORCOUNTER = Field.create("ETBPPSERRORCOUNTER", 38, FieldType.INT16).setScale(1.0).setBaseOffset(1660); + public static final Field ETBERRORCODE = Field.create("ETBERRORCODE", 40, FieldType.INT8).setScale(1.0).setBaseOffset(1660); + public static final Field ETBERRORCODEBLINKER = Field.create("ETBERRORCODEBLINKER", 41, FieldType.INT8).setScale(1.0).setBaseOffset(1660); + public static final Field TCETBDROP = Field.create("TCETBDROP", 42, FieldType.INT8).setScale(1.0).setBaseOffset(1660); + public static final Field ALIGNMENTFILL_AT_43 = Field.create("ALIGNMENTFILL_AT_43", 43, FieldType.INT8).setScale(1.0).setBaseOffset(1660); + public static final Field JAMTIMER = Field.create("JAMTIMER", 44, FieldType.INT16).setScale(0.01).setBaseOffset(1660); + public static final Field ADJUSTEDETBTARGET = Field.create("ADJUSTEDETBTARGET", 46, FieldType.INT8).setScale(1.0).setBaseOffset(1660); + public static final Field STATE = Field.create("STATE", 47, FieldType.INT8).setScale(1.0).setBaseOffset(1660); 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 bed27c515c..7bb4e35cfd 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 @@ -181,55 +181,55 @@ 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(1228); - public static final Field LUA_FUELMULT = Field.create("LUA_FUELMULT", 4, FieldType.FLOAT).setBaseOffset(1228); - public static final Field LUA_CLUTCHUPSTATE = Field.create("LUA_CLUTCHUPSTATE", 8, FieldType.BIT, 0).setBaseOffset(1228); - public static final Field LUA_BRAKEPEDALSTATE = Field.create("LUA_BRAKEPEDALSTATE", 8, FieldType.BIT, 1).setBaseOffset(1228); - public static final Field LUA_ACREQUESTSTATE = Field.create("LUA_ACREQUESTSTATE", 8, FieldType.BIT, 2).setBaseOffset(1228); - public static final Field LUA_LUADISABLEETB = Field.create("LUA_LUADISABLEETB", 8, FieldType.BIT, 3).setBaseOffset(1228); - public static final Field LUA_LUAIGNCUT = Field.create("LUA_LUAIGNCUT", 8, FieldType.BIT, 4).setBaseOffset(1228); - public static final Field LUA_LUAFUELCUT = Field.create("LUA_LUAFUELCUT", 8, FieldType.BIT, 5).setBaseOffset(1228); - public static final Field LUA_CLUTCHDOWNSTATE = Field.create("LUA_CLUTCHDOWNSTATE", 8, FieldType.BIT, 6).setBaseOffset(1228); - public static final Field LUA_DISABLEDECELERATIONFUELCUTOFF = Field.create("LUA_DISABLEDECELERATIONFUELCUTOFF", 8, FieldType.BIT, 7).setBaseOffset(1228); - public static final Field LUA_TORQUEREDUCTIONSTATE = Field.create("LUA_TORQUEREDUCTIONSTATE", 8, FieldType.BIT, 8).setBaseOffset(1228); - public static final Field SD_TCHARGE = Field.create("SD_TCHARGE", 12, FieldType.INT16).setScale(0.01).setBaseOffset(1228); - public static final Field SD_ALIGNMENTFILL_AT_2 = Field.create("SD_ALIGNMENTFILL_AT_2", 14, FieldType.INT8).setScale(1.0).setBaseOffset(1228); - public static final Field SD_TCHARGEK = Field.create("SD_TCHARGEK", 16, FieldType.FLOAT).setBaseOffset(1228); - public static final Field CRANKINGFUEL_COOLANTTEMPERATURECOEFFICIENT = Field.create("CRANKINGFUEL_COOLANTTEMPERATURECOEFFICIENT", 20, FieldType.FLOAT).setBaseOffset(1228); - public static final Field CRANKINGFUEL_TPSCOEFFICIENT = Field.create("CRANKINGFUEL_TPSCOEFFICIENT", 24, FieldType.FLOAT).setBaseOffset(1228); - public static final Field CRANKINGFUEL_DURATIONCOEFFICIENT = Field.create("CRANKINGFUEL_DURATIONCOEFFICIENT", 28, FieldType.FLOAT).setBaseOffset(1228); - public static final Field CRANKINGFUEL_FUEL = Field.create("CRANKINGFUEL_FUEL", 32, FieldType.INT16).setScale(0.01).setBaseOffset(1228); - public static final Field CRANKINGFUEL_ALIGNMENTFILL_AT_14 = Field.create("CRANKINGFUEL_ALIGNMENTFILL_AT_14", 34, FieldType.INT8).setScale(1.0).setBaseOffset(1228); - public static final Field BAROCORRECTION = Field.create("BAROCORRECTION", 36, FieldType.FLOAT).setBaseOffset(1228); - public static final Field HELLENBOARDID = Field.create("HELLENBOARDID", 40, FieldType.INT16).setScale(1.0).setBaseOffset(1228); - public static final Field CLUTCHUPSTATE = Field.create("CLUTCHUPSTATE", 42, FieldType.INT8).setScale(1.0).setBaseOffset(1228); - public static final Field BRAKEPEDALSTATE = Field.create("BRAKEPEDALSTATE", 43, FieldType.INT8).setScale(1.0).setBaseOffset(1228); - public static final Field STARTSTOPSTATE = Field.create("STARTSTOPSTATE", 44, FieldType.INT8).setScale(1.0).setBaseOffset(1228); - public static final Field SMARTCHIPSTATE = Field.create("SMARTCHIPSTATE", 45, FieldType.INT8).setScale(1.0).setBaseOffset(1228); - public static final Field SMARTCHIPRESTARTCOUNTER = Field.create("SMARTCHIPRESTARTCOUNTER", 46, FieldType.INT8).setScale(1.0).setBaseOffset(1228); - public static final Field SMARTCHIPALIVECOUNTER = Field.create("SMARTCHIPALIVECOUNTER", 47, FieldType.INT8).setScale(1.0).setBaseOffset(1228); - public static final Field STARTSTOPPHYSICALSTATE = Field.create("STARTSTOPPHYSICALSTATE", 48, FieldType.BIT, 0).setBaseOffset(1228); - public static final Field ACRACTIVE = Field.create("ACRACTIVE", 48, FieldType.BIT, 1).setBaseOffset(1228); - public static final Field ACRENGINEMOVEDRECENTLY = Field.create("ACRENGINEMOVEDRECENTLY", 48, FieldType.BIT, 2).setBaseOffset(1228); - public static final Field HEATERCONTROLENABLED = Field.create("HEATERCONTROLENABLED", 48, FieldType.BIT, 3).setBaseOffset(1228); - public static final Field LUADIGITALSTATE0 = Field.create("LUADIGITALSTATE0", 48, FieldType.BIT, 4).setBaseOffset(1228); - public static final Field LUADIGITALSTATE1 = Field.create("LUADIGITALSTATE1", 48, FieldType.BIT, 5).setBaseOffset(1228); - public static final Field LUADIGITALSTATE2 = Field.create("LUADIGITALSTATE2", 48, FieldType.BIT, 6).setBaseOffset(1228); - public static final Field LUADIGITALSTATE3 = Field.create("LUADIGITALSTATE3", 48, FieldType.BIT, 7).setBaseOffset(1228); - public static final Field CLUTCHDOWNSTATE = Field.create("CLUTCHDOWNSTATE", 48, FieldType.BIT, 8).setBaseOffset(1228); - public static final Field STARTSTOPSTATETOGGLECOUNTER = Field.create("STARTSTOPSTATETOGGLECOUNTER", 52, FieldType.INT).setScale(1.0).setBaseOffset(1228); - public static final Field LUASOFTSPARKSKIP = Field.create("LUASOFTSPARKSKIP", 56, FieldType.FLOAT).setBaseOffset(1228); - public static final Field LUAHARDSPARKSKIP = Field.create("LUAHARDSPARKSKIP", 60, FieldType.FLOAT).setBaseOffset(1228); - public static final Field TRACTIONCONTROLSPARKSKIP = Field.create("TRACTIONCONTROLSPARKSKIP", 64, FieldType.FLOAT).setBaseOffset(1228); - public static final Field FUELINJECTIONCOUNTER = Field.create("FUELINJECTIONCOUNTER", 68, FieldType.INT).setScale(1.0).setBaseOffset(1228); - public static final Field GLOBALSPARKCOUNTER = Field.create("GLOBALSPARKCOUNTER", 72, FieldType.INT).setScale(1.0).setBaseOffset(1228); - public static final Field FUELINGLOAD = Field.create("FUELINGLOAD", 76, FieldType.FLOAT).setBaseOffset(1228); - public static final Field IGNITIONLOAD = Field.create("IGNITIONLOAD", 80, FieldType.FLOAT).setBaseOffset(1228); - public static final Field VETABLEYAXIS = Field.create("VETABLEYAXIS", 84, FieldType.INT16).setScale(0.01).setBaseOffset(1228); - public static final Field OVERDWELLCOUNTER = Field.create("OVERDWELLCOUNTER", 86, FieldType.INT8).setScale(1.0).setBaseOffset(1228); - public static final Field OVERDWELLNOTSCHEDULEDCOUNTER = Field.create("OVERDWELLNOTSCHEDULEDCOUNTER", 87, FieldType.INT8).setScale(1.0).setBaseOffset(1228); - public static final Field SPARKOUTOFORDERCOUNTER = Field.create("SPARKOUTOFORDERCOUNTER", 88, FieldType.INT8).setScale(1.0).setBaseOffset(1228); - public static final Field ALIGNMENTFILL_AT_89 = Field.create("ALIGNMENTFILL_AT_89", 89, FieldType.INT8).setScale(1.0).setBaseOffset(1228); + public static final Field LUA_FUELADD = Field.create("LUA_FUELADD", 0, FieldType.FLOAT).setBaseOffset(1232); + public static final Field LUA_FUELMULT = Field.create("LUA_FUELMULT", 4, FieldType.FLOAT).setBaseOffset(1232); + public static final Field LUA_CLUTCHUPSTATE = Field.create("LUA_CLUTCHUPSTATE", 8, FieldType.BIT, 0).setBaseOffset(1232); + public static final Field LUA_BRAKEPEDALSTATE = Field.create("LUA_BRAKEPEDALSTATE", 8, FieldType.BIT, 1).setBaseOffset(1232); + public static final Field LUA_ACREQUESTSTATE = Field.create("LUA_ACREQUESTSTATE", 8, FieldType.BIT, 2).setBaseOffset(1232); + public static final Field LUA_LUADISABLEETB = Field.create("LUA_LUADISABLEETB", 8, FieldType.BIT, 3).setBaseOffset(1232); + public static final Field LUA_LUAIGNCUT = Field.create("LUA_LUAIGNCUT", 8, FieldType.BIT, 4).setBaseOffset(1232); + public static final Field LUA_LUAFUELCUT = Field.create("LUA_LUAFUELCUT", 8, FieldType.BIT, 5).setBaseOffset(1232); + public static final Field LUA_CLUTCHDOWNSTATE = Field.create("LUA_CLUTCHDOWNSTATE", 8, FieldType.BIT, 6).setBaseOffset(1232); + public static final Field LUA_DISABLEDECELERATIONFUELCUTOFF = Field.create("LUA_DISABLEDECELERATIONFUELCUTOFF", 8, FieldType.BIT, 7).setBaseOffset(1232); + public static final Field LUA_TORQUEREDUCTIONSTATE = Field.create("LUA_TORQUEREDUCTIONSTATE", 8, FieldType.BIT, 8).setBaseOffset(1232); + public static final Field SD_TCHARGE = Field.create("SD_TCHARGE", 12, FieldType.INT16).setScale(0.01).setBaseOffset(1232); + public static final Field SD_ALIGNMENTFILL_AT_2 = Field.create("SD_ALIGNMENTFILL_AT_2", 14, FieldType.INT8).setScale(1.0).setBaseOffset(1232); + public static final Field SD_TCHARGEK = Field.create("SD_TCHARGEK", 16, FieldType.FLOAT).setBaseOffset(1232); + public static final Field CRANKINGFUEL_COOLANTTEMPERATURECOEFFICIENT = Field.create("CRANKINGFUEL_COOLANTTEMPERATURECOEFFICIENT", 20, FieldType.FLOAT).setBaseOffset(1232); + public static final Field CRANKINGFUEL_TPSCOEFFICIENT = Field.create("CRANKINGFUEL_TPSCOEFFICIENT", 24, FieldType.FLOAT).setBaseOffset(1232); + public static final Field CRANKINGFUEL_DURATIONCOEFFICIENT = Field.create("CRANKINGFUEL_DURATIONCOEFFICIENT", 28, FieldType.FLOAT).setBaseOffset(1232); + public static final Field CRANKINGFUEL_FUEL = Field.create("CRANKINGFUEL_FUEL", 32, FieldType.INT16).setScale(0.01).setBaseOffset(1232); + public static final Field CRANKINGFUEL_ALIGNMENTFILL_AT_14 = Field.create("CRANKINGFUEL_ALIGNMENTFILL_AT_14", 34, FieldType.INT8).setScale(1.0).setBaseOffset(1232); + public static final Field BAROCORRECTION = Field.create("BAROCORRECTION", 36, FieldType.FLOAT).setBaseOffset(1232); + public static final Field HELLENBOARDID = Field.create("HELLENBOARDID", 40, FieldType.INT16).setScale(1.0).setBaseOffset(1232); + public static final Field CLUTCHUPSTATE = Field.create("CLUTCHUPSTATE", 42, FieldType.INT8).setScale(1.0).setBaseOffset(1232); + public static final Field BRAKEPEDALSTATE = Field.create("BRAKEPEDALSTATE", 43, FieldType.INT8).setScale(1.0).setBaseOffset(1232); + public static final Field STARTSTOPSTATE = Field.create("STARTSTOPSTATE", 44, FieldType.INT8).setScale(1.0).setBaseOffset(1232); + public static final Field SMARTCHIPSTATE = Field.create("SMARTCHIPSTATE", 45, FieldType.INT8).setScale(1.0).setBaseOffset(1232); + public static final Field SMARTCHIPRESTARTCOUNTER = Field.create("SMARTCHIPRESTARTCOUNTER", 46, FieldType.INT8).setScale(1.0).setBaseOffset(1232); + public static final Field SMARTCHIPALIVECOUNTER = Field.create("SMARTCHIPALIVECOUNTER", 47, FieldType.INT8).setScale(1.0).setBaseOffset(1232); + public static final Field STARTSTOPPHYSICALSTATE = Field.create("STARTSTOPPHYSICALSTATE", 48, FieldType.BIT, 0).setBaseOffset(1232); + public static final Field ACRACTIVE = Field.create("ACRACTIVE", 48, FieldType.BIT, 1).setBaseOffset(1232); + public static final Field ACRENGINEMOVEDRECENTLY = Field.create("ACRENGINEMOVEDRECENTLY", 48, FieldType.BIT, 2).setBaseOffset(1232); + public static final Field HEATERCONTROLENABLED = Field.create("HEATERCONTROLENABLED", 48, FieldType.BIT, 3).setBaseOffset(1232); + public static final Field LUADIGITALSTATE0 = Field.create("LUADIGITALSTATE0", 48, FieldType.BIT, 4).setBaseOffset(1232); + public static final Field LUADIGITALSTATE1 = Field.create("LUADIGITALSTATE1", 48, FieldType.BIT, 5).setBaseOffset(1232); + public static final Field LUADIGITALSTATE2 = Field.create("LUADIGITALSTATE2", 48, FieldType.BIT, 6).setBaseOffset(1232); + public static final Field LUADIGITALSTATE3 = Field.create("LUADIGITALSTATE3", 48, FieldType.BIT, 7).setBaseOffset(1232); + public static final Field CLUTCHDOWNSTATE = Field.create("CLUTCHDOWNSTATE", 48, FieldType.BIT, 8).setBaseOffset(1232); + public static final Field STARTSTOPSTATETOGGLECOUNTER = Field.create("STARTSTOPSTATETOGGLECOUNTER", 52, FieldType.INT).setScale(1.0).setBaseOffset(1232); + public static final Field LUASOFTSPARKSKIP = Field.create("LUASOFTSPARKSKIP", 56, FieldType.FLOAT).setBaseOffset(1232); + public static final Field LUAHARDSPARKSKIP = Field.create("LUAHARDSPARKSKIP", 60, FieldType.FLOAT).setBaseOffset(1232); + public static final Field TRACTIONCONTROLSPARKSKIP = Field.create("TRACTIONCONTROLSPARKSKIP", 64, FieldType.FLOAT).setBaseOffset(1232); + public static final Field FUELINJECTIONCOUNTER = Field.create("FUELINJECTIONCOUNTER", 68, FieldType.INT).setScale(1.0).setBaseOffset(1232); + public static final Field GLOBALSPARKCOUNTER = Field.create("GLOBALSPARKCOUNTER", 72, FieldType.INT).setScale(1.0).setBaseOffset(1232); + public static final Field FUELINGLOAD = Field.create("FUELINGLOAD", 76, FieldType.FLOAT).setBaseOffset(1232); + public static final Field IGNITIONLOAD = Field.create("IGNITIONLOAD", 80, FieldType.FLOAT).setBaseOffset(1232); + public static final Field VETABLEYAXIS = Field.create("VETABLEYAXIS", 84, FieldType.INT16).setScale(0.01).setBaseOffset(1232); + public static final Field OVERDWELLCOUNTER = Field.create("OVERDWELLCOUNTER", 86, FieldType.INT8).setScale(1.0).setBaseOffset(1232); + public static final Field OVERDWELLNOTSCHEDULEDCOUNTER = Field.create("OVERDWELLNOTSCHEDULEDCOUNTER", 87, FieldType.INT8).setScale(1.0).setBaseOffset(1232); + public static final Field SPARKOUTOFORDERCOUNTER = Field.create("SPARKOUTOFORDERCOUNTER", 88, FieldType.INT8).setScale(1.0).setBaseOffset(1232); + public static final Field ALIGNMENTFILL_AT_89 = Field.create("ALIGNMENTFILL_AT_89", 89, FieldType.INT8).setScale(1.0).setBaseOffset(1232); 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 1560b50e96..3425300823 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,17 +6,17 @@ 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(1204); - public static final Field NOTRUNNING = Field.create("NOTRUNNING", 0, FieldType.BIT, 1).setBaseOffset(1204); - public static final Field DISABLEDWHILEENGINESTOPPED = Field.create("DISABLEDWHILEENGINESTOPPED", 0, FieldType.BIT, 2).setBaseOffset(1204); - public static final Field BROKENCLT = Field.create("BROKENCLT", 0, FieldType.BIT, 3).setBaseOffset(1204); - public static final Field ENABLEDFORAC = Field.create("ENABLEDFORAC", 0, FieldType.BIT, 4).setBaseOffset(1204); - public static final Field HOT = Field.create("HOT", 0, FieldType.BIT, 5).setBaseOffset(1204); - public static final Field COLD = Field.create("COLD", 0, FieldType.BIT, 6).setBaseOffset(1204); - public static final Field DISABLEDBYSPEED = Field.create("DISABLEDBYSPEED", 0, FieldType.BIT, 7).setBaseOffset(1204); - public static final Field M_STATE = Field.create("M_STATE", 0, FieldType.BIT, 8).setBaseOffset(1204); - public static final Field RADIATORFANSTATUS = Field.create("RADIATORFANSTATUS", 4, FieldType.INT8).setScale(1.0).setBaseOffset(1204); - public static final Field ALIGNMENTFILL_AT_5 = Field.create("ALIGNMENTFILL_AT_5", 5, FieldType.INT8).setScale(1.0).setBaseOffset(1204); + public static final Field CRANKING = Field.create("CRANKING", 0, FieldType.BIT, 0).setBaseOffset(1208); + public static final Field NOTRUNNING = Field.create("NOTRUNNING", 0, FieldType.BIT, 1).setBaseOffset(1208); + public static final Field DISABLEDWHILEENGINESTOPPED = Field.create("DISABLEDWHILEENGINESTOPPED", 0, FieldType.BIT, 2).setBaseOffset(1208); + public static final Field BROKENCLT = Field.create("BROKENCLT", 0, FieldType.BIT, 3).setBaseOffset(1208); + public static final Field ENABLEDFORAC = Field.create("ENABLEDFORAC", 0, FieldType.BIT, 4).setBaseOffset(1208); + public static final Field HOT = Field.create("HOT", 0, FieldType.BIT, 5).setBaseOffset(1208); + public static final Field COLD = Field.create("COLD", 0, FieldType.BIT, 6).setBaseOffset(1208); + public static final Field DISABLEDBYSPEED = Field.create("DISABLEDBYSPEED", 0, FieldType.BIT, 7).setBaseOffset(1208); + public static final Field M_STATE = Field.create("M_STATE", 0, FieldType.BIT, 8).setBaseOffset(1208); + public static final Field RADIATORFANSTATUS = Field.create("RADIATORFANSTATUS", 4, FieldType.INT8).setScale(1.0).setBaseOffset(1208); + public static final Field ALIGNMENTFILL_AT_5 = Field.create("ALIGNMENTFILL_AT_5", 5, FieldType.INT8).setScale(1.0).setBaseOffset(1208); 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 5bdb099fd7..882d52adf6 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 @@ -457,7 +457,7 @@ public class Fields { public static final int ETB_BIAS_CURVE_LENGTH = 8; public static final int ETB_COUNT = 2; public static final int ETB_HW_MAX_FREQUENCY = 3000; - public static final int FLASH_DATA_VERSION = 2501; + public static final int FLASH_DATA_VERSION = 250206; public static final String FRONTEND_TITLE_BAR_NAME = "rusEFI"; public static final int fuel_cyl_trim_s_size = 16; public static final int FUEL_LEVEL_TABLE_COUNT = 8; @@ -1188,7 +1188,7 @@ public class Fields { public static final int PEDAL_TO_TPS_SIZE = 8; public static final String pedalSensor_NAME = "Accelerator pedal"; public static final String pedalToTpsTbl_NAME = "ETB pedal target"; - public static final int persistent_config_s_size = 23284; + public static final int persistent_config_s_size = 23308; public static final int pid_s_size = 20; public static final int pin_input_mode_e_PI_DEFAULT = 0; public static final int pin_input_mode_e_PI_PULLDOWN = 2; @@ -1254,6 +1254,7 @@ public class Fields { public static final int SentInput_INPUT6 = 6; public static final int SentInput_INPUT7 = 7; public static final int SentInput_NONE = 0; + public static final int SIGNATURE_HASH = 901751622; 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"; @@ -1304,13 +1305,14 @@ public class Fields { public static final int torqueReductionActivationMode_e_TORQUE_REDUCTION_BUTTON = 0; public static final int torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_DOWN_SWITCH = 2; public static final int torqueReductionActivationMode_e_TORQUE_REDUCTION_CLUTCH_UP_SWITCH = 3; - public static final int TOTAL_CONFIG_SIZE = 23284; + public static final int TOTAL_CONFIG_SIZE = 23308; public static final int TPS_2_BYTE_PACKING_MULT = 100; public static final int TPS_PPS_TOO_HIGH_THRESHOLD = 110; public static final int TPS_PPS_TOO_LOW_THRESHOLD = -10; public static final int TPS_TPS_ACCEL_CLT_CORR_TABLE = 4; public static final int TPS_TPS_ACCEL_TABLE = 8; public static final int TRACTION_CONTROL_ETB_DROP_SIZE = 6; + public static final int TRAILING_SPARK_SIZE = 4; public static final int TransmissionControllerMode_Generic4 = 2; public static final int TransmissionControllerMode_Gm4l6x = 3; public static final int TransmissionControllerMode_None = 0; @@ -1522,11 +1524,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.2025.02.07.f407-discovery.2990287915"; + public static final String TS_SIGNATURE = "rusEFI master.2025.02.07.f407-discovery.901751622"; 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 = 1808; + public static final int TS_TOTAL_OUTPUT_SIZE = 1812; 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; @@ -1755,7 +1757,6 @@ public class Fields { public static final Field FUELLEVELSENSOR = Field.create("FUELLEVELSENSOR", 514, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); public static final Field TPS2_1ADCCHANNEL = Field.create("TPS2_1ADCCHANNEL", 515, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); public static final Field IDLE_DERIVATIVEFILTERLOSS = Field.create("IDLE_DERIVATIVEFILTERLOSS", 516, FieldType.FLOAT).setBaseOffset(0); - public static final Field TRAILINGSPARKANGLE = Field.create("TRAILINGSPARKANGLE", 520, FieldType.INT).setScale(1.0).setBaseOffset(0); public static final String[] trigger_type_e = {"custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "INVALID", "GM_7X", "Daihatsu 3 cylinder", "Mazda SOHC 4", "60-2", "36-1", "Mercedes Two Segment", "Single Tooth", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Half Moon", "Dodge Ram 1+16", "60-2 Wrong Polarity", "Benelli Tre", "Dodge Stratus", "36_2_2_2", "Nissan Primera", "dev 2JZ 3/34 simulator", "Rover K", "GM 24x 5 degree", "Honda CBR 600 Cam", "INVALID", "Honda CBR 600 custom", "3-1 skipped", "Dodge Neon 2003 crank", "Miata NB", "INVALID", "INVALID", "Subaru 7+6", "Jeep 18-2-2-2", "12crank/24cam", "Dodge Neon 1995 crank only", "Jeep XJ 4 cyl", "FiatIAQ_P8", "Mazda Z5", "INVALID", "Renix 44-2-2", "Renix 66-2-2-2", "Honda K 12+1", "INVALID", "36-2", "Subaru SVX", "Suzuki K6A", "Subaru 7 without 6", "INVALID", "INVALID", "GM 60-2-2-2", "Skoda Favorit", "Barra 3+1 Cam", "Kawa KX450F", "Nissan VQ35", "INVALID", "Nissan VQ30", "Nissan QR25", "INVALID", "Subaru SVX Crank 1", "Subaru SVX Cam VVT", "Ford PIP", "Suzuki G13B", "Honda K 4+1", "Nissan MR18 Crank", "32-2", "36-2-1", "36-2-1-1", "3-0", "INVALID", "GM 24x 3 degree", "60-2-2 F3R", "Mitsu 4G63 Crank", "x2 30 Deg camshaft BTDC", "INVALID", "Mitsu 6G72 Cam", "6-0", "Daihatsu 4 cylinder", "INVALID", "dev", "Nissan HR", "Arctic Cat", "HR12 in", "HONDA J30A2", "trg88"}; public static final Field TRIGGER_TYPE = Field.create("TRIGGER_TYPE", 524, FieldType.INT, trigger_type_e).setScale(1.0).setBaseOffset(0); public static final Field TRIGGER_CUSTOMTOTALTOOTHCOUNT = Field.create("TRIGGER_CUSTOMTOTALTOOTHCOUNT", 528, FieldType.INT).setScale(1.0).setBaseOffset(0); @@ -3404,8 +3405,11 @@ public class Fields { public static final Field DYNOCARCARGOMASSKG = Field.create("DYNOCARCARGOMASSKG", 23270, FieldType.INT16).setScale(1.0).setBaseOffset(0); public static final Field DYNOCARCOEFFOFDRAG = Field.create("DYNOCARCOEFFOFDRAG", 23272, FieldType.FLOAT).setBaseOffset(0); public static final Field DYNOCARFRONTALAREAM2 = Field.create("DYNOCARFRONTALAREAM2", 23276, FieldType.FLOAT).setBaseOffset(0); - public static final Field COMMUNITYCOMMSLEDPIN = Field.create("COMMUNITYCOMMSLEDPIN", 23280, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); - public static final Field ALIGNMENTFILL_AT_23282 = Field.create("ALIGNMENTFILL_AT_23282", 23282, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field TRAILINGSPARKTABLE = Field.create("TRAILINGSPARKTABLE", 23280, FieldType.INT8).setScale(0.1).setBaseOffset(0); + public static final Field TRAILINGSPARKRPMBINS = Field.create("TRAILINGSPARKRPMBINS", 23296, FieldType.INT8).setScale(50.0).setBaseOffset(0); + public static final Field TRAILINGSPARKLOADBINS = Field.create("TRAILINGSPARKLOADBINS", 23300, FieldType.INT8).setScale(5.0).setBaseOffset(0); + public static final Field COMMUNITYCOMMSLEDPIN = Field.create("COMMUNITYCOMMSLEDPIN", 23304, FieldType.INT16, Gpio).setScale(1.0).setBaseOffset(0); + public static final Field ALIGNMENTFILL_AT_23306 = Field.create("ALIGNMENTFILL_AT_23306", 23306, FieldType.INT8).setScale(1.0).setBaseOffset(0); public static final Field[] VALUES = { ENGINETYPE, STARTBUTTONSUPPRESSONSTARTUPMS, @@ -3556,7 +3560,6 @@ public class Fields { FUELLEVELSENSOR, TPS2_1ADCCHANNEL, IDLE_DERIVATIVEFILTERLOSS, - TRAILINGSPARKANGLE, TRIGGER_TYPE, TRIGGER_CUSTOMTOTALTOOTHCOUNT, TRIGGER_CUSTOMSKIPPEDTOOTHCOUNT, @@ -5174,7 +5177,10 @@ public class Fields { DYNOCARCARGOMASSKG, DYNOCARCOEFFOFDRAG, DYNOCARFRONTALAREAM2, + TRAILINGSPARKTABLE, + TRAILINGSPARKRPMBINS, + TRAILINGSPARKLOADBINS, COMMUNITYCOMMSLEDPIN, - ALIGNMENTFILL_AT_23282, + ALIGNMENTFILL_AT_23306, }; } 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 ec1a6da78a..db8dd127c4 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(1220); - public static final Field ENGINETURNEDRECENTLY = Field.create("ENGINETURNEDRECENTLY", 0, FieldType.BIT, 1).setBaseOffset(1220); - public static final Field ISFUELPUMPON = Field.create("ISFUELPUMPON", 0, FieldType.BIT, 2).setBaseOffset(1220); - public static final Field IGNITIONON = Field.create("IGNITIONON", 0, FieldType.BIT, 3).setBaseOffset(1220); + public static final Field ISPRIME = Field.create("ISPRIME", 0, FieldType.BIT, 0).setBaseOffset(1224); + public static final Field ENGINETURNEDRECENTLY = Field.create("ENGINETURNEDRECENTLY", 0, FieldType.BIT, 1).setBaseOffset(1224); + public static final Field ISFUELPUMPON = Field.create("ISFUELPUMPON", 0, FieldType.BIT, 2).setBaseOffset(1224); + public static final Field IGNITIONON = Field.create("IGNITIONON", 0, FieldType.BIT, 3).setBaseOffset(1224); 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 dcab93f0ed..f20203a1b0 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,18 +6,18 @@ 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(1096); - public static final Field FUEL_REQUESTED_PERCENT = Field.create("FUEL_REQUESTED_PERCENT", 4, FieldType.FLOAT).setBaseOffset(1096); - public static final Field FUEL_REQUESTED_PERCENT_PI = Field.create("FUEL_REQUESTED_PERCENT_PI", 8, FieldType.FLOAT).setBaseOffset(1096); - public static final Field NOVALVE = Field.create("NOVALVE", 12, FieldType.BIT, 0).setBaseOffset(1096); - public static final Field ANGLEABOVEMIN = Field.create("ANGLEABOVEMIN", 12, FieldType.BIT, 1).setBaseOffset(1096); - public static final Field ISHPFPACTIVE = Field.create("ISHPFPACTIVE", 12, FieldType.BIT, 2).setBaseOffset(1096); - public static final Field HPFPVALVESTATE = Field.create("HPFPVALVESTATE", 12, FieldType.BIT, 3).setBaseOffset(1096); - public static final Field M_PRESSURETARGET_KPA = Field.create("M_PRESSURETARGET_KPA", 16, FieldType.FLOAT).setBaseOffset(1096); - public static final Field NEXTLOBE = Field.create("NEXTLOBE", 20, FieldType.FLOAT).setBaseOffset(1096); - public static final Field DI_NEXTSTART = Field.create("DI_NEXTSTART", 24, FieldType.FLOAT).setBaseOffset(1096); - public static final Field HPFDACTIVATIONPHASE = Field.create("HPFDACTIVATIONPHASE", 28, FieldType.FLOAT).setBaseOffset(1096); - public static final Field HPFDDEACTIVATIONPHASE = Field.create("HPFDDEACTIVATIONPHASE", 32, FieldType.FLOAT).setBaseOffset(1096); + public static final Field M_REQUESTED_PUMP = Field.create("M_REQUESTED_PUMP", 0, FieldType.FLOAT).setBaseOffset(1100); + public static final Field FUEL_REQUESTED_PERCENT = Field.create("FUEL_REQUESTED_PERCENT", 4, FieldType.FLOAT).setBaseOffset(1100); + public static final Field FUEL_REQUESTED_PERCENT_PI = Field.create("FUEL_REQUESTED_PERCENT_PI", 8, FieldType.FLOAT).setBaseOffset(1100); + public static final Field NOVALVE = Field.create("NOVALVE", 12, FieldType.BIT, 0).setBaseOffset(1100); + public static final Field ANGLEABOVEMIN = Field.create("ANGLEABOVEMIN", 12, FieldType.BIT, 1).setBaseOffset(1100); + public static final Field ISHPFPACTIVE = Field.create("ISHPFPACTIVE", 12, FieldType.BIT, 2).setBaseOffset(1100); + public static final Field HPFPVALVESTATE = Field.create("HPFPVALVESTATE", 12, FieldType.BIT, 3).setBaseOffset(1100); + public static final Field M_PRESSURETARGET_KPA = Field.create("M_PRESSURETARGET_KPA", 16, FieldType.FLOAT).setBaseOffset(1100); + public static final Field NEXTLOBE = Field.create("NEXTLOBE", 20, FieldType.FLOAT).setBaseOffset(1100); + public static final Field DI_NEXTSTART = Field.create("DI_NEXTSTART", 24, FieldType.FLOAT).setBaseOffset(1100); + public static final Field HPFDACTIVATIONPHASE = Field.create("HPFDACTIVATIONPHASE", 28, FieldType.FLOAT).setBaseOffset(1100); + public static final Field HPFDDEACTIVATIONPHASE = Field.create("HPFDDEACTIVATIONPHASE", 32, FieldType.FLOAT).setBaseOffset(1100); 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 71677133ad..f8d2c8e0f0 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 @@ -181,33 +181,33 @@ 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(1612); - public static final Field CURRENTIDLEPOSITION = Field.create("CURRENTIDLEPOSITION", 4, FieldType.FLOAT).setBaseOffset(1612); - public static final Field BASEIDLEPOSITION = Field.create("BASEIDLEPOSITION", 8, FieldType.FLOAT).setBaseOffset(1612); - public static final Field IDLECLOSEDLOOP = Field.create("IDLECLOSEDLOOP", 12, FieldType.FLOAT).setBaseOffset(1612); - public static final Field IACBYTPSTAPER = Field.create("IACBYTPSTAPER", 16, FieldType.FLOAT).setBaseOffset(1612); - public static final Field MIGHTRESETPID = Field.create("MIGHTRESETPID", 20, FieldType.BIT, 0).setBaseOffset(1612); - public static final Field SHOULDRESETPID = Field.create("SHOULDRESETPID", 20, FieldType.BIT, 1).setBaseOffset(1612); - public static final Field WASRESETPID = Field.create("WASRESETPID", 20, FieldType.BIT, 2).setBaseOffset(1612); - public static final Field MUSTRESETPID = Field.create("MUSTRESETPID", 20, FieldType.BIT, 3).setBaseOffset(1612); - public static final Field ISCRANKING = Field.create("ISCRANKING", 20, FieldType.BIT, 4).setBaseOffset(1612); - public static final Field ISIACTABLEFORCOASTING = Field.create("ISIACTABLEFORCOASTING", 20, FieldType.BIT, 5).setBaseOffset(1612); - public static final Field NOTIDLING = Field.create("NOTIDLING", 20, FieldType.BIT, 6).setBaseOffset(1612); - public static final Field NEEDRESET = Field.create("NEEDRESET", 20, FieldType.BIT, 7).setBaseOffset(1612); - public static final Field ISINDEADZONE = Field.create("ISINDEADZONE", 20, FieldType.BIT, 8).setBaseOffset(1612); - public static final Field ISBLIPPING = Field.create("ISBLIPPING", 20, FieldType.BIT, 9).setBaseOffset(1612); - public static final Field USECLOSEDLOOP = Field.create("USECLOSEDLOOP", 20, FieldType.BIT, 10).setBaseOffset(1612); - public static final Field BADTPS = Field.create("BADTPS", 20, FieldType.BIT, 11).setBaseOffset(1612); - public static final Field LOOKSLIKERUNNING = Field.create("LOOKSLIKERUNNING", 20, FieldType.BIT, 12).setBaseOffset(1612); - public static final Field LOOKSLIKECOASTING = Field.create("LOOKSLIKECOASTING", 20, FieldType.BIT, 13).setBaseOffset(1612); - public static final Field LOOKSLIKECRANKTOIDLE = Field.create("LOOKSLIKECRANKTOIDLE", 20, FieldType.BIT, 14).setBaseOffset(1612); - public static final Field ISIDLECOASTING = Field.create("ISIDLECOASTING", 20, FieldType.BIT, 15).setBaseOffset(1612); - public static final Field ISIDLECLOSEDLOOP = Field.create("ISIDLECLOSEDLOOP", 20, FieldType.BIT, 16).setBaseOffset(1612); - public static final Field IDLETARGET = Field.create("IDLETARGET", 24, FieldType.INT).setScale(1.0).setBaseOffset(1612); - public static final Field TARGETRPMBYCLT = Field.create("TARGETRPMBYCLT", 28, FieldType.INT).setScale(1.0).setBaseOffset(1612); - public static final Field TARGETRPMAC = Field.create("TARGETRPMAC", 32, FieldType.INT).setScale(1.0).setBaseOffset(1612); - public static final Field IACBYRPMTAPER = Field.create("IACBYRPMTAPER", 36, FieldType.FLOAT).setBaseOffset(1612); - public static final Field LUAADD = Field.create("LUAADD", 40, FieldType.FLOAT).setBaseOffset(1612); + public static final Field IDLESTATE = Field.create("IDLESTATE", 0, FieldType.INT).setScale(1.0).setBaseOffset(1616); + public static final Field CURRENTIDLEPOSITION = Field.create("CURRENTIDLEPOSITION", 4, FieldType.FLOAT).setBaseOffset(1616); + public static final Field BASEIDLEPOSITION = Field.create("BASEIDLEPOSITION", 8, FieldType.FLOAT).setBaseOffset(1616); + public static final Field IDLECLOSEDLOOP = Field.create("IDLECLOSEDLOOP", 12, FieldType.FLOAT).setBaseOffset(1616); + public static final Field IACBYTPSTAPER = Field.create("IACBYTPSTAPER", 16, FieldType.FLOAT).setBaseOffset(1616); + public static final Field MIGHTRESETPID = Field.create("MIGHTRESETPID", 20, FieldType.BIT, 0).setBaseOffset(1616); + public static final Field SHOULDRESETPID = Field.create("SHOULDRESETPID", 20, FieldType.BIT, 1).setBaseOffset(1616); + public static final Field WASRESETPID = Field.create("WASRESETPID", 20, FieldType.BIT, 2).setBaseOffset(1616); + public static final Field MUSTRESETPID = Field.create("MUSTRESETPID", 20, FieldType.BIT, 3).setBaseOffset(1616); + public static final Field ISCRANKING = Field.create("ISCRANKING", 20, FieldType.BIT, 4).setBaseOffset(1616); + public static final Field ISIACTABLEFORCOASTING = Field.create("ISIACTABLEFORCOASTING", 20, FieldType.BIT, 5).setBaseOffset(1616); + public static final Field NOTIDLING = Field.create("NOTIDLING", 20, FieldType.BIT, 6).setBaseOffset(1616); + public static final Field NEEDRESET = Field.create("NEEDRESET", 20, FieldType.BIT, 7).setBaseOffset(1616); + public static final Field ISINDEADZONE = Field.create("ISINDEADZONE", 20, FieldType.BIT, 8).setBaseOffset(1616); + public static final Field ISBLIPPING = Field.create("ISBLIPPING", 20, FieldType.BIT, 9).setBaseOffset(1616); + public static final Field USECLOSEDLOOP = Field.create("USECLOSEDLOOP", 20, FieldType.BIT, 10).setBaseOffset(1616); + public static final Field BADTPS = Field.create("BADTPS", 20, FieldType.BIT, 11).setBaseOffset(1616); + public static final Field LOOKSLIKERUNNING = Field.create("LOOKSLIKERUNNING", 20, FieldType.BIT, 12).setBaseOffset(1616); + public static final Field LOOKSLIKECOASTING = Field.create("LOOKSLIKECOASTING", 20, FieldType.BIT, 13).setBaseOffset(1616); + public static final Field LOOKSLIKECRANKTOIDLE = Field.create("LOOKSLIKECRANKTOIDLE", 20, FieldType.BIT, 14).setBaseOffset(1616); + public static final Field ISIDLECOASTING = Field.create("ISIDLECOASTING", 20, FieldType.BIT, 15).setBaseOffset(1616); + public static final Field ISIDLECLOSEDLOOP = Field.create("ISIDLECLOSEDLOOP", 20, FieldType.BIT, 16).setBaseOffset(1616); + public static final Field IDLETARGET = Field.create("IDLETARGET", 24, FieldType.INT).setScale(1.0).setBaseOffset(1616); + public static final Field TARGETRPMBYCLT = Field.create("TARGETRPMBYCLT", 28, FieldType.INT).setScale(1.0).setBaseOffset(1616); + public static final Field TARGETRPMAC = Field.create("TARGETRPMAC", 32, FieldType.INT).setScale(1.0).setBaseOffset(1616); + public static final Field IACBYRPMTAPER = Field.create("IACBYRPMTAPER", 36, FieldType.FLOAT).setBaseOffset(1616); + public static final Field LUAADD = Field.create("LUAADD", 40, FieldType.FLOAT).setBaseOffset(1616); public static final Field[] VALUES = { IDLESTATE, CURRENTIDLEPOSITION, diff --git a/java_console/models/src/main/java/com/rusefi/config/generated/IgnitionState.java b/java_console/models/src/main/java/com/rusefi/config/generated/IgnitionState.java index 03fc5cfd77..ee5c9b1db6 100644 --- a/java_console/models/src/main/java/com/rusefi/config/generated/IgnitionState.java +++ b/java_console/models/src/main/java/com/rusefi/config/generated/IgnitionState.java @@ -196,6 +196,8 @@ public class IgnitionState { public static final Field LUATIMINGADD = Field.create("LUATIMINGADD", 32, FieldType.FLOAT).setBaseOffset(912); public static final Field LUATIMINGMULT = Field.create("LUATIMINGMULT", 36, FieldType.FLOAT).setBaseOffset(912); public static final Field LUAIGNITIONSKIP = Field.create("LUAIGNITIONSKIP", 40, FieldType.BIT, 0).setBaseOffset(912); + public static final Field TRAILINGSPARKANGLE = Field.create("TRAILINGSPARKANGLE", 44, FieldType.INT16).setScale(0.01).setBaseOffset(912); + public static final Field ALIGNMENTFILL_AT_46 = Field.create("ALIGNMENTFILL_AT_46", 46, FieldType.INT8).setScale(1.0).setBaseOffset(912); public static final Field[] VALUES = { BASEDWELL, SPARKDWELL, @@ -212,5 +214,7 @@ public class IgnitionState { LUATIMINGADD, LUATIMINGMULT, LUAIGNITIONSKIP, + TRAILINGSPARKANGLE, + ALIGNMENTFILL_AT_46, }; } 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 7d8d78813d..a87efc0840 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 @@ -181,9 +181,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(1132); - public static final Field PRESSUREDELTA = Field.create("PRESSUREDELTA", 4, FieldType.FLOAT).setBaseOffset(1132); - public static final Field PRESSURERATIO = Field.create("PRESSURERATIO", 8, FieldType.FLOAT).setBaseOffset(1132); + public static final Field M_DEADTIME = Field.create("M_DEADTIME", 0, FieldType.FLOAT).setBaseOffset(1136); + public static final Field PRESSUREDELTA = Field.create("PRESSUREDELTA", 4, FieldType.FLOAT).setBaseOffset(1136); + public static final Field PRESSURERATIO = Field.create("PRESSURERATIO", 8, FieldType.FLOAT).setBaseOffset(1136); 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 9506125b3f..494a0a90b0 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 @@ -181,43 +181,43 @@ public class KnockController { 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_KNOCKLEVEL = Field.create("M_KNOCKLEVEL", 0, FieldType.FLOAT).setBaseOffset(956); - public static final Field M_KNOCKCYL1 = Field.create("M_KNOCKCYL1", 4, FieldType.INT8).setScale(1.0).setBaseOffset(956); - public static final Field M_KNOCKCYL2 = Field.create("M_KNOCKCYL2", 5, FieldType.INT8).setScale(1.0).setBaseOffset(956); - public static final Field M_KNOCKCYL3 = Field.create("M_KNOCKCYL3", 6, FieldType.INT8).setScale(1.0).setBaseOffset(956); - public static final Field M_KNOCKCYL4 = Field.create("M_KNOCKCYL4", 7, FieldType.INT8).setScale(1.0).setBaseOffset(956); - public static final Field M_KNOCKCYL5 = Field.create("M_KNOCKCYL5", 8, FieldType.INT8).setScale(1.0).setBaseOffset(956); - public static final Field M_KNOCKCYL6 = Field.create("M_KNOCKCYL6", 9, FieldType.INT8).setScale(1.0).setBaseOffset(956); - public static final Field M_KNOCKCYL7 = Field.create("M_KNOCKCYL7", 10, FieldType.INT8).setScale(1.0).setBaseOffset(956); - public static final Field M_KNOCKCYL8 = Field.create("M_KNOCKCYL8", 11, FieldType.INT8).setScale(1.0).setBaseOffset(956); - public static final Field M_KNOCKCYL9 = Field.create("M_KNOCKCYL9", 12, FieldType.INT8).setScale(1.0).setBaseOffset(956); - public static final Field M_KNOCKCYL10 = Field.create("M_KNOCKCYL10", 13, FieldType.INT8).setScale(1.0).setBaseOffset(956); - public static final Field M_KNOCKCYL11 = Field.create("M_KNOCKCYL11", 14, FieldType.INT8).setScale(1.0).setBaseOffset(956); - public static final Field M_KNOCKCYL12 = Field.create("M_KNOCKCYL12", 15, FieldType.INT8).setScale(1.0).setBaseOffset(956); - public static final Field M_KNOCKRETARD = Field.create("M_KNOCKRETARD", 16, FieldType.FLOAT).setBaseOffset(956); - public static final Field M_KNOCKTHRESHOLD = Field.create("M_KNOCKTHRESHOLD", 20, FieldType.FLOAT).setBaseOffset(956); - public static final Field M_KNOCKCOUNT = Field.create("M_KNOCKCOUNT", 24, FieldType.INT).setScale(1.0).setBaseOffset(956); - public static final Field M_MAXIMUMRETARD = Field.create("M_MAXIMUMRETARD", 28, FieldType.FLOAT).setBaseOffset(956); - public static final Field M_KNOCKSPECTRUM1 = Field.create("M_KNOCKSPECTRUM1", 32, FieldType.INT).setScale(1.0).setBaseOffset(956); - public static final Field M_KNOCKSPECTRUM2 = Field.create("M_KNOCKSPECTRUM2", 36, FieldType.INT).setScale(1.0).setBaseOffset(956); - public static final Field M_KNOCKSPECTRUM3 = Field.create("M_KNOCKSPECTRUM3", 40, FieldType.INT).setScale(1.0).setBaseOffset(956); - public static final Field M_KNOCKSPECTRUM4 = Field.create("M_KNOCKSPECTRUM4", 44, FieldType.INT).setScale(1.0).setBaseOffset(956); - public static final Field M_KNOCKSPECTRUM5 = Field.create("M_KNOCKSPECTRUM5", 48, FieldType.INT).setScale(1.0).setBaseOffset(956); - public static final Field M_KNOCKSPECTRUM6 = Field.create("M_KNOCKSPECTRUM6", 52, FieldType.INT).setScale(1.0).setBaseOffset(956); - public static final Field M_KNOCKSPECTRUM7 = Field.create("M_KNOCKSPECTRUM7", 56, FieldType.INT).setScale(1.0).setBaseOffset(956); - public static final Field M_KNOCKSPECTRUM8 = Field.create("M_KNOCKSPECTRUM8", 60, FieldType.INT).setScale(1.0).setBaseOffset(956); - public static final Field M_KNOCKSPECTRUM9 = Field.create("M_KNOCKSPECTRUM9", 64, FieldType.INT).setScale(1.0).setBaseOffset(956); - public static final Field M_KNOCKSPECTRUM10 = Field.create("M_KNOCKSPECTRUM10", 68, FieldType.INT).setScale(1.0).setBaseOffset(956); - public static final Field M_KNOCKSPECTRUM11 = Field.create("M_KNOCKSPECTRUM11", 72, FieldType.INT).setScale(1.0).setBaseOffset(956); - public static final Field M_KNOCKSPECTRUM12 = Field.create("M_KNOCKSPECTRUM12", 76, FieldType.INT).setScale(1.0).setBaseOffset(956); - public static final Field M_KNOCKSPECTRUM13 = Field.create("M_KNOCKSPECTRUM13", 80, FieldType.INT).setScale(1.0).setBaseOffset(956); - public static final Field M_KNOCKSPECTRUM14 = Field.create("M_KNOCKSPECTRUM14", 84, FieldType.INT).setScale(1.0).setBaseOffset(956); - public static final Field M_KNOCKSPECTRUM15 = Field.create("M_KNOCKSPECTRUM15", 88, FieldType.INT).setScale(1.0).setBaseOffset(956); - public static final Field M_KNOCKSPECTRUM16 = Field.create("M_KNOCKSPECTRUM16", 92, FieldType.INT).setScale(1.0).setBaseOffset(956); - public static final Field M_KNOCKSPECTRUMCHANNELCYL = Field.create("M_KNOCKSPECTRUMCHANNELCYL", 96, FieldType.INT16).setScale(1.0).setBaseOffset(956); - public static final Field M_KNOCKFREQUENCYSTART = Field.create("M_KNOCKFREQUENCYSTART", 98, FieldType.INT16).setScale(1.0).setBaseOffset(956); - public static final Field M_KNOCKFREQUENCYSTEP = Field.create("M_KNOCKFREQUENCYSTEP", 100, FieldType.FLOAT).setBaseOffset(956); - public static final Field M_KNOCKFUELTRIMMULTIPLIER = Field.create("M_KNOCKFUELTRIMMULTIPLIER", 104, FieldType.FLOAT).setBaseOffset(956); + public static final Field M_KNOCKLEVEL = Field.create("M_KNOCKLEVEL", 0, FieldType.FLOAT).setBaseOffset(960); + public static final Field M_KNOCKCYL1 = Field.create("M_KNOCKCYL1", 4, FieldType.INT8).setScale(1.0).setBaseOffset(960); + public static final Field M_KNOCKCYL2 = Field.create("M_KNOCKCYL2", 5, FieldType.INT8).setScale(1.0).setBaseOffset(960); + public static final Field M_KNOCKCYL3 = Field.create("M_KNOCKCYL3", 6, FieldType.INT8).setScale(1.0).setBaseOffset(960); + public static final Field M_KNOCKCYL4 = Field.create("M_KNOCKCYL4", 7, FieldType.INT8).setScale(1.0).setBaseOffset(960); + public static final Field M_KNOCKCYL5 = Field.create("M_KNOCKCYL5", 8, FieldType.INT8).setScale(1.0).setBaseOffset(960); + public static final Field M_KNOCKCYL6 = Field.create("M_KNOCKCYL6", 9, FieldType.INT8).setScale(1.0).setBaseOffset(960); + public static final Field M_KNOCKCYL7 = Field.create("M_KNOCKCYL7", 10, FieldType.INT8).setScale(1.0).setBaseOffset(960); + public static final Field M_KNOCKCYL8 = Field.create("M_KNOCKCYL8", 11, FieldType.INT8).setScale(1.0).setBaseOffset(960); + public static final Field M_KNOCKCYL9 = Field.create("M_KNOCKCYL9", 12, FieldType.INT8).setScale(1.0).setBaseOffset(960); + public static final Field M_KNOCKCYL10 = Field.create("M_KNOCKCYL10", 13, FieldType.INT8).setScale(1.0).setBaseOffset(960); + public static final Field M_KNOCKCYL11 = Field.create("M_KNOCKCYL11", 14, FieldType.INT8).setScale(1.0).setBaseOffset(960); + public static final Field M_KNOCKCYL12 = Field.create("M_KNOCKCYL12", 15, FieldType.INT8).setScale(1.0).setBaseOffset(960); + public static final Field M_KNOCKRETARD = Field.create("M_KNOCKRETARD", 16, FieldType.FLOAT).setBaseOffset(960); + public static final Field M_KNOCKTHRESHOLD = Field.create("M_KNOCKTHRESHOLD", 20, FieldType.FLOAT).setBaseOffset(960); + public static final Field M_KNOCKCOUNT = Field.create("M_KNOCKCOUNT", 24, FieldType.INT).setScale(1.0).setBaseOffset(960); + public static final Field M_MAXIMUMRETARD = Field.create("M_MAXIMUMRETARD", 28, FieldType.FLOAT).setBaseOffset(960); + public static final Field M_KNOCKSPECTRUM1 = Field.create("M_KNOCKSPECTRUM1", 32, FieldType.INT).setScale(1.0).setBaseOffset(960); + public static final Field M_KNOCKSPECTRUM2 = Field.create("M_KNOCKSPECTRUM2", 36, FieldType.INT).setScale(1.0).setBaseOffset(960); + public static final Field M_KNOCKSPECTRUM3 = Field.create("M_KNOCKSPECTRUM3", 40, FieldType.INT).setScale(1.0).setBaseOffset(960); + public static final Field M_KNOCKSPECTRUM4 = Field.create("M_KNOCKSPECTRUM4", 44, FieldType.INT).setScale(1.0).setBaseOffset(960); + public static final Field M_KNOCKSPECTRUM5 = Field.create("M_KNOCKSPECTRUM5", 48, FieldType.INT).setScale(1.0).setBaseOffset(960); + public static final Field M_KNOCKSPECTRUM6 = Field.create("M_KNOCKSPECTRUM6", 52, FieldType.INT).setScale(1.0).setBaseOffset(960); + public static final Field M_KNOCKSPECTRUM7 = Field.create("M_KNOCKSPECTRUM7", 56, FieldType.INT).setScale(1.0).setBaseOffset(960); + public static final Field M_KNOCKSPECTRUM8 = Field.create("M_KNOCKSPECTRUM8", 60, FieldType.INT).setScale(1.0).setBaseOffset(960); + public static final Field M_KNOCKSPECTRUM9 = Field.create("M_KNOCKSPECTRUM9", 64, FieldType.INT).setScale(1.0).setBaseOffset(960); + public static final Field M_KNOCKSPECTRUM10 = Field.create("M_KNOCKSPECTRUM10", 68, FieldType.INT).setScale(1.0).setBaseOffset(960); + public static final Field M_KNOCKSPECTRUM11 = Field.create("M_KNOCKSPECTRUM11", 72, FieldType.INT).setScale(1.0).setBaseOffset(960); + public static final Field M_KNOCKSPECTRUM12 = Field.create("M_KNOCKSPECTRUM12", 76, FieldType.INT).setScale(1.0).setBaseOffset(960); + public static final Field M_KNOCKSPECTRUM13 = Field.create("M_KNOCKSPECTRUM13", 80, FieldType.INT).setScale(1.0).setBaseOffset(960); + public static final Field M_KNOCKSPECTRUM14 = Field.create("M_KNOCKSPECTRUM14", 84, FieldType.INT).setScale(1.0).setBaseOffset(960); + public static final Field M_KNOCKSPECTRUM15 = Field.create("M_KNOCKSPECTRUM15", 88, FieldType.INT).setScale(1.0).setBaseOffset(960); + public static final Field M_KNOCKSPECTRUM16 = Field.create("M_KNOCKSPECTRUM16", 92, FieldType.INT).setScale(1.0).setBaseOffset(960); + public static final Field M_KNOCKSPECTRUMCHANNELCYL = Field.create("M_KNOCKSPECTRUMCHANNELCYL", 96, FieldType.INT16).setScale(1.0).setBaseOffset(960); + public static final Field M_KNOCKFREQUENCYSTART = Field.create("M_KNOCKFREQUENCYSTART", 98, FieldType.INT16).setScale(1.0).setBaseOffset(960); + public static final Field M_KNOCKFREQUENCYSTEP = Field.create("M_KNOCKFREQUENCYSTEP", 100, FieldType.FLOAT).setBaseOffset(960); + public static final Field M_KNOCKFUELTRIMMULTIPLIER = Field.create("M_KNOCKFUELTRIMMULTIPLIER", 104, FieldType.FLOAT).setBaseOffset(960); public static final Field[] VALUES = { M_KNOCKLEVEL, M_KNOCKCYL1, 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 8367510f5a..61de0fa04b 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(1800); - public static final Field LAMBDAMONITORCUT = Field.create("LAMBDAMONITORCUT", 0, FieldType.BIT, 1).setBaseOffset(1800); - public static final Field LAMBDATIMESINCEGOOD = Field.create("LAMBDATIMESINCEGOOD", 4, FieldType.INT16).setScale(0.01).setBaseOffset(1800); - public static final Field ALIGNMENTFILL_AT_6 = Field.create("ALIGNMENTFILL_AT_6", 6, FieldType.INT8).setScale(1.0).setBaseOffset(1800); + public static final Field LAMBDACURRENTLYGOOD = Field.create("LAMBDACURRENTLYGOOD", 0, FieldType.BIT, 0).setBaseOffset(1804); + public static final Field LAMBDAMONITORCUT = Field.create("LAMBDAMONITORCUT", 0, FieldType.BIT, 1).setBaseOffset(1804); + public static final Field LAMBDATIMESINCEGOOD = Field.create("LAMBDATIMESINCEGOOD", 4, FieldType.INT16).setScale(0.01).setBaseOffset(1804); + public static final Field ALIGNMENTFILL_AT_6 = Field.create("ALIGNMENTFILL_AT_6", 6, FieldType.INT8).setScale(1.0).setBaseOffset(1804); 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 d37e23b353..317790c07d 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(1144); - public static final Field LAUNCHACTIVATEPINSTATE = Field.create("LAUNCHACTIVATEPINSTATE", 4, FieldType.BIT, 0).setBaseOffset(1144); - public static final Field ISPRELAUNCHCONDITION = Field.create("ISPRELAUNCHCONDITION", 4, FieldType.BIT, 1).setBaseOffset(1144); - public static final Field ISLAUNCHCONDITION = Field.create("ISLAUNCHCONDITION", 4, FieldType.BIT, 2).setBaseOffset(1144); - public static final Field ISSWITCHACTIVATED = Field.create("ISSWITCHACTIVATED", 4, FieldType.BIT, 3).setBaseOffset(1144); - public static final Field ISCLUTCHACTIVATED = Field.create("ISCLUTCHACTIVATED", 4, FieldType.BIT, 4).setBaseOffset(1144); - public static final Field ISBRAKEPEDALACTIVATED = Field.create("ISBRAKEPEDALACTIVATED", 4, FieldType.BIT, 5).setBaseOffset(1144); - public static final Field ISVALIDINPUTPIN = Field.create("ISVALIDINPUTPIN", 4, FieldType.BIT, 6).setBaseOffset(1144); - public static final Field ACTIVATESWITCHCONDITION = Field.create("ACTIVATESWITCHCONDITION", 4, FieldType.BIT, 7).setBaseOffset(1144); - public static final Field RPMLAUNCHCONDITION = Field.create("RPMLAUNCHCONDITION", 4, FieldType.BIT, 8).setBaseOffset(1144); - public static final Field RPMPRELAUNCHCONDITION = Field.create("RPMPRELAUNCHCONDITION", 4, FieldType.BIT, 9).setBaseOffset(1144); - public static final Field SPEEDCONDITION = Field.create("SPEEDCONDITION", 4, FieldType.BIT, 10).setBaseOffset(1144); - public static final Field TPSCONDITION = Field.create("TPSCONDITION", 4, FieldType.BIT, 11).setBaseOffset(1144); + public static final Field RETARDTHRESHOLDRPM = Field.create("RETARDTHRESHOLDRPM", 0, FieldType.INT).setScale(1.0).setBaseOffset(1148); + public static final Field LAUNCHACTIVATEPINSTATE = Field.create("LAUNCHACTIVATEPINSTATE", 4, FieldType.BIT, 0).setBaseOffset(1148); + public static final Field ISPRELAUNCHCONDITION = Field.create("ISPRELAUNCHCONDITION", 4, FieldType.BIT, 1).setBaseOffset(1148); + public static final Field ISLAUNCHCONDITION = Field.create("ISLAUNCHCONDITION", 4, FieldType.BIT, 2).setBaseOffset(1148); + public static final Field ISSWITCHACTIVATED = Field.create("ISSWITCHACTIVATED", 4, FieldType.BIT, 3).setBaseOffset(1148); + public static final Field ISCLUTCHACTIVATED = Field.create("ISCLUTCHACTIVATED", 4, FieldType.BIT, 4).setBaseOffset(1148); + public static final Field ISBRAKEPEDALACTIVATED = Field.create("ISBRAKEPEDALACTIVATED", 4, FieldType.BIT, 5).setBaseOffset(1148); + public static final Field ISVALIDINPUTPIN = Field.create("ISVALIDINPUTPIN", 4, FieldType.BIT, 6).setBaseOffset(1148); + public static final Field ACTIVATESWITCHCONDITION = Field.create("ACTIVATESWITCHCONDITION", 4, FieldType.BIT, 7).setBaseOffset(1148); + public static final Field RPMLAUNCHCONDITION = Field.create("RPMLAUNCHCONDITION", 4, FieldType.BIT, 8).setBaseOffset(1148); + public static final Field RPMPRELAUNCHCONDITION = Field.create("RPMPRELAUNCHCONDITION", 4, FieldType.BIT, 9).setBaseOffset(1148); + public static final Field SPEEDCONDITION = Field.create("SPEEDCONDITION", 4, FieldType.BIT, 10).setBaseOffset(1148); + public static final Field TPSCONDITION = Field.create("TPSCONDITION", 4, FieldType.BIT, 11).setBaseOffset(1148); 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 f852c31c4d..0fe14e45bd 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(1224); - public static final Field HASIGNITIONVOLTAGE = Field.create("HASIGNITIONVOLTAGE", 0, FieldType.BIT, 1).setBaseOffset(1224); - public static final Field MAINRELAYSTATE = Field.create("MAINRELAYSTATE", 0, FieldType.BIT, 2).setBaseOffset(1224); - public static final Field DELAYEDSHUTOFFREQUESTED = Field.create("DELAYEDSHUTOFFREQUESTED", 0, FieldType.BIT, 3).setBaseOffset(1224); + public static final Field ISBENCHTEST = Field.create("ISBENCHTEST", 0, FieldType.BIT, 0).setBaseOffset(1228); + public static final Field HASIGNITIONVOLTAGE = Field.create("HASIGNITIONVOLTAGE", 0, FieldType.BIT, 1).setBaseOffset(1228); + public static final Field MAINRELAYSTATE = Field.create("MAINRELAYSTATE", 0, FieldType.BIT, 2).setBaseOffset(1228); + public static final Field DELAYEDSHUTOFFREQUESTED = Field.create("DELAYEDSHUTOFFREQUESTED", 0, FieldType.BIT, 3).setBaseOffset(1228); public static final Field[] VALUES = { ISBENCHTEST, HASIGNITIONVOLTAGE, diff --git a/java_console/models/src/main/java/com/rusefi/config/generated/NitrousControl.java b/java_console/models/src/main/java/com/rusefi/config/generated/NitrousControl.java index 20e35f0a55..e5b690fcf9 100644 --- a/java_console/models/src/main/java/com/rusefi/config/generated/NitrousControl.java +++ b/java_console/models/src/main/java/com/rusefi/config/generated/NitrousControl.java @@ -181,14 +181,14 @@ public class NitrousControl { 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 ISNITROUSARMED = Field.create("ISNITROUSARMED", 0, FieldType.BIT, 0).setBaseOffset(1200); - public static final Field ISNITROUSSPEEDCONDITION = Field.create("ISNITROUSSPEEDCONDITION", 0, FieldType.BIT, 1).setBaseOffset(1200); - public static final Field ISNITROUSTPSCONDITION = Field.create("ISNITROUSTPSCONDITION", 0, FieldType.BIT, 2).setBaseOffset(1200); - public static final Field ISNITROUSCLTCONDITION = Field.create("ISNITROUSCLTCONDITION", 0, FieldType.BIT, 3).setBaseOffset(1200); - public static final Field ISNITROUSMAPCONDITION = Field.create("ISNITROUSMAPCONDITION", 0, FieldType.BIT, 4).setBaseOffset(1200); - public static final Field ISNITROUSAFRCONDITION = Field.create("ISNITROUSAFRCONDITION", 0, FieldType.BIT, 5).setBaseOffset(1200); - public static final Field ISNITROUSRPMCONDITION = Field.create("ISNITROUSRPMCONDITION", 0, FieldType.BIT, 6).setBaseOffset(1200); - public static final Field ISNITROUSCONDITION = Field.create("ISNITROUSCONDITION", 0, FieldType.BIT, 7).setBaseOffset(1200); + public static final Field ISNITROUSARMED = Field.create("ISNITROUSARMED", 0, FieldType.BIT, 0).setBaseOffset(1204); + public static final Field ISNITROUSSPEEDCONDITION = Field.create("ISNITROUSSPEEDCONDITION", 0, FieldType.BIT, 1).setBaseOffset(1204); + public static final Field ISNITROUSTPSCONDITION = Field.create("ISNITROUSTPSCONDITION", 0, FieldType.BIT, 2).setBaseOffset(1204); + public static final Field ISNITROUSCLTCONDITION = Field.create("ISNITROUSCLTCONDITION", 0, FieldType.BIT, 3).setBaseOffset(1204); + public static final Field ISNITROUSMAPCONDITION = Field.create("ISNITROUSMAPCONDITION", 0, FieldType.BIT, 4).setBaseOffset(1204); + public static final Field ISNITROUSAFRCONDITION = Field.create("ISNITROUSAFRCONDITION", 0, FieldType.BIT, 5).setBaseOffset(1204); + public static final Field ISNITROUSRPMCONDITION = Field.create("ISNITROUSRPMCONDITION", 0, FieldType.BIT, 6).setBaseOffset(1204); + public static final Field ISNITROUSCONDITION = Field.create("ISNITROUSCONDITION", 0, FieldType.BIT, 7).setBaseOffset(1204); public static final Field[] VALUES = { ISNITROUSARMED, ISNITROUSSPEEDCONDITION, diff --git a/java_console/models/src/main/java/com/rusefi/config/generated/PrimeController.java b/java_console/models/src/main/java/com/rusefi/config/generated/PrimeController.java index 3d5322ee4e..d3f94f4530 100644 --- a/java_console/models/src/main/java/com/rusefi/config/generated/PrimeController.java +++ b/java_console/models/src/main/java/com/rusefi/config/generated/PrimeController.java @@ -181,7 +181,7 @@ public class PrimeController { 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_ISPRIMING = Field.create("M_ISPRIMING", 0, FieldType.BIT, 0).setBaseOffset(1064); + public static final Field M_ISPRIMING = Field.create("M_ISPRIMING", 0, FieldType.BIT, 0).setBaseOffset(1068); public static final Field[] VALUES = { M_ISPRIMING, }; 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 cbf7cde1c2..82e782cb66 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 @@ -181,9 +181,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(1788); - public static final Field VALUE1 = Field.create("VALUE1", 2, FieldType.INT16).setScale(1.0).setBaseOffset(1788); - public static final Field ERRORRATE = Field.create("ERRORRATE", 4, FieldType.FLOAT).setBaseOffset(1788); + public static final Field VALUE0 = Field.create("VALUE0", 0, FieldType.INT16).setScale(1.0).setBaseOffset(1792); + public static final Field VALUE1 = Field.create("VALUE1", 2, FieldType.INT16).setScale(1.0).setBaseOffset(1792); + public static final Field ERRORRATE = Field.create("ERRORRATE", 4, FieldType.FLOAT).setBaseOffset(1792); 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 62a019f066..77212cab50 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(1152); - public static final Field TORQUEREDUCTIONTRIGGERPINSTATE = Field.create("TORQUEREDUCTIONTRIGGERPINSTATE", 0, FieldType.BIT, 1).setBaseOffset(1152); - public static final Field ISTIMECONDITIONSATISFIED = Field.create("ISTIMECONDITIONSATISFIED", 0, FieldType.BIT, 2).setBaseOffset(1152); - public static final Field ISRPMCONDITIONSATISFIED = Field.create("ISRPMCONDITIONSATISFIED", 0, FieldType.BIT, 3).setBaseOffset(1152); - public static final Field ISAPPCONDITIONSATISFIED = Field.create("ISAPPCONDITIONSATISFIED", 0, FieldType.BIT, 4).setBaseOffset(1152); - public static final Field ISFLATSHIFTCONDITIONSATISFIED = Field.create("ISFLATSHIFTCONDITIONSATISFIED", 0, FieldType.BIT, 5).setBaseOffset(1152); + public static final Field ISTORQUEREDUCTIONTRIGGERPINVALID = Field.create("ISTORQUEREDUCTIONTRIGGERPINVALID", 0, FieldType.BIT, 0).setBaseOffset(1156); + public static final Field TORQUEREDUCTIONTRIGGERPINSTATE = Field.create("TORQUEREDUCTIONTRIGGERPINSTATE", 0, FieldType.BIT, 1).setBaseOffset(1156); + public static final Field ISTIMECONDITIONSATISFIED = Field.create("ISTIMECONDITIONSATISFIED", 0, FieldType.BIT, 2).setBaseOffset(1156); + public static final Field ISRPMCONDITIONSATISFIED = Field.create("ISRPMCONDITIONSATISFIED", 0, FieldType.BIT, 3).setBaseOffset(1156); + public static final Field ISAPPCONDITIONSATISFIED = Field.create("ISAPPCONDITIONSATISFIED", 0, FieldType.BIT, 4).setBaseOffset(1156); + public static final Field ISFLATSHIFTCONDITIONSATISFIED = Field.create("ISFLATSHIFTCONDITIONSATISFIED", 0, FieldType.BIT, 5).setBaseOffset(1156); 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 e7ae19164b..e9243edaf5 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 @@ -181,15 +181,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(1068); - public static final Field ALIGNMENTFILL_AT_1 = Field.create("ALIGNMENTFILL_AT_1", 1, FieldType.INT8).setScale(1.0).setBaseOffset(1068); - public static final Field TCRATIO = Field.create("TCRATIO", 2, FieldType.INT16).setScale(0.01).setBaseOffset(1068); - public static final Field LASTSHIFTTIME = Field.create("LASTSHIFTTIME", 4, FieldType.FLOAT).setBaseOffset(1068); - public static final Field TCU_CURRENTRANGE = Field.create("TCU_CURRENTRANGE", 8, FieldType.INT8).setScale(1.0).setBaseOffset(1068); - public static final Field PRESSURECONTROLDUTY = Field.create("PRESSURECONTROLDUTY", 9, FieldType.INT8).setScale(1.0).setBaseOffset(1068); - public static final Field TORQUECONVERTERDUTY = Field.create("TORQUECONVERTERDUTY", 10, FieldType.INT8).setScale(1.0).setBaseOffset(1068); - public static final Field ALIGNMENTFILL_AT_11 = Field.create("ALIGNMENTFILL_AT_11", 11, FieldType.INT8).setScale(1.0).setBaseOffset(1068); - public static final Field ISSHIFTING = Field.create("ISSHIFTING", 12, FieldType.BIT, 0).setBaseOffset(1068); + public static final Field TCUCURRENTGEAR = Field.create("TCUCURRENTGEAR", 0, FieldType.INT8).setScale(1.0).setBaseOffset(1072); + public static final Field ALIGNMENTFILL_AT_1 = Field.create("ALIGNMENTFILL_AT_1", 1, FieldType.INT8).setScale(1.0).setBaseOffset(1072); + public static final Field TCRATIO = Field.create("TCRATIO", 2, FieldType.INT16).setScale(0.01).setBaseOffset(1072); + public static final Field LASTSHIFTTIME = Field.create("LASTSHIFTTIME", 4, FieldType.FLOAT).setBaseOffset(1072); + public static final Field TCU_CURRENTRANGE = Field.create("TCU_CURRENTRANGE", 8, FieldType.INT8).setScale(1.0).setBaseOffset(1072); + public static final Field PRESSURECONTROLDUTY = Field.create("PRESSURECONTROLDUTY", 9, FieldType.INT8).setScale(1.0).setBaseOffset(1072); + public static final Field TORQUECONVERTERDUTY = Field.create("TORQUECONVERTERDUTY", 10, FieldType.INT8).setScale(1.0).setBaseOffset(1072); + public static final Field ALIGNMENTFILL_AT_11 = Field.create("ALIGNMENTFILL_AT_11", 11, FieldType.INT8).setScale(1.0).setBaseOffset(1072); + public static final Field ISSHIFTING = Field.create("ISSHIFTING", 12, FieldType.BIT, 0).setBaseOffset(1072); 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 3abab78949..da28ebce67 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(1084); - public static final Field THROTTLEMODELCROSSOVERANGLE = Field.create("THROTTLEMODELCROSSOVERANGLE", 4, FieldType.INT16).setScale(0.01).setBaseOffset(1084); - public static final Field ALIGNMENTFILL_AT_6 = Field.create("ALIGNMENTFILL_AT_6", 6, FieldType.INT8).setScale(1.0).setBaseOffset(1084); - public static final Field THROTTLEESTIMATEDFLOW = Field.create("THROTTLEESTIMATEDFLOW", 8, FieldType.FLOAT).setBaseOffset(1084); + public static final Field THROTTLEUSEWOTMODEL = Field.create("THROTTLEUSEWOTMODEL", 0, FieldType.BIT, 0).setBaseOffset(1088); + public static final Field THROTTLEMODELCROSSOVERANGLE = Field.create("THROTTLEMODELCROSSOVERANGLE", 4, FieldType.INT16).setScale(0.01).setBaseOffset(1088); + public static final Field ALIGNMENTFILL_AT_6 = Field.create("ALIGNMENTFILL_AT_6", 6, FieldType.INT8).setScale(1.0).setBaseOffset(1088); + public static final Field THROTTLEESTIMATEDFLOW = Field.create("THROTTLEESTIMATEDFLOW", 8, FieldType.FLOAT).setBaseOffset(1088); 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 4783655bcb..50b128bbe9 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 @@ -181,23 +181,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(1320); - public static final Field TPSTO = Field.create("TPSTO", 4, FieldType.FLOAT).setBaseOffset(1320); - public static final Field DELTATPS = Field.create("DELTATPS", 8, FieldType.FLOAT).setBaseOffset(1320); - public static final Field EXTRAFUEL = Field.create("EXTRAFUEL", 12, FieldType.FLOAT).setBaseOffset(1320); - public static final Field VALUEFROMTABLE = Field.create("VALUEFROMTABLE", 16, FieldType.FLOAT).setBaseOffset(1320); - public static final Field ISABOVEACCELTHRESHOLD = Field.create("ISABOVEACCELTHRESHOLD", 20, FieldType.BIT, 0).setBaseOffset(1320); - public static final Field ISBELOWDECELTHRESHOLD = Field.create("ISBELOWDECELTHRESHOLD", 20, FieldType.BIT, 1).setBaseOffset(1320); - public static final Field ISTIMETORESETACCUMULATOR = Field.create("ISTIMETORESETACCUMULATOR", 20, FieldType.BIT, 2).setBaseOffset(1320); - public static final Field ISFRACTIONALENRICHMENT = Field.create("ISFRACTIONALENRICHMENT", 20, FieldType.BIT, 3).setBaseOffset(1320); - public static final Field BELOWEPSILON = Field.create("BELOWEPSILON", 20, FieldType.BIT, 4).setBaseOffset(1320); - public static final Field TOOSHORT = Field.create("TOOSHORT", 20, FieldType.BIT, 5).setBaseOffset(1320); - public static final Field FRACTIONALINJFUEL = Field.create("FRACTIONALINJFUEL", 24, FieldType.FLOAT).setBaseOffset(1320); - public static final Field ACCUMULATEDVALUE = Field.create("ACCUMULATEDVALUE", 28, FieldType.FLOAT).setBaseOffset(1320); - public static final Field MAXEXTRAPERCYCLE = Field.create("MAXEXTRAPERCYCLE", 32, FieldType.FLOAT).setBaseOffset(1320); - public static final Field MAXEXTRAPERPERIOD = Field.create("MAXEXTRAPERPERIOD", 36, FieldType.FLOAT).setBaseOffset(1320); - public static final Field MAXINJECTEDPERPERIOD = Field.create("MAXINJECTEDPERPERIOD", 40, FieldType.FLOAT).setBaseOffset(1320); - public static final Field CYCLECNT = Field.create("CYCLECNT", 44, FieldType.INT).setScale(1.0).setBaseOffset(1320); + public static final Field TPSFROM = Field.create("TPSFROM", 0, FieldType.FLOAT).setBaseOffset(1324); + public static final Field TPSTO = Field.create("TPSTO", 4, FieldType.FLOAT).setBaseOffset(1324); + public static final Field DELTATPS = Field.create("DELTATPS", 8, FieldType.FLOAT).setBaseOffset(1324); + public static final Field EXTRAFUEL = Field.create("EXTRAFUEL", 12, FieldType.FLOAT).setBaseOffset(1324); + public static final Field VALUEFROMTABLE = Field.create("VALUEFROMTABLE", 16, FieldType.FLOAT).setBaseOffset(1324); + public static final Field ISABOVEACCELTHRESHOLD = Field.create("ISABOVEACCELTHRESHOLD", 20, FieldType.BIT, 0).setBaseOffset(1324); + public static final Field ISBELOWDECELTHRESHOLD = Field.create("ISBELOWDECELTHRESHOLD", 20, FieldType.BIT, 1).setBaseOffset(1324); + public static final Field ISTIMETORESETACCUMULATOR = Field.create("ISTIMETORESETACCUMULATOR", 20, FieldType.BIT, 2).setBaseOffset(1324); + public static final Field ISFRACTIONALENRICHMENT = Field.create("ISFRACTIONALENRICHMENT", 20, FieldType.BIT, 3).setBaseOffset(1324); + public static final Field BELOWEPSILON = Field.create("BELOWEPSILON", 20, FieldType.BIT, 4).setBaseOffset(1324); + public static final Field TOOSHORT = Field.create("TOOSHORT", 20, FieldType.BIT, 5).setBaseOffset(1324); + public static final Field FRACTIONALINJFUEL = Field.create("FRACTIONALINJFUEL", 24, FieldType.FLOAT).setBaseOffset(1324); + public static final Field ACCUMULATEDVALUE = Field.create("ACCUMULATEDVALUE", 28, FieldType.FLOAT).setBaseOffset(1324); + public static final Field MAXEXTRAPERCYCLE = Field.create("MAXEXTRAPERCYCLE", 32, FieldType.FLOAT).setBaseOffset(1324); + public static final Field MAXEXTRAPERPERIOD = Field.create("MAXEXTRAPERPERIOD", 36, FieldType.FLOAT).setBaseOffset(1324); + public static final Field MAXINJECTEDPERPERIOD = Field.create("MAXINJECTEDPERPERIOD", 40, FieldType.FLOAT).setBaseOffset(1324); + public static final Field CYCLECNT = Field.create("CYCLECNT", 44, FieldType.INT).setScale(1.0).setBaseOffset(1324); 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 71a576b526..0b0dfcd24d 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 @@ -181,24 +181,24 @@ public class TriggerCentral { 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 HWEVENTCOUNTERS1 = Field.create("HWEVENTCOUNTERS1", 0, FieldType.INT16).setScale(1.0).setBaseOffset(1368); - public static final Field HWEVENTCOUNTERS2 = Field.create("HWEVENTCOUNTERS2", 2, FieldType.INT16).setScale(1.0).setBaseOffset(1368); - public static final Field HWEVENTCOUNTERS3 = Field.create("HWEVENTCOUNTERS3", 4, FieldType.INT16).setScale(1.0).setBaseOffset(1368); - public static final Field HWEVENTCOUNTERS4 = Field.create("HWEVENTCOUNTERS4", 6, FieldType.INT16).setScale(1.0).setBaseOffset(1368); - public static final Field VVTCAMCOUNTER = Field.create("VVTCAMCOUNTER", 8, FieldType.INT16).setScale(1.0).setBaseOffset(1368); - public static final Field ALIGNMENTFILL_AT_10 = Field.create("ALIGNMENTFILL_AT_10", 10, FieldType.INT8).setScale(1.0).setBaseOffset(1368); - public static final Field MAPVVT_MAP_AT_SPECIAL_POINT = Field.create("MAPVVT_MAP_AT_SPECIAL_POINT", 12, FieldType.FLOAT).setBaseOffset(1368); - public static final Field MAPVVT_MAP_AT_DIFF = Field.create("MAPVVT_MAP_AT_DIFF", 16, FieldType.FLOAT).setBaseOffset(1368); - public static final Field MAPVVT_MAP_AT_CYCLE_COUNT = Field.create("MAPVVT_MAP_AT_CYCLE_COUNT", 20, FieldType.INT8).setScale(1.0).setBaseOffset(1368); - public static final Field MAPVVT_SYNC_COUNTER = Field.create("MAPVVT_SYNC_COUNTER", 21, FieldType.INT8).setScale(1.0).setBaseOffset(1368); - public static final Field ALIGNMENTFILL_AT_22 = Field.create("ALIGNMENTFILL_AT_22", 22, FieldType.INT8).setScale(1.0).setBaseOffset(1368); - public static final Field CURRENTENGINEDECODEDPHASE = Field.create("CURRENTENGINEDECODEDPHASE", 24, FieldType.FLOAT).setBaseOffset(1368); - public static final Field TRIGGERTOOTHANGLEERROR = Field.create("TRIGGERTOOTHANGLEERROR", 28, FieldType.FLOAT).setBaseOffset(1368); - public static final Field TRIGGERIGNOREDTOOTHCOUNT = Field.create("TRIGGERIGNOREDTOOTHCOUNT", 32, FieldType.INT8).setScale(1.0).setBaseOffset(1368); - public static final Field ALIGNMENTFILL_AT_33 = Field.create("ALIGNMENTFILL_AT_33", 33, FieldType.INT8).setScale(1.0).setBaseOffset(1368); - public static final Field MAPCAMPREVTOOTHANGLE = Field.create("MAPCAMPREVTOOTHANGLE", 36, FieldType.FLOAT).setBaseOffset(1368); - public static final Field ISDECODINGMAPCAM = Field.create("ISDECODINGMAPCAM", 40, FieldType.BIT, 0).setBaseOffset(1368); - public static final Field TRIGGERELAPSEDUS = Field.create("TRIGGERELAPSEDUS", 44, FieldType.INT).setScale(1.0).setBaseOffset(1368); + public static final Field HWEVENTCOUNTERS1 = Field.create("HWEVENTCOUNTERS1", 0, FieldType.INT16).setScale(1.0).setBaseOffset(1372); + public static final Field HWEVENTCOUNTERS2 = Field.create("HWEVENTCOUNTERS2", 2, FieldType.INT16).setScale(1.0).setBaseOffset(1372); + public static final Field HWEVENTCOUNTERS3 = Field.create("HWEVENTCOUNTERS3", 4, FieldType.INT16).setScale(1.0).setBaseOffset(1372); + public static final Field HWEVENTCOUNTERS4 = Field.create("HWEVENTCOUNTERS4", 6, FieldType.INT16).setScale(1.0).setBaseOffset(1372); + public static final Field VVTCAMCOUNTER = Field.create("VVTCAMCOUNTER", 8, FieldType.INT16).setScale(1.0).setBaseOffset(1372); + public static final Field ALIGNMENTFILL_AT_10 = Field.create("ALIGNMENTFILL_AT_10", 10, FieldType.INT8).setScale(1.0).setBaseOffset(1372); + public static final Field MAPVVT_MAP_AT_SPECIAL_POINT = Field.create("MAPVVT_MAP_AT_SPECIAL_POINT", 12, FieldType.FLOAT).setBaseOffset(1372); + public static final Field MAPVVT_MAP_AT_DIFF = Field.create("MAPVVT_MAP_AT_DIFF", 16, FieldType.FLOAT).setBaseOffset(1372); + public static final Field MAPVVT_MAP_AT_CYCLE_COUNT = Field.create("MAPVVT_MAP_AT_CYCLE_COUNT", 20, FieldType.INT8).setScale(1.0).setBaseOffset(1372); + public static final Field MAPVVT_SYNC_COUNTER = Field.create("MAPVVT_SYNC_COUNTER", 21, FieldType.INT8).setScale(1.0).setBaseOffset(1372); + public static final Field ALIGNMENTFILL_AT_22 = Field.create("ALIGNMENTFILL_AT_22", 22, FieldType.INT8).setScale(1.0).setBaseOffset(1372); + public static final Field CURRENTENGINEDECODEDPHASE = Field.create("CURRENTENGINEDECODEDPHASE", 24, FieldType.FLOAT).setBaseOffset(1372); + public static final Field TRIGGERTOOTHANGLEERROR = Field.create("TRIGGERTOOTHANGLEERROR", 28, FieldType.FLOAT).setBaseOffset(1372); + public static final Field TRIGGERIGNOREDTOOTHCOUNT = Field.create("TRIGGERIGNOREDTOOTHCOUNT", 32, FieldType.INT8).setScale(1.0).setBaseOffset(1372); + public static final Field ALIGNMENTFILL_AT_33 = Field.create("ALIGNMENTFILL_AT_33", 33, FieldType.INT8).setScale(1.0).setBaseOffset(1372); + public static final Field MAPCAMPREVTOOTHANGLE = Field.create("MAPCAMPREVTOOTHANGLE", 36, FieldType.FLOAT).setBaseOffset(1372); + public static final Field ISDECODINGMAPCAM = Field.create("ISDECODINGMAPCAM", 40, FieldType.BIT, 0).setBaseOffset(1372); + public static final Field TRIGGERELAPSEDUS = Field.create("TRIGGERELAPSEDUS", 44, FieldType.INT).setScale(1.0).setBaseOffset(1372); 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 2c7b33295c..e7d797a678 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 @@ -181,16 +181,16 @@ 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 SYNCHRONIZATIONCOUNTER = Field.create("SYNCHRONIZATIONCOUNTER", 0, FieldType.INT).setScale(1.0).setBaseOffset(1416); - public static final Field VVTTOOTHDURATIONS0 = Field.create("VVTTOOTHDURATIONS0", 4, FieldType.INT).setScale(1.0).setBaseOffset(1416); - public static final Field VVTCURRENTPOSITION = Field.create("VVTCURRENTPOSITION", 8, FieldType.FLOAT).setBaseOffset(1416); - public static final Field VVTTOOTHPOSITION1 = Field.create("VVTTOOTHPOSITION1", 12, FieldType.FLOAT).setBaseOffset(1416); - public static final Field VVTTOOTHPOSITION2 = Field.create("VVTTOOTHPOSITION2", 16, FieldType.FLOAT).setBaseOffset(1416); - public static final Field VVTTOOTHPOSITION3 = Field.create("VVTTOOTHPOSITION3", 20, FieldType.FLOAT).setBaseOffset(1416); - public static final Field VVTTOOTHPOSITION4 = Field.create("VVTTOOTHPOSITION4", 24, FieldType.FLOAT).setBaseOffset(1416); - public static final Field TRIGGERSYNCGAPRATIO = Field.create("TRIGGERSYNCGAPRATIO", 28, FieldType.FLOAT).setBaseOffset(1416); - public static final Field TRIGGERSTATEINDEX = Field.create("TRIGGERSTATEINDEX", 32, FieldType.INT8).setScale(1.0).setBaseOffset(1416); - public static final Field ALIGNMENTFILL_AT_33 = Field.create("ALIGNMENTFILL_AT_33", 33, FieldType.INT8).setScale(1.0).setBaseOffset(1416); + public static final Field SYNCHRONIZATIONCOUNTER = Field.create("SYNCHRONIZATIONCOUNTER", 0, FieldType.INT).setScale(1.0).setBaseOffset(1420); + public static final Field VVTTOOTHDURATIONS0 = Field.create("VVTTOOTHDURATIONS0", 4, FieldType.INT).setScale(1.0).setBaseOffset(1420); + public static final Field VVTCURRENTPOSITION = Field.create("VVTCURRENTPOSITION", 8, FieldType.FLOAT).setBaseOffset(1420); + public static final Field VVTTOOTHPOSITION1 = Field.create("VVTTOOTHPOSITION1", 12, FieldType.FLOAT).setBaseOffset(1420); + public static final Field VVTTOOTHPOSITION2 = Field.create("VVTTOOTHPOSITION2", 16, FieldType.FLOAT).setBaseOffset(1420); + public static final Field VVTTOOTHPOSITION3 = Field.create("VVTTOOTHPOSITION3", 20, FieldType.FLOAT).setBaseOffset(1420); + public static final Field VVTTOOTHPOSITION4 = Field.create("VVTTOOTHPOSITION4", 24, FieldType.FLOAT).setBaseOffset(1420); + public static final Field TRIGGERSYNCGAPRATIO = Field.create("TRIGGERSYNCGAPRATIO", 28, FieldType.FLOAT).setBaseOffset(1420); + public static final Field TRIGGERSTATEINDEX = Field.create("TRIGGERSTATEINDEX", 32, FieldType.INT8).setScale(1.0).setBaseOffset(1420); + public static final Field ALIGNMENTFILL_AT_33 = Field.create("ALIGNMENTFILL_AT_33", 33, FieldType.INT8).setScale(1.0).setBaseOffset(1420); public static final Field[] VALUES = { SYNCHRONIZATIONCOUNTER, VVTTOOTHDURATIONS0, 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 ce7877d295..593c32623d 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 @@ -181,9 +181,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(1596); - public static final Field ALIGNMENTFILL_AT_1 = Field.create("ALIGNMENTFILL_AT_1", 1, FieldType.INT8).setScale(1.0).setBaseOffset(1596); - public static final Field M_HASSYNCHRONIZEDPHASE = Field.create("M_HASSYNCHRONIZEDPHASE", 4, FieldType.BIT, 0).setBaseOffset(1596); + public static final Field CAMRESYNCCOUNTER = Field.create("CAMRESYNCCOUNTER", 0, FieldType.INT8).setScale(1.0).setBaseOffset(1600); + public static final Field ALIGNMENTFILL_AT_1 = Field.create("ALIGNMENTFILL_AT_1", 1, FieldType.INT8).setScale(1.0).setBaseOffset(1600); + public static final Field M_HASSYNCHRONIZEDPHASE = Field.create("M_HASSYNCHRONIZEDPHASE", 4, FieldType.BIT, 0).setBaseOffset(1600); 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 6e238fa893..28e6f4559e 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(1796); - public static final Field VVTOUTPUT = Field.create("VVTOUTPUT", 2, FieldType.INT8).setScale(0.5).setBaseOffset(1796); - public static final Field ALIGNMENTFILL_AT_3 = Field.create("ALIGNMENTFILL_AT_3", 3, FieldType.INT8).setScale(1.0).setBaseOffset(1796); + public static final Field VVTTARGET = Field.create("VVTTARGET", 0, FieldType.INT16).setScale(0.1).setBaseOffset(1800); + public static final Field VVTOUTPUT = Field.create("VVTOUTPUT", 2, FieldType.INT8).setScale(0.5).setBaseOffset(1800); + public static final Field ALIGNMENTFILL_AT_3 = Field.create("ALIGNMENTFILL_AT_3", 3, FieldType.INT8).setScale(1.0).setBaseOffset(1800); 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 52550d7248..cd13e16ecb 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(1604); - public static final Field WALLFUEL = Field.create("WALLFUEL", 4, FieldType.FLOAT).setBaseOffset(1604); + public static final Field WALLFUELCORRECTION = Field.create("WALLFUELCORRECTION", 0, FieldType.FLOAT).setBaseOffset(1608); + public static final Field WALLFUEL = Field.create("WALLFUEL", 4, FieldType.FLOAT).setBaseOffset(1608); 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 f47dffdd29..cc65c9b843 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(1752); - public static final Field HEATERDUTY = Field.create("HEATERDUTY", 1, FieldType.INT8).setScale(1.0).setBaseOffset(1752); - public static final Field PUMPDUTY = Field.create("PUMPDUTY", 2, FieldType.INT8).setScale(1.0).setBaseOffset(1752); - public static final Field ALIGNMENTFILL_AT_3 = Field.create("ALIGNMENTFILL_AT_3", 3, FieldType.INT8).setScale(1.0).setBaseOffset(1752); - public static final Field TEMPC = Field.create("TEMPC", 4, FieldType.INT16).setScale(1.0).setBaseOffset(1752); - public static final Field NERNSTVOLTAGE = Field.create("NERNSTVOLTAGE", 6, FieldType.INT16).setScale(0.001).setBaseOffset(1752); - public static final Field ESR = Field.create("ESR", 8, FieldType.INT16).setScale(1.0).setBaseOffset(1752); - public static final Field ALIGNMENTFILL_AT_10 = Field.create("ALIGNMENTFILL_AT_10", 10, FieldType.INT8).setScale(1.0).setBaseOffset(1752); + public static final Field FAULTCODE = Field.create("FAULTCODE", 0, FieldType.INT8).setScale(1.0).setBaseOffset(1756); + public static final Field HEATERDUTY = Field.create("HEATERDUTY", 1, FieldType.INT8).setScale(1.0).setBaseOffset(1756); + public static final Field PUMPDUTY = Field.create("PUMPDUTY", 2, FieldType.INT8).setScale(1.0).setBaseOffset(1756); + public static final Field ALIGNMENTFILL_AT_3 = Field.create("ALIGNMENTFILL_AT_3", 3, FieldType.INT8).setScale(1.0).setBaseOffset(1756); + public static final Field TEMPC = Field.create("TEMPC", 4, FieldType.INT16).setScale(1.0).setBaseOffset(1756); + public static final Field NERNSTVOLTAGE = Field.create("NERNSTVOLTAGE", 6, FieldType.INT16).setScale(0.001).setBaseOffset(1756); + public static final Field ESR = Field.create("ESR", 8, FieldType.INT16).setScale(1.0).setBaseOffset(1756); + public static final Field ALIGNMENTFILL_AT_10 = Field.create("ALIGNMENTFILL_AT_10", 10, FieldType.INT8).setScale(1.0).setBaseOffset(1756); public static final Field[] VALUES = { FAULTCODE, HEATERDUTY,