From 17ccbe044d15c27ac12850b59bd271964273feb2 Mon Sep 17 00:00:00 2001 From: rusEfi Date: Mon, 25 Apr 2016 23:01:59 -0400 Subject: [PATCH] auto-sync --- .../controllers/algo/engine_configuration.cpp | 2 ++ .../engine_configuration_generated_structures.h | 14 +++++++++++--- firmware/controllers/algo/rusefi_generated.h | 8 ++++++-- firmware/controllers/flash_main.h | 2 +- .../trigger/main_trigger_callback.cpp | 17 +++++++++++++---- firmware/integration/rusefi_config.txt | 4 +++- firmware/tunerstudio/rusefi.ini | 6 ++++-- .../models/src/com/rusefi/config/Fields.java | 12 +++++++++--- 8 files changed, 49 insertions(+), 16 deletions(-) diff --git a/firmware/controllers/algo/engine_configuration.cpp b/firmware/controllers/algo/engine_configuration.cpp index 6d2804e9e5..bfaa8ba4d6 100644 --- a/firmware/controllers/algo/engine_configuration.cpp +++ b/firmware/controllers/algo/engine_configuration.cpp @@ -190,6 +190,8 @@ void prepareVoidConfiguration(engine_configuration_s *activeConfiguration) { boardConfiguration->triggerInputPins[1] = GPIO_UNASSIGNED; boardConfiguration->triggerInputPins[2] = GPIO_UNASSIGNED; + activeConfiguration->dizzySparkOutputPin = GPIO_UNASSIGNED; + for (int i = 0; i < JOYSTICK_PIN_COUNT; i++) { boardConfiguration->joystickPins[i] = GPIO_UNASSIGNED; } diff --git a/firmware/controllers/algo/engine_configuration_generated_structures.h b/firmware/controllers/algo/engine_configuration_generated_structures.h index 434f2b860c..6684003f30 100644 --- a/firmware/controllers/algo/engine_configuration_generated_structures.h +++ b/firmware/controllers/algo/engine_configuration_generated_structures.h @@ -1,4 +1,4 @@ -// this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Sun Mar 20 15:05:16 EDT 2016 +// this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Mon Apr 25 22:10:39 EDT 2016 // begin #ifndef ENGINE_CONFIGURATION_GENERATED_H_ #define ENGINE_CONFIGURATION_GENERATED_H_ @@ -1510,7 +1510,15 @@ typedef struct { /** * offset 2368 */ - int unused[170]; + brain_pin_e dizzySparkOutputPin; + /** + * offset 2372 + */ + pin_output_mode_e dizzySparkOutputPinMode; + /** + * offset 2376 + */ + int unused[168]; /** total size 3048*/ } engine_configuration_s; @@ -1699,4 +1707,4 @@ typedef struct { #endif // end -// this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Sun Mar 20 15:05:16 EDT 2016 +// this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Mon Apr 25 22:10:39 EDT 2016 diff --git a/firmware/controllers/algo/rusefi_generated.h b/firmware/controllers/algo/rusefi_generated.h index 274b7ebe1d..465dd2ed0d 100644 --- a/firmware/controllers/algo/rusefi_generated.h +++ b/firmware/controllers/algo/rusefi_generated.h @@ -751,8 +751,12 @@ #define mapAccelTaperBins_offset_hex 900 #define mapAccelTaperMult_offset 2336 #define mapAccelTaperMult_offset_hex 920 -#define unused_offset 2368 -#define unused_offset_hex 940 +#define dizzySparkOutputPin_offset 2368 +#define dizzySparkOutputPin_offset_hex 940 +#define dizzySparkOutputPinMode_offset 2372 +#define dizzySparkOutputPinMode_offset_hex 944 +#define unused_offset 2376 +#define unused_offset_hex 948 #define le_formulas1_offset 3048 #define le_formulas2_offset 3248 #define le_formulas3_offset 3448 diff --git a/firmware/controllers/flash_main.h b/firmware/controllers/flash_main.h index dfca376398..3574257c45 100644 --- a/firmware/controllers/flash_main.h +++ b/firmware/controllers/flash_main.h @@ -11,7 +11,7 @@ #include "engine.h" -#define FLASH_DATA_VERSION 9200 +#define FLASH_DATA_VERSION 9300 typedef enum { OK = 0, diff --git a/firmware/controllers/trigger/main_trigger_callback.cpp b/firmware/controllers/trigger/main_trigger_callback.cpp index f2517e59f1..abc733a0ca 100644 --- a/firmware/controllers/trigger/main_trigger_callback.cpp +++ b/firmware/controllers/trigger/main_trigger_callback.cpp @@ -187,6 +187,14 @@ static ALWAYS_INLINE void handleFuel(bool limitedFuel, uint32_t eventIndex, int } } +void turnSparkPinLow(NamedOutputPin *output) { + turnPinLow(output); +} + +void turnSparkPinHigh(NamedOutputPin *output) { + turnPinHigh(output); +} + static ALWAYS_INLINE void handleSparkEvent(bool limitedSpark, uint32_t eventIndex, IgnitionEvent *iEvent, int rpm DECLARE_ENGINE_PARAMETER_S) { @@ -231,7 +239,7 @@ static ALWAYS_INLINE void handleSparkEvent(bool limitedSpark, uint32_t eventInde * This way we make sure that coil dwell started while spark was enabled would fire and not burn * the coil. */ - scheduleTask("spark up", sUp, chargeDelayUs, (schfunc_t) &turnPinHigh, iEvent->output); + scheduleTask("spark up", sUp, chargeDelayUs, (schfunc_t) &turnSparkPinHigh, iEvent->output); } /** * Spark event is often happening during a later trigger event timeframe @@ -250,7 +258,7 @@ static ALWAYS_INLINE void handleSparkEvent(bool limitedSpark, uint32_t eventInde printf("spark delay=%f angle=%f\r\n", timeTillIgnitionUs, iEvent->sparkPosition.angleOffset); #endif - scheduleTask("spark1 down", sDown, (int) timeTillIgnitionUs, (schfunc_t) &turnPinLow, iEvent->output); + scheduleTask("spark1 down", sDown, (int) timeTillIgnitionUs, (schfunc_t) &turnSparkPinLow, iEvent->output); } else { /** * Spark should be scheduled in relation to some future trigger event, this way we get better firing precision @@ -284,7 +292,7 @@ static ALWAYS_INLINE void handleSpark(bool limitedSpark, uint32_t eventIndex, in scheduling_s * sDown = ¤t->signalTimerDown; float timeTillIgnitionUs = ENGINE(rpmCalculator.oneDegreeUs) * current->sparkPosition.angleOffset; - scheduleTask("spark 2down", sDown, (int) timeTillIgnitionUs, (schfunc_t) &turnPinLow, current->output); + scheduleTask("spark 2down", sDown, (int) timeTillIgnitionUs, (schfunc_t) &turnSparkPinLow, current->output); } } @@ -415,8 +423,9 @@ void mainTriggerCallback(trigger_event_e ckpSignalType, uint32_t eventIndex DECL int revolutionIndex = ENGINE(rpmCalculator).getRevolutionCounter() % 2; if (eventIndex == 0) { - if (triggerVersion.isOld()) + if (triggerVersion.isOld()) { prepareOutputSignals(PASS_ENGINE_PARAMETER_F); + } } efiAssertVoid(!CONFIG(useOnlyRisingEdgeForTrigger) || CONFIG(ignMathCalculateAtIndex) % 2 == 0, "invalid ignMathCalculateAtIndex"); diff --git a/firmware/integration/rusefi_config.txt b/firmware/integration/rusefi_config.txt index c1d50b6bd8..9b05cfc61b 100644 --- a/firmware/integration/rusefi_config.txt +++ b/firmware/integration/rusefi_config.txt @@ -660,7 +660,9 @@ baro_corr_table_t baroCorrTable; float[MAP_ACCEL_TAPER] mapAccelTaperBins;;"counter", 1, 0, 0.0, 300, 0 float[MAP_ACCEL_TAPER] mapAccelTaperMult;;"mult", 1, 0, 0.0, 300, 2 - int[170] unused; + brain_pin_e dizzySparkOutputPin; + pin_output_mode_e dizzySparkOutputPinMode; + int[168] unused; end_struct diff --git a/firmware/tunerstudio/rusefi.ini b/firmware/tunerstudio/rusefi.ini index ca066f4d77..11cc3fd858 100644 --- a/firmware/tunerstudio/rusefi.ini +++ b/firmware/tunerstudio/rusefi.ini @@ -41,7 +41,7 @@ enable2ndByteCanID = false ; see PAGE_0_SIZE in C source code ; CONFIG_DEFINITION_START -; this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Tue Mar 22 11:46:30 EDT 2016 +; this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Mon Apr 25 22:10:39 EDT 2016 pageSize = 17080 page = 1 @@ -534,7 +534,9 @@ page = 1 boostCutPressure = scalar, F32, 2300, "kPa", 1, 0, 0, 500, 0 mapAccelTaperBins = array, F32, 2304, [8], "counter", 1, 0, 0.0, 300, 0 mapAccelTaperMult = array, F32, 2336, [8], "mult", 1, 0, 0.0, 300, 2 -;skipping unused offset 2368 + dizzySparkOutputPin = bits, U32, 2368, [0:6], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "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" + dizzySparkOutputPinMode = bits, U32, 2372, [0:1], "default", "default inverted", "open collector", "open collector inverted" +;skipping unused offset 2376 le_formulas1 = array, U08, 3048, [200],"char", 1, 0, 0.0, 3.0, 2 le_formulas2 = array, U08, 3248, [200],"char", 1, 0, 0.0, 3.0, 2 le_formulas3 = array, U08, 3448, [200],"char", 1, 0, 0.0, 3.0, 2 diff --git a/java_console/models/src/com/rusefi/config/Fields.java b/java_console/models/src/com/rusefi/config/Fields.java index 9ef54fc08a..7cf7ce1fc3 100644 --- a/java_console/models/src/com/rusefi/config/Fields.java +++ b/java_console/models/src/com/rusefi/config/Fields.java @@ -1,6 +1,6 @@ package com.rusefi.config; -// this file was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Tue Mar 22 11:46:30 EDT 2016 +// this file was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Mon Apr 25 22:10:39 EDT 2016 public class Fields { public static final int LE_COMMAND_LENGTH = 200; public static final int TS_FILE_VERSION = 20160312; @@ -755,8 +755,12 @@ public class Fields { public static final int mapAccelTaperBins_offset_hex = 900; public static final int mapAccelTaperMult_offset = 2336; public static final int mapAccelTaperMult_offset_hex = 920; - public static final int unused_offset = 2368; - public static final int unused_offset_hex = 940; + public static final int dizzySparkOutputPin_offset = 2368; + public static final int dizzySparkOutputPin_offset_hex = 940; + public static final int dizzySparkOutputPinMode_offset = 2372; + public static final int dizzySparkOutputPinMode_offset_hex = 944; + public static final int unused_offset = 2376; + public static final int unused_offset_hex = 948; public static final int le_formulas1_offset = 3048; public static final int le_formulas2_offset = 3248; public static final int le_formulas3_offset = 3448; @@ -1308,6 +1312,8 @@ public class Fields { public static final Field WARMUPAFRPID_OFFSET = Field.create("WARMUPAFRPID_OFFSET", 2260, FieldType.FLOAT); public static final Field WARMUPAFRTHRESHOLD = Field.create("WARMUPAFRTHRESHOLD", 2296, FieldType.FLOAT); public static final Field BOOSTCUTPRESSURE = Field.create("BOOSTCUTPRESSURE", 2300, FieldType.FLOAT); + public static final Field DIZZYSPARKOUTPUTPIN = Field.create("DIZZYSPARKOUTPUTPIN", 2368, FieldType.INT, brain_pin_e); + public static final Field DIZZYSPARKOUTPUTPINMODE = Field.create("DIZZYSPARKOUTPUTPINMODE", 2372, FieldType.INT, pin_output_mode_e); public static final Field LE_FORMULAS1 = Field.create("LE_FORMULAS1", 3048, FieldType.INT); public static final Field LE_FORMULAS2 = Field.create("LE_FORMULAS2", 3248, FieldType.INT); public static final Field LE_FORMULAS3 = Field.create("LE_FORMULAS3", 3448, FieldType.INT);