diff --git a/firmware/config/engines/mazda_miata.cpp b/firmware/config/engines/mazda_miata.cpp index b36ef2a11c..472dfa2bfa 100644 --- a/firmware/config/engines/mazda_miata.cpp +++ b/firmware/config/engines/mazda_miata.cpp @@ -51,6 +51,7 @@ static void setDefaultCrankingFuel(engine_configuration_s *engineConfiguration) static void commonMiataNa(engine_configuration_s *engineConfiguration, board_configuration_s *boardConfiguration) { engineConfiguration->triggerConfig.triggerType = TT_MAZDA_MIATA_NA; + engineConfiguration->digitalChartSize = 100; engineConfiguration->ignitionMode = IM_WASTED_SPARK; setFuelLoadBin(engineConfiguration, 1.2, 4.4); @@ -61,7 +62,7 @@ static void commonMiataNa(engine_configuration_s *engineConfiguration, board_con boardConfiguration->idleSolenoidFrequency = 160; - engineConfiguration->globalTriggerAngleOffset = 114; + engineConfiguration->globalTriggerAngleOffset = 294; // Frankenstein: high side #1 is PE8 // Frankenstein: high side #2 is PE10 diff --git a/firmware/controllers/algo/engine_configuration.cpp b/firmware/controllers/algo/engine_configuration.cpp index e993e3ba30..e6b490c284 100644 --- a/firmware/controllers/algo/engine_configuration.cpp +++ b/firmware/controllers/algo/engine_configuration.cpp @@ -334,7 +334,7 @@ void setDefaultConfiguration(engine_configuration_s *engineConfiguration, board_ boardConfiguration->triggerInputPins[0] = GPIOC_6; boardConfiguration->triggerInputPins[1] = GPIOA_5; boardConfiguration->logicAnalyzerPins[0] = GPIOA_8; - boardConfiguration->logicAnalyzerPins[1] = GPIOE_7; // todo: E7 is not timer input, that's a bug! + boardConfiguration->logicAnalyzerPins[1] = GPIO_NONE; // GPIOE_5 is a popular option (if available) boardConfiguration->logicAnalyzerPins[2] = GPIO_NONE; boardConfiguration->logicAnalyzerPins[3] = GPIO_NONE; @@ -355,6 +355,7 @@ void setDefaultConfiguration(engine_configuration_s *engineConfiguration, board_ boardConfiguration->canTxPin = GPIOB_0; boardConfiguration->canRxPin = GPIOB_12; + // set this to SPI_DEVICE_3 to enable stimulation boardConfiguration->digitalPotentiometerSpiDevice = SPI_NONE; boardConfiguration->digitalPotentiometerChipSelect[0] = GPIOD_7; boardConfiguration->digitalPotentiometerChipSelect[1] = GPIO_NONE; diff --git a/firmware/iar/ch.ewp b/firmware/iar/ch.ewp index ed1a2681ef..14f628c257 100644 --- a/firmware/iar/ch.ewp +++ b/firmware/iar/ch.ewp @@ -1947,12 +1947,6 @@ $PROJ_DIR$\..\config\engines\ford_aspire.h - - $PROJ_DIR$\..\config\engines\mazda_miata.cpp - - - $PROJ_DIR$\..\config\engines\mazda_miata.h - $PROJ_DIR$\..\config\engines\ford_fiesta.cpp @@ -1977,6 +1971,12 @@ $PROJ_DIR$\..\config\engines\mazda_323.h + + $PROJ_DIR$\..\config\engines\mazda_miata.cpp + + + $PROJ_DIR$\..\config\engines\mazda_miata.h + $PROJ_DIR$\..\config\engines\mazda_miata_nb.cpp @@ -2416,6 +2416,12 @@ $PROJ_DIR$\..\controllers\engine_controller.h + + $PROJ_DIR$\..\controllers\algo\enum_strings.cpp + + + $PROJ_DIR$\..\controllers\algo\enum_strings.h + $PROJ_DIR$\..\controllers\error_handling.c diff --git a/firmware/tunerstudio/rusefi.ini b/firmware/tunerstudio/rusefi.ini index 4311d5e207..418cf2a9ed 100644 --- a/firmware/tunerstudio/rusefi.ini +++ b/firmware/tunerstudio/rusefi.ini @@ -276,12 +276,12 @@ enable2ndByteCanID = false ;triggerSimulatorPinModes - o2heaterPin = bits,U32, 5840, [0:6], "GPIOA_0", "GPIOA_1", "GPIOA_2", "GPIOA_3", "GPIOA_4", "GPIOA_5", "GPIOA_6", "GPIOA_7", "GPIOA_8", "GPIOA_9", "GPIOA_10", "GPIOA_11", "GPIOA_12", "GPIOA_13", "GPIOA_14", "GPIOA_15", "GPIOB_0", "GPIOB_1", "GPIOB_2", "GPIOB_3", "GPIOB_4", "GPIOB_5", "GPIOB_6", "GPIOB_7", "GPIOB_8", "GPIOB_9", "GPIOB_10", "GPIOB_11", "GPIOB_12", "GPIOB_13", "GPIOB_14", "GPIOB_15", "GPIOC_0", "GPIOC_1", "GPIOC_2", "GPIOC_3", "GPIOC_4", "GPIOC_5", "GPIOC_6", "GPIOC_7", "GPIOC_8", "GPIOC_9", "GPIOC_10", "GPIOC_11", "GPIOC_12", "GPIOC_13", "GPIOC_14", "GPIOC_15", "GPIOD_0", "GPIOD_1", "GPIOD_2", "GPIOD_3", "GPIOD_4", "GPIOD_5", "GPIOD_6", "GPIOD_7", "GPIOD_8", "GPIOD_9", "GPIOD_10", "GPIOD_11", "GPIOD_12", "GPIOD_13", "GPIOD_14", "GPIOD_15", "GPIOE_0", "GPIOE_1", "GPIOE_2", "GPIOE_3", "GPIOE_4", "GPIOE_5", "GPIOE_6", "GPIOE_7", "GPIOE_8", "GPIOE_9", "GPIOE_10", "GPIOE_11", "GPIOE_12", "GPIOE_13", "GPIOE_14", "GPIOE_15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" + o2heaterPin = bits, U32, 5840, [0:6], "GPIOA_0", "GPIOA_1", "GPIOA_2", "GPIOA_3", "GPIOA_4", "GPIOA_5", "GPIOA_6", "GPIOA_7", "GPIOA_8", "GPIOA_9", "GPIOA_10", "GPIOA_11", "GPIOA_12", "GPIOA_13", "GPIOA_14", "GPIOA_15", "GPIOB_0", "GPIOB_1", "GPIOB_2", "GPIOB_3", "GPIOB_4", "GPIOB_5", "GPIOB_6", "GPIOB_7", "GPIOB_8", "GPIOB_9", "GPIOB_10", "GPIOB_11", "GPIOB_12", "GPIOB_13", "GPIOB_14", "GPIOB_15", "GPIOC_0", "GPIOC_1", "GPIOC_2", "GPIOC_3", "GPIOC_4", "GPIOC_5", "GPIOC_6", "GPIOC_7", "GPIOC_8", "GPIOC_9", "GPIOC_10", "GPIOC_11", "GPIOC_12", "GPIOC_13", "GPIOC_14", "GPIOC_15", "GPIOD_0", "GPIOD_1", "GPIOD_2", "GPIOD_3", "GPIOD_4", "GPIOD_5", "GPIOD_6", "GPIOD_7", "GPIOD_8", "GPIOD_9", "GPIOD_10", "GPIOD_11", "GPIOD_12", "GPIOD_13", "GPIOD_14", "GPIOD_15", "GPIOE_0", "GPIOE_1", "GPIOE_2", "GPIOE_3", "GPIOE_4", "GPIOE_5", "GPIOE_6", "GPIOE_7", "GPIOE_8", "GPIOE_9", "GPIOE_10", "GPIOE_11", "GPIOE_12", "GPIOE_13", "GPIOE_14", "GPIOE_15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" - is_enabled_spi_1 = bits, U32, 5848, [0:0], "false", "true" - is_enabled_spi_2 = bits, U32, 5848, [1:1], "false", "true" - is_enabled_spi_3 = bits, U32, 5848, [2:2], "false", "true" - isSdCardEnabled = bits, U32, 5848, [3:3], "false", "true" + is_enabled_spi_1 = bits, U32, 5848, [0:0], "false", "true" + is_enabled_spi_2 = bits, U32, 5848, [1:1], "false", "true" + is_enabled_spi_3 = bits, U32, 5848, [2:2], "false", "true" + isSdCardEnabled = bits, U32, 5848, [3:3], "false", "true" logicAnalyzerPin0 = bits, U32, 5852, [0:6], "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "GPIOA_5", "INVALID", "INVALID", "GPIOA_8", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "GPIOC_6", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "GPIOE_5", "INVALID", "GPIOE_7", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" logicAnalyzerPin1 = bits, U32, 5856, [0:6], "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "GPIOA_5", "INVALID", "INVALID", "GPIOA_8", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "GPIOC_6", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "GPIOE_5", "INVALID", "GPIOE_7", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" @@ -289,9 +289,12 @@ enable2ndByteCanID = false logicAnalyzerPin3 = bits, U32, 5864, [0:6], "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "GPIOA_5", "INVALID", "INVALID", "GPIOA_8", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "GPIOC_6", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "GPIOE_5", "INVALID", "GPIOE_7", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" ; idle mode 5888 - isInjectionEnabled = bits, U32, 5892, [0:0], "false", "true" - isIgnitionEnabled = bits, U32, 5892, [1:1], "false", "true" - + isInjectionEnabled = bits, U32, 5892, [0:0], "false", "true" + isIgnitionEnabled = bits, U32, 5892, [1:1], "false", "true" + isCylinderCleanupEnabled= bits, U32, 5892, [2:2], "false", "true" + secondTriggerChannelEnabled= bits, U32, 5892, [3:3], "false", "true" + needSecondTriggerInput = bits, U32, 5892, [4:4], "false", "true" + digitalChartSize = scalar, U32, 5896, "count", 1, 0, 0, 300, 0 ; size 4 [OutputChannels] ochGetCommand = "O" @@ -737,6 +740,7 @@ enable2ndByteCanID = false field = "Logic input channel 2", logicAnalyzerPin1 field = "Logic input channel 3", logicAnalyzerPin2 field = "Logic input channel 4", logicAnalyzerPin3 + field = "digital chart size", digitalChartSize dialog = crankingFuel, "Cranking Fuel" diff --git a/hardware/frankenso/known_issues.txt b/hardware/frankenso/known_issues.txt index 5b09095b05..652bb6a546 100644 --- a/hardware/frankenso/known_issues.txt +++ b/hardware/frankenso/known_issues.txt @@ -18,6 +18,7 @@ 18) BOM issue: D1001 should be BZT52C7V5-FDICT-ND? 19) BOM issue: C1001 sch says 470uF but part number is 100uF? 20) SKQUCAA010 is End of Life. I've placed and order to get these in October, but we need a better solution +21) JP212 should be replaced with JP209 which would be breaking the OUT9 line. That's part of hall-via-op-amp circuirty For honda add-on / rewiring board