From fd140108094981881b368e4bd97eb0c8c25d3b9f Mon Sep 17 00:00:00 2001 From: rusefi Date: Thu, 10 Jan 2019 00:56:08 -0500 Subject: [PATCH] Revert "The Big Refactoring of 2019: DECLARE_ENGINE_PARAMETER_SUFFIX consistency and simplification #657" This reverts commit 61440c5 --- firmware/config/engines/GY6_139QMB.cpp | 6 +- firmware/config/engines/bmw_e34.cpp | 74 ++--- .../config/engines/chevrolet_camaro_4.cpp | 46 ++-- .../config/engines/citroenBerlingoTU3JP.cpp | 54 ++-- firmware/config/engines/custom_engine.cpp | 144 +++++----- firmware/config/engines/custom_engine.h | 4 +- firmware/config/engines/dodge_neon.cpp | 104 +++---- firmware/config/engines/dodge_ram.cpp | 42 +-- firmware/config/engines/dodge_stratus.cpp | 12 +- .../config/engines/ford_1995_inline_6.cpp | 20 +- firmware/config/engines/ford_aspire.cpp | 4 +- firmware/config/engines/ford_festiva.cpp | 64 ++--- firmware/config/engines/ford_fiesta.cpp | 6 +- firmware/config/engines/gm_2_2.cpp | 4 +- firmware/config/engines/honda_600.cpp | 50 ++-- firmware/config/engines/honda_accord.cpp | 36 +-- firmware/config/engines/lada_kalina.cpp | 36 +-- firmware/config/engines/mazda_626.cpp | 4 +- firmware/config/engines/mazda_miata.cpp | 144 +++++----- firmware/config/engines/mazda_miata.h | 2 +- firmware/config/engines/mazda_miata_1_6.cpp | 32 +-- firmware/config/engines/mazda_miata_na8.cpp | 8 +- firmware/config/engines/mazda_miata_nb.cpp | 44 +-- firmware/config/engines/mazda_miata_vvt.cpp | 52 ++-- firmware/config/engines/mitsubishi.cpp | 16 +- firmware/config/engines/rover_v8.cpp | 88 +++--- firmware/config/engines/rover_v8.h | 2 +- firmware/config/engines/sachs.cpp | 16 +- firmware/config/engines/subaru.cpp | 16 +- firmware/config/engines/suzuki_vitara.cpp | 2 +- firmware/config/engines/test_engine.cpp | 22 +- firmware/config/engines/toyota_jzs147.cpp | 38 +-- firmware/config/engines/vw.cpp | 12 +- firmware/config/engines/zil130.cpp | 50 ++-- .../controllers/algo/engine_configuration.cpp | 255 +++++++++--------- .../controllers/algo/engine_configuration.h | 4 +- firmware/controllers/settings.cpp | 130 ++++----- 37 files changed, 820 insertions(+), 823 deletions(-) diff --git a/firmware/config/engines/GY6_139QMB.cpp b/firmware/config/engines/GY6_139QMB.cpp index 3ba9f55681..83ce5652d7 100644 --- a/firmware/config/engines/GY6_139QMB.cpp +++ b/firmware/config/engines/GY6_139QMB.cpp @@ -86,7 +86,7 @@ void setGy6139qmbDefaultEngineConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) engineConfiguration->analogInputDividerCoefficient = 1; engineConfiguration->fuelAlgorithm = LM_MAP; engineConfiguration->globalTriggerAngleOffset = 45; - CONFIGB(sensorChartMode) = SC_MAP; + boardConfiguration->sensorChartMode = SC_MAP; engineConfiguration->specs.displacement = 0.072; // 72cc engineConfiguration->specs.cylindersCount = 1; setOperationMode(engineConfiguration, FOUR_STROKE_CRANK_SENSOR); @@ -100,7 +100,7 @@ void setGy6139qmbDefaultEngineConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) engineConfiguration->trigger.customTotalToothCount = 8; engineConfiguration->trigger.customSkippedToothCount = 1; - CONFIGB(injectionPins)[0] = GPIOC_9; - CONFIGB(ignitionPins)[0] = GPIOC_8; + boardConfiguration->injectionPins[0] = GPIOC_9; + boardConfiguration->ignitionPins[0] = GPIOC_8; } diff --git a/firmware/config/engines/bmw_e34.cpp b/firmware/config/engines/bmw_e34.cpp index 383c1043dc..0c7a6452a0 100644 --- a/firmware/config/engines/bmw_e34.cpp +++ b/firmware/config/engines/bmw_e34.cpp @@ -26,8 +26,8 @@ void setBmwE34(DECLARE_ENGINE_PARAMETER_SIGNATURE) { // setOperationMode(engineConfiguration, FOUR_STROKE_CAM_SENSOR); // engineConfiguration->trigger.type = TT_ONE_PLUS_TOOTHED_WHEEL_60_2; // engineConfiguration->injectionMode = IM_SEQUENTIAL; -// CONFIGB(triggerInputPins)[0] = GPIOC_6; -// CONFIGB(triggerInputPins)[1] = GPIOA_5; +// boardConfiguration->triggerInputPins[0] = GPIOC_6; +// boardConfiguration->triggerInputPins[1] = GPIOA_5; //Base engine setting engineConfiguration->specs.cylindersCount = 6; @@ -38,7 +38,7 @@ void setBmwE34(DECLARE_ENGINE_PARAMETER_SIGNATURE) { engineConfiguration->ignitionMode = IM_WASTED_SPARK; engineConfiguration->useOnlyRisingEdgeForTrigger = true; - CONFIGB(tachOutputPin) = GPIOC_8; + boardConfiguration->tachOutputPin = GPIOC_8; // Trigger configuration // engineConfiguration->trigger.type = TT_TOOTHED_WHEEL_60_2; @@ -57,12 +57,12 @@ void setBmwE34(DECLARE_ENGINE_PARAMETER_SIGNATURE) { engineConfiguration->injector.flow = 750; // General settings - CONFIGB(tunerStudioSerialSpeed) = 57600; + boardConfiguration->tunerStudioSerialSpeed = 57600; engineConfiguration->rpmHardLimit = 7000; setAlgorithm(LM_SPEED_DENSITY PASS_ENGINE_PARAMETER_SUFFIX); // for best performance at high RPM, we need to turn off 'Engine Sniffer' and 'Sensor Sniffer' - CONFIGB(sensorChartMode) = SC_OFF; + boardConfiguration->sensorChartMode = SC_OFF; engineConfiguration->isEngineChartEnabled = false; engineConfiguration->isCylinderCleanupEnabled = false; @@ -90,52 +90,52 @@ void setBmwE34(DECLARE_ENGINE_PARAMETER_SIGNATURE) { engineConfiguration->tpsAdcChannel = EFI_ADC_3; - CONFIGB(triggerInputPins)[0] = GPIOA_5; - CONFIGB(triggerInputPins)[1] = GPIO_UNASSIGNED; + boardConfiguration->triggerInputPins[0] = GPIOA_5; + boardConfiguration->triggerInputPins[1] = GPIO_UNASSIGNED; setWholeTimingTable(25 PASS_ENGINE_PARAMETER_SUFFIX); - CONFIGB(malfunctionIndicatorPin) = GPIO_UNASSIGNED; + boardConfiguration->malfunctionIndicatorPin = GPIO_UNASSIGNED; // bc->isFastAdcEnabled = true; - CONFIGB(injectionPinMode) = OM_INVERTED; - CONFIGB(injectionPins)[0] = GPIOB_8; // #1 - CONFIGB(injectionPins)[1] = GPIOE_2; // #2 - CONFIGB(injectionPins)[2] = GPIOE_3; // #3 - CONFIGB(injectionPins)[3] = GPIOE_4; // #4 - CONFIGB(injectionPins)[4] = GPIOE_5; // #5 - CONFIGB(injectionPins)[5] = GPIOE_6; // #6 + boardConfiguration->injectionPinMode = OM_INVERTED; + boardConfiguration->injectionPins[0] = GPIOB_8; // #1 + boardConfiguration->injectionPins[1] = GPIOE_2; // #2 + boardConfiguration->injectionPins[2] = GPIOE_3; // #3 + boardConfiguration->injectionPins[3] = GPIOE_4; // #4 + boardConfiguration->injectionPins[4] = GPIOE_5; // #5 + boardConfiguration->injectionPins[5] = GPIOE_6; // #6 - CONFIGB(ignitionPinMode) = OM_INVERTED; + boardConfiguration->ignitionPinMode = OM_INVERTED; - CONFIGB(ignitionPins)[0] = GPIOB_5; // #1 - CONFIGB(ignitionPins)[2] = GPIOB_6; // #3 - CONFIGB(ignitionPins)[4] = GPIOB_7; // #5 + boardConfiguration->ignitionPins[0] = GPIOB_5; // #1 + boardConfiguration->ignitionPins[2] = GPIOB_6; // #3 + boardConfiguration->ignitionPins[4] = GPIOB_7; // #5 - CONFIGB(canRxPin) = GPIO_UNASSIGNED; - CONFIGB(canTxPin) = GPIO_UNASSIGNED; + boardConfiguration->canRxPin = GPIO_UNASSIGNED; + boardConfiguration->canTxPin = GPIO_UNASSIGNED; - CONFIGB(triggerErrorPin) = GPIO_UNASSIGNED; + boardConfiguration->triggerErrorPin = GPIO_UNASSIGNED; // clutch up - CONFIGB(clutchUpPin) = GPIOD_3; - CONFIGB(clutchUpPinMode) = PI_PULLUP; + boardConfiguration->clutchUpPin = GPIOD_3; + boardConfiguration->clutchUpPinMode = PI_PULLUP; // fuel pump - CONFIGB(fuelPumpPin) = GPIOD_4; + boardConfiguration->fuelPumpPin = GPIOD_4; // idle - CONFIGB(idle).solenoidPin = GPIOC_14; - CONFIGB(idle).solenoidPinMode = OM_INVERTED; - CONFIGB(idle).solenoidFrequency = 300; - CONFIGB(manIdlePosition) = 50; // set_idle_pwm 50 + boardConfiguration->idle.solenoidPin = GPIOC_14; + boardConfiguration->idle.solenoidPinMode = OM_INVERTED; + boardConfiguration->idle.solenoidFrequency = 300; + boardConfiguration->manIdlePosition = 50; // set_idle_pwm 50 // disable sd_card - CONFIGB(sdCardCsPin) = GPIO_UNASSIGNED; - CONFIGB(is_enabled_spi_2) = false; - CONFIGB(is_enabled_spi_3) = false; - CONFIGB(max31855spiDevice) = SPI_NONE; + boardConfiguration->sdCardCsPin = GPIO_UNASSIGNED; + boardConfiguration->is_enabled_spi_2 = false; + boardConfiguration->is_enabled_spi_3 = false; + boardConfiguration->max31855spiDevice = SPI_NONE; // turbocharger boost control solenoid: TODO output: GPIOE_6 // water injection #1 TODO GPIOD_7 @@ -145,7 +145,7 @@ void setBmwE34(DECLARE_ENGINE_PARAMETER_SIGNATURE) { * emulating the 60-0 trigger takes some resources, let's keep it slow by default * rpm 200 */ - CONFIGB(triggerSimulatorFrequency) = 200; + boardConfiguration->triggerSimulatorFrequency = 200; // Configurating sensors: @@ -165,7 +165,7 @@ void setBmwE34(DECLARE_ENGINE_PARAMETER_SIGNATURE) { // */ // bc->triggerSimulatorPins[1] = GPIO_UNASSIGNED; - CONFIGB(triggerSimulatorPins)[0] = GPIOD_1; - CONFIGB(triggerSimulatorPins)[1] = GPIOD_2; - CONFIGB(triggerSimulatorPins)[2] = GPIO_UNASSIGNED; + boardConfiguration->triggerSimulatorPins[0] = GPIOD_1; + boardConfiguration->triggerSimulatorPins[1] = GPIOD_2; + boardConfiguration->triggerSimulatorPins[2] = GPIO_UNASSIGNED; } diff --git a/firmware/config/engines/chevrolet_camaro_4.cpp b/firmware/config/engines/chevrolet_camaro_4.cpp index 94793abed9..d6465cc849 100644 --- a/firmware/config/engines/chevrolet_camaro_4.cpp +++ b/firmware/config/engines/chevrolet_camaro_4.cpp @@ -26,8 +26,8 @@ void setCamaro4(DECLARE_ENGINE_PARAMETER_SIGNATURE) { engineConfiguration->specs.cylindersCount = 8; engineConfiguration->specs.firingOrder = FO_1_8_7_2_6_5_4_3; - CONFIGB(triggerInputPins)[0] = GPIOA_5; - CONFIGB(triggerInputPins)[1] = GPIOC_6; + boardConfiguration->triggerInputPins[0] = GPIOA_5; + boardConfiguration->triggerInputPins[1] = GPIOC_6; engineConfiguration->injectionMode = IM_BATCH; engineConfiguration->twoWireBatchInjection = true; @@ -58,31 +58,31 @@ void setCamaro4(DECLARE_ENGINE_PARAMETER_SIGNATURE) { engineConfiguration->afr.hwChannel = EFI_ADC_13; - CONFIGB(idle).solenoidPin = GPIO_UNASSIGNED; - CONFIGB(fuelPumpPin) = GPIO_UNASSIGNED; + boardConfiguration->idle.solenoidPin = GPIO_UNASSIGNED; + boardConfiguration->fuelPumpPin = GPIO_UNASSIGNED; - CONFIGB(injectionPins)[0] = GPIOE_6; - CONFIGB(injectionPins)[1] = GPIOE_5; - CONFIGB(injectionPins)[2] = GPIOD_7; - CONFIGB(injectionPins)[3] = GPIOC_13; - CONFIGB(injectionPins)[4] = GPIOE_3; - CONFIGB(injectionPins)[5] = GPIOE_4; - CONFIGB(injectionPins)[6] = GPIOD_3; - CONFIGB(injectionPins)[7] = GPIOE_2; + boardConfiguration->injectionPins[0] = GPIOE_6; + boardConfiguration->injectionPins[1] = GPIOE_5; + boardConfiguration->injectionPins[2] = GPIOD_7; + boardConfiguration->injectionPins[3] = GPIOC_13; + boardConfiguration->injectionPins[4] = GPIOE_3; + boardConfiguration->injectionPins[5] = GPIOE_4; + boardConfiguration->injectionPins[6] = GPIOD_3; + boardConfiguration->injectionPins[7] = GPIOE_2; - CONFIGB(ignitionPins)[0] = GPIOC_9; - CONFIGB(ignitionPins)[1] = GPIOC_7; - CONFIGB(ignitionPins)[2] = GPIOE_14; - CONFIGB(ignitionPins)[3] = GPIOE_12; - CONFIGB(ignitionPins)[4] = GPIOE_10; - CONFIGB(ignitionPins)[5] = GPIOE_8; - CONFIGB(ignitionPins)[6] = GPIOD_9; - CONFIGB(ignitionPins)[7] = GPIOD_8; + boardConfiguration->ignitionPins[0] = GPIOC_9; + boardConfiguration->ignitionPins[1] = GPIOC_7; + boardConfiguration->ignitionPins[2] = GPIOE_14; + boardConfiguration->ignitionPins[3] = GPIOE_12; + boardConfiguration->ignitionPins[4] = GPIOE_10; + boardConfiguration->ignitionPins[5] = GPIOE_8; + boardConfiguration->ignitionPins[6] = GPIOD_9; + boardConfiguration->ignitionPins[7] = GPIOD_8; - CONFIGB(fuelPumpPin) = GPIOB_8; - CONFIGB(fanPin) = GPIO_UNASSIGNED; - CONFIGB(mainRelayPin) = GPIOD_5; + boardConfiguration->fuelPumpPin = GPIOB_8; + boardConfiguration->fanPin = GPIO_UNASSIGNED; + boardConfiguration->mainRelayPin = GPIOD_5; } diff --git a/firmware/config/engines/citroenBerlingoTU3JP.cpp b/firmware/config/engines/citroenBerlingoTU3JP.cpp index e17b15fc2a..c8c63e2bb2 100644 --- a/firmware/config/engines/citroenBerlingoTU3JP.cpp +++ b/firmware/config/engines/citroenBerlingoTU3JP.cpp @@ -17,15 +17,13 @@ #include "citroenBerlingoTU3JP.h" #include "settings.h" -EXTERN_ENGINE; - -static void setLCD(DECLARE_ENGINE_PARAMETER_SIGNATURE) { - CONFIGB(HD44780_rs) = GPIOE_7; - CONFIGB(HD44780_e) = GPIOE_9; - CONFIGB(HD44780_db4) = GPIOE_11; - CONFIGB(HD44780_db5) = GPIOE_13; - CONFIGB(HD44780_db6) = GPIOE_15; - CONFIGB(HD44780_db7) = GPIOB_10; +void setLCD(board_configuration_s *boardConfiguration) { + boardConfiguration->HD44780_rs = GPIOE_7; + boardConfiguration->HD44780_e = GPIOE_9; + boardConfiguration->HD44780_db4 = GPIOE_11; + boardConfiguration->HD44780_db5 = GPIOE_13; + boardConfiguration->HD44780_db6 = GPIOE_15; + boardConfiguration->HD44780_db7 = GPIOB_10; } static const fuel_table_t tps_fuel_table = { @@ -122,35 +120,35 @@ void setCitroenBerlingoTU3JPConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) { // Frankenstein lo-side output #11: PB8 Main relay // Frankenstein lo-side output #12: PB9 Fuel pump - CONFIGB(ignitionPins)[0] = GPIOC_14; - CONFIGB(ignitionPins)[1] = GPIO_UNASSIGNED; - CONFIGB(ignitionPins)[2] = GPIOC_15; - CONFIGB(ignitionPins)[3] = GPIO_UNASSIGNED; + boardConfiguration->ignitionPins[0] = GPIOC_14; + boardConfiguration->ignitionPins[1] = GPIO_UNASSIGNED; + boardConfiguration->ignitionPins[2] = GPIOC_15; + boardConfiguration->ignitionPins[3] = GPIO_UNASSIGNED; engineConfiguration->injector.flow = 137; //SIEMENS DEKA VAZ20734 - CONFIGB(injectionPins)[0] = GPIOE_6; - CONFIGB(injectionPins)[1] = GPIOC_13; - CONFIGB(injectionPins)[2] = GPIO_UNASSIGNED; - CONFIGB(injectionPins)[3] = GPIO_UNASSIGNED; + boardConfiguration->injectionPins[0] = GPIOE_6; + boardConfiguration->injectionPins[1] = GPIOC_13; + boardConfiguration->injectionPins[2] = GPIO_UNASSIGNED; + boardConfiguration->injectionPins[3] = GPIO_UNASSIGNED; - CONFIGB(fanPin) = GPIOE_0; - CONFIGB(fanPinMode) = OM_DEFAULT; + boardConfiguration->fanPin = GPIOE_0; + boardConfiguration->fanPinMode = OM_DEFAULT; engineConfiguration->fanOffTemperature = 95; engineConfiguration->fanOnTemperature = 99; - CONFIGB(malfunctionIndicatorPin) = GPIOE_1; - CONFIGB(malfunctionIndicatorPinMode) = OM_DEFAULT; + boardConfiguration->malfunctionIndicatorPin = GPIOE_1; + boardConfiguration->malfunctionIndicatorPinMode = OM_DEFAULT; - CONFIGB(mainRelayPin) = GPIOB_8; + boardConfiguration->mainRelayPin = GPIOB_8; - CONFIGB(fuelPumpPin) = GPIOB_9; - CONFIGB(fuelPumpPinMode) = OM_DEFAULT; + boardConfiguration->fuelPumpPin = GPIOB_9; + boardConfiguration->fuelPumpPinMode = OM_DEFAULT; - setLCD(PASS_ENGINE_PARAMETER_SIGNATURE); + setLCD(boardConfiguration); -// CONFIGB(o2heaterPin) = GPIOC_13; -// CONFIGB(logicAnalyzerPins)[1] = GPIO_UNASSIGNED; +// boardConfiguration->o2heaterPin = GPIOC_13; +// boardConfiguration->logicAnalyzerPins[1] = GPIO_UNASSIGNED; /** * Inputs @@ -208,7 +206,7 @@ void setCitroenBerlingoTU3JPConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) { /** * Speed Sensor */ - CONFIGB(vehicleSpeedSensorInputPin) = GPIOA_8; + boardConfiguration->vehicleSpeedSensorInputPin = GPIOA_8; /** * Other */ diff --git a/firmware/config/engines/custom_engine.cpp b/firmware/config/engines/custom_engine.cpp index 7cdf09d9d6..f03da4ed19 100644 --- a/firmware/config/engines/custom_engine.cpp +++ b/firmware/config/engines/custom_engine.cpp @@ -62,22 +62,22 @@ void test557init(void) { } #endif /* EFI_PROD_CODE */ -void setFrankenso_01_LCD(DECLARE_ENGINE_PARAMETER_SIGNATURE) { - CONFIGB(HD44780_rs) = GPIOE_7; - CONFIGB(HD44780_e) = GPIOE_9; - CONFIGB(HD44780_db4) = GPIOE_11; - CONFIGB(HD44780_db5) = GPIOE_13; - CONFIGB(HD44780_db6) = GPIOE_15; - CONFIGB(HD44780_db7) = GPIOB_10; +void setFrankenso_01_LCD(board_configuration_s *boardConfiguration) { + boardConfiguration->HD44780_rs = GPIOE_7; + boardConfiguration->HD44780_e = GPIOE_9; + boardConfiguration->HD44780_db4 = GPIOE_11; + boardConfiguration->HD44780_db5 = GPIOE_13; + boardConfiguration->HD44780_db6 = GPIOE_15; + boardConfiguration->HD44780_db7 = GPIOB_10; } -void disableLCD(DECLARE_ENGINE_PARAMETER_SIGNATURE) { - CONFIGB(HD44780_rs) = GPIO_UNASSIGNED; - CONFIGB(HD44780_e) = GPIO_UNASSIGNED; - CONFIGB(HD44780_db4) = GPIO_UNASSIGNED; - CONFIGB(HD44780_db5) = GPIO_UNASSIGNED; - CONFIGB(HD44780_db6) = GPIO_UNASSIGNED; - CONFIGB(HD44780_db7) = GPIO_UNASSIGNED; +void disableLCD(board_configuration_s *boardConfiguration) { + boardConfiguration->HD44780_rs = GPIO_UNASSIGNED; + boardConfiguration->HD44780_e = GPIO_UNASSIGNED; + boardConfiguration->HD44780_db4 = GPIO_UNASSIGNED; + boardConfiguration->HD44780_db5 = GPIO_UNASSIGNED; + boardConfiguration->HD44780_db6 = GPIO_UNASSIGNED; + boardConfiguration->HD44780_db7 = GPIO_UNASSIGNED; } // todo: should this be renamed to 'setFrankensoConfiguration'? @@ -85,9 +85,9 @@ void disableLCD(DECLARE_ENGINE_PARAMETER_SIGNATURE) { void setCustomEngineConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) { engineConfiguration->trigger.type = TT_ONE_PLUS_ONE; - setFrankenso_01_LCD(PASS_ENGINE_PARAMETER_SIGNATURE); - commonFrankensoAnalogInputs(PASS_ENGINE_PARAMETER_SIGNATURE); - setFrankenso0_1_joystick(PASS_ENGINE_PARAMETER_SIGNATURE); + setFrankenso_01_LCD(boardConfiguration); + commonFrankensoAnalogInputs(engineConfiguration); + setFrankenso0_1_joystick(engineConfiguration); /** * Frankenso analog #1 PC2 ADC12 CLT @@ -133,28 +133,28 @@ void setCustomEngineConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) { // Frankenso low out #11: PB8 injector #3 // Frankenso low out #12: PB7 injector #4 - CONFIGB(fuelPumpPin) = GPIOE_4; - CONFIGB(mainRelayPin) = GPIOD_7; - CONFIGB(idle).solenoidPin = GPIOC_13; + boardConfiguration->fuelPumpPin = GPIOE_4; + boardConfiguration->mainRelayPin = GPIOD_7; + boardConfiguration->idle.solenoidPin = GPIOC_13; - CONFIGB(fanPin) = GPIOE_5; + boardConfiguration->fanPin = GPIOE_5; - CONFIGB(injectionPins)[0] = GPIOB_9; // #1 - CONFIGB(injectionPins)[1] = GPIOE_2; // #2 - CONFIGB(injectionPins)[2] = GPIOB_8; // #3 - CONFIGB(injectionPins)[3] = GPIOB_7; // #4 + boardConfiguration->injectionPins[0] = GPIOB_9; // #1 + boardConfiguration->injectionPins[1] = GPIOE_2; // #2 + boardConfiguration->injectionPins[2] = GPIOB_8; // #3 + boardConfiguration->injectionPins[3] = GPIOB_7; // #4 setAlgorithm(LM_SPEED_DENSITY PASS_ENGINE_PARAMETER_SUFFIX); #if EFI_PWM_TESTER - CONFIGB(injectionPins)[4] = GPIOC_8; // #5 - CONFIGB(injectionPins)[5] = GPIOD_10; // #6 - CONFIGB(injectionPins)[6] = GPIOD_9; - CONFIGB(injectionPins)[7] = GPIOD_11; - CONFIGB(injectionPins)[8] = GPIOD_0; - CONFIGB(injectionPins)[9] = GPIOB_11; - CONFIGB(injectionPins)[10] = GPIOC_7; - CONFIGB(injectionPins)[11] = GPIOE_4; + boardConfiguration->injectionPins[4] = GPIOC_8; // #5 + boardConfiguration->injectionPins[5] = GPIOD_10; // #6 + boardConfiguration->injectionPins[6] = GPIOD_9; + boardConfiguration->injectionPins[7] = GPIOD_11; + boardConfiguration->injectionPins[8] = GPIOD_0; + boardConfiguration->injectionPins[9] = GPIOB_11; + boardConfiguration->injectionPins[10] = GPIOC_7; + boardConfiguration->injectionPins[11] = GPIOE_4; /** * We want to initialize all outputs for test @@ -163,20 +163,20 @@ void setCustomEngineConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) { engineConfiguration->displayMode = DM_NONE; #else /* EFI_PWM_TESTER */ - CONFIGB(injectionPins)[4] = GPIO_UNASSIGNED; - CONFIGB(injectionPins)[5] = GPIO_UNASSIGNED; - CONFIGB(injectionPins)[6] = GPIO_UNASSIGNED; - CONFIGB(injectionPins)[7] = GPIO_UNASSIGNED; - CONFIGB(injectionPins)[8] = GPIO_UNASSIGNED; - CONFIGB(injectionPins)[9] = GPIO_UNASSIGNED; - CONFIGB(injectionPins)[10] = GPIO_UNASSIGNED; - CONFIGB(injectionPins)[11] = GPIO_UNASSIGNED; + boardConfiguration->injectionPins[4] = GPIO_UNASSIGNED; + boardConfiguration->injectionPins[5] = GPIO_UNASSIGNED; + boardConfiguration->injectionPins[6] = GPIO_UNASSIGNED; + boardConfiguration->injectionPins[7] = GPIO_UNASSIGNED; + boardConfiguration->injectionPins[8] = GPIO_UNASSIGNED; + boardConfiguration->injectionPins[9] = GPIO_UNASSIGNED; + boardConfiguration->injectionPins[10] = GPIO_UNASSIGNED; + boardConfiguration->injectionPins[11] = GPIO_UNASSIGNED; - CONFIGB(ignitionPins)[0] = GPIOE_14; - CONFIGB(ignitionPins)[1] = GPIOC_7; - CONFIGB(ignitionPins)[2] = GPIOC_9; + boardConfiguration->ignitionPins[0] = GPIOE_14; + boardConfiguration->ignitionPins[1] = GPIOC_7; + boardConfiguration->ignitionPins[2] = GPIOC_9; // set_ignition_pin 4 PE10 - CONFIGB(ignitionPins)[3] = GPIOE_10; + boardConfiguration->ignitionPins[3] = GPIOE_10; #endif /* EFI_PWM_TESTER */ // todo: 8.2 or 10k? @@ -192,7 +192,7 @@ void setFrankensoBoardTestConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) { engineConfiguration->directSelfStimulation = true; // this engine type is used for board validation - CONFIGB(triggerSimulatorFrequency) = 300; + boardConfiguration->triggerSimulatorFrequency = 300; engineConfiguration->cranking.rpm = 100; engineConfiguration->specs.cylindersCount = 12; @@ -201,38 +201,38 @@ void setFrankensoBoardTestConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) { // set ignition_mode 1 engineConfiguration->ignitionMode = IM_INDIVIDUAL_COILS; - CONFIGB(injectionPins)[0] = GPIOB_7; // injector in default pinout - CONFIGB(injectionPins)[1] = GPIOB_8; // injector in default pinout - CONFIGB(injectionPins)[2] = GPIOB_9; // injector in default pinout - CONFIGB(injectionPins)[3] = GPIOC_13; + boardConfiguration->injectionPins[0] = GPIOB_7; // injector in default pinout + boardConfiguration->injectionPins[1] = GPIOB_8; // injector in default pinout + boardConfiguration->injectionPins[2] = GPIOB_9; // injector in default pinout + boardConfiguration->injectionPins[3] = GPIOC_13; - CONFIGB(injectionPins)[4] = GPIOD_3; - CONFIGB(injectionPins)[5] = GPIOD_5; - CONFIGB(injectionPins)[6] = GPIOD_7; - CONFIGB(injectionPins)[7] = GPIOE_2; // injector in default pinout - CONFIGB(injectionPins)[8] = GPIOE_3; - CONFIGB(injectionPins)[9] = GPIOE_4; - CONFIGB(injectionPins)[10] = GPIOE_5; - CONFIGB(injectionPins)[11] = GPIOE_6; + boardConfiguration->injectionPins[4] = GPIOD_3; + boardConfiguration->injectionPins[5] = GPIOD_5; + boardConfiguration->injectionPins[6] = GPIOD_7; + boardConfiguration->injectionPins[7] = GPIOE_2; // injector in default pinout + boardConfiguration->injectionPins[8] = GPIOE_3; + boardConfiguration->injectionPins[9] = GPIOE_4; + boardConfiguration->injectionPins[10] = GPIOE_5; + boardConfiguration->injectionPins[11] = GPIOE_6; - CONFIGB(fuelPumpPin) = GPIO_UNASSIGNED; - CONFIGB(mainRelayPin) = GPIO_UNASSIGNED; - CONFIGB(idle).solenoidPin = GPIO_UNASSIGNED; - CONFIGB(fanPin) = GPIO_UNASSIGNED; + boardConfiguration->fuelPumpPin = GPIO_UNASSIGNED; + boardConfiguration->mainRelayPin = GPIO_UNASSIGNED; + boardConfiguration->idle.solenoidPin = GPIO_UNASSIGNED; + boardConfiguration->fanPin = GPIO_UNASSIGNED; - CONFIGB(ignitionPins)[0] = GPIOC_9; // coil in default pinout - CONFIGB(ignitionPins)[1] = GPIOC_7; // coil in default pinout - CONFIGB(ignitionPins)[2] = GPIOE_10; // coil in default pinout - CONFIGB(ignitionPins)[3] = GPIOE_8; // Miata VVT tach + boardConfiguration->ignitionPins[0] = GPIOC_9; // coil in default pinout + boardConfiguration->ignitionPins[1] = GPIOC_7; // coil in default pinout + boardConfiguration->ignitionPins[2] = GPIOE_10; // coil in default pinout + boardConfiguration->ignitionPins[3] = GPIOE_8; // Miata VVT tach - CONFIGB(ignitionPins)[4] = GPIOE_14; // coil in default pinout - CONFIGB(ignitionPins)[5] = GPIOE_12; - CONFIGB(ignitionPins)[6] = GPIOD_8; - CONFIGB(ignitionPins)[7] = GPIOD_9; + boardConfiguration->ignitionPins[4] = GPIOE_14; // coil in default pinout + boardConfiguration->ignitionPins[5] = GPIOE_12; + boardConfiguration->ignitionPins[6] = GPIOD_8; + boardConfiguration->ignitionPins[7] = GPIOD_9; - CONFIGB(ignitionPins)[8] = GPIOE_0; // brain board, not discovery - CONFIGB(ignitionPins)[9] = GPIOE_1; // brain board, not discovery + boardConfiguration->ignitionPins[8] = GPIOE_0; // brain board, not discovery + boardConfiguration->ignitionPins[9] = GPIOE_1; // brain board, not discovery } diff --git a/firmware/config/engines/custom_engine.h b/firmware/config/engines/custom_engine.h index 0858103553..9d24c32805 100644 --- a/firmware/config/engines/custom_engine.h +++ b/firmware/config/engines/custom_engine.h @@ -10,8 +10,8 @@ #include "engine.h" void setCustomEngineConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE); -void setFrankenso_01_LCD(DECLARE_ENGINE_PARAMETER_SIGNATURE); -void disableLCD(DECLARE_ENGINE_PARAMETER_SIGNATURE); +void setFrankenso_01_LCD(board_configuration_s *boardConfiguration); +void disableLCD(board_configuration_s *boardConfiguration); void test557init(void); void setFrankensoBoardTestConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE); diff --git a/firmware/config/engines/dodge_neon.cpp b/firmware/config/engines/dodge_neon.cpp index 4f037ab6c6..8d7cdcdca2 100644 --- a/firmware/config/engines/dodge_neon.cpp +++ b/firmware/config/engines/dodge_neon.cpp @@ -154,12 +154,12 @@ void setDodgeNeon1995EngineConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) { // engineConfiguration->spi2MosiMode = PAL_STM32_OTYPE_OPENDRAIN; // 4 // engineConfiguration->spi2MisoMode = PAL_STM32_PUDR_PULLUP; // 32 - // CONFIGB(spi2mosiPin) = GPIOB_15; - // CONFIGB(spi2misoPin) = GPIOB_14; - // CONFIGB(spi2sckPin) = GPIOB_13; - CONFIGB(cj125CsPin) = GPIOB_0; // rev 0.4 - CONFIGB(isCJ125Enabled) = true; - CONFIGB(is_enabled_spi_2) = true; + // boardConfiguration->spi2mosiPin = GPIOB_15; + // boardConfiguration->spi2misoPin = GPIOB_14; + // boardConfiguration->spi2sckPin = GPIOB_13; + boardConfiguration->cj125CsPin = GPIOB_0; // rev 0.4 + boardConfiguration->isCJ125Enabled = true; + boardConfiguration->is_enabled_spi_2 = true; // set_rpm_hard_limit 4000 @@ -223,28 +223,28 @@ void setDodgeNeon1995EngineConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) { // Frankenstein: low side - out #11: PB8 // Frankenstein: low side - out #12: PB9 - CONFIGB(injectionPins)[0] = GPIOB_9; // Frankenstein: low side - out #12 - CONFIGB(injectionPins)[1] = GPIOB_8; // Frankenstein: low side - out #11 - CONFIGB(injectionPins)[2] = GPIOE_3; // Frankenstein: low side - out #8 - CONFIGB(injectionPins)[3] = GPIOE_5; // Frankenstein: low side - out #6 + boardConfiguration->injectionPins[0] = GPIOB_9; // Frankenstein: low side - out #12 + boardConfiguration->injectionPins[1] = GPIOB_8; // Frankenstein: low side - out #11 + boardConfiguration->injectionPins[2] = GPIOE_3; // Frankenstein: low side - out #8 + boardConfiguration->injectionPins[3] = GPIOE_5; // Frankenstein: low side - out #6 - CONFIGB(fuelPumpPin) = GPIOC_13; // Frankenstein: low side - out #4 - CONFIGB(fuelPumpPinMode) = OM_DEFAULT; + boardConfiguration->fuelPumpPin = GPIOC_13; // Frankenstein: low side - out #4 + boardConfiguration->fuelPumpPinMode = OM_DEFAULT; engineConfiguration->mapErrorDetectionTooHigh = 120; // set injection_pin_mode 0 - CONFIGB(injectionPinMode) = OM_DEFAULT; + boardConfiguration->injectionPinMode = OM_DEFAULT; // Frankenstein: high side #1: PE8 // Frankenstein: high side #2: PE10 - CONFIGB(ignitionPins)[0] = GPIOE_8; // Frankenstein: high side #1 - CONFIGB(ignitionPins)[1] = GPIO_UNASSIGNED; - CONFIGB(ignitionPins)[2] = GPIOE_10; // // Frankenstein: high side #2 + boardConfiguration->ignitionPins[0] = GPIOE_8; // Frankenstein: high side #1 + boardConfiguration->ignitionPins[1] = GPIO_UNASSIGNED; + boardConfiguration->ignitionPins[2] = GPIOE_10; // // Frankenstein: high side #2 // set ignition_pin_mode 0 - CONFIGB(ignitionPinMode) = OM_DEFAULT; + boardConfiguration->ignitionPinMode = OM_DEFAULT; setThermistorConfiguration(&engineConfiguration->clt, 0, 32500, 30, 7550, 100, 700); engineConfiguration->clt.config.bias_resistor = 2700; @@ -254,10 +254,10 @@ void setDodgeNeon1995EngineConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) { void setDodgeNeonNGCEngineConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) { engineConfiguration->trigger.type = TT_DODGE_NEON_2003_CAM; - setFrankenso_01_LCD(PASS_ENGINE_PARAMETER_SIGNATURE); - setFrankenso0_1_joystick(PASS_ENGINE_PARAMETER_SIGNATURE); + setFrankenso_01_LCD(boardConfiguration); + setFrankenso0_1_joystick(engineConfiguration); -// CONFIGB(useWarmupPidAfr) = true; +// boardConfiguration->useWarmupPidAfr = true; engineConfiguration->warmupAfrPid.pFactor = -0.2; engineConfiguration->warmupAfrPid.iFactor = -0.0005; // engineConfiguration->warmupAfrPid.dFactor = -0.02; @@ -328,14 +328,14 @@ void setDodgeNeonNGCEngineConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) { setFuelTablesLoadBin(20, 120 PASS_ENGINE_PARAMETER_SUFFIX); - CONFIGB(malfunctionIndicatorPin) = GPIO_UNASSIGNED; + boardConfiguration->malfunctionIndicatorPin = GPIO_UNASSIGNED; /** * PA4 Wideband O2 Sensor */ engineConfiguration->afr.hwChannel = EFI_ADC_4; - commonFrankensoAnalogInputs(PASS_ENGINE_PARAMETER_SIGNATURE); + commonFrankensoAnalogInputs(engineConfiguration); engineConfiguration->vbattDividerCoeff = 9.75;// ((float) (8.2 + 33)) / 8.2 * 2; /** @@ -354,29 +354,29 @@ void setDodgeNeonNGCEngineConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) { // Frankenso low out #11: PB8 injector #1 // Frankenso low out #12: PB7 injector #4 - CONFIGB(fanPin) = GPIOD_7; + boardConfiguration->fanPin = GPIOD_7; - CONFIGB(injectionPins)[0] = GPIOB_8; - CONFIGB(injectionPins)[1] = GPIOB_9; - CONFIGB(injectionPins)[2] = GPIOE_2; - CONFIGB(injectionPins)[3] = GPIOB_7; + boardConfiguration->injectionPins[0] = GPIOB_8; + boardConfiguration->injectionPins[1] = GPIOB_9; + boardConfiguration->injectionPins[2] = GPIOE_2; + boardConfiguration->injectionPins[3] = GPIOB_7; - CONFIGB(ignitionPins)[0] = GPIOC_9; - CONFIGB(ignitionPins)[1] = GPIO_UNASSIGNED; - CONFIGB(ignitionPins)[2] = GPIOE_8; - CONFIGB(ignitionPins)[3] = GPIO_UNASSIGNED; + boardConfiguration->ignitionPins[0] = GPIOC_9; + boardConfiguration->ignitionPins[1] = GPIO_UNASSIGNED; + boardConfiguration->ignitionPins[2] = GPIOE_8; + boardConfiguration->ignitionPins[3] = GPIO_UNASSIGNED; - CONFIGB(mainRelayPin) = GPIOE_6; + boardConfiguration->mainRelayPin = GPIOE_6; - CONFIGB(idle).solenoidPin = GPIOC_13; - CONFIGB(idle).solenoidFrequency = 300; - CONFIGB(manIdlePosition) = 36; + boardConfiguration->idle.solenoidPin = GPIOC_13; + boardConfiguration->idle.solenoidFrequency = 300; + boardConfiguration->manIdlePosition = 36; - CONFIGB(fuelPumpPin) = GPIOE_3; - CONFIGB(fuelPumpPinMode) = OM_DEFAULT; + boardConfiguration->fuelPumpPin = GPIOE_3; + boardConfiguration->fuelPumpPinMode = OM_DEFAULT; - CONFIGB(triggerInputPins)[0] = GPIOA_5; - CONFIGB(triggerInputPins)[1] = GPIOC_6; + boardConfiguration->triggerInputPins[0] = GPIOA_5; + boardConfiguration->triggerInputPins[1] = GPIOC_6; /** * Frankenso analog #1 PC2 ADC12 CLT @@ -427,8 +427,8 @@ void setDodgeNeonNGCEngineConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) { */ engineConfiguration->clt.adcChannel = EFI_ADC_12; - CONFIGB(sensorChartMode) = SC_MAP; - CONFIGB(isFastAdcEnabled) = true; + boardConfiguration->sensorChartMode = SC_MAP; + boardConfiguration->isFastAdcEnabled = true; engineConfiguration->map.sensor.type = MT_DODGE_NEON_2003; engineConfiguration->hip9011Gain = 0.3; @@ -447,10 +447,10 @@ void setDodgeNeonNGCEngineConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) { engineConfiguration->cylinderBore = 87.5; - CONFIGB(clutchDownPin) = GPIOC_12; - CONFIGB(clutchDownPinMode) = PI_PULLUP; -// CONFIGB(clutchUpPin) = GPIOA_14; // note SWCLK - conflict with SWD - CONFIGB(clutchUpPinMode) = PI_PULLUP; + boardConfiguration->clutchDownPin = GPIOC_12; + boardConfiguration->clutchDownPinMode = PI_PULLUP; +// boardConfiguration->clutchUpPin = GPIOA_14; // note SWCLK - conflict with SWD + boardConfiguration->clutchUpPinMode = PI_PULLUP; engineConfiguration->activateAuxPid1 = 1; engineConfiguration->auxPidPins[0] = GPIOD_5; // playing with AUX PID for alternator @@ -467,22 +467,22 @@ void setDodgeNeonNGCEngineConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) { // /** // * set_fsio_setting 1 0.55 // */ -// CONFIGB(fsio_setting)[0] = 0.55; +// boardConfiguration->fsio_setting[0] = 0.55; // setFsioExt(0, GPIOE_5, "0 fsio_setting", 400 PASS_ENGINE_PARAMETER_SUFFIX); #endif - CONFIGB(vehicleSpeedSensorInputPin) = GPIOA_8; + boardConfiguration->vehicleSpeedSensorInputPin = GPIOA_8; engineConfiguration->fanOnTemperature = 92; engineConfiguration->fanOffTemperature = 89; // engineConfiguration->fanOnTemperature = 115; // knock testing - value is a bit high // engineConfiguration->fanOffTemperature = 100; -// CONFIGB(tunerStudioSerialSpeed) = 9600; - CONFIGB(tunerStudioSerialSpeed) = 19200; +// boardConfiguration->tunerStudioSerialSpeed = 9600; + boardConfiguration->tunerStudioSerialSpeed = 19200; setAlgorithm(LM_SPEED_DENSITY PASS_ENGINE_PARAMETER_SUFFIX); -//temp CONFIGB(alternatorControlPin) = GPIOD_5; +//temp boardConfiguration->alternatorControlPin = GPIOD_5; engineConfiguration->targetVBatt = 14.0; engineConfiguration->alternatorControl.offset = 20; engineConfiguration->alternatorControl.pFactor = 20; @@ -508,8 +508,8 @@ void setDodgeNeonNGCEngineConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) { engineConfiguration->wwaeTau = 0; engineConfiguration->wwaeBeta = 0; - CONFIGB(isSdCardEnabled) = false; - CONFIGB(manIdlePosition) = 36; // set_idle_pwm 40 + boardConfiguration->isSdCardEnabled = false; + boardConfiguration->manIdlePosition = 36; // set_idle_pwm 40 engineConfiguration->slowAdcAlpha = 0.33333; diff --git a/firmware/config/engines/dodge_ram.cpp b/firmware/config/engines/dodge_ram.cpp index f24db61c07..4ec0fd2e00 100644 --- a/firmware/config/engines/dodge_ram.cpp +++ b/firmware/config/engines/dodge_ram.cpp @@ -36,27 +36,27 @@ void setDodgeRam1996(DECLARE_ENGINE_PARAMETER_SIGNATURE) { engineConfiguration->specs.firingOrder = FO_1_8_4_3_6_5_7_2; engineConfiguration->specs.displacement = 5.2; - CONFIGB(triggerInputPins)[0] = GPIOC_6; - CONFIGB(triggerInputPins)[1] = GPIOA_5; + boardConfiguration->triggerInputPins[0] = GPIOC_6; + boardConfiguration->triggerInputPins[1] = GPIOA_5; - CONFIGB(injectionPins)[0] = GPIOE_2; - CONFIGB(injectionPins)[1] = GPIOB_9; - CONFIGB(injectionPins)[2] = GPIOD_5; - CONFIGB(injectionPins)[3] = GPIOB_8; + boardConfiguration->injectionPins[0] = GPIOE_2; + boardConfiguration->injectionPins[1] = GPIOB_9; + boardConfiguration->injectionPins[2] = GPIOD_5; + boardConfiguration->injectionPins[3] = GPIOB_8; - CONFIGB(injectionPins)[4] = GPIOB_7; - CONFIGB(injectionPins)[5] = GPIOE_3; - CONFIGB(injectionPins)[6] = GPIOE_4; - CONFIGB(injectionPins)[7] = GPIOD_3; + boardConfiguration->injectionPins[4] = GPIOB_7; + boardConfiguration->injectionPins[5] = GPIOE_3; + boardConfiguration->injectionPins[6] = GPIOE_4; + boardConfiguration->injectionPins[7] = GPIOD_3; - CONFIGB(ignitionPins)[0] = GPIOC_9; - CONFIGB(ignitionPins)[1] = GPIO_UNASSIGNED; - CONFIGB(ignitionPins)[2] = GPIO_UNASSIGNED; - CONFIGB(ignitionPins)[3] = GPIO_UNASSIGNED; + boardConfiguration->ignitionPins[0] = GPIOC_9; + boardConfiguration->ignitionPins[1] = GPIO_UNASSIGNED; + boardConfiguration->ignitionPins[2] = GPIO_UNASSIGNED; + boardConfiguration->ignitionPins[3] = GPIO_UNASSIGNED; - CONFIGB(mainRelayPin) = GPIOE_5; - CONFIGB(fuelPumpPin) = GPIOE_6; - CONFIGB(fanPin) = GPIO_UNASSIGNED; + boardConfiguration->mainRelayPin = GPIOE_5; + boardConfiguration->fuelPumpPin = GPIOE_6; + boardConfiguration->fanPin = GPIO_UNASSIGNED; engineConfiguration->engineChartSize = 450; @@ -72,11 +72,11 @@ void setDodgeRam1996(DECLARE_ENGINE_PARAMETER_SIGNATURE) { setWholeTimingTable(10 PASS_ENGINE_PARAMETER_SUFFIX); - CONFIGB(alternatorControlPin) = GPIOD_7; + boardConfiguration->alternatorControlPin = GPIOD_7; engineConfiguration->alternatorControl.pFactor = 22; - CONFIGB(idle).solenoidPin = GPIOC_13; - CONFIGB(idle).solenoidFrequency = 300; + boardConfiguration->idle.solenoidPin = GPIOC_13; + boardConfiguration->idle.solenoidFrequency = 300; engineConfiguration->vbattAdcChannel = EFI_ADC_14; // engineConfiguration->vbattDividerCoeff = ((float) (8.93 + 41.27)) / 8.93 * 2; @@ -88,5 +88,5 @@ void setDodgeRam1996(DECLARE_ENGINE_PARAMETER_SIGNATURE) { setDodgeSensor(&engineConfiguration->iat); engineConfiguration->iat.config.bias_resistor = 2700; - CONFIGB(useStepperIdle) = true; + boardConfiguration->useStepperIdle = true; } diff --git a/firmware/config/engines/dodge_stratus.cpp b/firmware/config/engines/dodge_stratus.cpp index 9f5727d003..ada99dd9b1 100644 --- a/firmware/config/engines/dodge_stratus.cpp +++ b/firmware/config/engines/dodge_stratus.cpp @@ -23,12 +23,12 @@ void setDodgeStratus(DECLARE_ENGINE_PARAMETER_SIGNATURE) { setAlgorithm(LM_SPEED_DENSITY PASS_ENGINE_PARAMETER_SUFFIX); engineConfiguration->ignitionMode = IM_INDIVIDUAL_COILS; - CONFIGB(ignitionPins)[0] = GPIOC_9; - CONFIGB(ignitionPins)[1] = GPIO_UNASSIGNED; - CONFIGB(ignitionPins)[2] = GPIOE_8; - CONFIGB(ignitionPins)[3] = GPIO_UNASSIGNED; - CONFIGB(ignitionPins)[4] = GPIO_UNASSIGNED; - CONFIGB(ignitionPins)[5] = GPIO_UNASSIGNED; + boardConfiguration->ignitionPins[0] = GPIOC_9; + boardConfiguration->ignitionPins[1] = GPIO_UNASSIGNED; + boardConfiguration->ignitionPins[2] = GPIOE_8; + boardConfiguration->ignitionPins[3] = GPIO_UNASSIGNED; + boardConfiguration->ignitionPins[4] = GPIO_UNASSIGNED; + boardConfiguration->ignitionPins[5] = GPIO_UNASSIGNED; } diff --git a/firmware/config/engines/ford_1995_inline_6.cpp b/firmware/config/engines/ford_1995_inline_6.cpp index 8c7b5a3f29..dd547b99de 100644 --- a/firmware/config/engines/ford_1995_inline_6.cpp +++ b/firmware/config/engines/ford_1995_inline_6.cpp @@ -85,13 +85,13 @@ void setFordInline6(DECLARE_ENGINE_PARAMETER_SIGNATURE) { // output 5 is PC13 // output 6 is PC15 - CONFIGB(fuelPumpPin) = GPIOC_13; - CONFIGB(injectionPins)[0] = GPIOB_9; - CONFIGB(injectionPins)[1] = GPIOE_3; - CONFIGB(ignitionPins)[0] = GPIOC_15; + boardConfiguration->fuelPumpPin = GPIOC_13; + boardConfiguration->injectionPins[0] = GPIOB_9; + boardConfiguration->injectionPins[1] = GPIOE_3; + boardConfiguration->ignitionPins[0] = GPIOC_15; - CONFIGB(injectionPins)[2] = GPIO_UNASSIGNED; - CONFIGB(fanPin) = GPIO_UNASSIGNED; + boardConfiguration->injectionPins[2] = GPIO_UNASSIGNED; + boardConfiguration->fanPin = GPIO_UNASSIGNED; engineConfiguration->tpsMin = convertVoltageTo10bitADC(1.250); engineConfiguration->tpsMax = convertVoltageTo10bitADC(4.538); @@ -99,10 +99,10 @@ void setFordInline6(DECLARE_ENGINE_PARAMETER_SIGNATURE) { // engineConfiguration->vbattAdcChannel = 0; // engineConfiguration->mafAdcChannel = EFI_ADC_1; - CONFIGB(triggerInputPins)[0] = GPIOA_8; - CONFIGB(triggerInputPins)[1] = GPIOA_5; - CONFIGB(logicAnalyzerPins)[0] = GPIOC_6; - CONFIGB(logicAnalyzerPins)[1] = GPIOE_5; + boardConfiguration->triggerInputPins[0] = GPIOA_8; + boardConfiguration->triggerInputPins[1] = GPIOA_5; + boardConfiguration->logicAnalyzerPins[0] = GPIOC_6; + boardConfiguration->logicAnalyzerPins[1] = GPIOE_5; } #endif /* EFI_SUPPORT_1995_FORD_INLINE_6 */ diff --git a/firmware/config/engines/ford_aspire.cpp b/firmware/config/engines/ford_aspire.cpp index cc12d2a12e..ae8e0434ce 100644 --- a/firmware/config/engines/ford_aspire.cpp +++ b/firmware/config/engines/ford_aspire.cpp @@ -120,8 +120,8 @@ void setFordAspireEngineConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) { engineConfiguration->useOnlyRisingEdgeForTrigger = true; engineConfiguration->trigger.type = TT_FORD_ASPIRE; - CONFIGB(injectionPins)[4] = GPIO_UNASSIGNED; - CONFIGB(injectionPins)[5] = GPIO_UNASSIGNED; + boardConfiguration->injectionPins[4] = GPIO_UNASSIGNED; + boardConfiguration->injectionPins[5] = GPIO_UNASSIGNED; engineConfiguration->HD44780width = 20; engineConfiguration->HD44780height = 4; diff --git a/firmware/config/engines/ford_festiva.cpp b/firmware/config/engines/ford_festiva.cpp index 29e4aee186..36794ab173 100644 --- a/firmware/config/engines/ford_festiva.cpp +++ b/firmware/config/engines/ford_festiva.cpp @@ -69,10 +69,10 @@ EXTERN_ENGINE; void setFordEscortGt(DECLARE_ENGINE_PARAMETER_SIGNATURE) { engineConfiguration->trigger.type = TT_MAZDA_DOHC_1_4; - common079721_2351(PASS_ENGINE_PARAMETER_SIGNATURE); + common079721_2351(engineConfiguration, boardConfiguration); - setFrankenso_01_LCD(PASS_ENGINE_PARAMETER_SIGNATURE); - setFrankenso0_1_joystick(PASS_ENGINE_PARAMETER_SIGNATURE); + setFrankenso_01_LCD(boardConfiguration); + setFrankenso0_1_joystick(engineConfiguration); setDensoTODO(config); @@ -104,21 +104,21 @@ void setFordEscortGt(DECLARE_ENGINE_PARAMETER_SIGNATURE) { copyFuelTable(racingFestivaVeTable, config->veTable); -// CONFIGB(triggerInputPins)[0] = GPIOC_6; // 2G YEL/BLU -// CONFIGB(triggerInputPins)[1] = GPIOA_5; // 2E White CKP +// boardConfiguration->triggerInputPins[0] = GPIOC_6; // 2G YEL/BLU +// boardConfiguration->triggerInputPins[1] = GPIOA_5; // 2E White CKP // in case of SOHC distributor we only have one signal -// CONFIGB(triggerInputPins)[0] = GPIOA_5; // 2E White CKP -// CONFIGB(triggerInputPins)[1] = GPIO_UNASSIGNED; +// boardConfiguration->triggerInputPins[0] = GPIOA_5; // 2E White CKP +// boardConfiguration->triggerInputPins[1] = GPIO_UNASSIGNED; // in case of DOHC distributor we have two signals - CONFIGB(triggerInputPins)[0] = GPIOC_6; - CONFIGB(triggerInputPins)[1] = GPIOA_5; // 2E White CKP + boardConfiguration->triggerInputPins[0] = GPIOC_6; + boardConfiguration->triggerInputPins[1] = GPIOA_5; // 2E White CKP // Denso 195500-2180 engineConfiguration->injector.flow = 265; - CONFIGB(isFastAdcEnabled) = true; + boardConfiguration->isFastAdcEnabled = true; engineConfiguration->map.sensor.type = MT_DENSO183; engineConfiguration->map.sensor.hwChannel = EFI_ADC_4; @@ -126,7 +126,7 @@ void setFordEscortGt(DECLARE_ENGINE_PARAMETER_SIGNATURE) { engineConfiguration->afr.hwChannel = EFI_ADC_2; // Frankenso analog #5 // PA2 // set_idle_position 10 - CONFIGB(manIdlePosition) = 10; + boardConfiguration->manIdlePosition = 10; engineConfiguration->crankingIACposition = 65; setWholeIatCorrTimingTable(0 PASS_ENGINE_PARAMETER_SUFFIX); @@ -155,8 +155,8 @@ void setFordEscortGt(DECLARE_ENGINE_PARAMETER_SIGNATURE) { setSingleCoilDwell(engineConfiguration); engineConfiguration->ignitionMode = IM_ONE_COIL; - CONFIGB(triggerSimulatorPinModes)[0] = OM_OPENDRAIN; - CONFIGB(triggerSimulatorPinModes)[1] = OM_OPENDRAIN; + boardConfiguration->triggerSimulatorPinModes[0] = OM_OPENDRAIN; + boardConfiguration->triggerSimulatorPinModes[1] = OM_OPENDRAIN; // individual coils // W6 PC9 @@ -164,11 +164,11 @@ void setFordEscortGt(DECLARE_ENGINE_PARAMETER_SIGNATURE) { // W12 PE8 // W13 PE12 - CONFIGB(ignitionPins)[0] = GPIOC_9; - CONFIGB(ignitionPins)[1] = GPIOC_7; - CONFIGB(ignitionPins)[2] = GPIOE_8; - CONFIGB(ignitionPins)[3] = GPIOE_12; - CONFIGB(ignitionPinMode) = OM_DEFAULT; + boardConfiguration->ignitionPins[0] = GPIOC_9; + boardConfiguration->ignitionPins[1] = GPIOC_7; + boardConfiguration->ignitionPins[2] = GPIOE_8; + boardConfiguration->ignitionPins[3] = GPIOE_12; + boardConfiguration->ignitionPinMode = OM_DEFAULT; engineConfiguration->ignitionMode = IM_INDIVIDUAL_COILS; @@ -190,23 +190,23 @@ void setFordEscortGt(DECLARE_ENGINE_PARAMETER_SIGNATURE) { // Frankenso low out #11: PB8 // Frankenso low out #12: PB7 - CONFIGB(injectionPins)[0] = GPIOD_3; - CONFIGB(injectionPins)[1] = GPIOE_2; + boardConfiguration->injectionPins[0] = GPIOD_3; + boardConfiguration->injectionPins[1] = GPIOE_2; //setDefaultCrankingFuel(engineConfiguration); engineConfiguration->cranking.baseFuel = 5; // 40% idle is good default - CONFIGB(idle).solenoidFrequency = 300; - CONFIGB(idle).solenoidPin = GPIOB_9; + boardConfiguration->idle.solenoidFrequency = 300; + boardConfiguration->idle.solenoidPin = GPIOB_9; - CONFIGB(malfunctionIndicatorPin) = GPIOE_5; - CONFIGB(malfunctionIndicatorPinMode) = OM_DEFAULT; + boardConfiguration->malfunctionIndicatorPin = GPIOE_5; + boardConfiguration->malfunctionIndicatorPinMode = OM_DEFAULT; - CONFIGB(tunerStudioSerialSpeed) = 19200; + boardConfiguration->tunerStudioSerialSpeed = 19200; - commonFrankensoAnalogInputs(PASS_ENGINE_PARAMETER_SIGNATURE); + commonFrankensoAnalogInputs(engineConfiguration); setCommonNTCSensor(&engineConfiguration->clt); engineConfiguration->clt.config.bias_resistor = 2700; setCommonNTCSensor(&engineConfiguration->iat); @@ -230,7 +230,7 @@ void setFordEscortGt(DECLARE_ENGINE_PARAMETER_SIGNATURE) { * to test * set_fsio_setting 1 5000 */ - CONFIGB(fsio_setting)[0] = 5000; + boardConfiguration->fsio_setting[0] = 5000; // set_fsio_expression 1 "rpm > fsio_setting(1)" setFsioExt(0, GPIOE_3, RPM_ABOVE_USER_SETTING_1, 150 PASS_ENGINE_PARAMETER_SUFFIX); @@ -246,9 +246,9 @@ void setFordEscortGt(DECLARE_ENGINE_PARAMETER_SIGNATURE) { * set_rpn_expression 1 "rpm 0 fsio_setting > coolant 1 fsio_setting > | vbatt 2 fsio_setting < |" * eval "rpm 0 fsio_setting > coolant 1 fsio_setting > | vbatt 2 fsio_setting < |" */ - CONFIGB(fsio_setting)[1] = 6200; // RPM threshold - CONFIGB(fsio_setting)[2] = 90; // CLT threshold - CONFIGB(fsio_setting)[3] = 13.5; // voltage threshold + boardConfiguration->fsio_setting[1] = 6200; // RPM threshold + boardConfiguration->fsio_setting[2] = 90; // CLT threshold + boardConfiguration->fsio_setting[3] = 13.5; // voltage threshold // setFsio(1, GPIOC_13, "rpm 2 fsio_setting > coolant 3 fsio_setting > | vbatt 4 fsio_setting < |" PASS_ENGINE_PARAMETER_SUFFIX); setFsio(1, GPIOD_7, RPM_ABOVE_USER_SETTING_2 PASS_ENGINE_PARAMETER_SUFFIX); @@ -272,7 +272,7 @@ void setFordEscortGt(DECLARE_ENGINE_PARAMETER_SIGNATURE) { config->ignitionRpmBins[15] = 7000; copyTimingTable(racingFestivaIgnitionTable, config->ignitionTable); - // CONFIGB(useWarmupPidAfr) = true; + // boardConfiguration->useWarmupPidAfr = true; engineConfiguration->warmupAfrPid.pFactor = -0.2; engineConfiguration->warmupAfrPid.iFactor = -0.0005; // engineConfiguration->warmupAfrPid.dFactor = -0.02; @@ -284,7 +284,7 @@ void setFordEscortGt(DECLARE_ENGINE_PARAMETER_SIGNATURE) { engineConfiguration->engineLoadAccelEnrichmentThreshold = 5.0; engineConfiguration->engineLoadAccelEnrichmentMultiplier = 1; - CONFIGB(isSdCardEnabled) = true; + boardConfiguration->isSdCardEnabled = true; // engineConfiguration->useFSIO16ForTimingAdjustment = true; engineConfiguration->fsioAdc[0] = EFI_ADC_12; // PA3 diff --git a/firmware/config/engines/ford_fiesta.cpp b/firmware/config/engines/ford_fiesta.cpp index 6c6e241364..37d060aedd 100644 --- a/firmware/config/engines/ford_fiesta.cpp +++ b/firmware/config/engines/ford_fiesta.cpp @@ -32,10 +32,10 @@ void setFordFiestaDefaultEngineConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) // etb testing -// CONFIGB(clutchUpPin) - CONFIGB(etbControlPin1) = GPIOD_3; +// boardConfiguration->clutchUpPin + boardConfiguration->etbControlPin1 = GPIOD_3; engineConfiguration->pedalPositionAdcChannel = EFI_ADC_1; - CONFIGB(etbDirectionPin2) = GPIOD_5; + boardConfiguration->etbDirectionPin2 = GPIOD_5; engineConfiguration->tpsMin = 337; engineConfiguration->tpsMax = 896; diff --git a/firmware/config/engines/gm_2_2.cpp b/firmware/config/engines/gm_2_2.cpp index 1854097ed3..2adb578376 100644 --- a/firmware/config/engines/gm_2_2.cpp +++ b/firmware/config/engines/gm_2_2.cpp @@ -17,6 +17,6 @@ void setGm2_2(DECLARE_ENGINE_PARAMETER_SIGNATURE) { setOperationMode(engineConfiguration, FOUR_STROKE_CAM_SENSOR); engineConfiguration->trigger.type = TT_ONE_PLUS_TOOTHED_WHEEL_60_2; - CONFIGB(triggerInputPins)[0] = GPIOC_6; - CONFIGB(triggerInputPins)[1] = GPIOA_8; + boardConfiguration->triggerInputPins[0] = GPIOC_6; + boardConfiguration->triggerInputPins[1] = GPIOA_8; } diff --git a/firmware/config/engines/honda_600.cpp b/firmware/config/engines/honda_600.cpp index 0a233e1f4e..17fac9852f 100644 --- a/firmware/config/engines/honda_600.cpp +++ b/firmware/config/engines/honda_600.cpp @@ -64,8 +64,8 @@ void setHonda600(DECLARE_ENGINE_PARAMETER_SIGNATURE) { engineConfiguration->fuelAlgorithm = LM_ALPHA_N; // upside down wiring - CONFIGB(triggerInputPins)[0] = GPIOA_5; - CONFIGB(triggerInputPins)[1] = GPIOC_6; + boardConfiguration->triggerInputPins[0] = GPIOA_5; + boardConfiguration->triggerInputPins[1] = GPIOC_6; // set global_trigger_offset_angle 180 @@ -85,9 +85,9 @@ void setHonda600(DECLARE_ENGINE_PARAMETER_SIGNATURE) { //setIndividualCoilsIgnition(); - setFrankenso_01_LCD(PASS_ENGINE_PARAMETER_SIGNATURE); - commonFrankensoAnalogInputs(PASS_ENGINE_PARAMETER_SIGNATURE); - setFrankenso0_1_joystick(PASS_ENGINE_PARAMETER_SIGNATURE); + setFrankenso_01_LCD(boardConfiguration); + commonFrankensoAnalogInputs(engineConfiguration); + setFrankenso0_1_joystick(engineConfiguration); setMap(config->injectionPhase, 320); /** * Frankenso analog #1 PC2 ADC12 CLT @@ -133,33 +133,33 @@ void setHonda600(DECLARE_ENGINE_PARAMETER_SIGNATURE) { // Frankenso low out #11: PB8 injector #3 // Frankenso low out #12: PB7 injector #4 - CONFIGB(fuelPumpPin) = GPIOE_4; - CONFIGB(mainRelayPin) = GPIOD_7; - CONFIGB(idle).solenoidPin = GPIOC_13; + boardConfiguration->fuelPumpPin = GPIOE_4; + boardConfiguration->mainRelayPin = GPIOD_7; + boardConfiguration->idle.solenoidPin = GPIOC_13; - CONFIGB(fanPin) = GPIOE_5; + boardConfiguration->fanPin = GPIOE_5; - CONFIGB(injectionPins)[0] = GPIOB_9; // #1 - CONFIGB(injectionPins)[1] = GPIOD_5; // #2 - CONFIGB(injectionPins)[2] = GPIOB_7; // #3 - CONFIGB(injectionPins)[3] = GPIOB_8; // #4 + boardConfiguration->injectionPins[0] = GPIOB_9; // #1 + boardConfiguration->injectionPins[1] = GPIOD_5; // #2 + boardConfiguration->injectionPins[2] = GPIOB_7; // #3 + boardConfiguration->injectionPins[3] = GPIOB_8; // #4 setDefaultCustomMaps(PASS_ENGINE_PARAMETER_SIGNATURE); setAlgorithm(LM_ALPHA_N PASS_ENGINE_PARAMETER_SUFFIX); - CONFIGB(injectionPins)[4] = GPIO_UNASSIGNED; - CONFIGB(injectionPins)[5] = GPIO_UNASSIGNED; - CONFIGB(injectionPins)[6] = GPIO_UNASSIGNED; - CONFIGB(injectionPins)[7] = GPIO_UNASSIGNED; - CONFIGB(injectionPins)[8] = GPIO_UNASSIGNED; - CONFIGB(injectionPins)[9] = GPIO_UNASSIGNED; - CONFIGB(injectionPins)[10] = GPIO_UNASSIGNED; - CONFIGB(injectionPins)[11] = GPIO_UNASSIGNED; + boardConfiguration->injectionPins[4] = GPIO_UNASSIGNED; + boardConfiguration->injectionPins[5] = GPIO_UNASSIGNED; + boardConfiguration->injectionPins[6] = GPIO_UNASSIGNED; + boardConfiguration->injectionPins[7] = GPIO_UNASSIGNED; + boardConfiguration->injectionPins[8] = GPIO_UNASSIGNED; + boardConfiguration->injectionPins[9] = GPIO_UNASSIGNED; + boardConfiguration->injectionPins[10] = GPIO_UNASSIGNED; + boardConfiguration->injectionPins[11] = GPIO_UNASSIGNED; - CONFIGB(ignitionPins)[0] = GPIOE_14; - CONFIGB(ignitionPins)[1] = GPIOC_7; - CONFIGB(ignitionPins)[2] = GPIOE_10; - CONFIGB(ignitionPins)[3] = GPIOC_9; // #4 + boardConfiguration->ignitionPins[0] = GPIOE_14; + boardConfiguration->ignitionPins[1] = GPIOC_7; + boardConfiguration->ignitionPins[2] = GPIOE_10; + boardConfiguration->ignitionPins[3] = GPIOC_9; // #4 // todo: 8.2 or 10k? engineConfiguration->vbattDividerCoeff = ((float) (10 + 33)) / 10 * 2; diff --git a/firmware/config/engines/honda_accord.cpp b/firmware/config/engines/honda_accord.cpp index d269110a68..1d91eb892f 100644 --- a/firmware/config/engines/honda_accord.cpp +++ b/firmware/config/engines/honda_accord.cpp @@ -39,7 +39,7 @@ EXTERN_ENGINE; static void setHondaAccordConfigurationCommon(DECLARE_ENGINE_PARAMETER_SIGNATURE) { engineConfiguration->map.sensor.type = MT_DENSO183; - CONFIGB(isFastAdcEnabled) = true; + boardConfiguration->isFastAdcEnabled = true; // set ignition_mode 0 engineConfiguration->ignitionMode = IM_ONE_COIL; @@ -150,29 +150,29 @@ static void setHondaAccordConfigurationCommon(DECLARE_ENGINE_PARAMETER_SIGNATURE // Frankenso low out #10: PD5 Injector #3 // Frankenso low out #11: PB8 injector #1 // Frankenso low out #12: PB7 injector #4 - CONFIGB(fuelPumpPin) = GPIOE_3; - CONFIGB(fuelPumpPinMode) = OM_DEFAULT; - CONFIGB(malfunctionIndicatorPin) = GPIOE_2; - CONFIGB(malfunctionIndicatorPinMode) = OM_DEFAULT; - CONFIGB(fanPin) = GPIOE_4; // blue wire + boardConfiguration->fuelPumpPin = GPIOE_3; + boardConfiguration->fuelPumpPinMode = OM_DEFAULT; + boardConfiguration->malfunctionIndicatorPin = GPIOE_2; + boardConfiguration->malfunctionIndicatorPinMode = OM_DEFAULT; + boardConfiguration->fanPin = GPIOE_4; // blue wire - CONFIGB(idle).solenoidPin = GPIOD_3; // green wire + boardConfiguration->idle.solenoidPin = GPIOD_3; // green wire - CONFIGB(injectionPins)[0] = GPIOB_8; - CONFIGB(injectionPins)[1] = GPIOB_9; - CONFIGB(injectionPins)[2] = GPIOD_5; - CONFIGB(injectionPins)[3] = GPIOB_7; + boardConfiguration->injectionPins[0] = GPIOB_8; + boardConfiguration->injectionPins[1] = GPIOB_9; + boardConfiguration->injectionPins[2] = GPIOD_5; + boardConfiguration->injectionPins[3] = GPIOB_7; - CONFIGB(ignitionPins)[0] = GPIOE_12; // white wire - CONFIGB(ignitionPins)[1] = GPIO_UNASSIGNED; - CONFIGB(ignitionPins)[2] = GPIO_UNASSIGNED; - CONFIGB(ignitionPins)[3] = GPIO_UNASSIGNED; + boardConfiguration->ignitionPins[0] = GPIOE_12; // white wire + boardConfiguration->ignitionPins[1] = GPIO_UNASSIGNED; + boardConfiguration->ignitionPins[2] = GPIO_UNASSIGNED; + boardConfiguration->ignitionPins[3] = GPIO_UNASSIGNED; - setFrankenso_01_LCD(PASS_ENGINE_PARAMETER_SIGNATURE); - setFrankenso0_1_joystick(PASS_ENGINE_PARAMETER_SIGNATURE); + setFrankenso_01_LCD(boardConfiguration); + setFrankenso0_1_joystick(engineConfiguration); - CONFIGB(idle).solenoidFrequency = 500; + boardConfiguration->idle.solenoidFrequency = 500; } /* diff --git a/firmware/config/engines/lada_kalina.cpp b/firmware/config/engines/lada_kalina.cpp index e8241dc136..30a7fd8a14 100644 --- a/firmware/config/engines/lada_kalina.cpp +++ b/firmware/config/engines/lada_kalina.cpp @@ -16,35 +16,35 @@ EXTERN_ENGINE; void setLadaKalina(DECLARE_ENGINE_PARAMETER_SIGNATURE) { setCustomEngineConfiguration(PASS_ENGINE_PARAMETER_SIGNATURE); - disableLCD(PASS_ENGINE_PARAMETER_SIGNATURE); + disableLCD(boardConfiguration); - CONFIGB(HD44780_rs) = GPIO_UNASSIGNED; - CONFIGB(HD44780_e) = GPIO_UNASSIGNED; - CONFIGB(HD44780_db4) = GPIO_UNASSIGNED; - CONFIGB(HD44780_db5) = GPIO_UNASSIGNED; - CONFIGB(HD44780_db6) = GPIO_UNASSIGNED; - CONFIGB(HD44780_db7) = GPIO_UNASSIGNED; + boardConfiguration->HD44780_rs = GPIO_UNASSIGNED; + boardConfiguration->HD44780_e = GPIO_UNASSIGNED; + boardConfiguration->HD44780_db4 = GPIO_UNASSIGNED; + boardConfiguration->HD44780_db5 = GPIO_UNASSIGNED; + boardConfiguration->HD44780_db6 = GPIO_UNASSIGNED; + boardConfiguration->HD44780_db7 = GPIO_UNASSIGNED; setOperationMode(engineConfiguration, FOUR_STROKE_CRANK_SENSOR); engineConfiguration->trigger.type = TT_TOOTHED_WHEEL_60_2; - CONFIGB(triggerInputPins)[0] = GPIOA_5; - CONFIGB(triggerInputPins)[1] = GPIO_UNASSIGNED; + boardConfiguration->triggerInputPins[0] = GPIOA_5; + boardConfiguration->triggerInputPins[1] = GPIO_UNASSIGNED; engineConfiguration->globalTriggerAngleOffset = 114; - CONFIGB(ignitionPins)[0] = GPIOE_14; - CONFIGB(ignitionPins)[1] = GPIOC_7; - CONFIGB(ignitionPins)[2] = GPIOC_9; - CONFIGB(ignitionPins)[3] = GPIOE_12; + boardConfiguration->ignitionPins[0] = GPIOE_14; + boardConfiguration->ignitionPins[1] = GPIOC_7; + boardConfiguration->ignitionPins[2] = GPIOC_9; + boardConfiguration->ignitionPins[3] = GPIOE_12; - CONFIGB(useStepperIdle) = true; - CONFIGB(fuelPumpPin) = GPIOC_13; - CONFIGB(mainRelayPin) = GPIOD_7; + boardConfiguration->useStepperIdle = true; + boardConfiguration->fuelPumpPin = GPIOC_13; + boardConfiguration->mainRelayPin = GPIOD_7; - CONFIGB(idle).stepperDirectionPin = GPIOE_15; - CONFIGB(idle).stepperStepPin = GPIOE_13; + boardConfiguration->idle.stepperDirectionPin = GPIOE_15; + boardConfiguration->idle.stepperStepPin = GPIOE_13; engineConfiguration->stepperEnablePin = GPIOE_11; diff --git a/firmware/config/engines/mazda_626.cpp b/firmware/config/engines/mazda_626.cpp index 23c0b51ebe..b4a096b5d5 100644 --- a/firmware/config/engines/mazda_626.cpp +++ b/firmware/config/engines/mazda_626.cpp @@ -27,7 +27,7 @@ void setMazda626EngineConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) { // engineConfiguration->trigger.type = TT_MAZDA_DOHC_1_4; // with this complex trigger we do not need this by default - CONFIGB(sensorChartMode) = SC_OFF; + boardConfiguration->sensorChartMode = SC_OFF; engineConfiguration->useOnlyRisingEdgeForTrigger = true; @@ -105,6 +105,6 @@ void setMazda626EngineConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) { engineConfiguration->externalKnockSenseAdc = EFI_ADC_4; - CONFIGB(triggerInputPins)[1] = GPIO_UNASSIGNED; + boardConfiguration->triggerInputPins[1] = GPIO_UNASSIGNED; engineConfiguration->camInput = GPIOA_5; } diff --git a/firmware/config/engines/mazda_miata.cpp b/firmware/config/engines/mazda_miata.cpp index b8a60cf803..2a8e9ade36 100644 --- a/firmware/config/engines/mazda_miata.cpp +++ b/firmware/config/engines/mazda_miata.cpp @@ -131,14 +131,14 @@ static void commonMiataNa(DECLARE_ENGINE_PARAMETER_SIGNATURE) { engineConfiguration->trigger.type = TT_MAZDA_MIATA_NA; engineConfiguration->engineChartSize = 100; - CONFIGB(triggerInputPins)[0] = GPIOC_6; // 2G YEL/BLU - CONFIGB(triggerInputPins)[1] = GPIOA_5; // 2E White CKP + boardConfiguration->triggerInputPins[0] = GPIOC_6; // 2G YEL/BLU + boardConfiguration->triggerInputPins[1] = GPIOA_5; // 2E White CKP engineConfiguration->ignitionMode = IM_WASTED_SPARK; setFuelLoadBin(1.2, 4.4 PASS_ENGINE_PARAMETER_SUFFIX); setFuelRpmBin(800, 7000 PASS_ENGINE_PARAMETER_SUFFIX); - CONFIGB(idle).solenoidFrequency = 160; + boardConfiguration->idle.solenoidFrequency = 160; // Frankenstein: high side #1 is PE8 // Frankenstein: high side #2 is PE10 @@ -147,16 +147,16 @@ static void commonMiataNa(DECLARE_ENGINE_PARAMETER_SIGNATURE) { // Frankenstein: high side #5 is PC9 // Frankenstein: high side #6 is PC7 - CONFIGB(ignitionPins)[0] = GPIOE_12; // Frankenstein: high side #3 - CONFIGB(ignitionPins)[1] = GPIOE_14; // Frankenstein: high side #4 - CONFIGB(ignitionPins)[2] = GPIO_UNASSIGNED; - CONFIGB(ignitionPins)[3] = GPIO_UNASSIGNED; - CONFIGB(ignitionPinMode) = OM_DEFAULT; + boardConfiguration->ignitionPins[0] = GPIOE_12; // Frankenstein: high side #3 + boardConfiguration->ignitionPins[1] = GPIOE_14; // Frankenstein: high side #4 + boardConfiguration->ignitionPins[2] = GPIO_UNASSIGNED; + boardConfiguration->ignitionPins[3] = GPIO_UNASSIGNED; + boardConfiguration->ignitionPinMode = OM_DEFAULT; setDefaultCrankingFuel(engineConfiguration); - CONFIGB(triggerSimulatorPinModes)[0] = OM_OPENDRAIN; - CONFIGB(triggerSimulatorPinModes)[1] = OM_OPENDRAIN; + boardConfiguration->triggerSimulatorPinModes[0] = OM_OPENDRAIN; + boardConfiguration->triggerSimulatorPinModes[1] = OM_OPENDRAIN; setCommonNTCSensor(&engineConfiguration->clt); engineConfiguration->clt.config.bias_resistor = 2700; @@ -165,14 +165,14 @@ static void commonMiataNa(DECLARE_ENGINE_PARAMETER_SIGNATURE) { } -void common079721_2351(DECLARE_ENGINE_PARAMETER_SIGNATURE) { +void common079721_2351(engine_configuration_s *engineConfiguration, board_configuration_s *boardConfiguration) { engineConfiguration->engineChartSize = 300; engineConfiguration->specs.cylindersCount = 4; engineConfiguration->specs.firingOrder = FO_1_3_4_2; - CONFIGB(fuelPumpPin) = GPIO_UNASSIGNED; // fuel pump is not controlled by ECU on this engine + boardConfiguration->fuelPumpPin = GPIO_UNASSIGNED; // fuel pump is not controlled by ECU on this engine // set cranking_injection_mode 0 engineConfiguration->crankingInjectionMode = IM_SIMULTANEOUS; @@ -202,7 +202,7 @@ void common079721_2351(DECLARE_ENGINE_PARAMETER_SIGNATURE) { * Frankenstein board */ void setMiata1990(DECLARE_ENGINE_PARAMETER_SIGNATURE) { - common079721_2351(PASS_ENGINE_PARAMETER_SIGNATURE); + common079721_2351(engineConfiguration, boardConfiguration); commonMiataNa(PASS_ENGINE_PARAMETER_SIGNATURE); @@ -219,13 +219,13 @@ void setMiata1990(DECLARE_ENGINE_PARAMETER_SIGNATURE) { // Frankenstein: low side - out #11: PB8 // Frankenstein: low side - out #12: PB9 - CONFIGB(injectionPins)[0] = GPIOB_9; // Frankenstein: low side - out #12 - CONFIGB(injectionPins)[1] = GPIOB_8; // Frankenstein: low side - out #11 - CONFIGB(injectionPins)[2] = GPIO_UNASSIGNED; - CONFIGB(injectionPins)[3] = GPIO_UNASSIGNED; - CONFIGB(injectionPins)[4] = GPIO_UNASSIGNED; - CONFIGB(injectionPins)[5] = GPIO_UNASSIGNED; - CONFIGB(injectionPinMode) = OM_DEFAULT; + boardConfiguration->injectionPins[0] = GPIOB_9; // Frankenstein: low side - out #12 + boardConfiguration->injectionPins[1] = GPIOB_8; // Frankenstein: low side - out #11 + boardConfiguration->injectionPins[2] = GPIO_UNASSIGNED; + boardConfiguration->injectionPins[3] = GPIO_UNASSIGNED; + boardConfiguration->injectionPins[4] = GPIO_UNASSIGNED; + boardConfiguration->injectionPins[5] = GPIO_UNASSIGNED; + boardConfiguration->injectionPinMode = OM_DEFAULT; // todo: idleValvePin } @@ -244,17 +244,17 @@ static void setMiata1994_common(DECLARE_ENGINE_PARAMETER_SIGNATURE) { copyTimingTable(miata_maf_advance_table, config->ignitionTable); -// CONFIGB(triggerSimulatorPins)[0] = GPIOD_2; // 2G - YEL/BLU -// CONFIGB(triggerSimulatorPins)[1] = GPIOB_3; // 2E - WHT - four times -// CONFIGB(triggerSimulatorPinModes)[0] = OM_OPENDRAIN; -// CONFIGB(triggerSimulatorPinModes)[1] = OM_OPENDRAIN; +// boardConfiguration->triggerSimulatorPins[0] = GPIOD_2; // 2G - YEL/BLU +// boardConfiguration->triggerSimulatorPins[1] = GPIOB_3; // 2E - WHT - four times +// boardConfiguration->triggerSimulatorPinModes[0] = OM_OPENDRAIN; +// boardConfiguration->triggerSimulatorPinModes[1] = OM_OPENDRAIN; // -// CONFIGB(triggerInputPins)[0] = GPIO_UNASSIGNED; -// CONFIGB(triggerInputPins)[1] = GPIO_UNASSIGNED; +// boardConfiguration->triggerInputPins[0] = GPIO_UNASSIGNED; +// boardConfiguration->triggerInputPins[1] = GPIO_UNASSIGNED; // -// CONFIGB(is_enabled_spi_1) = false; -// CONFIGB(is_enabled_spi_2) = false; -// CONFIGB(is_enabled_spi_3) = false; +// boardConfiguration->is_enabled_spi_1 = false; +// boardConfiguration->is_enabled_spi_2 = false; +// boardConfiguration->is_enabled_spi_3 = false; /** * Outputs @@ -271,27 +271,27 @@ static void setMiata1994_common(DECLARE_ENGINE_PARAMETER_SIGNATURE) { // Frankenso low out #10: PE0 (do not use with discovery!) // Frankenso low out #11: PB8 // Frankenso low out #12: PB7 - CONFIGB(fanPin) = GPIOE_6; + boardConfiguration->fanPin = GPIOE_6; - CONFIGB(o2heaterPin) = GPIO_UNASSIGNED; + boardConfiguration->o2heaterPin = GPIO_UNASSIGNED; - CONFIGB(fuelPumpPin) = GPIOE_4; + boardConfiguration->fuelPumpPin = GPIOE_4; - CONFIGB(injectionPins)[4] = GPIO_UNASSIGNED; - CONFIGB(injectionPins)[5] = GPIO_UNASSIGNED; - CONFIGB(injectionPinMode) = OM_DEFAULT; + boardConfiguration->injectionPins[4] = GPIO_UNASSIGNED; + boardConfiguration->injectionPins[5] = GPIO_UNASSIGNED; + boardConfiguration->injectionPinMode = OM_DEFAULT; - CONFIGB(idle).solenoidPin = GPIOB_9; + boardConfiguration->idle.solenoidPin = GPIOB_9; - CONFIGB(ignitionPins)[0] = GPIOE_14; // Frankenso high side - pin 1G - CONFIGB(ignitionPins)[1] = GPIO_UNASSIGNED; - CONFIGB(ignitionPins)[2] = GPIOC_7; // Frankenso high side - pin 1H - CONFIGB(ignitionPins)[3] = GPIO_UNASSIGNED; - CONFIGB(ignitionPinMode) = OM_DEFAULT; + boardConfiguration->ignitionPins[0] = GPIOE_14; // Frankenso high side - pin 1G + boardConfiguration->ignitionPins[1] = GPIO_UNASSIGNED; + boardConfiguration->ignitionPins[2] = GPIOC_7; // Frankenso high side - pin 1H + boardConfiguration->ignitionPins[3] = GPIO_UNASSIGNED; + boardConfiguration->ignitionPinMode = OM_DEFAULT; - setFrankenso_01_LCD(PASS_ENGINE_PARAMETER_SIGNATURE); + setFrankenso_01_LCD(boardConfiguration); - commonFrankensoAnalogInputs(PASS_ENGINE_PARAMETER_SIGNATURE); + commonFrankensoAnalogInputs(engineConfiguration); engineConfiguration->tpsAdcChannel = EFI_ADC_2; // PA2 engineConfiguration->map.sensor.hwChannel = EFI_ADC_4; @@ -311,20 +311,20 @@ void setMiata1994_d(DECLARE_ENGINE_PARAMETER_SIGNATURE) { /** * This board was avoiding PE0 & PE1 mosfets altogether */ - CONFIGB(injectionPins)[0] = GPIOD_7; // avoiding PE1 - CONFIGB(injectionPins)[1] = GPIOE_2; - CONFIGB(injectionPins)[2] = GPIOB_8; - CONFIGB(injectionPins)[3] = GPIOB_7; + boardConfiguration->injectionPins[0] = GPIOD_7; // avoiding PE1 + boardConfiguration->injectionPins[1] = GPIOE_2; + boardConfiguration->injectionPins[2] = GPIOB_8; + boardConfiguration->injectionPins[3] = GPIOB_7; // todo: add the diode? change idle valve logic? - CONFIGB(idle).solenoidPin = GPIO_UNASSIGNED; + boardConfiguration->idle.solenoidPin = GPIO_UNASSIGNED; } void setMiata1994_s(DECLARE_ENGINE_PARAMETER_SIGNATURE) { setMiata1994_common(PASS_ENGINE_PARAMETER_SIGNATURE); engineConfiguration->vbattDividerCoeff = ((float) (10.0 + 33)) / 10 * 2; - CONFIGB(triggerSimulatorPins)[2] = GPIO_UNASSIGNED; + boardConfiguration->triggerSimulatorPins[2] = GPIO_UNASSIGNED; engineConfiguration->acSwitchAdc = EFI_ADC_1; // PA1, W50 on Frankenso @@ -334,13 +334,13 @@ void setMiata1994_s(DECLARE_ENGINE_PARAMETER_SIGNATURE) { /** * This board has PE0<>PD5 & PE1<>PD3 rewired in order to avoid Discovery issue */ - CONFIGB(injectionPins)[0] = GPIOD_3; // avoiding PE1 - CONFIGB(injectionPins)[1] = GPIOE_2; // injector #2 - CONFIGB(injectionPins)[2] = GPIOB_8; // injector #3 - CONFIGB(injectionPins)[3] = GPIOB_7; // injector #4 + boardConfiguration->injectionPins[0] = GPIOD_3; // avoiding PE1 + boardConfiguration->injectionPins[1] = GPIOE_2; // injector #2 + boardConfiguration->injectionPins[2] = GPIOB_8; // injector #3 + boardConfiguration->injectionPins[3] = GPIOB_7; // injector #4 // setFsio(engineConfiguration, 0, GPIOD_11, "coolant 80 >"); - CONFIGB(idle).solenoidFrequency = 500; + boardConfiguration->idle.solenoidFrequency = 500; engineConfiguration->acCutoffLowRpm = 400; engineConfiguration->acCutoffHighRpm = 4500; @@ -353,8 +353,8 @@ void setMiata1994_s(DECLARE_ENGINE_PARAMETER_SIGNATURE) { engineConfiguration->tpsMax = 86; engineConfiguration->tpsMin = 596; - CONFIGB(malfunctionIndicatorPin) = GPIOE_5; - CONFIGB(malfunctionIndicatorPinMode) = OM_DEFAULT; + boardConfiguration->malfunctionIndicatorPin = GPIOE_5; + boardConfiguration->malfunctionIndicatorPinMode = OM_DEFAULT; engineConfiguration->fuelAlgorithm = LM_REAL_MAF; setMazdaMiataNAMaf(config); @@ -372,31 +372,31 @@ void setMiata1996(DECLARE_ENGINE_PARAMETER_SIGNATURE) { copyTimingTable(miata_maf_advance_table, config->ignitionTable); // upside down - CONFIGB(triggerInputPins)[0] = GPIOA_5; - CONFIGB(triggerInputPins)[1] = GPIOC_6; + boardConfiguration->triggerInputPins[0] = GPIOA_5; + boardConfiguration->triggerInputPins[1] = GPIOC_6; - CONFIGB(fuelPumpPin) = GPIOE_4; - CONFIGB(idle).solenoidPin = GPIOE_5; + boardConfiguration->fuelPumpPin = GPIOE_4; + boardConfiguration->idle.solenoidPin = GPIOE_5; engineConfiguration->mafAdcChannel = EFI_ADC_1; engineConfiguration->clt.adcChannel = EFI_ADC_11; engineConfiguration->tpsAdcChannel = EFI_ADC_13; - CONFIGB(ignitionPins)[0] = GPIOE_12; // Frankenstein: high side #3 - CONFIGB(ignitionPins)[1] = GPIO_UNASSIGNED; - CONFIGB(ignitionPins)[2] = GPIOE_14; // Frankenstein: high side #4 - CONFIGB(ignitionPins)[3] = GPIO_UNASSIGNED; - CONFIGB(ignitionPinMode) = OM_DEFAULT; + boardConfiguration->ignitionPins[0] = GPIOE_12; // Frankenstein: high side #3 + boardConfiguration->ignitionPins[1] = GPIO_UNASSIGNED; + boardConfiguration->ignitionPins[2] = GPIOE_14; // Frankenstein: high side #4 + boardConfiguration->ignitionPins[3] = GPIO_UNASSIGNED; + boardConfiguration->ignitionPinMode = OM_DEFAULT; // harness is sequential but we have a limited board engineConfiguration->crankingInjectionMode = IM_BATCH; engineConfiguration->injectionMode = IM_BATCH; - CONFIGB(injectionPins)[0] = GPIOB_9; // Frankenstein: low side - out #12 - CONFIGB(injectionPins)[1] = GPIOB_8; // Frankenstein: low side - out #11 - CONFIGB(injectionPins)[2] = GPIO_UNASSIGNED; - CONFIGB(injectionPins)[3] = GPIO_UNASSIGNED; - CONFIGB(injectionPins)[4] = GPIO_UNASSIGNED; - CONFIGB(injectionPins)[5] = GPIO_UNASSIGNED; - CONFIGB(injectionPinMode) = OM_DEFAULT; + boardConfiguration->injectionPins[0] = GPIOB_9; // Frankenstein: low side - out #12 + boardConfiguration->injectionPins[1] = GPIOB_8; // Frankenstein: low side - out #11 + boardConfiguration->injectionPins[2] = GPIO_UNASSIGNED; + boardConfiguration->injectionPins[3] = GPIO_UNASSIGNED; + boardConfiguration->injectionPins[4] = GPIO_UNASSIGNED; + boardConfiguration->injectionPins[5] = GPIO_UNASSIGNED; + boardConfiguration->injectionPinMode = OM_DEFAULT; } diff --git a/firmware/config/engines/mazda_miata.h b/firmware/config/engines/mazda_miata.h index b3a0283a93..fdbf5c7c78 100644 --- a/firmware/config/engines/mazda_miata.h +++ b/firmware/config/engines/mazda_miata.h @@ -14,7 +14,7 @@ #include "engine.h" -void common079721_2351(DECLARE_ENGINE_PARAMETER_SIGNATURE); +void common079721_2351(engine_configuration_s *engineConfiguration, board_configuration_s *boardConfiguration); void setMiata1990(DECLARE_ENGINE_PARAMETER_SIGNATURE); void setMiata1994_d(DECLARE_ENGINE_PARAMETER_SIGNATURE); void setMiata1994_s(DECLARE_ENGINE_PARAMETER_SIGNATURE); diff --git a/firmware/config/engines/mazda_miata_1_6.cpp b/firmware/config/engines/mazda_miata_1_6.cpp index e5f2e977cc..89e987dfd3 100644 --- a/firmware/config/engines/mazda_miata_1_6.cpp +++ b/firmware/config/engines/mazda_miata_1_6.cpp @@ -104,13 +104,13 @@ void miataNAcommon(DECLARE_ENGINE_PARAMETER_SIGNATURE) { copyTimingTable(mapBased16IgnitionTable, config->ignitionTable); - CONFIGB(idle).solenoidFrequency = 160; - CONFIGB(idle).solenoidPin = GPIOB_9; // this W61 <> W61 jumper, pin 3W + boardConfiguration->idle.solenoidFrequency = 160; + boardConfiguration->idle.solenoidPin = GPIOB_9; // this W61 <> W61 jumper, pin 3W - CONFIGB(ignitionPins)[0] = GPIOE_14; // Frankenso high side - pin 1G - CONFIGB(ignitionPins)[1] = GPIO_UNASSIGNED; - CONFIGB(ignitionPins)[2] = GPIOC_7; // Frankenso high side - pin 1H - CONFIGB(ignitionPins)[3] = GPIO_UNASSIGNED; + boardConfiguration->ignitionPins[0] = GPIOE_14; // Frankenso high side - pin 1G + boardConfiguration->ignitionPins[1] = GPIO_UNASSIGNED; + boardConfiguration->ignitionPins[2] = GPIOC_7; // Frankenso high side - pin 1H + boardConfiguration->ignitionPins[3] = GPIO_UNASSIGNED; engineConfiguration->ignitionMode = IM_WASTED_SPARK; } @@ -154,7 +154,7 @@ void setMiataNA_1_6_Configuration(DECLARE_ENGINE_PARAMETER_SIGNATURE) { engineConfiguration->vbattDividerCoeff = 9.75;// ((float) (8.2 + 33)) / 8.2 * 2; - CONFIGB(isSdCardEnabled) = true; + boardConfiguration->isSdCardEnabled = true; // my car was originally a manual so proper TPS engineConfiguration->tpsMin = 93; // convert 12to10 bit (ADC/4) @@ -180,14 +180,14 @@ void setMiataNA_1_6_Configuration(DECLARE_ENGINE_PARAMETER_SIGNATURE) { */ /* //WARNING: these indeces are off - CONFIGB(fsio_setting)[0] = 6400; // RPM threshold - CONFIGB(fsio_setting)[1] = 100; // CLT threshold, fsio_setting #2 - CONFIGB(fsio_setting)[2] = 13.0; // voltage threshold, fsio_setting #3 + boardConfiguration->fsio_setting[0] = 6400; // RPM threshold + boardConfiguration->fsio_setting[1] = 100; // CLT threshold, fsio_setting #2 + boardConfiguration->fsio_setting[2] = 13.0; // voltage threshold, fsio_setting #3 // set_fsio_setting 4 3000 - CONFIGB(fsio_setting)[3] = 3000; // oil pressure RPM, fsio_setting #4 + boardConfiguration->fsio_setting[3] = 3000; // oil pressure RPM, fsio_setting #4 // set_fsio_setting 5 0.52 - CONFIGB(fsio_setting)[4] = 0.52; // oil pressure threshold, fsio_setting #5 + boardConfiguration->fsio_setting[4] = 0.52; // oil pressure threshold, fsio_setting #5 */ // * set_rpn_expression 1 "rpm 3 fsio_setting >" @@ -199,10 +199,10 @@ void setMiataNA_1_6_Configuration(DECLARE_ENGINE_PARAMETER_SIGNATURE) { // todo: convert setFsio(0, GPIOC_13, COMBINED_WARNING_LIGHT PASS_ENGINE_PARAMETER_SUFFIX); - CONFIGB(injectionPins)[0] = GPIOD_3; // #1&3 pin 3U - CONFIGB(injectionPins)[1] = GPIOE_2; // #2&4 pin 3V - CONFIGB(injectionPins)[2] = GPIO_UNASSIGNED; - CONFIGB(injectionPins)[3] = GPIO_UNASSIGNED; + boardConfiguration->injectionPins[0] = GPIOD_3; // #1&3 pin 3U + boardConfiguration->injectionPins[1] = GPIOE_2; // #2&4 pin 3V + boardConfiguration->injectionPins[2] = GPIO_UNASSIGNED; + boardConfiguration->injectionPins[3] = GPIO_UNASSIGNED; engineConfiguration->injectionMode = IM_BATCH; diff --git a/firmware/config/engines/mazda_miata_na8.cpp b/firmware/config/engines/mazda_miata_na8.cpp index 2ef5959272..deb1002c17 100644 --- a/firmware/config/engines/mazda_miata_na8.cpp +++ b/firmware/config/engines/mazda_miata_na8.cpp @@ -36,10 +36,10 @@ void setMazdaMiataNA8Configuration(DECLARE_ENGINE_PARAMETER_SIGNATURE) { engineConfiguration->vbattDividerCoeff = 9.75;// ((float) (8.2 + 33)) / 8.2 * 2; - CONFIGB(injectionPins)[0] = GPIOD_3; // #1 pin 3U - CONFIGB(injectionPins)[1] = GPIOE_2; // #2 pin 3V - CONFIGB(injectionPins)[2] = GPIOB_8; // #3 pin 3Y - CONFIGB(injectionPins)[3] = GPIOB_7; // #4 pin 3Z + boardConfiguration->injectionPins[0] = GPIOD_3; // #1 pin 3U + boardConfiguration->injectionPins[1] = GPIOE_2; // #2 pin 3V + boardConfiguration->injectionPins[2] = GPIOB_8; // #3 pin 3Y + boardConfiguration->injectionPins[3] = GPIOB_7; // #4 pin 3Z engineConfiguration->injectionMode = IM_SEQUENTIAL; diff --git a/firmware/config/engines/mazda_miata_nb.cpp b/firmware/config/engines/mazda_miata_nb.cpp index 2e0831e988..1045bf199f 100644 --- a/firmware/config/engines/mazda_miata_nb.cpp +++ b/firmware/config/engines/mazda_miata_nb.cpp @@ -46,33 +46,33 @@ void setMazdaMiataNb1EngineConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) { engineConfiguration->iat.adcChannel = EFI_ADC_13; engineConfiguration->afr.hwChannel = EFI_ADC_2; // PA2 - CONFIGB(idle).solenoidPin = GPIOE_0; - CONFIGB(idle).solenoidPinMode = OM_DEFAULT; + boardConfiguration->idle.solenoidPin = GPIOE_0; + boardConfiguration->idle.solenoidPinMode = OM_DEFAULT; - CONFIGB(fuelPumpPin) = GPIOC_14; // Frankenstein: low side - out #4 - CONFIGB(fuelPumpPinMode) = OM_DEFAULT; + boardConfiguration->fuelPumpPin = GPIOC_14; // Frankenstein: low side - out #4 + boardConfiguration->fuelPumpPinMode = OM_DEFAULT; - CONFIGB(injectionPins)[0] = GPIOB_9; // Frankenstein: low side - out #12 - CONFIGB(injectionPins)[1] = GPIOB_8; // Frankenstein: low side - out #11 - CONFIGB(injectionPins)[2] = GPIOE_3; // Frankenstein: low side - out #8 - CONFIGB(injectionPins)[3] = GPIOE_5; // Frankenstein: low side - out #6 - CONFIGB(injectionPins)[4] = GPIO_UNASSIGNED; - CONFIGB(injectionPins)[5] = GPIO_UNASSIGNED; - CONFIGB(injectionPinMode) = OM_DEFAULT; + boardConfiguration->injectionPins[0] = GPIOB_9; // Frankenstein: low side - out #12 + boardConfiguration->injectionPins[1] = GPIOB_8; // Frankenstein: low side - out #11 + boardConfiguration->injectionPins[2] = GPIOE_3; // Frankenstein: low side - out #8 + boardConfiguration->injectionPins[3] = GPIOE_5; // Frankenstein: low side - out #6 + boardConfiguration->injectionPins[4] = GPIO_UNASSIGNED; + boardConfiguration->injectionPins[5] = GPIO_UNASSIGNED; + boardConfiguration->injectionPinMode = OM_DEFAULT; - CONFIGB(ignitionPins)[0] = GPIOE_10; // Frankenstein: high side #1 - CONFIGB(ignitionPins)[1] = GPIO_UNASSIGNED; - CONFIGB(ignitionPins)[2] = GPIOC_9; // // Frankenstein: high side #2 - CONFIGB(ignitionPins)[3] = GPIO_UNASSIGNED; - CONFIGB(ignitionPinMode) = OM_INVERTED; + boardConfiguration->ignitionPins[0] = GPIOE_10; // Frankenstein: high side #1 + boardConfiguration->ignitionPins[1] = GPIO_UNASSIGNED; + boardConfiguration->ignitionPins[2] = GPIOC_9; // // Frankenstein: high side #2 + boardConfiguration->ignitionPins[3] = GPIO_UNASSIGNED; + boardConfiguration->ignitionPinMode = OM_INVERTED; - CONFIGB(malfunctionIndicatorPin) = GPIOE_1; - CONFIGB(malfunctionIndicatorPinMode) = OM_DEFAULT; + boardConfiguration->malfunctionIndicatorPin = GPIOE_1; + boardConfiguration->malfunctionIndicatorPinMode = OM_DEFAULT; - CONFIGB(fanPin) = GPIOE_6; - CONFIGB(fanPinMode) = OM_DEFAULT; + boardConfiguration->fanPin = GPIOE_6; + boardConfiguration->fanPinMode = OM_DEFAULT; - CONFIGB(clutchDownPin) = GPIO_UNASSIGNED; + boardConfiguration->clutchDownPin = GPIO_UNASSIGNED; // set_whole_fuel_map 3 setWholeFuelMap(3 PASS_ENGINE_PARAMETER_SUFFIX); @@ -85,7 +85,7 @@ void setMazdaMiataNb1EngineConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) { * to test * set_fsio_setting 1 5000 */ - CONFIGB(fsio_setting)[0] = 5000; + boardConfiguration->fsio_setting[0] = 5000; // (self and (rpm > 4800)) OR (rpm > 5000) // set_rpn_expression 1 "self rpm 4800 > & rpm 5000 > OR" // setFsioExt(0, GPIOE_3, "self rpm 4800 > & rpm 5000 > OR", 150 PASS_ENGINE_PARAMETER_SUFFIX); diff --git a/firmware/config/engines/mazda_miata_vvt.cpp b/firmware/config/engines/mazda_miata_vvt.cpp index 72c6260eda..ffce7ae038 100644 --- a/firmware/config/engines/mazda_miata_vvt.cpp +++ b/firmware/config/engines/mazda_miata_vvt.cpp @@ -240,20 +240,20 @@ void setMazdaMiata2003EngineConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) { setOperationMode(engineConfiguration, FOUR_STROKE_SYMMETRICAL_CRANK_SENSOR); engineConfiguration->specs.displacement = 1.8; -// CONFIGB(triggerInputPins)[0] = GPIOA_8; // custom Frankenso wiring in order to use SPI1 for accelerometer - CONFIGB(triggerInputPins)[0] = GPIOA_5; // board still not modified - CONFIGB(triggerInputPins)[1] = GPIO_UNASSIGNED; +// boardConfiguration->triggerInputPins[0] = GPIOA_8; // custom Frankenso wiring in order to use SPI1 for accelerometer + boardConfiguration->triggerInputPins[0] = GPIOA_5; // board still not modified + boardConfiguration->triggerInputPins[1] = GPIO_UNASSIGNED; engineConfiguration->camInput = GPIOC_6; -// CONFIGB(is_enabled_spi_1) = true; +// boardConfiguration->is_enabled_spi_1 = true; engineConfiguration->twoWireBatchInjection = true; // this is needed for #492 testing - CONFIGB(alternatorControlPin) = GPIOE_10; - CONFIGB(alternatorControlPinMode) = OM_OPENDRAIN; + boardConfiguration->alternatorControlPin = GPIOE_10; + boardConfiguration->alternatorControlPinMode = OM_OPENDRAIN; -// CONFIGB(vehicleSpeedSensorInputPin) = GPIOA_8; +// boardConfiguration->vehicleSpeedSensorInputPin = GPIOA_8; // enable altdebug engineConfiguration->targetVBatt = 13.8; @@ -271,12 +271,12 @@ void setMazdaMiata2003EngineConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) { engineConfiguration->auxPid[0].maxValue = 44; // set idle_position 35 - CONFIGB(manIdlePosition) = 35; + boardConfiguration->manIdlePosition = 35; // set vvt_mode 3 engineConfiguration->vvtMode = MIATA_NB2; - CONFIGB(vvtCamSensorUseRise) = true; + boardConfiguration->vvtCamSensorUseRise = true; engineConfiguration->vvtDisplayInverted = true; engineConfiguration->vvtOffset = 98; // 2003 red car value @@ -286,7 +286,7 @@ void setMazdaMiata2003EngineConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) { // /** // * set_fsio_setting 1 0.55 // */ - CONFIGB(fsio_setting)[0] = 0.0; + boardConfiguration->fsio_setting[0] = 0.0; // setFsioExt(0, GPIOE_3, "0 fsio_setting", 400 PASS_ENGINE_PARAMETER_SUFFIX); @@ -313,12 +313,12 @@ void setMazdaMiata2003EngineConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) { * Miata coil on #4 PE14 - white ECU wire "1&4" */ - CONFIGB(ignitionPins)[0] = GPIOE_14; - CONFIGB(ignitionPins)[1] = GPIO_UNASSIGNED; - CONFIGB(ignitionPins)[2] = GPIOC_9; - CONFIGB(ignitionPins)[3] = GPIO_UNASSIGNED; + boardConfiguration->ignitionPins[0] = GPIOE_14; + boardConfiguration->ignitionPins[1] = GPIO_UNASSIGNED; + boardConfiguration->ignitionPins[2] = GPIOC_9; + boardConfiguration->ignitionPins[3] = GPIO_UNASSIGNED; - CONFIGB(etbControlPin1) = GPIOC_7; + boardConfiguration->etbControlPin1 = GPIOC_7; // default TPS is engineConfiguration->tpsAdcChannel = EFI_ADC_2; // it becomes pedal sensor on test mule @@ -372,8 +372,8 @@ void setMazdaMiata2003EngineConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) { // 0.1375 // 6.375 // 10.625 - CONFIGB(nb2ratioFrom) = 8.50 * 0.75; - CONFIGB(nb2ratioTo) = 14; + boardConfiguration->nb2ratioFrom = 8.50 * 0.75; + boardConfiguration->nb2ratioTo = 14; engineConfiguration->nbVvtIndex = 0; @@ -384,7 +384,7 @@ void setMazdaMiata2003EngineConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) { engineConfiguration->ignitionMode = IM_WASTED_SPARK; - CONFIGB(malfunctionIndicatorPin) = GPIOE_6; // just for a test + boardConfiguration->malfunctionIndicatorPin = GPIOE_6; // just for a test /** * http://miataturbo.wikidot.com/fuel-injectors @@ -392,8 +392,8 @@ void setMazdaMiata2003EngineConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) { */ engineConfiguration->injector.flow = 265; -// CONFIGB(malfunctionIndicatorPin) = GPIOD_9; -// CONFIGB(malfunctionIndicatorPinMode) = OM_INVERTED; +// boardConfiguration->malfunctionIndicatorPin = GPIOD_9; +// boardConfiguration->malfunctionIndicatorPinMode = OM_INVERTED; // todo: blue jumper wire - what is it?! // Frankenso analog #6 pin 3R, W56 (5th lower row pin from the end) top <> W45 bottom jumper, not OEM @@ -423,9 +423,9 @@ void setMazdaMiata2003EngineConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) { * set_fsio_setting 3 65 * set_fsio_setting 4 15 */ - CONFIGB(fsio_setting)[1] = 6500; // #2 RPM threshold - CONFIGB(fsio_setting)[2] = 105; // #3 CLT threshold - CONFIGB(fsio_setting)[3] = 12.0; // #4 voltage threshold + boardConfiguration->fsio_setting[1] = 6500; // #2 RPM threshold + boardConfiguration->fsio_setting[2] = 105; // #3 CLT threshold + boardConfiguration->fsio_setting[3] = 12.0; // #4 voltage threshold setFsio(1, GPIOE_6, COMBINED_WARNING_LIGHT PASS_ENGINE_PARAMETER_SUFFIX); @@ -467,7 +467,7 @@ void setMazdaMiata2003EngineConfigurationNaFuelRail(DECLARE_ENGINE_PARAMETER_SIG memcpy(config->afrLoadBins, targetAfrLoadBins, sizeof(targetAfrLoadBins)); copyTargetAfrTable(target_AFR_NA, config->afrTable); - CONFIGB(ignitionPins)[2] = GPIOC_7; + boardConfiguration->ignitionPins[2] = GPIOC_7; // Frankenso analog #7 pin 3J, W48 top <>W48 bottom jumper, not OEM engineConfiguration->afr.hwChannel = EFI_ADC_3; // PA3 @@ -490,7 +490,7 @@ void setMazdaMiata2003EngineConfigurationNaFuelRail(DECLARE_ENGINE_PARAMETER_SIG engineConfiguration->rpmHardLimit = 7200; // we want to survive the race, but we also want some fun! // set idle_position 30 - CONFIGB(manIdlePosition) = 30; + boardConfiguration->manIdlePosition = 30; engineConfiguration->crankingIACposition = 65; } @@ -502,7 +502,7 @@ void setMazdaMiata2003EngineConfigurationNaFuelRail(DECLARE_ENGINE_PARAMETER_SIG void setMazdaMiata2003EngineConfigurationBoardTest(DECLARE_ENGINE_PARAMETER_SIGNATURE) { setMazdaMiata2003EngineConfiguration(PASS_ENGINE_PARAMETER_SIGNATURE); - CONFIGB(ignitionPins)[2] = GPIOC_7; + boardConfiguration->ignitionPins[2] = GPIOC_7; // Frankenso analog #7 pin 3J, W48 top <>W48 bottom jumper, not OEM. Make sure 500K pull-down on Frankenso engineConfiguration->afr.hwChannel = EFI_ADC_3; // PA3 diff --git a/firmware/config/engines/mitsubishi.cpp b/firmware/config/engines/mitsubishi.cpp index 956bcbed5e..3aec7d0274 100644 --- a/firmware/config/engines/mitsubishi.cpp +++ b/firmware/config/engines/mitsubishi.cpp @@ -68,19 +68,19 @@ void setMitsubishiConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) { // Frankenstein: low side - out #11: PB8 // Frankenstein: low side - out #12: PB9 - CONFIGB(injectionPins)[0] = GPIOB_9; // Frankenstein: low side - out #12 - CONFIGB(injectionPins)[1] = GPIOB_8; // Frankenstein: low side - out #11 - CONFIGB(injectionPins)[2] = GPIOE_3; // Frankenstein: low side - out #8 - CONFIGB(injectionPins)[3] = GPIOE_5; // Frankenstein: low side - out #6 + boardConfiguration->injectionPins[0] = GPIOB_9; // Frankenstein: low side - out #12 + boardConfiguration->injectionPins[1] = GPIOB_8; // Frankenstein: low side - out #11 + boardConfiguration->injectionPins[2] = GPIOE_3; // Frankenstein: low side - out #8 + boardConfiguration->injectionPins[3] = GPIOE_5; // Frankenstein: low side - out #6 // Frankenstein: high side #1: PE8 // Frankenstein: high side #2: PE10 - CONFIGB(ignitionPins)[0] = GPIOE_8; // Frankenstein: high side #1 - CONFIGB(ignitionPins)[1] = GPIO_UNASSIGNED; - CONFIGB(ignitionPins)[2] = GPIOE_10; // // Frankenstein: high side #2 - CONFIGB(ignitionPins)[3] = GPIO_UNASSIGNED; + boardConfiguration->ignitionPins[0] = GPIOE_8; // Frankenstein: high side #1 + boardConfiguration->ignitionPins[1] = GPIO_UNASSIGNED; + boardConfiguration->ignitionPins[2] = GPIOE_10; // // Frankenstein: high side #2 + boardConfiguration->ignitionPins[3] = GPIO_UNASSIGNED; engineConfiguration->HD44780width = 20; engineConfiguration->HD44780height = 4; diff --git a/firmware/config/engines/rover_v8.cpp b/firmware/config/engines/rover_v8.cpp index edb8ba96ec..9004b9f912 100644 --- a/firmware/config/engines/rover_v8.cpp +++ b/firmware/config/engines/rover_v8.cpp @@ -18,25 +18,25 @@ #include "engine_math.h" #include "allsensors.h" -EXTERN_ENGINE; - -void setFrankenstein_01_LCD(DECLARE_ENGINE_PARAMETER_SIGNATURE) { - CONFIGB(HD44780_rs) = GPIOE_9; - CONFIGB(HD44780_e) = GPIOE_11; - CONFIGB(HD44780_db4) = GPIOE_13; - CONFIGB(HD44780_db5) = GPIOE_15; - CONFIGB(HD44780_db6) = GPIOB_11; - CONFIGB(HD44780_db7) = GPIOB_13; +void setFrankenstein_01_LCD(board_configuration_s *boardConfiguration) { + boardConfiguration->HD44780_rs = GPIOE_9; + boardConfiguration->HD44780_e = GPIOE_11; + boardConfiguration->HD44780_db4 = GPIOE_13; + boardConfiguration->HD44780_db5 = GPIOE_15; + boardConfiguration->HD44780_db6 = GPIOB_11; + boardConfiguration->HD44780_db7 = GPIOB_13; } +EXTERN_ENGINE; + void setRoverv8(DECLARE_ENGINE_PARAMETER_SIGNATURE) { setOperationMode(engineConfiguration, FOUR_STROKE_CRANK_SENSOR); // set trigger_type 9 engineConfiguration->trigger.type = TT_TOOTHED_WHEEL_36_1; - CONFIGB(is_enabled_spi_2) = false; - CONFIGB(isHip9011Enabled) = false; - setFrankenstein_01_LCD(PASS_ENGINE_PARAMETER_SIGNATURE); + boardConfiguration->is_enabled_spi_2 = false; + boardConfiguration->isHip9011Enabled = false; + setFrankenstein_01_LCD(boardConfiguration); engineConfiguration->specs.displacement = 3.528; engineConfiguration->specs.cylindersCount = 8; @@ -57,13 +57,13 @@ void setRoverv8(DECLARE_ENGINE_PARAMETER_SIGNATURE) { // set ignition_mode 2 engineConfiguration->ignitionMode = IM_WASTED_SPARK; - CONFIGB(ignitionPinMode) = OM_INVERTED; + boardConfiguration->ignitionPinMode = OM_INVERTED; // set_ignition_channels - CONFIGB(ignitionPins)[0] = GPIOE_8; // Frankenstein: low side - out #x (?) - CONFIGB(ignitionPins)[7] = GPIOE_10; // Frankenstein: low side - out #x (?) - CONFIGB(ignitionPins)[3] = GPIOE_12; // Frankenstein: low side - out #x (?) - CONFIGB(ignitionPins)[2] = GPIOE_14; // Frankenstein: low side - out #x (?) + boardConfiguration->ignitionPins[0] = GPIOE_8; // Frankenstein: low side - out #x (?) + boardConfiguration->ignitionPins[7] = GPIOE_10; // Frankenstein: low side - out #x (?) + boardConfiguration->ignitionPins[3] = GPIOE_12; // Frankenstein: low side - out #x (?) + boardConfiguration->ignitionPins[2] = GPIOE_14; // Frankenstein: low side - out #x (?) // Frankenstein: low side - out #1: PC14 // Frankenstein: low side - out #2: PC15 @@ -78,27 +78,27 @@ void setRoverv8(DECLARE_ENGINE_PARAMETER_SIGNATURE) { // Frankenstein: low side - out #11: PB8 // Frankenstein: low side - out #12: PB9 - CONFIGB(injectionPins)[0] = GPIOC_14; // Frankenstein: low side - out #1 - CONFIGB(injectionPins)[1] = GPIOC_15; // Frankenstein: low side - out #2 - CONFIGB(injectionPins)[2] = GPIOE_6; // Frankenstein: low side - out #3 - CONFIGB(injectionPins)[3] = GPIOC_13; // Frankenstein: low side - out #4 - CONFIGB(injectionPins)[4] = GPIOE_4; // Frankenstein: low side - out #5 - CONFIGB(injectionPins)[5] = GPIOE_5; // Frankenstein: low side - out #6 - CONFIGB(injectionPins)[6] = GPIOE_2; // Frankenstein: low side - out #7 - CONFIGB(injectionPins)[7] = GPIOE_3; // Frankenstein: low side - out #8 + boardConfiguration->injectionPins[0] = GPIOC_14; // Frankenstein: low side - out #1 + boardConfiguration->injectionPins[1] = GPIOC_15; // Frankenstein: low side - out #2 + boardConfiguration->injectionPins[2] = GPIOE_6; // Frankenstein: low side - out #3 + boardConfiguration->injectionPins[3] = GPIOC_13; // Frankenstein: low side - out #4 + boardConfiguration->injectionPins[4] = GPIOE_4; // Frankenstein: low side - out #5 + boardConfiguration->injectionPins[5] = GPIOE_5; // Frankenstein: low side - out #6 + boardConfiguration->injectionPins[6] = GPIOE_2; // Frankenstein: low side - out #7 + boardConfiguration->injectionPins[7] = GPIOE_3; // Frankenstein: low side - out #8 -// not valid ICU pin CONFIGB(vehicleSpeedSensorInputPin) = GPIOC_2; +// not valid ICU pin boardConfiguration->vehicleSpeedSensorInputPin = GPIOC_2; //GPIOE_0 AND GPIOE_1 are bad pins since they conflict with accelerometer //no malfunction indicator pin needed, since we use CAN_BUS_MAZDA_RX8 - //CONFIGB(fuelPumpPin) = GPIOE_0; // Frankenstein: low side - out #9 - //CONFIGB(malfunctionIndicatorPin) = GPIOE_1; // Frankenstein: low side - out #10 - CONFIGB(fuelPumpPin) = GPIOB_8; // Frankenstein: low side - out #11 - CONFIGB(fuelPumpPinMode) = OM_DEFAULT; - CONFIGB(mainRelayPin) = GPIOB_9; // Frankenstein: low side - out #12 + //boardConfiguration->fuelPumpPin = GPIOE_0; // Frankenstein: low side - out #9 + //boardConfiguration->malfunctionIndicatorPin = GPIOE_1; // Frankenstein: low side - out #10 + boardConfiguration->fuelPumpPin = GPIOB_8; // Frankenstein: low side - out #11 + boardConfiguration->fuelPumpPinMode = OM_DEFAULT; + boardConfiguration->mainRelayPin = GPIOB_9; // Frankenstein: low side - out #12 - CONFIGB(triggerInputPins)[0] = GPIOC_6; // 2G YEL/BLU - CONFIGB(triggerInputPins)[1] = GPIOA_5; // 2E White CKP + boardConfiguration->triggerInputPins[0] = GPIOC_6; // 2G YEL/BLU + boardConfiguration->triggerInputPins[1] = GPIOA_5; // 2E White CKP setCommonNTCSensor(&engineConfiguration->clt); engineConfiguration->clt.config.bias_resistor = 2700; @@ -123,19 +123,19 @@ void setRoverv8(DECLARE_ENGINE_PARAMETER_SIGNATURE) { engineConfiguration->tpsMax = convertVoltageTo10bitADC(4.538); // Stepper logic: - CONFIGB(idle).stepperDirectionPin = GPIOB_10; - CONFIGB(idle).stepperStepPin = GPIOB_15; + boardConfiguration->idle.stepperDirectionPin = GPIOB_10; + boardConfiguration->idle.stepperStepPin = GPIOB_15; engineConfiguration->stepperEnablePin = GPIOB_14; engineConfiguration->idleStepperReactionTime = 10; engineConfiguration->idleStepperTotalSteps = 150; - CONFIGB(useStepperIdle) = false; + boardConfiguration->useStepperIdle = false; // set injection_pin_mode 0 - CONFIGB(injectionPinMode) = OM_DEFAULT; + boardConfiguration->injectionPinMode = OM_DEFAULT; - CONFIGB(canTxPin) = GPIOB_6; - CONFIGB(canRxPin) = GPIOB_12; + boardConfiguration->canTxPin = GPIOB_6; + boardConfiguration->canRxPin = GPIOB_12; engineConfiguration->canWriteEnabled = true; engineConfiguration->canReadEnabled = false; engineConfiguration->canNbcType = CAN_BUS_MAZDA_RX8; @@ -144,10 +144,10 @@ void setRoverv8(DECLARE_ENGINE_PARAMETER_SIGNATURE) { setAlgorithm(LM_SPEED_DENSITY PASS_ENGINE_PARAMETER_SUFFIX); // todo: make this official Frankenstein joystick? - CONFIGB(joystickCenterPin) = GPIOD_8; - CONFIGB(joystickAPin) = GPIOD_10; - CONFIGB(joystickBPin) = GPIO_UNASSIGNED; - CONFIGB(joystickCPin) = GPIO_UNASSIGNED; - CONFIGB(joystickDPin) = GPIOD_11; + boardConfiguration->joystickCenterPin = GPIOD_8; + boardConfiguration->joystickAPin = GPIOD_10; + boardConfiguration->joystickBPin = GPIO_UNASSIGNED; + boardConfiguration->joystickCPin = GPIO_UNASSIGNED; + boardConfiguration->joystickDPin = GPIOD_11; } diff --git a/firmware/config/engines/rover_v8.h b/firmware/config/engines/rover_v8.h index 20dd24891c..72222b1d21 100644 --- a/firmware/config/engines/rover_v8.h +++ b/firmware/config/engines/rover_v8.h @@ -9,7 +9,7 @@ #include "engine.h" -void setFrankenstein_01_LCD(DECLARE_ENGINE_PARAMETER_SIGNATURE); +void setFrankenstein_01_LCD(board_configuration_s *boardConfiguration); void setRoverv8(DECLARE_ENGINE_PARAMETER_SIGNATURE); #endif /* ROVER_V8_H_ */ diff --git a/firmware/config/engines/sachs.cpp b/firmware/config/engines/sachs.cpp index d9a76a0478..29c990e3b3 100644 --- a/firmware/config/engines/sachs.cpp +++ b/firmware/config/engines/sachs.cpp @@ -34,7 +34,7 @@ void setSachs(DECLARE_ENGINE_PARAMETER_SIGNATURE) { engineConfiguration->trigger.customTotalToothCount = 50; engineConfiguration->trigger.customSkippedToothCount = 2; - CONFIGB(useSerialPort) = false; + boardConfiguration->useSerialPort = false; // Frankenstein analog input #1: PA1 adc1 MAP // Frankenstein analog input #2: PA3 adc3 TPS @@ -73,12 +73,12 @@ void setSachs(DECLARE_ENGINE_PARAMETER_SIGNATURE) { // Frankenstein: low side - out #11: PB8 // Frankenstein: low side - out #12: PB9 - CONFIGB(triggerInputPins)[0] = GPIOA_5; - CONFIGB(triggerInputPins)[1] = GPIO_UNASSIGNED; + boardConfiguration->triggerInputPins[0] = GPIOA_5; + boardConfiguration->triggerInputPins[1] = GPIO_UNASSIGNED; - CONFIGB(injectionPins)[0] = GPIOC_15; + boardConfiguration->injectionPins[0] = GPIOC_15; - CONFIGB(fuelPumpPin) = GPIOE_6; + boardConfiguration->fuelPumpPin = GPIOE_6; // todo: extract a method? figure out something smarter setFuelRpmBin(800, 15000 PASS_ENGINE_PARAMETER_SUFFIX); @@ -87,7 +87,7 @@ void setSachs(DECLARE_ENGINE_PARAMETER_SIGNATURE) { setLinearCurve(config->afrRpmBins, FUEL_RPM_COUNT, 15000, 7000, 1); engineConfiguration->hasFrequencyReportingMapSensor = true; - CONFIGB(frequencyReportingMapInputPin) = GPIOC_6; - CONFIGB(mapFrequency100Kpa) = 159; - CONFIGB(mapFrequency0Kpa) = 80; + boardConfiguration->frequencyReportingMapInputPin = GPIOC_6; + boardConfiguration->mapFrequency100Kpa = 159; + boardConfiguration->mapFrequency0Kpa = 80; } diff --git a/firmware/config/engines/subaru.cpp b/firmware/config/engines/subaru.cpp index 41c17182ef..76c3ea6a62 100644 --- a/firmware/config/engines/subaru.cpp +++ b/firmware/config/engines/subaru.cpp @@ -14,8 +14,8 @@ EXTERN_ENGINE; void setSubaru2003Wrx(DECLARE_ENGINE_PARAMETER_SIGNATURE) { - setFrankenso_01_LCD(PASS_ENGINE_PARAMETER_SIGNATURE); - setFrankenso0_1_joystick(PASS_ENGINE_PARAMETER_SIGNATURE); + setFrankenso_01_LCD(boardConfiguration); + setFrankenso0_1_joystick(engineConfiguration); engineConfiguration->trigger.type = TT_TOOTHED_WHEEL; engineConfiguration->trigger.customTotalToothCount = 5; @@ -23,15 +23,15 @@ void setSubaru2003Wrx(DECLARE_ENGINE_PARAMETER_SIGNATURE) { engineConfiguration->sensorChartFrequency = 2; - CONFIGB(useStepperIdle) = true; + boardConfiguration->useStepperIdle = true; // See http://rusefi.com/forum/viewtopic.php?f=4&t=1161 - CONFIGB(idle).stepperDirectionPin = GPIOD_1; // top stepper drive pin, white wire recommended - CONFIGB(idle).stepperStepPin = GPIOD_6; // yellow wire recommended + boardConfiguration->idle.stepperDirectionPin = GPIOD_1; // top stepper drive pin, white wire recommended + boardConfiguration->idle.stepperStepPin = GPIOD_6; // yellow wire recommended engineConfiguration->stepperEnablePin = GPIOB_1; // bottom stepper driver board pin, blue wire recommended - CONFIGB(triggerSimulatorPins)[0] = GPIO_UNASSIGNED; // we want to avoid PD1 conflict - CONFIGB(triggerSimulatorPins)[1] = GPIO_UNASSIGNED; - CONFIGB(triggerSimulatorPins)[2] = GPIO_UNASSIGNED; + boardConfiguration->triggerSimulatorPins[0] = GPIO_UNASSIGNED; // we want to avoid PD1 conflict + boardConfiguration->triggerSimulatorPins[1] = GPIO_UNASSIGNED; + boardConfiguration->triggerSimulatorPins[2] = GPIO_UNASSIGNED; } diff --git a/firmware/config/engines/suzuki_vitara.cpp b/firmware/config/engines/suzuki_vitara.cpp index 9960131f90..d3523a553d 100644 --- a/firmware/config/engines/suzuki_vitara.cpp +++ b/firmware/config/engines/suzuki_vitara.cpp @@ -19,7 +19,7 @@ void setSuzukiVitara(DECLARE_ENGINE_PARAMETER_SIGNATURE) { engineConfiguration->ignitionMode = IM_ONE_COIL; engineConfiguration->injectionMode = IM_SIMULTANEOUS; - CONFIGB(mainRelayPin) = GPIOE_6; + boardConfiguration->mainRelayPin = GPIOE_6; } diff --git a/firmware/config/engines/test_engine.cpp b/firmware/config/engines/test_engine.cpp index d7760cb6f1..c4b1dbec5f 100644 --- a/firmware/config/engines/test_engine.cpp +++ b/firmware/config/engines/test_engine.cpp @@ -40,17 +40,17 @@ void setTestEngineConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) { board_configuration_s *bc = &engineConfiguration->bc; bc->malfunctionIndicatorPin = GPIO_UNASSIGNED; - CONFIGB(ignitionPins)[0] = GPIOC_7; // #1 - CONFIGB(ignitionPins)[1] = GPIO_UNASSIGNED; // #2 - CONFIGB(ignitionPins)[2] = GPIO_UNASSIGNED; // #3 - CONFIGB(ignitionPins)[3] = GPIO_UNASSIGNED; // #4 - CONFIGB(ignitionPins)[4] = GPIO_UNASSIGNED; // #5 - CONFIGB(ignitionPins)[5] = GPIO_UNASSIGNED; // #6 + boardConfiguration->ignitionPins[0] = GPIOC_7; // #1 + boardConfiguration->ignitionPins[1] = GPIO_UNASSIGNED; // #2 + boardConfiguration->ignitionPins[2] = GPIO_UNASSIGNED; // #3 + boardConfiguration->ignitionPins[3] = GPIO_UNASSIGNED; // #4 + boardConfiguration->ignitionPins[4] = GPIO_UNASSIGNED; // #5 + boardConfiguration->ignitionPins[5] = GPIO_UNASSIGNED; // #6 - CONFIGB(logicAnalyzerPins)[0] = GPIO_UNASSIGNED; - CONFIGB(logicAnalyzerPins)[1] = GPIO_UNASSIGNED; - CONFIGB(logicAnalyzerPins)[2] = GPIO_UNASSIGNED; - CONFIGB(logicAnalyzerPins)[3] = GPIO_UNASSIGNED; + boardConfiguration->logicAnalyzerPins[0] = GPIO_UNASSIGNED; + boardConfiguration->logicAnalyzerPins[1] = GPIO_UNASSIGNED; + boardConfiguration->logicAnalyzerPins[2] = GPIO_UNASSIGNED; + boardConfiguration->logicAnalyzerPins[3] = GPIO_UNASSIGNED; } void setTestVVTEngineConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) { @@ -63,7 +63,7 @@ void setTestVVTEngineConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) { // set algorithm 3 setAlgorithm(LM_SPEED_DENSITY PASS_ENGINE_PARAMETER_SUFFIX); - CONFIGB(triggerInputPins)[1] = GPIO_UNASSIGNED; + boardConfiguration->triggerInputPins[1] = GPIO_UNASSIGNED; engineConfiguration->camInput = GPIOA_5; // set global_trigger_offset_angle 0 diff --git a/firmware/config/engines/toyota_jzs147.cpp b/firmware/config/engines/toyota_jzs147.cpp index 8ba9b660c5..94173f2c12 100644 --- a/firmware/config/engines/toyota_jzs147.cpp +++ b/firmware/config/engines/toyota_jzs147.cpp @@ -32,22 +32,22 @@ static void common2jz(DECLARE_ENGINE_PARAMETER_SIGNATURE) { // set ignition_mode 1 engineConfiguration->ignitionMode = IM_INDIVIDUAL_COILS; - CONFIGB(ignitionPins)[0] = GPIOE_14; - CONFIGB(ignitionPins)[1] = GPIOC_7; - CONFIGB(ignitionPins)[2] = GPIOC_9; - CONFIGB(ignitionPins)[3] = GPIOE_10; - CONFIGB(ignitionPins)[4] = GPIOE_8; - CONFIGB(ignitionPins)[5] = GPIOE_12; + boardConfiguration->ignitionPins[0] = GPIOE_14; + boardConfiguration->ignitionPins[1] = GPIOC_7; + boardConfiguration->ignitionPins[2] = GPIOC_9; + boardConfiguration->ignitionPins[3] = GPIOE_10; + boardConfiguration->ignitionPins[4] = GPIOE_8; + boardConfiguration->ignitionPins[5] = GPIOE_12; - CONFIGB(injectionPins)[0] = GPIOB_9; // #1 - CONFIGB(injectionPins)[1] = GPIOE_2; // #2 - CONFIGB(injectionPins)[2] = GPIOB_8; // #3 - CONFIGB(injectionPins)[3] = GPIOB_7; // #4 - CONFIGB(injectionPins)[4] = GPIOE_3; // #5 - CONFIGB(injectionPins)[5] = GPIOE_4; // #6 + boardConfiguration->injectionPins[0] = GPIOB_9; // #1 + boardConfiguration->injectionPins[1] = GPIOE_2; // #2 + boardConfiguration->injectionPins[2] = GPIOB_8; // #3 + boardConfiguration->injectionPins[3] = GPIOB_7; // #4 + boardConfiguration->injectionPins[4] = GPIOE_3; // #5 + boardConfiguration->injectionPins[5] = GPIOE_4; // #6 - CONFIGB(fuelPumpPin) = GPIO_UNASSIGNED; + boardConfiguration->fuelPumpPin = GPIO_UNASSIGNED; // chartsize 450 engineConfiguration->engineChartSize = 450; @@ -87,10 +87,10 @@ void setToyota_jzs147EngineConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) { // engineConfiguration->injectionMode = IM_BATCH; // engineConfiguration->twoWireBatchInjection = true; -// CONFIGB(triggerInputPins)[0] = GPIOA_5; -// CONFIGB(triggerInputPins)[1] = GPIOC_6; +// boardConfiguration->triggerInputPins[0] = GPIOA_5; +// boardConfiguration->triggerInputPins[1] = GPIOC_6; - CONFIGB(isSdCardEnabled) = false; + boardConfiguration->isSdCardEnabled = false; } @@ -98,13 +98,13 @@ void setToyota_jzs147EngineConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) { void setToyota_2jz_vics(DECLARE_ENGINE_PARAMETER_SIGNATURE) { common2jz(PASS_ENGINE_PARAMETER_SIGNATURE); - CONFIGB(isSdCardEnabled) = true; + boardConfiguration->isSdCardEnabled = true; setOperationMode(engineConfiguration, FOUR_STROKE_CRANK_SENSOR); engineConfiguration->trigger.type = TT_2JZ_3_34; - CONFIGB(triggerInputPins)[0] = GPIOA_5; // crank sensor - CONFIGB(triggerInputPins)[1] = GPIO_UNASSIGNED; // cam sensor will he handled by custom vtti code + boardConfiguration->triggerInputPins[0] = GPIOA_5; // crank sensor + boardConfiguration->triggerInputPins[1] = GPIO_UNASSIGNED; // cam sensor will he handled by custom vtti code engineConfiguration->camInput = GPIOC_6; engineConfiguration->vvtMode = VVT_2GZ; diff --git a/firmware/config/engines/vw.cpp b/firmware/config/engines/vw.cpp index 6104203824..b3893fd8f1 100644 --- a/firmware/config/engines/vw.cpp +++ b/firmware/config/engines/vw.cpp @@ -49,11 +49,11 @@ void setVwAba(DECLARE_ENGINE_PARAMETER_SIGNATURE) { engineConfiguration->ignitionMode = IM_ONE_COIL; - CONFIGB(ignitionPins)[0] = GPIOE_14; // Frankenso high side - pin 1G - CONFIGB(ignitionPins)[1] = GPIO_UNASSIGNED; - CONFIGB(ignitionPins)[2] = GPIO_UNASSIGNED; - CONFIGB(ignitionPins)[3] = GPIO_UNASSIGNED; - CONFIGB(ignitionPinMode) = OM_DEFAULT; + boardConfiguration->ignitionPins[0] = GPIOE_14; // Frankenso high side - pin 1G + boardConfiguration->ignitionPins[1] = GPIO_UNASSIGNED; + boardConfiguration->ignitionPins[2] = GPIO_UNASSIGNED; + boardConfiguration->ignitionPins[3] = GPIO_UNASSIGNED; + boardConfiguration->ignitionPinMode = OM_DEFAULT; float mapRange = 110; @@ -61,7 +61,7 @@ void setVwAba(DECLARE_ENGINE_PARAMETER_SIGNATURE) { setFuelTablesLoadBin(20, mapRange PASS_ENGINE_PARAMETER_SUFFIX); setTimingLoadBin(20, mapRange PASS_ENGINE_PARAMETER_SUFFIX); - CONFIGB(isSdCardEnabled) = false; + boardConfiguration->isSdCardEnabled = false; engineConfiguration->tpsMin = 740; engineConfiguration->tpsMax = 135; } diff --git a/firmware/config/engines/zil130.cpp b/firmware/config/engines/zil130.cpp index 1345270c6c..6639056f02 100644 --- a/firmware/config/engines/zil130.cpp +++ b/firmware/config/engines/zil130.cpp @@ -31,39 +31,39 @@ void setZil130(DECLARE_ENGINE_PARAMETER_SIGNATURE) { - CONFIGB(malfunctionIndicatorPin) = GPIO_UNASSIGNED; + boardConfiguration->malfunctionIndicatorPin = GPIO_UNASSIGNED; // engineConfiguration->twoWireBatchInjection = true; - CONFIGB(injectionPinMode) = OM_INVERTED; - CONFIGB(injectionPins)[0] = GPIOB_8; // #1 - CONFIGB(injectionPins)[1] = GPIOE_2; // #2 - CONFIGB(injectionPins)[2] = GPIOE_3; // #3 - CONFIGB(injectionPins)[3] = GPIOE_4; // #4 - CONFIGB(injectionPins)[4] = GPIO_UNASSIGNED; // #5 - CONFIGB(injectionPins)[5] = GPIO_UNASSIGNED; // #6 - CONFIGB(injectionPins)[6] = GPIO_UNASSIGNED; - CONFIGB(injectionPins)[5] = GPIO_UNASSIGNED; + boardConfiguration->injectionPinMode = OM_INVERTED; + boardConfiguration->injectionPins[0] = GPIOB_8; // #1 + boardConfiguration->injectionPins[1] = GPIOE_2; // #2 + boardConfiguration->injectionPins[2] = GPIOE_3; // #3 + boardConfiguration->injectionPins[3] = GPIOE_4; // #4 + boardConfiguration->injectionPins[4] = GPIO_UNASSIGNED; // #5 + boardConfiguration->injectionPins[5] = GPIO_UNASSIGNED; // #6 + boardConfiguration->injectionPins[6] = GPIO_UNASSIGNED; + boardConfiguration->injectionPins[5] = GPIO_UNASSIGNED; - CONFIGB(ignitionPins)[0] = GPIOB_5; // #1 - CONFIGB(ignitionPins)[1] = GPIOB_6; // #2 - CONFIGB(ignitionPins)[2] = GPIO_UNASSIGNED; // #3 - CONFIGB(ignitionPins)[3] = GPIOB_7; // #4 - CONFIGB(ignitionPins)[4] = GPIOC_7; // #5 + boardConfiguration->ignitionPins[0] = GPIOB_5; // #1 + boardConfiguration->ignitionPins[1] = GPIOB_6; // #2 + boardConfiguration->ignitionPins[2] = GPIO_UNASSIGNED; // #3 + boardConfiguration->ignitionPins[3] = GPIOB_7; // #4 + boardConfiguration->ignitionPins[4] = GPIOC_7; // #5 // fuel pump - CONFIGB(fuelPumpPin) = GPIOD_4; + boardConfiguration->fuelPumpPin = GPIOD_4; // idle - CONFIGB(idle).solenoidPin = GPIOC_14; - CONFIGB(idle).solenoidPinMode = OM_INVERTED; - CONFIGB(idle).solenoidFrequency = 300; - CONFIGB(manIdlePosition) = 50; // set_idle_pwm 50 + boardConfiguration->idle.solenoidPin = GPIOC_14; + boardConfiguration->idle.solenoidPinMode = OM_INVERTED; + boardConfiguration->idle.solenoidFrequency = 300; + boardConfiguration->manIdlePosition = 50; // set_idle_pwm 50 // disable sd_card - CONFIGB(sdCardCsPin) = GPIO_UNASSIGNED; - CONFIGB(is_enabled_spi_2) = false; - CONFIGB(is_enabled_spi_3) = false; - CONFIGB(max31855spiDevice) = SPI_NONE; + boardConfiguration->sdCardCsPin = GPIO_UNASSIGNED; + boardConfiguration->is_enabled_spi_2 = false; + boardConfiguration->is_enabled_spi_3 = false; + boardConfiguration->max31855spiDevice = SPI_NONE; - CONFIGB(fanPin) = GPIO_UNASSIGNED; + boardConfiguration->fanPin = GPIO_UNASSIGNED; } diff --git a/firmware/controllers/algo/engine_configuration.cpp b/firmware/controllers/algo/engine_configuration.cpp index 9cb1b6734f..8db61f0e17 100644 --- a/firmware/controllers/algo/engine_configuration.cpp +++ b/firmware/controllers/algo/engine_configuration.cpp @@ -272,13 +272,14 @@ static void initTemperatureCurve(float *bins, float *values, int size, float def } } -static void setDefaultFsioParameters(DECLARE_ENGINE_PARAMETER_SIGNATURE) { +static void setDefaultFsioParameters(engine_configuration_s *engineConfiguration) { + board_configuration_s *boardConfiguration = &engineConfiguration->bc; for (int i = 0; i < AUX_PID_COUNT; i++) { engineConfiguration->auxPidPins[i] = GPIO_UNASSIGNED; } for (int i = 0; i < FSIO_COMMAND_COUNT; i++) { - CONFIGB(fsioOutputPins)[i] = GPIO_UNASSIGNED; - CONFIGB(fsioDigitalInputs)[i] = GPIO_UNASSIGNED; + boardConfiguration->fsioOutputPins[i] = GPIO_UNASSIGNED; + boardConfiguration->fsioDigitalInputs[i] = GPIO_UNASSIGNED; engineConfiguration->fsioInputModes[i] = PI_DEFAULT; } for (int i = 0; i < FSIO_ANALOG_INPUT_COUNT ; i++) { @@ -291,17 +292,14 @@ void prepareVoidConfiguration(engine_configuration_s *engineConfiguration) { memset(engineConfiguration, 0, sizeof(engine_configuration_s)); board_configuration_s *boardConfiguration = &engineConfiguration->bc; - // TODO: need to fix this place!!! - persistent_config_s *config = NULL; - Engine *engine = NULL; - setDefaultFsioParameters(PASS_ENGINE_PARAMETER_SIGNATURE); + setDefaultFsioParameters(engineConfiguration); - disableLCD(PASS_ENGINE_PARAMETER_SIGNATURE); + disableLCD(boardConfiguration); engineConfiguration->camInput = GPIO_UNASSIGNED; - CONFIGB(triggerInputPins)[0] = GPIO_UNASSIGNED; - CONFIGB(triggerInputPins)[1] = GPIO_UNASSIGNED; - CONFIGB(triggerInputPins)[2] = GPIO_UNASSIGNED; + boardConfiguration->triggerInputPins[0] = GPIO_UNASSIGNED; + boardConfiguration->triggerInputPins[1] = GPIO_UNASSIGNED; + boardConfiguration->triggerInputPins[2] = GPIO_UNASSIGNED; for (int i = 0; i < SERVO_COUNT; i++) { engineConfiguration->servoOutputPins[i] = GPIO_UNASSIGNED; @@ -314,33 +312,33 @@ void prepareVoidConfiguration(engine_configuration_s *engineConfiguration) { engineConfiguration->flexFuelSensor = GPIO_UNASSIGNED; engineConfiguration->test557pin = GPIO_UNASSIGNED; - CONFIGB(cdmInputPin) = GPIO_UNASSIGNED; + boardConfiguration->cdmInputPin = GPIO_UNASSIGNED; - CONFIGB(joystickCenterPin) = GPIO_UNASSIGNED; - CONFIGB(joystickAPin) = GPIO_UNASSIGNED; - CONFIGB(joystickBPin) = GPIO_UNASSIGNED; - CONFIGB(joystickCPin) = GPIO_UNASSIGNED; - CONFIGB(joystickDPin) = GPIO_UNASSIGNED; + boardConfiguration->joystickCenterPin = GPIO_UNASSIGNED; + boardConfiguration->joystickAPin = GPIO_UNASSIGNED; + boardConfiguration->joystickBPin = GPIO_UNASSIGNED; + boardConfiguration->joystickCPin = GPIO_UNASSIGNED; + boardConfiguration->joystickDPin = GPIO_UNASSIGNED; - CONFIGB(frequencyReportingMapInputPin) = GPIO_UNASSIGNED; + boardConfiguration->frequencyReportingMapInputPin = GPIO_UNASSIGNED; engineConfiguration->sdCardSpiDevice = SPI_NONE; - CONFIGB(sdCardCsPin) = GPIO_UNASSIGNED; + boardConfiguration->sdCardCsPin = GPIO_UNASSIGNED; engineConfiguration->accelerometerSpiDevice = SPI_DEVICE_1; engineConfiguration->cj125ua = EFI_ADC_NONE; engineConfiguration->cj125ur = EFI_ADC_NONE; - CONFIGB(idle).stepperDirectionPin = GPIO_UNASSIGNED; + boardConfiguration->idle.stepperDirectionPin = GPIO_UNASSIGNED; engineConfiguration->stepperDirectionPinMode = OM_DEFAULT; - CONFIGB(idle).stepperStepPin = GPIO_UNASSIGNED; + boardConfiguration->idle.stepperStepPin = GPIO_UNASSIGNED; engineConfiguration->stepperEnablePin = GPIO_UNASSIGNED; engineConfiguration->stepperEnablePinMode = OM_DEFAULT; engineConfiguration->dizzySparkOutputPin = GPIO_UNASSIGNED; - CONFIGB(acRelayPin) = GPIO_UNASSIGNED; - CONFIGB(acRelayPinMode) = OM_DEFAULT; + boardConfiguration->acRelayPin = GPIO_UNASSIGNED; + boardConfiguration->acRelayPinMode = OM_DEFAULT; #if EFI_PROD_CODE || defined(__DOXYGEN__) setDefaultAlternatorParameters(); @@ -352,50 +350,50 @@ void prepareVoidConfiguration(engine_configuration_s *engineConfiguration) { #if EFI_IDLE_CONTROL || defined(__DOXYGEN__) setDefaultIdleParameters(); #endif - CONFIGB(wboHeaterPin) = GPIO_UNASSIGNED; - CONFIGB(cj125CsPin) = GPIO_UNASSIGNED; + boardConfiguration->wboHeaterPin = GPIO_UNASSIGNED; + boardConfiguration->cj125CsPin = GPIO_UNASSIGNED; - CONFIGB(hip9011CsPin) = GPIO_UNASSIGNED; + boardConfiguration->hip9011CsPin = GPIO_UNASSIGNED; - CONFIGB(mainRelayPin) = GPIO_UNASSIGNED; - CONFIGB(mainRelayPinMode) = OM_DEFAULT; - CONFIGB(idle).solenoidPin = GPIO_UNASSIGNED; - CONFIGB(idle).solenoidPinMode = OM_DEFAULT; - CONFIGB(fuelPumpPin) = GPIO_UNASSIGNED; - CONFIGB(fuelPumpPinMode) = OM_DEFAULT; - CONFIGB(etbControlPin1) = GPIO_UNASSIGNED; - CONFIGB(etbControlPin2) = GPIO_UNASSIGNED; - CONFIGB(etbDirectionPin1) = GPIO_UNASSIGNED; - CONFIGB(etbDirectionPin2) = GPIO_UNASSIGNED; - CONFIGB(o2heaterPin) = GPIO_UNASSIGNED; + boardConfiguration->mainRelayPin = GPIO_UNASSIGNED; + boardConfiguration->mainRelayPinMode = OM_DEFAULT; + boardConfiguration->idle.solenoidPin = GPIO_UNASSIGNED; + boardConfiguration->idle.solenoidPinMode = OM_DEFAULT; + boardConfiguration->fuelPumpPin = GPIO_UNASSIGNED; + boardConfiguration->fuelPumpPinMode = OM_DEFAULT; + boardConfiguration->etbControlPin1 = GPIO_UNASSIGNED; + boardConfiguration->etbControlPin2 = GPIO_UNASSIGNED; + boardConfiguration->etbDirectionPin1 = GPIO_UNASSIGNED; + boardConfiguration->etbDirectionPin2 = GPIO_UNASSIGNED; + boardConfiguration->o2heaterPin = GPIO_UNASSIGNED; - CONFIGB(tachOutputPin) = GPIO_UNASSIGNED; + boardConfiguration->tachOutputPin = GPIO_UNASSIGNED; - CONFIGB(malfunctionIndicatorPin) = GPIO_UNASSIGNED; - CONFIGB(malfunctionIndicatorPinMode) = OM_DEFAULT; + boardConfiguration->malfunctionIndicatorPin = GPIO_UNASSIGNED; + boardConfiguration->malfunctionIndicatorPinMode = OM_DEFAULT; - CONFIGB(fanPin) = GPIO_UNASSIGNED; - CONFIGB(fanPinMode) = OM_DEFAULT; + boardConfiguration->fanPin = GPIO_UNASSIGNED; + boardConfiguration->fanPinMode = OM_DEFAULT; - CONFIGB(clutchDownPin) = GPIO_UNASSIGNED; - CONFIGB(clutchDownPinMode) = PI_PULLUP; - CONFIGB(clutchUpPin) = GPIO_UNASSIGNED; - CONFIGB(clutchUpPinMode) = PI_PULLUP; + boardConfiguration->clutchDownPin = GPIO_UNASSIGNED; + boardConfiguration->clutchDownPinMode = PI_PULLUP; + boardConfiguration->clutchUpPin = GPIO_UNASSIGNED; + boardConfiguration->clutchUpPinMode = PI_PULLUP; engineConfiguration->brakePedalPin = GPIO_UNASSIGNED; engineConfiguration->brakePedalPinMode = PI_PULLUP; - CONFIGB(gps_rx_pin) = GPIO_UNASSIGNED; - CONFIGB(gps_tx_pin) = GPIO_UNASSIGNED; + boardConfiguration->gps_rx_pin = GPIO_UNASSIGNED; + boardConfiguration->gps_tx_pin = GPIO_UNASSIGNED; for (int i = 0;i < INJECTION_PIN_COUNT;i++) { - CONFIGB(injectionPins)[i] = GPIO_UNASSIGNED; + boardConfiguration->injectionPins[i] = GPIO_UNASSIGNED; } - CONFIGB(injectionPinMode) = OM_DEFAULT; + boardConfiguration->injectionPinMode = OM_DEFAULT; for (int i = 0;i < IGNITION_PIN_COUNT;i++) { - CONFIGB(ignitionPins)[i] = GPIO_UNASSIGNED; + boardConfiguration->ignitionPins[i] = GPIO_UNASSIGNED; } - CONFIGB(ignitionPinMode) = OM_DEFAULT; + boardConfiguration->ignitionPinMode = OM_DEFAULT; } void setDefaultBasePins(DECLARE_ENGINE_PARAMETER_SIGNATURE) { @@ -411,13 +409,13 @@ void setDefaultBasePins(DECLARE_ENGINE_PARAMETER_SIGNATURE) { // needed also by bootloader code void setDefaultSerialParameters(DECLARE_ENGINE_PARAMETER_SIGNATURE) { - CONFIGB(startConsoleInBinaryMode) = true; - CONFIGB(useSerialPort) = true; + boardConfiguration->startConsoleInBinaryMode = true; + boardConfiguration->useSerialPort = true; engineConfiguration->binarySerialTxPin = GPIOC_10; engineConfiguration->binarySerialRxPin = GPIOC_11; engineConfiguration->consoleSerialTxPin = GPIOC_10; engineConfiguration->consoleSerialRxPin = GPIOC_11; - CONFIGB(tunerStudioSerialSpeed) = TS_DEFAULT_SPEED; + boardConfiguration->tunerStudioSerialSpeed = TS_DEFAULT_SPEED; engineConfiguration->uartConsoleSerialSpeed = 115200; #if EFI_PROD_CODE || defined(__DOXYGEN__) @@ -428,10 +426,10 @@ void setDefaultSerialParameters(DECLARE_ENGINE_PARAMETER_SIGNATURE) { // needed also by bootloader code void setDefaultSdCardParameters(DECLARE_ENGINE_PARAMETER_SIGNATURE) { - CONFIGB(is_enabled_spi_3) = true; + boardConfiguration->is_enabled_spi_3 = true; engineConfiguration->sdCardSpiDevice = SPI_DEVICE_3; - CONFIGB(sdCardCsPin) = GPIOD_4; - CONFIGB(isSdCardEnabled) = true; + boardConfiguration->sdCardCsPin = GPIOD_4; + boardConfiguration->isSdCardEnabled = true; #if EFI_PROD_CODE || defined(__DOXYGEN__) // call overrided board-specific SD card configuration setup, if needed (for custom boards only) @@ -506,7 +504,7 @@ static void setDefaultWarmupFuelEnrichment(DECLARE_ENGINE_PARAMETER_SIGNATURE) { } static void setDefaultFuelCutParameters(DECLARE_ENGINE_PARAMETER_SIGNATURE) { - CONFIGB(coastingFuelCutEnabled) = false; + boardConfiguration->coastingFuelCutEnabled = false; engineConfiguration->coastingFuelCutRpmLow = 1300; engineConfiguration->coastingFuelCutRpmHigh = 1500; engineConfiguration->coastingFuelCutTps = 2; @@ -592,17 +590,17 @@ static void setDefaultIdleSpeedTarget(DECLARE_ENGINE_PARAMETER_SIGNATURE) { } static void setDefaultStepperIdleParameters(DECLARE_ENGINE_PARAMETER_SIGNATURE) { - CONFIGB(idle).stepperDirectionPin = GPIOE_10; - CONFIGB(idle).stepperStepPin = GPIOE_12; + boardConfiguration->idle.stepperDirectionPin = GPIOE_10; + boardConfiguration->idle.stepperStepPin = GPIOE_12; engineConfiguration->stepperEnablePin = GPIOE_14; engineConfiguration->idleStepperReactionTime = 10; engineConfiguration->idleStepperTotalSteps = 150; } static void setCanDefaults(DECLARE_ENGINE_PARAMETER_SIGNATURE) { - CONFIGB(canDeviceMode) = CD_USE_CAN2; - CONFIGB(canTxPin) = GPIOB_6; - CONFIGB(canRxPin) = GPIOB_12; + boardConfiguration->canDeviceMode = CD_USE_CAN2; + boardConfiguration->canTxPin = GPIOB_6; + boardConfiguration->canRxPin = GPIOB_12; engineConfiguration->canSleepPeriod = 50; engineConfiguration->canReadEnabled = true; @@ -797,7 +795,7 @@ void setDefaultConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) { engineConfiguration->fuelClosedLoopCltThreshold = 70; engineConfiguration->fuelClosedLoopRpmThreshold = 900; engineConfiguration->fuelClosedLoopTpsThreshold = 80; - CONFIGB(fuelClosedLoopAfrLowThreshold) = 10.3; + boardConfiguration->fuelClosedLoopAfrLowThreshold = 10.3; engineConfiguration->fuelClosedLoopAfrHighThreshold = 19.8; engineConfiguration->fuelClosedLoopPid.pFactor = -0.1; @@ -812,16 +810,16 @@ void setDefaultConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) { engineConfiguration->idleRpmPid.minValue = 5; engineConfiguration->idleRpmPid.maxValue = 95; - CONFIGB(idlePidDeactivationTpsThreshold) = 2; + boardConfiguration->idlePidDeactivationTpsThreshold = 2; - CONFIGB(idle).solenoidFrequency = 200; + boardConfiguration->idle.solenoidFrequency = 200; // set idle_position 50 - CONFIGB(manIdlePosition) = 50; + boardConfiguration->manIdlePosition = 50; engineConfiguration->crankingIACposition = 50; // engineConfiguration->idleMode = IM_AUTO; engineConfiguration->idleMode = IM_MANUAL; - CONFIGB(useStepperIdle) = false; + boardConfiguration->useStepperIdle = false; setDefaultStepperIdleParameters(PASS_ENGINE_PARAMETER_SIGNATURE); @@ -839,7 +837,7 @@ void setDefaultConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) { engineConfiguration->analogInputDividerCoefficient = 2; // performance optimization - CONFIGB(sensorChartMode) = SC_OFF; + boardConfiguration->sensorChartMode = SC_OFF; engineConfiguration->storageMode = MS_AUTO; @@ -956,21 +954,21 @@ void setDefaultConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) { engineConfiguration->knockDetectionWindowEnd = 135; engineConfiguration->fuelLevelSensor = EFI_ADC_NONE; - CONFIGB(fuelLevelEmptyTankVoltage) = 0; - CONFIGB(fuelLevelFullTankVoltage) = 5; + boardConfiguration->fuelLevelEmptyTankVoltage = 0; + boardConfiguration->fuelLevelFullTankVoltage = 5; engineConfiguration->hipOutputChannel = EFI_ADC_NONE; /** * this is RPM. 10000 rpm is only 166Hz, 800 rpm is 13Hz */ - CONFIGB(triggerSimulatorFrequency) = 1200; + boardConfiguration->triggerSimulatorFrequency = 1200; - CONFIGB(triggerErrorPin) = GPIO_UNASSIGNED; + boardConfiguration->triggerErrorPin = GPIO_UNASSIGNED; - CONFIGB(max31855spiDevice) = SPI_NONE; + boardConfiguration->max31855spiDevice = SPI_NONE; for (int i = 0; i < EGT_CHANNEL_COUNT; i++) { - CONFIGB(max31855_cs)[i] = GPIO_UNASSIGNED; + boardConfiguration->max31855_cs[i] = GPIO_UNASSIGNED; } engineConfiguration->alternatorPwmFrequency = 300; @@ -981,13 +979,13 @@ void setDefaultConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) { setDefaultSerialParameters(PASS_ENGINE_PARAMETER_SIGNATURE); - CONFIGB(triggerSimulatorPins)[0] = GPIOD_1; - CONFIGB(triggerSimulatorPins)[1] = GPIOD_2; - CONFIGB(triggerSimulatorPins)[2] = GPIO_UNASSIGNED; + boardConfiguration->triggerSimulatorPins[0] = GPIOD_1; + boardConfiguration->triggerSimulatorPins[1] = GPIOD_2; + boardConfiguration->triggerSimulatorPins[2] = GPIO_UNASSIGNED; - CONFIGB(triggerSimulatorPinModes)[0] = OM_DEFAULT; - CONFIGB(triggerSimulatorPinModes)[1] = OM_DEFAULT; - CONFIGB(triggerSimulatorPinModes)[2] = OM_DEFAULT; + boardConfiguration->triggerSimulatorPinModes[0] = OM_DEFAULT; + boardConfiguration->triggerSimulatorPinModes[1] = OM_DEFAULT; + boardConfiguration->triggerSimulatorPinModes[2] = OM_DEFAULT; strcpy(config->timingMultiplier, "1"); @@ -1000,62 +998,62 @@ void setDefaultConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) { engineConfiguration->isAlternatorControlEnabled = true; -// CONFIGB(gps_rx_pin) = GPIOB_7; -// CONFIGB(gps_tx_pin) = GPIOB_6; +// boardConfiguration->gps_rx_pin = GPIOB_7; +// boardConfiguration->gps_tx_pin = GPIOB_6; - CONFIGB(triggerInputPins)[0] = GPIOC_6; - CONFIGB(triggerInputPins)[1] = GPIOA_5; - CONFIGB(logicAnalyzerPins)[0] = GPIO_UNASSIGNED; - CONFIGB(logicAnalyzerPins)[1] = GPIO_UNASSIGNED; // GPIOE_5 is a popular option (if available) - CONFIGB(logicAnalyzerPins)[2] = GPIO_UNASSIGNED; - CONFIGB(logicAnalyzerPins)[3] = GPIO_UNASSIGNED; - CONFIGB(vehicleSpeedSensorInputPin) = GPIO_UNASSIGNED; + boardConfiguration->triggerInputPins[0] = GPIOC_6; + boardConfiguration->triggerInputPins[1] = GPIOA_5; + boardConfiguration->logicAnalyzerPins[0] = GPIO_UNASSIGNED; + boardConfiguration->logicAnalyzerPins[1] = GPIO_UNASSIGNED; // GPIOE_5 is a popular option (if available) + boardConfiguration->logicAnalyzerPins[2] = GPIO_UNASSIGNED; + boardConfiguration->logicAnalyzerPins[3] = GPIO_UNASSIGNED; + boardConfiguration->vehicleSpeedSensorInputPin = GPIO_UNASSIGNED; engineConfiguration->vehicleSpeedCoef = 1.0f; - CONFIGB(logicAnalyzerMode)[0] = false; - CONFIGB(logicAnalyzerMode)[1] = false; + boardConfiguration->logicAnalyzerMode[0] = false; + boardConfiguration->logicAnalyzerMode[1] = false; engineConfiguration->mapErrorDetectionTooLow = 5; engineConfiguration->mapErrorDetectionTooHigh = 250; - CONFIGB(idleThreadPeriod) = 100; - CONFIGB(consoleLoopPeriod) = 200; - CONFIGB(lcdThreadPeriod) = 300; - CONFIGB(generalPeriodicThreadPeriod) = 50; - CONFIGB(useLcdScreen) = true; + boardConfiguration->idleThreadPeriod = 100; + boardConfiguration->consoleLoopPeriod = 200; + boardConfiguration->lcdThreadPeriod = 300; + boardConfiguration->generalPeriodicThreadPeriod = 50; + boardConfiguration->useLcdScreen = true; - CONFIGB(boardTestModeJumperPin) = GPIOB_0; + boardConfiguration->boardTestModeJumperPin = GPIOB_0; setCanDefaults(PASS_ENGINE_PARAMETER_SIGNATURE); // set this to SPI_DEVICE_3 to enable stimulation - CONFIGB(digitalPotentiometerSpiDevice) = SPI_NONE; - CONFIGB(digitalPotentiometerChipSelect)[0] = GPIOD_7; - CONFIGB(digitalPotentiometerChipSelect)[1] = GPIO_UNASSIGNED; - CONFIGB(digitalPotentiometerChipSelect)[2] = GPIOD_5; - CONFIGB(digitalPotentiometerChipSelect)[3] = GPIO_UNASSIGNED; + boardConfiguration->digitalPotentiometerSpiDevice = SPI_NONE; + boardConfiguration->digitalPotentiometerChipSelect[0] = GPIOD_7; + boardConfiguration->digitalPotentiometerChipSelect[1] = GPIO_UNASSIGNED; + boardConfiguration->digitalPotentiometerChipSelect[2] = GPIOD_5; + boardConfiguration->digitalPotentiometerChipSelect[3] = GPIO_UNASSIGNED; - CONFIGB(is_enabled_spi_1) = false; - CONFIGB(is_enabled_spi_2) = false; - CONFIGB(is_enabled_spi_3) = true; + boardConfiguration->is_enabled_spi_1 = false; + boardConfiguration->is_enabled_spi_2 = false; + boardConfiguration->is_enabled_spi_3 = true; - CONFIGB(spi1mosiPin) = GPIOB_5; - CONFIGB(spi1misoPin) = GPIOB_4; - CONFIGB(spi1sckPin) = GPIOB_3; // please note that this pin is also SWO/SWD - Single Wire debug Output + boardConfiguration->spi1mosiPin = GPIOB_5; + boardConfiguration->spi1misoPin = GPIOB_4; + boardConfiguration->spi1sckPin = GPIOB_3; // please note that this pin is also SWO/SWD - Single Wire debug Output #if EFI_MEMS || defined(__DOXYGEN__) // this would override some values from above configureAccelerometerPins(PASS_ENGINE_PARAMETER_SIGNATURE); #endif - CONFIGB(spi2mosiPin) = GPIOB_15; - CONFIGB(spi2misoPin) = GPIOB_14; - CONFIGB(spi2sckPin) = GPIOB_13; + boardConfiguration->spi2mosiPin = GPIOB_15; + boardConfiguration->spi2misoPin = GPIOB_14; + boardConfiguration->spi2sckPin = GPIOB_13; - CONFIGB(spi3mosiPin) = GPIOB_5; - CONFIGB(spi3misoPin) = GPIOB_4; - CONFIGB(spi3sckPin) = GPIOB_3; + boardConfiguration->spi3mosiPin = GPIOB_5; + boardConfiguration->spi3misoPin = GPIOB_4; + boardConfiguration->spi3sckPin = GPIOB_3; engineConfiguration->hip9011Gain = 1; #if EFI_HIP_9011 || defined(__DOXYGEN__) @@ -1064,10 +1062,10 @@ void setDefaultConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) { setDefaultSdCardParameters(PASS_ENGINE_PARAMETER_SIGNATURE); - CONFIGB(isFastAdcEnabled) = true; - CONFIGB(isEngineControlEnabled) = true; + boardConfiguration->isFastAdcEnabled = true; + boardConfiguration->isEngineControlEnabled = true; - CONFIGB(isVerboseAlternator) = false; + boardConfiguration->isVerboseAlternator = false; engineConfiguration->warmupAfrPid.offset = 1; engineConfiguration->warmupAfrThreshold = 60; @@ -1093,7 +1091,7 @@ void setDefaultConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE) { * * fsioinfo */ - CONFIGB(fsio_setting)[0] = 5000; + boardConfiguration->fsio_setting[0] = 5000; // simple warning light as default configuration // set_fsio_expression 1 "rpm > fsio_setting(1)" setFsio(0, GPIO_UNASSIGNED, RPM_ABOVE_USER_SETTING_1 PASS_ENGINE_PARAMETER_SUFFIX); @@ -1367,23 +1365,24 @@ void setOperationMode(engine_configuration_s *engineConfiguration, operation_mod engineConfiguration->operationMode = mode; } -operation_mode_e getOperationMode(DECLARE_ENGINE_PARAMETER_SIGNATURE) { +operation_mode_e getOperationMode(engine_configuration_s const *engineConfiguration) { return engineConfiguration->operationMode; } -void commonFrankensoAnalogInputs(DECLARE_ENGINE_PARAMETER_SIGNATURE) { +void commonFrankensoAnalogInputs(engine_configuration_s *engineConfiguration) { /** * VBatt */ engineConfiguration->vbattAdcChannel = EFI_ADC_14; } -void setFrankenso0_1_joystick(DECLARE_ENGINE_PARAMETER_SIGNATURE) { - CONFIGB(joystickCenterPin) = GPIOC_8; - CONFIGB(joystickAPin) = GPIOD_10; - CONFIGB(joystickBPin) = GPIO_UNASSIGNED; - CONFIGB(joystickCPin) = GPIO_UNASSIGNED; - CONFIGB(joystickDPin) = GPIOD_11; +void setFrankenso0_1_joystick(engine_configuration_s *engineConfiguration) { + board_configuration_s *boardConfiguration = &engineConfiguration->bc; + boardConfiguration->joystickCenterPin = GPIOC_8; + boardConfiguration->joystickAPin = GPIOD_10; + boardConfiguration->joystickBPin = GPIO_UNASSIGNED; + boardConfiguration->joystickCPin = GPIO_UNASSIGNED; + boardConfiguration->joystickDPin = GPIOD_11; } void copyTargetAfrTable(fuel_table_t const source, afr_table_t destination) { diff --git a/firmware/controllers/algo/engine_configuration.h b/firmware/controllers/algo/engine_configuration.h index 5d24cb63ca..a09d4b1da2 100644 --- a/firmware/controllers/algo/engine_configuration.h +++ b/firmware/controllers/algo/engine_configuration.h @@ -72,8 +72,8 @@ void rememberCurrentConfiguration(DECLARE_ENGINE_PARAMETER_SIGNATURE); void incrementGlobalConfigurationVersion(DECLARE_ENGINE_PARAMETER_SIGNATURE); int getGlobalConfigurationVersion(void); -void commonFrankensoAnalogInputs(DECLARE_ENGINE_PARAMETER_SIGNATURE); -void setFrankenso0_1_joystick(DECLARE_ENGINE_PARAMETER_SIGNATURE); +void commonFrankensoAnalogInputs(engine_configuration_s *engineConfiguration); +void setFrankenso0_1_joystick(engine_configuration_s *engineConfiguration); void copyTargetAfrTable(fuel_table_t const source, afr_table_t destination); void copyFuelTable(fuel_table_t const source, fuel_table_t destination); diff --git a/firmware/controllers/settings.cpp b/firmware/controllers/settings.cpp index 9a75425c72..5db44646b7 100644 --- a/firmware/controllers/settings.cpp +++ b/firmware/controllers/settings.cpp @@ -73,42 +73,42 @@ void printFloatArray(const char *prefix, float array[], int size) { } void printSpiState(Logging *logger, board_configuration_s *boardConfiguration) { - scheduleMsg(logger, "spi 1=%s/2=%s/3=%s", boolToString(CONFIGB(is_enabled_spi_1)), - boolToString(CONFIGB(is_enabled_spi_2)), boolToString(CONFIGB(is_enabled_spi_3))); + scheduleMsg(logger, "spi 1=%s/2=%s/3=%s", boolToString(boardConfiguration->is_enabled_spi_1), + boolToString(boardConfiguration->is_enabled_spi_2), boolToString(boardConfiguration->is_enabled_spi_3)); } extern board_configuration_s *boardConfiguration; static void printOutputs(const engine_configuration_s *engineConfiguration) { - scheduleMsg(&logger, "injectionPins: mode %s", getPin_output_mode_e(CONFIGB(injectionPinMode))); + scheduleMsg(&logger, "injectionPins: mode %s", getPin_output_mode_e(boardConfiguration->injectionPinMode)); for (int i = 0; i < engineConfiguration->specs.cylindersCount; i++) { - brain_pin_e brainPin = CONFIGB(injectionPins)[i]; + brain_pin_e brainPin = boardConfiguration->injectionPins[i]; scheduleMsg(&logger, "injection #%d @ %s", (1 + i), hwPortname(brainPin)); } - scheduleMsg(&logger, "ignitionPins: mode %s", getPin_output_mode_e(CONFIGB(ignitionPinMode))); + scheduleMsg(&logger, "ignitionPins: mode %s", getPin_output_mode_e(boardConfiguration->ignitionPinMode)); for (int i = 0; i < engineConfiguration->specs.cylindersCount; i++) { - brain_pin_e brainPin = CONFIGB(ignitionPins)[i]; + brain_pin_e brainPin = boardConfiguration->ignitionPins[i]; scheduleMsg(&logger, "ignition #%d @ %s", (1 + i), hwPortname(brainPin)); } - scheduleMsg(&logger, "idlePin: mode %s @ %s freq=%d", getPin_output_mode_e(CONFIGB(idle).solenoidPinMode), - hwPortname(CONFIGB(idle).solenoidPin), CONFIGB(idle).solenoidFrequency); - scheduleMsg(&logger, "malfunctionIndicatorn: %s mode=%s", hwPortname(CONFIGB(malfunctionIndicatorPin)), - getPin_output_mode_e(CONFIGB(malfunctionIndicatorPinMode))); + scheduleMsg(&logger, "idlePin: mode %s @ %s freq=%d", getPin_output_mode_e(boardConfiguration->idle.solenoidPinMode), + hwPortname(boardConfiguration->idle.solenoidPin), boardConfiguration->idle.solenoidFrequency); + scheduleMsg(&logger, "malfunctionIndicatorn: %s mode=%s", hwPortname(boardConfiguration->malfunctionIndicatorPin), + getPin_output_mode_e(boardConfiguration->malfunctionIndicatorPinMode)); - scheduleMsg(&logger, "fuelPumpPin: mode %s @ %s", getPin_output_mode_e(CONFIGB(fuelPumpPinMode)), - hwPortname(CONFIGB(fuelPumpPin))); + scheduleMsg(&logger, "fuelPumpPin: mode %s @ %s", getPin_output_mode_e(boardConfiguration->fuelPumpPinMode), + hwPortname(boardConfiguration->fuelPumpPin)); - scheduleMsg(&logger, "fanPin: mode %s @ %s", getPin_output_mode_e(CONFIGB(fanPinMode)), - hwPortname(CONFIGB(fanPin))); + scheduleMsg(&logger, "fanPin: mode %s @ %s", getPin_output_mode_e(boardConfiguration->fanPinMode), + hwPortname(boardConfiguration->fanPin)); - scheduleMsg(&logger, "mainRelay: mode %s @ %s", getPin_output_mode_e(CONFIGB(mainRelayPinMode)), - hwPortname(CONFIGB(mainRelayPin))); + scheduleMsg(&logger, "mainRelay: mode %s @ %s", getPin_output_mode_e(boardConfiguration->mainRelayPinMode), + hwPortname(boardConfiguration->mainRelayPin)); scheduleMsg(&logger, "alternator field: mode %s @ %s", - getPin_output_mode_e(CONFIGB(alternatorControlPinMode)), - hwPortname(CONFIGB(alternatorControlPin))); + getPin_output_mode_e(boardConfiguration->alternatorControlPinMode), + hwPortname(boardConfiguration->alternatorControlPin)); } @@ -265,25 +265,25 @@ void printConfiguration(const engine_configuration_s *engineConfiguration) { boolToString(engineConfiguration->isMapAveragingEnabled), boolToString(engineConfiguration->isTunerStudioEnabled), boolToString(engineConfiguration->isWaveAnalyzerEnabled), - boolToString(CONFIGB(isFastAdcEnabled))); + boolToString(boardConfiguration->isFastAdcEnabled)); scheduleMsg(&logger, "isManualSpinningMode=%s/isCylinderCleanupEnabled=%s", boolToString(engineConfiguration->isManualSpinningMode), boolToString(engineConfiguration->isCylinderCleanupEnabled)); - scheduleMsg(&logger, "clutchUp@%s: %s", hwPortname(CONFIGB(clutchUpPin)), + scheduleMsg(&logger, "clutchUp@%s: %s", hwPortname(boardConfiguration->clutchUpPin), boolToString(engine->clutchUpState)); - scheduleMsg(&logger, "clutchDown@%s: %s", hwPortname(CONFIGB(clutchDownPin)), + scheduleMsg(&logger, "clutchDown@%s: %s", hwPortname(boardConfiguration->clutchDownPin), boolToString(engine->clutchDownState)); scheduleMsg(&logger, "boardTestModeJumperPin: %s/nesting=%d", - hwPortname(CONFIGB(boardTestModeJumperPin)), maxNesting); + hwPortname(boardConfiguration->boardTestModeJumperPin), maxNesting); - scheduleMsg(&logger, "digitalPotentiometerSpiDevice %d", CONFIGB(digitalPotentiometerSpiDevice)); + scheduleMsg(&logger, "digitalPotentiometerSpiDevice %d", boardConfiguration->digitalPotentiometerSpiDevice); for (int i = 0; i < DIGIPOT_COUNT; i++) { scheduleMsg(&logger, "digitalPotentiometer CS%d %s", i, - hwPortname(CONFIGB(digitalPotentiometerChipSelect)[i])); + hwPortname(boardConfiguration->digitalPotentiometerChipSelect[i])); } #if EFI_PROD_CODE @@ -327,22 +327,22 @@ void setEngineType(int value) { } static void setIdleSolenoidFrequency(int value) { - CONFIGB(idle).solenoidFrequency = value; + boardConfiguration->idle.solenoidFrequency = value; incrementGlobalConfigurationVersion(); } static void setInjectionPinMode(int value) { - CONFIGB(injectionPinMode) = (pin_output_mode_e) value; + boardConfiguration->injectionPinMode = (pin_output_mode_e) value; doPrintConfiguration(); } static void setIgnitionPinMode(int value) { - CONFIGB(ignitionPinMode) = (pin_output_mode_e) value; + boardConfiguration->ignitionPinMode = (pin_output_mode_e) value; doPrintConfiguration(); } static void setIdlePinMode(int value) { - CONFIGB(idle).solenoidPinMode = (pin_output_mode_e) value; + boardConfiguration->idle.solenoidPinMode = (pin_output_mode_e) value; doPrintConfiguration(); } @@ -359,17 +359,17 @@ static void setIgnitionOffset(float value) { } static void setFuelPumpPinMode(int value) { - CONFIGB(fuelPumpPinMode) = (pin_output_mode_e) value; + boardConfiguration->fuelPumpPinMode = (pin_output_mode_e) value; doPrintConfiguration(); } static void setMalfunctionIndicatorPinMode(int value) { - CONFIGB(malfunctionIndicatorPinMode) = (pin_output_mode_e) value; + boardConfiguration->malfunctionIndicatorPinMode = (pin_output_mode_e) value; doPrintConfiguration(); } static void setSensorChartMode(int value) { - CONFIGB(sensorChartMode) = (sensor_chart_e) value; + boardConfiguration->sensorChartMode = (sensor_chart_e) value; doPrintConfiguration(); } @@ -431,12 +431,12 @@ static void printTemperatureInfo(void) { } scheduleMsg(&logger, "fan=%s @ %s", boolToString(enginePins.fanRelay.getLogicValue()), - hwPortname(CONFIGB(fanPin))); + hwPortname(boardConfiguration->fanPin)); scheduleMsg(&logger, "A/C relay=%s @ %s", boolToString(enginePins.acRelay.getLogicValue()), - hwPortname(CONFIGB(acRelayPin))); + hwPortname(boardConfiguration->acRelayPin)); - scheduleMsg(&logger, "warmupPID=%d corr=%.2f", CONFIGB(useWarmupPidAfr), + scheduleMsg(&logger, "warmupPID=%d corr=%.2f", boardConfiguration->useWarmupPidAfr, engine->engineState.cltFuelCorrection); #endif /* EFI_ANALOG_SENSORS */ @@ -636,11 +636,11 @@ static void setWholeFuelMapCmd(float value) { #if EFI_PROD_CODE static void setEgtSpi(int spi) { - CONFIGB(max31855spiDevice) = (spi_device_e) spi; + boardConfiguration->max31855spiDevice = (spi_device_e) spi; } static void setPotSpi(int spi) { - CONFIGB(digitalPotentiometerSpiDevice) = (spi_device_e) spi; + boardConfiguration->digitalPotentiometerSpiDevice = (spi_device_e) spi; } static void setIgnitionPin(const char *indexStr, const char *pinName) { @@ -654,7 +654,7 @@ static void setIgnitionPin(const char *indexStr, const char *pinName) { return; } scheduleMsg(&logger, "setting ignition pin[%d] to %s please save&restart", index, hwPortname(pin)); - CONFIGB(ignitionPins)[index] = pin; + boardConfiguration->ignitionPins[index] = pin; incrementGlobalConfigurationVersion(PASS_ENGINE_PARAMETER_SIGNATURE); } @@ -671,23 +671,23 @@ static void setIndividualPin(const char *pinName, brain_pin_e *targetPin, const // set_idle_pin none static void setIdlePin(const char *pinName) { - setIndividualPin(pinName, &CONFIGB(idle).solenoidPin, "idle"); + setIndividualPin(pinName, &boardConfiguration->idle.solenoidPin, "idle"); } static void setMainRelayPin(const char *pinName) { - setIndividualPin(pinName, &CONFIGB(mainRelayPin), "main relay"); + setIndividualPin(pinName, &boardConfiguration->mainRelayPin, "main relay"); } static void setAlternatorPin(const char *pinName) { - setIndividualPin(pinName, &CONFIGB(alternatorControlPin), "alternator"); + setIndividualPin(pinName, &boardConfiguration->alternatorControlPin, "alternator"); } static void setACPin(const char *pinName) { - setIndividualPin(pinName, &CONFIGB(acRelayPin), "A/C"); + setIndividualPin(pinName, &boardConfiguration->acRelayPin, "A/C"); } static void setFuelPumpPin(const char *pinName) { - setIndividualPin(pinName, &CONFIGB(fuelPumpPin), "fuelPump"); + setIndividualPin(pinName, &boardConfiguration->fuelPumpPin, "fuelPump"); } static void setInjectionPin(const char *indexStr, const char *pinName) { @@ -701,7 +701,7 @@ static void setInjectionPin(const char *indexStr, const char *pinName) { return; } scheduleMsg(&logger, "setting injection pin[%d] to %s please save&restart", index, hwPortname(pin)); - CONFIGB(injectionPins)[index] = pin; + boardConfiguration->injectionPins[index] = pin; incrementGlobalConfigurationVersion(PASS_ENGINE_PARAMETER_SIGNATURE); } @@ -716,7 +716,7 @@ static void setTriggerInputPin(const char *indexStr, const char *pinName) { return; } scheduleMsg(&logger, "setting trigger pin[%d] to %s please save&restart", index, hwPortname(pin)); - CONFIGB(triggerInputPins)[index] = pin; + boardConfiguration->triggerInputPins[index] = pin; incrementGlobalConfigurationVersion(PASS_ENGINE_PARAMETER_SIGNATURE); } @@ -729,7 +729,7 @@ static void setTriggerSimulatorMode(const char *indexStr, const char *modeCode) if (absI(mode) == ERROR_CODE) { return; } - CONFIGB(triggerSimulatorPinModes)[index] = (pin_output_mode_e) mode; + boardConfiguration->triggerSimulatorPinModes[index] = (pin_output_mode_e) mode; } static void setEgtCSPin(const char *indexStr, const char *pinName) { @@ -742,7 +742,7 @@ static void setEgtCSPin(const char *indexStr, const char *pinName) { return; } scheduleMsg(&logger, "setting EGT CS pin[%d] to %s please save&restart", index, hwPortname(pin)); - CONFIGB(max31855_cs)[index] = pin; + boardConfiguration->max31855_cs[index] = pin; incrementGlobalConfigurationVersion(PASS_ENGINE_PARAMETER_SIGNATURE); } @@ -756,7 +756,7 @@ static void setTriggerSimulatorPin(const char *indexStr, const char *pinName) { return; } scheduleMsg(&logger, "setting trigger simulator pin[%d] to %s please save&restart", index, hwPortname(pin)); - CONFIGB(triggerSimulatorPins)[index] = pin; + boardConfiguration->triggerSimulatorPins[index] = pin; incrementGlobalConfigurationVersion(PASS_ENGINE_PARAMETER_SIGNATURE); } @@ -800,7 +800,7 @@ static void setLogicInputPin(const char *indexStr, const char *pinName) { return; } scheduleMsg(&logger, "setting logic input pin[%d] to %s please save&restart", index, hwPortname(pin)); - CONFIGB(logicAnalyzerPins)[index] = pin; + boardConfiguration->logicAnalyzerPins[index] = pin; } static void showPinFunction(const char *pinName) { @@ -845,13 +845,13 @@ static void setFuelMap(const char * rpmStr, const char *loadStr, const char *val static void setSpiMode(int index, bool mode) { switch (index) { case 1: - CONFIGB(is_enabled_spi_1) = mode; + boardConfiguration->is_enabled_spi_1 = mode; break; case 2: - CONFIGB(is_enabled_spi_2) = mode; + boardConfiguration->is_enabled_spi_2 = mode; break; case 3: - CONFIGB(is_enabled_spi_3) = mode; + boardConfiguration->is_enabled_spi_3 = mode; break; default: scheduleMsg(&logger, "invalid spi index %d", index); @@ -862,19 +862,19 @@ static void setSpiMode(int index, bool mode) { static void enableOrDisable(const char *param, bool isEnabled) { if (strEqualCaseInsensitive(param, "fastadc")) { - CONFIGB(isFastAdcEnabled) = isEnabled; + boardConfiguration->isFastAdcEnabled = isEnabled; } else if (strEqualCaseInsensitive(param, "etb_auto")) { engine->etbAutoTune = isEnabled; } else if (strEqualCaseInsensitive(param, "constant_dwell")) { engineConfiguration->useConstantDwellDuringCranking = isEnabled; } else if (strEqualCaseInsensitive(param, "binary_mode_console")) { - CONFIGB(startConsoleInBinaryMode) = isEnabled; + boardConfiguration->startConsoleInBinaryMode = isEnabled; } else if (strEqualCaseInsensitive(param, "cj125")) { - CONFIGB(isCJ125Enabled) = isEnabled; + boardConfiguration->isCJ125Enabled = isEnabled; } else if (strEqualCaseInsensitive(param, "engine_sniffer")) { engineConfiguration->isEngineChartEnabled = isEnabled; } else if (strEqualCaseInsensitive(param, "step1limimter")) { - CONFIGB(enabledStep1Limiter) = isEnabled; + boardConfiguration->enabledStep1Limiter = isEnabled; #if EFI_PROD_CODE || defined(__DOXYGEN__) } else if (strEqualCaseInsensitive(param, "auto_idle")) { #if EFI_IDLE_CONTROL || defined(__DOXYGEN__) @@ -882,9 +882,9 @@ static void enableOrDisable(const char *param, bool isEnabled) { #endif /* EFI_IDLE_CONTROL */ #endif /* EFI_PROD_CODE */ } else if (strEqualCaseInsensitive(param, "serial")) { - CONFIGB(useSerialPort) = isEnabled; + boardConfiguration->useSerialPort = isEnabled; } else if (strEqualCaseInsensitive(param, "stepperidle")) { - CONFIGB(useStepperIdle) = isEnabled; + boardConfiguration->useStepperIdle = isEnabled; } else if (strEqualCaseInsensitive(param, "trigger_only_front")) { engineConfiguration->useOnlyRisingEdgeForTrigger = isEnabled; incrementGlobalConfigurationVersion(PASS_ENGINE_PARAMETER_SIGNATURE); @@ -898,7 +898,7 @@ static void enableOrDisable(const char *param, bool isEnabled) { engineConfiguration->twoWireBatchIgnition = isEnabled; incrementGlobalConfigurationVersion(PASS_ENGINE_PARAMETER_SIGNATURE); } else if (strEqualCaseInsensitive(param, "HIP9011")) { - CONFIGB(isHip9011Enabled) = isEnabled; + boardConfiguration->isHip9011Enabled = isEnabled; } else if (strEqualCaseInsensitive(param, "verbose_etb")) { engineConfiguration->isVerboseETB = isEnabled; } else if (strEqualCaseInsensitive(param, "verbose_idle")) { @@ -912,15 +912,15 @@ static void enableOrDisable(const char *param, bool isEnabled) { } else if (strEqualCaseInsensitive(param, "auxdebug4")) { engineConfiguration->isVerboseAuxPid4 = isEnabled; } else if (strEqualCaseInsensitive(param, "altdebug")) { - CONFIGB(isVerboseAlternator) = isEnabled; + boardConfiguration->isVerboseAlternator = isEnabled; } else if (strEqualCaseInsensitive(param, "tpic_advanced_mode")) { - CONFIGB(useTpicAdvancedMode) = isEnabled; + boardConfiguration->useTpicAdvancedMode = isEnabled; } else if (strEqualCaseInsensitive(param, "knockdebug")) { engine->knockDebug = isEnabled; } else if (strEqualCaseInsensitive(param, "altcontrol")) { engineConfiguration->isAlternatorControlEnabled = isEnabled; } else if (strEqualCaseInsensitive(param, "sd")) { - CONFIGB(isSdCardEnabled) = isEnabled; + boardConfiguration->isSdCardEnabled = isEnabled; } else if (strEqualCaseInsensitive(param, "test_mode")) { engine->isTestMode = isEnabled; } else if (strEqualCaseInsensitive(param, "can_read")) { @@ -936,7 +936,7 @@ static void enableOrDisable(const char *param, bool isEnabled) { } else if (strEqualCaseInsensitive(param, "self_stimulation")) { engineConfiguration->directSelfStimulation = isEnabled; } else if (strEqualCaseInsensitive(param, "engine_control")) { - CONFIGB(isEngineControlEnabled) = isEnabled; + boardConfiguration->isEngineControlEnabled = isEnabled; } else if (strEqualCaseInsensitive(param, "map_avg")) { engineConfiguration->isMapAveragingEnabled = isEnabled; } else if (strEqualCaseInsensitive(param, "tunerstudio")) { @@ -1049,7 +1049,7 @@ const plain_get_integer_s getI_plain[] = { const plain_get_float_s getF_plain[] = { {"cranking_dwell", &engineConfiguration->ignitionDwellForCrankingMs}, - {"idle_position", &CONFIGB(manIdlePosition)}, + {"idle_position", &boardConfiguration->manIdlePosition}, {"ignition_offset", &engineConfiguration->ignitionOffset}, {"injection_offset", &engineConfiguration->extraInjectionOffset}, {"global_trigger_offset_angle", &engineConfiguration->globalTriggerAngleOffset}, @@ -1089,7 +1089,7 @@ static void getValue(const char *paramStr) { if (strEqualCaseInsensitive(paramStr, "isCJ125Enabled")) { - scheduleMsg(&logger, "isCJ125Enabled=%d", CONFIGB(isCJ125Enabled)); + scheduleMsg(&logger, "isCJ125Enabled=%d", boardConfiguration->isCJ125Enabled); #if EFI_PROD_CODE || defined(__DOXYGEN__) } else if (strEqualCaseInsensitive(paramStr, "bor")) { showBor(); @@ -1099,7 +1099,7 @@ static void getValue(const char *paramStr) { } else if (strEqualCaseInsensitive(paramStr, "global_trigger_offset_angle")) { scheduleMsg(&logger, "global_trigger_offset=%.2f", engineConfiguration->globalTriggerAngleOffset); } else if (strEqualCaseInsensitive(paramStr, "isHip9011Enabled")) { - scheduleMsg(&logger, "isHip9011Enabled=%d", CONFIGB(isHip9011Enabled)); + scheduleMsg(&logger, "isHip9011Enabled=%d", boardConfiguration->isHip9011Enabled); } #if EFI_RTC || defined(__DOXYGEN__)