auto-sync

This commit is contained in:
rusEfi 2014-11-03 10:03:54 -06:00
parent b199f7a3df
commit 516c701bfa
3 changed files with 60 additions and 28 deletions

View File

@ -127,11 +127,14 @@ static void printStats(void) {
// int fuelMapOffset = (int) (&engineConfiguration->fuelTable) - (int) engineConfiguration;
// scheduleMsg(&logger, "fuelTable %d", fuelMapOffset);
//
int offset = (int) (&boardConfiguration->max31855spiDevice) - (int) engineConfiguration;
scheduleMsg(&logger, "max31855_SpiDevice %d", offset);
int offset = (int) (&boardConfiguration->le_formulas) - (int) engineConfiguration;
scheduleMsg(&logger, "le_formulas %d", offset);
//
// offset = (int) (&boardConfiguration->idleSolenoidFrequency) - (int) engineConfiguration;
// scheduleMsg(&logger, "idleSolenoidFrequency %d", offset);
offset = (int) (&engineConfiguration->crankingCycleBins) - (int) engineConfiguration;
scheduleMsg(&logger, "crankingCycleBins %d", offset);
offset = (int) (&engineConfiguration->engineCycle) - (int) engineConfiguration;
scheduleMsg(&logger, "engineCycle %d", offset);
}
void tunerStudioWriteData(const uint8_t * buffer, int size) {

View File

@ -19,7 +19,6 @@
#define MOCK_UNDEFINED -1
typedef struct {
float unused[3];
float baseCrankingFuel;
/**
@ -261,6 +260,7 @@ typedef struct {
/**
* Should the trigger emulator push data right into trigger input, eliminating the need for physical jumper wires?
* PS: Funny name, right? :)
* todo: make this a bit on some bit field
*/
short int directSelfStimulation; // size 2, offset 328
@ -271,6 +271,19 @@ typedef struct {
short int tpsMax; // size 2, offset 332
short int analogChartMode;
/**
* todo: finish implementation. These values are used for TPS disconnect detection
*/
short int tpsErrorLowValue;
short int tpsErrorHighValue;
float primingSquirtDurationMs;
/**
* 360 for two-stroke
* 720 for four-stroke
*/
int engineCycle;
cranking_parameters_s crankingSettings;
MAP_sensor_config_s map;
@ -461,23 +474,13 @@ typedef struct {
*/
float injectorFlow; // size 4
/**
* 360 for two-stroke
* 720 for four-stroke
*/
int engineCycle;
short int tpsErrorLowValue;
short int tpsErrorHighValue;
float primingSquirtDurationMs;
float crankingFuelCoef[CRANKING_CURVE_SIZE];
float crankingFuelBins[CRANKING_CURVE_SIZE];
float crankingCycleCoef[CRANKING_CURVE_SIZE];
float crankingCycleBins[CRANKING_CURVE_SIZE];
int unused33[3];
int unused3[91];
} engine_configuration_s;

View File

@ -54,10 +54,11 @@ enable2ndByteCanID = false
tpsMax = scalar, S16, 332, "ADC", 1, 0, 0, 1023, 0 ; * ( 2 bytes)
analogChartMode = bits, S16, 334, [0:1], "none", "trigger", "MAP", "INVALID"
CrankingCoolantTempMin = scalar, F32, 336, "°C", 1, 0, -40, 200, 1; size 4
CrankingCoolantTempMax = scalar, F32, 340, "°C", 1, 0, -40, 200, 1; size 4
CrankingMinTempPW = scalar, F32, 344, "ms", 1, 0, 0, 200, 1; size 4
CrankingMaxTempPW = scalar, F32, 348, "ms", 1, 0, 0, 200, 1; size 4
tpsErrorLowValue = scalar, U16, 336, "°C", 1, 0, -40, 200, 1; size 4
tpsErrorHighValue = scalar, U16, 338, "°C", 1, 0, -40, 200, 1; size 4
primingSquirtDurationMs = scalar, F32, 340, "°C", 1, 0, -40, 200, 1; size 4
engineCycle = scalar, U32, 344, "engine cycle", 1, 0, 0, 1000, 0 ; size 4
baseCrankingFuelPW = scalar, F32, 348, "ms", 1, 0, 0, 200, 1; size 4
crankingRpm = scalar, S16, 352, "RPM", 1, 0, 0, 3000, 0 ; * ( 2 bytes)
mapSamplingAngleBins = array, F32, 356, [8], "RPM", 1, 0, 0.0, 18000, 2; size 64
@ -298,7 +299,7 @@ enable2ndByteCanID = false
max31855_cs5 = bits, U32, 5900, [0:6], "GPIOA_0", "GPIOA_1", "GPIOA_2", "GPIOA_3", "GPIOA_4", "GPIOA_5", "GPIOA_6", "GPIOA_7", "GPIOA_8", "GPIOA_9", "GPIOA_10", "GPIOA_11", "GPIOA_12", "GPIOA_13", "GPIOA_14", "GPIOA_15", "GPIOB_0", "GPIOB_1", "GPIOB_2", "GPIOB_3", "GPIOB_4", "GPIOB_5", "GPIOB_6", "GPIOB_7", "GPIOB_8", "GPIOB_9", "GPIOB_10", "GPIOB_11", "GPIOB_12", "GPIOB_13", "GPIOB_14", "GPIOB_15", "GPIOC_0", "GPIOC_1", "GPIOC_2", "GPIOC_3", "GPIOC_4", "GPIOC_5", "GPIOC_6", "GPIOC_7", "GPIOC_8", "GPIOC_9", "GPIOC_10", "GPIOC_11", "GPIOC_12", "GPIOC_13", "GPIOC_14", "GPIOC_15", "GPIOD_0", "GPIOD_1", "GPIOD_2", "GPIOD_3", "GPIOD_4", "GPIOD_5", "GPIOD_6", "GPIOD_7", "GPIOD_8", "GPIOD_9", "GPIOD_10", "GPIOD_11", "GPIOD_12", "GPIOD_13", "GPIOD_14", "GPIOD_15", "GPIOE_0", "GPIOE_1", "GPIOE_2", "GPIOE_3", "GPIOE_4", "GPIOE_5", "GPIOE_6", "GPIOE_7", "GPIOE_8", "GPIOE_9", "GPIOE_10", "GPIOE_11", "GPIOE_12", "GPIOE_13", "GPIOE_14", "GPIOE_15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
max31855_cs6 = bits, U32, 5904, [0:6], "GPIOA_0", "GPIOA_1", "GPIOA_2", "GPIOA_3", "GPIOA_4", "GPIOA_5", "GPIOA_6", "GPIOA_7", "GPIOA_8", "GPIOA_9", "GPIOA_10", "GPIOA_11", "GPIOA_12", "GPIOA_13", "GPIOA_14", "GPIOA_15", "GPIOB_0", "GPIOB_1", "GPIOB_2", "GPIOB_3", "GPIOB_4", "GPIOB_5", "GPIOB_6", "GPIOB_7", "GPIOB_8", "GPIOB_9", "GPIOB_10", "GPIOB_11", "GPIOB_12", "GPIOB_13", "GPIOB_14", "GPIOB_15", "GPIOC_0", "GPIOC_1", "GPIOC_2", "GPIOC_3", "GPIOC_4", "GPIOC_5", "GPIOC_6", "GPIOC_7", "GPIOC_8", "GPIOC_9", "GPIOC_10", "GPIOC_11", "GPIOC_12", "GPIOC_13", "GPIOC_14", "GPIOC_15", "GPIOD_0", "GPIOD_1", "GPIOD_2", "GPIOD_3", "GPIOD_4", "GPIOD_5", "GPIOD_6", "GPIOD_7", "GPIOD_8", "GPIOD_9", "GPIOD_10", "GPIOD_11", "GPIOD_12", "GPIOD_13", "GPIOD_14", "GPIOD_15", "GPIOE_0", "GPIOE_1", "GPIOE_2", "GPIOE_3", "GPIOE_4", "GPIOE_5", "GPIOE_6", "GPIOE_7", "GPIOE_8", "GPIOE_9", "GPIOE_10", "GPIOE_11", "GPIOE_12", "GPIOE_13", "GPIOE_14", "GPIOE_15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
max31855_cs7 = bits, U32, 5908, [0:6], "GPIOA_0", "GPIOA_1", "GPIOA_2", "GPIOA_3", "GPIOA_4", "GPIOA_5", "GPIOA_6", "GPIOA_7", "GPIOA_8", "GPIOA_9", "GPIOA_10", "GPIOA_11", "GPIOA_12", "GPIOA_13", "GPIOA_14", "GPIOA_15", "GPIOB_0", "GPIOB_1", "GPIOB_2", "GPIOB_3", "GPIOB_4", "GPIOB_5", "GPIOB_6", "GPIOB_7", "GPIOB_8", "GPIOB_9", "GPIOB_10", "GPIOB_11", "GPIOB_12", "GPIOB_13", "GPIOB_14", "GPIOB_15", "GPIOC_0", "GPIOC_1", "GPIOC_2", "GPIOC_3", "GPIOC_4", "GPIOC_5", "GPIOC_6", "GPIOC_7", "GPIOC_8", "GPIOC_9", "GPIOC_10", "GPIOC_11", "GPIOC_12", "GPIOC_13", "GPIOC_14", "GPIOC_15", "GPIOD_0", "GPIOD_1", "GPIOD_2", "GPIOD_3", "GPIOD_4", "GPIOD_5", "GPIOD_6", "GPIOD_7", "GPIOD_8", "GPIOD_9", "GPIOD_10", "GPIOD_11", "GPIOD_12", "GPIOD_13", "GPIOD_14", "GPIOD_15", "GPIOE_0", "GPIOE_1", "GPIOE_2", "GPIOE_3", "GPIOE_4", "GPIOE_5", "GPIOE_6", "GPIOE_7", "GPIOE_8", "GPIOE_9", "GPIOE_10", "GPIOE_11", "GPIOE_12", "GPIOE_13", "GPIOE_14", "GPIOE_15", "NONE", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
max31855_SpiDevice = bits, U32, 5912, [0:1], "Off", "SPI1", "SPI2", "SPI3"
max31855spiDevice = bits, U32, 5912, [0:1], "Off", "SPI1", "SPI2", "SPI3"
@ -313,6 +314,18 @@ enable2ndByteCanID = false
digitalChartSize = scalar, U32, 6296, "count", 1, 0, 0, 300, 0 ; size 4
injectorFlow = scalar, F32, 6300, "cm3/min", 1, 0, 0, 1000, 2; size 4
; le_formulas 6280 - the formulas expressions take about 4Kb
; name = bits, type, offset, bits
; name = array, type, offset, shape, units, scale, translate, lo, hi, digits
; name = scalar, type, offset, units, scale, translate, lo, hi, digits
crankingFuelCoef = array, F32, 9504, [8], "%", 100, 0, 0.0, 500.0, 2; size 32
crankingFuelBins = array, F32, 9536, [8], "C", 1, 0, -80.0, 170.0, 2; size 32
crankingCycleCoef = array, F32, 9568, [8], "%", 100, 0, 0.0, 500.0, 2; size 32
crankingCycleBins = array, F32, 9600, [8], "C", 1, 0, -80.0, 170.0, 2; size 32
[OutputChannels]
@ -428,6 +441,21 @@ fileVersion = { 20141103 }
yBins = cltFuelCorr
gauge = CLTGauge
curve = crankingFuelCurve, "Cranking Coolant Temp correction"
columnLabel = "Coolant", "Correction"
xAxis = -40, 120, 10
yAxis = -300, 300, 10
xBins = cltFuelCorrBins, coolant
yBins = cltFuelCorr
gauge = CLTGauge
curve = crankingDurationCurve, "Cranking Duration correction"
columnLabel = "Coolant", "Correction"
xAxis = -40, 120, 10
yAxis = -300, 300, 10
xBins = cltFuelCorrBins, coolant
yBins = cltFuelCorr
gauge = CLTGauge
[TableEditor]
; table_id, map3d_id, "title", page
@ -571,6 +599,8 @@ fileVersion = { 20141103 }
subMenu = generalSettings, "General"
subMenu = std_separator
subMenu = cranking, "Cranking"
subMenu = crankingFuelCurve, "Cranking Coolant Temp correction"
subMenu = crankingDurationCurve, "Cranking Duration correction"
subMenu = std_separator
subMenu = fuelTableTbl, "Fuel Table", {fuelAlgorithm != 3}
subMenu = iatFuelCorrCurve, "Intake air temp fuel correction"
@ -628,7 +658,7 @@ fileVersion = { 20141103 }
dialog = injChars, "Injector Settings"
field = "Injector Open Time", injectorLag
field = "Injector Flow", injectorFlow
field = ""
field = "Engine Cycle", engineCycle
field = ""
field = ""
field = ""
@ -744,7 +774,7 @@ fileVersion = { 20141103 }
field = "ADC on PC5", adcModePC5
dialog = egtInputs, "EGT inputs"
field = "SPI", max31855_SpiDevice
field = "SPI", max31855spiDevice
field = "CS #1", max31855_cs0
field = "CS #2", max31855_cs1
field = "CS #3", max31855_cs2
@ -883,11 +913,7 @@ fileVersion = { 20141103 }
dialog = cranking, "Cranking"
field = "Cranking RPM limit", crankingRpm
field = ""
field = "Minimum temp point", CrankingCoolantTempMin
field = "Pulse Width at Minimum temp point", CrankingMinTempPW
field = ""
field = "Maximum temp point", CrankingCoolantTempMax
field = "Pulse Width at Maximum temp point", CrankingMaxTempPW
field = "Base cranking Pulse Width", baseCrankingFuelPW
field = ""
field = "Charge Angle", crankingChargeAngle
field = "Advance during cranking", crankingTimingAngle