diff --git a/firmware/rusefi_config.ini b/firmware/rusefi_config.ini index 1a84578350..c3c29f8765 100644 --- a/firmware/rusefi_config.ini +++ b/firmware/rusefi_config.ini @@ -14,6 +14,37 @@ struct engine_configuration_s #define FUEL_RPM_COUNT 16 #define FUEL_LOAD_COUNT 16 +#define IGN_LOAD_COUNT 16 +#define IGN_RPM_COUNT 16 + +! please note that 1024 here is 4 * FUEL_RPM_COUNT * FUEL_LOAD_COUNT +custom fuel_table_t 1024 array, F32, @OFFSET@, [16x16],"ms", 1, 0, 0.0, 300.0, 2 +custom ve_table_t 1024 array, F32, @OFFSET@, [16x16],"deg", 1, 0, 0, 100.0, 2 +custom afr_table_t 1024 array, F32, @OFFSET@, [16x16],"deg", 1, 0, 0, 25.0, 2 + +! please note that 1024 here is 4 * IGN_LOAD_COUNT * IGN_RPM_COUNT +custom ignition_table_t 1024 array, F32, @OFFSET@, [16x16],"deg", 1, 0, -360, 360, 2 + +#define MAP_ANGLE_SIZE 8 +#define MAP_WINDOW_SIZE 8 + +#define CLT_CURVE_SIZE 16 +#define IAT_CURVE_SIZE 16 +#define VBAT_INJECTOR_CURVE_SIZE 8 + +#define DWELL_COUNT 8 + +#define CRANKING_CURVE_SIZE 8 + +#define IGN_LOAD_COUNT 16 +#define IGN_RPM_COUNT 16 + +#define INJECTION_PIN_COUNT 12 +#define IGNITION_PIN_COUNT 12 + +#define MAX31855_CS_COUNT 8 + +#define JOYSTICK_PIN_COUNT 5 struct cranking_parameters_s float baseFuel;;"ms", 1, 0, 0, 200, 1 @@ -33,10 +64,6 @@ air_pressure_sensor_type_e type; adc_channel_e hwChannel; end_struct - -#define MAP_ANGLE_SIZE 8 -#define MAP_WINDOW_SIZE 8 - struct MAP_sensor_config_s @brief MAP averaging configuration float[MAP_ANGLE_SIZE] samplingAngleBins;;"RPM", 1, 0, 0.0, 18000, 2 float[MAP_ANGLE_SIZE] samplingAngle;@brief MAP averaging sampling start angle, by RPM;"deg", 1, 0, 0.0, 90, 2 @@ -59,25 +86,13 @@ float resistance_3;;"Ohm", 1, 0, 0, 200000, 1 float s_h_b; float s_h_c; - end_struct - - - - custom engine_type_e 4 bits, S32, @OFFSET@, [0:2], "AUDI_AAN", "DODGE_NEON_1995", "FORD_ASPIRE_1996", "FORD_FIESTA", "NISSAN_PRIMERA", "HONDA_ACCORD", "FORD_INLINE_6_1995", "GY6_139QMB" engine_type_e engineType;http://rusefi.com/wiki/index.php?title=Manual:Engine_Type int headerMagicValue;this magic number is used to make sure that what we read from Flash is in fact some configuration -#define CLT_CURVE_SIZE 16 -#define IAT_CURVE_SIZE 16 -#define VBAT_INJECTOR_CURVE_SIZE 8 - -#define IGN_LOAD_COUNT 16 -#define IGN_RPM_COUNT 16 - float[VBAT_INJECTOR_CURVE_SIZE] battInjectorLagCorrBins;;"V", 1, 0, 0.0, 20.0, 2 float[VBAT_INJECTOR_CURVE_SIZE] battInjectorLagCorr;;"ms/V", 1, 0, 0.0, 50.0, 2 @@ -108,14 +123,6 @@ MAP_sensor_config_s map;@see hasMapSensor\n@see isMapAveragingEnabled ThermistorConf clt;todo: merge with channel settings, use full-scale Thermistor here! ThermistorConf iat; -#define DWELL_COUNT 8 - -#define CRANKING_CURVE_SIZE 8 - -#define IGN_LOAD_COUNT 16 -#define IGN_RPM_COUNT 16 - - float[DWELL_COUNT] sparkDwellBins;;"RPM", 1, 0.0, 0.0, 18000, 2 float[DWELL_COUNT] sparkDwell;;"ms", 1, 0.0, 0.0, 30.0, 2 @@ -239,27 +246,12 @@ float[FUEL_LOAD_COUNT] veLoadBins;;1, 0.0, 0, 300.0, 2 float[FUEL_RPM_COUNT] veRpmBins;;"RPM", 1, 0.0, 0, 18000.0, 2 float[FUEL_LOAD_COUNT] afrLoadBins;;1, 0.0, 0, 300.0, 2 float[FUEL_RPM_COUNT] afrRpmBins;;"RPM", 1, 0.0, 0, 18000.0, 2 - -custom fuel_table_t 1024 array, F32, @OFFSET@, [16x16],"ms", 1, 0, 0.0, 300.0, 2 -custom ignition_table_t 1024 array, F32, @OFFSET@, [16x16],"deg", 1, 0, -360, 360, 2 fuel_table_t fuelTable; ignition_table_t ignitionTable; - -custom ve_table_t 1024 array, F32, @OFFSET@, [16x16],"deg", 1, 0, 0, 100.0, 2 ve_table_t veTable; - -custom afr_table_t 1024 array, F32, @OFFSET@, [16x16],"deg", 1, 0, 0, 25.0, 2 afr_table_t afrTable; -#define INJECTION_PIN_COUNT 12 -#define IGNITION_PIN_COUNT 12 - -#define MAX31855_CS_COUNT 8 - -#define JOYSTICK_PIN_COUNT 5 - - struct_no_prefix board_configuration_s brain_pin_e idleValvePin; pin_output_mode_e idleValvePinMode; @@ -330,8 +322,8 @@ custom adc_channel_mode_e 4 bits, U32, @OFFSET@, [0:1], "Off", "Slow", "Fas brain_pin_e canRxPin; #define TRIGGER_SIMULATOR_PIN_COUNT 3 - brain_pin_e[TRIGGER_SIMULATOR_PIN_COUNT] triggerSimulatorPins; - pin_output_mode_e[TRIGGER_SIMULATOR_PIN_COUNT] triggerSimulatorPinModes; + brain_pin_e[TRIGGER_SIMULATOR_PIN_COUNT iterate] triggerSimulatorPins; + pin_output_mode_e[TRIGGER_SIMULATOR_PIN_COUNT iterate] triggerSimulatorPinModes; brain_pin_e o2heaterPin; pin_output_mode_e o2heaterPinModeTodO; @@ -346,7 +338,7 @@ bit is_enabled_spi_2 #define LOGIC_ANALYZER_CHANNEL_COUNT 4 - brain_pin_e[LOGIC_ANALYZER_CHANNEL_COUNT] logicAnalyzerPins; + brain_pin_e[LOGIC_ANALYZER_CHANNEL_COUNT iterate] logicAnalyzerPins; uint8_t[LOGIC_ANALYZER_CHANNEL_COUNT] logicAnalyzerMode;default or inverted input int unrealisticRpmThreashold; @@ -359,10 +351,10 @@ custom egt_cs_array_t 32 todo array? type? spi_device_e max31855spiDevice; #define LE_COMMAND_COUNT 16 - brain_pin_e[LE_COMMAND_COUNT] fsioPins; - pin_output_mode_e[LE_COMMAND_COUNT] gpioPinModes; + brain_pin_e[LE_COMMAND_COUNT iterate] fsioPins; + pin_output_mode_e[LE_COMMAND_COUNT iterate] gpioPinModes; - brain_pin_e[JOYSTICK_PIN_COUNT] joystickPins; + brain_pin_e[JOYSTICK_PIN_COUNT iterate] joystickPins; brain_pin_e triggerErrorPin;This pin is used for debugging - snap a logic analyzer on it and see if it's ever high