auto-sync

This commit is contained in:
rusEfi 2015-01-28 19:06:25 -06:00
parent 9d6fd7aa5a
commit a9859197f7
14 changed files with 131 additions and 124 deletions

View File

@ -175,7 +175,7 @@ void setCitroenBerlingoTU3JPConfiguration(engine_configuration_s *engineConfigur
/** /**
* WBO Innovate LC-1 * WBO Innovate LC-1
*/ */
engineConfiguration->afrSensor.afrAdcChannel = EFI_ADC_12; engineConfiguration->afr.hwChannel = EFI_ADC_12;
/** /**
* Other * Other
*/ */

View File

@ -241,7 +241,7 @@ void setDodgeNeonNGCEngineConfiguration(engine_configuration_s *engineConfigurat
/** /**
* PA4 Wideband O2 Sensor * PA4 Wideband O2 Sensor
*/ */
engineConfiguration->afrSensor.afrAdcChannel = EFI_ADC_4; engineConfiguration->afr.hwChannel = EFI_ADC_4;
commonFrankensoAnalogInputs(engineConfiguration); commonFrankensoAnalogInputs(engineConfiguration);
engineConfiguration->vbattDividerCoeff = ((float) (8.2 + 33)) / 8.2 * 2; engineConfiguration->vbattDividerCoeff = ((float) (8.2 + 33)) / 8.2 * 2;

View File

@ -78,7 +78,7 @@ void setFordInline6(engine_configuration_s *engineConfiguration, board_configura
engineConfiguration->tpsAdcChannel = EFI_ADC_4; engineConfiguration->tpsAdcChannel = EFI_ADC_4;
engineConfiguration->iatAdcChannel = EFI_ADC_2; engineConfiguration->iatAdcChannel = EFI_ADC_2;
engineConfiguration->cltAdcChannel = EFI_ADC_1; engineConfiguration->cltAdcChannel = EFI_ADC_1;
engineConfiguration->afrSensor.afrAdcChannel = EFI_ADC_11; engineConfiguration->afr.hwChannel = EFI_ADC_11;
engineConfiguration->map.sensor.type = MT_MPX4250; engineConfiguration->map.sensor.type = MT_MPX4250;
engineConfiguration->map.sensor.hwChannel = EFI_ADC_15; engineConfiguration->map.sensor.hwChannel = EFI_ADC_15;

View File

@ -108,7 +108,7 @@ static void setHondaAccordConfigurationCommon(engine_configuration_s *engineConf
/** /**
* D14/W10 O2 Sensor * D14/W10 O2 Sensor
*/ */
engineConfiguration->afrSensor.afrAdcChannel = EFI_ADC_13; engineConfiguration->afr.hwChannel = EFI_ADC_13;
/** /**
* VBatt * VBatt
@ -116,7 +116,7 @@ static void setHondaAccordConfigurationCommon(engine_configuration_s *engineConf
engineConfiguration->vbattAdcChannel = EFI_ADC_14; engineConfiguration->vbattAdcChannel = EFI_ADC_14;
engineConfiguration->vbattDividerCoeff = ((float) (8.2 + 33)) / 8.2 * 2; engineConfiguration->vbattDividerCoeff = ((float) (8.2 + 33)) / 8.2 * 2;
// todo engineConfiguration->afrSensor.afrAdcChannel = 14; // todo engineConfiguration->afr.hwChannel = 14;
/** /**

View File

@ -374,8 +374,8 @@ void setMiata1994_s(engine_configuration_s *engineConfiguration, board_configura
engineConfiguration->acSwitchAdc = EFI_ADC_1; // PA1, W50 on Frankenso engineConfiguration->acSwitchAdc = EFI_ADC_1; // PA1, W50 on Frankenso
engineConfiguration->afrSensor.afrAdcChannel = EFI_ADC_3; engineConfiguration->afr.hwChannel = EFI_ADC_3;
initEgoSensor(&engineConfiguration->afrSensor, ES_Innovate_MTX_L); initEgoSensor(&engineConfiguration->afr, ES_Innovate_MTX_L);
/** /**
* This board has PE0<>PD5 & PE1<>PD3 rewired in order to avoid Discovery issue * This board has PE0<>PD5 & PE1<>PD3 rewired in order to avoid Discovery issue

View File

@ -40,7 +40,7 @@ void setMazdaMiataNbEngineConfiguration(engine_configuration_s *engineConfigurat
engineConfiguration->mafAdcChannel = EFI_ADC_1; engineConfiguration->mafAdcChannel = EFI_ADC_1;
engineConfiguration->cltAdcChannel = EFI_ADC_11; engineConfiguration->cltAdcChannel = EFI_ADC_11;
engineConfiguration->iatAdcChannel = EFI_ADC_13; engineConfiguration->iatAdcChannel = EFI_ADC_13;
engineConfiguration->afrSensor.afrAdcChannel = EFI_ADC_2; engineConfiguration->afr.hwChannel = EFI_ADC_2;
boardConfiguration->idleValvePin = GPIOE_0; boardConfiguration->idleValvePin = GPIOE_0;
boardConfiguration->idleValvePinMode = OM_DEFAULT; boardConfiguration->idleValvePinMode = OM_DEFAULT;

View File

@ -83,7 +83,7 @@ void setMitsubishiConfiguration(engine_configuration_s *engineConfiguration, boa
engineConfiguration->HD44780width = 20; engineConfiguration->HD44780width = 20;
engineConfiguration->HD44780height = 4; engineConfiguration->HD44780height = 4;
initEgoSensor(&engineConfiguration->afrSensor, ES_Innovate_MTX_L); initEgoSensor(&engineConfiguration->afr, ES_Innovate_MTX_L);
#if EFI_FSIO || defined(__DOXYGEN__) #if EFI_FSIO || defined(__DOXYGEN__)
setFsio(engineConfiguration, 0, GPIOD_11, "rpm 5500 >"); setFsio(engineConfiguration, 0, GPIOD_11, "rpm 5500 >");
#endif #endif

View File

@ -301,11 +301,11 @@ void setDefaultConfiguration(engine_configuration_s *engineConfiguration, board_
engineConfiguration->cltAdcChannel = EFI_ADC_6; engineConfiguration->cltAdcChannel = EFI_ADC_6;
engineConfiguration->iatAdcChannel = EFI_ADC_7; engineConfiguration->iatAdcChannel = EFI_ADC_7;
engineConfiguration->mafAdcChannel = EFI_ADC_0; engineConfiguration->mafAdcChannel = EFI_ADC_0;
engineConfiguration->afrSensor.afrAdcChannel = EFI_ADC_14; engineConfiguration->afr.hwChannel = EFI_ADC_14;
engineConfiguration->cylinderBore = 87.5; engineConfiguration->cylinderBore = 87.5;
initEgoSensor(&engineConfiguration->afrSensor, ES_BPSX_D1); initEgoSensor(&engineConfiguration->afr, ES_BPSX_D1);
engineConfiguration->globalFuelCorrection = 1; engineConfiguration->globalFuelCorrection = 1;

View File

@ -1,4 +1,4 @@
// this section was generated by config_definition.jar on Wed Jan 28 18:53:51 EST 2015 // this section was generated by config_definition.jar on Wed Jan 28 19:47:23 EST 2015
// begin // begin
#include "rusefi_types.h" #include "rusefi_types.h"
typedef struct { typedef struct {
@ -133,7 +133,7 @@ typedef struct {
/** /**
* offset 4 * offset 4
*/ */
int customIsSynchronizationNeeded; bool32_t customIsSynchronizationNeeded;
/** /**
* offset 8 * offset 8
*/ */
@ -153,7 +153,7 @@ typedef struct {
/** /**
* offset 24 * offset 24
*/ */
int customUseRiseEdge; bool32_t customUseRiseEdge;
/** total size 28*/ /** total size 28*/
} trigger_config_s; } trigger_config_s;
@ -161,7 +161,7 @@ typedef struct {
/** /**
* offset 0 * offset 0
*/ */
adc_channel_e afrAdcChannel; adc_channel_e hwChannel;
/** /**
* offset 4 * offset 4
*/ */
@ -839,7 +839,7 @@ typedef struct {
* @see hasAfrSensor * @see hasAfrSensor
* offset 1076 * offset 1076
*/ */
afr_sensor_s afrSensor; afr_sensor_s afr;
/** /**
* this is about deciding when the injector starts it's squirt * this is about deciding when the injector starts it's squirt
* offset 1096 * offset 1096
@ -1109,4 +1109,4 @@ typedef struct {
} engine_configuration_s; } engine_configuration_s;
// end // end
// this section was generated by config_definition.jar on Wed Jan 28 18:53:51 EST 2015 // this section was generated by config_definition.jar on Wed Jan 28 19:47:23 EST 2015

View File

@ -85,4 +85,6 @@ typedef struct {
typedef int cylinders_count_t; typedef int cylinders_count_t;
typedef int32_t bool32_t;
#endif /* CONTROLLERS_ALGO_RUSEFI_TYPES_H_ */ #endif /* CONTROLLERS_ALGO_RUSEFI_TYPES_H_ */

View File

@ -261,7 +261,7 @@ static void printAnalogInfo(void) {
printAnalogChannelInfo("IAT", engineConfiguration->iatAdcChannel); printAnalogChannelInfo("IAT", engineConfiguration->iatAdcChannel);
} }
printAnalogChannelInfo("MAF", engineConfiguration->mafAdcChannel); printAnalogChannelInfo("MAF", engineConfiguration->mafAdcChannel);
printAnalogChannelInfo("AFR", engineConfiguration->afrSensor.afrAdcChannel); printAnalogChannelInfo("AFR", engineConfiguration->afr.hwChannel);
printAnalogChannelInfo("MAP", engineConfiguration->map.sensor.hwChannel); printAnalogChannelInfo("MAP", engineConfiguration->map.sensor.hwChannel);
if (engineConfiguration->hasBaroSensor) { if (engineConfiguration->hasBaroSensor) {
printAnalogChannelInfo("BARO", engineConfiguration->baroSensor.hwChannel); printAnalogChannelInfo("BARO", engineConfiguration->baroSensor.hwChannel);

View File

@ -7,9 +7,9 @@
EXTERN_ENGINE; EXTERN_ENGINE;
float getAfr(DECLARE_ENGINE_PARAMETER_F) { float getAfr(DECLARE_ENGINE_PARAMETER_F) {
afr_sensor_s * sensor = &engineConfiguration->afrSensor; afr_sensor_s * sensor = &engineConfiguration->afr;
float volts = getVoltageDivided(sensor->afrAdcChannel); float volts = getVoltageDivided(sensor->hwChannel);
return interpolate(sensor->v1, sensor->value1, sensor->v2, sensor->value2, volts); return interpolate(sensor->v1, sensor->value1, sensor->v2, sensor->value2, volts);
} }

View File

@ -154,24 +154,26 @@ float fanOffTemperature;Cooling fan turn-off temperature threshold, in Celsuis;"
brain_pin_e vehicleSpeedSensorInputPin; brain_pin_e vehicleSpeedSensorInputPin;
float vehicleSpeedCoef;This coefficient translates vehicle speed input frequency (in Hz) into vehicle speed, km/h float vehicleSpeedCoef;This coefficient translates vehicle speed input frequency (in Hz) into vehicle speed, km/h
custom canNbcType 4 bits, U32, @OFFSET@, [0:1], "BMW", "FIAT", "VAG" , "INVALID" custom can_nbc_e 4 bits, U32, @OFFSET@, [0:1], "BMW", "FIAT", "VAG" , "INVALID"
can_nbc_e canNbcType; can_nbc_e canNbcType;
int canSleepPeriod;;"ms", 1, 0, 0, 1000.0, 2 int canSleepPeriod;;"ms", 1, 0, 0, 1000.0, 2
int cylindersCount;
custom ignition_mode_e 4 bits, U32, %OFFSET%, [0:1], "One coil", "Individual Coils", "Wasted", "INVALID" custom cylinders_count_t 4 bits, U32, @OFFSET@, [0:3], "INVALID", 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, "INVALID", "INVALID", "INVALID"
cylinders_count_t cylindersCount;
custom ignition_mode_e 4 bits, U32, @OFFSET@, [0:1], "One coil", "Individual Coils", "Wasted", "INVALID"
ignition_mode_e ignitionMode; ignition_mode_e ignitionMode;
custom firing_order_e 4 bits, U32, %OFFSET%, [0:2], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "INVALID", "INVALID" custom firing_order_e 4 bits, U32, @OFFSET@, [0:2], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "INVALID", "INVALID"
firing_order_e firingOrder; firing_order_e firingOrder;
float rpmMultiplier;todo: refactor this, see operation_mode_e float rpmMultiplier;todo: refactor this, see operation_mode_e
custom display_mode_e 4 bits, U32, %OFFSET%, [0:1], "none", "hd44780", "hd44780 over pcf8574", "INVALID" custom display_mode_e 4 bits, U32, @OFFSET@, [0:1], "none", "hd44780", "hd44780 over pcf8574", "INVALID"
display_mode_e displayMode; display_mode_e displayMode;
custom log_format_e 4 bits, U32, %OFFSET%, [0:0], "native", "Mega Log Viewer" custom log_format_e 4 bits, U32, @OFFSET@, [0:0], "native", "Mega Log Viewer"
log_format_e logFormat; log_format_e logFormat;
int firmwareVersion;;"index", 1, 0, 0, 300, 0 int firmwareVersion;;"index", 1, 0, 0, 300, 0
int HD44780width;;"index", 1, 0, 0, 300, 0 int HD44780width;;"index", 1, 0, 0, 300, 0
@ -179,14 +181,17 @@ log_format_e logFormat;
adc_channel_e tpsAdcChannel; adc_channel_e tpsAdcChannel;
int overrideCrankingIgnition; int overrideCrankingIgnition;
int analogChartFrequency; int analogChartFrequency;;"index", 1, 0, 0, 300, 0 ; size 4
struct trigger_config_s @brief Trigger wheel(s) configuration struct trigger_config_s @brief Trigger wheel(s) configuration
custom trigger_type_e 4 bits, U32, %OFFSET%, [0:3], "custom toothed wheel", "ford aspire", "dodge neon", "Miata NA", "Miata NB", "GM_7X", "Cooper", "Escort GT", "60/2", "36/1", "Accord CD", "MITSU", "INVALID", "INVALID", "INVALID", "INVALID"
custom bool32_t 4 bits, U32, @OFFSET@, [0:0], "false", "true"
custom trigger_type_e 4 bits, U32, @OFFSET@, [0:3], "custom toothed wheel", "ford aspire", "dodge neon", "Miata NA", "Miata NB", "GM_7X", "Cooper", "Escort GT", "60/2", "36/1", "Accord CD", "MITSU", "INVALID", "INVALID", "INVALID", "INVALID"
trigger_type_e type; trigger_type_e type;
int customIsSynchronizationNeeded; bool32_t customIsSynchronizationNeeded;
int customTotalToothCount;;"number", 1, 0.0, 0, 1000.0, 2 int customTotalToothCount;;"number", 1, 0.0, 0, 1000.0, 2
int customSkippedToothCount;;"number", 1, 0.0, 0, 1000.0, 2 int customSkippedToothCount;;"number", 1, 0.0, 0, 1000.0, 2
@ -194,17 +199,17 @@ custom trigger_type_e 4 bits, U32, %OFFSET%, [0:3], "custom toothed wheel",
float customSyncRatioFrom;;"number", 1, 0.0, 0, 1000.0, 2 float customSyncRatioFrom;;"number", 1, 0.0, 0, 1000.0, 2
float customSyncRatioTo;;"number", 1, 0.0, 0, 1000.0, 2 float customSyncRatioTo;;"number", 1, 0.0, 0, 1000.0, 2
int customUseRiseEdge; bool32_t customUseRiseEdge;
end_struct end_struct
trigger_config_s trigger; trigger_config_s trigger;
!custom spi_device_e custom spi_device_e 4 bits,U32, @OFFSET@, [0:1], "Off", "SPI1", "SPI2", "SPI3"
spi_device_e hip9011SpiDevice; spi_device_e hip9011SpiDevice;
adc_channel_e vbattAdcChannel; adc_channel_e vbattAdcChannel;
float globalFuelCorrection; float globalFuelCorrection;;"coef", 1, 0.0, 0, 1000.0, 2
adc_channel_e cltAdcChannel;todo: merge with channel settings, use full-scale Thermistor! adc_channel_e cltAdcChannel;todo: merge with channel settings, use full-scale Thermistor!
@ -212,25 +217,25 @@ float globalFuelCorrection;
adc_channel_e mafAdcChannel; adc_channel_e mafAdcChannel;
struct afr_sensor_s struct afr_sensor_s
adc_channel_e afrAdcChannel; adc_channel_e hwChannel;
float v1; float v1;; "volts", 1, 0.0, 0, 10.0, 2
float value1; float value1;; "AFR", 1, 0.0, 0, 1000.0, 2
float v2; float v2;; "volts", 1, 0.0, 0, 10.0, 2
float value2; float value2;; "AFR", 1, 0.0, 0, 1000.0, 2
end_struct end_struct
afr_sensor_s afrSensor;@see hasAfrSensor afr_sensor_s afr;@see hasAfrSensor
float injectionAngle;this is about deciding when the injector starts it's squirt float injectionAngle;this is about deciding when the injector starts it's squirt;"deg", 1, 0.0, 0, 1000.0, 2
float crankingTimingAngle; float crankingTimingAngle;; "deg", 1, 0.0, -360, 360, 2
float diffLoadEnrichmentCoef; float diffLoadEnrichmentCoef;
air_pressure_sensor_config_s baroSensor;@see hasBaroSensor air_pressure_sensor_config_s baroSensor;@see hasBaroSensor
float[FUEL_LOAD_COUNT] veLoadBins; float[FUEL_LOAD_COUNT] veLoadBins;;1, 0.0, 0, 300.0, 2
float[FUEL_RPM_COUNT] veRpmBins; float[FUEL_RPM_COUNT] veRpmBins;;"RPM", 1, 0.0, 0, 18000.0, 2
float[FUEL_LOAD_COUNT] afrLoadBins; float[FUEL_LOAD_COUNT] afrLoadBins;;1, 0.0, 0, 300.0, 2
float[FUEL_RPM_COUNT] afrRpmBins; float[FUEL_RPM_COUNT] afrRpmBins;;"RPM", 1, 0.0, 0, 18000.0, 2
custom fuel_table_t 1024 TODO custom fuel_table_t 1024 TODO
custom ignition_table_t 1024 TODO custom ignition_table_t 1024 TODO

View File

@ -106,52 +106,52 @@ enable2ndByteCanID = false
vbattDividerCoeff = scalar, F32, 948, "coef", 1, 0, 0.01, 20.0, 2 vbattDividerCoeff = scalar, F32, 948, "coef", 1, 0, 0.01, 20.0, 2
fanOnTemperature = scalar, F32, 952, "*C", 1, 0, 0, 1000.0, 2 fanOnTemperature = scalar, F32, 952, "*C", 1, 0, 0, 1000.0, 2
fanOffTemperature = scalar, F32, 956, "*C", 1, 0, 0, 1000.0, 2 fanOffTemperature = scalar, F32, 956, "*C", 1, 0, 0, 1000.0, 2
;skipping vehicleSpeedSensorInputPin offset 960
;skipping vehicleSpeedCoef offset 964
; canNbcType = bits, U32, 968, [0:1], "BMW", "FIAT", "VAG" , "INVALID" canNbcType = bits, U32, 968, [0:1], "BMW", "FIAT", "VAG" , "INVALID"
canSleepPeriod = scalar, F32, 972, "RPM", 1, 0, 0, 1000.0, 2 canSleepPeriod = scalar, S32, 972, "ms", 1, 0, 0, 1000.0, 2
nCylinders = bits, U32, 976, [0:3], "INVALID", 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, "INVALID", "INVALID", "INVALID" cylindersCount = bits, U32, 976, [0:3], "INVALID", 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, "INVALID", "INVALID", "INVALID"
IgnitionMode = bits, U32, 980, [0:1], "One coil", "Individual Coils", "Wasted", "INVALID" ignitionMode = bits, U32, 980, [0:1], "One coil", "Individual Coils", "Wasted", "INVALID"
FiringOrder = bits, U32, 984, [0:2], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "INVALID", "INVALID" firingOrder = bits, U32, 984, [0:2], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "INVALID", "INVALID"
rpmMultiplier = scalar, F32, 988, "RPM", 1, 0.0, 0, 1000.0, 2 ; size 4 ;skipping rpmMultiplier offset 988
displayMode = bits, U32, 992, [0:1], "none", "hd44780", "hd44780 over pcf8574", "INVALID" displayMode = bits, U32, 992, [0:1], "none", "hd44780", "hd44780 over pcf8574", "INVALID"
logFormat = bits, U32, 996, [0:0], "native", "Mega Log Viewer" logFormat = bits, U32, 996, [0:0], "native", "Mega Log Viewer"
firmwareVersion = scalar, U32, 1000, "index", 1, 0, 0, 300, 0 ; size 4 firmwareVersion = scalar, S32, 1000, "index", 1, 0, 0, 300, 0
HD44780width = scalar, U32, 1004, "index", 1, 0, 0, 300, 0 ; size 4 HD44780width = scalar, S32, 1004, "index", 1, 0, 0, 300, 0
HD44780height = scalar, U32, 1008, "index", 1, 0, 0, 300, 0 ; size 4 HD44780height = scalar, S32, 1008, "index", 1, 0, 0, 300, 0
tpsAdcInput = bits, U32, 1012, [0:3] "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5" tpsAdcChannel = bits, U32, 1012, [0:3] "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5"
overrideCrankingIgnition= scalar, F32, 1016, "RPM", 1, 0.0, 0, 1000.0, 2 ; size 4 ;skipping overrideCrankingIgnition offset 1016
analogChartFrequency = scalar, U32, 1020, "index", 1, 0, 0, 300, 0 ; size 4 ;skipping analogChartFrequency offset 1020
analogChartFrequency = scalar, S32, 1020, "index", 1, 0, 0, 300, 0 ; size 4
trigger_type = bits, U32, 1024, [0:3], "custom toothed wheel", "ford aspire", "dodge neon", "Miata NA", "Miata NB", "GM_7X", "Cooper", "Escort GT", "60/2", "36/1", "Accord CD", "MITSU", "INVALID", "INVALID", "INVALID", "INVALID" trigger_type = bits, U32, 1024, [0:3], "custom toothed wheel", "ford aspire", "dodge neon", "Miata NA", "Miata NB", "GM_7X", "Cooper", "Escort GT", "60/2", "36/1", "Accord CD", "MITSU", "INVALID", "INVALID", "INVALID", "INVALID"
isSynchronizationNeeded = bits, U32, 1028, [0:0], "false", "true" trigger_customIsSynchronizationNeeded = bits, U32, 1028, [0:0], "false", "true"
totalToothCount = scalar, F32, 1032, "RPM", 1, 0.0, 0, 1000.0, 2 ; size 4 trigger_customTotalToothCount = scalar, S32, 1032, "number", 1, 0.0, 0, 1000.0, 2
skippedToothCount = scalar, F32, 1036, "RPM", 1, 0.0, 0, 1000.0, 2 ; size 4 trigger_customSkippedToothCount = scalar, S32, 1036, "number", 1, 0.0, 0, 1000.0, 2
syncRatioFrom = scalar, F32, 1040, "RPM", 1, 0.0, 0, 1000.0, 2 ; size 4 trigger_customSyncRatioFrom = scalar, F32, 1040, "number", 1, 0.0, 0, 1000.0, 2
syncRatioTo = scalar, F32, 1044, "RPM", 1, 0.0, 0, 1000.0, 2 ; size 4 trigger_customSyncRatioTo = scalar, F32, 1044, "number", 1, 0.0, 0, 1000.0, 2
useRiseEdge = bits, U32, 1048, [0:0], "false", "true" trigger_customUseRiseEdge = bits, U32, 1048, [0:0], "false", "true"
needSecondTriggerInput = bits, U32, 1052, [0:0], "false", "true" hip9011SpiDevice = bits,U32, 1052, [0:1], "Off", "SPI1", "SPI2", "SPI3"
vbattAdcInput = bits, U32, 1056, [0:3] "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5" vbattAdcChannel = bits, U32, 1056, [0:3] "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5"
globalFuelCorrection = scalar, F32, 1060, "RPM", 1, 0.0, 0, 1000.0, 2 ; size 4 globalFuelCorrection = scalar, F32, 1060, "coef", 1, 0.0, 0, 1000.0, 2
cltAdcInput = bits, U32, 1064, [0:3] "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5" cltAdcChannel = bits, U32, 1064, [0:3] "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5"
iatAdcInput = bits, U32, 1068, [0:3] "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5" iatAdcChannel = bits, U32, 1068, [0:3] "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5"
mafAdcInput = bits, U32, 1072, [0:3] "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5" mafAdcChannel = bits, U32, 1072, [0:3] "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5"
afrAdcInput = bits, U32, 1076, [0:3] "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5" afr_hwChannel = bits, U32, 1076, [0:3] "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5"
afr_v1 = scalar, F32, 1080, "volts", 1, 0.0, 0, 10.0, 2 ; size 4 afr_v1 = scalar, F32, 1080, "volts", 1, 0.0, 0, 10.0, 2
afr_value1 = scalar, F32, 1084, "AFR", 1, 0.0, 0, 1000.0, 2 ; size 4 afr_value1 = scalar, F32, 1084, "AFR", 1, 0.0, 0, 1000.0, 2
afr_v2 = scalar, F32, 1088, "volts", 1, 0.0, 0, 10.0, 2 ; size 4 afr_v2 = scalar, F32, 1088, "volts", 1, 0.0, 0, 10.0, 2
afr_value2 = scalar, F32, 1092, "AFR", 1, 0.0, 0, 1000.0, 2 ; size 4 afr_value2 = scalar, F32, 1092, "AFR", 1, 0.0, 0, 1000.0, 2
injectionOffset = scalar, F32, 1096, "RPM", 1, 0.0, 0, 1000.0, 2 ; size 4 injectionAngle = scalar, F32, 1096, "deg", 1, 0.0, 0, 1000.0, 2
crankingTimingAngle = scalar, F32, 1100, "deg", 1, 0.0, -360, 360, 2 ; size 4 crankingTimingAngle = scalar, F32, 1100, "deg", 1, 0.0, -360, 360, 2
baroSensorType = scalar, U32, 1104, "index", 1, 0, 0, 300, 0 ; size 4 ;skipping diffLoadEnrichmentCoef offset 1104
baroMin = scalar, F32, 1108, "kpa", 1, 0, 0, 450, 2; size 4 baroSensor_valueAt0 = scalar, F32, 1108, "kpa", 1, 0, 0, 450, 2
baroMax = scalar, F32, 1112, "kpa", 1, 0, 0, 450, 2; size 4 baroSensor_valueAt5 = scalar, F32, 1112, "kpa", 1, 0, 0, 450, 2
baroSensorType = bits, U32, 1116, [0:1], "Custom", "DENSO183", "MPX4250", "INVALID" baroSensor_type = bits, U32, 1116, [0:1] "Custom", "DENSO183", "MPX4250", "INVALID"
baroAdcInput = bits, U32, 1120, [0:3], "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5" baroSensor_hwChannel = bits, U32, 1120, [0:3] "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5"
veLoadBins = array, F32, 1124, [16], 1, 0.0, 0, 300.0, 2
veKeyBins = array, F32, 1124, [16], "Load", 1, 0.0, 0, 300.0, 2; size 64 veRpmBins = array, F32, 1188, [16], "RPM", 1, 0.0, 0, 18000.0, 2
veRpmBins = array, F32, 1188, [16], "RPM", 1, 0.0, 0, 18000.0, 2; size 64 afrLoadBins = array, F32, 1252, [16], 1, 0.0, 0, 300.0, 2
afrKeyBins = array, F32, 1252, [16], "Load", 1, 0.0, 0, 300.0, 2; size 64 afrRpmBins = array, F32, 1316, [16], "RPM", 1, 0.0, 0, 18000.0, 2
afrRpmBins = array, F32, 1316, [16], "RPM", 1, 0.0, 0, 18000.0, 2; size 64
; name = array, type, offset, shape, units, scale, translate, lo, hi, digits ; name = array, type, offset, shape, units, scale, translate, lo, hi, digits
fuelTable = array, F32, 1380, [16x16],"ms", 1, 0, 0.0, 300.0, 2; size 1024 fuelTable = array, F32, 1380, [16x16],"ms", 1, 0, 0.0, 300.0, 2; size 1024
@ -552,7 +552,7 @@ fileVersion = { 20150127 }
table = veTableTbl, veTableMap, "VE Table", 1 table = veTableTbl, veTableMap, "VE Table", 1
; constant, variable ; constant, variable
xBins = veRpmBins, rpm xBins = veRpmBins, rpm
yBins = veKeyBins, MAP yBins = veLoadBins, MAP
zBins = veTable zBins = veTable
; gridHeight = 2.0 ; gridHeight = 2.0
gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees.
@ -561,7 +561,7 @@ fileVersion = { 20150127 }
table = afrTableTbl, afrTableMap, "Target AFR Table", 1 table = afrTableTbl, afrTableMap, "Target AFR Table", 1
; constant, variable ; constant, variable
xBins = afrRpmBins, rpm xBins = afrRpmBins, rpm
yBins = afrKeyBins, MAP yBins = afrLoadBins, MAP
zBins = afrTable zBins = afrTable
; gridHeight = 2.0 ; gridHeight = 2.0
gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees.
@ -724,11 +724,11 @@ fileVersion = { 20150127 }
; Engine->Base Engine Settings ; Engine->Base Engine Settings
dialog = engineChars, "Base Engine Settings" dialog = engineChars, "Base Engine Settings"
; field = "Engine Preset", engineType ; field = "Engine Preset", engineType
field = "Number of Cylinders", nCylinders field = "Number of Cylinders", cylindersCount
field = "Engine Displacement", displacement field = "Engine Displacement", displacement
field = "" field = ""
field = "Firing Order", FiringOrder field = "Firing Order", firingOrder
field = "Ignition Mode", IgnitionMode field = "Ignition Mode", ignitionMode
field = "Timing Mode", timingMode field = "Timing Mode", timingMode
field = "" field = ""
field = "Global fuel correction", globalFuelCorrection field = "Global fuel correction", globalFuelCorrection
@ -739,12 +739,12 @@ fileVersion = { 20150127 }
field = "Trigger type", trigger_type field = "Trigger type", trigger_type
field = "globalTriggerAngleOffset", globalTriggerAngleOffset field = "globalTriggerAngleOffset", globalTriggerAngleOffset
field = "#Custom Trigger" field = "#Custom Trigger"
field = "Synchronization Needed?", isSynchronizationNeeded, {trigger_type == 0} field = "Synchronization Needed?", trigger_customIsSynchronizationNeeded, {trigger_type == 0}
field = "total Tooth Count", totalToothCount, {trigger_type == 0} field = "total Tooth Count", trigger_customTotalToothCount, {trigger_type == 0}
field = "skipped Tooth Count", skippedToothCount, {trigger_type == 0} field = "skipped Tooth Count", trigger_customSkippedToothCount, {trigger_type == 0}
field = "sync Ratio From", syncRatioFrom, {trigger_type == 0} field = "sync Ratio From", trigger_customSyncRatioFrom, {trigger_type == 0}
field = "sync Ratio To", syncRatioTo, {trigger_type == 0} field = "sync Ratio To", trigger_customSyncRatioTo, {trigger_type == 0}
field = "use Rise Edge?", useRiseEdge, {trigger_type == 0} field = "use Rise Edge?", trigger_customUseRiseEdge, {trigger_type == 0}
field = "needed Second Trigger Input?", needSecondTriggerInput, {trigger_type == 0} field = "needed Second Trigger Input?", needSecondTriggerInput, {trigger_type == 0}
; Engine->Injection Settings ; Engine->Injection Settings
@ -839,14 +839,14 @@ fileVersion = { 20150127 }
dialog = analogInputs, "Analog inputs" dialog = analogInputs, "Analog inputs"
field = "Analog Input Divider Coefficient", analogInputDividerCoefficient field = "Analog Input Divider Coefficient", analogInputDividerCoefficient
field = "Battery Input Divider Coefficient", vbattDividerCoeff field = "Battery Input Divider Coefficient", vbattDividerCoeff
field = "TPS ADC input", tpsAdcInput field = "TPS ADC input", tpsAdcChannel
field = "CLT ADC input", cltAdcInput field = "CLT ADC input", cltAdcChannel
field = "IAT ADC input", iatAdcInput field = "IAT ADC input", iatAdcChannel
field = "MAF ADC input", mafAdcInput field = "MAF ADC input", mafAdcChannel
field = "MAP ADC input", map_sensor_hwChannel field = "MAP ADC input", map_sensor_hwChannel
field = "Baro ADC input", baroAdcInput field = "Baro ADC input", baroSensor_hwChannel
field = "vBatt ADC input", vbattAdcInput field = "vBatt ADC input", vbattAdcChannel
field = "AFR ADC input", afrAdcInput field = "AFR ADC input", afr_hwChannel
dialog = analogInputMode, "Analog input mode" dialog = analogInputMode, "Analog input mode"
field = "ADC on PA0", adcModePA0 field = "ADC on PA0", adcModePA0
@ -893,26 +893,26 @@ fileVersion = { 20150127 }
dialog = injectionOutputs, "Injector Output" dialog = injectionOutputs, "Injector Output"
field = "injection Pin Mode", injectionPinMode field = "injection Pin Mode", injectionPinMode
field = "Injection Pin 1", injectionPin1 field = "Injection Pin 1", injectionPin1
field = "Injection Pin 2", injectionPin2, {nCylinders > 1} field = "Injection Pin 2", injectionPin2, {cylindersCount > 1}
field = "Injection Pin 3", injectionPin3, {nCylinders > 2} field = "Injection Pin 3", injectionPin3, {cylindersCount > 2}
field = "Injection Pin 4", injectionPin4, {nCylinders > 3} field = "Injection Pin 4", injectionPin4, {cylindersCount > 3}
field = "Injection Pin 5 ", injectionPin5, {nCylinders > 4} field = "Injection Pin 5 ", injectionPin5, {cylindersCount > 4}
field = "Injection Pin 6 ", injectionPin6, {nCylinders > 5} field = "Injection Pin 6 ", injectionPin6, {cylindersCount > 5}
field = "Injection Pin 7 ", injectionPin7, {nCylinders > 6} field = "Injection Pin 7 ", injectionPin7, {cylindersCount > 6}
field = "Injection Pin 8 ", injectionPin8, {nCylinders > 7} field = "Injection Pin 8 ", injectionPin8, {cylindersCount > 7}
field = "Injection Pin 9 ", injectionPin9, {nCylinders > 8} field = "Injection Pin 9 ", injectionPin9, {cylindersCount > 8}
field = "Injection Pin 10 ", injectionPin10, {nCylinders > 9} field = "Injection Pin 10 ", injectionPin10, {cylindersCount > 9}
field = "Injection Pin 11 ", injectionPin11, {nCylinders > 10} field = "Injection Pin 11 ", injectionPin11, {cylindersCount > 10}
field = "Injection Pin 12 ", injectionPin12, {nCylinders > 11} field = "Injection Pin 12 ", injectionPin12, {cylindersCount > 11}
dialog = ignitionOutputs, "Ignition Outputs" dialog = ignitionOutputs, "Ignition Outputs"
field = "Ignition Pin Mode", ignitionPinMode field = "Ignition Pin Mode", ignitionPinMode
field = "Ignition Pin 1", ignitionPin1 field = "Ignition Pin 1", ignitionPin1
field = "Ignition Pin 2", ignitionPin2, {IgnitionMode != 0 && nCylinders > 1} field = "Ignition Pin 2", ignitionPin2, {ignitionMode != 0 && cylindersCount > 1}
field = "Ignition Pin 3", ignitionPin3, {IgnitionMode != 0 && nCylinders > 2} field = "Ignition Pin 3", ignitionPin3, {ignitionMode != 0 && cylindersCount > 2}
field = "Ignition Pin 4", ignitionPin4, {IgnitionMode != 0 && nCylinders > 3} field = "Ignition Pin 4", ignitionPin4, {ignitionMode != 0 && cylindersCount > 3}
field = "Ignition Pin 5", ignitionPin4, {IgnitionMode != 0 && nCylinders > 4} field = "Ignition Pin 5", ignitionPin4, {ignitionMode != 0 && cylindersCount > 4}
field = "Ignition Pin 6", ignitionPin4, {IgnitionMode != 0 && nCylinders > 5} field = "Ignition Pin 6", ignitionPin4, {ignitionMode != 0 && cylindersCount > 5}
dialog = otherOutputs, "Board outputs" dialog = otherOutputs, "Board outputs"
field = "Fuel Pump Pin Mode", fuelPumpPinMode field = "Fuel Pump Pin Mode", fuelPumpPinMode