rusefi/firmware/tunerstudio/rusefi.input

2571 lines
120 KiB
Plaintext
Raw Normal View History

2016-07-20 20:03:00 -07:00
; this is TunerStudio project for www.rusefi.com DIY engine management system
2017-08-16 22:12:02 -07:00
;
; rusefi.ini is generated by invoking gen_config.bat (look inside for the exact command to run it outside of Windows)
; inputs are rusefi.input template and rusefi_config.txt file
;
2019-06-12 09:45:07 -07:00
;
2019-06-12 16:35:07 -07:00
; In TunerStudio some fields have little question mark on the left of the name for additional field tips.
2019-06-12 09:45:07 -07:00
; Those tips are defined in ../integraion/rusefi_config.txt file for example
;
; float bias_resistor;+Pull-up resistor value on your board;"Ohm"
; here 'bias_resistor' is internal field name and the text between semicolons is what produces the tooltip
; Note that '+' sign is required after first semicolon for tooltop to appear in TunerStudio
;
;
;
2016-07-20 20:03:00 -07:00
; this should stop TS from looking for the CAN ID in the 2nd byte location and allow the page reads to work correctly.
enable2ndByteCanID = false
;#unset tuneByMAF
2016-07-20 20:03:00 -07:00
[SettingGroups]
2017-06-19 01:19:12 -07:00
; the referenceName will over-ride previous, so if you are creating a
; settingGroup with a reference name of lambdaSensor, it will replace the
; setting group defined in the settingGroups.xml of the TunerStudio config
; folder. If is is an undefined referenceName, it will be added.
; keyword = referenceName, DisplayName
settingGroup = tuneVeMode, "VE Autotune Mode"
settingOption = tuneByTPS, "TPS-Based (See Injection -> Inj.Settings)"
settingOption = tuneByMAF, "MAF-Based"
settingOption = tuneByLoad, "Load-Based (Default)"
2017-06-19 19:29:03 -07:00
; settingGroup = fAlgorithmSetting, "Fuel Logic / Tables"
; settingOption = FA_PLAIN_MAF, "Plain MAF"
; 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.
2017-06-19 01:19:12 -07:00
2016-07-20 20:03:00 -07:00
[TunerStudio]
queryCommand = "S"
2017-05-07 05:20:23 -07:00
versionInfo = "V" ; firmwave version for title bar.
signature = @@TS_SIGNATURE@@ ; signature is expected to be 7 or more characters.
2016-07-20 20:03:00 -07:00
[Constants]
; new packet serial format with CRC
messageEnvelopeFormat = msEnvelope_1.0
endianness = little
nPages = 1
pageIdentifier = "\x00\x00"
pageReadCommand = "R\x00\x00%2o%2c"
burnCommand = "B\x00\x00"
pageActivate = "P\x00\x00"
pageValueWrite = "W\x00\x00%2o%v"
pageChunkWrite = "C\x00\x00%2o%2c%v"
; crc32CheckCommand = "k%2i%2o\xB8\x36"
2019-05-06 18:30:21 -07:00
;
; TODO: interesting - 0x36B8 equals 14008 which looks like pageSize at some point in the past? is this a defect here - should
; we have current pageSize or (pageSize + 8) here?
;
2016-07-20 20:03:00 -07:00
crc32CheckCommand = "k\x00\x00\x00\x00\x36\xB8"
;communication settings
pageActivationDelay = 500 ; Milliseconds delay after burn command. See https://sourceforge.net/p/rusefi/tickets/77/
;e.g. put writeblocks off and add an interwrite delay
writeBlocks = on
interWriteDelay = 10
blockReadTimeout = 3000; Milliseconds general timeout
2017-03-25 06:00:01 -07:00
; delayAfterPortOpen = 500
2016-12-25 10:02:34 -08:00
blockingFactor = 400 ; max chunk size
2016-07-20 20:03:00 -07:00
;end communication settings
; 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
; see PAGE_0_SIZE in C source code
; CONFIG_DEFINITION_START
2017-03-26 14:54:37 -07:00
; this section will be generated automatically by ConfigDefinition.jar based on rusefi_config.txt
2016-07-20 20:03:00 -07:00
; CONFIG_DEFINITION_END
2018-06-15 17:45:06 -07:00
idleRpmPid_offset = "Constant base value"
2019-02-10 19:47:49 -08:00
idleRpmPid_periodMs = "PID recalculation period"
2018-06-15 17:45:06 -07:00
2016-07-20 20:03:00 -07:00
[Tuning]
spotDepth = 2 ; 0 = no indicators, 1 = Z only, 2 = XYZ indicators.
cursorDepth = 2 ; Same as spot depth.
gaugeColumns = 1 ; Only 1 or 2 are valid.
pageButtons = "&EGO"
2017-06-19 19:29:03 -07:00
gauge1 = RPMGauge
2016-07-20 20:03:00 -07:00
gauge2 = afr1Gauge
2017-06-19 14:08:17 -07:00
gauge3 = MAPGauge
2016-07-20 20:03:00 -07:00
gauge4 = veValueGauge
2017-07-26 19:52:13 -07:00
[LoggerDefinition]
; valid logger types: composite, tooth, trigger, csv
loggerDef = compositeLogger, "Primary Trigger Logger", tooth
startCommand = "l\x01"
stopCommand = "l\x02"
dataReadCommand = "L"
dataReadTimeout = 10000 ; time in ms
dataReadyCondition = { toothLogReady }
2017-07-26 19:52:13 -07:00
2017-08-12 10:06:10 -07:00
; recordDef = headerLen, footerLen, recordLen
recordDef = 0, 0, 2; in bytes, the recordLen is for each record, currently limited to 4 bytes
2017-08-12 10:06:10 -07:00
; uint16 that stores 1/100 second
recordField = toothTime, "tooth", 0, 16, 0.01, "ms"
2017-08-12 10:06:10 -07:00
2016-07-20 20:03:00 -07:00
[VeAnalyze]
; tableName, lambdaTargetTableName, lambdaChannel, egoCorrectionChannel, activeCondition
#if tuneByMAF
2017-06-19 19:29:03 -07:00
veAnalyzeMap = fuelTableTbl, afrTableTbl, AFRValue, egoCorrection, { 1 }
2016-07-20 20:03:00 -07:00
#else
2017-06-19 19:29:03 -07:00
veAnalyzeMap = veTableTbl, afrTableTbl, AFRValue, egoCorrection, { 1 }
2016-07-20 20:03:00 -07:00
#endif
lambdaTargetTables = afrTableTbl, afrTSCustom
2016-07-20 20:03:00 -07:00
; filter = Name, "DisplayName", outputChannel, operator, defaultVal, userAdjustable
2017-06-19 19:29:03 -07:00
filter = minRPMFilter, "Minimum RPM", RPMValue, < , 500, , true
2016-07-20 20:03:00 -07:00
2018-08-26 14:35:06 -07:00
#if CELSIUS
2016-07-20 20:03:00 -07:00
filter = minCltFilter, "Minimum CLT", coolant, < , 60, , true
#else
filter = minCltFilter, "Minimum CLT", coolant, < , 160, , true
#endif
filter = deltaTps, "dTPS", deltaTps > , 50, , true
filter = VBatt, "VBatt", VBatt < , 12, , true
2018-03-22 05:12:34 -07:00
filter = minTps, "Minimum TPS", TPSValue, < , 1, , true
2016-07-20 20:03:00 -07:00
;[VeAnalyze]
2017-06-19 19:29:03 -07:00
; fuelAnalyzeMap = fuelTableTbl, afrTableTbl, AFRValue, egoCorrection , { 1 }
; filter = minRPMFilter, "Minimum RPM", RPMValue, < , 500, , true
2016-07-20 20:03:00 -07:00
[OutputChannels]
; see TS_FILE_VERSION in firmware code
fileVersion = { 20190701 }
2016-07-20 20:03:00 -07:00
2017-05-27 06:00:18 -07:00
ochGetCommand = "O%2o%2c"
2016-07-20 20:03:00 -07:00
2016-12-25 10:02:34 -08:00
; see TS_OUTPUT_SIZE in console source code
2017-01-02 12:03:26 -08:00
ochBlockSize = 356
2016-07-20 20:03:00 -07:00
2018-01-06 07:53:15 -08:00
;
; see TunerStudioOutputChannels struct
;
2017-06-19 19:29:03 -07:00
RPMValue = scalar, U32, 0, "RPM", 1, 0.00000
2016-07-20 20:03:00 -07:00
#if CELSIUS
coolant = scalar, F32, 4, "deg C", 1, 0.0
2016-07-20 20:03:00 -07:00
#else
coolant = scalar, F32, 4, "deg F", {9/5}, 17.77777
2016-07-20 20:03:00 -07:00
#endif
#if CELSIUS
intake = scalar, F32, 8, "deg C", 1, 0.0
2016-07-20 20:03:00 -07:00
#else
intake = scalar, F32, 8, "deg F", {9/5}, 17.77777
2016-07-20 20:03:00 -07:00
#endif
2017-06-19 01:19:12 -07:00
TPSValue = scalar, F32, 12, "%", 1, 0
MAFValue = scalar, F32, 16, "V", 1, 0
2017-06-19 19:29:03 -07:00
AFRValue = scalar, F32, 20, "AFR", 1, 0.0
2016-07-20 20:03:00 -07:00
engineLoad = scalar, F32, 24, "%", 1, 0.0 ; Blend of MAP and TPS, depends on algorithm
VBatt = scalar, F32, 28, "V", 1, 0.0
; 10 bit TPS ADC value (from 0 to 1023 in 5v scale)
tpsADC = scalar, U16, 32, "ADC", 1, 0.0;
2019-05-05 09:02:42 -07:00
tpsADC2 = scalar, U16, 34, "ADC", 1, 0.0;
2016-07-20 20:03:00 -07:00
baroPressure = scalar, F32, 36, "pres", 1, 0.0;
MAPValue = scalar, F32, 40, "MAP", 1, 0.0;
; total fuel squirt duration (in MS) per engine cycle according to current CLT
2019-03-12 18:48:28 -07:00
crankingFuelMs = scalar, F32, 44, "ms", 1, 0.0;
2016-07-20 20:03:00 -07:00
baseFuel = scalar, F32, 48, "ms", 1, 0
tCharge = scalar, F32, 52, "T", 1, 0.0;
2017-04-13 20:37:17 -07:00
ignitionAdvance = scalar, F32, 56, "deg", 1, 0.0;
2017-03-06 14:15:06 -08:00
sparkDwellValue = scalar, F32, 60, "ms", 1, 0.0;
2016-07-20 20:03:00 -07:00
; actual total Ms time per engine cycle with all corrections
2017-05-22 16:42:34 -07:00
actualLastInjection = scalar, F32, 64, "ms", 1, 0.0;
2016-07-20 20:03:00 -07:00
debugFloatField1 = scalar, F32, 68, "val", 1, 0.0;
hasSdCard = bits, U32, 72, [0:0], "true", "false";
isIgnitionEnabledIndicator=bits, U32, 72, [1:1], "true", "false";
ind_injection_enabled=bits,U32, 72, [2:2], "true", "false";
isCylinderCleanupEnabled=bits, U32, 72, [3:3], "true", "false";
isCylinderCleanupActivated=bits,U32,72, [4:4], "true", "false";
ind_fuel_pump = bits, U32, 72, [5:5], "true", "false";
ind_fan = bits, U32, 72, [6:6], "true", "false";
ind_o2_heater = bits, U32, 72, [7:7], "true", "false";
ind_check_engine= bits, U32, 72, [8:8], "true", "false";
needBurn = bits, U32, 72, [9:9], "true", "false";
ind_2nd_trigger_en=bits, U32, 72, [10:10], "true", "false";
clutchUpState =bits, U32, 72, [11:11], "true", "false";
clutchDownState =bits, U32, 72, [12:12], "true", "false";
knockEverIndicator=bits, U32, 72, [13:13], "true", "false";
knockNowIndicator=bits, U32, 72, [14:14], "true", "false";
2017-05-15 17:10:27 -07:00
brakePedalIndicator=bits, U32, 72, [15:15], "true", "false";
2017-07-26 19:52:13 -07:00
toothLogReady =bits, U32, 72, [16:16], "true", "false";
acSwitchIndicator =bits, U32, 72, [17:17], "true", "false";
2016-07-20 20:03:00 -07:00
vehicleSpeedKph = scalar, F32, 76, "kph", 1, 0.0;
ind_tps_error = bits, U32, 80, [0:0], "true", "false";
ind_clt_error = bits, U32, 80, [1:1], "true", "false";
ind_map_error = bits, U32, 80, [2:2], "true", "false";
ind_iat_error = bits, U32, 80, [3:3], "true", "false";
ind_isTriggerError = bits, U32, 80, [5:5], "true", "false";
ind_hasFatalError=bits, U32, 80, [6:6], "true", "false";
ind_isWarnNow =bits, U32, 80, [7:7], "true", "false";
2016-12-25 10:02:34 -08:00
firmwareTsVersion = scalar,U32, 84, "version_p", 1, 0
egt1 = scalar, S16, 88, "deg C", 1, 0
egt2 = scalar, S16, 90, "deg C", 1, 0
egt3 = scalar, S16, 92, "deg C", 1, 0
egt4 = scalar, S16, 94, "deg C", 1, 0
egt5 = scalar, S16, 96, "deg C", 1, 0
egt6 = scalar, S16, 98, "deg C", 1, 0
egt7 = scalar, S16, 100, "deg C", 1, 0
egt8 = scalar, S16, 102, "deg C", 1, 0
2016-07-20 20:03:00 -07:00
rpmAcceleration = scalar, F32, 104, "dRpm", 1, 0
massAirFlowValue= scalar, F32, 108, "Kg/h", 1, 0
veValue = scalar, F32, 112, "ratio", 1, 0
deltaTps = scalar, F32, 116, "ratio", 1, 0
triggerErrorsCounter = scalar, U32,120, "counter", 1, 0
engineLoadAccelExtra = scalar,F32, 124, "value", 1, 0
tpsAccelFuel = scalar, F32, 128, "ms", 1, 0
baroCorrection = scalar, F32, 132, "%", 1, 0
pedalPosition = scalar, F32, 136, "%", 1, 0
injectorDutyCycle= scalar, F32, 140, "%", 1, 0
knockCount = scalar, U32, 144, "counter", 1, 0
2019-03-14 10:28:51 -07:00
fuelTankLevel = scalar, F32, 148, "amount", 1, 0
2016-07-20 20:03:00 -07:00
knockLevel = scalar, F32, 152, "Volts", 1, 0
; totalTriggerErrorCounter 156
wallFuelAmount = scalar, F32, 160, "ms", 1, 0
iatCorrection = scalar, F32, 164, "%", 1, 0
wallFuelCorrection = scalar, F32, 168, "ms", 1, 0
2017-06-04 17:56:58 -07:00
idleAirValvePosition = scalar, F32, 172, "percent", 1, 0
2017-05-22 16:42:34 -07:00
currentTargetAfr = scalar, F32, 176, "ratio", 1, 0
chargeAirMass = scalar, F32, 180, "g", 1, 0
2016-07-20 20:03:00 -07:00
cltCorrection = scalar, F32, 184, "%", 1, 0
2017-05-22 16:42:34 -07:00
fuelRunning = scalar, F32, 188, "g", 1, 0
2019-03-02 12:08:29 -08:00
debugIntField1 = scalar, S32, 192, "val", 1, 0.0;
2018-01-17 16:18:48 -08:00
injectorLagMs = scalar, F32, 196, "ms", 1, 0.0;
2016-07-20 20:03:00 -07:00
debugFloatField2 = scalar, F32, 200, "val", 1, 0.0;
debugFloatField3 = scalar, F32, 204, "val", 1, 0.0;
debugFloatField4 = scalar, F32, 208, "val", 1, 0.0;
debugFloatField5 = scalar, F32, 212, "val", 1, 0.0;
2019-03-02 12:08:29 -08:00
debugIntField2 = scalar, S32, 216, "val", 1, 0.0;
debugIntField3 = scalar, S32, 220, "val", 1, 0.0;
timeSeconds = scalar, U32, 224, "sec", 1, 0.0;
2016-07-20 20:03:00 -07:00
engineLoadDelta = scalar,F32, 228, "value", 1, 0
speedToRpmRatio = scalar,F32, 232, "value", 1, 0
warningCounter = scalar,U16, 236, "count", 1, 0
lastErrorCode = scalar,U16, 240, "error", 1, 0
2016-07-20 20:03:00 -07:00
internalMcuTemperature = scalar,F32, 244, "C", 1, 0
2016-08-23 20:03:01 -07:00
vvtPosition = scalar,F32, 248, "deg", 1, 0
2016-09-20 18:02:46 -07:00
engineMode = scalar, U32, 252, "em", 1, 0.0;
debugFloatField6 = scalar, F32, 256, "val", 1, 0.0;
debugFloatField7 = scalar, F32, 260, "val", 1, 0.0;
2016-12-25 10:02:34 -08:00
firmwareVersion = scalar,U32, 264, "version_f", 1, 0
2017-01-22 14:03:31 -08:00
fuelPidCorrection = scalar, F32, 268, "ms", 1, 0
2017-03-06 22:28:26 -08:00
coilDutyCycle = scalar, F32, 272, "perc", 1, 0
2017-08-28 19:55:29 -07:00
accelerationX = scalar, S16, 276, "G", 0.01, 0
accelerationY = scalar, S16, 278, "G", 0.01, 0
2018-06-12 06:31:15 -07:00
oilPressure = scalar, F32, 280, "kPa", 1, 0.0
fuelConsumptionPerHour=scalar, F32, 284, "kPa", 1, 0.0
injectionOffset = scalar, F32, 288, "deg", 1, 0;
2018-10-10 19:19:20 -07:00
debugIntField4 = scalar, S16, 292, "val", 1, 0.0;
debugIntField5 = scalar, S16, 294, "val", 1, 0.0;
recentErrorCode0 = scalar,U16, 296, "error", 1, 0
recentErrorCode1 = scalar,U16, 298, "error", 1, 0
recentErrorCode2 = scalar,U16, 300, "error", 1, 0
recentErrorCode3 = scalar,U16, 302, "error", 1, 0
recentErrorCode4 = scalar,U16, 304, "error", 1, 0
recentErrorCode5 = scalar,U16, 306, "error", 1, 0
recentErrorCode6 = scalar,U16, 308, "error", 1, 0
recentErrorCode7 = scalar,U16, 310, "error", 1, 0
etbTarget = scalar,F32, 312, "%", 1, 0
etb1DutyCycle = scalar,F32, 316, "%", 1, 0
etb1Error = scalar,F32, 320, "%", 1, 0
2018-10-10 19:19:20 -07:00
2018-01-06 07:53:15 -08:00
;
; see TunerStudioOutputChannels struct
;
2016-07-20 20:03:00 -07:00
2017-06-19 19:29:03 -07:00
; todo: generate this section programatically
LM_PLAIN_MAF = {0},
LM_ALPHA_N = {1},
LM_MAP = {2},
LM_SPEED_DENSITY = {3},
LM_REAL_MAF = {4}
2016-07-20 20:03:00 -07:00
egoCorrection = { 100 }
time = { timeNow }
2016-08-28 13:02:34 -07:00
; engineLoad = { fuleAlgorithm == 0 ? MAF : TPS }
2016-07-20 20:03:00 -07:00
[PcVariables]
wueAfrTargetOffset = array, S16, [ 16], ":1", 0.1, 0.0, -3.0, 3.0, 1;
wueAnalRecommend = array, U08, [ 16], "%", 1.00, 0.0, 100, 255.00, 0
[ConstantsExtensions]
defaultValue = wueAfrTargetOffset, -1.5 -1.4 -1.15 -0.95 -0.775 -0.65 -0.5625 -0.5 -0.4375 -0.375 -0.3125 -0.25 -0.1875 -0.125 -0.0625 0
2016-07-20 20:03:00 -07:00
[CurveEditor]
; xAxis = leftValue, rightValue, step
; yAxis = bottomValue, topValue, step
curve = knockThresholdCurve, "Engine knock threshold RPM based"
columnLabel = "RPM", "Threshold"
xAxis = 0, 8000, 10
yAxis = 0, 8, 10
2017-06-19 19:29:03 -07:00
xBins = knockNoiseRpmBins, RPMValue
2016-07-20 20:03:00 -07:00
yBins = knockNoise
2018-02-12 10:13:01 -08:00
gauge = RPMGauge
2016-07-20 20:03:00 -07:00
2017-10-29 17:29:02 -07:00
curve = narrowToWideOxygenCurve, "Narrow to Wideband approximation"
2017-11-07 05:41:19 -08:00
columnLabel = "Voltage", "AFR"
2017-10-29 17:29:02 -07:00
xAxis = 0, 6, 10
yAxis = 0, 28, 10
xBins = narrowToWideOxygenBins
yBins = narrowToWideOxygen
gauge = afr1Gauge
2017-11-25 22:17:37 -08:00
curve = fsioCurve1, "FSIO Curve #1"
columnLabel = "X", "Y"
xAxis = 0, 128, 10
2017-11-27 18:49:58 -08:00
yAxis = -155, 150, 10
2017-11-25 22:17:37 -08:00
xBins = fsioCurve1Bins
yBins = fsioCurve1
curve = fsioCurve2, "FSIO Curve #2"
columnLabel = "X", "Y"
xAxis = 0, 128, 10
2017-11-27 18:49:58 -08:00
yAxis = -150, 150, 10
2017-11-25 22:17:37 -08:00
xBins = fsioCurve2Bins
yBins = fsioCurve2
curve = fsioCurve3, "FSIO Curve #3"
columnLabel = "X", "Y"
xAxis = 0, 128, 10
yAxis = -5, 5, 10
xBins = fsioCurve3Bins
yBins = fsioCurve3
curve = fsioCurve4, "FSIO Curve #4"
columnLabel = "X", "Y"
xAxis = 0, 128, 10
yAxis = -5, 5, 10
xBins = fsioCurve4Bins
yBins = fsioCurve4
2016-07-20 20:03:00 -07:00
curve = mapAccelTaper, "Engine Load Acceleration Enrichment Taper"
columnLabel = "Distance", "Multiplier"
xAxis = 0, 128, 10
yAxis = -5, 5, 10
xBins = mapAccelTaperBins
yBins = mapAccelTaperMult
curve = dwellCorrection, "Dwell time RPM based"
columnLabel = "RPM", "Dwell"
xAxis = 0, 8000, 10
yAxis = 0, 30, 10
2017-06-19 19:29:03 -07:00
xBins = sparkDwellRpmBins, RPMValue
2017-02-18 12:01:47 -08:00
yBins = sparkDwellValues
2018-02-12 10:13:01 -08:00
gauge = RPMGauge
2016-07-20 20:03:00 -07:00
curve = map_samplingAngleCurve, "MAP Sampling Start Angle"
columnLabel = "RPM", "Angle"
xAxis = 0, 8000, 10
yAxis = 0, 180, 10
2017-06-19 19:29:03 -07:00
xBins = map_samplingAngleBins, RPMValue
2016-07-20 20:03:00 -07:00
yBins = map_samplingAngle
gauge = MAPGauge
2016-07-20 20:03:00 -07:00
curve = map_samplingWindowCurve, "MAP Sampling Duration"
columnLabel = "RPM", "Window"
xAxis = 0, 8000, 10
yAxis = 0, 180, 10
2017-06-19 19:29:03 -07:00
xBins = map_samplingWindowBins, RPMValue
2016-07-20 20:03:00 -07:00
yBins = map_samplingWindow
gauge = MAPGauge
2016-07-20 20:03:00 -07:00
2016-07-24 21:03:13 -07:00
curve = injectorsDeadTime, "Injector Dead Time by VBatt"
2016-07-20 20:03:00 -07:00
columnLabel = "Voltage", "Dead Time"
xAxis = 8, 21, 10
yAxis = -3, 3, 10
xBins = injector_battLagCorrBins, VBatt
yBins = injector_battLagCorr
gauge = VBattGauge
curve = mafDecodingCurve, "MAF sensor"
2016-07-20 20:03:00 -07:00
columnLabel = "Voltage", "kg/hour"
xAxis = -1, 6, 10
yAxis = -30, 1300, 10
2017-06-19 01:19:12 -07:00
xBins = mafDecodingBins, MAFValue
2016-07-20 20:03:00 -07:00
yBins = mafDecoding
2017-06-19 01:19:12 -07:00
gauge = MAFGauge
2016-07-20 20:03:00 -07:00
curve = iatFuelCorrCurve, "Intake air temperature fuel Multiplier"
columnLabel = "Coolant", "Multiplier"
2018-08-26 14:35:06 -07:00
#if CELSIUS
2016-07-20 20:03:00 -07:00
xAxis = -40, 120, 10
2018-08-26 14:35:06 -07:00
#else
xAxis = -40, 250, 10
#endif
yAxis = 0, 2, 11
2016-07-20 20:03:00 -07:00
xBins = iatFuelCorrBins, intake
yBins = iatFuelCorr
gauge = IATGauge
2017-01-05 18:12:06 -08:00
curve = cltTimingCorrCurve, "Warmup timing correction"
columnLabel = "Coolant", "Extra"
2018-08-26 14:35:06 -07:00
#if CELSIUS
2017-01-05 18:12:06 -08:00
xAxis = -40, 120, 10
2018-08-26 14:35:06 -07:00
#else
xAxis = -40, 250, 10
#endif
2018-01-17 17:11:33 -08:00
yAxis = 0, 50, 10
2017-01-05 18:12:06 -08:00
xBins = cltTimingBins, coolant
yBins = cltTimingExtra
gauge = CLTGauge
2016-07-20 20:03:00 -07:00
curve = cltFuelCorrCurve, "Warmup fuel manual Multiplier"
columnLabel = "Coolant", "Multiplier"
2018-08-26 14:35:06 -07:00
#if CELSIUS
2019-03-21 17:26:14 -07:00
xAxis = -40, 100, 10
2018-08-26 14:35:06 -07:00
#else
2019-03-21 17:26:14 -07:00
xAxis = -40, 210, 10
2018-08-26 14:35:06 -07:00
#endif
yAxis = 0, 3, 10
2016-07-20 20:03:00 -07:00
xBins = cltFuelCorrBins, coolant
yBins = cltFuelCorr
gauge = CLTGauge
curve = crankingCltCurve, "Cranking Coolant Temperature Multiplier"
2016-07-20 20:03:00 -07:00
columnLabel = "Coolant", "Multiplier"
2018-08-26 14:35:06 -07:00
#if CELSIUS
2019-03-21 17:26:14 -07:00
xAxis = -40, 100, 10
2018-08-26 14:35:06 -07:00
#else
2019-03-21 17:26:14 -07:00
xAxis = -40, 210, 10
2018-08-26 14:35:06 -07:00
#endif
yAxis = 0, 3, 10
2016-07-20 20:03:00 -07:00
xBins = crankingFuelBins, coolant
yBins = crankingFuelCoef
gauge = CLTGauge
2018-12-09 10:50:13 -08:00
curve = etbTpsBiasCurve, "Electronic TB Bias Curve"
columnLabel = "TPS", "duty bias"
xAxis = 0, 100, 10
yAxis = 0, 100, 10
xBins = etbBiasBins, TPSValue
yBins = etbBiasValues
gauge = TPSGauge
2016-07-20 20:03:00 -07:00
curve = crankingTpsCurve, "Cranking TPS Multiplier"
columnLabel = "TPS", "Multiplier"
2018-08-26 14:35:06 -07:00
xAxis = 0, 100, 10
yAxis = 0, 3, 10
2017-06-19 01:19:12 -07:00
xBins = crankingTpsBins, TPSValue
2016-07-20 20:03:00 -07:00
yBins = crankingTpsCoef
2017-06-19 01:19:12 -07:00
gauge = TPSGauge
2016-07-20 20:03:00 -07:00
curve = crankingDurationCurve, "Cranking Duration Multiplier"
columnLabel = "Engine Cycle", "Multiplier"
xAxis = 0, 1000, 10
yAxis = 0, 3, 10
2016-07-20 20:03:00 -07:00
xBins = crankingCycleBins
yBins = crankingCycleCoef
curve = cltIdleCurve, "Warmup Idle multiplier"
2016-07-20 20:03:00 -07:00
columnLabel = "Coolant", "Multiplier"
2018-08-26 14:35:06 -07:00
#if CELSIUS
2016-07-20 20:03:00 -07:00
xAxis = -40, 120, 10
2018-08-26 14:35:06 -07:00
#else
xAxis = -40, 250, 10
#endif
yAxis = 0, 3, 10
2016-07-20 20:03:00 -07:00
xBins = cltIdleCorrBins, coolant
yBins = cltIdleCorr
gauge = CLTGauge
curve = iacCoastingCurve, "Coasting IAC Position for Auto-Idle"
columnLabel = "Coolant", "Multiplier"
2018-08-26 14:35:06 -07:00
#if CELSIUS
xAxis = -40, 120, 10
2018-08-26 14:35:06 -07:00
#else
xAxis = -40, 250, 10
#endif
yAxis = 0, 100, 10
xBins = iacCoastingBins, coolant
yBins = iacCoasting
gauge = idleAirValvePositionGauge
2019-05-25 10:36:29 -07:00
curve = cltCrankingCurve, "Cranking Idle Air multiplier"
columnLabel = "Coolant", "Multiplier"
2018-08-26 14:35:06 -07:00
#if CELSIUS
xAxis = -40, 120, 10
2018-08-26 14:35:06 -07:00
#else
xAxis = -40, 250, 10
#endif
yAxis = 0, 3, 10
xBins = cltCrankingCorrBins, coolant
yBins = cltCrankingCorr
gauge = CLTGauge
curve = cltIdleRPMCurve, "Idle Target RPM"
columnLabel = "Coolant", "RPM"
2018-08-26 14:35:06 -07:00
#if CELSIUS
xAxis = -40, 120, 10
2018-08-26 14:35:06 -07:00
#else
xAxis = -40, 250, 10
#endif
2018-01-07 09:11:49 -08:00
yAxis = 0, 8000, 10
xBins = cltIdleRpmBins, coolant
yBins = cltIdleRpm, RPMValue
gauge = CLTGauge
curve = idleAdvanceCurve, "Idle Advance Angle"
columnLabel = "RPM", "degrees"
2018-01-07 09:11:49 -08:00
xAxis = 0, 8000, 10
yAxis = -100, 100, 10
xBins = idleAdvanceBins, RPMValue
yBins = idleAdvance
gauge = RPMGauge
curve = idleVeCurve, "Idle VE"
columnLabel = "RPM", "%"
2018-01-07 09:11:49 -08:00
xAxis = 0, 8000, 10
yAxis = 0, 250, 10
xBins = idleVeBins, RPMValue
yBins = idleVe
gauge = afr1Gauge
curve = crankingAdvanceCurve, "Cranking Advance Angle"
columnLabel = "RPM", "degrees"
xAxis = 0, 8000, 10
yAxis = -100, 100, 10
xBins = crankingAdvanceBins, RPMValue
yBins = crankingAdvance
gauge = RPMGauge
curve = wueAfrTargetOffsetCurve, "AFR Target Temperature Adjustment"
columnLabel = "Coolant", "AFR Offset"
2018-08-26 14:35:06 -07:00
#if CELSIUS
xAxis = -40, 200, 9
2018-08-26 14:35:06 -07:00
#else
xAxis = -40, 400, 9
#endif
yAxis = -3, 1, 5
xBins = cltFuelCorrBins, coolant
yBins = wueAfrTargetOffset
gauge = cltGauge
curve = wueAnalyzer_warmup_curve, "Warmup Enrichment"
columnLabel = "Coolant", "Current WUE", "Coolant", "Corrected"
2018-08-26 14:35:06 -07:00
#if CELSIUS
xAxis = -40, 200, 9
2018-08-26 14:35:06 -07:00
#else
xAxis = -40, 400, 9
#endif
yAxis = 90, 500, 6
xBins = cltFuelCorrBins, coolant
yBins = cltFuelCorr
yBins = wueAnalRecommend
;gauge = cltGauge
lineLabel = "Warmup Correction"
lineLabel = "Recommended WUE"
2016-07-20 20:03:00 -07:00
[TableEditor]
; table_id, map3d_id, "title", page
2017-06-19 19:29:03 -07:00
table = fuelTableMAFTbl, fuelTableMAFMap, "Fuel Table", 1
2019-03-12 17:22:40 -07:00
topicHelp = "fuelHelp"
2016-07-20 20:03:00 -07:00
; constant, variable
2017-06-19 19:29:03 -07:00
xBins = fuelRpmBins, RPMValue
2017-06-19 01:19:12 -07:00
yBins = fuelLoadBins, MAFValue
2017-06-19 19:29:03 -07:00
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
2019-03-12 17:22:40 -07:00
topicHelp = "fuelHelp"
2017-06-19 19:29:03 -07:00
; constant, variable
xBins = fuelRpmBins, RPMValue
2017-06-19 01:19:12 -07:00
yBins = fuelLoadBins, TPSValue
2017-06-19 19:29:03 -07:00
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
2019-03-12 17:22:40 -07:00
topicHelp = "fuelHelp"
2017-06-19 19:29:03 -07:00
; constant, variable
xBins = fuelRpmBins, RPMValue
2016-07-20 20:03:00 -07:00
yBins = fuelLoadBins, engineLoad
zBins = fuelTable
; gridHeight = 2.0
gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees.
upDownLabel = "(RICHER)", "(LEANER)"
2018-01-02 09:29:04 -08:00
; move table into a panel? or find a way to add a link to https://rusefi.com//wiki/index.php?title=Manual:Software:TPSTPS
table = tpsTpsAccelTbl, tpsTpsAccelMap, "TPS/TPS Acceleration Extra Fuel(ms)", 1
2019-03-12 17:22:40 -07:00
topicHelp = "tpstpsHelp"
2017-06-19 01:19:12 -07:00
xBins = tpsTpsAccelFromRpmBins, TPSValue
yBins = tpsTpsAccelToRpmBins, TPSValue
2016-07-20 20:03:00 -07:00
zBins = tpsTpsAccelTable
2017-11-25 22:17:37 -08:00
2016-07-20 20:03:00 -07:00
table = fsioTable1Tbl, fsioTable1Map, "FSIO Table #1", 1
2017-06-19 19:29:03 -07:00
xBins = fsioTable1RpmBins, RPMValue
2016-07-20 20:03:00 -07:00
yBins = fsioTable1LoadBins, engineLoad
zBins = fsioTable1
table = fsioTable2Tbl, fsioTable2Map, "FSIO Table #2", 1
2017-06-19 19:29:03 -07:00
xBins = fsioTable2RpmBins, RPMValue
2016-07-20 20:03:00 -07:00
yBins = fsioTable2LoadBins, engineLoad
zBins = fsioTable2
table = fsioTable3Tbl, fsioTable3Map, "FSIO Table #3", 1
2017-06-19 19:29:03 -07:00
xBins = fsioTable3RpmBins, RPMValue
2016-07-20 20:03:00 -07:00
yBins = fsioTable3LoadBins, engineLoad
zBins = fsioTable3
table = fsioTable4Tbl, fsioTable4Map, "FSIO Table #4", 1
2017-06-19 19:29:03 -07:00
xBins = fsioTable4RpmBins, RPMValue
2016-07-20 20:03:00 -07:00
yBins = fsioTable4LoadBins, engineLoad
zBins = fsioTable4
table = baroCorrTbl, baroCorrMap, "Baro Correction", 1
; constant, variable
2017-06-19 19:29:03 -07:00
xBins = baroCorrRpmBins, RPMValue
2016-07-20 20:03:00 -07:00
yBins = baroCorrPressureBins, baroPressure
zBins = baroCorrTable
; gridHeight = 2.0
gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees.
upDownLabel = "(RICHER)", "(LEANER)"
table = ignitionTableTbl, ignitionTableMap, "Ignition Table", 1
; constant, variable
2017-06-19 19:29:03 -07:00
xBins = ignitionRpmBins, RPMValue
2017-06-19 01:19:12 -07:00
#if FA_PLAIN_MAF
yBins = ignitionLoadBins, MAFValue
#elif FA_TPS
yBins = ignitionLoadBins, TPSValue
#else
2016-07-20 20:03:00 -07:00
yBins = ignitionLoadBins, engineLoad
2017-06-19 01:19:12 -07:00
#endif
2016-07-20 20:03:00 -07:00
zBins = ignitionTable
; gridHeight = 2.0
gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees.
upDownLabel = "(RICHER)", "(LEANER)"
2017-06-19 01:19:12 -07:00
table = ignitionTpsTableTbl, ignitionTableMap, "Ignition TPS Table", 1
; constant, variable
; Currently we share ignitionRpmBins between two advance tables... Is it ok?
xBins = ignitionRpmBins, RPMValue
yBins = ignitionTpsBins, TPSValue
zBins = ignitionTpsTable
gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees.
upDownLabel = "(RICHER)", "(LEANER)"
2016-07-20 20:03:00 -07:00
table = ignitionIatCorrTableTbl, ignitionIatCorrTableMap, "Ignition Intake Air Temp correction", 1
; constant, variable
2017-06-19 19:29:03 -07:00
xBins = ignitionIatCorrRpmBins, RPMValue
2016-07-20 20:03:00 -07:00
yBins = ignitionIatCorrLoadBins, intake
zBins = ignitionIatCorrTable
; gridHeight = 2.0
gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees.
upDownLabel = "(RICHER)", "(LEANER)"
table = veTableTbl, veTableMap, "VE Table", 1
; constant, variable
2017-06-19 19:29:03 -07:00
xBins = veRpmBins, RPMValue
#if tuneByTPS
yBins = ignitionTpsBins, TPSValue
#else
2016-07-20 20:03:00 -07:00
yBins = veLoadBins, MAPValue
#endif
2016-07-20 20:03:00 -07:00
zBins = veTable
; gridHeight = 2.0
gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees.
upDownLabel = "(RICHER)", "(LEANER)"
table = injPhaseTableTbl, injPhaseTableMap, "Injection Phase", 1
2019-03-12 17:22:40 -07:00
topicHelp = "fuelHelp"
2016-07-20 20:03:00 -07:00
; constant, variable
2017-06-19 19:29:03 -07:00
xBins = injPhaseRpmBins, RPMValue
2016-07-20 20:03:00 -07:00
yBins = injPhaseLoadBins, engineLoad
zBins = injectionPhase
; gridHeight = 2.0
gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees.
upDownLabel = "(Later)", "(Sooner)"
2019-06-10 20:38:44 -07:00
table = pedalToTpsTbl, pedalToTpsMap, "ETB Pedal to TPS", 1
; constant, variable
xBins = pedalToTpsRpmBins, RPMValue
2019-06-10 20:57:35 -07:00
yBins = pedalToTpsPedalBins, pedalPosition
2019-06-10 20:38:44 -07:00
zBins = pedalToTpsTable
; gridHeight = 2.0
gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees.
upDownLabel = "(Later)", "(Sooner)"
2016-07-20 20:03:00 -07:00
table = afrTableTbl, afrTableMap, "Target AFR Table", 1
; constant, variable
2017-06-19 19:29:03 -07:00
xBins = afrRpmBins, RPMValue
2016-07-20 20:03:00 -07:00
yBins = afrLoadBins, MAPValue
zBins = afrTable
; gridHeight = 2.0
gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees.
upDownLabel = "(RICHER)", "(LEANER)"
[GaugeConfigurations]
gaugeCategory = Sensors - Extra 2
2016-07-20 20:03:00 -07:00
egt1Gauge = egt1, "EGT#1", "C", 0, 2000
egt2Gauge = egt2, "EGT#2", "C", 0, 2000
egt3Gauge = egt3, "EGT#3", "C", 0, 2000
egt4Gauge = egt4, "EGT#4", "C", 0, 2000
egt5Gauge = egt5, "EGT#5", "C", 0, 2000
egt6Gauge = egt6, "EGT#6", "C", 0, 2000
egt7Gauge = egt7, "EGT#7", "C", 0, 2000
egt8Gauge = egt8, "EGT#8", "C", 0, 2000
rpmAccelerationGa = rpmAcceleration, "rpm delta", "dRpm", 0, 3, 0, 1, 3, 4, 1, 1
knockCountGauge = knockCount,"Knock count", "count", 0, 120, 10, 10, 100, 100, 1, 1
knockLevelGauge = knockLevel,"Knock level", "volts", 0, 7, 10, 10, 100, 100, 1, 2
fuelTankLevelGauge = fuelTankLevel,"Fuel level", "x", 0, 7, 10, 10, 100, 100, 1, 2
2017-06-19 14:08:17 -07:00
speedToRpmRatioGauge = speedToRpmRatio, "speed2rpm", "", 0, 100, 0, 0, 100, 100, 4, 4
2019-03-12 11:35:49 -07:00
gaugeCategory = ECU Status
warningCounterGauge = warningCounter, "Warning count", "", 0, 100, 0, 0, 100, 100, 0, 0
lastErrorCodeGauge = lastErrorCode, "Last error", "", 0, 18000, 0, 0, 18000, 18000, 0, 0
triggerErrorsCounterGauge = triggerErrorsCounter, "Trigger error count", "count", 0, 15000, 0, 0, 6000, 6000, 0, 0
2019-03-12 11:35:49 -07:00
recentErrorCode0Gauge = recentErrorCode0, "Error#1", "", 0, 18000, 0, 0, 18000, 18000, 0, 0
recentErrorCode1Gauge = recentErrorCode1, "Error#2", "", 0, 18000, 0, 0, 18000, 18000, 0, 0
recentErrorCode2Gauge = recentErrorCode2, "Error#3", "", 0, 18000, 0, 0, 18000, 18000, 0, 0
recentErrorCode3Gauge = recentErrorCode3, "Error#4", "", 0, 18000, 0, 0, 18000, 18000, 0, 0
recentErrorCode4Gauge = recentErrorCode4, "Error#5", "", 0, 18000, 0, 0, 18000, 18000, 0, 0
recentErrorCode5Gauge = recentErrorCode5, "Error#6", "", 0, 18000, 0, 0, 18000, 18000, 0, 0
recentErrorCode6Gauge = recentErrorCode6, "Error#7", "", 0, 18000, 0, 0, 18000, 18000, 0, 0
recentErrorCode7Gauge = recentErrorCode7, "Error#8", "", 0, 18000, 0, 0, 18000, 18000, 0, 0
firmwareVersionGauge = firmwareVersion , "ECU Software Version", "%", 0, 100, 0, 0, 100, 100, 0, 0
timeSecondsGauge = timeSeconds, "Uptime", "sec", 0, 100, 0, 0, 100, 100, 0, 0
2017-06-19 14:08:17 -07:00
gaugeCategory = Debug
debugFloatField1Gauge = debugFloatField1, @@GAUGE_NAME_DEBUG_F1@@, "%", 0, 100, 0, 0, 100, 100, 4, 4
debugFloatField2Gauge = debugFloatField2, @@GAUGE_NAME_DEBUG_F2@@, "%", -100, 100, 0, 0, 100, 100, 4, 4
debugFloatField3Gauge = debugFloatField3, @@GAUGE_NAME_DEBUG_F3@@, "%", -100, 100, 0, 0, 100, 100, 4, 4
debugFloatField4Gauge = debugFloatField4, @@GAUGE_NAME_DEBUG_F4@@, "%", 0, 100, 0, 0, 100, 100, 4, 4
debugFloatField5Gauge = debugFloatField5, @@GAUGE_NAME_DEBUG_F5@@, "%", 0, 100, 0, 0, 100, 100, 4, 4
debugFloatField6Gauge = debugFloatField6, @@GAUGE_NAME_DEBUG_F6@@, "%", -100, 100, 0, 0, 100, 100, 4, 4
debugFloatField7Gauge = debugFloatField7, @@GAUGE_NAME_DEBUG_F7@@, "%", 0, 100, 0, 0, 100, 100, 4, 4
2017-07-23 15:50:05 -07:00
debugIntField1Gauge = debugIntField1, "debug i1: pParam", "%", 0, 100, 0, 0, 100, 100, 0, 0
debugIntField2Gauge = debugIntField2, "debug i2: offset", "%", 0, 100, 0, 0, 100, 100, 0, 0
2016-07-20 20:03:00 -07:00
debugIntField3Gauge = debugIntField3, "debug i3", "%", 0, 100, 0, 0, 100, 100, 0, 0
2019-03-02 10:26:20 -08:00
debugIntField4Gauge = debugIntField4, "debug i4", "%", 0, 100, 0, 0, 100, 100, 0, 0
debugIntField5Gauge = debugIntField5, "debug i5", "%", 0, 100, 0, 0, 100, 100, 0, 0
gaugeCategory = Sensors - Basic
RPMGauge = RPMValue, "RPM - engine speed", "RPM", 0, 15000, 200, 500, 6000, 6000, 0, 0
2017-06-19 14:08:17 -07:00
#if CELSIUS
CLTGauge = coolant, "Coolant temp", "deg C", -40, 140, -15, 1, 95, 110, 1, 1
2017-06-19 14:08:17 -07:00
#else
CLTGauge = coolant, "Coolant temp", "deg F", -40, 285, 5, 35, 205, 230, 1, 1
2017-06-19 14:08:17 -07:00
#endif
#if CELSIUS
IATGauge = intake, "Intake air temp", "deg C", -40, 140, -15, 1, 95, 110, 1, 1
2017-06-19 14:08:17 -07:00
#else
IATGauge = intake, "Intake air temp", "deg F", -40, 285, 5, 35, 205, 230, 1, 1
2017-06-19 14:08:17 -07:00
#endif
afr1Gauge = AFRValue, "Air fuel ratio", "", 10, 19.4, 12, 13, 15, 16, 2, 2
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
2017-06-19 14:08:17 -07:00
MAPGauge = MAPValue, "MAP", "kPa", 0, 300, 10, 10, 200, 200, 0, 0
massAirFlowValueGa = massAirFlowValue,"Mass air flow", "kg/hr", 0, 50, -999, -999, 999, 999, 1, 1
2019-02-26 19:32:17 -08:00
gaugeCategory = Sensors - Extra 1
VSSGauge = vehicleSpeedKph, "Vehicle speed", "kmh", 0, 200, 0, 1, 3, 4, 1, 1
2017-08-28 19:55:29 -07:00
accelerationXGauge = accelerationX, @@GAUGE_NAME_ACCEL_X@@, "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1
accelerationYGauge = accelerationY, @@GAUGE_NAME_ACCEL_Y@@, "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1
atmPresCGauge = baroPressure, "Barometric pressure", "kPa", 0, 1024, 0, 0, 0, 0, 0, 0
2019-02-26 19:32:17 -08:00
vvtPositionGauge = vvtPosition, "VVT position", "deg", 0, 100, 0, 0, 720, 720, 0, 0
internalMcuTemperatureGauge = internalMcuTemperature, @@GAUGE_NAME_ECU_TEMPERATURE@@, "C", 0, 100, 0, 0, 75, 100, 0, 0
2019-02-26 19:32:17 -08:00
OilPressGauge = oilPressure, "Oil Pressure", "kPa", 0, 750, 35, 75, 550, 700, 0, 0
idleAirValvePositionGauge = idleAirValvePosition, "Idle position", "%", 0, 100, 0, 0, 100, 100, 1, 1
2017-06-19 14:08:17 -07:00
gaugeCategory = Ignition
ignadvGauge = ignitionAdvance, "Ignition timing", "degrees", -100, 100, -999, -999, 999, 999, 1, 1
2017-06-19 14:08:17 -07:00
dwellGauge = sparkDwellValue, "Dwell", "mSec", 0, 10, 0.5, 1.0, 6.0, 8.0, 1, 1
coilDutyCycleGauge = coilDutyCycle, @@GAUGE_NAME_DWELL_DUTY@@, "perc", -11, 11, 1.0, 1.2, 100, 100, 3, 1
gaugeCategory = Acceleration Enrichment
engineLoadDeltaGauge = engineLoadDelta,"AE: load change","value", 0, 120, 10, 10, 100, 100, 1, 1
engineLoadAccelExtraGauge = engineLoadAccelExtra,"AE: load extra","value", 0, 120, 10, 10, 100, 100, 1, 1
deltaTpsGauge = deltaTps, "AE: TPS change", "", 0, 120, 10, 10, 100, 100, 1, 1
tpsAccelFuelGauge = tpsAccelFuel,"AE: TPS enrich", "ms", 0, 120, 10, 10, 100, 100, 1, 1
wallFuelAmountGauge = wallFuelAmount, "AE: wall amount", "ms", 0, 100, 0, 0, 100, 100, 0, 0
wallFuelCorrectionGauge = wallFuelCorrection, "AE: wall correction extra", "ms", 0, 100, 0, 0, 100, 100, 0, 0
2017-06-19 14:08:17 -07:00
gaugeCategory = Fueling
2019-05-11 07:57:58 -07:00
;Name Var Title Units Lo Hi LoD LoW HiW HiD vd ld
#if CELSIUS
tChargeGauge = tCharge, @@GAUGE_NAME_FUEL_CHARGE_TEMP@@, "deg C", -40, 140, -15, 1, 95, 110, 1, 1
2019-05-11 07:57:58 -07:00
#else
tChargeGauge = tCharge, @@GAUGE_NAME_FUEL_CHARGE_TEMP@@, "deg F", -40, 285, 5, 35, 205, 230, 1, 1
2019-05-11 07:57:58 -07:00
#endif
baroCorrectionGauge = baroCorrection,"Fuel: Barometric pressure correction", "ratio", 0.5, 1.5, 0.6, 0.7, 1.3, 1.4, 1, 1
2019-03-12 18:48:28 -07:00
crankingFuelGauge = crankingFuelMs, @@GAUGE_NAME_FUEL_CRANKING@@, "mSec", 0, 25.5, 1.0, 1.2, 20, 25, 3, 1
2017-08-02 04:50:19 -07:00
iatCorrectionGauge = iatCorrection, @@GAUGE_NAME_FUEL_IAT_CORR@@, "mult", 0, 3, 0, 0, 3, 3, 2, 2
cltCorrectionGauge = cltCorrection, @@GAUGE_NAME_FUEL_CLT_CORR@@, "mult", 0, 3, 0, 0, 3, 3, 2, 2
injectorDutyCycleGauge=injectorDutyCycle, @@GAUGE_NAME_FUEL_INJ_DUTY@@,"%", 0, 120, 10, 10, 100, 100, 1, 1
actualLastInjectionGauge = actualLastInjection, @@GAUGE_NAME_FUEL_LAST_INJECTION@@, "mSec", 0, 25.5, 1.0, 1.2, 20, 25, 3, 1
2019-03-21 19:11:11 -07:00
veValueGauge = veValue, "fuel: VE", "", 0, 120, 10, 10, 100, 100, 1, 1
2017-06-19 14:08:17 -07:00
2018-01-17 16:18:48 -08:00
injectorLagMsGauge = injectorLagMs, @@GAUGE_NAME_INJECTOR_LAG@@, "mSec", 0, 25.5, 1.0, 1.2, 20, 25, 3, 1
2017-06-19 14:08:17 -07:00
fuelRunningGauge = fuelRunning, @@GAUGE_NAME_FUEL_RUNNING@@, "mSec", 0, 25.5, 1.0, 1.2, 20, 25, 3, 1
2017-08-02 04:50:19 -07:00
baseFuelGauge = baseFuel, @@GAUGE_NAME_FUEL_BASE@@, "mSec", 0, 25.5, 1.0, 1.2, 20, 25, 3, 1
fuelPidCorrectionGauge = fuelPidCorrection, @@GAUGE_NAME_FUEL_PID_CORR@@, "mSec", -11, 11, 1.0, 1.2, 20, 25, 3, 1
gaugeCategory = Throttle Body (incl. ETB)
pedalPositionGauge = pedalPosition, "Throttle pedal position", "%", 0, 120, 0, 0, 100, 100, 1, 1
tpsADCGauge = tpsADC, "tps1 ADC", "ADC", 0, 1024, 0, 0, 0, 0, 0, 0
TPSGauge = TPSValue, "Throttle position", "%", 0, 100, 0, 0, 100, 100, 1, 1
etbTargetGauge = etbTarget, "ETB position target", "%", 0, 100, 0, 0, 100, 100, 1, 1
etbErrorGauge = etb1Error, "ETB position error", "%", -20, 20, -10, -5, 5, 10, 2, 0
etbDutyCycleGauge = etb1DutyCycle, "ETB duty cycle", "%", -100, 100, -75, -50, 50, 75, 0, 0
[WueAnalyze]
; wueCurveName, afrTempCompensationCurve, lambdaTargetTableName, lambdaChannel, coolantTempChannel, egoCorrectionChannel, wueChannel, activeCondition
wueAnalyzeMap = wueAnalyzer_warmup_curve, wueAfrTargetOffsetCurve, afrTableTbl, AFRValue, coolant, cltCorrection, egoCorrection
lambdaTargetTables = afrTableTbl, afrTSCustom
wuePercentOffset = 0 ; for working with 0 based enrichment set to 100
option = disableLiveUpdates
option = burnOnSend
; filter = std_DeadLambda ; Auto build
filter = decelFilterMap,"After Start Enrich", engine, & , 4 , , false
filter = accelFilterTp, "TP Accel Enrich" , engine, & , 16, , false
filter = decelFilterTp, "TP Decel Enrich" , engine, & , 32, , false
filter = accelFilterMap,"MAP Accel Enrich" , engine, & , 64, , false
filter = decelFilterMap,"MAP Decel Enrich" , engine, & , 128, , false
; this works, just another way to skin a cat
;filter = decelFilter, "Decel Flag" , tpsaccden, > , 0, , false
filter = overrunFilter, "Overrun" , pulseWidth1, = , 0, , false
filter = highThrottle, "High Throttle" , throttle, > , 15, , true
filter = lowRpm, "Low RPM" , rpm, < , 300, , false
filter = std_Custom ; Standard Custom Expression Filter.
2016-07-20 20:03:00 -07:00
[FrontPage]
; Gauges are numbered left to right, top to bottom.
;
; 1 2 3 4
; 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.
2017-06-19 19:29:03 -07:00
gauge1 = RPMGauge
2016-07-20 20:03:00 -07:00
gauge2 = CLTGauge
2017-06-19 01:19:12 -07:00
gauge3 = TPSGauge
gauge4 = MAFGauge
2016-07-20 20:03:00 -07:00
gauge5 = afr1Gauge
gauge6 = VBattGauge
gauge7 = dwellGauge
gauge8 = ignadvGauge
; = expression, off-label, on-label, off-bg, off-fg, on-bg, on-fg
; important status
indicator = { ind_hasFatalError }, "", "FATAL ERROR", green, black, red, black
indicator = { firmwareTsVersion == fileVersion }, "WRONG VERSION", "version", red, black, green, black
indicator = { ind_isWarnNow }, "", "warn", green, black, red, black
indicator = { ind_check_engine }, "ok", "Check engine", green, black, red, black
indicator = { isIgnitionEnabledIndicator}, "no ignition", "ignition", red, black, green, black
indicator = { ind_injection_enabled}, "no injection", "injection", red, black, green, black
indicator = { ind_isTriggerError}, "ok", "trg err", green, black, red, black
; minor info
indicator = { ind_fan}, "no fan", "fan", white, black, green, black
indicator = { isCylinderCleanupActivated}, "no cyl cleanup", "cyl cleanup", white, black, green, black
2017-06-10 11:15:37 -07:00
indicator = { needBurn }, "config ok", "unsaved changes", white, black, yellow, black
2016-07-20 20:03:00 -07:00
indicator = { hasSdCard}, "no SD", "with SD", white, black, green, black
indicator = { ind_fuel_pump}, "no pump", "pump", white, black, green, black
indicator = { clutchUpState }, "clutch", "cltch Up", white, black, red, black
indicator = { clutchDownState }, "clutch", "cltch Down", white, black, yellow, black
2017-05-15 17:10:27 -07:00
indicator = { brakePedalIndicator }, "brake", "brake down", white, black, red, black
indicator = { acSwitchIndicator }, "AC on", "AC off", yellow, black, white, black
2016-07-20 20:03:00 -07:00
; error codes
indicator = { ind_tps_error}, "tps", "tps error", white, black, red, black
indicator = { ind_clt_error}, "clt", "clt error", white, black, red, black
indicator = { ind_iat_error}, "iat", "iat error", white, black, red, black
indicator = { ind_map_error}, "map", "map error", white, black, red, black
indicator = { knockEverIndicator }, "", "Knock recently", white, black, red, black
indicator = { knockNowIndicator }, "no knock", "Knock NOW", white, black, red, black
[Datalog]
; Channel Label Type Format
entry = time, "Time", float, "%.3f"
2017-06-19 19:29:03 -07:00
entry = RPMValue, "RPM", int, "%d"
2017-04-13 20:37:17 -07:00
entry = firmwareVersion, @@GAUGE_NAME_VERSION@@, int, "%d"
2016-07-20 20:03:00 -07:00
entry = coolant, "CLT", float, "%.2f"
entry = intake, "IAT", float, "%.2f"
entry = oilPressure, "Oil Press", float, "%.1f"
2017-06-19 01:19:12 -07:00
entry = TPSValue, "TPS", float, "%.2f"
entry = MAFValue, "MAF", float, "%.2f"
2016-07-20 20:03:00 -07:00
entry = MAPValue, "MAP", float, "%.1f"
2017-06-19 19:29:03 -07:00
entry = AFRValue, @@GAUGE_NAME_AFR@@, float, "%.2f"
2017-04-13 20:37:17 -07:00
entry = VBatt, @@GAUGE_NAME_VBAT@@, float, "%.2f"
entry = engineLoad, @@GAUGE_NAME_ENGINE_LOAD@@, float, "%.1f"
entry = ignitionAdvance, @@GAUGE_NAME_TIMING_ADVANCE@@, float, "%.2f"
entry = knockLevel, @@GAUGE_NAME_KNOCK_LEVEL@@, float, "%.2f"
2018-05-30 21:50:05 -07:00
entry = knockCount, @@GAUGE_NAME_KNOCK_COUNTER@@, int, "%d"
2017-04-13 20:37:17 -07:00
entry = vehicleSpeedKph, @@GAUGE_NAME_VVS@@, float, "%.2f"
2016-07-20 20:03:00 -07:00
entry = speedToRpmRatio, "s2rpm", float, "%.3f"
entry = rpmAcceleration, "dRPM", float, "%.3f"
2018-08-29 07:40:13 -07:00
entry = massAirFlowValue,"air flow", float, "%.3f"
entry = chargeAirMass, "air mass", float, "%.3f"
2016-07-20 20:03:00 -07:00
entry = pedalPosition, "pedal", float, "%.3f"
entry = triggerErrorsCounter, "trg err",int, "%d"
2017-06-04 17:56:58 -07:00
entry = idleAirValvePosition, @@GAUGE_NAME_IAC@@, float, "%.3f"
2016-09-17 18:02:45 -07:00
2016-07-20 20:03:00 -07:00
2018-01-17 18:53:08 -08:00
entry = injectorLagMs, @@GAUGE_NAME_INJECTOR_LAG@@, float, "%.3f"
2017-05-22 16:42:34 -07:00
entry = fuelRunning, @@GAUGE_NAME_FUEL_RUNNING@@, float, "%.3f"
entry = actualLastInjection, @@GAUGE_NAME_FUEL_LAST_INJECTION@@, float, "%.3f"
2019-03-12 18:48:28 -07:00
entry = baseFuel, @@GAUGE_NAME_FUEL_BASE@@, float, "%.2f"
entry = fuelPidCorrection,@@GAUGE_NAME_FUEL_PID_CORR@@, float, "%.2f"
entry = veValue, @@GAUGE_NAME_FUEL_VE@@, float, "%.3f"
2017-04-03 18:12:21 -07:00
entry = injectorDutyCycle,@@GAUGE_NAME_FUEL_INJ_DUTY@@,float,"%.3f"
entry = coilDutyCycle, @@GAUGE_NAME_DWELL_DUTY@@, float,"%.3f"
2017-05-22 16:42:34 -07:00
entry = currentTargetAfr,@@GAUGE_NAME_TARGET_AFR@@, float,"%.3f"
2016-07-20 20:03:00 -07:00
2017-08-28 19:55:29 -07:00
entry = accelerationX, @@GAUGE_NAME_ACCEL_X@@, float,"%.2f"
entry = accelerationY, @@GAUGE_NAME_ACCEL_Y@@, float,"%.2f"
2018-05-27 08:20:41 -07:00
entry = egt1, "EGT1", float,"%.1f"
entry = egt2, "EGT2", float,"%.1f"
entry = egt3, "EGT3", float,"%.1f"
entry = egt4, "EGT4", float,"%.1f"
entry = egt5, "EGT5", float,"%.1f"
entry = egt6, "EGT6", float,"%.1f"
entry = egt7, "EGT7", float,"%.1f"
entry = egt8, "EGT8", float,"%.1f"
2017-08-28 17:11:32 -07:00
2017-04-03 18:12:21 -07:00
entry = engineLoadAccelExtra, @@GAUGE_NAME_FUEL_EL_EXTRA@@,float, "%.3f"
2016-07-20 20:03:00 -07:00
entry = engineLoadDelta, "fuel: load change",float, "%.3f"
2019-04-20 11:54:16 -07:00
entry = deltaTps, @@GAUGE_NAME_FUEL_TPS_ROC@@,float, "%.3f"
2017-04-03 18:12:21 -07:00
entry = tpsAccelFuel, @@GAUGE_NAME_FUEL_TPS_EXTRA@@, float, "%.3f"
2016-07-20 20:03:00 -07:00
2019-03-12 18:48:28 -07:00
entry = wallFuelCorrection,@@GAUGE_NAME_FUEL_WALL_CORRECTION@@, float, "%.3f"
entry = wallFuelAmount, @@GAUGE_NAME_FUEL_WALL_AMOUNT@@, float, "%.3f"
2016-07-20 20:03:00 -07:00
entry = baroCorrection, "baroCorrection",float,"%.3f"
2017-04-13 20:37:17 -07:00
entry = iatCorrection, @@GAUGE_NAME_FUEL_IAT_CORR@@, float, "%.3f"
entry = cltCorrection, @@GAUGE_NAME_FUEL_CLT_CORR@@, float,"%.3f"
2016-07-20 20:03:00 -07:00
entry = sparkDwellValue, @@GAUGE_COIL_DWELL_TIME@@, float,"%.3f"
2017-04-13 20:37:17 -07:00
entry = vvtPosition, @@GAUGE_NAME_VVT@@, float,"%.2f"
2018-06-12 06:31:15 -07:00
entry = injectionOffset, "injOffset" , float, "%.2F"
2016-07-20 20:03:00 -07:00
2016-09-17 18:02:45 -07:00
; is there a way to log parameter? entry = debugMode, "debugMode",int,"%d"
2016-09-17 16:02:34 -07:00
; Alternator_PID: alternator duty cycle
; DBG_TPS_ACCEL: from TPS
entry = debugFloatField1, @@GAUGE_NAME_DEBUG_F1@@,float,"%.4f"
2016-09-17 16:02:34 -07:00
2016-09-17 18:02:45 -07:00
; Alternator_PID: current integration term
2016-09-17 16:02:34 -07:00
; DBG_TPS_ACCEL: to TPS
entry = debugFloatField2, @@GAUGE_NAME_DEBUG_F2@@,float,"%.4f"
2016-09-17 16:02:34 -07:00
2016-09-17 18:02:45 -07:00
; Alternator_PID: previous error
2016-09-17 16:02:34 -07:00
; DBG_TPS_ACCEL: tps<>tps table value
entry = debugFloatField3, @@GAUGE_NAME_DEBUG_F3@@,float,"%.4f"
2016-09-17 16:02:34 -07:00
2016-09-17 18:02:45 -07:00
; Alternator_PID: I setting
2016-09-17 16:02:34 -07:00
; DBG_TPS_ACCEL: extra fuel
entry = debugFloatField4, @@GAUGE_NAME_DEBUG_F4@@,float,"%.4f"
2016-09-17 18:02:45 -07:00
; Alternator_PID: D setting
entry = debugFloatField5, @@GAUGE_NAME_DEBUG_F5@@,float,"%.4f"
2016-09-17 18:02:45 -07:00
2016-09-20 18:02:46 -07:00
; Alternator_PID: dTerm
entry = debugFloatField6, @@GAUGE_NAME_DEBUG_F6@@,float,"%.4f"
2016-09-20 18:02:46 -07:00
entry = debugFloatField7, @@GAUGE_NAME_DEBUG_F7@@,float,"%.4f"
2016-09-20 18:02:46 -07:00
2016-09-17 18:02:45 -07:00
; Alternator_PID: P setting
entry = debugIntField1, @@GAUGE_NAME_DEBUG_I1@@,int,"%d"
2016-09-17 18:02:45 -07:00
; Alternator_PID: offset setting
entry = debugIntField2, @@GAUGE_NAME_DEBUG_I2@@,int,"%d"
2016-09-17 18:02:45 -07:00
; Alternator_PID: PID reset counter
entry = debugIntField3, @@GAUGE_NAME_DEBUG_I3@@,int,"%d"
2018-12-31 06:19:05 -08:00
entry = debugIntField4, @@GAUGE_NAME_DEBUG_I4@@,int,"%d"
entry = debugIntField5, @@GAUGE_NAME_DEBUG_I5@@,int,"%d"
2016-09-20 18:02:46 -07:00
2017-05-15 17:10:27 -07:00
2018-01-17 18:53:08 -08:00
entry = engineMode, "Engine Mode",int,"%d"
2017-05-15 01:42:58 -07:00
entry = warningCounter, @@GAUGE_NAME_WARNING_COUNTER@@,int,"%d"
entry = lastErrorCode, @@GAUGE_NAME_WARNING_LAST@@,int,"%d"
entry = recentErrorCode0, "error 0",int,"%d"
entry = recentErrorCode1, "error 1",int,"%d"
entry = recentErrorCode2, "error 2",int,"%d"
entry = recentErrorCode3, "error 3",int,"%d"
entry = recentErrorCode4, "error 4",int,"%d"
entry = recentErrorCode5, "error 5",int,"%d"
entry = recentErrorCode6, "error 6",int,"%d"
entry = recentErrorCode7, "error 7",int,"%d"
2017-04-13 20:37:17 -07:00
entry = internalMcuTemperature, @@GAUGE_NAME_CPU_TEMP@@,float,"%.2f"
2016-07-20 20:03:00 -07:00
entry = tCharge, "tCharge",float,"%.3f"
2017-05-15 17:16:48 -07:00
entry = clutchUpState, @@INDICATOR_NAME_CLUTCH_UP@@,int,"%d"
entry = clutchDownState, @@INDICATOR_NAME_CLUTCH_DOWN@@,int,"%d"
entry = brakePedalIndicator, @@INDICATOR_NAME_BRAKE_DOWN@@,int,"%d"
entry = acSwitchIndicator, "AC switch",int,"%d"
2017-07-24 18:26:35 -07:00
entry = ind_fan, "radiator fan",int,"%d"
2019-07-03 00:17:08 -07:00
; Electronic throttle body
entry = etb1Error, "ETB Error", float, "%.3f"
entry = etb1DutyCycle, "ETB Duty", float, "%.3f"
entry = etbTarget, "ETB Target", float, "%.3f"
2017-05-15 17:10:27 -07:00
; tpsADC = U16, "ADC",
2016-07-20 20:03:00 -07:00
; alignmet = U16, "al",
; atmPres = F32, "pres",
; crankingFuel = F32, "ms",
; tCharge = F32, "T",
; sparkDwell = F32, "MAP",
; warmUpEnrich = F32, "%",
[Menu]
menuDialog = main
menu = "&Base &Engine"
subMenu = engineChars, "Base engine"
subMenu = triggerConfiguration, "Trigger"
2016-07-20 20:03:00 -07:00
subMenu = std_separator
subMenu = energySystems, "Battery and alternator"
2016-07-20 20:03:00 -07:00
subMenu = std_separator
2018-02-12 10:44:39 -08:00
# Digital outputs
subMenu = mainRelay, "Main relay"
subMenu = fuelPump, "Fuel pump"
subMenu = fanSetting, "Fan"
subMenu = tachSettings, "Tachometer"
subMenu = malfunction, "Check engine light"
subMenu = statusLeds, "Status LEDs"
menu = "Fuel"
# basic
subMenu = injectionSettings, "Injection settings"
subMenu = injectionDeadTime, "Injector dead time", 0, {isInjectionEnabled == 1}
subMenu = std_separator
# Targets & closed loop
subMenu = afrTableTbl, "Target AFR", 0, {isInjectionEnabled == 1 && fuelAlgorithm == LM_SPEED_DENSITY}
subMenu = fuelClosedLoopDialog, "Closed loop correction", 0, {isInjectionEnabled == 1}
subMenu = coastingFuelCutControl, "Deceleration fuel cutoff (DFCO)", 0, {isInjectionEnabled == 1}
2018-02-12 10:44:39 -08:00
subMenu = std_separator
# Fuel table/VE
subMenu = fuelTableDialog, "Fuel table", 0, {isInjectionEnabled == 1 && fuelAlgorithm != LM_SPEED_DENSITY}
subMenu = veTableDialog, "VE", 0, {isInjectionEnabled == 1 && fuelAlgorithm == LM_SPEED_DENSITY}
subMenu = injPhaseTableTbl, "Injection phase", 0, {isInjectionEnabled == 1}
2018-02-12 10:44:39 -08:00
subMenu = std_separator
# Corrections
subMenu = cltFuelCorrCurve, "CLT multiplier", 0, {isInjectionEnabled == 1 && useWarmupPidAfr == 0}
subMenu = iatFuelCorrCurve, "IAT multiplier", 0, {isInjectionEnabled == 1}
subMenu = baroCorrTbl, "Baro multiplier", 0, {isInjectionEnabled == 1 && fuelAlgorithm == LM_SPEED_DENSITY}
subMenu = tChargeSettings, "tCharge settings", 0, {isInjectionEnabled == 1}
subMenu = std_separator
# Accel enrichment
subMenu = AccelEnrich, "Accel/decel enrichment/enleanment", 0, {isInjectionEnabled == 1}
subMenu = tpsTpsAccelTbl, "TPS/TPS acceleration extra fuel", 0, {isInjectionEnabled == 1}
subMenu = mapAccelTaper, "Engine load AE taper", 0, {isInjectionEnabled == 1}
2018-02-12 10:44:39 -08:00
menu = "Ignition"
subMenu = ignitionSettings, "Ignition settings"
subMenu = std_separator
subMenu = dwellSettings, "Dwell", 0, {isIgnitionEnabled == 1}
subMenu = ignitionCylExtra, "Ignition cylinder trim", 0, {isIgnitionEnabled == 1}
subMenu = std_separator
subMenu = ignitionTableTbl, "Ignition advance", 0, {isIgnitionEnabled == 1 && useTPSAdvanceTable == 0}
subMenu = ignitionTpsTableTbl, "Ignition advance (TPS)", 0, {isIgnitionEnabled == 1 && useTPSAdvanceTable == 1}
subMenu = std_separator
# corrections
subMenu = cltTimingCorrCurve, "CLT correction", 0, {isIgnitionEnabled == 1}
subMenu = ignitionIatCorrTableTbl, "IAT correction", 0, {isIgnitionEnabled == 1}
2018-02-12 10:44:39 -08:00
menu = "&Cranking"
subMenu = crankingDialog, "Cranking settings"
2016-07-20 20:03:00 -07:00
subMenu = std_separator
subMenu = crankingCltCurve, "Fuel CLT multiplier"
subMenu = crankingDurationCurve, "Fuel duration multiplier"
subMenu = crankingTpsCurve, "Fuel TPS multiplier"
subMenu = std_separator
subMenu = crankingAdvanceCurve, "Ignition advance", 0, {useSeparateAdvanceForCranking == 1}
subMenu = std_separator
subMenu = cltCrankingCurve, "IAC multiplier", 0, {overrideCrankingIacSetting == 1}
menu = "&Idle"
subMenu = idleSettings, "Idle settings"
subMenu = idlehw, "Idle hardware"
subMenu = std_separator
subMenu = cltIdleRPMCurve, "Target RPM", 0, {idleMode == 0}
subMenu = idleVeCurve, "VE", 0, {useSeparateVeForIdle == 1}
subMenu = idleAdvanceCurve, "Ignition advance", 0, {useSeparateAdvanceForIdle == 1}
2016-07-20 20:03:00 -07:00
subMenu = std_separator
subMenu = idleTimingPidCorrDialog, "Closed-loop idle timing"
subMenu = cltIdleCurve, "CLT multiplier"
subMenu = iacCoastingCurve, "Coasting IAC Position for Auto-Idle", 0, {useIacTableForCoasting == 1}
menu = "&FSIO"
subMenu = fsioInputsDialog, "FSIO inputs"
subMenu = auxPidDialog, "Aux PID"
2016-07-20 20:03:00 -07:00
subMenu = fsioOutputsDialog, "FSIO outputs"
subMenu = fsioTable1Tbl, "FSIO Table #1"
subMenu = fsioTable2Tbl, "FSIO Table #2"
subMenu = fsioTable3Tbl, "FSIO Table #3"
subMenu = fsioTable4Tbl, "FSIO Table #4"
2017-06-25 23:38:12 -07:00
subMenu = fsioFormulas, "FSIO Formulas"
2017-11-25 22:17:37 -08:00
subMenu = fsioCurve1, "FSIO Curve #1"
subMenu = fsioCurve2, "FSIO Curve #2"
subMenu = fsioCurve3, "FSIO Curve #3"
subMenu = fsioCurve4, "FSIO Curve #4"
menu = "&Sensors"
# Base analog input settings
subMenu = triggerInputs, "Trigger inputs"
subMenu = otherSensorInputs, "Misc sensors"
subMenu = analogInputSettings, "Analog input settings"
subMenu = std_separator
# Thermistors
subMenu = cltSensor, "CLT sensor"
subMenu = iatSensor, "IAT sensor"
subMenu = auxTempSensor1Sensor, "AuxTemp1 sensor"
subMenu = auxTempSensor2Sensor, "AuxTemp2 sensor"
subMenu = std_separator
# TPS/pedal
subMenu = tpsSensor, "TPS"
subMenu = pedalSensor, "Accelerator pedal"
subMenu = std_separator
# MAP/Baro
subMenu = mapSettings, "MAP sensor"
subMenu = mapCurves, "MAP sampling"
subMenu = baroSettings, "Baro sensor"
subMenu = std_separator
# MAF
subMenu = mafSettings, "MAF sensor"
subMenu = mafDecodingCurve, "MAF transfer function", 0, {mafAdcChannel != 16}
subMenu = std_separator
# O2 sensor(s)
subMenu = egoSettings, "EGO sensor"
subMenu = narrowToWideOxygenCurve, "Narrow to Wideband approximation"
subMenu = cj125Function, "CJ125 settings (wbo decoder)" @@if_ts_show_cj125
subMenu = std_separator
# Misc sensors
subMenu = speedSensor, "Vehicle speed sensor"
subMenu = oilPressureSensor, "Oil pressure"
subMenu = egtInputs, "EGT" @@if_ts_show_egt
menu = "&Controller"
subMenu = ecuStimulator, "ECU stimulator"
subMenu = ioTest, "Bench test"
2019-01-20 19:17:06 -08:00
subMenu = engineTypeDialog, "Popular vehicles"
subMenu = std_separator
subMenu = lcdScreen, "LCD" @@if_ts_show_lcd
subMenu = joystickPanel, "Joystick" @@if_ts_show_joystick
subMenu = spiFunction, "SPI"
subMenu = monitoringSettings, "rusEfi console"
subMenu = std_separator
subMenu = connection, "Connection"
subMenu = allPins1, "Full pinout 1/2" @@if_ts_show_full_pinout
subMenu = allPins2, "Full pinout 2/2" @@if_ts_show_full_pinout
subMenu = std_separator
# EXPERIMENTAL FEATURES
subMenu = parkingLot, "Experimental/Broken"
subMenu = smLaunchControl, "Launch control"
subMenu = std_separator
subMenu = hipFunction, "HIP9011 settings (knock sensor) (alpha version)" @@if_ts_show_hip9011
subMenu = std_separator
subMenu = etbDialog, "Electronic throttle body (beta version)" @@if_ts_show_etb
subMenu = etbTpsBiasCurve, "Electronic throttle body bias curve" @@if_ts_show_etb
2019-06-10 20:38:44 -07:00
subMenu = pedalToTpsTbl, "Electronic Pedal Map" @@if_ts_show_etb
2016-07-20 20:03:00 -07:00
[ControllerCommands]
; commandName = command1, command2, commandn...
; command in standard ini format, a command name can be assigned to 1 to n commands that will be executed in order.
; This does not include any resultant protocol envelope data, only the response data itself.
; WARNING!! These commands bypass TunerStudio's normal memory synchronization. If these commands
; alter mapped settings (Constant) memory in the controller, TunerStudio will have an out of sync condition
; and may create error messages.
; It is expected that these commands would not typically alter any ram mapped to a Constant.
2017-05-01 19:33:20 -07:00
;
; see TS_IO_TEST_COMMAND in firmware code
;
2016-07-20 20:03:00 -07:00
cmd_test_spk1 = "w\x00\x12\x00\x01"
cmd_test_spk2 = "w\x00\x12\x00\x02"
cmd_test_spk3 = "w\x00\x12\x00\x03"
cmd_test_spk4 = "w\x00\x12\x00\x04"
cmd_test_spk5 = "w\x00\x12\x00\x05"
cmd_test_spk6 = "w\x00\x12\x00\x06"
cmd_test_spk7 = "w\x00\x12\x00\x07"
cmd_test_spk8 = "w\x00\x12\x00\x08"
cmd_test_spk9 = "w\x00\x12\x00\x09"
cmd_test_spk10 = "w\x00\x12\x00\x0a"
cmd_test_spk11 = "w\x00\x12\x00\x0b"
cmd_test_spk12 = "w\x00\x12\x00\x0c"
cmd_test_spk13 = "w\x00\x12\x00\x0d"
cmd_test_spk14 = "w\x00\x12\x00\x0e"
cmd_test_spk15 = "w\x00\x12\x00\x0f"
cmd_test_spk16 = "w\x00\x12\x00\x10"
cmd_test_inj1 = "w\x00\x13\x00\x01"
cmd_test_inj2 = "w\x00\x13\x00\x02"
cmd_test_inj3 = "w\x00\x13\x00\x03"
cmd_test_inj4 = "w\x00\x13\x00\x04"
cmd_test_inj5 = "w\x00\x13\x00\x05"
cmd_test_inj6 = "w\x00\x13\x00\x06"
cmd_test_inj7 = "w\x00\x13\x00\x07"
cmd_test_inj8 = "w\x00\x13\x00\x08"
cmd_test_inj9 = "w\x00\x13\x00\x09"
cmd_test_inj10 = "w\x00\x13\x00\x0a"
cmd_test_inj11 = "w\x00\x13\x00\x0b"
cmd_test_inj12 = "w\x00\x13\x00\x0c"
cmd_test_inj13 = "w\x00\x13\x00\x0d"
cmd_test_inj14 = "w\x00\x13\x00\x0e"
cmd_test_inj15 = "w\x00\x13\x00\x0f"
cmd_test_inj16 = "w\x00\x13\x00\x10"
cmd_test_fuel_pump = "w\x00\x14\x00\x01"
2019-04-22 18:32:55 -07:00
cmd_calibrate_tps_1_closed = "w\x00\x14\x00\x02"
cmd_calibrate_tps_1_wot = "w\x00\x14\x00\x03"
cmd_calibrate_tps_2_closed = "w\x00\x14\x00\x04"
cmd_calibrate_tps_2_wot = "w\x00\x14\x00\x05"
cmd_calibrate_pedal_up = "w\x00\x14\x00\x06"
cmd_calibrate_pedal_down = "w\x00\x14\x00\x07"
2016-07-20 20:03:00 -07:00
cmd_test_radiator_fan = "w\x00\x15\x00\x01"
cmd_test_check_engine_light = "w\x00\x16\x00\x01"
cmd_test_idle_valve = "w\x00\x17\x00\x01"
2017-05-01 19:33:20 -07:00
cmd_call_from_pit = "w\x00\x20\x34\x56"
2019-03-21 18:57:12 -07:00
cmd_stop_engine = "w\x00\x79\x00\x00"
cmd_reset_controller = "w\x00\xbb\x00\x00"
2019-03-12 17:33:13 -07:00
; See 'executeTSCommand' in firmware source code
2019-01-20 19:17:06 -08:00
; MIATA_NA6_MAP = 41
2019-03-02 11:00:32 -08:00
cmd_set_engine_type_Miata_NA6_MAP = "w\x00\x30\x00\x29"
2019-01-20 19:17:06 -08:00
; MIATA_NA6_VAF = 57
2019-03-02 11:00:32 -08:00
cmd_set_engine_type_Miata_NA6_VAF = "w\x00\x30\x00\x39"
2019-01-20 19:17:06 -08:00
; MAZDA_MIATA_2003 = 47
2019-03-02 11:00:32 -08:00
cmd_set_engine_type_Miata_NA2 = "w\x00\x30\x00\x2F"
; ETB_BENCH_ENGINE = 58
cmd_set_engine_type_etb_test = "w\x00\x30\x00\x3A"
2019-05-05 09:48:04 -07:00
; ETB_BENCH_ENGINE = 59
cmd_set_engine_type_8888_test = "w\x00\x30\x00\x3B"
2019-03-12 17:33:13 -07:00
cmd_set_engine_type_default = "w\x00\x31\x00\x00"
2016-07-20 20:03:00 -07:00
[UserDefined]
2017-06-19 19:29:03 -07:00
dialog = fuelTableBottomDialog, "", card
panel = fuelTableMAFTbl, Center, {fuelAlgorithm==LM_PLAIN_MAF}
panel = fuelTableTPSTbl, Center, {fuelAlgorithm==LM_ALPHA_N}
panel = fuelTableELTbl, Center
dialog = fuelTableRight, "", yAxis
2019-03-12 17:22:40 -07:00
topicHelp = "https://rusefi.com/s/fuel"
2017-06-19 19:29:03 -07:00
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
2019-03-12 17:22:40 -07:00
topicHelp = "fuelHelp"
2017-06-19 19:29:03 -07:00
panel = fuelTableGaugesPanel
panel = fuelTableRight
dialog = tChargeRpmTpsSettings, "RPM+TPS Mode Settings"
2018-01-02 09:29:04 -08:00
field = "We use these coefficients to approximate air/fuel charge temperate"
field = "based on CLT and IAT, depending on RPM and TPM"
field = "minRPM minTPS", tChargeMinRpmMinTps
field = "minRPM maxTPS", tChargeMinRpmMaxTps
field = "maxRPM minTPS", tChargeMaxRpmMinTps
field = "maxRPM maxTPS", tChargeMaxRpmMaxTps
2016-07-20 20:03:00 -07:00
dialog = tChargeGeneralSettings, ""
field = "tCharge Mode", tChargeMode
field = "tChange Increment Limit, deg/sec", tChargeAirIncrLimit
field = "tChange Decrement Limit, deg/sec", tChargeAirDecrLimit
field = ""
dialog = tChargeAirInterpSettings, "Air Interpolation Mode Settings"
field = "Min tCharge Coeff.", tChargeAirCoefMin
field = "Max tCharge Coeff.", tChargeAirCoefMax
field = "Max Air Flow, kg/h", tChargeAirFlowMax
dialog = tChargeSettings, "tCharge Settings"
panel = tChargeGeneralSettings
panel = tChargeRpmTpsSettings, { tChargeMode == 0}
panel = tChargeAirInterpSettings, { tChargeMode == 1}
dialog = baseInjection, "General"
2016-07-20 20:03:00 -07:00
field = "Enabled", isInjectionEnabled
field = "Mode", injectionMode, {isInjectionEnabled == 1}
field = "#Batch injection with individual wiring"
field = "Two wire batch emulation", twoWireBatchInjection, {isInjectionEnabled == 1 && injectionMode == 2}
#if tuneByTPS
field = "Use TPS instead of Load for VE table", useTPSBasedVeTable, {isInjectionEnabled == 1 && fuelAlgorithm == LM_SPEED_DENSITY}
#else
field = "#Enabled for TPS-Based 'VE Autotune Mode' in Project Settings"
field = "Use TPS instead of Load for VE table", useTPSBasedVeTable, {0}
#endif
2016-07-20 20:03:00 -07:00
dialog = ignitionOutputs, "Ignition Outputs"
2019-05-31 16:21:30 -07:00
field = "Ignition Pin Mode", ignitionPinMode, {isIgnitionEnabled == 1}
field = "Ignition Pin 1", ignitionPins1, {isIgnitionEnabled == 1}
field = "Ignition Pin 2", ignitionPins2, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount > 1) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 2) || (firingOrder == 7) || (firingOrder == 9) || (firingOrder == 11) || (firingOrder == 12)))}
field = "Ignition Pin 3", ignitionPins3, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount > 2) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 1) || (firingOrder == 3) || (firingOrder == 4) || (firingOrder == 5) || (firingOrder == 9)))}
field = "Ignition Pin 4", ignitionPins4, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount > 3) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 5) || (firingOrder == 7) || (firingOrder == 12)))}
field = "Ignition Pin 5", ignitionPins5, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount > 4) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 4) || (firingOrder == 12)))}
field = "Ignition Pin 6", ignitionPins6, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount > 5) && (ignitionMode !=2 || twoWireBatchIgnition == 1 )}
field = "Ignition Pin 7", ignitionPins7, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount > 6) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 11)))}
field = "Ignition Pin 8", ignitionPins8, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount > 7) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 5) || (firingOrder == 11)))}
field = "Ignition Pin 9", ignitionPins9, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount > 8) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 5) || (firingOrder == 11)))}
field = "Ignition Pin 10", ignitionPins10, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount > 9) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 5) || (firingOrder == 11)))}
field = "Ignition Pin 11", ignitionPins11, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount > 10) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 5) || (firingOrder == 11)))}
field = "Ignition Pin 12", ignitionPins12, {isIgnitionEnabled == 1 && (ignitionMode != 0 && cylindersCount > 11) && (ignitionMode !=2 || twoWireBatchIgnition == 1 || ((firingOrder == 5) || (firingOrder == 11)))}
field = "This is useful to have tachometer working"
field = " while converting from distributor"
field = "Dizzy out Pin", dizzySparkOutputPin, {isIgnitionEnabled == 1}
field = "Dizzy out Pin Mode", dizzySparkOutputPinMode, {isIgnitionEnabled == 1}
dialog = ignitionBasic, ""
2016-07-20 20:03:00 -07:00
field = "Enabled", isIgnitionEnabled
field = "Mode", ignitionMode, {isIgnitionEnabled == 1}
field = "#Wasted spark with individual coils"
field = "Two wire wasted", twoWireBatchIgnition, {isIgnitionEnabled == 1 && ignitionMode == 2}
field = "Timing Mode", timingMode, {isIgnitionEnabled == 1}
field = "Use TPS-based Advance Table", useTPSAdvanceTable, {isIgnitionEnabled == 1 && fuelAlgorithm == LM_SPEED_DENSITY}
field = "#Use fixed timing while validating with a timing gun"
2016-07-20 20:03:00 -07:00
field = "Fixed Timinig", fixedTiming, {isIgnitionEnabled == 1 && timingMode == 1}
dialog = ignitionSettings, "", xAxis
panel = ignitionBasic
panel = ignitionOutputs
dialog = baseEngineConfig, "Engine Configuration"
2016-07-20 20:03:00 -07:00
; field = "Engine Preset", engineType
field = "Number of Cylinders", cylindersCount
field = "Engine Displacement", displacement
field = "Firing Order", firingOrder
; Engine->Trigger configuration
dialog = triggerConfiguration_settings, "Settings Trigger"
2019-03-12 17:09:33 -07:00
field = "!https://rusefi.com/s/trigger"
2016-07-20 20:03:00 -07:00
field = "Trigger type", trigger_type
2018-06-05 14:42:42 -07:00
field = "Operation mode / speed", operationMode
2016-07-20 20:03:00 -07:00
field = "With VR sensors only rising edge has reliable position"
field = "use only rising edge", useOnlyRisingEdgeForTrigger
2017-04-13 20:48:44 -07:00
field = "!Reminder that 4-stroke cycle is 720 degrees"
2016-07-20 20:03:00 -07:00
field = "Trigger Angle Offset", globalTriggerAngleOffset
field = "#Custom Trigger"
field = "total Tooth Count", trigger_customTotalToothCount, {trigger_type == 0}
field = "skipped Tooth Count", trigger_customSkippedToothCount, {trigger_type == 0}
2016-07-20 20:03:00 -07:00
dialog = triggerConfiguration_IO, "Settings I/O"
2019-03-12 17:09:33 -07:00
field = "!https://rusefi.com/s/vvt"
2016-08-23 20:03:01 -07:00
field = "VVT mode", vvtMode, {trigger_type != 80}
field = "VVT use rise front", vvtCamSensorUseRise, {trigger_type != 80}
2016-11-16 16:02:10 -08:00
field = "VVT position display offset", vvtOffset
2017-01-22 09:06:10 -08:00
field = "VVT display inverted", vvtDisplayInverted
2019-07-01 09:48:08 -07:00
field = "Miata NB2 from (temporary)", miataNb2VVTRatioFrom
field = "Miata NB2 to (temporary)", miataNb2VVTRatioTo
2016-11-17 20:02:17 -08:00
field = "nbVvtIndex", nbVvtIndex
field = "print verbose sync details to console",verboseTriggerSynchDetails
field = "Enable noise filtering", useNoiselessTriggerDecoder, {trigger_type == 8}
2016-07-20 20:03:00 -07:00
dialog = triggerConfiguration
panel = triggerConfiguration_settings, North
panel = triggerConfiguration_IO, South
; Engine->Injection Settings
dialog = injChars, "Injector Settings", yAxis
field = "Injector Flow", injector_flow, {isInjectionEnabled == 1}
dialog = injectorOutputSettings, "Injector Outputs", yAxis
2016-07-20 20:03:00 -07:00
field = "!ECU reboot needed to apply these settings"
2019-05-31 16:21:30 -07:00
field = "injection Pin Mode", injectionPinMode, {isInjectionEnabled == 1}
field = "With batched injection without 'Two wire batch emulation'"
field = " fill only first count / 2 values"
field = "Injection Pin 1", injectionPins1, {isInjectionEnabled == 1}
field = "Injection Pin 2", injectionPins2, {isInjectionEnabled == 1 && injectionMode != 3 && cylindersCount > 1}
field = "Injection Pin 3", injectionPins3, {isInjectionEnabled == 1 && injectionMode != 3 && cylindersCount > 2}
field = "Injection Pin 4", injectionPins4, {isInjectionEnabled == 1 && injectionMode != 3 && cylindersCount > 3}
field = "Injection Pin 5 ", injectionPins5, {isInjectionEnabled == 1 && injectionMode != 3 && cylindersCount > 4}
field = "Injection Pin 6 ", injectionPins6, {isInjectionEnabled == 1 && injectionMode != 3 && cylindersCount > 5}
field = "Injection Pin 7 ", injectionPins7, {isInjectionEnabled == 1 && injectionMode != 3 && cylindersCount > 6}
field = "Injection Pin 8 ", injectionPins8, {isInjectionEnabled == 1 && injectionMode != 3 && cylindersCount > 7}
field = "Injection Pin 9 ", injectionPins9, {isInjectionEnabled == 1 && cylindersCount > 8}
field = "Injection Pin 10 ", injectionPins10, {isInjectionEnabled == 1 && cylindersCount > 9}
field = "Injection Pin 11 ", injectionPins11, {isInjectionEnabled == 1 && cylindersCount > 10}
field = "Injection Pin 12 ", injectionPins12, {isInjectionEnabled == 1 && cylindersCount > 11}
2016-07-20 20:03:00 -07:00
dialog = injectionBasic, ""
2019-03-12 17:22:40 -07:00
topicHelp = "fuelHelp"
panel = baseInjection
panel = injChars
dialog = injectionSettings, "", xAxis
panel = injectionBasic
panel = injectorOutputSettings
dialog = injectionDeadTime, "", yAxis
2016-07-20 20:03:00 -07:00
panel = injectorsDeadTime, East
2018-05-08 10:32:33 -07:00
dialog = ignitionCylExtra, "Ignition Cylinder Extra Timing"
2017-03-11 17:15:27 -08:00
field = "Extra cyl #1", timing_offset_cylinder1
2017-03-12 07:28:42 -07:00
field = "Extra cyl #2", timing_offset_cylinder2, {cylindersCount > 1}
field = "Extra cyl #3", timing_offset_cylinder3, {cylindersCount > 2}
field = "Extra cyl #4", timing_offset_cylinder4, {cylindersCount > 3}
field = "Extra cyl #5", timing_offset_cylinder5, {cylindersCount > 4}
field = "Extra cyl #6", timing_offset_cylinder6, {cylindersCount > 5}
field = "Extra cyl #7", timing_offset_cylinder7, {cylindersCount > 6}
field = "Extra cyl #8", timing_offset_cylinder8, {cylindersCount > 7}
field = "Extra cyl #9", timing_offset_cylinder9, {cylindersCount > 8}
field = "Extra cyl #10", timing_offset_cylinder10, {cylindersCount > 9}
field = "Extra cyl #11", timing_offset_cylinder11, {cylindersCount > 10}
field = "Extra cyl #12", timing_offset_cylinder12, {cylindersCount > 11}
dialog = dwellSettings, "", yAxis
2016-07-20 20:03:00 -07:00
panel = dwellCorrection, Center
; Sensors->AUX1 Thermistor Sensor Setting
dialog = auxTempSensor1Sensor, "aux1 Thermistor Settings"
field = "Input channel", auxTempSensor1_adcChannel
field = "Bias resistor", auxTempSensor1_bias_resistor, {auxTempSensor1_adcChannel != 16}
field = "#Here is three pairs of thermistor temperature and resistance."
field = "#Typical temperatures is -40 deg C, 0 deg C and 100 deg C"
2016-12-21 09:02:35 -08:00
field = ""
field = "Lowest temperature", auxTempSensor1_tempC_1, {auxTempSensor1_adcChannel != 16}
field = "Resistance @ LT", auxTempSensor1_resistance_1, {auxTempSensor1_adcChannel != 16}
2016-12-21 09:02:35 -08:00
field = ""
field = "Middle temperature", auxTempSensor1_tempC_2, {auxTempSensor1_adcChannel != 16}
field = "Resistance @ MT", auxTempSensor1_resistance_2, {auxTempSensor1_adcChannel != 16}
2016-12-21 09:02:35 -08:00
field = ""
field = "Highest temperature", auxTempSensor1_tempC_3, {auxTempSensor1_adcChannel != 16}
field = "Resistance @ HT", auxTempSensor1_resistance_3, {auxTempSensor1_adcChannel != 16}
2016-12-21 09:02:35 -08:00
; Sensors->AUX2 Thermistor Sensor Setting
dialog = auxTempSensor2Sensor, "aux2 Thermistor Settings"
field = "Input channel", auxTempSensor2_adcChannel
field = "Bias resistor", auxTempSensor2_bias_resistor, {auxTempSensor2_adcChannel != 16}
field = "#Here is three pairs of thermistor temperature and resistance."
field = "#Typical temperatures is -40 deg C, 0 deg C and 100 deg C"
2016-12-21 09:02:35 -08:00
field = ""
field = "Lowest temperature", auxTempSensor2_tempC_1, {auxTempSensor2_adcChannel != 16}
field = "Resistance @ LT", auxTempSensor2_resistance_1, {auxTempSensor2_adcChannel != 16}
2016-12-21 09:02:35 -08:00
field = ""
field = "Middle temperature", auxTempSensor2_tempC_2, {auxTempSensor2_adcChannel != 16}
field = "Resistance @ MT", auxTempSensor2_resistance_2, {auxTempSensor2_adcChannel != 16}
2016-12-21 09:02:35 -08:00
field = ""
field = "Highest temperature", auxTempSensor2_tempC_3, {auxTempSensor2_adcChannel != 16}
field = "Resistance @ HT", auxTempSensor2_resistance_3, {auxTempSensor2_adcChannel != 16}
dialog = tpsSensor, "TPS"
2019-04-01 00:43:12 -07:00
field = "!See Tools>Calibrate TPS"
field = "Throttle1 position sensor", tps1_1AdcChannel
2019-06-04 20:59:27 -07:00
field = "Throttle2 position sensor", tps2_1AdcChannel
field = "TPS low value detection threshold", tpsErrorDetectionTooLow, {tps1_1AdcChannel != 16}
field = "TPS high value detection threshold", tpsErrorDetectionTooHigh, {tps1_1AdcChannel != 16}
dialog = pedalSensor, "Accelerator pedal"
field = "Accelerator position sensor", throttlePedalPositionAdcChannel
field = "Up voltage", throttlePedalUpVoltage
field = "Down (WOT) voltage", throttlePedalWOTVoltage
; Sensor Inputs
dialog = otherSensorInputs, "Other Sensor Inputs"
field = "Fuel level", fuelLevelSensor
field = "Flex fuel", flexFuelSensor
field = "Clutch down pin", clutchDownPin
2019-06-28 14:51:18 -07:00
field = "Clutch down inverted", clutchDownPinInverted
field = "Clutch up pin", clutchUpPin
2019-06-28 14:51:18 -07:00
field = "Clutch up inverted", clutchUpPinInverted
field = "Brake pedal pin", brakePedalPin
field = "A/C switch", acSwitchAdc
2018-03-20 04:48:39 -07:00
dialog = triggerInputs, "Trigger Inputs"
field = "!ECU reboot needed to apply these settings"
field = "#Cam is primary if you have cam sensor"
field = "Primary channel", triggerInputPins1
field = "Invert Primary", invertPrimaryTriggerSignal
field = "Secondary channel", triggerInputPins2, { trigger_type != 0 && trigger_type != 8 && trigger_type != 9 && trigger_type != 18 && trigger_type != 20}
field = "Invert Secondary", invertSecondaryTriggerSignal, { trigger_type != 0 && trigger_type != 8 && trigger_type != 9 && trigger_type != 18 && trigger_type != 20}
field = "Cam Sync/VVT input", camInputs1
2018-03-20 04:48:39 -07:00
dialog = allPinsSensors, "Sensors"
2017-02-03 19:03:18 -08:00
field = "CLT ADC input", clt_adcChannel
field = "IAT ADC input", iat_adcChannel
field = "vBatt ADC input", vbattAdcChannel
field = "TPS1 ADC input", tps1_1AdcChannel
2019-06-04 20:59:27 -07:00
field = "TPS2 ADC input", tps2_1AdcChannel
2017-02-03 19:03:18 -08:00
field = "MAF ADC input", mafAdcChannel
field = "AFR ADC input", afr_hwChannel
field = "Baro ADC input", baroSensor_hwChannel
field = "MAP ADC input", map_sensor_hwChannel
field = "FrequencyReportingMapInputPin", frequencyReportingMapInputPin
field = "FuelLevelSensor", fuelLevelSensor
2017-02-05 20:04:55 -08:00
field = "Vehicle Speed Input pin", vehicleSpeedSensorInputPin
2017-02-03 19:03:18 -08:00
field = "clutchDownPin", clutchDownPin
field = "clutchUpPin", clutchUpPin
2017-05-15 02:08:17 -07:00
field = "brakePedalPin", brakePedalPin
field = "A/C Switch", acSwitchAdc
field = "Aux Temperature #1", auxTempSensor1_adcChannel
field = "Aux Temperature #2", auxTempSensor2_adcChannel
2017-02-03 19:03:18 -08:00
dialog = allPins1_1
field = mc33816_cs, mc33816_cs
2019-05-25 10:47:09 -07:00
field = mc33816_rstb, mc33816_rstb
2019-05-25 12:35:25 -07:00
field = high_fuel_pressure_sensor_1, high_fuel_pressure_sensor_1
field = high_fuel_pressure_sensor_2, high_fuel_pressure_sensor_2
2019-05-25 10:47:09 -07:00
field = mc33816_driven, mc33816_driven
field = mc33816spiDevice, mc33816spiDevice
field = "Warning Led", warningLedPin
field = "Fatal Error Led", fatalErrorPin
field = "tle6240_cs", tle6240_cs
field = "tle6240 SPI", tle6240spiDevice
field = "mc33972_cs", mc33972_cs
field = "mc33972 SPI", mc33972spiDevice
panel = allPinsSensors
field = "Throttle pedal Position Channel", throttlePedalPositionAdcChannel
field = "Primary input channel", triggerInputPins1
field = "Secondary channel", triggerInputPins2
field = "Cam Sync/VVT input", camInputs1
dialog = allPins1_2
field = "Tachometer output Pin", tachOutputPin
2017-02-03 20:04:50 -08:00
field = "Dizzy out Pin", dizzySparkOutputPin
2017-02-03 19:03:18 -08:00
field = "O2 heater pin", o2heaterPin
field = "Idle Solenoid Pin", idle_solenoidPin
field = "Idle Stepper Dir", idle_stepperDirectionPin
2017-06-13 07:40:16 -07:00
field = "Idle Stepper Dir Mode", stepperDirectionPinMode
2017-02-03 19:03:18 -08:00
field = "Idle Stepper Step", idle_stepperStepPin
field = "Idle Stepper Enable", stepperEnablePin
field = "Fuel Pump Pin", fuelPumpPin
field = "Fuel Pump Pin Mode", fuelPumpPinMode
2019-06-07 14:38:12 -07:00
field = "ETB#1 Dir #1", etb1_directionPin1 @@if_ts_show_etb_pins
field = "ETB#1 Dir #2", etb1_directionPin2 @@if_ts_show_etb_pins
field = "ETB#1 Control #1", etb1_controlPin1 @@if_ts_show_etb_pins
field = "ETB#2 Dir #1", etb2_directionPin1 @@if_ts_show_etb_pins
field = "ETB#2 Dir #2", etb2_directionPin2 @@if_ts_show_etb_pins
field = "ETB#2 Control #1", etb2_controlPin1 @@if_ts_show_etb_pins
2017-02-22 19:05:34 -08:00
field = "SD CS Pin", sdCardCsPin
2017-03-12 13:32:10 -07:00
field = "Check Engine Pin", malfunctionIndicatorPin
field = "Check Engine Pin Mode", malfunctionIndicatorPinMode
2017-05-14 04:45:01 -07:00
field = "Aux Pin #1", auxPidPins1
field = "Aux Pin #2", auxPidPins2
field = "Aux Pin #3", auxPidPins3
field = "Aux Pin #4", auxPidPins4
2018-01-26 19:47:09 -08:00
field = "test557pin", test557pin
field = "Fan Pin", fanPin
field = "Fan Pin Mode", fanPinMode
field = "Main Relay Pin", mainRelayPin
field = "Main Relay Mode", mainRelayPinMode
field = "aux valve #1", auxValves1
field = "aux valve #2", auxValves2
2017-02-03 19:03:18 -08:00
dialog = allPins2_1
2017-02-03 20:04:50 -08:00
field = "Injection Pin 1", injectionPins1
field = "Injection Pin 2", injectionPins2
field = "Injection Pin 3", injectionPins3
field = "Injection Pin 4", injectionPins4
field = "Injection Pin 5 ", injectionPins5
field = "Injection Pin 6 ", injectionPins6
field = "Injection Pin 7 ", injectionPins7
field = "Injection Pin 8 ", injectionPins8
field = "Injection Pin 9 ", injectionPins9
field = "Injection Pin 10 ", injectionPins10
field = "Injection Pin 11 ", injectionPins11
field = "Injection Pin 12 ", injectionPins12
field = "FSIO dig inp #1", fsioDigitalInputs1
field = "FSIO dig inp #2", fsioDigitalInputs2
field = "FSIO dig inp #3", fsioDigitalInputs3
field = "FSIO dig inp #4", fsioDigitalInputs4
field = "FSIO dig inp #5", fsioDigitalInputs5
field = "FSIO dig inp #6", fsioDigitalInputs6
field = "FSIO dig inp #7", fsioDigitalInputs7
field = "FSIO dig inp #8", fsioDigitalInputs8
field = "FSIO dig inp #9", fsioDigitalInputs9
field = "FSIO dig inp #10", fsioDigitalInputs10
field = "FSIO dig inp #11", fsioDigitalInputs11
field = "FSIO dig inp #12", fsioDigitalInputs12
field = "FSIO dig inp #13", fsioDigitalInputs13
field = "FSIO dig inp #14", fsioDigitalInputs14
field = "FSIO dig inp #15", fsioDigitalInputs15
field = "FSIO dig inp #16", fsioDigitalInputs16
dialog = allPins2_2
field = "Ignition Pin 1", ignitionPins1
2017-02-03 20:04:50 -08:00
field = "Ignition Pin 2", ignitionPins2
field = "Ignition Pin 3", ignitionPins3
field = "Ignition Pin 4", ignitionPins4
field = "Ignition Pin 5", ignitionPins5
field = "Ignition Pin 6", ignitionPins6
field = "Ignition Pin 7", ignitionPins7
field = "Ignition Pin 8", ignitionPins8
field = "Ignition Pin 9", ignitionPins9
field = "Ignition Pin 10", ignitionPins10
field = "Ignition Pin 11", ignitionPins11
field = "Ignition Pin 12", ignitionPins12
2017-11-27 18:49:58 -08:00
field = "output #1", fsioOutputPins1
field = "output #2", fsioOutputPins2
field = "output #3", fsioOutputPins3
field = "output #4", fsioOutputPins4
field = "output #5", fsioOutputPins5
field = "output #6", fsioOutputPins6
field = "output #7", fsioOutputPins7
field = "output #8", fsioOutputPins8
field = "output #9", fsioOutputPins9
field = "output #10", fsioOutputPins10
field = "output #11", fsioOutputPins11
field = "output #12", fsioOutputPins12
field = "output #13", fsioOutputPins13
field = "output #14", fsioOutputPins14
field = "output #15", fsioOutputPins15
field = "output #16", fsioOutputPins16
2017-02-05 20:04:55 -08:00
dialog = allPins1_3
2019-02-02 17:32:42 -08:00
field = "FSIO ADC #1", fsioAdc1
field = "FSIO ADC #2", fsioAdc2
field = "FSIO ADC #3", fsioAdc3
field = "FSIO ADC #4", fsioAdc4
2019-06-06 16:20:00 -07:00
field = "GPS RX", gps_rx_pin @@if_ts_show_gps
field = "GPS TX", gps_tx_pin @@if_ts_show_gps
2019-02-02 17:32:42 -08:00
field = "CAN RX pin", canRxPin
field = "CAN TX pin", canTxPin
2018-06-17 16:05:54 -07:00
field = "SPI1 MOSI", spi1mosiPin, {is_enabled_spi_1 == 1}
field = "SPI1 MISO", spi1misoPin, {is_enabled_spi_1 == 1}
field = "SPI1 SCK", spi1sckPin, {is_enabled_spi_1 == 1}
field = "SPI2 MOSI", spi2mosiPin, {is_enabled_spi_2 == 1}
field = "SPI2 MISO", spi2misoPin, {is_enabled_spi_2 == 1}
field = "SPI2 SCK", spi2sckPin, {is_enabled_spi_2 == 1}
field = "SPI3 MOSI", spi3mosiPin, {is_enabled_spi_3 == 1}
field = "SPI3 MISO", spi3misoPin, {is_enabled_spi_3 == 1}
field = "SPI3 SCK", spi3sckPin, {is_enabled_spi_3 == 1}
field = "hip9011CsPin", hip9011CsPin
field = "LIS302DLCsPin", LIS302DLCsPin
2018-11-10 18:01:59 -08:00
field = "Malfunction Indicator", malfunctionIndicatorPin
2019-01-04 19:09:38 -08:00
field = "Saab CDM knock", cdmInputPin
2019-01-26 08:33:41 -08:00
field = "comm status light", communicationLedPin
field = "running status light", runningLedPin
2019-03-25 17:39:10 -07:00
field = "TLE8888 Chip Select", tle8888_cs
field = "TLE8888 CS Mode", tle8888_csPinMode
field = "TLE 8888 spi", tle8888spiDevice
field = "servo#1", servoOutputPins1
field = "servo#2", servoOutputPins2
field = "servo#3", servoOutputPins3
field = "servo#4", servoOutputPins4
field = "servo#5", servoOutputPins5
2017-02-05 20:04:55 -08:00
2017-02-03 19:03:18 -08:00
dialog = allPins1_1_and_2, "", xAxis
panel = allPins1_1
panel = allPins1_2
2017-02-03 19:03:18 -08:00
dialog = allPins1, "All Pins 1/2", xAxis
panel = allPins1_1_and_2
panel = allPins1_3
dialog = allPins2_1_and_2, "", xAxis
panel = allPins2_1
panel = allPins2_2
dialog = allPins2, "All Pins 2/2", xAxis
panel = allPins2_1_and_2
2017-02-05 20:04:55 -08:00
2017-02-03 19:03:18 -08:00
; Sensors->CLT sensor
dialog = clt_thermistor, "CLT sensor"
field = "Input channel", clt_adcChannel
field = "Bias resistor", clt_bias_resistor, {clt_adcChannel != 16}
field = "#Here is three pairs of thermistor temperature and resistance."
field = "#Typical temperatures is -40 deg C, 0 deg C and 100 deg C"
2016-07-20 20:03:00 -07:00
field = ""
field = "Lowest temperature", clt_tempC_1, {clt_adcChannel != 16}
field = "Resistance @ LT", clt_resistance_1, {clt_adcChannel != 16}
2016-07-20 20:03:00 -07:00
field = ""
field = "Middle temperature", clt_tempC_2, {clt_adcChannel != 16}
field = "Resistance @ MT", clt_resistance_2, {clt_adcChannel != 16}
2016-07-20 20:03:00 -07:00
field = ""
field = "Highest temperature", clt_tempC_3, {clt_adcChannel != 16}
field = "Resistance @ HT", clt_resistance_3, {clt_adcChannel != 16}
field = ""
field = "Linear characteristic", useLinearCltSensor, {clt_adcChannel != 16}
2016-07-20 20:03:00 -07:00
dialog = cltSensor, "", xAxis
panel = clt_thermistor
gauge = CLTGauge
; Sensors->IAT sensor
dialog = iat_thermistor, "IAT sensor"
field = "Input channel", iat_adcChannel
field = "Bias resistor", iat_bias_resistor, {iat_adcChannel != 16}
field = "#Here is three pairs of thermistor temperature and resistance."
field = "#Typical temperatures is -40 deg C, 0 deg C and 100 deg C"
2016-07-20 20:03:00 -07:00
field = ""
field = "Lowest temperature", iat_tempC_1, {iat_adcChannel != 16}
field = "Resistance @ LT", iat_resistance_1, {iat_adcChannel != 16}
2016-07-20 20:03:00 -07:00
field = ""
field = "Middle temperature", iat_tempC_2, {iat_adcChannel != 16}
field = "Resistance @ MT", iat_resistance_2, {iat_adcChannel != 16}
2016-07-20 20:03:00 -07:00
field = ""
field = "Highest temperature", iat_tempC_3, {iat_adcChannel != 16}
field = "Resistance @ HT", iat_resistance_3, {iat_adcChannel != 16}
field = ""
field = "Linear characteristic", useLinearIatSensor, {iat_adcChannel != 16}
2016-07-20 20:03:00 -07:00
dialog = iatSensor, "", xAxis
panel = iat_thermistor
gauge = IATGauge
; Sensors->Oil pressure sensor
dialog = oilp_settings, "Oil pressure sensor"
field = "Oil Pressure ADC input", oilPressure_hwChannel
field = "low voltage", oilPressure_v1, {oilPressure_hwChannel != 16}
field = "low pressure", oilPressure_value1, {oilPressure_hwChannel != 16}
field = "high voltage", oilPressure_v2, {oilPressure_hwChannel != 16}
field = "high pressure", oilPressure_value2, {oilPressure_hwChannel != 16}
dialog = oilPressureSensor, "", xAxis
panel = oilp_settings
gauge = OilPressGauge
; Sensors->MAP sensor
dialog = mapSensorAnalog, "MAP sensor", yAxis
field = "MAP ADC input", map_sensor_hwChannel
field = "MAP type", map_sensor_type
field = "MAP value low point", map_sensor_lowValue
field = "MAP voltage low point", mapLowValueVoltage
field = "MAP value high point", map_sensor_highValue
field = "MAP voltage high value", mapHighValueVoltage
2018-06-10 01:43:49 -07:00
dialog = mapSensorFreq, "MAP frequency sensor", yAxis
field = "MAP Freq", frequencyReportingMapInputPin
field = "0 kPa freq", mapFrequency0Kpa
field = "100 kpa freq", mapFrequency100Kpa
dialog = mapCommon, "MAP common settings"
field = "frequency-based MAP", hasFrequencyReportingMapSensor
field = "Low value threshold", mapErrorDetectionTooLow
field = "High value threshold", mapErrorDetectionTooHigh
field = ""
field = "Measure Map Only In One Cylinder", measureMapOnlyInOneCylinder
field = "Minimum MAP samples", mapMinBufferLength
dialog = mapSettings, "", yAxis
panel = mapCommon
panel = mapSensorAnalog, {hasFrequencyReportingMapSensor == 0}
panel = mapSensorFreq, {hasFrequencyReportingMapSensor == 1}
panel = mapErrorDetection
dialog = baroSettings, "Baro sensor"
field = "Baro ADC input", baroSensor_hwChannel
field = baroSensor_lowValue, baroSensor_lowValue, {baroSensor_hwChannel != 16}
field = baroSensor_highValue, baroSensor_highValue, {baroSensor_hwChannel != 16}
field = baroSensor_type, baroSensor_type, {baroSensor_hwChannel != 16}
dialog = mapCurves, "MAP sampling", yAxis
field = "isMapAveragingEnabled", isMapAveragingEnabled
panel = map_samplingAngleCurve
panel = map_samplingWindowCurve
dialog = mafSettings, "MAF sensor", yAxis
field = "MAF ADC input", mafAdcChannel
2016-07-20 20:03:00 -07:00
; Sensors->EGO sensor
dialog = egoSettings_sensor, "EGO sensor"
2017-11-07 05:41:19 -08:00
field = "Type", afr_type
2017-10-29 17:29:02 -07:00
; todo: only use these values for custom!
2016-07-20 20:03:00 -07:00
field = "low voltage", afr_v1
field = "low value", afr_value1
field = "high voltage", afr_v2
field = "high value", afr_value2
field = "Correction", egoValueShift
2016-07-20 20:03:00 -07:00
dialog = egoSettings_IO, "EGO Sensor I/O"
field = "Input channel", afr_hwChannel
field = "Heater pin", o2heaterPin
2016-07-20 20:03:00 -07:00
dialog = egoSettings, "", yAxis
panel = egoSettings_IO
panel = egoSettings_sensor, {afr_hwChannel != 16}
2016-07-20 20:03:00 -07:00
; Engine->EGT inputs
dialog = egtInputs, "EGT inputs"
field = "SPI", max31855spiDevice
field = "CS #1", max31855_cs1
field = "CS #2", max31855_cs2
field = "CS #3", max31855_cs3
field = "CS #4", max31855_cs4
field = "CS #5", max31855_cs5
field = "CS #6", max31855_cs6
field = "CS #7", max31855_cs7
field = "CS #8", max31855_cs8
; Engine->idle Settings
2018-01-07 09:11:49 -08:00
dialog = idleSolenoid, "Solenoid"
2016-07-20 20:03:00 -07:00
field = "Idle Solenoid Pin Mode", idle_solenoidPinMode, !useStepperIdle
field = "Idle Solenoid Pin", idle_solenoidPin, !useStepperIdle
field = "Idle Solenoid Frequency", idle_solenoidFrequency, !useStepperIdle
2018-01-07 09:11:49 -08:00
dialog = idleStepper, "Stepper"
field = "Idle Stepper Step Pin", idle_stepperStepPin, useStepperIdle
field = "Idle Stepper Dir Pin", idle_stepperDirectionPin, useStepperIdle
field = "Idle Stepper Enable Pin", stepperEnablePin, useStepperIdle
field = "Idle Stepper Enable Pin Mode", stepperEnablePinMode, useStepperIdle
2016-07-20 20:03:00 -07:00
field = "Stepper reaction time", idleStepperReactionTime, useStepperIdle
field = "Stepper total steps", idleStepperTotalSteps, useStepperIdle
field = "Stepper parking extra steps, %", stepperParkingExtraSteps, useStepperIdle
field = "Force parking every restart", stepperForceParkingEveryRestart, useStepperIdle
2016-07-20 20:03:00 -07:00
2018-01-07 09:11:49 -08:00
dialog = idleHwType, "Idle Valve Hardware", border
2016-07-20 20:03:00 -07:00
panel = idleSolenoid, West
panel = idleStepper, East
dialog = idlehw, "", yAxis
field = "!ECU reboot needed to apply these settings"
field = "Use Stepper", useStepperIdle
panel = idleHwType
dialog = idlePidSettings, "PID IAC Control"
field = "#See Idle Target RPM Curve"
2018-01-07 09:11:49 -08:00
field = "P-factor", idleRpmPid_pFactor
field = "I-factor", idleRpmPid_iFactor
field = "D-factor", idleRpmPid_dFactor
field = "Offset", idleRpmPid_offset
field = "Min", idleRpmPid_minValue
field = "Max", idleRpmPid_maxValue
2019-02-10 19:47:49 -08:00
field = "period", idleRpmPid_periodMs
field = "RPM dead zone to deactivate IAC pid", idlePidRpmDeadZone
field = "RPM upper limit to deactivate IAC pid",idlePidRpmUpperLimit
field = "PID Extra for low RPM", pidExtraForLowRpm
2018-01-07 09:11:49 -08:00
2016-07-20 20:03:00 -07:00
dialog = idleSettings, "", yAxis
field = "Idle IAC control mode", idleMode
field = "use ETB for idle", useETBforIdleControl
2019-06-28 14:51:18 -07:00
field = "ETB Idle range", etbIdleThrottleRange, {useETBforIdleControl == 1}
field = "Use separate Ignition Table for idle", useSeparateAdvanceForIdle
field = "Use separate VE Table for idle", useSeparateVeForIdle
field = "Use separate IAC Table For Coasting", useIacTableForCoasting, {idleMode == 0}
field = idleIncrementalPidCic, idleIncrementalPidCic
field = "TPS deactivation threshold", idlePidDeactivationTpsThreshold
2018-01-07 09:11:49 -08:00
panel = idlePidSettings, { idleMode == 0}
field = "Extra IAC if Throttle Pressed", iacByTpsTaper;
2019-04-23 06:10:18 -07:00
field = "Detailed status in console", isVerboseIAC
field = "#See Warmup idle multiplier"
slider = "Manual IAC Position", manIdlePosition, horizontal
2016-07-20 20:03:00 -07:00
dialog = idleTimingPidCorrDialog, "", yAxis
field = "!This timing correction mode is Alpha Version"
field = "Use Auto-PID ignition advance control", useIdleTimingPidControl
field = "#See Idle Target RPM Curve"
field = "P-factor", idleTimingPid_pFactor, {useIdleTimingPidControl == 1}
field = "I-factor", idleTimingPid_iFactor, {useIdleTimingPidControl == 1}
field = "D-factor", idleTimingPid_dFactor, {useIdleTimingPidControl == 1}
field = "Offset", idleTimingPid_offset, {useIdleTimingPidControl == 1}
field = "Min Delta", idleTimingPid_minValue, {useIdleTimingPidControl == 1}
field = "Max Delta", idleTimingPid_maxValue, {useIdleTimingPidControl == 1}
field = "period", idleTimingPid_periodMs, {useIdleTimingPidControl == 1}
field = "#See RPM dead zone to deactivate IAC pid"
field = "RPM working zone for timing pid", idleTimingPidWorkZone, {useIdleTimingPidControl == 1}
field = "RPM working zone falloff", idlePidFalloffDeltaRpm, {useIdleTimingPidControl == 1}
field = "RPM dead zone to deactivate timing pid", idleTimingPidDeadZone, {useIdleTimingPidControl == 1}
2016-07-20 20:03:00 -07:00
; Engine->Fan Settings
dialog = fanSetting, "Fan Settings"
field = "Pin", fanPin
field = "Pin mode", fanPinMode
field = "On temperature", fanOnTemperature
field = "Off temperature", fanOffTemperature
dialog = fuelPump, "Fuel Pump"
field = "Pin", fuelPumpPin
field = "Pin mode", fuelPumpPinMode
field = "Prime duration", startUpFuelPumpDuration
; Controller->Actuator Outputs
dialog = mainRelay, "Main relay output"
field = "Pin", mainRelayPin
field = "Pin mode", mainRelayPinMode
dialog = statusLeds, "Status LEDs"
field = "Running status LED", runningLedPin
field = "TS communication status LED", communicationLedPin
field = "Trigger error LED", triggerErrorPin
field = "Fatal Error Led", fatalErrorPin
2016-07-20 20:03:00 -07:00
; Engine->MIL Settings
dialog = malfunction, "Check Engine Settings"
field = "Pin", malfunctionIndicatorPin
field = "Pin mode", malfunctionIndicatorPinMode
2016-09-08 13:02:17 -07:00
field = "Warning Period", warningPeriod
2016-07-20 20:03:00 -07:00
; Engine->hip9011 Settings
dialog = hipFunction, "HIP9011 Settings (knock decoder)"
field = "Enabled", isHip9011Enabled
2017-01-28 16:03:06 -08:00
field = "Threshold", knockVThreshold, {isHip9011Enabled == 1}
2016-07-20 20:03:00 -07:00
field = "!ECU reboot needed to apply these settings"
2017-01-28 16:03:06 -08:00
field = "IntHold pin (hip9011 input)", hip9011IntHoldPin, {isHip9011Enabled == 1}
field = "IntHold pin (hip9011 input) mode", hip9011IntHoldPinMode, {isHip9011Enabled == 1}
field = "ChipSelect pin", hip9011CsPin, {isHip9011Enabled == 1}
field = "ChipSelect mode", hip9011CsPinMode, {isHip9011Enabled == 1}
field = "hip Output/stm input", hipOutputChannel, {isHip9011Enabled == 1}
field = "prescaler & SDO", hip9011PrescalerAndSDO, {isHip9011Enabled == 1}
field = "knockDetectionWindowStart", knockDetectionWindowStart, {isHip9011Enabled == 1}
field = "knockDetectionWindowEnd", knockDetectionWindowEnd, {isHip9011Enabled == 1}
2018-05-20 10:22:32 -07:00
field = "cylinder bore (mm)", cylinderBore, {isHip9011Enabled == 1}
2017-01-28 16:03:06 -08:00
field = "Band Freq override", knockBandCustom, {isHip9011Enabled == 1}
field = "SPI device", hip9011SpiDevice, {isHip9011Enabled == 1}
2016-07-20 20:03:00 -07:00
panel = knockThresholdCurve
; Engine->cj125 Settings
dialog = cj125Function, "CJ125 Settings (wbo decoder)"
field = "Enabled", isCJ125Enabled
field = "Using 4.9 sensor?", cj125isLsu49
2016-07-20 20:03:00 -07:00
field = "!ECU reboot needed to apply these settings"
2017-02-11 23:02:24 -08:00
field = "ChipSelect pin", cj125CsPin, {isCJ125Enabled == 1}
field = "ChipSelect mode", cj125CsPinMode, {isCJ125Enabled == 1}
2018-06-16 05:17:54 -07:00
field = "!See also 'Controller-SPI setting'"
2016-07-20 20:03:00 -07:00
field = "SPI device", cj125SpiDevice
2018-01-22 14:46:34 -08:00
field = "Heater pin", wboHeaterPin, {isCJ125Enabled == 1}
2017-02-11 23:02:24 -08:00
field = "UA input", cj125ua, {isCJ125Enabled == 1}
field = "UR input", cj125ur, {isCJ125Enabled == 1}
2018-06-17 12:07:42 -07:00
field = "Is UA input divided?" cj125isUaDivided, {isCJ125Enabled == 1}
2016-07-20 20:03:00 -07:00
dialog = spiFunction, "SPI settings"
field = "!ECU reboot needed to apply these settings"
2017-01-28 17:03:19 -08:00
field = "SPI1 enable", is_enabled_spi_1
field = "SPI1 MOSI", spi1mosiPin, {is_enabled_spi_1 == 1}
field = "SPI1mosi mode", spi1MosiMode, {is_enabled_spi_1 == 1}
2017-01-28 17:03:19 -08:00
field = "SPI1 MISO", spi1misoPin, {is_enabled_spi_1 == 1}
field = "SPI1miso mode", spi1MisoMode, {is_enabled_spi_1 == 1}
2017-01-28 17:03:19 -08:00
field = "SPI1 SCK", spi1sckPin, {is_enabled_spi_1 == 1}
field = "SPI1sck mode", spi1SckMode, {is_enabled_spi_1 == 1}
2017-01-28 17:03:19 -08:00
field = "SPI2 enable", is_enabled_spi_2
field = "SPI2 MOSI", spi2mosiPin, {is_enabled_spi_2 == 1}
field = "SPI2mosi mode", spi2MosiMode, {is_enabled_spi_2 == 1}
2017-01-28 17:03:19 -08:00
field = "SPI2 MISO", spi2misoPin, {is_enabled_spi_2 == 1}
field = "SPI2miso mode", spi2MisoMode, {is_enabled_spi_2 == 1}
2017-01-28 17:03:19 -08:00
field = "SPI2 SCK", spi2sckPin, {is_enabled_spi_2 == 1}
field = "SPI2sck mode", spi2SckMode, {is_enabled_spi_2 == 1}
2017-01-28 17:03:19 -08:00
field = "SPI3 enable", is_enabled_spi_3
field = "SPI3 MOSI", spi3mosiPin, {is_enabled_spi_3 == 1}
field = "SPI3mosi mode", spi3MosiMode, {is_enabled_spi_3 == 1}
2017-01-28 17:03:19 -08:00
field = "SPI3 MISO", spi3misoPin, {is_enabled_spi_3 == 1}
field = "SPI3miso mode", spi3MisoMode, {is_enabled_spi_3 == 1}
2017-01-28 17:03:19 -08:00
field = "SPI3 SCK", spi3sckPin, {is_enabled_spi_3 == 1}
field = "SPI3sck mode", spi3SckMode, {is_enabled_spi_3 == 1}
2018-06-17 16:05:54 -07:00
field = "LIS302DLCsPin", LIS302DLCsPin
2016-07-20 20:03:00 -07:00
2018-01-10 19:54:22 -08:00
dialog = fuelClosedLoopDialog, "Fuel short-term closed-loop correction"
field = "#This is just the cherry on the cake once you have good VE table"
2017-01-22 13:04:09 -08:00
field = "Enabled", fuelClosedLoopCorrectionEnabled
2017-01-23 18:03:11 -08:00
field = "!No correction below these value"
2017-01-22 13:04:09 -08:00
field = "CLT - low threshod", fuelClosedLoopCltThreshold, {fuelClosedLoopCorrectionEnabled == 1}
field = "RPM - low threshod", fuelClosedLoopRpmThreshold, {fuelClosedLoopCorrectionEnabled == 1}
2017-01-22 21:06:44 -08:00
field = "EGO - low threshod", fuelClosedLoopAfrLowThreshold, {fuelClosedLoopCorrectionEnabled == 1}
2017-01-23 18:03:11 -08:00
field = "!No correction above these value"
field = "TPS - high threshod", fuelClosedLoopTpsThreshold, {fuelClosedLoopCorrectionEnabled == 1}
2017-01-22 21:06:44 -08:00
field = "EGO - high threshod", fuelClosedLoopAfrHighThreshold, {fuelClosedLoopCorrectionEnabled == 1}
2017-01-23 18:03:11 -08:00
field = "!PID settings"
2017-01-22 13:04:09 -08:00
field = "P factor", fuelClosedLoopPid_pFactor, {fuelClosedLoopCorrectionEnabled == 1}
field = "I factor", fuelClosedLoopPid_iFactor, {fuelClosedLoopCorrectionEnabled == 1}
field = "D factor", fuelClosedLoopPid_dFactor, {fuelClosedLoopCorrectionEnabled == 1}
2018-03-24 20:48:47 -07:00
field = "min", fuelClosedLoopPid_minValue, {fuelClosedLoopCorrectionEnabled == 1}
field = "max", fuelClosedLoopPid_maxValue, {fuelClosedLoopCorrectionEnabled == 1}
2017-01-22 13:04:09 -08:00
2016-07-20 20:03:00 -07:00
dialog = auxPidDialog, "Aux PID"
field = "Enabled", activateAuxPid1
field = "FSIO pin #1", auxPidPins1
field = "PWM Frequency", auxPidFrequency1
2019-04-23 06:10:18 -07:00
field = "Detailed status in console", isVerboseAuxPid1
2016-07-20 20:03:00 -07:00
field = "#target based on FSIO map#1"
2019-02-10 19:47:49 -08:00
field = "control period", auxPid1_periodMs, {activateAuxPid1 == 1}
2016-07-20 20:03:00 -07:00
field = "#PID control"
field = "offset", auxPid1_offset, {activateAuxPid1 == 1}
field = "P factor", auxPid1_pFactor, {activateAuxPid1 == 1}
field = "I factor", auxPid1_iFactor, {activateAuxPid1 == 1}
field = "D factor", auxPid1_dFactor, {activateAuxPid1 == 1}
field = "Min", auxPid1_minValue, {activateAuxPid1 == 1}
field = "Max", auxPid1_maxValue, {activateAuxPid1 == 1}
2016-07-20 20:03:00 -07:00
field = "FSIO pin #2", auxPidPins2
field = "FSIO pin #3", auxPidPins3
field = "FSIO pin #4", auxPidPins4
; Engine->Battery & Alternator
dialog = batteryDialog, "Battery Settings", yAxis
field = "vBatt ADC input", vbattAdcChannel
field = "Battery Input Divider Coefficient", vbattDividerCoeff
dialog = alternator, "Alternator Settings", yAxis
field = "Enabled", isAlternatorControlEnabled
field = "simple on/off mode", onOffAlternatorLogic, {isAlternatorControlEnabled == 1}
field = "Target", targetVBatt, {isAlternatorControlEnabled == 1}
field = "Pin", alternatorControlPin, {isAlternatorControlEnabled == 1}
field = "Pin Mode", alternatorControlPinMode, {isAlternatorControlEnabled == 1}
field = "PWM frequency", alternatorPwmFrequency, {isAlternatorControlEnabled == 1 && onOffAlternatorLogic == 0}
field = "Off Above TPS", alternatorOffAboveTps, {isAlternatorControlEnabled == 1}
2019-04-23 06:10:18 -07:00
field = "Detailed status in console", isVerboseAlternator, {isAlternatorControlEnabled == 1}
2019-02-10 19:47:49 -08:00
field = "control period", alternatorControl_periodMs, {isAlternatorControlEnabled == 1}
2016-07-20 20:03:00 -07:00
field = "#PID control"
field = "offset", alternatorControl_offset, {isAlternatorControlEnabled == 1 && onOffAlternatorLogic == 0}
field = "P factor", alternatorControl_pFactor, {isAlternatorControlEnabled == 1 && onOffAlternatorLogic == 0}
field = "I factor", alternatorControl_iFactor, {isAlternatorControlEnabled == 1 && onOffAlternatorLogic == 0}
field = "D factor", alternatorControl_dFactor, {isAlternatorControlEnabled == 1 && onOffAlternatorLogic == 0}
field = "Min", alternatorControl_minValue, {isAlternatorControlEnabled == 1 && onOffAlternatorLogic == 0}
field = "Max", alternatorControl_maxValue, {isAlternatorControlEnabled == 1 && onOffAlternatorLogic == 0}
2016-07-20 20:03:00 -07:00
field = "#% duty = Pterm + Iterm + Dterm + offset%"
dialog = energySystems, "Battery and Alternator Settings", yAxis
panel = batteryDialog
panel = alternator
dialog = speedSensorLeft
field = "Input pin", vehicleSpeedSensorInputPin
2017-02-05 20:04:55 -08:00
field = "revolution to speed mult", vehicleSpeedCoef
dialog = speedSensor, "Speed sensor", xAxis
panel = speedSensorLeft
gauge = VSSGauge
2016-07-20 20:03:00 -07:00
; Engine->Other inputs
dialog = analogInputSettings, "Analog Input Settings"
2016-07-20 20:03:00 -07:00
field = "!ECU reboot needed to apply these settings"
field = "Use fixed baro corr from MAP", useFixedBaroCorrFromMap
2016-07-20 20:03:00 -07:00
field = "Analog divider", analogInputDividerCoefficient
2016-09-17 13:02:56 -07:00
field = "Use BiQuad averaging", useBiQuadAnalogFiltering
field = "Smoothing factor", slowAdcAlpha, {useBiQuadAnalogFiltering == 0}
field = "Bi_Q a0", biQuad_a0, {useBiQuadAnalogFiltering == 1}
field = "Bi_Q a1", biQuad_a1, {useBiQuadAnalogFiltering == 1}
field = "Bi_Q a2", biQuad_a2, {useBiQuadAnalogFiltering == 1}
field = "Bi_Q b1", biQuad_b1, {useBiQuadAnalogFiltering == 1}
field = "Bi_Q b2", biQuad_b2, {useBiQuadAnalogFiltering == 1}
2016-07-20 20:03:00 -07:00
dialog = tachSettings, "Tachometer output"
field = "!See also dizzySparkOutputPin"
field = "Pin", tachOutputPin
field = "Pin mode", tachOutputPinMode
field = "Rise at trigger index", tachPulseTriggerIndex
field = "Pulse duration is duty cycle", tachPulseDurationAsDutyCycle
field = "Pulse duration", tachPulseDuractionMs
2016-07-20 20:03:00 -07:00
; Board->Connection
dialog = tsPort, "TunerStudio Port"
2017-05-19 08:31:21 -07:00
field = "tunerStudioSerialSpeed", tunerStudioSerialSpeed
field = "Use PC10/PC11 serial?", useSerialPort
field = "uartConsoleSerialSpeed", uartConsoleSerialSpeed
2016-07-20 20:03:00 -07:00
dialog = canBus, "CAN Bus"
field = "Can Read Enabled", canReadEnabled
field = "Can Write Enabled", canWriteEnabled
2019-05-01 05:33:14 -07:00
field = "Can Nbc Type", canNbcType
2019-02-10 19:47:49 -08:00
field = "Can Sleep Period", canSleepPeriodMs
2016-07-20 20:03:00 -07:00
field = "RX pin", canRxPin
2019-02-02 17:32:42 -08:00
field = "TX pin", canTxPin
2016-07-20 20:03:00 -07:00
dialog = sdCard, "SD Card Logger"
field = "SdCard", isSdCardEnabled
field = "showSdCardWarning", showSdCardWarning
2017-02-22 19:05:34 -08:00
field = "CS Pin", sdCardCsPin
2017-04-11 16:16:48 -07:00
field = "SPI", sdCardSpiDevice
2016-07-20 20:03:00 -07:00
field = "log format", logFormat
field = "Mass Storage", storageMode
2019-06-06 16:20:00 -07:00
dialog = gpsReceiver, "GPS Receiver"
2016-07-20 20:03:00 -07:00
field = "gps RX", gps_rx_pin
field = "gps TX", gps_tx_pin
dialog = lcdScreen, "LCD screen"
field = "display Mode", displayMode
field = "height", HD44780height
field = "width", HD44780width
field = "RS pin", HD44780_rs
field = "E pin", HD44780_e
field = "D4 pin", HD44780_db4
field = "D5 pin", HD44780_db5
field = "D6 pin", HD44780_db6
field = "D7 pin", HD44780_db7
dialog = tle8888, "TLE8888", yAxis
field = "TLE8888 Chip Select", tle8888_cs
field = "TLE8888 SPI", tle8888spiDevice
dialog = connection, "", yAxis
field = "STM32 vRef voltage", adcVcc
2016-07-20 20:03:00 -07:00
panel = tsPort
panel = canBus
panel = sdCard
2019-06-06 16:20:00 -07:00
panel = gpsReceiver @@if_ts_show_gps
panel = tle8888
2016-10-02 11:02:23 -07:00
dialog = joystickPanel, "Joystick"
field = "joustick center button", joystickCenterPin
field = "joustick button A", joystickAPin
field = "joustick button B", joystickBPin
field = "joustick button C", joystickCPin
field = "joustick button D", joystickDPin
2016-07-20 20:03:00 -07:00
dialog = monitoringSettings, "rusEfi Console Settings"
field = "Sensor Sniffer", sensorChartMode
field = " Threshold", sensorSnifferRpmThreshold
field = " Each X cycle", sensorChartFrequency
field = "Engine Sniffer", isEngineChartEnabled
field = " Threshold", engineSnifferRpmThreshold
dialog = generalSettings, "General"
2019-03-12 17:22:40 -07:00
field = "!https://rusefi.com/s/fuel"
field = "Fuel strategy", fuelAlgorithm
2016-07-20 20:03:00 -07:00
dialog = debugging, "Debug"
field = "!https://rusefi.com/s/debugmode"
field = "Debug mode", debugMode
dialog = limits, "Limits"
field = "RPM hard limit", rpmHardLimit
field = "Boost cut pressure", boostCutPressure
; Engine->Base Engine Settings
dialog = engineChars, "Base Engine Settings"
2019-03-12 17:22:40 -07:00
topicHelp = "baseHelp"
panel = baseEngineConfig
panel = generalSettings
panel = limits
panel = debugging
2016-07-20 20:03:00 -07:00
dialog = crankingFuel, "Fuel"
field = "Injection mode", crankingInjectionMode
2019-04-04 05:26:57 -07:00
field = "!Value '1' is currently recommended"
field = "Base fuel pulse width", cranking_baseFuel
2016-07-20 20:03:00 -07:00
dialog = crankingIAC, "IAC"
field = "Cranking IAC position", crankingIACposition
field = "After cranking IAC taper duration", afterCrankingIACtaperDuration
field = "Override IAC multiplier for cranking", overrideCrankingIacSetting
2016-07-20 20:03:00 -07:00
dialog = crankingIgnition, "Ignition"
field = "Advance", crankingTimingAngle, {useSeparateAdvanceForCranking == 0}
field = "Use separate Advance Table for cranking", useSeparateAdvanceForCranking
field = "Use Advance Corrections for cranking", useAdvanceCorrectionsForCranking
field = "Use fixed cranking dwell", useConstantDwellDuringCranking
field = "Fixed Cranking Dwell", ignitionDwellForCrankingMs, {useConstantDwellDuringCranking == 1}
field = "Cranking Dwell Angle", crankingChargeAngle, {useConstantDwellDuringCranking == 0}
2016-07-20 20:03:00 -07:00
dialog = postCrankingEnrichment, "Post-cranking short-time fuel enrichment (NOT IMPLEMENTED #331)"
2017-01-13 07:03:24 -08:00
field = "Post-Cranking factor", postCrankingFactor
field = "Duration", postCrankingDurationSec
2017-01-13 07:03:24 -08:00
2018-01-17 20:05:01 -08:00
dialog = primingFuelPulsePanel, "Priming fuel pulse"
field = "Duration at -40C degrees", startOfCrankingPrimingPulse
field = "Falloff temperature", primeInjFalloffTemperature
2016-07-20 20:03:00 -07:00
; Cranking->Cranking Settings
dialog = crankingDialog, "Cranking Settings"
2016-07-20 20:03:00 -07:00
field = "Cranking RPM limit", cranking_rpm
field = "Enable cylinder cleanup", isCylinderCleanupEnabled
field = ""
field = "Enable faster engine spin-up", isFasterEngineSpinUpEnabled
panel = primingFuelPulsePanel
panel = crankingFuel
2016-07-20 20:03:00 -07:00
panel = crankingIgnition
panel = crankingIAC
2017-01-13 07:03:24 -08:00
panel = postCrankingEnrichment
dialog = EngineLoadAccelPanel, "Engine Load (alpha version)"
2016-07-20 20:03:00 -07:00
field = "Length", engineLoadAccelLength
field = "Accel threshold", engineLoadAccelEnrichmentThreshold
field = "Accel multiplier", engineLoadAccelEnrichmentMultiplier
field = "Decel threshold", engineLoadDecelEnleanmentThreshold
field = "Decel multiplier", engineLoadDecelEnleanmentMultiplier
2016-07-20 20:03:00 -07:00
2016-09-11 18:02:02 -07:00
dialog = TpsAccelPanel, "TPS"
2019-04-20 11:54:16 -07:00
field = "Set 'Debug Mode' to see detailed 'TPS acceleration enrichment' diagnostics"
2016-07-20 20:03:00 -07:00
field = "Length", tpsAccelLength
field = "Accel Threshold", tpsAccelEnrichmentThreshold
field = "Decel Threshold", tpsDecelEnleanmentThreshold
2016-09-11 18:02:02 -07:00
; field = "Decel Multiplier", tpsDecelEnleanmentMultiplier
field = "#Accelerator Pump model:"
field = "Fraction Period", tpsAccelFractionPeriod
field = "Fraction Divisor", tpsAccelFractionDivisor
2016-07-20 20:03:00 -07:00
dialog = WallWettingAccelPanel, "Wall Wetting (alpha version)"
field = "evaporation time constant", wwaeTau
field = "added to wall coef", wwaeBeta
2016-07-20 20:03:00 -07:00
; Tuning->AccelEnrichment
dialog = AccelEnrich, "Accel/Decel Enrichment"
2016-09-11 18:02:02 -07:00
panel = TpsAccelPanel
panel = WallWettingAccelPanel
panel = EngineLoadAccelPanel
2017-07-26 17:27:08 -07:00
field = "No accel after RPM hard limit", noAccelAfterHardLimitPeriodSecs
2016-07-20 20:03:00 -07:00
; Flex Logic
dialog = fsioIO, "Outputs"
2017-11-19 08:05:57 -08:00
field = "output #1", fsioOutputPins1
field = "output #2", fsioOutputPins2
field = "output #3", fsioOutputPins3
field = "output #4", fsioOutputPins4
field = "output #5", fsioOutputPins5
field = "output #6", fsioOutputPins6
field = "output #7", fsioOutputPins7
field = "output #8", fsioOutputPins8
field = "output #9", fsioOutputPins9
field = "output #10", fsioOutputPins10
field = "output #11", fsioOutputPins11
field = "output #12", fsioOutputPins12
field = "output #13", fsioOutputPins13
field = "output #14", fsioOutputPins14
field = "output #15", fsioOutputPins15
field = "output #16", fsioOutputPins16
field = "aux valve #1", auxValves1
field = "aux valve #2", auxValves2
2016-07-20 20:03:00 -07:00
field = ""
field = ""
dialog = fsioFrequency, "Frequency"
field = "freq #1", fsioFrequency1
field = "freq #2", fsioFrequency2
field = "freq #3", fsioFrequency3
field = "freq #4", fsioFrequency4
field = "freq #5", fsioFrequency5
field = "freq #6", fsioFrequency6
field = "freq #7", fsioFrequency7
field = "freq #8", fsioFrequency8
field = "freq #9", fsioFrequency9
field = "freq #10", fsioFrequency10
field = "freq #11", fsioFrequency11
field = "freq #12", fsioFrequency12
field = "freq #13", fsioFrequency13
field = "freq #14", fsioFrequency14
field = "freq #15", fsioFrequency15
field = "freq #16", fsioFrequency16
field = ""
field = ""
dialog = fsioSetting, "Setting"
field = "Set number is not associated with the output number."
field = "Set number, only the cell number with some numbers."
2017-03-12 11:49:13 -07:00
field = "set #1", fsio_setting1
field = "set #2", fsio_setting2
field = "set #3", fsio_setting3
field = "set #4", fsio_setting4
field = "set #5", fsio_setting5
field = "set #6", fsio_setting6
field = "set #7", fsio_setting7
field = "set #8", fsio_setting8
field = "set #9", fsio_setting9
field = "set #10", fsio_setting10
field = "set #11", fsio_setting11
field = "set #12", fsio_setting12
field = "set #13", fsio_setting13
field = "set #14", fsio_setting14
field = "set #15", fsio_setting15
field = "set #16", fsio_setting16
2016-07-20 20:03:00 -07:00
dialog = fsioOutputsDialog, "FSIO outputs", border
panel = fsioIO, West
panel = fsioFrequency, Center
panel = fsioSetting, East
2017-06-25 23:38:12 -07:00
dialog = fsioFormulas, "FSIO Formulas"
2019-05-03 06:27:11 -07:00
field = "!FSIO uses Reverse Polish Notation. Please read http://rusefi.com/s/fsio"
2017-06-25 23:38:12 -07:00
field = "#1", fsioFormulas1
field = "#2", fsioFormulas2
field = "#3", fsioFormulas3
field = "use FSIO #4 for serious engine warning",useFSIO4ForSeriousEngineWarning
2017-06-25 23:38:12 -07:00
field = "#4", fsioFormulas4
field = "use FSIO #5 for critical engine stop", useFSIO5ForCriticalIssueEngineStop
2017-07-25 17:32:54 -07:00
field = "#5", fsioFormulas5
field = "#6", fsioFormulas6
field = "#7", fsioFormulas7
2018-03-18 09:15:51 -07:00
field = "use FSIO #8 for servo #1", useFSIO8ForServo1
2017-07-25 17:32:54 -07:00
field = "#8", fsioFormulas8
2018-03-18 09:15:51 -07:00
field = "use FSIO #9 for servo #2", useFSIO8ForServo1
2017-07-25 17:32:54 -07:00
field = "#9", fsioFormulas9
2018-03-18 09:15:51 -07:00
field = "use FSIO #10 for servo #3", useFSIO8ForServo1
2017-07-25 17:32:54 -07:00
field = "#10", fsioFormulas10
2018-03-18 09:15:51 -07:00
field = "use FSIO #11 for servo #4", useFSIO8ForServo1
2017-07-25 17:32:54 -07:00
field = "#11", fsioFormulas11
2018-03-18 09:15:51 -07:00
field = "use FSIO #12 for servo #5", useFSIO8ForServo1
2017-07-25 17:32:54 -07:00
field = "#12", fsioFormulas12
field = "#13", fsioFormulas13
field = "#14", fsioFormulas14
2019-05-05 07:47:25 -07:00
field = "use FSIO #15 for target idle RPM adjustment", useFSIO15ForIdleRpmAdjustment
2017-07-25 17:32:54 -07:00
field = "#15", fsioFormulas15
field = "use FSIO #16 for timing adjustment", useFSIO16ForTimingAdjustment
field = "#16", fsioFormulas16
2016-07-20 20:03:00 -07:00
dialog = fsioInputsDialog, "FSIO inputs"
field = "ADC #1", fsioAdc1
field = "ADC #2", fsioAdc2
field = "ADC #3", fsioAdc3
field = "ADC #4", fsioAdc4
help = veTableDialogHelp, "Volumetric Efficiency"
text = "Volumetric Efficiency is used to calculate fuel in Speed Density mode"
2019-03-12 17:22:40 -07:00
webHelp = "https://rusefi.com/s/fuel"
help = fuelHelp, "Fuel Control"
text = "More about fuel control on the web"
webHelp = "https://rusefi.com/s/fuel"
2017-05-27 14:10:42 -07:00
2019-04-22 18:32:55 -07:00
help = etbHelp, "ETB Control"
text = "More about electronic throttle body on the web"
webHelp = "https://rusefi.com/s/etb"
help = tpsTpsHelp, "Acceleration Enrichment"
2019-03-12 17:22:40 -07:00
text = "More about Tps To Tps acceleration on the web"
webHelp = "https://rusefi.com/s/tpstps"
help = baseHelp, "Base Settings Control"
2019-03-12 19:04:52 -07:00
text = "More about rusefi on the web"
webHelp = "https://rusefi.com/"
2019-03-12 17:22:40 -07:00
dialog = veTableDialog
topicHelp = "veTableDialogHelp"
2017-05-27 14:10:42 -07:00
panel = veTableTbl, South
dialog = veTableDialog3D, "VE Table"
topicHelp = "veTableDialogHelp"
2017-05-27 14:10:42 -07:00
panel = veTableMap, South
2019-04-22 18:32:55 -07:00
dialog = etbPidDialog, "PID settings"
field = "pFactor", etb_pFactor, {throttlePedalPositionAdcChannel != 16}
field = "iFactor", etb_iFactor, {throttlePedalPositionAdcChannel != 16}
field = "dFactor", etb_dFactor, {throttlePedalPositionAdcChannel != 16}
field = "offset", etb_offset, {throttlePedalPositionAdcChannel != 16}
field = "control period", etb_periodMs, {throttlePedalPositionAdcChannel != 16}
field = "pid min", etb_minValue, {throttlePedalPositionAdcChannel != 16}
field = "pid max", etb_maxValue, {throttlePedalPositionAdcChannel != 16}
field = "iTermMin", etb_iTermMin, {throttlePedalPositionAdcChannel != 16}
field = "iTermMax", etb_iTermMax, {throttlePedalPositionAdcChannel != 16}
2019-04-22 18:32:55 -07:00
dialog = etbDialogLeft
field = "https://rusefi.com/s/etb"
2019-04-23 06:10:18 -07:00
field = "Detailed status in console", isVerboseETB
field = "Pause ETB control", pauseEtbControl
field = "Throttle Pedal Up", throttlePedalUpVoltage
field = "Throttle Pedal Wide Open", throttlePedalWOTVoltage
2019-02-23 05:52:12 -08:00
field = "PWM Frequency", etbFreq, {throttlePedalPositionAdcChannel != 16}
2019-04-11 20:21:16 -07:00
field = "No1 Direction #1", etb1_directionPin1, {throttlePedalPositionAdcChannel != 16}
field = "No1 Direction #2", etb1_directionPin2, {throttlePedalPositionAdcChannel != 16}
field = "Two-wire mode", etb1_use_two_wires, {throttlePedalPositionAdcChannel != 16}
field = "No1 Control #1", etb1_controlPin1, {throttlePedalPositionAdcChannel != 16 && etb1_use_two_wires == 0}
field = "No2 Direction #1", etb2_directionPin1, {throttlePedalPositionAdcChannel != 16}
field = "No2 Direction #2", etb2_directionPin2, {throttlePedalPositionAdcChannel != 16}
field = "Two-wire mode", etb2_use_two_wires, {throttlePedalPositionAdcChannel != 16}
field = "No2 Control #1", etb2_controlPin1, {throttlePedalPositionAdcChannel != 16 && etb2_use_two_wires == 0}
panel = etbPidDialog
2019-04-22 18:32:55 -07:00
dialog = etbDialogRight
2019-04-23 12:45:47 -07:00
field = "!https://rusefi.com/s/debugmode"
field = "Debug mode", debugMode
field = "use ETB for idle", useETBforIdleControl
field = "ETB idle maximum angle", etbIdleRange
2019-04-22 18:32:55 -07:00
field = "Press buttons to calibrate sensors"
field = "You would have to remove air filter to move throttle manually"
commandButton = "TPS#1 closed position", cmd_calibrate_tps_1_closed
commandButton = "TPS#1 wide open position", cmd_calibrate_tps_1_wot
field = "Not many vehicles have two throttle bodies but some do"
commandButton = "TPS#2 closed position", cmd_calibrate_tps_2_closed
commandButton = "TPS#2 wide open position", cmd_calibrate_tps_2_wot
commandButton = "Pedal Up", cmd_calibrate_pedal_up
commandButton = "Pedal Down", cmd_calibrate_pedal_down
dialog = etbDialog, "Electronic Throttle Body (beta)", border
2019-04-22 18:32:55 -07:00
topicHelp = "etbHelp"
panel = etbDialogLeft, West
panel = etbDialogRight, East
2016-07-20 20:03:00 -07:00
dialog = testSpark, "Spark"
commandButton = "Spark #1", cmd_test_spk1
commandButton = "Spark #2", cmd_test_spk2
commandButton = "Spark #3", cmd_test_spk3
commandButton = "Spark #4", cmd_test_spk4
commandButton = "Spark #5", cmd_test_spk5
commandButton = "Spark #6", cmd_test_spk6
commandButton = "Spark #7", cmd_test_spk7
commandButton = "Spark #8", cmd_test_spk8
dialog = testInjectors, "Fuel"
commandButton = "Injector #1", cmd_test_inj1
commandButton = "Injector #2", cmd_test_inj2
commandButton = "Injector #3", cmd_test_inj3
commandButton = "Injector #4", cmd_test_inj4
commandButton = "Injector #5", cmd_test_inj5
commandButton = "Injector #6", cmd_test_inj6
commandButton = "Injector #7", cmd_test_inj7
commandButton = "Injector #8", cmd_test_inj8
dialog = testMisc, "Misc"
2017-05-01 19:33:20 -07:00
commandButton = "Come To Pit", cmd_call_from_pit
2016-07-20 20:03:00 -07:00
commandButton = "Fuel Pump", cmd_test_fuel_pump
commandButton = "Radiator Fan", cmd_test_radiator_fan
commandButton = "Check Engine", cmd_test_check_engine_light
commandButton = "Idle Air Valve", cmd_test_idle_valve
2017-07-25 19:11:37 -07:00
commandButton = "Stop Engine", cmd_stop_engine
commandButton = "Reset ECU", cmd_reset_controller
2017-05-01 19:33:20 -07:00
; bench test
2019-02-26 19:32:17 -08:00
dialog = ioTest, "Bench Test & Commands", border
2016-07-20 20:03:00 -07:00
panel = testSpark, West
panel = testInjectors, Center
panel = testMisc, East
2019-01-20 19:17:06 -08:00
2019-04-08 15:05:16 -07:00
dialog = engineTypeDialog, "Popular vehicles"
2019-04-08 15:09:07 -07:00
field = "!These buttons send a command to rusEfi controller to apply preset values"
2019-04-08 15:05:16 -07:00
field = "!Once you send the command, please reconnect to rusEfi controller in order to read fresh values"
commandButton = "Miata NA6 Stage 0", cmd_set_engine_type_Miata_NA6_VAF
commandButton = "Miata NA6 Stage 1", cmd_set_engine_type_Miata_NA6_MAP
2019-01-20 19:17:06 -08:00
commandButton = "Miata NB2 MAP", cmd_set_engine_type_Miata_NA2
2019-03-02 11:00:32 -08:00
commandButton = "ETB test bench", cmd_set_engine_type_etb_test
2019-05-05 09:48:04 -07:00
commandButton = "TLE8888B test bench", cmd_set_engine_type_8888_test
2019-03-12 17:33:13 -07:00
commandButton = "Reset firmware settings", cmd_set_engine_type_default
2016-07-20 20:03:00 -07:00
; Board->ECU stimulator
dialog = ecuStimulator, "ECU stimulator"
field = "Trigger Simulator", triggerSimulatorFrequency
field = "self-stimulation", directSelfStimulation
field = ""
field = "digipot spi", digitalPotentiometerSpiDevice
field = "digipot CS #0", digitalPotentiometerChipSelect1
field = "digipot CS #1", digitalPotentiometerChipSelect2
field = "digipot CS #2", digitalPotentiometerChipSelect3
field = "digipot CS #3", digitalPotentiometerChipSelect4
field = ""
field = "trigger stimulator pin #1", triggerSimulatorPins1
field = "trigger stimulator pin mode #1", triggerSimulatorPinModes1
2016-07-20 20:03:00 -07:00
field = "trigger stimulator pin #2", triggerSimulatorPins2
field = "trigger stimulator pin mode #2", triggerSimulatorPinModes2
2016-07-20 20:03:00 -07:00
field = "trigger stimulator pin #3", triggerSimulatorPins3
field = "trigger stimulator pin mode #3", triggerSimulatorPinModes3
2016-07-20 20:03:00 -07:00
field = ""
field = "Logic input channel 1", logicAnalyzerPins1
field = "Logic input channel 2", logicAnalyzerPins2
field = "Logic input channel 3", logicAnalyzerPins3
field = "Logic input channel 4", logicAnalyzerPins4
field = ""
field = "Engine chart size", engineChartSize
; Racing Features->Launch Control
2018-03-04 14:47:56 -08:00
dialog = smLaunchControl, "Launch Control Settings NOT WORKING"
2016-07-20 20:03:00 -07:00
field = "RPM Step1 Limit", step1rpm
field = "Launch RPM Window" step1RpmWindow
field = "Step1 Ignition Advance", step1timing
field = "Use Spark Cut", step1SparkCutEnable
field = "Use Fuel Cut", step1fuelCutEnable
field = "clutchDownPin", clutchDownPin
field = "clutchUpPin", clutchUpPin
2017-05-15 02:08:17 -07:00
field = "brakePedalPin", brakePedalPin
2016-07-20 20:03:00 -07:00
2018-03-22 05:12:34 -07:00
dialog = coastingFuelCutControl, "Coasting Fuel Cutoff Settings"
field = "Enable Coasting Fuel Cutoff", coastingFuelCutEnabled
field = "Cutoff Activation RPM High Limit", coastingFuelCutRpmHigh, {coastingFuelCutEnabled == 1}
field = "Cutoff Deactivation RPM Low Limit", coastingFuelCutRpmLow, {coastingFuelCutEnabled == 1}
field = "TPS Deactivation Threshold", coastingFuelCutTps, {coastingFuelCutEnabled == 1}
field = "CLT Activation Threshold", coastingFuelCutClt, {coastingFuelCutEnabled == 1}
field = "MAP Deactivation Threshold", coastingFuelCutMap, {coastingFuelCutEnabled == 1}
dialog = parkingLot, "Experimental/Broken"
field = "#System hacks"
field = "Global fuel correction", globalFuelCorrection
field = "Ignition Math Logic @", ignMathCalculateAtIndex
field = "MAP Averaging Logic @", mapAveragingSchedulingAtIndex
field = "Target temperature", postCrankingTargetClt
2017-11-29 10:49:10 -08:00
[Tools]
;addTool = toolName, PanelName
addTool = veTableGenerator, "VE Table Generator", veTableTbl
addTool = afrTableGenerator, "AFR Table Generator", afrTableTbl