diff --git a/firmware/controllers/algo/engine_configuration.cpp b/firmware/controllers/algo/engine_configuration.cpp index e98df6d1a2..1031eb9a4a 100644 --- a/firmware/controllers/algo/engine_configuration.cpp +++ b/firmware/controllers/algo/engine_configuration.cpp @@ -187,6 +187,10 @@ void prepareVoidConfiguration(engine_configuration_s *activeConfiguration) { memset(activeConfiguration, 0, sizeof(engine_configuration_s)); board_configuration_s *boardConfiguration = &activeConfiguration->bc; + for (int i = 0; i < FSIO_ADC_COUNT ; i++) { + activeConfiguration->fsioAdc[i] = EFI_ADC_NONE; + } + boardConfiguration->triggerInputPins[0] = GPIO_UNASSIGNED; boardConfiguration->triggerInputPins[1] = GPIO_UNASSIGNED; boardConfiguration->triggerInputPins[2] = GPIO_UNASSIGNED; diff --git a/firmware/controllers/algo/engine_configuration_generated_structures.h b/firmware/controllers/algo/engine_configuration_generated_structures.h index 8407698f88..a0b34b7c0d 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 May 01 09:49:44 EDT 2016 +// this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Wed May 11 21:30:38 EDT 2016 // begin #ifndef ENGINE_CONFIGURATION_GENERATED_H_ #define ENGINE_CONFIGURATION_GENERATED_H_ @@ -1518,7 +1518,11 @@ typedef struct { /** * offset 2376 */ - int unused[168]; + adc_channel_e fsioAdc[FSIO_ADC_COUNT]; + /** + * offset 2392 + */ + int unused[164]; /** total size 3048*/ } engine_configuration_s; @@ -1707,4 +1711,4 @@ typedef struct { #endif // end -// this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Sun May 01 09:49:44 EDT 2016 +// this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Wed May 11 21:30:38 EDT 2016 diff --git a/firmware/controllers/algo/rusefi_generated.h b/firmware/controllers/algo/rusefi_generated.h index dcd6099c07..572102b385 100644 --- a/firmware/controllers/algo/rusefi_generated.h +++ b/firmware/controllers/algo/rusefi_generated.h @@ -1,4 +1,5 @@ #define LE_COMMAND_LENGTH 200 +#define FSIO_ADC_COUNT 4 #define TS_FILE_VERSION 20160430 #define WARMUP_TARGET_AFR_SIZE 4 #define MAP_ANGLE_SIZE 8 @@ -755,8 +756,15 @@ #define dizzySparkOutputPin_offset_hex 940 #define dizzySparkOutputPinMode_offset 2372 #define dizzySparkOutputPinMode_offset_hex 944 -#define unused_offset 2376 -#define unused_offset_hex 948 +#define fsioAdc1_offset 2376 +#define fsioAdc1_offset_hex 948 +#define fsioAdc2_offset 2380 +#define fsioAdc3_offset 2384 +#define fsioAdc3_offset_hex 950 +#define fsioAdc4_offset 2388 +#define fsioAdc4_offset_hex 954 +#define unused_offset 2392 +#define unused_offset_hex 958 #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 3574257c45..ca024cc6b4 100644 --- a/firmware/controllers/flash_main.h +++ b/firmware/controllers/flash_main.h @@ -11,7 +11,7 @@ #include "engine.h" -#define FLASH_DATA_VERSION 9300 +#define FLASH_DATA_VERSION 9800 typedef enum { OK = 0, diff --git a/firmware/integration/rusefi_config.txt b/firmware/integration/rusefi_config.txt index e2650605ff..d8cc0bbe89 100644 --- a/firmware/integration/rusefi_config.txt +++ b/firmware/integration/rusefi_config.txt @@ -17,6 +17,7 @@ struct_no_prefix engine_configuration_s ! todo there is still a spot where this 200 is hard-coded #define LE_COMMAND_LENGTH 200 +#define FSIO_ADC_COUNT 4 ! ! this is used to confirm that firmware and TunerStudio are using the same rusefi.ini version ! so not forget to change fileVersion in rusefi.ini @@ -662,7 +663,8 @@ float[MAP_ACCEL_TAPER] mapAccelTaperMult;;"mult", 1, 0, 0.0, 300, brain_pin_e dizzySparkOutputPin; pin_output_mode_e dizzySparkOutputPinMode; - int[168] unused; + adc_channel_e[FSIO_ADC_COUNT iterate] fsioAdc; + int[164] unused; end_struct diff --git a/firmware/tunerstudio/rusefi.ini b/firmware/tunerstudio/rusefi.ini index 6503f84f1e..3593101055 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 Sat Apr 30 09:55:07 EDT 2016 +; this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Wed May 11 21:30:38 EDT 2016 pageSize = 17080 page = 1 @@ -536,7 +536,11 @@ page = 1 mapAccelTaperMult = array, F32, 2336, [8], "mult", 1, 0, 0.0, 300, 2 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 + fsioAdc1 = bits, U32, 2376, [0:4] "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "Disabled", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" + fsioAdc2 = bits, U32, 2380, [0:4] "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "Disabled", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" + fsioAdc3 = bits, U32, 2384, [0:4] "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "Disabled", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" + fsioAdc4 = bits, U32, 2388, [0:4] "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "Disabled", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" +;skipping unused offset 2392 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