From 17879ef7de4f5bfd04b1da12ad205799cbcc4a0b Mon Sep 17 00:00:00 2001 From: rusefillc Date: Thu, 9 Dec 2021 22:16:42 -0500 Subject: [PATCH] MAP phase sensing #3544 --- firmware/console/binary/generated/data_logs.ini | 1 + firmware/console/binary/generated/gauges.ini | 6 ++++-- .../console/binary/generated/output_channels.ini | 6 ++++-- firmware/console/binary/output_channels.txt | 7 ++++++- firmware/console/binary/ts_outputs_generated.h | 14 +++++++++++--- firmware/controllers/trigger/trigger_central.cpp | 3 +++ firmware/controllers/trigger/trigger_central.h | 1 + firmware/tunerstudio/rusefi.input | 1 + 8 files changed, 31 insertions(+), 8 deletions(-) diff --git a/firmware/console/binary/generated/data_logs.ini b/firmware/console/binary/generated/data_logs.ini index 1c94af297f..7a465b725f 100644 --- a/firmware/console/binary/generated/data_logs.ini +++ b/firmware/console/binary/generated/data_logs.ini @@ -184,6 +184,7 @@ entry = vvtTargets2, "vvtTargets2", int, "%d" entry = vvtTargets3, "vvtTargets3", int, "%d" entry = vvtTargets4, "vvtTargets4", int, "%d" entry = turboSpeed, "Turbocharger Speed", int, "%d" +entry = TEMPLOG_MAP_AT_CYCLE_COUNT, "TEMPLOG_MAP_AT_CYCLE_COUNT", int, "%d" entry = TEMPLOG_MAP_AT_SPECIAL_POINT, "TEMPLOG_MAP_AT_SPECIAL_POINT", float, "%.3f" entry = TEMPLOG_MAP_AT_DIFF, "TEMPLOG_MAP_AT_DIFF", float, "%.3f" entry = vvtSyncGapRatio, "vvtSyncGapRatio", float, "%.3f" diff --git a/firmware/console/binary/generated/gauges.ini b/firmware/console/binary/generated/gauges.ini index c81000864b..24f92fe53e 100644 --- a/firmware/console/binary/generated/gauges.ini +++ b/firmware/console/binary/generated/gauges.ini @@ -338,8 +338,10 @@ unusedAtTheEnd151Gauge = unusedAtTheEnd151,"unusedAtTheEnd151", "", 0.0,0.0, 0.0 unusedAtTheEnd152Gauge = unusedAtTheEnd152,"unusedAtTheEnd152", "", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 unusedAtTheEnd153Gauge = unusedAtTheEnd153,"unusedAtTheEnd153", "", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 unusedAtTheEnd154Gauge = unusedAtTheEnd154,"unusedAtTheEnd154", "", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 -unusedAtTheEnd155Gauge = unusedAtTheEnd155,"unusedAtTheEnd155", "", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 -unusedAtTheEnd156Gauge = unusedAtTheEnd156,"unusedAtTheEnd156", "", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 +TEMPLOG_MAP_AT_CYCLE_COUNTGauge = TEMPLOG_MAP_AT_CYCLE_COUNT,"TEMPLOG_MAP_AT_CYCLE_COUNT", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 +unused11Gauge = unused11,"unused11", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 +unused11Gauge = unused11,"unused11", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 +unused11Gauge = unused11,"unused11", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 TEMPLOG_MAP_AT_SPECIAL_POINTGauge = TEMPLOG_MAP_AT_SPECIAL_POINT,"TEMPLOG_MAP_AT_SPECIAL_POINT", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 TEMPLOG_MAP_AT_DIFFGauge = TEMPLOG_MAP_AT_DIFF,"TEMPLOG_MAP_AT_DIFF", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 vvtSyncGapRatioGauge = vvtSyncGapRatio,"vvtSyncGapRatio", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 diff --git a/firmware/console/binary/generated/output_channels.ini b/firmware/console/binary/generated/output_channels.ini index 9c959bb7a4..76753d7032 100644 --- a/firmware/console/binary/generated/output_channels.ini +++ b/firmware/console/binary/generated/output_channels.ini @@ -338,8 +338,10 @@ unusedAtTheEnd151 = scalar, U08, 470, "", 1, 0 unusedAtTheEnd152 = scalar, U08, 471, "", 1, 0 unusedAtTheEnd153 = scalar, U08, 472, "", 1, 0 unusedAtTheEnd154 = scalar, U08, 473, "", 1, 0 -unusedAtTheEnd155 = scalar, U08, 474, "", 1, 0 -unusedAtTheEnd156 = scalar, U08, 475, "", 1, 0 +TEMPLOG_MAP_AT_CYCLE_COUNT = scalar, U08, 474, "", 1, 0 +unused11 = scalar, U08, 475, "", 1, 0 +unused11 = scalar, U08, 475, "", 1, 0 +unused11 = scalar, U08, 475, "", 1, 0 TEMPLOG_MAP_AT_SPECIAL_POINT = scalar, F32, 476, "", 1, 0 TEMPLOG_MAP_AT_DIFF = scalar, F32, 480, "", 1, 0 vvtSyncGapRatio = scalar, F32, 484, "", 1, 0 diff --git a/firmware/console/binary/output_channels.txt b/firmware/console/binary/output_channels.txt index afd0f563b7..7f3c34409a 100644 --- a/firmware/console/binary/output_channels.txt +++ b/firmware/console/binary/output_channels.txt @@ -253,7 +253,12 @@ uint16_t rpmAcceleration;dRPM;"RPM/s",1, 0, 0, 0, 0 ! we have some unused bytes to allow compatible TS changes - uint8_t[156 iterate] unusedAtTheEnd;;"",1, 0, 0, 0, 0 + uint8_t[154 iterate] unusedAtTheEnd;;"",1, 0, 0, 0, 0 + + uint8_t TEMPLOG_MAP_AT_CYCLE_COUNT;;"", 1, 0, -10000, 10000, 3 + uint8_t unused11;;"", 1, 0, -10000, 10000, 3 + uint8_t unused11;;"", 1, 0, -10000, 10000, 3 + uint8_t unused11;;"", 1, 0, -10000, 10000, 3 float autoscale TEMPLOG_MAP_AT_SPECIAL_POINT;;"", 1, 0, -10000, 10000, 3 float autoscale TEMPLOG_MAP_AT_DIFF;;"", 1, 0, -10000, 10000, 3 diff --git a/firmware/console/binary/ts_outputs_generated.h b/firmware/console/binary/ts_outputs_generated.h index 978ce0b168..55226a99df 100644 --- a/firmware/console/binary/ts_outputs_generated.h +++ b/firmware/console/binary/ts_outputs_generated.h @@ -1,4 +1,4 @@ -// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) console/binary/output_channels.txt Tue Dec 07 20:09:12 UTC 2021 +// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) console/binary/output_channels.txt Thu Dec 09 22:06:13 EST 2021 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -824,7 +824,15 @@ struct ts_outputs_s { /** * offset 320 */ - uint8_t unusedAtTheEnd[156]; + uint8_t unusedAtTheEnd[154]; + /** + * offset 474 + */ + uint8_t TEMPLOG_MAP_AT_CYCLE_COUNT = (uint8_t)0; + /** + * offset 475 + */ + uint8_t unused11 = (uint8_t)0; /** * offset 476 */ @@ -1006,4 +1014,4 @@ struct ts_outputs_s { }; // end -// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) console/binary/output_channels.txt Tue Dec 07 20:09:12 UTC 2021 +// this section was generated automatically by rusEFI tool ConfigDefinition.jar based on (unknown script) console/binary/output_channels.txt Thu Dec 09 22:06:13 EST 2021 diff --git a/firmware/controllers/trigger/trigger_central.cpp b/firmware/controllers/trigger/trigger_central.cpp index 6965e7a9a3..43cd35e038 100644 --- a/firmware/controllers/trigger/trigger_central.cpp +++ b/firmware/controllers/trigger/trigger_central.cpp @@ -683,6 +683,9 @@ void TriggerCentral::handleShaftSignal(trigger_event_e signal, efitick_t timesta if (map > mapCamPrevCycleValue) { #if WITH_TS_STATE engine->outputChannels.TEMPLOG_map_peak++; + int revolutionCounter = engine->triggerCentral.triggerState.getTotalRevolutionCounter(); + engine->outputChannels.TEMPLOG_MAP_AT_CYCLE_COUNT = revolutionCounter - prevChangeAtCycle; + prevChangeAtCycle = revolutionCounter; #endif // WITH_TS_STATE efitick_t stamp = getTimeNowNt(); diff --git a/firmware/controllers/trigger/trigger_central.h b/firmware/controllers/trigger/trigger_central.h index 8f4c693bb0..102c40b354 100644 --- a/firmware/controllers/trigger/trigger_central.h +++ b/firmware/controllers/trigger/trigger_central.h @@ -80,6 +80,7 @@ public: angle_t mapCamPrevToothAngle = -1; float mapCamPrevCycleValue = 0; + int prevChangeAtCycle = 0; /** * true if a recent configuration change has changed any of the trigger settings which diff --git a/firmware/tunerstudio/rusefi.input b/firmware/tunerstudio/rusefi.input index d0e4290c0a..754eecd1b6 100644 --- a/firmware/tunerstudio/rusefi.input +++ b/firmware/tunerstudio/rusefi.input @@ -822,6 +822,7 @@ TEMPLOG_MAP_INSTANT_AVERAGEGauge = TEMPLOG_MAP_INSTANT_AVERAGE,"TEMPLOG_MAP_INST TEMPLOG_map_peakGauge = TEMPLOG_map_peak,"TEMPLOG_map_peak", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 TEMPLOG_MAP_AT_SPECIAL_POINTGauge = TEMPLOG_MAP_AT_SPECIAL_POINT,"TEMPLOG_MAP_AT_SPECIAL_POINT", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 TEMPLOG_MAP_AT_DIFFGauge = TEMPLOG_MAP_AT_DIFF,"TEMPLOG_MAP_AT_DIFF", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 +TEMPLOG_MAP_AT_CYCLE_COUNTGauge = TEMPLOG_MAP_AT_CYCLE_COUNT,"TEMPLOG_MAP_AT_CYCLE_COUNT", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 gaugeCategory = Sensors - Extra 2