121 lines
4.0 KiB
INI
121 lines
4.0 KiB
INI
|
|
! this file defines the format of rusEfi persistent configuration structure
|
|
! this file is processed by ../java_tools/config_definition.jar tool
|
|
!
|
|
! comments start with '#'
|
|
!
|
|
! each field is declared as
|
|
! type name;comment
|
|
|
|
|
|
struct cranking_parameters_s
|
|
float baseCrankingFuel;
|
|
int16_t crankingRpm;This value controls what RPM values we consider 'cranking' (any RPM below 'crankingRpm')\nAnything above 'crankingRpm' would be 'running'
|
|
end_struct
|
|
|
|
|
|
struct air_pressure_sensor_config_s
|
|
float customValueAt0;kPa value at zero volts
|
|
float customValueAt5;kPa value at 5 volts
|
|
air_pressure_sensor_type_e sensorType;
|
|
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
|
|
float[MAP_ANGLE_SIZE] samplingAngle;@brief MAP averaging sampling start angle, by RPM
|
|
float[MAP_WINDOW_SIZE] samplingWindowBins;
|
|
float[MAP_WINDOW_SIZE] samplingWindow;@brief MAP averaging angle duration, by RPM
|
|
air_pressure_sensor_config_s sensor
|
|
end_struct
|
|
|
|
struct ThermistorConf @brief Thermistor curve parameters
|
|
float tempC_1;these values are in Celcuus
|
|
float tempC_2
|
|
float tempC_3
|
|
float resistance_1
|
|
float resistance_2
|
|
float resistance_3
|
|
|
|
float bias_resistor;
|
|
|
|
float s_h_a;
|
|
float s_h_b;
|
|
float s_h_c;
|
|
|
|
|
|
end_struct
|
|
|
|
|
|
|
|
struct engine_configuration_s
|
|
|
|
|
|
bits engine_type_e S32 [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
|
|
|
|
float[CLT_CURVE_SIZE] cltFuelCorrBins;;"C", 1, 0, -100.0, 250.0, 2
|
|
float[CLT_CURVE_SIZE] cltFuelCorr;;"%", 100, 0, 0.0, 500.0, 2
|
|
|
|
float[IAT_CURVE_SIZE] iatFuelCorrBins;;"C", 1, 0, -100.0, 250.0, 2
|
|
float[IAT_CURVE_SIZE] iatFuelCorr;;"%", 100, 0, 0.0, 500.0, 2
|
|
|
|
int16_t directSelfStimulation;Should the trigger emulator push data right into trigger input, eliminating the need for physical jumper wires?\nPS: Funny name, right? :)\ntodo: make this a bit on some bit field
|
|
|
|
int16_t tpsMin;todo: extract these two fields into a structure\ntodo: we need two sets of TPS parameters - modern ETBs have to sensors;"ADC", 1, 0, 0, 1023, 0
|
|
int16_t tpsMax;tpsMax value as 10 bit ADC value. Not Voltage!;"ADC", 1, 0, 0, 1023, 0
|
|
|
|
bits analog_chart_e S16 [0:1], "none", "trigger", "MAP", "INVALID"
|
|
analog_chart_e analogChartMode;
|
|
|
|
int16_t tpsErrorLowValue;todo: finish implementation. These values are used for TPS disconnect detection
|
|
int16_t tpsErrorHighValue
|
|
|
|
float primingSquirtDurationMs
|
|
int engineCycle;360 for two-stroke\n720 for four-stroke
|
|
|
|
cranking_parameters_s crankingSettings
|
|
MAP_sensor_config_s map;@see hasMapSensor\n@see isMapAveragingEnabled
|
|
|
|
|
|
ThermistorConf cltThermistorConf;todo: merge with channel settings, use full-scale Thermistor here!
|
|
ThermistorConf iatThermistorConf;
|
|
|
|
#define DWELL_COUNT 8
|
|
|
|
#define CRANKING_CURVE_SIZE 8
|
|
|
|
#define IGN_LOAD_COUNT 16
|
|
#define IGN_RPM_COUNT 16
|
|
|
|
|
|
float[DWELL_COUNT] sparkDwellBins;
|
|
float[DWELL_COUNT] sparkDwell;
|
|
|
|
float[IGN_LOAD_COUNT] ignitionLoadBins;
|
|
float[IGN_RPM_COUNT] ignitionRpmBins;
|
|
|
|
float ignitionBaseAngle;this value could be used to offset the whole ignition timing table by a constant
|
|
|
|
|
|
float crankingChargeAngle;While cranking (which causes battery voltage to drop) we can calculate dwell time in shaft\ndegrees, not in absolute time as in running mode.
|
|
|
|
timing_mode_e timingMode;
|
|
|
|
end_struct |