diff --git a/firmware/controllers/algo/engine_configuration.cpp b/firmware/controllers/algo/engine_configuration.cpp index 5f1ef2a25a..805765226e 100644 --- a/firmware/controllers/algo/engine_configuration.cpp +++ b/firmware/controllers/algo/engine_configuration.cpp @@ -657,6 +657,9 @@ void setDefaultConfiguration(DECLARE_ENGINE_PARAMETER_F) { for (int i = 0; i < EGT_CHANNEL_COUNT; i++) { boardConfiguration->max31855_cs[i] = GPIO_UNASSIGNED; } + for (int i = 0; i < AUX_PID_COUNT; i++) { + engineConfiguration->auxPidPins[i] = GPIO_UNASSIGNED; + } for (int i = 0; i < LE_COMMAND_COUNT; i++) { boardConfiguration->fsioPins[i] = GPIO_UNASSIGNED; config->le_formulas[i][0] = 0; diff --git a/firmware/controllers/algo/engine_configuration_generated_structures.h b/firmware/controllers/algo/engine_configuration_generated_structures.h index 2892563ff5..8ffe06bab6 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 Fri Jul 01 17:21:02 EDT 2016 +// this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Sat Jul 02 13:50:20 EDT 2016 // begin #ifndef ENGINE_CONFIGURATION_GENERATED_H_ #define ENGINE_CONFIGURATION_GENERATED_H_ @@ -1659,7 +1659,15 @@ typedef struct { /** * offset 2448 */ - int unused[150]; + brain_pin_e auxPidPins[AUX_PID_COUNT]; + /** + * offset 2464 + */ + fsio_pwm_freq_t auxPidFrequency[AUX_PID_COUNT]; + /** + * offset 2472 + */ + int unused[144]; /** total size 3048*/ } engine_configuration_s; @@ -1874,4 +1882,4 @@ typedef struct { #endif // end -// this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Fri Jul 01 17:21:02 EDT 2016 +// this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Sat Jul 02 13:50:20 EDT 2016 diff --git a/firmware/controllers/algo/rusefi_generated.h b/firmware/controllers/algo/rusefi_generated.h index 699e41a703..522aa6213a 100644 --- a/firmware/controllers/algo/rusefi_generated.h +++ b/firmware/controllers/algo/rusefi_generated.h @@ -21,6 +21,7 @@ #define TRIGGER_SIMULATOR_PIN_COUNT 3 #define LOGIC_ANALYZER_CHANNEL_COUNT 4 #define LE_COMMAND_COUNT 16 +#define AUX_PID_COUNT 4 #define FUEL_RPM_COUNT 16 #define FUEL_LOAD_COUNT 16 #define FSIO_TABLE_8 8 @@ -844,8 +845,18 @@ #define tChargeMaxRpmMinTps_offset 2440 #define tChargeMaxRpmMinTps_offset_hex 988 #define tChargeMaxRpmMaxTps_offset 2444 -#define unused_offset 2448 -#define unused_offset_hex 990 +#define auxPidPins1_offset 2448 +#define auxPidPins1_offset_hex 990 +#define auxPidPins2_offset 2452 +#define auxPidPins2_offset_hex 994 +#define auxPidPins3_offset 2456 +#define auxPidPins3_offset_hex 998 +#define auxPidPins4_offset 2460 +#define auxPidFrequency1_offset 2464 +#define auxPidFrequency2_offset 2466 +#define auxPidFrequency3_offset 2468 +#define auxPidFrequency4_offset 2470 +#define unused_offset 2472 #define le_formulas1_offset 3048 #define le_formulas2_offset 3248 #define le_formulas3_offset 3448 diff --git a/firmware/integration/rusefi_config.txt b/firmware/integration/rusefi_config.txt index fe569ca0cf..c45ce3ad54 100644 --- a/firmware/integration/rusefi_config.txt +++ b/firmware/integration/rusefi_config.txt @@ -51,6 +51,7 @@ struct_no_prefix engine_configuration_s #define TRIGGER_SIMULATOR_PIN_COUNT 3 #define LOGIC_ANALYZER_CHANNEL_COUNT 4 #define LE_COMMAND_COUNT 16 +#define AUX_PID_COUNT 4 #define FUEL_RPM_COUNT 16 #define FUEL_LOAD_COUNT 16 @@ -705,7 +706,9 @@ float[MAP_ACCEL_TAPER] mapAccelTaperMult;;"mult", 1, 0, 0.0, 300, float tChargeMinRpmMaxTps; float tChargeMaxRpmMinTps; float tChargeMaxRpmMaxTps; - int[150] unused; + brain_pin_e[AUX_PID_COUNT iterate] auxPidPins; + fsio_pwm_freq_t[AUX_PID_COUNT iterate] auxPidFrequency; + int[144] unused; end_struct diff --git a/firmware/tunerstudio/rusefi.ini b/firmware/tunerstudio/rusefi.ini index 9b05f86160..1b7ff5d202 100644 --- a/firmware/tunerstudio/rusefi.ini +++ b/firmware/tunerstudio/rusefi.ini @@ -42,7 +42,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 Fri Jul 01 22:05:53 EDT 2016 +; this section was generated automatically by ConfigDefinition.jar based on rusefi_config.txt Sat Jul 02 13:50:20 EDT 2016 pageSize = 16376 page = 1 @@ -583,7 +583,15 @@ page = 1 ;skipping tChargeMinRpmMaxTps offset 2436 ;skipping tChargeMaxRpmMinTps offset 2440 ;skipping tChargeMaxRpmMaxTps offset 2444 -;skipping unused offset 2448 + auxPidPins1 = bits, U32, 2448, [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" + auxPidPins2 = bits, U32, 2452, [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" + auxPidPins3 = bits, U32, 2456, [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" + auxPidPins4 = bits, U32, 2460, [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" + auxPidFrequency1 = scalar, U16, 2464, "Hz", 1, 0, 0, 3000, 0 + auxPidFrequency2 = scalar, U16, 2466, "Hz", 1, 0, 0, 3000, 0 + auxPidFrequency3 = scalar, U16, 2468, "Hz", 1, 0, 0, 3000, 0 + auxPidFrequency4 = scalar, U16, 2470, "Hz", 1, 0, 0, 3000, 0 +;skipping unused offset 2472 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