From d8dbbeb5b62e8a15c120ceff12fafaea8bdd1a31 Mon Sep 17 00:00:00 2001 From: rusEfi Date: Thu, 22 Jan 2015 20:04:47 -0600 Subject: [PATCH] auto-sync --- .../config/engines/citroenBerlingoTU3JP.cpp | 8 +- firmware/config/engines/dodge_neon.cpp | 12 +- .../config/engines/ford_1995_inline_6.cpp | 8 +- firmware/config/engines/ford_aspire.cpp | 4 +- firmware/config/engines/honda_accord.cpp | 8 +- firmware/config/engines/mazda_miata.cpp | 8 +- firmware/config/engines/mazda_miata_nb.cpp | 8 +- firmware/config/engines/mitsubishi.cpp | 6 +- .../controllers/algo/engine_configuration.cpp | 8 +- .../controllers/algo/engine_configuration.h | 39 ++++-- firmware/controllers/sensors/thermistors.cpp | 4 +- firmware/controllers/settings.cpp | 4 +- firmware/rusefi_config.ini | 66 +++++---- firmware/tunerstudio/rusefi.ini | 130 ++++++++---------- 14 files changed, 167 insertions(+), 146 deletions(-) diff --git a/firmware/config/engines/citroenBerlingoTU3JP.cpp b/firmware/config/engines/citroenBerlingoTU3JP.cpp index a0c8a69f7d..8524937fa3 100644 --- a/firmware/config/engines/citroenBerlingoTU3JP.cpp +++ b/firmware/config/engines/citroenBerlingoTU3JP.cpp @@ -159,14 +159,14 @@ void setCitroenBerlingoTU3JPConfiguration(engine_configuration_s *engineConfigur * IAT */ engineConfiguration->iatAdcChannel = EFI_ADC_13; - setThermistorConfiguration(&engineConfiguration->iatThermistorConf, -20.0, 15600.0, 23.0, 2250.0, 92.0, 240.0); - engineConfiguration->iatThermistorConf.bias_resistor = 2660; + setThermistorConfiguration(&engineConfiguration->iat, -20.0, 15600.0, 23.0, 2250.0, 92.0, 240.0); + engineConfiguration->iat.bias_resistor = 2660; /** * CLT */ engineConfiguration->cltAdcChannel = EFI_ADC_11; - setThermistorConfiguration(&engineConfiguration->cltThermistorConf, -20.0, 28680.0, 25.0, 2796.0, 100.0, 177.0); - engineConfiguration->cltThermistorConf.bias_resistor = 2660; + setThermistorConfiguration(&engineConfiguration->clt, -20.0, 28680.0, 25.0, 2796.0, 100.0, 177.0); + engineConfiguration->clt.bias_resistor = 2660; /** * vBatt */ diff --git a/firmware/config/engines/dodge_neon.cpp b/firmware/config/engines/dodge_neon.cpp index bb2eab855f..9c2a25037b 100644 --- a/firmware/config/engines/dodge_neon.cpp +++ b/firmware/config/engines/dodge_neon.cpp @@ -175,8 +175,8 @@ void setDodgeNeon1995EngineConfiguration(engine_configuration_s *engineConfigura // set_ignition_pin_mode 0 boardConfiguration->ignitionPinMode = OM_DEFAULT; - setThermistorConfiguration(&engineConfiguration->cltThermistorConf, 0, 32500, 30, 7550, 100, 700); - engineConfiguration->cltThermistorConf.bias_resistor = 2700; + setThermistorConfiguration(&engineConfiguration->clt, 0, 32500, 30, 7550, 100, 700); + engineConfiguration->clt.bias_resistor = 2700; engineConfiguration->analogChartFrequency = 7; } @@ -301,11 +301,11 @@ void setDodgeNeonNGCEngineConfiguration(engine_configuration_s *engineConfigurat */ - setThermistorConfiguration(&engineConfiguration->cltThermistorConf, 0, 32500, 30, 7550, 100, 700); - engineConfiguration->cltThermistorConf.bias_resistor = 10000; + setThermistorConfiguration(&engineConfiguration->clt, 0, 32500, 30, 7550, 100, 700); + engineConfiguration->clt.bias_resistor = 10000; - setThermistorConfiguration(&engineConfiguration->iatThermistorConf, 0, 32500, 30, 7550, 100, 700); - engineConfiguration->iatThermistorConf.bias_resistor = 10000; + setThermistorConfiguration(&engineConfiguration->iat, 0, 32500, 30, 7550, 100, 700); + engineConfiguration->iat.bias_resistor = 10000; /** * MAP PA6 diff --git a/firmware/config/engines/ford_1995_inline_6.cpp b/firmware/config/engines/ford_1995_inline_6.cpp index 2368421b58..ce9ef61349 100644 --- a/firmware/config/engines/ford_1995_inline_6.cpp +++ b/firmware/config/engines/ford_1995_inline_6.cpp @@ -48,11 +48,11 @@ void setFordInline6(engine_configuration_s *engineConfiguration, board_configura engineConfiguration->globalTriggerAngleOffset = 0; engineConfiguration->ignitionBaseAngle = 13; - setThermistorConfiguration(&engineConfiguration->cltThermistorConf, -10.0, 160310.0, 60.0, 7700.0, 120.0, 1180.0); - engineConfiguration->cltThermistorConf.bias_resistor = 2700; + setThermistorConfiguration(&engineConfiguration->clt, -10.0, 160310.0, 60.0, 7700.0, 120.0, 1180.0); + engineConfiguration->clt.bias_resistor = 2700; - setThermistorConfiguration(&engineConfiguration->iatThermistorConf, -10.0, 160310.0, 60.0, 7700.0, 120.0, 1180.0); - engineConfiguration->iatThermistorConf.bias_resistor = 2700; + setThermistorConfiguration(&engineConfiguration->iat, -10.0, 160310.0, 60.0, 7700.0, 120.0, 1180.0); + engineConfiguration->iat.bias_resistor = 2700; // 12ch analog board pinout: // input channel 3 is PA7, that's ADC7 diff --git a/firmware/config/engines/ford_aspire.cpp b/firmware/config/engines/ford_aspire.cpp index 0b3b9797ab..5baa3b04fc 100644 --- a/firmware/config/engines/ford_aspire.cpp +++ b/firmware/config/engines/ford_aspire.cpp @@ -86,8 +86,8 @@ void setFordAspireEngineConfiguration(engine_configuration_s *engineConfiguratio * 2.1K Ohm @ 24C * 1K Ohm @ 49C */ - setThermistorConfiguration(&engineConfiguration->cltThermistorConf, -20, 18000, 23.8889, 2100, 48.8889, 1000); - engineConfiguration->cltThermistorConf.bias_resistor = 3300; // that's my custom resistor value! + setThermistorConfiguration(&engineConfiguration->clt, -20, 18000, 23.8889, 2100, 48.8889, 1000); + engineConfiguration->clt.bias_resistor = 3300; // that's my custom resistor value! engineConfiguration->cranking.baseFuel = 3; diff --git a/firmware/config/engines/honda_accord.cpp b/firmware/config/engines/honda_accord.cpp index 6274df332f..b1cf35b7a1 100644 --- a/firmware/config/engines/honda_accord.cpp +++ b/firmware/config/engines/honda_accord.cpp @@ -56,11 +56,11 @@ static void setHondaAccordConfigurationCommon(engine_configuration_s *engineConf * 2.1K Ohm @ 24C * 100 Ohm @ 120C */ - setCommonNTCSensor(&engineConfiguration->cltThermistorConf); - engineConfiguration->cltThermistorConf.bias_resistor = 1500; // same as OEM ECU + setCommonNTCSensor(&engineConfiguration->clt); + engineConfiguration->clt.bias_resistor = 1500; // same as OEM ECU - setCommonNTCSensor(&engineConfiguration->iatThermistorConf); - engineConfiguration->iatThermistorConf.bias_resistor = 1500; // same as OEM ECU + setCommonNTCSensor(&engineConfiguration->iat); + engineConfiguration->iat.bias_resistor = 1500; // same as OEM ECU // set_cranking_charge_angle 35 engineConfiguration->crankingChargeAngle = 70; diff --git a/firmware/config/engines/mazda_miata.cpp b/firmware/config/engines/mazda_miata.cpp index be72c45b70..1171121eae 100644 --- a/firmware/config/engines/mazda_miata.cpp +++ b/firmware/config/engines/mazda_miata.cpp @@ -152,10 +152,10 @@ static void commonMiataNa(engine_configuration_s *engineConfiguration, board_con boardConfiguration->triggerSimulatorPinModes[0] = OM_OPENDRAIN; boardConfiguration->triggerSimulatorPinModes[1] = OM_OPENDRAIN; - setCommonNTCSensor(&engineConfiguration->cltThermistorConf); - engineConfiguration->cltThermistorConf.bias_resistor = 2700; - setCommonNTCSensor(&engineConfiguration->iatThermistorConf); - engineConfiguration->iatThermistorConf.bias_resistor = 2700; + setCommonNTCSensor(&engineConfiguration->clt); + engineConfiguration->clt.bias_resistor = 2700; + setCommonNTCSensor(&engineConfiguration->iat); + engineConfiguration->iat.bias_resistor = 2700; } diff --git a/firmware/config/engines/mazda_miata_nb.cpp b/firmware/config/engines/mazda_miata_nb.cpp index aa587a192e..1dcb380231 100644 --- a/firmware/config/engines/mazda_miata_nb.cpp +++ b/firmware/config/engines/mazda_miata_nb.cpp @@ -28,11 +28,11 @@ void setMazdaMiataNbEngineConfiguration(engine_configuration_s *engineConfigurat // set_firing_order 2 engineConfiguration->firingOrder = FO_1_THEN_3_THEN_4_THEN2; - setThermistorConfiguration(&engineConfiguration->cltThermistorConf, 0, 32500, 30, 7550, 100, 700); - engineConfiguration->cltThermistorConf.bias_resistor = 2700; + setThermistorConfiguration(&engineConfiguration->clt, 0, 32500, 30, 7550, 100, 700); + engineConfiguration->clt.bias_resistor = 2700; - setThermistorConfiguration(&engineConfiguration->iatThermistorConf, -10, 160310, 60, 7700, 120.00, 1180); - engineConfiguration->iatThermistorConf.bias_resistor = 2700; + setThermistorConfiguration(&engineConfiguration->iat, -10, 160310, 60, 7700, 120.00, 1180); + engineConfiguration->iat.bias_resistor = 2700; engineConfiguration->tpsAdcChannel = EFI_ADC_3; // 15 is the old value engineConfiguration->vbattAdcChannel = EFI_ADC_0; // 1 is the old value diff --git a/firmware/config/engines/mitsubishi.cpp b/firmware/config/engines/mitsubishi.cpp index cd1bdc9617..628b229abd 100644 --- a/firmware/config/engines/mitsubishi.cpp +++ b/firmware/config/engines/mitsubishi.cpp @@ -46,12 +46,12 @@ void setMitsubishiConfiguration(engine_configuration_s *engineConfiguration, boa // * 10160 Ohm @ 70C // * 1270 Ohm @ 150C // */ -// setThermistorConfiguration(&engineConfiguration->cltThermistorConf, 40, 29150, 70, 10160, 150, 1270); +// setThermistorConfiguration(&engineConfiguration->clt, 40, 29150, 70, 10160, 150, 1270); - setCommonNTCSensor(&engineConfiguration->cltThermistorConf); + setCommonNTCSensor(&engineConfiguration->clt); - engineConfiguration->cltThermistorConf.bias_resistor = 2700; + engineConfiguration->clt.bias_resistor = 2700; // Frankenstein: low side - out #1: PC14 // Frankenstein: low side - out #2: PC15 diff --git a/firmware/controllers/algo/engine_configuration.cpp b/firmware/controllers/algo/engine_configuration.cpp index bcf7a444b0..9782aea58a 100644 --- a/firmware/controllers/algo/engine_configuration.cpp +++ b/firmware/controllers/algo/engine_configuration.cpp @@ -190,12 +190,12 @@ void setDefaultConfiguration(engine_configuration_s *engineConfiguration, board_ setMap(engineConfiguration->afrTable, 14.7); setMap(engineConfiguration->injectionPhase, 0); - setThermistorConfiguration(&engineConfiguration->cltThermistorConf, 0, 9500, 23.8889, 2100, 48.8889, 1000); - engineConfiguration->cltThermistorConf.bias_resistor = 1500; + setThermistorConfiguration(&engineConfiguration->clt, 0, 9500, 23.8889, 2100, 48.8889, 1000); + engineConfiguration->clt.bias_resistor = 1500; - setThermistorConfiguration(&engineConfiguration->iatThermistorConf, 32, 9500, 75, 2100, 120, 1000); + setThermistorConfiguration(&engineConfiguration->iat, 32, 9500, 75, 2100, 120, 1000); // todo: this value is way off! I am pretty sure temp coeffs are off also - engineConfiguration->iatThermistorConf.bias_resistor = 2700; + engineConfiguration->iat.bias_resistor = 2700; engineConfiguration->rpmHardLimit = 7000; engineConfiguration->cranking.rpm = 550; diff --git a/firmware/controllers/algo/engine_configuration.h b/firmware/controllers/algo/engine_configuration.h index 95e94f26f7..713dd15708 100644 --- a/firmware/controllers/algo/engine_configuration.h +++ b/firmware/controllers/algo/engine_configuration.h @@ -390,11 +390,11 @@ typedef struct { * todo: merge with channel settings, use full-scale Thermistor here! * offset 500 */ - ThermistorConf cltThermistorConf; + ThermistorConf clt; /** * offset 540 */ - ThermistorConf iatThermistorConf; + ThermistorConf iat; /** * offset 580 */ @@ -426,30 +426,45 @@ typedef struct { * offset 780 */ timing_mode_e timingMode; - /** * This value is used in 'fixed timing' mode, i.e. constant timing * This mode is useful for instance while adjusting distributor location - */ + * offset 784 + */ float fixedModeTiming; - + /** + * offset 788 + */ float injectorLag; - - + /** + * offset 792 + */ float fuelLoadBins[FUEL_LOAD_COUNT]; - // RPM is float and not integer in order to use unified methods for interpolation - float fuelRpmBins[FUEL_RPM_COUNT]; // - + /** + * RPM is float and not integer in order to use unified methods for interpolation + * offset 856 + */ + float fuelRpmBins[FUEL_RPM_COUNT]; /** * Engine displacement, in liters * see also cylindersCount - */ + * offset 920 + */ float displacement; + /** + * offset 924 + */ int rpmHardLimit; - + /** + * offset 928 + */ injection_mode_e crankingInjectionMode; + /** + * offset 932 + */ injection_mode_e injectionMode; + /** * Inside rusEfi all the angles are handled in relation to the trigger synchronization event * which depends on the trigger shape and has nothing to do wit Top Dead Center (TDC) diff --git a/firmware/controllers/sensors/thermistors.cpp b/firmware/controllers/sensors/thermistors.cpp index c07c132a6e..f14286a9d8 100644 --- a/firmware/controllers/sensors/thermistors.cpp +++ b/firmware/controllers/sensors/thermistors.cpp @@ -185,9 +185,9 @@ void setCommonNTCSensor(ThermistorConf *thermistorConf) { void initThermistors(Engine *engine) { efiAssertVoid(engine!=NULL, "e NULL initThermistors"); efiAssertVoid(engine->engineConfiguration2!=NULL, "e2 NULL initThermistors"); - initThermistorCurve(&engine->clt, &engine->engineConfiguration->cltThermistorConf, + initThermistorCurve(&engine->clt, &engine->engineConfiguration->clt, engine->engineConfiguration->cltAdcChannel); - initThermistorCurve(&engine->iat, &engine->engineConfiguration->iatThermistorConf, + initThermistorCurve(&engine->iat, &engine->engineConfiguration->iat, engine->engineConfiguration->iatAdcChannel); initialized = true; } diff --git a/firmware/controllers/settings.cpp b/firmware/controllers/settings.cpp index ec97ca56d6..2d8e8022be 100644 --- a/firmware/controllers/settings.cpp +++ b/firmware/controllers/settings.cpp @@ -494,7 +494,7 @@ static void setGlobalFuelCorrection(float value) { } static void setCltBias(float value) { - engineConfiguration->cltThermistorConf.bias_resistor = value; + engineConfiguration->clt.bias_resistor = value; } static void setFanSetting(float onTempC, float offTempC) { @@ -507,7 +507,7 @@ static void setFanSetting(float onTempC, float offTempC) { } static void setIatBias(float value) { - engineConfiguration->iatThermistorConf.bias_resistor = value; + engineConfiguration->iat.bias_resistor = value; } static void setVBattDivider(float value) { diff --git a/firmware/rusefi_config.ini b/firmware/rusefi_config.ini index 9628a75100..09113ca926 100644 --- a/firmware/rusefi_config.ini +++ b/firmware/rusefi_config.ini @@ -12,17 +12,21 @@ ! needed to get a proper TunerStudio file struct engine_configuration_s +#define FUEL_RPM_COUNT 16 +#define FUEL_LOAD_COUNT 16 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' +float baseFuel;;"ms", 1, 0, 0, 200, 1 +int16_t rpm;This value controls what RPM values we consider 'cranking' (any RPM below 'crankingRpm')\nAnything above 'crankingRpm' would be 'running';"RPM", 1, 0, 0, 3000, 0 end_struct +bits air_pressure_sensor_type_e U32 [0:1] "Custom", "DENSO183", "MPX4250", "INVALID" +bits adc_channel_e U32 [0:3] "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5" 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; +float valueAt0;kPa value at zero volts;"kpa", 1, 0, 0, 450, 2 +float valueAt5;kPa value at 5 volts;"kpa", 1, 0, 0, 450, 2 +air_pressure_sensor_type_e type; adc_channel_e hwChannel; end_struct @@ -31,22 +35,22 @@ end_struct #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 +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 +float[MAP_WINDOW_SIZE] samplingWindowBins;;"RPM", 1, 0, 0.0, 18000, 2 +float[MAP_WINDOW_SIZE] samplingWindow;@brief MAP averaging angle duration, by RPM;"deg", 1, 0, 0.0, 90, 2 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 tempC_1;these values are in Celcuus;"*C", 1, 0, -40, 200, 1 +float tempC_2;;"*C", 1, 0, -40, 200, 1 +float tempC_3;;"*C", 1, 0, -40, 200, 1 +float resistance_1;;"Ohm", 1, 0, 0, 200000, 1 +float resistance_2;;"Ohm", 1, 0, 0, 200000, 1 +float resistance_3;;"Ohm", 1, 0, 0, 200000, 1 - float bias_resistor; + float bias_resistor;;"Ohm", 1, 0, 0, 200000, 1 float s_h_a; float s_h_b; @@ -94,12 +98,12 @@ int16_t tpsErrorHighValue;;"*C", 1, 0, -40, 200, 1 float primingSquirtDurationMs;;"*C", 1, 0, -40, 200, 1 int engineCycle;360 for two-stroke\n720 for four-stroke;"engine cycle", 1, 0, 0, 1000, 0 -cranking_parameters_s crankingSettings +cranking_parameters_s cranking MAP_sensor_config_s map;@see hasMapSensor\n@see isMapAveragingEnabled -ThermistorConf cltThermistorConf;todo: merge with channel settings, use full-scale Thermistor here! -ThermistorConf iatThermistorConf; +ThermistorConf clt;todo: merge with channel settings, use full-scale Thermistor here! +ThermistorConf iat; #define DWELL_COUNT 8 @@ -109,26 +113,36 @@ ThermistorConf iatThermistorConf; #define IGN_RPM_COUNT 16 -float[DWELL_COUNT] sparkDwellBins; - float[DWELL_COUNT] sparkDwell; +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 - float[IGN_LOAD_COUNT] ignitionLoadBins; - float[IGN_RPM_COUNT] ignitionRpmBins; + float[IGN_LOAD_COUNT] ignitionLoadBins;;"Load", 1, 0.0, 0, 300.0, 2 + float[IGN_RPM_COUNT] ignitionRpmBins;;"RPM", 1, 0.0, 0, 18000.0, 2 -float ignitionBaseAngle;this value could be used to offset the whole ignition timing table by a constant +float ignitionBaseAngle;this value could be used to offset the whole ignition timing table by a constant;"RPM", 1, 0, 0, 3000.0, 0 -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. +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.;"deg", 1, 0, 0, 3000.0, 0 + +bits timing_mode_e U32 [0:0], "dynamic", "fixed" timing_mode_e timingMode; +float fixedModeTiming;This value is used in 'fixed timing' mode, i.e. constant timing\nThis mode is useful for instance while adjusting distributor location;"RPM", 1, 0, 0, 3000.0, 0 +float injectorLag;;"msec", 1, 0, -10, 25.50, 2 +float[FUEL_LOAD_COUNT] fuelLoadBins;;"V", 1, 0, 0.0, 300.0, 2 +float[FUEL_RPM_COUNT] fuelRpmBins;RPM is float and not integer in order to use unified methods for interpolation;"RPM", 1, 0, 0.0, 25500.0, 2 +float displacement;Engine displacement, in liters\nsee also cylindersCount;"L", 1, 0, 0, 1000.0, 2 + int rpmHardLimit;;"rpm", 1, 0, 0, 10000.0, 2 +injection_mode_e crankingInjectionMode; + injection_mode_e injectionMode; - +float globalTriggerAngleOffset; bits analog_chart_e S32 [0:1], "none", "trigger", "MAP", "INVALID" analog_chart_e analogChartMode; diff --git a/firmware/tunerstudio/rusefi.ini b/firmware/tunerstudio/rusefi.ini index 9075b6a5f9..6ad31ea97c 100644 --- a/firmware/tunerstudio/rusefi.ini +++ b/firmware/tunerstudio/rusefi.ini @@ -54,61 +54,53 @@ enable2ndByteCanID = false tpsErrorHighValue = scalar, S16, 338, "*C", 1, 0, -40, 200, 1 primingSquirtDurationMs = scalar, F32, 340, "*C", 1, 0, -40, 200, 1 engineCycle = scalar, S32, 344, "engine cycle", 1, 0, 0, 1000, 0 + cranking_baseFuel = scalar, F32, 348, "ms", 1, 0, 0, 200, 1 + cranking_rpm = scalar, S16, 352, "RPM", 1, 0, 0, 3000, 0 +;skipping cranking_alignmentFill offset 354 + map_samplingAngleBins = array, F32, 356, [8], "RPM", 1, 0, 0.0, 18000, 2 + map_samplingAngle = array, F32, 388, [8], "deg", 1, 0, 0.0, 90, 2 + map_samplingWindowBins = array, F32, 420, [8], "RPM", 1, 0, 0.0, 18000, 2 + map_samplingWindow = array, F32, 452, [8], "deg", 1, 0, 0.0, 90, 2 + map_sensor_valueAt0 = scalar, F32, 484, "kpa", 1, 0, 0, 450, 2 + map_sensor_valueAt5 = scalar, F32, 488, "kpa", 1, 0, 0, 450, 2 + map_sensor_type = bits, U32, 492, [0:1] "Custom", "DENSO183", "MPX4250", "INVALID" + map_sensor_hwChannel = bits, U32, 496, [0:3] "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5" + clt_tempC_1 = scalar, F32, 500, "*C", 1, 0, -40, 200, 1 + clt_tempC_2 = scalar, F32, 504, "*C", 1, 0, -40, 200, 1 + clt_tempC_3 = scalar, F32, 508, "*C", 1, 0, -40, 200, 1 + clt_resistance_1 = scalar, F32, 512, "Ohm", 1, 0, 0, 200000, 1 + clt_resistance_2 = scalar, F32, 516, "Ohm", 1, 0, 0, 200000, 1 + clt_resistance_3 = scalar, F32, 520, "Ohm", 1, 0, 0, 200000, 1 + clt_bias_resistor = scalar, F32, 524, "Ohm", 1, 0, 0, 200000, 1 +;skipping clt_s_h_a offset 528 +;skipping clt_s_h_b offset 532 +;skipping clt_s_h_c offset 536 + iat_tempC_1 = scalar, F32, 540, "*C", 1, 0, -40, 200, 1 + iat_tempC_2 = scalar, F32, 544, "*C", 1, 0, -40, 200, 1 + iat_tempC_3 = scalar, F32, 548, "*C", 1, 0, -40, 200, 1 + iat_resistance_1 = scalar, F32, 552, "Ohm", 1, 0, 0, 200000, 1 + iat_resistance_2 = scalar, F32, 556, "Ohm", 1, 0, 0, 200000, 1 + iat_resistance_3 = scalar, F32, 560, "Ohm", 1, 0, 0, 200000, 1 + iat_bias_resistor = scalar, F32, 564, "Ohm", 1, 0, 0, 200000, 1 +;skipping iat_s_h_a offset 568 +;skipping iat_s_h_b offset 572 +;skipping iat_s_h_c offset 576 + sparkDwellBins = array, F32, 580, [8], "RPM", 1, 0.0, 0.0, 18000, 2 + sparkDwell = array, F32, 612, [8], "ms", 1, 0.0, 0.0, 30.0, 2 + ignitionLoadBins = array, F32, 644, [16], "Load", 1, 0.0, 0, 300.0, 2 + ignitionRpmBins = array, F32, 708, [16], "RPM", 1, 0.0, 0, 18000.0, 2 + ignitionBaseAngle = scalar, F32, 772, "RPM", 1, 0, 0, 3000.0, 0 + crankingChargeAngle = scalar, F32, 776, "deg", 1, 0, 0, 3000.0, 0 + timingMode = bits, U32, 780, [0:0], "dynamic", "fixed" + fixedModeTiming = scalar, F32, 784, "RPM", 1, 0, 0, 3000.0, 0 + injectorLag = scalar, F32, 788, "msec", 1, 0, -10, 25.50, 2 + fuelLoadBins = array, F32, 792, [16], "V", 1, 0, 0.0, 300.0, 2 + fuelRpmBins = array, F32, 856, [16], "RPM", 1, 0, 0.0, 25500.0, 2 + displacement = scalar, F32, 920, "L", 1, 0, 0, 1000.0, 2 + rpmHardLimit = scalar, S32, 924, "rpm", 1, 0, 0, 10000.0, 2 +;skipping crankingInjectionMode offset 928 +;skipping injectionMode offset 932 - cranking_baseFuel = scalar, F32, 348, "ms", 1, 0, 0, 200, 1 - cranking_rpm = scalar, S16, 352, "RPM", 1, 0, 0, 3000, 0 ; * ( 2 bytes) - - map_samplingAngleBins = array, F32, 356, [8], "RPM", 1, 0, 0.0, 18000, 2; size 64 - map_samplingAngle = array, F32, 388, [8], "deg", 1, 0, 0.0, 90, 2; size 64 - map_samplingWindowBins = array, F32, 420, [8], "RPM", 1, 0, 0.0, 18000, 2; size 64 - map_samplingWindow = array, F32, 452, [8], "deg", 1, 0, 0.0, 90, 2; size 64 - - map_sensor_valueAt0 = scalar, F32, 484, "kpa", 1, 0, 0, 450, 2; size 4 - map_sensor_valueAt5 = scalar, F32, 488, "kpa", 1, 0, 0, 450, 2; size 4 - map_sensor_type = bits, U32, 492, [0:1] "Custom", "DENSO183", "MPX4250", "INVALID" - ;ADC0 ADC1 ADC2 ADC3 ADC4 ADC5 ADC6 ADC7 ADC8 ADC9 ADC10 ADC11 ADC12 ADC13 ADC14 ADC15 - mapAdcInput = bits, U32, 496, [0:3] "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5" - - clt_t1 = scalar, F32, 500, "°C", 1, 0, -40, 200, 1; size 4 - clt_t2 = scalar, F32, 504, "°C", 1, 0, -40, 200, 1; size 4 - clt_t3 = scalar, F32, 508, "°C", 1, 0, -40, 200, 1; size 4 - clt_r1 = scalar, F32, 512, "Ohm", 1, 0, 0, 200000, 1; size 4 - clt_r2 = scalar, F32, 516, "Ohm", 1, 0, 0, 200000, 1; size 4 - clt_r3 = scalar, F32, 520, "Ohm", 1, 0, 0, 200000, 1; size 4 - clt_bias = scalar, F32, 524, "Ohm", 1, 0, 0, 200000, 1; size 4 - ;clt_a 364 size 4 - ;clt_b 368 size 4 - ;clt_c 372 size 4 - - iat_t1 = scalar, F32, 540, "°C", 1, 0, -40, 200, 1; size 4 - iat_t2 = scalar, F32, 544, "°C", 1, 0, -40, 200, 1; size 4 - iat_t3 = scalar, F32, 548, "°C", 1, 0, -40, 200, 1; size 4 - iat_r1 = scalar, F32, 552, "Ohm", 1, 0, 0, 200000, 1; size 4 - iat_r2 = scalar, F32, 556, "Ohm", 1, 0, 0, 200000, 1; size 4 - iat_r3 = scalar, F32, 560, "Ohm", 1, 0, 0, 200000, 1; size 4 - iat_bias = scalar, F32, 564, "Ohm", 1, 0, 0, 200000, 1; size 4 - ;iat_a 404 size 4 - ;iat_b 408 size 4 - ;iat_c 410 size 4 - - sparkDwellBins = array, F32, 580, [8], "RPM", 1, 0.0, 0.0, 18000, 2; size 32 - sparkDwell = array, F32, 612, [8], "ms", 1, 0.0, 0.0, 30.0, 2; size 32 - - ignitionKeyBins = array, F32, 644, [16], "Load", 1, 0.0, 0, 300.0, 2; size 64 - ignitionRpmBins = array, F32, 708, [16], "RPM", 1, 0.0, 0, 18000.0, 2; size 64 - - ignitonOffset = scalar, U32, 772, "RPM", 1, 0, 0, 3000.0, 0 ; size 4 - crankingChargeAngle = scalar, F32, 776, "deg", 1, 0, 0, 3000.0, 0 ; size 4 - timingMode = bits, U32, 780, [0:0], "dynamic", "fixed" - fixedModeTiming = scalar, U32, 784, "RPM", 1, 0, 0, 3000.0, 0 ; size 4 - injectorLag = scalar, F32, 788, "msec", 1, 0, -10, 25.50, 2; size 4 - - fuelKeyBins = array, F32, 792, [16], "V", 1, 0, 0.0, 300.0, 2; size 132 - fuelRpmBins = array, F32, 856, [16], "RPM", 1, 0, 0.0, 25500.0, 2; size 92 - displacement = scalar, F32, 920, "L", 1, 0, 0, 1000.0, 2 ; size 4 - rpmHardLimit = scalar, U32, 924, "rpm", 1, 0, 0, 10000.0, 2 ; size 4 - crankingInjectionMode = scalar, U32, 928, "enum", 1, 0, 0, 1000.0, 2 ; size 4 - injectionMode = scalar, U32, 932, "enum", 1, 0, 0, 1000.0, 2 ; size 4 globalTriggerOffsetAngle = scalar, F32, 936, "deg", 1, 0, 0, 720, 0 ; size 4 analogInputDividerCoefficient=scalar, F32, 940, "coef", 1, 0, 0.01, 10.0, 2 ; size 4 fuelAlgorithm = bits, U32, 944, [0:1], "MAF", "Alpha-N", "MAP", "SPEED DENSITY" @@ -783,16 +775,16 @@ fileVersion = { 20150112 } field = "!Here is three pairs of thermistor temperature and his resistance." field = "!Typical temperatures is -40°C, 0°C and 100°C" field = "" - field = "Lowest temperature", clt_t1 - field = "Resistance @ LT", clt_r1 + field = "Lowest temperature", clt_tempC_1 + field = "Resistance @ LT", clt_resistance_1 field = "" - field = "Middle temperature", clt_t2 - field = "Resistance @ MT", clt_r2 + field = "Middle temperature", clt_tempC_2 + field = "Resistance @ MT", clt_resistance_2 field = "" - field = "Highest temperature", clt_t3 - field = "Resistance @ HT", clt_r3 + field = "Highest temperature", clt_tempC_3 + field = "Resistance @ HT", clt_resistance_3 field = "" - field = "Bias Resistor Value", clt_bias + field = "Bias Resistor Value", clt_bias_resistor field = "" ; Engine->IAT Thermistor Settings @@ -800,16 +792,16 @@ fileVersion = { 20150112 } field = "!Here is three pairs of thermistor temperature and his resistance." field = "!Typical temperatures is -40°C, 0°C and 100°C" field = "" - field = "Lowest temperature", iat_t1 - field = "Resistance @ LT", iat_r1 + field = "Lowest temperature", iat_tempC_1 + field = "Resistance @ LT", iat_resistance_1 field = "" - field = "Middle temperature", iat_t2 - field = "Resistance @ MT", iat_r2 + field = "Middle temperature", iat_tempC_2 + field = "Resistance @ MT", iat_resistance_2 field = "" - field = "Highest temperature", iat_t3 - field = "Resistance @ HT", iat_r3 + field = "Highest temperature", iat_tempC_3 + field = "Resistance @ HT", iat_resistance_3 field = "" - field = "Bias Resistor Value", iat_bias + field = "Bias Resistor Value", iat_bias_resistor field = "" ; Engine->MAP Sensor Settings @@ -850,7 +842,7 @@ fileVersion = { 20150112 } field = "CLT ADC input", cltAdcInput field = "IAT ADC input", iatAdcInput field = "MAF ADC input", mafAdcInput - field = "MAP ADC input", mapAdcInput + field = "MAP ADC input", map_sensor_hwChannel field = "Baro ADC input", baroAdcInput field = "vBatt ADC input", vbattAdcInput field = "AFR ADC input", afrAdcInput