diff --git a/firmware/config/engines/GY6_139QMB.cpp b/firmware/config/engines/GY6_139QMB.cpp index 13a67838bc..574763016d 100644 --- a/firmware/config/engines/GY6_139QMB.cpp +++ b/firmware/config/engines/GY6_139QMB.cpp @@ -16,7 +16,7 @@ void setGy6139qmbDefaultEngineConfiguration(engine_configuration_s *engineConfig engineConfiguration->analogInputDividerCoefficient = 1.52; engineConfiguration->algorithm = LM_MAP; engineConfiguration->globalTriggerAngleOffset = 15; - engineConfiguration->analogChartMode = AC_MAP; + engineConfiguration->bc.analogChartMode = AC_MAP; engineConfiguration->cylindersCount = 1; setOperationMode(engineConfiguration, FOUR_STROKE_CRANK_SENSOR); diff --git a/firmware/config/engines/dodge_neon.cpp b/firmware/config/engines/dodge_neon.cpp index 482ca50640..c9936cf2c4 100644 --- a/firmware/config/engines/dodge_neon.cpp +++ b/firmware/config/engines/dodge_neon.cpp @@ -341,7 +341,7 @@ void setDodgeNeonNGCEngineConfiguration(engine_configuration_s *engineConfigurat engineConfiguration->cltAdcChannel = EFI_ADC_12; - engineConfiguration->analogChartMode = AC_MAP; + boardConfiguration->analogChartMode = AC_MAP; boardConfiguration->isFastAdcEnabled = true; engineConfiguration->map.sensor.sensorType = MT_DODGE_NEON_2003; diff --git a/firmware/controllers/algo/engine_configuration.cpp b/firmware/controllers/algo/engine_configuration.cpp index 11f6754ba2..a405fcd9cc 100644 --- a/firmware/controllers/algo/engine_configuration.cpp +++ b/firmware/controllers/algo/engine_configuration.cpp @@ -243,7 +243,7 @@ void setDefaultConfiguration(engine_configuration_s *engineConfiguration, board_ engineConfiguration->fixedModeTiming = 50; // performance optimization - engineConfiguration->analogChartMode = AC_OFF; + boardConfiguration->analogChartMode = AC_OFF; engineConfiguration->map.sensor.hwChannel = EFI_ADC_4; engineConfiguration->baroSensor.hwChannel = EFI_ADC_4; diff --git a/firmware/controllers/algo/engine_configuration.h b/firmware/controllers/algo/engine_configuration.h index 9e13104e1f..95611ec32c 100644 --- a/firmware/controllers/algo/engine_configuration.h +++ b/firmware/controllers/algo/engine_configuration.h @@ -272,7 +272,9 @@ typedef struct { brain_pin_e joystickCPin; // offset 6248 brain_pin_e joystickDPin; - int unusedbs[7]; + // offset 6252 + uint32_t analogChartMode; + int unusedbs[6]; le_formula_t le_formulas[LE_COMMAND_COUNT]; @@ -349,7 +351,7 @@ typedef struct { /** * offset 334 */ - uint16_t analogChartMode; + uint16_t unused334; /** * todo: finish implementation. These values are used for TPS disconnect detection diff --git a/firmware/controllers/map_averaging.cpp b/firmware/controllers/map_averaging.cpp index 1c52187b44..c07ebdb59b 100644 --- a/firmware/controllers/map_averaging.cpp +++ b/firmware/controllers/map_averaging.cpp @@ -96,7 +96,7 @@ void mapAveragingCallback(adcsample_t value) { float currentPressure = getMapByVoltage(voltage); #if EFI_ANALOG_CHART - if (engineConfiguration->analogChartMode == AC_MAP) + if (boardConfiguration->analogChartMode == AC_MAP) if (perRevolutionCounter % FAST_MAP_CHART_SKIP_FACTOR == 0) acAddData(getCrankshaftAngleNt(getTimeNowNt() PASS_ENGINE_PARAMETER), currentPressure); #endif /* EFI_ANALOG_CHART */ diff --git a/firmware/controllers/settings.cpp b/firmware/controllers/settings.cpp index 7f3da95f24..6669369635 100644 --- a/firmware/controllers/settings.cpp +++ b/firmware/controllers/settings.cpp @@ -325,7 +325,7 @@ static void setMalfunctionIndicatorPinMode(int value) { } static void setAnalogChartMode(int value) { - engineConfiguration->analogChartMode = (analog_chart_e)value; + boardConfiguration->analogChartMode = (analog_chart_e)value; doPrintConfiguration(engine); } diff --git a/firmware/controllers/trigger/rpm_calculator.cpp b/firmware/controllers/trigger/rpm_calculator.cpp index 691457cf18..e03dd96a15 100644 --- a/firmware/controllers/trigger/rpm_calculator.cpp +++ b/firmware/controllers/trigger/rpm_calculator.cpp @@ -143,7 +143,7 @@ void rpmShaftPositionCallback(trigger_event_e ckpSignalType, uint32_t index DECL if (index != 0) { #if EFI_ANALOG_CHART || defined(__DOXYGEN__) - if (engineConfiguration->analogChartMode == AC_TRIGGER) + if (boardConfiguration->analogChartMode == AC_TRIGGER) acAddData(getCrankshaftAngleNt(nowNt PASS_ENGINE_PARAMETER), 1000 * ckpSignalType + index); #endif return; @@ -171,7 +171,7 @@ void rpmShaftPositionCallback(trigger_event_e ckpSignalType, uint32_t index DECL rpmState->onNewEngineCycle(); rpmState->lastRpmEventTimeNt = nowNt; #if EFI_ANALOG_CHART || defined(__DOXYGEN__) - if (engineConfiguration->analogChartMode == AC_TRIGGER) + if (boardConfiguration->analogChartMode == AC_TRIGGER) acAddData(getCrankshaftAngleNt(nowNt PASS_ENGINE_PARAMETER), index); #endif } diff --git a/firmware/tunerstudio/rusefi.ini b/firmware/tunerstudio/rusefi.ini index 27fa91aeaa..63e3eda9ad 100644 --- a/firmware/tunerstudio/rusefi.ini +++ b/firmware/tunerstudio/rusefi.ini @@ -52,7 +52,6 @@ enable2ndByteCanID = false tpsMin = scalar, S16, 330, "ADC", 1, 0, 0, 1023, 0 ; * ( 2 bytes) tpsMax = scalar, S16, 332, "ADC", 1, 0, 0, 1023, 0 ; * ( 2 bytes) - analogChartMode = bits, S16, 334, [0:1], "none", "trigger", "MAP", "INVALID" tpsErrorLowValue = scalar, U16, 336, "°C", 1, 0, -40, 200, 1; size 4 tpsErrorHighValue = scalar, U16, 338, "°C", 1, 0, -40, 200, 1; size 4 @@ -352,6 +351,11 @@ enable2ndByteCanID = false fsio_setting14 = scalar, F32, 6184, "Val", 1, 0, 0, 18000, 0 ; size 4 fsio_setting15 = scalar, F32, 6188, "Val", 1, 0, 0, 18000, 0 ; size 4 +; hip9011Gain 6228 +; joystickDPin 6248 + + analogChartMode = bits, S32, 6252, [0:1], "none", "trigger", "MAP", "INVALID" + useConstantDwellDuringCranking= bits, U32, 6280, [3:3], "false", "true" isCanEnabled = bits, U32, 6280, [5:5], "false", "true" hasCltSensor = bits, U32, 6280, [6:6], "false", "true"