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
*/
engineConfiguration->afrSensor.afrAdcChannel = EFI_ADC_12;
engineConfiguration->afr.hwChannel = EFI_ADC_12;
/**
* Other
*/

View File

@ -241,7 +241,7 @@ void setDodgeNeonNGCEngineConfiguration(engine_configuration_s *engineConfigurat
/**
* PA4 Wideband O2 Sensor
*/
engineConfiguration->afrSensor.afrAdcChannel = EFI_ADC_4;
engineConfiguration->afr.hwChannel = EFI_ADC_4;
commonFrankensoAnalogInputs(engineConfiguration);
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->iatAdcChannel = EFI_ADC_2;
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.hwChannel = EFI_ADC_15;

View File

@ -108,7 +108,7 @@ static void setHondaAccordConfigurationCommon(engine_configuration_s *engineConf
/**
* D14/W10 O2 Sensor
*/
engineConfiguration->afrSensor.afrAdcChannel = EFI_ADC_13;
engineConfiguration->afr.hwChannel = EFI_ADC_13;
/**
* VBatt
@ -116,7 +116,7 @@ static void setHondaAccordConfigurationCommon(engine_configuration_s *engineConf
engineConfiguration->vbattAdcChannel = EFI_ADC_14;
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->afrSensor.afrAdcChannel = EFI_ADC_3;
initEgoSensor(&engineConfiguration->afrSensor, ES_Innovate_MTX_L);
engineConfiguration->afr.hwChannel = EFI_ADC_3;
initEgoSensor(&engineConfiguration->afr, ES_Innovate_MTX_L);
/**
* 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->cltAdcChannel = EFI_ADC_11;
engineConfiguration->iatAdcChannel = EFI_ADC_13;
engineConfiguration->afrSensor.afrAdcChannel = EFI_ADC_2;
engineConfiguration->afr.hwChannel = EFI_ADC_2;
boardConfiguration->idleValvePin = GPIOE_0;
boardConfiguration->idleValvePinMode = OM_DEFAULT;

View File

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

View File

@ -301,11 +301,11 @@ void setDefaultConfiguration(engine_configuration_s *engineConfiguration, board_
engineConfiguration->cltAdcChannel = EFI_ADC_6;
engineConfiguration->iatAdcChannel = EFI_ADC_7;
engineConfiguration->mafAdcChannel = EFI_ADC_0;
engineConfiguration->afrSensor.afrAdcChannel = EFI_ADC_14;
engineConfiguration->afr.hwChannel = EFI_ADC_14;
engineConfiguration->cylinderBore = 87.5;
initEgoSensor(&engineConfiguration->afrSensor, ES_BPSX_D1);
initEgoSensor(&engineConfiguration->afr, ES_BPSX_D1);
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
#include "rusefi_types.h"
typedef struct {
@ -133,7 +133,7 @@ typedef struct {
/**
* offset 4
*/
int customIsSynchronizationNeeded;
bool32_t customIsSynchronizationNeeded;
/**
* offset 8
*/
@ -153,7 +153,7 @@ typedef struct {
/**
* offset 24
*/
int customUseRiseEdge;
bool32_t customUseRiseEdge;
/** total size 28*/
} trigger_config_s;
@ -161,7 +161,7 @@ typedef struct {
/**
* offset 0
*/
adc_channel_e afrAdcChannel;
adc_channel_e hwChannel;
/**
* offset 4
*/
@ -839,7 +839,7 @@ typedef struct {
* @see hasAfrSensor
* offset 1076
*/
afr_sensor_s afrSensor;
afr_sensor_s afr;
/**
* this is about deciding when the injector starts it's squirt
* offset 1096
@ -1109,4 +1109,4 @@ typedef struct {
} engine_configuration_s;
// 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 int32_t bool32_t;
#endif /* CONTROLLERS_ALGO_RUSEFI_TYPES_H_ */

View File

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

View File

@ -7,9 +7,9 @@
EXTERN_ENGINE;
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);
}

View File

@ -154,24 +154,26 @@ float fanOffTemperature;Cooling fan turn-off temperature threshold, in Celsuis;"
brain_pin_e vehicleSpeedSensorInputPin;
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;
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;
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;
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;
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;
int firmwareVersion;;"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;
int overrideCrankingIgnition;
int analogChartFrequency;
int analogChartFrequency;;"index", 1, 0, 0, 300, 0 ; size 4
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;
int customIsSynchronizationNeeded;
bool32_t customIsSynchronizationNeeded;
int customTotalToothCount;;"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 customSyncRatioTo;;"number", 1, 0.0, 0, 1000.0, 2
int customUseRiseEdge;
bool32_t customUseRiseEdge;
end_struct
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;
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!
@ -212,25 +217,25 @@ float globalFuelCorrection;
adc_channel_e mafAdcChannel;
struct afr_sensor_s
adc_channel_e afrAdcChannel;
float v1;
float value1;
float v2;
float value2;
adc_channel_e hwChannel;
float v1;; "volts", 1, 0.0, 0, 10.0, 2
float value1;; "AFR", 1, 0.0, 0, 1000.0, 2
float v2;; "volts", 1, 0.0, 0, 10.0, 2
float value2;; "AFR", 1, 0.0, 0, 1000.0, 2
end_struct
afr_sensor_s afrSensor;@see hasAfrSensor
float injectionAngle;this is about deciding when the injector starts it's squirt
float crankingTimingAngle;
afr_sensor_s afr;@see hasAfrSensor
float injectionAngle;this is about deciding when the injector starts it's squirt;"deg", 1, 0.0, 0, 1000.0, 2
float crankingTimingAngle;; "deg", 1, 0.0, -360, 360, 2
float diffLoadEnrichmentCoef;
air_pressure_sensor_config_s baroSensor;@see hasBaroSensor
float[FUEL_LOAD_COUNT] veLoadBins;
float[FUEL_RPM_COUNT] veRpmBins;
float[FUEL_LOAD_COUNT] afrLoadBins;
float[FUEL_RPM_COUNT] afrRpmBins;
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 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
fanOnTemperature = scalar, F32, 952, "*C", 1, 0, 0, 1000.0, 2
fanOffTemperature = scalar, F32, 956, "*C", 1, 0, 0, 1000.0, 2
; canNbcType = bits, U32, 968, [0:1], "BMW", "FIAT", "VAG" , "INVALID"
canSleepPeriod = scalar, F32, 972, "RPM", 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"
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"
rpmMultiplier = scalar, F32, 988, "RPM", 1, 0.0, 0, 1000.0, 2 ; size 4
displayMode = bits, U32, 992, [0:1], "none", "hd44780", "hd44780 over pcf8574", "INVALID"
logFormat = bits, U32, 996, [0:0], "native", "Mega Log Viewer"
firmwareVersion = scalar, U32, 1000, "index", 1, 0, 0, 300, 0 ; size 4
HD44780width = scalar, U32, 1004, "index", 1, 0, 0, 300, 0 ; size 4
HD44780height = scalar, U32, 1008, "index", 1, 0, 0, 300, 0 ; size 4
tpsAdcInput = 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
analogChartFrequency = scalar, U32, 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"
isSynchronizationNeeded = bits, U32, 1028, [0:0], "false", "true"
totalToothCount = scalar, F32, 1032, "RPM", 1, 0.0, 0, 1000.0, 2 ; size 4
skippedToothCount = scalar, F32, 1036, "RPM", 1, 0.0, 0, 1000.0, 2 ; size 4
syncRatioFrom = scalar, F32, 1040, "RPM", 1, 0.0, 0, 1000.0, 2 ; size 4
syncRatioTo = scalar, F32, 1044, "RPM", 1, 0.0, 0, 1000.0, 2 ; size 4
useRiseEdge = bits, U32, 1048, [0:0], "false", "true"
needSecondTriggerInput = bits, U32, 1052, [0:0], "false", "true"
vbattAdcInput = 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
cltAdcInput = 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"
mafAdcInput = 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_v1 = scalar, F32, 1080, "volts", 1, 0.0, 0, 10.0, 2 ; size 4
afr_value1 = scalar, F32, 1084, "AFR", 1, 0.0, 0, 1000.0, 2 ; size 4
afr_v2 = scalar, F32, 1088, "volts", 1, 0.0, 0, 10.0, 2 ; size 4
afr_value2 = scalar, F32, 1092, "AFR", 1, 0.0, 0, 1000.0, 2 ; size 4
injectionOffset = scalar, F32, 1096, "RPM", 1, 0.0, 0, 1000.0, 2 ; size 4
crankingTimingAngle = scalar, F32, 1100, "deg", 1, 0.0, -360, 360, 2 ; size 4
baroSensorType = scalar, U32, 1104, "index", 1, 0, 0, 300, 0 ; size 4
baroMin = scalar, F32, 1108, "kpa", 1, 0, 0, 450, 2; size 4
baroMax = scalar, F32, 1112, "kpa", 1, 0, 0, 450, 2; size 4
baroSensorType = 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"
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; size 64
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; size 64
;skipping vehicleSpeedSensorInputPin offset 960
;skipping vehicleSpeedCoef offset 964
canNbcType = bits, U32, 968, [0:1], "BMW", "FIAT", "VAG" , "INVALID"
canSleepPeriod = scalar, S32, 972, "ms", 1, 0, 0, 1000.0, 2
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"
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"
;skipping rpmMultiplier offset 988
displayMode = bits, U32, 992, [0:1], "none", "hd44780", "hd44780 over pcf8574", "INVALID"
logFormat = bits, U32, 996, [0:0], "native", "Mega Log Viewer"
firmwareVersion = scalar, S32, 1000, "index", 1, 0, 0, 300, 0
HD44780width = scalar, S32, 1004, "index", 1, 0, 0, 300, 0
HD44780height = scalar, S32, 1008, "index", 1, 0, 0, 300, 0
tpsAdcChannel = bits, U32, 1012, [0:3] "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5"
;skipping overrideCrankingIgnition offset 1016
;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_customIsSynchronizationNeeded = bits, U32, 1028, [0:0], "false", "true"
trigger_customTotalToothCount = scalar, S32, 1032, "number", 1, 0.0, 0, 1000.0, 2
trigger_customSkippedToothCount = scalar, S32, 1036, "number", 1, 0.0, 0, 1000.0, 2
trigger_customSyncRatioFrom = scalar, F32, 1040, "number", 1, 0.0, 0, 1000.0, 2
trigger_customSyncRatioTo = scalar, F32, 1044, "number", 1, 0.0, 0, 1000.0, 2
trigger_customUseRiseEdge = bits, U32, 1048, [0:0], "false", "true"
hip9011SpiDevice = bits,U32, 1052, [0:1], "Off", "SPI1", "SPI2", "SPI3"
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, "coef", 1, 0.0, 0, 1000.0, 2
cltAdcChannel = bits, U32, 1064, [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"
mafAdcChannel = bits, U32, 1072, [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
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
afr_value2 = scalar, F32, 1092, "AFR", 1, 0.0, 0, 1000.0, 2
injectionAngle = scalar, F32, 1096, "deg", 1, 0.0, 0, 1000.0, 2
crankingTimingAngle = scalar, F32, 1100, "deg", 1, 0.0, -360, 360, 2
;skipping diffLoadEnrichmentCoef offset 1104
baroSensor_valueAt0 = scalar, F32, 1108, "kpa", 1, 0, 0, 450, 2
baroSensor_valueAt5 = scalar, F32, 1112, "kpa", 1, 0, 0, 450, 2
baroSensor_type = bits, U32, 1116, [0:1] "Custom", "DENSO183", "MPX4250", "INVALID"
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
veRpmBins = array, F32, 1188, [16], "RPM", 1, 0.0, 0, 18000.0, 2
afrLoadBins = array, F32, 1252, [16], 1, 0.0, 0, 300.0, 2
afrRpmBins = array, F32, 1316, [16], "RPM", 1, 0.0, 0, 18000.0, 2
; 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
@ -552,7 +552,7 @@ fileVersion = { 20150127 }
table = veTableTbl, veTableMap, "VE Table", 1
; constant, variable
xBins = veRpmBins, rpm
yBins = veKeyBins, MAP
yBins = veLoadBins, MAP
zBins = veTable
; gridHeight = 2.0
gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees.
@ -561,7 +561,7 @@ fileVersion = { 20150127 }
table = afrTableTbl, afrTableMap, "Target AFR Table", 1
; constant, variable
xBins = afrRpmBins, rpm
yBins = afrKeyBins, MAP
yBins = afrLoadBins, MAP
zBins = afrTable
; gridHeight = 2.0
gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees.
@ -724,11 +724,11 @@ fileVersion = { 20150127 }
; Engine->Base Engine Settings
dialog = engineChars, "Base Engine Settings"
; field = "Engine Preset", engineType
field = "Number of Cylinders", nCylinders
field = "Number of Cylinders", cylindersCount
field = "Engine Displacement", displacement
field = ""
field = "Firing Order", FiringOrder
field = "Ignition Mode", IgnitionMode
field = "Firing Order", firingOrder
field = "Ignition Mode", ignitionMode
field = "Timing Mode", timingMode
field = ""
field = "Global fuel correction", globalFuelCorrection
@ -739,12 +739,12 @@ fileVersion = { 20150127 }
field = "Trigger type", trigger_type
field = "globalTriggerAngleOffset", globalTriggerAngleOffset
field = "#Custom Trigger"
field = "Synchronization Needed?", isSynchronizationNeeded, {trigger_type == 0}
field = "total Tooth Count", totalToothCount, {trigger_type == 0}
field = "skipped Tooth Count", skippedToothCount, {trigger_type == 0}
field = "sync Ratio From", syncRatioFrom, {trigger_type == 0}
field = "sync Ratio To", syncRatioTo, {trigger_type == 0}
field = "use Rise Edge?", useRiseEdge, {trigger_type == 0}
field = "Synchronization Needed?", trigger_customIsSynchronizationNeeded, {trigger_type == 0}
field = "total Tooth Count", trigger_customTotalToothCount, {trigger_type == 0}
field = "skipped Tooth Count", trigger_customSkippedToothCount, {trigger_type == 0}
field = "sync Ratio From", trigger_customSyncRatioFrom, {trigger_type == 0}
field = "sync Ratio To", trigger_customSyncRatioTo, {trigger_type == 0}
field = "use Rise Edge?", trigger_customUseRiseEdge, {trigger_type == 0}
field = "needed Second Trigger Input?", needSecondTriggerInput, {trigger_type == 0}
; Engine->Injection Settings
@ -839,14 +839,14 @@ fileVersion = { 20150127 }
dialog = analogInputs, "Analog inputs"
field = "Analog Input Divider Coefficient", analogInputDividerCoefficient
field = "Battery Input Divider Coefficient", vbattDividerCoeff
field = "TPS ADC input", tpsAdcInput
field = "CLT ADC input", cltAdcInput
field = "IAT ADC input", iatAdcInput
field = "MAF ADC input", mafAdcInput
field = "TPS ADC input", tpsAdcChannel
field = "CLT ADC input", cltAdcChannel
field = "IAT ADC input", iatAdcChannel
field = "MAF ADC input", mafAdcChannel
field = "MAP ADC input", map_sensor_hwChannel
field = "Baro ADC input", baroAdcInput
field = "vBatt ADC input", vbattAdcInput
field = "AFR ADC input", afrAdcInput
field = "Baro ADC input", baroSensor_hwChannel
field = "vBatt ADC input", vbattAdcChannel
field = "AFR ADC input", afr_hwChannel
dialog = analogInputMode, "Analog input mode"
field = "ADC on PA0", adcModePA0
@ -893,26 +893,26 @@ fileVersion = { 20150127 }
dialog = injectionOutputs, "Injector Output"
field = "injection Pin Mode", injectionPinMode
field = "Injection Pin 1", injectionPin1
field = "Injection Pin 2", injectionPin2, {nCylinders > 1}
field = "Injection Pin 3", injectionPin3, {nCylinders > 2}
field = "Injection Pin 4", injectionPin4, {nCylinders > 3}
field = "Injection Pin 5 ", injectionPin5, {nCylinders > 4}
field = "Injection Pin 6 ", injectionPin6, {nCylinders > 5}
field = "Injection Pin 7 ", injectionPin7, {nCylinders > 6}
field = "Injection Pin 8 ", injectionPin8, {nCylinders > 7}
field = "Injection Pin 9 ", injectionPin9, {nCylinders > 8}
field = "Injection Pin 10 ", injectionPin10, {nCylinders > 9}
field = "Injection Pin 11 ", injectionPin11, {nCylinders > 10}
field = "Injection Pin 12 ", injectionPin12, {nCylinders > 11}
field = "Injection Pin 2", injectionPin2, {cylindersCount > 1}
field = "Injection Pin 3", injectionPin3, {cylindersCount > 2}
field = "Injection Pin 4", injectionPin4, {cylindersCount > 3}
field = "Injection Pin 5 ", injectionPin5, {cylindersCount > 4}
field = "Injection Pin 6 ", injectionPin6, {cylindersCount > 5}
field = "Injection Pin 7 ", injectionPin7, {cylindersCount > 6}
field = "Injection Pin 8 ", injectionPin8, {cylindersCount > 7}
field = "Injection Pin 9 ", injectionPin9, {cylindersCount > 8}
field = "Injection Pin 10 ", injectionPin10, {cylindersCount > 9}
field = "Injection Pin 11 ", injectionPin11, {cylindersCount > 10}
field = "Injection Pin 12 ", injectionPin12, {cylindersCount > 11}
dialog = ignitionOutputs, "Ignition Outputs"
field = "Ignition Pin Mode", ignitionPinMode
field = "Ignition Pin 1", ignitionPin1
field = "Ignition Pin 2", ignitionPin2, {IgnitionMode != 0 && nCylinders > 1}
field = "Ignition Pin 3", ignitionPin3, {IgnitionMode != 0 && nCylinders > 2}
field = "Ignition Pin 4", ignitionPin4, {IgnitionMode != 0 && nCylinders > 3}
field = "Ignition Pin 5", ignitionPin4, {IgnitionMode != 0 && nCylinders > 4}
field = "Ignition Pin 6", ignitionPin4, {IgnitionMode != 0 && nCylinders > 5}
field = "Ignition Pin 2", ignitionPin2, {ignitionMode != 0 && cylindersCount > 1}
field = "Ignition Pin 3", ignitionPin3, {ignitionMode != 0 && cylindersCount > 2}
field = "Ignition Pin 4", ignitionPin4, {ignitionMode != 0 && cylindersCount > 3}
field = "Ignition Pin 5", ignitionPin4, {ignitionMode != 0 && cylindersCount > 4}
field = "Ignition Pin 6", ignitionPin4, {ignitionMode != 0 && cylindersCount > 5}
dialog = otherOutputs, "Board outputs"
field = "Fuel Pump Pin Mode", fuelPumpPinMode