TS project progress

This commit is contained in:
rusefi 2017-06-20 05:29:03 +03:00
parent adfd0acfd4
commit 18e05a501a
1 changed files with 89 additions and 47 deletions

View File

@ -5,17 +5,17 @@ enable2ndByteCanID = false
#unset tuneByMAF #unset tuneByMAF
[SettingGroups] ;[SettingGroups]
; the referenceName will over-ride previous, so if you are creating a ; the referenceName will over-ride previous, so if you are creating a
; settingGroup with a reference name of lambdaSensor, it will replace the ; settingGroup with a reference name of lambdaSensor, it will replace the
; setting group defined in the settingGroups.xml of the TunerStudio config ; setting group defined in the settingGroups.xml of the TunerStudio config
; folder. If is is an undefined referenceName, it will be added. ; folder. If is is an undefined referenceName, it will be added.
; keyword = referenceName, DisplayName ; keyword = referenceName, DisplayName
settingGroup = fAlgorithmSetting, "Fuel Logic / Tables" ; settingGroup = fAlgorithmSetting, "Fuel Logic / Tables"
settingOption = FA_PLAIN_MAF, "Plain MAF" ; settingOption = FA_PLAIN_MAF, "Plain MAF"
settingOption = FA_TPS, "AlphaN/TPS" ; settingOption = FA_TPS, "AlphaN/TPS"
settingOption = DEFAULT, "Speed Density" ; DEFAULT will be over looked and this will fall into the #else block of the statement. ; settingOption = DEFAULT, "Speed Density" ; DEFAULT will be over looked and this will fall into the #else block of the statement.
@ -76,7 +76,7 @@ enable2ndByteCanID = false
gaugeColumns = 1 ; Only 1 or 2 are valid. gaugeColumns = 1 ; Only 1 or 2 are valid.
pageButtons = "&EGO" pageButtons = "&EGO"
gauge1 = tachometer gauge1 = RPMGauge
gauge2 = afr1Gauge gauge2 = afr1Gauge
gauge3 = MAPGauge gauge3 = MAPGauge
gauge4 = veValueGauge gauge4 = veValueGauge
@ -86,14 +86,14 @@ enable2ndByteCanID = false
; tableName, lambdaTargetTableName, lambdaChannel, egoCorrectionChannel, activeCondition ; tableName, lambdaTargetTableName, lambdaChannel, egoCorrectionChannel, activeCondition
#if tuneByMAF #if tuneByMAF
veAnalyzeMap = fuelTableTbl, afrTableTbl, AFRactual, egoCorrection, { 1 } veAnalyzeMap = fuelTableTbl, afrTableTbl, AFRValue, egoCorrection, { 1 }
#else #else
veAnalyzeMap = veTableTbl, afrTableTbl, AFRactual, egoCorrection, { 1 } veAnalyzeMap = veTableTbl, afrTableTbl, AFRValue, egoCorrection, { 1 }
#endif #endif
;lambdaTargetTables = afrTable1Tbl, afrTable2Tbl, afrTSCustom ;lambdaTargetTables = afrTable1Tbl, afrTable2Tbl, afrTSCustom
; filter = Name, "DisplayName", outputChannel, operator, defaultVal, userAdjustable ; filter = Name, "DisplayName", outputChannel, operator, defaultVal, userAdjustable
filter = minRPMFilter, "Minimum RPM", rpm, < , 500, , true filter = minRPMFilter, "Minimum RPM", RPMValue, < , 500, , true
#if CELSIUS #if CELSIUS
filter = minCltFilter, "Minimum CLT", coolant, < , 60, , true filter = minCltFilter, "Minimum CLT", coolant, < , 60, , true
@ -109,8 +109,8 @@ enable2ndByteCanID = false
;[VeAnalyze] ;[VeAnalyze]
; fuelAnalyzeMap = fuelTableTbl, afrTableTbl, AFRactual, egoCorrection , { 1 } ; fuelAnalyzeMap = fuelTableTbl, afrTableTbl, AFRValue, egoCorrection , { 1 }
; filter = minRPMFilter, "Minimum RPM", rpm, < , 500, , true ; filter = minRPMFilter, "Minimum RPM", RPMValue, < , 500, , true
@ -124,7 +124,7 @@ fileVersion = { 20161225 }
; see TS_OUTPUT_SIZE in console source code ; see TS_OUTPUT_SIZE in console source code
ochBlockSize = 356 ochBlockSize = 356
rpm = scalar, U32, 0, "RPM", 1, 0.00000 RPMValue = scalar, U32, 0, "RPM", 1, 0.00000
#if CELSIUS #if CELSIUS
coolant = scalar, F32, 4, "°C", 1, 0.0 coolant = scalar, F32, 4, "°C", 1, 0.0
#else #else
@ -137,7 +137,7 @@ fileVersion = { 20161225 }
#endif #endif
TPSValue = scalar, F32, 12, "%", 1, 0 TPSValue = scalar, F32, 12, "%", 1, 0
MAFValue = scalar, F32, 16, "V", 1, 0 MAFValue = scalar, F32, 16, "V", 1, 0
AFRactual = scalar, F32, 20, "AFR", 1, 0.0 AFRValue = scalar, F32, 20, "AFR", 1, 0.0
engineLoad = scalar, F32, 24, "%", 1, 0.0 ; Blend of MAP and TPS, depends on algorithm engineLoad = scalar, F32, 24, "%", 1, 0.0 ; Blend of MAP and TPS, depends on algorithm
VBatt = scalar, F32, 28, "V", 1, 0.0 VBatt = scalar, F32, 28, "V", 1, 0.0
; 10 bit TPS ADC value (from 0 to 1023 in 5v scale) ; 10 bit TPS ADC value (from 0 to 1023 in 5v scale)
@ -231,6 +231,13 @@ fileVersion = { 20161225 }
fuelPidCorrection = scalar, F32, 268, "ms", 1, 0 fuelPidCorrection = scalar, F32, 268, "ms", 1, 0
coilDutyCycle = scalar, F32, 272, "perc", 1, 0 coilDutyCycle = scalar, F32, 272, "perc", 1, 0
; todo: generate this section programatically
LM_PLAIN_MAF = {0},
LM_ALPHA_N = {1},
LM_MAP = {2},
LM_SPEED_DENSITY = {3},
LM_REAL_MAF = {4}
egoCorrection = { 100 } egoCorrection = { 100 }
time = { timeNow } time = { timeNow }
; engineLoad = { fuleAlgorithm == 0 ? MAF : TPS } ; engineLoad = { fuleAlgorithm == 0 ? MAF : TPS }
@ -244,9 +251,9 @@ fileVersion = { 20161225 }
columnLabel = "RPM", "Threshold" columnLabel = "RPM", "Threshold"
xAxis = 0, 8000, 10 xAxis = 0, 8000, 10
yAxis = 0, 8, 10 yAxis = 0, 8, 10
xBins = knockNoiseRpmBins, rpm xBins = knockNoiseRpmBins, RPMValue
yBins = knockNoise yBins = knockNoise
gauge = rpm gauge = RPMValue
curve = mapAccelTaper, "Engine Load Acceleration Enrichment Taper" curve = mapAccelTaper, "Engine Load Acceleration Enrichment Taper"
columnLabel = "Distance", "Multiplier" columnLabel = "Distance", "Multiplier"
@ -259,25 +266,25 @@ fileVersion = { 20161225 }
columnLabel = "RPM", "Dwell" columnLabel = "RPM", "Dwell"
xAxis = 0, 8000, 10 xAxis = 0, 8000, 10
yAxis = 0, 30, 10 yAxis = 0, 30, 10
xBins = sparkDwellRpmBins, rpm xBins = sparkDwellRpmBins, RPMValue
yBins = sparkDwellValues yBins = sparkDwellValues
gauge = rpm gauge = RPMValue
curve = map_samplingAngleCurve, "MAP Sampling Start Angle" curve = map_samplingAngleCurve, "MAP Sampling Start Angle"
columnLabel = "RPM", "Angle" columnLabel = "RPM", "Angle"
xAxis = 0, 8000, 10 xAxis = 0, 8000, 10
yAxis = 0, 180, 10 yAxis = 0, 180, 10
xBins = map_samplingAngleBins, rpm xBins = map_samplingAngleBins, RPMValue
yBins = map_samplingAngle yBins = map_samplingAngle
gauge = rpm gauge = RPMValue
curve = map_samplingWindowCurve, "MAP Sampling Duration" curve = map_samplingWindowCurve, "MAP Sampling Duration"
columnLabel = "RPM", "Window" columnLabel = "RPM", "Window"
xAxis = 0, 8000, 10 xAxis = 0, 8000, 10
yAxis = 0, 180, 10 yAxis = 0, 180, 10
xBins = map_samplingWindowBins, rpm xBins = map_samplingWindowBins, RPMValue
yBins = map_samplingWindow yBins = map_samplingWindow
gauge = rpm gauge = RPMValue
curve = injectorsDeadTime, "Injector Dead Time by VBatt" curve = injectorsDeadTime, "Injector Dead Time by VBatt"
columnLabel = "Voltage", "Dead Time" columnLabel = "Voltage", "Dead Time"
@ -361,16 +368,29 @@ fileVersion = { 20161225 }
[TableEditor] [TableEditor]
; table_id, map3d_id, "title", page ; table_id, map3d_id, "title", page
table = fuelTableTbl, fuelTableMap, "Fuel Table", 1
table = fuelTableMAFTbl, fuelTableMAFMap, "Fuel Table", 1
; constant, variable ; constant, variable
xBins = fuelRpmBins, rpm xBins = fuelRpmBins, RPMValue
#if FA_PLAIN_MAF
yBins = fuelLoadBins, MAFValue yBins = fuelLoadBins, MAFValue
#elif FA_TPS zBins = fuelTable
; gridHeight = 2.0
gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees.
upDownLabel = "(RICHER)", "(LEANER)"
table = fuelTableTPSTbl, fuelTableTPSMap, "Fuel Table", 1
; constant, variable
xBins = fuelRpmBins, RPMValue
yBins = fuelLoadBins, TPSValue yBins = fuelLoadBins, TPSValue
#else zBins = fuelTable
; gridHeight = 2.0
gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees.
upDownLabel = "(RICHER)", "(LEANER)"
table = fuelTableELTbl, fuelTableELMap, "Fuel Table", 1
; constant, variable
xBins = fuelRpmBins, RPMValue
yBins = fuelLoadBins, engineLoad yBins = fuelLoadBins, engineLoad
#endif
zBins = fuelTable zBins = fuelTable
; 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.
@ -383,28 +403,28 @@ fileVersion = { 20161225 }
table = fsioTable1Tbl, fsioTable1Map, "FSIO Table #1", 1 table = fsioTable1Tbl, fsioTable1Map, "FSIO Table #1", 1
xBins = fsioTable1RpmBins, rpm xBins = fsioTable1RpmBins, RPMValue
yBins = fsioTable1LoadBins, engineLoad yBins = fsioTable1LoadBins, engineLoad
zBins = fsioTable1 zBins = fsioTable1
table = fsioTable2Tbl, fsioTable2Map, "FSIO Table #2", 1 table = fsioTable2Tbl, fsioTable2Map, "FSIO Table #2", 1
xBins = fsioTable2RpmBins, rpm xBins = fsioTable2RpmBins, RPMValue
yBins = fsioTable2LoadBins, engineLoad yBins = fsioTable2LoadBins, engineLoad
zBins = fsioTable2 zBins = fsioTable2
table = fsioTable3Tbl, fsioTable3Map, "FSIO Table #3", 1 table = fsioTable3Tbl, fsioTable3Map, "FSIO Table #3", 1
xBins = fsioTable3RpmBins, rpm xBins = fsioTable3RpmBins, RPMValue
yBins = fsioTable3LoadBins, engineLoad yBins = fsioTable3LoadBins, engineLoad
zBins = fsioTable3 zBins = fsioTable3
table = fsioTable4Tbl, fsioTable4Map, "FSIO Table #4", 1 table = fsioTable4Tbl, fsioTable4Map, "FSIO Table #4", 1
xBins = fsioTable4RpmBins, rpm xBins = fsioTable4RpmBins, RPMValue
yBins = fsioTable4LoadBins, engineLoad yBins = fsioTable4LoadBins, engineLoad
zBins = fsioTable4 zBins = fsioTable4
table = baroCorrTbl, baroCorrMap, "Baro Correction", 1 table = baroCorrTbl, baroCorrMap, "Baro Correction", 1
; constant, variable ; constant, variable
xBins = baroCorrRpmBins, rpm xBins = baroCorrRpmBins, RPMValue
yBins = baroCorrPressureBins, baroPressure yBins = baroCorrPressureBins, baroPressure
zBins = baroCorrTable zBins = baroCorrTable
; gridHeight = 2.0 ; gridHeight = 2.0
@ -413,7 +433,7 @@ fileVersion = { 20161225 }
table = ignitionTableTbl, ignitionTableMap, "Ignition Table", 1 table = ignitionTableTbl, ignitionTableMap, "Ignition Table", 1
; constant, variable ; constant, variable
xBins = ignitionRpmBins, rpm xBins = ignitionRpmBins, RPMValue
#if FA_PLAIN_MAF #if FA_PLAIN_MAF
yBins = ignitionLoadBins, MAFValue yBins = ignitionLoadBins, MAFValue
#elif FA_TPS #elif FA_TPS
@ -429,7 +449,7 @@ fileVersion = { 20161225 }
table = ignitionIatCorrTableTbl, ignitionIatCorrTableMap, "Ignition Intake Air Temp correction", 1 table = ignitionIatCorrTableTbl, ignitionIatCorrTableMap, "Ignition Intake Air Temp correction", 1
; constant, variable ; constant, variable
xBins = ignitionIatCorrRpmBins, rpm xBins = ignitionIatCorrRpmBins, RPMValue
yBins = ignitionIatCorrLoadBins, intake yBins = ignitionIatCorrLoadBins, intake
zBins = ignitionIatCorrTable zBins = ignitionIatCorrTable
; gridHeight = 2.0 ; gridHeight = 2.0
@ -438,7 +458,7 @@ fileVersion = { 20161225 }
table = veTableTbl, veTableMap, "VE Table", 1 table = veTableTbl, veTableMap, "VE Table", 1
; constant, variable ; constant, variable
xBins = veRpmBins, rpm xBins = veRpmBins, RPMValue
yBins = veLoadBins, MAPValue yBins = veLoadBins, MAPValue
zBins = veTable zBins = veTable
; gridHeight = 2.0 ; gridHeight = 2.0
@ -448,7 +468,7 @@ fileVersion = { 20161225 }
table = injPhaseTableTbl, injPhaseTableMap, "Injection Phase", 1 table = injPhaseTableTbl, injPhaseTableMap, "Injection Phase", 1
; constant, variable ; constant, variable
xBins = injPhaseRpmBins, rpm xBins = injPhaseRpmBins, RPMValue
yBins = injPhaseLoadBins, engineLoad yBins = injPhaseLoadBins, engineLoad
zBins = injectionPhase zBins = injectionPhase
; gridHeight = 2.0 ; gridHeight = 2.0
@ -457,7 +477,7 @@ fileVersion = { 20161225 }
table = afrTableTbl, afrTableMap, "Target AFR Table", 1 table = afrTableTbl, afrTableMap, "Target AFR Table", 1
; constant, variable ; constant, variable
xBins = afrRpmBins, rpm xBins = afrRpmBins, RPMValue
yBins = afrLoadBins, MAPValue yBins = afrLoadBins, MAPValue
zBins = afrTable zBins = afrTable
; gridHeight = 2.0 ; gridHeight = 2.0
@ -513,7 +533,7 @@ gaugeCategory = Debug
debugIntField3Gauge = debugIntField3, "debug i3", "%", 0, 100, 0, 0, 100, 100, 0, 0 debugIntField3Gauge = debugIntField3, "debug i3", "%", 0, 100, 0, 0, 100, 100, 0, 0
gaugeCategory = Sensors gaugeCategory = Sensors
tachometer = rpm, "Engine Speed", "RPM", 0, 15000, 200, 500, 6000, 6000, 0, 0 RPMGauge = RPMValue, "Engine Speed", "RPM", 0, 15000, 200, 500, 6000, 6000, 0, 0
#if CELSIUS #if CELSIUS
CLTGauge = coolant, "Coolant Temp", "°C", -40, 140, -15, 1, 95, 110, 1, 1 CLTGauge = coolant, "Coolant Temp", "°C", -40, 140, -15, 1, 95, 110, 1, 1
#else #else
@ -525,7 +545,7 @@ gaugeCategory = Sensors
IATGauge = intake, "Intake Air Temp", "°F", -40, 285, 5, 35, 205, 230, 1, 1 IATGauge = intake, "Intake Air Temp", "°F", -40, 285, 5, 35, 205, 230, 1, 1
#endif #endif
TPSGauge = TPSValue, "Throttle Position", "%", 0, 100, 0, 0, 100, 100, 2, 2 TPSGauge = TPSValue, "Throttle Position", "%", 0, 100, 0, 0, 100, 100, 2, 2
afr1Gauge = AFRactual, "Air:Fuel Ratio 1", "", 10, 19.4, 12, 13, 15, 16, 2, 2 afr1Gauge = AFRValue, "Air:Fuel Ratio 1", "", 10, 19.4, 12, 13, 15, 16, 2, 2
MAFGauge = MAFValue, "Mass Air Flow", "v", 0, 5, 0, 1, 3, 4, 1, 1 MAFGauge = MAFValue, "Mass Air Flow", "v", 0, 5, 0, 1, 3, 4, 1, 1
VBattGauge = VBatt, "Battery Voltage", "V", 8, 21, 9, 10, 17, 19, 1, 1 VBattGauge = VBatt, "Battery Voltage", "V", 8, 21, 9, 10, 17, 19, 1, 1
MAPGauge = MAPValue, "MAP", "kPa", 0, 300, 10, 10, 200, 200, 0, 0 MAPGauge = MAPValue, "MAP", "kPa", 0, 300, 10, 10, 200, 200, 0, 0
@ -569,7 +589,7 @@ gaugeCategory = Fuel Data
; 5 6 7 8 ; 5 6 7 8
; currently a minimum of 6 gauges must be on the dash, this appears to be an old not needed limitation. next release 1 will work. ; currently a minimum of 6 gauges must be on the dash, this appears to be an old not needed limitation. next release 1 will work.
gauge1 = tachometer gauge1 = RPMGauge
gauge2 = CLTGauge gauge2 = CLTGauge
gauge3 = TPSGauge gauge3 = TPSGauge
gauge4 = MAFGauge gauge4 = MAFGauge
@ -614,14 +634,14 @@ gaugeCategory = Fuel Data
[Datalog] [Datalog]
; Channel Label Type Format ; Channel Label Type Format
entry = time, "Time", float, "%.3f" entry = time, "Time", float, "%.3f"
entry = rpm, "RPM", int, "%d" entry = RPMValue, "RPM", int, "%d"
entry = firmwareVersion, @@GAUGE_NAME_VERSION@@, int, "%d" entry = firmwareVersion, @@GAUGE_NAME_VERSION@@, int, "%d"
entry = coolant, "CLT", float, "%.2f" entry = coolant, "CLT", float, "%.2f"
entry = intake, "IAT", float, "%.2f" entry = intake, "IAT", float, "%.2f"
entry = TPSValue, "TPS", float, "%.2f" entry = TPSValue, "TPS", float, "%.2f"
entry = MAFValue, "MAF", float, "%.2f" entry = MAFValue, "MAF", float, "%.2f"
entry = MAPValue, "MAP", float, "%.1f" entry = MAPValue, "MAP", float, "%.1f"
entry = AFRactual, @@GAUGE_NAME_AFR@@, float, "%.2f" entry = AFRValue, @@GAUGE_NAME_AFR@@, float, "%.2f"
entry = VBatt, @@GAUGE_NAME_VBAT@@, float, "%.2f" entry = VBatt, @@GAUGE_NAME_VBAT@@, float, "%.2f"
entry = engineLoad, @@GAUGE_NAME_ENGINE_LOAD@@, float, "%.1f" entry = engineLoad, @@GAUGE_NAME_ENGINE_LOAD@@, float, "%.1f"
entry = ignitionAdvance, @@GAUGE_NAME_TIMING_ADVANCE@@, float, "%.2f" entry = ignitionAdvance, @@GAUGE_NAME_TIMING_ADVANCE@@, float, "%.2f"
@ -763,9 +783,9 @@ gaugeCategory = Fuel Data
subMenu = cltIdleCurve, "Warmup IAC position manual Multiplier" subMenu = cltIdleCurve, "Warmup IAC position manual Multiplier"
subMenu = cltTimingCorrCurve, "Warmup timing correction" subMenu = cltTimingCorrCurve, "Warmup timing correction"
subMenu = std_separator subMenu = std_separator
subMenu = fuelTableTbl, "Fuel Table", 0, {fuelAlgorithm != 3} subMenu = fuelTableDialog, "Fuel Table", 0, {fuelAlgorithm != LM_SPEED_DENSITY}
subMenu = veTableDialog, "VE Table", 0, {fuelAlgorithm == 3} subMenu = veTableDialog, "VE Table", 0, {fuelAlgorithm == LM_SPEED_DENSITY}
subMenu = afrTableTbl, "Target AFR Table", 0, {fuelAlgorithm == 3} subMenu = afrTableTbl, "Target AFR Table", 0, {fuelAlgorithm == LM_SPEED_DENSITY}
subMenu = iatFuelCorrCurve, "Intake air temperature fuel Multiplier" subMenu = iatFuelCorrCurve, "Intake air temperature fuel Multiplier"
subMenu = injPhaseTableTbl, "Injection Phase" subMenu = injPhaseTableTbl, "Injection Phase"
subMenu = mapAccelTaper, "Engine Load Acceleration Enrichment Taper" subMenu = mapAccelTaper, "Engine Load Acceleration Enrichment Taper"
@ -776,7 +796,7 @@ gaugeCategory = Fuel Data
subMenu = std_separator subMenu = std_separator
subMenu = ignitionTableTbl, "Ignition Table" subMenu = ignitionTableTbl, "Ignition Table"
subMenu = ignitionIatCorrTableTbl, "Ignition Intake Air Temp correction" subMenu = ignitionIatCorrTableTbl, "Ignition Intake Air Temp correction"
subMenu = baroCorrTbl, "Baro Correction", 0, {fuelAlgorithm == 3} subMenu = baroCorrTbl, "Baro Correction", 0, {fuelAlgorithm == LM_SPEED_DENSITY}
subMenu = std_separator subMenu = std_separator
subMenu = std_realtime, "&Realtime Display", 0 subMenu = std_realtime, "&Realtime Display", 0
subMenu = tChargeSettings, "tCharge Settings" subMenu = tChargeSettings, "tCharge Settings"
@ -784,7 +804,7 @@ gaugeCategory = Fuel Data
menu = "3D Map Tuning" menu = "3D Map Tuning"
; subMenu = std_realtime, "Realtime Display" ; subMenu = std_realtime, "Realtime Display"
; subMenu = std_warmup, "Warmup Wizard" ; subMenu = std_warmup, "Warmup Wizard"
subMenu = fuelTableMap, "Fuel Table", 0, {fuelAlgorithm != 3} subMenu = fuelTableELMap, "Fuel Table", 0, {fuelAlgorithm != 3}
subMenu = veTableDialog3D, "VE Table", 0, {fuelAlgorithm == 3} subMenu = veTableDialog3D, "VE Table", 0, {fuelAlgorithm == 3}
subMenu = afrTableMap, "Target AFR Table", 0, {fuelAlgorithm == 3} subMenu = afrTableMap, "Target AFR Table", 0, {fuelAlgorithm == 3}
subMenu = injPhaseTableMap, "Injection Phase" subMenu = injPhaseTableMap, "Injection Phase"
@ -867,6 +887,28 @@ cmd_call_from_pit = "w\x00\x20\x34\x56"
[UserDefined] [UserDefined]
dialog = fuelTableBottomDialog, "", card
panel = fuelTableMAFTbl, Center, {fuelAlgorithm==LM_PLAIN_MAF}
panel = fuelTableTPSTbl, Center, {fuelAlgorithm==LM_ALPHA_N}
panel = fuelTableELTbl, Center
dialog = fuelTableRight, "", yAxis
topicHelp = "http://rusefi.com/fuel"
displayOnlyField = "Fuel Algorithm", fuelAlgorithm
panel = fuelTableBottomDialog, Center
liveGraph = fuelLive, "Fuel", South
graphLine = AFRValue
graphLine = RPMValue
dialog = fuelTableGaugesPanel, yAxis
gauge = TPSGauge
gauge = MAFGauge
gauge = MAPGauge
dialog = fuelTableDialog, "Fuel Table", xAxis
panel = fuelTableGaugesPanel
panel = fuelTableRight
dialog = tChargeSettings, "tChart Settings" dialog = tChargeSettings, "tChart Settings"
field = "MinRpm MinTps", tChargeMinRpmMinTps field = "MinRpm MinTps", tChargeMinRpmMinTps
field = "MinRpm MaxTps", tChargeMinRpmMaxTps field = "MinRpm MaxTps", tChargeMinRpmMaxTps