diff --git a/firmware/config/boards/cypress/config/controllers/algo/engine_configuration_generated_structures.h b/firmware/config/boards/cypress/config/controllers/algo/engine_configuration_generated_structures.h index 0ec2e71505..a8ac72d049 100644 --- a/firmware/config/boards/cypress/config/controllers/algo/engine_configuration_generated_structures.h +++ b/firmware/config/boards/cypress/config/controllers/algo/engine_configuration_generated_structures.h @@ -1,4 +1,4 @@ -// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on hellen_cypress_gen_config.bat integration/rusefi_config.txt Tue Jan 10 19:59:10 UTC 2023 +// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on hellen_cypress_gen_config.bat integration/rusefi_config.txt Tue Jan 10 21:34:46 UTC 2023 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -770,8 +770,9 @@ struct engine_configuration_s { offset 120 bit 20 */ bool launchControlEnabled : 1 {}; /** + * "Detect double trigger edges" offset 120 bit 21 */ - bool anotherUnusedHere444 : 1 {}; + bool doNotFilterTriggerEdgeNoise : 1 {}; /** offset 120 bit 22 */ bool antiLagEnabled : 1 {}; @@ -5238,4 +5239,4 @@ struct persistent_config_s { static_assert(sizeof(persistent_config_s) == 22368); // end -// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on hellen_cypress_gen_config.bat integration/rusefi_config.txt Tue Jan 10 19:59:10 UTC 2023 +// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on hellen_cypress_gen_config.bat integration/rusefi_config.txt Tue Jan 10 21:34:46 UTC 2023 diff --git a/firmware/config/boards/cypress/config/controllers/algo/rusefi_generated.h b/firmware/config/boards/cypress/config/controllers/algo/rusefi_generated.h index 376a902c1d..1ad6f5c353 100644 --- a/firmware/config/boards/cypress/config/controllers/algo/rusefi_generated.h +++ b/firmware/config/boards/cypress/config/controllers/algo/rusefi_generated.h @@ -1042,7 +1042,7 @@ #define SENT_INPUT_COUNT 1 #define show_Frankenso_presets true #define show_test_presets true -#define SIGNATURE_HASH snap_24315 +#define SIGNATURE_HASH snap_20080 #define specs_s_size 12 #define spi_device_e_auto_enum 0="SPI_NONE",1="SPI_DEVICE_1",2="SPI_DEVICE_2",3="SPI_DEVICE_3",4="SPI_DEVICE_4" #define spi_device_e_SPI_DEVICE_1 1 @@ -1317,12 +1317,12 @@ #define ts_show_vbatt true #define ts_show_vr_threshold_2 true #define ts_show_vr_threshold_all true -#define TS_SIGNATURE "rusEFI 2023.01.10.cypress.snap_24315" +#define TS_SIGNATURE "rusEFI 2023.01.10.cypress.snap_20080" #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 1288 +#define TS_TOTAL_OUTPUT_SIZE 1292 #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/config/boards/kinetis/config/controllers/algo/engine_configuration_generated_structures.h b/firmware/config/boards/kinetis/config/controllers/algo/engine_configuration_generated_structures.h index ad759bbd02..f80c89341a 100644 --- a/firmware/config/boards/kinetis/config/controllers/algo/engine_configuration_generated_structures.h +++ b/firmware/config/boards/kinetis/config/controllers/algo/engine_configuration_generated_structures.h @@ -1,4 +1,4 @@ -// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on kinetis_gen_config.bat integration/rusefi_config.txt Tue Jan 10 19:59:09 UTC 2023 +// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on kinetis_gen_config.bat integration/rusefi_config.txt Tue Jan 10 21:34:45 UTC 2023 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -770,8 +770,9 @@ struct engine_configuration_s { offset 120 bit 20 */ bool launchControlEnabled : 1 {}; /** + * "Detect double trigger edges" offset 120 bit 21 */ - bool anotherUnusedHere444 : 1 {}; + bool doNotFilterTriggerEdgeNoise : 1 {}; /** offset 120 bit 22 */ bool antiLagEnabled : 1 {}; @@ -5238,4 +5239,4 @@ struct persistent_config_s { static_assert(sizeof(persistent_config_s) == 22368); // end -// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on kinetis_gen_config.bat integration/rusefi_config.txt Tue Jan 10 19:59:09 UTC 2023 +// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on kinetis_gen_config.bat integration/rusefi_config.txt Tue Jan 10 21:34:45 UTC 2023 diff --git a/firmware/config/boards/kinetis/config/controllers/algo/rusefi_generated.h b/firmware/config/boards/kinetis/config/controllers/algo/rusefi_generated.h index a01024eac9..6614b0b3db 100644 --- a/firmware/config/boards/kinetis/config/controllers/algo/rusefi_generated.h +++ b/firmware/config/boards/kinetis/config/controllers/algo/rusefi_generated.h @@ -1042,7 +1042,7 @@ #define SENT_INPUT_COUNT 1 #define show_Frankenso_presets true #define show_test_presets true -#define SIGNATURE_HASH snap_64567 +#define SIGNATURE_HASH snap_60604 #define specs_s_size 12 #define spi_device_e_auto_enum 0="SPI_NONE",1="SPI_DEVICE_1",2="SPI_DEVICE_2",3="SPI_DEVICE_3",4="SPI_DEVICE_4" #define spi_device_e_SPI_DEVICE_1 1 @@ -1317,12 +1317,12 @@ #define ts_show_vbatt true #define ts_show_vr_threshold_2 true #define ts_show_vr_threshold_all true -#define TS_SIGNATURE "rusEFI 2023.01.10.kin.snap_64567" +#define TS_SIGNATURE "rusEFI 2023.01.10.kin.snap_60604" #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 1288 +#define TS_TOTAL_OUTPUT_SIZE 1292 #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/config/boards/subaru_eg33/config/controllers/algo/engine_configuration_generated_structures.h b/firmware/config/boards/subaru_eg33/config/controllers/algo/engine_configuration_generated_structures.h index f020e8944b..4d4275eec9 100644 --- a/firmware/config/boards/subaru_eg33/config/controllers/algo/engine_configuration_generated_structures.h +++ b/firmware/config/boards/subaru_eg33/config/controllers/algo/engine_configuration_generated_structures.h @@ -1,4 +1,4 @@ -// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on config/boards/subaru_eg33/config/gen_subaru_config.sh integration/rusefi_config.txt Tue Jan 10 19:59:11 UTC 2023 +// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on config/boards/subaru_eg33/config/gen_subaru_config.sh integration/rusefi_config.txt Tue Jan 10 21:34:47 UTC 2023 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -770,8 +770,9 @@ struct engine_configuration_s { offset 120 bit 20 */ bool launchControlEnabled : 1 {}; /** + * "Detect double trigger edges" offset 120 bit 21 */ - bool anotherUnusedHere444 : 1 {}; + bool doNotFilterTriggerEdgeNoise : 1 {}; /** offset 120 bit 22 */ bool antiLagEnabled : 1 {}; @@ -5238,4 +5239,4 @@ struct persistent_config_s { static_assert(sizeof(persistent_config_s) == 22368); // end -// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on config/boards/subaru_eg33/config/gen_subaru_config.sh integration/rusefi_config.txt Tue Jan 10 19:59:11 UTC 2023 +// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on config/boards/subaru_eg33/config/gen_subaru_config.sh integration/rusefi_config.txt Tue Jan 10 21:34:47 UTC 2023 diff --git a/firmware/config/boards/subaru_eg33/config/controllers/algo/rusefi_generated.h b/firmware/config/boards/subaru_eg33/config/controllers/algo/rusefi_generated.h index efcc5bf469..e8dc0f1249 100644 --- a/firmware/config/boards/subaru_eg33/config/controllers/algo/rusefi_generated.h +++ b/firmware/config/boards/subaru_eg33/config/controllers/algo/rusefi_generated.h @@ -992,7 +992,7 @@ #define show_Frankenso_presets false #define show_Proteus_presets false #define show_test_presets false -#define SIGNATURE_HASH snap_34593 +#define SIGNATURE_HASH snap_38826 #define specs_s_size 12 #define spi_device_e_auto_enum 0="SPI_NONE",1="SPI_DEVICE_1",2="SPI_DEVICE_2",3="SPI_DEVICE_3",4="SPI_DEVICE_4" #define spi_device_e_SPI_DEVICE_1 1 @@ -1268,12 +1268,12 @@ #define ts_show_vbatt true #define ts_show_vr_threshold_2 true #define ts_show_vr_threshold_all true -#define TS_SIGNATURE "rusEFI 2023.01.10.subaru_eg33_f7.snap_34593" +#define TS_SIGNATURE "rusEFI 2023.01.10.subaru_eg33_f7.snap_38826" #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 1288 +#define TS_TOTAL_OUTPUT_SIZE 1292 #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/console/binary/generated/data_logs.ini b/firmware/console/binary/generated/data_logs.ini index 153de6f213..f88c861a2c 100644 --- a/firmware/console/binary/generated/data_logs.ini +++ b/firmware/console/binary/generated/data_logs.ini @@ -457,6 +457,7 @@ entry = mapVvt_MAP_AT_CYCLE_COUNT, "mapVvt_MAP_AT_CYCLE_COUNT", int, "%d" entry = mapVvt_map_peak, "mapVvt_map_peak", int, "%d" entry = currentEngineDecodedPhase, "Engine Phase", float, "%.3f" entry = triggerToothAngleError, "triggerToothAngleError", float, "%.3f" +entry = triggerIgnoredToothCount, "triggerIgnoredToothCount", int, "%d" entry = crankSynchronizationCounter, "Crank sync counter", int, "%d" entry = vvtSyncGapRatio, "vvtSyncGapRatio", float, "%.3f" entry = vvtCurrentPosition, "vvtCurrentPosition", float, "%.3f" @@ -506,11 +507,13 @@ entry = etbIntegralError, "etbIntegralError", float, "%.3f" entry = etbCurrentTarget, "etbCurrentTarget", float, "%.3f" entry = etbCurrentAdjustedTarget, "etbCurrentAdjustedTarget", float, "%.3f" entry = etbRevLimitActive, "etbRevLimitActive", int, "%d" +entry = jamDetected, "jamDetected", int, "%d" entry = etbDutyRateOfChange, "etbDutyRateOfChange", float, "%.3f" entry = etbDutyAverage, "etbDutyAverage", float, "%.3f" entry = etbTpsErrorCounter, "ETB TPS error counter", int, "%d" entry = etbPpsErrorCounter, "ETB pedal error counter", int, "%d" entry = etbErrorCode, "etbErrorCode", int, "%d" +entry = jamTimer, "ETB jam timer", float, "%.3f" entry = faultCode, "faultCode", int, "%d" entry = heaterDuty, "heaterDuty", int, "%d" entry = pumpDuty, "pumpDuty", int, "%d" diff --git a/firmware/console/binary/generated/fancy_content.ini b/firmware/console/binary/generated/fancy_content.ini index 2ac4e59268..0d6e68bfe7 100644 --- a/firmware/console/binary/generated/fancy_content.ini +++ b/firmware/console/binary/generated/fancy_content.ini @@ -248,6 +248,7 @@ dialog = trigger_centralDialog, "trigger_central" graphLine = currentEngineDecodedPhase liveGraph = trigger_central_4_Graph, "Graph", South graphLine = triggerToothAngleError + graphLine = triggerIgnoredToothCount dialog = trigger_stateDialog, "trigger_state" @@ -318,6 +319,7 @@ dialog = ignition_stateDialog, "ignition_state" indicatorPanel = electronic_throttleIndicatorPanel, 2 indicator = {etbRevLimitActive}, "etbRevLimitActive No", "etbRevLimitActive Yes" + indicator = {jamDetected}, "jamDetected No", "jamDetected Yes" dialog = electronic_throttleDialog, "electronic_throttle" panel = electronic_throttleIndicatorPanel @@ -336,6 +338,8 @@ dialog = electronic_throttleDialog, "electronic_throttle" graphLine = etbTpsErrorCounter graphLine = etbPpsErrorCounter graphLine = etbErrorCode + liveGraph = electronic_throttle_4_Graph, "Graph", South + graphLine = jamTimer dialog = wideband_stateDialog, "wideband_state" diff --git a/firmware/console/binary/generated/live_data_ids.h b/firmware/console/binary/generated/live_data_ids.h index 94a2527562..0be8a6f95b 100644 --- a/firmware/console/binary/generated/live_data_ids.h +++ b/firmware/console/binary/generated/live_data_ids.h @@ -40,10 +40,10 @@ LDS_wideband_state, #define ENGINE_STATE_BASE_ADDRESS 888 #define TPS_ACCEL_STATE_BASE_ADDRESS 1044 #define TRIGGER_CENTRAL_BASE_ADDRESS 1092 -#define TRIGGER_STATE_BASE_ADDRESS 1140 -#define TRIGGER_STATE_PRIMARY_BASE_ADDRESS 1160 -#define WALL_FUEL_STATE_BASE_ADDRESS 1164 -#define IDLE_STATE_BASE_ADDRESS 1172 -#define IGNITION_STATE_BASE_ADDRESS 1212 -#define ELECTRONIC_THROTTLE_BASE_ADDRESS 1228 -#define WIDEBAND_STATE_BASE_ADDRESS 1276 +#define TRIGGER_STATE_BASE_ADDRESS 1144 +#define TRIGGER_STATE_PRIMARY_BASE_ADDRESS 1164 +#define WALL_FUEL_STATE_BASE_ADDRESS 1168 +#define IDLE_STATE_BASE_ADDRESS 1176 +#define IGNITION_STATE_BASE_ADDRESS 1216 +#define ELECTRONIC_THROTTLE_BASE_ADDRESS 1232 +#define WIDEBAND_STATE_BASE_ADDRESS 1280 diff --git a/firmware/console/binary/generated/output_channels.ini b/firmware/console/binary/generated/output_channels.ini index f93700efb6..38b845a919 100644 --- a/firmware/console/binary/generated/output_channels.ini +++ b/firmware/console/binary/generated/output_channels.ini @@ -634,71 +634,74 @@ mapVvt_MAP_AT_CYCLE_COUNT = scalar, U08, 1128, "", 1, 0 mapVvt_map_peak = scalar, U08, 1129, "", 1, 0 currentEngineDecodedPhase = scalar, F32, 1132, "deg", 1, 0 triggerToothAngleError = scalar, F32, 1136, "deg", 1, 0 -; total TS size = 1140 -crankSynchronizationCounter = scalar, U32, 1140, "", 1, 0 -vvtSyncGapRatio = scalar, F32, 1144, "", 1, 0 -vvtCurrentPosition = scalar, F32, 1148, "", 1, 0 -triggerSyncGapRatio = scalar, F32, 1152, "", 1, 0 -triggerStateIndex = scalar, U08, 1156, "", 1, 0 -vvtCounter = scalar, U08, 1157, "", 1, 0 -camResyncCounter = scalar, U08, 1158, "", 1, 0 -vvtStateIndex = scalar, U08, 1159, "", 1, 0 -; total TS size = 1160 -m_hasSynchronizedPhase = bits, U32, 1160, [0:0] +triggerIgnoredToothCount = scalar, U08, 1140, "", 1, 0 +; total TS size = 1144 +crankSynchronizationCounter = scalar, U32, 1144, "", 1, 0 +vvtSyncGapRatio = scalar, F32, 1148, "", 1, 0 +vvtCurrentPosition = scalar, F32, 1152, "", 1, 0 +triggerSyncGapRatio = scalar, F32, 1156, "", 1, 0 +triggerStateIndex = scalar, U08, 1160, "", 1, 0 +vvtCounter = scalar, U08, 1161, "", 1, 0 +camResyncCounter = scalar, U08, 1162, "", 1, 0 +vvtStateIndex = scalar, U08, 1163, "", 1, 0 ; total TS size = 1164 -wallFuelCorrection = scalar, F32, 1164, "", 1, 0 -wallFuel = scalar, F32, 1168, "", 1, 0 -; total TS size = 1172 -idleState = bits, S32, 1172, [0:2], "not important" -currentIdlePosition = scalar, F32, 1176 -baseIdlePosition = scalar, F32, 1180 -iacByTpsTaper = scalar, F32, 1184 -throttlePedalUpState = scalar, S32, 1188, "", 1, 0 -mightResetPid = bits, U32, 1192, [0:0] -shouldResetPid = bits, U32, 1192, [1:1] -wasResetPid = bits, U32, 1192, [2:2] -mustResetPid = bits, U32, 1192, [3:3] -isCranking = bits, U32, 1192, [4:4] -isIacTableForCoasting = bits, U32, 1192, [5:5] -notIdling = bits, U32, 1192, [6:6] -needReset = bits, U32, 1192, [7:7] -isInDeadZone = bits, U32, 1192, [8:8] -isBlipping = bits, U32, 1192, [9:9] -useClosedLoop = bits, U32, 1192, [10:10] -badTps = bits, U32, 1192, [11:11] -looksLikeRunning = bits, U32, 1192, [12:12] -looksLikeCoasting = bits, U32, 1192, [13:13] -looksLikeCrankToIdle = bits, U32, 1192, [14:14] -isVerboseIAC = bits, U32, 1192, [15:15] -isIdleCoasting = bits, U32, 1192, [16:16] -targetRpmByClt = scalar, S32, 1196, "", 1, 0 -targetRpmAcBump = scalar, S32, 1200, "", 1, 0 -iacByRpmTaper = scalar, F32, 1204 -luaAdd = scalar, F32, 1208 -; total TS size = 1212 -baseDwell = scalar, F32, 1212, "", 1, 0 -dwellVoltageCorrection = scalar, F32, 1216, "", 1, 0 -luaTimingAdd = scalar, F32, 1220, "", 1, 0 -luaTimingMult = scalar, F32, 1224, "", 1, 0 -; total TS size = 1228 -idlePosition = scalar, F32, 1228, "", 1, 0 -trim = scalar, F32, 1232, "", 1, 0 -luaAdjustment = scalar, F32, 1236, "", 1, 0 -etbFeedForward = scalar, F32, 1240 -etbIntegralError = scalar, F32, 1244, "", 1, 0 -etbCurrentTarget = scalar, F32, 1248, "%", 1, 0 -etbCurrentAdjustedTarget = scalar, F32, 1252, "%", 1, 0 -etbRevLimitActive = bits, U32, 1256, [0:0] -etbDutyRateOfChange = scalar, F32, 1260, "", 1, 0 -etbDutyAverage = scalar, F32, 1264, "", 1, 0 -etbTpsErrorCounter = scalar, U16, 1268, "", 1, 0 -etbPpsErrorCounter = scalar, U16, 1270, "", 1, 0 -etbErrorCode = scalar, S08, 1272, "", 1, 0 -; total TS size = 1276 -faultCode = scalar, U08, 1276, "", 1, 0 -heaterDuty = scalar, U08, 1277, "%", 1, 0 -pumpDuty = scalar, U08, 1278, "%", 1, 0 -tempC = scalar, U16, 1280, "C", 1, 0 -nernstVoltage = scalar, U16, 1282, "V", 0.001, 0 -esr = scalar, U16, 1284, "", 1, 0 -; total TS size = 1288 +m_hasSynchronizedPhase = bits, U32, 1164, [0:0] +; total TS size = 1168 +wallFuelCorrection = scalar, F32, 1168, "", 1, 0 +wallFuel = scalar, F32, 1172, "", 1, 0 +; total TS size = 1176 +idleState = bits, S32, 1176, [0:2], "not important" +currentIdlePosition = scalar, F32, 1180 +baseIdlePosition = scalar, F32, 1184 +iacByTpsTaper = scalar, F32, 1188 +throttlePedalUpState = scalar, S32, 1192, "", 1, 0 +mightResetPid = bits, U32, 1196, [0:0] +shouldResetPid = bits, U32, 1196, [1:1] +wasResetPid = bits, U32, 1196, [2:2] +mustResetPid = bits, U32, 1196, [3:3] +isCranking = bits, U32, 1196, [4:4] +isIacTableForCoasting = bits, U32, 1196, [5:5] +notIdling = bits, U32, 1196, [6:6] +needReset = bits, U32, 1196, [7:7] +isInDeadZone = bits, U32, 1196, [8:8] +isBlipping = bits, U32, 1196, [9:9] +useClosedLoop = bits, U32, 1196, [10:10] +badTps = bits, U32, 1196, [11:11] +looksLikeRunning = bits, U32, 1196, [12:12] +looksLikeCoasting = bits, U32, 1196, [13:13] +looksLikeCrankToIdle = bits, U32, 1196, [14:14] +isVerboseIAC = bits, U32, 1196, [15:15] +isIdleCoasting = bits, U32, 1196, [16:16] +targetRpmByClt = scalar, S32, 1200, "", 1, 0 +targetRpmAcBump = scalar, S32, 1204, "", 1, 0 +iacByRpmTaper = scalar, F32, 1208 +luaAdd = scalar, F32, 1212 +; total TS size = 1216 +baseDwell = scalar, F32, 1216, "", 1, 0 +dwellVoltageCorrection = scalar, F32, 1220, "", 1, 0 +luaTimingAdd = scalar, F32, 1224, "", 1, 0 +luaTimingMult = scalar, F32, 1228, "", 1, 0 +; total TS size = 1232 +idlePosition = scalar, F32, 1232, "", 1, 0 +trim = scalar, F32, 1236, "", 1, 0 +luaAdjustment = scalar, F32, 1240, "", 1, 0 +etbFeedForward = scalar, F32, 1244 +etbIntegralError = scalar, F32, 1248, "", 1, 0 +etbCurrentTarget = scalar, F32, 1252, "%", 1, 0 +etbCurrentAdjustedTarget = scalar, F32, 1256, "%", 1, 0 +etbRevLimitActive = bits, U32, 1260, [0:0] +jamDetected = bits, U32, 1260, [1:1] +etbDutyRateOfChange = scalar, F32, 1264, "", 1, 0 +etbDutyAverage = scalar, F32, 1268, "", 1, 0 +etbTpsErrorCounter = scalar, U16, 1272, "", 1, 0 +etbPpsErrorCounter = scalar, U16, 1274, "", 1, 0 +etbErrorCode = scalar, S08, 1276, "", 1, 0 +jamTimer = scalar, U16, 1278, "sec", 0.01, 0 +; total TS size = 1280 +faultCode = scalar, U08, 1280, "", 1, 0 +heaterDuty = scalar, U08, 1281, "%", 1, 0 +pumpDuty = scalar, U08, 1282, "%", 1, 0 +tempC = scalar, U16, 1284, "C", 1, 0 +nernstVoltage = scalar, U16, 1286, "V", 0.001, 0 +esr = scalar, U16, 1288, "", 1, 0 +; total TS size = 1292 diff --git a/firmware/console/binary/generated/sensors.java b/firmware/console/binary/generated/sensors.java index 41163d2c67..600eabac2a 100644 --- a/firmware/console/binary/generated/sensors.java +++ b/firmware/console/binary/generated/sensors.java @@ -454,47 +454,50 @@ mapVvt_map_peak("mapVvt_map_peak", SensorCategory.SENSOR_INPUTS, FieldType.INT8, alignmentFill_at_38("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1130, 1.0, -20.0, 100.0, "units"), currentEngineDecodedPhase("Engine Phase", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1132, 1.0, 0.0, 0.0, "deg"), triggerToothAngleError("triggerToothAngleError", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1136, 1.0, -30.0, 30.0, "deg"), -crankSynchronizationCounter("Crank sync counter\nUsually matches crank revolutions", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1140, 1.0, -1.0, -1.0, ""), -vvtSyncGapRatio("vvtSyncGapRatio", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1144, 1.0, -10000.0, 10000.0, ""), -vvtCurrentPosition("vvtCurrentPosition", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1148, 1.0, -10000.0, 10000.0, ""), -triggerSyncGapRatio("Trigger Sync Latest Ratio", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1152, 1.0, -10000.0, 10000.0, ""), -triggerStateIndex("triggerStateIndex", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1156, 1.0, -1.0, -1.0, ""), -vvtCounter("vvtCounter", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1157, 1.0, -1.0, -1.0, ""), -camResyncCounter("camResyncCounter", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1158, 1.0, -1.0, -1.0, ""), -vvtStateIndex("vvtStateIndex", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1159, 1.0, -1.0, -1.0, ""), -wallFuelCorrection("fuel wallwetting injection time\n correction to account for wall wetting effect for current cycle", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1164, 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, 1168, 1.0, -1.0, -1.0, ""), -idleState("idleState", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1172, 1.0, -1.0, -1.0, ""), -currentIdlePosition("idle: current position\nthat's current position with CLT and IAT corrections", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1176, 1.0, -1.0, -1.0, ""), -baseIdlePosition("idle: base value\ncurrent position without adjustments (iacByTpsTaper, afterCrankingIACtaperDuration)", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1180, 1.0, -1.0, -1.0, ""), -iacByTpsTaper("idle: iacByTpsTaper portion", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1184, 1.0, -1.0, -1.0, ""), -throttlePedalUpState("idle: throttlePedalUpState\ntrue in IDLE throttle pedal state, false if driver is touching the pedal\ntodo: better name for this field?", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1188, 1.0, -1.0, -1.0, ""), -targetRpmByClt("idle: target by CLT", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1196, 1.0, -1.0, -1.0, ""), -targetRpmAcBump("idle: A/C bump", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1200, 1.0, -1.0, -1.0, ""), -iacByRpmTaper("idle: iacByRpmTaper portion", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1204, 1.0, -1.0, -1.0, ""), -luaAdd("idle: Lua Adder", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1208, 1.0, -1.0, -1.0, ""), -baseDwell("baseDwell", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1212, 1.0, -1.0, -1.0, ""), -dwellVoltageCorrection("dwellVoltageCorrection", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1216, 1.0, -1.0, -1.0, ""), -luaTimingAdd("luaTimingAdd", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1220, 1.0, -1.0, -1.0, ""), -luaTimingMult("luaTimingMult", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1224, 1.0, -1.0, -1.0, ""), -idlePosition("ETB: idlePosition", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1228, 1.0, -1.0, -1.0, ""), -trim("ETB: trim", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1232, 1.0, -1.0, -1.0, ""), -luaAdjustment("ETB: luaAdjustment", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1236, 1.0, -1.0, -1.0, ""), -etbFeedForward("etbFeedForward", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1240, 1.0, -1.0, -1.0, ""), -etbIntegralError("etbIntegralError", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1244, 1.0, -10000.0, 10000.0, ""), -etbCurrentTarget("etbCurrentTarget", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1248, 1.0, -10000.0, 10000.0, "%"), -etbCurrentAdjustedTarget("etbCurrentAdjustedTarget", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1252, 1.0, -10000.0, 10000.0, "%"), -etbDutyRateOfChange("etbDutyRateOfChange", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1260, 1.0, -1.0, -1.0, ""), -etbDutyAverage("etbDutyAverage", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1264, 1.0, -1.0, -1.0, ""), -etbTpsErrorCounter("ETB TPS error counter", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1268, 1.0, -1.0, -1.0, ""), -etbPpsErrorCounter("ETB pedal error counter", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1270, 1.0, -1.0, -1.0, ""), -etbErrorCode("etbErrorCode", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1272, 1.0, -1.0, -1.0, ""), -alignmentFill_at_45("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1273, 1.0, -20.0, 100.0, "units"), -faultCode("faultCode", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1276, 1.0, -1.0, -1.0, ""), -heaterDuty("heaterDuty", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1277, 1.0, 0.0, 100.0, "%"), -pumpDuty("pumpDuty", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1278, 1.0, 0.0, 100.0, "%"), -alignmentFill_at_3("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1279, 1.0, -20.0, 100.0, "units"), -tempC("tempC", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1280, 1.0, 500.0, 1000.0, "C"), -nernstVoltage("nernstVoltage", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1282, 0.001, 0.0, 1.0, "V"), -esr("esr", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1284, 1.0, -1.0, -1.0, ""), -alignmentFill_at_10("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1286, 1.0, -20.0, 100.0, "units"), +triggerIgnoredToothCount("triggerIgnoredToothCount", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1140, 1.0, -1.0, -1.0, ""), +alignmentFill_at_49("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1141, 1.0, -20.0, 100.0, "units"), +crankSynchronizationCounter("Crank sync counter\nUsually matches crank revolutions", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1144, 1.0, -1.0, -1.0, ""), +vvtSyncGapRatio("vvtSyncGapRatio", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1148, 1.0, -10000.0, 10000.0, ""), +vvtCurrentPosition("vvtCurrentPosition", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1152, 1.0, -10000.0, 10000.0, ""), +triggerSyncGapRatio("Trigger Sync Latest Ratio", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1156, 1.0, -10000.0, 10000.0, ""), +triggerStateIndex("triggerStateIndex", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1160, 1.0, -1.0, -1.0, ""), +vvtCounter("vvtCounter", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1161, 1.0, -1.0, -1.0, ""), +camResyncCounter("camResyncCounter", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1162, 1.0, -1.0, -1.0, ""), +vvtStateIndex("vvtStateIndex", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1163, 1.0, -1.0, -1.0, ""), +wallFuelCorrection("fuel wallwetting injection time\n correction to account for wall wetting effect for current cycle", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1168, 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, 1172, 1.0, -1.0, -1.0, ""), +idleState("idleState", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1176, 1.0, -1.0, -1.0, ""), +currentIdlePosition("idle: current position\nthat's current position with CLT and IAT corrections", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1180, 1.0, -1.0, -1.0, ""), +baseIdlePosition("idle: base value\ncurrent position without adjustments (iacByTpsTaper, afterCrankingIACtaperDuration)", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1184, 1.0, -1.0, -1.0, ""), +iacByTpsTaper("idle: iacByTpsTaper portion", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1188, 1.0, -1.0, -1.0, ""), +throttlePedalUpState("idle: throttlePedalUpState\ntrue in IDLE throttle pedal state, false if driver is touching the pedal\ntodo: better name for this field?", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1192, 1.0, -1.0, -1.0, ""), +targetRpmByClt("idle: target by CLT", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1200, 1.0, -1.0, -1.0, ""), +targetRpmAcBump("idle: A/C bump", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1204, 1.0, -1.0, -1.0, ""), +iacByRpmTaper("idle: iacByRpmTaper portion", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1208, 1.0, -1.0, -1.0, ""), +luaAdd("idle: Lua Adder", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1212, 1.0, -1.0, -1.0, ""), +baseDwell("baseDwell", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1216, 1.0, -1.0, -1.0, ""), +dwellVoltageCorrection("dwellVoltageCorrection", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1220, 1.0, -1.0, -1.0, ""), +luaTimingAdd("luaTimingAdd", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1224, 1.0, -1.0, -1.0, ""), +luaTimingMult("luaTimingMult", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1228, 1.0, -1.0, -1.0, ""), +idlePosition("ETB: idlePosition", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1232, 1.0, -1.0, -1.0, ""), +trim("ETB: trim", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1236, 1.0, -1.0, -1.0, ""), +luaAdjustment("ETB: luaAdjustment", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1240, 1.0, -1.0, -1.0, ""), +etbFeedForward("etbFeedForward", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1244, 1.0, -1.0, -1.0, ""), +etbIntegralError("etbIntegralError", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1248, 1.0, -10000.0, 10000.0, ""), +etbCurrentTarget("etbCurrentTarget", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1252, 1.0, -10000.0, 10000.0, "%"), +etbCurrentAdjustedTarget("etbCurrentAdjustedTarget", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1256, 1.0, -10000.0, 10000.0, "%"), +etbDutyRateOfChange("etbDutyRateOfChange", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1264, 1.0, -1.0, -1.0, ""), +etbDutyAverage("etbDutyAverage", SensorCategory.SENSOR_INPUTS, FieldType.INT, 1268, 1.0, -1.0, -1.0, ""), +etbTpsErrorCounter("ETB TPS error counter", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1272, 1.0, -1.0, -1.0, ""), +etbPpsErrorCounter("ETB pedal error counter", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1274, 1.0, -1.0, -1.0, ""), +etbErrorCode("etbErrorCode", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1276, 1.0, -1.0, -1.0, ""), +alignmentFill_at_45("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1277, 1.0, -20.0, 100.0, "units"), +jamTimer("ETB jam timer", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1278, 0.01, 0.0, 100.0, "sec"), +faultCode("faultCode", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1280, 1.0, -1.0, -1.0, ""), +heaterDuty("heaterDuty", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1281, 1.0, 0.0, 100.0, "%"), +pumpDuty("pumpDuty", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1282, 1.0, 0.0, 100.0, "%"), +alignmentFill_at_3("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1283, 1.0, -20.0, 100.0, "units"), +tempC("tempC", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1284, 1.0, 500.0, 1000.0, "C"), +nernstVoltage("nernstVoltage", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1286, 0.001, 0.0, 1.0, "V"), +esr("esr", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 1288, 1.0, -1.0, -1.0, ""), +alignmentFill_at_10("need 4 byte alignment", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 1290, 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 e331196b0c..3f34d32c36 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 1288 \ No newline at end of file +#define TS_TOTAL_OUTPUT_SIZE 1292 \ 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 d4786cce9c..df4450046f 100644 --- a/firmware/console/binary_log/log_fields_generated.h +++ b/firmware/console/binary_log/log_fields_generated.h @@ -307,4 +307,5 @@ static constexpr LogField fields[] = { {engine->triggerCentral.mapVvt_map_peak, "mapVvt_map_peak", "", 3}, {engine->triggerCentral.currentEngineDecodedPhase, "Engine Phase", "deg", 0}, {engine->triggerCentral.triggerToothAngleError, "triggerToothAngleError", "deg", 2}, + {engine->triggerCentral.triggerIgnoredToothCount, "triggerIgnoredToothCount", "", 0}, }; diff --git a/firmware/controllers/actuators/electronic_throttle_generated.h b/firmware/controllers/actuators/electronic_throttle_generated.h index 33f9623a8e..7b48289e22 100644 --- a/firmware/controllers/actuators/electronic_throttle_generated.h +++ b/firmware/controllers/actuators/electronic_throttle_generated.h @@ -1,4 +1,4 @@ -// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) controllers/actuators/electronic_throttle.txt Thu Dec 01 03:34:59 UTC 2022 +// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) controllers/actuators/electronic_throttle.txt Tue Jan 10 21:34:44 UTC 2023 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -43,97 +43,97 @@ struct electronic_throttle_s { bool etbRevLimitActive : 1 {}; /** offset 28 bit 1 */ - bool unusedBit_8_1 : 1 {}; + bool jamDetected : 1 {}; /** offset 28 bit 2 */ - bool unusedBit_8_2 : 1 {}; + bool unusedBit_9_2 : 1 {}; /** offset 28 bit 3 */ - bool unusedBit_8_3 : 1 {}; + bool unusedBit_9_3 : 1 {}; /** offset 28 bit 4 */ - bool unusedBit_8_4 : 1 {}; + bool unusedBit_9_4 : 1 {}; /** offset 28 bit 5 */ - bool unusedBit_8_5 : 1 {}; + bool unusedBit_9_5 : 1 {}; /** offset 28 bit 6 */ - bool unusedBit_8_6 : 1 {}; + bool unusedBit_9_6 : 1 {}; /** offset 28 bit 7 */ - bool unusedBit_8_7 : 1 {}; + bool unusedBit_9_7 : 1 {}; /** offset 28 bit 8 */ - bool unusedBit_8_8 : 1 {}; + bool unusedBit_9_8 : 1 {}; /** offset 28 bit 9 */ - bool unusedBit_8_9 : 1 {}; + bool unusedBit_9_9 : 1 {}; /** offset 28 bit 10 */ - bool unusedBit_8_10 : 1 {}; + bool unusedBit_9_10 : 1 {}; /** offset 28 bit 11 */ - bool unusedBit_8_11 : 1 {}; + bool unusedBit_9_11 : 1 {}; /** offset 28 bit 12 */ - bool unusedBit_8_12 : 1 {}; + bool unusedBit_9_12 : 1 {}; /** offset 28 bit 13 */ - bool unusedBit_8_13 : 1 {}; + bool unusedBit_9_13 : 1 {}; /** offset 28 bit 14 */ - bool unusedBit_8_14 : 1 {}; + bool unusedBit_9_14 : 1 {}; /** offset 28 bit 15 */ - bool unusedBit_8_15 : 1 {}; + bool unusedBit_9_15 : 1 {}; /** offset 28 bit 16 */ - bool unusedBit_8_16 : 1 {}; + bool unusedBit_9_16 : 1 {}; /** offset 28 bit 17 */ - bool unusedBit_8_17 : 1 {}; + bool unusedBit_9_17 : 1 {}; /** offset 28 bit 18 */ - bool unusedBit_8_18 : 1 {}; + bool unusedBit_9_18 : 1 {}; /** offset 28 bit 19 */ - bool unusedBit_8_19 : 1 {}; + bool unusedBit_9_19 : 1 {}; /** offset 28 bit 20 */ - bool unusedBit_8_20 : 1 {}; + bool unusedBit_9_20 : 1 {}; /** offset 28 bit 21 */ - bool unusedBit_8_21 : 1 {}; + bool unusedBit_9_21 : 1 {}; /** offset 28 bit 22 */ - bool unusedBit_8_22 : 1 {}; + bool unusedBit_9_22 : 1 {}; /** offset 28 bit 23 */ - bool unusedBit_8_23 : 1 {}; + bool unusedBit_9_23 : 1 {}; /** offset 28 bit 24 */ - bool unusedBit_8_24 : 1 {}; + bool unusedBit_9_24 : 1 {}; /** offset 28 bit 25 */ - bool unusedBit_8_25 : 1 {}; + bool unusedBit_9_25 : 1 {}; /** offset 28 bit 26 */ - bool unusedBit_8_26 : 1 {}; + bool unusedBit_9_26 : 1 {}; /** offset 28 bit 27 */ - bool unusedBit_8_27 : 1 {}; + bool unusedBit_9_27 : 1 {}; /** offset 28 bit 28 */ - bool unusedBit_8_28 : 1 {}; + bool unusedBit_9_28 : 1 {}; /** offset 28 bit 29 */ - bool unusedBit_8_29 : 1 {}; + bool unusedBit_9_29 : 1 {}; /** offset 28 bit 30 */ - bool unusedBit_8_30 : 1 {}; + bool unusedBit_9_30 : 1 {}; /** offset 28 bit 31 */ - bool unusedBit_8_31 : 1 {}; + bool unusedBit_9_31 : 1 {}; /** * offset 32 */ @@ -161,9 +161,15 @@ struct electronic_throttle_s { units * offset 45 */ - uint8_t alignmentFill_at_45[3]; + uint8_t alignmentFill_at_45[1]; + /** + * ETB jam timer + sec + * offset 46 + */ + scaled_channel jamTimer = (uint16_t)0; }; static_assert(sizeof(electronic_throttle_s) == 48); // end -// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) controllers/actuators/electronic_throttle.txt Thu Dec 01 03:34:59 UTC 2022 +// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) controllers/actuators/electronic_throttle.txt Tue Jan 10 21:34:44 UTC 2023 diff --git a/firmware/controllers/generated/engine_configuration_generated_structures.h b/firmware/controllers/generated/engine_configuration_generated_structures.h index 7a09bd1864..03a3df23c4 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures.h @@ -1,4 +1,4 @@ -// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 19:59:52 UTC 2023 +// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 21:35:27 UTC 2023 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -770,8 +770,9 @@ struct engine_configuration_s { offset 120 bit 20 */ bool launchControlEnabled : 1 {}; /** + * "Detect double trigger edges" offset 120 bit 21 */ - bool anotherUnusedHere444 : 1 {}; + bool doNotFilterTriggerEdgeNoise : 1 {}; /** offset 120 bit 22 */ bool antiLagEnabled : 1 {}; @@ -5238,4 +5239,4 @@ struct persistent_config_s { static_assert(sizeof(persistent_config_s) == 22368); // end -// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 19:59:52 UTC 2023 +// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 21:35:27 UTC 2023 diff --git a/firmware/controllers/generated/rusefi_generated.h b/firmware/controllers/generated/rusefi_generated.h index 5de6005213..9ba54b66dc 100644 --- a/firmware/controllers/generated/rusefi_generated.h +++ b/firmware/controllers/generated/rusefi_generated.h @@ -1042,7 +1042,7 @@ #define SENT_INPUT_COUNT 1 #define show_Frankenso_presets true #define show_test_presets true -#define SIGNATURE_HASH snap_24315 +#define SIGNATURE_HASH snap_20080 #define specs_s_size 12 #define spi_device_e_auto_enum 0="SPI_NONE",1="SPI_DEVICE_1",2="SPI_DEVICE_2",3="SPI_DEVICE_3",4="SPI_DEVICE_4" #define spi_device_e_SPI_DEVICE_1 1 @@ -1317,12 +1317,12 @@ #define ts_show_vbatt true #define ts_show_vr_threshold_2 true #define ts_show_vr_threshold_all true -#define TS_SIGNATURE "rusEFI 2023.01.10.all.snap_24315" +#define TS_SIGNATURE "rusEFI 2023.01.10.all.snap_20080" #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 1288 +#define TS_TOTAL_OUTPUT_SIZE 1292 #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_48way.h b/firmware/controllers/generated/signature_48way.h index bf68a38365..a26fda8dc6 100644 --- a/firmware/controllers/generated/signature_48way.h +++ b/firmware/controllers/generated/signature_48way.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH snap_22196 -#define TS_SIGNATURE "rusEFI 2023.01.10.48way.snap_22196" +#define SIGNATURE_HASH snap_17983 +#define TS_SIGNATURE "rusEFI 2023.01.10.48way.snap_17983" diff --git a/firmware/controllers/generated/signature_all.h b/firmware/controllers/generated/signature_all.h index 78d69d40db..19faaafbe3 100644 --- a/firmware/controllers/generated/signature_all.h +++ b/firmware/controllers/generated/signature_all.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH snap_24315 -#define TS_SIGNATURE "rusEFI 2023.01.10.all.snap_24315" +#define SIGNATURE_HASH snap_20080 +#define TS_SIGNATURE "rusEFI 2023.01.10.all.snap_20080" diff --git a/firmware/controllers/generated/signature_alphax-2chan.h b/firmware/controllers/generated/signature_alphax-2chan.h index de049de8a0..dd99d2163b 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 ConfigDefinition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH snap_50071 -#define TS_SIGNATURE "rusEFI 2023.01.10.alphax-2chan.snap_50071" +#define SIGNATURE_HASH snap_54044 +#define TS_SIGNATURE "rusEFI 2023.01.10.alphax-2chan.snap_54044" diff --git a/firmware/controllers/generated/signature_alphax-4chan.h b/firmware/controllers/generated/signature_alphax-4chan.h index bb119defe9..52cfb694a7 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 ConfigDefinition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH snap_20434 -#define TS_SIGNATURE "rusEFI 2023.01.10.alphax-4chan.snap_20434" +#define SIGNATURE_HASH snap_24409 +#define TS_SIGNATURE "rusEFI 2023.01.10.alphax-4chan.snap_24409" diff --git a/firmware/controllers/generated/signature_alphax-8chan.h b/firmware/controllers/generated/signature_alphax-8chan.h index 2bec27fea4..64ef548395 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 ConfigDefinition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH snap_49527 -#define TS_SIGNATURE "rusEFI 2023.01.10.alphax-8chan.snap_49527" +#define SIGNATURE_HASH snap_53756 +#define TS_SIGNATURE "rusEFI 2023.01.10.alphax-8chan.snap_53756" diff --git a/firmware/controllers/generated/signature_atlas.h b/firmware/controllers/generated/signature_atlas.h index 5810fc1c85..75bae93fc2 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 ConfigDefinition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH snap_43996 -#define TS_SIGNATURE "rusEFI 2023.01.10.atlas.snap_43996" +#define SIGNATURE_HASH snap_47959 +#define TS_SIGNATURE "rusEFI 2023.01.10.atlas.snap_47959" diff --git a/firmware/controllers/generated/signature_core8.h b/firmware/controllers/generated/signature_core8.h index 76726030fc..06ba8e7201 100644 --- a/firmware/controllers/generated/signature_core8.h +++ b/firmware/controllers/generated/signature_core8.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH snap_3842 -#define TS_SIGNATURE "rusEFI 2023.01.10.core8.snap_3842" +#define SIGNATURE_HASH snap_8073 +#define TS_SIGNATURE "rusEFI 2023.01.10.core8.snap_8073" diff --git a/firmware/controllers/generated/signature_cypress.h b/firmware/controllers/generated/signature_cypress.h index 3cf9ca67e7..d1530f29e7 100644 --- a/firmware/controllers/generated/signature_cypress.h +++ b/firmware/controllers/generated/signature_cypress.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool ConfigDefinition.jar based on hellen_cypress_gen_config.bat by SignatureConsumer // -#define SIGNATURE_HASH snap_24315 -#define TS_SIGNATURE "rusEFI 2023.01.10.cypress.snap_24315" +#define SIGNATURE_HASH snap_20080 +#define TS_SIGNATURE "rusEFI 2023.01.10.cypress.snap_20080" diff --git a/firmware/controllers/generated/signature_f407-discovery.h b/firmware/controllers/generated/signature_f407-discovery.h index 6150b4157d..e76861a7d2 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 ConfigDefinition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH snap_24315 -#define TS_SIGNATURE "rusEFI 2023.01.10.f407-discovery.snap_24315" +#define SIGNATURE_HASH snap_20080 +#define TS_SIGNATURE "rusEFI 2023.01.10.f407-discovery.snap_20080" diff --git a/firmware/controllers/generated/signature_f429-discovery.h b/firmware/controllers/generated/signature_f429-discovery.h index b97754c295..a015aadc9d 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 ConfigDefinition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH snap_24315 -#define TS_SIGNATURE "rusEFI 2023.01.10.f429-discovery.snap_24315" +#define SIGNATURE_HASH snap_20080 +#define TS_SIGNATURE "rusEFI 2023.01.10.f429-discovery.snap_20080" diff --git a/firmware/controllers/generated/signature_frankenso_na6.h b/firmware/controllers/generated/signature_frankenso_na6.h index 6c5160d60f..d6498ed9f7 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 ConfigDefinition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH snap_41535 -#define TS_SIGNATURE "rusEFI 2023.01.10.frankenso_na6.snap_41535" +#define SIGNATURE_HASH snap_45748 +#define TS_SIGNATURE "rusEFI 2023.01.10.frankenso_na6.snap_45748" diff --git a/firmware/controllers/generated/signature_harley81.h b/firmware/controllers/generated/signature_harley81.h index f2591b69d7..3eb566ad5d 100644 --- a/firmware/controllers/generated/signature_harley81.h +++ b/firmware/controllers/generated/signature_harley81.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH snap_6148 -#define TS_SIGNATURE "rusEFI 2023.01.10.harley81.snap_6148" +#define SIGNATURE_HASH snap_2191 +#define TS_SIGNATURE "rusEFI 2023.01.10.harley81.snap_2191" diff --git a/firmware/controllers/generated/signature_hellen-gm-e67.h b/firmware/controllers/generated/signature_hellen-gm-e67.h index 64bde1166b..7f7e4e5831 100644 --- a/firmware/controllers/generated/signature_hellen-gm-e67.h +++ b/firmware/controllers/generated/signature_hellen-gm-e67.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH snap_15871 -#define TS_SIGNATURE "rusEFI 2023.01.10.hellen-gm-e67.snap_15871" +#define SIGNATURE_HASH snap_11636 +#define TS_SIGNATURE "rusEFI 2023.01.10.hellen-gm-e67.snap_11636" diff --git a/firmware/controllers/generated/signature_hellen-nb1.h b/firmware/controllers/generated/signature_hellen-nb1.h index 4d434aebb7..af1a0e702a 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 ConfigDefinition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH snap_28471 -#define TS_SIGNATURE "rusEFI 2023.01.10.hellen-nb1.snap_28471" +#define SIGNATURE_HASH snap_32700 +#define TS_SIGNATURE "rusEFI 2023.01.10.hellen-nb1.snap_32700" diff --git a/firmware/controllers/generated/signature_hellen121nissan.h b/firmware/controllers/generated/signature_hellen121nissan.h index eca4ae01c5..8113396715 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 ConfigDefinition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH snap_41833 -#define TS_SIGNATURE "rusEFI 2023.01.10.hellen121nissan.snap_41833" +#define SIGNATURE_HASH snap_46050 +#define TS_SIGNATURE "rusEFI 2023.01.10.hellen121nissan.snap_46050" diff --git a/firmware/controllers/generated/signature_hellen121vag.h b/firmware/controllers/generated/signature_hellen121vag.h index 90ca1e7379..09fd43c2e4 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 ConfigDefinition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH snap_51686 -#define TS_SIGNATURE "rusEFI 2023.01.10.hellen121vag.snap_51686" +#define SIGNATURE_HASH snap_55661 +#define TS_SIGNATURE "rusEFI 2023.01.10.hellen121vag.snap_55661" diff --git a/firmware/controllers/generated/signature_hellen128.h b/firmware/controllers/generated/signature_hellen128.h index bcb766aa7f..68bca6db8e 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 ConfigDefinition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH snap_9152 -#define TS_SIGNATURE "rusEFI 2023.01.10.hellen128.snap_9152" +#define SIGNATURE_HASH snap_13131 +#define TS_SIGNATURE "rusEFI 2023.01.10.hellen128.snap_13131" diff --git a/firmware/controllers/generated/signature_hellen154hyundai.h b/firmware/controllers/generated/signature_hellen154hyundai.h index b8349fe92f..d813f3cdfd 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 ConfigDefinition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH snap_25624 -#define TS_SIGNATURE "rusEFI 2023.01.10.hellen154hyundai.snap_25624" +#define SIGNATURE_HASH snap_29843 +#define TS_SIGNATURE "rusEFI 2023.01.10.hellen154hyundai.snap_29843" diff --git a/firmware/controllers/generated/signature_hellen72.h b/firmware/controllers/generated/signature_hellen72.h index 3ff1f4bc42..9aa858d752 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 ConfigDefinition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH snap_20592 -#define TS_SIGNATURE "rusEFI 2023.01.10.hellen72.snap_20592" +#define SIGNATURE_HASH snap_16635 +#define TS_SIGNATURE "rusEFI 2023.01.10.hellen72.snap_16635" diff --git a/firmware/controllers/generated/signature_hellen81.h b/firmware/controllers/generated/signature_hellen81.h index f6b208a0c1..6e603a2c07 100644 --- a/firmware/controllers/generated/signature_hellen81.h +++ b/firmware/controllers/generated/signature_hellen81.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH snap_49286 -#define TS_SIGNATURE "rusEFI 2023.01.10.hellen81.snap_49286" +#define SIGNATURE_HASH snap_53261 +#define TS_SIGNATURE "rusEFI 2023.01.10.hellen81.snap_53261" diff --git a/firmware/controllers/generated/signature_hellen88bmw.h b/firmware/controllers/generated/signature_hellen88bmw.h index 90477fb45d..b57c9564d7 100644 --- a/firmware/controllers/generated/signature_hellen88bmw.h +++ b/firmware/controllers/generated/signature_hellen88bmw.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH snap_19767 -#define TS_SIGNATURE "rusEFI 2023.01.10.hellen88bmw.snap_19767" +#define SIGNATURE_HASH snap_23996 +#define TS_SIGNATURE "rusEFI 2023.01.10.hellen88bmw.snap_23996" diff --git a/firmware/controllers/generated/signature_hellenNA6.h b/firmware/controllers/generated/signature_hellenNA6.h index a9e84a942a..ca0e47bf14 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 ConfigDefinition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH snap_61388 -#define TS_SIGNATURE "rusEFI 2023.01.10.hellenNA6.snap_61388" +#define SIGNATURE_HASH snap_65351 +#define TS_SIGNATURE "rusEFI 2023.01.10.hellenNA6.snap_65351" diff --git a/firmware/controllers/generated/signature_hellenNA8_96.h b/firmware/controllers/generated/signature_hellenNA8_96.h index 42649a1a6e..3a3c6957c5 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 ConfigDefinition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH snap_61203 -#define TS_SIGNATURE "rusEFI 2023.01.10.hellenNA8_96.snap_61203" +#define SIGNATURE_HASH snap_65432 +#define TS_SIGNATURE "rusEFI 2023.01.10.hellenNA8_96.snap_65432" diff --git a/firmware/controllers/generated/signature_kin.h b/firmware/controllers/generated/signature_kin.h index 0d7fe17d8a..2de21d430d 100644 --- a/firmware/controllers/generated/signature_kin.h +++ b/firmware/controllers/generated/signature_kin.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool ConfigDefinition.jar based on kinetis_gen_config.bat by SignatureConsumer // -#define SIGNATURE_HASH snap_64567 -#define TS_SIGNATURE "rusEFI 2023.01.10.kin.snap_64567" +#define SIGNATURE_HASH snap_60604 +#define TS_SIGNATURE "rusEFI 2023.01.10.kin.snap_60604" diff --git a/firmware/controllers/generated/signature_m74_9.h b/firmware/controllers/generated/signature_m74_9.h index 2ce155b3f2..2a9c698d84 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 ConfigDefinition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH snap_33728 -#define TS_SIGNATURE "rusEFI 2023.01.10.m74_9.snap_33728" +#define SIGNATURE_HASH snap_37707 +#define TS_SIGNATURE "rusEFI 2023.01.10.m74_9.snap_37707" diff --git a/firmware/controllers/generated/signature_mre_f4.h b/firmware/controllers/generated/signature_mre_f4.h index d29bf911c4..35e1589aff 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 ConfigDefinition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH snap_14843 -#define TS_SIGNATURE "rusEFI 2023.01.10.mre_f4.snap_14843" +#define SIGNATURE_HASH snap_10608 +#define TS_SIGNATURE "rusEFI 2023.01.10.mre_f4.snap_10608" diff --git a/firmware/controllers/generated/signature_mre_f7.h b/firmware/controllers/generated/signature_mre_f7.h index 02c6fb772a..adbe9560f6 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 ConfigDefinition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH snap_14843 -#define TS_SIGNATURE "rusEFI 2023.01.10.mre_f7.snap_14843" +#define SIGNATURE_HASH snap_10608 +#define TS_SIGNATURE "rusEFI 2023.01.10.mre_f7.snap_10608" diff --git a/firmware/controllers/generated/signature_prometheus_405.h b/firmware/controllers/generated/signature_prometheus_405.h index 2ac0538c60..696d94e2c5 100644 --- a/firmware/controllers/generated/signature_prometheus_405.h +++ b/firmware/controllers/generated/signature_prometheus_405.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH snap_34589 -#define TS_SIGNATURE "rusEFI 2023.01.10.prometheus_405.snap_34589" +#define SIGNATURE_HASH snap_38806 +#define TS_SIGNATURE "rusEFI 2023.01.10.prometheus_405.snap_38806" diff --git a/firmware/controllers/generated/signature_prometheus_469.h b/firmware/controllers/generated/signature_prometheus_469.h index e19803dcf6..cbb64d3f60 100644 --- a/firmware/controllers/generated/signature_prometheus_469.h +++ b/firmware/controllers/generated/signature_prometheus_469.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH snap_34589 -#define TS_SIGNATURE "rusEFI 2023.01.10.prometheus_469.snap_34589" +#define SIGNATURE_HASH snap_38806 +#define TS_SIGNATURE "rusEFI 2023.01.10.prometheus_469.snap_38806" diff --git a/firmware/controllers/generated/signature_proteus_f4.h b/firmware/controllers/generated/signature_proteus_f4.h index b597dcb0e6..38e308acd7 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 ConfigDefinition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH snap_38219 -#define TS_SIGNATURE "rusEFI 2023.01.10.proteus_f4.snap_38219" +#define SIGNATURE_HASH snap_34240 +#define TS_SIGNATURE "rusEFI 2023.01.10.proteus_f4.snap_34240" diff --git a/firmware/controllers/generated/signature_proteus_f7.h b/firmware/controllers/generated/signature_proteus_f7.h index 8abc1d749b..36571a019a 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 ConfigDefinition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH snap_38219 -#define TS_SIGNATURE "rusEFI 2023.01.10.proteus_f7.snap_38219" +#define SIGNATURE_HASH snap_34240 +#define TS_SIGNATURE "rusEFI 2023.01.10.proteus_f7.snap_34240" diff --git a/firmware/controllers/generated/signature_proteus_h7.h b/firmware/controllers/generated/signature_proteus_h7.h index 3e9de7d47b..649b9a4a59 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 ConfigDefinition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH snap_38219 -#define TS_SIGNATURE "rusEFI 2023.01.10.proteus_h7.snap_38219" +#define SIGNATURE_HASH snap_34240 +#define TS_SIGNATURE "rusEFI 2023.01.10.proteus_h7.snap_34240" diff --git a/firmware/controllers/generated/signature_s105.h b/firmware/controllers/generated/signature_s105.h index d81778bbd0..4f9980c6a0 100644 --- a/firmware/controllers/generated/signature_s105.h +++ b/firmware/controllers/generated/signature_s105.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH snap_27782 -#define TS_SIGNATURE "rusEFI 2023.01.10.s105.snap_27782" +#define SIGNATURE_HASH snap_31757 +#define TS_SIGNATURE "rusEFI 2023.01.10.s105.snap_31757" diff --git a/firmware/controllers/generated/signature_subaru_eg33_f7.h b/firmware/controllers/generated/signature_subaru_eg33_f7.h index 665e816a66..a5e5a011f6 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 ConfigDefinition.jar based on config/boards/subaru_eg33/config/gen_subaru_config.sh by SignatureConsumer // -#define SIGNATURE_HASH snap_34593 -#define TS_SIGNATURE "rusEFI 2023.01.10.subaru_eg33_f7.snap_34593" +#define SIGNATURE_HASH snap_38826 +#define TS_SIGNATURE "rusEFI 2023.01.10.subaru_eg33_f7.snap_38826" diff --git a/firmware/controllers/generated/signature_tdg-pdm8.h b/firmware/controllers/generated/signature_tdg-pdm8.h index aa5392235b..336901ed98 100644 --- a/firmware/controllers/generated/signature_tdg-pdm8.h +++ b/firmware/controllers/generated/signature_tdg-pdm8.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH snap_37039 -#define TS_SIGNATURE "rusEFI 2023.01.10.tdg-pdm8.snap_37039" +#define SIGNATURE_HASH snap_32804 +#define TS_SIGNATURE "rusEFI 2023.01.10.tdg-pdm8.snap_32804" diff --git a/firmware/controllers/lua/generated/output_lookup_generated.cpp b/firmware/controllers/lua/generated/output_lookup_generated.cpp index 0d6c1f4442..c4ca63dfb3 100644 --- a/firmware/controllers/lua/generated/output_lookup_generated.cpp +++ b/firmware/controllers/lua/generated/output_lookup_generated.cpp @@ -599,6 +599,8 @@ float getOutputValueByName(const char *name) { return engine->triggerCentral.currentEngineDecodedPhase; case -280624712: return engine->triggerCentral.triggerToothAngleError; + case 989545496: + return engine->triggerCentral.triggerIgnoredToothCount; } return EFI_ERROR_CODE; } diff --git a/firmware/controllers/lua/generated/value_lookup_generated.cpp b/firmware/controllers/lua/generated/value_lookup_generated.cpp index b950a5b06b..b6de38e982 100644 --- a/firmware/controllers/lua/generated/value_lookup_generated.cpp +++ b/firmware/controllers/lua/generated/value_lookup_generated.cpp @@ -67,8 +67,8 @@ float getConfigValueByName(const char *name) { return engineConfiguration->useSeparateIdleTablesForCrankingTaper; case -338157684: return engineConfiguration->launchControlEnabled; - case 329821802: - return engineConfiguration->anotherUnusedHere444; + case 240251894: + return engineConfiguration->doNotFilterTriggerEdgeNoise; case -933524784: return engineConfiguration->antiLagEnabled; case -54973711: @@ -1211,9 +1211,9 @@ void setConfigValueByName(const char *name, float value) { engineConfiguration->launchControlEnabled = (int)value; return; } - case 329821802: + case 240251894: { - engineConfiguration->anotherUnusedHere444 = (int)value; + engineConfiguration->doNotFilterTriggerEdgeNoise = (int)value; return; } case -933524784: diff --git a/firmware/controllers/lua/generated/value_lookup_generated.md b/firmware/controllers/lua/generated/value_lookup_generated.md index cb9ee3bf56..dd8142b1c2 100644 --- a/firmware/controllers/lua/generated/value_lookup_generated.md +++ b/firmware/controllers/lua/generated/value_lookup_generated.md @@ -94,8 +94,8 @@ This uses separate ignition timing and VE tables not only for idle conditions, a ### launchControlEnabled -### anotherUnusedHere444 - +### doNotFilterTriggerEdgeNoise +"Detect double trigger edges" ### antiLagEnabled diff --git a/firmware/controllers/trigger/trigger_central_generated.h b/firmware/controllers/trigger/trigger_central_generated.h index dddf863f58..10a56216fa 100644 --- a/firmware/controllers/trigger/trigger_central_generated.h +++ b/firmware/controllers/trigger/trigger_central_generated.h @@ -1,4 +1,4 @@ -// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) controllers/trigger/trigger_central.txt Fri Oct 28 14:08:24 UTC 2022 +// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) controllers/trigger/trigger_central.txt Tue Jan 10 21:34:44 UTC 2023 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -48,8 +48,18 @@ struct trigger_central_s { * offset 44 */ float triggerToothAngleError = (float)0; + /** + * offset 48 + */ + uint8_t triggerIgnoredToothCount = (uint8_t)0; + /** + * need 4 byte alignment + units + * offset 49 + */ + uint8_t alignmentFill_at_49[3]; }; -static_assert(sizeof(trigger_central_s) == 48); +static_assert(sizeof(trigger_central_s) == 52); // end -// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) controllers/trigger/trigger_central.txt Fri Oct 28 14:08:24 UTC 2022 +// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) controllers/trigger/trigger_central.txt Tue Jan 10 21:34:44 UTC 2023 diff --git a/firmware/tunerstudio/generated/rusefi.ini b/firmware/tunerstudio/generated/rusefi.ini index c6a2b116b5..6ed493773a 100644 --- a/firmware/tunerstudio/generated/rusefi.ini +++ b/firmware/tunerstudio/generated/rusefi.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2023.01.10.all.snap_24315" + signature = "rusEFI 2023.01.10.all.snap_20080" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI 2023.01.10.all.snap_24315" ; signature is expected to be 7 or more characters. + signature= "rusEFI 2023.01.10.all.snap_20080" ; 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 @@ -86,7 +86,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 19:59:50 UTC 2023 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 21:35:25 UTC 2023 pageSize = 22368 page = 1 @@ -126,7 +126,7 @@ useTLE8888_cranking_hack = bits, U32, 120, [17:17], "false", "true" kickStartCranking = bits, U32, 120, [18:18], "false", "true" useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [19:19], "false", "true" launchControlEnabled = bits, U32, 120, [20:20], "false", "true" -anotherUnusedHere444 = bits, U32, 120, [21:21], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 120, [21:21], "with filter", "without filter" antiLagEnabled = bits, U32, 120, [22:22], "false", "true" useRunningMathForCranking = bits, U32, 120, [23:23], "Fixed", "Fuel Map" displayLogicLevelsInEngineSniffer = bits, U32, 120, [24:24], "false", "true" @@ -1469,6 +1469,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 cj125isUrDivided = "Is your UR CJ125 output wired to MCU via resistor divider?\nLooks like 3v range should be enough, divider generally not needed." useCicPidForIdle = "Switch between Industrial and Cic PID implementation" useSeparateIdleTablesForCrankingTaper = "This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration)." + doNotFilterTriggerEdgeNoise = "Detect double trigger edges" useRunningMathForCranking = "For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table)." displayLogicLevelsInEngineSniffer = "Shall we display real life signal or just the part consumed by trigger decoder.\nApplies to both trigger and cam/vvt input.\n\nenable logic_level_trigger" enableMapEstimationTableFallback = "If enabled, the MAP estimate table will be used if the MAP sensor fails to estimate manifold pressure based on RPM and TPS." @@ -2201,7 +2202,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1288 + ochBlockSize = 1292 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -2848,74 +2849,77 @@ mapVvt_MAP_AT_CYCLE_COUNT = scalar, U08, 1128, "", 1, 0 mapVvt_map_peak = scalar, U08, 1129, "", 1, 0 currentEngineDecodedPhase = scalar, F32, 1132, "deg", 1, 0 triggerToothAngleError = scalar, F32, 1136, "deg", 1, 0 -; total TS size = 1140 -crankSynchronizationCounter = scalar, U32, 1140, "", 1, 0 -vvtSyncGapRatio = scalar, F32, 1144, "", 1, 0 -vvtCurrentPosition = scalar, F32, 1148, "", 1, 0 -triggerSyncGapRatio = scalar, F32, 1152, "", 1, 0 -triggerStateIndex = scalar, U08, 1156, "", 1, 0 -vvtCounter = scalar, U08, 1157, "", 1, 0 -camResyncCounter = scalar, U08, 1158, "", 1, 0 -vvtStateIndex = scalar, U08, 1159, "", 1, 0 -; total TS size = 1160 -m_hasSynchronizedPhase = bits, U32, 1160, [0:0] +triggerIgnoredToothCount = scalar, U08, 1140, "", 1, 0 +; total TS size = 1144 +crankSynchronizationCounter = scalar, U32, 1144, "", 1, 0 +vvtSyncGapRatio = scalar, F32, 1148, "", 1, 0 +vvtCurrentPosition = scalar, F32, 1152, "", 1, 0 +triggerSyncGapRatio = scalar, F32, 1156, "", 1, 0 +triggerStateIndex = scalar, U08, 1160, "", 1, 0 +vvtCounter = scalar, U08, 1161, "", 1, 0 +camResyncCounter = scalar, U08, 1162, "", 1, 0 +vvtStateIndex = scalar, U08, 1163, "", 1, 0 ; total TS size = 1164 -wallFuelCorrection = scalar, F32, 1164, "", 1, 0 -wallFuel = scalar, F32, 1168, "", 1, 0 -; total TS size = 1172 -idleState = bits, S32, 1172, [0:2], "not important" -currentIdlePosition = scalar, F32, 1176 -baseIdlePosition = scalar, F32, 1180 -iacByTpsTaper = scalar, F32, 1184 -throttlePedalUpState = scalar, S32, 1188, "", 1, 0 -mightResetPid = bits, U32, 1192, [0:0] -shouldResetPid = bits, U32, 1192, [1:1] -wasResetPid = bits, U32, 1192, [2:2] -mustResetPid = bits, U32, 1192, [3:3] -isCranking = bits, U32, 1192, [4:4] -isIacTableForCoasting = bits, U32, 1192, [5:5] -notIdling = bits, U32, 1192, [6:6] -needReset = bits, U32, 1192, [7:7] -isInDeadZone = bits, U32, 1192, [8:8] -isBlipping = bits, U32, 1192, [9:9] -useClosedLoop = bits, U32, 1192, [10:10] -badTps = bits, U32, 1192, [11:11] -looksLikeRunning = bits, U32, 1192, [12:12] -looksLikeCoasting = bits, U32, 1192, [13:13] -looksLikeCrankToIdle = bits, U32, 1192, [14:14] -isVerboseIAC = bits, U32, 1192, [15:15] -isIdleCoasting = bits, U32, 1192, [16:16] -targetRpmByClt = scalar, S32, 1196, "", 1, 0 -targetRpmAcBump = scalar, S32, 1200, "", 1, 0 -iacByRpmTaper = scalar, F32, 1204 -luaAdd = scalar, F32, 1208 -; total TS size = 1212 -baseDwell = scalar, F32, 1212, "", 1, 0 -dwellVoltageCorrection = scalar, F32, 1216, "", 1, 0 -luaTimingAdd = scalar, F32, 1220, "", 1, 0 -luaTimingMult = scalar, F32, 1224, "", 1, 0 -; total TS size = 1228 -idlePosition = scalar, F32, 1228, "", 1, 0 -trim = scalar, F32, 1232, "", 1, 0 -luaAdjustment = scalar, F32, 1236, "", 1, 0 -etbFeedForward = scalar, F32, 1240 -etbIntegralError = scalar, F32, 1244, "", 1, 0 -etbCurrentTarget = scalar, F32, 1248, "%", 1, 0 -etbCurrentAdjustedTarget = scalar, F32, 1252, "%", 1, 0 -etbRevLimitActive = bits, U32, 1256, [0:0] -etbDutyRateOfChange = scalar, F32, 1260, "", 1, 0 -etbDutyAverage = scalar, F32, 1264, "", 1, 0 -etbTpsErrorCounter = scalar, U16, 1268, "", 1, 0 -etbPpsErrorCounter = scalar, U16, 1270, "", 1, 0 -etbErrorCode = scalar, S08, 1272, "", 1, 0 -; total TS size = 1276 -faultCode = scalar, U08, 1276, "", 1, 0 -heaterDuty = scalar, U08, 1277, "%", 1, 0 -pumpDuty = scalar, U08, 1278, "%", 1, 0 -tempC = scalar, U16, 1280, "C", 1, 0 -nernstVoltage = scalar, U16, 1282, "V", 0.001, 0 -esr = scalar, U16, 1284, "", 1, 0 -; total TS size = 1288 +m_hasSynchronizedPhase = bits, U32, 1164, [0:0] +; total TS size = 1168 +wallFuelCorrection = scalar, F32, 1168, "", 1, 0 +wallFuel = scalar, F32, 1172, "", 1, 0 +; total TS size = 1176 +idleState = bits, S32, 1176, [0:2], "not important" +currentIdlePosition = scalar, F32, 1180 +baseIdlePosition = scalar, F32, 1184 +iacByTpsTaper = scalar, F32, 1188 +throttlePedalUpState = scalar, S32, 1192, "", 1, 0 +mightResetPid = bits, U32, 1196, [0:0] +shouldResetPid = bits, U32, 1196, [1:1] +wasResetPid = bits, U32, 1196, [2:2] +mustResetPid = bits, U32, 1196, [3:3] +isCranking = bits, U32, 1196, [4:4] +isIacTableForCoasting = bits, U32, 1196, [5:5] +notIdling = bits, U32, 1196, [6:6] +needReset = bits, U32, 1196, [7:7] +isInDeadZone = bits, U32, 1196, [8:8] +isBlipping = bits, U32, 1196, [9:9] +useClosedLoop = bits, U32, 1196, [10:10] +badTps = bits, U32, 1196, [11:11] +looksLikeRunning = bits, U32, 1196, [12:12] +looksLikeCoasting = bits, U32, 1196, [13:13] +looksLikeCrankToIdle = bits, U32, 1196, [14:14] +isVerboseIAC = bits, U32, 1196, [15:15] +isIdleCoasting = bits, U32, 1196, [16:16] +targetRpmByClt = scalar, S32, 1200, "", 1, 0 +targetRpmAcBump = scalar, S32, 1204, "", 1, 0 +iacByRpmTaper = scalar, F32, 1208 +luaAdd = scalar, F32, 1212 +; total TS size = 1216 +baseDwell = scalar, F32, 1216, "", 1, 0 +dwellVoltageCorrection = scalar, F32, 1220, "", 1, 0 +luaTimingAdd = scalar, F32, 1224, "", 1, 0 +luaTimingMult = scalar, F32, 1228, "", 1, 0 +; total TS size = 1232 +idlePosition = scalar, F32, 1232, "", 1, 0 +trim = scalar, F32, 1236, "", 1, 0 +luaAdjustment = scalar, F32, 1240, "", 1, 0 +etbFeedForward = scalar, F32, 1244 +etbIntegralError = scalar, F32, 1248, "", 1, 0 +etbCurrentTarget = scalar, F32, 1252, "%", 1, 0 +etbCurrentAdjustedTarget = scalar, F32, 1256, "%", 1, 0 +etbRevLimitActive = bits, U32, 1260, [0:0] +jamDetected = bits, U32, 1260, [1:1] +etbDutyRateOfChange = scalar, F32, 1264, "", 1, 0 +etbDutyAverage = scalar, F32, 1268, "", 1, 0 +etbTpsErrorCounter = scalar, U16, 1272, "", 1, 0 +etbPpsErrorCounter = scalar, U16, 1274, "", 1, 0 +etbErrorCode = scalar, S08, 1276, "", 1, 0 +jamTimer = scalar, U16, 1278, "sec", 0.01, 0 +; total TS size = 1280 +faultCode = scalar, U08, 1280, "", 1, 0 +heaterDuty = scalar, U08, 1281, "%", 1, 0 +pumpDuty = scalar, U08, 1282, "%", 1, 0 +tempC = scalar, U16, 1284, "C", 1, 0 +nernstVoltage = scalar, U16, 1286, "V", 0.001, 0 +esr = scalar, U16, 1288, "", 1, 0 +; total TS size = 1292 time = { timeNow } @@ -4750,6 +4754,7 @@ entry = mapVvt_MAP_AT_CYCLE_COUNT, "mapVvt_MAP_AT_CYCLE_COUNT", int, "%d" entry = mapVvt_map_peak, "mapVvt_map_peak", int, "%d" entry = currentEngineDecodedPhase, "Engine Phase", float, "%.3f" entry = triggerToothAngleError, "triggerToothAngleError", float, "%.3f" +entry = triggerIgnoredToothCount, "triggerIgnoredToothCount", int, "%d" entry = crankSynchronizationCounter, "Crank sync counter", int, "%d" entry = vvtSyncGapRatio, "vvtSyncGapRatio", float, "%.3f" entry = vvtCurrentPosition, "vvtCurrentPosition", float, "%.3f" @@ -4799,11 +4804,13 @@ entry = etbIntegralError, "etbIntegralError", float, "%.3f" entry = etbCurrentTarget, "etbCurrentTarget", float, "%.3f" entry = etbCurrentAdjustedTarget, "etbCurrentAdjustedTarget", float, "%.3f" entry = etbRevLimitActive, "etbRevLimitActive", int, "%d" +entry = jamDetected, "jamDetected", int, "%d" entry = etbDutyRateOfChange, "etbDutyRateOfChange", float, "%.3f" entry = etbDutyAverage, "etbDutyAverage", float, "%.3f" entry = etbTpsErrorCounter, "ETB TPS error counter", int, "%d" entry = etbPpsErrorCounter, "ETB pedal error counter", int, "%d" entry = etbErrorCode, "etbErrorCode", int, "%d" +entry = jamTimer, "ETB jam timer", float, "%.3f" entry = faultCode, "faultCode", int, "%d" entry = heaterDuty, "heaterDuty", int, "%d" entry = pumpDuty, "pumpDuty", int, "%d" @@ -5570,6 +5577,7 @@ dialog = trigger_centralDialog, "trigger_central" graphLine = currentEngineDecodedPhase liveGraph = trigger_central_4_Graph, "Graph", South graphLine = triggerToothAngleError + graphLine = triggerIgnoredToothCount dialog = trigger_stateDialog, "trigger_state" @@ -5640,6 +5648,7 @@ dialog = ignition_stateDialog, "ignition_state" indicatorPanel = electronic_throttleIndicatorPanel, 2 indicator = {etbRevLimitActive}, "etbRevLimitActive No", "etbRevLimitActive Yes" + indicator = {jamDetected}, "jamDetected No", "jamDetected Yes" dialog = electronic_throttleDialog, "electronic_throttle" panel = electronic_throttleIndicatorPanel @@ -5658,6 +5667,8 @@ dialog = electronic_throttleDialog, "electronic_throttle" graphLine = etbTpsErrorCounter graphLine = etbPpsErrorCounter graphLine = etbErrorCode + liveGraph = electronic_throttle_4_Graph, "Graph", South + graphLine = jamTimer dialog = wideband_stateDialog, "wideband_state" @@ -5847,6 +5858,7 @@ dialog = wideband_stateDialog, "wideband_state" field = "Do not print messages in case of sync error", silentTriggerError field = "Focus on inputs in engine sniffer", engineSnifferFocusOnInputs field = "Enable noise filtering", useNoiselessTriggerDecoder, {trigger_type == 8 || trigger_type == 9} + field = "Trigger Edge Filter", doNotFilterTriggerEdgeNoise dialog = triggerInputs, "Trigger Inputs" field = "#Cam is primary if you have cam sensor as part of trigger shape" diff --git a/firmware/tunerstudio/generated/rusefi_48way.ini b/firmware/tunerstudio/generated/rusefi_48way.ini index 2fcb5abf6a..0c0ff547b6 100644 --- a/firmware/tunerstudio/generated/rusefi_48way.ini +++ b/firmware/tunerstudio/generated/rusefi_48way.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2023.01.10.48way.snap_22196" + signature = "rusEFI 2023.01.10.48way.snap_17983" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI 2023.01.10.48way.snap_22196" ; signature is expected to be 7 or more characters. + signature= "rusEFI 2023.01.10.48way.snap_17983" ; 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 @@ -86,7 +86,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 19:59:34 UTC 2023 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 21:35:10 UTC 2023 pageSize = 22368 page = 1 @@ -126,7 +126,7 @@ useTLE8888_cranking_hack = bits, U32, 120, [17:17], "false", "true" kickStartCranking = bits, U32, 120, [18:18], "false", "true" useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [19:19], "false", "true" launchControlEnabled = bits, U32, 120, [20:20], "false", "true" -anotherUnusedHere444 = bits, U32, 120, [21:21], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 120, [21:21], "with filter", "without filter" antiLagEnabled = bits, U32, 120, [22:22], "false", "true" useRunningMathForCranking = bits, U32, 120, [23:23], "Fixed", "Fuel Map" displayLogicLevelsInEngineSniffer = bits, U32, 120, [24:24], "false", "true" @@ -1469,6 +1469,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 cj125isUrDivided = "Is your UR CJ125 output wired to MCU via resistor divider?\nLooks like 3v range should be enough, divider generally not needed." useCicPidForIdle = "Switch between Industrial and Cic PID implementation" useSeparateIdleTablesForCrankingTaper = "This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration)." + doNotFilterTriggerEdgeNoise = "Detect double trigger edges" useRunningMathForCranking = "For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table)." displayLogicLevelsInEngineSniffer = "Shall we display real life signal or just the part consumed by trigger decoder.\nApplies to both trigger and cam/vvt input.\n\nenable logic_level_trigger" enableMapEstimationTableFallback = "If enabled, the MAP estimate table will be used if the MAP sensor fails to estimate manifold pressure based on RPM and TPS." @@ -2201,7 +2202,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1288 + ochBlockSize = 1292 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -2848,74 +2849,77 @@ mapVvt_MAP_AT_CYCLE_COUNT = scalar, U08, 1128, "", 1, 0 mapVvt_map_peak = scalar, U08, 1129, "", 1, 0 currentEngineDecodedPhase = scalar, F32, 1132, "deg", 1, 0 triggerToothAngleError = scalar, F32, 1136, "deg", 1, 0 -; total TS size = 1140 -crankSynchronizationCounter = scalar, U32, 1140, "", 1, 0 -vvtSyncGapRatio = scalar, F32, 1144, "", 1, 0 -vvtCurrentPosition = scalar, F32, 1148, "", 1, 0 -triggerSyncGapRatio = scalar, F32, 1152, "", 1, 0 -triggerStateIndex = scalar, U08, 1156, "", 1, 0 -vvtCounter = scalar, U08, 1157, "", 1, 0 -camResyncCounter = scalar, U08, 1158, "", 1, 0 -vvtStateIndex = scalar, U08, 1159, "", 1, 0 -; total TS size = 1160 -m_hasSynchronizedPhase = bits, U32, 1160, [0:0] +triggerIgnoredToothCount = scalar, U08, 1140, "", 1, 0 +; total TS size = 1144 +crankSynchronizationCounter = scalar, U32, 1144, "", 1, 0 +vvtSyncGapRatio = scalar, F32, 1148, "", 1, 0 +vvtCurrentPosition = scalar, F32, 1152, "", 1, 0 +triggerSyncGapRatio = scalar, F32, 1156, "", 1, 0 +triggerStateIndex = scalar, U08, 1160, "", 1, 0 +vvtCounter = scalar, U08, 1161, "", 1, 0 +camResyncCounter = scalar, U08, 1162, "", 1, 0 +vvtStateIndex = scalar, U08, 1163, "", 1, 0 ; total TS size = 1164 -wallFuelCorrection = scalar, F32, 1164, "", 1, 0 -wallFuel = scalar, F32, 1168, "", 1, 0 -; total TS size = 1172 -idleState = bits, S32, 1172, [0:2], "not important" -currentIdlePosition = scalar, F32, 1176 -baseIdlePosition = scalar, F32, 1180 -iacByTpsTaper = scalar, F32, 1184 -throttlePedalUpState = scalar, S32, 1188, "", 1, 0 -mightResetPid = bits, U32, 1192, [0:0] -shouldResetPid = bits, U32, 1192, [1:1] -wasResetPid = bits, U32, 1192, [2:2] -mustResetPid = bits, U32, 1192, [3:3] -isCranking = bits, U32, 1192, [4:4] -isIacTableForCoasting = bits, U32, 1192, [5:5] -notIdling = bits, U32, 1192, [6:6] -needReset = bits, U32, 1192, [7:7] -isInDeadZone = bits, U32, 1192, [8:8] -isBlipping = bits, U32, 1192, [9:9] -useClosedLoop = bits, U32, 1192, [10:10] -badTps = bits, U32, 1192, [11:11] -looksLikeRunning = bits, U32, 1192, [12:12] -looksLikeCoasting = bits, U32, 1192, [13:13] -looksLikeCrankToIdle = bits, U32, 1192, [14:14] -isVerboseIAC = bits, U32, 1192, [15:15] -isIdleCoasting = bits, U32, 1192, [16:16] -targetRpmByClt = scalar, S32, 1196, "", 1, 0 -targetRpmAcBump = scalar, S32, 1200, "", 1, 0 -iacByRpmTaper = scalar, F32, 1204 -luaAdd = scalar, F32, 1208 -; total TS size = 1212 -baseDwell = scalar, F32, 1212, "", 1, 0 -dwellVoltageCorrection = scalar, F32, 1216, "", 1, 0 -luaTimingAdd = scalar, F32, 1220, "", 1, 0 -luaTimingMult = scalar, F32, 1224, "", 1, 0 -; total TS size = 1228 -idlePosition = scalar, F32, 1228, "", 1, 0 -trim = scalar, F32, 1232, "", 1, 0 -luaAdjustment = scalar, F32, 1236, "", 1, 0 -etbFeedForward = scalar, F32, 1240 -etbIntegralError = scalar, F32, 1244, "", 1, 0 -etbCurrentTarget = scalar, F32, 1248, "%", 1, 0 -etbCurrentAdjustedTarget = scalar, F32, 1252, "%", 1, 0 -etbRevLimitActive = bits, U32, 1256, [0:0] -etbDutyRateOfChange = scalar, F32, 1260, "", 1, 0 -etbDutyAverage = scalar, F32, 1264, "", 1, 0 -etbTpsErrorCounter = scalar, U16, 1268, "", 1, 0 -etbPpsErrorCounter = scalar, U16, 1270, "", 1, 0 -etbErrorCode = scalar, S08, 1272, "", 1, 0 -; total TS size = 1276 -faultCode = scalar, U08, 1276, "", 1, 0 -heaterDuty = scalar, U08, 1277, "%", 1, 0 -pumpDuty = scalar, U08, 1278, "%", 1, 0 -tempC = scalar, U16, 1280, "C", 1, 0 -nernstVoltage = scalar, U16, 1282, "V", 0.001, 0 -esr = scalar, U16, 1284, "", 1, 0 -; total TS size = 1288 +m_hasSynchronizedPhase = bits, U32, 1164, [0:0] +; total TS size = 1168 +wallFuelCorrection = scalar, F32, 1168, "", 1, 0 +wallFuel = scalar, F32, 1172, "", 1, 0 +; total TS size = 1176 +idleState = bits, S32, 1176, [0:2], "not important" +currentIdlePosition = scalar, F32, 1180 +baseIdlePosition = scalar, F32, 1184 +iacByTpsTaper = scalar, F32, 1188 +throttlePedalUpState = scalar, S32, 1192, "", 1, 0 +mightResetPid = bits, U32, 1196, [0:0] +shouldResetPid = bits, U32, 1196, [1:1] +wasResetPid = bits, U32, 1196, [2:2] +mustResetPid = bits, U32, 1196, [3:3] +isCranking = bits, U32, 1196, [4:4] +isIacTableForCoasting = bits, U32, 1196, [5:5] +notIdling = bits, U32, 1196, [6:6] +needReset = bits, U32, 1196, [7:7] +isInDeadZone = bits, U32, 1196, [8:8] +isBlipping = bits, U32, 1196, [9:9] +useClosedLoop = bits, U32, 1196, [10:10] +badTps = bits, U32, 1196, [11:11] +looksLikeRunning = bits, U32, 1196, [12:12] +looksLikeCoasting = bits, U32, 1196, [13:13] +looksLikeCrankToIdle = bits, U32, 1196, [14:14] +isVerboseIAC = bits, U32, 1196, [15:15] +isIdleCoasting = bits, U32, 1196, [16:16] +targetRpmByClt = scalar, S32, 1200, "", 1, 0 +targetRpmAcBump = scalar, S32, 1204, "", 1, 0 +iacByRpmTaper = scalar, F32, 1208 +luaAdd = scalar, F32, 1212 +; total TS size = 1216 +baseDwell = scalar, F32, 1216, "", 1, 0 +dwellVoltageCorrection = scalar, F32, 1220, "", 1, 0 +luaTimingAdd = scalar, F32, 1224, "", 1, 0 +luaTimingMult = scalar, F32, 1228, "", 1, 0 +; total TS size = 1232 +idlePosition = scalar, F32, 1232, "", 1, 0 +trim = scalar, F32, 1236, "", 1, 0 +luaAdjustment = scalar, F32, 1240, "", 1, 0 +etbFeedForward = scalar, F32, 1244 +etbIntegralError = scalar, F32, 1248, "", 1, 0 +etbCurrentTarget = scalar, F32, 1252, "%", 1, 0 +etbCurrentAdjustedTarget = scalar, F32, 1256, "%", 1, 0 +etbRevLimitActive = bits, U32, 1260, [0:0] +jamDetected = bits, U32, 1260, [1:1] +etbDutyRateOfChange = scalar, F32, 1264, "", 1, 0 +etbDutyAverage = scalar, F32, 1268, "", 1, 0 +etbTpsErrorCounter = scalar, U16, 1272, "", 1, 0 +etbPpsErrorCounter = scalar, U16, 1274, "", 1, 0 +etbErrorCode = scalar, S08, 1276, "", 1, 0 +jamTimer = scalar, U16, 1278, "sec", 0.01, 0 +; total TS size = 1280 +faultCode = scalar, U08, 1280, "", 1, 0 +heaterDuty = scalar, U08, 1281, "%", 1, 0 +pumpDuty = scalar, U08, 1282, "%", 1, 0 +tempC = scalar, U16, 1284, "C", 1, 0 +nernstVoltage = scalar, U16, 1286, "V", 0.001, 0 +esr = scalar, U16, 1288, "", 1, 0 +; total TS size = 1292 time = { timeNow } @@ -4750,6 +4754,7 @@ entry = mapVvt_MAP_AT_CYCLE_COUNT, "mapVvt_MAP_AT_CYCLE_COUNT", int, "%d" entry = mapVvt_map_peak, "mapVvt_map_peak", int, "%d" entry = currentEngineDecodedPhase, "Engine Phase", float, "%.3f" entry = triggerToothAngleError, "triggerToothAngleError", float, "%.3f" +entry = triggerIgnoredToothCount, "triggerIgnoredToothCount", int, "%d" entry = crankSynchronizationCounter, "Crank sync counter", int, "%d" entry = vvtSyncGapRatio, "vvtSyncGapRatio", float, "%.3f" entry = vvtCurrentPosition, "vvtCurrentPosition", float, "%.3f" @@ -4799,11 +4804,13 @@ entry = etbIntegralError, "etbIntegralError", float, "%.3f" entry = etbCurrentTarget, "etbCurrentTarget", float, "%.3f" entry = etbCurrentAdjustedTarget, "etbCurrentAdjustedTarget", float, "%.3f" entry = etbRevLimitActive, "etbRevLimitActive", int, "%d" +entry = jamDetected, "jamDetected", int, "%d" entry = etbDutyRateOfChange, "etbDutyRateOfChange", float, "%.3f" entry = etbDutyAverage, "etbDutyAverage", float, "%.3f" entry = etbTpsErrorCounter, "ETB TPS error counter", int, "%d" entry = etbPpsErrorCounter, "ETB pedal error counter", int, "%d" entry = etbErrorCode, "etbErrorCode", int, "%d" +entry = jamTimer, "ETB jam timer", float, "%.3f" entry = faultCode, "faultCode", int, "%d" entry = heaterDuty, "heaterDuty", int, "%d" entry = pumpDuty, "pumpDuty", int, "%d" @@ -5568,6 +5575,7 @@ dialog = trigger_centralDialog, "trigger_central" graphLine = currentEngineDecodedPhase liveGraph = trigger_central_4_Graph, "Graph", South graphLine = triggerToothAngleError + graphLine = triggerIgnoredToothCount dialog = trigger_stateDialog, "trigger_state" @@ -5638,6 +5646,7 @@ dialog = ignition_stateDialog, "ignition_state" indicatorPanel = electronic_throttleIndicatorPanel, 2 indicator = {etbRevLimitActive}, "etbRevLimitActive No", "etbRevLimitActive Yes" + indicator = {jamDetected}, "jamDetected No", "jamDetected Yes" dialog = electronic_throttleDialog, "electronic_throttle" panel = electronic_throttleIndicatorPanel @@ -5656,6 +5665,8 @@ dialog = electronic_throttleDialog, "electronic_throttle" graphLine = etbTpsErrorCounter graphLine = etbPpsErrorCounter graphLine = etbErrorCode + liveGraph = electronic_throttle_4_Graph, "Graph", South + graphLine = jamTimer dialog = wideband_stateDialog, "wideband_state" @@ -5845,6 +5856,7 @@ dialog = wideband_stateDialog, "wideband_state" field = "Do not print messages in case of sync error", silentTriggerError field = "Focus on inputs in engine sniffer", engineSnifferFocusOnInputs field = "Enable noise filtering", useNoiselessTriggerDecoder, {trigger_type == 8 || trigger_type == 9} + field = "Trigger Edge Filter", doNotFilterTriggerEdgeNoise dialog = triggerInputs, "Trigger Inputs" field = "#Cam is primary if you have cam sensor as part of trigger shape" diff --git a/firmware/tunerstudio/generated/rusefi_alphax-2chan.ini b/firmware/tunerstudio/generated/rusefi_alphax-2chan.ini index 7b96d91f24..ee34b356bd 100644 --- a/firmware/tunerstudio/generated/rusefi_alphax-2chan.ini +++ b/firmware/tunerstudio/generated/rusefi_alphax-2chan.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2023.01.10.alphax-2chan.snap_50071" + signature = "rusEFI 2023.01.10.alphax-2chan.snap_54044" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI 2023.01.10.alphax-2chan.snap_50071" ; signature is expected to be 7 or more characters. + signature= "rusEFI 2023.01.10.alphax-2chan.snap_54044" ; 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 @@ -86,7 +86,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 19:59:12 UTC 2023 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 21:34:48 UTC 2023 pageSize = 22368 page = 1 @@ -126,7 +126,7 @@ useTLE8888_cranking_hack = bits, U32, 120, [17:17], "false", "true" kickStartCranking = bits, U32, 120, [18:18], "false", "true" useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [19:19], "false", "true" launchControlEnabled = bits, U32, 120, [20:20], "false", "true" -anotherUnusedHere444 = bits, U32, 120, [21:21], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 120, [21:21], "with filter", "without filter" antiLagEnabled = bits, U32, 120, [22:22], "false", "true" useRunningMathForCranking = bits, U32, 120, [23:23], "Fixed", "Fuel Map" displayLogicLevelsInEngineSniffer = bits, U32, 120, [24:24], "false", "true" @@ -1469,6 +1469,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 cj125isUrDivided = "Is your UR CJ125 output wired to MCU via resistor divider?\nLooks like 3v range should be enough, divider generally not needed." useCicPidForIdle = "Switch between Industrial and Cic PID implementation" useSeparateIdleTablesForCrankingTaper = "This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration)." + doNotFilterTriggerEdgeNoise = "Detect double trigger edges" useRunningMathForCranking = "For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table)." displayLogicLevelsInEngineSniffer = "Shall we display real life signal or just the part consumed by trigger decoder.\nApplies to both trigger and cam/vvt input.\n\nenable logic_level_trigger" enableMapEstimationTableFallback = "If enabled, the MAP estimate table will be used if the MAP sensor fails to estimate manifold pressure based on RPM and TPS." @@ -2201,7 +2202,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1288 + ochBlockSize = 1292 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -2848,74 +2849,77 @@ mapVvt_MAP_AT_CYCLE_COUNT = scalar, U08, 1128, "", 1, 0 mapVvt_map_peak = scalar, U08, 1129, "", 1, 0 currentEngineDecodedPhase = scalar, F32, 1132, "deg", 1, 0 triggerToothAngleError = scalar, F32, 1136, "deg", 1, 0 -; total TS size = 1140 -crankSynchronizationCounter = scalar, U32, 1140, "", 1, 0 -vvtSyncGapRatio = scalar, F32, 1144, "", 1, 0 -vvtCurrentPosition = scalar, F32, 1148, "", 1, 0 -triggerSyncGapRatio = scalar, F32, 1152, "", 1, 0 -triggerStateIndex = scalar, U08, 1156, "", 1, 0 -vvtCounter = scalar, U08, 1157, "", 1, 0 -camResyncCounter = scalar, U08, 1158, "", 1, 0 -vvtStateIndex = scalar, U08, 1159, "", 1, 0 -; total TS size = 1160 -m_hasSynchronizedPhase = bits, U32, 1160, [0:0] +triggerIgnoredToothCount = scalar, U08, 1140, "", 1, 0 +; total TS size = 1144 +crankSynchronizationCounter = scalar, U32, 1144, "", 1, 0 +vvtSyncGapRatio = scalar, F32, 1148, "", 1, 0 +vvtCurrentPosition = scalar, F32, 1152, "", 1, 0 +triggerSyncGapRatio = scalar, F32, 1156, "", 1, 0 +triggerStateIndex = scalar, U08, 1160, "", 1, 0 +vvtCounter = scalar, U08, 1161, "", 1, 0 +camResyncCounter = scalar, U08, 1162, "", 1, 0 +vvtStateIndex = scalar, U08, 1163, "", 1, 0 ; total TS size = 1164 -wallFuelCorrection = scalar, F32, 1164, "", 1, 0 -wallFuel = scalar, F32, 1168, "", 1, 0 -; total TS size = 1172 -idleState = bits, S32, 1172, [0:2], "not important" -currentIdlePosition = scalar, F32, 1176 -baseIdlePosition = scalar, F32, 1180 -iacByTpsTaper = scalar, F32, 1184 -throttlePedalUpState = scalar, S32, 1188, "", 1, 0 -mightResetPid = bits, U32, 1192, [0:0] -shouldResetPid = bits, U32, 1192, [1:1] -wasResetPid = bits, U32, 1192, [2:2] -mustResetPid = bits, U32, 1192, [3:3] -isCranking = bits, U32, 1192, [4:4] -isIacTableForCoasting = bits, U32, 1192, [5:5] -notIdling = bits, U32, 1192, [6:6] -needReset = bits, U32, 1192, [7:7] -isInDeadZone = bits, U32, 1192, [8:8] -isBlipping = bits, U32, 1192, [9:9] -useClosedLoop = bits, U32, 1192, [10:10] -badTps = bits, U32, 1192, [11:11] -looksLikeRunning = bits, U32, 1192, [12:12] -looksLikeCoasting = bits, U32, 1192, [13:13] -looksLikeCrankToIdle = bits, U32, 1192, [14:14] -isVerboseIAC = bits, U32, 1192, [15:15] -isIdleCoasting = bits, U32, 1192, [16:16] -targetRpmByClt = scalar, S32, 1196, "", 1, 0 -targetRpmAcBump = scalar, S32, 1200, "", 1, 0 -iacByRpmTaper = scalar, F32, 1204 -luaAdd = scalar, F32, 1208 -; total TS size = 1212 -baseDwell = scalar, F32, 1212, "", 1, 0 -dwellVoltageCorrection = scalar, F32, 1216, "", 1, 0 -luaTimingAdd = scalar, F32, 1220, "", 1, 0 -luaTimingMult = scalar, F32, 1224, "", 1, 0 -; total TS size = 1228 -idlePosition = scalar, F32, 1228, "", 1, 0 -trim = scalar, F32, 1232, "", 1, 0 -luaAdjustment = scalar, F32, 1236, "", 1, 0 -etbFeedForward = scalar, F32, 1240 -etbIntegralError = scalar, F32, 1244, "", 1, 0 -etbCurrentTarget = scalar, F32, 1248, "%", 1, 0 -etbCurrentAdjustedTarget = scalar, F32, 1252, "%", 1, 0 -etbRevLimitActive = bits, U32, 1256, [0:0] -etbDutyRateOfChange = scalar, F32, 1260, "", 1, 0 -etbDutyAverage = scalar, F32, 1264, "", 1, 0 -etbTpsErrorCounter = scalar, U16, 1268, "", 1, 0 -etbPpsErrorCounter = scalar, U16, 1270, "", 1, 0 -etbErrorCode = scalar, S08, 1272, "", 1, 0 -; total TS size = 1276 -faultCode = scalar, U08, 1276, "", 1, 0 -heaterDuty = scalar, U08, 1277, "%", 1, 0 -pumpDuty = scalar, U08, 1278, "%", 1, 0 -tempC = scalar, U16, 1280, "C", 1, 0 -nernstVoltage = scalar, U16, 1282, "V", 0.001, 0 -esr = scalar, U16, 1284, "", 1, 0 -; total TS size = 1288 +m_hasSynchronizedPhase = bits, U32, 1164, [0:0] +; total TS size = 1168 +wallFuelCorrection = scalar, F32, 1168, "", 1, 0 +wallFuel = scalar, F32, 1172, "", 1, 0 +; total TS size = 1176 +idleState = bits, S32, 1176, [0:2], "not important" +currentIdlePosition = scalar, F32, 1180 +baseIdlePosition = scalar, F32, 1184 +iacByTpsTaper = scalar, F32, 1188 +throttlePedalUpState = scalar, S32, 1192, "", 1, 0 +mightResetPid = bits, U32, 1196, [0:0] +shouldResetPid = bits, U32, 1196, [1:1] +wasResetPid = bits, U32, 1196, [2:2] +mustResetPid = bits, U32, 1196, [3:3] +isCranking = bits, U32, 1196, [4:4] +isIacTableForCoasting = bits, U32, 1196, [5:5] +notIdling = bits, U32, 1196, [6:6] +needReset = bits, U32, 1196, [7:7] +isInDeadZone = bits, U32, 1196, [8:8] +isBlipping = bits, U32, 1196, [9:9] +useClosedLoop = bits, U32, 1196, [10:10] +badTps = bits, U32, 1196, [11:11] +looksLikeRunning = bits, U32, 1196, [12:12] +looksLikeCoasting = bits, U32, 1196, [13:13] +looksLikeCrankToIdle = bits, U32, 1196, [14:14] +isVerboseIAC = bits, U32, 1196, [15:15] +isIdleCoasting = bits, U32, 1196, [16:16] +targetRpmByClt = scalar, S32, 1200, "", 1, 0 +targetRpmAcBump = scalar, S32, 1204, "", 1, 0 +iacByRpmTaper = scalar, F32, 1208 +luaAdd = scalar, F32, 1212 +; total TS size = 1216 +baseDwell = scalar, F32, 1216, "", 1, 0 +dwellVoltageCorrection = scalar, F32, 1220, "", 1, 0 +luaTimingAdd = scalar, F32, 1224, "", 1, 0 +luaTimingMult = scalar, F32, 1228, "", 1, 0 +; total TS size = 1232 +idlePosition = scalar, F32, 1232, "", 1, 0 +trim = scalar, F32, 1236, "", 1, 0 +luaAdjustment = scalar, F32, 1240, "", 1, 0 +etbFeedForward = scalar, F32, 1244 +etbIntegralError = scalar, F32, 1248, "", 1, 0 +etbCurrentTarget = scalar, F32, 1252, "%", 1, 0 +etbCurrentAdjustedTarget = scalar, F32, 1256, "%", 1, 0 +etbRevLimitActive = bits, U32, 1260, [0:0] +jamDetected = bits, U32, 1260, [1:1] +etbDutyRateOfChange = scalar, F32, 1264, "", 1, 0 +etbDutyAverage = scalar, F32, 1268, "", 1, 0 +etbTpsErrorCounter = scalar, U16, 1272, "", 1, 0 +etbPpsErrorCounter = scalar, U16, 1274, "", 1, 0 +etbErrorCode = scalar, S08, 1276, "", 1, 0 +jamTimer = scalar, U16, 1278, "sec", 0.01, 0 +; total TS size = 1280 +faultCode = scalar, U08, 1280, "", 1, 0 +heaterDuty = scalar, U08, 1281, "%", 1, 0 +pumpDuty = scalar, U08, 1282, "%", 1, 0 +tempC = scalar, U16, 1284, "C", 1, 0 +nernstVoltage = scalar, U16, 1286, "V", 0.001, 0 +esr = scalar, U16, 1288, "", 1, 0 +; total TS size = 1292 time = { timeNow } @@ -4750,6 +4754,7 @@ entry = mapVvt_MAP_AT_CYCLE_COUNT, "mapVvt_MAP_AT_CYCLE_COUNT", int, "%d" entry = mapVvt_map_peak, "mapVvt_map_peak", int, "%d" entry = currentEngineDecodedPhase, "Engine Phase", float, "%.3f" entry = triggerToothAngleError, "triggerToothAngleError", float, "%.3f" +entry = triggerIgnoredToothCount, "triggerIgnoredToothCount", int, "%d" entry = crankSynchronizationCounter, "Crank sync counter", int, "%d" entry = vvtSyncGapRatio, "vvtSyncGapRatio", float, "%.3f" entry = vvtCurrentPosition, "vvtCurrentPosition", float, "%.3f" @@ -4799,11 +4804,13 @@ entry = etbIntegralError, "etbIntegralError", float, "%.3f" entry = etbCurrentTarget, "etbCurrentTarget", float, "%.3f" entry = etbCurrentAdjustedTarget, "etbCurrentAdjustedTarget", float, "%.3f" entry = etbRevLimitActive, "etbRevLimitActive", int, "%d" +entry = jamDetected, "jamDetected", int, "%d" entry = etbDutyRateOfChange, "etbDutyRateOfChange", float, "%.3f" entry = etbDutyAverage, "etbDutyAverage", float, "%.3f" entry = etbTpsErrorCounter, "ETB TPS error counter", int, "%d" entry = etbPpsErrorCounter, "ETB pedal error counter", int, "%d" entry = etbErrorCode, "etbErrorCode", int, "%d" +entry = jamTimer, "ETB jam timer", float, "%.3f" entry = faultCode, "faultCode", int, "%d" entry = heaterDuty, "heaterDuty", int, "%d" entry = pumpDuty, "pumpDuty", int, "%d" @@ -5564,6 +5571,7 @@ dialog = trigger_centralDialog, "trigger_central" graphLine = currentEngineDecodedPhase liveGraph = trigger_central_4_Graph, "Graph", South graphLine = triggerToothAngleError + graphLine = triggerIgnoredToothCount dialog = trigger_stateDialog, "trigger_state" @@ -5634,6 +5642,7 @@ dialog = ignition_stateDialog, "ignition_state" indicatorPanel = electronic_throttleIndicatorPanel, 2 indicator = {etbRevLimitActive}, "etbRevLimitActive No", "etbRevLimitActive Yes" + indicator = {jamDetected}, "jamDetected No", "jamDetected Yes" dialog = electronic_throttleDialog, "electronic_throttle" panel = electronic_throttleIndicatorPanel @@ -5652,6 +5661,8 @@ dialog = electronic_throttleDialog, "electronic_throttle" graphLine = etbTpsErrorCounter graphLine = etbPpsErrorCounter graphLine = etbErrorCode + liveGraph = electronic_throttle_4_Graph, "Graph", South + graphLine = jamTimer dialog = wideband_stateDialog, "wideband_state" @@ -5841,6 +5852,7 @@ dialog = wideband_stateDialog, "wideband_state" field = "Do not print messages in case of sync error", silentTriggerError field = "Focus on inputs in engine sniffer", engineSnifferFocusOnInputs field = "Enable noise filtering", useNoiselessTriggerDecoder, {trigger_type == 8 || trigger_type == 9} + field = "Trigger Edge Filter", doNotFilterTriggerEdgeNoise dialog = triggerInputs, "Trigger Inputs" field = "#Cam is primary if you have cam sensor as part of trigger shape" diff --git a/firmware/tunerstudio/generated/rusefi_alphax-4chan.ini b/firmware/tunerstudio/generated/rusefi_alphax-4chan.ini index f6df79675a..6ba692bdd1 100644 --- a/firmware/tunerstudio/generated/rusefi_alphax-4chan.ini +++ b/firmware/tunerstudio/generated/rusefi_alphax-4chan.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2023.01.10.alphax-4chan.snap_20434" + signature = "rusEFI 2023.01.10.alphax-4chan.snap_24409" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI 2023.01.10.alphax-4chan.snap_20434" ; signature is expected to be 7 or more characters. + signature= "rusEFI 2023.01.10.alphax-4chan.snap_24409" ; 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 @@ -86,7 +86,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 19:59:14 UTC 2023 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 21:34:49 UTC 2023 pageSize = 22368 page = 1 @@ -126,7 +126,7 @@ useTLE8888_cranking_hack = bits, U32, 120, [17:17], "false", "true" kickStartCranking = bits, U32, 120, [18:18], "false", "true" useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [19:19], "false", "true" launchControlEnabled = bits, U32, 120, [20:20], "false", "true" -anotherUnusedHere444 = bits, U32, 120, [21:21], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 120, [21:21], "with filter", "without filter" antiLagEnabled = bits, U32, 120, [22:22], "false", "true" useRunningMathForCranking = bits, U32, 120, [23:23], "Fixed", "Fuel Map" displayLogicLevelsInEngineSniffer = bits, U32, 120, [24:24], "false", "true" @@ -1469,6 +1469,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 cj125isUrDivided = "Is your UR CJ125 output wired to MCU via resistor divider?\nLooks like 3v range should be enough, divider generally not needed." useCicPidForIdle = "Switch between Industrial and Cic PID implementation" useSeparateIdleTablesForCrankingTaper = "This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration)." + doNotFilterTriggerEdgeNoise = "Detect double trigger edges" useRunningMathForCranking = "For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table)." displayLogicLevelsInEngineSniffer = "Shall we display real life signal or just the part consumed by trigger decoder.\nApplies to both trigger and cam/vvt input.\n\nenable logic_level_trigger" enableMapEstimationTableFallback = "If enabled, the MAP estimate table will be used if the MAP sensor fails to estimate manifold pressure based on RPM and TPS." @@ -2201,7 +2202,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1288 + ochBlockSize = 1292 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -2848,74 +2849,77 @@ mapVvt_MAP_AT_CYCLE_COUNT = scalar, U08, 1128, "", 1, 0 mapVvt_map_peak = scalar, U08, 1129, "", 1, 0 currentEngineDecodedPhase = scalar, F32, 1132, "deg", 1, 0 triggerToothAngleError = scalar, F32, 1136, "deg", 1, 0 -; total TS size = 1140 -crankSynchronizationCounter = scalar, U32, 1140, "", 1, 0 -vvtSyncGapRatio = scalar, F32, 1144, "", 1, 0 -vvtCurrentPosition = scalar, F32, 1148, "", 1, 0 -triggerSyncGapRatio = scalar, F32, 1152, "", 1, 0 -triggerStateIndex = scalar, U08, 1156, "", 1, 0 -vvtCounter = scalar, U08, 1157, "", 1, 0 -camResyncCounter = scalar, U08, 1158, "", 1, 0 -vvtStateIndex = scalar, U08, 1159, "", 1, 0 -; total TS size = 1160 -m_hasSynchronizedPhase = bits, U32, 1160, [0:0] +triggerIgnoredToothCount = scalar, U08, 1140, "", 1, 0 +; total TS size = 1144 +crankSynchronizationCounter = scalar, U32, 1144, "", 1, 0 +vvtSyncGapRatio = scalar, F32, 1148, "", 1, 0 +vvtCurrentPosition = scalar, F32, 1152, "", 1, 0 +triggerSyncGapRatio = scalar, F32, 1156, "", 1, 0 +triggerStateIndex = scalar, U08, 1160, "", 1, 0 +vvtCounter = scalar, U08, 1161, "", 1, 0 +camResyncCounter = scalar, U08, 1162, "", 1, 0 +vvtStateIndex = scalar, U08, 1163, "", 1, 0 ; total TS size = 1164 -wallFuelCorrection = scalar, F32, 1164, "", 1, 0 -wallFuel = scalar, F32, 1168, "", 1, 0 -; total TS size = 1172 -idleState = bits, S32, 1172, [0:2], "not important" -currentIdlePosition = scalar, F32, 1176 -baseIdlePosition = scalar, F32, 1180 -iacByTpsTaper = scalar, F32, 1184 -throttlePedalUpState = scalar, S32, 1188, "", 1, 0 -mightResetPid = bits, U32, 1192, [0:0] -shouldResetPid = bits, U32, 1192, [1:1] -wasResetPid = bits, U32, 1192, [2:2] -mustResetPid = bits, U32, 1192, [3:3] -isCranking = bits, U32, 1192, [4:4] -isIacTableForCoasting = bits, U32, 1192, [5:5] -notIdling = bits, U32, 1192, [6:6] -needReset = bits, U32, 1192, [7:7] -isInDeadZone = bits, U32, 1192, [8:8] -isBlipping = bits, U32, 1192, [9:9] -useClosedLoop = bits, U32, 1192, [10:10] -badTps = bits, U32, 1192, [11:11] -looksLikeRunning = bits, U32, 1192, [12:12] -looksLikeCoasting = bits, U32, 1192, [13:13] -looksLikeCrankToIdle = bits, U32, 1192, [14:14] -isVerboseIAC = bits, U32, 1192, [15:15] -isIdleCoasting = bits, U32, 1192, [16:16] -targetRpmByClt = scalar, S32, 1196, "", 1, 0 -targetRpmAcBump = scalar, S32, 1200, "", 1, 0 -iacByRpmTaper = scalar, F32, 1204 -luaAdd = scalar, F32, 1208 -; total TS size = 1212 -baseDwell = scalar, F32, 1212, "", 1, 0 -dwellVoltageCorrection = scalar, F32, 1216, "", 1, 0 -luaTimingAdd = scalar, F32, 1220, "", 1, 0 -luaTimingMult = scalar, F32, 1224, "", 1, 0 -; total TS size = 1228 -idlePosition = scalar, F32, 1228, "", 1, 0 -trim = scalar, F32, 1232, "", 1, 0 -luaAdjustment = scalar, F32, 1236, "", 1, 0 -etbFeedForward = scalar, F32, 1240 -etbIntegralError = scalar, F32, 1244, "", 1, 0 -etbCurrentTarget = scalar, F32, 1248, "%", 1, 0 -etbCurrentAdjustedTarget = scalar, F32, 1252, "%", 1, 0 -etbRevLimitActive = bits, U32, 1256, [0:0] -etbDutyRateOfChange = scalar, F32, 1260, "", 1, 0 -etbDutyAverage = scalar, F32, 1264, "", 1, 0 -etbTpsErrorCounter = scalar, U16, 1268, "", 1, 0 -etbPpsErrorCounter = scalar, U16, 1270, "", 1, 0 -etbErrorCode = scalar, S08, 1272, "", 1, 0 -; total TS size = 1276 -faultCode = scalar, U08, 1276, "", 1, 0 -heaterDuty = scalar, U08, 1277, "%", 1, 0 -pumpDuty = scalar, U08, 1278, "%", 1, 0 -tempC = scalar, U16, 1280, "C", 1, 0 -nernstVoltage = scalar, U16, 1282, "V", 0.001, 0 -esr = scalar, U16, 1284, "", 1, 0 -; total TS size = 1288 +m_hasSynchronizedPhase = bits, U32, 1164, [0:0] +; total TS size = 1168 +wallFuelCorrection = scalar, F32, 1168, "", 1, 0 +wallFuel = scalar, F32, 1172, "", 1, 0 +; total TS size = 1176 +idleState = bits, S32, 1176, [0:2], "not important" +currentIdlePosition = scalar, F32, 1180 +baseIdlePosition = scalar, F32, 1184 +iacByTpsTaper = scalar, F32, 1188 +throttlePedalUpState = scalar, S32, 1192, "", 1, 0 +mightResetPid = bits, U32, 1196, [0:0] +shouldResetPid = bits, U32, 1196, [1:1] +wasResetPid = bits, U32, 1196, [2:2] +mustResetPid = bits, U32, 1196, [3:3] +isCranking = bits, U32, 1196, [4:4] +isIacTableForCoasting = bits, U32, 1196, [5:5] +notIdling = bits, U32, 1196, [6:6] +needReset = bits, U32, 1196, [7:7] +isInDeadZone = bits, U32, 1196, [8:8] +isBlipping = bits, U32, 1196, [9:9] +useClosedLoop = bits, U32, 1196, [10:10] +badTps = bits, U32, 1196, [11:11] +looksLikeRunning = bits, U32, 1196, [12:12] +looksLikeCoasting = bits, U32, 1196, [13:13] +looksLikeCrankToIdle = bits, U32, 1196, [14:14] +isVerboseIAC = bits, U32, 1196, [15:15] +isIdleCoasting = bits, U32, 1196, [16:16] +targetRpmByClt = scalar, S32, 1200, "", 1, 0 +targetRpmAcBump = scalar, S32, 1204, "", 1, 0 +iacByRpmTaper = scalar, F32, 1208 +luaAdd = scalar, F32, 1212 +; total TS size = 1216 +baseDwell = scalar, F32, 1216, "", 1, 0 +dwellVoltageCorrection = scalar, F32, 1220, "", 1, 0 +luaTimingAdd = scalar, F32, 1224, "", 1, 0 +luaTimingMult = scalar, F32, 1228, "", 1, 0 +; total TS size = 1232 +idlePosition = scalar, F32, 1232, "", 1, 0 +trim = scalar, F32, 1236, "", 1, 0 +luaAdjustment = scalar, F32, 1240, "", 1, 0 +etbFeedForward = scalar, F32, 1244 +etbIntegralError = scalar, F32, 1248, "", 1, 0 +etbCurrentTarget = scalar, F32, 1252, "%", 1, 0 +etbCurrentAdjustedTarget = scalar, F32, 1256, "%", 1, 0 +etbRevLimitActive = bits, U32, 1260, [0:0] +jamDetected = bits, U32, 1260, [1:1] +etbDutyRateOfChange = scalar, F32, 1264, "", 1, 0 +etbDutyAverage = scalar, F32, 1268, "", 1, 0 +etbTpsErrorCounter = scalar, U16, 1272, "", 1, 0 +etbPpsErrorCounter = scalar, U16, 1274, "", 1, 0 +etbErrorCode = scalar, S08, 1276, "", 1, 0 +jamTimer = scalar, U16, 1278, "sec", 0.01, 0 +; total TS size = 1280 +faultCode = scalar, U08, 1280, "", 1, 0 +heaterDuty = scalar, U08, 1281, "%", 1, 0 +pumpDuty = scalar, U08, 1282, "%", 1, 0 +tempC = scalar, U16, 1284, "C", 1, 0 +nernstVoltage = scalar, U16, 1286, "V", 0.001, 0 +esr = scalar, U16, 1288, "", 1, 0 +; total TS size = 1292 time = { timeNow } @@ -4750,6 +4754,7 @@ entry = mapVvt_MAP_AT_CYCLE_COUNT, "mapVvt_MAP_AT_CYCLE_COUNT", int, "%d" entry = mapVvt_map_peak, "mapVvt_map_peak", int, "%d" entry = currentEngineDecodedPhase, "Engine Phase", float, "%.3f" entry = triggerToothAngleError, "triggerToothAngleError", float, "%.3f" +entry = triggerIgnoredToothCount, "triggerIgnoredToothCount", int, "%d" entry = crankSynchronizationCounter, "Crank sync counter", int, "%d" entry = vvtSyncGapRatio, "vvtSyncGapRatio", float, "%.3f" entry = vvtCurrentPosition, "vvtCurrentPosition", float, "%.3f" @@ -4799,11 +4804,13 @@ entry = etbIntegralError, "etbIntegralError", float, "%.3f" entry = etbCurrentTarget, "etbCurrentTarget", float, "%.3f" entry = etbCurrentAdjustedTarget, "etbCurrentAdjustedTarget", float, "%.3f" entry = etbRevLimitActive, "etbRevLimitActive", int, "%d" +entry = jamDetected, "jamDetected", int, "%d" entry = etbDutyRateOfChange, "etbDutyRateOfChange", float, "%.3f" entry = etbDutyAverage, "etbDutyAverage", float, "%.3f" entry = etbTpsErrorCounter, "ETB TPS error counter", int, "%d" entry = etbPpsErrorCounter, "ETB pedal error counter", int, "%d" entry = etbErrorCode, "etbErrorCode", int, "%d" +entry = jamTimer, "ETB jam timer", float, "%.3f" entry = faultCode, "faultCode", int, "%d" entry = heaterDuty, "heaterDuty", int, "%d" entry = pumpDuty, "pumpDuty", int, "%d" @@ -5567,6 +5574,7 @@ dialog = trigger_centralDialog, "trigger_central" graphLine = currentEngineDecodedPhase liveGraph = trigger_central_4_Graph, "Graph", South graphLine = triggerToothAngleError + graphLine = triggerIgnoredToothCount dialog = trigger_stateDialog, "trigger_state" @@ -5637,6 +5645,7 @@ dialog = ignition_stateDialog, "ignition_state" indicatorPanel = electronic_throttleIndicatorPanel, 2 indicator = {etbRevLimitActive}, "etbRevLimitActive No", "etbRevLimitActive Yes" + indicator = {jamDetected}, "jamDetected No", "jamDetected Yes" dialog = electronic_throttleDialog, "electronic_throttle" panel = electronic_throttleIndicatorPanel @@ -5655,6 +5664,8 @@ dialog = electronic_throttleDialog, "electronic_throttle" graphLine = etbTpsErrorCounter graphLine = etbPpsErrorCounter graphLine = etbErrorCode + liveGraph = electronic_throttle_4_Graph, "Graph", South + graphLine = jamTimer dialog = wideband_stateDialog, "wideband_state" @@ -5844,6 +5855,7 @@ dialog = wideband_stateDialog, "wideband_state" field = "Do not print messages in case of sync error", silentTriggerError field = "Focus on inputs in engine sniffer", engineSnifferFocusOnInputs field = "Enable noise filtering", useNoiselessTriggerDecoder, {trigger_type == 8 || trigger_type == 9} + field = "Trigger Edge Filter", doNotFilterTriggerEdgeNoise dialog = triggerInputs, "Trigger Inputs" field = "#Cam is primary if you have cam sensor as part of trigger shape" diff --git a/firmware/tunerstudio/generated/rusefi_alphax-8chan.ini b/firmware/tunerstudio/generated/rusefi_alphax-8chan.ini index d58d5028ba..2d7f30a5b9 100644 --- a/firmware/tunerstudio/generated/rusefi_alphax-8chan.ini +++ b/firmware/tunerstudio/generated/rusefi_alphax-8chan.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2023.01.10.alphax-8chan.snap_49527" + signature = "rusEFI 2023.01.10.alphax-8chan.snap_53756" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI 2023.01.10.alphax-8chan.snap_49527" ; signature is expected to be 7 or more characters. + signature= "rusEFI 2023.01.10.alphax-8chan.snap_53756" ; 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 @@ -86,7 +86,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 19:59:15 UTC 2023 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 21:34:50 UTC 2023 pageSize = 22368 page = 1 @@ -126,7 +126,7 @@ useTLE8888_cranking_hack = bits, U32, 120, [17:17], "false", "true" kickStartCranking = bits, U32, 120, [18:18], "false", "true" useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [19:19], "false", "true" launchControlEnabled = bits, U32, 120, [20:20], "false", "true" -anotherUnusedHere444 = bits, U32, 120, [21:21], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 120, [21:21], "with filter", "without filter" antiLagEnabled = bits, U32, 120, [22:22], "false", "true" useRunningMathForCranking = bits, U32, 120, [23:23], "Fixed", "Fuel Map" displayLogicLevelsInEngineSniffer = bits, U32, 120, [24:24], "false", "true" @@ -1469,6 +1469,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 cj125isUrDivided = "Is your UR CJ125 output wired to MCU via resistor divider?\nLooks like 3v range should be enough, divider generally not needed." useCicPidForIdle = "Switch between Industrial and Cic PID implementation" useSeparateIdleTablesForCrankingTaper = "This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration)." + doNotFilterTriggerEdgeNoise = "Detect double trigger edges" useRunningMathForCranking = "For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table)." displayLogicLevelsInEngineSniffer = "Shall we display real life signal or just the part consumed by trigger decoder.\nApplies to both trigger and cam/vvt input.\n\nenable logic_level_trigger" enableMapEstimationTableFallback = "If enabled, the MAP estimate table will be used if the MAP sensor fails to estimate manifold pressure based on RPM and TPS." @@ -2201,7 +2202,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1288 + ochBlockSize = 1292 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -2848,74 +2849,77 @@ mapVvt_MAP_AT_CYCLE_COUNT = scalar, U08, 1128, "", 1, 0 mapVvt_map_peak = scalar, U08, 1129, "", 1, 0 currentEngineDecodedPhase = scalar, F32, 1132, "deg", 1, 0 triggerToothAngleError = scalar, F32, 1136, "deg", 1, 0 -; total TS size = 1140 -crankSynchronizationCounter = scalar, U32, 1140, "", 1, 0 -vvtSyncGapRatio = scalar, F32, 1144, "", 1, 0 -vvtCurrentPosition = scalar, F32, 1148, "", 1, 0 -triggerSyncGapRatio = scalar, F32, 1152, "", 1, 0 -triggerStateIndex = scalar, U08, 1156, "", 1, 0 -vvtCounter = scalar, U08, 1157, "", 1, 0 -camResyncCounter = scalar, U08, 1158, "", 1, 0 -vvtStateIndex = scalar, U08, 1159, "", 1, 0 -; total TS size = 1160 -m_hasSynchronizedPhase = bits, U32, 1160, [0:0] +triggerIgnoredToothCount = scalar, U08, 1140, "", 1, 0 +; total TS size = 1144 +crankSynchronizationCounter = scalar, U32, 1144, "", 1, 0 +vvtSyncGapRatio = scalar, F32, 1148, "", 1, 0 +vvtCurrentPosition = scalar, F32, 1152, "", 1, 0 +triggerSyncGapRatio = scalar, F32, 1156, "", 1, 0 +triggerStateIndex = scalar, U08, 1160, "", 1, 0 +vvtCounter = scalar, U08, 1161, "", 1, 0 +camResyncCounter = scalar, U08, 1162, "", 1, 0 +vvtStateIndex = scalar, U08, 1163, "", 1, 0 ; total TS size = 1164 -wallFuelCorrection = scalar, F32, 1164, "", 1, 0 -wallFuel = scalar, F32, 1168, "", 1, 0 -; total TS size = 1172 -idleState = bits, S32, 1172, [0:2], "not important" -currentIdlePosition = scalar, F32, 1176 -baseIdlePosition = scalar, F32, 1180 -iacByTpsTaper = scalar, F32, 1184 -throttlePedalUpState = scalar, S32, 1188, "", 1, 0 -mightResetPid = bits, U32, 1192, [0:0] -shouldResetPid = bits, U32, 1192, [1:1] -wasResetPid = bits, U32, 1192, [2:2] -mustResetPid = bits, U32, 1192, [3:3] -isCranking = bits, U32, 1192, [4:4] -isIacTableForCoasting = bits, U32, 1192, [5:5] -notIdling = bits, U32, 1192, [6:6] -needReset = bits, U32, 1192, [7:7] -isInDeadZone = bits, U32, 1192, [8:8] -isBlipping = bits, U32, 1192, [9:9] -useClosedLoop = bits, U32, 1192, [10:10] -badTps = bits, U32, 1192, [11:11] -looksLikeRunning = bits, U32, 1192, [12:12] -looksLikeCoasting = bits, U32, 1192, [13:13] -looksLikeCrankToIdle = bits, U32, 1192, [14:14] -isVerboseIAC = bits, U32, 1192, [15:15] -isIdleCoasting = bits, U32, 1192, [16:16] -targetRpmByClt = scalar, S32, 1196, "", 1, 0 -targetRpmAcBump = scalar, S32, 1200, "", 1, 0 -iacByRpmTaper = scalar, F32, 1204 -luaAdd = scalar, F32, 1208 -; total TS size = 1212 -baseDwell = scalar, F32, 1212, "", 1, 0 -dwellVoltageCorrection = scalar, F32, 1216, "", 1, 0 -luaTimingAdd = scalar, F32, 1220, "", 1, 0 -luaTimingMult = scalar, F32, 1224, "", 1, 0 -; total TS size = 1228 -idlePosition = scalar, F32, 1228, "", 1, 0 -trim = scalar, F32, 1232, "", 1, 0 -luaAdjustment = scalar, F32, 1236, "", 1, 0 -etbFeedForward = scalar, F32, 1240 -etbIntegralError = scalar, F32, 1244, "", 1, 0 -etbCurrentTarget = scalar, F32, 1248, "%", 1, 0 -etbCurrentAdjustedTarget = scalar, F32, 1252, "%", 1, 0 -etbRevLimitActive = bits, U32, 1256, [0:0] -etbDutyRateOfChange = scalar, F32, 1260, "", 1, 0 -etbDutyAverage = scalar, F32, 1264, "", 1, 0 -etbTpsErrorCounter = scalar, U16, 1268, "", 1, 0 -etbPpsErrorCounter = scalar, U16, 1270, "", 1, 0 -etbErrorCode = scalar, S08, 1272, "", 1, 0 -; total TS size = 1276 -faultCode = scalar, U08, 1276, "", 1, 0 -heaterDuty = scalar, U08, 1277, "%", 1, 0 -pumpDuty = scalar, U08, 1278, "%", 1, 0 -tempC = scalar, U16, 1280, "C", 1, 0 -nernstVoltage = scalar, U16, 1282, "V", 0.001, 0 -esr = scalar, U16, 1284, "", 1, 0 -; total TS size = 1288 +m_hasSynchronizedPhase = bits, U32, 1164, [0:0] +; total TS size = 1168 +wallFuelCorrection = scalar, F32, 1168, "", 1, 0 +wallFuel = scalar, F32, 1172, "", 1, 0 +; total TS size = 1176 +idleState = bits, S32, 1176, [0:2], "not important" +currentIdlePosition = scalar, F32, 1180 +baseIdlePosition = scalar, F32, 1184 +iacByTpsTaper = scalar, F32, 1188 +throttlePedalUpState = scalar, S32, 1192, "", 1, 0 +mightResetPid = bits, U32, 1196, [0:0] +shouldResetPid = bits, U32, 1196, [1:1] +wasResetPid = bits, U32, 1196, [2:2] +mustResetPid = bits, U32, 1196, [3:3] +isCranking = bits, U32, 1196, [4:4] +isIacTableForCoasting = bits, U32, 1196, [5:5] +notIdling = bits, U32, 1196, [6:6] +needReset = bits, U32, 1196, [7:7] +isInDeadZone = bits, U32, 1196, [8:8] +isBlipping = bits, U32, 1196, [9:9] +useClosedLoop = bits, U32, 1196, [10:10] +badTps = bits, U32, 1196, [11:11] +looksLikeRunning = bits, U32, 1196, [12:12] +looksLikeCoasting = bits, U32, 1196, [13:13] +looksLikeCrankToIdle = bits, U32, 1196, [14:14] +isVerboseIAC = bits, U32, 1196, [15:15] +isIdleCoasting = bits, U32, 1196, [16:16] +targetRpmByClt = scalar, S32, 1200, "", 1, 0 +targetRpmAcBump = scalar, S32, 1204, "", 1, 0 +iacByRpmTaper = scalar, F32, 1208 +luaAdd = scalar, F32, 1212 +; total TS size = 1216 +baseDwell = scalar, F32, 1216, "", 1, 0 +dwellVoltageCorrection = scalar, F32, 1220, "", 1, 0 +luaTimingAdd = scalar, F32, 1224, "", 1, 0 +luaTimingMult = scalar, F32, 1228, "", 1, 0 +; total TS size = 1232 +idlePosition = scalar, F32, 1232, "", 1, 0 +trim = scalar, F32, 1236, "", 1, 0 +luaAdjustment = scalar, F32, 1240, "", 1, 0 +etbFeedForward = scalar, F32, 1244 +etbIntegralError = scalar, F32, 1248, "", 1, 0 +etbCurrentTarget = scalar, F32, 1252, "%", 1, 0 +etbCurrentAdjustedTarget = scalar, F32, 1256, "%", 1, 0 +etbRevLimitActive = bits, U32, 1260, [0:0] +jamDetected = bits, U32, 1260, [1:1] +etbDutyRateOfChange = scalar, F32, 1264, "", 1, 0 +etbDutyAverage = scalar, F32, 1268, "", 1, 0 +etbTpsErrorCounter = scalar, U16, 1272, "", 1, 0 +etbPpsErrorCounter = scalar, U16, 1274, "", 1, 0 +etbErrorCode = scalar, S08, 1276, "", 1, 0 +jamTimer = scalar, U16, 1278, "sec", 0.01, 0 +; total TS size = 1280 +faultCode = scalar, U08, 1280, "", 1, 0 +heaterDuty = scalar, U08, 1281, "%", 1, 0 +pumpDuty = scalar, U08, 1282, "%", 1, 0 +tempC = scalar, U16, 1284, "C", 1, 0 +nernstVoltage = scalar, U16, 1286, "V", 0.001, 0 +esr = scalar, U16, 1288, "", 1, 0 +; total TS size = 1292 time = { timeNow } @@ -4750,6 +4754,7 @@ entry = mapVvt_MAP_AT_CYCLE_COUNT, "mapVvt_MAP_AT_CYCLE_COUNT", int, "%d" entry = mapVvt_map_peak, "mapVvt_map_peak", int, "%d" entry = currentEngineDecodedPhase, "Engine Phase", float, "%.3f" entry = triggerToothAngleError, "triggerToothAngleError", float, "%.3f" +entry = triggerIgnoredToothCount, "triggerIgnoredToothCount", int, "%d" entry = crankSynchronizationCounter, "Crank sync counter", int, "%d" entry = vvtSyncGapRatio, "vvtSyncGapRatio", float, "%.3f" entry = vvtCurrentPosition, "vvtCurrentPosition", float, "%.3f" @@ -4799,11 +4804,13 @@ entry = etbIntegralError, "etbIntegralError", float, "%.3f" entry = etbCurrentTarget, "etbCurrentTarget", float, "%.3f" entry = etbCurrentAdjustedTarget, "etbCurrentAdjustedTarget", float, "%.3f" entry = etbRevLimitActive, "etbRevLimitActive", int, "%d" +entry = jamDetected, "jamDetected", int, "%d" entry = etbDutyRateOfChange, "etbDutyRateOfChange", float, "%.3f" entry = etbDutyAverage, "etbDutyAverage", float, "%.3f" entry = etbTpsErrorCounter, "ETB TPS error counter", int, "%d" entry = etbPpsErrorCounter, "ETB pedal error counter", int, "%d" entry = etbErrorCode, "etbErrorCode", int, "%d" +entry = jamTimer, "ETB jam timer", float, "%.3f" entry = faultCode, "faultCode", int, "%d" entry = heaterDuty, "heaterDuty", int, "%d" entry = pumpDuty, "pumpDuty", int, "%d" @@ -5567,6 +5574,7 @@ dialog = trigger_centralDialog, "trigger_central" graphLine = currentEngineDecodedPhase liveGraph = trigger_central_4_Graph, "Graph", South graphLine = triggerToothAngleError + graphLine = triggerIgnoredToothCount dialog = trigger_stateDialog, "trigger_state" @@ -5637,6 +5645,7 @@ dialog = ignition_stateDialog, "ignition_state" indicatorPanel = electronic_throttleIndicatorPanel, 2 indicator = {etbRevLimitActive}, "etbRevLimitActive No", "etbRevLimitActive Yes" + indicator = {jamDetected}, "jamDetected No", "jamDetected Yes" dialog = electronic_throttleDialog, "electronic_throttle" panel = electronic_throttleIndicatorPanel @@ -5655,6 +5664,8 @@ dialog = electronic_throttleDialog, "electronic_throttle" graphLine = etbTpsErrorCounter graphLine = etbPpsErrorCounter graphLine = etbErrorCode + liveGraph = electronic_throttle_4_Graph, "Graph", South + graphLine = jamTimer dialog = wideband_stateDialog, "wideband_state" @@ -5844,6 +5855,7 @@ dialog = wideband_stateDialog, "wideband_state" field = "Do not print messages in case of sync error", silentTriggerError field = "Focus on inputs in engine sniffer", engineSnifferFocusOnInputs field = "Enable noise filtering", useNoiselessTriggerDecoder, {trigger_type == 8 || trigger_type == 9} + field = "Trigger Edge Filter", doNotFilterTriggerEdgeNoise dialog = triggerInputs, "Trigger Inputs" field = "#Cam is primary if you have cam sensor as part of trigger shape" diff --git a/firmware/tunerstudio/generated/rusefi_atlas.ini b/firmware/tunerstudio/generated/rusefi_atlas.ini index a7d3522abb..d90b1aa380 100644 --- a/firmware/tunerstudio/generated/rusefi_atlas.ini +++ b/firmware/tunerstudio/generated/rusefi_atlas.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2023.01.10.atlas.snap_43996" + signature = "rusEFI 2023.01.10.atlas.snap_47959" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI 2023.01.10.atlas.snap_43996" ; signature is expected to be 7 or more characters. + signature= "rusEFI 2023.01.10.atlas.snap_47959" ; 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 @@ -86,7 +86,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 19:59:48 UTC 2023 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 21:35:23 UTC 2023 pageSize = 22368 page = 1 @@ -126,7 +126,7 @@ useTLE8888_cranking_hack = bits, U32, 120, [17:17], "false", "true" kickStartCranking = bits, U32, 120, [18:18], "false", "true" useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [19:19], "false", "true" launchControlEnabled = bits, U32, 120, [20:20], "false", "true" -anotherUnusedHere444 = bits, U32, 120, [21:21], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 120, [21:21], "with filter", "without filter" antiLagEnabled = bits, U32, 120, [22:22], "false", "true" useRunningMathForCranking = bits, U32, 120, [23:23], "Fixed", "Fuel Map" displayLogicLevelsInEngineSniffer = bits, U32, 120, [24:24], "false", "true" @@ -1469,6 +1469,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 cj125isUrDivided = "Is your UR CJ125 output wired to MCU via resistor divider?\nLooks like 3v range should be enough, divider generally not needed." useCicPidForIdle = "Switch between Industrial and Cic PID implementation" useSeparateIdleTablesForCrankingTaper = "This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration)." + doNotFilterTriggerEdgeNoise = "Detect double trigger edges" useRunningMathForCranking = "For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table)." displayLogicLevelsInEngineSniffer = "Shall we display real life signal or just the part consumed by trigger decoder.\nApplies to both trigger and cam/vvt input.\n\nenable logic_level_trigger" enableMapEstimationTableFallback = "If enabled, the MAP estimate table will be used if the MAP sensor fails to estimate manifold pressure based on RPM and TPS." @@ -2201,7 +2202,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1288 + ochBlockSize = 1292 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -2848,74 +2849,77 @@ mapVvt_MAP_AT_CYCLE_COUNT = scalar, U08, 1128, "", 1, 0 mapVvt_map_peak = scalar, U08, 1129, "", 1, 0 currentEngineDecodedPhase = scalar, F32, 1132, "deg", 1, 0 triggerToothAngleError = scalar, F32, 1136, "deg", 1, 0 -; total TS size = 1140 -crankSynchronizationCounter = scalar, U32, 1140, "", 1, 0 -vvtSyncGapRatio = scalar, F32, 1144, "", 1, 0 -vvtCurrentPosition = scalar, F32, 1148, "", 1, 0 -triggerSyncGapRatio = scalar, F32, 1152, "", 1, 0 -triggerStateIndex = scalar, U08, 1156, "", 1, 0 -vvtCounter = scalar, U08, 1157, "", 1, 0 -camResyncCounter = scalar, U08, 1158, "", 1, 0 -vvtStateIndex = scalar, U08, 1159, "", 1, 0 -; total TS size = 1160 -m_hasSynchronizedPhase = bits, U32, 1160, [0:0] +triggerIgnoredToothCount = scalar, U08, 1140, "", 1, 0 +; total TS size = 1144 +crankSynchronizationCounter = scalar, U32, 1144, "", 1, 0 +vvtSyncGapRatio = scalar, F32, 1148, "", 1, 0 +vvtCurrentPosition = scalar, F32, 1152, "", 1, 0 +triggerSyncGapRatio = scalar, F32, 1156, "", 1, 0 +triggerStateIndex = scalar, U08, 1160, "", 1, 0 +vvtCounter = scalar, U08, 1161, "", 1, 0 +camResyncCounter = scalar, U08, 1162, "", 1, 0 +vvtStateIndex = scalar, U08, 1163, "", 1, 0 ; total TS size = 1164 -wallFuelCorrection = scalar, F32, 1164, "", 1, 0 -wallFuel = scalar, F32, 1168, "", 1, 0 -; total TS size = 1172 -idleState = bits, S32, 1172, [0:2], "not important" -currentIdlePosition = scalar, F32, 1176 -baseIdlePosition = scalar, F32, 1180 -iacByTpsTaper = scalar, F32, 1184 -throttlePedalUpState = scalar, S32, 1188, "", 1, 0 -mightResetPid = bits, U32, 1192, [0:0] -shouldResetPid = bits, U32, 1192, [1:1] -wasResetPid = bits, U32, 1192, [2:2] -mustResetPid = bits, U32, 1192, [3:3] -isCranking = bits, U32, 1192, [4:4] -isIacTableForCoasting = bits, U32, 1192, [5:5] -notIdling = bits, U32, 1192, [6:6] -needReset = bits, U32, 1192, [7:7] -isInDeadZone = bits, U32, 1192, [8:8] -isBlipping = bits, U32, 1192, [9:9] -useClosedLoop = bits, U32, 1192, [10:10] -badTps = bits, U32, 1192, [11:11] -looksLikeRunning = bits, U32, 1192, [12:12] -looksLikeCoasting = bits, U32, 1192, [13:13] -looksLikeCrankToIdle = bits, U32, 1192, [14:14] -isVerboseIAC = bits, U32, 1192, [15:15] -isIdleCoasting = bits, U32, 1192, [16:16] -targetRpmByClt = scalar, S32, 1196, "", 1, 0 -targetRpmAcBump = scalar, S32, 1200, "", 1, 0 -iacByRpmTaper = scalar, F32, 1204 -luaAdd = scalar, F32, 1208 -; total TS size = 1212 -baseDwell = scalar, F32, 1212, "", 1, 0 -dwellVoltageCorrection = scalar, F32, 1216, "", 1, 0 -luaTimingAdd = scalar, F32, 1220, "", 1, 0 -luaTimingMult = scalar, F32, 1224, "", 1, 0 -; total TS size = 1228 -idlePosition = scalar, F32, 1228, "", 1, 0 -trim = scalar, F32, 1232, "", 1, 0 -luaAdjustment = scalar, F32, 1236, "", 1, 0 -etbFeedForward = scalar, F32, 1240 -etbIntegralError = scalar, F32, 1244, "", 1, 0 -etbCurrentTarget = scalar, F32, 1248, "%", 1, 0 -etbCurrentAdjustedTarget = scalar, F32, 1252, "%", 1, 0 -etbRevLimitActive = bits, U32, 1256, [0:0] -etbDutyRateOfChange = scalar, F32, 1260, "", 1, 0 -etbDutyAverage = scalar, F32, 1264, "", 1, 0 -etbTpsErrorCounter = scalar, U16, 1268, "", 1, 0 -etbPpsErrorCounter = scalar, U16, 1270, "", 1, 0 -etbErrorCode = scalar, S08, 1272, "", 1, 0 -; total TS size = 1276 -faultCode = scalar, U08, 1276, "", 1, 0 -heaterDuty = scalar, U08, 1277, "%", 1, 0 -pumpDuty = scalar, U08, 1278, "%", 1, 0 -tempC = scalar, U16, 1280, "C", 1, 0 -nernstVoltage = scalar, U16, 1282, "V", 0.001, 0 -esr = scalar, U16, 1284, "", 1, 0 -; total TS size = 1288 +m_hasSynchronizedPhase = bits, U32, 1164, [0:0] +; total TS size = 1168 +wallFuelCorrection = scalar, F32, 1168, "", 1, 0 +wallFuel = scalar, F32, 1172, "", 1, 0 +; total TS size = 1176 +idleState = bits, S32, 1176, [0:2], "not important" +currentIdlePosition = scalar, F32, 1180 +baseIdlePosition = scalar, F32, 1184 +iacByTpsTaper = scalar, F32, 1188 +throttlePedalUpState = scalar, S32, 1192, "", 1, 0 +mightResetPid = bits, U32, 1196, [0:0] +shouldResetPid = bits, U32, 1196, [1:1] +wasResetPid = bits, U32, 1196, [2:2] +mustResetPid = bits, U32, 1196, [3:3] +isCranking = bits, U32, 1196, [4:4] +isIacTableForCoasting = bits, U32, 1196, [5:5] +notIdling = bits, U32, 1196, [6:6] +needReset = bits, U32, 1196, [7:7] +isInDeadZone = bits, U32, 1196, [8:8] +isBlipping = bits, U32, 1196, [9:9] +useClosedLoop = bits, U32, 1196, [10:10] +badTps = bits, U32, 1196, [11:11] +looksLikeRunning = bits, U32, 1196, [12:12] +looksLikeCoasting = bits, U32, 1196, [13:13] +looksLikeCrankToIdle = bits, U32, 1196, [14:14] +isVerboseIAC = bits, U32, 1196, [15:15] +isIdleCoasting = bits, U32, 1196, [16:16] +targetRpmByClt = scalar, S32, 1200, "", 1, 0 +targetRpmAcBump = scalar, S32, 1204, "", 1, 0 +iacByRpmTaper = scalar, F32, 1208 +luaAdd = scalar, F32, 1212 +; total TS size = 1216 +baseDwell = scalar, F32, 1216, "", 1, 0 +dwellVoltageCorrection = scalar, F32, 1220, "", 1, 0 +luaTimingAdd = scalar, F32, 1224, "", 1, 0 +luaTimingMult = scalar, F32, 1228, "", 1, 0 +; total TS size = 1232 +idlePosition = scalar, F32, 1232, "", 1, 0 +trim = scalar, F32, 1236, "", 1, 0 +luaAdjustment = scalar, F32, 1240, "", 1, 0 +etbFeedForward = scalar, F32, 1244 +etbIntegralError = scalar, F32, 1248, "", 1, 0 +etbCurrentTarget = scalar, F32, 1252, "%", 1, 0 +etbCurrentAdjustedTarget = scalar, F32, 1256, "%", 1, 0 +etbRevLimitActive = bits, U32, 1260, [0:0] +jamDetected = bits, U32, 1260, [1:1] +etbDutyRateOfChange = scalar, F32, 1264, "", 1, 0 +etbDutyAverage = scalar, F32, 1268, "", 1, 0 +etbTpsErrorCounter = scalar, U16, 1272, "", 1, 0 +etbPpsErrorCounter = scalar, U16, 1274, "", 1, 0 +etbErrorCode = scalar, S08, 1276, "", 1, 0 +jamTimer = scalar, U16, 1278, "sec", 0.01, 0 +; total TS size = 1280 +faultCode = scalar, U08, 1280, "", 1, 0 +heaterDuty = scalar, U08, 1281, "%", 1, 0 +pumpDuty = scalar, U08, 1282, "%", 1, 0 +tempC = scalar, U16, 1284, "C", 1, 0 +nernstVoltage = scalar, U16, 1286, "V", 0.001, 0 +esr = scalar, U16, 1288, "", 1, 0 +; total TS size = 1292 time = { timeNow } @@ -4750,6 +4754,7 @@ entry = mapVvt_MAP_AT_CYCLE_COUNT, "mapVvt_MAP_AT_CYCLE_COUNT", int, "%d" entry = mapVvt_map_peak, "mapVvt_map_peak", int, "%d" entry = currentEngineDecodedPhase, "Engine Phase", float, "%.3f" entry = triggerToothAngleError, "triggerToothAngleError", float, "%.3f" +entry = triggerIgnoredToothCount, "triggerIgnoredToothCount", int, "%d" entry = crankSynchronizationCounter, "Crank sync counter", int, "%d" entry = vvtSyncGapRatio, "vvtSyncGapRatio", float, "%.3f" entry = vvtCurrentPosition, "vvtCurrentPosition", float, "%.3f" @@ -4799,11 +4804,13 @@ entry = etbIntegralError, "etbIntegralError", float, "%.3f" entry = etbCurrentTarget, "etbCurrentTarget", float, "%.3f" entry = etbCurrentAdjustedTarget, "etbCurrentAdjustedTarget", float, "%.3f" entry = etbRevLimitActive, "etbRevLimitActive", int, "%d" +entry = jamDetected, "jamDetected", int, "%d" entry = etbDutyRateOfChange, "etbDutyRateOfChange", float, "%.3f" entry = etbDutyAverage, "etbDutyAverage", float, "%.3f" entry = etbTpsErrorCounter, "ETB TPS error counter", int, "%d" entry = etbPpsErrorCounter, "ETB pedal error counter", int, "%d" entry = etbErrorCode, "etbErrorCode", int, "%d" +entry = jamTimer, "ETB jam timer", float, "%.3f" entry = faultCode, "faultCode", int, "%d" entry = heaterDuty, "heaterDuty", int, "%d" entry = pumpDuty, "pumpDuty", int, "%d" @@ -5570,6 +5577,7 @@ dialog = trigger_centralDialog, "trigger_central" graphLine = currentEngineDecodedPhase liveGraph = trigger_central_4_Graph, "Graph", South graphLine = triggerToothAngleError + graphLine = triggerIgnoredToothCount dialog = trigger_stateDialog, "trigger_state" @@ -5640,6 +5648,7 @@ dialog = ignition_stateDialog, "ignition_state" indicatorPanel = electronic_throttleIndicatorPanel, 2 indicator = {etbRevLimitActive}, "etbRevLimitActive No", "etbRevLimitActive Yes" + indicator = {jamDetected}, "jamDetected No", "jamDetected Yes" dialog = electronic_throttleDialog, "electronic_throttle" panel = electronic_throttleIndicatorPanel @@ -5658,6 +5667,8 @@ dialog = electronic_throttleDialog, "electronic_throttle" graphLine = etbTpsErrorCounter graphLine = etbPpsErrorCounter graphLine = etbErrorCode + liveGraph = electronic_throttle_4_Graph, "Graph", South + graphLine = jamTimer dialog = wideband_stateDialog, "wideband_state" @@ -5847,6 +5858,7 @@ dialog = wideband_stateDialog, "wideband_state" field = "Do not print messages in case of sync error", silentTriggerError field = "Focus on inputs in engine sniffer", engineSnifferFocusOnInputs field = "Enable noise filtering", useNoiselessTriggerDecoder, {trigger_type == 8 || trigger_type == 9} + field = "Trigger Edge Filter", doNotFilterTriggerEdgeNoise dialog = triggerInputs, "Trigger Inputs" field = "#Cam is primary if you have cam sensor as part of trigger shape" diff --git a/firmware/tunerstudio/generated/rusefi_core8.ini b/firmware/tunerstudio/generated/rusefi_core8.ini index dc32ed2057..054860d5ac 100644 --- a/firmware/tunerstudio/generated/rusefi_core8.ini +++ b/firmware/tunerstudio/generated/rusefi_core8.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2023.01.10.core8.snap_3842" + signature = "rusEFI 2023.01.10.core8.snap_8073" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI 2023.01.10.core8.snap_3842" ; signature is expected to be 7 or more characters. + signature= "rusEFI 2023.01.10.core8.snap_8073" ; 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 @@ -86,7 +86,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 19:59:33 UTC 2023 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 21:35:09 UTC 2023 pageSize = 22368 page = 1 @@ -126,7 +126,7 @@ useTLE8888_cranking_hack = bits, U32, 120, [17:17], "false", "true" kickStartCranking = bits, U32, 120, [18:18], "false", "true" useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [19:19], "false", "true" launchControlEnabled = bits, U32, 120, [20:20], "false", "true" -anotherUnusedHere444 = bits, U32, 120, [21:21], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 120, [21:21], "with filter", "without filter" antiLagEnabled = bits, U32, 120, [22:22], "false", "true" useRunningMathForCranking = bits, U32, 120, [23:23], "Fixed", "Fuel Map" displayLogicLevelsInEngineSniffer = bits, U32, 120, [24:24], "false", "true" @@ -1469,6 +1469,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 cj125isUrDivided = "Is your UR CJ125 output wired to MCU via resistor divider?\nLooks like 3v range should be enough, divider generally not needed." useCicPidForIdle = "Switch between Industrial and Cic PID implementation" useSeparateIdleTablesForCrankingTaper = "This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration)." + doNotFilterTriggerEdgeNoise = "Detect double trigger edges" useRunningMathForCranking = "For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table)." displayLogicLevelsInEngineSniffer = "Shall we display real life signal or just the part consumed by trigger decoder.\nApplies to both trigger and cam/vvt input.\n\nenable logic_level_trigger" enableMapEstimationTableFallback = "If enabled, the MAP estimate table will be used if the MAP sensor fails to estimate manifold pressure based on RPM and TPS." @@ -2201,7 +2202,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1288 + ochBlockSize = 1292 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -2848,74 +2849,77 @@ mapVvt_MAP_AT_CYCLE_COUNT = scalar, U08, 1128, "", 1, 0 mapVvt_map_peak = scalar, U08, 1129, "", 1, 0 currentEngineDecodedPhase = scalar, F32, 1132, "deg", 1, 0 triggerToothAngleError = scalar, F32, 1136, "deg", 1, 0 -; total TS size = 1140 -crankSynchronizationCounter = scalar, U32, 1140, "", 1, 0 -vvtSyncGapRatio = scalar, F32, 1144, "", 1, 0 -vvtCurrentPosition = scalar, F32, 1148, "", 1, 0 -triggerSyncGapRatio = scalar, F32, 1152, "", 1, 0 -triggerStateIndex = scalar, U08, 1156, "", 1, 0 -vvtCounter = scalar, U08, 1157, "", 1, 0 -camResyncCounter = scalar, U08, 1158, "", 1, 0 -vvtStateIndex = scalar, U08, 1159, "", 1, 0 -; total TS size = 1160 -m_hasSynchronizedPhase = bits, U32, 1160, [0:0] +triggerIgnoredToothCount = scalar, U08, 1140, "", 1, 0 +; total TS size = 1144 +crankSynchronizationCounter = scalar, U32, 1144, "", 1, 0 +vvtSyncGapRatio = scalar, F32, 1148, "", 1, 0 +vvtCurrentPosition = scalar, F32, 1152, "", 1, 0 +triggerSyncGapRatio = scalar, F32, 1156, "", 1, 0 +triggerStateIndex = scalar, U08, 1160, "", 1, 0 +vvtCounter = scalar, U08, 1161, "", 1, 0 +camResyncCounter = scalar, U08, 1162, "", 1, 0 +vvtStateIndex = scalar, U08, 1163, "", 1, 0 ; total TS size = 1164 -wallFuelCorrection = scalar, F32, 1164, "", 1, 0 -wallFuel = scalar, F32, 1168, "", 1, 0 -; total TS size = 1172 -idleState = bits, S32, 1172, [0:2], "not important" -currentIdlePosition = scalar, F32, 1176 -baseIdlePosition = scalar, F32, 1180 -iacByTpsTaper = scalar, F32, 1184 -throttlePedalUpState = scalar, S32, 1188, "", 1, 0 -mightResetPid = bits, U32, 1192, [0:0] -shouldResetPid = bits, U32, 1192, [1:1] -wasResetPid = bits, U32, 1192, [2:2] -mustResetPid = bits, U32, 1192, [3:3] -isCranking = bits, U32, 1192, [4:4] -isIacTableForCoasting = bits, U32, 1192, [5:5] -notIdling = bits, U32, 1192, [6:6] -needReset = bits, U32, 1192, [7:7] -isInDeadZone = bits, U32, 1192, [8:8] -isBlipping = bits, U32, 1192, [9:9] -useClosedLoop = bits, U32, 1192, [10:10] -badTps = bits, U32, 1192, [11:11] -looksLikeRunning = bits, U32, 1192, [12:12] -looksLikeCoasting = bits, U32, 1192, [13:13] -looksLikeCrankToIdle = bits, U32, 1192, [14:14] -isVerboseIAC = bits, U32, 1192, [15:15] -isIdleCoasting = bits, U32, 1192, [16:16] -targetRpmByClt = scalar, S32, 1196, "", 1, 0 -targetRpmAcBump = scalar, S32, 1200, "", 1, 0 -iacByRpmTaper = scalar, F32, 1204 -luaAdd = scalar, F32, 1208 -; total TS size = 1212 -baseDwell = scalar, F32, 1212, "", 1, 0 -dwellVoltageCorrection = scalar, F32, 1216, "", 1, 0 -luaTimingAdd = scalar, F32, 1220, "", 1, 0 -luaTimingMult = scalar, F32, 1224, "", 1, 0 -; total TS size = 1228 -idlePosition = scalar, F32, 1228, "", 1, 0 -trim = scalar, F32, 1232, "", 1, 0 -luaAdjustment = scalar, F32, 1236, "", 1, 0 -etbFeedForward = scalar, F32, 1240 -etbIntegralError = scalar, F32, 1244, "", 1, 0 -etbCurrentTarget = scalar, F32, 1248, "%", 1, 0 -etbCurrentAdjustedTarget = scalar, F32, 1252, "%", 1, 0 -etbRevLimitActive = bits, U32, 1256, [0:0] -etbDutyRateOfChange = scalar, F32, 1260, "", 1, 0 -etbDutyAverage = scalar, F32, 1264, "", 1, 0 -etbTpsErrorCounter = scalar, U16, 1268, "", 1, 0 -etbPpsErrorCounter = scalar, U16, 1270, "", 1, 0 -etbErrorCode = scalar, S08, 1272, "", 1, 0 -; total TS size = 1276 -faultCode = scalar, U08, 1276, "", 1, 0 -heaterDuty = scalar, U08, 1277, "%", 1, 0 -pumpDuty = scalar, U08, 1278, "%", 1, 0 -tempC = scalar, U16, 1280, "C", 1, 0 -nernstVoltage = scalar, U16, 1282, "V", 0.001, 0 -esr = scalar, U16, 1284, "", 1, 0 -; total TS size = 1288 +m_hasSynchronizedPhase = bits, U32, 1164, [0:0] +; total TS size = 1168 +wallFuelCorrection = scalar, F32, 1168, "", 1, 0 +wallFuel = scalar, F32, 1172, "", 1, 0 +; total TS size = 1176 +idleState = bits, S32, 1176, [0:2], "not important" +currentIdlePosition = scalar, F32, 1180 +baseIdlePosition = scalar, F32, 1184 +iacByTpsTaper = scalar, F32, 1188 +throttlePedalUpState = scalar, S32, 1192, "", 1, 0 +mightResetPid = bits, U32, 1196, [0:0] +shouldResetPid = bits, U32, 1196, [1:1] +wasResetPid = bits, U32, 1196, [2:2] +mustResetPid = bits, U32, 1196, [3:3] +isCranking = bits, U32, 1196, [4:4] +isIacTableForCoasting = bits, U32, 1196, [5:5] +notIdling = bits, U32, 1196, [6:6] +needReset = bits, U32, 1196, [7:7] +isInDeadZone = bits, U32, 1196, [8:8] +isBlipping = bits, U32, 1196, [9:9] +useClosedLoop = bits, U32, 1196, [10:10] +badTps = bits, U32, 1196, [11:11] +looksLikeRunning = bits, U32, 1196, [12:12] +looksLikeCoasting = bits, U32, 1196, [13:13] +looksLikeCrankToIdle = bits, U32, 1196, [14:14] +isVerboseIAC = bits, U32, 1196, [15:15] +isIdleCoasting = bits, U32, 1196, [16:16] +targetRpmByClt = scalar, S32, 1200, "", 1, 0 +targetRpmAcBump = scalar, S32, 1204, "", 1, 0 +iacByRpmTaper = scalar, F32, 1208 +luaAdd = scalar, F32, 1212 +; total TS size = 1216 +baseDwell = scalar, F32, 1216, "", 1, 0 +dwellVoltageCorrection = scalar, F32, 1220, "", 1, 0 +luaTimingAdd = scalar, F32, 1224, "", 1, 0 +luaTimingMult = scalar, F32, 1228, "", 1, 0 +; total TS size = 1232 +idlePosition = scalar, F32, 1232, "", 1, 0 +trim = scalar, F32, 1236, "", 1, 0 +luaAdjustment = scalar, F32, 1240, "", 1, 0 +etbFeedForward = scalar, F32, 1244 +etbIntegralError = scalar, F32, 1248, "", 1, 0 +etbCurrentTarget = scalar, F32, 1252, "%", 1, 0 +etbCurrentAdjustedTarget = scalar, F32, 1256, "%", 1, 0 +etbRevLimitActive = bits, U32, 1260, [0:0] +jamDetected = bits, U32, 1260, [1:1] +etbDutyRateOfChange = scalar, F32, 1264, "", 1, 0 +etbDutyAverage = scalar, F32, 1268, "", 1, 0 +etbTpsErrorCounter = scalar, U16, 1272, "", 1, 0 +etbPpsErrorCounter = scalar, U16, 1274, "", 1, 0 +etbErrorCode = scalar, S08, 1276, "", 1, 0 +jamTimer = scalar, U16, 1278, "sec", 0.01, 0 +; total TS size = 1280 +faultCode = scalar, U08, 1280, "", 1, 0 +heaterDuty = scalar, U08, 1281, "%", 1, 0 +pumpDuty = scalar, U08, 1282, "%", 1, 0 +tempC = scalar, U16, 1284, "C", 1, 0 +nernstVoltage = scalar, U16, 1286, "V", 0.001, 0 +esr = scalar, U16, 1288, "", 1, 0 +; total TS size = 1292 time = { timeNow } @@ -4750,6 +4754,7 @@ entry = mapVvt_MAP_AT_CYCLE_COUNT, "mapVvt_MAP_AT_CYCLE_COUNT", int, "%d" entry = mapVvt_map_peak, "mapVvt_map_peak", int, "%d" entry = currentEngineDecodedPhase, "Engine Phase", float, "%.3f" entry = triggerToothAngleError, "triggerToothAngleError", float, "%.3f" +entry = triggerIgnoredToothCount, "triggerIgnoredToothCount", int, "%d" entry = crankSynchronizationCounter, "Crank sync counter", int, "%d" entry = vvtSyncGapRatio, "vvtSyncGapRatio", float, "%.3f" entry = vvtCurrentPosition, "vvtCurrentPosition", float, "%.3f" @@ -4799,11 +4804,13 @@ entry = etbIntegralError, "etbIntegralError", float, "%.3f" entry = etbCurrentTarget, "etbCurrentTarget", float, "%.3f" entry = etbCurrentAdjustedTarget, "etbCurrentAdjustedTarget", float, "%.3f" entry = etbRevLimitActive, "etbRevLimitActive", int, "%d" +entry = jamDetected, "jamDetected", int, "%d" entry = etbDutyRateOfChange, "etbDutyRateOfChange", float, "%.3f" entry = etbDutyAverage, "etbDutyAverage", float, "%.3f" entry = etbTpsErrorCounter, "ETB TPS error counter", int, "%d" entry = etbPpsErrorCounter, "ETB pedal error counter", int, "%d" entry = etbErrorCode, "etbErrorCode", int, "%d" +entry = jamTimer, "ETB jam timer", float, "%.3f" entry = faultCode, "faultCode", int, "%d" entry = heaterDuty, "heaterDuty", int, "%d" entry = pumpDuty, "pumpDuty", int, "%d" @@ -5568,6 +5575,7 @@ dialog = trigger_centralDialog, "trigger_central" graphLine = currentEngineDecodedPhase liveGraph = trigger_central_4_Graph, "Graph", South graphLine = triggerToothAngleError + graphLine = triggerIgnoredToothCount dialog = trigger_stateDialog, "trigger_state" @@ -5638,6 +5646,7 @@ dialog = ignition_stateDialog, "ignition_state" indicatorPanel = electronic_throttleIndicatorPanel, 2 indicator = {etbRevLimitActive}, "etbRevLimitActive No", "etbRevLimitActive Yes" + indicator = {jamDetected}, "jamDetected No", "jamDetected Yes" dialog = electronic_throttleDialog, "electronic_throttle" panel = electronic_throttleIndicatorPanel @@ -5656,6 +5665,8 @@ dialog = electronic_throttleDialog, "electronic_throttle" graphLine = etbTpsErrorCounter graphLine = etbPpsErrorCounter graphLine = etbErrorCode + liveGraph = electronic_throttle_4_Graph, "Graph", South + graphLine = jamTimer dialog = wideband_stateDialog, "wideband_state" @@ -5845,6 +5856,7 @@ dialog = wideband_stateDialog, "wideband_state" field = "Do not print messages in case of sync error", silentTriggerError field = "Focus on inputs in engine sniffer", engineSnifferFocusOnInputs field = "Enable noise filtering", useNoiselessTriggerDecoder, {trigger_type == 8 || trigger_type == 9} + field = "Trigger Edge Filter", doNotFilterTriggerEdgeNoise dialog = triggerInputs, "Trigger Inputs" field = "#Cam is primary if you have cam sensor as part of trigger shape" diff --git a/firmware/tunerstudio/generated/rusefi_cypress.ini b/firmware/tunerstudio/generated/rusefi_cypress.ini index 7f87aff175..30e204797a 100644 --- a/firmware/tunerstudio/generated/rusefi_cypress.ini +++ b/firmware/tunerstudio/generated/rusefi_cypress.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2023.01.10.cypress.snap_24315" + signature = "rusEFI 2023.01.10.cypress.snap_20080" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI 2023.01.10.cypress.snap_24315" ; signature is expected to be 7 or more characters. + signature= "rusEFI 2023.01.10.cypress.snap_20080" ; 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 @@ -86,7 +86,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on hellen_cypress_gen_config.bat integration/rusefi_config.txt Tue Jan 10 19:59:10 UTC 2023 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on hellen_cypress_gen_config.bat integration/rusefi_config.txt Tue Jan 10 21:34:46 UTC 2023 pageSize = 22368 page = 1 @@ -126,7 +126,7 @@ useTLE8888_cranking_hack = bits, U32, 120, [17:17], "false", "true" kickStartCranking = bits, U32, 120, [18:18], "false", "true" useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [19:19], "false", "true" launchControlEnabled = bits, U32, 120, [20:20], "false", "true" -anotherUnusedHere444 = bits, U32, 120, [21:21], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 120, [21:21], "with filter", "without filter" antiLagEnabled = bits, U32, 120, [22:22], "false", "true" useRunningMathForCranking = bits, U32, 120, [23:23], "Fixed", "Fuel Map" displayLogicLevelsInEngineSniffer = bits, U32, 120, [24:24], "false", "true" @@ -1469,6 +1469,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 cj125isUrDivided = "Is your UR CJ125 output wired to MCU via resistor divider?\nLooks like 3v range should be enough, divider generally not needed." useCicPidForIdle = "Switch between Industrial and Cic PID implementation" useSeparateIdleTablesForCrankingTaper = "This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration)." + doNotFilterTriggerEdgeNoise = "Detect double trigger edges" useRunningMathForCranking = "For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table)." displayLogicLevelsInEngineSniffer = "Shall we display real life signal or just the part consumed by trigger decoder.\nApplies to both trigger and cam/vvt input.\n\nenable logic_level_trigger" enableMapEstimationTableFallback = "If enabled, the MAP estimate table will be used if the MAP sensor fails to estimate manifold pressure based on RPM and TPS." @@ -2201,7 +2202,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1288 + ochBlockSize = 1292 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -2848,74 +2849,77 @@ mapVvt_MAP_AT_CYCLE_COUNT = scalar, U08, 1128, "", 1, 0 mapVvt_map_peak = scalar, U08, 1129, "", 1, 0 currentEngineDecodedPhase = scalar, F32, 1132, "deg", 1, 0 triggerToothAngleError = scalar, F32, 1136, "deg", 1, 0 -; total TS size = 1140 -crankSynchronizationCounter = scalar, U32, 1140, "", 1, 0 -vvtSyncGapRatio = scalar, F32, 1144, "", 1, 0 -vvtCurrentPosition = scalar, F32, 1148, "", 1, 0 -triggerSyncGapRatio = scalar, F32, 1152, "", 1, 0 -triggerStateIndex = scalar, U08, 1156, "", 1, 0 -vvtCounter = scalar, U08, 1157, "", 1, 0 -camResyncCounter = scalar, U08, 1158, "", 1, 0 -vvtStateIndex = scalar, U08, 1159, "", 1, 0 -; total TS size = 1160 -m_hasSynchronizedPhase = bits, U32, 1160, [0:0] +triggerIgnoredToothCount = scalar, U08, 1140, "", 1, 0 +; total TS size = 1144 +crankSynchronizationCounter = scalar, U32, 1144, "", 1, 0 +vvtSyncGapRatio = scalar, F32, 1148, "", 1, 0 +vvtCurrentPosition = scalar, F32, 1152, "", 1, 0 +triggerSyncGapRatio = scalar, F32, 1156, "", 1, 0 +triggerStateIndex = scalar, U08, 1160, "", 1, 0 +vvtCounter = scalar, U08, 1161, "", 1, 0 +camResyncCounter = scalar, U08, 1162, "", 1, 0 +vvtStateIndex = scalar, U08, 1163, "", 1, 0 ; total TS size = 1164 -wallFuelCorrection = scalar, F32, 1164, "", 1, 0 -wallFuel = scalar, F32, 1168, "", 1, 0 -; total TS size = 1172 -idleState = bits, S32, 1172, [0:2], "not important" -currentIdlePosition = scalar, F32, 1176 -baseIdlePosition = scalar, F32, 1180 -iacByTpsTaper = scalar, F32, 1184 -throttlePedalUpState = scalar, S32, 1188, "", 1, 0 -mightResetPid = bits, U32, 1192, [0:0] -shouldResetPid = bits, U32, 1192, [1:1] -wasResetPid = bits, U32, 1192, [2:2] -mustResetPid = bits, U32, 1192, [3:3] -isCranking = bits, U32, 1192, [4:4] -isIacTableForCoasting = bits, U32, 1192, [5:5] -notIdling = bits, U32, 1192, [6:6] -needReset = bits, U32, 1192, [7:7] -isInDeadZone = bits, U32, 1192, [8:8] -isBlipping = bits, U32, 1192, [9:9] -useClosedLoop = bits, U32, 1192, [10:10] -badTps = bits, U32, 1192, [11:11] -looksLikeRunning = bits, U32, 1192, [12:12] -looksLikeCoasting = bits, U32, 1192, [13:13] -looksLikeCrankToIdle = bits, U32, 1192, [14:14] -isVerboseIAC = bits, U32, 1192, [15:15] -isIdleCoasting = bits, U32, 1192, [16:16] -targetRpmByClt = scalar, S32, 1196, "", 1, 0 -targetRpmAcBump = scalar, S32, 1200, "", 1, 0 -iacByRpmTaper = scalar, F32, 1204 -luaAdd = scalar, F32, 1208 -; total TS size = 1212 -baseDwell = scalar, F32, 1212, "", 1, 0 -dwellVoltageCorrection = scalar, F32, 1216, "", 1, 0 -luaTimingAdd = scalar, F32, 1220, "", 1, 0 -luaTimingMult = scalar, F32, 1224, "", 1, 0 -; total TS size = 1228 -idlePosition = scalar, F32, 1228, "", 1, 0 -trim = scalar, F32, 1232, "", 1, 0 -luaAdjustment = scalar, F32, 1236, "", 1, 0 -etbFeedForward = scalar, F32, 1240 -etbIntegralError = scalar, F32, 1244, "", 1, 0 -etbCurrentTarget = scalar, F32, 1248, "%", 1, 0 -etbCurrentAdjustedTarget = scalar, F32, 1252, "%", 1, 0 -etbRevLimitActive = bits, U32, 1256, [0:0] -etbDutyRateOfChange = scalar, F32, 1260, "", 1, 0 -etbDutyAverage = scalar, F32, 1264, "", 1, 0 -etbTpsErrorCounter = scalar, U16, 1268, "", 1, 0 -etbPpsErrorCounter = scalar, U16, 1270, "", 1, 0 -etbErrorCode = scalar, S08, 1272, "", 1, 0 -; total TS size = 1276 -faultCode = scalar, U08, 1276, "", 1, 0 -heaterDuty = scalar, U08, 1277, "%", 1, 0 -pumpDuty = scalar, U08, 1278, "%", 1, 0 -tempC = scalar, U16, 1280, "C", 1, 0 -nernstVoltage = scalar, U16, 1282, "V", 0.001, 0 -esr = scalar, U16, 1284, "", 1, 0 -; total TS size = 1288 +m_hasSynchronizedPhase = bits, U32, 1164, [0:0] +; total TS size = 1168 +wallFuelCorrection = scalar, F32, 1168, "", 1, 0 +wallFuel = scalar, F32, 1172, "", 1, 0 +; total TS size = 1176 +idleState = bits, S32, 1176, [0:2], "not important" +currentIdlePosition = scalar, F32, 1180 +baseIdlePosition = scalar, F32, 1184 +iacByTpsTaper = scalar, F32, 1188 +throttlePedalUpState = scalar, S32, 1192, "", 1, 0 +mightResetPid = bits, U32, 1196, [0:0] +shouldResetPid = bits, U32, 1196, [1:1] +wasResetPid = bits, U32, 1196, [2:2] +mustResetPid = bits, U32, 1196, [3:3] +isCranking = bits, U32, 1196, [4:4] +isIacTableForCoasting = bits, U32, 1196, [5:5] +notIdling = bits, U32, 1196, [6:6] +needReset = bits, U32, 1196, [7:7] +isInDeadZone = bits, U32, 1196, [8:8] +isBlipping = bits, U32, 1196, [9:9] +useClosedLoop = bits, U32, 1196, [10:10] +badTps = bits, U32, 1196, [11:11] +looksLikeRunning = bits, U32, 1196, [12:12] +looksLikeCoasting = bits, U32, 1196, [13:13] +looksLikeCrankToIdle = bits, U32, 1196, [14:14] +isVerboseIAC = bits, U32, 1196, [15:15] +isIdleCoasting = bits, U32, 1196, [16:16] +targetRpmByClt = scalar, S32, 1200, "", 1, 0 +targetRpmAcBump = scalar, S32, 1204, "", 1, 0 +iacByRpmTaper = scalar, F32, 1208 +luaAdd = scalar, F32, 1212 +; total TS size = 1216 +baseDwell = scalar, F32, 1216, "", 1, 0 +dwellVoltageCorrection = scalar, F32, 1220, "", 1, 0 +luaTimingAdd = scalar, F32, 1224, "", 1, 0 +luaTimingMult = scalar, F32, 1228, "", 1, 0 +; total TS size = 1232 +idlePosition = scalar, F32, 1232, "", 1, 0 +trim = scalar, F32, 1236, "", 1, 0 +luaAdjustment = scalar, F32, 1240, "", 1, 0 +etbFeedForward = scalar, F32, 1244 +etbIntegralError = scalar, F32, 1248, "", 1, 0 +etbCurrentTarget = scalar, F32, 1252, "%", 1, 0 +etbCurrentAdjustedTarget = scalar, F32, 1256, "%", 1, 0 +etbRevLimitActive = bits, U32, 1260, [0:0] +jamDetected = bits, U32, 1260, [1:1] +etbDutyRateOfChange = scalar, F32, 1264, "", 1, 0 +etbDutyAverage = scalar, F32, 1268, "", 1, 0 +etbTpsErrorCounter = scalar, U16, 1272, "", 1, 0 +etbPpsErrorCounter = scalar, U16, 1274, "", 1, 0 +etbErrorCode = scalar, S08, 1276, "", 1, 0 +jamTimer = scalar, U16, 1278, "sec", 0.01, 0 +; total TS size = 1280 +faultCode = scalar, U08, 1280, "", 1, 0 +heaterDuty = scalar, U08, 1281, "%", 1, 0 +pumpDuty = scalar, U08, 1282, "%", 1, 0 +tempC = scalar, U16, 1284, "C", 1, 0 +nernstVoltage = scalar, U16, 1286, "V", 0.001, 0 +esr = scalar, U16, 1288, "", 1, 0 +; total TS size = 1292 time = { timeNow } @@ -4750,6 +4754,7 @@ entry = mapVvt_MAP_AT_CYCLE_COUNT, "mapVvt_MAP_AT_CYCLE_COUNT", int, "%d" entry = mapVvt_map_peak, "mapVvt_map_peak", int, "%d" entry = currentEngineDecodedPhase, "Engine Phase", float, "%.3f" entry = triggerToothAngleError, "triggerToothAngleError", float, "%.3f" +entry = triggerIgnoredToothCount, "triggerIgnoredToothCount", int, "%d" entry = crankSynchronizationCounter, "Crank sync counter", int, "%d" entry = vvtSyncGapRatio, "vvtSyncGapRatio", float, "%.3f" entry = vvtCurrentPosition, "vvtCurrentPosition", float, "%.3f" @@ -4799,11 +4804,13 @@ entry = etbIntegralError, "etbIntegralError", float, "%.3f" entry = etbCurrentTarget, "etbCurrentTarget", float, "%.3f" entry = etbCurrentAdjustedTarget, "etbCurrentAdjustedTarget", float, "%.3f" entry = etbRevLimitActive, "etbRevLimitActive", int, "%d" +entry = jamDetected, "jamDetected", int, "%d" entry = etbDutyRateOfChange, "etbDutyRateOfChange", float, "%.3f" entry = etbDutyAverage, "etbDutyAverage", float, "%.3f" entry = etbTpsErrorCounter, "ETB TPS error counter", int, "%d" entry = etbPpsErrorCounter, "ETB pedal error counter", int, "%d" entry = etbErrorCode, "etbErrorCode", int, "%d" +entry = jamTimer, "ETB jam timer", float, "%.3f" entry = faultCode, "faultCode", int, "%d" entry = heaterDuty, "heaterDuty", int, "%d" entry = pumpDuty, "pumpDuty", int, "%d" @@ -5570,6 +5577,7 @@ dialog = trigger_centralDialog, "trigger_central" graphLine = currentEngineDecodedPhase liveGraph = trigger_central_4_Graph, "Graph", South graphLine = triggerToothAngleError + graphLine = triggerIgnoredToothCount dialog = trigger_stateDialog, "trigger_state" @@ -5640,6 +5648,7 @@ dialog = ignition_stateDialog, "ignition_state" indicatorPanel = electronic_throttleIndicatorPanel, 2 indicator = {etbRevLimitActive}, "etbRevLimitActive No", "etbRevLimitActive Yes" + indicator = {jamDetected}, "jamDetected No", "jamDetected Yes" dialog = electronic_throttleDialog, "electronic_throttle" panel = electronic_throttleIndicatorPanel @@ -5658,6 +5667,8 @@ dialog = electronic_throttleDialog, "electronic_throttle" graphLine = etbTpsErrorCounter graphLine = etbPpsErrorCounter graphLine = etbErrorCode + liveGraph = electronic_throttle_4_Graph, "Graph", South + graphLine = jamTimer dialog = wideband_stateDialog, "wideband_state" @@ -5847,6 +5858,7 @@ dialog = wideband_stateDialog, "wideband_state" field = "Do not print messages in case of sync error", silentTriggerError field = "Focus on inputs in engine sniffer", engineSnifferFocusOnInputs field = "Enable noise filtering", useNoiselessTriggerDecoder, {trigger_type == 8 || trigger_type == 9} + field = "Trigger Edge Filter", doNotFilterTriggerEdgeNoise dialog = triggerInputs, "Trigger Inputs" field = "#Cam is primary if you have cam sensor as part of trigger shape" diff --git a/firmware/tunerstudio/generated/rusefi_f407-discovery.ini b/firmware/tunerstudio/generated/rusefi_f407-discovery.ini index 3b6c41aa64..5c589fd5b8 100644 --- a/firmware/tunerstudio/generated/rusefi_f407-discovery.ini +++ b/firmware/tunerstudio/generated/rusefi_f407-discovery.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2023.01.10.f407-discovery.snap_24315" + signature = "rusEFI 2023.01.10.f407-discovery.snap_20080" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI 2023.01.10.f407-discovery.snap_24315" ; signature is expected to be 7 or more characters. + signature= "rusEFI 2023.01.10.f407-discovery.snap_20080" ; 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 @@ -86,7 +86,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 19:59:45 UTC 2023 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 21:35:21 UTC 2023 pageSize = 22368 page = 1 @@ -126,7 +126,7 @@ useTLE8888_cranking_hack = bits, U32, 120, [17:17], "false", "true" kickStartCranking = bits, U32, 120, [18:18], "false", "true" useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [19:19], "false", "true" launchControlEnabled = bits, U32, 120, [20:20], "false", "true" -anotherUnusedHere444 = bits, U32, 120, [21:21], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 120, [21:21], "with filter", "without filter" antiLagEnabled = bits, U32, 120, [22:22], "false", "true" useRunningMathForCranking = bits, U32, 120, [23:23], "Fixed", "Fuel Map" displayLogicLevelsInEngineSniffer = bits, U32, 120, [24:24], "false", "true" @@ -1469,6 +1469,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 cj125isUrDivided = "Is your UR CJ125 output wired to MCU via resistor divider?\nLooks like 3v range should be enough, divider generally not needed." useCicPidForIdle = "Switch between Industrial and Cic PID implementation" useSeparateIdleTablesForCrankingTaper = "This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration)." + doNotFilterTriggerEdgeNoise = "Detect double trigger edges" useRunningMathForCranking = "For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table)." displayLogicLevelsInEngineSniffer = "Shall we display real life signal or just the part consumed by trigger decoder.\nApplies to both trigger and cam/vvt input.\n\nenable logic_level_trigger" enableMapEstimationTableFallback = "If enabled, the MAP estimate table will be used if the MAP sensor fails to estimate manifold pressure based on RPM and TPS." @@ -2201,7 +2202,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1288 + ochBlockSize = 1292 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -2848,74 +2849,77 @@ mapVvt_MAP_AT_CYCLE_COUNT = scalar, U08, 1128, "", 1, 0 mapVvt_map_peak = scalar, U08, 1129, "", 1, 0 currentEngineDecodedPhase = scalar, F32, 1132, "deg", 1, 0 triggerToothAngleError = scalar, F32, 1136, "deg", 1, 0 -; total TS size = 1140 -crankSynchronizationCounter = scalar, U32, 1140, "", 1, 0 -vvtSyncGapRatio = scalar, F32, 1144, "", 1, 0 -vvtCurrentPosition = scalar, F32, 1148, "", 1, 0 -triggerSyncGapRatio = scalar, F32, 1152, "", 1, 0 -triggerStateIndex = scalar, U08, 1156, "", 1, 0 -vvtCounter = scalar, U08, 1157, "", 1, 0 -camResyncCounter = scalar, U08, 1158, "", 1, 0 -vvtStateIndex = scalar, U08, 1159, "", 1, 0 -; total TS size = 1160 -m_hasSynchronizedPhase = bits, U32, 1160, [0:0] +triggerIgnoredToothCount = scalar, U08, 1140, "", 1, 0 +; total TS size = 1144 +crankSynchronizationCounter = scalar, U32, 1144, "", 1, 0 +vvtSyncGapRatio = scalar, F32, 1148, "", 1, 0 +vvtCurrentPosition = scalar, F32, 1152, "", 1, 0 +triggerSyncGapRatio = scalar, F32, 1156, "", 1, 0 +triggerStateIndex = scalar, U08, 1160, "", 1, 0 +vvtCounter = scalar, U08, 1161, "", 1, 0 +camResyncCounter = scalar, U08, 1162, "", 1, 0 +vvtStateIndex = scalar, U08, 1163, "", 1, 0 ; total TS size = 1164 -wallFuelCorrection = scalar, F32, 1164, "", 1, 0 -wallFuel = scalar, F32, 1168, "", 1, 0 -; total TS size = 1172 -idleState = bits, S32, 1172, [0:2], "not important" -currentIdlePosition = scalar, F32, 1176 -baseIdlePosition = scalar, F32, 1180 -iacByTpsTaper = scalar, F32, 1184 -throttlePedalUpState = scalar, S32, 1188, "", 1, 0 -mightResetPid = bits, U32, 1192, [0:0] -shouldResetPid = bits, U32, 1192, [1:1] -wasResetPid = bits, U32, 1192, [2:2] -mustResetPid = bits, U32, 1192, [3:3] -isCranking = bits, U32, 1192, [4:4] -isIacTableForCoasting = bits, U32, 1192, [5:5] -notIdling = bits, U32, 1192, [6:6] -needReset = bits, U32, 1192, [7:7] -isInDeadZone = bits, U32, 1192, [8:8] -isBlipping = bits, U32, 1192, [9:9] -useClosedLoop = bits, U32, 1192, [10:10] -badTps = bits, U32, 1192, [11:11] -looksLikeRunning = bits, U32, 1192, [12:12] -looksLikeCoasting = bits, U32, 1192, [13:13] -looksLikeCrankToIdle = bits, U32, 1192, [14:14] -isVerboseIAC = bits, U32, 1192, [15:15] -isIdleCoasting = bits, U32, 1192, [16:16] -targetRpmByClt = scalar, S32, 1196, "", 1, 0 -targetRpmAcBump = scalar, S32, 1200, "", 1, 0 -iacByRpmTaper = scalar, F32, 1204 -luaAdd = scalar, F32, 1208 -; total TS size = 1212 -baseDwell = scalar, F32, 1212, "", 1, 0 -dwellVoltageCorrection = scalar, F32, 1216, "", 1, 0 -luaTimingAdd = scalar, F32, 1220, "", 1, 0 -luaTimingMult = scalar, F32, 1224, "", 1, 0 -; total TS size = 1228 -idlePosition = scalar, F32, 1228, "", 1, 0 -trim = scalar, F32, 1232, "", 1, 0 -luaAdjustment = scalar, F32, 1236, "", 1, 0 -etbFeedForward = scalar, F32, 1240 -etbIntegralError = scalar, F32, 1244, "", 1, 0 -etbCurrentTarget = scalar, F32, 1248, "%", 1, 0 -etbCurrentAdjustedTarget = scalar, F32, 1252, "%", 1, 0 -etbRevLimitActive = bits, U32, 1256, [0:0] -etbDutyRateOfChange = scalar, F32, 1260, "", 1, 0 -etbDutyAverage = scalar, F32, 1264, "", 1, 0 -etbTpsErrorCounter = scalar, U16, 1268, "", 1, 0 -etbPpsErrorCounter = scalar, U16, 1270, "", 1, 0 -etbErrorCode = scalar, S08, 1272, "", 1, 0 -; total TS size = 1276 -faultCode = scalar, U08, 1276, "", 1, 0 -heaterDuty = scalar, U08, 1277, "%", 1, 0 -pumpDuty = scalar, U08, 1278, "%", 1, 0 -tempC = scalar, U16, 1280, "C", 1, 0 -nernstVoltage = scalar, U16, 1282, "V", 0.001, 0 -esr = scalar, U16, 1284, "", 1, 0 -; total TS size = 1288 +m_hasSynchronizedPhase = bits, U32, 1164, [0:0] +; total TS size = 1168 +wallFuelCorrection = scalar, F32, 1168, "", 1, 0 +wallFuel = scalar, F32, 1172, "", 1, 0 +; total TS size = 1176 +idleState = bits, S32, 1176, [0:2], "not important" +currentIdlePosition = scalar, F32, 1180 +baseIdlePosition = scalar, F32, 1184 +iacByTpsTaper = scalar, F32, 1188 +throttlePedalUpState = scalar, S32, 1192, "", 1, 0 +mightResetPid = bits, U32, 1196, [0:0] +shouldResetPid = bits, U32, 1196, [1:1] +wasResetPid = bits, U32, 1196, [2:2] +mustResetPid = bits, U32, 1196, [3:3] +isCranking = bits, U32, 1196, [4:4] +isIacTableForCoasting = bits, U32, 1196, [5:5] +notIdling = bits, U32, 1196, [6:6] +needReset = bits, U32, 1196, [7:7] +isInDeadZone = bits, U32, 1196, [8:8] +isBlipping = bits, U32, 1196, [9:9] +useClosedLoop = bits, U32, 1196, [10:10] +badTps = bits, U32, 1196, [11:11] +looksLikeRunning = bits, U32, 1196, [12:12] +looksLikeCoasting = bits, U32, 1196, [13:13] +looksLikeCrankToIdle = bits, U32, 1196, [14:14] +isVerboseIAC = bits, U32, 1196, [15:15] +isIdleCoasting = bits, U32, 1196, [16:16] +targetRpmByClt = scalar, S32, 1200, "", 1, 0 +targetRpmAcBump = scalar, S32, 1204, "", 1, 0 +iacByRpmTaper = scalar, F32, 1208 +luaAdd = scalar, F32, 1212 +; total TS size = 1216 +baseDwell = scalar, F32, 1216, "", 1, 0 +dwellVoltageCorrection = scalar, F32, 1220, "", 1, 0 +luaTimingAdd = scalar, F32, 1224, "", 1, 0 +luaTimingMult = scalar, F32, 1228, "", 1, 0 +; total TS size = 1232 +idlePosition = scalar, F32, 1232, "", 1, 0 +trim = scalar, F32, 1236, "", 1, 0 +luaAdjustment = scalar, F32, 1240, "", 1, 0 +etbFeedForward = scalar, F32, 1244 +etbIntegralError = scalar, F32, 1248, "", 1, 0 +etbCurrentTarget = scalar, F32, 1252, "%", 1, 0 +etbCurrentAdjustedTarget = scalar, F32, 1256, "%", 1, 0 +etbRevLimitActive = bits, U32, 1260, [0:0] +jamDetected = bits, U32, 1260, [1:1] +etbDutyRateOfChange = scalar, F32, 1264, "", 1, 0 +etbDutyAverage = scalar, F32, 1268, "", 1, 0 +etbTpsErrorCounter = scalar, U16, 1272, "", 1, 0 +etbPpsErrorCounter = scalar, U16, 1274, "", 1, 0 +etbErrorCode = scalar, S08, 1276, "", 1, 0 +jamTimer = scalar, U16, 1278, "sec", 0.01, 0 +; total TS size = 1280 +faultCode = scalar, U08, 1280, "", 1, 0 +heaterDuty = scalar, U08, 1281, "%", 1, 0 +pumpDuty = scalar, U08, 1282, "%", 1, 0 +tempC = scalar, U16, 1284, "C", 1, 0 +nernstVoltage = scalar, U16, 1286, "V", 0.001, 0 +esr = scalar, U16, 1288, "", 1, 0 +; total TS size = 1292 time = { timeNow } @@ -4750,6 +4754,7 @@ entry = mapVvt_MAP_AT_CYCLE_COUNT, "mapVvt_MAP_AT_CYCLE_COUNT", int, "%d" entry = mapVvt_map_peak, "mapVvt_map_peak", int, "%d" entry = currentEngineDecodedPhase, "Engine Phase", float, "%.3f" entry = triggerToothAngleError, "triggerToothAngleError", float, "%.3f" +entry = triggerIgnoredToothCount, "triggerIgnoredToothCount", int, "%d" entry = crankSynchronizationCounter, "Crank sync counter", int, "%d" entry = vvtSyncGapRatio, "vvtSyncGapRatio", float, "%.3f" entry = vvtCurrentPosition, "vvtCurrentPosition", float, "%.3f" @@ -4799,11 +4804,13 @@ entry = etbIntegralError, "etbIntegralError", float, "%.3f" entry = etbCurrentTarget, "etbCurrentTarget", float, "%.3f" entry = etbCurrentAdjustedTarget, "etbCurrentAdjustedTarget", float, "%.3f" entry = etbRevLimitActive, "etbRevLimitActive", int, "%d" +entry = jamDetected, "jamDetected", int, "%d" entry = etbDutyRateOfChange, "etbDutyRateOfChange", float, "%.3f" entry = etbDutyAverage, "etbDutyAverage", float, "%.3f" entry = etbTpsErrorCounter, "ETB TPS error counter", int, "%d" entry = etbPpsErrorCounter, "ETB pedal error counter", int, "%d" entry = etbErrorCode, "etbErrorCode", int, "%d" +entry = jamTimer, "ETB jam timer", float, "%.3f" entry = faultCode, "faultCode", int, "%d" entry = heaterDuty, "heaterDuty", int, "%d" entry = pumpDuty, "pumpDuty", int, "%d" @@ -5570,6 +5577,7 @@ dialog = trigger_centralDialog, "trigger_central" graphLine = currentEngineDecodedPhase liveGraph = trigger_central_4_Graph, "Graph", South graphLine = triggerToothAngleError + graphLine = triggerIgnoredToothCount dialog = trigger_stateDialog, "trigger_state" @@ -5640,6 +5648,7 @@ dialog = ignition_stateDialog, "ignition_state" indicatorPanel = electronic_throttleIndicatorPanel, 2 indicator = {etbRevLimitActive}, "etbRevLimitActive No", "etbRevLimitActive Yes" + indicator = {jamDetected}, "jamDetected No", "jamDetected Yes" dialog = electronic_throttleDialog, "electronic_throttle" panel = electronic_throttleIndicatorPanel @@ -5658,6 +5667,8 @@ dialog = electronic_throttleDialog, "electronic_throttle" graphLine = etbTpsErrorCounter graphLine = etbPpsErrorCounter graphLine = etbErrorCode + liveGraph = electronic_throttle_4_Graph, "Graph", South + graphLine = jamTimer dialog = wideband_stateDialog, "wideband_state" @@ -5847,6 +5858,7 @@ dialog = wideband_stateDialog, "wideband_state" field = "Do not print messages in case of sync error", silentTriggerError field = "Focus on inputs in engine sniffer", engineSnifferFocusOnInputs field = "Enable noise filtering", useNoiselessTriggerDecoder, {trigger_type == 8 || trigger_type == 9} + field = "Trigger Edge Filter", doNotFilterTriggerEdgeNoise dialog = triggerInputs, "Trigger Inputs" field = "#Cam is primary if you have cam sensor as part of trigger shape" diff --git a/firmware/tunerstudio/generated/rusefi_f429-discovery.ini b/firmware/tunerstudio/generated/rusefi_f429-discovery.ini index 148d50e9fb..af7e5bcfd3 100644 --- a/firmware/tunerstudio/generated/rusefi_f429-discovery.ini +++ b/firmware/tunerstudio/generated/rusefi_f429-discovery.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2023.01.10.f429-discovery.snap_24315" + signature = "rusEFI 2023.01.10.f429-discovery.snap_20080" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI 2023.01.10.f429-discovery.snap_24315" ; signature is expected to be 7 or more characters. + signature= "rusEFI 2023.01.10.f429-discovery.snap_20080" ; 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 @@ -86,7 +86,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 19:59:46 UTC 2023 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 21:35:22 UTC 2023 pageSize = 22368 page = 1 @@ -126,7 +126,7 @@ useTLE8888_cranking_hack = bits, U32, 120, [17:17], "false", "true" kickStartCranking = bits, U32, 120, [18:18], "false", "true" useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [19:19], "false", "true" launchControlEnabled = bits, U32, 120, [20:20], "false", "true" -anotherUnusedHere444 = bits, U32, 120, [21:21], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 120, [21:21], "with filter", "without filter" antiLagEnabled = bits, U32, 120, [22:22], "false", "true" useRunningMathForCranking = bits, U32, 120, [23:23], "Fixed", "Fuel Map" displayLogicLevelsInEngineSniffer = bits, U32, 120, [24:24], "false", "true" @@ -1469,6 +1469,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 cj125isUrDivided = "Is your UR CJ125 output wired to MCU via resistor divider?\nLooks like 3v range should be enough, divider generally not needed." useCicPidForIdle = "Switch between Industrial and Cic PID implementation" useSeparateIdleTablesForCrankingTaper = "This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration)." + doNotFilterTriggerEdgeNoise = "Detect double trigger edges" useRunningMathForCranking = "For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table)." displayLogicLevelsInEngineSniffer = "Shall we display real life signal or just the part consumed by trigger decoder.\nApplies to both trigger and cam/vvt input.\n\nenable logic_level_trigger" enableMapEstimationTableFallback = "If enabled, the MAP estimate table will be used if the MAP sensor fails to estimate manifold pressure based on RPM and TPS." @@ -2201,7 +2202,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1288 + ochBlockSize = 1292 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -2848,74 +2849,77 @@ mapVvt_MAP_AT_CYCLE_COUNT = scalar, U08, 1128, "", 1, 0 mapVvt_map_peak = scalar, U08, 1129, "", 1, 0 currentEngineDecodedPhase = scalar, F32, 1132, "deg", 1, 0 triggerToothAngleError = scalar, F32, 1136, "deg", 1, 0 -; total TS size = 1140 -crankSynchronizationCounter = scalar, U32, 1140, "", 1, 0 -vvtSyncGapRatio = scalar, F32, 1144, "", 1, 0 -vvtCurrentPosition = scalar, F32, 1148, "", 1, 0 -triggerSyncGapRatio = scalar, F32, 1152, "", 1, 0 -triggerStateIndex = scalar, U08, 1156, "", 1, 0 -vvtCounter = scalar, U08, 1157, "", 1, 0 -camResyncCounter = scalar, U08, 1158, "", 1, 0 -vvtStateIndex = scalar, U08, 1159, "", 1, 0 -; total TS size = 1160 -m_hasSynchronizedPhase = bits, U32, 1160, [0:0] +triggerIgnoredToothCount = scalar, U08, 1140, "", 1, 0 +; total TS size = 1144 +crankSynchronizationCounter = scalar, U32, 1144, "", 1, 0 +vvtSyncGapRatio = scalar, F32, 1148, "", 1, 0 +vvtCurrentPosition = scalar, F32, 1152, "", 1, 0 +triggerSyncGapRatio = scalar, F32, 1156, "", 1, 0 +triggerStateIndex = scalar, U08, 1160, "", 1, 0 +vvtCounter = scalar, U08, 1161, "", 1, 0 +camResyncCounter = scalar, U08, 1162, "", 1, 0 +vvtStateIndex = scalar, U08, 1163, "", 1, 0 ; total TS size = 1164 -wallFuelCorrection = scalar, F32, 1164, "", 1, 0 -wallFuel = scalar, F32, 1168, "", 1, 0 -; total TS size = 1172 -idleState = bits, S32, 1172, [0:2], "not important" -currentIdlePosition = scalar, F32, 1176 -baseIdlePosition = scalar, F32, 1180 -iacByTpsTaper = scalar, F32, 1184 -throttlePedalUpState = scalar, S32, 1188, "", 1, 0 -mightResetPid = bits, U32, 1192, [0:0] -shouldResetPid = bits, U32, 1192, [1:1] -wasResetPid = bits, U32, 1192, [2:2] -mustResetPid = bits, U32, 1192, [3:3] -isCranking = bits, U32, 1192, [4:4] -isIacTableForCoasting = bits, U32, 1192, [5:5] -notIdling = bits, U32, 1192, [6:6] -needReset = bits, U32, 1192, [7:7] -isInDeadZone = bits, U32, 1192, [8:8] -isBlipping = bits, U32, 1192, [9:9] -useClosedLoop = bits, U32, 1192, [10:10] -badTps = bits, U32, 1192, [11:11] -looksLikeRunning = bits, U32, 1192, [12:12] -looksLikeCoasting = bits, U32, 1192, [13:13] -looksLikeCrankToIdle = bits, U32, 1192, [14:14] -isVerboseIAC = bits, U32, 1192, [15:15] -isIdleCoasting = bits, U32, 1192, [16:16] -targetRpmByClt = scalar, S32, 1196, "", 1, 0 -targetRpmAcBump = scalar, S32, 1200, "", 1, 0 -iacByRpmTaper = scalar, F32, 1204 -luaAdd = scalar, F32, 1208 -; total TS size = 1212 -baseDwell = scalar, F32, 1212, "", 1, 0 -dwellVoltageCorrection = scalar, F32, 1216, "", 1, 0 -luaTimingAdd = scalar, F32, 1220, "", 1, 0 -luaTimingMult = scalar, F32, 1224, "", 1, 0 -; total TS size = 1228 -idlePosition = scalar, F32, 1228, "", 1, 0 -trim = scalar, F32, 1232, "", 1, 0 -luaAdjustment = scalar, F32, 1236, "", 1, 0 -etbFeedForward = scalar, F32, 1240 -etbIntegralError = scalar, F32, 1244, "", 1, 0 -etbCurrentTarget = scalar, F32, 1248, "%", 1, 0 -etbCurrentAdjustedTarget = scalar, F32, 1252, "%", 1, 0 -etbRevLimitActive = bits, U32, 1256, [0:0] -etbDutyRateOfChange = scalar, F32, 1260, "", 1, 0 -etbDutyAverage = scalar, F32, 1264, "", 1, 0 -etbTpsErrorCounter = scalar, U16, 1268, "", 1, 0 -etbPpsErrorCounter = scalar, U16, 1270, "", 1, 0 -etbErrorCode = scalar, S08, 1272, "", 1, 0 -; total TS size = 1276 -faultCode = scalar, U08, 1276, "", 1, 0 -heaterDuty = scalar, U08, 1277, "%", 1, 0 -pumpDuty = scalar, U08, 1278, "%", 1, 0 -tempC = scalar, U16, 1280, "C", 1, 0 -nernstVoltage = scalar, U16, 1282, "V", 0.001, 0 -esr = scalar, U16, 1284, "", 1, 0 -; total TS size = 1288 +m_hasSynchronizedPhase = bits, U32, 1164, [0:0] +; total TS size = 1168 +wallFuelCorrection = scalar, F32, 1168, "", 1, 0 +wallFuel = scalar, F32, 1172, "", 1, 0 +; total TS size = 1176 +idleState = bits, S32, 1176, [0:2], "not important" +currentIdlePosition = scalar, F32, 1180 +baseIdlePosition = scalar, F32, 1184 +iacByTpsTaper = scalar, F32, 1188 +throttlePedalUpState = scalar, S32, 1192, "", 1, 0 +mightResetPid = bits, U32, 1196, [0:0] +shouldResetPid = bits, U32, 1196, [1:1] +wasResetPid = bits, U32, 1196, [2:2] +mustResetPid = bits, U32, 1196, [3:3] +isCranking = bits, U32, 1196, [4:4] +isIacTableForCoasting = bits, U32, 1196, [5:5] +notIdling = bits, U32, 1196, [6:6] +needReset = bits, U32, 1196, [7:7] +isInDeadZone = bits, U32, 1196, [8:8] +isBlipping = bits, U32, 1196, [9:9] +useClosedLoop = bits, U32, 1196, [10:10] +badTps = bits, U32, 1196, [11:11] +looksLikeRunning = bits, U32, 1196, [12:12] +looksLikeCoasting = bits, U32, 1196, [13:13] +looksLikeCrankToIdle = bits, U32, 1196, [14:14] +isVerboseIAC = bits, U32, 1196, [15:15] +isIdleCoasting = bits, U32, 1196, [16:16] +targetRpmByClt = scalar, S32, 1200, "", 1, 0 +targetRpmAcBump = scalar, S32, 1204, "", 1, 0 +iacByRpmTaper = scalar, F32, 1208 +luaAdd = scalar, F32, 1212 +; total TS size = 1216 +baseDwell = scalar, F32, 1216, "", 1, 0 +dwellVoltageCorrection = scalar, F32, 1220, "", 1, 0 +luaTimingAdd = scalar, F32, 1224, "", 1, 0 +luaTimingMult = scalar, F32, 1228, "", 1, 0 +; total TS size = 1232 +idlePosition = scalar, F32, 1232, "", 1, 0 +trim = scalar, F32, 1236, "", 1, 0 +luaAdjustment = scalar, F32, 1240, "", 1, 0 +etbFeedForward = scalar, F32, 1244 +etbIntegralError = scalar, F32, 1248, "", 1, 0 +etbCurrentTarget = scalar, F32, 1252, "%", 1, 0 +etbCurrentAdjustedTarget = scalar, F32, 1256, "%", 1, 0 +etbRevLimitActive = bits, U32, 1260, [0:0] +jamDetected = bits, U32, 1260, [1:1] +etbDutyRateOfChange = scalar, F32, 1264, "", 1, 0 +etbDutyAverage = scalar, F32, 1268, "", 1, 0 +etbTpsErrorCounter = scalar, U16, 1272, "", 1, 0 +etbPpsErrorCounter = scalar, U16, 1274, "", 1, 0 +etbErrorCode = scalar, S08, 1276, "", 1, 0 +jamTimer = scalar, U16, 1278, "sec", 0.01, 0 +; total TS size = 1280 +faultCode = scalar, U08, 1280, "", 1, 0 +heaterDuty = scalar, U08, 1281, "%", 1, 0 +pumpDuty = scalar, U08, 1282, "%", 1, 0 +tempC = scalar, U16, 1284, "C", 1, 0 +nernstVoltage = scalar, U16, 1286, "V", 0.001, 0 +esr = scalar, U16, 1288, "", 1, 0 +; total TS size = 1292 time = { timeNow } @@ -4750,6 +4754,7 @@ entry = mapVvt_MAP_AT_CYCLE_COUNT, "mapVvt_MAP_AT_CYCLE_COUNT", int, "%d" entry = mapVvt_map_peak, "mapVvt_map_peak", int, "%d" entry = currentEngineDecodedPhase, "Engine Phase", float, "%.3f" entry = triggerToothAngleError, "triggerToothAngleError", float, "%.3f" +entry = triggerIgnoredToothCount, "triggerIgnoredToothCount", int, "%d" entry = crankSynchronizationCounter, "Crank sync counter", int, "%d" entry = vvtSyncGapRatio, "vvtSyncGapRatio", float, "%.3f" entry = vvtCurrentPosition, "vvtCurrentPosition", float, "%.3f" @@ -4799,11 +4804,13 @@ entry = etbIntegralError, "etbIntegralError", float, "%.3f" entry = etbCurrentTarget, "etbCurrentTarget", float, "%.3f" entry = etbCurrentAdjustedTarget, "etbCurrentAdjustedTarget", float, "%.3f" entry = etbRevLimitActive, "etbRevLimitActive", int, "%d" +entry = jamDetected, "jamDetected", int, "%d" entry = etbDutyRateOfChange, "etbDutyRateOfChange", float, "%.3f" entry = etbDutyAverage, "etbDutyAverage", float, "%.3f" entry = etbTpsErrorCounter, "ETB TPS error counter", int, "%d" entry = etbPpsErrorCounter, "ETB pedal error counter", int, "%d" entry = etbErrorCode, "etbErrorCode", int, "%d" +entry = jamTimer, "ETB jam timer", float, "%.3f" entry = faultCode, "faultCode", int, "%d" entry = heaterDuty, "heaterDuty", int, "%d" entry = pumpDuty, "pumpDuty", int, "%d" @@ -5570,6 +5577,7 @@ dialog = trigger_centralDialog, "trigger_central" graphLine = currentEngineDecodedPhase liveGraph = trigger_central_4_Graph, "Graph", South graphLine = triggerToothAngleError + graphLine = triggerIgnoredToothCount dialog = trigger_stateDialog, "trigger_state" @@ -5640,6 +5648,7 @@ dialog = ignition_stateDialog, "ignition_state" indicatorPanel = electronic_throttleIndicatorPanel, 2 indicator = {etbRevLimitActive}, "etbRevLimitActive No", "etbRevLimitActive Yes" + indicator = {jamDetected}, "jamDetected No", "jamDetected Yes" dialog = electronic_throttleDialog, "electronic_throttle" panel = electronic_throttleIndicatorPanel @@ -5658,6 +5667,8 @@ dialog = electronic_throttleDialog, "electronic_throttle" graphLine = etbTpsErrorCounter graphLine = etbPpsErrorCounter graphLine = etbErrorCode + liveGraph = electronic_throttle_4_Graph, "Graph", South + graphLine = jamTimer dialog = wideband_stateDialog, "wideband_state" @@ -5847,6 +5858,7 @@ dialog = wideband_stateDialog, "wideband_state" field = "Do not print messages in case of sync error", silentTriggerError field = "Focus on inputs in engine sniffer", engineSnifferFocusOnInputs field = "Enable noise filtering", useNoiselessTriggerDecoder, {trigger_type == 8 || trigger_type == 9} + field = "Trigger Edge Filter", doNotFilterTriggerEdgeNoise dialog = triggerInputs, "Trigger Inputs" field = "#Cam is primary if you have cam sensor as part of trigger shape" diff --git a/firmware/tunerstudio/generated/rusefi_frankenso_na6.ini b/firmware/tunerstudio/generated/rusefi_frankenso_na6.ini index 3dd3b42009..1af46ab60b 100644 --- a/firmware/tunerstudio/generated/rusefi_frankenso_na6.ini +++ b/firmware/tunerstudio/generated/rusefi_frankenso_na6.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2023.01.10.frankenso_na6.snap_41535" + signature = "rusEFI 2023.01.10.frankenso_na6.snap_45748" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI 2023.01.10.frankenso_na6.snap_41535" ; signature is expected to be 7 or more characters. + signature= "rusEFI 2023.01.10.frankenso_na6.snap_45748" ; 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 @@ -86,7 +86,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 19:59:38 UTC 2023 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 21:35:13 UTC 2023 pageSize = 22368 page = 1 @@ -126,7 +126,7 @@ useTLE8888_cranking_hack = bits, U32, 120, [17:17], "false", "true" kickStartCranking = bits, U32, 120, [18:18], "false", "true" useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [19:19], "false", "true" launchControlEnabled = bits, U32, 120, [20:20], "false", "true" -anotherUnusedHere444 = bits, U32, 120, [21:21], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 120, [21:21], "with filter", "without filter" antiLagEnabled = bits, U32, 120, [22:22], "false", "true" useRunningMathForCranking = bits, U32, 120, [23:23], "Fixed", "Fuel Map" displayLogicLevelsInEngineSniffer = bits, U32, 120, [24:24], "false", "true" @@ -1469,6 +1469,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 cj125isUrDivided = "Is your UR CJ125 output wired to MCU via resistor divider?\nLooks like 3v range should be enough, divider generally not needed." useCicPidForIdle = "Switch between Industrial and Cic PID implementation" useSeparateIdleTablesForCrankingTaper = "This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration)." + doNotFilterTriggerEdgeNoise = "Detect double trigger edges" useRunningMathForCranking = "For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table)." displayLogicLevelsInEngineSniffer = "Shall we display real life signal or just the part consumed by trigger decoder.\nApplies to both trigger and cam/vvt input.\n\nenable logic_level_trigger" enableMapEstimationTableFallback = "If enabled, the MAP estimate table will be used if the MAP sensor fails to estimate manifold pressure based on RPM and TPS." @@ -2201,7 +2202,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1288 + ochBlockSize = 1292 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -2848,74 +2849,77 @@ mapVvt_MAP_AT_CYCLE_COUNT = scalar, U08, 1128, "", 1, 0 mapVvt_map_peak = scalar, U08, 1129, "", 1, 0 currentEngineDecodedPhase = scalar, F32, 1132, "deg", 1, 0 triggerToothAngleError = scalar, F32, 1136, "deg", 1, 0 -; total TS size = 1140 -crankSynchronizationCounter = scalar, U32, 1140, "", 1, 0 -vvtSyncGapRatio = scalar, F32, 1144, "", 1, 0 -vvtCurrentPosition = scalar, F32, 1148, "", 1, 0 -triggerSyncGapRatio = scalar, F32, 1152, "", 1, 0 -triggerStateIndex = scalar, U08, 1156, "", 1, 0 -vvtCounter = scalar, U08, 1157, "", 1, 0 -camResyncCounter = scalar, U08, 1158, "", 1, 0 -vvtStateIndex = scalar, U08, 1159, "", 1, 0 -; total TS size = 1160 -m_hasSynchronizedPhase = bits, U32, 1160, [0:0] +triggerIgnoredToothCount = scalar, U08, 1140, "", 1, 0 +; total TS size = 1144 +crankSynchronizationCounter = scalar, U32, 1144, "", 1, 0 +vvtSyncGapRatio = scalar, F32, 1148, "", 1, 0 +vvtCurrentPosition = scalar, F32, 1152, "", 1, 0 +triggerSyncGapRatio = scalar, F32, 1156, "", 1, 0 +triggerStateIndex = scalar, U08, 1160, "", 1, 0 +vvtCounter = scalar, U08, 1161, "", 1, 0 +camResyncCounter = scalar, U08, 1162, "", 1, 0 +vvtStateIndex = scalar, U08, 1163, "", 1, 0 ; total TS size = 1164 -wallFuelCorrection = scalar, F32, 1164, "", 1, 0 -wallFuel = scalar, F32, 1168, "", 1, 0 -; total TS size = 1172 -idleState = bits, S32, 1172, [0:2], "not important" -currentIdlePosition = scalar, F32, 1176 -baseIdlePosition = scalar, F32, 1180 -iacByTpsTaper = scalar, F32, 1184 -throttlePedalUpState = scalar, S32, 1188, "", 1, 0 -mightResetPid = bits, U32, 1192, [0:0] -shouldResetPid = bits, U32, 1192, [1:1] -wasResetPid = bits, U32, 1192, [2:2] -mustResetPid = bits, U32, 1192, [3:3] -isCranking = bits, U32, 1192, [4:4] -isIacTableForCoasting = bits, U32, 1192, [5:5] -notIdling = bits, U32, 1192, [6:6] -needReset = bits, U32, 1192, [7:7] -isInDeadZone = bits, U32, 1192, [8:8] -isBlipping = bits, U32, 1192, [9:9] -useClosedLoop = bits, U32, 1192, [10:10] -badTps = bits, U32, 1192, [11:11] -looksLikeRunning = bits, U32, 1192, [12:12] -looksLikeCoasting = bits, U32, 1192, [13:13] -looksLikeCrankToIdle = bits, U32, 1192, [14:14] -isVerboseIAC = bits, U32, 1192, [15:15] -isIdleCoasting = bits, U32, 1192, [16:16] -targetRpmByClt = scalar, S32, 1196, "", 1, 0 -targetRpmAcBump = scalar, S32, 1200, "", 1, 0 -iacByRpmTaper = scalar, F32, 1204 -luaAdd = scalar, F32, 1208 -; total TS size = 1212 -baseDwell = scalar, F32, 1212, "", 1, 0 -dwellVoltageCorrection = scalar, F32, 1216, "", 1, 0 -luaTimingAdd = scalar, F32, 1220, "", 1, 0 -luaTimingMult = scalar, F32, 1224, "", 1, 0 -; total TS size = 1228 -idlePosition = scalar, F32, 1228, "", 1, 0 -trim = scalar, F32, 1232, "", 1, 0 -luaAdjustment = scalar, F32, 1236, "", 1, 0 -etbFeedForward = scalar, F32, 1240 -etbIntegralError = scalar, F32, 1244, "", 1, 0 -etbCurrentTarget = scalar, F32, 1248, "%", 1, 0 -etbCurrentAdjustedTarget = scalar, F32, 1252, "%", 1, 0 -etbRevLimitActive = bits, U32, 1256, [0:0] -etbDutyRateOfChange = scalar, F32, 1260, "", 1, 0 -etbDutyAverage = scalar, F32, 1264, "", 1, 0 -etbTpsErrorCounter = scalar, U16, 1268, "", 1, 0 -etbPpsErrorCounter = scalar, U16, 1270, "", 1, 0 -etbErrorCode = scalar, S08, 1272, "", 1, 0 -; total TS size = 1276 -faultCode = scalar, U08, 1276, "", 1, 0 -heaterDuty = scalar, U08, 1277, "%", 1, 0 -pumpDuty = scalar, U08, 1278, "%", 1, 0 -tempC = scalar, U16, 1280, "C", 1, 0 -nernstVoltage = scalar, U16, 1282, "V", 0.001, 0 -esr = scalar, U16, 1284, "", 1, 0 -; total TS size = 1288 +m_hasSynchronizedPhase = bits, U32, 1164, [0:0] +; total TS size = 1168 +wallFuelCorrection = scalar, F32, 1168, "", 1, 0 +wallFuel = scalar, F32, 1172, "", 1, 0 +; total TS size = 1176 +idleState = bits, S32, 1176, [0:2], "not important" +currentIdlePosition = scalar, F32, 1180 +baseIdlePosition = scalar, F32, 1184 +iacByTpsTaper = scalar, F32, 1188 +throttlePedalUpState = scalar, S32, 1192, "", 1, 0 +mightResetPid = bits, U32, 1196, [0:0] +shouldResetPid = bits, U32, 1196, [1:1] +wasResetPid = bits, U32, 1196, [2:2] +mustResetPid = bits, U32, 1196, [3:3] +isCranking = bits, U32, 1196, [4:4] +isIacTableForCoasting = bits, U32, 1196, [5:5] +notIdling = bits, U32, 1196, [6:6] +needReset = bits, U32, 1196, [7:7] +isInDeadZone = bits, U32, 1196, [8:8] +isBlipping = bits, U32, 1196, [9:9] +useClosedLoop = bits, U32, 1196, [10:10] +badTps = bits, U32, 1196, [11:11] +looksLikeRunning = bits, U32, 1196, [12:12] +looksLikeCoasting = bits, U32, 1196, [13:13] +looksLikeCrankToIdle = bits, U32, 1196, [14:14] +isVerboseIAC = bits, U32, 1196, [15:15] +isIdleCoasting = bits, U32, 1196, [16:16] +targetRpmByClt = scalar, S32, 1200, "", 1, 0 +targetRpmAcBump = scalar, S32, 1204, "", 1, 0 +iacByRpmTaper = scalar, F32, 1208 +luaAdd = scalar, F32, 1212 +; total TS size = 1216 +baseDwell = scalar, F32, 1216, "", 1, 0 +dwellVoltageCorrection = scalar, F32, 1220, "", 1, 0 +luaTimingAdd = scalar, F32, 1224, "", 1, 0 +luaTimingMult = scalar, F32, 1228, "", 1, 0 +; total TS size = 1232 +idlePosition = scalar, F32, 1232, "", 1, 0 +trim = scalar, F32, 1236, "", 1, 0 +luaAdjustment = scalar, F32, 1240, "", 1, 0 +etbFeedForward = scalar, F32, 1244 +etbIntegralError = scalar, F32, 1248, "", 1, 0 +etbCurrentTarget = scalar, F32, 1252, "%", 1, 0 +etbCurrentAdjustedTarget = scalar, F32, 1256, "%", 1, 0 +etbRevLimitActive = bits, U32, 1260, [0:0] +jamDetected = bits, U32, 1260, [1:1] +etbDutyRateOfChange = scalar, F32, 1264, "", 1, 0 +etbDutyAverage = scalar, F32, 1268, "", 1, 0 +etbTpsErrorCounter = scalar, U16, 1272, "", 1, 0 +etbPpsErrorCounter = scalar, U16, 1274, "", 1, 0 +etbErrorCode = scalar, S08, 1276, "", 1, 0 +jamTimer = scalar, U16, 1278, "sec", 0.01, 0 +; total TS size = 1280 +faultCode = scalar, U08, 1280, "", 1, 0 +heaterDuty = scalar, U08, 1281, "%", 1, 0 +pumpDuty = scalar, U08, 1282, "%", 1, 0 +tempC = scalar, U16, 1284, "C", 1, 0 +nernstVoltage = scalar, U16, 1286, "V", 0.001, 0 +esr = scalar, U16, 1288, "", 1, 0 +; total TS size = 1292 time = { timeNow } @@ -4750,6 +4754,7 @@ entry = mapVvt_MAP_AT_CYCLE_COUNT, "mapVvt_MAP_AT_CYCLE_COUNT", int, "%d" entry = mapVvt_map_peak, "mapVvt_map_peak", int, "%d" entry = currentEngineDecodedPhase, "Engine Phase", float, "%.3f" entry = triggerToothAngleError, "triggerToothAngleError", float, "%.3f" +entry = triggerIgnoredToothCount, "triggerIgnoredToothCount", int, "%d" entry = crankSynchronizationCounter, "Crank sync counter", int, "%d" entry = vvtSyncGapRatio, "vvtSyncGapRatio", float, "%.3f" entry = vvtCurrentPosition, "vvtCurrentPosition", float, "%.3f" @@ -4799,11 +4804,13 @@ entry = etbIntegralError, "etbIntegralError", float, "%.3f" entry = etbCurrentTarget, "etbCurrentTarget", float, "%.3f" entry = etbCurrentAdjustedTarget, "etbCurrentAdjustedTarget", float, "%.3f" entry = etbRevLimitActive, "etbRevLimitActive", int, "%d" +entry = jamDetected, "jamDetected", int, "%d" entry = etbDutyRateOfChange, "etbDutyRateOfChange", float, "%.3f" entry = etbDutyAverage, "etbDutyAverage", float, "%.3f" entry = etbTpsErrorCounter, "ETB TPS error counter", int, "%d" entry = etbPpsErrorCounter, "ETB pedal error counter", int, "%d" entry = etbErrorCode, "etbErrorCode", int, "%d" +entry = jamTimer, "ETB jam timer", float, "%.3f" entry = faultCode, "faultCode", int, "%d" entry = heaterDuty, "heaterDuty", int, "%d" entry = pumpDuty, "pumpDuty", int, "%d" @@ -5570,6 +5577,7 @@ dialog = trigger_centralDialog, "trigger_central" graphLine = currentEngineDecodedPhase liveGraph = trigger_central_4_Graph, "Graph", South graphLine = triggerToothAngleError + graphLine = triggerIgnoredToothCount dialog = trigger_stateDialog, "trigger_state" @@ -5640,6 +5648,7 @@ dialog = ignition_stateDialog, "ignition_state" indicatorPanel = electronic_throttleIndicatorPanel, 2 indicator = {etbRevLimitActive}, "etbRevLimitActive No", "etbRevLimitActive Yes" + indicator = {jamDetected}, "jamDetected No", "jamDetected Yes" dialog = electronic_throttleDialog, "electronic_throttle" panel = electronic_throttleIndicatorPanel @@ -5658,6 +5667,8 @@ dialog = electronic_throttleDialog, "electronic_throttle" graphLine = etbTpsErrorCounter graphLine = etbPpsErrorCounter graphLine = etbErrorCode + liveGraph = electronic_throttle_4_Graph, "Graph", South + graphLine = jamTimer dialog = wideband_stateDialog, "wideband_state" @@ -5847,6 +5858,7 @@ dialog = wideband_stateDialog, "wideband_state" field = "Do not print messages in case of sync error", silentTriggerError field = "Focus on inputs in engine sniffer", engineSnifferFocusOnInputs field = "Enable noise filtering", useNoiselessTriggerDecoder, {trigger_type == 8 || trigger_type == 9} + field = "Trigger Edge Filter", doNotFilterTriggerEdgeNoise dialog = triggerInputs, "Trigger Inputs" field = "#Cam is primary if you have cam sensor as part of trigger shape" diff --git a/firmware/tunerstudio/generated/rusefi_harley81.ini b/firmware/tunerstudio/generated/rusefi_harley81.ini index fbd71a8cb2..f7fd7cef1d 100644 --- a/firmware/tunerstudio/generated/rusefi_harley81.ini +++ b/firmware/tunerstudio/generated/rusefi_harley81.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2023.01.10.harley81.snap_6148" + signature = "rusEFI 2023.01.10.harley81.snap_2191" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI 2023.01.10.harley81.snap_6148" ; signature is expected to be 7 or more characters. + signature= "rusEFI 2023.01.10.harley81.snap_2191" ; 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 @@ -86,7 +86,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 19:59:16 UTC 2023 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 21:34:51 UTC 2023 pageSize = 22368 page = 1 @@ -126,7 +126,7 @@ useTLE8888_cranking_hack = bits, U32, 120, [17:17], "false", "true" kickStartCranking = bits, U32, 120, [18:18], "false", "true" useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [19:19], "false", "true" launchControlEnabled = bits, U32, 120, [20:20], "false", "true" -anotherUnusedHere444 = bits, U32, 120, [21:21], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 120, [21:21], "with filter", "without filter" antiLagEnabled = bits, U32, 120, [22:22], "false", "true" useRunningMathForCranking = bits, U32, 120, [23:23], "Fixed", "Fuel Map" displayLogicLevelsInEngineSniffer = bits, U32, 120, [24:24], "false", "true" @@ -1469,6 +1469,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 cj125isUrDivided = "Is your UR CJ125 output wired to MCU via resistor divider?\nLooks like 3v range should be enough, divider generally not needed." useCicPidForIdle = "Switch between Industrial and Cic PID implementation" useSeparateIdleTablesForCrankingTaper = "This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration)." + doNotFilterTriggerEdgeNoise = "Detect double trigger edges" useRunningMathForCranking = "For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table)." displayLogicLevelsInEngineSniffer = "Shall we display real life signal or just the part consumed by trigger decoder.\nApplies to both trigger and cam/vvt input.\n\nenable logic_level_trigger" enableMapEstimationTableFallback = "If enabled, the MAP estimate table will be used if the MAP sensor fails to estimate manifold pressure based on RPM and TPS." @@ -2201,7 +2202,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1288 + ochBlockSize = 1292 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -2848,74 +2849,77 @@ mapVvt_MAP_AT_CYCLE_COUNT = scalar, U08, 1128, "", 1, 0 mapVvt_map_peak = scalar, U08, 1129, "", 1, 0 currentEngineDecodedPhase = scalar, F32, 1132, "deg", 1, 0 triggerToothAngleError = scalar, F32, 1136, "deg", 1, 0 -; total TS size = 1140 -crankSynchronizationCounter = scalar, U32, 1140, "", 1, 0 -vvtSyncGapRatio = scalar, F32, 1144, "", 1, 0 -vvtCurrentPosition = scalar, F32, 1148, "", 1, 0 -triggerSyncGapRatio = scalar, F32, 1152, "", 1, 0 -triggerStateIndex = scalar, U08, 1156, "", 1, 0 -vvtCounter = scalar, U08, 1157, "", 1, 0 -camResyncCounter = scalar, U08, 1158, "", 1, 0 -vvtStateIndex = scalar, U08, 1159, "", 1, 0 -; total TS size = 1160 -m_hasSynchronizedPhase = bits, U32, 1160, [0:0] +triggerIgnoredToothCount = scalar, U08, 1140, "", 1, 0 +; total TS size = 1144 +crankSynchronizationCounter = scalar, U32, 1144, "", 1, 0 +vvtSyncGapRatio = scalar, F32, 1148, "", 1, 0 +vvtCurrentPosition = scalar, F32, 1152, "", 1, 0 +triggerSyncGapRatio = scalar, F32, 1156, "", 1, 0 +triggerStateIndex = scalar, U08, 1160, "", 1, 0 +vvtCounter = scalar, U08, 1161, "", 1, 0 +camResyncCounter = scalar, U08, 1162, "", 1, 0 +vvtStateIndex = scalar, U08, 1163, "", 1, 0 ; total TS size = 1164 -wallFuelCorrection = scalar, F32, 1164, "", 1, 0 -wallFuel = scalar, F32, 1168, "", 1, 0 -; total TS size = 1172 -idleState = bits, S32, 1172, [0:2], "not important" -currentIdlePosition = scalar, F32, 1176 -baseIdlePosition = scalar, F32, 1180 -iacByTpsTaper = scalar, F32, 1184 -throttlePedalUpState = scalar, S32, 1188, "", 1, 0 -mightResetPid = bits, U32, 1192, [0:0] -shouldResetPid = bits, U32, 1192, [1:1] -wasResetPid = bits, U32, 1192, [2:2] -mustResetPid = bits, U32, 1192, [3:3] -isCranking = bits, U32, 1192, [4:4] -isIacTableForCoasting = bits, U32, 1192, [5:5] -notIdling = bits, U32, 1192, [6:6] -needReset = bits, U32, 1192, [7:7] -isInDeadZone = bits, U32, 1192, [8:8] -isBlipping = bits, U32, 1192, [9:9] -useClosedLoop = bits, U32, 1192, [10:10] -badTps = bits, U32, 1192, [11:11] -looksLikeRunning = bits, U32, 1192, [12:12] -looksLikeCoasting = bits, U32, 1192, [13:13] -looksLikeCrankToIdle = bits, U32, 1192, [14:14] -isVerboseIAC = bits, U32, 1192, [15:15] -isIdleCoasting = bits, U32, 1192, [16:16] -targetRpmByClt = scalar, S32, 1196, "", 1, 0 -targetRpmAcBump = scalar, S32, 1200, "", 1, 0 -iacByRpmTaper = scalar, F32, 1204 -luaAdd = scalar, F32, 1208 -; total TS size = 1212 -baseDwell = scalar, F32, 1212, "", 1, 0 -dwellVoltageCorrection = scalar, F32, 1216, "", 1, 0 -luaTimingAdd = scalar, F32, 1220, "", 1, 0 -luaTimingMult = scalar, F32, 1224, "", 1, 0 -; total TS size = 1228 -idlePosition = scalar, F32, 1228, "", 1, 0 -trim = scalar, F32, 1232, "", 1, 0 -luaAdjustment = scalar, F32, 1236, "", 1, 0 -etbFeedForward = scalar, F32, 1240 -etbIntegralError = scalar, F32, 1244, "", 1, 0 -etbCurrentTarget = scalar, F32, 1248, "%", 1, 0 -etbCurrentAdjustedTarget = scalar, F32, 1252, "%", 1, 0 -etbRevLimitActive = bits, U32, 1256, [0:0] -etbDutyRateOfChange = scalar, F32, 1260, "", 1, 0 -etbDutyAverage = scalar, F32, 1264, "", 1, 0 -etbTpsErrorCounter = scalar, U16, 1268, "", 1, 0 -etbPpsErrorCounter = scalar, U16, 1270, "", 1, 0 -etbErrorCode = scalar, S08, 1272, "", 1, 0 -; total TS size = 1276 -faultCode = scalar, U08, 1276, "", 1, 0 -heaterDuty = scalar, U08, 1277, "%", 1, 0 -pumpDuty = scalar, U08, 1278, "%", 1, 0 -tempC = scalar, U16, 1280, "C", 1, 0 -nernstVoltage = scalar, U16, 1282, "V", 0.001, 0 -esr = scalar, U16, 1284, "", 1, 0 -; total TS size = 1288 +m_hasSynchronizedPhase = bits, U32, 1164, [0:0] +; total TS size = 1168 +wallFuelCorrection = scalar, F32, 1168, "", 1, 0 +wallFuel = scalar, F32, 1172, "", 1, 0 +; total TS size = 1176 +idleState = bits, S32, 1176, [0:2], "not important" +currentIdlePosition = scalar, F32, 1180 +baseIdlePosition = scalar, F32, 1184 +iacByTpsTaper = scalar, F32, 1188 +throttlePedalUpState = scalar, S32, 1192, "", 1, 0 +mightResetPid = bits, U32, 1196, [0:0] +shouldResetPid = bits, U32, 1196, [1:1] +wasResetPid = bits, U32, 1196, [2:2] +mustResetPid = bits, U32, 1196, [3:3] +isCranking = bits, U32, 1196, [4:4] +isIacTableForCoasting = bits, U32, 1196, [5:5] +notIdling = bits, U32, 1196, [6:6] +needReset = bits, U32, 1196, [7:7] +isInDeadZone = bits, U32, 1196, [8:8] +isBlipping = bits, U32, 1196, [9:9] +useClosedLoop = bits, U32, 1196, [10:10] +badTps = bits, U32, 1196, [11:11] +looksLikeRunning = bits, U32, 1196, [12:12] +looksLikeCoasting = bits, U32, 1196, [13:13] +looksLikeCrankToIdle = bits, U32, 1196, [14:14] +isVerboseIAC = bits, U32, 1196, [15:15] +isIdleCoasting = bits, U32, 1196, [16:16] +targetRpmByClt = scalar, S32, 1200, "", 1, 0 +targetRpmAcBump = scalar, S32, 1204, "", 1, 0 +iacByRpmTaper = scalar, F32, 1208 +luaAdd = scalar, F32, 1212 +; total TS size = 1216 +baseDwell = scalar, F32, 1216, "", 1, 0 +dwellVoltageCorrection = scalar, F32, 1220, "", 1, 0 +luaTimingAdd = scalar, F32, 1224, "", 1, 0 +luaTimingMult = scalar, F32, 1228, "", 1, 0 +; total TS size = 1232 +idlePosition = scalar, F32, 1232, "", 1, 0 +trim = scalar, F32, 1236, "", 1, 0 +luaAdjustment = scalar, F32, 1240, "", 1, 0 +etbFeedForward = scalar, F32, 1244 +etbIntegralError = scalar, F32, 1248, "", 1, 0 +etbCurrentTarget = scalar, F32, 1252, "%", 1, 0 +etbCurrentAdjustedTarget = scalar, F32, 1256, "%", 1, 0 +etbRevLimitActive = bits, U32, 1260, [0:0] +jamDetected = bits, U32, 1260, [1:1] +etbDutyRateOfChange = scalar, F32, 1264, "", 1, 0 +etbDutyAverage = scalar, F32, 1268, "", 1, 0 +etbTpsErrorCounter = scalar, U16, 1272, "", 1, 0 +etbPpsErrorCounter = scalar, U16, 1274, "", 1, 0 +etbErrorCode = scalar, S08, 1276, "", 1, 0 +jamTimer = scalar, U16, 1278, "sec", 0.01, 0 +; total TS size = 1280 +faultCode = scalar, U08, 1280, "", 1, 0 +heaterDuty = scalar, U08, 1281, "%", 1, 0 +pumpDuty = scalar, U08, 1282, "%", 1, 0 +tempC = scalar, U16, 1284, "C", 1, 0 +nernstVoltage = scalar, U16, 1286, "V", 0.001, 0 +esr = scalar, U16, 1288, "", 1, 0 +; total TS size = 1292 time = { timeNow } @@ -4750,6 +4754,7 @@ entry = mapVvt_MAP_AT_CYCLE_COUNT, "mapVvt_MAP_AT_CYCLE_COUNT", int, "%d" entry = mapVvt_map_peak, "mapVvt_map_peak", int, "%d" entry = currentEngineDecodedPhase, "Engine Phase", float, "%.3f" entry = triggerToothAngleError, "triggerToothAngleError", float, "%.3f" +entry = triggerIgnoredToothCount, "triggerIgnoredToothCount", int, "%d" entry = crankSynchronizationCounter, "Crank sync counter", int, "%d" entry = vvtSyncGapRatio, "vvtSyncGapRatio", float, "%.3f" entry = vvtCurrentPosition, "vvtCurrentPosition", float, "%.3f" @@ -4799,11 +4804,13 @@ entry = etbIntegralError, "etbIntegralError", float, "%.3f" entry = etbCurrentTarget, "etbCurrentTarget", float, "%.3f" entry = etbCurrentAdjustedTarget, "etbCurrentAdjustedTarget", float, "%.3f" entry = etbRevLimitActive, "etbRevLimitActive", int, "%d" +entry = jamDetected, "jamDetected", int, "%d" entry = etbDutyRateOfChange, "etbDutyRateOfChange", float, "%.3f" entry = etbDutyAverage, "etbDutyAverage", float, "%.3f" entry = etbTpsErrorCounter, "ETB TPS error counter", int, "%d" entry = etbPpsErrorCounter, "ETB pedal error counter", int, "%d" entry = etbErrorCode, "etbErrorCode", int, "%d" +entry = jamTimer, "ETB jam timer", float, "%.3f" entry = faultCode, "faultCode", int, "%d" entry = heaterDuty, "heaterDuty", int, "%d" entry = pumpDuty, "pumpDuty", int, "%d" @@ -5567,6 +5574,7 @@ dialog = trigger_centralDialog, "trigger_central" graphLine = currentEngineDecodedPhase liveGraph = trigger_central_4_Graph, "Graph", South graphLine = triggerToothAngleError + graphLine = triggerIgnoredToothCount dialog = trigger_stateDialog, "trigger_state" @@ -5637,6 +5645,7 @@ dialog = ignition_stateDialog, "ignition_state" indicatorPanel = electronic_throttleIndicatorPanel, 2 indicator = {etbRevLimitActive}, "etbRevLimitActive No", "etbRevLimitActive Yes" + indicator = {jamDetected}, "jamDetected No", "jamDetected Yes" dialog = electronic_throttleDialog, "electronic_throttle" panel = electronic_throttleIndicatorPanel @@ -5655,6 +5664,8 @@ dialog = electronic_throttleDialog, "electronic_throttle" graphLine = etbTpsErrorCounter graphLine = etbPpsErrorCounter graphLine = etbErrorCode + liveGraph = electronic_throttle_4_Graph, "Graph", South + graphLine = jamTimer dialog = wideband_stateDialog, "wideband_state" @@ -5843,6 +5854,7 @@ dialog = wideband_stateDialog, "wideband_state" field = "Do not print messages in case of sync error", silentTriggerError field = "Focus on inputs in engine sniffer", engineSnifferFocusOnInputs field = "Enable noise filtering", useNoiselessTriggerDecoder, {trigger_type == 8 || trigger_type == 9} + field = "Trigger Edge Filter", doNotFilterTriggerEdgeNoise dialog = triggerInputs, "Trigger Inputs" field = "#Cam is primary if you have cam sensor as part of trigger shape" diff --git a/firmware/tunerstudio/generated/rusefi_hellen-gm-e67.ini b/firmware/tunerstudio/generated/rusefi_hellen-gm-e67.ini index dd6ad2d7fa..d27f285d95 100644 --- a/firmware/tunerstudio/generated/rusefi_hellen-gm-e67.ini +++ b/firmware/tunerstudio/generated/rusefi_hellen-gm-e67.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2023.01.10.hellen-gm-e67.snap_15871" + signature = "rusEFI 2023.01.10.hellen-gm-e67.snap_11636" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI 2023.01.10.hellen-gm-e67.snap_15871" ; signature is expected to be 7 or more characters. + signature= "rusEFI 2023.01.10.hellen-gm-e67.snap_11636" ; 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 @@ -86,7 +86,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 19:59:27 UTC 2023 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 21:35:03 UTC 2023 pageSize = 22368 page = 1 @@ -126,7 +126,7 @@ useTLE8888_cranking_hack = bits, U32, 120, [17:17], "false", "true" kickStartCranking = bits, U32, 120, [18:18], "false", "true" useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [19:19], "false", "true" launchControlEnabled = bits, U32, 120, [20:20], "false", "true" -anotherUnusedHere444 = bits, U32, 120, [21:21], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 120, [21:21], "with filter", "without filter" antiLagEnabled = bits, U32, 120, [22:22], "false", "true" useRunningMathForCranking = bits, U32, 120, [23:23], "Fixed", "Fuel Map" displayLogicLevelsInEngineSniffer = bits, U32, 120, [24:24], "false", "true" @@ -1469,6 +1469,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 cj125isUrDivided = "Is your UR CJ125 output wired to MCU via resistor divider?\nLooks like 3v range should be enough, divider generally not needed." useCicPidForIdle = "Switch between Industrial and Cic PID implementation" useSeparateIdleTablesForCrankingTaper = "This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration)." + doNotFilterTriggerEdgeNoise = "Detect double trigger edges" useRunningMathForCranking = "For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table)." displayLogicLevelsInEngineSniffer = "Shall we display real life signal or just the part consumed by trigger decoder.\nApplies to both trigger and cam/vvt input.\n\nenable logic_level_trigger" enableMapEstimationTableFallback = "If enabled, the MAP estimate table will be used if the MAP sensor fails to estimate manifold pressure based on RPM and TPS." @@ -2201,7 +2202,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1288 + ochBlockSize = 1292 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -2848,74 +2849,77 @@ mapVvt_MAP_AT_CYCLE_COUNT = scalar, U08, 1128, "", 1, 0 mapVvt_map_peak = scalar, U08, 1129, "", 1, 0 currentEngineDecodedPhase = scalar, F32, 1132, "deg", 1, 0 triggerToothAngleError = scalar, F32, 1136, "deg", 1, 0 -; total TS size = 1140 -crankSynchronizationCounter = scalar, U32, 1140, "", 1, 0 -vvtSyncGapRatio = scalar, F32, 1144, "", 1, 0 -vvtCurrentPosition = scalar, F32, 1148, "", 1, 0 -triggerSyncGapRatio = scalar, F32, 1152, "", 1, 0 -triggerStateIndex = scalar, U08, 1156, "", 1, 0 -vvtCounter = scalar, U08, 1157, "", 1, 0 -camResyncCounter = scalar, U08, 1158, "", 1, 0 -vvtStateIndex = scalar, U08, 1159, "", 1, 0 -; total TS size = 1160 -m_hasSynchronizedPhase = bits, U32, 1160, [0:0] +triggerIgnoredToothCount = scalar, U08, 1140, "", 1, 0 +; total TS size = 1144 +crankSynchronizationCounter = scalar, U32, 1144, "", 1, 0 +vvtSyncGapRatio = scalar, F32, 1148, "", 1, 0 +vvtCurrentPosition = scalar, F32, 1152, "", 1, 0 +triggerSyncGapRatio = scalar, F32, 1156, "", 1, 0 +triggerStateIndex = scalar, U08, 1160, "", 1, 0 +vvtCounter = scalar, U08, 1161, "", 1, 0 +camResyncCounter = scalar, U08, 1162, "", 1, 0 +vvtStateIndex = scalar, U08, 1163, "", 1, 0 ; total TS size = 1164 -wallFuelCorrection = scalar, F32, 1164, "", 1, 0 -wallFuel = scalar, F32, 1168, "", 1, 0 -; total TS size = 1172 -idleState = bits, S32, 1172, [0:2], "not important" -currentIdlePosition = scalar, F32, 1176 -baseIdlePosition = scalar, F32, 1180 -iacByTpsTaper = scalar, F32, 1184 -throttlePedalUpState = scalar, S32, 1188, "", 1, 0 -mightResetPid = bits, U32, 1192, [0:0] -shouldResetPid = bits, U32, 1192, [1:1] -wasResetPid = bits, U32, 1192, [2:2] -mustResetPid = bits, U32, 1192, [3:3] -isCranking = bits, U32, 1192, [4:4] -isIacTableForCoasting = bits, U32, 1192, [5:5] -notIdling = bits, U32, 1192, [6:6] -needReset = bits, U32, 1192, [7:7] -isInDeadZone = bits, U32, 1192, [8:8] -isBlipping = bits, U32, 1192, [9:9] -useClosedLoop = bits, U32, 1192, [10:10] -badTps = bits, U32, 1192, [11:11] -looksLikeRunning = bits, U32, 1192, [12:12] -looksLikeCoasting = bits, U32, 1192, [13:13] -looksLikeCrankToIdle = bits, U32, 1192, [14:14] -isVerboseIAC = bits, U32, 1192, [15:15] -isIdleCoasting = bits, U32, 1192, [16:16] -targetRpmByClt = scalar, S32, 1196, "", 1, 0 -targetRpmAcBump = scalar, S32, 1200, "", 1, 0 -iacByRpmTaper = scalar, F32, 1204 -luaAdd = scalar, F32, 1208 -; total TS size = 1212 -baseDwell = scalar, F32, 1212, "", 1, 0 -dwellVoltageCorrection = scalar, F32, 1216, "", 1, 0 -luaTimingAdd = scalar, F32, 1220, "", 1, 0 -luaTimingMult = scalar, F32, 1224, "", 1, 0 -; total TS size = 1228 -idlePosition = scalar, F32, 1228, "", 1, 0 -trim = scalar, F32, 1232, "", 1, 0 -luaAdjustment = scalar, F32, 1236, "", 1, 0 -etbFeedForward = scalar, F32, 1240 -etbIntegralError = scalar, F32, 1244, "", 1, 0 -etbCurrentTarget = scalar, F32, 1248, "%", 1, 0 -etbCurrentAdjustedTarget = scalar, F32, 1252, "%", 1, 0 -etbRevLimitActive = bits, U32, 1256, [0:0] -etbDutyRateOfChange = scalar, F32, 1260, "", 1, 0 -etbDutyAverage = scalar, F32, 1264, "", 1, 0 -etbTpsErrorCounter = scalar, U16, 1268, "", 1, 0 -etbPpsErrorCounter = scalar, U16, 1270, "", 1, 0 -etbErrorCode = scalar, S08, 1272, "", 1, 0 -; total TS size = 1276 -faultCode = scalar, U08, 1276, "", 1, 0 -heaterDuty = scalar, U08, 1277, "%", 1, 0 -pumpDuty = scalar, U08, 1278, "%", 1, 0 -tempC = scalar, U16, 1280, "C", 1, 0 -nernstVoltage = scalar, U16, 1282, "V", 0.001, 0 -esr = scalar, U16, 1284, "", 1, 0 -; total TS size = 1288 +m_hasSynchronizedPhase = bits, U32, 1164, [0:0] +; total TS size = 1168 +wallFuelCorrection = scalar, F32, 1168, "", 1, 0 +wallFuel = scalar, F32, 1172, "", 1, 0 +; total TS size = 1176 +idleState = bits, S32, 1176, [0:2], "not important" +currentIdlePosition = scalar, F32, 1180 +baseIdlePosition = scalar, F32, 1184 +iacByTpsTaper = scalar, F32, 1188 +throttlePedalUpState = scalar, S32, 1192, "", 1, 0 +mightResetPid = bits, U32, 1196, [0:0] +shouldResetPid = bits, U32, 1196, [1:1] +wasResetPid = bits, U32, 1196, [2:2] +mustResetPid = bits, U32, 1196, [3:3] +isCranking = bits, U32, 1196, [4:4] +isIacTableForCoasting = bits, U32, 1196, [5:5] +notIdling = bits, U32, 1196, [6:6] +needReset = bits, U32, 1196, [7:7] +isInDeadZone = bits, U32, 1196, [8:8] +isBlipping = bits, U32, 1196, [9:9] +useClosedLoop = bits, U32, 1196, [10:10] +badTps = bits, U32, 1196, [11:11] +looksLikeRunning = bits, U32, 1196, [12:12] +looksLikeCoasting = bits, U32, 1196, [13:13] +looksLikeCrankToIdle = bits, U32, 1196, [14:14] +isVerboseIAC = bits, U32, 1196, [15:15] +isIdleCoasting = bits, U32, 1196, [16:16] +targetRpmByClt = scalar, S32, 1200, "", 1, 0 +targetRpmAcBump = scalar, S32, 1204, "", 1, 0 +iacByRpmTaper = scalar, F32, 1208 +luaAdd = scalar, F32, 1212 +; total TS size = 1216 +baseDwell = scalar, F32, 1216, "", 1, 0 +dwellVoltageCorrection = scalar, F32, 1220, "", 1, 0 +luaTimingAdd = scalar, F32, 1224, "", 1, 0 +luaTimingMult = scalar, F32, 1228, "", 1, 0 +; total TS size = 1232 +idlePosition = scalar, F32, 1232, "", 1, 0 +trim = scalar, F32, 1236, "", 1, 0 +luaAdjustment = scalar, F32, 1240, "", 1, 0 +etbFeedForward = scalar, F32, 1244 +etbIntegralError = scalar, F32, 1248, "", 1, 0 +etbCurrentTarget = scalar, F32, 1252, "%", 1, 0 +etbCurrentAdjustedTarget = scalar, F32, 1256, "%", 1, 0 +etbRevLimitActive = bits, U32, 1260, [0:0] +jamDetected = bits, U32, 1260, [1:1] +etbDutyRateOfChange = scalar, F32, 1264, "", 1, 0 +etbDutyAverage = scalar, F32, 1268, "", 1, 0 +etbTpsErrorCounter = scalar, U16, 1272, "", 1, 0 +etbPpsErrorCounter = scalar, U16, 1274, "", 1, 0 +etbErrorCode = scalar, S08, 1276, "", 1, 0 +jamTimer = scalar, U16, 1278, "sec", 0.01, 0 +; total TS size = 1280 +faultCode = scalar, U08, 1280, "", 1, 0 +heaterDuty = scalar, U08, 1281, "%", 1, 0 +pumpDuty = scalar, U08, 1282, "%", 1, 0 +tempC = scalar, U16, 1284, "C", 1, 0 +nernstVoltage = scalar, U16, 1286, "V", 0.001, 0 +esr = scalar, U16, 1288, "", 1, 0 +; total TS size = 1292 time = { timeNow } @@ -4750,6 +4754,7 @@ entry = mapVvt_MAP_AT_CYCLE_COUNT, "mapVvt_MAP_AT_CYCLE_COUNT", int, "%d" entry = mapVvt_map_peak, "mapVvt_map_peak", int, "%d" entry = currentEngineDecodedPhase, "Engine Phase", float, "%.3f" entry = triggerToothAngleError, "triggerToothAngleError", float, "%.3f" +entry = triggerIgnoredToothCount, "triggerIgnoredToothCount", int, "%d" entry = crankSynchronizationCounter, "Crank sync counter", int, "%d" entry = vvtSyncGapRatio, "vvtSyncGapRatio", float, "%.3f" entry = vvtCurrentPosition, "vvtCurrentPosition", float, "%.3f" @@ -4799,11 +4804,13 @@ entry = etbIntegralError, "etbIntegralError", float, "%.3f" entry = etbCurrentTarget, "etbCurrentTarget", float, "%.3f" entry = etbCurrentAdjustedTarget, "etbCurrentAdjustedTarget", float, "%.3f" entry = etbRevLimitActive, "etbRevLimitActive", int, "%d" +entry = jamDetected, "jamDetected", int, "%d" entry = etbDutyRateOfChange, "etbDutyRateOfChange", float, "%.3f" entry = etbDutyAverage, "etbDutyAverage", float, "%.3f" entry = etbTpsErrorCounter, "ETB TPS error counter", int, "%d" entry = etbPpsErrorCounter, "ETB pedal error counter", int, "%d" entry = etbErrorCode, "etbErrorCode", int, "%d" +entry = jamTimer, "ETB jam timer", float, "%.3f" entry = faultCode, "faultCode", int, "%d" entry = heaterDuty, "heaterDuty", int, "%d" entry = pumpDuty, "pumpDuty", int, "%d" @@ -5567,6 +5574,7 @@ dialog = trigger_centralDialog, "trigger_central" graphLine = currentEngineDecodedPhase liveGraph = trigger_central_4_Graph, "Graph", South graphLine = triggerToothAngleError + graphLine = triggerIgnoredToothCount dialog = trigger_stateDialog, "trigger_state" @@ -5637,6 +5645,7 @@ dialog = ignition_stateDialog, "ignition_state" indicatorPanel = electronic_throttleIndicatorPanel, 2 indicator = {etbRevLimitActive}, "etbRevLimitActive No", "etbRevLimitActive Yes" + indicator = {jamDetected}, "jamDetected No", "jamDetected Yes" dialog = electronic_throttleDialog, "electronic_throttle" panel = electronic_throttleIndicatorPanel @@ -5655,6 +5664,8 @@ dialog = electronic_throttleDialog, "electronic_throttle" graphLine = etbTpsErrorCounter graphLine = etbPpsErrorCounter graphLine = etbErrorCode + liveGraph = electronic_throttle_4_Graph, "Graph", South + graphLine = jamTimer dialog = wideband_stateDialog, "wideband_state" @@ -5844,6 +5855,7 @@ dialog = wideband_stateDialog, "wideband_state" field = "Do not print messages in case of sync error", silentTriggerError field = "Focus on inputs in engine sniffer", engineSnifferFocusOnInputs field = "Enable noise filtering", useNoiselessTriggerDecoder, {trigger_type == 8 || trigger_type == 9} + field = "Trigger Edge Filter", doNotFilterTriggerEdgeNoise dialog = triggerInputs, "Trigger Inputs" field = "#Cam is primary if you have cam sensor as part of trigger shape" diff --git a/firmware/tunerstudio/generated/rusefi_hellen-nb1.ini b/firmware/tunerstudio/generated/rusefi_hellen-nb1.ini index 97bdb6c696..cb6ac3f6d7 100644 --- a/firmware/tunerstudio/generated/rusefi_hellen-nb1.ini +++ b/firmware/tunerstudio/generated/rusefi_hellen-nb1.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2023.01.10.hellen-nb1.snap_28471" + signature = "rusEFI 2023.01.10.hellen-nb1.snap_32700" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI 2023.01.10.hellen-nb1.snap_28471" ; signature is expected to be 7 or more characters. + signature= "rusEFI 2023.01.10.hellen-nb1.snap_32700" ; 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 @@ -86,7 +86,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 19:59:26 UTC 2023 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 21:35:01 UTC 2023 pageSize = 22368 page = 1 @@ -126,7 +126,7 @@ useTLE8888_cranking_hack = bits, U32, 120, [17:17], "false", "true" kickStartCranking = bits, U32, 120, [18:18], "false", "true" useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [19:19], "false", "true" launchControlEnabled = bits, U32, 120, [20:20], "false", "true" -anotherUnusedHere444 = bits, U32, 120, [21:21], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 120, [21:21], "with filter", "without filter" antiLagEnabled = bits, U32, 120, [22:22], "false", "true" useRunningMathForCranking = bits, U32, 120, [23:23], "Fixed", "Fuel Map" displayLogicLevelsInEngineSniffer = bits, U32, 120, [24:24], "false", "true" @@ -1469,6 +1469,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 cj125isUrDivided = "Is your UR CJ125 output wired to MCU via resistor divider?\nLooks like 3v range should be enough, divider generally not needed." useCicPidForIdle = "Switch between Industrial and Cic PID implementation" useSeparateIdleTablesForCrankingTaper = "This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration)." + doNotFilterTriggerEdgeNoise = "Detect double trigger edges" useRunningMathForCranking = "For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table)." displayLogicLevelsInEngineSniffer = "Shall we display real life signal or just the part consumed by trigger decoder.\nApplies to both trigger and cam/vvt input.\n\nenable logic_level_trigger" enableMapEstimationTableFallback = "If enabled, the MAP estimate table will be used if the MAP sensor fails to estimate manifold pressure based on RPM and TPS." @@ -2201,7 +2202,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1288 + ochBlockSize = 1292 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -2848,74 +2849,77 @@ mapVvt_MAP_AT_CYCLE_COUNT = scalar, U08, 1128, "", 1, 0 mapVvt_map_peak = scalar, U08, 1129, "", 1, 0 currentEngineDecodedPhase = scalar, F32, 1132, "deg", 1, 0 triggerToothAngleError = scalar, F32, 1136, "deg", 1, 0 -; total TS size = 1140 -crankSynchronizationCounter = scalar, U32, 1140, "", 1, 0 -vvtSyncGapRatio = scalar, F32, 1144, "", 1, 0 -vvtCurrentPosition = scalar, F32, 1148, "", 1, 0 -triggerSyncGapRatio = scalar, F32, 1152, "", 1, 0 -triggerStateIndex = scalar, U08, 1156, "", 1, 0 -vvtCounter = scalar, U08, 1157, "", 1, 0 -camResyncCounter = scalar, U08, 1158, "", 1, 0 -vvtStateIndex = scalar, U08, 1159, "", 1, 0 -; total TS size = 1160 -m_hasSynchronizedPhase = bits, U32, 1160, [0:0] +triggerIgnoredToothCount = scalar, U08, 1140, "", 1, 0 +; total TS size = 1144 +crankSynchronizationCounter = scalar, U32, 1144, "", 1, 0 +vvtSyncGapRatio = scalar, F32, 1148, "", 1, 0 +vvtCurrentPosition = scalar, F32, 1152, "", 1, 0 +triggerSyncGapRatio = scalar, F32, 1156, "", 1, 0 +triggerStateIndex = scalar, U08, 1160, "", 1, 0 +vvtCounter = scalar, U08, 1161, "", 1, 0 +camResyncCounter = scalar, U08, 1162, "", 1, 0 +vvtStateIndex = scalar, U08, 1163, "", 1, 0 ; total TS size = 1164 -wallFuelCorrection = scalar, F32, 1164, "", 1, 0 -wallFuel = scalar, F32, 1168, "", 1, 0 -; total TS size = 1172 -idleState = bits, S32, 1172, [0:2], "not important" -currentIdlePosition = scalar, F32, 1176 -baseIdlePosition = scalar, F32, 1180 -iacByTpsTaper = scalar, F32, 1184 -throttlePedalUpState = scalar, S32, 1188, "", 1, 0 -mightResetPid = bits, U32, 1192, [0:0] -shouldResetPid = bits, U32, 1192, [1:1] -wasResetPid = bits, U32, 1192, [2:2] -mustResetPid = bits, U32, 1192, [3:3] -isCranking = bits, U32, 1192, [4:4] -isIacTableForCoasting = bits, U32, 1192, [5:5] -notIdling = bits, U32, 1192, [6:6] -needReset = bits, U32, 1192, [7:7] -isInDeadZone = bits, U32, 1192, [8:8] -isBlipping = bits, U32, 1192, [9:9] -useClosedLoop = bits, U32, 1192, [10:10] -badTps = bits, U32, 1192, [11:11] -looksLikeRunning = bits, U32, 1192, [12:12] -looksLikeCoasting = bits, U32, 1192, [13:13] -looksLikeCrankToIdle = bits, U32, 1192, [14:14] -isVerboseIAC = bits, U32, 1192, [15:15] -isIdleCoasting = bits, U32, 1192, [16:16] -targetRpmByClt = scalar, S32, 1196, "", 1, 0 -targetRpmAcBump = scalar, S32, 1200, "", 1, 0 -iacByRpmTaper = scalar, F32, 1204 -luaAdd = scalar, F32, 1208 -; total TS size = 1212 -baseDwell = scalar, F32, 1212, "", 1, 0 -dwellVoltageCorrection = scalar, F32, 1216, "", 1, 0 -luaTimingAdd = scalar, F32, 1220, "", 1, 0 -luaTimingMult = scalar, F32, 1224, "", 1, 0 -; total TS size = 1228 -idlePosition = scalar, F32, 1228, "", 1, 0 -trim = scalar, F32, 1232, "", 1, 0 -luaAdjustment = scalar, F32, 1236, "", 1, 0 -etbFeedForward = scalar, F32, 1240 -etbIntegralError = scalar, F32, 1244, "", 1, 0 -etbCurrentTarget = scalar, F32, 1248, "%", 1, 0 -etbCurrentAdjustedTarget = scalar, F32, 1252, "%", 1, 0 -etbRevLimitActive = bits, U32, 1256, [0:0] -etbDutyRateOfChange = scalar, F32, 1260, "", 1, 0 -etbDutyAverage = scalar, F32, 1264, "", 1, 0 -etbTpsErrorCounter = scalar, U16, 1268, "", 1, 0 -etbPpsErrorCounter = scalar, U16, 1270, "", 1, 0 -etbErrorCode = scalar, S08, 1272, "", 1, 0 -; total TS size = 1276 -faultCode = scalar, U08, 1276, "", 1, 0 -heaterDuty = scalar, U08, 1277, "%", 1, 0 -pumpDuty = scalar, U08, 1278, "%", 1, 0 -tempC = scalar, U16, 1280, "C", 1, 0 -nernstVoltage = scalar, U16, 1282, "V", 0.001, 0 -esr = scalar, U16, 1284, "", 1, 0 -; total TS size = 1288 +m_hasSynchronizedPhase = bits, U32, 1164, [0:0] +; total TS size = 1168 +wallFuelCorrection = scalar, F32, 1168, "", 1, 0 +wallFuel = scalar, F32, 1172, "", 1, 0 +; total TS size = 1176 +idleState = bits, S32, 1176, [0:2], "not important" +currentIdlePosition = scalar, F32, 1180 +baseIdlePosition = scalar, F32, 1184 +iacByTpsTaper = scalar, F32, 1188 +throttlePedalUpState = scalar, S32, 1192, "", 1, 0 +mightResetPid = bits, U32, 1196, [0:0] +shouldResetPid = bits, U32, 1196, [1:1] +wasResetPid = bits, U32, 1196, [2:2] +mustResetPid = bits, U32, 1196, [3:3] +isCranking = bits, U32, 1196, [4:4] +isIacTableForCoasting = bits, U32, 1196, [5:5] +notIdling = bits, U32, 1196, [6:6] +needReset = bits, U32, 1196, [7:7] +isInDeadZone = bits, U32, 1196, [8:8] +isBlipping = bits, U32, 1196, [9:9] +useClosedLoop = bits, U32, 1196, [10:10] +badTps = bits, U32, 1196, [11:11] +looksLikeRunning = bits, U32, 1196, [12:12] +looksLikeCoasting = bits, U32, 1196, [13:13] +looksLikeCrankToIdle = bits, U32, 1196, [14:14] +isVerboseIAC = bits, U32, 1196, [15:15] +isIdleCoasting = bits, U32, 1196, [16:16] +targetRpmByClt = scalar, S32, 1200, "", 1, 0 +targetRpmAcBump = scalar, S32, 1204, "", 1, 0 +iacByRpmTaper = scalar, F32, 1208 +luaAdd = scalar, F32, 1212 +; total TS size = 1216 +baseDwell = scalar, F32, 1216, "", 1, 0 +dwellVoltageCorrection = scalar, F32, 1220, "", 1, 0 +luaTimingAdd = scalar, F32, 1224, "", 1, 0 +luaTimingMult = scalar, F32, 1228, "", 1, 0 +; total TS size = 1232 +idlePosition = scalar, F32, 1232, "", 1, 0 +trim = scalar, F32, 1236, "", 1, 0 +luaAdjustment = scalar, F32, 1240, "", 1, 0 +etbFeedForward = scalar, F32, 1244 +etbIntegralError = scalar, F32, 1248, "", 1, 0 +etbCurrentTarget = scalar, F32, 1252, "%", 1, 0 +etbCurrentAdjustedTarget = scalar, F32, 1256, "%", 1, 0 +etbRevLimitActive = bits, U32, 1260, [0:0] +jamDetected = bits, U32, 1260, [1:1] +etbDutyRateOfChange = scalar, F32, 1264, "", 1, 0 +etbDutyAverage = scalar, F32, 1268, "", 1, 0 +etbTpsErrorCounter = scalar, U16, 1272, "", 1, 0 +etbPpsErrorCounter = scalar, U16, 1274, "", 1, 0 +etbErrorCode = scalar, S08, 1276, "", 1, 0 +jamTimer = scalar, U16, 1278, "sec", 0.01, 0 +; total TS size = 1280 +faultCode = scalar, U08, 1280, "", 1, 0 +heaterDuty = scalar, U08, 1281, "%", 1, 0 +pumpDuty = scalar, U08, 1282, "%", 1, 0 +tempC = scalar, U16, 1284, "C", 1, 0 +nernstVoltage = scalar, U16, 1286, "V", 0.001, 0 +esr = scalar, U16, 1288, "", 1, 0 +; total TS size = 1292 time = { timeNow } @@ -4750,6 +4754,7 @@ entry = mapVvt_MAP_AT_CYCLE_COUNT, "mapVvt_MAP_AT_CYCLE_COUNT", int, "%d" entry = mapVvt_map_peak, "mapVvt_map_peak", int, "%d" entry = currentEngineDecodedPhase, "Engine Phase", float, "%.3f" entry = triggerToothAngleError, "triggerToothAngleError", float, "%.3f" +entry = triggerIgnoredToothCount, "triggerIgnoredToothCount", int, "%d" entry = crankSynchronizationCounter, "Crank sync counter", int, "%d" entry = vvtSyncGapRatio, "vvtSyncGapRatio", float, "%.3f" entry = vvtCurrentPosition, "vvtCurrentPosition", float, "%.3f" @@ -4799,11 +4804,13 @@ entry = etbIntegralError, "etbIntegralError", float, "%.3f" entry = etbCurrentTarget, "etbCurrentTarget", float, "%.3f" entry = etbCurrentAdjustedTarget, "etbCurrentAdjustedTarget", float, "%.3f" entry = etbRevLimitActive, "etbRevLimitActive", int, "%d" +entry = jamDetected, "jamDetected", int, "%d" entry = etbDutyRateOfChange, "etbDutyRateOfChange", float, "%.3f" entry = etbDutyAverage, "etbDutyAverage", float, "%.3f" entry = etbTpsErrorCounter, "ETB TPS error counter", int, "%d" entry = etbPpsErrorCounter, "ETB pedal error counter", int, "%d" entry = etbErrorCode, "etbErrorCode", int, "%d" +entry = jamTimer, "ETB jam timer", float, "%.3f" entry = faultCode, "faultCode", int, "%d" entry = heaterDuty, "heaterDuty", int, "%d" entry = pumpDuty, "pumpDuty", int, "%d" @@ -5567,6 +5574,7 @@ dialog = trigger_centralDialog, "trigger_central" graphLine = currentEngineDecodedPhase liveGraph = trigger_central_4_Graph, "Graph", South graphLine = triggerToothAngleError + graphLine = triggerIgnoredToothCount dialog = trigger_stateDialog, "trigger_state" @@ -5637,6 +5645,7 @@ dialog = ignition_stateDialog, "ignition_state" indicatorPanel = electronic_throttleIndicatorPanel, 2 indicator = {etbRevLimitActive}, "etbRevLimitActive No", "etbRevLimitActive Yes" + indicator = {jamDetected}, "jamDetected No", "jamDetected Yes" dialog = electronic_throttleDialog, "electronic_throttle" panel = electronic_throttleIndicatorPanel @@ -5655,6 +5664,8 @@ dialog = electronic_throttleDialog, "electronic_throttle" graphLine = etbTpsErrorCounter graphLine = etbPpsErrorCounter graphLine = etbErrorCode + liveGraph = electronic_throttle_4_Graph, "Graph", South + graphLine = jamTimer dialog = wideband_stateDialog, "wideband_state" @@ -5844,6 +5855,7 @@ dialog = wideband_stateDialog, "wideband_state" field = "Do not print messages in case of sync error", silentTriggerError field = "Focus on inputs in engine sniffer", engineSnifferFocusOnInputs field = "Enable noise filtering", useNoiselessTriggerDecoder, {trigger_type == 8 || trigger_type == 9} + field = "Trigger Edge Filter", doNotFilterTriggerEdgeNoise dialog = triggerInputs, "Trigger Inputs" field = "#Cam is primary if you have cam sensor as part of trigger shape" diff --git a/firmware/tunerstudio/generated/rusefi_hellen121nissan.ini b/firmware/tunerstudio/generated/rusefi_hellen121nissan.ini index eb306e8f35..36c9aaf223 100644 --- a/firmware/tunerstudio/generated/rusefi_hellen121nissan.ini +++ b/firmware/tunerstudio/generated/rusefi_hellen121nissan.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2023.01.10.hellen121nissan.snap_41833" + signature = "rusEFI 2023.01.10.hellen121nissan.snap_46050" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI 2023.01.10.hellen121nissan.snap_41833" ; signature is expected to be 7 or more characters. + signature= "rusEFI 2023.01.10.hellen121nissan.snap_46050" ; 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 @@ -86,7 +86,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 19:59:20 UTC 2023 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 21:34:55 UTC 2023 pageSize = 22368 page = 1 @@ -126,7 +126,7 @@ useTLE8888_cranking_hack = bits, U32, 120, [17:17], "false", "true" kickStartCranking = bits, U32, 120, [18:18], "false", "true" useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [19:19], "false", "true" launchControlEnabled = bits, U32, 120, [20:20], "false", "true" -anotherUnusedHere444 = bits, U32, 120, [21:21], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 120, [21:21], "with filter", "without filter" antiLagEnabled = bits, U32, 120, [22:22], "false", "true" useRunningMathForCranking = bits, U32, 120, [23:23], "Fixed", "Fuel Map" displayLogicLevelsInEngineSniffer = bits, U32, 120, [24:24], "false", "true" @@ -1469,6 +1469,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 cj125isUrDivided = "Is your UR CJ125 output wired to MCU via resistor divider?\nLooks like 3v range should be enough, divider generally not needed." useCicPidForIdle = "Switch between Industrial and Cic PID implementation" useSeparateIdleTablesForCrankingTaper = "This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration)." + doNotFilterTriggerEdgeNoise = "Detect double trigger edges" useRunningMathForCranking = "For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table)." displayLogicLevelsInEngineSniffer = "Shall we display real life signal or just the part consumed by trigger decoder.\nApplies to both trigger and cam/vvt input.\n\nenable logic_level_trigger" enableMapEstimationTableFallback = "If enabled, the MAP estimate table will be used if the MAP sensor fails to estimate manifold pressure based on RPM and TPS." @@ -2201,7 +2202,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1288 + ochBlockSize = 1292 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -2848,74 +2849,77 @@ mapVvt_MAP_AT_CYCLE_COUNT = scalar, U08, 1128, "", 1, 0 mapVvt_map_peak = scalar, U08, 1129, "", 1, 0 currentEngineDecodedPhase = scalar, F32, 1132, "deg", 1, 0 triggerToothAngleError = scalar, F32, 1136, "deg", 1, 0 -; total TS size = 1140 -crankSynchronizationCounter = scalar, U32, 1140, "", 1, 0 -vvtSyncGapRatio = scalar, F32, 1144, "", 1, 0 -vvtCurrentPosition = scalar, F32, 1148, "", 1, 0 -triggerSyncGapRatio = scalar, F32, 1152, "", 1, 0 -triggerStateIndex = scalar, U08, 1156, "", 1, 0 -vvtCounter = scalar, U08, 1157, "", 1, 0 -camResyncCounter = scalar, U08, 1158, "", 1, 0 -vvtStateIndex = scalar, U08, 1159, "", 1, 0 -; total TS size = 1160 -m_hasSynchronizedPhase = bits, U32, 1160, [0:0] +triggerIgnoredToothCount = scalar, U08, 1140, "", 1, 0 +; total TS size = 1144 +crankSynchronizationCounter = scalar, U32, 1144, "", 1, 0 +vvtSyncGapRatio = scalar, F32, 1148, "", 1, 0 +vvtCurrentPosition = scalar, F32, 1152, "", 1, 0 +triggerSyncGapRatio = scalar, F32, 1156, "", 1, 0 +triggerStateIndex = scalar, U08, 1160, "", 1, 0 +vvtCounter = scalar, U08, 1161, "", 1, 0 +camResyncCounter = scalar, U08, 1162, "", 1, 0 +vvtStateIndex = scalar, U08, 1163, "", 1, 0 ; total TS size = 1164 -wallFuelCorrection = scalar, F32, 1164, "", 1, 0 -wallFuel = scalar, F32, 1168, "", 1, 0 -; total TS size = 1172 -idleState = bits, S32, 1172, [0:2], "not important" -currentIdlePosition = scalar, F32, 1176 -baseIdlePosition = scalar, F32, 1180 -iacByTpsTaper = scalar, F32, 1184 -throttlePedalUpState = scalar, S32, 1188, "", 1, 0 -mightResetPid = bits, U32, 1192, [0:0] -shouldResetPid = bits, U32, 1192, [1:1] -wasResetPid = bits, U32, 1192, [2:2] -mustResetPid = bits, U32, 1192, [3:3] -isCranking = bits, U32, 1192, [4:4] -isIacTableForCoasting = bits, U32, 1192, [5:5] -notIdling = bits, U32, 1192, [6:6] -needReset = bits, U32, 1192, [7:7] -isInDeadZone = bits, U32, 1192, [8:8] -isBlipping = bits, U32, 1192, [9:9] -useClosedLoop = bits, U32, 1192, [10:10] -badTps = bits, U32, 1192, [11:11] -looksLikeRunning = bits, U32, 1192, [12:12] -looksLikeCoasting = bits, U32, 1192, [13:13] -looksLikeCrankToIdle = bits, U32, 1192, [14:14] -isVerboseIAC = bits, U32, 1192, [15:15] -isIdleCoasting = bits, U32, 1192, [16:16] -targetRpmByClt = scalar, S32, 1196, "", 1, 0 -targetRpmAcBump = scalar, S32, 1200, "", 1, 0 -iacByRpmTaper = scalar, F32, 1204 -luaAdd = scalar, F32, 1208 -; total TS size = 1212 -baseDwell = scalar, F32, 1212, "", 1, 0 -dwellVoltageCorrection = scalar, F32, 1216, "", 1, 0 -luaTimingAdd = scalar, F32, 1220, "", 1, 0 -luaTimingMult = scalar, F32, 1224, "", 1, 0 -; total TS size = 1228 -idlePosition = scalar, F32, 1228, "", 1, 0 -trim = scalar, F32, 1232, "", 1, 0 -luaAdjustment = scalar, F32, 1236, "", 1, 0 -etbFeedForward = scalar, F32, 1240 -etbIntegralError = scalar, F32, 1244, "", 1, 0 -etbCurrentTarget = scalar, F32, 1248, "%", 1, 0 -etbCurrentAdjustedTarget = scalar, F32, 1252, "%", 1, 0 -etbRevLimitActive = bits, U32, 1256, [0:0] -etbDutyRateOfChange = scalar, F32, 1260, "", 1, 0 -etbDutyAverage = scalar, F32, 1264, "", 1, 0 -etbTpsErrorCounter = scalar, U16, 1268, "", 1, 0 -etbPpsErrorCounter = scalar, U16, 1270, "", 1, 0 -etbErrorCode = scalar, S08, 1272, "", 1, 0 -; total TS size = 1276 -faultCode = scalar, U08, 1276, "", 1, 0 -heaterDuty = scalar, U08, 1277, "%", 1, 0 -pumpDuty = scalar, U08, 1278, "%", 1, 0 -tempC = scalar, U16, 1280, "C", 1, 0 -nernstVoltage = scalar, U16, 1282, "V", 0.001, 0 -esr = scalar, U16, 1284, "", 1, 0 -; total TS size = 1288 +m_hasSynchronizedPhase = bits, U32, 1164, [0:0] +; total TS size = 1168 +wallFuelCorrection = scalar, F32, 1168, "", 1, 0 +wallFuel = scalar, F32, 1172, "", 1, 0 +; total TS size = 1176 +idleState = bits, S32, 1176, [0:2], "not important" +currentIdlePosition = scalar, F32, 1180 +baseIdlePosition = scalar, F32, 1184 +iacByTpsTaper = scalar, F32, 1188 +throttlePedalUpState = scalar, S32, 1192, "", 1, 0 +mightResetPid = bits, U32, 1196, [0:0] +shouldResetPid = bits, U32, 1196, [1:1] +wasResetPid = bits, U32, 1196, [2:2] +mustResetPid = bits, U32, 1196, [3:3] +isCranking = bits, U32, 1196, [4:4] +isIacTableForCoasting = bits, U32, 1196, [5:5] +notIdling = bits, U32, 1196, [6:6] +needReset = bits, U32, 1196, [7:7] +isInDeadZone = bits, U32, 1196, [8:8] +isBlipping = bits, U32, 1196, [9:9] +useClosedLoop = bits, U32, 1196, [10:10] +badTps = bits, U32, 1196, [11:11] +looksLikeRunning = bits, U32, 1196, [12:12] +looksLikeCoasting = bits, U32, 1196, [13:13] +looksLikeCrankToIdle = bits, U32, 1196, [14:14] +isVerboseIAC = bits, U32, 1196, [15:15] +isIdleCoasting = bits, U32, 1196, [16:16] +targetRpmByClt = scalar, S32, 1200, "", 1, 0 +targetRpmAcBump = scalar, S32, 1204, "", 1, 0 +iacByRpmTaper = scalar, F32, 1208 +luaAdd = scalar, F32, 1212 +; total TS size = 1216 +baseDwell = scalar, F32, 1216, "", 1, 0 +dwellVoltageCorrection = scalar, F32, 1220, "", 1, 0 +luaTimingAdd = scalar, F32, 1224, "", 1, 0 +luaTimingMult = scalar, F32, 1228, "", 1, 0 +; total TS size = 1232 +idlePosition = scalar, F32, 1232, "", 1, 0 +trim = scalar, F32, 1236, "", 1, 0 +luaAdjustment = scalar, F32, 1240, "", 1, 0 +etbFeedForward = scalar, F32, 1244 +etbIntegralError = scalar, F32, 1248, "", 1, 0 +etbCurrentTarget = scalar, F32, 1252, "%", 1, 0 +etbCurrentAdjustedTarget = scalar, F32, 1256, "%", 1, 0 +etbRevLimitActive = bits, U32, 1260, [0:0] +jamDetected = bits, U32, 1260, [1:1] +etbDutyRateOfChange = scalar, F32, 1264, "", 1, 0 +etbDutyAverage = scalar, F32, 1268, "", 1, 0 +etbTpsErrorCounter = scalar, U16, 1272, "", 1, 0 +etbPpsErrorCounter = scalar, U16, 1274, "", 1, 0 +etbErrorCode = scalar, S08, 1276, "", 1, 0 +jamTimer = scalar, U16, 1278, "sec", 0.01, 0 +; total TS size = 1280 +faultCode = scalar, U08, 1280, "", 1, 0 +heaterDuty = scalar, U08, 1281, "%", 1, 0 +pumpDuty = scalar, U08, 1282, "%", 1, 0 +tempC = scalar, U16, 1284, "C", 1, 0 +nernstVoltage = scalar, U16, 1286, "V", 0.001, 0 +esr = scalar, U16, 1288, "", 1, 0 +; total TS size = 1292 time = { timeNow } @@ -4750,6 +4754,7 @@ entry = mapVvt_MAP_AT_CYCLE_COUNT, "mapVvt_MAP_AT_CYCLE_COUNT", int, "%d" entry = mapVvt_map_peak, "mapVvt_map_peak", int, "%d" entry = currentEngineDecodedPhase, "Engine Phase", float, "%.3f" entry = triggerToothAngleError, "triggerToothAngleError", float, "%.3f" +entry = triggerIgnoredToothCount, "triggerIgnoredToothCount", int, "%d" entry = crankSynchronizationCounter, "Crank sync counter", int, "%d" entry = vvtSyncGapRatio, "vvtSyncGapRatio", float, "%.3f" entry = vvtCurrentPosition, "vvtCurrentPosition", float, "%.3f" @@ -4799,11 +4804,13 @@ entry = etbIntegralError, "etbIntegralError", float, "%.3f" entry = etbCurrentTarget, "etbCurrentTarget", float, "%.3f" entry = etbCurrentAdjustedTarget, "etbCurrentAdjustedTarget", float, "%.3f" entry = etbRevLimitActive, "etbRevLimitActive", int, "%d" +entry = jamDetected, "jamDetected", int, "%d" entry = etbDutyRateOfChange, "etbDutyRateOfChange", float, "%.3f" entry = etbDutyAverage, "etbDutyAverage", float, "%.3f" entry = etbTpsErrorCounter, "ETB TPS error counter", int, "%d" entry = etbPpsErrorCounter, "ETB pedal error counter", int, "%d" entry = etbErrorCode, "etbErrorCode", int, "%d" +entry = jamTimer, "ETB jam timer", float, "%.3f" entry = faultCode, "faultCode", int, "%d" entry = heaterDuty, "heaterDuty", int, "%d" entry = pumpDuty, "pumpDuty", int, "%d" @@ -5567,6 +5574,7 @@ dialog = trigger_centralDialog, "trigger_central" graphLine = currentEngineDecodedPhase liveGraph = trigger_central_4_Graph, "Graph", South graphLine = triggerToothAngleError + graphLine = triggerIgnoredToothCount dialog = trigger_stateDialog, "trigger_state" @@ -5637,6 +5645,7 @@ dialog = ignition_stateDialog, "ignition_state" indicatorPanel = electronic_throttleIndicatorPanel, 2 indicator = {etbRevLimitActive}, "etbRevLimitActive No", "etbRevLimitActive Yes" + indicator = {jamDetected}, "jamDetected No", "jamDetected Yes" dialog = electronic_throttleDialog, "electronic_throttle" panel = electronic_throttleIndicatorPanel @@ -5655,6 +5664,8 @@ dialog = electronic_throttleDialog, "electronic_throttle" graphLine = etbTpsErrorCounter graphLine = etbPpsErrorCounter graphLine = etbErrorCode + liveGraph = electronic_throttle_4_Graph, "Graph", South + graphLine = jamTimer dialog = wideband_stateDialog, "wideband_state" @@ -5843,6 +5854,7 @@ dialog = wideband_stateDialog, "wideband_state" field = "Do not print messages in case of sync error", silentTriggerError field = "Focus on inputs in engine sniffer", engineSnifferFocusOnInputs field = "Enable noise filtering", useNoiselessTriggerDecoder, {trigger_type == 8 || trigger_type == 9} + field = "Trigger Edge Filter", doNotFilterTriggerEdgeNoise dialog = triggerInputs, "Trigger Inputs" field = "#Cam is primary if you have cam sensor as part of trigger shape" diff --git a/firmware/tunerstudio/generated/rusefi_hellen121vag.ini b/firmware/tunerstudio/generated/rusefi_hellen121vag.ini index 6a0e1a4b5d..b8c09150bf 100644 --- a/firmware/tunerstudio/generated/rusefi_hellen121vag.ini +++ b/firmware/tunerstudio/generated/rusefi_hellen121vag.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2023.01.10.hellen121vag.snap_51686" + signature = "rusEFI 2023.01.10.hellen121vag.snap_55661" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI 2023.01.10.hellen121vag.snap_51686" ; signature is expected to be 7 or more characters. + signature= "rusEFI 2023.01.10.hellen121vag.snap_55661" ; 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 @@ -86,7 +86,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 19:59:19 UTC 2023 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 21:34:54 UTC 2023 pageSize = 22368 page = 1 @@ -126,7 +126,7 @@ useTLE8888_cranking_hack = bits, U32, 120, [17:17], "false", "true" kickStartCranking = bits, U32, 120, [18:18], "false", "true" useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [19:19], "false", "true" launchControlEnabled = bits, U32, 120, [20:20], "false", "true" -anotherUnusedHere444 = bits, U32, 120, [21:21], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 120, [21:21], "with filter", "without filter" antiLagEnabled = bits, U32, 120, [22:22], "false", "true" useRunningMathForCranking = bits, U32, 120, [23:23], "Fixed", "Fuel Map" displayLogicLevelsInEngineSniffer = bits, U32, 120, [24:24], "false", "true" @@ -1469,6 +1469,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 cj125isUrDivided = "Is your UR CJ125 output wired to MCU via resistor divider?\nLooks like 3v range should be enough, divider generally not needed." useCicPidForIdle = "Switch between Industrial and Cic PID implementation" useSeparateIdleTablesForCrankingTaper = "This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration)." + doNotFilterTriggerEdgeNoise = "Detect double trigger edges" useRunningMathForCranking = "For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table)." displayLogicLevelsInEngineSniffer = "Shall we display real life signal or just the part consumed by trigger decoder.\nApplies to both trigger and cam/vvt input.\n\nenable logic_level_trigger" enableMapEstimationTableFallback = "If enabled, the MAP estimate table will be used if the MAP sensor fails to estimate manifold pressure based on RPM and TPS." @@ -2201,7 +2202,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1288 + ochBlockSize = 1292 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -2848,74 +2849,77 @@ mapVvt_MAP_AT_CYCLE_COUNT = scalar, U08, 1128, "", 1, 0 mapVvt_map_peak = scalar, U08, 1129, "", 1, 0 currentEngineDecodedPhase = scalar, F32, 1132, "deg", 1, 0 triggerToothAngleError = scalar, F32, 1136, "deg", 1, 0 -; total TS size = 1140 -crankSynchronizationCounter = scalar, U32, 1140, "", 1, 0 -vvtSyncGapRatio = scalar, F32, 1144, "", 1, 0 -vvtCurrentPosition = scalar, F32, 1148, "", 1, 0 -triggerSyncGapRatio = scalar, F32, 1152, "", 1, 0 -triggerStateIndex = scalar, U08, 1156, "", 1, 0 -vvtCounter = scalar, U08, 1157, "", 1, 0 -camResyncCounter = scalar, U08, 1158, "", 1, 0 -vvtStateIndex = scalar, U08, 1159, "", 1, 0 -; total TS size = 1160 -m_hasSynchronizedPhase = bits, U32, 1160, [0:0] +triggerIgnoredToothCount = scalar, U08, 1140, "", 1, 0 +; total TS size = 1144 +crankSynchronizationCounter = scalar, U32, 1144, "", 1, 0 +vvtSyncGapRatio = scalar, F32, 1148, "", 1, 0 +vvtCurrentPosition = scalar, F32, 1152, "", 1, 0 +triggerSyncGapRatio = scalar, F32, 1156, "", 1, 0 +triggerStateIndex = scalar, U08, 1160, "", 1, 0 +vvtCounter = scalar, U08, 1161, "", 1, 0 +camResyncCounter = scalar, U08, 1162, "", 1, 0 +vvtStateIndex = scalar, U08, 1163, "", 1, 0 ; total TS size = 1164 -wallFuelCorrection = scalar, F32, 1164, "", 1, 0 -wallFuel = scalar, F32, 1168, "", 1, 0 -; total TS size = 1172 -idleState = bits, S32, 1172, [0:2], "not important" -currentIdlePosition = scalar, F32, 1176 -baseIdlePosition = scalar, F32, 1180 -iacByTpsTaper = scalar, F32, 1184 -throttlePedalUpState = scalar, S32, 1188, "", 1, 0 -mightResetPid = bits, U32, 1192, [0:0] -shouldResetPid = bits, U32, 1192, [1:1] -wasResetPid = bits, U32, 1192, [2:2] -mustResetPid = bits, U32, 1192, [3:3] -isCranking = bits, U32, 1192, [4:4] -isIacTableForCoasting = bits, U32, 1192, [5:5] -notIdling = bits, U32, 1192, [6:6] -needReset = bits, U32, 1192, [7:7] -isInDeadZone = bits, U32, 1192, [8:8] -isBlipping = bits, U32, 1192, [9:9] -useClosedLoop = bits, U32, 1192, [10:10] -badTps = bits, U32, 1192, [11:11] -looksLikeRunning = bits, U32, 1192, [12:12] -looksLikeCoasting = bits, U32, 1192, [13:13] -looksLikeCrankToIdle = bits, U32, 1192, [14:14] -isVerboseIAC = bits, U32, 1192, [15:15] -isIdleCoasting = bits, U32, 1192, [16:16] -targetRpmByClt = scalar, S32, 1196, "", 1, 0 -targetRpmAcBump = scalar, S32, 1200, "", 1, 0 -iacByRpmTaper = scalar, F32, 1204 -luaAdd = scalar, F32, 1208 -; total TS size = 1212 -baseDwell = scalar, F32, 1212, "", 1, 0 -dwellVoltageCorrection = scalar, F32, 1216, "", 1, 0 -luaTimingAdd = scalar, F32, 1220, "", 1, 0 -luaTimingMult = scalar, F32, 1224, "", 1, 0 -; total TS size = 1228 -idlePosition = scalar, F32, 1228, "", 1, 0 -trim = scalar, F32, 1232, "", 1, 0 -luaAdjustment = scalar, F32, 1236, "", 1, 0 -etbFeedForward = scalar, F32, 1240 -etbIntegralError = scalar, F32, 1244, "", 1, 0 -etbCurrentTarget = scalar, F32, 1248, "%", 1, 0 -etbCurrentAdjustedTarget = scalar, F32, 1252, "%", 1, 0 -etbRevLimitActive = bits, U32, 1256, [0:0] -etbDutyRateOfChange = scalar, F32, 1260, "", 1, 0 -etbDutyAverage = scalar, F32, 1264, "", 1, 0 -etbTpsErrorCounter = scalar, U16, 1268, "", 1, 0 -etbPpsErrorCounter = scalar, U16, 1270, "", 1, 0 -etbErrorCode = scalar, S08, 1272, "", 1, 0 -; total TS size = 1276 -faultCode = scalar, U08, 1276, "", 1, 0 -heaterDuty = scalar, U08, 1277, "%", 1, 0 -pumpDuty = scalar, U08, 1278, "%", 1, 0 -tempC = scalar, U16, 1280, "C", 1, 0 -nernstVoltage = scalar, U16, 1282, "V", 0.001, 0 -esr = scalar, U16, 1284, "", 1, 0 -; total TS size = 1288 +m_hasSynchronizedPhase = bits, U32, 1164, [0:0] +; total TS size = 1168 +wallFuelCorrection = scalar, F32, 1168, "", 1, 0 +wallFuel = scalar, F32, 1172, "", 1, 0 +; total TS size = 1176 +idleState = bits, S32, 1176, [0:2], "not important" +currentIdlePosition = scalar, F32, 1180 +baseIdlePosition = scalar, F32, 1184 +iacByTpsTaper = scalar, F32, 1188 +throttlePedalUpState = scalar, S32, 1192, "", 1, 0 +mightResetPid = bits, U32, 1196, [0:0] +shouldResetPid = bits, U32, 1196, [1:1] +wasResetPid = bits, U32, 1196, [2:2] +mustResetPid = bits, U32, 1196, [3:3] +isCranking = bits, U32, 1196, [4:4] +isIacTableForCoasting = bits, U32, 1196, [5:5] +notIdling = bits, U32, 1196, [6:6] +needReset = bits, U32, 1196, [7:7] +isInDeadZone = bits, U32, 1196, [8:8] +isBlipping = bits, U32, 1196, [9:9] +useClosedLoop = bits, U32, 1196, [10:10] +badTps = bits, U32, 1196, [11:11] +looksLikeRunning = bits, U32, 1196, [12:12] +looksLikeCoasting = bits, U32, 1196, [13:13] +looksLikeCrankToIdle = bits, U32, 1196, [14:14] +isVerboseIAC = bits, U32, 1196, [15:15] +isIdleCoasting = bits, U32, 1196, [16:16] +targetRpmByClt = scalar, S32, 1200, "", 1, 0 +targetRpmAcBump = scalar, S32, 1204, "", 1, 0 +iacByRpmTaper = scalar, F32, 1208 +luaAdd = scalar, F32, 1212 +; total TS size = 1216 +baseDwell = scalar, F32, 1216, "", 1, 0 +dwellVoltageCorrection = scalar, F32, 1220, "", 1, 0 +luaTimingAdd = scalar, F32, 1224, "", 1, 0 +luaTimingMult = scalar, F32, 1228, "", 1, 0 +; total TS size = 1232 +idlePosition = scalar, F32, 1232, "", 1, 0 +trim = scalar, F32, 1236, "", 1, 0 +luaAdjustment = scalar, F32, 1240, "", 1, 0 +etbFeedForward = scalar, F32, 1244 +etbIntegralError = scalar, F32, 1248, "", 1, 0 +etbCurrentTarget = scalar, F32, 1252, "%", 1, 0 +etbCurrentAdjustedTarget = scalar, F32, 1256, "%", 1, 0 +etbRevLimitActive = bits, U32, 1260, [0:0] +jamDetected = bits, U32, 1260, [1:1] +etbDutyRateOfChange = scalar, F32, 1264, "", 1, 0 +etbDutyAverage = scalar, F32, 1268, "", 1, 0 +etbTpsErrorCounter = scalar, U16, 1272, "", 1, 0 +etbPpsErrorCounter = scalar, U16, 1274, "", 1, 0 +etbErrorCode = scalar, S08, 1276, "", 1, 0 +jamTimer = scalar, U16, 1278, "sec", 0.01, 0 +; total TS size = 1280 +faultCode = scalar, U08, 1280, "", 1, 0 +heaterDuty = scalar, U08, 1281, "%", 1, 0 +pumpDuty = scalar, U08, 1282, "%", 1, 0 +tempC = scalar, U16, 1284, "C", 1, 0 +nernstVoltage = scalar, U16, 1286, "V", 0.001, 0 +esr = scalar, U16, 1288, "", 1, 0 +; total TS size = 1292 time = { timeNow } @@ -4750,6 +4754,7 @@ entry = mapVvt_MAP_AT_CYCLE_COUNT, "mapVvt_MAP_AT_CYCLE_COUNT", int, "%d" entry = mapVvt_map_peak, "mapVvt_map_peak", int, "%d" entry = currentEngineDecodedPhase, "Engine Phase", float, "%.3f" entry = triggerToothAngleError, "triggerToothAngleError", float, "%.3f" +entry = triggerIgnoredToothCount, "triggerIgnoredToothCount", int, "%d" entry = crankSynchronizationCounter, "Crank sync counter", int, "%d" entry = vvtSyncGapRatio, "vvtSyncGapRatio", float, "%.3f" entry = vvtCurrentPosition, "vvtCurrentPosition", float, "%.3f" @@ -4799,11 +4804,13 @@ entry = etbIntegralError, "etbIntegralError", float, "%.3f" entry = etbCurrentTarget, "etbCurrentTarget", float, "%.3f" entry = etbCurrentAdjustedTarget, "etbCurrentAdjustedTarget", float, "%.3f" entry = etbRevLimitActive, "etbRevLimitActive", int, "%d" +entry = jamDetected, "jamDetected", int, "%d" entry = etbDutyRateOfChange, "etbDutyRateOfChange", float, "%.3f" entry = etbDutyAverage, "etbDutyAverage", float, "%.3f" entry = etbTpsErrorCounter, "ETB TPS error counter", int, "%d" entry = etbPpsErrorCounter, "ETB pedal error counter", int, "%d" entry = etbErrorCode, "etbErrorCode", int, "%d" +entry = jamTimer, "ETB jam timer", float, "%.3f" entry = faultCode, "faultCode", int, "%d" entry = heaterDuty, "heaterDuty", int, "%d" entry = pumpDuty, "pumpDuty", int, "%d" @@ -5567,6 +5574,7 @@ dialog = trigger_centralDialog, "trigger_central" graphLine = currentEngineDecodedPhase liveGraph = trigger_central_4_Graph, "Graph", South graphLine = triggerToothAngleError + graphLine = triggerIgnoredToothCount dialog = trigger_stateDialog, "trigger_state" @@ -5637,6 +5645,7 @@ dialog = ignition_stateDialog, "ignition_state" indicatorPanel = electronic_throttleIndicatorPanel, 2 indicator = {etbRevLimitActive}, "etbRevLimitActive No", "etbRevLimitActive Yes" + indicator = {jamDetected}, "jamDetected No", "jamDetected Yes" dialog = electronic_throttleDialog, "electronic_throttle" panel = electronic_throttleIndicatorPanel @@ -5655,6 +5664,8 @@ dialog = electronic_throttleDialog, "electronic_throttle" graphLine = etbTpsErrorCounter graphLine = etbPpsErrorCounter graphLine = etbErrorCode + liveGraph = electronic_throttle_4_Graph, "Graph", South + graphLine = jamTimer dialog = wideband_stateDialog, "wideband_state" @@ -5844,6 +5855,7 @@ dialog = wideband_stateDialog, "wideband_state" field = "Do not print messages in case of sync error", silentTriggerError field = "Focus on inputs in engine sniffer", engineSnifferFocusOnInputs field = "Enable noise filtering", useNoiselessTriggerDecoder, {trigger_type == 8 || trigger_type == 9} + field = "Trigger Edge Filter", doNotFilterTriggerEdgeNoise dialog = triggerInputs, "Trigger Inputs" field = "#Cam is primary if you have cam sensor as part of trigger shape" diff --git a/firmware/tunerstudio/generated/rusefi_hellen128mercedes.ini b/firmware/tunerstudio/generated/rusefi_hellen128mercedes.ini index 68cca082d1..b4517b56b3 100644 --- a/firmware/tunerstudio/generated/rusefi_hellen128mercedes.ini +++ b/firmware/tunerstudio/generated/rusefi_hellen128mercedes.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2023.01.10.hellen128.snap_9152" + signature = "rusEFI 2023.01.10.hellen128.snap_13131" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI 2023.01.10.hellen128.snap_9152" ; signature is expected to be 7 or more characters. + signature= "rusEFI 2023.01.10.hellen128.snap_13131" ; 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 @@ -86,7 +86,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 19:59:17 UTC 2023 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 21:34:53 UTC 2023 pageSize = 22368 page = 1 @@ -126,7 +126,7 @@ useTLE8888_cranking_hack = bits, U32, 120, [17:17], "false", "true" kickStartCranking = bits, U32, 120, [18:18], "false", "true" useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [19:19], "false", "true" launchControlEnabled = bits, U32, 120, [20:20], "false", "true" -anotherUnusedHere444 = bits, U32, 120, [21:21], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 120, [21:21], "with filter", "without filter" antiLagEnabled = bits, U32, 120, [22:22], "false", "true" useRunningMathForCranking = bits, U32, 120, [23:23], "Fixed", "Fuel Map" displayLogicLevelsInEngineSniffer = bits, U32, 120, [24:24], "false", "true" @@ -1469,6 +1469,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 cj125isUrDivided = "Is your UR CJ125 output wired to MCU via resistor divider?\nLooks like 3v range should be enough, divider generally not needed." useCicPidForIdle = "Switch between Industrial and Cic PID implementation" useSeparateIdleTablesForCrankingTaper = "This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration)." + doNotFilterTriggerEdgeNoise = "Detect double trigger edges" useRunningMathForCranking = "For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table)." displayLogicLevelsInEngineSniffer = "Shall we display real life signal or just the part consumed by trigger decoder.\nApplies to both trigger and cam/vvt input.\n\nenable logic_level_trigger" enableMapEstimationTableFallback = "If enabled, the MAP estimate table will be used if the MAP sensor fails to estimate manifold pressure based on RPM and TPS." @@ -2201,7 +2202,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1288 + ochBlockSize = 1292 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -2848,74 +2849,77 @@ mapVvt_MAP_AT_CYCLE_COUNT = scalar, U08, 1128, "", 1, 0 mapVvt_map_peak = scalar, U08, 1129, "", 1, 0 currentEngineDecodedPhase = scalar, F32, 1132, "deg", 1, 0 triggerToothAngleError = scalar, F32, 1136, "deg", 1, 0 -; total TS size = 1140 -crankSynchronizationCounter = scalar, U32, 1140, "", 1, 0 -vvtSyncGapRatio = scalar, F32, 1144, "", 1, 0 -vvtCurrentPosition = scalar, F32, 1148, "", 1, 0 -triggerSyncGapRatio = scalar, F32, 1152, "", 1, 0 -triggerStateIndex = scalar, U08, 1156, "", 1, 0 -vvtCounter = scalar, U08, 1157, "", 1, 0 -camResyncCounter = scalar, U08, 1158, "", 1, 0 -vvtStateIndex = scalar, U08, 1159, "", 1, 0 -; total TS size = 1160 -m_hasSynchronizedPhase = bits, U32, 1160, [0:0] +triggerIgnoredToothCount = scalar, U08, 1140, "", 1, 0 +; total TS size = 1144 +crankSynchronizationCounter = scalar, U32, 1144, "", 1, 0 +vvtSyncGapRatio = scalar, F32, 1148, "", 1, 0 +vvtCurrentPosition = scalar, F32, 1152, "", 1, 0 +triggerSyncGapRatio = scalar, F32, 1156, "", 1, 0 +triggerStateIndex = scalar, U08, 1160, "", 1, 0 +vvtCounter = scalar, U08, 1161, "", 1, 0 +camResyncCounter = scalar, U08, 1162, "", 1, 0 +vvtStateIndex = scalar, U08, 1163, "", 1, 0 ; total TS size = 1164 -wallFuelCorrection = scalar, F32, 1164, "", 1, 0 -wallFuel = scalar, F32, 1168, "", 1, 0 -; total TS size = 1172 -idleState = bits, S32, 1172, [0:2], "not important" -currentIdlePosition = scalar, F32, 1176 -baseIdlePosition = scalar, F32, 1180 -iacByTpsTaper = scalar, F32, 1184 -throttlePedalUpState = scalar, S32, 1188, "", 1, 0 -mightResetPid = bits, U32, 1192, [0:0] -shouldResetPid = bits, U32, 1192, [1:1] -wasResetPid = bits, U32, 1192, [2:2] -mustResetPid = bits, U32, 1192, [3:3] -isCranking = bits, U32, 1192, [4:4] -isIacTableForCoasting = bits, U32, 1192, [5:5] -notIdling = bits, U32, 1192, [6:6] -needReset = bits, U32, 1192, [7:7] -isInDeadZone = bits, U32, 1192, [8:8] -isBlipping = bits, U32, 1192, [9:9] -useClosedLoop = bits, U32, 1192, [10:10] -badTps = bits, U32, 1192, [11:11] -looksLikeRunning = bits, U32, 1192, [12:12] -looksLikeCoasting = bits, U32, 1192, [13:13] -looksLikeCrankToIdle = bits, U32, 1192, [14:14] -isVerboseIAC = bits, U32, 1192, [15:15] -isIdleCoasting = bits, U32, 1192, [16:16] -targetRpmByClt = scalar, S32, 1196, "", 1, 0 -targetRpmAcBump = scalar, S32, 1200, "", 1, 0 -iacByRpmTaper = scalar, F32, 1204 -luaAdd = scalar, F32, 1208 -; total TS size = 1212 -baseDwell = scalar, F32, 1212, "", 1, 0 -dwellVoltageCorrection = scalar, F32, 1216, "", 1, 0 -luaTimingAdd = scalar, F32, 1220, "", 1, 0 -luaTimingMult = scalar, F32, 1224, "", 1, 0 -; total TS size = 1228 -idlePosition = scalar, F32, 1228, "", 1, 0 -trim = scalar, F32, 1232, "", 1, 0 -luaAdjustment = scalar, F32, 1236, "", 1, 0 -etbFeedForward = scalar, F32, 1240 -etbIntegralError = scalar, F32, 1244, "", 1, 0 -etbCurrentTarget = scalar, F32, 1248, "%", 1, 0 -etbCurrentAdjustedTarget = scalar, F32, 1252, "%", 1, 0 -etbRevLimitActive = bits, U32, 1256, [0:0] -etbDutyRateOfChange = scalar, F32, 1260, "", 1, 0 -etbDutyAverage = scalar, F32, 1264, "", 1, 0 -etbTpsErrorCounter = scalar, U16, 1268, "", 1, 0 -etbPpsErrorCounter = scalar, U16, 1270, "", 1, 0 -etbErrorCode = scalar, S08, 1272, "", 1, 0 -; total TS size = 1276 -faultCode = scalar, U08, 1276, "", 1, 0 -heaterDuty = scalar, U08, 1277, "%", 1, 0 -pumpDuty = scalar, U08, 1278, "%", 1, 0 -tempC = scalar, U16, 1280, "C", 1, 0 -nernstVoltage = scalar, U16, 1282, "V", 0.001, 0 -esr = scalar, U16, 1284, "", 1, 0 -; total TS size = 1288 +m_hasSynchronizedPhase = bits, U32, 1164, [0:0] +; total TS size = 1168 +wallFuelCorrection = scalar, F32, 1168, "", 1, 0 +wallFuel = scalar, F32, 1172, "", 1, 0 +; total TS size = 1176 +idleState = bits, S32, 1176, [0:2], "not important" +currentIdlePosition = scalar, F32, 1180 +baseIdlePosition = scalar, F32, 1184 +iacByTpsTaper = scalar, F32, 1188 +throttlePedalUpState = scalar, S32, 1192, "", 1, 0 +mightResetPid = bits, U32, 1196, [0:0] +shouldResetPid = bits, U32, 1196, [1:1] +wasResetPid = bits, U32, 1196, [2:2] +mustResetPid = bits, U32, 1196, [3:3] +isCranking = bits, U32, 1196, [4:4] +isIacTableForCoasting = bits, U32, 1196, [5:5] +notIdling = bits, U32, 1196, [6:6] +needReset = bits, U32, 1196, [7:7] +isInDeadZone = bits, U32, 1196, [8:8] +isBlipping = bits, U32, 1196, [9:9] +useClosedLoop = bits, U32, 1196, [10:10] +badTps = bits, U32, 1196, [11:11] +looksLikeRunning = bits, U32, 1196, [12:12] +looksLikeCoasting = bits, U32, 1196, [13:13] +looksLikeCrankToIdle = bits, U32, 1196, [14:14] +isVerboseIAC = bits, U32, 1196, [15:15] +isIdleCoasting = bits, U32, 1196, [16:16] +targetRpmByClt = scalar, S32, 1200, "", 1, 0 +targetRpmAcBump = scalar, S32, 1204, "", 1, 0 +iacByRpmTaper = scalar, F32, 1208 +luaAdd = scalar, F32, 1212 +; total TS size = 1216 +baseDwell = scalar, F32, 1216, "", 1, 0 +dwellVoltageCorrection = scalar, F32, 1220, "", 1, 0 +luaTimingAdd = scalar, F32, 1224, "", 1, 0 +luaTimingMult = scalar, F32, 1228, "", 1, 0 +; total TS size = 1232 +idlePosition = scalar, F32, 1232, "", 1, 0 +trim = scalar, F32, 1236, "", 1, 0 +luaAdjustment = scalar, F32, 1240, "", 1, 0 +etbFeedForward = scalar, F32, 1244 +etbIntegralError = scalar, F32, 1248, "", 1, 0 +etbCurrentTarget = scalar, F32, 1252, "%", 1, 0 +etbCurrentAdjustedTarget = scalar, F32, 1256, "%", 1, 0 +etbRevLimitActive = bits, U32, 1260, [0:0] +jamDetected = bits, U32, 1260, [1:1] +etbDutyRateOfChange = scalar, F32, 1264, "", 1, 0 +etbDutyAverage = scalar, F32, 1268, "", 1, 0 +etbTpsErrorCounter = scalar, U16, 1272, "", 1, 0 +etbPpsErrorCounter = scalar, U16, 1274, "", 1, 0 +etbErrorCode = scalar, S08, 1276, "", 1, 0 +jamTimer = scalar, U16, 1278, "sec", 0.01, 0 +; total TS size = 1280 +faultCode = scalar, U08, 1280, "", 1, 0 +heaterDuty = scalar, U08, 1281, "%", 1, 0 +pumpDuty = scalar, U08, 1282, "%", 1, 0 +tempC = scalar, U16, 1284, "C", 1, 0 +nernstVoltage = scalar, U16, 1286, "V", 0.001, 0 +esr = scalar, U16, 1288, "", 1, 0 +; total TS size = 1292 time = { timeNow } @@ -4750,6 +4754,7 @@ entry = mapVvt_MAP_AT_CYCLE_COUNT, "mapVvt_MAP_AT_CYCLE_COUNT", int, "%d" entry = mapVvt_map_peak, "mapVvt_map_peak", int, "%d" entry = currentEngineDecodedPhase, "Engine Phase", float, "%.3f" entry = triggerToothAngleError, "triggerToothAngleError", float, "%.3f" +entry = triggerIgnoredToothCount, "triggerIgnoredToothCount", int, "%d" entry = crankSynchronizationCounter, "Crank sync counter", int, "%d" entry = vvtSyncGapRatio, "vvtSyncGapRatio", float, "%.3f" entry = vvtCurrentPosition, "vvtCurrentPosition", float, "%.3f" @@ -4799,11 +4804,13 @@ entry = etbIntegralError, "etbIntegralError", float, "%.3f" entry = etbCurrentTarget, "etbCurrentTarget", float, "%.3f" entry = etbCurrentAdjustedTarget, "etbCurrentAdjustedTarget", float, "%.3f" entry = etbRevLimitActive, "etbRevLimitActive", int, "%d" +entry = jamDetected, "jamDetected", int, "%d" entry = etbDutyRateOfChange, "etbDutyRateOfChange", float, "%.3f" entry = etbDutyAverage, "etbDutyAverage", float, "%.3f" entry = etbTpsErrorCounter, "ETB TPS error counter", int, "%d" entry = etbPpsErrorCounter, "ETB pedal error counter", int, "%d" entry = etbErrorCode, "etbErrorCode", int, "%d" +entry = jamTimer, "ETB jam timer", float, "%.3f" entry = faultCode, "faultCode", int, "%d" entry = heaterDuty, "heaterDuty", int, "%d" entry = pumpDuty, "pumpDuty", int, "%d" @@ -5567,6 +5574,7 @@ dialog = trigger_centralDialog, "trigger_central" graphLine = currentEngineDecodedPhase liveGraph = trigger_central_4_Graph, "Graph", South graphLine = triggerToothAngleError + graphLine = triggerIgnoredToothCount dialog = trigger_stateDialog, "trigger_state" @@ -5637,6 +5645,7 @@ dialog = ignition_stateDialog, "ignition_state" indicatorPanel = electronic_throttleIndicatorPanel, 2 indicator = {etbRevLimitActive}, "etbRevLimitActive No", "etbRevLimitActive Yes" + indicator = {jamDetected}, "jamDetected No", "jamDetected Yes" dialog = electronic_throttleDialog, "electronic_throttle" panel = electronic_throttleIndicatorPanel @@ -5655,6 +5664,8 @@ dialog = electronic_throttleDialog, "electronic_throttle" graphLine = etbTpsErrorCounter graphLine = etbPpsErrorCounter graphLine = etbErrorCode + liveGraph = electronic_throttle_4_Graph, "Graph", South + graphLine = jamTimer dialog = wideband_stateDialog, "wideband_state" @@ -5843,6 +5854,7 @@ dialog = wideband_stateDialog, "wideband_state" field = "Do not print messages in case of sync error", silentTriggerError field = "Focus on inputs in engine sniffer", engineSnifferFocusOnInputs field = "Enable noise filtering", useNoiselessTriggerDecoder, {trigger_type == 8 || trigger_type == 9} + field = "Trigger Edge Filter", doNotFilterTriggerEdgeNoise dialog = triggerInputs, "Trigger Inputs" field = "#Cam is primary if you have cam sensor as part of trigger shape" diff --git a/firmware/tunerstudio/generated/rusefi_hellen154hyundai.ini b/firmware/tunerstudio/generated/rusefi_hellen154hyundai.ini index d1ab377e67..166b13306e 100644 --- a/firmware/tunerstudio/generated/rusefi_hellen154hyundai.ini +++ b/firmware/tunerstudio/generated/rusefi_hellen154hyundai.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2023.01.10.hellen154hyundai.snap_25624" + signature = "rusEFI 2023.01.10.hellen154hyundai.snap_29843" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI 2023.01.10.hellen154hyundai.snap_25624" ; signature is expected to be 7 or more characters. + signature= "rusEFI 2023.01.10.hellen154hyundai.snap_29843" ; 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 @@ -86,7 +86,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 19:59:21 UTC 2023 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 21:34:56 UTC 2023 pageSize = 22368 page = 1 @@ -126,7 +126,7 @@ useTLE8888_cranking_hack = bits, U32, 120, [17:17], "false", "true" kickStartCranking = bits, U32, 120, [18:18], "false", "true" useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [19:19], "false", "true" launchControlEnabled = bits, U32, 120, [20:20], "false", "true" -anotherUnusedHere444 = bits, U32, 120, [21:21], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 120, [21:21], "with filter", "without filter" antiLagEnabled = bits, U32, 120, [22:22], "false", "true" useRunningMathForCranking = bits, U32, 120, [23:23], "Fixed", "Fuel Map" displayLogicLevelsInEngineSniffer = bits, U32, 120, [24:24], "false", "true" @@ -1469,6 +1469,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 cj125isUrDivided = "Is your UR CJ125 output wired to MCU via resistor divider?\nLooks like 3v range should be enough, divider generally not needed." useCicPidForIdle = "Switch between Industrial and Cic PID implementation" useSeparateIdleTablesForCrankingTaper = "This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration)." + doNotFilterTriggerEdgeNoise = "Detect double trigger edges" useRunningMathForCranking = "For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table)." displayLogicLevelsInEngineSniffer = "Shall we display real life signal or just the part consumed by trigger decoder.\nApplies to both trigger and cam/vvt input.\n\nenable logic_level_trigger" enableMapEstimationTableFallback = "If enabled, the MAP estimate table will be used if the MAP sensor fails to estimate manifold pressure based on RPM and TPS." @@ -2201,7 +2202,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1288 + ochBlockSize = 1292 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -2848,74 +2849,77 @@ mapVvt_MAP_AT_CYCLE_COUNT = scalar, U08, 1128, "", 1, 0 mapVvt_map_peak = scalar, U08, 1129, "", 1, 0 currentEngineDecodedPhase = scalar, F32, 1132, "deg", 1, 0 triggerToothAngleError = scalar, F32, 1136, "deg", 1, 0 -; total TS size = 1140 -crankSynchronizationCounter = scalar, U32, 1140, "", 1, 0 -vvtSyncGapRatio = scalar, F32, 1144, "", 1, 0 -vvtCurrentPosition = scalar, F32, 1148, "", 1, 0 -triggerSyncGapRatio = scalar, F32, 1152, "", 1, 0 -triggerStateIndex = scalar, U08, 1156, "", 1, 0 -vvtCounter = scalar, U08, 1157, "", 1, 0 -camResyncCounter = scalar, U08, 1158, "", 1, 0 -vvtStateIndex = scalar, U08, 1159, "", 1, 0 -; total TS size = 1160 -m_hasSynchronizedPhase = bits, U32, 1160, [0:0] +triggerIgnoredToothCount = scalar, U08, 1140, "", 1, 0 +; total TS size = 1144 +crankSynchronizationCounter = scalar, U32, 1144, "", 1, 0 +vvtSyncGapRatio = scalar, F32, 1148, "", 1, 0 +vvtCurrentPosition = scalar, F32, 1152, "", 1, 0 +triggerSyncGapRatio = scalar, F32, 1156, "", 1, 0 +triggerStateIndex = scalar, U08, 1160, "", 1, 0 +vvtCounter = scalar, U08, 1161, "", 1, 0 +camResyncCounter = scalar, U08, 1162, "", 1, 0 +vvtStateIndex = scalar, U08, 1163, "", 1, 0 ; total TS size = 1164 -wallFuelCorrection = scalar, F32, 1164, "", 1, 0 -wallFuel = scalar, F32, 1168, "", 1, 0 -; total TS size = 1172 -idleState = bits, S32, 1172, [0:2], "not important" -currentIdlePosition = scalar, F32, 1176 -baseIdlePosition = scalar, F32, 1180 -iacByTpsTaper = scalar, F32, 1184 -throttlePedalUpState = scalar, S32, 1188, "", 1, 0 -mightResetPid = bits, U32, 1192, [0:0] -shouldResetPid = bits, U32, 1192, [1:1] -wasResetPid = bits, U32, 1192, [2:2] -mustResetPid = bits, U32, 1192, [3:3] -isCranking = bits, U32, 1192, [4:4] -isIacTableForCoasting = bits, U32, 1192, [5:5] -notIdling = bits, U32, 1192, [6:6] -needReset = bits, U32, 1192, [7:7] -isInDeadZone = bits, U32, 1192, [8:8] -isBlipping = bits, U32, 1192, [9:9] -useClosedLoop = bits, U32, 1192, [10:10] -badTps = bits, U32, 1192, [11:11] -looksLikeRunning = bits, U32, 1192, [12:12] -looksLikeCoasting = bits, U32, 1192, [13:13] -looksLikeCrankToIdle = bits, U32, 1192, [14:14] -isVerboseIAC = bits, U32, 1192, [15:15] -isIdleCoasting = bits, U32, 1192, [16:16] -targetRpmByClt = scalar, S32, 1196, "", 1, 0 -targetRpmAcBump = scalar, S32, 1200, "", 1, 0 -iacByRpmTaper = scalar, F32, 1204 -luaAdd = scalar, F32, 1208 -; total TS size = 1212 -baseDwell = scalar, F32, 1212, "", 1, 0 -dwellVoltageCorrection = scalar, F32, 1216, "", 1, 0 -luaTimingAdd = scalar, F32, 1220, "", 1, 0 -luaTimingMult = scalar, F32, 1224, "", 1, 0 -; total TS size = 1228 -idlePosition = scalar, F32, 1228, "", 1, 0 -trim = scalar, F32, 1232, "", 1, 0 -luaAdjustment = scalar, F32, 1236, "", 1, 0 -etbFeedForward = scalar, F32, 1240 -etbIntegralError = scalar, F32, 1244, "", 1, 0 -etbCurrentTarget = scalar, F32, 1248, "%", 1, 0 -etbCurrentAdjustedTarget = scalar, F32, 1252, "%", 1, 0 -etbRevLimitActive = bits, U32, 1256, [0:0] -etbDutyRateOfChange = scalar, F32, 1260, "", 1, 0 -etbDutyAverage = scalar, F32, 1264, "", 1, 0 -etbTpsErrorCounter = scalar, U16, 1268, "", 1, 0 -etbPpsErrorCounter = scalar, U16, 1270, "", 1, 0 -etbErrorCode = scalar, S08, 1272, "", 1, 0 -; total TS size = 1276 -faultCode = scalar, U08, 1276, "", 1, 0 -heaterDuty = scalar, U08, 1277, "%", 1, 0 -pumpDuty = scalar, U08, 1278, "%", 1, 0 -tempC = scalar, U16, 1280, "C", 1, 0 -nernstVoltage = scalar, U16, 1282, "V", 0.001, 0 -esr = scalar, U16, 1284, "", 1, 0 -; total TS size = 1288 +m_hasSynchronizedPhase = bits, U32, 1164, [0:0] +; total TS size = 1168 +wallFuelCorrection = scalar, F32, 1168, "", 1, 0 +wallFuel = scalar, F32, 1172, "", 1, 0 +; total TS size = 1176 +idleState = bits, S32, 1176, [0:2], "not important" +currentIdlePosition = scalar, F32, 1180 +baseIdlePosition = scalar, F32, 1184 +iacByTpsTaper = scalar, F32, 1188 +throttlePedalUpState = scalar, S32, 1192, "", 1, 0 +mightResetPid = bits, U32, 1196, [0:0] +shouldResetPid = bits, U32, 1196, [1:1] +wasResetPid = bits, U32, 1196, [2:2] +mustResetPid = bits, U32, 1196, [3:3] +isCranking = bits, U32, 1196, [4:4] +isIacTableForCoasting = bits, U32, 1196, [5:5] +notIdling = bits, U32, 1196, [6:6] +needReset = bits, U32, 1196, [7:7] +isInDeadZone = bits, U32, 1196, [8:8] +isBlipping = bits, U32, 1196, [9:9] +useClosedLoop = bits, U32, 1196, [10:10] +badTps = bits, U32, 1196, [11:11] +looksLikeRunning = bits, U32, 1196, [12:12] +looksLikeCoasting = bits, U32, 1196, [13:13] +looksLikeCrankToIdle = bits, U32, 1196, [14:14] +isVerboseIAC = bits, U32, 1196, [15:15] +isIdleCoasting = bits, U32, 1196, [16:16] +targetRpmByClt = scalar, S32, 1200, "", 1, 0 +targetRpmAcBump = scalar, S32, 1204, "", 1, 0 +iacByRpmTaper = scalar, F32, 1208 +luaAdd = scalar, F32, 1212 +; total TS size = 1216 +baseDwell = scalar, F32, 1216, "", 1, 0 +dwellVoltageCorrection = scalar, F32, 1220, "", 1, 0 +luaTimingAdd = scalar, F32, 1224, "", 1, 0 +luaTimingMult = scalar, F32, 1228, "", 1, 0 +; total TS size = 1232 +idlePosition = scalar, F32, 1232, "", 1, 0 +trim = scalar, F32, 1236, "", 1, 0 +luaAdjustment = scalar, F32, 1240, "", 1, 0 +etbFeedForward = scalar, F32, 1244 +etbIntegralError = scalar, F32, 1248, "", 1, 0 +etbCurrentTarget = scalar, F32, 1252, "%", 1, 0 +etbCurrentAdjustedTarget = scalar, F32, 1256, "%", 1, 0 +etbRevLimitActive = bits, U32, 1260, [0:0] +jamDetected = bits, U32, 1260, [1:1] +etbDutyRateOfChange = scalar, F32, 1264, "", 1, 0 +etbDutyAverage = scalar, F32, 1268, "", 1, 0 +etbTpsErrorCounter = scalar, U16, 1272, "", 1, 0 +etbPpsErrorCounter = scalar, U16, 1274, "", 1, 0 +etbErrorCode = scalar, S08, 1276, "", 1, 0 +jamTimer = scalar, U16, 1278, "sec", 0.01, 0 +; total TS size = 1280 +faultCode = scalar, U08, 1280, "", 1, 0 +heaterDuty = scalar, U08, 1281, "%", 1, 0 +pumpDuty = scalar, U08, 1282, "%", 1, 0 +tempC = scalar, U16, 1284, "C", 1, 0 +nernstVoltage = scalar, U16, 1286, "V", 0.001, 0 +esr = scalar, U16, 1288, "", 1, 0 +; total TS size = 1292 time = { timeNow } @@ -4750,6 +4754,7 @@ entry = mapVvt_MAP_AT_CYCLE_COUNT, "mapVvt_MAP_AT_CYCLE_COUNT", int, "%d" entry = mapVvt_map_peak, "mapVvt_map_peak", int, "%d" entry = currentEngineDecodedPhase, "Engine Phase", float, "%.3f" entry = triggerToothAngleError, "triggerToothAngleError", float, "%.3f" +entry = triggerIgnoredToothCount, "triggerIgnoredToothCount", int, "%d" entry = crankSynchronizationCounter, "Crank sync counter", int, "%d" entry = vvtSyncGapRatio, "vvtSyncGapRatio", float, "%.3f" entry = vvtCurrentPosition, "vvtCurrentPosition", float, "%.3f" @@ -4799,11 +4804,13 @@ entry = etbIntegralError, "etbIntegralError", float, "%.3f" entry = etbCurrentTarget, "etbCurrentTarget", float, "%.3f" entry = etbCurrentAdjustedTarget, "etbCurrentAdjustedTarget", float, "%.3f" entry = etbRevLimitActive, "etbRevLimitActive", int, "%d" +entry = jamDetected, "jamDetected", int, "%d" entry = etbDutyRateOfChange, "etbDutyRateOfChange", float, "%.3f" entry = etbDutyAverage, "etbDutyAverage", float, "%.3f" entry = etbTpsErrorCounter, "ETB TPS error counter", int, "%d" entry = etbPpsErrorCounter, "ETB pedal error counter", int, "%d" entry = etbErrorCode, "etbErrorCode", int, "%d" +entry = jamTimer, "ETB jam timer", float, "%.3f" entry = faultCode, "faultCode", int, "%d" entry = heaterDuty, "heaterDuty", int, "%d" entry = pumpDuty, "pumpDuty", int, "%d" @@ -5567,6 +5574,7 @@ dialog = trigger_centralDialog, "trigger_central" graphLine = currentEngineDecodedPhase liveGraph = trigger_central_4_Graph, "Graph", South graphLine = triggerToothAngleError + graphLine = triggerIgnoredToothCount dialog = trigger_stateDialog, "trigger_state" @@ -5637,6 +5645,7 @@ dialog = ignition_stateDialog, "ignition_state" indicatorPanel = electronic_throttleIndicatorPanel, 2 indicator = {etbRevLimitActive}, "etbRevLimitActive No", "etbRevLimitActive Yes" + indicator = {jamDetected}, "jamDetected No", "jamDetected Yes" dialog = electronic_throttleDialog, "electronic_throttle" panel = electronic_throttleIndicatorPanel @@ -5655,6 +5664,8 @@ dialog = electronic_throttleDialog, "electronic_throttle" graphLine = etbTpsErrorCounter graphLine = etbPpsErrorCounter graphLine = etbErrorCode + liveGraph = electronic_throttle_4_Graph, "Graph", South + graphLine = jamTimer dialog = wideband_stateDialog, "wideband_state" @@ -5843,6 +5854,7 @@ dialog = wideband_stateDialog, "wideband_state" field = "Do not print messages in case of sync error", silentTriggerError field = "Focus on inputs in engine sniffer", engineSnifferFocusOnInputs field = "Enable noise filtering", useNoiselessTriggerDecoder, {trigger_type == 8 || trigger_type == 9} + field = "Trigger Edge Filter", doNotFilterTriggerEdgeNoise dialog = triggerInputs, "Trigger Inputs" field = "#Cam is primary if you have cam sensor as part of trigger shape" diff --git a/firmware/tunerstudio/generated/rusefi_hellen72.ini b/firmware/tunerstudio/generated/rusefi_hellen72.ini index 09e39c745a..7d7b3b0659 100644 --- a/firmware/tunerstudio/generated/rusefi_hellen72.ini +++ b/firmware/tunerstudio/generated/rusefi_hellen72.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2023.01.10.hellen72.snap_20592" + signature = "rusEFI 2023.01.10.hellen72.snap_16635" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI 2023.01.10.hellen72.snap_20592" ; signature is expected to be 7 or more characters. + signature= "rusEFI 2023.01.10.hellen72.snap_16635" ; 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 @@ -86,7 +86,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 19:59:24 UTC 2023 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 21:34:59 UTC 2023 pageSize = 22368 page = 1 @@ -126,7 +126,7 @@ useTLE8888_cranking_hack = bits, U32, 120, [17:17], "false", "true" kickStartCranking = bits, U32, 120, [18:18], "false", "true" useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [19:19], "false", "true" launchControlEnabled = bits, U32, 120, [20:20], "false", "true" -anotherUnusedHere444 = bits, U32, 120, [21:21], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 120, [21:21], "with filter", "without filter" antiLagEnabled = bits, U32, 120, [22:22], "false", "true" useRunningMathForCranking = bits, U32, 120, [23:23], "Fixed", "Fuel Map" displayLogicLevelsInEngineSniffer = bits, U32, 120, [24:24], "false", "true" @@ -1469,6 +1469,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 cj125isUrDivided = "Is your UR CJ125 output wired to MCU via resistor divider?\nLooks like 3v range should be enough, divider generally not needed." useCicPidForIdle = "Switch between Industrial and Cic PID implementation" useSeparateIdleTablesForCrankingTaper = "This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration)." + doNotFilterTriggerEdgeNoise = "Detect double trigger edges" useRunningMathForCranking = "For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table)." displayLogicLevelsInEngineSniffer = "Shall we display real life signal or just the part consumed by trigger decoder.\nApplies to both trigger and cam/vvt input.\n\nenable logic_level_trigger" enableMapEstimationTableFallback = "If enabled, the MAP estimate table will be used if the MAP sensor fails to estimate manifold pressure based on RPM and TPS." @@ -2201,7 +2202,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1288 + ochBlockSize = 1292 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -2848,74 +2849,77 @@ mapVvt_MAP_AT_CYCLE_COUNT = scalar, U08, 1128, "", 1, 0 mapVvt_map_peak = scalar, U08, 1129, "", 1, 0 currentEngineDecodedPhase = scalar, F32, 1132, "deg", 1, 0 triggerToothAngleError = scalar, F32, 1136, "deg", 1, 0 -; total TS size = 1140 -crankSynchronizationCounter = scalar, U32, 1140, "", 1, 0 -vvtSyncGapRatio = scalar, F32, 1144, "", 1, 0 -vvtCurrentPosition = scalar, F32, 1148, "", 1, 0 -triggerSyncGapRatio = scalar, F32, 1152, "", 1, 0 -triggerStateIndex = scalar, U08, 1156, "", 1, 0 -vvtCounter = scalar, U08, 1157, "", 1, 0 -camResyncCounter = scalar, U08, 1158, "", 1, 0 -vvtStateIndex = scalar, U08, 1159, "", 1, 0 -; total TS size = 1160 -m_hasSynchronizedPhase = bits, U32, 1160, [0:0] +triggerIgnoredToothCount = scalar, U08, 1140, "", 1, 0 +; total TS size = 1144 +crankSynchronizationCounter = scalar, U32, 1144, "", 1, 0 +vvtSyncGapRatio = scalar, F32, 1148, "", 1, 0 +vvtCurrentPosition = scalar, F32, 1152, "", 1, 0 +triggerSyncGapRatio = scalar, F32, 1156, "", 1, 0 +triggerStateIndex = scalar, U08, 1160, "", 1, 0 +vvtCounter = scalar, U08, 1161, "", 1, 0 +camResyncCounter = scalar, U08, 1162, "", 1, 0 +vvtStateIndex = scalar, U08, 1163, "", 1, 0 ; total TS size = 1164 -wallFuelCorrection = scalar, F32, 1164, "", 1, 0 -wallFuel = scalar, F32, 1168, "", 1, 0 -; total TS size = 1172 -idleState = bits, S32, 1172, [0:2], "not important" -currentIdlePosition = scalar, F32, 1176 -baseIdlePosition = scalar, F32, 1180 -iacByTpsTaper = scalar, F32, 1184 -throttlePedalUpState = scalar, S32, 1188, "", 1, 0 -mightResetPid = bits, U32, 1192, [0:0] -shouldResetPid = bits, U32, 1192, [1:1] -wasResetPid = bits, U32, 1192, [2:2] -mustResetPid = bits, U32, 1192, [3:3] -isCranking = bits, U32, 1192, [4:4] -isIacTableForCoasting = bits, U32, 1192, [5:5] -notIdling = bits, U32, 1192, [6:6] -needReset = bits, U32, 1192, [7:7] -isInDeadZone = bits, U32, 1192, [8:8] -isBlipping = bits, U32, 1192, [9:9] -useClosedLoop = bits, U32, 1192, [10:10] -badTps = bits, U32, 1192, [11:11] -looksLikeRunning = bits, U32, 1192, [12:12] -looksLikeCoasting = bits, U32, 1192, [13:13] -looksLikeCrankToIdle = bits, U32, 1192, [14:14] -isVerboseIAC = bits, U32, 1192, [15:15] -isIdleCoasting = bits, U32, 1192, [16:16] -targetRpmByClt = scalar, S32, 1196, "", 1, 0 -targetRpmAcBump = scalar, S32, 1200, "", 1, 0 -iacByRpmTaper = scalar, F32, 1204 -luaAdd = scalar, F32, 1208 -; total TS size = 1212 -baseDwell = scalar, F32, 1212, "", 1, 0 -dwellVoltageCorrection = scalar, F32, 1216, "", 1, 0 -luaTimingAdd = scalar, F32, 1220, "", 1, 0 -luaTimingMult = scalar, F32, 1224, "", 1, 0 -; total TS size = 1228 -idlePosition = scalar, F32, 1228, "", 1, 0 -trim = scalar, F32, 1232, "", 1, 0 -luaAdjustment = scalar, F32, 1236, "", 1, 0 -etbFeedForward = scalar, F32, 1240 -etbIntegralError = scalar, F32, 1244, "", 1, 0 -etbCurrentTarget = scalar, F32, 1248, "%", 1, 0 -etbCurrentAdjustedTarget = scalar, F32, 1252, "%", 1, 0 -etbRevLimitActive = bits, U32, 1256, [0:0] -etbDutyRateOfChange = scalar, F32, 1260, "", 1, 0 -etbDutyAverage = scalar, F32, 1264, "", 1, 0 -etbTpsErrorCounter = scalar, U16, 1268, "", 1, 0 -etbPpsErrorCounter = scalar, U16, 1270, "", 1, 0 -etbErrorCode = scalar, S08, 1272, "", 1, 0 -; total TS size = 1276 -faultCode = scalar, U08, 1276, "", 1, 0 -heaterDuty = scalar, U08, 1277, "%", 1, 0 -pumpDuty = scalar, U08, 1278, "%", 1, 0 -tempC = scalar, U16, 1280, "C", 1, 0 -nernstVoltage = scalar, U16, 1282, "V", 0.001, 0 -esr = scalar, U16, 1284, "", 1, 0 -; total TS size = 1288 +m_hasSynchronizedPhase = bits, U32, 1164, [0:0] +; total TS size = 1168 +wallFuelCorrection = scalar, F32, 1168, "", 1, 0 +wallFuel = scalar, F32, 1172, "", 1, 0 +; total TS size = 1176 +idleState = bits, S32, 1176, [0:2], "not important" +currentIdlePosition = scalar, F32, 1180 +baseIdlePosition = scalar, F32, 1184 +iacByTpsTaper = scalar, F32, 1188 +throttlePedalUpState = scalar, S32, 1192, "", 1, 0 +mightResetPid = bits, U32, 1196, [0:0] +shouldResetPid = bits, U32, 1196, [1:1] +wasResetPid = bits, U32, 1196, [2:2] +mustResetPid = bits, U32, 1196, [3:3] +isCranking = bits, U32, 1196, [4:4] +isIacTableForCoasting = bits, U32, 1196, [5:5] +notIdling = bits, U32, 1196, [6:6] +needReset = bits, U32, 1196, [7:7] +isInDeadZone = bits, U32, 1196, [8:8] +isBlipping = bits, U32, 1196, [9:9] +useClosedLoop = bits, U32, 1196, [10:10] +badTps = bits, U32, 1196, [11:11] +looksLikeRunning = bits, U32, 1196, [12:12] +looksLikeCoasting = bits, U32, 1196, [13:13] +looksLikeCrankToIdle = bits, U32, 1196, [14:14] +isVerboseIAC = bits, U32, 1196, [15:15] +isIdleCoasting = bits, U32, 1196, [16:16] +targetRpmByClt = scalar, S32, 1200, "", 1, 0 +targetRpmAcBump = scalar, S32, 1204, "", 1, 0 +iacByRpmTaper = scalar, F32, 1208 +luaAdd = scalar, F32, 1212 +; total TS size = 1216 +baseDwell = scalar, F32, 1216, "", 1, 0 +dwellVoltageCorrection = scalar, F32, 1220, "", 1, 0 +luaTimingAdd = scalar, F32, 1224, "", 1, 0 +luaTimingMult = scalar, F32, 1228, "", 1, 0 +; total TS size = 1232 +idlePosition = scalar, F32, 1232, "", 1, 0 +trim = scalar, F32, 1236, "", 1, 0 +luaAdjustment = scalar, F32, 1240, "", 1, 0 +etbFeedForward = scalar, F32, 1244 +etbIntegralError = scalar, F32, 1248, "", 1, 0 +etbCurrentTarget = scalar, F32, 1252, "%", 1, 0 +etbCurrentAdjustedTarget = scalar, F32, 1256, "%", 1, 0 +etbRevLimitActive = bits, U32, 1260, [0:0] +jamDetected = bits, U32, 1260, [1:1] +etbDutyRateOfChange = scalar, F32, 1264, "", 1, 0 +etbDutyAverage = scalar, F32, 1268, "", 1, 0 +etbTpsErrorCounter = scalar, U16, 1272, "", 1, 0 +etbPpsErrorCounter = scalar, U16, 1274, "", 1, 0 +etbErrorCode = scalar, S08, 1276, "", 1, 0 +jamTimer = scalar, U16, 1278, "sec", 0.01, 0 +; total TS size = 1280 +faultCode = scalar, U08, 1280, "", 1, 0 +heaterDuty = scalar, U08, 1281, "%", 1, 0 +pumpDuty = scalar, U08, 1282, "%", 1, 0 +tempC = scalar, U16, 1284, "C", 1, 0 +nernstVoltage = scalar, U16, 1286, "V", 0.001, 0 +esr = scalar, U16, 1288, "", 1, 0 +; total TS size = 1292 time = { timeNow } @@ -4750,6 +4754,7 @@ entry = mapVvt_MAP_AT_CYCLE_COUNT, "mapVvt_MAP_AT_CYCLE_COUNT", int, "%d" entry = mapVvt_map_peak, "mapVvt_map_peak", int, "%d" entry = currentEngineDecodedPhase, "Engine Phase", float, "%.3f" entry = triggerToothAngleError, "triggerToothAngleError", float, "%.3f" +entry = triggerIgnoredToothCount, "triggerIgnoredToothCount", int, "%d" entry = crankSynchronizationCounter, "Crank sync counter", int, "%d" entry = vvtSyncGapRatio, "vvtSyncGapRatio", float, "%.3f" entry = vvtCurrentPosition, "vvtCurrentPosition", float, "%.3f" @@ -4799,11 +4804,13 @@ entry = etbIntegralError, "etbIntegralError", float, "%.3f" entry = etbCurrentTarget, "etbCurrentTarget", float, "%.3f" entry = etbCurrentAdjustedTarget, "etbCurrentAdjustedTarget", float, "%.3f" entry = etbRevLimitActive, "etbRevLimitActive", int, "%d" +entry = jamDetected, "jamDetected", int, "%d" entry = etbDutyRateOfChange, "etbDutyRateOfChange", float, "%.3f" entry = etbDutyAverage, "etbDutyAverage", float, "%.3f" entry = etbTpsErrorCounter, "ETB TPS error counter", int, "%d" entry = etbPpsErrorCounter, "ETB pedal error counter", int, "%d" entry = etbErrorCode, "etbErrorCode", int, "%d" +entry = jamTimer, "ETB jam timer", float, "%.3f" entry = faultCode, "faultCode", int, "%d" entry = heaterDuty, "heaterDuty", int, "%d" entry = pumpDuty, "pumpDuty", int, "%d" @@ -5567,6 +5574,7 @@ dialog = trigger_centralDialog, "trigger_central" graphLine = currentEngineDecodedPhase liveGraph = trigger_central_4_Graph, "Graph", South graphLine = triggerToothAngleError + graphLine = triggerIgnoredToothCount dialog = trigger_stateDialog, "trigger_state" @@ -5637,6 +5645,7 @@ dialog = ignition_stateDialog, "ignition_state" indicatorPanel = electronic_throttleIndicatorPanel, 2 indicator = {etbRevLimitActive}, "etbRevLimitActive No", "etbRevLimitActive Yes" + indicator = {jamDetected}, "jamDetected No", "jamDetected Yes" dialog = electronic_throttleDialog, "electronic_throttle" panel = electronic_throttleIndicatorPanel @@ -5655,6 +5664,8 @@ dialog = electronic_throttleDialog, "electronic_throttle" graphLine = etbTpsErrorCounter graphLine = etbPpsErrorCounter graphLine = etbErrorCode + liveGraph = electronic_throttle_4_Graph, "Graph", South + graphLine = jamTimer dialog = wideband_stateDialog, "wideband_state" @@ -5844,6 +5855,7 @@ dialog = wideband_stateDialog, "wideband_state" field = "Do not print messages in case of sync error", silentTriggerError field = "Focus on inputs in engine sniffer", engineSnifferFocusOnInputs field = "Enable noise filtering", useNoiselessTriggerDecoder, {trigger_type == 8 || trigger_type == 9} + field = "Trigger Edge Filter", doNotFilterTriggerEdgeNoise dialog = triggerInputs, "Trigger Inputs" field = "#Cam is primary if you have cam sensor as part of trigger shape" diff --git a/firmware/tunerstudio/generated/rusefi_hellen81.ini b/firmware/tunerstudio/generated/rusefi_hellen81.ini index 610d60c497..93400f28d5 100644 --- a/firmware/tunerstudio/generated/rusefi_hellen81.ini +++ b/firmware/tunerstudio/generated/rusefi_hellen81.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2023.01.10.hellen81.snap_49286" + signature = "rusEFI 2023.01.10.hellen81.snap_53261" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI 2023.01.10.hellen81.snap_49286" ; signature is expected to be 7 or more characters. + signature= "rusEFI 2023.01.10.hellen81.snap_53261" ; 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 @@ -86,7 +86,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 19:59:25 UTC 2023 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 21:35:00 UTC 2023 pageSize = 22368 page = 1 @@ -126,7 +126,7 @@ useTLE8888_cranking_hack = bits, U32, 120, [17:17], "false", "true" kickStartCranking = bits, U32, 120, [18:18], "false", "true" useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [19:19], "false", "true" launchControlEnabled = bits, U32, 120, [20:20], "false", "true" -anotherUnusedHere444 = bits, U32, 120, [21:21], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 120, [21:21], "with filter", "without filter" antiLagEnabled = bits, U32, 120, [22:22], "false", "true" useRunningMathForCranking = bits, U32, 120, [23:23], "Fixed", "Fuel Map" displayLogicLevelsInEngineSniffer = bits, U32, 120, [24:24], "false", "true" @@ -1469,6 +1469,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 cj125isUrDivided = "Is your UR CJ125 output wired to MCU via resistor divider?\nLooks like 3v range should be enough, divider generally not needed." useCicPidForIdle = "Switch between Industrial and Cic PID implementation" useSeparateIdleTablesForCrankingTaper = "This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration)." + doNotFilterTriggerEdgeNoise = "Detect double trigger edges" useRunningMathForCranking = "For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table)." displayLogicLevelsInEngineSniffer = "Shall we display real life signal or just the part consumed by trigger decoder.\nApplies to both trigger and cam/vvt input.\n\nenable logic_level_trigger" enableMapEstimationTableFallback = "If enabled, the MAP estimate table will be used if the MAP sensor fails to estimate manifold pressure based on RPM and TPS." @@ -2201,7 +2202,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1288 + ochBlockSize = 1292 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -2848,74 +2849,77 @@ mapVvt_MAP_AT_CYCLE_COUNT = scalar, U08, 1128, "", 1, 0 mapVvt_map_peak = scalar, U08, 1129, "", 1, 0 currentEngineDecodedPhase = scalar, F32, 1132, "deg", 1, 0 triggerToothAngleError = scalar, F32, 1136, "deg", 1, 0 -; total TS size = 1140 -crankSynchronizationCounter = scalar, U32, 1140, "", 1, 0 -vvtSyncGapRatio = scalar, F32, 1144, "", 1, 0 -vvtCurrentPosition = scalar, F32, 1148, "", 1, 0 -triggerSyncGapRatio = scalar, F32, 1152, "", 1, 0 -triggerStateIndex = scalar, U08, 1156, "", 1, 0 -vvtCounter = scalar, U08, 1157, "", 1, 0 -camResyncCounter = scalar, U08, 1158, "", 1, 0 -vvtStateIndex = scalar, U08, 1159, "", 1, 0 -; total TS size = 1160 -m_hasSynchronizedPhase = bits, U32, 1160, [0:0] +triggerIgnoredToothCount = scalar, U08, 1140, "", 1, 0 +; total TS size = 1144 +crankSynchronizationCounter = scalar, U32, 1144, "", 1, 0 +vvtSyncGapRatio = scalar, F32, 1148, "", 1, 0 +vvtCurrentPosition = scalar, F32, 1152, "", 1, 0 +triggerSyncGapRatio = scalar, F32, 1156, "", 1, 0 +triggerStateIndex = scalar, U08, 1160, "", 1, 0 +vvtCounter = scalar, U08, 1161, "", 1, 0 +camResyncCounter = scalar, U08, 1162, "", 1, 0 +vvtStateIndex = scalar, U08, 1163, "", 1, 0 ; total TS size = 1164 -wallFuelCorrection = scalar, F32, 1164, "", 1, 0 -wallFuel = scalar, F32, 1168, "", 1, 0 -; total TS size = 1172 -idleState = bits, S32, 1172, [0:2], "not important" -currentIdlePosition = scalar, F32, 1176 -baseIdlePosition = scalar, F32, 1180 -iacByTpsTaper = scalar, F32, 1184 -throttlePedalUpState = scalar, S32, 1188, "", 1, 0 -mightResetPid = bits, U32, 1192, [0:0] -shouldResetPid = bits, U32, 1192, [1:1] -wasResetPid = bits, U32, 1192, [2:2] -mustResetPid = bits, U32, 1192, [3:3] -isCranking = bits, U32, 1192, [4:4] -isIacTableForCoasting = bits, U32, 1192, [5:5] -notIdling = bits, U32, 1192, [6:6] -needReset = bits, U32, 1192, [7:7] -isInDeadZone = bits, U32, 1192, [8:8] -isBlipping = bits, U32, 1192, [9:9] -useClosedLoop = bits, U32, 1192, [10:10] -badTps = bits, U32, 1192, [11:11] -looksLikeRunning = bits, U32, 1192, [12:12] -looksLikeCoasting = bits, U32, 1192, [13:13] -looksLikeCrankToIdle = bits, U32, 1192, [14:14] -isVerboseIAC = bits, U32, 1192, [15:15] -isIdleCoasting = bits, U32, 1192, [16:16] -targetRpmByClt = scalar, S32, 1196, "", 1, 0 -targetRpmAcBump = scalar, S32, 1200, "", 1, 0 -iacByRpmTaper = scalar, F32, 1204 -luaAdd = scalar, F32, 1208 -; total TS size = 1212 -baseDwell = scalar, F32, 1212, "", 1, 0 -dwellVoltageCorrection = scalar, F32, 1216, "", 1, 0 -luaTimingAdd = scalar, F32, 1220, "", 1, 0 -luaTimingMult = scalar, F32, 1224, "", 1, 0 -; total TS size = 1228 -idlePosition = scalar, F32, 1228, "", 1, 0 -trim = scalar, F32, 1232, "", 1, 0 -luaAdjustment = scalar, F32, 1236, "", 1, 0 -etbFeedForward = scalar, F32, 1240 -etbIntegralError = scalar, F32, 1244, "", 1, 0 -etbCurrentTarget = scalar, F32, 1248, "%", 1, 0 -etbCurrentAdjustedTarget = scalar, F32, 1252, "%", 1, 0 -etbRevLimitActive = bits, U32, 1256, [0:0] -etbDutyRateOfChange = scalar, F32, 1260, "", 1, 0 -etbDutyAverage = scalar, F32, 1264, "", 1, 0 -etbTpsErrorCounter = scalar, U16, 1268, "", 1, 0 -etbPpsErrorCounter = scalar, U16, 1270, "", 1, 0 -etbErrorCode = scalar, S08, 1272, "", 1, 0 -; total TS size = 1276 -faultCode = scalar, U08, 1276, "", 1, 0 -heaterDuty = scalar, U08, 1277, "%", 1, 0 -pumpDuty = scalar, U08, 1278, "%", 1, 0 -tempC = scalar, U16, 1280, "C", 1, 0 -nernstVoltage = scalar, U16, 1282, "V", 0.001, 0 -esr = scalar, U16, 1284, "", 1, 0 -; total TS size = 1288 +m_hasSynchronizedPhase = bits, U32, 1164, [0:0] +; total TS size = 1168 +wallFuelCorrection = scalar, F32, 1168, "", 1, 0 +wallFuel = scalar, F32, 1172, "", 1, 0 +; total TS size = 1176 +idleState = bits, S32, 1176, [0:2], "not important" +currentIdlePosition = scalar, F32, 1180 +baseIdlePosition = scalar, F32, 1184 +iacByTpsTaper = scalar, F32, 1188 +throttlePedalUpState = scalar, S32, 1192, "", 1, 0 +mightResetPid = bits, U32, 1196, [0:0] +shouldResetPid = bits, U32, 1196, [1:1] +wasResetPid = bits, U32, 1196, [2:2] +mustResetPid = bits, U32, 1196, [3:3] +isCranking = bits, U32, 1196, [4:4] +isIacTableForCoasting = bits, U32, 1196, [5:5] +notIdling = bits, U32, 1196, [6:6] +needReset = bits, U32, 1196, [7:7] +isInDeadZone = bits, U32, 1196, [8:8] +isBlipping = bits, U32, 1196, [9:9] +useClosedLoop = bits, U32, 1196, [10:10] +badTps = bits, U32, 1196, [11:11] +looksLikeRunning = bits, U32, 1196, [12:12] +looksLikeCoasting = bits, U32, 1196, [13:13] +looksLikeCrankToIdle = bits, U32, 1196, [14:14] +isVerboseIAC = bits, U32, 1196, [15:15] +isIdleCoasting = bits, U32, 1196, [16:16] +targetRpmByClt = scalar, S32, 1200, "", 1, 0 +targetRpmAcBump = scalar, S32, 1204, "", 1, 0 +iacByRpmTaper = scalar, F32, 1208 +luaAdd = scalar, F32, 1212 +; total TS size = 1216 +baseDwell = scalar, F32, 1216, "", 1, 0 +dwellVoltageCorrection = scalar, F32, 1220, "", 1, 0 +luaTimingAdd = scalar, F32, 1224, "", 1, 0 +luaTimingMult = scalar, F32, 1228, "", 1, 0 +; total TS size = 1232 +idlePosition = scalar, F32, 1232, "", 1, 0 +trim = scalar, F32, 1236, "", 1, 0 +luaAdjustment = scalar, F32, 1240, "", 1, 0 +etbFeedForward = scalar, F32, 1244 +etbIntegralError = scalar, F32, 1248, "", 1, 0 +etbCurrentTarget = scalar, F32, 1252, "%", 1, 0 +etbCurrentAdjustedTarget = scalar, F32, 1256, "%", 1, 0 +etbRevLimitActive = bits, U32, 1260, [0:0] +jamDetected = bits, U32, 1260, [1:1] +etbDutyRateOfChange = scalar, F32, 1264, "", 1, 0 +etbDutyAverage = scalar, F32, 1268, "", 1, 0 +etbTpsErrorCounter = scalar, U16, 1272, "", 1, 0 +etbPpsErrorCounter = scalar, U16, 1274, "", 1, 0 +etbErrorCode = scalar, S08, 1276, "", 1, 0 +jamTimer = scalar, U16, 1278, "sec", 0.01, 0 +; total TS size = 1280 +faultCode = scalar, U08, 1280, "", 1, 0 +heaterDuty = scalar, U08, 1281, "%", 1, 0 +pumpDuty = scalar, U08, 1282, "%", 1, 0 +tempC = scalar, U16, 1284, "C", 1, 0 +nernstVoltage = scalar, U16, 1286, "V", 0.001, 0 +esr = scalar, U16, 1288, "", 1, 0 +; total TS size = 1292 time = { timeNow } @@ -4750,6 +4754,7 @@ entry = mapVvt_MAP_AT_CYCLE_COUNT, "mapVvt_MAP_AT_CYCLE_COUNT", int, "%d" entry = mapVvt_map_peak, "mapVvt_map_peak", int, "%d" entry = currentEngineDecodedPhase, "Engine Phase", float, "%.3f" entry = triggerToothAngleError, "triggerToothAngleError", float, "%.3f" +entry = triggerIgnoredToothCount, "triggerIgnoredToothCount", int, "%d" entry = crankSynchronizationCounter, "Crank sync counter", int, "%d" entry = vvtSyncGapRatio, "vvtSyncGapRatio", float, "%.3f" entry = vvtCurrentPosition, "vvtCurrentPosition", float, "%.3f" @@ -4799,11 +4804,13 @@ entry = etbIntegralError, "etbIntegralError", float, "%.3f" entry = etbCurrentTarget, "etbCurrentTarget", float, "%.3f" entry = etbCurrentAdjustedTarget, "etbCurrentAdjustedTarget", float, "%.3f" entry = etbRevLimitActive, "etbRevLimitActive", int, "%d" +entry = jamDetected, "jamDetected", int, "%d" entry = etbDutyRateOfChange, "etbDutyRateOfChange", float, "%.3f" entry = etbDutyAverage, "etbDutyAverage", float, "%.3f" entry = etbTpsErrorCounter, "ETB TPS error counter", int, "%d" entry = etbPpsErrorCounter, "ETB pedal error counter", int, "%d" entry = etbErrorCode, "etbErrorCode", int, "%d" +entry = jamTimer, "ETB jam timer", float, "%.3f" entry = faultCode, "faultCode", int, "%d" entry = heaterDuty, "heaterDuty", int, "%d" entry = pumpDuty, "pumpDuty", int, "%d" @@ -5565,6 +5572,7 @@ dialog = trigger_centralDialog, "trigger_central" graphLine = currentEngineDecodedPhase liveGraph = trigger_central_4_Graph, "Graph", South graphLine = triggerToothAngleError + graphLine = triggerIgnoredToothCount dialog = trigger_stateDialog, "trigger_state" @@ -5635,6 +5643,7 @@ dialog = ignition_stateDialog, "ignition_state" indicatorPanel = electronic_throttleIndicatorPanel, 2 indicator = {etbRevLimitActive}, "etbRevLimitActive No", "etbRevLimitActive Yes" + indicator = {jamDetected}, "jamDetected No", "jamDetected Yes" dialog = electronic_throttleDialog, "electronic_throttle" panel = electronic_throttleIndicatorPanel @@ -5653,6 +5662,8 @@ dialog = electronic_throttleDialog, "electronic_throttle" graphLine = etbTpsErrorCounter graphLine = etbPpsErrorCounter graphLine = etbErrorCode + liveGraph = electronic_throttle_4_Graph, "Graph", South + graphLine = jamTimer dialog = wideband_stateDialog, "wideband_state" @@ -5842,6 +5853,7 @@ dialog = wideband_stateDialog, "wideband_state" field = "Do not print messages in case of sync error", silentTriggerError field = "Focus on inputs in engine sniffer", engineSnifferFocusOnInputs field = "Enable noise filtering", useNoiselessTriggerDecoder, {trigger_type == 8 || trigger_type == 9} + field = "Trigger Edge Filter", doNotFilterTriggerEdgeNoise dialog = triggerInputs, "Trigger Inputs" field = "#Cam is primary if you have cam sensor as part of trigger shape" diff --git a/firmware/tunerstudio/generated/rusefi_hellen88bmw.ini b/firmware/tunerstudio/generated/rusefi_hellen88bmw.ini index 116c37b96d..64ae464865 100644 --- a/firmware/tunerstudio/generated/rusefi_hellen88bmw.ini +++ b/firmware/tunerstudio/generated/rusefi_hellen88bmw.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2023.01.10.hellen88bmw.snap_19767" + signature = "rusEFI 2023.01.10.hellen88bmw.snap_23996" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI 2023.01.10.hellen88bmw.snap_19767" ; signature is expected to be 7 or more characters. + signature= "rusEFI 2023.01.10.hellen88bmw.snap_23996" ; 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 @@ -86,7 +86,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 19:59:22 UTC 2023 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 21:34:57 UTC 2023 pageSize = 22368 page = 1 @@ -126,7 +126,7 @@ useTLE8888_cranking_hack = bits, U32, 120, [17:17], "false", "true" kickStartCranking = bits, U32, 120, [18:18], "false", "true" useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [19:19], "false", "true" launchControlEnabled = bits, U32, 120, [20:20], "false", "true" -anotherUnusedHere444 = bits, U32, 120, [21:21], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 120, [21:21], "with filter", "without filter" antiLagEnabled = bits, U32, 120, [22:22], "false", "true" useRunningMathForCranking = bits, U32, 120, [23:23], "Fixed", "Fuel Map" displayLogicLevelsInEngineSniffer = bits, U32, 120, [24:24], "false", "true" @@ -1469,6 +1469,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 cj125isUrDivided = "Is your UR CJ125 output wired to MCU via resistor divider?\nLooks like 3v range should be enough, divider generally not needed." useCicPidForIdle = "Switch between Industrial and Cic PID implementation" useSeparateIdleTablesForCrankingTaper = "This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration)." + doNotFilterTriggerEdgeNoise = "Detect double trigger edges" useRunningMathForCranking = "For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table)." displayLogicLevelsInEngineSniffer = "Shall we display real life signal or just the part consumed by trigger decoder.\nApplies to both trigger and cam/vvt input.\n\nenable logic_level_trigger" enableMapEstimationTableFallback = "If enabled, the MAP estimate table will be used if the MAP sensor fails to estimate manifold pressure based on RPM and TPS." @@ -2201,7 +2202,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1288 + ochBlockSize = 1292 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -2848,74 +2849,77 @@ mapVvt_MAP_AT_CYCLE_COUNT = scalar, U08, 1128, "", 1, 0 mapVvt_map_peak = scalar, U08, 1129, "", 1, 0 currentEngineDecodedPhase = scalar, F32, 1132, "deg", 1, 0 triggerToothAngleError = scalar, F32, 1136, "deg", 1, 0 -; total TS size = 1140 -crankSynchronizationCounter = scalar, U32, 1140, "", 1, 0 -vvtSyncGapRatio = scalar, F32, 1144, "", 1, 0 -vvtCurrentPosition = scalar, F32, 1148, "", 1, 0 -triggerSyncGapRatio = scalar, F32, 1152, "", 1, 0 -triggerStateIndex = scalar, U08, 1156, "", 1, 0 -vvtCounter = scalar, U08, 1157, "", 1, 0 -camResyncCounter = scalar, U08, 1158, "", 1, 0 -vvtStateIndex = scalar, U08, 1159, "", 1, 0 -; total TS size = 1160 -m_hasSynchronizedPhase = bits, U32, 1160, [0:0] +triggerIgnoredToothCount = scalar, U08, 1140, "", 1, 0 +; total TS size = 1144 +crankSynchronizationCounter = scalar, U32, 1144, "", 1, 0 +vvtSyncGapRatio = scalar, F32, 1148, "", 1, 0 +vvtCurrentPosition = scalar, F32, 1152, "", 1, 0 +triggerSyncGapRatio = scalar, F32, 1156, "", 1, 0 +triggerStateIndex = scalar, U08, 1160, "", 1, 0 +vvtCounter = scalar, U08, 1161, "", 1, 0 +camResyncCounter = scalar, U08, 1162, "", 1, 0 +vvtStateIndex = scalar, U08, 1163, "", 1, 0 ; total TS size = 1164 -wallFuelCorrection = scalar, F32, 1164, "", 1, 0 -wallFuel = scalar, F32, 1168, "", 1, 0 -; total TS size = 1172 -idleState = bits, S32, 1172, [0:2], "not important" -currentIdlePosition = scalar, F32, 1176 -baseIdlePosition = scalar, F32, 1180 -iacByTpsTaper = scalar, F32, 1184 -throttlePedalUpState = scalar, S32, 1188, "", 1, 0 -mightResetPid = bits, U32, 1192, [0:0] -shouldResetPid = bits, U32, 1192, [1:1] -wasResetPid = bits, U32, 1192, [2:2] -mustResetPid = bits, U32, 1192, [3:3] -isCranking = bits, U32, 1192, [4:4] -isIacTableForCoasting = bits, U32, 1192, [5:5] -notIdling = bits, U32, 1192, [6:6] -needReset = bits, U32, 1192, [7:7] -isInDeadZone = bits, U32, 1192, [8:8] -isBlipping = bits, U32, 1192, [9:9] -useClosedLoop = bits, U32, 1192, [10:10] -badTps = bits, U32, 1192, [11:11] -looksLikeRunning = bits, U32, 1192, [12:12] -looksLikeCoasting = bits, U32, 1192, [13:13] -looksLikeCrankToIdle = bits, U32, 1192, [14:14] -isVerboseIAC = bits, U32, 1192, [15:15] -isIdleCoasting = bits, U32, 1192, [16:16] -targetRpmByClt = scalar, S32, 1196, "", 1, 0 -targetRpmAcBump = scalar, S32, 1200, "", 1, 0 -iacByRpmTaper = scalar, F32, 1204 -luaAdd = scalar, F32, 1208 -; total TS size = 1212 -baseDwell = scalar, F32, 1212, "", 1, 0 -dwellVoltageCorrection = scalar, F32, 1216, "", 1, 0 -luaTimingAdd = scalar, F32, 1220, "", 1, 0 -luaTimingMult = scalar, F32, 1224, "", 1, 0 -; total TS size = 1228 -idlePosition = scalar, F32, 1228, "", 1, 0 -trim = scalar, F32, 1232, "", 1, 0 -luaAdjustment = scalar, F32, 1236, "", 1, 0 -etbFeedForward = scalar, F32, 1240 -etbIntegralError = scalar, F32, 1244, "", 1, 0 -etbCurrentTarget = scalar, F32, 1248, "%", 1, 0 -etbCurrentAdjustedTarget = scalar, F32, 1252, "%", 1, 0 -etbRevLimitActive = bits, U32, 1256, [0:0] -etbDutyRateOfChange = scalar, F32, 1260, "", 1, 0 -etbDutyAverage = scalar, F32, 1264, "", 1, 0 -etbTpsErrorCounter = scalar, U16, 1268, "", 1, 0 -etbPpsErrorCounter = scalar, U16, 1270, "", 1, 0 -etbErrorCode = scalar, S08, 1272, "", 1, 0 -; total TS size = 1276 -faultCode = scalar, U08, 1276, "", 1, 0 -heaterDuty = scalar, U08, 1277, "%", 1, 0 -pumpDuty = scalar, U08, 1278, "%", 1, 0 -tempC = scalar, U16, 1280, "C", 1, 0 -nernstVoltage = scalar, U16, 1282, "V", 0.001, 0 -esr = scalar, U16, 1284, "", 1, 0 -; total TS size = 1288 +m_hasSynchronizedPhase = bits, U32, 1164, [0:0] +; total TS size = 1168 +wallFuelCorrection = scalar, F32, 1168, "", 1, 0 +wallFuel = scalar, F32, 1172, "", 1, 0 +; total TS size = 1176 +idleState = bits, S32, 1176, [0:2], "not important" +currentIdlePosition = scalar, F32, 1180 +baseIdlePosition = scalar, F32, 1184 +iacByTpsTaper = scalar, F32, 1188 +throttlePedalUpState = scalar, S32, 1192, "", 1, 0 +mightResetPid = bits, U32, 1196, [0:0] +shouldResetPid = bits, U32, 1196, [1:1] +wasResetPid = bits, U32, 1196, [2:2] +mustResetPid = bits, U32, 1196, [3:3] +isCranking = bits, U32, 1196, [4:4] +isIacTableForCoasting = bits, U32, 1196, [5:5] +notIdling = bits, U32, 1196, [6:6] +needReset = bits, U32, 1196, [7:7] +isInDeadZone = bits, U32, 1196, [8:8] +isBlipping = bits, U32, 1196, [9:9] +useClosedLoop = bits, U32, 1196, [10:10] +badTps = bits, U32, 1196, [11:11] +looksLikeRunning = bits, U32, 1196, [12:12] +looksLikeCoasting = bits, U32, 1196, [13:13] +looksLikeCrankToIdle = bits, U32, 1196, [14:14] +isVerboseIAC = bits, U32, 1196, [15:15] +isIdleCoasting = bits, U32, 1196, [16:16] +targetRpmByClt = scalar, S32, 1200, "", 1, 0 +targetRpmAcBump = scalar, S32, 1204, "", 1, 0 +iacByRpmTaper = scalar, F32, 1208 +luaAdd = scalar, F32, 1212 +; total TS size = 1216 +baseDwell = scalar, F32, 1216, "", 1, 0 +dwellVoltageCorrection = scalar, F32, 1220, "", 1, 0 +luaTimingAdd = scalar, F32, 1224, "", 1, 0 +luaTimingMult = scalar, F32, 1228, "", 1, 0 +; total TS size = 1232 +idlePosition = scalar, F32, 1232, "", 1, 0 +trim = scalar, F32, 1236, "", 1, 0 +luaAdjustment = scalar, F32, 1240, "", 1, 0 +etbFeedForward = scalar, F32, 1244 +etbIntegralError = scalar, F32, 1248, "", 1, 0 +etbCurrentTarget = scalar, F32, 1252, "%", 1, 0 +etbCurrentAdjustedTarget = scalar, F32, 1256, "%", 1, 0 +etbRevLimitActive = bits, U32, 1260, [0:0] +jamDetected = bits, U32, 1260, [1:1] +etbDutyRateOfChange = scalar, F32, 1264, "", 1, 0 +etbDutyAverage = scalar, F32, 1268, "", 1, 0 +etbTpsErrorCounter = scalar, U16, 1272, "", 1, 0 +etbPpsErrorCounter = scalar, U16, 1274, "", 1, 0 +etbErrorCode = scalar, S08, 1276, "", 1, 0 +jamTimer = scalar, U16, 1278, "sec", 0.01, 0 +; total TS size = 1280 +faultCode = scalar, U08, 1280, "", 1, 0 +heaterDuty = scalar, U08, 1281, "%", 1, 0 +pumpDuty = scalar, U08, 1282, "%", 1, 0 +tempC = scalar, U16, 1284, "C", 1, 0 +nernstVoltage = scalar, U16, 1286, "V", 0.001, 0 +esr = scalar, U16, 1288, "", 1, 0 +; total TS size = 1292 time = { timeNow } @@ -4750,6 +4754,7 @@ entry = mapVvt_MAP_AT_CYCLE_COUNT, "mapVvt_MAP_AT_CYCLE_COUNT", int, "%d" entry = mapVvt_map_peak, "mapVvt_map_peak", int, "%d" entry = currentEngineDecodedPhase, "Engine Phase", float, "%.3f" entry = triggerToothAngleError, "triggerToothAngleError", float, "%.3f" +entry = triggerIgnoredToothCount, "triggerIgnoredToothCount", int, "%d" entry = crankSynchronizationCounter, "Crank sync counter", int, "%d" entry = vvtSyncGapRatio, "vvtSyncGapRatio", float, "%.3f" entry = vvtCurrentPosition, "vvtCurrentPosition", float, "%.3f" @@ -4799,11 +4804,13 @@ entry = etbIntegralError, "etbIntegralError", float, "%.3f" entry = etbCurrentTarget, "etbCurrentTarget", float, "%.3f" entry = etbCurrentAdjustedTarget, "etbCurrentAdjustedTarget", float, "%.3f" entry = etbRevLimitActive, "etbRevLimitActive", int, "%d" +entry = jamDetected, "jamDetected", int, "%d" entry = etbDutyRateOfChange, "etbDutyRateOfChange", float, "%.3f" entry = etbDutyAverage, "etbDutyAverage", float, "%.3f" entry = etbTpsErrorCounter, "ETB TPS error counter", int, "%d" entry = etbPpsErrorCounter, "ETB pedal error counter", int, "%d" entry = etbErrorCode, "etbErrorCode", int, "%d" +entry = jamTimer, "ETB jam timer", float, "%.3f" entry = faultCode, "faultCode", int, "%d" entry = heaterDuty, "heaterDuty", int, "%d" entry = pumpDuty, "pumpDuty", int, "%d" @@ -5567,6 +5574,7 @@ dialog = trigger_centralDialog, "trigger_central" graphLine = currentEngineDecodedPhase liveGraph = trigger_central_4_Graph, "Graph", South graphLine = triggerToothAngleError + graphLine = triggerIgnoredToothCount dialog = trigger_stateDialog, "trigger_state" @@ -5637,6 +5645,7 @@ dialog = ignition_stateDialog, "ignition_state" indicatorPanel = electronic_throttleIndicatorPanel, 2 indicator = {etbRevLimitActive}, "etbRevLimitActive No", "etbRevLimitActive Yes" + indicator = {jamDetected}, "jamDetected No", "jamDetected Yes" dialog = electronic_throttleDialog, "electronic_throttle" panel = electronic_throttleIndicatorPanel @@ -5655,6 +5664,8 @@ dialog = electronic_throttleDialog, "electronic_throttle" graphLine = etbTpsErrorCounter graphLine = etbPpsErrorCounter graphLine = etbErrorCode + liveGraph = electronic_throttle_4_Graph, "Graph", South + graphLine = jamTimer dialog = wideband_stateDialog, "wideband_state" @@ -5843,6 +5854,7 @@ dialog = wideband_stateDialog, "wideband_state" field = "Do not print messages in case of sync error", silentTriggerError field = "Focus on inputs in engine sniffer", engineSnifferFocusOnInputs field = "Enable noise filtering", useNoiselessTriggerDecoder, {trigger_type == 8 || trigger_type == 9} + field = "Trigger Edge Filter", doNotFilterTriggerEdgeNoise dialog = triggerInputs, "Trigger Inputs" field = "#Cam is primary if you have cam sensor as part of trigger shape" diff --git a/firmware/tunerstudio/generated/rusefi_hellenNA6.ini b/firmware/tunerstudio/generated/rusefi_hellenNA6.ini index 6c20cc8590..9f165ce3f2 100644 --- a/firmware/tunerstudio/generated/rusefi_hellenNA6.ini +++ b/firmware/tunerstudio/generated/rusefi_hellenNA6.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2023.01.10.hellenNA6.snap_61388" + signature = "rusEFI 2023.01.10.hellenNA6.snap_65351" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI 2023.01.10.hellenNA6.snap_61388" ; signature is expected to be 7 or more characters. + signature= "rusEFI 2023.01.10.hellenNA6.snap_65351" ; 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 @@ -86,7 +86,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 19:59:28 UTC 2023 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 21:35:04 UTC 2023 pageSize = 22368 page = 1 @@ -126,7 +126,7 @@ useTLE8888_cranking_hack = bits, U32, 120, [17:17], "false", "true" kickStartCranking = bits, U32, 120, [18:18], "false", "true" useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [19:19], "false", "true" launchControlEnabled = bits, U32, 120, [20:20], "false", "true" -anotherUnusedHere444 = bits, U32, 120, [21:21], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 120, [21:21], "with filter", "without filter" antiLagEnabled = bits, U32, 120, [22:22], "false", "true" useRunningMathForCranking = bits, U32, 120, [23:23], "Fixed", "Fuel Map" displayLogicLevelsInEngineSniffer = bits, U32, 120, [24:24], "false", "true" @@ -1469,6 +1469,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 cj125isUrDivided = "Is your UR CJ125 output wired to MCU via resistor divider?\nLooks like 3v range should be enough, divider generally not needed." useCicPidForIdle = "Switch between Industrial and Cic PID implementation" useSeparateIdleTablesForCrankingTaper = "This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration)." + doNotFilterTriggerEdgeNoise = "Detect double trigger edges" useRunningMathForCranking = "For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table)." displayLogicLevelsInEngineSniffer = "Shall we display real life signal or just the part consumed by trigger decoder.\nApplies to both trigger and cam/vvt input.\n\nenable logic_level_trigger" enableMapEstimationTableFallback = "If enabled, the MAP estimate table will be used if the MAP sensor fails to estimate manifold pressure based on RPM and TPS." @@ -2201,7 +2202,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1288 + ochBlockSize = 1292 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -2848,74 +2849,77 @@ mapVvt_MAP_AT_CYCLE_COUNT = scalar, U08, 1128, "", 1, 0 mapVvt_map_peak = scalar, U08, 1129, "", 1, 0 currentEngineDecodedPhase = scalar, F32, 1132, "deg", 1, 0 triggerToothAngleError = scalar, F32, 1136, "deg", 1, 0 -; total TS size = 1140 -crankSynchronizationCounter = scalar, U32, 1140, "", 1, 0 -vvtSyncGapRatio = scalar, F32, 1144, "", 1, 0 -vvtCurrentPosition = scalar, F32, 1148, "", 1, 0 -triggerSyncGapRatio = scalar, F32, 1152, "", 1, 0 -triggerStateIndex = scalar, U08, 1156, "", 1, 0 -vvtCounter = scalar, U08, 1157, "", 1, 0 -camResyncCounter = scalar, U08, 1158, "", 1, 0 -vvtStateIndex = scalar, U08, 1159, "", 1, 0 -; total TS size = 1160 -m_hasSynchronizedPhase = bits, U32, 1160, [0:0] +triggerIgnoredToothCount = scalar, U08, 1140, "", 1, 0 +; total TS size = 1144 +crankSynchronizationCounter = scalar, U32, 1144, "", 1, 0 +vvtSyncGapRatio = scalar, F32, 1148, "", 1, 0 +vvtCurrentPosition = scalar, F32, 1152, "", 1, 0 +triggerSyncGapRatio = scalar, F32, 1156, "", 1, 0 +triggerStateIndex = scalar, U08, 1160, "", 1, 0 +vvtCounter = scalar, U08, 1161, "", 1, 0 +camResyncCounter = scalar, U08, 1162, "", 1, 0 +vvtStateIndex = scalar, U08, 1163, "", 1, 0 ; total TS size = 1164 -wallFuelCorrection = scalar, F32, 1164, "", 1, 0 -wallFuel = scalar, F32, 1168, "", 1, 0 -; total TS size = 1172 -idleState = bits, S32, 1172, [0:2], "not important" -currentIdlePosition = scalar, F32, 1176 -baseIdlePosition = scalar, F32, 1180 -iacByTpsTaper = scalar, F32, 1184 -throttlePedalUpState = scalar, S32, 1188, "", 1, 0 -mightResetPid = bits, U32, 1192, [0:0] -shouldResetPid = bits, U32, 1192, [1:1] -wasResetPid = bits, U32, 1192, [2:2] -mustResetPid = bits, U32, 1192, [3:3] -isCranking = bits, U32, 1192, [4:4] -isIacTableForCoasting = bits, U32, 1192, [5:5] -notIdling = bits, U32, 1192, [6:6] -needReset = bits, U32, 1192, [7:7] -isInDeadZone = bits, U32, 1192, [8:8] -isBlipping = bits, U32, 1192, [9:9] -useClosedLoop = bits, U32, 1192, [10:10] -badTps = bits, U32, 1192, [11:11] -looksLikeRunning = bits, U32, 1192, [12:12] -looksLikeCoasting = bits, U32, 1192, [13:13] -looksLikeCrankToIdle = bits, U32, 1192, [14:14] -isVerboseIAC = bits, U32, 1192, [15:15] -isIdleCoasting = bits, U32, 1192, [16:16] -targetRpmByClt = scalar, S32, 1196, "", 1, 0 -targetRpmAcBump = scalar, S32, 1200, "", 1, 0 -iacByRpmTaper = scalar, F32, 1204 -luaAdd = scalar, F32, 1208 -; total TS size = 1212 -baseDwell = scalar, F32, 1212, "", 1, 0 -dwellVoltageCorrection = scalar, F32, 1216, "", 1, 0 -luaTimingAdd = scalar, F32, 1220, "", 1, 0 -luaTimingMult = scalar, F32, 1224, "", 1, 0 -; total TS size = 1228 -idlePosition = scalar, F32, 1228, "", 1, 0 -trim = scalar, F32, 1232, "", 1, 0 -luaAdjustment = scalar, F32, 1236, "", 1, 0 -etbFeedForward = scalar, F32, 1240 -etbIntegralError = scalar, F32, 1244, "", 1, 0 -etbCurrentTarget = scalar, F32, 1248, "%", 1, 0 -etbCurrentAdjustedTarget = scalar, F32, 1252, "%", 1, 0 -etbRevLimitActive = bits, U32, 1256, [0:0] -etbDutyRateOfChange = scalar, F32, 1260, "", 1, 0 -etbDutyAverage = scalar, F32, 1264, "", 1, 0 -etbTpsErrorCounter = scalar, U16, 1268, "", 1, 0 -etbPpsErrorCounter = scalar, U16, 1270, "", 1, 0 -etbErrorCode = scalar, S08, 1272, "", 1, 0 -; total TS size = 1276 -faultCode = scalar, U08, 1276, "", 1, 0 -heaterDuty = scalar, U08, 1277, "%", 1, 0 -pumpDuty = scalar, U08, 1278, "%", 1, 0 -tempC = scalar, U16, 1280, "C", 1, 0 -nernstVoltage = scalar, U16, 1282, "V", 0.001, 0 -esr = scalar, U16, 1284, "", 1, 0 -; total TS size = 1288 +m_hasSynchronizedPhase = bits, U32, 1164, [0:0] +; total TS size = 1168 +wallFuelCorrection = scalar, F32, 1168, "", 1, 0 +wallFuel = scalar, F32, 1172, "", 1, 0 +; total TS size = 1176 +idleState = bits, S32, 1176, [0:2], "not important" +currentIdlePosition = scalar, F32, 1180 +baseIdlePosition = scalar, F32, 1184 +iacByTpsTaper = scalar, F32, 1188 +throttlePedalUpState = scalar, S32, 1192, "", 1, 0 +mightResetPid = bits, U32, 1196, [0:0] +shouldResetPid = bits, U32, 1196, [1:1] +wasResetPid = bits, U32, 1196, [2:2] +mustResetPid = bits, U32, 1196, [3:3] +isCranking = bits, U32, 1196, [4:4] +isIacTableForCoasting = bits, U32, 1196, [5:5] +notIdling = bits, U32, 1196, [6:6] +needReset = bits, U32, 1196, [7:7] +isInDeadZone = bits, U32, 1196, [8:8] +isBlipping = bits, U32, 1196, [9:9] +useClosedLoop = bits, U32, 1196, [10:10] +badTps = bits, U32, 1196, [11:11] +looksLikeRunning = bits, U32, 1196, [12:12] +looksLikeCoasting = bits, U32, 1196, [13:13] +looksLikeCrankToIdle = bits, U32, 1196, [14:14] +isVerboseIAC = bits, U32, 1196, [15:15] +isIdleCoasting = bits, U32, 1196, [16:16] +targetRpmByClt = scalar, S32, 1200, "", 1, 0 +targetRpmAcBump = scalar, S32, 1204, "", 1, 0 +iacByRpmTaper = scalar, F32, 1208 +luaAdd = scalar, F32, 1212 +; total TS size = 1216 +baseDwell = scalar, F32, 1216, "", 1, 0 +dwellVoltageCorrection = scalar, F32, 1220, "", 1, 0 +luaTimingAdd = scalar, F32, 1224, "", 1, 0 +luaTimingMult = scalar, F32, 1228, "", 1, 0 +; total TS size = 1232 +idlePosition = scalar, F32, 1232, "", 1, 0 +trim = scalar, F32, 1236, "", 1, 0 +luaAdjustment = scalar, F32, 1240, "", 1, 0 +etbFeedForward = scalar, F32, 1244 +etbIntegralError = scalar, F32, 1248, "", 1, 0 +etbCurrentTarget = scalar, F32, 1252, "%", 1, 0 +etbCurrentAdjustedTarget = scalar, F32, 1256, "%", 1, 0 +etbRevLimitActive = bits, U32, 1260, [0:0] +jamDetected = bits, U32, 1260, [1:1] +etbDutyRateOfChange = scalar, F32, 1264, "", 1, 0 +etbDutyAverage = scalar, F32, 1268, "", 1, 0 +etbTpsErrorCounter = scalar, U16, 1272, "", 1, 0 +etbPpsErrorCounter = scalar, U16, 1274, "", 1, 0 +etbErrorCode = scalar, S08, 1276, "", 1, 0 +jamTimer = scalar, U16, 1278, "sec", 0.01, 0 +; total TS size = 1280 +faultCode = scalar, U08, 1280, "", 1, 0 +heaterDuty = scalar, U08, 1281, "%", 1, 0 +pumpDuty = scalar, U08, 1282, "%", 1, 0 +tempC = scalar, U16, 1284, "C", 1, 0 +nernstVoltage = scalar, U16, 1286, "V", 0.001, 0 +esr = scalar, U16, 1288, "", 1, 0 +; total TS size = 1292 time = { timeNow } @@ -4750,6 +4754,7 @@ entry = mapVvt_MAP_AT_CYCLE_COUNT, "mapVvt_MAP_AT_CYCLE_COUNT", int, "%d" entry = mapVvt_map_peak, "mapVvt_map_peak", int, "%d" entry = currentEngineDecodedPhase, "Engine Phase", float, "%.3f" entry = triggerToothAngleError, "triggerToothAngleError", float, "%.3f" +entry = triggerIgnoredToothCount, "triggerIgnoredToothCount", int, "%d" entry = crankSynchronizationCounter, "Crank sync counter", int, "%d" entry = vvtSyncGapRatio, "vvtSyncGapRatio", float, "%.3f" entry = vvtCurrentPosition, "vvtCurrentPosition", float, "%.3f" @@ -4799,11 +4804,13 @@ entry = etbIntegralError, "etbIntegralError", float, "%.3f" entry = etbCurrentTarget, "etbCurrentTarget", float, "%.3f" entry = etbCurrentAdjustedTarget, "etbCurrentAdjustedTarget", float, "%.3f" entry = etbRevLimitActive, "etbRevLimitActive", int, "%d" +entry = jamDetected, "jamDetected", int, "%d" entry = etbDutyRateOfChange, "etbDutyRateOfChange", float, "%.3f" entry = etbDutyAverage, "etbDutyAverage", float, "%.3f" entry = etbTpsErrorCounter, "ETB TPS error counter", int, "%d" entry = etbPpsErrorCounter, "ETB pedal error counter", int, "%d" entry = etbErrorCode, "etbErrorCode", int, "%d" +entry = jamTimer, "ETB jam timer", float, "%.3f" entry = faultCode, "faultCode", int, "%d" entry = heaterDuty, "heaterDuty", int, "%d" entry = pumpDuty, "pumpDuty", int, "%d" @@ -5567,6 +5574,7 @@ dialog = trigger_centralDialog, "trigger_central" graphLine = currentEngineDecodedPhase liveGraph = trigger_central_4_Graph, "Graph", South graphLine = triggerToothAngleError + graphLine = triggerIgnoredToothCount dialog = trigger_stateDialog, "trigger_state" @@ -5637,6 +5645,7 @@ dialog = ignition_stateDialog, "ignition_state" indicatorPanel = electronic_throttleIndicatorPanel, 2 indicator = {etbRevLimitActive}, "etbRevLimitActive No", "etbRevLimitActive Yes" + indicator = {jamDetected}, "jamDetected No", "jamDetected Yes" dialog = electronic_throttleDialog, "electronic_throttle" panel = electronic_throttleIndicatorPanel @@ -5655,6 +5664,8 @@ dialog = electronic_throttleDialog, "electronic_throttle" graphLine = etbTpsErrorCounter graphLine = etbPpsErrorCounter graphLine = etbErrorCode + liveGraph = electronic_throttle_4_Graph, "Graph", South + graphLine = jamTimer dialog = wideband_stateDialog, "wideband_state" @@ -5844,6 +5855,7 @@ dialog = wideband_stateDialog, "wideband_state" field = "Do not print messages in case of sync error", silentTriggerError field = "Focus on inputs in engine sniffer", engineSnifferFocusOnInputs field = "Enable noise filtering", useNoiselessTriggerDecoder, {trigger_type == 8 || trigger_type == 9} + field = "Trigger Edge Filter", doNotFilterTriggerEdgeNoise dialog = triggerInputs, "Trigger Inputs" field = "#Cam is primary if you have cam sensor as part of trigger shape" diff --git a/firmware/tunerstudio/generated/rusefi_hellenNA8_96.ini b/firmware/tunerstudio/generated/rusefi_hellenNA8_96.ini index 165ba7c803..266fd1c639 100644 --- a/firmware/tunerstudio/generated/rusefi_hellenNA8_96.ini +++ b/firmware/tunerstudio/generated/rusefi_hellenNA8_96.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2023.01.10.hellenNA8_96.snap_61203" + signature = "rusEFI 2023.01.10.hellenNA8_96.snap_65432" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI 2023.01.10.hellenNA8_96.snap_61203" ; signature is expected to be 7 or more characters. + signature= "rusEFI 2023.01.10.hellenNA8_96.snap_65432" ; 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 @@ -86,7 +86,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 19:59:29 UTC 2023 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 21:35:05 UTC 2023 pageSize = 22368 page = 1 @@ -126,7 +126,7 @@ useTLE8888_cranking_hack = bits, U32, 120, [17:17], "false", "true" kickStartCranking = bits, U32, 120, [18:18], "false", "true" useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [19:19], "false", "true" launchControlEnabled = bits, U32, 120, [20:20], "false", "true" -anotherUnusedHere444 = bits, U32, 120, [21:21], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 120, [21:21], "with filter", "without filter" antiLagEnabled = bits, U32, 120, [22:22], "false", "true" useRunningMathForCranking = bits, U32, 120, [23:23], "Fixed", "Fuel Map" displayLogicLevelsInEngineSniffer = bits, U32, 120, [24:24], "false", "true" @@ -1469,6 +1469,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 cj125isUrDivided = "Is your UR CJ125 output wired to MCU via resistor divider?\nLooks like 3v range should be enough, divider generally not needed." useCicPidForIdle = "Switch between Industrial and Cic PID implementation" useSeparateIdleTablesForCrankingTaper = "This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration)." + doNotFilterTriggerEdgeNoise = "Detect double trigger edges" useRunningMathForCranking = "For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table)." displayLogicLevelsInEngineSniffer = "Shall we display real life signal or just the part consumed by trigger decoder.\nApplies to both trigger and cam/vvt input.\n\nenable logic_level_trigger" enableMapEstimationTableFallback = "If enabled, the MAP estimate table will be used if the MAP sensor fails to estimate manifold pressure based on RPM and TPS." @@ -2201,7 +2202,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1288 + ochBlockSize = 1292 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -2848,74 +2849,77 @@ mapVvt_MAP_AT_CYCLE_COUNT = scalar, U08, 1128, "", 1, 0 mapVvt_map_peak = scalar, U08, 1129, "", 1, 0 currentEngineDecodedPhase = scalar, F32, 1132, "deg", 1, 0 triggerToothAngleError = scalar, F32, 1136, "deg", 1, 0 -; total TS size = 1140 -crankSynchronizationCounter = scalar, U32, 1140, "", 1, 0 -vvtSyncGapRatio = scalar, F32, 1144, "", 1, 0 -vvtCurrentPosition = scalar, F32, 1148, "", 1, 0 -triggerSyncGapRatio = scalar, F32, 1152, "", 1, 0 -triggerStateIndex = scalar, U08, 1156, "", 1, 0 -vvtCounter = scalar, U08, 1157, "", 1, 0 -camResyncCounter = scalar, U08, 1158, "", 1, 0 -vvtStateIndex = scalar, U08, 1159, "", 1, 0 -; total TS size = 1160 -m_hasSynchronizedPhase = bits, U32, 1160, [0:0] +triggerIgnoredToothCount = scalar, U08, 1140, "", 1, 0 +; total TS size = 1144 +crankSynchronizationCounter = scalar, U32, 1144, "", 1, 0 +vvtSyncGapRatio = scalar, F32, 1148, "", 1, 0 +vvtCurrentPosition = scalar, F32, 1152, "", 1, 0 +triggerSyncGapRatio = scalar, F32, 1156, "", 1, 0 +triggerStateIndex = scalar, U08, 1160, "", 1, 0 +vvtCounter = scalar, U08, 1161, "", 1, 0 +camResyncCounter = scalar, U08, 1162, "", 1, 0 +vvtStateIndex = scalar, U08, 1163, "", 1, 0 ; total TS size = 1164 -wallFuelCorrection = scalar, F32, 1164, "", 1, 0 -wallFuel = scalar, F32, 1168, "", 1, 0 -; total TS size = 1172 -idleState = bits, S32, 1172, [0:2], "not important" -currentIdlePosition = scalar, F32, 1176 -baseIdlePosition = scalar, F32, 1180 -iacByTpsTaper = scalar, F32, 1184 -throttlePedalUpState = scalar, S32, 1188, "", 1, 0 -mightResetPid = bits, U32, 1192, [0:0] -shouldResetPid = bits, U32, 1192, [1:1] -wasResetPid = bits, U32, 1192, [2:2] -mustResetPid = bits, U32, 1192, [3:3] -isCranking = bits, U32, 1192, [4:4] -isIacTableForCoasting = bits, U32, 1192, [5:5] -notIdling = bits, U32, 1192, [6:6] -needReset = bits, U32, 1192, [7:7] -isInDeadZone = bits, U32, 1192, [8:8] -isBlipping = bits, U32, 1192, [9:9] -useClosedLoop = bits, U32, 1192, [10:10] -badTps = bits, U32, 1192, [11:11] -looksLikeRunning = bits, U32, 1192, [12:12] -looksLikeCoasting = bits, U32, 1192, [13:13] -looksLikeCrankToIdle = bits, U32, 1192, [14:14] -isVerboseIAC = bits, U32, 1192, [15:15] -isIdleCoasting = bits, U32, 1192, [16:16] -targetRpmByClt = scalar, S32, 1196, "", 1, 0 -targetRpmAcBump = scalar, S32, 1200, "", 1, 0 -iacByRpmTaper = scalar, F32, 1204 -luaAdd = scalar, F32, 1208 -; total TS size = 1212 -baseDwell = scalar, F32, 1212, "", 1, 0 -dwellVoltageCorrection = scalar, F32, 1216, "", 1, 0 -luaTimingAdd = scalar, F32, 1220, "", 1, 0 -luaTimingMult = scalar, F32, 1224, "", 1, 0 -; total TS size = 1228 -idlePosition = scalar, F32, 1228, "", 1, 0 -trim = scalar, F32, 1232, "", 1, 0 -luaAdjustment = scalar, F32, 1236, "", 1, 0 -etbFeedForward = scalar, F32, 1240 -etbIntegralError = scalar, F32, 1244, "", 1, 0 -etbCurrentTarget = scalar, F32, 1248, "%", 1, 0 -etbCurrentAdjustedTarget = scalar, F32, 1252, "%", 1, 0 -etbRevLimitActive = bits, U32, 1256, [0:0] -etbDutyRateOfChange = scalar, F32, 1260, "", 1, 0 -etbDutyAverage = scalar, F32, 1264, "", 1, 0 -etbTpsErrorCounter = scalar, U16, 1268, "", 1, 0 -etbPpsErrorCounter = scalar, U16, 1270, "", 1, 0 -etbErrorCode = scalar, S08, 1272, "", 1, 0 -; total TS size = 1276 -faultCode = scalar, U08, 1276, "", 1, 0 -heaterDuty = scalar, U08, 1277, "%", 1, 0 -pumpDuty = scalar, U08, 1278, "%", 1, 0 -tempC = scalar, U16, 1280, "C", 1, 0 -nernstVoltage = scalar, U16, 1282, "V", 0.001, 0 -esr = scalar, U16, 1284, "", 1, 0 -; total TS size = 1288 +m_hasSynchronizedPhase = bits, U32, 1164, [0:0] +; total TS size = 1168 +wallFuelCorrection = scalar, F32, 1168, "", 1, 0 +wallFuel = scalar, F32, 1172, "", 1, 0 +; total TS size = 1176 +idleState = bits, S32, 1176, [0:2], "not important" +currentIdlePosition = scalar, F32, 1180 +baseIdlePosition = scalar, F32, 1184 +iacByTpsTaper = scalar, F32, 1188 +throttlePedalUpState = scalar, S32, 1192, "", 1, 0 +mightResetPid = bits, U32, 1196, [0:0] +shouldResetPid = bits, U32, 1196, [1:1] +wasResetPid = bits, U32, 1196, [2:2] +mustResetPid = bits, U32, 1196, [3:3] +isCranking = bits, U32, 1196, [4:4] +isIacTableForCoasting = bits, U32, 1196, [5:5] +notIdling = bits, U32, 1196, [6:6] +needReset = bits, U32, 1196, [7:7] +isInDeadZone = bits, U32, 1196, [8:8] +isBlipping = bits, U32, 1196, [9:9] +useClosedLoop = bits, U32, 1196, [10:10] +badTps = bits, U32, 1196, [11:11] +looksLikeRunning = bits, U32, 1196, [12:12] +looksLikeCoasting = bits, U32, 1196, [13:13] +looksLikeCrankToIdle = bits, U32, 1196, [14:14] +isVerboseIAC = bits, U32, 1196, [15:15] +isIdleCoasting = bits, U32, 1196, [16:16] +targetRpmByClt = scalar, S32, 1200, "", 1, 0 +targetRpmAcBump = scalar, S32, 1204, "", 1, 0 +iacByRpmTaper = scalar, F32, 1208 +luaAdd = scalar, F32, 1212 +; total TS size = 1216 +baseDwell = scalar, F32, 1216, "", 1, 0 +dwellVoltageCorrection = scalar, F32, 1220, "", 1, 0 +luaTimingAdd = scalar, F32, 1224, "", 1, 0 +luaTimingMult = scalar, F32, 1228, "", 1, 0 +; total TS size = 1232 +idlePosition = scalar, F32, 1232, "", 1, 0 +trim = scalar, F32, 1236, "", 1, 0 +luaAdjustment = scalar, F32, 1240, "", 1, 0 +etbFeedForward = scalar, F32, 1244 +etbIntegralError = scalar, F32, 1248, "", 1, 0 +etbCurrentTarget = scalar, F32, 1252, "%", 1, 0 +etbCurrentAdjustedTarget = scalar, F32, 1256, "%", 1, 0 +etbRevLimitActive = bits, U32, 1260, [0:0] +jamDetected = bits, U32, 1260, [1:1] +etbDutyRateOfChange = scalar, F32, 1264, "", 1, 0 +etbDutyAverage = scalar, F32, 1268, "", 1, 0 +etbTpsErrorCounter = scalar, U16, 1272, "", 1, 0 +etbPpsErrorCounter = scalar, U16, 1274, "", 1, 0 +etbErrorCode = scalar, S08, 1276, "", 1, 0 +jamTimer = scalar, U16, 1278, "sec", 0.01, 0 +; total TS size = 1280 +faultCode = scalar, U08, 1280, "", 1, 0 +heaterDuty = scalar, U08, 1281, "%", 1, 0 +pumpDuty = scalar, U08, 1282, "%", 1, 0 +tempC = scalar, U16, 1284, "C", 1, 0 +nernstVoltage = scalar, U16, 1286, "V", 0.001, 0 +esr = scalar, U16, 1288, "", 1, 0 +; total TS size = 1292 time = { timeNow } @@ -4750,6 +4754,7 @@ entry = mapVvt_MAP_AT_CYCLE_COUNT, "mapVvt_MAP_AT_CYCLE_COUNT", int, "%d" entry = mapVvt_map_peak, "mapVvt_map_peak", int, "%d" entry = currentEngineDecodedPhase, "Engine Phase", float, "%.3f" entry = triggerToothAngleError, "triggerToothAngleError", float, "%.3f" +entry = triggerIgnoredToothCount, "triggerIgnoredToothCount", int, "%d" entry = crankSynchronizationCounter, "Crank sync counter", int, "%d" entry = vvtSyncGapRatio, "vvtSyncGapRatio", float, "%.3f" entry = vvtCurrentPosition, "vvtCurrentPosition", float, "%.3f" @@ -4799,11 +4804,13 @@ entry = etbIntegralError, "etbIntegralError", float, "%.3f" entry = etbCurrentTarget, "etbCurrentTarget", float, "%.3f" entry = etbCurrentAdjustedTarget, "etbCurrentAdjustedTarget", float, "%.3f" entry = etbRevLimitActive, "etbRevLimitActive", int, "%d" +entry = jamDetected, "jamDetected", int, "%d" entry = etbDutyRateOfChange, "etbDutyRateOfChange", float, "%.3f" entry = etbDutyAverage, "etbDutyAverage", float, "%.3f" entry = etbTpsErrorCounter, "ETB TPS error counter", int, "%d" entry = etbPpsErrorCounter, "ETB pedal error counter", int, "%d" entry = etbErrorCode, "etbErrorCode", int, "%d" +entry = jamTimer, "ETB jam timer", float, "%.3f" entry = faultCode, "faultCode", int, "%d" entry = heaterDuty, "heaterDuty", int, "%d" entry = pumpDuty, "pumpDuty", int, "%d" @@ -5567,6 +5574,7 @@ dialog = trigger_centralDialog, "trigger_central" graphLine = currentEngineDecodedPhase liveGraph = trigger_central_4_Graph, "Graph", South graphLine = triggerToothAngleError + graphLine = triggerIgnoredToothCount dialog = trigger_stateDialog, "trigger_state" @@ -5637,6 +5645,7 @@ dialog = ignition_stateDialog, "ignition_state" indicatorPanel = electronic_throttleIndicatorPanel, 2 indicator = {etbRevLimitActive}, "etbRevLimitActive No", "etbRevLimitActive Yes" + indicator = {jamDetected}, "jamDetected No", "jamDetected Yes" dialog = electronic_throttleDialog, "electronic_throttle" panel = electronic_throttleIndicatorPanel @@ -5655,6 +5664,8 @@ dialog = electronic_throttleDialog, "electronic_throttle" graphLine = etbTpsErrorCounter graphLine = etbPpsErrorCounter graphLine = etbErrorCode + liveGraph = electronic_throttle_4_Graph, "Graph", South + graphLine = jamTimer dialog = wideband_stateDialog, "wideband_state" @@ -5844,6 +5855,7 @@ dialog = wideband_stateDialog, "wideband_state" field = "Do not print messages in case of sync error", silentTriggerError field = "Focus on inputs in engine sniffer", engineSnifferFocusOnInputs field = "Enable noise filtering", useNoiselessTriggerDecoder, {trigger_type == 8 || trigger_type == 9} + field = "Trigger Edge Filter", doNotFilterTriggerEdgeNoise dialog = triggerInputs, "Trigger Inputs" field = "#Cam is primary if you have cam sensor as part of trigger shape" diff --git a/firmware/tunerstudio/generated/rusefi_kin.ini b/firmware/tunerstudio/generated/rusefi_kin.ini index 62cde7a4ab..f93e7ae2b6 100644 --- a/firmware/tunerstudio/generated/rusefi_kin.ini +++ b/firmware/tunerstudio/generated/rusefi_kin.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2023.01.10.kin.snap_64567" + signature = "rusEFI 2023.01.10.kin.snap_60604" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI 2023.01.10.kin.snap_64567" ; signature is expected to be 7 or more characters. + signature= "rusEFI 2023.01.10.kin.snap_60604" ; 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 @@ -86,7 +86,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on kinetis_gen_config.bat integration/rusefi_config.txt Tue Jan 10 19:59:09 UTC 2023 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on kinetis_gen_config.bat integration/rusefi_config.txt Tue Jan 10 21:34:45 UTC 2023 pageSize = 22368 page = 1 @@ -126,7 +126,7 @@ useTLE8888_cranking_hack = bits, U32, 120, [17:17], "false", "true" kickStartCranking = bits, U32, 120, [18:18], "false", "true" useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [19:19], "false", "true" launchControlEnabled = bits, U32, 120, [20:20], "false", "true" -anotherUnusedHere444 = bits, U32, 120, [21:21], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 120, [21:21], "with filter", "without filter" antiLagEnabled = bits, U32, 120, [22:22], "false", "true" useRunningMathForCranking = bits, U32, 120, [23:23], "Fixed", "Fuel Map" displayLogicLevelsInEngineSniffer = bits, U32, 120, [24:24], "false", "true" @@ -1469,6 +1469,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 cj125isUrDivided = "Is your UR CJ125 output wired to MCU via resistor divider?\nLooks like 3v range should be enough, divider generally not needed." useCicPidForIdle = "Switch between Industrial and Cic PID implementation" useSeparateIdleTablesForCrankingTaper = "This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration)." + doNotFilterTriggerEdgeNoise = "Detect double trigger edges" useRunningMathForCranking = "For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table)." displayLogicLevelsInEngineSniffer = "Shall we display real life signal or just the part consumed by trigger decoder.\nApplies to both trigger and cam/vvt input.\n\nenable logic_level_trigger" enableMapEstimationTableFallback = "If enabled, the MAP estimate table will be used if the MAP sensor fails to estimate manifold pressure based on RPM and TPS." @@ -2201,7 +2202,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1288 + ochBlockSize = 1292 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -2848,74 +2849,77 @@ mapVvt_MAP_AT_CYCLE_COUNT = scalar, U08, 1128, "", 1, 0 mapVvt_map_peak = scalar, U08, 1129, "", 1, 0 currentEngineDecodedPhase = scalar, F32, 1132, "deg", 1, 0 triggerToothAngleError = scalar, F32, 1136, "deg", 1, 0 -; total TS size = 1140 -crankSynchronizationCounter = scalar, U32, 1140, "", 1, 0 -vvtSyncGapRatio = scalar, F32, 1144, "", 1, 0 -vvtCurrentPosition = scalar, F32, 1148, "", 1, 0 -triggerSyncGapRatio = scalar, F32, 1152, "", 1, 0 -triggerStateIndex = scalar, U08, 1156, "", 1, 0 -vvtCounter = scalar, U08, 1157, "", 1, 0 -camResyncCounter = scalar, U08, 1158, "", 1, 0 -vvtStateIndex = scalar, U08, 1159, "", 1, 0 -; total TS size = 1160 -m_hasSynchronizedPhase = bits, U32, 1160, [0:0] +triggerIgnoredToothCount = scalar, U08, 1140, "", 1, 0 +; total TS size = 1144 +crankSynchronizationCounter = scalar, U32, 1144, "", 1, 0 +vvtSyncGapRatio = scalar, F32, 1148, "", 1, 0 +vvtCurrentPosition = scalar, F32, 1152, "", 1, 0 +triggerSyncGapRatio = scalar, F32, 1156, "", 1, 0 +triggerStateIndex = scalar, U08, 1160, "", 1, 0 +vvtCounter = scalar, U08, 1161, "", 1, 0 +camResyncCounter = scalar, U08, 1162, "", 1, 0 +vvtStateIndex = scalar, U08, 1163, "", 1, 0 ; total TS size = 1164 -wallFuelCorrection = scalar, F32, 1164, "", 1, 0 -wallFuel = scalar, F32, 1168, "", 1, 0 -; total TS size = 1172 -idleState = bits, S32, 1172, [0:2], "not important" -currentIdlePosition = scalar, F32, 1176 -baseIdlePosition = scalar, F32, 1180 -iacByTpsTaper = scalar, F32, 1184 -throttlePedalUpState = scalar, S32, 1188, "", 1, 0 -mightResetPid = bits, U32, 1192, [0:0] -shouldResetPid = bits, U32, 1192, [1:1] -wasResetPid = bits, U32, 1192, [2:2] -mustResetPid = bits, U32, 1192, [3:3] -isCranking = bits, U32, 1192, [4:4] -isIacTableForCoasting = bits, U32, 1192, [5:5] -notIdling = bits, U32, 1192, [6:6] -needReset = bits, U32, 1192, [7:7] -isInDeadZone = bits, U32, 1192, [8:8] -isBlipping = bits, U32, 1192, [9:9] -useClosedLoop = bits, U32, 1192, [10:10] -badTps = bits, U32, 1192, [11:11] -looksLikeRunning = bits, U32, 1192, [12:12] -looksLikeCoasting = bits, U32, 1192, [13:13] -looksLikeCrankToIdle = bits, U32, 1192, [14:14] -isVerboseIAC = bits, U32, 1192, [15:15] -isIdleCoasting = bits, U32, 1192, [16:16] -targetRpmByClt = scalar, S32, 1196, "", 1, 0 -targetRpmAcBump = scalar, S32, 1200, "", 1, 0 -iacByRpmTaper = scalar, F32, 1204 -luaAdd = scalar, F32, 1208 -; total TS size = 1212 -baseDwell = scalar, F32, 1212, "", 1, 0 -dwellVoltageCorrection = scalar, F32, 1216, "", 1, 0 -luaTimingAdd = scalar, F32, 1220, "", 1, 0 -luaTimingMult = scalar, F32, 1224, "", 1, 0 -; total TS size = 1228 -idlePosition = scalar, F32, 1228, "", 1, 0 -trim = scalar, F32, 1232, "", 1, 0 -luaAdjustment = scalar, F32, 1236, "", 1, 0 -etbFeedForward = scalar, F32, 1240 -etbIntegralError = scalar, F32, 1244, "", 1, 0 -etbCurrentTarget = scalar, F32, 1248, "%", 1, 0 -etbCurrentAdjustedTarget = scalar, F32, 1252, "%", 1, 0 -etbRevLimitActive = bits, U32, 1256, [0:0] -etbDutyRateOfChange = scalar, F32, 1260, "", 1, 0 -etbDutyAverage = scalar, F32, 1264, "", 1, 0 -etbTpsErrorCounter = scalar, U16, 1268, "", 1, 0 -etbPpsErrorCounter = scalar, U16, 1270, "", 1, 0 -etbErrorCode = scalar, S08, 1272, "", 1, 0 -; total TS size = 1276 -faultCode = scalar, U08, 1276, "", 1, 0 -heaterDuty = scalar, U08, 1277, "%", 1, 0 -pumpDuty = scalar, U08, 1278, "%", 1, 0 -tempC = scalar, U16, 1280, "C", 1, 0 -nernstVoltage = scalar, U16, 1282, "V", 0.001, 0 -esr = scalar, U16, 1284, "", 1, 0 -; total TS size = 1288 +m_hasSynchronizedPhase = bits, U32, 1164, [0:0] +; total TS size = 1168 +wallFuelCorrection = scalar, F32, 1168, "", 1, 0 +wallFuel = scalar, F32, 1172, "", 1, 0 +; total TS size = 1176 +idleState = bits, S32, 1176, [0:2], "not important" +currentIdlePosition = scalar, F32, 1180 +baseIdlePosition = scalar, F32, 1184 +iacByTpsTaper = scalar, F32, 1188 +throttlePedalUpState = scalar, S32, 1192, "", 1, 0 +mightResetPid = bits, U32, 1196, [0:0] +shouldResetPid = bits, U32, 1196, [1:1] +wasResetPid = bits, U32, 1196, [2:2] +mustResetPid = bits, U32, 1196, [3:3] +isCranking = bits, U32, 1196, [4:4] +isIacTableForCoasting = bits, U32, 1196, [5:5] +notIdling = bits, U32, 1196, [6:6] +needReset = bits, U32, 1196, [7:7] +isInDeadZone = bits, U32, 1196, [8:8] +isBlipping = bits, U32, 1196, [9:9] +useClosedLoop = bits, U32, 1196, [10:10] +badTps = bits, U32, 1196, [11:11] +looksLikeRunning = bits, U32, 1196, [12:12] +looksLikeCoasting = bits, U32, 1196, [13:13] +looksLikeCrankToIdle = bits, U32, 1196, [14:14] +isVerboseIAC = bits, U32, 1196, [15:15] +isIdleCoasting = bits, U32, 1196, [16:16] +targetRpmByClt = scalar, S32, 1200, "", 1, 0 +targetRpmAcBump = scalar, S32, 1204, "", 1, 0 +iacByRpmTaper = scalar, F32, 1208 +luaAdd = scalar, F32, 1212 +; total TS size = 1216 +baseDwell = scalar, F32, 1216, "", 1, 0 +dwellVoltageCorrection = scalar, F32, 1220, "", 1, 0 +luaTimingAdd = scalar, F32, 1224, "", 1, 0 +luaTimingMult = scalar, F32, 1228, "", 1, 0 +; total TS size = 1232 +idlePosition = scalar, F32, 1232, "", 1, 0 +trim = scalar, F32, 1236, "", 1, 0 +luaAdjustment = scalar, F32, 1240, "", 1, 0 +etbFeedForward = scalar, F32, 1244 +etbIntegralError = scalar, F32, 1248, "", 1, 0 +etbCurrentTarget = scalar, F32, 1252, "%", 1, 0 +etbCurrentAdjustedTarget = scalar, F32, 1256, "%", 1, 0 +etbRevLimitActive = bits, U32, 1260, [0:0] +jamDetected = bits, U32, 1260, [1:1] +etbDutyRateOfChange = scalar, F32, 1264, "", 1, 0 +etbDutyAverage = scalar, F32, 1268, "", 1, 0 +etbTpsErrorCounter = scalar, U16, 1272, "", 1, 0 +etbPpsErrorCounter = scalar, U16, 1274, "", 1, 0 +etbErrorCode = scalar, S08, 1276, "", 1, 0 +jamTimer = scalar, U16, 1278, "sec", 0.01, 0 +; total TS size = 1280 +faultCode = scalar, U08, 1280, "", 1, 0 +heaterDuty = scalar, U08, 1281, "%", 1, 0 +pumpDuty = scalar, U08, 1282, "%", 1, 0 +tempC = scalar, U16, 1284, "C", 1, 0 +nernstVoltage = scalar, U16, 1286, "V", 0.001, 0 +esr = scalar, U16, 1288, "", 1, 0 +; total TS size = 1292 time = { timeNow } @@ -4750,6 +4754,7 @@ entry = mapVvt_MAP_AT_CYCLE_COUNT, "mapVvt_MAP_AT_CYCLE_COUNT", int, "%d" entry = mapVvt_map_peak, "mapVvt_map_peak", int, "%d" entry = currentEngineDecodedPhase, "Engine Phase", float, "%.3f" entry = triggerToothAngleError, "triggerToothAngleError", float, "%.3f" +entry = triggerIgnoredToothCount, "triggerIgnoredToothCount", int, "%d" entry = crankSynchronizationCounter, "Crank sync counter", int, "%d" entry = vvtSyncGapRatio, "vvtSyncGapRatio", float, "%.3f" entry = vvtCurrentPosition, "vvtCurrentPosition", float, "%.3f" @@ -4799,11 +4804,13 @@ entry = etbIntegralError, "etbIntegralError", float, "%.3f" entry = etbCurrentTarget, "etbCurrentTarget", float, "%.3f" entry = etbCurrentAdjustedTarget, "etbCurrentAdjustedTarget", float, "%.3f" entry = etbRevLimitActive, "etbRevLimitActive", int, "%d" +entry = jamDetected, "jamDetected", int, "%d" entry = etbDutyRateOfChange, "etbDutyRateOfChange", float, "%.3f" entry = etbDutyAverage, "etbDutyAverage", float, "%.3f" entry = etbTpsErrorCounter, "ETB TPS error counter", int, "%d" entry = etbPpsErrorCounter, "ETB pedal error counter", int, "%d" entry = etbErrorCode, "etbErrorCode", int, "%d" +entry = jamTimer, "ETB jam timer", float, "%.3f" entry = faultCode, "faultCode", int, "%d" entry = heaterDuty, "heaterDuty", int, "%d" entry = pumpDuty, "pumpDuty", int, "%d" @@ -5570,6 +5577,7 @@ dialog = trigger_centralDialog, "trigger_central" graphLine = currentEngineDecodedPhase liveGraph = trigger_central_4_Graph, "Graph", South graphLine = triggerToothAngleError + graphLine = triggerIgnoredToothCount dialog = trigger_stateDialog, "trigger_state" @@ -5640,6 +5648,7 @@ dialog = ignition_stateDialog, "ignition_state" indicatorPanel = electronic_throttleIndicatorPanel, 2 indicator = {etbRevLimitActive}, "etbRevLimitActive No", "etbRevLimitActive Yes" + indicator = {jamDetected}, "jamDetected No", "jamDetected Yes" dialog = electronic_throttleDialog, "electronic_throttle" panel = electronic_throttleIndicatorPanel @@ -5658,6 +5667,8 @@ dialog = electronic_throttleDialog, "electronic_throttle" graphLine = etbTpsErrorCounter graphLine = etbPpsErrorCounter graphLine = etbErrorCode + liveGraph = electronic_throttle_4_Graph, "Graph", South + graphLine = jamTimer dialog = wideband_stateDialog, "wideband_state" @@ -5847,6 +5858,7 @@ dialog = wideband_stateDialog, "wideband_state" field = "Do not print messages in case of sync error", silentTriggerError field = "Focus on inputs in engine sniffer", engineSnifferFocusOnInputs field = "Enable noise filtering", useNoiselessTriggerDecoder, {trigger_type == 8 || trigger_type == 9} + field = "Trigger Edge Filter", doNotFilterTriggerEdgeNoise dialog = triggerInputs, "Trigger Inputs" field = "#Cam is primary if you have cam sensor as part of trigger shape" diff --git a/firmware/tunerstudio/generated/rusefi_m74_9.ini b/firmware/tunerstudio/generated/rusefi_m74_9.ini index ffd3972467..751d6bc79c 100644 --- a/firmware/tunerstudio/generated/rusefi_m74_9.ini +++ b/firmware/tunerstudio/generated/rusefi_m74_9.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2023.01.10.m74_9.snap_33728" + signature = "rusEFI 2023.01.10.m74_9.snap_37707" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI 2023.01.10.m74_9.snap_33728" ; signature is expected to be 7 or more characters. + signature= "rusEFI 2023.01.10.m74_9.snap_37707" ; 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 @@ -86,7 +86,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 19:59:36 UTC 2023 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 21:35:11 UTC 2023 pageSize = 22368 page = 1 @@ -126,7 +126,7 @@ useTLE8888_cranking_hack = bits, U32, 120, [17:17], "false", "true" kickStartCranking = bits, U32, 120, [18:18], "false", "true" useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [19:19], "false", "true" launchControlEnabled = bits, U32, 120, [20:20], "false", "true" -anotherUnusedHere444 = bits, U32, 120, [21:21], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 120, [21:21], "with filter", "without filter" antiLagEnabled = bits, U32, 120, [22:22], "false", "true" useRunningMathForCranking = bits, U32, 120, [23:23], "Fixed", "Fuel Map" displayLogicLevelsInEngineSniffer = bits, U32, 120, [24:24], "false", "true" @@ -1469,6 +1469,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 cj125isUrDivided = "Is your UR CJ125 output wired to MCU via resistor divider?\nLooks like 3v range should be enough, divider generally not needed." useCicPidForIdle = "Switch between Industrial and Cic PID implementation" useSeparateIdleTablesForCrankingTaper = "This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration)." + doNotFilterTriggerEdgeNoise = "Detect double trigger edges" useRunningMathForCranking = "For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table)." displayLogicLevelsInEngineSniffer = "Shall we display real life signal or just the part consumed by trigger decoder.\nApplies to both trigger and cam/vvt input.\n\nenable logic_level_trigger" enableMapEstimationTableFallback = "If enabled, the MAP estimate table will be used if the MAP sensor fails to estimate manifold pressure based on RPM and TPS." @@ -2201,7 +2202,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1288 + ochBlockSize = 1292 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -2848,74 +2849,77 @@ mapVvt_MAP_AT_CYCLE_COUNT = scalar, U08, 1128, "", 1, 0 mapVvt_map_peak = scalar, U08, 1129, "", 1, 0 currentEngineDecodedPhase = scalar, F32, 1132, "deg", 1, 0 triggerToothAngleError = scalar, F32, 1136, "deg", 1, 0 -; total TS size = 1140 -crankSynchronizationCounter = scalar, U32, 1140, "", 1, 0 -vvtSyncGapRatio = scalar, F32, 1144, "", 1, 0 -vvtCurrentPosition = scalar, F32, 1148, "", 1, 0 -triggerSyncGapRatio = scalar, F32, 1152, "", 1, 0 -triggerStateIndex = scalar, U08, 1156, "", 1, 0 -vvtCounter = scalar, U08, 1157, "", 1, 0 -camResyncCounter = scalar, U08, 1158, "", 1, 0 -vvtStateIndex = scalar, U08, 1159, "", 1, 0 -; total TS size = 1160 -m_hasSynchronizedPhase = bits, U32, 1160, [0:0] +triggerIgnoredToothCount = scalar, U08, 1140, "", 1, 0 +; total TS size = 1144 +crankSynchronizationCounter = scalar, U32, 1144, "", 1, 0 +vvtSyncGapRatio = scalar, F32, 1148, "", 1, 0 +vvtCurrentPosition = scalar, F32, 1152, "", 1, 0 +triggerSyncGapRatio = scalar, F32, 1156, "", 1, 0 +triggerStateIndex = scalar, U08, 1160, "", 1, 0 +vvtCounter = scalar, U08, 1161, "", 1, 0 +camResyncCounter = scalar, U08, 1162, "", 1, 0 +vvtStateIndex = scalar, U08, 1163, "", 1, 0 ; total TS size = 1164 -wallFuelCorrection = scalar, F32, 1164, "", 1, 0 -wallFuel = scalar, F32, 1168, "", 1, 0 -; total TS size = 1172 -idleState = bits, S32, 1172, [0:2], "not important" -currentIdlePosition = scalar, F32, 1176 -baseIdlePosition = scalar, F32, 1180 -iacByTpsTaper = scalar, F32, 1184 -throttlePedalUpState = scalar, S32, 1188, "", 1, 0 -mightResetPid = bits, U32, 1192, [0:0] -shouldResetPid = bits, U32, 1192, [1:1] -wasResetPid = bits, U32, 1192, [2:2] -mustResetPid = bits, U32, 1192, [3:3] -isCranking = bits, U32, 1192, [4:4] -isIacTableForCoasting = bits, U32, 1192, [5:5] -notIdling = bits, U32, 1192, [6:6] -needReset = bits, U32, 1192, [7:7] -isInDeadZone = bits, U32, 1192, [8:8] -isBlipping = bits, U32, 1192, [9:9] -useClosedLoop = bits, U32, 1192, [10:10] -badTps = bits, U32, 1192, [11:11] -looksLikeRunning = bits, U32, 1192, [12:12] -looksLikeCoasting = bits, U32, 1192, [13:13] -looksLikeCrankToIdle = bits, U32, 1192, [14:14] -isVerboseIAC = bits, U32, 1192, [15:15] -isIdleCoasting = bits, U32, 1192, [16:16] -targetRpmByClt = scalar, S32, 1196, "", 1, 0 -targetRpmAcBump = scalar, S32, 1200, "", 1, 0 -iacByRpmTaper = scalar, F32, 1204 -luaAdd = scalar, F32, 1208 -; total TS size = 1212 -baseDwell = scalar, F32, 1212, "", 1, 0 -dwellVoltageCorrection = scalar, F32, 1216, "", 1, 0 -luaTimingAdd = scalar, F32, 1220, "", 1, 0 -luaTimingMult = scalar, F32, 1224, "", 1, 0 -; total TS size = 1228 -idlePosition = scalar, F32, 1228, "", 1, 0 -trim = scalar, F32, 1232, "", 1, 0 -luaAdjustment = scalar, F32, 1236, "", 1, 0 -etbFeedForward = scalar, F32, 1240 -etbIntegralError = scalar, F32, 1244, "", 1, 0 -etbCurrentTarget = scalar, F32, 1248, "%", 1, 0 -etbCurrentAdjustedTarget = scalar, F32, 1252, "%", 1, 0 -etbRevLimitActive = bits, U32, 1256, [0:0] -etbDutyRateOfChange = scalar, F32, 1260, "", 1, 0 -etbDutyAverage = scalar, F32, 1264, "", 1, 0 -etbTpsErrorCounter = scalar, U16, 1268, "", 1, 0 -etbPpsErrorCounter = scalar, U16, 1270, "", 1, 0 -etbErrorCode = scalar, S08, 1272, "", 1, 0 -; total TS size = 1276 -faultCode = scalar, U08, 1276, "", 1, 0 -heaterDuty = scalar, U08, 1277, "%", 1, 0 -pumpDuty = scalar, U08, 1278, "%", 1, 0 -tempC = scalar, U16, 1280, "C", 1, 0 -nernstVoltage = scalar, U16, 1282, "V", 0.001, 0 -esr = scalar, U16, 1284, "", 1, 0 -; total TS size = 1288 +m_hasSynchronizedPhase = bits, U32, 1164, [0:0] +; total TS size = 1168 +wallFuelCorrection = scalar, F32, 1168, "", 1, 0 +wallFuel = scalar, F32, 1172, "", 1, 0 +; total TS size = 1176 +idleState = bits, S32, 1176, [0:2], "not important" +currentIdlePosition = scalar, F32, 1180 +baseIdlePosition = scalar, F32, 1184 +iacByTpsTaper = scalar, F32, 1188 +throttlePedalUpState = scalar, S32, 1192, "", 1, 0 +mightResetPid = bits, U32, 1196, [0:0] +shouldResetPid = bits, U32, 1196, [1:1] +wasResetPid = bits, U32, 1196, [2:2] +mustResetPid = bits, U32, 1196, [3:3] +isCranking = bits, U32, 1196, [4:4] +isIacTableForCoasting = bits, U32, 1196, [5:5] +notIdling = bits, U32, 1196, [6:6] +needReset = bits, U32, 1196, [7:7] +isInDeadZone = bits, U32, 1196, [8:8] +isBlipping = bits, U32, 1196, [9:9] +useClosedLoop = bits, U32, 1196, [10:10] +badTps = bits, U32, 1196, [11:11] +looksLikeRunning = bits, U32, 1196, [12:12] +looksLikeCoasting = bits, U32, 1196, [13:13] +looksLikeCrankToIdle = bits, U32, 1196, [14:14] +isVerboseIAC = bits, U32, 1196, [15:15] +isIdleCoasting = bits, U32, 1196, [16:16] +targetRpmByClt = scalar, S32, 1200, "", 1, 0 +targetRpmAcBump = scalar, S32, 1204, "", 1, 0 +iacByRpmTaper = scalar, F32, 1208 +luaAdd = scalar, F32, 1212 +; total TS size = 1216 +baseDwell = scalar, F32, 1216, "", 1, 0 +dwellVoltageCorrection = scalar, F32, 1220, "", 1, 0 +luaTimingAdd = scalar, F32, 1224, "", 1, 0 +luaTimingMult = scalar, F32, 1228, "", 1, 0 +; total TS size = 1232 +idlePosition = scalar, F32, 1232, "", 1, 0 +trim = scalar, F32, 1236, "", 1, 0 +luaAdjustment = scalar, F32, 1240, "", 1, 0 +etbFeedForward = scalar, F32, 1244 +etbIntegralError = scalar, F32, 1248, "", 1, 0 +etbCurrentTarget = scalar, F32, 1252, "%", 1, 0 +etbCurrentAdjustedTarget = scalar, F32, 1256, "%", 1, 0 +etbRevLimitActive = bits, U32, 1260, [0:0] +jamDetected = bits, U32, 1260, [1:1] +etbDutyRateOfChange = scalar, F32, 1264, "", 1, 0 +etbDutyAverage = scalar, F32, 1268, "", 1, 0 +etbTpsErrorCounter = scalar, U16, 1272, "", 1, 0 +etbPpsErrorCounter = scalar, U16, 1274, "", 1, 0 +etbErrorCode = scalar, S08, 1276, "", 1, 0 +jamTimer = scalar, U16, 1278, "sec", 0.01, 0 +; total TS size = 1280 +faultCode = scalar, U08, 1280, "", 1, 0 +heaterDuty = scalar, U08, 1281, "%", 1, 0 +pumpDuty = scalar, U08, 1282, "%", 1, 0 +tempC = scalar, U16, 1284, "C", 1, 0 +nernstVoltage = scalar, U16, 1286, "V", 0.001, 0 +esr = scalar, U16, 1288, "", 1, 0 +; total TS size = 1292 time = { timeNow } @@ -4750,6 +4754,7 @@ entry = mapVvt_MAP_AT_CYCLE_COUNT, "mapVvt_MAP_AT_CYCLE_COUNT", int, "%d" entry = mapVvt_map_peak, "mapVvt_map_peak", int, "%d" entry = currentEngineDecodedPhase, "Engine Phase", float, "%.3f" entry = triggerToothAngleError, "triggerToothAngleError", float, "%.3f" +entry = triggerIgnoredToothCount, "triggerIgnoredToothCount", int, "%d" entry = crankSynchronizationCounter, "Crank sync counter", int, "%d" entry = vvtSyncGapRatio, "vvtSyncGapRatio", float, "%.3f" entry = vvtCurrentPosition, "vvtCurrentPosition", float, "%.3f" @@ -4799,11 +4804,13 @@ entry = etbIntegralError, "etbIntegralError", float, "%.3f" entry = etbCurrentTarget, "etbCurrentTarget", float, "%.3f" entry = etbCurrentAdjustedTarget, "etbCurrentAdjustedTarget", float, "%.3f" entry = etbRevLimitActive, "etbRevLimitActive", int, "%d" +entry = jamDetected, "jamDetected", int, "%d" entry = etbDutyRateOfChange, "etbDutyRateOfChange", float, "%.3f" entry = etbDutyAverage, "etbDutyAverage", float, "%.3f" entry = etbTpsErrorCounter, "ETB TPS error counter", int, "%d" entry = etbPpsErrorCounter, "ETB pedal error counter", int, "%d" entry = etbErrorCode, "etbErrorCode", int, "%d" +entry = jamTimer, "ETB jam timer", float, "%.3f" entry = faultCode, "faultCode", int, "%d" entry = heaterDuty, "heaterDuty", int, "%d" entry = pumpDuty, "pumpDuty", int, "%d" @@ -5567,6 +5574,7 @@ dialog = trigger_centralDialog, "trigger_central" graphLine = currentEngineDecodedPhase liveGraph = trigger_central_4_Graph, "Graph", South graphLine = triggerToothAngleError + graphLine = triggerIgnoredToothCount dialog = trigger_stateDialog, "trigger_state" @@ -5637,6 +5645,7 @@ dialog = ignition_stateDialog, "ignition_state" indicatorPanel = electronic_throttleIndicatorPanel, 2 indicator = {etbRevLimitActive}, "etbRevLimitActive No", "etbRevLimitActive Yes" + indicator = {jamDetected}, "jamDetected No", "jamDetected Yes" dialog = electronic_throttleDialog, "electronic_throttle" panel = electronic_throttleIndicatorPanel @@ -5655,6 +5664,8 @@ dialog = electronic_throttleDialog, "electronic_throttle" graphLine = etbTpsErrorCounter graphLine = etbPpsErrorCounter graphLine = etbErrorCode + liveGraph = electronic_throttle_4_Graph, "Graph", South + graphLine = jamTimer dialog = wideband_stateDialog, "wideband_state" @@ -5844,6 +5855,7 @@ dialog = wideband_stateDialog, "wideband_state" field = "Do not print messages in case of sync error", silentTriggerError field = "Focus on inputs in engine sniffer", engineSnifferFocusOnInputs field = "Enable noise filtering", useNoiselessTriggerDecoder, {trigger_type == 8 || trigger_type == 9} + field = "Trigger Edge Filter", doNotFilterTriggerEdgeNoise dialog = triggerInputs, "Trigger Inputs" field = "#Cam is primary if you have cam sensor as part of trigger shape" diff --git a/firmware/tunerstudio/generated/rusefi_mre_f4.ini b/firmware/tunerstudio/generated/rusefi_mre_f4.ini index 97dadb5865..29a5beed89 100644 --- a/firmware/tunerstudio/generated/rusefi_mre_f4.ini +++ b/firmware/tunerstudio/generated/rusefi_mre_f4.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2023.01.10.mre_f4.snap_14843" + signature = "rusEFI 2023.01.10.mre_f4.snap_10608" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI 2023.01.10.mre_f4.snap_14843" ; signature is expected to be 7 or more characters. + signature= "rusEFI 2023.01.10.mre_f4.snap_10608" ; 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 @@ -86,7 +86,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 19:59:32 UTC 2023 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 21:35:07 UTC 2023 pageSize = 22368 page = 1 @@ -126,7 +126,7 @@ useTLE8888_cranking_hack = bits, U32, 120, [17:17], "false", "true" kickStartCranking = bits, U32, 120, [18:18], "false", "true" useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [19:19], "false", "true" launchControlEnabled = bits, U32, 120, [20:20], "false", "true" -anotherUnusedHere444 = bits, U32, 120, [21:21], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 120, [21:21], "with filter", "without filter" antiLagEnabled = bits, U32, 120, [22:22], "false", "true" useRunningMathForCranking = bits, U32, 120, [23:23], "Fixed", "Fuel Map" displayLogicLevelsInEngineSniffer = bits, U32, 120, [24:24], "false", "true" @@ -1469,6 +1469,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 cj125isUrDivided = "Is your UR CJ125 output wired to MCU via resistor divider?\nLooks like 3v range should be enough, divider generally not needed." useCicPidForIdle = "Switch between Industrial and Cic PID implementation" useSeparateIdleTablesForCrankingTaper = "This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration)." + doNotFilterTriggerEdgeNoise = "Detect double trigger edges" useRunningMathForCranking = "For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table)." displayLogicLevelsInEngineSniffer = "Shall we display real life signal or just the part consumed by trigger decoder.\nApplies to both trigger and cam/vvt input.\n\nenable logic_level_trigger" enableMapEstimationTableFallback = "If enabled, the MAP estimate table will be used if the MAP sensor fails to estimate manifold pressure based on RPM and TPS." @@ -2201,7 +2202,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1288 + ochBlockSize = 1292 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -2848,74 +2849,77 @@ mapVvt_MAP_AT_CYCLE_COUNT = scalar, U08, 1128, "", 1, 0 mapVvt_map_peak = scalar, U08, 1129, "", 1, 0 currentEngineDecodedPhase = scalar, F32, 1132, "deg", 1, 0 triggerToothAngleError = scalar, F32, 1136, "deg", 1, 0 -; total TS size = 1140 -crankSynchronizationCounter = scalar, U32, 1140, "", 1, 0 -vvtSyncGapRatio = scalar, F32, 1144, "", 1, 0 -vvtCurrentPosition = scalar, F32, 1148, "", 1, 0 -triggerSyncGapRatio = scalar, F32, 1152, "", 1, 0 -triggerStateIndex = scalar, U08, 1156, "", 1, 0 -vvtCounter = scalar, U08, 1157, "", 1, 0 -camResyncCounter = scalar, U08, 1158, "", 1, 0 -vvtStateIndex = scalar, U08, 1159, "", 1, 0 -; total TS size = 1160 -m_hasSynchronizedPhase = bits, U32, 1160, [0:0] +triggerIgnoredToothCount = scalar, U08, 1140, "", 1, 0 +; total TS size = 1144 +crankSynchronizationCounter = scalar, U32, 1144, "", 1, 0 +vvtSyncGapRatio = scalar, F32, 1148, "", 1, 0 +vvtCurrentPosition = scalar, F32, 1152, "", 1, 0 +triggerSyncGapRatio = scalar, F32, 1156, "", 1, 0 +triggerStateIndex = scalar, U08, 1160, "", 1, 0 +vvtCounter = scalar, U08, 1161, "", 1, 0 +camResyncCounter = scalar, U08, 1162, "", 1, 0 +vvtStateIndex = scalar, U08, 1163, "", 1, 0 ; total TS size = 1164 -wallFuelCorrection = scalar, F32, 1164, "", 1, 0 -wallFuel = scalar, F32, 1168, "", 1, 0 -; total TS size = 1172 -idleState = bits, S32, 1172, [0:2], "not important" -currentIdlePosition = scalar, F32, 1176 -baseIdlePosition = scalar, F32, 1180 -iacByTpsTaper = scalar, F32, 1184 -throttlePedalUpState = scalar, S32, 1188, "", 1, 0 -mightResetPid = bits, U32, 1192, [0:0] -shouldResetPid = bits, U32, 1192, [1:1] -wasResetPid = bits, U32, 1192, [2:2] -mustResetPid = bits, U32, 1192, [3:3] -isCranking = bits, U32, 1192, [4:4] -isIacTableForCoasting = bits, U32, 1192, [5:5] -notIdling = bits, U32, 1192, [6:6] -needReset = bits, U32, 1192, [7:7] -isInDeadZone = bits, U32, 1192, [8:8] -isBlipping = bits, U32, 1192, [9:9] -useClosedLoop = bits, U32, 1192, [10:10] -badTps = bits, U32, 1192, [11:11] -looksLikeRunning = bits, U32, 1192, [12:12] -looksLikeCoasting = bits, U32, 1192, [13:13] -looksLikeCrankToIdle = bits, U32, 1192, [14:14] -isVerboseIAC = bits, U32, 1192, [15:15] -isIdleCoasting = bits, U32, 1192, [16:16] -targetRpmByClt = scalar, S32, 1196, "", 1, 0 -targetRpmAcBump = scalar, S32, 1200, "", 1, 0 -iacByRpmTaper = scalar, F32, 1204 -luaAdd = scalar, F32, 1208 -; total TS size = 1212 -baseDwell = scalar, F32, 1212, "", 1, 0 -dwellVoltageCorrection = scalar, F32, 1216, "", 1, 0 -luaTimingAdd = scalar, F32, 1220, "", 1, 0 -luaTimingMult = scalar, F32, 1224, "", 1, 0 -; total TS size = 1228 -idlePosition = scalar, F32, 1228, "", 1, 0 -trim = scalar, F32, 1232, "", 1, 0 -luaAdjustment = scalar, F32, 1236, "", 1, 0 -etbFeedForward = scalar, F32, 1240 -etbIntegralError = scalar, F32, 1244, "", 1, 0 -etbCurrentTarget = scalar, F32, 1248, "%", 1, 0 -etbCurrentAdjustedTarget = scalar, F32, 1252, "%", 1, 0 -etbRevLimitActive = bits, U32, 1256, [0:0] -etbDutyRateOfChange = scalar, F32, 1260, "", 1, 0 -etbDutyAverage = scalar, F32, 1264, "", 1, 0 -etbTpsErrorCounter = scalar, U16, 1268, "", 1, 0 -etbPpsErrorCounter = scalar, U16, 1270, "", 1, 0 -etbErrorCode = scalar, S08, 1272, "", 1, 0 -; total TS size = 1276 -faultCode = scalar, U08, 1276, "", 1, 0 -heaterDuty = scalar, U08, 1277, "%", 1, 0 -pumpDuty = scalar, U08, 1278, "%", 1, 0 -tempC = scalar, U16, 1280, "C", 1, 0 -nernstVoltage = scalar, U16, 1282, "V", 0.001, 0 -esr = scalar, U16, 1284, "", 1, 0 -; total TS size = 1288 +m_hasSynchronizedPhase = bits, U32, 1164, [0:0] +; total TS size = 1168 +wallFuelCorrection = scalar, F32, 1168, "", 1, 0 +wallFuel = scalar, F32, 1172, "", 1, 0 +; total TS size = 1176 +idleState = bits, S32, 1176, [0:2], "not important" +currentIdlePosition = scalar, F32, 1180 +baseIdlePosition = scalar, F32, 1184 +iacByTpsTaper = scalar, F32, 1188 +throttlePedalUpState = scalar, S32, 1192, "", 1, 0 +mightResetPid = bits, U32, 1196, [0:0] +shouldResetPid = bits, U32, 1196, [1:1] +wasResetPid = bits, U32, 1196, [2:2] +mustResetPid = bits, U32, 1196, [3:3] +isCranking = bits, U32, 1196, [4:4] +isIacTableForCoasting = bits, U32, 1196, [5:5] +notIdling = bits, U32, 1196, [6:6] +needReset = bits, U32, 1196, [7:7] +isInDeadZone = bits, U32, 1196, [8:8] +isBlipping = bits, U32, 1196, [9:9] +useClosedLoop = bits, U32, 1196, [10:10] +badTps = bits, U32, 1196, [11:11] +looksLikeRunning = bits, U32, 1196, [12:12] +looksLikeCoasting = bits, U32, 1196, [13:13] +looksLikeCrankToIdle = bits, U32, 1196, [14:14] +isVerboseIAC = bits, U32, 1196, [15:15] +isIdleCoasting = bits, U32, 1196, [16:16] +targetRpmByClt = scalar, S32, 1200, "", 1, 0 +targetRpmAcBump = scalar, S32, 1204, "", 1, 0 +iacByRpmTaper = scalar, F32, 1208 +luaAdd = scalar, F32, 1212 +; total TS size = 1216 +baseDwell = scalar, F32, 1216, "", 1, 0 +dwellVoltageCorrection = scalar, F32, 1220, "", 1, 0 +luaTimingAdd = scalar, F32, 1224, "", 1, 0 +luaTimingMult = scalar, F32, 1228, "", 1, 0 +; total TS size = 1232 +idlePosition = scalar, F32, 1232, "", 1, 0 +trim = scalar, F32, 1236, "", 1, 0 +luaAdjustment = scalar, F32, 1240, "", 1, 0 +etbFeedForward = scalar, F32, 1244 +etbIntegralError = scalar, F32, 1248, "", 1, 0 +etbCurrentTarget = scalar, F32, 1252, "%", 1, 0 +etbCurrentAdjustedTarget = scalar, F32, 1256, "%", 1, 0 +etbRevLimitActive = bits, U32, 1260, [0:0] +jamDetected = bits, U32, 1260, [1:1] +etbDutyRateOfChange = scalar, F32, 1264, "", 1, 0 +etbDutyAverage = scalar, F32, 1268, "", 1, 0 +etbTpsErrorCounter = scalar, U16, 1272, "", 1, 0 +etbPpsErrorCounter = scalar, U16, 1274, "", 1, 0 +etbErrorCode = scalar, S08, 1276, "", 1, 0 +jamTimer = scalar, U16, 1278, "sec", 0.01, 0 +; total TS size = 1280 +faultCode = scalar, U08, 1280, "", 1, 0 +heaterDuty = scalar, U08, 1281, "%", 1, 0 +pumpDuty = scalar, U08, 1282, "%", 1, 0 +tempC = scalar, U16, 1284, "C", 1, 0 +nernstVoltage = scalar, U16, 1286, "V", 0.001, 0 +esr = scalar, U16, 1288, "", 1, 0 +; total TS size = 1292 time = { timeNow } @@ -4750,6 +4754,7 @@ entry = mapVvt_MAP_AT_CYCLE_COUNT, "mapVvt_MAP_AT_CYCLE_COUNT", int, "%d" entry = mapVvt_map_peak, "mapVvt_map_peak", int, "%d" entry = currentEngineDecodedPhase, "Engine Phase", float, "%.3f" entry = triggerToothAngleError, "triggerToothAngleError", float, "%.3f" +entry = triggerIgnoredToothCount, "triggerIgnoredToothCount", int, "%d" entry = crankSynchronizationCounter, "Crank sync counter", int, "%d" entry = vvtSyncGapRatio, "vvtSyncGapRatio", float, "%.3f" entry = vvtCurrentPosition, "vvtCurrentPosition", float, "%.3f" @@ -4799,11 +4804,13 @@ entry = etbIntegralError, "etbIntegralError", float, "%.3f" entry = etbCurrentTarget, "etbCurrentTarget", float, "%.3f" entry = etbCurrentAdjustedTarget, "etbCurrentAdjustedTarget", float, "%.3f" entry = etbRevLimitActive, "etbRevLimitActive", int, "%d" +entry = jamDetected, "jamDetected", int, "%d" entry = etbDutyRateOfChange, "etbDutyRateOfChange", float, "%.3f" entry = etbDutyAverage, "etbDutyAverage", float, "%.3f" entry = etbTpsErrorCounter, "ETB TPS error counter", int, "%d" entry = etbPpsErrorCounter, "ETB pedal error counter", int, "%d" entry = etbErrorCode, "etbErrorCode", int, "%d" +entry = jamTimer, "ETB jam timer", float, "%.3f" entry = faultCode, "faultCode", int, "%d" entry = heaterDuty, "heaterDuty", int, "%d" entry = pumpDuty, "pumpDuty", int, "%d" @@ -5568,6 +5575,7 @@ dialog = trigger_centralDialog, "trigger_central" graphLine = currentEngineDecodedPhase liveGraph = trigger_central_4_Graph, "Graph", South graphLine = triggerToothAngleError + graphLine = triggerIgnoredToothCount dialog = trigger_stateDialog, "trigger_state" @@ -5638,6 +5646,7 @@ dialog = ignition_stateDialog, "ignition_state" indicatorPanel = electronic_throttleIndicatorPanel, 2 indicator = {etbRevLimitActive}, "etbRevLimitActive No", "etbRevLimitActive Yes" + indicator = {jamDetected}, "jamDetected No", "jamDetected Yes" dialog = electronic_throttleDialog, "electronic_throttle" panel = electronic_throttleIndicatorPanel @@ -5656,6 +5665,8 @@ dialog = electronic_throttleDialog, "electronic_throttle" graphLine = etbTpsErrorCounter graphLine = etbPpsErrorCounter graphLine = etbErrorCode + liveGraph = electronic_throttle_4_Graph, "Graph", South + graphLine = jamTimer dialog = wideband_stateDialog, "wideband_state" @@ -5845,6 +5856,7 @@ dialog = wideband_stateDialog, "wideband_state" field = "Do not print messages in case of sync error", silentTriggerError field = "Focus on inputs in engine sniffer", engineSnifferFocusOnInputs field = "Enable noise filtering", useNoiselessTriggerDecoder, {trigger_type == 8 || trigger_type == 9} + field = "Trigger Edge Filter", doNotFilterTriggerEdgeNoise dialog = triggerInputs, "Trigger Inputs" field = "#Cam is primary if you have cam sensor as part of trigger shape" diff --git a/firmware/tunerstudio/generated/rusefi_mre_f7.ini b/firmware/tunerstudio/generated/rusefi_mre_f7.ini index b1c241d209..0739e0679e 100644 --- a/firmware/tunerstudio/generated/rusefi_mre_f7.ini +++ b/firmware/tunerstudio/generated/rusefi_mre_f7.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2023.01.10.mre_f7.snap_14843" + signature = "rusEFI 2023.01.10.mre_f7.snap_10608" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI 2023.01.10.mre_f7.snap_14843" ; signature is expected to be 7 or more characters. + signature= "rusEFI 2023.01.10.mre_f7.snap_10608" ; 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 @@ -86,7 +86,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 19:59:31 UTC 2023 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 21:35:06 UTC 2023 pageSize = 22368 page = 1 @@ -126,7 +126,7 @@ useTLE8888_cranking_hack = bits, U32, 120, [17:17], "false", "true" kickStartCranking = bits, U32, 120, [18:18], "false", "true" useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [19:19], "false", "true" launchControlEnabled = bits, U32, 120, [20:20], "false", "true" -anotherUnusedHere444 = bits, U32, 120, [21:21], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 120, [21:21], "with filter", "without filter" antiLagEnabled = bits, U32, 120, [22:22], "false", "true" useRunningMathForCranking = bits, U32, 120, [23:23], "Fixed", "Fuel Map" displayLogicLevelsInEngineSniffer = bits, U32, 120, [24:24], "false", "true" @@ -1469,6 +1469,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 cj125isUrDivided = "Is your UR CJ125 output wired to MCU via resistor divider?\nLooks like 3v range should be enough, divider generally not needed." useCicPidForIdle = "Switch between Industrial and Cic PID implementation" useSeparateIdleTablesForCrankingTaper = "This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration)." + doNotFilterTriggerEdgeNoise = "Detect double trigger edges" useRunningMathForCranking = "For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table)." displayLogicLevelsInEngineSniffer = "Shall we display real life signal or just the part consumed by trigger decoder.\nApplies to both trigger and cam/vvt input.\n\nenable logic_level_trigger" enableMapEstimationTableFallback = "If enabled, the MAP estimate table will be used if the MAP sensor fails to estimate manifold pressure based on RPM and TPS." @@ -2201,7 +2202,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1288 + ochBlockSize = 1292 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -2848,74 +2849,77 @@ mapVvt_MAP_AT_CYCLE_COUNT = scalar, U08, 1128, "", 1, 0 mapVvt_map_peak = scalar, U08, 1129, "", 1, 0 currentEngineDecodedPhase = scalar, F32, 1132, "deg", 1, 0 triggerToothAngleError = scalar, F32, 1136, "deg", 1, 0 -; total TS size = 1140 -crankSynchronizationCounter = scalar, U32, 1140, "", 1, 0 -vvtSyncGapRatio = scalar, F32, 1144, "", 1, 0 -vvtCurrentPosition = scalar, F32, 1148, "", 1, 0 -triggerSyncGapRatio = scalar, F32, 1152, "", 1, 0 -triggerStateIndex = scalar, U08, 1156, "", 1, 0 -vvtCounter = scalar, U08, 1157, "", 1, 0 -camResyncCounter = scalar, U08, 1158, "", 1, 0 -vvtStateIndex = scalar, U08, 1159, "", 1, 0 -; total TS size = 1160 -m_hasSynchronizedPhase = bits, U32, 1160, [0:0] +triggerIgnoredToothCount = scalar, U08, 1140, "", 1, 0 +; total TS size = 1144 +crankSynchronizationCounter = scalar, U32, 1144, "", 1, 0 +vvtSyncGapRatio = scalar, F32, 1148, "", 1, 0 +vvtCurrentPosition = scalar, F32, 1152, "", 1, 0 +triggerSyncGapRatio = scalar, F32, 1156, "", 1, 0 +triggerStateIndex = scalar, U08, 1160, "", 1, 0 +vvtCounter = scalar, U08, 1161, "", 1, 0 +camResyncCounter = scalar, U08, 1162, "", 1, 0 +vvtStateIndex = scalar, U08, 1163, "", 1, 0 ; total TS size = 1164 -wallFuelCorrection = scalar, F32, 1164, "", 1, 0 -wallFuel = scalar, F32, 1168, "", 1, 0 -; total TS size = 1172 -idleState = bits, S32, 1172, [0:2], "not important" -currentIdlePosition = scalar, F32, 1176 -baseIdlePosition = scalar, F32, 1180 -iacByTpsTaper = scalar, F32, 1184 -throttlePedalUpState = scalar, S32, 1188, "", 1, 0 -mightResetPid = bits, U32, 1192, [0:0] -shouldResetPid = bits, U32, 1192, [1:1] -wasResetPid = bits, U32, 1192, [2:2] -mustResetPid = bits, U32, 1192, [3:3] -isCranking = bits, U32, 1192, [4:4] -isIacTableForCoasting = bits, U32, 1192, [5:5] -notIdling = bits, U32, 1192, [6:6] -needReset = bits, U32, 1192, [7:7] -isInDeadZone = bits, U32, 1192, [8:8] -isBlipping = bits, U32, 1192, [9:9] -useClosedLoop = bits, U32, 1192, [10:10] -badTps = bits, U32, 1192, [11:11] -looksLikeRunning = bits, U32, 1192, [12:12] -looksLikeCoasting = bits, U32, 1192, [13:13] -looksLikeCrankToIdle = bits, U32, 1192, [14:14] -isVerboseIAC = bits, U32, 1192, [15:15] -isIdleCoasting = bits, U32, 1192, [16:16] -targetRpmByClt = scalar, S32, 1196, "", 1, 0 -targetRpmAcBump = scalar, S32, 1200, "", 1, 0 -iacByRpmTaper = scalar, F32, 1204 -luaAdd = scalar, F32, 1208 -; total TS size = 1212 -baseDwell = scalar, F32, 1212, "", 1, 0 -dwellVoltageCorrection = scalar, F32, 1216, "", 1, 0 -luaTimingAdd = scalar, F32, 1220, "", 1, 0 -luaTimingMult = scalar, F32, 1224, "", 1, 0 -; total TS size = 1228 -idlePosition = scalar, F32, 1228, "", 1, 0 -trim = scalar, F32, 1232, "", 1, 0 -luaAdjustment = scalar, F32, 1236, "", 1, 0 -etbFeedForward = scalar, F32, 1240 -etbIntegralError = scalar, F32, 1244, "", 1, 0 -etbCurrentTarget = scalar, F32, 1248, "%", 1, 0 -etbCurrentAdjustedTarget = scalar, F32, 1252, "%", 1, 0 -etbRevLimitActive = bits, U32, 1256, [0:0] -etbDutyRateOfChange = scalar, F32, 1260, "", 1, 0 -etbDutyAverage = scalar, F32, 1264, "", 1, 0 -etbTpsErrorCounter = scalar, U16, 1268, "", 1, 0 -etbPpsErrorCounter = scalar, U16, 1270, "", 1, 0 -etbErrorCode = scalar, S08, 1272, "", 1, 0 -; total TS size = 1276 -faultCode = scalar, U08, 1276, "", 1, 0 -heaterDuty = scalar, U08, 1277, "%", 1, 0 -pumpDuty = scalar, U08, 1278, "%", 1, 0 -tempC = scalar, U16, 1280, "C", 1, 0 -nernstVoltage = scalar, U16, 1282, "V", 0.001, 0 -esr = scalar, U16, 1284, "", 1, 0 -; total TS size = 1288 +m_hasSynchronizedPhase = bits, U32, 1164, [0:0] +; total TS size = 1168 +wallFuelCorrection = scalar, F32, 1168, "", 1, 0 +wallFuel = scalar, F32, 1172, "", 1, 0 +; total TS size = 1176 +idleState = bits, S32, 1176, [0:2], "not important" +currentIdlePosition = scalar, F32, 1180 +baseIdlePosition = scalar, F32, 1184 +iacByTpsTaper = scalar, F32, 1188 +throttlePedalUpState = scalar, S32, 1192, "", 1, 0 +mightResetPid = bits, U32, 1196, [0:0] +shouldResetPid = bits, U32, 1196, [1:1] +wasResetPid = bits, U32, 1196, [2:2] +mustResetPid = bits, U32, 1196, [3:3] +isCranking = bits, U32, 1196, [4:4] +isIacTableForCoasting = bits, U32, 1196, [5:5] +notIdling = bits, U32, 1196, [6:6] +needReset = bits, U32, 1196, [7:7] +isInDeadZone = bits, U32, 1196, [8:8] +isBlipping = bits, U32, 1196, [9:9] +useClosedLoop = bits, U32, 1196, [10:10] +badTps = bits, U32, 1196, [11:11] +looksLikeRunning = bits, U32, 1196, [12:12] +looksLikeCoasting = bits, U32, 1196, [13:13] +looksLikeCrankToIdle = bits, U32, 1196, [14:14] +isVerboseIAC = bits, U32, 1196, [15:15] +isIdleCoasting = bits, U32, 1196, [16:16] +targetRpmByClt = scalar, S32, 1200, "", 1, 0 +targetRpmAcBump = scalar, S32, 1204, "", 1, 0 +iacByRpmTaper = scalar, F32, 1208 +luaAdd = scalar, F32, 1212 +; total TS size = 1216 +baseDwell = scalar, F32, 1216, "", 1, 0 +dwellVoltageCorrection = scalar, F32, 1220, "", 1, 0 +luaTimingAdd = scalar, F32, 1224, "", 1, 0 +luaTimingMult = scalar, F32, 1228, "", 1, 0 +; total TS size = 1232 +idlePosition = scalar, F32, 1232, "", 1, 0 +trim = scalar, F32, 1236, "", 1, 0 +luaAdjustment = scalar, F32, 1240, "", 1, 0 +etbFeedForward = scalar, F32, 1244 +etbIntegralError = scalar, F32, 1248, "", 1, 0 +etbCurrentTarget = scalar, F32, 1252, "%", 1, 0 +etbCurrentAdjustedTarget = scalar, F32, 1256, "%", 1, 0 +etbRevLimitActive = bits, U32, 1260, [0:0] +jamDetected = bits, U32, 1260, [1:1] +etbDutyRateOfChange = scalar, F32, 1264, "", 1, 0 +etbDutyAverage = scalar, F32, 1268, "", 1, 0 +etbTpsErrorCounter = scalar, U16, 1272, "", 1, 0 +etbPpsErrorCounter = scalar, U16, 1274, "", 1, 0 +etbErrorCode = scalar, S08, 1276, "", 1, 0 +jamTimer = scalar, U16, 1278, "sec", 0.01, 0 +; total TS size = 1280 +faultCode = scalar, U08, 1280, "", 1, 0 +heaterDuty = scalar, U08, 1281, "%", 1, 0 +pumpDuty = scalar, U08, 1282, "%", 1, 0 +tempC = scalar, U16, 1284, "C", 1, 0 +nernstVoltage = scalar, U16, 1286, "V", 0.001, 0 +esr = scalar, U16, 1288, "", 1, 0 +; total TS size = 1292 time = { timeNow } @@ -4750,6 +4754,7 @@ entry = mapVvt_MAP_AT_CYCLE_COUNT, "mapVvt_MAP_AT_CYCLE_COUNT", int, "%d" entry = mapVvt_map_peak, "mapVvt_map_peak", int, "%d" entry = currentEngineDecodedPhase, "Engine Phase", float, "%.3f" entry = triggerToothAngleError, "triggerToothAngleError", float, "%.3f" +entry = triggerIgnoredToothCount, "triggerIgnoredToothCount", int, "%d" entry = crankSynchronizationCounter, "Crank sync counter", int, "%d" entry = vvtSyncGapRatio, "vvtSyncGapRatio", float, "%.3f" entry = vvtCurrentPosition, "vvtCurrentPosition", float, "%.3f" @@ -4799,11 +4804,13 @@ entry = etbIntegralError, "etbIntegralError", float, "%.3f" entry = etbCurrentTarget, "etbCurrentTarget", float, "%.3f" entry = etbCurrentAdjustedTarget, "etbCurrentAdjustedTarget", float, "%.3f" entry = etbRevLimitActive, "etbRevLimitActive", int, "%d" +entry = jamDetected, "jamDetected", int, "%d" entry = etbDutyRateOfChange, "etbDutyRateOfChange", float, "%.3f" entry = etbDutyAverage, "etbDutyAverage", float, "%.3f" entry = etbTpsErrorCounter, "ETB TPS error counter", int, "%d" entry = etbPpsErrorCounter, "ETB pedal error counter", int, "%d" entry = etbErrorCode, "etbErrorCode", int, "%d" +entry = jamTimer, "ETB jam timer", float, "%.3f" entry = faultCode, "faultCode", int, "%d" entry = heaterDuty, "heaterDuty", int, "%d" entry = pumpDuty, "pumpDuty", int, "%d" @@ -5568,6 +5575,7 @@ dialog = trigger_centralDialog, "trigger_central" graphLine = currentEngineDecodedPhase liveGraph = trigger_central_4_Graph, "Graph", South graphLine = triggerToothAngleError + graphLine = triggerIgnoredToothCount dialog = trigger_stateDialog, "trigger_state" @@ -5638,6 +5646,7 @@ dialog = ignition_stateDialog, "ignition_state" indicatorPanel = electronic_throttleIndicatorPanel, 2 indicator = {etbRevLimitActive}, "etbRevLimitActive No", "etbRevLimitActive Yes" + indicator = {jamDetected}, "jamDetected No", "jamDetected Yes" dialog = electronic_throttleDialog, "electronic_throttle" panel = electronic_throttleIndicatorPanel @@ -5656,6 +5665,8 @@ dialog = electronic_throttleDialog, "electronic_throttle" graphLine = etbTpsErrorCounter graphLine = etbPpsErrorCounter graphLine = etbErrorCode + liveGraph = electronic_throttle_4_Graph, "Graph", South + graphLine = jamTimer dialog = wideband_stateDialog, "wideband_state" @@ -5845,6 +5856,7 @@ dialog = wideband_stateDialog, "wideband_state" field = "Do not print messages in case of sync error", silentTriggerError field = "Focus on inputs in engine sniffer", engineSnifferFocusOnInputs field = "Enable noise filtering", useNoiselessTriggerDecoder, {trigger_type == 8 || trigger_type == 9} + field = "Trigger Edge Filter", doNotFilterTriggerEdgeNoise dialog = triggerInputs, "Trigger Inputs" field = "#Cam is primary if you have cam sensor as part of trigger shape" diff --git a/firmware/tunerstudio/generated/rusefi_prometheus_405.ini b/firmware/tunerstudio/generated/rusefi_prometheus_405.ini index 4b63489e1b..3a5081b0ff 100644 --- a/firmware/tunerstudio/generated/rusefi_prometheus_405.ini +++ b/firmware/tunerstudio/generated/rusefi_prometheus_405.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2023.01.10.prometheus_405.snap_34589" + signature = "rusEFI 2023.01.10.prometheus_405.snap_38806" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI 2023.01.10.prometheus_405.snap_34589" ; signature is expected to be 7 or more characters. + signature= "rusEFI 2023.01.10.prometheus_405.snap_38806" ; 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 @@ -86,7 +86,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 19:59:40 UTC 2023 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 21:35:16 UTC 2023 pageSize = 22368 page = 1 @@ -126,7 +126,7 @@ useTLE8888_cranking_hack = bits, U32, 120, [17:17], "false", "true" kickStartCranking = bits, U32, 120, [18:18], "false", "true" useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [19:19], "false", "true" launchControlEnabled = bits, U32, 120, [20:20], "false", "true" -anotherUnusedHere444 = bits, U32, 120, [21:21], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 120, [21:21], "with filter", "without filter" antiLagEnabled = bits, U32, 120, [22:22], "false", "true" useRunningMathForCranking = bits, U32, 120, [23:23], "Fixed", "Fuel Map" displayLogicLevelsInEngineSniffer = bits, U32, 120, [24:24], "false", "true" @@ -1469,6 +1469,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 cj125isUrDivided = "Is your UR CJ125 output wired to MCU via resistor divider?\nLooks like 3v range should be enough, divider generally not needed." useCicPidForIdle = "Switch between Industrial and Cic PID implementation" useSeparateIdleTablesForCrankingTaper = "This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration)." + doNotFilterTriggerEdgeNoise = "Detect double trigger edges" useRunningMathForCranking = "For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table)." displayLogicLevelsInEngineSniffer = "Shall we display real life signal or just the part consumed by trigger decoder.\nApplies to both trigger and cam/vvt input.\n\nenable logic_level_trigger" enableMapEstimationTableFallback = "If enabled, the MAP estimate table will be used if the MAP sensor fails to estimate manifold pressure based on RPM and TPS." @@ -2201,7 +2202,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1288 + ochBlockSize = 1292 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -2848,74 +2849,77 @@ mapVvt_MAP_AT_CYCLE_COUNT = scalar, U08, 1128, "", 1, 0 mapVvt_map_peak = scalar, U08, 1129, "", 1, 0 currentEngineDecodedPhase = scalar, F32, 1132, "deg", 1, 0 triggerToothAngleError = scalar, F32, 1136, "deg", 1, 0 -; total TS size = 1140 -crankSynchronizationCounter = scalar, U32, 1140, "", 1, 0 -vvtSyncGapRatio = scalar, F32, 1144, "", 1, 0 -vvtCurrentPosition = scalar, F32, 1148, "", 1, 0 -triggerSyncGapRatio = scalar, F32, 1152, "", 1, 0 -triggerStateIndex = scalar, U08, 1156, "", 1, 0 -vvtCounter = scalar, U08, 1157, "", 1, 0 -camResyncCounter = scalar, U08, 1158, "", 1, 0 -vvtStateIndex = scalar, U08, 1159, "", 1, 0 -; total TS size = 1160 -m_hasSynchronizedPhase = bits, U32, 1160, [0:0] +triggerIgnoredToothCount = scalar, U08, 1140, "", 1, 0 +; total TS size = 1144 +crankSynchronizationCounter = scalar, U32, 1144, "", 1, 0 +vvtSyncGapRatio = scalar, F32, 1148, "", 1, 0 +vvtCurrentPosition = scalar, F32, 1152, "", 1, 0 +triggerSyncGapRatio = scalar, F32, 1156, "", 1, 0 +triggerStateIndex = scalar, U08, 1160, "", 1, 0 +vvtCounter = scalar, U08, 1161, "", 1, 0 +camResyncCounter = scalar, U08, 1162, "", 1, 0 +vvtStateIndex = scalar, U08, 1163, "", 1, 0 ; total TS size = 1164 -wallFuelCorrection = scalar, F32, 1164, "", 1, 0 -wallFuel = scalar, F32, 1168, "", 1, 0 -; total TS size = 1172 -idleState = bits, S32, 1172, [0:2], "not important" -currentIdlePosition = scalar, F32, 1176 -baseIdlePosition = scalar, F32, 1180 -iacByTpsTaper = scalar, F32, 1184 -throttlePedalUpState = scalar, S32, 1188, "", 1, 0 -mightResetPid = bits, U32, 1192, [0:0] -shouldResetPid = bits, U32, 1192, [1:1] -wasResetPid = bits, U32, 1192, [2:2] -mustResetPid = bits, U32, 1192, [3:3] -isCranking = bits, U32, 1192, [4:4] -isIacTableForCoasting = bits, U32, 1192, [5:5] -notIdling = bits, U32, 1192, [6:6] -needReset = bits, U32, 1192, [7:7] -isInDeadZone = bits, U32, 1192, [8:8] -isBlipping = bits, U32, 1192, [9:9] -useClosedLoop = bits, U32, 1192, [10:10] -badTps = bits, U32, 1192, [11:11] -looksLikeRunning = bits, U32, 1192, [12:12] -looksLikeCoasting = bits, U32, 1192, [13:13] -looksLikeCrankToIdle = bits, U32, 1192, [14:14] -isVerboseIAC = bits, U32, 1192, [15:15] -isIdleCoasting = bits, U32, 1192, [16:16] -targetRpmByClt = scalar, S32, 1196, "", 1, 0 -targetRpmAcBump = scalar, S32, 1200, "", 1, 0 -iacByRpmTaper = scalar, F32, 1204 -luaAdd = scalar, F32, 1208 -; total TS size = 1212 -baseDwell = scalar, F32, 1212, "", 1, 0 -dwellVoltageCorrection = scalar, F32, 1216, "", 1, 0 -luaTimingAdd = scalar, F32, 1220, "", 1, 0 -luaTimingMult = scalar, F32, 1224, "", 1, 0 -; total TS size = 1228 -idlePosition = scalar, F32, 1228, "", 1, 0 -trim = scalar, F32, 1232, "", 1, 0 -luaAdjustment = scalar, F32, 1236, "", 1, 0 -etbFeedForward = scalar, F32, 1240 -etbIntegralError = scalar, F32, 1244, "", 1, 0 -etbCurrentTarget = scalar, F32, 1248, "%", 1, 0 -etbCurrentAdjustedTarget = scalar, F32, 1252, "%", 1, 0 -etbRevLimitActive = bits, U32, 1256, [0:0] -etbDutyRateOfChange = scalar, F32, 1260, "", 1, 0 -etbDutyAverage = scalar, F32, 1264, "", 1, 0 -etbTpsErrorCounter = scalar, U16, 1268, "", 1, 0 -etbPpsErrorCounter = scalar, U16, 1270, "", 1, 0 -etbErrorCode = scalar, S08, 1272, "", 1, 0 -; total TS size = 1276 -faultCode = scalar, U08, 1276, "", 1, 0 -heaterDuty = scalar, U08, 1277, "%", 1, 0 -pumpDuty = scalar, U08, 1278, "%", 1, 0 -tempC = scalar, U16, 1280, "C", 1, 0 -nernstVoltage = scalar, U16, 1282, "V", 0.001, 0 -esr = scalar, U16, 1284, "", 1, 0 -; total TS size = 1288 +m_hasSynchronizedPhase = bits, U32, 1164, [0:0] +; total TS size = 1168 +wallFuelCorrection = scalar, F32, 1168, "", 1, 0 +wallFuel = scalar, F32, 1172, "", 1, 0 +; total TS size = 1176 +idleState = bits, S32, 1176, [0:2], "not important" +currentIdlePosition = scalar, F32, 1180 +baseIdlePosition = scalar, F32, 1184 +iacByTpsTaper = scalar, F32, 1188 +throttlePedalUpState = scalar, S32, 1192, "", 1, 0 +mightResetPid = bits, U32, 1196, [0:0] +shouldResetPid = bits, U32, 1196, [1:1] +wasResetPid = bits, U32, 1196, [2:2] +mustResetPid = bits, U32, 1196, [3:3] +isCranking = bits, U32, 1196, [4:4] +isIacTableForCoasting = bits, U32, 1196, [5:5] +notIdling = bits, U32, 1196, [6:6] +needReset = bits, U32, 1196, [7:7] +isInDeadZone = bits, U32, 1196, [8:8] +isBlipping = bits, U32, 1196, [9:9] +useClosedLoop = bits, U32, 1196, [10:10] +badTps = bits, U32, 1196, [11:11] +looksLikeRunning = bits, U32, 1196, [12:12] +looksLikeCoasting = bits, U32, 1196, [13:13] +looksLikeCrankToIdle = bits, U32, 1196, [14:14] +isVerboseIAC = bits, U32, 1196, [15:15] +isIdleCoasting = bits, U32, 1196, [16:16] +targetRpmByClt = scalar, S32, 1200, "", 1, 0 +targetRpmAcBump = scalar, S32, 1204, "", 1, 0 +iacByRpmTaper = scalar, F32, 1208 +luaAdd = scalar, F32, 1212 +; total TS size = 1216 +baseDwell = scalar, F32, 1216, "", 1, 0 +dwellVoltageCorrection = scalar, F32, 1220, "", 1, 0 +luaTimingAdd = scalar, F32, 1224, "", 1, 0 +luaTimingMult = scalar, F32, 1228, "", 1, 0 +; total TS size = 1232 +idlePosition = scalar, F32, 1232, "", 1, 0 +trim = scalar, F32, 1236, "", 1, 0 +luaAdjustment = scalar, F32, 1240, "", 1, 0 +etbFeedForward = scalar, F32, 1244 +etbIntegralError = scalar, F32, 1248, "", 1, 0 +etbCurrentTarget = scalar, F32, 1252, "%", 1, 0 +etbCurrentAdjustedTarget = scalar, F32, 1256, "%", 1, 0 +etbRevLimitActive = bits, U32, 1260, [0:0] +jamDetected = bits, U32, 1260, [1:1] +etbDutyRateOfChange = scalar, F32, 1264, "", 1, 0 +etbDutyAverage = scalar, F32, 1268, "", 1, 0 +etbTpsErrorCounter = scalar, U16, 1272, "", 1, 0 +etbPpsErrorCounter = scalar, U16, 1274, "", 1, 0 +etbErrorCode = scalar, S08, 1276, "", 1, 0 +jamTimer = scalar, U16, 1278, "sec", 0.01, 0 +; total TS size = 1280 +faultCode = scalar, U08, 1280, "", 1, 0 +heaterDuty = scalar, U08, 1281, "%", 1, 0 +pumpDuty = scalar, U08, 1282, "%", 1, 0 +tempC = scalar, U16, 1284, "C", 1, 0 +nernstVoltage = scalar, U16, 1286, "V", 0.001, 0 +esr = scalar, U16, 1288, "", 1, 0 +; total TS size = 1292 time = { timeNow } @@ -4750,6 +4754,7 @@ entry = mapVvt_MAP_AT_CYCLE_COUNT, "mapVvt_MAP_AT_CYCLE_COUNT", int, "%d" entry = mapVvt_map_peak, "mapVvt_map_peak", int, "%d" entry = currentEngineDecodedPhase, "Engine Phase", float, "%.3f" entry = triggerToothAngleError, "triggerToothAngleError", float, "%.3f" +entry = triggerIgnoredToothCount, "triggerIgnoredToothCount", int, "%d" entry = crankSynchronizationCounter, "Crank sync counter", int, "%d" entry = vvtSyncGapRatio, "vvtSyncGapRatio", float, "%.3f" entry = vvtCurrentPosition, "vvtCurrentPosition", float, "%.3f" @@ -4799,11 +4804,13 @@ entry = etbIntegralError, "etbIntegralError", float, "%.3f" entry = etbCurrentTarget, "etbCurrentTarget", float, "%.3f" entry = etbCurrentAdjustedTarget, "etbCurrentAdjustedTarget", float, "%.3f" entry = etbRevLimitActive, "etbRevLimitActive", int, "%d" +entry = jamDetected, "jamDetected", int, "%d" entry = etbDutyRateOfChange, "etbDutyRateOfChange", float, "%.3f" entry = etbDutyAverage, "etbDutyAverage", float, "%.3f" entry = etbTpsErrorCounter, "ETB TPS error counter", int, "%d" entry = etbPpsErrorCounter, "ETB pedal error counter", int, "%d" entry = etbErrorCode, "etbErrorCode", int, "%d" +entry = jamTimer, "ETB jam timer", float, "%.3f" entry = faultCode, "faultCode", int, "%d" entry = heaterDuty, "heaterDuty", int, "%d" entry = pumpDuty, "pumpDuty", int, "%d" @@ -5564,6 +5571,7 @@ dialog = trigger_centralDialog, "trigger_central" graphLine = currentEngineDecodedPhase liveGraph = trigger_central_4_Graph, "Graph", South graphLine = triggerToothAngleError + graphLine = triggerIgnoredToothCount dialog = trigger_stateDialog, "trigger_state" @@ -5634,6 +5642,7 @@ dialog = ignition_stateDialog, "ignition_state" indicatorPanel = electronic_throttleIndicatorPanel, 2 indicator = {etbRevLimitActive}, "etbRevLimitActive No", "etbRevLimitActive Yes" + indicator = {jamDetected}, "jamDetected No", "jamDetected Yes" dialog = electronic_throttleDialog, "electronic_throttle" panel = electronic_throttleIndicatorPanel @@ -5652,6 +5661,8 @@ dialog = electronic_throttleDialog, "electronic_throttle" graphLine = etbTpsErrorCounter graphLine = etbPpsErrorCounter graphLine = etbErrorCode + liveGraph = electronic_throttle_4_Graph, "Graph", South + graphLine = jamTimer dialog = wideband_stateDialog, "wideband_state" @@ -5841,6 +5852,7 @@ dialog = wideband_stateDialog, "wideband_state" field = "Do not print messages in case of sync error", silentTriggerError field = "Focus on inputs in engine sniffer", engineSnifferFocusOnInputs field = "Enable noise filtering", useNoiselessTriggerDecoder, {trigger_type == 8 || trigger_type == 9} + field = "Trigger Edge Filter", doNotFilterTriggerEdgeNoise dialog = triggerInputs, "Trigger Inputs" field = "#Cam is primary if you have cam sensor as part of trigger shape" diff --git a/firmware/tunerstudio/generated/rusefi_prometheus_469.ini b/firmware/tunerstudio/generated/rusefi_prometheus_469.ini index 84a533fc21..acafceb8f7 100644 --- a/firmware/tunerstudio/generated/rusefi_prometheus_469.ini +++ b/firmware/tunerstudio/generated/rusefi_prometheus_469.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2023.01.10.prometheus_469.snap_34589" + signature = "rusEFI 2023.01.10.prometheus_469.snap_38806" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI 2023.01.10.prometheus_469.snap_34589" ; signature is expected to be 7 or more characters. + signature= "rusEFI 2023.01.10.prometheus_469.snap_38806" ; 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 @@ -86,7 +86,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 19:59:39 UTC 2023 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 21:35:15 UTC 2023 pageSize = 22368 page = 1 @@ -126,7 +126,7 @@ useTLE8888_cranking_hack = bits, U32, 120, [17:17], "false", "true" kickStartCranking = bits, U32, 120, [18:18], "false", "true" useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [19:19], "false", "true" launchControlEnabled = bits, U32, 120, [20:20], "false", "true" -anotherUnusedHere444 = bits, U32, 120, [21:21], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 120, [21:21], "with filter", "without filter" antiLagEnabled = bits, U32, 120, [22:22], "false", "true" useRunningMathForCranking = bits, U32, 120, [23:23], "Fixed", "Fuel Map" displayLogicLevelsInEngineSniffer = bits, U32, 120, [24:24], "false", "true" @@ -1469,6 +1469,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 cj125isUrDivided = "Is your UR CJ125 output wired to MCU via resistor divider?\nLooks like 3v range should be enough, divider generally not needed." useCicPidForIdle = "Switch between Industrial and Cic PID implementation" useSeparateIdleTablesForCrankingTaper = "This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration)." + doNotFilterTriggerEdgeNoise = "Detect double trigger edges" useRunningMathForCranking = "For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table)." displayLogicLevelsInEngineSniffer = "Shall we display real life signal or just the part consumed by trigger decoder.\nApplies to both trigger and cam/vvt input.\n\nenable logic_level_trigger" enableMapEstimationTableFallback = "If enabled, the MAP estimate table will be used if the MAP sensor fails to estimate manifold pressure based on RPM and TPS." @@ -2201,7 +2202,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1288 + ochBlockSize = 1292 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -2848,74 +2849,77 @@ mapVvt_MAP_AT_CYCLE_COUNT = scalar, U08, 1128, "", 1, 0 mapVvt_map_peak = scalar, U08, 1129, "", 1, 0 currentEngineDecodedPhase = scalar, F32, 1132, "deg", 1, 0 triggerToothAngleError = scalar, F32, 1136, "deg", 1, 0 -; total TS size = 1140 -crankSynchronizationCounter = scalar, U32, 1140, "", 1, 0 -vvtSyncGapRatio = scalar, F32, 1144, "", 1, 0 -vvtCurrentPosition = scalar, F32, 1148, "", 1, 0 -triggerSyncGapRatio = scalar, F32, 1152, "", 1, 0 -triggerStateIndex = scalar, U08, 1156, "", 1, 0 -vvtCounter = scalar, U08, 1157, "", 1, 0 -camResyncCounter = scalar, U08, 1158, "", 1, 0 -vvtStateIndex = scalar, U08, 1159, "", 1, 0 -; total TS size = 1160 -m_hasSynchronizedPhase = bits, U32, 1160, [0:0] +triggerIgnoredToothCount = scalar, U08, 1140, "", 1, 0 +; total TS size = 1144 +crankSynchronizationCounter = scalar, U32, 1144, "", 1, 0 +vvtSyncGapRatio = scalar, F32, 1148, "", 1, 0 +vvtCurrentPosition = scalar, F32, 1152, "", 1, 0 +triggerSyncGapRatio = scalar, F32, 1156, "", 1, 0 +triggerStateIndex = scalar, U08, 1160, "", 1, 0 +vvtCounter = scalar, U08, 1161, "", 1, 0 +camResyncCounter = scalar, U08, 1162, "", 1, 0 +vvtStateIndex = scalar, U08, 1163, "", 1, 0 ; total TS size = 1164 -wallFuelCorrection = scalar, F32, 1164, "", 1, 0 -wallFuel = scalar, F32, 1168, "", 1, 0 -; total TS size = 1172 -idleState = bits, S32, 1172, [0:2], "not important" -currentIdlePosition = scalar, F32, 1176 -baseIdlePosition = scalar, F32, 1180 -iacByTpsTaper = scalar, F32, 1184 -throttlePedalUpState = scalar, S32, 1188, "", 1, 0 -mightResetPid = bits, U32, 1192, [0:0] -shouldResetPid = bits, U32, 1192, [1:1] -wasResetPid = bits, U32, 1192, [2:2] -mustResetPid = bits, U32, 1192, [3:3] -isCranking = bits, U32, 1192, [4:4] -isIacTableForCoasting = bits, U32, 1192, [5:5] -notIdling = bits, U32, 1192, [6:6] -needReset = bits, U32, 1192, [7:7] -isInDeadZone = bits, U32, 1192, [8:8] -isBlipping = bits, U32, 1192, [9:9] -useClosedLoop = bits, U32, 1192, [10:10] -badTps = bits, U32, 1192, [11:11] -looksLikeRunning = bits, U32, 1192, [12:12] -looksLikeCoasting = bits, U32, 1192, [13:13] -looksLikeCrankToIdle = bits, U32, 1192, [14:14] -isVerboseIAC = bits, U32, 1192, [15:15] -isIdleCoasting = bits, U32, 1192, [16:16] -targetRpmByClt = scalar, S32, 1196, "", 1, 0 -targetRpmAcBump = scalar, S32, 1200, "", 1, 0 -iacByRpmTaper = scalar, F32, 1204 -luaAdd = scalar, F32, 1208 -; total TS size = 1212 -baseDwell = scalar, F32, 1212, "", 1, 0 -dwellVoltageCorrection = scalar, F32, 1216, "", 1, 0 -luaTimingAdd = scalar, F32, 1220, "", 1, 0 -luaTimingMult = scalar, F32, 1224, "", 1, 0 -; total TS size = 1228 -idlePosition = scalar, F32, 1228, "", 1, 0 -trim = scalar, F32, 1232, "", 1, 0 -luaAdjustment = scalar, F32, 1236, "", 1, 0 -etbFeedForward = scalar, F32, 1240 -etbIntegralError = scalar, F32, 1244, "", 1, 0 -etbCurrentTarget = scalar, F32, 1248, "%", 1, 0 -etbCurrentAdjustedTarget = scalar, F32, 1252, "%", 1, 0 -etbRevLimitActive = bits, U32, 1256, [0:0] -etbDutyRateOfChange = scalar, F32, 1260, "", 1, 0 -etbDutyAverage = scalar, F32, 1264, "", 1, 0 -etbTpsErrorCounter = scalar, U16, 1268, "", 1, 0 -etbPpsErrorCounter = scalar, U16, 1270, "", 1, 0 -etbErrorCode = scalar, S08, 1272, "", 1, 0 -; total TS size = 1276 -faultCode = scalar, U08, 1276, "", 1, 0 -heaterDuty = scalar, U08, 1277, "%", 1, 0 -pumpDuty = scalar, U08, 1278, "%", 1, 0 -tempC = scalar, U16, 1280, "C", 1, 0 -nernstVoltage = scalar, U16, 1282, "V", 0.001, 0 -esr = scalar, U16, 1284, "", 1, 0 -; total TS size = 1288 +m_hasSynchronizedPhase = bits, U32, 1164, [0:0] +; total TS size = 1168 +wallFuelCorrection = scalar, F32, 1168, "", 1, 0 +wallFuel = scalar, F32, 1172, "", 1, 0 +; total TS size = 1176 +idleState = bits, S32, 1176, [0:2], "not important" +currentIdlePosition = scalar, F32, 1180 +baseIdlePosition = scalar, F32, 1184 +iacByTpsTaper = scalar, F32, 1188 +throttlePedalUpState = scalar, S32, 1192, "", 1, 0 +mightResetPid = bits, U32, 1196, [0:0] +shouldResetPid = bits, U32, 1196, [1:1] +wasResetPid = bits, U32, 1196, [2:2] +mustResetPid = bits, U32, 1196, [3:3] +isCranking = bits, U32, 1196, [4:4] +isIacTableForCoasting = bits, U32, 1196, [5:5] +notIdling = bits, U32, 1196, [6:6] +needReset = bits, U32, 1196, [7:7] +isInDeadZone = bits, U32, 1196, [8:8] +isBlipping = bits, U32, 1196, [9:9] +useClosedLoop = bits, U32, 1196, [10:10] +badTps = bits, U32, 1196, [11:11] +looksLikeRunning = bits, U32, 1196, [12:12] +looksLikeCoasting = bits, U32, 1196, [13:13] +looksLikeCrankToIdle = bits, U32, 1196, [14:14] +isVerboseIAC = bits, U32, 1196, [15:15] +isIdleCoasting = bits, U32, 1196, [16:16] +targetRpmByClt = scalar, S32, 1200, "", 1, 0 +targetRpmAcBump = scalar, S32, 1204, "", 1, 0 +iacByRpmTaper = scalar, F32, 1208 +luaAdd = scalar, F32, 1212 +; total TS size = 1216 +baseDwell = scalar, F32, 1216, "", 1, 0 +dwellVoltageCorrection = scalar, F32, 1220, "", 1, 0 +luaTimingAdd = scalar, F32, 1224, "", 1, 0 +luaTimingMult = scalar, F32, 1228, "", 1, 0 +; total TS size = 1232 +idlePosition = scalar, F32, 1232, "", 1, 0 +trim = scalar, F32, 1236, "", 1, 0 +luaAdjustment = scalar, F32, 1240, "", 1, 0 +etbFeedForward = scalar, F32, 1244 +etbIntegralError = scalar, F32, 1248, "", 1, 0 +etbCurrentTarget = scalar, F32, 1252, "%", 1, 0 +etbCurrentAdjustedTarget = scalar, F32, 1256, "%", 1, 0 +etbRevLimitActive = bits, U32, 1260, [0:0] +jamDetected = bits, U32, 1260, [1:1] +etbDutyRateOfChange = scalar, F32, 1264, "", 1, 0 +etbDutyAverage = scalar, F32, 1268, "", 1, 0 +etbTpsErrorCounter = scalar, U16, 1272, "", 1, 0 +etbPpsErrorCounter = scalar, U16, 1274, "", 1, 0 +etbErrorCode = scalar, S08, 1276, "", 1, 0 +jamTimer = scalar, U16, 1278, "sec", 0.01, 0 +; total TS size = 1280 +faultCode = scalar, U08, 1280, "", 1, 0 +heaterDuty = scalar, U08, 1281, "%", 1, 0 +pumpDuty = scalar, U08, 1282, "%", 1, 0 +tempC = scalar, U16, 1284, "C", 1, 0 +nernstVoltage = scalar, U16, 1286, "V", 0.001, 0 +esr = scalar, U16, 1288, "", 1, 0 +; total TS size = 1292 time = { timeNow } @@ -4750,6 +4754,7 @@ entry = mapVvt_MAP_AT_CYCLE_COUNT, "mapVvt_MAP_AT_CYCLE_COUNT", int, "%d" entry = mapVvt_map_peak, "mapVvt_map_peak", int, "%d" entry = currentEngineDecodedPhase, "Engine Phase", float, "%.3f" entry = triggerToothAngleError, "triggerToothAngleError", float, "%.3f" +entry = triggerIgnoredToothCount, "triggerIgnoredToothCount", int, "%d" entry = crankSynchronizationCounter, "Crank sync counter", int, "%d" entry = vvtSyncGapRatio, "vvtSyncGapRatio", float, "%.3f" entry = vvtCurrentPosition, "vvtCurrentPosition", float, "%.3f" @@ -4799,11 +4804,13 @@ entry = etbIntegralError, "etbIntegralError", float, "%.3f" entry = etbCurrentTarget, "etbCurrentTarget", float, "%.3f" entry = etbCurrentAdjustedTarget, "etbCurrentAdjustedTarget", float, "%.3f" entry = etbRevLimitActive, "etbRevLimitActive", int, "%d" +entry = jamDetected, "jamDetected", int, "%d" entry = etbDutyRateOfChange, "etbDutyRateOfChange", float, "%.3f" entry = etbDutyAverage, "etbDutyAverage", float, "%.3f" entry = etbTpsErrorCounter, "ETB TPS error counter", int, "%d" entry = etbPpsErrorCounter, "ETB pedal error counter", int, "%d" entry = etbErrorCode, "etbErrorCode", int, "%d" +entry = jamTimer, "ETB jam timer", float, "%.3f" entry = faultCode, "faultCode", int, "%d" entry = heaterDuty, "heaterDuty", int, "%d" entry = pumpDuty, "pumpDuty", int, "%d" @@ -5564,6 +5571,7 @@ dialog = trigger_centralDialog, "trigger_central" graphLine = currentEngineDecodedPhase liveGraph = trigger_central_4_Graph, "Graph", South graphLine = triggerToothAngleError + graphLine = triggerIgnoredToothCount dialog = trigger_stateDialog, "trigger_state" @@ -5634,6 +5642,7 @@ dialog = ignition_stateDialog, "ignition_state" indicatorPanel = electronic_throttleIndicatorPanel, 2 indicator = {etbRevLimitActive}, "etbRevLimitActive No", "etbRevLimitActive Yes" + indicator = {jamDetected}, "jamDetected No", "jamDetected Yes" dialog = electronic_throttleDialog, "electronic_throttle" panel = electronic_throttleIndicatorPanel @@ -5652,6 +5661,8 @@ dialog = electronic_throttleDialog, "electronic_throttle" graphLine = etbTpsErrorCounter graphLine = etbPpsErrorCounter graphLine = etbErrorCode + liveGraph = electronic_throttle_4_Graph, "Graph", South + graphLine = jamTimer dialog = wideband_stateDialog, "wideband_state" @@ -5841,6 +5852,7 @@ dialog = wideband_stateDialog, "wideband_state" field = "Do not print messages in case of sync error", silentTriggerError field = "Focus on inputs in engine sniffer", engineSnifferFocusOnInputs field = "Enable noise filtering", useNoiselessTriggerDecoder, {trigger_type == 8 || trigger_type == 9} + field = "Trigger Edge Filter", doNotFilterTriggerEdgeNoise dialog = triggerInputs, "Trigger Inputs" field = "#Cam is primary if you have cam sensor as part of trigger shape" diff --git a/firmware/tunerstudio/generated/rusefi_proteus_f4.ini b/firmware/tunerstudio/generated/rusefi_proteus_f4.ini index 503c810d56..4c1fb43c66 100644 --- a/firmware/tunerstudio/generated/rusefi_proteus_f4.ini +++ b/firmware/tunerstudio/generated/rusefi_proteus_f4.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2023.01.10.proteus_f4.snap_38219" + signature = "rusEFI 2023.01.10.proteus_f4.snap_34240" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI 2023.01.10.proteus_f4.snap_38219" ; signature is expected to be 7 or more characters. + signature= "rusEFI 2023.01.10.proteus_f4.snap_34240" ; 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 @@ -86,7 +86,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 19:59:43 UTC 2023 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 21:35:18 UTC 2023 pageSize = 26368 page = 1 @@ -126,7 +126,7 @@ useTLE8888_cranking_hack = bits, U32, 120, [17:17], "false", "true" kickStartCranking = bits, U32, 120, [18:18], "false", "true" useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [19:19], "false", "true" launchControlEnabled = bits, U32, 120, [20:20], "false", "true" -anotherUnusedHere444 = bits, U32, 120, [21:21], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 120, [21:21], "with filter", "without filter" antiLagEnabled = bits, U32, 120, [22:22], "false", "true" useRunningMathForCranking = bits, U32, 120, [23:23], "Fixed", "Fuel Map" displayLogicLevelsInEngineSniffer = bits, U32, 120, [24:24], "false", "true" @@ -1469,6 +1469,7 @@ veBlends4_blendValues = array, U08, 26358, [8], "%", 0.5, 0, 0, 100, 1 cj125isUrDivided = "Is your UR CJ125 output wired to MCU via resistor divider?\nLooks like 3v range should be enough, divider generally not needed." useCicPidForIdle = "Switch between Industrial and Cic PID implementation" useSeparateIdleTablesForCrankingTaper = "This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration)." + doNotFilterTriggerEdgeNoise = "Detect double trigger edges" useRunningMathForCranking = "For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table)." displayLogicLevelsInEngineSniffer = "Shall we display real life signal or just the part consumed by trigger decoder.\nApplies to both trigger and cam/vvt input.\n\nenable logic_level_trigger" enableMapEstimationTableFallback = "If enabled, the MAP estimate table will be used if the MAP sensor fails to estimate manifold pressure based on RPM and TPS." @@ -2201,7 +2202,7 @@ veBlends4_blendValues = array, U08, 26358, [8], "%", 0.5, 0, 0, 100, 1 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1288 + ochBlockSize = 1292 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -2848,74 +2849,77 @@ mapVvt_MAP_AT_CYCLE_COUNT = scalar, U08, 1128, "", 1, 0 mapVvt_map_peak = scalar, U08, 1129, "", 1, 0 currentEngineDecodedPhase = scalar, F32, 1132, "deg", 1, 0 triggerToothAngleError = scalar, F32, 1136, "deg", 1, 0 -; total TS size = 1140 -crankSynchronizationCounter = scalar, U32, 1140, "", 1, 0 -vvtSyncGapRatio = scalar, F32, 1144, "", 1, 0 -vvtCurrentPosition = scalar, F32, 1148, "", 1, 0 -triggerSyncGapRatio = scalar, F32, 1152, "", 1, 0 -triggerStateIndex = scalar, U08, 1156, "", 1, 0 -vvtCounter = scalar, U08, 1157, "", 1, 0 -camResyncCounter = scalar, U08, 1158, "", 1, 0 -vvtStateIndex = scalar, U08, 1159, "", 1, 0 -; total TS size = 1160 -m_hasSynchronizedPhase = bits, U32, 1160, [0:0] +triggerIgnoredToothCount = scalar, U08, 1140, "", 1, 0 +; total TS size = 1144 +crankSynchronizationCounter = scalar, U32, 1144, "", 1, 0 +vvtSyncGapRatio = scalar, F32, 1148, "", 1, 0 +vvtCurrentPosition = scalar, F32, 1152, "", 1, 0 +triggerSyncGapRatio = scalar, F32, 1156, "", 1, 0 +triggerStateIndex = scalar, U08, 1160, "", 1, 0 +vvtCounter = scalar, U08, 1161, "", 1, 0 +camResyncCounter = scalar, U08, 1162, "", 1, 0 +vvtStateIndex = scalar, U08, 1163, "", 1, 0 ; total TS size = 1164 -wallFuelCorrection = scalar, F32, 1164, "", 1, 0 -wallFuel = scalar, F32, 1168, "", 1, 0 -; total TS size = 1172 -idleState = bits, S32, 1172, [0:2], "not important" -currentIdlePosition = scalar, F32, 1176 -baseIdlePosition = scalar, F32, 1180 -iacByTpsTaper = scalar, F32, 1184 -throttlePedalUpState = scalar, S32, 1188, "", 1, 0 -mightResetPid = bits, U32, 1192, [0:0] -shouldResetPid = bits, U32, 1192, [1:1] -wasResetPid = bits, U32, 1192, [2:2] -mustResetPid = bits, U32, 1192, [3:3] -isCranking = bits, U32, 1192, [4:4] -isIacTableForCoasting = bits, U32, 1192, [5:5] -notIdling = bits, U32, 1192, [6:6] -needReset = bits, U32, 1192, [7:7] -isInDeadZone = bits, U32, 1192, [8:8] -isBlipping = bits, U32, 1192, [9:9] -useClosedLoop = bits, U32, 1192, [10:10] -badTps = bits, U32, 1192, [11:11] -looksLikeRunning = bits, U32, 1192, [12:12] -looksLikeCoasting = bits, U32, 1192, [13:13] -looksLikeCrankToIdle = bits, U32, 1192, [14:14] -isVerboseIAC = bits, U32, 1192, [15:15] -isIdleCoasting = bits, U32, 1192, [16:16] -targetRpmByClt = scalar, S32, 1196, "", 1, 0 -targetRpmAcBump = scalar, S32, 1200, "", 1, 0 -iacByRpmTaper = scalar, F32, 1204 -luaAdd = scalar, F32, 1208 -; total TS size = 1212 -baseDwell = scalar, F32, 1212, "", 1, 0 -dwellVoltageCorrection = scalar, F32, 1216, "", 1, 0 -luaTimingAdd = scalar, F32, 1220, "", 1, 0 -luaTimingMult = scalar, F32, 1224, "", 1, 0 -; total TS size = 1228 -idlePosition = scalar, F32, 1228, "", 1, 0 -trim = scalar, F32, 1232, "", 1, 0 -luaAdjustment = scalar, F32, 1236, "", 1, 0 -etbFeedForward = scalar, F32, 1240 -etbIntegralError = scalar, F32, 1244, "", 1, 0 -etbCurrentTarget = scalar, F32, 1248, "%", 1, 0 -etbCurrentAdjustedTarget = scalar, F32, 1252, "%", 1, 0 -etbRevLimitActive = bits, U32, 1256, [0:0] -etbDutyRateOfChange = scalar, F32, 1260, "", 1, 0 -etbDutyAverage = scalar, F32, 1264, "", 1, 0 -etbTpsErrorCounter = scalar, U16, 1268, "", 1, 0 -etbPpsErrorCounter = scalar, U16, 1270, "", 1, 0 -etbErrorCode = scalar, S08, 1272, "", 1, 0 -; total TS size = 1276 -faultCode = scalar, U08, 1276, "", 1, 0 -heaterDuty = scalar, U08, 1277, "%", 1, 0 -pumpDuty = scalar, U08, 1278, "%", 1, 0 -tempC = scalar, U16, 1280, "C", 1, 0 -nernstVoltage = scalar, U16, 1282, "V", 0.001, 0 -esr = scalar, U16, 1284, "", 1, 0 -; total TS size = 1288 +m_hasSynchronizedPhase = bits, U32, 1164, [0:0] +; total TS size = 1168 +wallFuelCorrection = scalar, F32, 1168, "", 1, 0 +wallFuel = scalar, F32, 1172, "", 1, 0 +; total TS size = 1176 +idleState = bits, S32, 1176, [0:2], "not important" +currentIdlePosition = scalar, F32, 1180 +baseIdlePosition = scalar, F32, 1184 +iacByTpsTaper = scalar, F32, 1188 +throttlePedalUpState = scalar, S32, 1192, "", 1, 0 +mightResetPid = bits, U32, 1196, [0:0] +shouldResetPid = bits, U32, 1196, [1:1] +wasResetPid = bits, U32, 1196, [2:2] +mustResetPid = bits, U32, 1196, [3:3] +isCranking = bits, U32, 1196, [4:4] +isIacTableForCoasting = bits, U32, 1196, [5:5] +notIdling = bits, U32, 1196, [6:6] +needReset = bits, U32, 1196, [7:7] +isInDeadZone = bits, U32, 1196, [8:8] +isBlipping = bits, U32, 1196, [9:9] +useClosedLoop = bits, U32, 1196, [10:10] +badTps = bits, U32, 1196, [11:11] +looksLikeRunning = bits, U32, 1196, [12:12] +looksLikeCoasting = bits, U32, 1196, [13:13] +looksLikeCrankToIdle = bits, U32, 1196, [14:14] +isVerboseIAC = bits, U32, 1196, [15:15] +isIdleCoasting = bits, U32, 1196, [16:16] +targetRpmByClt = scalar, S32, 1200, "", 1, 0 +targetRpmAcBump = scalar, S32, 1204, "", 1, 0 +iacByRpmTaper = scalar, F32, 1208 +luaAdd = scalar, F32, 1212 +; total TS size = 1216 +baseDwell = scalar, F32, 1216, "", 1, 0 +dwellVoltageCorrection = scalar, F32, 1220, "", 1, 0 +luaTimingAdd = scalar, F32, 1224, "", 1, 0 +luaTimingMult = scalar, F32, 1228, "", 1, 0 +; total TS size = 1232 +idlePosition = scalar, F32, 1232, "", 1, 0 +trim = scalar, F32, 1236, "", 1, 0 +luaAdjustment = scalar, F32, 1240, "", 1, 0 +etbFeedForward = scalar, F32, 1244 +etbIntegralError = scalar, F32, 1248, "", 1, 0 +etbCurrentTarget = scalar, F32, 1252, "%", 1, 0 +etbCurrentAdjustedTarget = scalar, F32, 1256, "%", 1, 0 +etbRevLimitActive = bits, U32, 1260, [0:0] +jamDetected = bits, U32, 1260, [1:1] +etbDutyRateOfChange = scalar, F32, 1264, "", 1, 0 +etbDutyAverage = scalar, F32, 1268, "", 1, 0 +etbTpsErrorCounter = scalar, U16, 1272, "", 1, 0 +etbPpsErrorCounter = scalar, U16, 1274, "", 1, 0 +etbErrorCode = scalar, S08, 1276, "", 1, 0 +jamTimer = scalar, U16, 1278, "sec", 0.01, 0 +; total TS size = 1280 +faultCode = scalar, U08, 1280, "", 1, 0 +heaterDuty = scalar, U08, 1281, "%", 1, 0 +pumpDuty = scalar, U08, 1282, "%", 1, 0 +tempC = scalar, U16, 1284, "C", 1, 0 +nernstVoltage = scalar, U16, 1286, "V", 0.001, 0 +esr = scalar, U16, 1288, "", 1, 0 +; total TS size = 1292 time = { timeNow } @@ -4750,6 +4754,7 @@ entry = mapVvt_MAP_AT_CYCLE_COUNT, "mapVvt_MAP_AT_CYCLE_COUNT", int, "%d" entry = mapVvt_map_peak, "mapVvt_map_peak", int, "%d" entry = currentEngineDecodedPhase, "Engine Phase", float, "%.3f" entry = triggerToothAngleError, "triggerToothAngleError", float, "%.3f" +entry = triggerIgnoredToothCount, "triggerIgnoredToothCount", int, "%d" entry = crankSynchronizationCounter, "Crank sync counter", int, "%d" entry = vvtSyncGapRatio, "vvtSyncGapRatio", float, "%.3f" entry = vvtCurrentPosition, "vvtCurrentPosition", float, "%.3f" @@ -4799,11 +4804,13 @@ entry = etbIntegralError, "etbIntegralError", float, "%.3f" entry = etbCurrentTarget, "etbCurrentTarget", float, "%.3f" entry = etbCurrentAdjustedTarget, "etbCurrentAdjustedTarget", float, "%.3f" entry = etbRevLimitActive, "etbRevLimitActive", int, "%d" +entry = jamDetected, "jamDetected", int, "%d" entry = etbDutyRateOfChange, "etbDutyRateOfChange", float, "%.3f" entry = etbDutyAverage, "etbDutyAverage", float, "%.3f" entry = etbTpsErrorCounter, "ETB TPS error counter", int, "%d" entry = etbPpsErrorCounter, "ETB pedal error counter", int, "%d" entry = etbErrorCode, "etbErrorCode", int, "%d" +entry = jamTimer, "ETB jam timer", float, "%.3f" entry = faultCode, "faultCode", int, "%d" entry = heaterDuty, "heaterDuty", int, "%d" entry = pumpDuty, "pumpDuty", int, "%d" @@ -5564,6 +5571,7 @@ dialog = trigger_centralDialog, "trigger_central" graphLine = currentEngineDecodedPhase liveGraph = trigger_central_4_Graph, "Graph", South graphLine = triggerToothAngleError + graphLine = triggerIgnoredToothCount dialog = trigger_stateDialog, "trigger_state" @@ -5634,6 +5642,7 @@ dialog = ignition_stateDialog, "ignition_state" indicatorPanel = electronic_throttleIndicatorPanel, 2 indicator = {etbRevLimitActive}, "etbRevLimitActive No", "etbRevLimitActive Yes" + indicator = {jamDetected}, "jamDetected No", "jamDetected Yes" dialog = electronic_throttleDialog, "electronic_throttle" panel = electronic_throttleIndicatorPanel @@ -5652,6 +5661,8 @@ dialog = electronic_throttleDialog, "electronic_throttle" graphLine = etbTpsErrorCounter graphLine = etbPpsErrorCounter graphLine = etbErrorCode + liveGraph = electronic_throttle_4_Graph, "Graph", South + graphLine = jamTimer dialog = wideband_stateDialog, "wideband_state" @@ -5841,6 +5852,7 @@ dialog = wideband_stateDialog, "wideband_state" field = "Do not print messages in case of sync error", silentTriggerError field = "Focus on inputs in engine sniffer", engineSnifferFocusOnInputs field = "Enable noise filtering", useNoiselessTriggerDecoder, {trigger_type == 8 || trigger_type == 9} + field = "Trigger Edge Filter", doNotFilterTriggerEdgeNoise dialog = triggerInputs, "Trigger Inputs" field = "#Cam is primary if you have cam sensor as part of trigger shape" diff --git a/firmware/tunerstudio/generated/rusefi_proteus_f7.ini b/firmware/tunerstudio/generated/rusefi_proteus_f7.ini index 7245273937..e90273d6dc 100644 --- a/firmware/tunerstudio/generated/rusefi_proteus_f7.ini +++ b/firmware/tunerstudio/generated/rusefi_proteus_f7.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2023.01.10.proteus_f7.snap_38219" + signature = "rusEFI 2023.01.10.proteus_f7.snap_34240" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI 2023.01.10.proteus_f7.snap_38219" ; signature is expected to be 7 or more characters. + signature= "rusEFI 2023.01.10.proteus_f7.snap_34240" ; 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 @@ -86,7 +86,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 19:59:42 UTC 2023 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 21:35:17 UTC 2023 pageSize = 26368 page = 1 @@ -126,7 +126,7 @@ useTLE8888_cranking_hack = bits, U32, 120, [17:17], "false", "true" kickStartCranking = bits, U32, 120, [18:18], "false", "true" useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [19:19], "false", "true" launchControlEnabled = bits, U32, 120, [20:20], "false", "true" -anotherUnusedHere444 = bits, U32, 120, [21:21], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 120, [21:21], "with filter", "without filter" antiLagEnabled = bits, U32, 120, [22:22], "false", "true" useRunningMathForCranking = bits, U32, 120, [23:23], "Fixed", "Fuel Map" displayLogicLevelsInEngineSniffer = bits, U32, 120, [24:24], "false", "true" @@ -1469,6 +1469,7 @@ veBlends4_blendValues = array, U08, 26358, [8], "%", 0.5, 0, 0, 100, 1 cj125isUrDivided = "Is your UR CJ125 output wired to MCU via resistor divider?\nLooks like 3v range should be enough, divider generally not needed." useCicPidForIdle = "Switch between Industrial and Cic PID implementation" useSeparateIdleTablesForCrankingTaper = "This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration)." + doNotFilterTriggerEdgeNoise = "Detect double trigger edges" useRunningMathForCranking = "For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table)." displayLogicLevelsInEngineSniffer = "Shall we display real life signal or just the part consumed by trigger decoder.\nApplies to both trigger and cam/vvt input.\n\nenable logic_level_trigger" enableMapEstimationTableFallback = "If enabled, the MAP estimate table will be used if the MAP sensor fails to estimate manifold pressure based on RPM and TPS." @@ -2201,7 +2202,7 @@ veBlends4_blendValues = array, U08, 26358, [8], "%", 0.5, 0, 0, 100, 1 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1288 + ochBlockSize = 1292 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -2848,74 +2849,77 @@ mapVvt_MAP_AT_CYCLE_COUNT = scalar, U08, 1128, "", 1, 0 mapVvt_map_peak = scalar, U08, 1129, "", 1, 0 currentEngineDecodedPhase = scalar, F32, 1132, "deg", 1, 0 triggerToothAngleError = scalar, F32, 1136, "deg", 1, 0 -; total TS size = 1140 -crankSynchronizationCounter = scalar, U32, 1140, "", 1, 0 -vvtSyncGapRatio = scalar, F32, 1144, "", 1, 0 -vvtCurrentPosition = scalar, F32, 1148, "", 1, 0 -triggerSyncGapRatio = scalar, F32, 1152, "", 1, 0 -triggerStateIndex = scalar, U08, 1156, "", 1, 0 -vvtCounter = scalar, U08, 1157, "", 1, 0 -camResyncCounter = scalar, U08, 1158, "", 1, 0 -vvtStateIndex = scalar, U08, 1159, "", 1, 0 -; total TS size = 1160 -m_hasSynchronizedPhase = bits, U32, 1160, [0:0] +triggerIgnoredToothCount = scalar, U08, 1140, "", 1, 0 +; total TS size = 1144 +crankSynchronizationCounter = scalar, U32, 1144, "", 1, 0 +vvtSyncGapRatio = scalar, F32, 1148, "", 1, 0 +vvtCurrentPosition = scalar, F32, 1152, "", 1, 0 +triggerSyncGapRatio = scalar, F32, 1156, "", 1, 0 +triggerStateIndex = scalar, U08, 1160, "", 1, 0 +vvtCounter = scalar, U08, 1161, "", 1, 0 +camResyncCounter = scalar, U08, 1162, "", 1, 0 +vvtStateIndex = scalar, U08, 1163, "", 1, 0 ; total TS size = 1164 -wallFuelCorrection = scalar, F32, 1164, "", 1, 0 -wallFuel = scalar, F32, 1168, "", 1, 0 -; total TS size = 1172 -idleState = bits, S32, 1172, [0:2], "not important" -currentIdlePosition = scalar, F32, 1176 -baseIdlePosition = scalar, F32, 1180 -iacByTpsTaper = scalar, F32, 1184 -throttlePedalUpState = scalar, S32, 1188, "", 1, 0 -mightResetPid = bits, U32, 1192, [0:0] -shouldResetPid = bits, U32, 1192, [1:1] -wasResetPid = bits, U32, 1192, [2:2] -mustResetPid = bits, U32, 1192, [3:3] -isCranking = bits, U32, 1192, [4:4] -isIacTableForCoasting = bits, U32, 1192, [5:5] -notIdling = bits, U32, 1192, [6:6] -needReset = bits, U32, 1192, [7:7] -isInDeadZone = bits, U32, 1192, [8:8] -isBlipping = bits, U32, 1192, [9:9] -useClosedLoop = bits, U32, 1192, [10:10] -badTps = bits, U32, 1192, [11:11] -looksLikeRunning = bits, U32, 1192, [12:12] -looksLikeCoasting = bits, U32, 1192, [13:13] -looksLikeCrankToIdle = bits, U32, 1192, [14:14] -isVerboseIAC = bits, U32, 1192, [15:15] -isIdleCoasting = bits, U32, 1192, [16:16] -targetRpmByClt = scalar, S32, 1196, "", 1, 0 -targetRpmAcBump = scalar, S32, 1200, "", 1, 0 -iacByRpmTaper = scalar, F32, 1204 -luaAdd = scalar, F32, 1208 -; total TS size = 1212 -baseDwell = scalar, F32, 1212, "", 1, 0 -dwellVoltageCorrection = scalar, F32, 1216, "", 1, 0 -luaTimingAdd = scalar, F32, 1220, "", 1, 0 -luaTimingMult = scalar, F32, 1224, "", 1, 0 -; total TS size = 1228 -idlePosition = scalar, F32, 1228, "", 1, 0 -trim = scalar, F32, 1232, "", 1, 0 -luaAdjustment = scalar, F32, 1236, "", 1, 0 -etbFeedForward = scalar, F32, 1240 -etbIntegralError = scalar, F32, 1244, "", 1, 0 -etbCurrentTarget = scalar, F32, 1248, "%", 1, 0 -etbCurrentAdjustedTarget = scalar, F32, 1252, "%", 1, 0 -etbRevLimitActive = bits, U32, 1256, [0:0] -etbDutyRateOfChange = scalar, F32, 1260, "", 1, 0 -etbDutyAverage = scalar, F32, 1264, "", 1, 0 -etbTpsErrorCounter = scalar, U16, 1268, "", 1, 0 -etbPpsErrorCounter = scalar, U16, 1270, "", 1, 0 -etbErrorCode = scalar, S08, 1272, "", 1, 0 -; total TS size = 1276 -faultCode = scalar, U08, 1276, "", 1, 0 -heaterDuty = scalar, U08, 1277, "%", 1, 0 -pumpDuty = scalar, U08, 1278, "%", 1, 0 -tempC = scalar, U16, 1280, "C", 1, 0 -nernstVoltage = scalar, U16, 1282, "V", 0.001, 0 -esr = scalar, U16, 1284, "", 1, 0 -; total TS size = 1288 +m_hasSynchronizedPhase = bits, U32, 1164, [0:0] +; total TS size = 1168 +wallFuelCorrection = scalar, F32, 1168, "", 1, 0 +wallFuel = scalar, F32, 1172, "", 1, 0 +; total TS size = 1176 +idleState = bits, S32, 1176, [0:2], "not important" +currentIdlePosition = scalar, F32, 1180 +baseIdlePosition = scalar, F32, 1184 +iacByTpsTaper = scalar, F32, 1188 +throttlePedalUpState = scalar, S32, 1192, "", 1, 0 +mightResetPid = bits, U32, 1196, [0:0] +shouldResetPid = bits, U32, 1196, [1:1] +wasResetPid = bits, U32, 1196, [2:2] +mustResetPid = bits, U32, 1196, [3:3] +isCranking = bits, U32, 1196, [4:4] +isIacTableForCoasting = bits, U32, 1196, [5:5] +notIdling = bits, U32, 1196, [6:6] +needReset = bits, U32, 1196, [7:7] +isInDeadZone = bits, U32, 1196, [8:8] +isBlipping = bits, U32, 1196, [9:9] +useClosedLoop = bits, U32, 1196, [10:10] +badTps = bits, U32, 1196, [11:11] +looksLikeRunning = bits, U32, 1196, [12:12] +looksLikeCoasting = bits, U32, 1196, [13:13] +looksLikeCrankToIdle = bits, U32, 1196, [14:14] +isVerboseIAC = bits, U32, 1196, [15:15] +isIdleCoasting = bits, U32, 1196, [16:16] +targetRpmByClt = scalar, S32, 1200, "", 1, 0 +targetRpmAcBump = scalar, S32, 1204, "", 1, 0 +iacByRpmTaper = scalar, F32, 1208 +luaAdd = scalar, F32, 1212 +; total TS size = 1216 +baseDwell = scalar, F32, 1216, "", 1, 0 +dwellVoltageCorrection = scalar, F32, 1220, "", 1, 0 +luaTimingAdd = scalar, F32, 1224, "", 1, 0 +luaTimingMult = scalar, F32, 1228, "", 1, 0 +; total TS size = 1232 +idlePosition = scalar, F32, 1232, "", 1, 0 +trim = scalar, F32, 1236, "", 1, 0 +luaAdjustment = scalar, F32, 1240, "", 1, 0 +etbFeedForward = scalar, F32, 1244 +etbIntegralError = scalar, F32, 1248, "", 1, 0 +etbCurrentTarget = scalar, F32, 1252, "%", 1, 0 +etbCurrentAdjustedTarget = scalar, F32, 1256, "%", 1, 0 +etbRevLimitActive = bits, U32, 1260, [0:0] +jamDetected = bits, U32, 1260, [1:1] +etbDutyRateOfChange = scalar, F32, 1264, "", 1, 0 +etbDutyAverage = scalar, F32, 1268, "", 1, 0 +etbTpsErrorCounter = scalar, U16, 1272, "", 1, 0 +etbPpsErrorCounter = scalar, U16, 1274, "", 1, 0 +etbErrorCode = scalar, S08, 1276, "", 1, 0 +jamTimer = scalar, U16, 1278, "sec", 0.01, 0 +; total TS size = 1280 +faultCode = scalar, U08, 1280, "", 1, 0 +heaterDuty = scalar, U08, 1281, "%", 1, 0 +pumpDuty = scalar, U08, 1282, "%", 1, 0 +tempC = scalar, U16, 1284, "C", 1, 0 +nernstVoltage = scalar, U16, 1286, "V", 0.001, 0 +esr = scalar, U16, 1288, "", 1, 0 +; total TS size = 1292 time = { timeNow } @@ -4750,6 +4754,7 @@ entry = mapVvt_MAP_AT_CYCLE_COUNT, "mapVvt_MAP_AT_CYCLE_COUNT", int, "%d" entry = mapVvt_map_peak, "mapVvt_map_peak", int, "%d" entry = currentEngineDecodedPhase, "Engine Phase", float, "%.3f" entry = triggerToothAngleError, "triggerToothAngleError", float, "%.3f" +entry = triggerIgnoredToothCount, "triggerIgnoredToothCount", int, "%d" entry = crankSynchronizationCounter, "Crank sync counter", int, "%d" entry = vvtSyncGapRatio, "vvtSyncGapRatio", float, "%.3f" entry = vvtCurrentPosition, "vvtCurrentPosition", float, "%.3f" @@ -4799,11 +4804,13 @@ entry = etbIntegralError, "etbIntegralError", float, "%.3f" entry = etbCurrentTarget, "etbCurrentTarget", float, "%.3f" entry = etbCurrentAdjustedTarget, "etbCurrentAdjustedTarget", float, "%.3f" entry = etbRevLimitActive, "etbRevLimitActive", int, "%d" +entry = jamDetected, "jamDetected", int, "%d" entry = etbDutyRateOfChange, "etbDutyRateOfChange", float, "%.3f" entry = etbDutyAverage, "etbDutyAverage", float, "%.3f" entry = etbTpsErrorCounter, "ETB TPS error counter", int, "%d" entry = etbPpsErrorCounter, "ETB pedal error counter", int, "%d" entry = etbErrorCode, "etbErrorCode", int, "%d" +entry = jamTimer, "ETB jam timer", float, "%.3f" entry = faultCode, "faultCode", int, "%d" entry = heaterDuty, "heaterDuty", int, "%d" entry = pumpDuty, "pumpDuty", int, "%d" @@ -5564,6 +5571,7 @@ dialog = trigger_centralDialog, "trigger_central" graphLine = currentEngineDecodedPhase liveGraph = trigger_central_4_Graph, "Graph", South graphLine = triggerToothAngleError + graphLine = triggerIgnoredToothCount dialog = trigger_stateDialog, "trigger_state" @@ -5634,6 +5642,7 @@ dialog = ignition_stateDialog, "ignition_state" indicatorPanel = electronic_throttleIndicatorPanel, 2 indicator = {etbRevLimitActive}, "etbRevLimitActive No", "etbRevLimitActive Yes" + indicator = {jamDetected}, "jamDetected No", "jamDetected Yes" dialog = electronic_throttleDialog, "electronic_throttle" panel = electronic_throttleIndicatorPanel @@ -5652,6 +5661,8 @@ dialog = electronic_throttleDialog, "electronic_throttle" graphLine = etbTpsErrorCounter graphLine = etbPpsErrorCounter graphLine = etbErrorCode + liveGraph = electronic_throttle_4_Graph, "Graph", South + graphLine = jamTimer dialog = wideband_stateDialog, "wideband_state" @@ -5841,6 +5852,7 @@ dialog = wideband_stateDialog, "wideband_state" field = "Do not print messages in case of sync error", silentTriggerError field = "Focus on inputs in engine sniffer", engineSnifferFocusOnInputs field = "Enable noise filtering", useNoiselessTriggerDecoder, {trigger_type == 8 || trigger_type == 9} + field = "Trigger Edge Filter", doNotFilterTriggerEdgeNoise dialog = triggerInputs, "Trigger Inputs" field = "#Cam is primary if you have cam sensor as part of trigger shape" diff --git a/firmware/tunerstudio/generated/rusefi_proteus_h7.ini b/firmware/tunerstudio/generated/rusefi_proteus_h7.ini index 46cd94faf5..0cde5c75e5 100644 --- a/firmware/tunerstudio/generated/rusefi_proteus_h7.ini +++ b/firmware/tunerstudio/generated/rusefi_proteus_h7.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2023.01.10.proteus_h7.snap_38219" + signature = "rusEFI 2023.01.10.proteus_h7.snap_34240" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI 2023.01.10.proteus_h7.snap_38219" ; signature is expected to be 7 or more characters. + signature= "rusEFI 2023.01.10.proteus_h7.snap_34240" ; 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 @@ -86,7 +86,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 19:59:44 UTC 2023 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 21:35:19 UTC 2023 pageSize = 26368 page = 1 @@ -126,7 +126,7 @@ useTLE8888_cranking_hack = bits, U32, 120, [17:17], "false", "true" kickStartCranking = bits, U32, 120, [18:18], "false", "true" useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [19:19], "false", "true" launchControlEnabled = bits, U32, 120, [20:20], "false", "true" -anotherUnusedHere444 = bits, U32, 120, [21:21], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 120, [21:21], "with filter", "without filter" antiLagEnabled = bits, U32, 120, [22:22], "false", "true" useRunningMathForCranking = bits, U32, 120, [23:23], "Fixed", "Fuel Map" displayLogicLevelsInEngineSniffer = bits, U32, 120, [24:24], "false", "true" @@ -1469,6 +1469,7 @@ veBlends4_blendValues = array, U08, 26358, [8], "%", 0.5, 0, 0, 100, 1 cj125isUrDivided = "Is your UR CJ125 output wired to MCU via resistor divider?\nLooks like 3v range should be enough, divider generally not needed." useCicPidForIdle = "Switch between Industrial and Cic PID implementation" useSeparateIdleTablesForCrankingTaper = "This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration)." + doNotFilterTriggerEdgeNoise = "Detect double trigger edges" useRunningMathForCranking = "For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table)." displayLogicLevelsInEngineSniffer = "Shall we display real life signal or just the part consumed by trigger decoder.\nApplies to both trigger and cam/vvt input.\n\nenable logic_level_trigger" enableMapEstimationTableFallback = "If enabled, the MAP estimate table will be used if the MAP sensor fails to estimate manifold pressure based on RPM and TPS." @@ -2201,7 +2202,7 @@ veBlends4_blendValues = array, U08, 26358, [8], "%", 0.5, 0, 0, 100, 1 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1288 + ochBlockSize = 1292 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -2848,74 +2849,77 @@ mapVvt_MAP_AT_CYCLE_COUNT = scalar, U08, 1128, "", 1, 0 mapVvt_map_peak = scalar, U08, 1129, "", 1, 0 currentEngineDecodedPhase = scalar, F32, 1132, "deg", 1, 0 triggerToothAngleError = scalar, F32, 1136, "deg", 1, 0 -; total TS size = 1140 -crankSynchronizationCounter = scalar, U32, 1140, "", 1, 0 -vvtSyncGapRatio = scalar, F32, 1144, "", 1, 0 -vvtCurrentPosition = scalar, F32, 1148, "", 1, 0 -triggerSyncGapRatio = scalar, F32, 1152, "", 1, 0 -triggerStateIndex = scalar, U08, 1156, "", 1, 0 -vvtCounter = scalar, U08, 1157, "", 1, 0 -camResyncCounter = scalar, U08, 1158, "", 1, 0 -vvtStateIndex = scalar, U08, 1159, "", 1, 0 -; total TS size = 1160 -m_hasSynchronizedPhase = bits, U32, 1160, [0:0] +triggerIgnoredToothCount = scalar, U08, 1140, "", 1, 0 +; total TS size = 1144 +crankSynchronizationCounter = scalar, U32, 1144, "", 1, 0 +vvtSyncGapRatio = scalar, F32, 1148, "", 1, 0 +vvtCurrentPosition = scalar, F32, 1152, "", 1, 0 +triggerSyncGapRatio = scalar, F32, 1156, "", 1, 0 +triggerStateIndex = scalar, U08, 1160, "", 1, 0 +vvtCounter = scalar, U08, 1161, "", 1, 0 +camResyncCounter = scalar, U08, 1162, "", 1, 0 +vvtStateIndex = scalar, U08, 1163, "", 1, 0 ; total TS size = 1164 -wallFuelCorrection = scalar, F32, 1164, "", 1, 0 -wallFuel = scalar, F32, 1168, "", 1, 0 -; total TS size = 1172 -idleState = bits, S32, 1172, [0:2], "not important" -currentIdlePosition = scalar, F32, 1176 -baseIdlePosition = scalar, F32, 1180 -iacByTpsTaper = scalar, F32, 1184 -throttlePedalUpState = scalar, S32, 1188, "", 1, 0 -mightResetPid = bits, U32, 1192, [0:0] -shouldResetPid = bits, U32, 1192, [1:1] -wasResetPid = bits, U32, 1192, [2:2] -mustResetPid = bits, U32, 1192, [3:3] -isCranking = bits, U32, 1192, [4:4] -isIacTableForCoasting = bits, U32, 1192, [5:5] -notIdling = bits, U32, 1192, [6:6] -needReset = bits, U32, 1192, [7:7] -isInDeadZone = bits, U32, 1192, [8:8] -isBlipping = bits, U32, 1192, [9:9] -useClosedLoop = bits, U32, 1192, [10:10] -badTps = bits, U32, 1192, [11:11] -looksLikeRunning = bits, U32, 1192, [12:12] -looksLikeCoasting = bits, U32, 1192, [13:13] -looksLikeCrankToIdle = bits, U32, 1192, [14:14] -isVerboseIAC = bits, U32, 1192, [15:15] -isIdleCoasting = bits, U32, 1192, [16:16] -targetRpmByClt = scalar, S32, 1196, "", 1, 0 -targetRpmAcBump = scalar, S32, 1200, "", 1, 0 -iacByRpmTaper = scalar, F32, 1204 -luaAdd = scalar, F32, 1208 -; total TS size = 1212 -baseDwell = scalar, F32, 1212, "", 1, 0 -dwellVoltageCorrection = scalar, F32, 1216, "", 1, 0 -luaTimingAdd = scalar, F32, 1220, "", 1, 0 -luaTimingMult = scalar, F32, 1224, "", 1, 0 -; total TS size = 1228 -idlePosition = scalar, F32, 1228, "", 1, 0 -trim = scalar, F32, 1232, "", 1, 0 -luaAdjustment = scalar, F32, 1236, "", 1, 0 -etbFeedForward = scalar, F32, 1240 -etbIntegralError = scalar, F32, 1244, "", 1, 0 -etbCurrentTarget = scalar, F32, 1248, "%", 1, 0 -etbCurrentAdjustedTarget = scalar, F32, 1252, "%", 1, 0 -etbRevLimitActive = bits, U32, 1256, [0:0] -etbDutyRateOfChange = scalar, F32, 1260, "", 1, 0 -etbDutyAverage = scalar, F32, 1264, "", 1, 0 -etbTpsErrorCounter = scalar, U16, 1268, "", 1, 0 -etbPpsErrorCounter = scalar, U16, 1270, "", 1, 0 -etbErrorCode = scalar, S08, 1272, "", 1, 0 -; total TS size = 1276 -faultCode = scalar, U08, 1276, "", 1, 0 -heaterDuty = scalar, U08, 1277, "%", 1, 0 -pumpDuty = scalar, U08, 1278, "%", 1, 0 -tempC = scalar, U16, 1280, "C", 1, 0 -nernstVoltage = scalar, U16, 1282, "V", 0.001, 0 -esr = scalar, U16, 1284, "", 1, 0 -; total TS size = 1288 +m_hasSynchronizedPhase = bits, U32, 1164, [0:0] +; total TS size = 1168 +wallFuelCorrection = scalar, F32, 1168, "", 1, 0 +wallFuel = scalar, F32, 1172, "", 1, 0 +; total TS size = 1176 +idleState = bits, S32, 1176, [0:2], "not important" +currentIdlePosition = scalar, F32, 1180 +baseIdlePosition = scalar, F32, 1184 +iacByTpsTaper = scalar, F32, 1188 +throttlePedalUpState = scalar, S32, 1192, "", 1, 0 +mightResetPid = bits, U32, 1196, [0:0] +shouldResetPid = bits, U32, 1196, [1:1] +wasResetPid = bits, U32, 1196, [2:2] +mustResetPid = bits, U32, 1196, [3:3] +isCranking = bits, U32, 1196, [4:4] +isIacTableForCoasting = bits, U32, 1196, [5:5] +notIdling = bits, U32, 1196, [6:6] +needReset = bits, U32, 1196, [7:7] +isInDeadZone = bits, U32, 1196, [8:8] +isBlipping = bits, U32, 1196, [9:9] +useClosedLoop = bits, U32, 1196, [10:10] +badTps = bits, U32, 1196, [11:11] +looksLikeRunning = bits, U32, 1196, [12:12] +looksLikeCoasting = bits, U32, 1196, [13:13] +looksLikeCrankToIdle = bits, U32, 1196, [14:14] +isVerboseIAC = bits, U32, 1196, [15:15] +isIdleCoasting = bits, U32, 1196, [16:16] +targetRpmByClt = scalar, S32, 1200, "", 1, 0 +targetRpmAcBump = scalar, S32, 1204, "", 1, 0 +iacByRpmTaper = scalar, F32, 1208 +luaAdd = scalar, F32, 1212 +; total TS size = 1216 +baseDwell = scalar, F32, 1216, "", 1, 0 +dwellVoltageCorrection = scalar, F32, 1220, "", 1, 0 +luaTimingAdd = scalar, F32, 1224, "", 1, 0 +luaTimingMult = scalar, F32, 1228, "", 1, 0 +; total TS size = 1232 +idlePosition = scalar, F32, 1232, "", 1, 0 +trim = scalar, F32, 1236, "", 1, 0 +luaAdjustment = scalar, F32, 1240, "", 1, 0 +etbFeedForward = scalar, F32, 1244 +etbIntegralError = scalar, F32, 1248, "", 1, 0 +etbCurrentTarget = scalar, F32, 1252, "%", 1, 0 +etbCurrentAdjustedTarget = scalar, F32, 1256, "%", 1, 0 +etbRevLimitActive = bits, U32, 1260, [0:0] +jamDetected = bits, U32, 1260, [1:1] +etbDutyRateOfChange = scalar, F32, 1264, "", 1, 0 +etbDutyAverage = scalar, F32, 1268, "", 1, 0 +etbTpsErrorCounter = scalar, U16, 1272, "", 1, 0 +etbPpsErrorCounter = scalar, U16, 1274, "", 1, 0 +etbErrorCode = scalar, S08, 1276, "", 1, 0 +jamTimer = scalar, U16, 1278, "sec", 0.01, 0 +; total TS size = 1280 +faultCode = scalar, U08, 1280, "", 1, 0 +heaterDuty = scalar, U08, 1281, "%", 1, 0 +pumpDuty = scalar, U08, 1282, "%", 1, 0 +tempC = scalar, U16, 1284, "C", 1, 0 +nernstVoltage = scalar, U16, 1286, "V", 0.001, 0 +esr = scalar, U16, 1288, "", 1, 0 +; total TS size = 1292 time = { timeNow } @@ -4750,6 +4754,7 @@ entry = mapVvt_MAP_AT_CYCLE_COUNT, "mapVvt_MAP_AT_CYCLE_COUNT", int, "%d" entry = mapVvt_map_peak, "mapVvt_map_peak", int, "%d" entry = currentEngineDecodedPhase, "Engine Phase", float, "%.3f" entry = triggerToothAngleError, "triggerToothAngleError", float, "%.3f" +entry = triggerIgnoredToothCount, "triggerIgnoredToothCount", int, "%d" entry = crankSynchronizationCounter, "Crank sync counter", int, "%d" entry = vvtSyncGapRatio, "vvtSyncGapRatio", float, "%.3f" entry = vvtCurrentPosition, "vvtCurrentPosition", float, "%.3f" @@ -4799,11 +4804,13 @@ entry = etbIntegralError, "etbIntegralError", float, "%.3f" entry = etbCurrentTarget, "etbCurrentTarget", float, "%.3f" entry = etbCurrentAdjustedTarget, "etbCurrentAdjustedTarget", float, "%.3f" entry = etbRevLimitActive, "etbRevLimitActive", int, "%d" +entry = jamDetected, "jamDetected", int, "%d" entry = etbDutyRateOfChange, "etbDutyRateOfChange", float, "%.3f" entry = etbDutyAverage, "etbDutyAverage", float, "%.3f" entry = etbTpsErrorCounter, "ETB TPS error counter", int, "%d" entry = etbPpsErrorCounter, "ETB pedal error counter", int, "%d" entry = etbErrorCode, "etbErrorCode", int, "%d" +entry = jamTimer, "ETB jam timer", float, "%.3f" entry = faultCode, "faultCode", int, "%d" entry = heaterDuty, "heaterDuty", int, "%d" entry = pumpDuty, "pumpDuty", int, "%d" @@ -5564,6 +5571,7 @@ dialog = trigger_centralDialog, "trigger_central" graphLine = currentEngineDecodedPhase liveGraph = trigger_central_4_Graph, "Graph", South graphLine = triggerToothAngleError + graphLine = triggerIgnoredToothCount dialog = trigger_stateDialog, "trigger_state" @@ -5634,6 +5642,7 @@ dialog = ignition_stateDialog, "ignition_state" indicatorPanel = electronic_throttleIndicatorPanel, 2 indicator = {etbRevLimitActive}, "etbRevLimitActive No", "etbRevLimitActive Yes" + indicator = {jamDetected}, "jamDetected No", "jamDetected Yes" dialog = electronic_throttleDialog, "electronic_throttle" panel = electronic_throttleIndicatorPanel @@ -5652,6 +5661,8 @@ dialog = electronic_throttleDialog, "electronic_throttle" graphLine = etbTpsErrorCounter graphLine = etbPpsErrorCounter graphLine = etbErrorCode + liveGraph = electronic_throttle_4_Graph, "Graph", South + graphLine = jamTimer dialog = wideband_stateDialog, "wideband_state" @@ -5841,6 +5852,7 @@ dialog = wideband_stateDialog, "wideband_state" field = "Do not print messages in case of sync error", silentTriggerError field = "Focus on inputs in engine sniffer", engineSnifferFocusOnInputs field = "Enable noise filtering", useNoiselessTriggerDecoder, {trigger_type == 8 || trigger_type == 9} + field = "Trigger Edge Filter", doNotFilterTriggerEdgeNoise dialog = triggerInputs, "Trigger Inputs" field = "#Cam is primary if you have cam sensor as part of trigger shape" diff --git a/firmware/tunerstudio/generated/rusefi_s105.ini b/firmware/tunerstudio/generated/rusefi_s105.ini index 3a75fb5c33..12cd6d782e 100644 --- a/firmware/tunerstudio/generated/rusefi_s105.ini +++ b/firmware/tunerstudio/generated/rusefi_s105.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2023.01.10.s105.snap_27782" + signature = "rusEFI 2023.01.10.s105.snap_31757" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI 2023.01.10.s105.snap_27782" ; signature is expected to be 7 or more characters. + signature= "rusEFI 2023.01.10.s105.snap_31757" ; 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 @@ -86,7 +86,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 19:59:37 UTC 2023 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 21:35:12 UTC 2023 pageSize = 22368 page = 1 @@ -126,7 +126,7 @@ useTLE8888_cranking_hack = bits, U32, 120, [17:17], "false", "true" kickStartCranking = bits, U32, 120, [18:18], "false", "true" useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [19:19], "false", "true" launchControlEnabled = bits, U32, 120, [20:20], "false", "true" -anotherUnusedHere444 = bits, U32, 120, [21:21], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 120, [21:21], "with filter", "without filter" antiLagEnabled = bits, U32, 120, [22:22], "false", "true" useRunningMathForCranking = bits, U32, 120, [23:23], "Fixed", "Fuel Map" displayLogicLevelsInEngineSniffer = bits, U32, 120, [24:24], "false", "true" @@ -1469,6 +1469,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 cj125isUrDivided = "Is your UR CJ125 output wired to MCU via resistor divider?\nLooks like 3v range should be enough, divider generally not needed." useCicPidForIdle = "Switch between Industrial and Cic PID implementation" useSeparateIdleTablesForCrankingTaper = "This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration)." + doNotFilterTriggerEdgeNoise = "Detect double trigger edges" useRunningMathForCranking = "For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table)." displayLogicLevelsInEngineSniffer = "Shall we display real life signal or just the part consumed by trigger decoder.\nApplies to both trigger and cam/vvt input.\n\nenable logic_level_trigger" enableMapEstimationTableFallback = "If enabled, the MAP estimate table will be used if the MAP sensor fails to estimate manifold pressure based on RPM and TPS." @@ -2201,7 +2202,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1288 + ochBlockSize = 1292 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -2848,74 +2849,77 @@ mapVvt_MAP_AT_CYCLE_COUNT = scalar, U08, 1128, "", 1, 0 mapVvt_map_peak = scalar, U08, 1129, "", 1, 0 currentEngineDecodedPhase = scalar, F32, 1132, "deg", 1, 0 triggerToothAngleError = scalar, F32, 1136, "deg", 1, 0 -; total TS size = 1140 -crankSynchronizationCounter = scalar, U32, 1140, "", 1, 0 -vvtSyncGapRatio = scalar, F32, 1144, "", 1, 0 -vvtCurrentPosition = scalar, F32, 1148, "", 1, 0 -triggerSyncGapRatio = scalar, F32, 1152, "", 1, 0 -triggerStateIndex = scalar, U08, 1156, "", 1, 0 -vvtCounter = scalar, U08, 1157, "", 1, 0 -camResyncCounter = scalar, U08, 1158, "", 1, 0 -vvtStateIndex = scalar, U08, 1159, "", 1, 0 -; total TS size = 1160 -m_hasSynchronizedPhase = bits, U32, 1160, [0:0] +triggerIgnoredToothCount = scalar, U08, 1140, "", 1, 0 +; total TS size = 1144 +crankSynchronizationCounter = scalar, U32, 1144, "", 1, 0 +vvtSyncGapRatio = scalar, F32, 1148, "", 1, 0 +vvtCurrentPosition = scalar, F32, 1152, "", 1, 0 +triggerSyncGapRatio = scalar, F32, 1156, "", 1, 0 +triggerStateIndex = scalar, U08, 1160, "", 1, 0 +vvtCounter = scalar, U08, 1161, "", 1, 0 +camResyncCounter = scalar, U08, 1162, "", 1, 0 +vvtStateIndex = scalar, U08, 1163, "", 1, 0 ; total TS size = 1164 -wallFuelCorrection = scalar, F32, 1164, "", 1, 0 -wallFuel = scalar, F32, 1168, "", 1, 0 -; total TS size = 1172 -idleState = bits, S32, 1172, [0:2], "not important" -currentIdlePosition = scalar, F32, 1176 -baseIdlePosition = scalar, F32, 1180 -iacByTpsTaper = scalar, F32, 1184 -throttlePedalUpState = scalar, S32, 1188, "", 1, 0 -mightResetPid = bits, U32, 1192, [0:0] -shouldResetPid = bits, U32, 1192, [1:1] -wasResetPid = bits, U32, 1192, [2:2] -mustResetPid = bits, U32, 1192, [3:3] -isCranking = bits, U32, 1192, [4:4] -isIacTableForCoasting = bits, U32, 1192, [5:5] -notIdling = bits, U32, 1192, [6:6] -needReset = bits, U32, 1192, [7:7] -isInDeadZone = bits, U32, 1192, [8:8] -isBlipping = bits, U32, 1192, [9:9] -useClosedLoop = bits, U32, 1192, [10:10] -badTps = bits, U32, 1192, [11:11] -looksLikeRunning = bits, U32, 1192, [12:12] -looksLikeCoasting = bits, U32, 1192, [13:13] -looksLikeCrankToIdle = bits, U32, 1192, [14:14] -isVerboseIAC = bits, U32, 1192, [15:15] -isIdleCoasting = bits, U32, 1192, [16:16] -targetRpmByClt = scalar, S32, 1196, "", 1, 0 -targetRpmAcBump = scalar, S32, 1200, "", 1, 0 -iacByRpmTaper = scalar, F32, 1204 -luaAdd = scalar, F32, 1208 -; total TS size = 1212 -baseDwell = scalar, F32, 1212, "", 1, 0 -dwellVoltageCorrection = scalar, F32, 1216, "", 1, 0 -luaTimingAdd = scalar, F32, 1220, "", 1, 0 -luaTimingMult = scalar, F32, 1224, "", 1, 0 -; total TS size = 1228 -idlePosition = scalar, F32, 1228, "", 1, 0 -trim = scalar, F32, 1232, "", 1, 0 -luaAdjustment = scalar, F32, 1236, "", 1, 0 -etbFeedForward = scalar, F32, 1240 -etbIntegralError = scalar, F32, 1244, "", 1, 0 -etbCurrentTarget = scalar, F32, 1248, "%", 1, 0 -etbCurrentAdjustedTarget = scalar, F32, 1252, "%", 1, 0 -etbRevLimitActive = bits, U32, 1256, [0:0] -etbDutyRateOfChange = scalar, F32, 1260, "", 1, 0 -etbDutyAverage = scalar, F32, 1264, "", 1, 0 -etbTpsErrorCounter = scalar, U16, 1268, "", 1, 0 -etbPpsErrorCounter = scalar, U16, 1270, "", 1, 0 -etbErrorCode = scalar, S08, 1272, "", 1, 0 -; total TS size = 1276 -faultCode = scalar, U08, 1276, "", 1, 0 -heaterDuty = scalar, U08, 1277, "%", 1, 0 -pumpDuty = scalar, U08, 1278, "%", 1, 0 -tempC = scalar, U16, 1280, "C", 1, 0 -nernstVoltage = scalar, U16, 1282, "V", 0.001, 0 -esr = scalar, U16, 1284, "", 1, 0 -; total TS size = 1288 +m_hasSynchronizedPhase = bits, U32, 1164, [0:0] +; total TS size = 1168 +wallFuelCorrection = scalar, F32, 1168, "", 1, 0 +wallFuel = scalar, F32, 1172, "", 1, 0 +; total TS size = 1176 +idleState = bits, S32, 1176, [0:2], "not important" +currentIdlePosition = scalar, F32, 1180 +baseIdlePosition = scalar, F32, 1184 +iacByTpsTaper = scalar, F32, 1188 +throttlePedalUpState = scalar, S32, 1192, "", 1, 0 +mightResetPid = bits, U32, 1196, [0:0] +shouldResetPid = bits, U32, 1196, [1:1] +wasResetPid = bits, U32, 1196, [2:2] +mustResetPid = bits, U32, 1196, [3:3] +isCranking = bits, U32, 1196, [4:4] +isIacTableForCoasting = bits, U32, 1196, [5:5] +notIdling = bits, U32, 1196, [6:6] +needReset = bits, U32, 1196, [7:7] +isInDeadZone = bits, U32, 1196, [8:8] +isBlipping = bits, U32, 1196, [9:9] +useClosedLoop = bits, U32, 1196, [10:10] +badTps = bits, U32, 1196, [11:11] +looksLikeRunning = bits, U32, 1196, [12:12] +looksLikeCoasting = bits, U32, 1196, [13:13] +looksLikeCrankToIdle = bits, U32, 1196, [14:14] +isVerboseIAC = bits, U32, 1196, [15:15] +isIdleCoasting = bits, U32, 1196, [16:16] +targetRpmByClt = scalar, S32, 1200, "", 1, 0 +targetRpmAcBump = scalar, S32, 1204, "", 1, 0 +iacByRpmTaper = scalar, F32, 1208 +luaAdd = scalar, F32, 1212 +; total TS size = 1216 +baseDwell = scalar, F32, 1216, "", 1, 0 +dwellVoltageCorrection = scalar, F32, 1220, "", 1, 0 +luaTimingAdd = scalar, F32, 1224, "", 1, 0 +luaTimingMult = scalar, F32, 1228, "", 1, 0 +; total TS size = 1232 +idlePosition = scalar, F32, 1232, "", 1, 0 +trim = scalar, F32, 1236, "", 1, 0 +luaAdjustment = scalar, F32, 1240, "", 1, 0 +etbFeedForward = scalar, F32, 1244 +etbIntegralError = scalar, F32, 1248, "", 1, 0 +etbCurrentTarget = scalar, F32, 1252, "%", 1, 0 +etbCurrentAdjustedTarget = scalar, F32, 1256, "%", 1, 0 +etbRevLimitActive = bits, U32, 1260, [0:0] +jamDetected = bits, U32, 1260, [1:1] +etbDutyRateOfChange = scalar, F32, 1264, "", 1, 0 +etbDutyAverage = scalar, F32, 1268, "", 1, 0 +etbTpsErrorCounter = scalar, U16, 1272, "", 1, 0 +etbPpsErrorCounter = scalar, U16, 1274, "", 1, 0 +etbErrorCode = scalar, S08, 1276, "", 1, 0 +jamTimer = scalar, U16, 1278, "sec", 0.01, 0 +; total TS size = 1280 +faultCode = scalar, U08, 1280, "", 1, 0 +heaterDuty = scalar, U08, 1281, "%", 1, 0 +pumpDuty = scalar, U08, 1282, "%", 1, 0 +tempC = scalar, U16, 1284, "C", 1, 0 +nernstVoltage = scalar, U16, 1286, "V", 0.001, 0 +esr = scalar, U16, 1288, "", 1, 0 +; total TS size = 1292 time = { timeNow } @@ -4750,6 +4754,7 @@ entry = mapVvt_MAP_AT_CYCLE_COUNT, "mapVvt_MAP_AT_CYCLE_COUNT", int, "%d" entry = mapVvt_map_peak, "mapVvt_map_peak", int, "%d" entry = currentEngineDecodedPhase, "Engine Phase", float, "%.3f" entry = triggerToothAngleError, "triggerToothAngleError", float, "%.3f" +entry = triggerIgnoredToothCount, "triggerIgnoredToothCount", int, "%d" entry = crankSynchronizationCounter, "Crank sync counter", int, "%d" entry = vvtSyncGapRatio, "vvtSyncGapRatio", float, "%.3f" entry = vvtCurrentPosition, "vvtCurrentPosition", float, "%.3f" @@ -4799,11 +4804,13 @@ entry = etbIntegralError, "etbIntegralError", float, "%.3f" entry = etbCurrentTarget, "etbCurrentTarget", float, "%.3f" entry = etbCurrentAdjustedTarget, "etbCurrentAdjustedTarget", float, "%.3f" entry = etbRevLimitActive, "etbRevLimitActive", int, "%d" +entry = jamDetected, "jamDetected", int, "%d" entry = etbDutyRateOfChange, "etbDutyRateOfChange", float, "%.3f" entry = etbDutyAverage, "etbDutyAverage", float, "%.3f" entry = etbTpsErrorCounter, "ETB TPS error counter", int, "%d" entry = etbPpsErrorCounter, "ETB pedal error counter", int, "%d" entry = etbErrorCode, "etbErrorCode", int, "%d" +entry = jamTimer, "ETB jam timer", float, "%.3f" entry = faultCode, "faultCode", int, "%d" entry = heaterDuty, "heaterDuty", int, "%d" entry = pumpDuty, "pumpDuty", int, "%d" @@ -5567,6 +5574,7 @@ dialog = trigger_centralDialog, "trigger_central" graphLine = currentEngineDecodedPhase liveGraph = trigger_central_4_Graph, "Graph", South graphLine = triggerToothAngleError + graphLine = triggerIgnoredToothCount dialog = trigger_stateDialog, "trigger_state" @@ -5637,6 +5645,7 @@ dialog = ignition_stateDialog, "ignition_state" indicatorPanel = electronic_throttleIndicatorPanel, 2 indicator = {etbRevLimitActive}, "etbRevLimitActive No", "etbRevLimitActive Yes" + indicator = {jamDetected}, "jamDetected No", "jamDetected Yes" dialog = electronic_throttleDialog, "electronic_throttle" panel = electronic_throttleIndicatorPanel @@ -5655,6 +5664,8 @@ dialog = electronic_throttleDialog, "electronic_throttle" graphLine = etbTpsErrorCounter graphLine = etbPpsErrorCounter graphLine = etbErrorCode + liveGraph = electronic_throttle_4_Graph, "Graph", South + graphLine = jamTimer dialog = wideband_stateDialog, "wideband_state" @@ -5844,6 +5855,7 @@ dialog = wideband_stateDialog, "wideband_state" field = "Do not print messages in case of sync error", silentTriggerError field = "Focus on inputs in engine sniffer", engineSnifferFocusOnInputs field = "Enable noise filtering", useNoiselessTriggerDecoder, {trigger_type == 8 || trigger_type == 9} + field = "Trigger Edge Filter", doNotFilterTriggerEdgeNoise dialog = triggerInputs, "Trigger Inputs" field = "#Cam is primary if you have cam sensor as part of trigger shape" diff --git a/firmware/tunerstudio/generated/rusefi_subaru_eg33_f7.ini b/firmware/tunerstudio/generated/rusefi_subaru_eg33_f7.ini index 75e90e8621..38e371f1e1 100644 --- a/firmware/tunerstudio/generated/rusefi_subaru_eg33_f7.ini +++ b/firmware/tunerstudio/generated/rusefi_subaru_eg33_f7.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2023.01.10.subaru_eg33_f7.snap_34593" + signature = "rusEFI 2023.01.10.subaru_eg33_f7.snap_38826" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI 2023.01.10.subaru_eg33_f7.snap_34593" ; signature is expected to be 7 or more characters. + signature= "rusEFI 2023.01.10.subaru_eg33_f7.snap_38826" ; 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 @@ -86,7 +86,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on config/boards/subaru_eg33/config/gen_subaru_config.sh integration/rusefi_config.txt Tue Jan 10 19:59:11 UTC 2023 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on config/boards/subaru_eg33/config/gen_subaru_config.sh integration/rusefi_config.txt Tue Jan 10 21:34:47 UTC 2023 pageSize = 22368 page = 1 @@ -126,7 +126,7 @@ useTLE8888_cranking_hack = bits, U32, 120, [17:17], "false", "true" kickStartCranking = bits, U32, 120, [18:18], "false", "true" useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [19:19], "false", "true" launchControlEnabled = bits, U32, 120, [20:20], "false", "true" -anotherUnusedHere444 = bits, U32, 120, [21:21], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 120, [21:21], "with filter", "without filter" antiLagEnabled = bits, U32, 120, [22:22], "false", "true" useRunningMathForCranking = bits, U32, 120, [23:23], "Fixed", "Fuel Map" displayLogicLevelsInEngineSniffer = bits, U32, 120, [24:24], "false", "true" @@ -1469,6 +1469,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 cj125isUrDivided = "Is your UR CJ125 output wired to MCU via resistor divider?\nLooks like 3v range should be enough, divider generally not needed." useCicPidForIdle = "Switch between Industrial and Cic PID implementation" useSeparateIdleTablesForCrankingTaper = "This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration)." + doNotFilterTriggerEdgeNoise = "Detect double trigger edges" useRunningMathForCranking = "For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table)." displayLogicLevelsInEngineSniffer = "Shall we display real life signal or just the part consumed by trigger decoder.\nApplies to both trigger and cam/vvt input.\n\nenable logic_level_trigger" enableMapEstimationTableFallback = "If enabled, the MAP estimate table will be used if the MAP sensor fails to estimate manifold pressure based on RPM and TPS." @@ -2201,7 +2202,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1288 + ochBlockSize = 1292 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -2848,74 +2849,77 @@ mapVvt_MAP_AT_CYCLE_COUNT = scalar, U08, 1128, "", 1, 0 mapVvt_map_peak = scalar, U08, 1129, "", 1, 0 currentEngineDecodedPhase = scalar, F32, 1132, "deg", 1, 0 triggerToothAngleError = scalar, F32, 1136, "deg", 1, 0 -; total TS size = 1140 -crankSynchronizationCounter = scalar, U32, 1140, "", 1, 0 -vvtSyncGapRatio = scalar, F32, 1144, "", 1, 0 -vvtCurrentPosition = scalar, F32, 1148, "", 1, 0 -triggerSyncGapRatio = scalar, F32, 1152, "", 1, 0 -triggerStateIndex = scalar, U08, 1156, "", 1, 0 -vvtCounter = scalar, U08, 1157, "", 1, 0 -camResyncCounter = scalar, U08, 1158, "", 1, 0 -vvtStateIndex = scalar, U08, 1159, "", 1, 0 -; total TS size = 1160 -m_hasSynchronizedPhase = bits, U32, 1160, [0:0] +triggerIgnoredToothCount = scalar, U08, 1140, "", 1, 0 +; total TS size = 1144 +crankSynchronizationCounter = scalar, U32, 1144, "", 1, 0 +vvtSyncGapRatio = scalar, F32, 1148, "", 1, 0 +vvtCurrentPosition = scalar, F32, 1152, "", 1, 0 +triggerSyncGapRatio = scalar, F32, 1156, "", 1, 0 +triggerStateIndex = scalar, U08, 1160, "", 1, 0 +vvtCounter = scalar, U08, 1161, "", 1, 0 +camResyncCounter = scalar, U08, 1162, "", 1, 0 +vvtStateIndex = scalar, U08, 1163, "", 1, 0 ; total TS size = 1164 -wallFuelCorrection = scalar, F32, 1164, "", 1, 0 -wallFuel = scalar, F32, 1168, "", 1, 0 -; total TS size = 1172 -idleState = bits, S32, 1172, [0:2], "not important" -currentIdlePosition = scalar, F32, 1176 -baseIdlePosition = scalar, F32, 1180 -iacByTpsTaper = scalar, F32, 1184 -throttlePedalUpState = scalar, S32, 1188, "", 1, 0 -mightResetPid = bits, U32, 1192, [0:0] -shouldResetPid = bits, U32, 1192, [1:1] -wasResetPid = bits, U32, 1192, [2:2] -mustResetPid = bits, U32, 1192, [3:3] -isCranking = bits, U32, 1192, [4:4] -isIacTableForCoasting = bits, U32, 1192, [5:5] -notIdling = bits, U32, 1192, [6:6] -needReset = bits, U32, 1192, [7:7] -isInDeadZone = bits, U32, 1192, [8:8] -isBlipping = bits, U32, 1192, [9:9] -useClosedLoop = bits, U32, 1192, [10:10] -badTps = bits, U32, 1192, [11:11] -looksLikeRunning = bits, U32, 1192, [12:12] -looksLikeCoasting = bits, U32, 1192, [13:13] -looksLikeCrankToIdle = bits, U32, 1192, [14:14] -isVerboseIAC = bits, U32, 1192, [15:15] -isIdleCoasting = bits, U32, 1192, [16:16] -targetRpmByClt = scalar, S32, 1196, "", 1, 0 -targetRpmAcBump = scalar, S32, 1200, "", 1, 0 -iacByRpmTaper = scalar, F32, 1204 -luaAdd = scalar, F32, 1208 -; total TS size = 1212 -baseDwell = scalar, F32, 1212, "", 1, 0 -dwellVoltageCorrection = scalar, F32, 1216, "", 1, 0 -luaTimingAdd = scalar, F32, 1220, "", 1, 0 -luaTimingMult = scalar, F32, 1224, "", 1, 0 -; total TS size = 1228 -idlePosition = scalar, F32, 1228, "", 1, 0 -trim = scalar, F32, 1232, "", 1, 0 -luaAdjustment = scalar, F32, 1236, "", 1, 0 -etbFeedForward = scalar, F32, 1240 -etbIntegralError = scalar, F32, 1244, "", 1, 0 -etbCurrentTarget = scalar, F32, 1248, "%", 1, 0 -etbCurrentAdjustedTarget = scalar, F32, 1252, "%", 1, 0 -etbRevLimitActive = bits, U32, 1256, [0:0] -etbDutyRateOfChange = scalar, F32, 1260, "", 1, 0 -etbDutyAverage = scalar, F32, 1264, "", 1, 0 -etbTpsErrorCounter = scalar, U16, 1268, "", 1, 0 -etbPpsErrorCounter = scalar, U16, 1270, "", 1, 0 -etbErrorCode = scalar, S08, 1272, "", 1, 0 -; total TS size = 1276 -faultCode = scalar, U08, 1276, "", 1, 0 -heaterDuty = scalar, U08, 1277, "%", 1, 0 -pumpDuty = scalar, U08, 1278, "%", 1, 0 -tempC = scalar, U16, 1280, "C", 1, 0 -nernstVoltage = scalar, U16, 1282, "V", 0.001, 0 -esr = scalar, U16, 1284, "", 1, 0 -; total TS size = 1288 +m_hasSynchronizedPhase = bits, U32, 1164, [0:0] +; total TS size = 1168 +wallFuelCorrection = scalar, F32, 1168, "", 1, 0 +wallFuel = scalar, F32, 1172, "", 1, 0 +; total TS size = 1176 +idleState = bits, S32, 1176, [0:2], "not important" +currentIdlePosition = scalar, F32, 1180 +baseIdlePosition = scalar, F32, 1184 +iacByTpsTaper = scalar, F32, 1188 +throttlePedalUpState = scalar, S32, 1192, "", 1, 0 +mightResetPid = bits, U32, 1196, [0:0] +shouldResetPid = bits, U32, 1196, [1:1] +wasResetPid = bits, U32, 1196, [2:2] +mustResetPid = bits, U32, 1196, [3:3] +isCranking = bits, U32, 1196, [4:4] +isIacTableForCoasting = bits, U32, 1196, [5:5] +notIdling = bits, U32, 1196, [6:6] +needReset = bits, U32, 1196, [7:7] +isInDeadZone = bits, U32, 1196, [8:8] +isBlipping = bits, U32, 1196, [9:9] +useClosedLoop = bits, U32, 1196, [10:10] +badTps = bits, U32, 1196, [11:11] +looksLikeRunning = bits, U32, 1196, [12:12] +looksLikeCoasting = bits, U32, 1196, [13:13] +looksLikeCrankToIdle = bits, U32, 1196, [14:14] +isVerboseIAC = bits, U32, 1196, [15:15] +isIdleCoasting = bits, U32, 1196, [16:16] +targetRpmByClt = scalar, S32, 1200, "", 1, 0 +targetRpmAcBump = scalar, S32, 1204, "", 1, 0 +iacByRpmTaper = scalar, F32, 1208 +luaAdd = scalar, F32, 1212 +; total TS size = 1216 +baseDwell = scalar, F32, 1216, "", 1, 0 +dwellVoltageCorrection = scalar, F32, 1220, "", 1, 0 +luaTimingAdd = scalar, F32, 1224, "", 1, 0 +luaTimingMult = scalar, F32, 1228, "", 1, 0 +; total TS size = 1232 +idlePosition = scalar, F32, 1232, "", 1, 0 +trim = scalar, F32, 1236, "", 1, 0 +luaAdjustment = scalar, F32, 1240, "", 1, 0 +etbFeedForward = scalar, F32, 1244 +etbIntegralError = scalar, F32, 1248, "", 1, 0 +etbCurrentTarget = scalar, F32, 1252, "%", 1, 0 +etbCurrentAdjustedTarget = scalar, F32, 1256, "%", 1, 0 +etbRevLimitActive = bits, U32, 1260, [0:0] +jamDetected = bits, U32, 1260, [1:1] +etbDutyRateOfChange = scalar, F32, 1264, "", 1, 0 +etbDutyAverage = scalar, F32, 1268, "", 1, 0 +etbTpsErrorCounter = scalar, U16, 1272, "", 1, 0 +etbPpsErrorCounter = scalar, U16, 1274, "", 1, 0 +etbErrorCode = scalar, S08, 1276, "", 1, 0 +jamTimer = scalar, U16, 1278, "sec", 0.01, 0 +; total TS size = 1280 +faultCode = scalar, U08, 1280, "", 1, 0 +heaterDuty = scalar, U08, 1281, "%", 1, 0 +pumpDuty = scalar, U08, 1282, "%", 1, 0 +tempC = scalar, U16, 1284, "C", 1, 0 +nernstVoltage = scalar, U16, 1286, "V", 0.001, 0 +esr = scalar, U16, 1288, "", 1, 0 +; total TS size = 1292 time = { timeNow } @@ -4750,6 +4754,7 @@ entry = mapVvt_MAP_AT_CYCLE_COUNT, "mapVvt_MAP_AT_CYCLE_COUNT", int, "%d" entry = mapVvt_map_peak, "mapVvt_map_peak", int, "%d" entry = currentEngineDecodedPhase, "Engine Phase", float, "%.3f" entry = triggerToothAngleError, "triggerToothAngleError", float, "%.3f" +entry = triggerIgnoredToothCount, "triggerIgnoredToothCount", int, "%d" entry = crankSynchronizationCounter, "Crank sync counter", int, "%d" entry = vvtSyncGapRatio, "vvtSyncGapRatio", float, "%.3f" entry = vvtCurrentPosition, "vvtCurrentPosition", float, "%.3f" @@ -4799,11 +4804,13 @@ entry = etbIntegralError, "etbIntegralError", float, "%.3f" entry = etbCurrentTarget, "etbCurrentTarget", float, "%.3f" entry = etbCurrentAdjustedTarget, "etbCurrentAdjustedTarget", float, "%.3f" entry = etbRevLimitActive, "etbRevLimitActive", int, "%d" +entry = jamDetected, "jamDetected", int, "%d" entry = etbDutyRateOfChange, "etbDutyRateOfChange", float, "%.3f" entry = etbDutyAverage, "etbDutyAverage", float, "%.3f" entry = etbTpsErrorCounter, "ETB TPS error counter", int, "%d" entry = etbPpsErrorCounter, "ETB pedal error counter", int, "%d" entry = etbErrorCode, "etbErrorCode", int, "%d" +entry = jamTimer, "ETB jam timer", float, "%.3f" entry = faultCode, "faultCode", int, "%d" entry = heaterDuty, "heaterDuty", int, "%d" entry = pumpDuty, "pumpDuty", int, "%d" @@ -5566,6 +5573,7 @@ dialog = trigger_centralDialog, "trigger_central" graphLine = currentEngineDecodedPhase liveGraph = trigger_central_4_Graph, "Graph", South graphLine = triggerToothAngleError + graphLine = triggerIgnoredToothCount dialog = trigger_stateDialog, "trigger_state" @@ -5636,6 +5644,7 @@ dialog = ignition_stateDialog, "ignition_state" indicatorPanel = electronic_throttleIndicatorPanel, 2 indicator = {etbRevLimitActive}, "etbRevLimitActive No", "etbRevLimitActive Yes" + indicator = {jamDetected}, "jamDetected No", "jamDetected Yes" dialog = electronic_throttleDialog, "electronic_throttle" panel = electronic_throttleIndicatorPanel @@ -5654,6 +5663,8 @@ dialog = electronic_throttleDialog, "electronic_throttle" graphLine = etbTpsErrorCounter graphLine = etbPpsErrorCounter graphLine = etbErrorCode + liveGraph = electronic_throttle_4_Graph, "Graph", South + graphLine = jamTimer dialog = wideband_stateDialog, "wideband_state" @@ -5843,6 +5854,7 @@ dialog = wideband_stateDialog, "wideband_state" field = "Do not print messages in case of sync error", silentTriggerError field = "Focus on inputs in engine sniffer", engineSnifferFocusOnInputs field = "Enable noise filtering", useNoiselessTriggerDecoder, {trigger_type == 8 || trigger_type == 9} + field = "Trigger Edge Filter", doNotFilterTriggerEdgeNoise dialog = triggerInputs, "Trigger Inputs" field = "#Cam is primary if you have cam sensor as part of trigger shape" diff --git a/firmware/tunerstudio/generated/rusefi_tdg-pdm8.ini b/firmware/tunerstudio/generated/rusefi_tdg-pdm8.ini index ccf3c4e59e..34698d46dd 100644 --- a/firmware/tunerstudio/generated/rusefi_tdg-pdm8.ini +++ b/firmware/tunerstudio/generated/rusefi_tdg-pdm8.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI 2023.01.10.tdg-pdm8.snap_37039" + signature = "rusEFI 2023.01.10.tdg-pdm8.snap_32804" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI 2023.01.10.tdg-pdm8.snap_37039" ; signature is expected to be 7 or more characters. + signature= "rusEFI 2023.01.10.tdg-pdm8.snap_32804" ; 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 @@ -86,7 +86,7 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 19:59:49 UTC 2023 +; this section was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 21:35:24 UTC 2023 pageSize = 22368 page = 1 @@ -126,7 +126,7 @@ useTLE8888_cranking_hack = bits, U32, 120, [17:17], "false", "true" kickStartCranking = bits, U32, 120, [18:18], "false", "true" useSeparateIdleTablesForCrankingTaper = bits, U32, 120, [19:19], "false", "true" launchControlEnabled = bits, U32, 120, [20:20], "false", "true" -anotherUnusedHere444 = bits, U32, 120, [21:21], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 120, [21:21], "with filter", "without filter" antiLagEnabled = bits, U32, 120, [22:22], "false", "true" useRunningMathForCranking = bits, U32, 120, [23:23], "Fixed", "Fuel Map" displayLogicLevelsInEngineSniffer = bits, U32, 120, [24:24], "false", "true" @@ -1469,6 +1469,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 cj125isUrDivided = "Is your UR CJ125 output wired to MCU via resistor divider?\nLooks like 3v range should be enough, divider generally not needed." useCicPidForIdle = "Switch between Industrial and Cic PID implementation" useSeparateIdleTablesForCrankingTaper = "This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration)." + doNotFilterTriggerEdgeNoise = "Detect double trigger edges" useRunningMathForCranking = "For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table)." displayLogicLevelsInEngineSniffer = "Shall we display real life signal or just the part consumed by trigger decoder.\nApplies to both trigger and cam/vvt input.\n\nenable logic_level_trigger" enableMapEstimationTableFallback = "If enabled, the MAP estimate table will be used if the MAP sensor fails to estimate manifold pressure based on RPM and TPS." @@ -2201,7 +2202,7 @@ veBlends4_blendValues = array, U08, 22358, [8], "%", 0.5, 0, 0, 100, 1 ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code - ochBlockSize = 1288 + ochBlockSize = 1292 ; 11.2.3 Full Optimized – High Speed scatteredOchGetCommand = 9 @@ -2848,74 +2849,77 @@ mapVvt_MAP_AT_CYCLE_COUNT = scalar, U08, 1128, "", 1, 0 mapVvt_map_peak = scalar, U08, 1129, "", 1, 0 currentEngineDecodedPhase = scalar, F32, 1132, "deg", 1, 0 triggerToothAngleError = scalar, F32, 1136, "deg", 1, 0 -; total TS size = 1140 -crankSynchronizationCounter = scalar, U32, 1140, "", 1, 0 -vvtSyncGapRatio = scalar, F32, 1144, "", 1, 0 -vvtCurrentPosition = scalar, F32, 1148, "", 1, 0 -triggerSyncGapRatio = scalar, F32, 1152, "", 1, 0 -triggerStateIndex = scalar, U08, 1156, "", 1, 0 -vvtCounter = scalar, U08, 1157, "", 1, 0 -camResyncCounter = scalar, U08, 1158, "", 1, 0 -vvtStateIndex = scalar, U08, 1159, "", 1, 0 -; total TS size = 1160 -m_hasSynchronizedPhase = bits, U32, 1160, [0:0] +triggerIgnoredToothCount = scalar, U08, 1140, "", 1, 0 +; total TS size = 1144 +crankSynchronizationCounter = scalar, U32, 1144, "", 1, 0 +vvtSyncGapRatio = scalar, F32, 1148, "", 1, 0 +vvtCurrentPosition = scalar, F32, 1152, "", 1, 0 +triggerSyncGapRatio = scalar, F32, 1156, "", 1, 0 +triggerStateIndex = scalar, U08, 1160, "", 1, 0 +vvtCounter = scalar, U08, 1161, "", 1, 0 +camResyncCounter = scalar, U08, 1162, "", 1, 0 +vvtStateIndex = scalar, U08, 1163, "", 1, 0 ; total TS size = 1164 -wallFuelCorrection = scalar, F32, 1164, "", 1, 0 -wallFuel = scalar, F32, 1168, "", 1, 0 -; total TS size = 1172 -idleState = bits, S32, 1172, [0:2], "not important" -currentIdlePosition = scalar, F32, 1176 -baseIdlePosition = scalar, F32, 1180 -iacByTpsTaper = scalar, F32, 1184 -throttlePedalUpState = scalar, S32, 1188, "", 1, 0 -mightResetPid = bits, U32, 1192, [0:0] -shouldResetPid = bits, U32, 1192, [1:1] -wasResetPid = bits, U32, 1192, [2:2] -mustResetPid = bits, U32, 1192, [3:3] -isCranking = bits, U32, 1192, [4:4] -isIacTableForCoasting = bits, U32, 1192, [5:5] -notIdling = bits, U32, 1192, [6:6] -needReset = bits, U32, 1192, [7:7] -isInDeadZone = bits, U32, 1192, [8:8] -isBlipping = bits, U32, 1192, [9:9] -useClosedLoop = bits, U32, 1192, [10:10] -badTps = bits, U32, 1192, [11:11] -looksLikeRunning = bits, U32, 1192, [12:12] -looksLikeCoasting = bits, U32, 1192, [13:13] -looksLikeCrankToIdle = bits, U32, 1192, [14:14] -isVerboseIAC = bits, U32, 1192, [15:15] -isIdleCoasting = bits, U32, 1192, [16:16] -targetRpmByClt = scalar, S32, 1196, "", 1, 0 -targetRpmAcBump = scalar, S32, 1200, "", 1, 0 -iacByRpmTaper = scalar, F32, 1204 -luaAdd = scalar, F32, 1208 -; total TS size = 1212 -baseDwell = scalar, F32, 1212, "", 1, 0 -dwellVoltageCorrection = scalar, F32, 1216, "", 1, 0 -luaTimingAdd = scalar, F32, 1220, "", 1, 0 -luaTimingMult = scalar, F32, 1224, "", 1, 0 -; total TS size = 1228 -idlePosition = scalar, F32, 1228, "", 1, 0 -trim = scalar, F32, 1232, "", 1, 0 -luaAdjustment = scalar, F32, 1236, "", 1, 0 -etbFeedForward = scalar, F32, 1240 -etbIntegralError = scalar, F32, 1244, "", 1, 0 -etbCurrentTarget = scalar, F32, 1248, "%", 1, 0 -etbCurrentAdjustedTarget = scalar, F32, 1252, "%", 1, 0 -etbRevLimitActive = bits, U32, 1256, [0:0] -etbDutyRateOfChange = scalar, F32, 1260, "", 1, 0 -etbDutyAverage = scalar, F32, 1264, "", 1, 0 -etbTpsErrorCounter = scalar, U16, 1268, "", 1, 0 -etbPpsErrorCounter = scalar, U16, 1270, "", 1, 0 -etbErrorCode = scalar, S08, 1272, "", 1, 0 -; total TS size = 1276 -faultCode = scalar, U08, 1276, "", 1, 0 -heaterDuty = scalar, U08, 1277, "%", 1, 0 -pumpDuty = scalar, U08, 1278, "%", 1, 0 -tempC = scalar, U16, 1280, "C", 1, 0 -nernstVoltage = scalar, U16, 1282, "V", 0.001, 0 -esr = scalar, U16, 1284, "", 1, 0 -; total TS size = 1288 +m_hasSynchronizedPhase = bits, U32, 1164, [0:0] +; total TS size = 1168 +wallFuelCorrection = scalar, F32, 1168, "", 1, 0 +wallFuel = scalar, F32, 1172, "", 1, 0 +; total TS size = 1176 +idleState = bits, S32, 1176, [0:2], "not important" +currentIdlePosition = scalar, F32, 1180 +baseIdlePosition = scalar, F32, 1184 +iacByTpsTaper = scalar, F32, 1188 +throttlePedalUpState = scalar, S32, 1192, "", 1, 0 +mightResetPid = bits, U32, 1196, [0:0] +shouldResetPid = bits, U32, 1196, [1:1] +wasResetPid = bits, U32, 1196, [2:2] +mustResetPid = bits, U32, 1196, [3:3] +isCranking = bits, U32, 1196, [4:4] +isIacTableForCoasting = bits, U32, 1196, [5:5] +notIdling = bits, U32, 1196, [6:6] +needReset = bits, U32, 1196, [7:7] +isInDeadZone = bits, U32, 1196, [8:8] +isBlipping = bits, U32, 1196, [9:9] +useClosedLoop = bits, U32, 1196, [10:10] +badTps = bits, U32, 1196, [11:11] +looksLikeRunning = bits, U32, 1196, [12:12] +looksLikeCoasting = bits, U32, 1196, [13:13] +looksLikeCrankToIdle = bits, U32, 1196, [14:14] +isVerboseIAC = bits, U32, 1196, [15:15] +isIdleCoasting = bits, U32, 1196, [16:16] +targetRpmByClt = scalar, S32, 1200, "", 1, 0 +targetRpmAcBump = scalar, S32, 1204, "", 1, 0 +iacByRpmTaper = scalar, F32, 1208 +luaAdd = scalar, F32, 1212 +; total TS size = 1216 +baseDwell = scalar, F32, 1216, "", 1, 0 +dwellVoltageCorrection = scalar, F32, 1220, "", 1, 0 +luaTimingAdd = scalar, F32, 1224, "", 1, 0 +luaTimingMult = scalar, F32, 1228, "", 1, 0 +; total TS size = 1232 +idlePosition = scalar, F32, 1232, "", 1, 0 +trim = scalar, F32, 1236, "", 1, 0 +luaAdjustment = scalar, F32, 1240, "", 1, 0 +etbFeedForward = scalar, F32, 1244 +etbIntegralError = scalar, F32, 1248, "", 1, 0 +etbCurrentTarget = scalar, F32, 1252, "%", 1, 0 +etbCurrentAdjustedTarget = scalar, F32, 1256, "%", 1, 0 +etbRevLimitActive = bits, U32, 1260, [0:0] +jamDetected = bits, U32, 1260, [1:1] +etbDutyRateOfChange = scalar, F32, 1264, "", 1, 0 +etbDutyAverage = scalar, F32, 1268, "", 1, 0 +etbTpsErrorCounter = scalar, U16, 1272, "", 1, 0 +etbPpsErrorCounter = scalar, U16, 1274, "", 1, 0 +etbErrorCode = scalar, S08, 1276, "", 1, 0 +jamTimer = scalar, U16, 1278, "sec", 0.01, 0 +; total TS size = 1280 +faultCode = scalar, U08, 1280, "", 1, 0 +heaterDuty = scalar, U08, 1281, "%", 1, 0 +pumpDuty = scalar, U08, 1282, "%", 1, 0 +tempC = scalar, U16, 1284, "C", 1, 0 +nernstVoltage = scalar, U16, 1286, "V", 0.001, 0 +esr = scalar, U16, 1288, "", 1, 0 +; total TS size = 1292 time = { timeNow } @@ -4750,6 +4754,7 @@ entry = mapVvt_MAP_AT_CYCLE_COUNT, "mapVvt_MAP_AT_CYCLE_COUNT", int, "%d" entry = mapVvt_map_peak, "mapVvt_map_peak", int, "%d" entry = currentEngineDecodedPhase, "Engine Phase", float, "%.3f" entry = triggerToothAngleError, "triggerToothAngleError", float, "%.3f" +entry = triggerIgnoredToothCount, "triggerIgnoredToothCount", int, "%d" entry = crankSynchronizationCounter, "Crank sync counter", int, "%d" entry = vvtSyncGapRatio, "vvtSyncGapRatio", float, "%.3f" entry = vvtCurrentPosition, "vvtCurrentPosition", float, "%.3f" @@ -4799,11 +4804,13 @@ entry = etbIntegralError, "etbIntegralError", float, "%.3f" entry = etbCurrentTarget, "etbCurrentTarget", float, "%.3f" entry = etbCurrentAdjustedTarget, "etbCurrentAdjustedTarget", float, "%.3f" entry = etbRevLimitActive, "etbRevLimitActive", int, "%d" +entry = jamDetected, "jamDetected", int, "%d" entry = etbDutyRateOfChange, "etbDutyRateOfChange", float, "%.3f" entry = etbDutyAverage, "etbDutyAverage", float, "%.3f" entry = etbTpsErrorCounter, "ETB TPS error counter", int, "%d" entry = etbPpsErrorCounter, "ETB pedal error counter", int, "%d" entry = etbErrorCode, "etbErrorCode", int, "%d" +entry = jamTimer, "ETB jam timer", float, "%.3f" entry = faultCode, "faultCode", int, "%d" entry = heaterDuty, "heaterDuty", int, "%d" entry = pumpDuty, "pumpDuty", int, "%d" @@ -5570,6 +5577,7 @@ dialog = trigger_centralDialog, "trigger_central" graphLine = currentEngineDecodedPhase liveGraph = trigger_central_4_Graph, "Graph", South graphLine = triggerToothAngleError + graphLine = triggerIgnoredToothCount dialog = trigger_stateDialog, "trigger_state" @@ -5640,6 +5648,7 @@ dialog = ignition_stateDialog, "ignition_state" indicatorPanel = electronic_throttleIndicatorPanel, 2 indicator = {etbRevLimitActive}, "etbRevLimitActive No", "etbRevLimitActive Yes" + indicator = {jamDetected}, "jamDetected No", "jamDetected Yes" dialog = electronic_throttleDialog, "electronic_throttle" panel = electronic_throttleIndicatorPanel @@ -5658,6 +5667,8 @@ dialog = electronic_throttleDialog, "electronic_throttle" graphLine = etbTpsErrorCounter graphLine = etbPpsErrorCounter graphLine = etbErrorCode + liveGraph = electronic_throttle_4_Graph, "Graph", South + graphLine = jamTimer dialog = wideband_stateDialog, "wideband_state" @@ -5847,6 +5858,7 @@ dialog = wideband_stateDialog, "wideband_state" field = "Do not print messages in case of sync error", silentTriggerError field = "Focus on inputs in engine sniffer", engineSnifferFocusOnInputs field = "Enable noise filtering", useNoiselessTriggerDecoder, {trigger_type == 8 || trigger_type == 9} + field = "Trigger Edge Filter", doNotFilterTriggerEdgeNoise dialog = triggerInputs, "Trigger Inputs" field = "#Cam is primary if you have cam sensor as part of trigger shape" 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 537b177167..3e67b1c04b 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 @@ -1,25 +1,27 @@ package com.rusefi.config.generated; -// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) controllers/actuators/electronic_throttle.txt Tue Jan 03 12:54:22 UTC 2023 +// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) controllers/actuators/electronic_throttle.txt Tue Jan 10 21:34:44 UTC 2023 // by class com.rusefi.output.FileJavaFieldsConsumer import com.rusefi.config.*; public class ElectronicThrottle { - public static final Field IDLEPOSITION = Field.create("IDLEPOSITION", 0, FieldType.FLOAT).setBaseOffset(1228); - public static final Field TRIM = Field.create("TRIM", 4, FieldType.FLOAT).setBaseOffset(1228); - public static final Field LUAADJUSTMENT = Field.create("LUAADJUSTMENT", 8, FieldType.FLOAT).setBaseOffset(1228); - public static final Field ETBFEEDFORWARD = Field.create("ETBFEEDFORWARD", 12, FieldType.FLOAT).setBaseOffset(1228); - public static final Field ETBINTEGRALERROR = Field.create("ETBINTEGRALERROR", 16, FieldType.FLOAT).setBaseOffset(1228); - public static final Field ETBCURRENTTARGET = Field.create("ETBCURRENTTARGET", 20, FieldType.FLOAT).setBaseOffset(1228); - public static final Field ETBCURRENTADJUSTEDTARGET = Field.create("ETBCURRENTADJUSTEDTARGET", 24, FieldType.FLOAT).setBaseOffset(1228); - public static final Field ETBREVLIMITACTIVE = Field.create("ETBREVLIMITACTIVE", 28, FieldType.BIT, 0).setBaseOffset(1228); - public static final Field ETBDUTYRATEOFCHANGE = Field.create("ETBDUTYRATEOFCHANGE", 32, FieldType.FLOAT).setBaseOffset(1228); - public static final Field ETBDUTYAVERAGE = Field.create("ETBDUTYAVERAGE", 36, FieldType.FLOAT).setBaseOffset(1228); - public static final Field ETBTPSERRORCOUNTER = Field.create("ETBTPSERRORCOUNTER", 40, FieldType.INT16).setScale(1.0).setBaseOffset(1228); - public static final Field ETBPPSERRORCOUNTER = Field.create("ETBPPSERRORCOUNTER", 42, FieldType.INT16).setScale(1.0).setBaseOffset(1228); - public static final Field ETBERRORCODE = Field.create("ETBERRORCODE", 44, FieldType.INT8).setScale(1.0).setBaseOffset(1228); - public static final Field ALIGNMENTFILL_AT_45 = Field.create("ALIGNMENTFILL_AT_45", 45, FieldType.INT8).setScale(1.0).setBaseOffset(1228); + public static final Field IDLEPOSITION = Field.create("IDLEPOSITION", 0, FieldType.FLOAT).setBaseOffset(1232); + public static final Field TRIM = Field.create("TRIM", 4, FieldType.FLOAT).setBaseOffset(1232); + public static final Field LUAADJUSTMENT = Field.create("LUAADJUSTMENT", 8, FieldType.FLOAT).setBaseOffset(1232); + public static final Field ETBFEEDFORWARD = Field.create("ETBFEEDFORWARD", 12, FieldType.FLOAT).setBaseOffset(1232); + public static final Field ETBINTEGRALERROR = Field.create("ETBINTEGRALERROR", 16, FieldType.FLOAT).setBaseOffset(1232); + public static final Field ETBCURRENTTARGET = Field.create("ETBCURRENTTARGET", 20, FieldType.FLOAT).setBaseOffset(1232); + public static final Field ETBCURRENTADJUSTEDTARGET = Field.create("ETBCURRENTADJUSTEDTARGET", 24, FieldType.FLOAT).setBaseOffset(1232); + public static final Field ETBREVLIMITACTIVE = Field.create("ETBREVLIMITACTIVE", 28, FieldType.BIT, 0).setBaseOffset(1232); + public static final Field JAMDETECTED = Field.create("JAMDETECTED", 28, FieldType.BIT, 1).setBaseOffset(1232); + public static final Field ETBDUTYRATEOFCHANGE = Field.create("ETBDUTYRATEOFCHANGE", 32, FieldType.FLOAT).setBaseOffset(1232); + public static final Field ETBDUTYAVERAGE = Field.create("ETBDUTYAVERAGE", 36, FieldType.FLOAT).setBaseOffset(1232); + public static final Field ETBTPSERRORCOUNTER = Field.create("ETBTPSERRORCOUNTER", 40, FieldType.INT16).setScale(1.0).setBaseOffset(1232); + public static final Field ETBPPSERRORCOUNTER = Field.create("ETBPPSERRORCOUNTER", 42, FieldType.INT16).setScale(1.0).setBaseOffset(1232); + public static final Field ETBERRORCODE = Field.create("ETBERRORCODE", 44, FieldType.INT8).setScale(1.0).setBaseOffset(1232); + public static final Field ALIGNMENTFILL_AT_45 = Field.create("ALIGNMENTFILL_AT_45", 45, FieldType.INT8).setScale(1.0).setBaseOffset(1232); + public static final Field JAMTIMER = Field.create("JAMTIMER", 46, FieldType.INT16).setScale(0.01).setBaseOffset(1232); public static final Field[] VALUES = { IDLEPOSITION, TRIM, @@ -29,11 +31,13 @@ public class ElectronicThrottle { ETBCURRENTTARGET, ETBCURRENTADJUSTEDTARGET, ETBREVLIMITACTIVE, + JAMDETECTED, ETBDUTYRATEOFCHANGE, ETBDUTYAVERAGE, ETBTPSERRORCOUNTER, ETBPPSERRORCOUNTER, ETBERRORCODE, ALIGNMENTFILL_AT_45, + JAMTIMER, }; } 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 e6ada8206c..5db4b97f4c 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 @@ -1,6 +1,6 @@ package com.rusefi.config.generated; -// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 19:59:52 UTC 2023 +// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Tue Jan 10 21:35:27 UTC 2023 // by class com.rusefi.output.FileJavaFieldsConsumer import com.rusefi.config.*; @@ -1199,10 +1199,10 @@ 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 2023.01.10.all.snap_24315"; + public static final String TS_SIGNATURE = "rusEFI 2023.01.10.all.snap_20080"; 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 = 1288; + public static final int TS_TOTAL_OUTPUT_SIZE = 1292; 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; @@ -1292,7 +1292,7 @@ public class Fields { public static final Field KICKSTARTCRANKING = Field.create("KICKSTARTCRANKING", 120, FieldType.BIT, 18).setBaseOffset(0); public static final Field USESEPARATEIDLETABLESFORCRANKINGTAPER = Field.create("USESEPARATEIDLETABLESFORCRANKINGTAPER", 120, FieldType.BIT, 19).setBaseOffset(0); public static final Field LAUNCHCONTROLENABLED = Field.create("LAUNCHCONTROLENABLED", 120, FieldType.BIT, 20).setBaseOffset(0); - public static final Field ANOTHERUNUSEDHERE444 = Field.create("ANOTHERUNUSEDHERE444", 120, FieldType.BIT, 21).setBaseOffset(0); + public static final Field DONOTFILTERTRIGGEREDGENOISE = Field.create("DONOTFILTERTRIGGEREDGENOISE", 120, FieldType.BIT, 21).setBaseOffset(0); public static final Field ANTILAGENABLED = Field.create("ANTILAGENABLED", 120, FieldType.BIT, 22).setBaseOffset(0); public static final Field USERUNNINGMATHFORCRANKING = Field.create("USERUNNINGMATHFORCRANKING", 120, FieldType.BIT, 23).setBaseOffset(0); public static final Field DISPLAYLOGICLEVELSINENGINESNIFFER = Field.create("DISPLAYLOGICLEVELSINENGINESNIFFER", 120, FieldType.BIT, 24).setBaseOffset(0); @@ -2757,7 +2757,7 @@ public class Fields { KICKSTARTCRANKING, USESEPARATEIDLETABLESFORCRANKINGTAPER, LAUNCHCONTROLENABLED, - ANOTHERUNUSEDHERE444, + DONOTFILTERTRIGGEREDGENOISE, ANTILAGENABLED, USERUNNINGMATHFORCRANKING, DISPLAYLOGICLEVELSINENGINESNIFFER, 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 80b5c2abc4..b911b0909b 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 @@ -1,37 +1,37 @@ package com.rusefi.config.generated; -// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) controllers/actuators/idle_state.txt Tue Jan 03 12:54:22 UTC 2023 +// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) controllers/actuators/idle_state.txt Tue Jan 10 21:34:44 UTC 2023 // by class com.rusefi.output.FileJavaFieldsConsumer import com.rusefi.config.*; public class IdleState { - public static final Field IDLESTATE = Field.create("IDLESTATE", 0, FieldType.INT).setScale(1.0).setBaseOffset(1172); - public static final Field CURRENTIDLEPOSITION = Field.create("CURRENTIDLEPOSITION", 4, FieldType.FLOAT).setBaseOffset(1172); - public static final Field BASEIDLEPOSITION = Field.create("BASEIDLEPOSITION", 8, FieldType.FLOAT).setBaseOffset(1172); - public static final Field IACBYTPSTAPER = Field.create("IACBYTPSTAPER", 12, FieldType.FLOAT).setBaseOffset(1172); - public static final Field THROTTLEPEDALUPSTATE = Field.create("THROTTLEPEDALUPSTATE", 16, FieldType.INT).setScale(1.0).setBaseOffset(1172); - public static final Field MIGHTRESETPID = Field.create("MIGHTRESETPID", 20, FieldType.BIT, 0).setBaseOffset(1172); - public static final Field SHOULDRESETPID = Field.create("SHOULDRESETPID", 20, FieldType.BIT, 1).setBaseOffset(1172); - public static final Field WASRESETPID = Field.create("WASRESETPID", 20, FieldType.BIT, 2).setBaseOffset(1172); - public static final Field MUSTRESETPID = Field.create("MUSTRESETPID", 20, FieldType.BIT, 3).setBaseOffset(1172); - public static final Field ISCRANKING = Field.create("ISCRANKING", 20, FieldType.BIT, 4).setBaseOffset(1172); - public static final Field ISIACTABLEFORCOASTING = Field.create("ISIACTABLEFORCOASTING", 20, FieldType.BIT, 5).setBaseOffset(1172); - public static final Field NOTIDLING = Field.create("NOTIDLING", 20, FieldType.BIT, 6).setBaseOffset(1172); - public static final Field NEEDRESET = Field.create("NEEDRESET", 20, FieldType.BIT, 7).setBaseOffset(1172); - public static final Field ISINDEADZONE = Field.create("ISINDEADZONE", 20, FieldType.BIT, 8).setBaseOffset(1172); - public static final Field ISBLIPPING = Field.create("ISBLIPPING", 20, FieldType.BIT, 9).setBaseOffset(1172); - public static final Field USECLOSEDLOOP = Field.create("USECLOSEDLOOP", 20, FieldType.BIT, 10).setBaseOffset(1172); - public static final Field BADTPS = Field.create("BADTPS", 20, FieldType.BIT, 11).setBaseOffset(1172); - public static final Field LOOKSLIKERUNNING = Field.create("LOOKSLIKERUNNING", 20, FieldType.BIT, 12).setBaseOffset(1172); - public static final Field LOOKSLIKECOASTING = Field.create("LOOKSLIKECOASTING", 20, FieldType.BIT, 13).setBaseOffset(1172); - public static final Field LOOKSLIKECRANKTOIDLE = Field.create("LOOKSLIKECRANKTOIDLE", 20, FieldType.BIT, 14).setBaseOffset(1172); - public static final Field ISVERBOSEIAC = Field.create("ISVERBOSEIAC", 20, FieldType.BIT, 15).setBaseOffset(1172); - public static final Field ISIDLECOASTING = Field.create("ISIDLECOASTING", 20, FieldType.BIT, 16).setBaseOffset(1172); - public static final Field TARGETRPMBYCLT = Field.create("TARGETRPMBYCLT", 24, FieldType.INT).setScale(1.0).setBaseOffset(1172); - public static final Field TARGETRPMACBUMP = Field.create("TARGETRPMACBUMP", 28, FieldType.INT).setScale(1.0).setBaseOffset(1172); - public static final Field IACBYRPMTAPER = Field.create("IACBYRPMTAPER", 32, FieldType.FLOAT).setBaseOffset(1172); - public static final Field LUAADD = Field.create("LUAADD", 36, FieldType.FLOAT).setBaseOffset(1172); + public static final Field IDLESTATE = Field.create("IDLESTATE", 0, FieldType.INT).setScale(1.0).setBaseOffset(1176); + public static final Field CURRENTIDLEPOSITION = Field.create("CURRENTIDLEPOSITION", 4, FieldType.FLOAT).setBaseOffset(1176); + public static final Field BASEIDLEPOSITION = Field.create("BASEIDLEPOSITION", 8, FieldType.FLOAT).setBaseOffset(1176); + public static final Field IACBYTPSTAPER = Field.create("IACBYTPSTAPER", 12, FieldType.FLOAT).setBaseOffset(1176); + public static final Field THROTTLEPEDALUPSTATE = Field.create("THROTTLEPEDALUPSTATE", 16, FieldType.INT).setScale(1.0).setBaseOffset(1176); + public static final Field MIGHTRESETPID = Field.create("MIGHTRESETPID", 20, FieldType.BIT, 0).setBaseOffset(1176); + public static final Field SHOULDRESETPID = Field.create("SHOULDRESETPID", 20, FieldType.BIT, 1).setBaseOffset(1176); + public static final Field WASRESETPID = Field.create("WASRESETPID", 20, FieldType.BIT, 2).setBaseOffset(1176); + public static final Field MUSTRESETPID = Field.create("MUSTRESETPID", 20, FieldType.BIT, 3).setBaseOffset(1176); + public static final Field ISCRANKING = Field.create("ISCRANKING", 20, FieldType.BIT, 4).setBaseOffset(1176); + public static final Field ISIACTABLEFORCOASTING = Field.create("ISIACTABLEFORCOASTING", 20, FieldType.BIT, 5).setBaseOffset(1176); + public static final Field NOTIDLING = Field.create("NOTIDLING", 20, FieldType.BIT, 6).setBaseOffset(1176); + public static final Field NEEDRESET = Field.create("NEEDRESET", 20, FieldType.BIT, 7).setBaseOffset(1176); + public static final Field ISINDEADZONE = Field.create("ISINDEADZONE", 20, FieldType.BIT, 8).setBaseOffset(1176); + public static final Field ISBLIPPING = Field.create("ISBLIPPING", 20, FieldType.BIT, 9).setBaseOffset(1176); + public static final Field USECLOSEDLOOP = Field.create("USECLOSEDLOOP", 20, FieldType.BIT, 10).setBaseOffset(1176); + public static final Field BADTPS = Field.create("BADTPS", 20, FieldType.BIT, 11).setBaseOffset(1176); + public static final Field LOOKSLIKERUNNING = Field.create("LOOKSLIKERUNNING", 20, FieldType.BIT, 12).setBaseOffset(1176); + public static final Field LOOKSLIKECOASTING = Field.create("LOOKSLIKECOASTING", 20, FieldType.BIT, 13).setBaseOffset(1176); + public static final Field LOOKSLIKECRANKTOIDLE = Field.create("LOOKSLIKECRANKTOIDLE", 20, FieldType.BIT, 14).setBaseOffset(1176); + public static final Field ISVERBOSEIAC = Field.create("ISVERBOSEIAC", 20, FieldType.BIT, 15).setBaseOffset(1176); + public static final Field ISIDLECOASTING = Field.create("ISIDLECOASTING", 20, FieldType.BIT, 16).setBaseOffset(1176); + public static final Field TARGETRPMBYCLT = Field.create("TARGETRPMBYCLT", 24, FieldType.INT).setScale(1.0).setBaseOffset(1176); + public static final Field TARGETRPMACBUMP = Field.create("TARGETRPMACBUMP", 28, FieldType.INT).setScale(1.0).setBaseOffset(1176); + public static final Field IACBYRPMTAPER = Field.create("IACBYRPMTAPER", 32, FieldType.FLOAT).setBaseOffset(1176); + public static final Field LUAADD = Field.create("LUAADD", 36, FieldType.FLOAT).setBaseOffset(1176); 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 87a0b2782f..0bf88ce9b8 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 @@ -1,15 +1,15 @@ package com.rusefi.config.generated; -// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) controllers/algo/ignition_state.txt Tue Jan 03 12:54:22 UTC 2023 +// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) controllers/algo/ignition_state.txt Tue Jan 10 21:34:44 UTC 2023 // by class com.rusefi.output.FileJavaFieldsConsumer import com.rusefi.config.*; public class IgnitionState { - public static final Field BASEDWELL = Field.create("BASEDWELL", 0, FieldType.FLOAT).setBaseOffset(1212); - public static final Field DWELLVOLTAGECORRECTION = Field.create("DWELLVOLTAGECORRECTION", 4, FieldType.FLOAT).setBaseOffset(1212); - public static final Field LUATIMINGADD = Field.create("LUATIMINGADD", 8, FieldType.FLOAT).setBaseOffset(1212); - public static final Field LUATIMINGMULT = Field.create("LUATIMINGMULT", 12, FieldType.FLOAT).setBaseOffset(1212); + public static final Field BASEDWELL = Field.create("BASEDWELL", 0, FieldType.FLOAT).setBaseOffset(1216); + public static final Field DWELLVOLTAGECORRECTION = Field.create("DWELLVOLTAGECORRECTION", 4, FieldType.FLOAT).setBaseOffset(1216); + public static final Field LUATIMINGADD = Field.create("LUATIMINGADD", 8, FieldType.FLOAT).setBaseOffset(1216); + public static final Field LUATIMINGMULT = Field.create("LUATIMINGMULT", 12, FieldType.FLOAT).setBaseOffset(1216); public static final Field[] VALUES = { BASEDWELL, DWELLVOLTAGECORRECTION, 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 d1748e61d1..0f4c056efe 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 @@ -1,6 +1,6 @@ package com.rusefi.config.generated; -// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) controllers/trigger/trigger_central.txt Thu Dec 22 00:28:50 UTC 2022 +// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) controllers/trigger/trigger_central.txt Tue Jan 10 21:34:44 UTC 2023 // by class com.rusefi.output.FileJavaFieldsConsumer import com.rusefi.config.*; @@ -21,6 +21,8 @@ public class TriggerCentral { public static final Field ALIGNMENTFILL_AT_38 = Field.create("ALIGNMENTFILL_AT_38", 38, FieldType.INT8).setScale(1.0).setBaseOffset(1092); public static final Field CURRENTENGINEDECODEDPHASE = Field.create("CURRENTENGINEDECODEDPHASE", 40, FieldType.FLOAT).setBaseOffset(1092); public static final Field TRIGGERTOOTHANGLEERROR = Field.create("TRIGGERTOOTHANGLEERROR", 44, FieldType.FLOAT).setBaseOffset(1092); + public static final Field TRIGGERIGNOREDTOOTHCOUNT = Field.create("TRIGGERIGNOREDTOOTHCOUNT", 48, FieldType.INT8).setScale(1.0).setBaseOffset(1092); + public static final Field ALIGNMENTFILL_AT_49 = Field.create("ALIGNMENTFILL_AT_49", 49, FieldType.INT8).setScale(1.0).setBaseOffset(1092); public static final Field[] VALUES = { HWEVENTCOUNTERS1, HWEVENTCOUNTERS2, @@ -36,5 +38,7 @@ public class TriggerCentral { ALIGNMENTFILL_AT_38, CURRENTENGINEDECODEDPHASE, TRIGGERTOOTHANGLEERROR, + TRIGGERIGNOREDTOOTHCOUNT, + ALIGNMENTFILL_AT_49, }; } 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 2363ee4263..fe2fbc29ed 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 @@ -1,6 +1,6 @@ package com.rusefi.config.generated; -// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) controllers/trigger/trigger_state.txt Sat Jan 07 03:08:26 UTC 2023 +// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) controllers/trigger/trigger_state.txt Tue Jan 10 21:34:44 UTC 2023 // by class com.rusefi.output.FileJavaFieldsConsumer import com.rusefi.config.*; @@ -401,14 +401,14 @@ public class TriggerState { public static final int VM_VVT_INACTIVE = 0; public static final int VR_THRESHOLD_COUNT = 2; public static final int WWAE_TABLE_SIZE = 8; - public static final Field CRANKSYNCHRONIZATIONCOUNTER = Field.create("CRANKSYNCHRONIZATIONCOUNTER", 0, FieldType.INT).setScale(1.0).setBaseOffset(1140); - public static final Field VVTSYNCGAPRATIO = Field.create("VVTSYNCGAPRATIO", 4, FieldType.FLOAT).setBaseOffset(1140); - public static final Field VVTCURRENTPOSITION = Field.create("VVTCURRENTPOSITION", 8, FieldType.FLOAT).setBaseOffset(1140); - public static final Field TRIGGERSYNCGAPRATIO = Field.create("TRIGGERSYNCGAPRATIO", 12, FieldType.FLOAT).setBaseOffset(1140); - public static final Field TRIGGERSTATEINDEX = Field.create("TRIGGERSTATEINDEX", 16, FieldType.INT8).setScale(1.0).setBaseOffset(1140); - public static final Field VVTCOUNTER = Field.create("VVTCOUNTER", 17, FieldType.INT8).setScale(1.0).setBaseOffset(1140); - public static final Field CAMRESYNCCOUNTER = Field.create("CAMRESYNCCOUNTER", 18, FieldType.INT8).setScale(1.0).setBaseOffset(1140); - public static final Field VVTSTATEINDEX = Field.create("VVTSTATEINDEX", 19, FieldType.INT8).setScale(1.0).setBaseOffset(1140); + public static final Field CRANKSYNCHRONIZATIONCOUNTER = Field.create("CRANKSYNCHRONIZATIONCOUNTER", 0, FieldType.INT).setScale(1.0).setBaseOffset(1144); + public static final Field VVTSYNCGAPRATIO = Field.create("VVTSYNCGAPRATIO", 4, FieldType.FLOAT).setBaseOffset(1144); + public static final Field VVTCURRENTPOSITION = Field.create("VVTCURRENTPOSITION", 8, FieldType.FLOAT).setBaseOffset(1144); + public static final Field TRIGGERSYNCGAPRATIO = Field.create("TRIGGERSYNCGAPRATIO", 12, FieldType.FLOAT).setBaseOffset(1144); + public static final Field TRIGGERSTATEINDEX = Field.create("TRIGGERSTATEINDEX", 16, FieldType.INT8).setScale(1.0).setBaseOffset(1144); + public static final Field VVTCOUNTER = Field.create("VVTCOUNTER", 17, FieldType.INT8).setScale(1.0).setBaseOffset(1144); + public static final Field CAMRESYNCCOUNTER = Field.create("CAMRESYNCCOUNTER", 18, FieldType.INT8).setScale(1.0).setBaseOffset(1144); + public static final Field VVTSTATEINDEX = Field.create("VVTSTATEINDEX", 19, FieldType.INT8).setScale(1.0).setBaseOffset(1144); public static final Field[] VALUES = { CRANKSYNCHRONIZATIONCOUNTER, VVTSYNCGAPRATIO, diff --git a/java_console/models/src/main/java/com/rusefi/config/generated/TriggerStatePrimary.java b/java_console/models/src/main/java/com/rusefi/config/generated/TriggerStatePrimary.java index c633bd9398..241f17539b 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 @@ -1,6 +1,6 @@ package com.rusefi.config.generated; -// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) controllers/trigger/trigger_state_primary.txt Sat Jan 07 03:08:26 UTC 2023 +// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) controllers/trigger/trigger_state_primary.txt Tue Jan 10 21:34:44 UTC 2023 // by class com.rusefi.output.FileJavaFieldsConsumer import com.rusefi.config.*; @@ -401,7 +401,7 @@ public class TriggerStatePrimary { public static final int VM_VVT_INACTIVE = 0; public static final int VR_THRESHOLD_COUNT = 2; public static final int WWAE_TABLE_SIZE = 8; - public static final Field M_HASSYNCHRONIZEDPHASE = Field.create("M_HASSYNCHRONIZEDPHASE", 0, FieldType.BIT, 0).setBaseOffset(1160); + public static final Field M_HASSYNCHRONIZEDPHASE = Field.create("M_HASSYNCHRONIZEDPHASE", 0, FieldType.BIT, 0).setBaseOffset(1164); public static final Field[] VALUES = { M_HASSYNCHRONIZEDPHASE, }; 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 c8e94aa017..dbf6703346 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 @@ -1,13 +1,13 @@ package com.rusefi.config.generated; -// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) controllers/algo/wall_fuel_state.txt Tue Jan 03 12:54:22 UTC 2023 +// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) controllers/algo/wall_fuel_state.txt Tue Jan 10 21:34:44 UTC 2023 // by class com.rusefi.output.FileJavaFieldsConsumer import com.rusefi.config.*; public class WallFuelState { - public static final Field WALLFUELCORRECTION = Field.create("WALLFUELCORRECTION", 0, FieldType.FLOAT).setBaseOffset(1164); - public static final Field WALLFUEL = Field.create("WALLFUEL", 4, FieldType.FLOAT).setBaseOffset(1164); + public static final Field WALLFUELCORRECTION = Field.create("WALLFUELCORRECTION", 0, FieldType.FLOAT).setBaseOffset(1168); + public static final Field WALLFUEL = Field.create("WALLFUEL", 4, FieldType.FLOAT).setBaseOffset(1168); 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 3c6875d410..0a21a9feba 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 @@ -1,19 +1,19 @@ package com.rusefi.config.generated; -// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) controllers/sensors//wideband_state.txt Tue Jan 03 12:54:22 UTC 2023 +// this file was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) controllers/sensors//wideband_state.txt Tue Jan 10 21:34:44 UTC 2023 // by class com.rusefi.output.FileJavaFieldsConsumer import com.rusefi.config.*; public class WidebandController { - public static final Field FAULTCODE = Field.create("FAULTCODE", 0, FieldType.INT8).setScale(1.0).setBaseOffset(1276); - public static final Field HEATERDUTY = Field.create("HEATERDUTY", 1, FieldType.INT8).setScale(1.0).setBaseOffset(1276); - public static final Field PUMPDUTY = Field.create("PUMPDUTY", 2, FieldType.INT8).setScale(1.0).setBaseOffset(1276); - public static final Field ALIGNMENTFILL_AT_3 = Field.create("ALIGNMENTFILL_AT_3", 3, FieldType.INT8).setScale(1.0).setBaseOffset(1276); - public static final Field TEMPC = Field.create("TEMPC", 4, FieldType.INT16).setScale(1.0).setBaseOffset(1276); - public static final Field NERNSTVOLTAGE = Field.create("NERNSTVOLTAGE", 6, FieldType.INT16).setScale(0.001).setBaseOffset(1276); - public static final Field ESR = Field.create("ESR", 8, FieldType.INT16).setScale(1.0).setBaseOffset(1276); - public static final Field ALIGNMENTFILL_AT_10 = Field.create("ALIGNMENTFILL_AT_10", 10, FieldType.INT8).setScale(1.0).setBaseOffset(1276); + public static final Field FAULTCODE = Field.create("FAULTCODE", 0, FieldType.INT8).setScale(1.0).setBaseOffset(1280); + public static final Field HEATERDUTY = Field.create("HEATERDUTY", 1, FieldType.INT8).setScale(1.0).setBaseOffset(1280); + public static final Field PUMPDUTY = Field.create("PUMPDUTY", 2, FieldType.INT8).setScale(1.0).setBaseOffset(1280); + public static final Field ALIGNMENTFILL_AT_3 = Field.create("ALIGNMENTFILL_AT_3", 3, FieldType.INT8).setScale(1.0).setBaseOffset(1280); + public static final Field TEMPC = Field.create("TEMPC", 4, FieldType.INT16).setScale(1.0).setBaseOffset(1280); + public static final Field NERNSTVOLTAGE = Field.create("NERNSTVOLTAGE", 6, FieldType.INT16).setScale(0.001).setBaseOffset(1280); + public static final Field ESR = Field.create("ESR", 8, FieldType.INT16).setScale(1.0).setBaseOffset(1280); + public static final Field ALIGNMENTFILL_AT_10 = Field.create("ALIGNMENTFILL_AT_10", 10, FieldType.INT8).setScale(1.0).setBaseOffset(1280); public static final Field[] VALUES = { FAULTCODE, HEATERDUTY,