From ebb8ede1da035178d1d5217e14553af176659454 Mon Sep 17 00:00:00 2001 From: Matthew Kennedy Date: Mon, 23 Nov 2020 06:43:16 -0800 Subject: [PATCH 01/52] squash warnings (#1984) * warnings * unused * a few more * too much * uint16_t-ify --- firmware/console/console_io.cpp | 2 -- firmware/console/status_loop.cpp | 9 ----- .../controllers/engine_controller_misc.cpp | 3 ++ .../controllers/gauges/lcd_controller.cpp | 2 +- .../sensors/function_pointer_sensor.h | 2 +- .../sensors/sensor_info_printing.cpp | 2 +- .../controllers/sensors/software_knock.cpp | 5 +-- firmware/controllers/simple_tcu.cpp | 4 +-- firmware/hw_layer/hardware.cpp | 3 ++ firmware/hw_layer/lcd/lcd_HD44780.cpp | 2 +- firmware/hw_layer/mc33816.cpp | 34 ++++++------------- 11 files changed, 26 insertions(+), 42 deletions(-) diff --git a/firmware/console/console_io.cpp b/firmware/console/console_io.cpp index 7ae394992a..f51dedb046 100644 --- a/firmware/console/console_io.cpp +++ b/firmware/console/console_io.cpp @@ -63,8 +63,6 @@ extern SERIAL_USB_DRIVER EFI_CONSOLE_USB_DEVICE; static bool isSerialConsoleStarted = false; -static event_listener_t consoleEventListener; - bool consoleByteArrived = false; void onDataArrived(void) { diff --git a/firmware/console/status_loop.cpp b/firmware/console/status_loop.cpp index 76ee2f0f31..a5e9e6a67f 100644 --- a/firmware/console/status_loop.cpp +++ b/firmware/console/status_loop.cpp @@ -279,11 +279,6 @@ void updateDevConsoleState(void) { */ static void showFuelInfo2(float rpm, float engineLoad) { - - float baseFuelMs = 0; // TODO - - float magicAir = SpeedDensityBase::getAirmassImpl(1, 100, convertCelsiusToKelvin(20) PASS_ENGINE_PARAMETER_SUFFIX); - scheduleMsg(&logger, "inj flow %.2fcc/min displacement %.2fL", engineConfiguration->injector.flow, engineConfiguration->specs.displacement); @@ -303,13 +298,9 @@ static void showFuelInfo2(float rpm, float engineLoad) { float cltCorrection = engine->engineState.running.coolantTemperatureCoefficient; floatms_t injectorLag = engine->engineState.running.injectorLag; scheduleMsg(&logger2, "rpm=%.2f engineLoad=%.2f", rpm, engineLoad); - scheduleMsg(&logger2, "baseFuel=%.2f", baseFuelMs); scheduleMsg(&logger2, "iatCorrection=%.2f cltCorrection=%.2f injectorLag=%.2f", iatCorrection, cltCorrection, injectorLag); - - float value = getRunningFuel(baseFuelMs PASS_ENGINE_PARAMETER_SUFFIX); - scheduleMsg(&logger2, "injection pulse width: %.2f", value); } #endif } diff --git a/firmware/controllers/engine_controller_misc.cpp b/firmware/controllers/engine_controller_misc.cpp index e0959a3001..6a5d78d646 100644 --- a/firmware/controllers/engine_controller_misc.cpp +++ b/firmware/controllers/engine_controller_misc.cpp @@ -78,6 +78,9 @@ void setMockVBattVoltage(float voltage DECLARE_ENGINE_PARAMETER_SUFFIX) { void setMockState(brain_pin_e pin, bool state) { #if EFI_UNIT_TEST mockPinStates[static_cast(pin)] = state; +#else + UNUSED(pin); + UNUSED(state); #endif } diff --git a/firmware/controllers/gauges/lcd_controller.cpp b/firmware/controllers/gauges/lcd_controller.cpp index 1397ea349d..907dd51c5e 100644 --- a/firmware/controllers/gauges/lcd_controller.cpp +++ b/firmware/controllers/gauges/lcd_controller.cpp @@ -142,7 +142,7 @@ static void lcdPrintf(const char *fmt, ...) { lcd_HD44780_print_string(lcdLineBuffer); } -static void showLine(lcd_line_e line, int screenY) { +static void showLine(lcd_line_e line, int /*screenY*/) { static char buffer[_MAX_FILLER + 2]; switch (line) { diff --git a/firmware/controllers/sensors/function_pointer_sensor.h b/firmware/controllers/sensors/function_pointer_sensor.h index 98243f1773..a79f032762 100644 --- a/firmware/controllers/sensors/function_pointer_sensor.h +++ b/firmware/controllers/sensors/function_pointer_sensor.h @@ -33,7 +33,7 @@ public: return result; } - void showInfo(Logging* logger, const char* sensorName) const override {} + void showInfo(Logging* /*logger*/, const char* /*sensorName*/) const override {} private: float (*m_func)(); diff --git a/firmware/controllers/sensors/sensor_info_printing.cpp b/firmware/controllers/sensors/sensor_info_printing.cpp index d8c55052e1..24e9798022 100644 --- a/firmware/controllers/sensors/sensor_info_printing.cpp +++ b/firmware/controllers/sensors/sensor_info_printing.cpp @@ -36,7 +36,7 @@ void RedundantSensor::showInfo(Logging* logger, const char* sensorName) const { scheduleMsg(logger, "Sensor \"%s\" is redundant combining \"%s\" and \"%s\"", sensorName, getSensorName(m_first), getSensorName(m_second)); } -void RpmCalculator::showInfo(Logging* logger, const char* sensorName) const { +void RpmCalculator::showInfo(Logging* logger, const char* /*sensorName*/) const { scheduleMsg(logger, "RPM sensor: stopped: %d spinning up: %d cranking: %d running: %d rpm: %f", isStopped(), isSpinningUp(), diff --git a/firmware/controllers/sensors/software_knock.cpp b/firmware/controllers/sensors/software_knock.cpp index 07c46c4d18..10d444c393 100644 --- a/firmware/controllers/sensors/software_knock.cpp +++ b/firmware/controllers/sensors/software_knock.cpp @@ -35,7 +35,7 @@ static void completionCallback(ADCDriver* adcp, adcsample_t*, size_t) { } } -static void errorCallback(ADCDriver*, adcerror_t err) { +static void errorCallback(ADCDriver*, adcerror_t) { } static const uint32_t smpr1 = @@ -91,7 +91,6 @@ static const ADCConversionGroup adcConvGroupCh2 = { FALSE, 1, &completionCallbac 0, // sqr2 ADC_SQR3_SQ1_N(KNOCK_ADC_CH2) }; -#endif // KNOCK_HAS_CH2 static bool cylinderUsesChannel2(uint8_t cylinderIndex) { // C/C++ can't index in to bit fields, we have to provide lookup ourselves @@ -112,6 +111,8 @@ static bool cylinderUsesChannel2(uint8_t cylinderIndex) { } } +#endif // KNOCK_HAS_CH2 + const ADCConversionGroup* getConversionGroup(uint8_t cylinderIndex) { #if KNOCK_HAS_CH2 if (cylinderUsesChannel2(cylinderIndex)) { diff --git a/firmware/controllers/simple_tcu.cpp b/firmware/controllers/simple_tcu.cpp index 8e0fa4b49d..10abce4854 100644 --- a/firmware/controllers/simple_tcu.cpp +++ b/firmware/controllers/simple_tcu.cpp @@ -7,13 +7,13 @@ EXTERN_CONFIG; OutputPin tcuSolenoids[TCU_SOLENOID_COUNT]; void SimpleTransmissionController::init() { - for (int i = 0; i < efi::size(CONFIG(tcu_solenoid)); i++) { + for (size_t i = 0; i < efi::size(CONFIG(tcu_solenoid)); i++) { tcuSolenoids[i].initPin("Transmission Solenoid", CONFIG(tcu_solenoid)[i], &CONFIG(tcu_solenoid_mode)[i]); } } void SimpleTransmissionController::update(gear_e gear) { - for (int i = 0; i < efi::size(CONFIG(tcu_solenoid)); i++) { + for (size_t i = 0; i < efi::size(CONFIG(tcu_solenoid)); i++) { #ifndef EFI_UNIT_TEST tcuSolenoids[i].setValue(config->tcuSolenoidTable[static_cast(gear) + 1][i]); #endif diff --git a/firmware/hw_layer/hardware.cpp b/firmware/hw_layer/hardware.cpp index a10e39958d..7695dd826d 100644 --- a/firmware/hw_layer/hardware.cpp +++ b/firmware/hw_layer/hardware.cpp @@ -148,7 +148,10 @@ static Logging *sharedLogger; static int fastMapSampleIndex; static int hipSampleIndex; static int tpsSampleIndex; + +#if HAL_TRIGGER_USE_ADC static int triggerSampleIndex; +#endif #if HAL_USE_ADC extern AdcDevice fastAdc; diff --git a/firmware/hw_layer/lcd/lcd_HD44780.cpp b/firmware/hw_layer/lcd/lcd_HD44780.cpp index 70e369cabe..1f10a36155 100644 --- a/firmware/hw_layer/lcd/lcd_HD44780.cpp +++ b/firmware/hw_layer/lcd/lcd_HD44780.cpp @@ -47,7 +47,7 @@ enum { // LCD_2X16_BUSY_FLAG = 0x80, // LCD_2X16_COMMAND = 0x01, // LCD_2X16_DATA = 0x00, -} lcd_HD44780_command; +} /*lcd_HD44780_command*/; // http://web.alfredstate.edu/weimandn/lcd/lcd_addressing/lcd_addressing_index.html static const int lineStart[] = { 0, 0x40, 0x14, 0x54 }; diff --git a/firmware/hw_layer/mc33816.cpp b/firmware/hw_layer/mc33816.cpp index 59be8f8c91..6e04ce02bf 100644 --- a/firmware/hw_layer/mc33816.cpp +++ b/firmware/hw_layer/mc33816.cpp @@ -277,14 +277,12 @@ static void enable_flash() { } static void download_RAM(int target) { - unsigned short memory_area = 0; // memory area - unsigned short start_address = 0; // start address - unsigned short codeWidthRegAddr = 0; // code width register address - unsigned short size = 0; // size of RAM data - unsigned short command = 0; // command data - unsigned short data = 0; // RAM data - unsigned int k = 0; // used in loop for writing RAM data to the chip - const unsigned short *RAM_ptr; // pointer to array of data to be sent to the chip + uint16_t memory_area = 0; // memory area + uint16_t start_address = 0; // start address + uint16_t codeWidthRegAddr = 0; // code width register address + uint16_t size = 0; // size of RAM data + uint16_t command = 0; // command data + const uint16_t *RAM_ptr; // pointer to array of data to be sent to the chip //Why Again? For Every time, just in case? @@ -341,26 +339,16 @@ static void download_RAM(int target) { command = start_address << 5; spi_writew(command); // sends start address command - /* - for(k = 0; k < size; k++) // downloads RAM - { - data = *RAM_ptr; // retrieves data to be sent - spi_writew(data); // sends data - RAM_ptr++; - } - */ spiSend(driver, size, RAM_ptr); spiUnselect(driver); } static void download_register(int r_target) { - unsigned short r_start_address = 0; // start address - unsigned short r_size = 0; // size of configuration data - unsigned short r_command = 0; // command data - unsigned short r_data = 0; // configuration data - int n = 0; // used for loop for writing data to the chip - unsigned short remainder_size = 0; // remainder size - const unsigned short *reg_ptr; // pointer to array of data to be sent to the chip + uint16_t r_start_address = 0; // start address + uint16_t r_size = 0; // size of configuration data + uint16_t r_command = 0; // command data + uint16_t remainder_size = 0; // remainder size + const uint16_t *reg_ptr; // pointer to array of data to be sent to the chip switch(r_target) // selects target { From 5eb921f3117381bfdf9bb17bd3234178297517c8 Mon Sep 17 00:00:00 2001 From: GitHub set-date Action Date: Tue, 24 Nov 2020 00:40:20 +0000 Subject: [PATCH 02/52] Update date --- firmware/controllers/date_stamp.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/firmware/controllers/date_stamp.h b/firmware/controllers/date_stamp.h index f104ebf32f..a0486a4d99 100644 --- a/firmware/controllers/date_stamp.h +++ b/firmware/controllers/date_stamp.h @@ -1,2 +1,2 @@ #pragma once -#define VCS_DATE 20201123 +#define VCS_DATE 20201124 From be71d06dfcc5ff4fb8e3db61b9808afbc3fe552b Mon Sep 17 00:00:00 2001 From: Matthew Kennedy Date: Mon, 23 Nov 2020 17:10:17 -0800 Subject: [PATCH 03/52] remove (#1985) --- firmware/controllers/engine_cycle/main_trigger_callback.cpp | 2 +- firmware/controllers/engine_cycle/spark_logic.cpp | 4 ++-- firmware/controllers/trigger/trigger_central.cpp | 2 +- firmware/global.h | 3 --- simulator/simulator/global.h | 2 -- unit_tests/global.h | 2 -- 6 files changed, 4 insertions(+), 11 deletions(-) diff --git a/firmware/controllers/engine_cycle/main_trigger_callback.cpp b/firmware/controllers/engine_cycle/main_trigger_callback.cpp index 5633d1df0c..b3b7600b8e 100644 --- a/firmware/controllers/engine_cycle/main_trigger_callback.cpp +++ b/firmware/controllers/engine_cycle/main_trigger_callback.cpp @@ -314,7 +314,7 @@ void InjectionEvent::onTriggerTooth(size_t trgEventIndex, int rpm, efitick_t now #endif /* EFI_DEFAILED_LOGGING */ } -static ALWAYS_INLINE void handleFuel(const bool limitedFuel, uint32_t trgEventIndex, int rpm, efitick_t nowNt DECLARE_ENGINE_PARAMETER_SUFFIX) { +static void handleFuel(const bool limitedFuel, uint32_t trgEventIndex, int rpm, efitick_t nowNt DECLARE_ENGINE_PARAMETER_SUFFIX) { ScopePerf perf(PE::HandleFuel); efiAssertVoid(CUSTOM_STACK_6627, getCurrentRemainingStack() > 128, "lowstck#3"); diff --git a/firmware/controllers/engine_cycle/spark_logic.cpp b/firmware/controllers/engine_cycle/spark_logic.cpp index bd4d7e0eb1..1d7ae86887 100644 --- a/firmware/controllers/engine_cycle/spark_logic.cpp +++ b/firmware/controllers/engine_cycle/spark_logic.cpp @@ -319,7 +319,7 @@ bool scheduleOrQueue(AngleBasedEvent *event, } } -static ALWAYS_INLINE void handleSparkEvent(bool limitedSpark, uint32_t trgEventIndex, IgnitionEvent *event, +static void handleSparkEvent(bool limitedSpark, uint32_t trgEventIndex, IgnitionEvent *event, int rpm, efitick_t edgeTimestamp DECLARE_ENGINE_PARAMETER_SUFFIX) { angle_t sparkAngle = event->sparkAngle; @@ -421,7 +421,7 @@ void initializeIgnitionActions(DECLARE_ENGINE_PARAMETER_SIGNATURE) { list->isReady = true; } -static ALWAYS_INLINE void prepareIgnitionSchedule(DECLARE_ENGINE_PARAMETER_SIGNATURE) { +static void prepareIgnitionSchedule(DECLARE_ENGINE_PARAMETER_SIGNATURE) { ScopePerf perf(PE::PrepareIgnitionSchedule); /** diff --git a/firmware/controllers/trigger/trigger_central.cpp b/firmware/controllers/trigger/trigger_central.cpp index 8a0a133df9..6b95b789e0 100644 --- a/firmware/controllers/trigger/trigger_central.cpp +++ b/firmware/controllers/trigger/trigger_central.cpp @@ -320,7 +320,7 @@ static char shaft_signal_msg_index[15]; static const bool isUpEvent[6] = { false, true, false, true, false, true }; static const char *eventId[6] = { PROTOCOL_CRANK1, PROTOCOL_CRANK1, PROTOCOL_CRANK2, PROTOCOL_CRANK2, PROTOCOL_CRANK3, PROTOCOL_CRANK3 }; -static ALWAYS_INLINE void reportEventToWaveChart(trigger_event_e ckpSignalType, int index DECLARE_ENGINE_PARAMETER_SUFFIX) { +static void reportEventToWaveChart(trigger_event_e ckpSignalType, int index DECLARE_ENGINE_PARAMETER_SUFFIX) { if (!ENGINE(isEngineChartEnabled)) { // this is here just as a shortcut so that we avoid engine sniffer as soon as possible return; // engineSnifferRpmThreshold is accounted for inside ENGINE(isEngineChartEnabled) } diff --git a/firmware/global.h b/firmware/global.h index 3733206794..79922befbe 100644 --- a/firmware/global.h +++ b/firmware/global.h @@ -27,12 +27,9 @@ #if defined __GNUC__ // GCC #include -#define ALWAYS_INLINE __attribute__((always_inline)) inline #else // IAR typedef unsigned int time_t; -// todo: what's the IAR option? -#define ALWAYS_INLINE INLINE #endif #ifdef __cplusplus diff --git a/simulator/simulator/global.h b/simulator/simulator/global.h index 0c1233021a..2f10859135 100644 --- a/simulator/simulator/global.h +++ b/simulator/simulator/global.h @@ -30,8 +30,6 @@ #define US_TO_NT_MULTIPLIER 100 -#define ALWAYS_INLINE - #define US2NT(x) (US_TO_NT_MULTIPLIER * (x)) #define NT2US(x) ((x) / US_TO_NT_MULTIPLIER) diff --git a/unit_tests/global.h b/unit_tests/global.h index 26d435de76..9348797780 100644 --- a/unit_tests/global.h +++ b/unit_tests/global.h @@ -58,8 +58,6 @@ void print(const char *fmt, ...); #define VCS_VERSION "321" #define RUS_EFI_VERSION_TAG "rusEfiVersion" -#define ALWAYS_INLINE INLINE - #define US2NT(x) (US_TO_NT_MULTIPLIER * (x)) #define NT2US(x) ((x) / US_TO_NT_MULTIPLIER) From 315bfe6531c095550dab19e8998d992968edf31b Mon Sep 17 00:00:00 2001 From: rusefillc Date: Mon, 23 Nov 2020 23:33:46 -0500 Subject: [PATCH 04/52] avoid float -> int64 conversion #1977 cherry picking... --- firmware/global.h | 10 ---------- firmware/util/efitime.h | 9 +++++++++ simulator/simulator/global.h | 4 ---- unit_tests/global.h | 4 ---- 4 files changed, 9 insertions(+), 18 deletions(-) diff --git a/firmware/global.h b/firmware/global.h index 79922befbe..f372d56f4d 100644 --- a/firmware/global.h +++ b/firmware/global.h @@ -96,14 +96,4 @@ typedef unsigned int time_t; #define CCM_OPTIONAL #endif /* EFI_USE_CCM */ -/** - * converts efitimeus_t to efitick_t - */ -#define US2NT(us) (((efitime_t)(us))*US_TO_NT_MULTIPLIER) - -/** - * converts efitick_t to efitimeus_t - */ -#define NT2US(nt) ((nt) / US_TO_NT_MULTIPLIER) - #define UNIT_TEST_BUSY_WAIT_CALLBACK() {} diff --git a/firmware/util/efitime.h b/firmware/util/efitime.h index 38d260ead9..824968545c 100644 --- a/firmware/util/efitime.h +++ b/firmware/util/efitime.h @@ -19,8 +19,17 @@ #define MS2US(MS_TIME) ((MS_TIME) * 1000) +// microseconds to ticks + +#define US2NT(us) (((efitime_t)(us)) * US_TO_NT_MULTIPLIER) +#define USF2NT(us_float) ((us_float) * US_TO_NT_MULTIPLIER) + +// And back +#define NT2US(x) ((x) / US_TO_NT_MULTIPLIER) + // milliseconds to ticks #define MS2NT(msTime) US2NT(MS2US(msTime)) +#define MSF2NT(msTimeFloat) USF2NT(MS2US(msTimeFloat)) /** * We use this 'deep in past, before ECU has ever started' value as a way to unify diff --git a/simulator/simulator/global.h b/simulator/simulator/global.h index 2f10859135..6824e0508d 100644 --- a/simulator/simulator/global.h +++ b/simulator/simulator/global.h @@ -30,10 +30,6 @@ #define US_TO_NT_MULTIPLIER 100 -#define US2NT(x) (US_TO_NT_MULTIPLIER * (x)) - -#define NT2US(x) ((x) / US_TO_NT_MULTIPLIER) - // need to fight 32bit int overflow #define MY_US2ST(x) ((x) / 10) diff --git a/unit_tests/global.h b/unit_tests/global.h index 9348797780..7dca6bafec 100644 --- a/unit_tests/global.h +++ b/unit_tests/global.h @@ -58,10 +58,6 @@ void print(const char *fmt, ...); #define VCS_VERSION "321" #define RUS_EFI_VERSION_TAG "rusEfiVersion" -#define US2NT(x) (US_TO_NT_MULTIPLIER * (x)) - -#define NT2US(x) ((x) / US_TO_NT_MULTIPLIER) - #define INLINE inline #define EFI_ERROR_CODE 0xffffffff From b939feea2b58d7e930d37da28a0fa14f141a5133 Mon Sep 17 00:00:00 2001 From: rusefillc Date: Mon, 23 Nov 2020 23:53:25 -0500 Subject: [PATCH 05/52] avoid float -> int64 conversion #1977 cherry picking... --- firmware/controllers/engine_cycle/main_trigger_callback.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/firmware/controllers/engine_cycle/main_trigger_callback.cpp b/firmware/controllers/engine_cycle/main_trigger_callback.cpp index b3b7600b8e..9a7cc8d48c 100644 --- a/firmware/controllers/engine_cycle/main_trigger_callback.cpp +++ b/firmware/controllers/engine_cycle/main_trigger_callback.cpp @@ -508,7 +508,7 @@ void startPrimeInjectionPulse(DECLARE_ENGINE_PARAMETER_SIGNATURE) { CONFIG(primeInjFalloffTemperature), 0.0f, Sensor::get(SensorType::Clt).value_or(70)); if (pulseLength > 0) { startSimultaniousInjection(engine); - efitimeus_t turnOffDelayUs = (efitimeus_t)efiRound(MS2US(pulseLength), 1.0f); + int turnOffDelayUs = efiRound(MS2US(pulseLength), 1.0f); engine->executor.scheduleForLater(sDown, turnOffDelayUs, { &endSimultaniousInjectionOnlyTogglePins, engine }); } } From 56044d4dd0a3c4659f8492c2682a67a2fe30b420 Mon Sep 17 00:00:00 2001 From: rusefillc Date: Tue, 24 Nov 2020 00:06:12 -0500 Subject: [PATCH 06/52] avoid float -> int64 conversion #1977 cherry picking... --- firmware/controllers/engine_cycle/spark_logic.cpp | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/firmware/controllers/engine_cycle/spark_logic.cpp b/firmware/controllers/engine_cycle/spark_logic.cpp index 1d7ae86887..ce4795b85b 100644 --- a/firmware/controllers/engine_cycle/spark_logic.cpp +++ b/firmware/controllers/engine_cycle/spark_logic.cpp @@ -333,14 +333,13 @@ static void handleSparkEvent(bool limitedSpark, uint32_t trgEventIndex, Ignition return; } - floatus_t chargeDelayUs = ENGINE(rpmCalculator.oneDegreeUs) * event->dwellPosition.angleOffsetFromTriggerEvent; - int isIgnitionError = chargeDelayUs < 0; + float angleOffset = event->dwellPosition.angleOffsetFromTriggerEvent; + int isIgnitionError = angleOffset < 0; ignitionErrorDetection.add(isIgnitionError); if (isIgnitionError) { #if EFI_PROD_CODE - scheduleMsg(logger, "Negative spark delay=%.2f", chargeDelayUs); + scheduleMsg(logger, "Negative spark delay=%.1f deg", angleOffset); #endif /* EFI_PROD_CODE */ - chargeDelayUs = 0; return; } @@ -351,7 +350,7 @@ static void handleSparkEvent(bool limitedSpark, uint32_t trgEventIndex, Ignition */ if (!limitedSpark) { #if SPARK_EXTREME_LOGGING - scheduleMsg(logger, "scheduling sparkUp ind=%d %d %s now=%d %d later id=%d", trgEventIndex, getRevolutionCounter(), event->getOutputForLoggins()->name, (int)getTimeNowUs(), (int)chargeDelayUs, + scheduleMsg(logger, "scheduling sparkUp ind=%d %d %s now=%d %d later id=%d", trgEventIndex, getRevolutionCounter(), event->getOutputForLoggins()->name, (int)getTimeNowUs(), (int)angleOffset, event->sparkId); #endif /* SPARK_EXTREME_LOGGING */ @@ -361,7 +360,7 @@ static void handleSparkEvent(bool limitedSpark, uint32_t trgEventIndex, Ignition * This way we make sure that coil dwell started while spark was enabled would fire and not burn * the coil. */ - engine->executor.scheduleByTimestampNt(&event->dwellStartTimer, edgeTimestamp + US2NT(chargeDelayUs), { &turnSparkPinHigh, event }); + scheduleByAngle(&event->dwellStartTimer, edgeTimestamp, angleOffset, { &turnSparkPinHigh, event } PASS_ENGINE_PARAMETER_SUFFIX); event->sparksRemaining = ENGINE(engineState.multispark.count); } else { From 5a0ec3088e3067d236a02e51d24c3e85a4833c13 Mon Sep 17 00:00:00 2001 From: rusefillc Date: Tue, 24 Nov 2020 14:11:41 -0500 Subject: [PATCH 07/52] avoid float -> int64 conversion #1977 cherry picking... --- firmware/controllers/bench_test.cpp | 29 ++++++++--------------------- 1 file changed, 8 insertions(+), 21 deletions(-) diff --git a/firmware/controllers/bench_test.cpp b/firmware/controllers/bench_test.cpp index 59fe951dc0..18b294823a 100644 --- a/firmware/controllers/bench_test.cpp +++ b/firmware/controllers/bench_test.cpp @@ -65,34 +65,21 @@ bool isRunningBenchTest(void) { static void runBench(brain_pin_e brainPin, OutputPin *output, float delayMs, float onTimeMs, float offTimeMs, int count) { - int delaySt = delayMs < 1 ? 1 : TIME_MS2I(delayMs); - int onTimeSt = onTimeMs < 1 ? 1 : TIME_MS2I(onTimeMs); - int offTimeSt = offTimeMs < 1 ? 1 : TIME_MS2I(offTimeMs); - if (delaySt < 0) { - scheduleMsg(logger, "Invalid delay %.2f", delayMs); - return; - } - if (onTimeSt <= 0) { - scheduleMsg(logger, "Invalid onTime %.2f", onTimeMs); - return; - } - if (offTimeSt <= 0) { - scheduleMsg(logger, "Invalid offTime %.2f", offTimeMs); - return; - } - scheduleMsg(logger, "Running bench: ON_TIME=%.2f ms OFF_TIME=%.2fms Counter=%d", onTimeMs, offTimeMs, count); + int delayUs = MS2US(maxF(1, delayMs)); + int onTimeUs = MS2US(maxF(1, onTimeMs)); + int offTimeUs = MS2US(maxF(1, offTimeMs)); + + scheduleMsg(logger, "Running bench: ON_TIME=%.2f us OFF_TIME=%.2f us Counter=%d", onTimeUs, offTimeUs, count); scheduleMsg(logger, "output on %s", hwPortname(brainPin)); - if (delaySt != 0) { - chThdSleep(delaySt); - } + chThdSleepMicroseconds(delayUs); isRunningBench = true; for (int i = 0; i < count; i++) { output->setValue(true); - chThdSleep(onTimeSt); + chThdSleepMicroseconds(onTimeUs); output->setValue(false); - chThdSleep(offTimeSt); + chThdSleepMicroseconds(offTimeUs); } scheduleMsg(logger, "Done!"); isRunningBench = false; From 052206e9c4be425487334cd54d9d7c73bc42d381 Mon Sep 17 00:00:00 2001 From: GitHub set-date Action Date: Wed, 25 Nov 2020 00:40:48 +0000 Subject: [PATCH 08/52] Update date --- firmware/controllers/date_stamp.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/firmware/controllers/date_stamp.h b/firmware/controllers/date_stamp.h index a0486a4d99..c62e2e3f39 100644 --- a/firmware/controllers/date_stamp.h +++ b/firmware/controllers/date_stamp.h @@ -1,2 +1,2 @@ #pragma once -#define VCS_DATE 20201124 +#define VCS_DATE 20201125 From 3cbb33c7637db91b4ca2311f7694be2331400f5b Mon Sep 17 00:00:00 2001 From: rusefillc Date: Tue, 24 Nov 2020 20:33:51 -0500 Subject: [PATCH 09/52] avoid float -> int64 conversion #1977 cherry picking... --- firmware/hw_layer/stepper.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/firmware/hw_layer/stepper.cpp b/firmware/hw_layer/stepper.cpp index c838453dd8..bc1b39bb80 100644 --- a/firmware/hw_layer/stepper.cpp +++ b/firmware/hw_layer/stepper.cpp @@ -195,7 +195,7 @@ bool StepDirectionStepper::pulse() { } void StepperHw::pause() const { - chThdSleepMilliseconds(m_reactionTime); + chThdSleepMicroseconds((int)(MS2US(m_reactionTime))); } void StepperHw::setReactionTime(float ms) { From ae53889d106b26fe348133a74acff2edd1a5a73d Mon Sep 17 00:00:00 2001 From: Matthew Kennedy Date: Wed, 25 Nov 2020 04:27:24 -0800 Subject: [PATCH 10/52] Boost tolerance (#1986) * tolerate invalid closed loop config when in open loop mode * fix test --- firmware/controllers/actuators/boost_control.cpp | 6 ++++++ unit_tests/tests/test_boost.cpp | 1 + 2 files changed, 7 insertions(+) diff --git a/firmware/controllers/actuators/boost_control.cpp b/firmware/controllers/actuators/boost_control.cpp index 1b07502cdc..5c41624698 100644 --- a/firmware/controllers/actuators/boost_control.cpp +++ b/firmware/controllers/actuators/boost_control.cpp @@ -67,6 +67,12 @@ expected BoostController::observePlant() const { } expected BoostController::getSetpoint() const { + // If we're in open loop only mode, disregard any target computation. + // Open loop needs to work even in case of invalid closed loop config + if (engineConfiguration->boostType != CLOSED_LOOP) { + return 0; + } + float rpm = GET_RPM(); auto tps = Sensor::get(SensorType::DriverThrottleIntent); diff --git a/unit_tests/tests/test_boost.cpp b/unit_tests/tests/test_boost.cpp index 0ee8b94d96..20eb7bdfcc 100644 --- a/unit_tests/tests/test_boost.cpp +++ b/unit_tests/tests/test_boost.cpp @@ -15,6 +15,7 @@ TEST(BoostControl, Setpoint) { .WillRepeatedly([](float xRpm, float tps) { return tps * 2; }); WITH_ENGINE_TEST_HELPER(TEST_ENGINE); + engineConfiguration->boostType = CLOSED_LOOP; BoostController bc; INJECT_ENGINE_REFERENCE(&bc); From 19df8628c592ca09989ccf14871aa6bd88f417c3 Mon Sep 17 00:00:00 2001 From: rusefillc Date: Wed, 25 Nov 2020 13:16:13 -0500 Subject: [PATCH 11/52] build-in virtual dyno #1987 --- firmware/integration/rusefi_config.txt | 4 +++- firmware/tunerstudio/rusefi.input | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/firmware/integration/rusefi_config.txt b/firmware/integration/rusefi_config.txt index ad8379dc60..c8172ba5e9 100644 --- a/firmware/integration/rusefi_config.txt +++ b/firmware/integration/rusefi_config.txt @@ -967,7 +967,9 @@ custom maf_sensor_type_e 4 bits, S32, @OFFSET@, [0:1], @@maf_sensor_type_e_enum@ pin_output_mode_e drv8860_csPinMode; brain_pin_e drv8860_miso; - int[64] unusedAtOldBoardConfigurationEnd;;"units", 1, 0, -20, 100, 0 + int[63] unusedAtOldBoardConfigurationEnd;;"units", 1, 0, -20, 100, 0 + uint16_t vehicleWeight;;"kg", 1, 0, 0, 10000, 0 + uint16_t unusedHereHereHere;;"ADC", 1, 0, 0, 1000, 0 uint16_t tps2SecondaryMin;;"ADC", 1, 0, 0, 1000, 0 uint16_t tps2SecondaryMax;;"ADC", 1, 0, 0, 1000, 0 diff --git a/firmware/tunerstudio/rusefi.input b/firmware/tunerstudio/rusefi.input index 56fc1de2bc..ba85080804 100644 --- a/firmware/tunerstudio/rusefi.input +++ b/firmware/tunerstudio/rusefi.input @@ -1704,6 +1704,7 @@ cmd_set_engine_type_default = "@@TS_IO_TEST_COMMAND_char@@\x00\x31\x00\x00" field = "Number of Cylinders", cylindersCount field = "Engine Displacement", displacement field = "Firing Order", firingOrder + field = "Vehicle Weight", vehicleWeight ; this field is useful for rusEFI online catalog field = "Compression Ratio", compressionRatio ; this field is useful for rusEFI online catalog From e483d6805b80b753505ba47daba6aa458111c864 Mon Sep 17 00:00:00 2001 From: GitHub build-firmware Action Date: Wed, 25 Nov 2020 18:21:44 +0000 Subject: [PATCH 12/52] Auto-generated configs and docs --- firmware/controllers/generated/fsio_enums_generated.def | 2 +- firmware/controllers/generated/fsio_getters.def | 2 +- firmware/controllers/generated/fsio_names.def | 2 +- firmware/controllers/generated/fsio_strings.def | 2 +- firmware/controllers/generated/signature_all.h | 6 +++--- firmware/controllers/generated/signature_frankenso_na6.h | 6 +++--- firmware/controllers/generated/signature_hellen_cypress.h | 6 +++--- firmware/controllers/generated/signature_kin.h | 6 +++--- firmware/controllers/generated/signature_mre_f4.h | 6 +++--- firmware/controllers/generated/signature_mre_f7.h | 6 +++--- firmware/controllers/generated/signature_prometheus_405.h | 6 +++--- firmware/controllers/generated/signature_prometheus_469.h | 6 +++--- firmware/controllers/generated/signature_proteus_f4.h | 6 +++--- firmware/controllers/generated/signature_proteus_f7.h | 6 +++--- 14 files changed, 34 insertions(+), 34 deletions(-) diff --git a/firmware/controllers/generated/fsio_enums_generated.def b/firmware/controllers/generated/fsio_enums_generated.def index f6ebf3cc5a..36620f0d27 100644 --- a/firmware/controllers/generated/fsio_enums_generated.def +++ b/firmware/controllers/generated/fsio_enums_generated.def @@ -1,4 +1,4 @@ -// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sun Nov 22 23:31:54 UTC 2020 +// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Wed Nov 25 18:20:57 UTC 2020 // by class com.rusefi.output.FileFsioSettingsConsumer FSIO_SETTING_FANONTEMPERATURE = 1000, diff --git a/firmware/controllers/generated/fsio_getters.def b/firmware/controllers/generated/fsio_getters.def index 06143a4fd5..dafcd30140 100644 --- a/firmware/controllers/generated/fsio_getters.def +++ b/firmware/controllers/generated/fsio_getters.def @@ -1,4 +1,4 @@ -// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sun Nov 22 23:31:54 UTC 2020 +// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Wed Nov 25 18:20:57 UTC 2020 // by class com.rusefi.output.FileFsioSettingsConsumer case FSIO_SETTING_FANONTEMPERATURE: diff --git a/firmware/controllers/generated/fsio_names.def b/firmware/controllers/generated/fsio_names.def index 3d9dcdffd9..c0bb21f6a2 100644 --- a/firmware/controllers/generated/fsio_names.def +++ b/firmware/controllers/generated/fsio_names.def @@ -1,4 +1,4 @@ -// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sun Nov 22 23:31:54 UTC 2020 +// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Wed Nov 25 18:20:57 UTC 2020 // by class com.rusefi.output.FileFsioSettingsConsumer static LENameOrdinalPair lefanOnTemperature(FSIO_SETTING_FANONTEMPERATURE, "cfg_fanOnTemperature"); diff --git a/firmware/controllers/generated/fsio_strings.def b/firmware/controllers/generated/fsio_strings.def index e6a990b052..7509cec2f0 100644 --- a/firmware/controllers/generated/fsio_strings.def +++ b/firmware/controllers/generated/fsio_strings.def @@ -1,4 +1,4 @@ -// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sun Nov 22 23:31:54 UTC 2020 +// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Wed Nov 25 18:20:57 UTC 2020 // by class com.rusefi.output.FileFsioSettingsConsumer case FSIO_SETTING_FANONTEMPERATURE: diff --git a/firmware/controllers/generated/signature_all.h b/firmware/controllers/generated/signature_all.h index b51875ceb7..259c330faf 100644 --- a/firmware/controllers/generated/signature_all.h +++ b/firmware/controllers/generated/signature_all.h @@ -3,6 +3,6 @@ // #define SIGNATURE_BOARD all -#define SIGNATURE_DATE 2020.11.22 -#define SIGNATURE_HASH 4111359558 -#define TS_SIGNATURE "rusEFI 2020.11.22.all.4111359558" +#define SIGNATURE_DATE 2020.11.25 +#define SIGNATURE_HASH 866796046 +#define TS_SIGNATURE "rusEFI 2020.11.25.all.866796046" diff --git a/firmware/controllers/generated/signature_frankenso_na6.h b/firmware/controllers/generated/signature_frankenso_na6.h index b92c694487..2b2fe570f8 100644 --- a/firmware/controllers/generated/signature_frankenso_na6.h +++ b/firmware/controllers/generated/signature_frankenso_na6.h @@ -3,6 +3,6 @@ // #define SIGNATURE_BOARD frankenso_na6 -#define SIGNATURE_DATE 2020.11.22 -#define SIGNATURE_HASH 1669263293 -#define TS_SIGNATURE "rusEFI 2020.11.22.frankenso_na6.1669263293" +#define SIGNATURE_DATE 2020.11.25 +#define SIGNATURE_HASH 2782589941 +#define TS_SIGNATURE "rusEFI 2020.11.25.frankenso_na6.2782589941" diff --git a/firmware/controllers/generated/signature_hellen_cypress.h b/firmware/controllers/generated/signature_hellen_cypress.h index 79c626f70e..400bf628b6 100644 --- a/firmware/controllers/generated/signature_hellen_cypress.h +++ b/firmware/controllers/generated/signature_hellen_cypress.h @@ -3,6 +3,6 @@ // #define SIGNATURE_BOARD hellen_cypress -#define SIGNATURE_DATE 2020.11.22 -#define SIGNATURE_HASH 1023408261 -#define TS_SIGNATURE "rusEFI 2020.11.22.hellen_cypress.1023408261" +#define SIGNATURE_DATE 2020.11.25 +#define SIGNATURE_HASH 4200326349 +#define TS_SIGNATURE "rusEFI 2020.11.25.hellen_cypress.4200326349" diff --git a/firmware/controllers/generated/signature_kin.h b/firmware/controllers/generated/signature_kin.h index 727dd4083e..d8d1ca6b37 100644 --- a/firmware/controllers/generated/signature_kin.h +++ b/firmware/controllers/generated/signature_kin.h @@ -3,6 +3,6 @@ // #define SIGNATURE_BOARD kin -#define SIGNATURE_DATE 2020.11.22 -#define SIGNATURE_HASH 1843643007 -#define TS_SIGNATURE "rusEFI 2020.11.22.kin.1843643007" +#define SIGNATURE_DATE 2020.11.25 +#define SIGNATURE_HASH 2873613879 +#define TS_SIGNATURE "rusEFI 2020.11.25.kin.2873613879" diff --git a/firmware/controllers/generated/signature_mre_f4.h b/firmware/controllers/generated/signature_mre_f4.h index 2a6829473e..c7cffe2508 100644 --- a/firmware/controllers/generated/signature_mre_f4.h +++ b/firmware/controllers/generated/signature_mre_f4.h @@ -3,6 +3,6 @@ // #define SIGNATURE_BOARD mre_f4 -#define SIGNATURE_DATE 2020.11.22 -#define SIGNATURE_HASH 3806232639 -#define TS_SIGNATURE "rusEFI 2020.11.22.mre_f4.3806232639" +#define SIGNATURE_DATE 2020.11.25 +#define SIGNATURE_HASH 612015223 +#define TS_SIGNATURE "rusEFI 2020.11.25.mre_f4.612015223" diff --git a/firmware/controllers/generated/signature_mre_f7.h b/firmware/controllers/generated/signature_mre_f7.h index 3e8b036a97..eda7bfb78f 100644 --- a/firmware/controllers/generated/signature_mre_f7.h +++ b/firmware/controllers/generated/signature_mre_f7.h @@ -3,6 +3,6 @@ // #define SIGNATURE_BOARD mre_f7 -#define SIGNATURE_DATE 2020.11.22 -#define SIGNATURE_HASH 3806232639 -#define TS_SIGNATURE "rusEFI 2020.11.22.mre_f7.3806232639" +#define SIGNATURE_DATE 2020.11.25 +#define SIGNATURE_HASH 612015223 +#define TS_SIGNATURE "rusEFI 2020.11.25.mre_f7.612015223" diff --git a/firmware/controllers/generated/signature_prometheus_405.h b/firmware/controllers/generated/signature_prometheus_405.h index d9025f64b4..c5062fdb4b 100644 --- a/firmware/controllers/generated/signature_prometheus_405.h +++ b/firmware/controllers/generated/signature_prometheus_405.h @@ -3,6 +3,6 @@ // #define SIGNATURE_BOARD prometheus_405 -#define SIGNATURE_DATE 2020.11.22 -#define SIGNATURE_HASH 3084277783 -#define TS_SIGNATURE "rusEFI 2020.11.22.prometheus_405.3084277783" +#define SIGNATURE_DATE 2020.11.25 +#define SIGNATURE_HASH 1903314015 +#define TS_SIGNATURE "rusEFI 2020.11.25.prometheus_405.1903314015" diff --git a/firmware/controllers/generated/signature_prometheus_469.h b/firmware/controllers/generated/signature_prometheus_469.h index 4dd172a3a7..0070000448 100644 --- a/firmware/controllers/generated/signature_prometheus_469.h +++ b/firmware/controllers/generated/signature_prometheus_469.h @@ -3,6 +3,6 @@ // #define SIGNATURE_BOARD prometheus_469 -#define SIGNATURE_DATE 2020.11.22 -#define SIGNATURE_HASH 3084277783 -#define TS_SIGNATURE "rusEFI 2020.11.22.prometheus_469.3084277783" +#define SIGNATURE_DATE 2020.11.25 +#define SIGNATURE_HASH 1903314015 +#define TS_SIGNATURE "rusEFI 2020.11.25.prometheus_469.1903314015" diff --git a/firmware/controllers/generated/signature_proteus_f4.h b/firmware/controllers/generated/signature_proteus_f4.h index 97b59ffa39..155e610ea7 100644 --- a/firmware/controllers/generated/signature_proteus_f4.h +++ b/firmware/controllers/generated/signature_proteus_f4.h @@ -3,6 +3,6 @@ // #define SIGNATURE_BOARD proteus_f4 -#define SIGNATURE_DATE 2020.11.22 -#define SIGNATURE_HASH 1017386136 -#define TS_SIGNATURE "rusEFI 2020.11.22.proteus_f4.1017386136" +#define SIGNATURE_DATE 2020.11.25 +#define SIGNATURE_HASH 4194306256 +#define TS_SIGNATURE "rusEFI 2020.11.25.proteus_f4.4194306256" diff --git a/firmware/controllers/generated/signature_proteus_f7.h b/firmware/controllers/generated/signature_proteus_f7.h index 42b9cb030f..8ba8db4dea 100644 --- a/firmware/controllers/generated/signature_proteus_f7.h +++ b/firmware/controllers/generated/signature_proteus_f7.h @@ -3,6 +3,6 @@ // #define SIGNATURE_BOARD proteus_f7 -#define SIGNATURE_DATE 2020.11.22 -#define SIGNATURE_HASH 1017386136 -#define TS_SIGNATURE "rusEFI 2020.11.22.proteus_f7.1017386136" +#define SIGNATURE_DATE 2020.11.25 +#define SIGNATURE_HASH 4194306256 +#define TS_SIGNATURE "rusEFI 2020.11.25.proteus_f7.4194306256" From e2ac877926afd7341b7a6cc73f986cda3d1be037 Mon Sep 17 00:00:00 2001 From: rusefi Date: Wed, 25 Nov 2020 13:53:29 -0500 Subject: [PATCH 13/52] GDB helper --- firmware/config/boards/proteus/compile_proteus_f4.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/firmware/config/boards/proteus/compile_proteus_f4.sh b/firmware/config/boards/proteus/compile_proteus_f4.sh index 7d59320a49..4b886a80c9 100644 --- a/firmware/config/boards/proteus/compile_proteus_f4.sh +++ b/firmware/config/boards/proteus/compile_proteus_f4.sh @@ -4,4 +4,6 @@ export PROJECT_BOARD=proteus export PROJECT_CPU=ARCH_STM32F4 export EXTRA_PARAMS=-DSHORT_BOARD_NAME=proteus_f4 +# export DEBUG_LEVEL_OPT="-O0 -ggdb -g3" + bash ../common_make.sh From a853d99d1a8b1ea0e315d5e2b2e6cd3fabc89749 Mon Sep 17 00:00:00 2001 From: rusefi Date: Wed, 25 Nov 2020 16:44:08 -0500 Subject: [PATCH 14/52] start/stop debug process --- firmware/console/status_loop.cpp | 2 ++ firmware/tunerstudio/rusefi.input | 24 ++++++++++++------------ 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/firmware/console/status_loop.cpp b/firmware/console/status_loop.cpp index a5e9e6a67f..57f69e37e1 100644 --- a/firmware/console/status_loop.cpp +++ b/firmware/console/status_loop.cpp @@ -716,6 +716,8 @@ void updateTunerStudioState(TunerStudioOutputChannels *tsOutputChannels DECLARE_ switch (engineConfiguration->debugMode) { case DBG_START_STOP: tsOutputChannels->debugIntField1 = engine->startStopStateToggleCounter; + tsOutputChannels->debugIntField2 = enginePins.starterControl.getLogicValue(); + tsOutputChannels->debugIntField3 = enginePins.starterRelayDisable.getLogicValue(); break; case DBG_STATUS: tsOutputChannels->debugFloatField1 = timeSeconds; diff --git a/firmware/tunerstudio/rusefi.input b/firmware/tunerstudio/rusefi.input index ba85080804..b541384d29 100644 --- a/firmware/tunerstudio/rusefi.input +++ b/firmware/tunerstudio/rusefi.input @@ -415,19 +415,19 @@ enable2ndByteCanID = false ; 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 ; Alternator TPS Acceleration GPPWM Idle Engine Load Acc Trigger Counters VVT Cranking Ignition Timing ETB PID FSIO_1_7 CJ125 CAN TLE8888 Analog inputs 2 Boost Start Launcher ETB Autotune FSIO_8_14 FSIO_SPECIAL Injector flow compensation ; DBG_ALTERNATOR_PID DBG_TPS_ACCEL DBG_GPPWM DBG_IDLE_CONTROL - debugFieldF1List = bits, U08, [0:7], "Controller Output", "From TPS", "GPPWM 1", "Controller Output", "Idle output", "Channel 1 Rise Counter", "", "", "VVT Event Position","", "Ign IAT Corr", "", "", "", "", "", "", "ETB Controller Output", "", "", "df1", "df1", "22df1", "fsio 1", "24:df1", "CJ125: output", "", "", "", "", "", "", "TPS1 Pri/Sec Diff", "", "", "", "Boost Open Loop Duty", "S unused" "", "Osc Amplitude", "", "fsio 8", "idle offset", "Pressure across injector(kpa)", "" - debugFieldF2List = bits, U08, [0:7], "I-Term", "To TPS", "GPPWM 2", "I-Term", "Idle df2", "Channel 2 Rise Counter", "", "", "VVT Ratio", "", "Ign CLT Corr", "", "", "", "", "", "", "ETB I-Term", "", "", "df2", "df2", "22df2", "fsio 2", "24:df2", "CJ125: i-term", "", "", "", "", "", "", "TPS2 Pri/Sec Diff", "", "", "", "Boost Closed Loop Duty","S unused" "", "Duty Amplitude", "", "fsio 9", "idle min", "Pressure ratio vs. nominal", "" - debugFieldF3List = bits, U08, [0:7], "Previous Error", "Current TPS<>TPS", "GPPWM 3", "prev error", "Idle df3", "ICU sum", "", "", "", "", "Ign FSIO Adj", "", "", "", "", "", "", "ETB err", "", "", "df3", "df3", "22df3", "fsio 3", "24:df3", "CJ125: err", "", "", "", "", "", "", "TPS1/2 Diff", "", "", "", "", "S unused" "", "Tu", "", "fsio 10", "", "Flow ratio vs. configured", "" - debugFieldF4List = bits, U08, [0:7], "I Gain", "Extra Fuel", "GPPWM 4", "I Gain", "Idle df4", "VVT rise", "", "", "", "", "Ign PID Adj", "", "", "", "", "", "", "ETB I setting", "", "", "df4", "df4", "22df4", "fsio 4", "24:df4", "CJ125: UA", "", "", "", "", "", "", "Acc Pedal Pri/Sec Diff","", "", "", "", "S unused" "", "Ku", "", "fsio 11", "", "", "" - debugFieldF5List = bits, U08, [0:7], "D Gain", "df5", "df5", "D Gain", "Idle df5", "VVT fall", "df5", "", "", "", "", "", "", "", "", "", "", "ETB D setting", "df5", "df5", "df5", "df5", "22df5", "fsio 5", "24:df5", "CJ125: UR", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Kp", "", "fsio 12", "", "", "" - debugFieldF6List = bits, U08, [0:7], "D Term", "", "", "D Term", "Idle df6", "Current Gap", "", "", "", "", "", "", "", "", "", "", "", "ETB df6", "", "", "df6", "df6", "22df6", "fsio 6", "24:df6", "cj: f7", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Ki", "", "fsio 13", "", "", "" - debugFieldF7List = bits, U08, [0:7], "Max-Value", "", "", "Max-Value", "Idle df7", "", "", "", "", "", "", "", "", "", "", "", "", "ETB df7", "", "", "df7", "df7", "22df7", "fsio 7", "24:df7", "cj: f7", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Kd", "", "fsio 14", "", "", "" + debugFieldF1List = bits, U08, [0:7], "Controller Output", "From TPS", "GPPWM 1", "Controller Output", "Idle output", "Channel 1 Rise Counter", "", "", "VVT Event Position","", "Ign IAT Corr", "", "", "", "", "", "", "ETB Controller Output", "", "", "df1", "df1", "22df1", "fsio 1", "24:df1", "CJ125: output", "", "", "", "", "", "", "TPS1 Pri/Sec Diff", "", "", "", "Boost Open Loop Duty", "S unused" "", "Osc Amplitude", "", "fsio 8", "idle offset", "Pressure across injector(kpa)", "" + debugFieldF2List = bits, U08, [0:7], "I-Term", "To TPS", "GPPWM 2", "I-Term", "Idle df2", "Channel 2 Rise Counter", "", "", "VVT Ratio", "", "Ign CLT Corr", "", "", "", "", "", "", "ETB I-Term", "", "", "df2", "df2", "22df2", "fsio 2", "24:df2", "CJ125: i-term", "", "", "", "", "", "", "TPS2 Pri/Sec Diff", "", "", "", "Boost Closed Loop Duty","S unused" "", "Duty Amplitude", "", "fsio 9", "idle min", "Pressure ratio vs. nominal", "" + debugFieldF3List = bits, U08, [0:7], "Previous Error", "Current TPS<>TPS", "GPPWM 3", "prev error", "Idle df3", "ICU sum", "", "", "", "", "Ign FSIO Adj", "", "", "", "", "", "", "ETB err", "", "", "df3", "df3", "22df3", "fsio 3", "24:df3", "CJ125: err", "", "", "", "", "", "", "TPS1/2 Diff", "", "", "", "", "S unused" "", "Tu", "", "fsio 10", "", "Flow ratio vs. configured", "" + debugFieldF4List = bits, U08, [0:7], "I Gain", "Extra Fuel", "GPPWM 4", "I Gain", "Idle df4", "VVT rise", "", "", "", "", "Ign PID Adj", "", "", "", "", "", "", "ETB I setting", "", "", "df4", "df4", "22df4", "fsio 4", "24:df4", "CJ125: UA", "", "", "", "", "", "", "Acc Pedal Pri/Sec Diff","", "", "", "", "S unused" "", "Ku", "", "fsio 11", "", "", "" + debugFieldF5List = bits, U08, [0:7], "D Gain", "df5", "df5", "D Gain", "Idle df5", "VVT fall", "df5", "", "", "", "", "", "", "", "", "", "", "ETB D setting", "df5", "df5", "df5", "df5", "22df5", "fsio 5", "24:df5", "CJ125: UR", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Kp", "", "fsio 12", "", "", "" + debugFieldF6List = bits, U08, [0:7], "D Term", "", "", "D Term", "Idle df6", "Current Gap", "", "", "", "", "", "", "", "", "", "", "", "ETB df6", "", "", "df6", "df6", "22df6", "fsio 6", "24:df6", "cj: f7", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Ki", "", "fsio 13", "", "", "" + debugFieldF7List = bits, U08, [0:7], "Max-Value", "", "", "Max-Value", "Idle df7", "", "", "", "", "", "", "", "", "", "", "", "", "ETB df7", "", "", "df7", "df7", "22df7", "fsio 7", "24:df7", "cj: f7", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Kd", "", "fsio 14", "", "", "" - debugFieldI1List = bits, U08, [0:7], "P-Gain", "", "", "P-Gain", "Idle di1", "Channel 1 Fall Counter", "", "", "VVT Sync Counter", "", "Multispark Count", "", "", "", "", "", "", "ETB P-Gain", "", "", "di1", "di1", "22di1", "", "24:di1", "CJ125: state", "read count","", "", "", "", "SPI Counter", "", "", "", "", "", "Start Count" "", "", "", "", "", "", "" - debugFieldI2List = bits, U08, [0:7], "Offset", "", "", "Offset", "Idle di2", "Channel 2 Fall Counter", "", "", "", "", "", "", "", "", "", "", "", "ETB di2", "", "", "di2", "di2", "22di2", "", "24:di2", "", "write count","", "", "", "", "Latest Transmit","", "", "", "", "", "S unused" "", "", "", "", "", "", "" - debugFieldI3List = bits, U08, [0:7], "Reset Cnt", "", "", "Reset Cnt", "Idle di3", "Cycle Index", "", "", "", "", "", "", "", "", "", "", "", "ETB di3", "", "", "di3", "di3", "22di3", "", "24:di3", "", "write err", "", "", "", "", "Latest Received","", "", "", "", "", "S unused" "", "", "", "", "", "", "" - debugFieldI4List = bits, U08, [0:7], "Period", "", "", "State", "Idle di4", "Cycle Cnt 1", "", "", "", "", "", "", "", "", "", "", "", "ETB di4", "", "", "di4", "di4", "22di4", "", "24:di4", "", "", "", "", "", "", "Init Count", "", "", "", "", "", "S unused" "", "", "", "", "", "", "" - debugFieldI5List = bits, U08, [0:7], "", "", "", "", "Idle di5", "Cycle Cnt 2", "", "", "", "", "", "", "", "", "", "di5", "di5", "ETB di5", "di5", "di5", "di5", "di5", "22di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "", "di5", "di5", "di5", "di5", "S di5" "", "", "", "", "", "", "" + debugFieldI1List = bits, U08, [0:7], "P-Gain", "", "", "P-Gain", "Idle di1", "Channel 1 Fall Counter", "", "", "VVT Sync Counter", "", "Multispark Count", "", "", "", "", "", "", "ETB P-Gain", "", "", "di1", "di1", "22di1", "", "24:di1", "CJ125: state", "read count","", "", "", "", "SPI Counter", "", "", "", "", "", "Start Count", "", "", "", "", "", "", "" + debugFieldI2List = bits, U08, [0:7], "Offset", "", "", "Offset", "Idle di2", "Channel 2 Fall Counter", "", "", "", "", "", "", "", "", "", "", "", "ETB di2", "", "", "di2", "di2", "22di2", "", "24:di2", "", "write count","", "", "", "", "Latest Transmit","", "", "", "", "", "Starter Enable", "", "", "", "", "", "", "" + debugFieldI3List = bits, U08, [0:7], "Reset Cnt", "", "", "Reset Cnt", "Idle di3", "Cycle Index", "", "", "", "", "", "", "", "", "", "", "", "ETB di3", "", "", "di3", "di3", "22di3", "", "24:di3", "", "write err", "", "", "", "", "Latest Received","", "", "", "", "", "Starter Disable","", "", "", "", "", "", "" + debugFieldI4List = bits, U08, [0:7], "Period", "", "", "State", "Idle di4", "Cycle Cnt 1", "", "", "", "", "", "", "", "", "", "", "", "ETB di4", "", "", "di4", "di4", "22di4", "", "24:di4", "", "", "", "", "", "", "Init Count", "", "", "", "", "", "S unused" "", "", "", "", "", "", "" + debugFieldI5List = bits, U08, [0:7], "", "", "", "", "Idle di5", "Cycle Cnt 2", "", "", "", "", "", "", "", "", "", "di5", "di5", "ETB di5", "di5", "di5", "di5", "di5", "22di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "", "di5", "di5", "di5", "di5", "S di5" "", "", "", "", "", "", "" [ConstantsExtensions] ; defaultValue is used to provide TunerStudio with a value to use in the case of From bd9ec0f3273bc22b61533c7a7e09de5df16ccadd Mon Sep 17 00:00:00 2001 From: GitHub build-firmware Action Date: Wed, 25 Nov 2020 21:46:33 +0000 Subject: [PATCH 15/52] Auto-generated configs and docs --- firmware/controllers/generated/signature_all.h | 4 ++-- firmware/controllers/generated/signature_frankenso_na6.h | 4 ++-- firmware/controllers/generated/signature_hellen_cypress.h | 4 ++-- firmware/controllers/generated/signature_kin.h | 4 ++-- firmware/controllers/generated/signature_mre_f4.h | 4 ++-- firmware/controllers/generated/signature_mre_f7.h | 4 ++-- firmware/controllers/generated/signature_prometheus_405.h | 4 ++-- firmware/controllers/generated/signature_prometheus_469.h | 4 ++-- firmware/controllers/generated/signature_proteus_f4.h | 4 ++-- firmware/controllers/generated/signature_proteus_f7.h | 4 ++-- 10 files changed, 20 insertions(+), 20 deletions(-) diff --git a/firmware/controllers/generated/signature_all.h b/firmware/controllers/generated/signature_all.h index 259c330faf..f94ba6a74e 100644 --- a/firmware/controllers/generated/signature_all.h +++ b/firmware/controllers/generated/signature_all.h @@ -4,5 +4,5 @@ #define SIGNATURE_BOARD all #define SIGNATURE_DATE 2020.11.25 -#define SIGNATURE_HASH 866796046 -#define TS_SIGNATURE "rusEFI 2020.11.25.all.866796046" +#define SIGNATURE_HASH 822932680 +#define TS_SIGNATURE "rusEFI 2020.11.25.all.822932680" diff --git a/firmware/controllers/generated/signature_frankenso_na6.h b/firmware/controllers/generated/signature_frankenso_na6.h index 2b2fe570f8..6e05f1ae40 100644 --- a/firmware/controllers/generated/signature_frankenso_na6.h +++ b/firmware/controllers/generated/signature_frankenso_na6.h @@ -4,5 +4,5 @@ #define SIGNATURE_BOARD frankenso_na6 #define SIGNATURE_DATE 2020.11.25 -#define SIGNATURE_HASH 2782589941 -#define TS_SIGNATURE "rusEFI 2020.11.25.frankenso_na6.2782589941" +#define SIGNATURE_HASH 2809939251 +#define TS_SIGNATURE "rusEFI 2020.11.25.frankenso_na6.2809939251" diff --git a/firmware/controllers/generated/signature_hellen_cypress.h b/firmware/controllers/generated/signature_hellen_cypress.h index 400bf628b6..3d4809ed4d 100644 --- a/firmware/controllers/generated/signature_hellen_cypress.h +++ b/firmware/controllers/generated/signature_hellen_cypress.h @@ -4,5 +4,5 @@ #define SIGNATURE_BOARD hellen_cypress #define SIGNATURE_DATE 2020.11.25 -#define SIGNATURE_HASH 4200326349 -#define TS_SIGNATURE "rusEFI 2020.11.25.hellen_cypress.4200326349" +#define SIGNATURE_HASH 4177351179 +#define TS_SIGNATURE "rusEFI 2020.11.25.hellen_cypress.4177351179" diff --git a/firmware/controllers/generated/signature_kin.h b/firmware/controllers/generated/signature_kin.h index d8d1ca6b37..392d40b68a 100644 --- a/firmware/controllers/generated/signature_kin.h +++ b/firmware/controllers/generated/signature_kin.h @@ -4,5 +4,5 @@ #define SIGNATURE_BOARD kin #define SIGNATURE_DATE 2020.11.25 -#define SIGNATURE_HASH 2873613879 -#define TS_SIGNATURE "rusEFI 2020.11.25.kin.2873613879" +#define SIGNATURE_HASH 2850121969 +#define TS_SIGNATURE "rusEFI 2020.11.25.kin.2850121969" diff --git a/firmware/controllers/generated/signature_mre_f4.h b/firmware/controllers/generated/signature_mre_f4.h index c7cffe2508..b1abf06a4a 100644 --- a/firmware/controllers/generated/signature_mre_f4.h +++ b/firmware/controllers/generated/signature_mre_f4.h @@ -4,5 +4,5 @@ #define SIGNATURE_BOARD mre_f4 #define SIGNATURE_DATE 2020.11.25 -#define SIGNATURE_HASH 612015223 -#define TS_SIGNATURE "rusEFI 2020.11.25.mre_f4.612015223" +#define SIGNATURE_HASH 651963057 +#define TS_SIGNATURE "rusEFI 2020.11.25.mre_f4.651963057" diff --git a/firmware/controllers/generated/signature_mre_f7.h b/firmware/controllers/generated/signature_mre_f7.h index eda7bfb78f..7a39930173 100644 --- a/firmware/controllers/generated/signature_mre_f7.h +++ b/firmware/controllers/generated/signature_mre_f7.h @@ -4,5 +4,5 @@ #define SIGNATURE_BOARD mre_f7 #define SIGNATURE_DATE 2020.11.25 -#define SIGNATURE_HASH 612015223 -#define TS_SIGNATURE "rusEFI 2020.11.25.mre_f7.612015223" +#define SIGNATURE_HASH 651963057 +#define TS_SIGNATURE "rusEFI 2020.11.25.mre_f7.651963057" diff --git a/firmware/controllers/generated/signature_prometheus_405.h b/firmware/controllers/generated/signature_prometheus_405.h index c5062fdb4b..6dcb196cee 100644 --- a/firmware/controllers/generated/signature_prometheus_405.h +++ b/firmware/controllers/generated/signature_prometheus_405.h @@ -4,5 +4,5 @@ #define SIGNATURE_BOARD prometheus_405 #define SIGNATURE_DATE 2020.11.25 -#define SIGNATURE_HASH 1903314015 -#define TS_SIGNATURE "rusEFI 2020.11.25.prometheus_405.1903314015" +#define SIGNATURE_HASH 1943335577 +#define TS_SIGNATURE "rusEFI 2020.11.25.prometheus_405.1943335577" diff --git a/firmware/controllers/generated/signature_prometheus_469.h b/firmware/controllers/generated/signature_prometheus_469.h index 0070000448..07edbc63f7 100644 --- a/firmware/controllers/generated/signature_prometheus_469.h +++ b/firmware/controllers/generated/signature_prometheus_469.h @@ -4,5 +4,5 @@ #define SIGNATURE_BOARD prometheus_469 #define SIGNATURE_DATE 2020.11.25 -#define SIGNATURE_HASH 1903314015 -#define TS_SIGNATURE "rusEFI 2020.11.25.prometheus_469.1903314015" +#define SIGNATURE_HASH 1943335577 +#define TS_SIGNATURE "rusEFI 2020.11.25.prometheus_469.1943335577" diff --git a/firmware/controllers/generated/signature_proteus_f4.h b/firmware/controllers/generated/signature_proteus_f4.h index 155e610ea7..62e92acc1b 100644 --- a/firmware/controllers/generated/signature_proteus_f4.h +++ b/firmware/controllers/generated/signature_proteus_f4.h @@ -4,5 +4,5 @@ #define SIGNATURE_BOARD proteus_f4 #define SIGNATURE_DATE 2020.11.25 -#define SIGNATURE_HASH 4194306256 -#define TS_SIGNATURE "rusEFI 2020.11.25.proteus_f4.4194306256" +#define SIGNATURE_HASH 4171677206 +#define TS_SIGNATURE "rusEFI 2020.11.25.proteus_f4.4171677206" diff --git a/firmware/controllers/generated/signature_proteus_f7.h b/firmware/controllers/generated/signature_proteus_f7.h index 8ba8db4dea..d802749c00 100644 --- a/firmware/controllers/generated/signature_proteus_f7.h +++ b/firmware/controllers/generated/signature_proteus_f7.h @@ -4,5 +4,5 @@ #define SIGNATURE_BOARD proteus_f7 #define SIGNATURE_DATE 2020.11.25 -#define SIGNATURE_HASH 4194306256 -#define TS_SIGNATURE "rusEFI 2020.11.25.proteus_f7.4194306256" +#define SIGNATURE_HASH 4171677206 +#define TS_SIGNATURE "rusEFI 2020.11.25.proteus_f7.4171677206" From bdba67e05fa7f70f26389ff38fea8b03261b3656 Mon Sep 17 00:00:00 2001 From: rusefi Date: Wed, 25 Nov 2020 17:02:28 -0500 Subject: [PATCH 16/52] better default value --- firmware/controllers/algo/engine_configuration.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/firmware/controllers/algo/engine_configuration.cpp b/firmware/controllers/algo/engine_configuration.cpp index f9b4a15f87..19bdb6a489 100644 --- a/firmware/controllers/algo/engine_configuration.cpp +++ b/firmware/controllers/algo/engine_configuration.cpp @@ -740,7 +740,7 @@ static void setDefaultEngineConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) { CONFIG(mapMinBufferLength) = 1; - CONFIG(startCrankingDuration) = 7; + CONFIG(startCrankingDuration) = 3; CONFIG(compressionRatio) = 9; From 2865b8318cffa5a4d70223c497a6086930cd0e61 Mon Sep 17 00:00:00 2001 From: GitHub set-date Action Date: Thu, 26 Nov 2020 00:40:20 +0000 Subject: [PATCH 17/52] Update date --- firmware/controllers/date_stamp.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/firmware/controllers/date_stamp.h b/firmware/controllers/date_stamp.h index c62e2e3f39..74369bd7f4 100644 --- a/firmware/controllers/date_stamp.h +++ b/firmware/controllers/date_stamp.h @@ -1,2 +1,2 @@ #pragma once -#define VCS_DATE 20201125 +#define VCS_DATE 20201126 From 1d497eaac479c8482847e0e5e47c162c7da2c25d Mon Sep 17 00:00:00 2001 From: rusefi Date: Wed, 25 Nov 2020 19:52:22 -0500 Subject: [PATCH 18/52] Starter is engaged on start-up in pull-up configuration #1969 --- firmware/controllers/settings.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/firmware/controllers/settings.cpp b/firmware/controllers/settings.cpp index aa8703c6a4..9904f0eee1 100644 --- a/firmware/controllers/settings.cpp +++ b/firmware/controllers/settings.cpp @@ -570,6 +570,17 @@ static void setIgnitionPin(const char *indexStr, const char *pinName) { incrementGlobalConfigurationVersion(PASS_ENGINE_PARAMETER_SIGNATURE); } +// this method is useful for desperate time debugging +static void readPin(const char *pinName) { + brain_pin_e pin = parseBrainPin(pinName); + if (pin == GPIO_INVALID) { + scheduleMsg(&logger, "invalid pin name [%s]", pinName); + return; + } + int physicalValue = palReadPad(getHwPort("read", pin), getHwPin("read", pin)); + scheduleMsg(&logger, "pin %s value %d", hwPortname(pin), physicalValue); +} + static void setIndividualPin(const char *pinName, brain_pin_e *targetPin, const char *name) { brain_pin_e pin = parseBrainPin(pinName); if (pin == GPIO_INVALID) { @@ -1376,6 +1387,7 @@ void initSettings(void) { addConsoleActionS("set_cj125_heater_pin", setCj125HeaterPin); addConsoleActionS("set_trigger_sync_pin", setTriggerSyncPin); + addConsoleActionS("readpin", readPin); addConsoleActionS("set_can_rx_pin", setCanRxPin); addConsoleActionS("set_can_tx_pin", setCanTxPin); From 92e36e66b54c343715f71eb7f64d0168a27b47a5 Mon Sep 17 00:00:00 2001 From: Matthew Kennedy Date: Wed, 25 Nov 2020 18:14:06 -0800 Subject: [PATCH 19/52] fix etb wastegate percent output (#1988) * wastegate etb should use percent * percent_t * fix test --- firmware/controllers/actuators/boost_control.cpp | 7 ++++--- unit_tests/tests/test_boost.cpp | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/firmware/controllers/actuators/boost_control.cpp b/firmware/controllers/actuators/boost_control.cpp index 5c41624698..eea5454126 100644 --- a/firmware/controllers/actuators/boost_control.cpp +++ b/firmware/controllers/actuators/boost_control.cpp @@ -146,13 +146,14 @@ expected BoostController::getClosedLoop(float target, float manifoldP void BoostController::setOutput(expected output) { // TODO: hook up safe duty cycle - float duty = PERCENT_TO_DUTY(output.value_or(/*CONFIG(boostControlSafeDutyCycle)*/ 0)); - + percent_t percent = output.value_or(/*CONFIG(boostControlSafeDutyCycle)*/ 0); + float duty = PERCENT_TO_DUTY(percent); + if (m_pwm) { m_pwm->setSimplePwmDutyCycle(duty); } - setEtbWastegatePosition(duty PASS_ENGINE_PARAMETER_SUFFIX); + setEtbWastegatePosition(percent PASS_ENGINE_PARAMETER_SUFFIX); } void BoostController::PeriodicTask() { diff --git a/unit_tests/tests/test_boost.cpp b/unit_tests/tests/test_boost.cpp index 20eb7bdfcc..10b8649be6 100644 --- a/unit_tests/tests/test_boost.cpp +++ b/unit_tests/tests/test_boost.cpp @@ -115,7 +115,7 @@ TEST(BoostControl, SetOutput) { INJECT_ENGINE_REFERENCE(&bc); // ETB wastegate position & PWM should both be set - EXPECT_CALL(etb, setWastegatePosition(0.25f)); + EXPECT_CALL(etb, setWastegatePosition(25.0f)); EXPECT_CALL(pwm, setSimplePwmDutyCycle(0.25f)); // Don't crash if not init'd (don't deref null ptr m_pwm) From dfa38e6829978639a6ac9ce1edfe70037dd7a402 Mon Sep 17 00:00:00 2001 From: Matthew Kennedy Date: Wed, 25 Nov 2020 19:44:08 -0800 Subject: [PATCH 20/52] default to off (#1989) --- firmware/config/boards/st_stm32f4/board.h | 17 +---------------- 1 file changed, 1 insertion(+), 16 deletions(-) diff --git a/firmware/config/boards/st_stm32f4/board.h b/firmware/config/boards/st_stm32f4/board.h index 72afc416d7..b60873fc33 100644 --- a/firmware/config/boards/st_stm32f4/board.h +++ b/firmware/config/boards/st_stm32f4/board.h @@ -157,22 +157,7 @@ DEFAULT_GPIO_SPEED(14) | \ DEFAULT_GPIO_SPEED(15)) -#define VAL_GPIO_ODR_ALL_DEFAULT (PIN_ODR_HIGH(0) | \ - PIN_ODR_HIGH(1) | \ - PIN_ODR_HIGH(2) | \ - PIN_ODR_HIGH(3) | \ - PIN_ODR_HIGH(4) | \ - PIN_ODR_HIGH(5) | \ - PIN_ODR_HIGH(6) | \ - PIN_ODR_HIGH(7) | \ - PIN_ODR_HIGH(8) | \ - PIN_ODR_HIGH(9) | \ - PIN_ODR_HIGH(10) | \ - PIN_ODR_HIGH(11) | \ - PIN_ODR_HIGH(12) | \ - PIN_ODR_HIGH(13) | \ - PIN_ODR_HIGH(14) | \ - PIN_ODR_HIGH(15)) +#define VAL_GPIO_ODR_ALL_DEFAULT 0 #define VAL_GPIO_PUPDR_ALL_DEFAULT (EFI_DR_DEFAULT(0) | \ EFI_DR_DEFAULT(1) | \ From 1e91b8829633a71b121aeaccc11563e38e2ebd68 Mon Sep 17 00:00:00 2001 From: rusefi Date: Wed, 25 Nov 2020 23:38:43 -0500 Subject: [PATCH 21/52] Starter is engaged on start-up in pull-up configuration #1969 --- firmware/controllers/system/efi_gpio.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/firmware/controllers/system/efi_gpio.cpp b/firmware/controllers/system/efi_gpio.cpp index 0923b9f436..f152a41282 100644 --- a/firmware/controllers/system/efi_gpio.cpp +++ b/firmware/controllers/system/efi_gpio.cpp @@ -542,6 +542,20 @@ void OutputPin::initPin(const char *msg, brain_pin_e brainPin, const pin_output_ // mystery state being driven on the pin (potentially dangerous). setDefaultPinState(outputMode); efiSetPadMode(msg, brainPin, mode); + if (brain_pin_is_onchip(brainPin)) { + int actualValue = palReadPad(port, pin); + // we had enough drama with pin configuration in board.h and else that we shall self-check + // todo: handle OM_OPENDRAIN and OM_OPENDRAIN_INVERTED as well + if (*outputMode == OM_DEFAULT || *outputMode == OM_INVERTED) { + if (*outputMode == OM_INVERTED) { + actualValue = !actualValue; + } + if (actualValue) { + firmwareError(OBD_PCM_Processor_Fault, "startup pin state %s", hwPortname(brainPin)); + } + } + } + #endif /* EFI_GPIO_HARDWARE */ } From 7d11aaf9e46717d6ae946ab370205a3e069b0ce8 Mon Sep 17 00:00:00 2001 From: rusefi Date: Wed, 25 Nov 2020 23:59:11 -0500 Subject: [PATCH 22/52] Starter is engaged on start-up in pull-up configuration #1969 --- firmware/controllers/system/efi_gpio.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/firmware/controllers/system/efi_gpio.cpp b/firmware/controllers/system/efi_gpio.cpp index f152a41282..0ccaa6d7bb 100644 --- a/firmware/controllers/system/efi_gpio.cpp +++ b/firmware/controllers/system/efi_gpio.cpp @@ -551,7 +551,7 @@ void OutputPin::initPin(const char *msg, brain_pin_e brainPin, const pin_output_ actualValue = !actualValue; } if (actualValue) { - firmwareError(OBD_PCM_Processor_Fault, "startup pin state %s", hwPortname(brainPin)); + firmwareError(OBD_PCM_Processor_Fault, "startup pin state %s %d %d", hwPortname(brainPin), actualValue, *outputMode); } } } From ab98e15f01617dfabce81d67a554d4c98900d06d Mon Sep 17 00:00:00 2001 From: rusefi Date: Thu, 26 Nov 2020 00:16:59 -0500 Subject: [PATCH 23/52] Starter is engaged on start-up in pull-up configuration #1969 --- firmware/controllers/system/efi_gpio.cpp | 2 +- firmware/hw_layer/io_pins.cpp | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/firmware/controllers/system/efi_gpio.cpp b/firmware/controllers/system/efi_gpio.cpp index 0ccaa6d7bb..52a7f6c5fe 100644 --- a/firmware/controllers/system/efi_gpio.cpp +++ b/firmware/controllers/system/efi_gpio.cpp @@ -563,7 +563,7 @@ void OutputPin::unregisterOutput(brain_pin_e oldPin) { if (oldPin != GPIO_UNASSIGNED) { scheduleMsg(logger, "unregistering %s", hwPortname(oldPin)); #if EFI_GPIO_HARDWARE && EFI_PROD_CODE - brain_pin_markUnused(oldPin); + efiSetPadUnused(oldPin); port = nullptr; #endif /* EFI_GPIO_HARDWARE */ } diff --git a/firmware/hw_layer/io_pins.cpp b/firmware/hw_layer/io_pins.cpp index 4a185caa5d..3b3fe53af8 100644 --- a/firmware/hw_layer/io_pins.cpp +++ b/firmware/hw_layer/io_pins.cpp @@ -58,7 +58,7 @@ void efiSetPadMode(const char *msg, brain_pin_e brainPin, iomode_t mode) if (!wasUsed) { /*check if on-chip pin or external */ if (brain_pin_is_onchip(brainPin)) { - /* on-cip */ + /* on-chip */ ioportid_t port = getHwPort(msg, brainPin); ioportmask_t pin = getHwPin(msg, brainPin); /* paranoid */ @@ -84,8 +84,11 @@ void efiSetPadUnused(brain_pin_e brainPin) ioportid_t port = getHwPort("unused", brainPin); ioportmask_t pin = getHwPin("unused", brainPin); - /* input with pull up, is it safe? */ + /* input with pull up, is it safe? + * todo: shall we reuse 'default state' constants with board.h? + * */ palSetPadMode(port, pin, mode); + palWritePad(port, pin, false); } #if (BOARD_EXT_GPIOCHIPS > 0) else { From fa3410ec07b50e3c9063d9189d2a142758d3fdfd Mon Sep 17 00:00:00 2001 From: rusefillc Date: Thu, 26 Nov 2020 00:24:15 -0500 Subject: [PATCH 24/52] Starter is engaged on start-up in pull-up configuration #1969 --- firmware/hw_layer/io_pins.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/firmware/hw_layer/io_pins.cpp b/firmware/hw_layer/io_pins.cpp index 3b3fe53af8..ac503acd03 100644 --- a/firmware/hw_layer/io_pins.cpp +++ b/firmware/hw_layer/io_pins.cpp @@ -88,7 +88,7 @@ void efiSetPadUnused(brain_pin_e brainPin) * todo: shall we reuse 'default state' constants with board.h? * */ palSetPadMode(port, pin, mode); - palWritePad(port, pin, false); + palWritePad(port, pin, 0); } #if (BOARD_EXT_GPIOCHIPS > 0) else { From 7b8d20108f719702003c9d88671a22c6ae067c31 Mon Sep 17 00:00:00 2001 From: rusefillc Date: Thu, 26 Nov 2020 10:41:22 -0500 Subject: [PATCH 25/52] Starter is engaged on start-up in pull-up configuration #1969 --- firmware/controllers/actuators/aux_pid.cpp | 2 +- firmware/controllers/actuators/boost_control.cpp | 2 +- firmware/controllers/actuators/idle_hardware.cpp | 12 ++++-------- firmware/hw_layer/debounce.cpp | 2 +- .../hw_layer/digital_input/digital_input_icu.cpp | 2 +- firmware/hw_layer/hardware.cpp | 6 +++--- 6 files changed, 11 insertions(+), 15 deletions(-) diff --git a/firmware/controllers/actuators/aux_pid.cpp b/firmware/controllers/actuators/aux_pid.cpp index c68c4cb6bd..ec065d8c26 100644 --- a/firmware/controllers/actuators/aux_pid.cpp +++ b/firmware/controllers/actuators/aux_pid.cpp @@ -134,7 +134,7 @@ void startAuxPins(void) { void stopAuxPins(void) { #if EFI_PROD_CODE for (int i = 0;i < AUX_PID_COUNT;i++) { - brain_pin_markUnused(activeConfiguration.auxPidPins[i]); + efiSetPadUnused(activeConfiguration.auxPidPins[i]); } #endif /* EFI_PROD_CODE */ } diff --git a/firmware/controllers/actuators/boost_control.cpp b/firmware/controllers/actuators/boost_control.cpp index eea5454126..95ac8b1e69 100644 --- a/firmware/controllers/actuators/boost_control.cpp +++ b/firmware/controllers/actuators/boost_control.cpp @@ -212,7 +212,7 @@ void startBoostPin() { void stopBoostPin() { #if !EFI_UNIT_TEST - brain_pin_markUnused(activeConfiguration.boostControlPin); + efiSetPadUnused(activeConfiguration.boostControlPin); #endif /* EFI_UNIT_TEST */ } diff --git a/firmware/controllers/actuators/idle_hardware.cpp b/firmware/controllers/actuators/idle_hardware.cpp index 350e31310a..ef4fb2fb5c 100644 --- a/firmware/controllers/actuators/idle_hardware.cpp +++ b/firmware/controllers/actuators/idle_hardware.cpp @@ -124,14 +124,10 @@ bool isIdleMotorBusy(DECLARE_ENGINE_PARAMETER_SIGNATURE) { void stopIdleHardware(DECLARE_ENGINE_PARAMETER_SIGNATURE) { #if EFI_PROD_CODE - brain_pin_markUnused(activeConfiguration.stepperEnablePin); - brain_pin_markUnused(activeConfiguration.idle.stepperStepPin); - brain_pin_markUnused(activeConfiguration.idle.solenoidPin); - brain_pin_markUnused(activeConfiguration.secondSolenoidPin); -// brain_pin_markUnused(activeConfiguration.idle.); -// brain_pin_markUnused(activeConfiguration.idle.); -// brain_pin_markUnused(activeConfiguration.idle.); -// brain_pin_markUnused(activeConfiguration.idle.); + efiSetPadUnused(activeConfiguration.stepperEnablePin); + efiSetPadUnused(activeConfiguration.idle.stepperStepPin); + efiSetPadUnused(activeConfiguration.idle.solenoidPin); + efiSetPadUnused(activeConfiguration.secondSolenoidPin); #endif /* EFI_PROD_CODE */ } diff --git a/firmware/hw_layer/debounce.cpp b/firmware/hw_layer/debounce.cpp index 9444f801c2..af9307aa3e 100644 --- a/firmware/hw_layer/debounce.cpp +++ b/firmware/hw_layer/debounce.cpp @@ -60,7 +60,7 @@ void ButtonDebounce::stopConfiguration () { if (*m_pin != active_pin || *m_mode != active_mode || (isActiveConfigurationVoid && (*m_pin != 0 || *m_mode != 0))) { #endif /* EFI_ACTIVE_CONFIGURATION_IN_FLASH */ #ifndef EFI_UNIT_TEST - brain_pin_markUnused(active_pin); + efiSetPadUnused(active_pin); needsInit = true; #endif /* EFI_UNIT_TEST */ } diff --git a/firmware/hw_layer/digital_input/digital_input_icu.cpp b/firmware/hw_layer/digital_input/digital_input_icu.cpp index 37e4536b69..542c390503 100644 --- a/firmware/hw_layer/digital_input/digital_input_icu.cpp +++ b/firmware/hw_layer/digital_input/digital_input_icu.cpp @@ -217,7 +217,7 @@ void stopDigitalCapture(const char *msg, brain_pin_e brainPin) { if (brainPin == GPIO_UNASSIGNED) { return; } - brain_pin_markUnused(brainPin); + efiSetPadUnused(brainPin); ICUDriver *driver = getInputCaptureDriver(msg, brainPin); if (driver == NULL) { diff --git a/firmware/hw_layer/hardware.cpp b/firmware/hw_layer/hardware.cpp index 7695dd826d..bc634fd2c0 100644 --- a/firmware/hw_layer/hardware.cpp +++ b/firmware/hw_layer/hardware.cpp @@ -291,9 +291,9 @@ void stopSpi(spi_device_e device) { return; // not turned on } isSpiInitialized[device] = false; - brain_pin_markUnused(getSckPin(device)); - brain_pin_markUnused(getMisoPin(device)); - brain_pin_markUnused(getMosiPin(device)); + efiSetPadUnused(getSckPin(device)); + efiSetPadUnused(getMisoPin(device)); + efiSetPadUnused(getMosiPin(device)); #endif /* HAL_USE_SPI */ } From 5390fccadaf908f40f047eb5c974f318a7f7a7b7 Mon Sep 17 00:00:00 2001 From: rusefillc Date: Thu, 26 Nov 2020 10:55:39 -0500 Subject: [PATCH 26/52] Starter is engaged on start-up in pull-up configuration #1969 --- firmware/hw_layer/drivers/can/can_hw.cpp | 4 ++-- firmware/hw_layer/drivers/serial/serial_hw.cpp | 6 +++--- firmware/hw_layer/hardware.cpp | 2 +- firmware/hw_layer/lcd/lcd_HD44780.cpp | 12 ++++++------ firmware/hw_layer/sensors/hip9011.cpp | 4 ++-- firmware/hw_layer/sensors/joystick.cpp | 6 +++--- firmware/hw_layer/smart_gpio.cpp | 8 ++++---- 7 files changed, 21 insertions(+), 21 deletions(-) diff --git a/firmware/hw_layer/drivers/can/can_hw.cpp b/firmware/hw_layer/drivers/can/can_hw.cpp index 88f69eb88e..fca0e7ac74 100644 --- a/firmware/hw_layer/drivers/can/can_hw.cpp +++ b/firmware/hw_layer/drivers/can/can_hw.cpp @@ -156,8 +156,8 @@ static brain_pin_e currentTxPin = GPIO_UNASSIGNED; static brain_pin_e currentRxPin = GPIO_UNASSIGNED; void stopCanPins(DECLARE_ENGINE_PARAMETER_SIGNATURE) { - brain_pin_markUnused(currentTxPin); - brain_pin_markUnused(currentRxPin); + efiSetPadUnused(currentTxPin); + efiSetPadUnused(currentRxPin); } void startCanPins(DECLARE_ENGINE_PARAMETER_SIGNATURE) { diff --git a/firmware/hw_layer/drivers/serial/serial_hw.cpp b/firmware/hw_layer/drivers/serial/serial_hw.cpp index f61d1fbfa2..a3b619c1f7 100644 --- a/firmware/hw_layer/drivers/serial/serial_hw.cpp +++ b/firmware/hw_layer/drivers/serial/serial_hw.cpp @@ -50,8 +50,8 @@ void enableAuxSerial(DECLARE_ENGINE_PARAMETER_SIGNATURE) { } void stopAuxSerialPins(DECLARE_ENGINE_PARAMETER_SIGNATURE) { - brain_pin_markUnused(activeConfiguration.auxSerialTxPin); - brain_pin_markUnused(activeConfiguration.auxSerialRxPin); + efiSetPadUnused(activeConfiguration.auxSerialTxPin); + efiSetPadUnused(activeConfiguration.auxSerialRxPin); } void startAuxSerialPins(DECLARE_ENGINE_PARAMETER_SIGNATURE) { @@ -90,4 +90,4 @@ void initAuxSerial(void) { serialRead.Start(); } -#endif // EFI_AUX_SERIAL \ No newline at end of file +#endif // EFI_AUX_SERIAL diff --git a/firmware/hw_layer/hardware.cpp b/firmware/hw_layer/hardware.cpp index bc634fd2c0..634659795d 100644 --- a/firmware/hw_layer/hardware.cpp +++ b/firmware/hw_layer/hardware.cpp @@ -371,7 +371,7 @@ void applyNewHardwareSettings(void) { stopBoostPin(); #endif if (isPinOrModeChanged(clutchUpPin, clutchUpPinMode)) { - brain_pin_markUnused(activeConfiguration.clutchUpPin); + efiSetPadUnused(activeConfiguration.clutchUpPin); } enginePins.unregisterPins(); diff --git a/firmware/hw_layer/lcd/lcd_HD44780.cpp b/firmware/hw_layer/lcd/lcd_HD44780.cpp index 1f10a36155..910c4a032b 100644 --- a/firmware/hw_layer/lcd/lcd_HD44780.cpp +++ b/firmware/hw_layer/lcd/lcd_HD44780.cpp @@ -169,12 +169,12 @@ static void lcdInfo(DECLARE_ENGINE_PARAMETER_SIGNATURE) { } void stopHD44780_pins() { - brain_pin_markUnused(activeConfiguration.HD44780_rs); - brain_pin_markUnused(activeConfiguration.HD44780_e); - brain_pin_markUnused(activeConfiguration.HD44780_db4); - brain_pin_markUnused(activeConfiguration.HD44780_db5); - brain_pin_markUnused(activeConfiguration.HD44780_db6); - brain_pin_markUnused(activeConfiguration.HD44780_db7); + efiSetPadUnused(activeConfiguration.HD44780_rs); + efiSetPadUnused(activeConfiguration.HD44780_e); + efiSetPadUnused(activeConfiguration.HD44780_db4); + efiSetPadUnused(activeConfiguration.HD44780_db5); + efiSetPadUnused(activeConfiguration.HD44780_db6); + efiSetPadUnused(activeConfiguration.HD44780_db7); } void startHD44780_pins() { diff --git a/firmware/hw_layer/sensors/hip9011.cpp b/firmware/hw_layer/sensors/hip9011.cpp index 98cf196d87..80aaa90fc1 100644 --- a/firmware/hw_layer/sensors/hip9011.cpp +++ b/firmware/hw_layer/sensors/hip9011.cpp @@ -386,8 +386,8 @@ static msg_t hipThread(void *arg) { void stopHip9001_pins() { #if EFI_PROD_CODE - brain_pin_markUnused(activeConfiguration.hip9011IntHoldPin); - brain_pin_markUnused(activeConfiguration.hip9011CsPin); + efiSetPadUnused(activeConfiguration.hip9011IntHoldPin); + efiSetPadUnused(activeConfiguration.hip9011CsPin); #endif /* EFI_PROD_CODE */ } diff --git a/firmware/hw_layer/sensors/joystick.cpp b/firmware/hw_layer/sensors/joystick.cpp index 9c72411725..488e74f311 100644 --- a/firmware/hw_layer/sensors/joystick.cpp +++ b/firmware/hw_layer/sensors/joystick.cpp @@ -95,9 +95,9 @@ static bool isJoystickEnabled() { } void stopJoystickPins() { - brain_pin_markUnused(activeConfiguration.joystickCenterPin); - brain_pin_markUnused(activeConfiguration.joystickAPin); - brain_pin_markUnused(activeConfiguration.joystickDPin); + efiSetPadUnused(activeConfiguration.joystickCenterPin); + efiSetPadUnused(activeConfiguration.joystickAPin); + efiSetPadUnused(activeConfiguration.joystickDPin); } void startJoystickPins() { diff --git a/firmware/hw_layer/smart_gpio.cpp b/firmware/hw_layer/smart_gpio.cpp index ead3204341..1f291a9d59 100644 --- a/firmware/hw_layer/smart_gpio.cpp +++ b/firmware/hw_layer/smart_gpio.cpp @@ -260,16 +260,16 @@ void initSmartGpio() { #if (BOARD_EXT_GPIOCHIPS > 0) void stopSmartCsPins() { #if (BOARD_TLE8888_COUNT > 0) - brain_pin_markUnused(activeConfiguration.tle8888_cs); + efiSetPadUnused(activeConfiguration.tle8888_cs); #endif /* BOARD_TLE8888_COUNT */ #if (BOARD_TLE6240_COUNT > 0) - brain_pin_markUnused(activeConfiguration.tle6240_cs); + efiSetPadUnused(activeConfiguration.tle6240_cs); #endif /* BOARD_TLE6240_COUNT */ #if (BOARD_MC33972_COUNT > 0) - brain_pin_markUnused(activeConfiguration.mc33972_cs); + efiSetPadUnused(activeConfiguration.mc33972_cs); #endif /* BOARD_MC33972_COUNT */ #if (BOARD_DRV8860_COUNT > 0) - brain_pin_markUnused(activeConfiguration.drv8860_cs); + efiSetPadUnused(activeConfiguration.drv8860_cs); #endif /* BOARD_DRV8860_COUNT */ } From f63e3c68fd10ad74f317288d3057df3b89792668 Mon Sep 17 00:00:00 2001 From: rusefillc Date: Thu, 26 Nov 2020 16:20:13 -0500 Subject: [PATCH 27/52] Starter is engaged on start-up in pull-up configuration #1969 --- firmware/config/engines/bmw_e34.cpp | 7 +++++++ firmware/controllers/system/efi_gpio.cpp | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/firmware/config/engines/bmw_e34.cpp b/firmware/config/engines/bmw_e34.cpp index 00b3aeaac3..ef12236e51 100644 --- a/firmware/config/engines/bmw_e34.cpp +++ b/firmware/config/engines/bmw_e34.cpp @@ -97,7 +97,11 @@ void setBmwE34(DECLARE_CONFIG_PARAMETER_SIGNATURE) { engineConfiguration->malfunctionIndicatorPin = GPIO_UNASSIGNED; +/* + * this configuration is used on HW CI - in HW CI 'inverted' would rightfully fail unless there is pull-up engineConfiguration->injectionPinMode = OM_INVERTED; + */ + engineConfiguration->injectionPins[0] = GPIOB_8; // #1 engineConfiguration->injectionPins[1] = GPIOE_2; // #2 engineConfiguration->injectionPins[2] = GPIOE_3; // #3 @@ -105,7 +109,10 @@ void setBmwE34(DECLARE_CONFIG_PARAMETER_SIGNATURE) { engineConfiguration->injectionPins[4] = GPIOE_5; // #5 engineConfiguration->injectionPins[5] = GPIOE_6; // #6 + /* + * this configuration is used on HW CI - in HW CI 'inverted' would rightfully fail unless there is pull-up engineConfiguration->ignitionPinMode = OM_INVERTED; +*/ engineConfiguration->ignitionPins[0] = GPIOB_5; // #1 engineConfiguration->ignitionPins[2] = GPIOB_6; // #3 diff --git a/firmware/controllers/system/efi_gpio.cpp b/firmware/controllers/system/efi_gpio.cpp index 52a7f6c5fe..ddfd173f73 100644 --- a/firmware/controllers/system/efi_gpio.cpp +++ b/firmware/controllers/system/efi_gpio.cpp @@ -551,7 +551,7 @@ void OutputPin::initPin(const char *msg, brain_pin_e brainPin, const pin_output_ actualValue = !actualValue; } if (actualValue) { - firmwareError(OBD_PCM_Processor_Fault, "startup pin state %s %d %d", hwPortname(brainPin), actualValue, *outputMode); + firmwareError(OBD_PCM_Processor_Fault, "%s: startup pin state %s value=%d mode=%s", msg, hwPortname(brainPin), actualValue, getPin_output_mode_e(*outputMode)); } } } From 0bd148d97dd76ba35d080098f29f630877efa944 Mon Sep 17 00:00:00 2001 From: rusefillc Date: Thu, 26 Nov 2020 16:56:18 -0500 Subject: [PATCH 28/52] Starter is engaged on start-up in pull-up configuration #1969 --- firmware/config/engines/bmw_e34.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/firmware/config/engines/bmw_e34.cpp b/firmware/config/engines/bmw_e34.cpp index ef12236e51..0d1ec0bf42 100644 --- a/firmware/config/engines/bmw_e34.cpp +++ b/firmware/config/engines/bmw_e34.cpp @@ -132,7 +132,10 @@ void setBmwE34(DECLARE_CONFIG_PARAMETER_SIGNATURE) { // idle engineConfiguration->idle.solenoidPin = GPIOC_14; + /* + * this configuration is used on HW CI - in HW CI 'inverted' would rightfully fail unless there is pull-up engineConfiguration->idle.solenoidPinMode = OM_INVERTED; +*/ engineConfiguration->idle.solenoidFrequency = 300; engineConfiguration->manIdlePosition = 50; // set_idle_pwm 50 From f5f97d60dfe15a0e5011388e143f178e4eef9213 Mon Sep 17 00:00:00 2001 From: rusefillc Date: Thu, 26 Nov 2020 16:58:02 -0500 Subject: [PATCH 29/52] Starter is engaged on start-up in pull-up configuration #1969 --- firmware/config/engines/rover_v8.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/firmware/config/engines/rover_v8.cpp b/firmware/config/engines/rover_v8.cpp index e2e3eeae3c..cfca77d50a 100644 --- a/firmware/config/engines/rover_v8.cpp +++ b/firmware/config/engines/rover_v8.cpp @@ -55,7 +55,10 @@ void setRoverv8(DECLARE_CONFIG_PARAMETER_SIGNATURE) { // set ignition_mode 2 engineConfiguration->ignitionMode = IM_WASTED_SPARK; + /* + * this configuration is used on HW CI - in HW CI 'inverted' would rightfully fail unless there is pull-up engineConfiguration->ignitionPinMode = OM_INVERTED; +*/ // set_ignition_channels engineConfiguration->ignitionPins[0] = GPIOE_8; // Frankenstein: low side - out #x (?) From 587975d69e82fe919df07819229a7b2939ff654e Mon Sep 17 00:00:00 2001 From: rusefillc Date: Thu, 26 Nov 2020 17:27:56 -0500 Subject: [PATCH 30/52] Starter is engaged on start-up in pull-up configuration #1969 --- firmware/integration/rusefi_config.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/firmware/integration/rusefi_config.txt b/firmware/integration/rusefi_config.txt index c8172ba5e9..c6c4689822 100644 --- a/firmware/integration/rusefi_config.txt +++ b/firmware/integration/rusefi_config.txt @@ -1713,6 +1713,7 @@ end_struct #define CMD_ENGINE_TYPE "engine_type" #define CMD_INJECTION "injection" #define CMD_IGNITION "ignition" +#define CMD_PWM "pwm" #define CMD_TRIGGERINFO "triggerinfo" #define CMD_WRITECONFIG "writeconfig" #define CMD_DATE "date" From 2f30ac1575effe9f4107b701c6871f386db6294e Mon Sep 17 00:00:00 2001 From: GitHub build-firmware Action Date: Thu, 26 Nov 2020 22:30:00 +0000 Subject: [PATCH 31/52] Auto-generated configs and docs --- firmware/controllers/generated/fsio_enums_generated.def | 2 +- firmware/controllers/generated/fsio_getters.def | 2 +- firmware/controllers/generated/fsio_names.def | 2 +- firmware/controllers/generated/fsio_strings.def | 2 +- firmware/controllers/generated/signature_all.h | 6 +++--- firmware/controllers/generated/signature_frankenso_na6.h | 6 +++--- firmware/controllers/generated/signature_hellen_cypress.h | 6 +++--- firmware/controllers/generated/signature_kin.h | 6 +++--- firmware/controllers/generated/signature_mre_f4.h | 6 +++--- firmware/controllers/generated/signature_mre_f7.h | 6 +++--- firmware/controllers/generated/signature_prometheus_405.h | 6 +++--- firmware/controllers/generated/signature_prometheus_469.h | 6 +++--- firmware/controllers/generated/signature_proteus_f4.h | 6 +++--- firmware/controllers/generated/signature_proteus_f7.h | 6 +++--- 14 files changed, 34 insertions(+), 34 deletions(-) diff --git a/firmware/controllers/generated/fsio_enums_generated.def b/firmware/controllers/generated/fsio_enums_generated.def index 36620f0d27..42abac791b 100644 --- a/firmware/controllers/generated/fsio_enums_generated.def +++ b/firmware/controllers/generated/fsio_enums_generated.def @@ -1,4 +1,4 @@ -// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Wed Nov 25 18:20:57 UTC 2020 +// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Nov 26 22:29:07 UTC 2020 // by class com.rusefi.output.FileFsioSettingsConsumer FSIO_SETTING_FANONTEMPERATURE = 1000, diff --git a/firmware/controllers/generated/fsio_getters.def b/firmware/controllers/generated/fsio_getters.def index dafcd30140..d9bf5932de 100644 --- a/firmware/controllers/generated/fsio_getters.def +++ b/firmware/controllers/generated/fsio_getters.def @@ -1,4 +1,4 @@ -// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Wed Nov 25 18:20:57 UTC 2020 +// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Nov 26 22:29:07 UTC 2020 // by class com.rusefi.output.FileFsioSettingsConsumer case FSIO_SETTING_FANONTEMPERATURE: diff --git a/firmware/controllers/generated/fsio_names.def b/firmware/controllers/generated/fsio_names.def index c0bb21f6a2..41c098703e 100644 --- a/firmware/controllers/generated/fsio_names.def +++ b/firmware/controllers/generated/fsio_names.def @@ -1,4 +1,4 @@ -// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Wed Nov 25 18:20:57 UTC 2020 +// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Nov 26 22:29:07 UTC 2020 // by class com.rusefi.output.FileFsioSettingsConsumer static LENameOrdinalPair lefanOnTemperature(FSIO_SETTING_FANONTEMPERATURE, "cfg_fanOnTemperature"); diff --git a/firmware/controllers/generated/fsio_strings.def b/firmware/controllers/generated/fsio_strings.def index 7509cec2f0..0e36c28a30 100644 --- a/firmware/controllers/generated/fsio_strings.def +++ b/firmware/controllers/generated/fsio_strings.def @@ -1,4 +1,4 @@ -// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Wed Nov 25 18:20:57 UTC 2020 +// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Nov 26 22:29:07 UTC 2020 // by class com.rusefi.output.FileFsioSettingsConsumer case FSIO_SETTING_FANONTEMPERATURE: diff --git a/firmware/controllers/generated/signature_all.h b/firmware/controllers/generated/signature_all.h index f94ba6a74e..b6fd64c610 100644 --- a/firmware/controllers/generated/signature_all.h +++ b/firmware/controllers/generated/signature_all.h @@ -3,6 +3,6 @@ // #define SIGNATURE_BOARD all -#define SIGNATURE_DATE 2020.11.25 -#define SIGNATURE_HASH 822932680 -#define TS_SIGNATURE "rusEFI 2020.11.25.all.822932680" +#define SIGNATURE_DATE 2020.11.26 +#define SIGNATURE_HASH 1402156278 +#define TS_SIGNATURE "rusEFI 2020.11.26.all.1402156278" diff --git a/firmware/controllers/generated/signature_frankenso_na6.h b/firmware/controllers/generated/signature_frankenso_na6.h index 6e05f1ae40..5c9b87c6ff 100644 --- a/firmware/controllers/generated/signature_frankenso_na6.h +++ b/firmware/controllers/generated/signature_frankenso_na6.h @@ -3,6 +3,6 @@ // #define SIGNATURE_BOARD frankenso_na6 -#define SIGNATURE_DATE 2020.11.25 -#define SIGNATURE_HASH 2809939251 -#define TS_SIGNATURE "rusEFI 2020.11.25.frankenso_na6.2809939251" +#define SIGNATURE_DATE 2020.11.26 +#define SIGNATURE_HASH 3320022285 +#define TS_SIGNATURE "rusEFI 2020.11.26.frankenso_na6.3320022285" diff --git a/firmware/controllers/generated/signature_hellen_cypress.h b/firmware/controllers/generated/signature_hellen_cypress.h index 3d4809ed4d..45d6d9f7a9 100644 --- a/firmware/controllers/generated/signature_hellen_cypress.h +++ b/firmware/controllers/generated/signature_hellen_cypress.h @@ -3,6 +3,6 @@ // #define SIGNATURE_BOARD hellen_cypress -#define SIGNATURE_DATE 2020.11.25 -#define SIGNATURE_HASH 4177351179 -#define TS_SIGNATURE "rusEFI 2020.11.25.hellen_cypress.4177351179" +#define SIGNATURE_DATE 2020.11.26 +#define SIGNATURE_HASH 2590151221 +#define TS_SIGNATURE "rusEFI 2020.11.26.hellen_cypress.2590151221" diff --git a/firmware/controllers/generated/signature_kin.h b/firmware/controllers/generated/signature_kin.h index 392d40b68a..438e239b6b 100644 --- a/firmware/controllers/generated/signature_kin.h +++ b/firmware/controllers/generated/signature_kin.h @@ -3,6 +3,6 @@ // #define SIGNATURE_BOARD kin -#define SIGNATURE_DATE 2020.11.25 -#define SIGNATURE_HASH 2850121969 -#define TS_SIGNATURE "rusEFI 2020.11.25.kin.2850121969" +#define SIGNATURE_DATE 2020.11.26 +#define SIGNATURE_HASH 3414075599 +#define TS_SIGNATURE "rusEFI 2020.11.26.kin.3414075599" diff --git a/firmware/controllers/generated/signature_mre_f4.h b/firmware/controllers/generated/signature_mre_f4.h index b1abf06a4a..9869cfaee4 100644 --- a/firmware/controllers/generated/signature_mre_f4.h +++ b/firmware/controllers/generated/signature_mre_f4.h @@ -3,6 +3,6 @@ // #define SIGNATURE_BOARD mre_f4 -#define SIGNATURE_DATE 2020.11.25 -#define SIGNATURE_HASH 651963057 -#define TS_SIGNATURE "rusEFI 2020.11.25.mre_f4.651963057" +#define SIGNATURE_DATE 2020.11.26 +#define SIGNATURE_HASH 1145301647 +#define TS_SIGNATURE "rusEFI 2020.11.26.mre_f4.1145301647" diff --git a/firmware/controllers/generated/signature_mre_f7.h b/firmware/controllers/generated/signature_mre_f7.h index 7a39930173..624a38b053 100644 --- a/firmware/controllers/generated/signature_mre_f7.h +++ b/firmware/controllers/generated/signature_mre_f7.h @@ -3,6 +3,6 @@ // #define SIGNATURE_BOARD mre_f7 -#define SIGNATURE_DATE 2020.11.25 -#define SIGNATURE_HASH 651963057 -#define TS_SIGNATURE "rusEFI 2020.11.25.mre_f7.651963057" +#define SIGNATURE_DATE 2020.11.26 +#define SIGNATURE_HASH 1145301647 +#define TS_SIGNATURE "rusEFI 2020.11.26.mre_f7.1145301647" diff --git a/firmware/controllers/generated/signature_prometheus_405.h b/firmware/controllers/generated/signature_prometheus_405.h index 6dcb196cee..f696447ca7 100644 --- a/firmware/controllers/generated/signature_prometheus_405.h +++ b/firmware/controllers/generated/signature_prometheus_405.h @@ -3,6 +3,6 @@ // #define SIGNATURE_BOARD prometheus_405 -#define SIGNATURE_DATE 2020.11.25 -#define SIGNATURE_HASH 1943335577 -#define TS_SIGNATURE "rusEFI 2020.11.25.prometheus_405.1943335577" +#define SIGNATURE_DATE 2020.11.26 +#define SIGNATURE_HASH 290140839 +#define TS_SIGNATURE "rusEFI 2020.11.26.prometheus_405.290140839" diff --git a/firmware/controllers/generated/signature_prometheus_469.h b/firmware/controllers/generated/signature_prometheus_469.h index 07edbc63f7..0c56802584 100644 --- a/firmware/controllers/generated/signature_prometheus_469.h +++ b/firmware/controllers/generated/signature_prometheus_469.h @@ -3,6 +3,6 @@ // #define SIGNATURE_BOARD prometheus_469 -#define SIGNATURE_DATE 2020.11.25 -#define SIGNATURE_HASH 1943335577 -#define TS_SIGNATURE "rusEFI 2020.11.25.prometheus_469.1943335577" +#define SIGNATURE_DATE 2020.11.26 +#define SIGNATURE_HASH 290140839 +#define TS_SIGNATURE "rusEFI 2020.11.26.prometheus_469.290140839" diff --git a/firmware/controllers/generated/signature_proteus_f4.h b/firmware/controllers/generated/signature_proteus_f4.h index 62e92acc1b..c4d8caf23f 100644 --- a/firmware/controllers/generated/signature_proteus_f4.h +++ b/firmware/controllers/generated/signature_proteus_f4.h @@ -3,6 +3,6 @@ // #define SIGNATURE_BOARD proteus_f4 -#define SIGNATURE_DATE 2020.11.25 -#define SIGNATURE_HASH 4171677206 -#define TS_SIGNATURE "rusEFI 2020.11.25.proteus_f4.4171677206" +#define SIGNATURE_DATE 2020.11.26 +#define SIGNATURE_HASH 2587459112 +#define TS_SIGNATURE "rusEFI 2020.11.26.proteus_f4.2587459112" diff --git a/firmware/controllers/generated/signature_proteus_f7.h b/firmware/controllers/generated/signature_proteus_f7.h index d802749c00..f9993202a6 100644 --- a/firmware/controllers/generated/signature_proteus_f7.h +++ b/firmware/controllers/generated/signature_proteus_f7.h @@ -3,6 +3,6 @@ // #define SIGNATURE_BOARD proteus_f7 -#define SIGNATURE_DATE 2020.11.25 -#define SIGNATURE_HASH 4171677206 -#define TS_SIGNATURE "rusEFI 2020.11.25.proteus_f7.4171677206" +#define SIGNATURE_DATE 2020.11.26 +#define SIGNATURE_HASH 2587459112 +#define TS_SIGNATURE "rusEFI 2020.11.26.proteus_f7.2587459112" From 41a02a01531d2d0b585f08d9bffc894c79257384 Mon Sep 17 00:00:00 2001 From: rusefillc Date: Thu, 26 Nov 2020 17:48:09 -0500 Subject: [PATCH 32/52] Starter is engaged on start-up in pull-up configuration #1969 --- firmware/controllers/algo/engine.h | 1 + firmware/controllers/settings.cpp | 2 ++ .../system/timer/pwm_generator_logic.cpp | 15 ++++++++++++++- 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/firmware/controllers/algo/engine.h b/firmware/controllers/algo/engine.h index 6acd9ccade..6a58816a7f 100644 --- a/firmware/controllers/algo/engine.h +++ b/firmware/controllers/algo/engine.h @@ -79,6 +79,7 @@ class Engine final : public TriggerStateListener { public: explicit Engine(persistent_config_s *config); Engine(); + bool isPwmEnabled = true; IEtbController *etbControllers[ETB_COUNT] = {nullptr}; IFuelComputer *fuelComputer = nullptr; diff --git a/firmware/controllers/settings.cpp b/firmware/controllers/settings.cpp index 9904f0eee1..88a7621f5d 100644 --- a/firmware/controllers/settings.cpp +++ b/firmware/controllers/settings.cpp @@ -898,6 +898,8 @@ static void enableOrDisable(const char *param, bool isEnabled) { engineConfiguration->canWriteEnabled = isEnabled; } else if (strEqualCaseInsensitive(param, CMD_INJECTION)) { engineConfiguration->isInjectionEnabled = isEnabled; + } else if (strEqualCaseInsensitive(param, CMD_PWM)) { + engine->isPwmEnabled = isEnabled; } else if (strEqualCaseInsensitive(param, "trigger_details")) { engineConfiguration->verboseTriggerSynchDetails = isEnabled; } else if (strEqualCaseInsensitive(param, "vvt_details")) { diff --git a/firmware/controllers/system/timer/pwm_generator_logic.cpp b/firmware/controllers/system/timer/pwm_generator_logic.cpp index 8e7e446936..84ad78ef57 100644 --- a/firmware/controllers/system/timer/pwm_generator_logic.cpp +++ b/firmware/controllers/system/timer/pwm_generator_logic.cpp @@ -13,9 +13,12 @@ #include "pwm_generator_logic.h" #include "perf_trace.h" +EXTERN_ENGINE; + #if EFI_PROD_CODE #include "mpu_util.h" -#endif +#include "engine.h" +#endif // EFI_PROD_CODE // 1% duty cycle #define ZERO_PWM_THRESHOLD 0.01 @@ -375,6 +378,16 @@ void startSimplePwmHard(SimplePwm *state, const char *msg, * This method takes ~350 ticks. */ void applyPinState(int stateIndex, PwmConfig *state) /* pwm_gen_callback */ { +#if EFI_PROD_CODE + if (!engine->isPwmEnabled) { + for (int channelIndex = 0; channelIndex < state->multiChannelStateSequence.waveCount; channelIndex++) { + OutputPin *output = state->outputPins[channelIndex]; + output->setValue(0); + } + return; + } +#endif // EFI_PROD_CODE + efiAssertVoid(CUSTOM_ERR_6663, stateIndex < PWM_PHASE_MAX_COUNT, "invalid stateIndex"); efiAssertVoid(CUSTOM_ERR_6664, state->multiChannelStateSequence.waveCount <= PWM_PHASE_MAX_WAVE_PER_PWM, "invalid waveCount"); for (int channelIndex = 0; channelIndex < state->multiChannelStateSequence.waveCount; channelIndex++) { From c8f1c7f8c7d5be1cd84598cbe71f8ae996b10a02 Mon Sep 17 00:00:00 2001 From: rusefillc Date: Thu, 26 Nov 2020 17:53:01 -0500 Subject: [PATCH 33/52] Starter is engaged on start-up in pull-up configuration #1969 --- .../autotest/src/com/rusefi/functional_tests/BaseTest.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/java_console/autotest/src/com/rusefi/functional_tests/BaseTest.java b/java_console/autotest/src/com/rusefi/functional_tests/BaseTest.java index 1fb08c7e6a..4843fc5ce6 100644 --- a/java_console/autotest/src/com/rusefi/functional_tests/BaseTest.java +++ b/java_console/autotest/src/com/rusefi/functional_tests/BaseTest.java @@ -62,12 +62,14 @@ public class BaseTest { sendCommand(getDisableCommand(Fields.CMD_SELF_STIMULATION)); sendCommand(getDisableCommand(Fields.CMD_INJECTION)); sendCommand(getDisableCommand(Fields.CMD_IGNITION)); + sendCommand(getDisableCommand(Fields.CMD_PWM)); // changing engine type while engine is running does not work well - we rightfully // get invalid configuration critical errors sleepSeconds(2); sendCommand("set " + Fields.CMD_ENGINE_TYPE + " " + type, COMPLEX_COMMAND_RETRY, Timeouts.SET_ENGINE_TIMEOUT); // TODO: document the reason for this sleep?! sleepSeconds(3); + sendCommand(getEnableCommand(Fields.CMD_PWM)); sendCommand(getEnableCommand(Fields.CMD_SELF_STIMULATION)); } } From e01c07e5e604e8d07044ed443785e32c2882d91a Mon Sep 17 00:00:00 2001 From: rusefillc Date: Thu, 26 Nov 2020 18:42:23 -0500 Subject: [PATCH 34/52] Starter is engaged on start-up in pull-up configuration #1969 --- .../autotest/src/com/rusefi/functional_tests/BaseTest.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/java_console/autotest/src/com/rusefi/functional_tests/BaseTest.java b/java_console/autotest/src/com/rusefi/functional_tests/BaseTest.java index 4843fc5ce6..2169e330aa 100644 --- a/java_console/autotest/src/com/rusefi/functional_tests/BaseTest.java +++ b/java_console/autotest/src/com/rusefi/functional_tests/BaseTest.java @@ -59,6 +59,12 @@ public class BaseTest { log.info("AUTOTEST setEngineType " + type); currentEngineType = type; // sendCommand(CMD_PINS); + /* + * we need to stop all activity - that means: + * - stopping input event + * - waiting for scheduled actuator actions to run out + * - disabling PWM + */ sendCommand(getDisableCommand(Fields.CMD_SELF_STIMULATION)); sendCommand(getDisableCommand(Fields.CMD_INJECTION)); sendCommand(getDisableCommand(Fields.CMD_IGNITION)); From cf1c99b36c6bd985fdc4d5ba81cf102c90303a6e Mon Sep 17 00:00:00 2001 From: Matthew Kennedy Date: Thu, 26 Nov 2020 16:21:42 -0800 Subject: [PATCH 35/52] fix etb unit test idle hardware (#1991) * move check to etb * give it a sensor to read --- firmware/controllers/actuators/electronic_throttle.cpp | 5 +++++ firmware/controllers/actuators/idle_hardware.cpp | 8 -------- unit_tests/engine_test_helper.h | 2 ++ unit_tests/tests/test_start_stop.cpp | 3 ++- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/firmware/controllers/actuators/electronic_throttle.cpp b/firmware/controllers/actuators/electronic_throttle.cpp index d34ed62a23..0c441c0247 100644 --- a/firmware/controllers/actuators/electronic_throttle.cpp +++ b/firmware/controllers/actuators/electronic_throttle.cpp @@ -910,6 +910,11 @@ void initElectronicThrottle(DECLARE_ENGINE_PARAMETER_SIGNATURE) { } void setEtbIdlePosition(percent_t pos DECLARE_ENGINE_PARAMETER_SUFFIX) { + if (!Sensor::hasSensor(SensorType::AcceleratorPedal)) { + firmwareError(CUSTOM_NO_ETB_FOR_IDLE, "No ETB to use for idle"); + return; + } + for (int i = 0; i < ETB_COUNT; i++) { if (auto etb = engine->etbControllers[i]) { etb->setIdlePosition(pos); diff --git a/firmware/controllers/actuators/idle_hardware.cpp b/firmware/controllers/actuators/idle_hardware.cpp index ef4fb2fb5c..9f1cbb024f 100644 --- a/firmware/controllers/actuators/idle_hardware.cpp +++ b/firmware/controllers/actuators/idle_hardware.cpp @@ -55,14 +55,6 @@ void applyIACposition(percent_t position DECLARE_ENGINE_PARAMETER_SUFFIX) { float duty = PERCENT_TO_DUTY(position); if (CONFIG(useETBforIdleControl)) { - if (!Sensor::hasSensor(SensorType::AcceleratorPedal)) { -//todo: something is wrong here in unit test mode? -#if !EFI_UNIT_TEST - firmwareError(CUSTOM_NO_ETB_FOR_IDLE, "No ETB to use for idle"); -#endif - return; - } - #if EFI_ELECTRONIC_THROTTLE_BODY setEtbIdlePosition(position PASS_ENGINE_PARAMETER_SUFFIX); #endif // EFI_ELECTRONIC_THROTTLE_BODY diff --git a/unit_tests/engine_test_helper.h b/unit_tests/engine_test_helper.h index 9778e590d4..00f9d61824 100644 --- a/unit_tests/engine_test_helper.h +++ b/unit_tests/engine_test_helper.h @@ -17,6 +17,8 @@ #include "sensor.h" #include "mocks.h" +#include + extern EnginePins enginePins; class EngineTestHelperBase diff --git a/unit_tests/tests/test_start_stop.cpp b/unit_tests/tests/test_start_stop.cpp index 661bfea3a5..165e5bdc96 100644 --- a/unit_tests/tests/test_start_stop.cpp +++ b/unit_tests/tests/test_start_stop.cpp @@ -9,7 +9,8 @@ #include "engine_controller.h" TEST(start, startStop) { - WITH_ENGINE_TEST_HELPER(BMW_M73_PROTEUS); + std::unordered_map sensorVals = {{ SensorType::AcceleratorPedal, 0 }}; + WITH_ENGINE_TEST_HELPER_SENS(BMW_M73_PROTEUS, sensorVals); eth.smartMoveTimeForwardSeconds(1); // '0' time has special meaning for implementation so let's move forward // this is a pull-up, so 'true' on start-up From 7f3b91a5388f6b57752f9833de831ccadd2d9ec3 Mon Sep 17 00:00:00 2001 From: GitHub set-date Action Date: Fri, 27 Nov 2020 00:42:43 +0000 Subject: [PATCH 36/52] Update date --- firmware/controllers/date_stamp.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/firmware/controllers/date_stamp.h b/firmware/controllers/date_stamp.h index 74369bd7f4..eaa4c504d3 100644 --- a/firmware/controllers/date_stamp.h +++ b/firmware/controllers/date_stamp.h @@ -1,2 +1,2 @@ #pragma once -#define VCS_DATE 20201126 +#define VCS_DATE 20201127 From 96ca95bd1e38724731f01b0881c56c8f73abe2e3 Mon Sep 17 00:00:00 2001 From: rusefillc Date: Thu, 26 Nov 2020 20:26:12 -0500 Subject: [PATCH 37/52] dead engine config --- firmware/config/engines/mazda_miata.cpp | 20 ------------------- firmware/config/engines/mazda_miata.h | 1 - .../controllers/algo/engine_configuration.cpp | 4 +--- 3 files changed, 1 insertion(+), 24 deletions(-) diff --git a/firmware/config/engines/mazda_miata.cpp b/firmware/config/engines/mazda_miata.cpp index fe6e18832d..39b98cff0d 100644 --- a/firmware/config/engines/mazda_miata.cpp +++ b/firmware/config/engines/mazda_miata.cpp @@ -247,26 +247,6 @@ static void setMiata1994_common(DECLARE_CONFIG_PARAMETER_SIGNATURE) { // end of 1994 commond } -/** - * Frankenso board - * set engine_type 20 - */ -void setMiata1994_d(DECLARE_CONFIG_PARAMETER_SIGNATURE) { - setMiata1994_common(PASS_CONFIG_PARAMETER_SIGNATURE); - - engineConfiguration->vbattDividerCoeff = ((float) (8.2 + 33)) / 8.2 * 2; - /** - * This board was avoiding PE0 & PE1 mosfets altogether - */ - engineConfiguration->injectionPins[0] = GPIOD_7; // avoiding PE1 - engineConfiguration->injectionPins[1] = GPIOE_2; - engineConfiguration->injectionPins[2] = GPIOB_8; - engineConfiguration->injectionPins[3] = GPIOB_7; - - // todo: add the diode? change idle valve logic? - engineConfiguration->idle.solenoidPin = GPIO_UNASSIGNED; -} - /** * Tom tomiata, Frankenstein board */ diff --git a/firmware/config/engines/mazda_miata.h b/firmware/config/engines/mazda_miata.h index 0062bd5702..754144c310 100644 --- a/firmware/config/engines/mazda_miata.h +++ b/firmware/config/engines/mazda_miata.h @@ -15,5 +15,4 @@ void common079721_2351(DECLARE_CONFIG_PARAMETER_SIGNATURE); void setMiata1990(DECLARE_CONFIG_PARAMETER_SIGNATURE); -void setMiata1994_d(DECLARE_CONFIG_PARAMETER_SIGNATURE); void setMiata1996(DECLARE_CONFIG_PARAMETER_SIGNATURE); diff --git a/firmware/controllers/algo/engine_configuration.cpp b/firmware/controllers/algo/engine_configuration.cpp index 19bdb6a489..6e543e7a67 100644 --- a/firmware/controllers/algo/engine_configuration.cpp +++ b/firmware/controllers/algo/engine_configuration.cpp @@ -1168,6 +1168,7 @@ void resetConfigurationExt(Logging * logger, configuration_callback_t boardCallb // todo: is it time to replace MICRO_RUS_EFI, PROTEUS, PROMETHEUS_DEFAULTS with MINIMAL_PINS? maybe rename MINIMAL_PINS to DEFAULT? case PROTEUS: case PROMETHEUS_DEFAULTS: + case MIATA_1994_DEVIATOR: case MINIMAL_PINS: // all basic settings are already set in prepareVoidConfiguration(), no need to set anything here // nothing to do - we do it all in setBoardConfigurationOverrides @@ -1311,9 +1312,6 @@ void resetConfigurationExt(Logging * logger, configuration_callback_t boardCallb case MIATA_1990: setMiata1990(PASS_CONFIG_PARAMETER_SIGNATURE); break; - case MIATA_1994_DEVIATOR: - setMiata1994_d(PASS_CONFIG_PARAMETER_SIGNATURE); - break; case MIATA_1996: setMiata1996(PASS_CONFIG_PARAMETER_SIGNATURE); break; From 701f0b2e201e2bfcff400abe22a3451c869ba78d Mon Sep 17 00:00:00 2001 From: rusefillc Date: Thu, 26 Nov 2020 20:53:44 -0500 Subject: [PATCH 38/52] dead engine config --- unit_tests/tests/trigger/test_trigger_decoder.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/unit_tests/tests/trigger/test_trigger_decoder.cpp b/unit_tests/tests/trigger/test_trigger_decoder.cpp index 3076ab023e..bc68724b6b 100644 --- a/unit_tests/tests/trigger/test_trigger_decoder.cpp +++ b/unit_tests/tests/trigger/test_trigger_decoder.cpp @@ -525,7 +525,6 @@ TEST(misc, testTriggerDecoder) { } testTriggerDecoder2("miata 1990", MIATA_1990, 11, 0.2985, 0.3890); - testTriggerDecoder3("miata 1994", MIATA_1994_DEVIATOR, 11, 0.2985, 0.3890, MIATA_NA_GAP); testTriggerDecoder3("citroen", CITROEN_TU3JP, 0, 0.4833, 0.0, 2.9994); testTriggerDecoder2("CAMARO_4", CAMARO_4, 40, 0.5, 0); From 0f39f37bba24b143942b946c36c40d1911775b0a Mon Sep 17 00:00:00 2001 From: rusefillc Date: Thu, 26 Nov 2020 21:07:34 -0500 Subject: [PATCH 39/52] dead engine config --- .../config/engines/chevrolet_c20_1973.cpp | 46 ------------- firmware/config/engines/chevrolet_c20_1973.h | 13 ---- firmware/config/engines/engines.mk | 2 - firmware/config/engines/nissan_primera.cpp | 14 ---- firmware/config/engines/nissan_primera.h | 1 - firmware/config/engines/zil130.cpp | 69 ------------------- firmware/config/engines/zil130.h | 13 ---- .../controllers/algo/engine_configuration.cpp | 14 +--- 8 files changed, 3 insertions(+), 169 deletions(-) delete mode 100644 firmware/config/engines/chevrolet_c20_1973.cpp delete mode 100644 firmware/config/engines/chevrolet_c20_1973.h delete mode 100644 firmware/config/engines/zil130.cpp delete mode 100644 firmware/config/engines/zil130.h diff --git a/firmware/config/engines/chevrolet_c20_1973.cpp b/firmware/config/engines/chevrolet_c20_1973.cpp deleted file mode 100644 index dae009f231..0000000000 --- a/firmware/config/engines/chevrolet_c20_1973.cpp +++ /dev/null @@ -1,46 +0,0 @@ -/* - * @file chevrolet_c20_1973.cpp - * - * most stuff is from a 1991 - * 5.7L SBC - * 4 wire IAC - * 8 pin HEI module - * - * set engine_type 37 - * - * - * @date Dec 20, 2015 - * @author Andrey Belomutskiy, (c) 2012-2020 - */ - -#include "chevrolet_c20_1973.h" -#include "engine_math.h" - -EXTERN_CONFIG; - -void set1973c20(DECLARE_CONFIG_PARAMETER_SIGNATURE) { - - engineConfiguration->specs.displacement = 5.7; - engineConfiguration->specs.cylindersCount = 8; - - setOperationMode(engineConfiguration, FOUR_STROKE_CAM_SENSOR); - - engineConfiguration->ignitionMode = IM_ONE_COIL; - engineConfiguration->specs.firingOrder = FO_1_8_4_3_6_5_7_2; - engineConfiguration->crankingInjectionMode = IM_SIMULTANEOUS; - engineConfiguration->injectionMode = IM_SIMULTANEOUS; - - /** - * 8/0 toothed wheel - */ - engineConfiguration->trigger.type = TT_TOOTHED_WHEEL; - engineConfiguration->trigger.customTotalToothCount = 8; - engineConfiguration->trigger.customSkippedToothCount = 0; - - engineConfiguration->rpmHardLimit = 5000; - setAlgorithm(LM_SPEED_DENSITY PASS_CONFIG_PARAMETER_SUFFIX); - - -} - - diff --git a/firmware/config/engines/chevrolet_c20_1973.h b/firmware/config/engines/chevrolet_c20_1973.h deleted file mode 100644 index c91cb0255f..0000000000 --- a/firmware/config/engines/chevrolet_c20_1973.h +++ /dev/null @@ -1,13 +0,0 @@ -/* - * @file chevrolet_c20_1973.h - * - * @date Dec 20, 2015 - * @author Andrey Belomutskiy, (c) 2012-2020 - */ - -#pragma once - -#include "engine_configuration.h" - -void set1973c20(DECLARE_CONFIG_PARAMETER_SIGNATURE); - diff --git a/firmware/config/engines/engines.mk b/firmware/config/engines/engines.mk index c0049aebf7..d42e3adba8 100644 --- a/firmware/config/engines/engines.mk +++ b/firmware/config/engines/engines.mk @@ -30,10 +30,8 @@ ENGINES_SRC_CPP = $(PROJECT_DIR)/config/engines/ford_aspire.cpp \ $(PROJECT_DIR)/config/engines/vw.cpp \ $(PROJECT_DIR)/config/engines/vw_b6.cpp \ $(PROJECT_DIR)/config/engines/chevrolet_camaro_4.cpp \ - $(PROJECT_DIR)/config/engines/chevrolet_c20_1973.cpp \ $(PROJECT_DIR)/config/engines/toyota_jzs147.cpp \ $(PROJECT_DIR)/config/engines/lada_kalina.cpp \ - $(PROJECT_DIR)/config/engines/zil130.cpp \ $(PROJECT_DIR)/config/engines/honda_600.cpp \ $(PROJECT_DIR)/config/engines/me7pnp.cpp \ $(PROJECT_DIR)/config/engines/ford_festiva.cpp \ diff --git a/firmware/config/engines/nissan_primera.cpp b/firmware/config/engines/nissan_primera.cpp index 0df1bfc048..573179f0d2 100644 --- a/firmware/config/engines/nissan_primera.cpp +++ b/firmware/config/engines/nissan_primera.cpp @@ -14,20 +14,6 @@ EXTERN_CONFIG; -void setNissanPrimeraEngineConfiguration(DECLARE_CONFIG_PARAMETER_SIGNATURE) { - setDefaultFrankensoConfiguration(PASS_CONFIG_PARAMETER_SIGNATURE); - - engineConfiguration->trigger.type = TT_NISSAN_SR20VE; - - engineConfiguration->ignitionPins[0] = GPIOD_7; - engineConfiguration->ignitionPins[1] = GPIO_UNASSIGNED; - engineConfiguration->ignitionPins[2] = GPIOD_6; - - - engineConfiguration->auxValves[0] = GPIOE_14; - engineConfiguration->auxValves[1] = GPIOE_12; -} - void setNissanPrimeraEngineConfiguration_360(DECLARE_CONFIG_PARAMETER_SIGNATURE) { engineConfiguration->trigger.type = TT_NISSAN_SR20VE_360; } diff --git a/firmware/config/engines/nissan_primera.h b/firmware/config/engines/nissan_primera.h index 93ea1d1546..e9a9f57ccf 100644 --- a/firmware/config/engines/nissan_primera.h +++ b/firmware/config/engines/nissan_primera.h @@ -9,5 +9,4 @@ #include "engine_configuration.h" -void setNissanPrimeraEngineConfiguration(DECLARE_CONFIG_PARAMETER_SIGNATURE); void setNissanPrimeraEngineConfiguration_360(DECLARE_CONFIG_PARAMETER_SIGNATURE); diff --git a/firmware/config/engines/zil130.cpp b/firmware/config/engines/zil130.cpp deleted file mode 100644 index a2c59de6d1..0000000000 --- a/firmware/config/engines/zil130.cpp +++ /dev/null @@ -1,69 +0,0 @@ -/* - * @file zil130.cpp - * - * http://rusefi.com/forum/viewtopic.php?f=15&t=644 - * - * set engine_type 42 - * - * @date May 4, 2016 - * @author Andrey Belomutskiy, (c) 2012-2020 - */ - -#include "engine_template.h" -#include "custom_engine.h" - -EXTERN_CONFIG; - -void setZil130(DECLARE_CONFIG_PARAMETER_SIGNATURE) { - setFrankensoConfiguration(PASS_CONFIG_PARAMETER_SIGNATURE); - - engineConfiguration->specs.cylindersCount = 8; - - engineConfiguration->specs.displacement = 5.9; - engineConfiguration->specs.firingOrder = FO_1_5_4_2_6_3_7_8; - engineConfiguration->injectionMode = IM_BATCH; - engineConfiguration->ignitionMode = IM_WASTED_SPARK; - engineConfiguration->useOnlyRisingEdgeForTrigger = true; - - engineConfiguration->trigger.type = TT_TOOTHED_WHEEL; - engineConfiguration->trigger.customTotalToothCount = 30; - engineConfiguration->trigger.customSkippedToothCount = 1; - - - - engineConfiguration->malfunctionIndicatorPin = GPIO_UNASSIGNED; -// engineConfiguration->twoWireBatchInjection = true; - engineConfiguration->injectionPinMode = OM_INVERTED; - engineConfiguration->injectionPins[0] = GPIOB_8; // #1 - engineConfiguration->injectionPins[1] = GPIOE_2; // #2 - engineConfiguration->injectionPins[2] = GPIOE_3; // #3 - engineConfiguration->injectionPins[3] = GPIOE_4; // #4 - engineConfiguration->injectionPins[4] = GPIO_UNASSIGNED; // #5 - engineConfiguration->injectionPins[5] = GPIO_UNASSIGNED; // #6 - engineConfiguration->injectionPins[6] = GPIO_UNASSIGNED; - engineConfiguration->injectionPins[5] = GPIO_UNASSIGNED; - - engineConfiguration->ignitionPins[0] = GPIOB_5; // #1 - engineConfiguration->ignitionPins[1] = GPIOB_6; // #2 - engineConfiguration->ignitionPins[2] = GPIO_UNASSIGNED; // #3 - engineConfiguration->ignitionPins[3] = GPIOB_7; // #4 - engineConfiguration->ignitionPins[4] = GPIOC_7; // #5 - - // fuel pump - engineConfiguration->fuelPumpPin = GPIOD_4; - - // idle - engineConfiguration->idle.solenoidPin = GPIOC_14; - engineConfiguration->idle.solenoidPinMode = OM_INVERTED; - engineConfiguration->idle.solenoidFrequency = 300; - engineConfiguration->manIdlePosition = 50; // set_idle_pwm 50 - - // disable sd_card - engineConfiguration->sdCardCsPin = GPIO_UNASSIGNED; - engineConfiguration->is_enabled_spi_2 = false; - engineConfiguration->is_enabled_spi_3 = false; - engineConfiguration->max31855spiDevice = SPI_NONE; - - engineConfiguration->fanPin = GPIO_UNASSIGNED; - -} diff --git a/firmware/config/engines/zil130.h b/firmware/config/engines/zil130.h deleted file mode 100644 index 1380681eff..0000000000 --- a/firmware/config/engines/zil130.h +++ /dev/null @@ -1,13 +0,0 @@ -/* - * @file engine_template.h - * - * @date May 4, 2016 - * @author Andrey Belomutskiy, (c) 2012-2020 - */ - -#pragma once - -#include "engine_configuration.h" - -void setZil130(DECLARE_CONFIG_PARAMETER_SIGNATURE); - diff --git a/firmware/controllers/algo/engine_configuration.cpp b/firmware/controllers/algo/engine_configuration.cpp index 6e543e7a67..86847bf21b 100644 --- a/firmware/controllers/algo/engine_configuration.cpp +++ b/firmware/controllers/algo/engine_configuration.cpp @@ -69,11 +69,9 @@ #include "me7pnp.h" #include "vw_b6.h" #include "chevrolet_camaro_4.h" -#include "chevrolet_c20_1973.h" #include "toyota_jzs147.h" #include "ford_festiva.h" #include "lada_kalina.h" -#include "zil130.h" #include "honda_600.h" #include "boost_control.h" #if EFI_IDLE_CONTROL @@ -1168,6 +1166,9 @@ void resetConfigurationExt(Logging * logger, configuration_callback_t boardCallb // todo: is it time to replace MICRO_RUS_EFI, PROTEUS, PROMETHEUS_DEFAULTS with MINIMAL_PINS? maybe rename MINIMAL_PINS to DEFAULT? case PROTEUS: case PROMETHEUS_DEFAULTS: + case NISSAN_PRIMERA: + case CHEVY_C20_1973: + case ZIL_130: case MIATA_1994_DEVIATOR: case MINIMAL_PINS: // all basic settings are already set in prepareVoidConfiguration(), no need to set anything here @@ -1249,15 +1250,9 @@ void resetConfigurationExt(Logging * logger, configuration_callback_t boardCallb case FORD_FIESTA: setFordFiestaDefaultEngineConfiguration(PASS_ENGINE_PARAMETER_SIGNATURE); break; - case NISSAN_PRIMERA: - setNissanPrimeraEngineConfiguration(PASS_CONFIG_PARAMETER_SIGNATURE); - break; case HONDA_ACCORD_CD: setHondaAccordConfigurationThreeWires(PASS_CONFIG_PARAMETER_SIGNATURE); break; - case ZIL_130: - setZil130(PASS_CONFIG_PARAMETER_SIGNATURE); - break; case MIATA_NA6_MAP: setMiataNA6_MAP_Frankenso(PASS_CONFIG_PARAMETER_SIGNATURE); break; @@ -1357,9 +1352,6 @@ void resetConfigurationExt(Logging * logger, configuration_callback_t boardCallb case CAMARO_4: setCamaro4(PASS_CONFIG_PARAMETER_SIGNATURE); break; - case CHEVY_C20_1973: - set1973c20(PASS_CONFIG_PARAMETER_SIGNATURE); - break; case TOYOTA_2JZ_GTE_VVTi: setToyota_2jz_vics(PASS_CONFIG_PARAMETER_SIGNATURE); break; From 42c56a47da44564772b483ce53924c39c1c6ccbc Mon Sep 17 00:00:00 2001 From: rusefillc Date: Thu, 26 Nov 2020 21:21:25 -0500 Subject: [PATCH 40/52] dead engine config one step back --- firmware/config/engines/nissan_primera.cpp | 9 +++++++++ firmware/config/engines/nissan_primera.h | 1 + firmware/controllers/algo/engine_configuration.cpp | 4 +++- 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/firmware/config/engines/nissan_primera.cpp b/firmware/config/engines/nissan_primera.cpp index 573179f0d2..a5b49d5c1f 100644 --- a/firmware/config/engines/nissan_primera.cpp +++ b/firmware/config/engines/nissan_primera.cpp @@ -14,6 +14,15 @@ EXTERN_CONFIG; +void setNissanPrimeraEngineConfiguration(DECLARE_CONFIG_PARAMETER_SIGNATURE) { + setDefaultFrankensoConfiguration(PASS_CONFIG_PARAMETER_SIGNATURE); + + engineConfiguration->trigger.type = TT_NISSAN_SR20VE; + + engineConfiguration->auxValves[0] = GPIOE_14; + engineConfiguration->auxValves[1] = GPIOE_12; +} + void setNissanPrimeraEngineConfiguration_360(DECLARE_CONFIG_PARAMETER_SIGNATURE) { engineConfiguration->trigger.type = TT_NISSAN_SR20VE_360; } diff --git a/firmware/config/engines/nissan_primera.h b/firmware/config/engines/nissan_primera.h index e9a9f57ccf..93ea1d1546 100644 --- a/firmware/config/engines/nissan_primera.h +++ b/firmware/config/engines/nissan_primera.h @@ -9,4 +9,5 @@ #include "engine_configuration.h" +void setNissanPrimeraEngineConfiguration(DECLARE_CONFIG_PARAMETER_SIGNATURE); void setNissanPrimeraEngineConfiguration_360(DECLARE_CONFIG_PARAMETER_SIGNATURE); diff --git a/firmware/controllers/algo/engine_configuration.cpp b/firmware/controllers/algo/engine_configuration.cpp index 86847bf21b..21ffe11c29 100644 --- a/firmware/controllers/algo/engine_configuration.cpp +++ b/firmware/controllers/algo/engine_configuration.cpp @@ -1166,7 +1166,6 @@ void resetConfigurationExt(Logging * logger, configuration_callback_t boardCallb // todo: is it time to replace MICRO_RUS_EFI, PROTEUS, PROMETHEUS_DEFAULTS with MINIMAL_PINS? maybe rename MINIMAL_PINS to DEFAULT? case PROTEUS: case PROMETHEUS_DEFAULTS: - case NISSAN_PRIMERA: case CHEVY_C20_1973: case ZIL_130: case MIATA_1994_DEVIATOR: @@ -1250,6 +1249,9 @@ void resetConfigurationExt(Logging * logger, configuration_callback_t boardCallb case FORD_FIESTA: setFordFiestaDefaultEngineConfiguration(PASS_ENGINE_PARAMETER_SIGNATURE); break; + case NISSAN_PRIMERA: + setNissanPrimeraEngineConfiguration(PASS_CONFIG_PARAMETER_SIGNATURE); + break; case HONDA_ACCORD_CD: setHondaAccordConfigurationThreeWires(PASS_CONFIG_PARAMETER_SIGNATURE); break; From c442f1f7854787210dbeb0ec99c46994e04bd5b0 Mon Sep 17 00:00:00 2001 From: Matthew Kennedy Date: Thu, 26 Nov 2020 21:24:41 -0800 Subject: [PATCH 41/52] fix gpio the right way (#1990) * fix the right way * use the api * explain Co-authored-by: Matthew Kennedy --- firmware/controllers/system/efi_gpio.cpp | 5 +++-- firmware/controllers/system/efi_gpio.h | 2 +- firmware/hw_layer/io_pins.h | 1 + 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/firmware/controllers/system/efi_gpio.cpp b/firmware/controllers/system/efi_gpio.cpp index ddfd173f73..cb966387e0 100644 --- a/firmware/controllers/system/efi_gpio.cpp +++ b/firmware/controllers/system/efi_gpio.cpp @@ -395,7 +395,7 @@ void OutputPin::toggle() { } bool OutputPin::getAndSet(int logicValue) { - bool oldValue = currentLogicValue; + bool oldValue = getLogicValue(); setValue(logicValue); return oldValue; } @@ -442,7 +442,8 @@ void OutputPin::setValue(int logicValue) { } bool OutputPin::getLogicValue() const { - return currentLogicValue; + // Compare against 1 since it could also be INITIAL_PIN_STATE (which means 0, but we haven't initialized the pin yet) + return currentLogicValue == 1; } void OutputPin::setDefaultPinState(const pin_output_mode_e *outputMode) { diff --git a/firmware/controllers/system/efi_gpio.h b/firmware/controllers/system/efi_gpio.h index f0932226c1..dde9de6e3d 100644 --- a/firmware/controllers/system/efi_gpio.h +++ b/firmware/controllers/system/efi_gpio.h @@ -74,7 +74,7 @@ public: brain_pin_e brainPin; #endif /* EFI_GPIO_HARDWARE */ - int8_t currentLogicValue = 0; + int8_t currentLogicValue = INITIAL_PIN_STATE; /** * we track current pin status so that we do not touch the actual hardware if we want to write new pin bit * which is same as current pin value. This maybe helps in case of status leds, but maybe it's a total over-engineering diff --git a/firmware/hw_layer/io_pins.h b/firmware/hw_layer/io_pins.h index 3594da0f12..533d5be6af 100644 --- a/firmware/hw_layer/io_pins.h +++ b/firmware/hw_layer/io_pins.h @@ -10,6 +10,7 @@ #include "global.h" +#define INITIAL_PIN_STATE -1 #define GPIO_NULL NULL // mode >= 0 is always true since that's an unsigned From 93160c6abb091b683aaad85137e3131c938060d1 Mon Sep 17 00:00:00 2001 From: rusefi Date: Fri, 27 Nov 2020 15:44:31 -0500 Subject: [PATCH 42/52] LM_ALPHA_N_2 rename --- firmware/config/engines/bmw_m73.cpp | 1 + firmware/config/engines/bmw_m73_mre.cpp | 2 +- firmware/config/engines/citroenBerlingoTU3JP.cpp | 2 +- firmware/config/engines/dodge_neon.cpp | 2 +- firmware/config/engines/honda_600.cpp | 4 ++-- firmware/controllers/algo/auto_generated_enums.cpp | 4 ++-- firmware/controllers/algo/fuel_math.cpp | 2 +- firmware/controllers/algo/rusefi_enums.h | 3 +-- firmware/controllers/math/engine_math.cpp | 2 +- 9 files changed, 11 insertions(+), 11 deletions(-) diff --git a/firmware/config/engines/bmw_m73.cpp b/firmware/config/engines/bmw_m73.cpp index 90b71e6ffa..82030751f0 100644 --- a/firmware/config/engines/bmw_m73.cpp +++ b/firmware/config/engines/bmw_m73.cpp @@ -93,6 +93,7 @@ void m73engine(DECLARE_CONFIG_PARAMETER_SIGNATURE) { strcpy(CONFIG(engineCode), "M73"); engineConfiguration->specs.firingOrder = FO_1_7_5_11_3_9_6_12_2_8_4_10; CONFIG(isFasterEngineSpinUpEnabled) = true; + CONFIG(fuelAlgorithm) = LM_ALPHA_N; engineConfiguration->vvtMode = VVT_FIRST_HALF; diff --git a/firmware/config/engines/bmw_m73_mre.cpp b/firmware/config/engines/bmw_m73_mre.cpp index ccb1e382cf..7cb39d6bcd 100644 --- a/firmware/config/engines/bmw_m73_mre.cpp +++ b/firmware/config/engines/bmw_m73_mre.cpp @@ -120,7 +120,7 @@ void setEngineBMW_M73_microRusEfi(DECLARE_CONFIG_PARAMETER_SIGNATURE) { CONFIG(crankingTimingAngle) = 30; // I am too lazy to add MAP sensor - engineConfiguration->fuelAlgorithm = LM_ALPHA_N_2; + engineConfiguration->fuelAlgorithm = LM_ALPHA_N; // set cranking_fuel 15 engineConfiguration->cranking.baseFuel = 15; diff --git a/firmware/config/engines/citroenBerlingoTU3JP.cpp b/firmware/config/engines/citroenBerlingoTU3JP.cpp index f15387517f..d775304bcc 100644 --- a/firmware/config/engines/citroenBerlingoTU3JP.cpp +++ b/firmware/config/engines/citroenBerlingoTU3JP.cpp @@ -74,7 +74,7 @@ void setCitroenBerlingoTU3JPConfiguration(DECLARE_CONFIG_PARAMETER_SIGNATURE) { /** * Algorithm Alpha-N setting */ - setAlgorithm(LM_ALPHA_N_2 PASS_CONFIG_PARAMETER_SUFFIX); + setAlgorithm(LM_ALPHA_N PASS_CONFIG_PARAMETER_SUFFIX); setTimingRpmBin(800, 7000 PASS_CONFIG_PARAMETER_SUFFIX); /** diff --git a/firmware/config/engines/dodge_neon.cpp b/firmware/config/engines/dodge_neon.cpp index fa23391cfc..d70247e07c 100644 --- a/firmware/config/engines/dodge_neon.cpp +++ b/firmware/config/engines/dodge_neon.cpp @@ -108,7 +108,7 @@ void setDodgeNeon1995EngineConfiguration(DECLARE_CONFIG_PARAMETER_SIGNATURE) { engineConfiguration->trigger.type = TT_DODGE_NEON_1995; - engineConfiguration->fuelAlgorithm = LM_ALPHA_N_2; + engineConfiguration->fuelAlgorithm = LM_ALPHA_N; // engineConfiguration->spi2SckMode = PAL_STM32_OTYPE_OPENDRAIN; // 4 // engineConfiguration->spi2MosiMode = PAL_STM32_OTYPE_OPENDRAIN; // 4 diff --git a/firmware/config/engines/honda_600.cpp b/firmware/config/engines/honda_600.cpp index 620ec0ddf9..4f4bfe83c8 100644 --- a/firmware/config/engines/honda_600.cpp +++ b/firmware/config/engines/honda_600.cpp @@ -48,7 +48,7 @@ static void setDefaultCustomMaps(DECLARE_CONFIG_PARAMETER_SIGNATURE) { void setHonda600(DECLARE_CONFIG_PARAMETER_SIGNATURE) { setDefaultFrankensoConfiguration(PASS_CONFIG_PARAMETER_SIGNATURE); engineConfiguration->trigger.type = TT_HONDA_CBR_600_CUSTOM; - engineConfiguration->fuelAlgorithm = LM_ALPHA_N_2; + engineConfiguration->fuelAlgorithm = LM_ALPHA_N; // upside down wiring engineConfiguration->triggerInputPins[0] = GPIOA_5; @@ -132,7 +132,7 @@ void setHonda600(DECLARE_CONFIG_PARAMETER_SIGNATURE) { engineConfiguration->injectionPins[3] = GPIOB_8; // #4 setDefaultCustomMaps(PASS_CONFIG_PARAMETER_SIGNATURE); - setAlgorithm(LM_ALPHA_N_2 PASS_CONFIG_PARAMETER_SUFFIX); + setAlgorithm(LM_ALPHA_N PASS_CONFIG_PARAMETER_SUFFIX); engineConfiguration->injectionPins[4] = GPIO_UNASSIGNED; engineConfiguration->injectionPins[5] = GPIO_UNASSIGNED; diff --git a/firmware/controllers/algo/auto_generated_enums.cpp b/firmware/controllers/algo/auto_generated_enums.cpp index 01bd9ffc9a..dc84b17fa7 100644 --- a/firmware/controllers/algo/auto_generated_enums.cpp +++ b/firmware/controllers/algo/auto_generated_enums.cpp @@ -748,8 +748,8 @@ const char *getEngine_load_mode_e(engine_load_mode_e value){ switch(value) { case Force_4_bytes_size_engine_load_mode: return "Force_4_bytes_size_engine_load_mode"; -case LM_ALPHA_N_2: - return "LM_ALPHA_N_2"; +case LM_ALPHA_N: + return "LM_ALPHA_N"; case LM_MOCK: return "LM_MOCK"; case LM_REAL_MAF: diff --git a/firmware/controllers/algo/fuel_math.cpp b/firmware/controllers/algo/fuel_math.cpp index 7e856eb5f9..7e3815cf12 100644 --- a/firmware/controllers/algo/fuel_math.cpp +++ b/firmware/controllers/algo/fuel_math.cpp @@ -168,7 +168,7 @@ AirmassModelBase* getAirmassModel(DECLARE_ENGINE_PARAMETER_SIGNATURE) { switch (CONFIG(fuelAlgorithm)) { case LM_SPEED_DENSITY: return &sdAirmass; case LM_REAL_MAF: return &mafAirmass; - case LM_ALPHA_N_2: return &alphaNAirmass; + case LM_ALPHA_N: return &alphaNAirmass; #if EFI_UNIT_TEST case LM_MOCK: return engine->mockAirmassModel; #endif diff --git a/firmware/controllers/algo/rusefi_enums.h b/firmware/controllers/algo/rusefi_enums.h index 5e336ed5ad..941c7cd854 100644 --- a/firmware/controllers/algo/rusefi_enums.h +++ b/firmware/controllers/algo/rusefi_enums.h @@ -456,8 +456,7 @@ typedef enum { */ LM_REAL_MAF = 4, - // todo: rename after LM_ALPHA_N is removed - LM_ALPHA_N_2 = 5, + LM_ALPHA_N = 5, // This mode is for unit testing only, so that tests don't have to rely on a particular real airmass mode LM_MOCK = 100, diff --git a/firmware/controllers/math/engine_math.cpp b/firmware/controllers/math/engine_math.cpp index 3a608a57ae..f1aef66ec2 100644 --- a/firmware/controllers/math/engine_math.cpp +++ b/firmware/controllers/math/engine_math.cpp @@ -67,7 +67,7 @@ float getEngineLoadT(DECLARE_ENGINE_PARAMETER_SIGNATURE) { switch (engineConfiguration->fuelAlgorithm) { case LM_SPEED_DENSITY: return getMap(PASS_ENGINE_PARAMETER_SIGNATURE); - case LM_ALPHA_N_2: + case LM_ALPHA_N: return Sensor::get(SensorType::Tps1).value_or(0); case LM_REAL_MAF: return getRealMaf(PASS_ENGINE_PARAMETER_SIGNATURE); From 08c7849b29a666a79f6ddcd2d2aeac1a8bfe238c Mon Sep 17 00:00:00 2001 From: rusefi Date: Fri, 27 Nov 2020 16:41:11 -0500 Subject: [PATCH 43/52] it's weird --- firmware/config/boards/proteus/mapping.yaml | 4 ++-- firmware/config/engines/bmw_m73.cpp | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/firmware/config/boards/proteus/mapping.yaml b/firmware/config/boards/proteus/mapping.yaml index d7502ff062..eda337cf8e 100644 --- a/firmware/config/boards/proteus/mapping.yaml +++ b/firmware/config/boards/proteus/mapping.yaml @@ -89,9 +89,9 @@ analog_inputs: EFI_ADC_6: "Analog Volt 11" # PA7 EFI_ADC_7: "Battery Sense" - # CLT = Analog Temp 3 = PB0 + # CLT, PB0, pin #20 EFI_ADC_8: "Analog Temp 3" - # PB1 + # PB1, pin #31 EFI_ADC_9: "Analog Temp 4" # MAP = Analog volt 1 = PC0 EFI_ADC_10: "Analog Volt 1" diff --git a/firmware/config/engines/bmw_m73.cpp b/firmware/config/engines/bmw_m73.cpp index 82030751f0..e4df3234e6 100644 --- a/firmware/config/engines/bmw_m73.cpp +++ b/firmware/config/engines/bmw_m73.cpp @@ -299,6 +299,10 @@ void setEngineBMW_M73_Proteus(DECLARE_CONFIG_PARAMETER_SIGNATURE) { // engineConfiguration->vbattDividerCoeff = 7.6; // is that Proteus 0.2 value? + // no idea why https://github.com/rusefi/rusefi/wiki/HOWTO-M73-v12-on-Proteus uses non default CLT pin + // AT3, Proteus pin #31 + engineConfiguration->clt.adcChannel = EFI_ADC_9; + // GPIOE_0: "Lowside 14" CONFIG(starterControlPin) = GPIOE_0; From 2f8750206dfd88beb59eaf6f011983c9e7f2fc18 Mon Sep 17 00:00:00 2001 From: rusefi Date: Fri, 27 Nov 2020 17:08:50 -0500 Subject: [PATCH 44/52] next release header --- firmware/CHANGELOG.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/firmware/CHANGELOG.md b/firmware/CHANGELOG.md index d90698e2d0..91d53fa87d 100644 --- a/firmware/CHANGELOG.md +++ b/firmware/CHANGELOG.md @@ -25,7 +25,10 @@ Release template (copy/paste this for new release): All notable user-facing or behavior-altering changes will be documented in this file. -## November 2020 Release +## XXX 202X Release + + +## November 2020 Release - "Black Friday" ### Breaking Changes - "AFR target" table is now "Lambda target" table. It should convert itself correctly, but a backup of that table is recommended when updating firmware/ini. @@ -34,7 +37,7 @@ All notable user-facing or behavior-altering changes will be documented in this ### Added - High & low pressure fuel sensor channels - Electronic throttle-style wastegate control found on some VW turbos (and VGTs) - - Improved TLE8888 driver on microRusEfi + - Improved TLE8888 driver on microRusEFI - Improved setting ECU presets/defaults from TunerStudio ### Fixed @@ -44,7 +47,7 @@ All notable user-facing or behavior-altering changes will be documented in this ### Added - `iat` as FSIO variable to read intake air temperature - - [ALPHA] Software based knock detection on Proteus v0.4+. Possible on microRusEfi and Frankenso too with hardware modification. + - [ALPHA] Software based knock detection on Proteus v0.4+. Possible on microRusEFI and Frankenso too with hardware modification. - [ALPHA] Early framing work for automatic transmission control! ### Fixed From df7e48e5cd927f71b489b94ca4dd6eedb008058e Mon Sep 17 00:00:00 2001 From: GitHub set-date Action Date: Sat, 28 Nov 2020 00:42:15 +0000 Subject: [PATCH 45/52] Update date --- firmware/controllers/date_stamp.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/firmware/controllers/date_stamp.h b/firmware/controllers/date_stamp.h index eaa4c504d3..e4f87b6fa1 100644 --- a/firmware/controllers/date_stamp.h +++ b/firmware/controllers/date_stamp.h @@ -1,2 +1,2 @@ #pragma once -#define VCS_DATE 20201127 +#define VCS_DATE 20201128 From 3c7a323d583a6eca2d81b33ca527b51cad7db54d Mon Sep 17 00:00:00 2001 From: GitHub set-date Action Date: Sun, 29 Nov 2020 00:45:07 +0000 Subject: [PATCH 46/52] Update date --- firmware/controllers/date_stamp.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/firmware/controllers/date_stamp.h b/firmware/controllers/date_stamp.h index e4f87b6fa1..603bfbbe47 100644 --- a/firmware/controllers/date_stamp.h +++ b/firmware/controllers/date_stamp.h @@ -1,2 +1,2 @@ #pragma once -#define VCS_DATE 20201128 +#define VCS_DATE 20201129 From a88ab01c25f8a37b1f6306a319f896c492ed2af7 Mon Sep 17 00:00:00 2001 From: rusefillc Date: Sat, 28 Nov 2020 22:15:13 -0500 Subject: [PATCH 47/52] MRE 94 --- firmware/integration/rusefi_config.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/firmware/integration/rusefi_config.txt b/firmware/integration/rusefi_config.txt index c6c4689822..b9825f4e79 100644 --- a/firmware/integration/rusefi_config.txt +++ b/firmware/integration/rusefi_config.txt @@ -409,6 +409,7 @@ end_struct #define ET_DODGE_NEON_2003_CRANK 46 #define ET_MRE_MIATA_NA6_VAF 12 +#define ET_MRE_MIATA_94_MAP 20 #define ET_MRE_MIATA_NB2_MAP 11 #define ET_MRE_MIATA_NB2_MAF 15 #define ET_MRE_BODY_CONTROL 23 From bf27882d39f9586d37108786aed6067bf96d66bd Mon Sep 17 00:00:00 2001 From: GitHub build-firmware Action Date: Sun, 29 Nov 2020 03:22:29 +0000 Subject: [PATCH 48/52] Auto-generated configs and docs --- firmware/controllers/generated/fsio_enums_generated.def | 2 +- firmware/controllers/generated/fsio_getters.def | 2 +- firmware/controllers/generated/fsio_names.def | 2 +- firmware/controllers/generated/fsio_strings.def | 2 +- firmware/controllers/generated/signature_all.h | 6 +++--- firmware/controllers/generated/signature_frankenso_na6.h | 6 +++--- firmware/controllers/generated/signature_hellen_cypress.h | 6 +++--- firmware/controllers/generated/signature_kin.h | 6 +++--- firmware/controllers/generated/signature_mre_f4.h | 6 +++--- firmware/controllers/generated/signature_mre_f7.h | 6 +++--- firmware/controllers/generated/signature_prometheus_405.h | 6 +++--- firmware/controllers/generated/signature_prometheus_469.h | 6 +++--- firmware/controllers/generated/signature_proteus_f4.h | 6 +++--- firmware/controllers/generated/signature_proteus_f7.h | 6 +++--- 14 files changed, 34 insertions(+), 34 deletions(-) diff --git a/firmware/controllers/generated/fsio_enums_generated.def b/firmware/controllers/generated/fsio_enums_generated.def index 42abac791b..7a813a2690 100644 --- a/firmware/controllers/generated/fsio_enums_generated.def +++ b/firmware/controllers/generated/fsio_enums_generated.def @@ -1,4 +1,4 @@ -// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Nov 26 22:29:07 UTC 2020 +// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sun Nov 29 03:21:46 UTC 2020 // by class com.rusefi.output.FileFsioSettingsConsumer FSIO_SETTING_FANONTEMPERATURE = 1000, diff --git a/firmware/controllers/generated/fsio_getters.def b/firmware/controllers/generated/fsio_getters.def index d9bf5932de..94c0d844ba 100644 --- a/firmware/controllers/generated/fsio_getters.def +++ b/firmware/controllers/generated/fsio_getters.def @@ -1,4 +1,4 @@ -// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Nov 26 22:29:07 UTC 2020 +// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sun Nov 29 03:21:46 UTC 2020 // by class com.rusefi.output.FileFsioSettingsConsumer case FSIO_SETTING_FANONTEMPERATURE: diff --git a/firmware/controllers/generated/fsio_names.def b/firmware/controllers/generated/fsio_names.def index 41c098703e..dfee31fae7 100644 --- a/firmware/controllers/generated/fsio_names.def +++ b/firmware/controllers/generated/fsio_names.def @@ -1,4 +1,4 @@ -// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Nov 26 22:29:07 UTC 2020 +// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sun Nov 29 03:21:46 UTC 2020 // by class com.rusefi.output.FileFsioSettingsConsumer static LENameOrdinalPair lefanOnTemperature(FSIO_SETTING_FANONTEMPERATURE, "cfg_fanOnTemperature"); diff --git a/firmware/controllers/generated/fsio_strings.def b/firmware/controllers/generated/fsio_strings.def index 0e36c28a30..b936791fe5 100644 --- a/firmware/controllers/generated/fsio_strings.def +++ b/firmware/controllers/generated/fsio_strings.def @@ -1,4 +1,4 @@ -// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Thu Nov 26 22:29:07 UTC 2020 +// this file was generated automatically by rusEfi tool ConfigDefinition.jar based on gen_config.sh integration/rusefi_config.txt Sun Nov 29 03:21:46 UTC 2020 // by class com.rusefi.output.FileFsioSettingsConsumer case FSIO_SETTING_FANONTEMPERATURE: diff --git a/firmware/controllers/generated/signature_all.h b/firmware/controllers/generated/signature_all.h index b6fd64c610..82fa3f10ca 100644 --- a/firmware/controllers/generated/signature_all.h +++ b/firmware/controllers/generated/signature_all.h @@ -3,6 +3,6 @@ // #define SIGNATURE_BOARD all -#define SIGNATURE_DATE 2020.11.26 -#define SIGNATURE_HASH 1402156278 -#define TS_SIGNATURE "rusEFI 2020.11.26.all.1402156278" +#define SIGNATURE_DATE 2020.11.29 +#define SIGNATURE_HASH 104376296 +#define TS_SIGNATURE "rusEFI 2020.11.29.all.104376296" diff --git a/firmware/controllers/generated/signature_frankenso_na6.h b/firmware/controllers/generated/signature_frankenso_na6.h index 5c9b87c6ff..1e6f98075d 100644 --- a/firmware/controllers/generated/signature_frankenso_na6.h +++ b/firmware/controllers/generated/signature_frankenso_na6.h @@ -3,6 +3,6 @@ // #define SIGNATURE_BOARD frankenso_na6 -#define SIGNATURE_DATE 2020.11.26 -#define SIGNATURE_HASH 3320022285 -#define TS_SIGNATURE "rusEFI 2020.11.26.frankenso_na6.3320022285" +#define SIGNATURE_DATE 2020.11.29 +#define SIGNATURE_HASH 2420643347 +#define TS_SIGNATURE "rusEFI 2020.11.29.frankenso_na6.2420643347" diff --git a/firmware/controllers/generated/signature_hellen_cypress.h b/firmware/controllers/generated/signature_hellen_cypress.h index 45d6d9f7a9..f7002ccdf7 100644 --- a/firmware/controllers/generated/signature_hellen_cypress.h +++ b/firmware/controllers/generated/signature_hellen_cypress.h @@ -3,6 +3,6 @@ // #define SIGNATURE_BOARD hellen_cypress -#define SIGNATURE_DATE 2020.11.26 -#define SIGNATURE_HASH 2590151221 -#define TS_SIGNATURE "rusEFI 2020.11.26.hellen_cypress.2590151221" +#define SIGNATURE_DATE 2020.11.29 +#define SIGNATURE_HASH 3486056747 +#define TS_SIGNATURE "rusEFI 2020.11.29.hellen_cypress.3486056747" diff --git a/firmware/controllers/generated/signature_kin.h b/firmware/controllers/generated/signature_kin.h index 438e239b6b..4f3b052594 100644 --- a/firmware/controllers/generated/signature_kin.h +++ b/firmware/controllers/generated/signature_kin.h @@ -3,6 +3,6 @@ // #define SIGNATURE_BOARD kin -#define SIGNATURE_DATE 2020.11.26 -#define SIGNATURE_HASH 3414075599 -#define TS_SIGNATURE "rusEFI 2020.11.26.kin.3414075599" +#define SIGNATURE_DATE 2020.11.29 +#define SIGNATURE_HASH 2664774609 +#define TS_SIGNATURE "rusEFI 2020.11.29.kin.2664774609" diff --git a/firmware/controllers/generated/signature_mre_f4.h b/firmware/controllers/generated/signature_mre_f4.h index 9869cfaee4..618f5585db 100644 --- a/firmware/controllers/generated/signature_mre_f4.h +++ b/firmware/controllers/generated/signature_mre_f4.h @@ -3,6 +3,6 @@ // #define SIGNATURE_BOARD mre_f4 -#define SIGNATURE_DATE 2020.11.26 -#define SIGNATURE_HASH 1145301647 -#define TS_SIGNATURE "rusEFI 2020.11.26.mre_f4.1145301647" +#define SIGNATURE_DATE 2020.11.29 +#define SIGNATURE_HASH 300448145 +#define TS_SIGNATURE "rusEFI 2020.11.29.mre_f4.300448145" diff --git a/firmware/controllers/generated/signature_mre_f7.h b/firmware/controllers/generated/signature_mre_f7.h index 624a38b053..5e119d1b7e 100644 --- a/firmware/controllers/generated/signature_mre_f7.h +++ b/firmware/controllers/generated/signature_mre_f7.h @@ -3,6 +3,6 @@ // #define SIGNATURE_BOARD mre_f7 -#define SIGNATURE_DATE 2020.11.26 -#define SIGNATURE_HASH 1145301647 -#define TS_SIGNATURE "rusEFI 2020.11.26.mre_f7.1145301647" +#define SIGNATURE_DATE 2020.11.29 +#define SIGNATURE_HASH 300448145 +#define TS_SIGNATURE "rusEFI 2020.11.29.mre_f7.300448145" diff --git a/firmware/controllers/generated/signature_prometheus_405.h b/firmware/controllers/generated/signature_prometheus_405.h index f696447ca7..5539b51f5f 100644 --- a/firmware/controllers/generated/signature_prometheus_405.h +++ b/firmware/controllers/generated/signature_prometheus_405.h @@ -3,6 +3,6 @@ // #define SIGNATURE_BOARD prometheus_405 -#define SIGNATURE_DATE 2020.11.26 -#define SIGNATURE_HASH 290140839 -#define TS_SIGNATURE "rusEFI 2020.11.26.prometheus_405.290140839" +#define SIGNATURE_DATE 2020.11.29 +#define SIGNATURE_HASH 1155572153 +#define TS_SIGNATURE "rusEFI 2020.11.29.prometheus_405.1155572153" diff --git a/firmware/controllers/generated/signature_prometheus_469.h b/firmware/controllers/generated/signature_prometheus_469.h index 0c56802584..f05e05aafe 100644 --- a/firmware/controllers/generated/signature_prometheus_469.h +++ b/firmware/controllers/generated/signature_prometheus_469.h @@ -3,6 +3,6 @@ // #define SIGNATURE_BOARD prometheus_469 -#define SIGNATURE_DATE 2020.11.26 -#define SIGNATURE_HASH 290140839 -#define TS_SIGNATURE "rusEFI 2020.11.26.prometheus_469.290140839" +#define SIGNATURE_DATE 2020.11.29 +#define SIGNATURE_HASH 1155572153 +#define TS_SIGNATURE "rusEFI 2020.11.29.prometheus_469.1155572153" diff --git a/firmware/controllers/generated/signature_proteus_f4.h b/firmware/controllers/generated/signature_proteus_f4.h index c4d8caf23f..2dd42a2591 100644 --- a/firmware/controllers/generated/signature_proteus_f4.h +++ b/firmware/controllers/generated/signature_proteus_f4.h @@ -3,6 +3,6 @@ // #define SIGNATURE_BOARD proteus_f4 -#define SIGNATURE_DATE 2020.11.26 -#define SIGNATURE_HASH 2587459112 -#define TS_SIGNATURE "rusEFI 2020.11.26.proteus_f4.2587459112" +#define SIGNATURE_DATE 2020.11.29 +#define SIGNATURE_HASH 3482512694 +#define TS_SIGNATURE "rusEFI 2020.11.29.proteus_f4.3482512694" diff --git a/firmware/controllers/generated/signature_proteus_f7.h b/firmware/controllers/generated/signature_proteus_f7.h index f9993202a6..8fd3ba45b5 100644 --- a/firmware/controllers/generated/signature_proteus_f7.h +++ b/firmware/controllers/generated/signature_proteus_f7.h @@ -3,6 +3,6 @@ // #define SIGNATURE_BOARD proteus_f7 -#define SIGNATURE_DATE 2020.11.26 -#define SIGNATURE_HASH 2587459112 -#define TS_SIGNATURE "rusEFI 2020.11.26.proteus_f7.2587459112" +#define SIGNATURE_DATE 2020.11.29 +#define SIGNATURE_HASH 3482512694 +#define TS_SIGNATURE "rusEFI 2020.11.29.proteus_f7.3482512694" From d199302b8373089344978762fe47f360eee80e4e Mon Sep 17 00:00:00 2001 From: rusefillc Date: Sat, 28 Nov 2020 22:49:28 -0500 Subject: [PATCH 49/52] miata 94 --- firmware/config/engines/mazda_miata.cpp | 2 +- firmware/config/engines/mazda_miata_1_6.cpp | 11 ++++++++ firmware/config/engines/mazda_miata_1_6.h | 2 ++ .../controllers/algo/auto_generated_enums.cpp | 4 +-- .../controllers/algo/engine_configuration.cpp | 4 ++- firmware/controllers/algo/rusefi_enums.h | 26 +++++++++---------- firmware/tunerstudio/rusefi.input | 3 +++ 7 files changed, 34 insertions(+), 18 deletions(-) diff --git a/firmware/config/engines/mazda_miata.cpp b/firmware/config/engines/mazda_miata.cpp index 39b98cff0d..997d128b06 100644 --- a/firmware/config/engines/mazda_miata.cpp +++ b/firmware/config/engines/mazda_miata.cpp @@ -6,7 +6,7 @@ * http://rusefi.com/wiki/index.php?title=Vehicle:Mazda_Protege_1993 * * MIATA_1990 = 19 (Frankenstein board) - * MIATA_1994_DEVIATOR = 20 + * MRE_MIATA_94_MAP = 20 * MIATA_1996 = 21 * set engine_type 21 * diff --git a/firmware/config/engines/mazda_miata_1_6.cpp b/firmware/config/engines/mazda_miata_1_6.cpp index f54d487692..16cf8883d2 100644 --- a/firmware/config/engines/mazda_miata_1_6.cpp +++ b/firmware/config/engines/mazda_miata_1_6.cpp @@ -458,3 +458,14 @@ void setMiataNA6_MAP_MRE(DECLARE_CONFIG_PARAMETER_SIGNATURE) { #endif /* BOARD_TLE8888_COUNT */ } + +void setMiata94_MAP_MRE(DECLARE_CONFIG_PARAMETER_SIGNATURE) { + setMiataNA6_MAP_MRE(PASS_CONFIG_PARAMETER_SIGNATURE); + + engineConfiguration->injectionMode = IM_SEQUENTIAL; + engineConfiguration->specs.displacement = 1.68; + strcpy(CONFIG(engineMake), ENGINE_MAKE_MAZDA); + strcpy(CONFIG(engineCode), "94"); + +} + diff --git a/firmware/config/engines/mazda_miata_1_6.h b/firmware/config/engines/mazda_miata_1_6.h index 7b6aa76c56..0547f23041 100644 --- a/firmware/config/engines/mazda_miata_1_6.h +++ b/firmware/config/engines/mazda_miata_1_6.h @@ -22,3 +22,5 @@ void miataNAcommon(DECLARE_CONFIG_PARAMETER_SIGNATURE); void setMiataNA6_VAF_MRE(DECLARE_CONFIG_PARAMETER_SIGNATURE); void setMiataNA6_MAP_MRE(DECLARE_CONFIG_PARAMETER_SIGNATURE); +void setMiata94_MAP_MRE(DECLARE_CONFIG_PARAMETER_SIGNATURE); + diff --git a/firmware/controllers/algo/auto_generated_enums.cpp b/firmware/controllers/algo/auto_generated_enums.cpp index dc84b17fa7..e535e8ab0c 100644 --- a/firmware/controllers/algo/auto_generated_enums.cpp +++ b/firmware/controllers/algo/auto_generated_enums.cpp @@ -831,8 +831,8 @@ case MAZDA_MIATA_NB1: return "MAZDA_MIATA_NB1"; case MIATA_1990: return "MIATA_1990"; -case MIATA_1994_DEVIATOR: - return "MIATA_1994_DEVIATOR"; +case MRE_MIATA_94_MAP: + return "MRE_MIATA_94_MAP"; case MIATA_1996: return "MIATA_1996"; case MIATA_NA6_MAP: diff --git a/firmware/controllers/algo/engine_configuration.cpp b/firmware/controllers/algo/engine_configuration.cpp index 21ffe11c29..1b81d59138 100644 --- a/firmware/controllers/algo/engine_configuration.cpp +++ b/firmware/controllers/algo/engine_configuration.cpp @@ -1168,7 +1168,6 @@ void resetConfigurationExt(Logging * logger, configuration_callback_t boardCallb case PROMETHEUS_DEFAULTS: case CHEVY_C20_1973: case ZIL_130: - case MIATA_1994_DEVIATOR: case MINIMAL_PINS: // all basic settings are already set in prepareVoidConfiguration(), no need to set anything here // nothing to do - we do it all in setBoardConfigurationOverrides @@ -1219,6 +1218,9 @@ void resetConfigurationExt(Logging * logger, configuration_callback_t boardCallb case MRE_MIATA_NA6_VAF: setMiataNA6_VAF_MRE(PASS_CONFIG_PARAMETER_SIGNATURE); break; + case MRE_MIATA_94_MAP: + setMiata94_MAP_MRE(PASS_CONFIG_PARAMETER_SIGNATURE); + break; case MRE_MIATA_NA6_MAP: setMiataNA6_MAP_MRE(PASS_CONFIG_PARAMETER_SIGNATURE); break; diff --git a/firmware/controllers/algo/rusefi_enums.h b/firmware/controllers/algo/rusefi_enums.h index 941c7cd854..a6b5cb8ccc 100644 --- a/firmware/controllers/algo/rusefi_enums.h +++ b/firmware/controllers/algo/rusefi_enums.h @@ -30,7 +30,6 @@ */ typedef enum { DEFAULT_FRANKENSO = ET_DEFAULT_FRANKENSO, - MIATA_PROTEUS_TCU = ET_MIATA_TCU_PROTEUS, /** * 1995 Dodge Neon * http://rusefi.com/forum/viewtopic.php?t=360 @@ -56,19 +55,26 @@ typedef enum { */ GY6_139QMB = 8, - MAZDA_MIATA_NB1 = 9, ROVER_V8 = ET_ROVER_V8, - MRE_MIATA_NB2_MAP = 11, - + MIATA_PROTEUS_TCU = ET_MIATA_TCU_PROTEUS, + MAZDA_MIATA_NB1 = 9, + MRE_MIATA_NB2_MAP = ET_MRE_MIATA_NB2_MAP, MRE_MIATA_NA6_VAF = ET_MRE_MIATA_NA6_VAF, - MRE_MIATA_NB2_ETB = 13, + MRE_MIATA_NA6_MAP = ET_MRE_MIATA_NA6_MAP, + MRE_MIATA_NB2_MAF = ET_MRE_MIATA_NB2_MAF, + + // Frankenstein board + MIATA_1990 = 19, + // Frankenso board + MIATA_NA6_MAP = ET_FRANKENSO_MIATA_NA6, + MRE_MIATA_94_MAP = ET_MRE_MIATA_94_MAP, + MIATA_1996 = 21, FORD_ESCORT_GT = ET_FORD_ESCORT_GT, - MRE_MIATA_NB2_MAF = ET_MRE_MIATA_NB2_MAF, MITSU_4G93 = 16, @@ -79,10 +85,6 @@ typedef enum { HONDA_ACCORD_CD_DIP = 18, - // Frankenstein board - MIATA_1990 = 19, - MIATA_1994_DEVIATOR = 20, - MIATA_1996 = 21, SUBARU_2003_WRX = 22, @@ -128,8 +130,6 @@ typedef enum { BMW_M73_F = ET_BMW_M73_F, - // Frankenso board - MIATA_NA6_MAP = ET_FRANKENSO_MIATA_NA6, ZIL_130 = 42, @@ -192,8 +192,6 @@ typedef enum { DODGE_RAM = 64, CITROEN_TU3JP = ET_CITROEN_TU3JP, - MRE_MIATA_NA6_MAP = ET_MRE_MIATA_NA6_MAP, - /** * this configuration has as few pins configured as possible diff --git a/firmware/tunerstudio/rusefi.input b/firmware/tunerstudio/rusefi.input index b541384d29..6b521f18a4 100644 --- a/firmware/tunerstudio/rusefi.input +++ b/firmware/tunerstudio/rusefi.input @@ -1617,6 +1617,8 @@ cmd_set_engine_type_microRusEFI_Miata_NA6_VAF = "@@TS_IO_TEST_COMMAND_char@@\x cmd_set_engine_type_microRusEFI_Miata_NA6_MAP = "@@TS_IO_TEST_COMMAND_char@@\x00\x30@@ET_MRE_MIATA_NA6_MAP_16_hex@@" +cmd_set_engine_type_microRusEFI_Miata_94_MAP = "@@TS_IO_TEST_COMMAND_char@@\x00\x30@@ET_MRE_MIATA_94_MAP_16_hex@@" + ; MRE_MIATA_NB2_MAF = 15 cmd_set_engine_type_microRusEFI_Miata_NB2_MAF = "@@TS_IO_TEST_COMMAND_char@@\x00\x30@@ET_MRE_MIATA_NB2_MAF_16_hex@@" @@ -3213,6 +3215,7 @@ cmd_set_engine_type_default = "@@TS_IO_TEST_COMMAND_char@@\x00\x31\x00\x00" commandButton = "microRusEFI Miata NA6 VAF", cmd_set_engine_type_microRusEFI_Miata_NA6_VAF@@if_show_microRusEFI_presets commandButton = "microRusEFI Miata NA6 MAP", cmd_set_engine_type_microRusEFI_Miata_NA6_MAP@@if_show_microRusEFI_presets + commandButton = "microRusEFI Miata 94/95 MAP", cmd_set_engine_type_microRusEFI_Miata_94_MAP@@if_show_microRusEFI_presets commandButton = "microRusEfi Miata NB2 MAP", cmd_set_engine_type_microRusEFI_Miata_NB2_MAP@@if_show_microRusEFI_presets commandButton = "microRusEFI Miata NB2 MAF", cmd_set_engine_type_microRusEFI_Miata_NB2_MAF@@if_show_microRusEFI_presets commandButton = "microRusEFI Defaults", cmd_set_engine_type_microRusEFI_Defaults@@if_show_microRusEFI_presets From 0ee28a9f8b887ae6959182b0e89baa9d16fae3bc Mon Sep 17 00:00:00 2001 From: GitHub build-firmware Action Date: Sun, 29 Nov 2020 03:51:15 +0000 Subject: [PATCH 50/52] Auto-generated configs and docs --- firmware/controllers/algo/auto_generated_enums.cpp | 6 +++--- firmware/controllers/generated/signature_all.h | 4 ++-- firmware/controllers/generated/signature_frankenso_na6.h | 4 ++-- firmware/controllers/generated/signature_hellen_cypress.h | 4 ++-- firmware/controllers/generated/signature_kin.h | 4 ++-- firmware/controllers/generated/signature_mre_f4.h | 4 ++-- firmware/controllers/generated/signature_mre_f7.h | 4 ++-- firmware/controllers/generated/signature_prometheus_405.h | 4 ++-- firmware/controllers/generated/signature_prometheus_469.h | 4 ++-- firmware/controllers/generated/signature_proteus_f4.h | 4 ++-- firmware/controllers/generated/signature_proteus_f7.h | 4 ++-- 11 files changed, 23 insertions(+), 23 deletions(-) diff --git a/firmware/controllers/algo/auto_generated_enums.cpp b/firmware/controllers/algo/auto_generated_enums.cpp index e535e8ab0c..f2c0df3e8c 100644 --- a/firmware/controllers/algo/auto_generated_enums.cpp +++ b/firmware/controllers/algo/auto_generated_enums.cpp @@ -1,7 +1,7 @@ #include "global.h" #include "rusefi_enums.h" #include "rusefi_hw_enums.h" -// was generated automatically by rusEfi tool from rusefi_hw_enums.h // was generated automatically by rusEfi tool from rusefi_enums.h // by enum2string.jar tool on Wed Nov 11 04:12:23 UTC 2020 +// was generated automatically by rusEfi tool from rusefi_hw_enums.h // was generated automatically by rusEfi tool from rusefi_enums.h // by enum2string.jar tool on Sun Nov 29 03:50:34 UTC 2020 // see also gen_config_and_enums.bat @@ -831,8 +831,6 @@ case MAZDA_MIATA_NB1: return "MAZDA_MIATA_NB1"; case MIATA_1990: return "MIATA_1990"; -case MRE_MIATA_94_MAP: - return "MRE_MIATA_94_MAP"; case MIATA_1996: return "MIATA_1996"; case MIATA_NA6_MAP: @@ -853,6 +851,8 @@ case MRE_BOARD_OLD_TEST: return "MRE_BOARD_OLD_TEST"; case MRE_BODY_CONTROL: return "MRE_BODY_CONTROL"; +case MRE_MIATA_94_MAP: + return "MRE_MIATA_94_MAP"; case MRE_MIATA_NA6_MAP: return "MRE_MIATA_NA6_MAP"; case MRE_MIATA_NA6_VAF: diff --git a/firmware/controllers/generated/signature_all.h b/firmware/controllers/generated/signature_all.h index 82fa3f10ca..7e79e83585 100644 --- a/firmware/controllers/generated/signature_all.h +++ b/firmware/controllers/generated/signature_all.h @@ -4,5 +4,5 @@ #define SIGNATURE_BOARD all #define SIGNATURE_DATE 2020.11.29 -#define SIGNATURE_HASH 104376296 -#define TS_SIGNATURE "rusEFI 2020.11.29.all.104376296" +#define SIGNATURE_HASH 3115617215 +#define TS_SIGNATURE "rusEFI 2020.11.29.all.3115617215" diff --git a/firmware/controllers/generated/signature_frankenso_na6.h b/firmware/controllers/generated/signature_frankenso_na6.h index 1e6f98075d..8b9c14c08f 100644 --- a/firmware/controllers/generated/signature_frankenso_na6.h +++ b/firmware/controllers/generated/signature_frankenso_na6.h @@ -4,5 +4,5 @@ #define SIGNATURE_BOARD frankenso_na6 #define SIGNATURE_DATE 2020.11.29 -#define SIGNATURE_HASH 2420643347 -#define TS_SIGNATURE "rusEFI 2020.11.29.frankenso_na6.2420643347" +#define SIGNATURE_HASH 801389124 +#define TS_SIGNATURE "rusEFI 2020.11.29.frankenso_na6.801389124" diff --git a/firmware/controllers/generated/signature_hellen_cypress.h b/firmware/controllers/generated/signature_hellen_cypress.h index f7002ccdf7..9eae07bb29 100644 --- a/firmware/controllers/generated/signature_hellen_cypress.h +++ b/firmware/controllers/generated/signature_hellen_cypress.h @@ -4,5 +4,5 @@ #define SIGNATURE_BOARD hellen_cypress #define SIGNATURE_DATE 2020.11.29 -#define SIGNATURE_HASH 3486056747 -#define TS_SIGNATURE "rusEFI 2020.11.29.hellen_cypress.3486056747" +#define SIGNATURE_HASH 1883581820 +#define TS_SIGNATURE "rusEFI 2020.11.29.hellen_cypress.1883581820" diff --git a/firmware/controllers/generated/signature_kin.h b/firmware/controllers/generated/signature_kin.h index 4f3b052594..0a041ae6ed 100644 --- a/firmware/controllers/generated/signature_kin.h +++ b/firmware/controllers/generated/signature_kin.h @@ -4,5 +4,5 @@ #define SIGNATURE_BOARD kin #define SIGNATURE_DATE 2020.11.29 -#define SIGNATURE_HASH 2664774609 -#define TS_SIGNATURE "rusEFI 2020.11.29.kin.2664774609" +#define SIGNATURE_HASH 559486854 +#define TS_SIGNATURE "rusEFI 2020.11.29.kin.559486854" diff --git a/firmware/controllers/generated/signature_mre_f4.h b/firmware/controllers/generated/signature_mre_f4.h index 618f5585db..6dbbdced77 100644 --- a/firmware/controllers/generated/signature_mre_f4.h +++ b/firmware/controllers/generated/signature_mre_f4.h @@ -4,5 +4,5 @@ #define SIGNATURE_BOARD mre_f4 #define SIGNATURE_DATE 2020.11.29 -#define SIGNATURE_HASH 300448145 -#define TS_SIGNATURE "rusEFI 2020.11.29.mre_f4.300448145" +#define SIGNATURE_HASH 2925811142 +#define TS_SIGNATURE "rusEFI 2020.11.29.mre_f4.2925811142" diff --git a/firmware/controllers/generated/signature_mre_f7.h b/firmware/controllers/generated/signature_mre_f7.h index 5e119d1b7e..694ef891c3 100644 --- a/firmware/controllers/generated/signature_mre_f7.h +++ b/firmware/controllers/generated/signature_mre_f7.h @@ -4,5 +4,5 @@ #define SIGNATURE_BOARD mre_f7 #define SIGNATURE_DATE 2020.11.29 -#define SIGNATURE_HASH 300448145 -#define TS_SIGNATURE "rusEFI 2020.11.29.mre_f7.300448145" +#define SIGNATURE_HASH 2925811142 +#define TS_SIGNATURE "rusEFI 2020.11.29.mre_f7.2925811142" diff --git a/firmware/controllers/generated/signature_prometheus_405.h b/firmware/controllers/generated/signature_prometheus_405.h index 5539b51f5f..bada0db77f 100644 --- a/firmware/controllers/generated/signature_prometheus_405.h +++ b/firmware/controllers/generated/signature_prometheus_405.h @@ -4,5 +4,5 @@ #define SIGNATURE_BOARD prometheus_405 #define SIGNATURE_DATE 2020.11.29 -#define SIGNATURE_HASH 1155572153 -#define TS_SIGNATURE "rusEFI 2020.11.29.prometheus_405.1155572153" +#define SIGNATURE_HASH 4218195438 +#define TS_SIGNATURE "rusEFI 2020.11.29.prometheus_405.4218195438" diff --git a/firmware/controllers/generated/signature_prometheus_469.h b/firmware/controllers/generated/signature_prometheus_469.h index f05e05aafe..32d23d5154 100644 --- a/firmware/controllers/generated/signature_prometheus_469.h +++ b/firmware/controllers/generated/signature_prometheus_469.h @@ -4,5 +4,5 @@ #define SIGNATURE_BOARD prometheus_469 #define SIGNATURE_DATE 2020.11.29 -#define SIGNATURE_HASH 1155572153 -#define TS_SIGNATURE "rusEFI 2020.11.29.prometheus_469.1155572153" +#define SIGNATURE_HASH 4218195438 +#define TS_SIGNATURE "rusEFI 2020.11.29.prometheus_469.4218195438" diff --git a/firmware/controllers/generated/signature_proteus_f4.h b/firmware/controllers/generated/signature_proteus_f4.h index 2dd42a2591..def28ed430 100644 --- a/firmware/controllers/generated/signature_proteus_f4.h +++ b/firmware/controllers/generated/signature_proteus_f4.h @@ -4,5 +4,5 @@ #define SIGNATURE_BOARD proteus_f4 #define SIGNATURE_DATE 2020.11.29 -#define SIGNATURE_HASH 3482512694 -#define TS_SIGNATURE "rusEFI 2020.11.29.proteus_f4.3482512694" +#define SIGNATURE_HASH 1881063777 +#define TS_SIGNATURE "rusEFI 2020.11.29.proteus_f4.1881063777" diff --git a/firmware/controllers/generated/signature_proteus_f7.h b/firmware/controllers/generated/signature_proteus_f7.h index 8fd3ba45b5..f199a6789a 100644 --- a/firmware/controllers/generated/signature_proteus_f7.h +++ b/firmware/controllers/generated/signature_proteus_f7.h @@ -4,5 +4,5 @@ #define SIGNATURE_BOARD proteus_f7 #define SIGNATURE_DATE 2020.11.29 -#define SIGNATURE_HASH 3482512694 -#define TS_SIGNATURE "rusEFI 2020.11.29.proteus_f7.3482512694" +#define SIGNATURE_HASH 1881063777 +#define TS_SIGNATURE "rusEFI 2020.11.29.proteus_f7.1881063777" From ccfe98018112d8d3d223b9d8905d5b8390c785fe Mon Sep 17 00:00:00 2001 From: rusefillc Date: Sat, 28 Nov 2020 22:59:55 -0500 Subject: [PATCH 51/52] 94 --- firmware/controllers/settings.cpp | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/firmware/controllers/settings.cpp b/firmware/controllers/settings.cpp index 88a7621f5d..de9f239cf3 100644 --- a/firmware/controllers/settings.cpp +++ b/firmware/controllers/settings.cpp @@ -145,22 +145,10 @@ const char* getConfigurationName(engine_type_e engineType) { return "Mi4G93"; case MIATA_1990: return "MX590"; - case MIATA_1994_DEVIATOR: - return "MX594d"; case MIATA_1996: return "MX596"; case BMW_E34: return "BMWe34"; - case VW_ABA: - return "VW_ABA"; - case SACHS: - return "SACHS"; - case CAMARO_4: - return "CAMARO_4"; - case CHEVY_C20_1973: - return "CHEVY C20"; - case DODGE_RAM: - return "DODGE_RAM"; default: return getEngine_type_e(engineType); } From 58e174b3fb90cf23a30d38588bde76c5a000a15a Mon Sep 17 00:00:00 2001 From: rusefillc Date: Sun, 29 Nov 2020 12:07:56 -0500 Subject: [PATCH 52/52] 94 --- firmware/config/engines/mazda_miata_1_6.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/firmware/config/engines/mazda_miata_1_6.cpp b/firmware/config/engines/mazda_miata_1_6.cpp index 16cf8883d2..eec98d0dcf 100644 --- a/firmware/config/engines/mazda_miata_1_6.cpp +++ b/firmware/config/engines/mazda_miata_1_6.cpp @@ -463,7 +463,7 @@ void setMiata94_MAP_MRE(DECLARE_CONFIG_PARAMETER_SIGNATURE) { setMiataNA6_MAP_MRE(PASS_CONFIG_PARAMETER_SIGNATURE); engineConfiguration->injectionMode = IM_SEQUENTIAL; - engineConfiguration->specs.displacement = 1.68; + engineConfiguration->specs.displacement = 1.8; strcpy(CONFIG(engineMake), ENGINE_MAKE_MAZDA); strcpy(CONFIG(engineCode), "94");