rusefi/firmware/tunerstudio/rusefi.input

3135 lines
153 KiB
Plaintext
Raw Normal View History

; This is a TunerStudio project for the RusEFI.com engine management system
2017-08-16 22:12:02 -07:00
;
; This file has been generated by invoking gen_config.bat.
; The input files are
; rusefi.input the common template
; rusefi_config.txt the project specific 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-11-03 07:36:35 -08:00
; Those tips are defined in ../integration/rusefi_config.txt
;
; For example
2019-06-12 09:45:07 -07:00
;
; 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
;
;
2020-05-22 19:47:47 -07:00
; field = "# blue text"
; field = "! red text"
; field = "normal text"
;
2019-06-12 09:45:07 -07:00
;
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
[MegaTune]
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
signature = @@TS_SIGNATURE@@
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"
; todo: make this command shorter one day, no need to have all these zeros
crc32CheckCommand = "k\x00\x00\x00\x00\x00\x00"
retrieveConfigError = "e"
2016-07-20 20:03:00 -07:00
;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
blockingFactor = 256 ; 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
loggerDef = compositeLogger, "Trigger Logger", composite
startCommand = "l\x01"
stopCommand = "l\x02"
dataReadCommand = "L"
dataReadTimeout = 10000 ; time in ms
dataReadyCondition = { toothLogReady }
continuousRead = true
; each packet is @@COMPOSITE_PACKET_SIZE@@ and we have @@COMPOSITE_PACKET_COUNT@@ of those
dataLength = @@COMPOSITE_DATA_LENGTH@@
2017-07-26 19:52:13 -07:00
;tooth
2017-08-12 10:06:10 -07:00
; recordDef = headerLen, footerLen, recordLen
; recordDef = 0, 0, @@COMPOSITE_PACKET_SIZE@@
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
; recordDef = headerLen, footerLen, recordLen
recordDef = 0, 0, @@COMPOSITE_PACKET_SIZE@@
; these names are hard-coded inside TS
recordField = priLevel, "PriLevel", 0, 1, 1.0, "Flag"
recordField = secLevel, "SecLevel", 1, 1, 1.0, "Flag"
recordField = trigger, "Trigger", 2, 1, 1.0, "Flag"
recordField = sync, "Sync", 3, 1, 1.0, "Flag"
recordField = time, "Time", 8, 32, 0.01, "ms"
; it seems that TS also needs to know the diff.size of a tooth
calcField = toothTime, "ToothTime", "ms", { time - pastValue(time, 1) }
2016-07-20 20:03:00 -07:00
[VeAnalyze]
; tableName, lambdaTargetTableName, lambdaChannel, egoCorrectionChannel, activeCondition
#if tuneByMAF
2019-09-08 12:47:30 -07:00
veAnalyzeMap = fuelTableMAFTbl, 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
filter = minCltFilter, "Minimum CLT", coolant, < , 60, , true
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]
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
2019-12-16 18:44:11 -08:00
ochBlockSize = @@TS_OUTPUT_SIZE@@
2016-07-20 20:03:00 -07:00
2018-01-06 07:53:15 -08:00
;
; see TunerStudioOutputChannels struct
;
; Bit flags
hasSdCard = bits, U32, 0, [0:0], "true", "false";
isIgnitionEnabledIndicator=bits,U32, 0, [1:1], "true", "false";
ind_injection_enabled=bits,U32, 0, [2:2], "true", "false";
isCylinderCleanupEnabled=bits,U32, 0, [3:3], "true", "false";
isCylinderCleanupActivated=bits,U32, 0, [4:4], "true", "false";
ind_fuel_pump = bits, U32, 0, [5:5], "true", "false";
ind_fan = bits, U32, 0, [6:6], "true", "false";
ind_o2_heater = bits, U32, 0, [7:7], "true", "false";
ind_check_engine= bits, U32, 0, [8:8], "true", "false";
needBurn = bits, U32, 0, [9:9], "true", "false";
ind_2nd_trigger_en=bits, U32, 0, [10:10], "true", "false";
clutchUpState =bits, U32, 0, [11:11], "true", "false";
clutchDownState =bits, U32, 0, [12:12], "true", "false";
knockEverIndicator=bits, U32, 0, [13:13], "true", "false";
knockNowIndicator=bits, U32, 0, [14:14], "true", "false";
brakePedalIndicator=bits, U32, 0, [15:15], "true", "false";
toothLogReady =bits, U32, 0, [16:16], "true", "false";
acSwitchIndicator =bits, U32, 0, [17:17], "true", "false";
ind_tps_error = bits, U32, 0, [18:18], "true", "false";
ind_clt_error = bits, U32, 0, [19:19], "true", "false";
ind_map_error = bits, U32, 0, [20:21], "true", "false";
ind_iat_error = bits, U32, 0, [21:22], "true", "false";
ind_isTriggerError = bits, U32, 0, [23:23], "true", "false";
ind_hasFatalError=bits, U32, 0, [24:24], "true", "false";
ind_isWarnNow =bits, U32, 0, [25:25], "true", "false";
ind_pedal_error =bits, U32, 0, [26:26], "true", "false";
; RPM, vss
RPMValue = scalar, U16, 4, "RPM", 1, 0.00000
rpmAcceleration = scalar, S16, 6, "dRpm",{1/@@PACK_MULT_PERCENT@@}, 0
speedToRpmRatio = scalar, S16, 8, "value",{1/@@PACK_MULT_PERCENT@@}, 0
vehicleSpeedKph = scalar, U08, 10, "kph", 1, 0.0
; temperatures
internalMcuTemperature = scalar,S08, 11, "deg C", 1, 0
coolant = scalar, S16, 12, "deg C",{1/@@PACK_MULT_TEMPERATURE@@}, 0.0
intake = scalar, S16, 14, "deg C",{1/@@PACK_MULT_TEMPERATURE@@}, 0.0
; todo: aux1
; todo: aux2
; throttle, pedal
2020-02-04 08:47:01 -08:00
TPSValue = scalar, S16, 20, "%",{1/@@PACK_MULT_PERCENT@@}, 0
throttlePedalPosition = scalar,S16, 22, "%",{1/@@PACK_MULT_PERCENT@@}, 0
tpsADC = scalar, U16, 24, "ADC", 1, 0.0;
; air flow/mass measurments
MAFValue = scalar, U16, 26, "V",,{1/@@PACK_MULT_VOLTAGE@@},, 0
massAirFlowValue= scalar, U16, 28, "Kg/h", 0.01, 0
MAPValue = scalar, U16, 30, "kPa",{1/@@PACK_MULT_PRESSURE@@}, 0.0
baroPressure = scalar, U16, 32, "kPa",{1/@@PACK_MULT_PRESSURE@@}, 0.0
AFRValue = scalar, U16, 34, "AFR",,{1/@@PACK_MULT_AFR@@},, 0.0
engineLoad = scalar, U16, 36, "%",{1/@@PACK_MULT_PERCENT@@}, 0.0 ; Blend of MAP and TPS, depends on algorithm
; misc sensors
VBatt = scalar, U16, 38, "V",,{1/@@PACK_MULT_VOLTAGE@@},, 0.0
oilPressure = scalar, U16, 40, "kPa",{1/@@PACK_MULT_PRESSURE@@}, 0.0
vvtPosition = scalar, U16, 42, "deg",{1/@@PACK_MULT_ANGLE@@}, 0
; 10 bit TPS ADC value (from 0 to 1023 in 5v scale)
;tpsADC2 = scalar, U16, 44, "ADC", 1, 0.0;
; fuel math
chargeAirMass = scalar, U16, 44, "g",0.001, 0
crankingFuelMs = scalar, U16, 46, "ms",{1/@@PACK_MULT_MS@@}, 0.0
currentTargetAfr= scalar, U16, 48, "ratio",,{1/@@PACK_MULT_AFR@@},, 0
baseFuel = scalar, U16, 50, "ms",{1/@@PACK_MULT_MS@@}, 0
fuelRunning = scalar, U16, 52, "ms",{1/@@PACK_MULT_MS@@}, 0
actualLastInjection=scalar,U16, 54, "ms",{1/@@PACK_MULT_MS@@}, 0.0
injectorDutyCycle=scalar, U08, 56, "%", 0.5, 0
veValue = scalar, U08, 57, "ratio", 0.5, 0
injectionOffset = scalar, S16, 58, "deg",{1/@@PACK_MULT_ANGLE@@}, 0
tCharge = scalar, U16, 60, "deg C",{1/@@PACK_MULT_TEMPERATURE@@}, 0.0
; Corrections
injectorLagMs = scalar, U16, 62, "ms",{1/@@PACK_MULT_MS@@}, 0.0
2020-02-04 08:47:01 -08:00
iatCorrection = scalar, S16, 64, "%",{1/@@PACK_MULT_PERCENT@@}, 0
cltCorrection = scalar, S16, 66, "%",{1/@@PACK_MULT_PERCENT@@}, 0
baroCorrection = scalar, S16, 68, "%",{1/@@PACK_MULT_PERCENT@@}, 0
fuelPidCorrection=scalar, S16, 70, "ms",{1/@@PACK_MULT_MS@@}, 0
; Wall model AE
wallFuelAmount = scalar, U16, 72, "ms",{1/@@PACK_MULT_MS@@}, 0
wallFuelCorrection=scalar, S16, 74, "ms",0.001, 0
; TPS/load AE
engineLoadDelta = scalar, S16, 76, "value",{1/@@PACK_MULT_PERCENT@@}, 0
deltaTps = scalar, S16, 78, "ratio",{1/@@PACK_MULT_PERCENT@@}, 0
engineLoadAccelExtra=scalar,S16, 80, "value",{1/@@PACK_MULT_PERCENT@@}, 0
tpsAccelFuel = scalar, U16, 82, "ms",{1/@@PACK_MULT_MS@@}, 0
; Ignition
2020-01-14 19:57:29 -08:00
ignitionAdvance = scalar, S16, 84, "deg",{1/@@PACK_MULT_ANGLE@@}, 0.0
sparkDwellValue = scalar, U16, 86, "ms",{1/@@PACK_MULT_MS@@}, 0.0
2020-02-04 08:47:01 -08:00
coilDutyCycle = scalar, S16, 88, "%",{1/@@PACK_MULT_PERCENT@@}, 0
; Idle & ETB
idleAirValvePosition=scalar,S16, 90, "%",{1/@@PACK_MULT_PERCENT@@}, 0
etbTarget = scalar, S16, 92, "%",{1/@@PACK_MULT_PERCENT@@}, 0
etb1DutyCycle = scalar, S16, 94, "%",{1/@@PACK_MULT_PERCENT@@}, 0
etb1Error = scalar, S16, 96, "%",{1/@@PACK_MULT_PERCENT@@}, 0
; Fuel system
fuelTankLevel = scalar, S16, 98, "amount",{1/@@PACK_MULT_PERCENT@@}, 0
fuelConsumptionPerHour=scalar,F32, 100, "kPa", 1, 0.0
; Knock
knockCount = scalar, U32, 104,"counter", 1, 0
knockLevel = scalar, F32, 108, "Volts", 1, 0
; Mode, firmware, protocol, run time
2020-03-28 17:14:17 -07:00
; TS requires 'seconds' name since it has special internal meaning
seconds = scalar, U32, 112, "sec", 1, 0.0
engineMode = scalar, U32, 116, "em", 1, 0.0;
firmwareVersion = scalar, U32, 120,"version_f", 1, 0
2020-05-08 21:53:04 -07:00
; calibation helpers
calibrationValue = scalar, F32, 128, "", 1, 0
calibrationMode = scalar, U08, 132, "", 1, 0
2020-05-09 15:31:41 -07:00
; 1 bytes padding1
engineMakeCodeNameCrc16= scalar, U16, 134, "crc16", 1, 0
; Errors
totalTriggerErrorCounter=scalar,U32, 136,"counter", 1, 0
; orderingErrorCounter 140
warningCounter = scalar, U16, 144, "count", 1, 0
lastErrorCode = scalar, U16, 146, "error", 1, 0
recentErrorCode0= scalar, U16, 148, "error", 1, 0
recentErrorCode1= scalar, U16, 150, "error", 1, 0
recentErrorCode2= scalar, U16, 152, "error", 1, 0
recentErrorCode3= scalar, U16, 154, "error", 1, 0
recentErrorCode4= scalar, U16, 156, "error", 1, 0
recentErrorCode5= scalar, U16, 158, "error", 1, 0
recentErrorCode6= scalar, U16, 160, "error", 1, 0
recentErrorCode7= scalar, U16, 162, "error", 1, 0
; Debug
debugFloatField1= scalar, F32, 164, "val", 1, 0.0
debugFloatField2= scalar, F32, 168, "val", 1, 0.0
debugFloatField3= scalar, F32, 172, "val", 1, 0.0
debugFloatField4= scalar, F32, 176, "val", 1, 0.0
debugFloatField5= scalar, F32, 180, "val", 1, 0.0
debugFloatField6= scalar, F32, 184, "val", 1, 0.0
debugFloatField7= scalar, F32, 188, "val", 1, 0.0
debugIntField1 = scalar, S32, 192, "val", 1, 0.0
debugIntField2 = scalar, S32, 196, "val", 1, 0.0
debugIntField3 = scalar, S32, 200, "val", 1, 0.0
debugIntField4 = scalar, S16, 204, "val", 1, 0.0
debugIntField5 = scalar, S16, 206, "val", 1, 0.0
; Accel
accelerationX = scalar, S16, 208, "G", 0.01, 0
accelerationY = scalar, S16, 210, "G", 0.01, 0
; egt
egt1 = scalar, S16, 212, "deg C", 1, 0
egt2 = scalar, S16, 214, "deg C", 1, 0
egt3 = scalar, S16, 216, "deg C", 1, 0
egt4 = scalar, S16, 218, "deg C", 1, 0
egt5 = scalar, S16, 220, "deg C", 1, 0
egt6 = scalar, S16, 222, "deg C", 1, 0
egt7 = scalar, S16, 224, "deg C", 1, 0
egt8 = scalar, S16, 226, "deg C", 1, 0
TPS2Value = scalar, S16, 228, "%",{1/@@PACK_MULT_PERCENT@@}, 0
rawTps1Primary = scalar, U16, 230, "V",{1/@@PACK_MULT_VOLTAGE@@}, 0.0
rawPpsPrimary = scalar, U16, 232, "V",{1/@@PACK_MULT_VOLTAGE@@}, 0.0
rawClt = scalar, U16, 234, "V",{1/@@PACK_MULT_VOLTAGE@@}, 0.0
rawIat = scalar, U16, 236, "V",{1/@@PACK_MULT_VOLTAGE@@}, 0.0
rawOilPressure = scalar, U16, 238, "V",{1/@@PACK_MULT_VOLTAGE@@}, 0.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_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
; These "synthetic" channels provide the Y-axis (load) value for gen purp PWM table's Y axes
gppwm1_load = {(gppwm1_loadAxis == 0) ? TPSValue : ((gppwm1_loadAxis == 1) ? MAPValue : ((gppwm1_loadAxis == 2) ? coolant : intake))}
gppwm2_load = {(gppwm2_loadAxis == 0) ? TPSValue : ((gppwm2_loadAxis == 1) ? MAPValue : ((gppwm2_loadAxis == 2) ? coolant : intake))}
gppwm3_load = {(gppwm3_loadAxis == 0) ? TPSValue : ((gppwm3_loadAxis == 1) ? MAPValue : ((gppwm3_loadAxis == 2) ? coolant : intake))}
gppwm4_load = {(gppwm4_loadAxis == 0) ? TPSValue : ((gppwm4_loadAxis == 1) ? MAPValue : ((gppwm4_loadAxis == 2) ? coolant : intake))}
[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
; These are inverted (false = "Yes") so that they default to enabled
enableLogDebugChannels = bits, U08, [0:0], "Yes", "No"
enableLogErrorList = bits, U08, [0:0], "Yes", "No"
; wall of debug mode :)
2020-03-26 16:24:39 -07:00
; https://rusefi.com/wiki/index.php?title=Manual:Debug_fields
; 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
; Alternator TPS Acceleration Warmup-Pid Idle Engine Load Acc Trigger Counters VVT Cranking Ignition Timing ETB PID CJ125 CAN TLE8888 Analog inputs 2 Boost Start Launcher ETB Autotune
debugFieldF1List = bits, U08, [0:7], "Controller Output", "From TPS", "", "Controller Output", "Idle output", "Channel 1 Rise Counter", "", "", "VVT Event Position","", "Ign IAT Corr", "", "", "", "", "", "", "ETB Controller Output", "", "", "df1", "df1", "22df1", "", "23:df1", "CJ125: output", "", "", "", "", "", "", "TPS1 Pri/Sec Diff", "", "", "", "Boost Open Loop Duty", "S unused" "", "Osc Amplitude"
debugFieldF2List = bits, U08, [0:7], "I-Term", "To TPS", "", "I-Term", "Idle df2", "Channel 2 Rise Counter", "", "", "VVT Ratio", "", "Ign CLT Corr", "", "", "", "", "", "", "ETB I-Term", "", "", "df2", "df2", "22df2", "", "23:df2", "CJ125: i-term", "", "", "", "", "", "", "TPS2 Pri/Sec Diff", "", "", "", "Boost Closed Loop Duty","S unused" "", "Duty Amplitude"
debugFieldF3List = bits, U08, [0:7], "Previous Error", "Current TPS<>TPS", "", "", "Idle df3", "ICU sum", "", "", "", "", "Ign FSIO Adj", "", "", "", "", "", "", "ETB err", "", "", "df3", "df3", "22df3", "", "23:df3", "CJ125: err", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Tu"
debugFieldF4List = bits, U08, [0:7], "I Gain", "Extra Fuel", "", "", "Idle df4", "VVT rise", "", "", "", "", "Ign PID Adj", "", "", "", "", "", "", "ETB I setting", "", "", "df4", "df4", "22df4", "", "23:df4", "CJ125: UA", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Ku"
debugFieldF5List = bits, U08, [0:7], "D Gain", "df5", "df5", "df5", "Idle df5", "VVT fall", "df5", "", "", "", "", "", "", "", "", "", "", "ETB D setting", "df5", "df5", "df5", "df5", "22df5", "", "23:df5", "CJ125: UR", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Kp"
debugFieldF6List = bits, U08, [0:7], "D Term", "", "", "", "Idle df6", "Current Gap", "", "", "", "", "", "", "", "", "", "", "", "ETB df6", "", "", "df6", "df6", "22df6", "", "23:df6", "cj: f7", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Ki"
debugFieldF7List = bits, U08, [0:7], "Max-Value", "", "", "", "Idle df7", "", "", "", "", "", "", "", "", "", "", "", "", "ETB df7", "", "", "df7", "df7", "22df7", "", "23:df7", "cj: f7", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Kd"
debugFieldI1List = bits, U08, [0:7], "P-Gain", "", "", "", "Idle di1", "Channel 1 Fall Counter", "", "", "VVT Sync Counter", "", "Multispark Count", "", "", "", "", "", "", "ETB P-Gain", "", "", "di1", "di1", "22di1", "", "23:di1", "CJ125: state", "read count","", "", "", "", "SPI Counter", "", "", "", "", "", "Start Count" "", ""
debugFieldI2List = bits, U08, [0:7], "Offset", "", "", "", "Idle di2", "Channel 2 Fall Counter", "", "", "", "", "", "", "", "", "", "", "", "ETB di2", "", "", "di2", "di2", "22di2", "", "23:di2", "", "", "", "", "", "", "Latest Transmit","", "", "", "", "", "S unused" "", ""
debugFieldI3List = bits, U08, [0:7], "", "", "", "", "Idle di3", "Cycle Index", "", "", "", "", "", "", "", "", "", "", "", "ETB di3", "", "", "di3", "di3", "22di3", "", "23:di3", "", "", "", "", "", "", "Latest Received","", "", "", "", "", "S unused" "", ""
debugFieldI4List = bits, U08, [0:7], "", "", "", "", "Idle di4", "Cycle Cnt 1", "", "", "", "", "", "", "", "", "", "", "", "ETB di4", "", "", "di4", "di4", "22di4", "", "23:di4", "", "", "", "", "", "", "Init Count", "", "", "", "", "", "S unused" "", ""
debugFieldI5List = bits, U08, [0:7], "", "", "", "", "Idle di5", "Cycle Cnt 2", "", "", "", "", "", "", "", "", "", "di5", "di5", "ETB di5", "di5", "di5", "di5", "di5", "22di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "", "di5", "di5", "di5", "di5", "S di5" "", ""
2020-04-12 14:48:38 -07:00
[ConstantsExtensions]
2020-03-28 17:14:17 -07:00
; defaultValue is used to provide TunerStudio with a value to use in the case of
; the constant not yet being initialized. This is primarily important if the
; constant is used as a variable in the ini.
; defaultValue = constantName, value;
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
; TPS 1 Primary
maintainConstantValue = tpsMax, { (calibrationMode == 1 ) ? calibrationValue : tpsMax }
maintainConstantValue = tpsMin, { (calibrationMode == 2 ) ? calibrationValue : tpsMin }
2020-03-28 17:14:17 -07:00
; TPS 1 Secondary
maintainConstantValue = tps1SecondaryMax, { (calibrationMode == 6 ) ? calibrationValue : tps1SecondaryMax }
maintainConstantValue = tps1SecondaryMin, { (calibrationMode == 7 ) ? calibrationValue : tps1SecondaryMin }
; ETB Auto Gain Calibration
maintainConstantValue = etb_pFactor, { (calibrationMode == 3 ) ? calibrationValue : etb_pFactor }
maintainConstantValue = etb_iFactor, { (calibrationMode == 4 ) ? calibrationValue : etb_iFactor }
maintainConstantValue = etb_dFactor, { (calibrationMode == 5 ) ? calibrationValue : etb_dFactor }
2020-03-28 17:14:17 -07:00
requiresPowerCycle = warningLedPin
requiresPowerCycle = runningLedPin
requiresPowerCycle = binarySerialTxPin
requiresPowerCycle = binarySerialRxPin
2020-03-29 14:08:29 -07:00
requiresPowerCycle = etb_use_two_wires
requiresPowerCycle = etbFreq
2020-03-29 07:29:33 -07:00
requiresPowerCycle = idle_solenoidFrequency
requiresPowerCycle = boostPwmFrequency
requiresPowerCycle = alternatorPwmFrequency
requiresPowerCycle = auxPidFrequency1
requiresPowerCycle = auxPidFrequency2
requiresPowerCycle = auxPidFrequency3
requiresPowerCycle = auxPidFrequency4
2020-03-29 05:43:13 -07:00
requiresPowerCycle = fsioOutputPins1
requiresPowerCycle = fsioOutputPins2
requiresPowerCycle = fsioOutputPins3
requiresPowerCycle = fsioOutputPins4
requiresPowerCycle = fsioOutputPins5
requiresPowerCycle = fsioOutputPins6
requiresPowerCycle = fsioOutputPins7
requiresPowerCycle = fsioOutputPins8
requiresPowerCycle = fsioOutputPins9
requiresPowerCycle = fsioOutputPins10
requiresPowerCycle = fsioOutputPins11
requiresPowerCycle = fsioOutputPins12
requiresPowerCycle = fsioOutputPins13
requiresPowerCycle = fsioOutputPins14
requiresPowerCycle = fsioOutputPins15
requiresPowerCycle = fsioOutputPins16
requiresPowerCycle = fsioFrequency1
requiresPowerCycle = fsioFrequency2
requiresPowerCycle = fsioFrequency3
requiresPowerCycle = fsioFrequency4
requiresPowerCycle = fsioFrequency5
requiresPowerCycle = fsioFrequency6
requiresPowerCycle = fsioFrequency7
requiresPowerCycle = fsioFrequency8
requiresPowerCycle = fsioFrequency9
requiresPowerCycle = fsioFrequency10
requiresPowerCycle = fsioFrequency11
requiresPowerCycle = fsioFrequency12
requiresPowerCycle = fsioFrequency13
requiresPowerCycle = fsioFrequency14
requiresPowerCycle = fsioFrequency15
requiresPowerCycle = fsioFrequency16
requiresPowerCycle = fsioAdc1
requiresPowerCycle = fsioAdc2
requiresPowerCycle = fsioAdc3
requiresPowerCycle = fsioAdc4
2020-03-28 17:14:17 -07:00
2020-04-19 18:42:00 -07:00
readOnly = warning_message
2020-03-28 17:14:17 -07:00
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"
xAxis = -40, 120, 10
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"
xAxis = -40, 120, 10
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"
2019-03-21 17:26:14 -07:00
xAxis = -40, 100, 10
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"
2019-03-21 17:26:14 -07:00
xAxis = -40, 100, 10
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"
2020-04-22 17:32:19 -07:00
xAxis = 0, 50, 11
yAxis = -40, 40, 9
2018-12-09 10:50:13 -08:00
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"
xAxis = -40, 120, 10
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"
xAxis = -40, 120, 10
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"
xAxis = -40, 120, 10
yAxis = 0, 3, 10
xBins = cltCrankingCorrBins, coolant
yBins = cltCrankingCorr
gauge = CLTGauge
curve = cltIdleRPMCurve, "Idle Target RPM"
columnLabel = "Coolant", "RPM"
xAxis = -40, 120, 10
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"
xAxis = -40, 200, 9
yAxis = -3, 1, 5
xBins = cltFuelCorrBins, coolant
yBins = wueAfrTargetOffset
gauge = cltGauge
curve = wueAnalyzer_warmup_curve, "Warmup Enrichment"
columnLabel = "Coolant", "Current WUE", "Coolant", "Corrected"
xAxis = -40, 200, 9
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
table = boostTableTbl, boostMapOpen, "Boost Open", 1
xBins = boostRpmBins, RPMValue
yBins = boostTpsBins, TPSValue
zBins = boostTableOpenLoop
table = boostTable2Tbl, boostMapClosed, "Boost Closed", 1
xBins = boostRpmBins, RPMValue
yBins = boostTpsBins, TPSValue
zBins = boostTableClosedLoop
2016-07-20 20:03:00 -07:00
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-09-20 16:38:19 -07:00
yBins = pedalToTpsPedalBins, throttlePedalPosition
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)"
table = iacPidMultTbl, iacPidMultMap, "IAC PID Multiplier Table", 1
; constant, variable
xBins = iacPidMultRpmBins, RPMValue
yBins = iacPidMultLoadBins, engineLoad
zBins = iacPidMultTable
; gridHeight = 2.0
gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees.
upDownLabel = "(Later)", "(Sooner)"
table = gppwm1Tbl, gppwm1Map, "GP#1", 1
xyLabels = "RPM", ""
xBins = gppwm1_rpmBins, RPMValue
yBins = gppwm1_loadBins, gppwm1_load
zBins = gppwm1_table
table = gppwm2Tbl, gppwm2Map, "GP#2", 1
xyLabels = "RPM", ""
xBins = gppwm2_rpmBins, RPMValue
yBins = gppwm2_loadBins, gppwm2_load
zBins = gppwm2_table
table = gppwm3Tbl, gppwm3Map, "GP#3", 1
xyLabels = "RPM", ""
xBins = gppwm3_rpmBins, RPMValue
yBins = gppwm3_loadBins, gppwm3_load
zBins = gppwm3_table
table = gppwm4Tbl, gppwm4Map, "GP#4", 1
xyLabels = "RPM", ""
xBins = gppwm4_rpmBins, RPMValue
yBins = gppwm4_loadBins, gppwm4_load
zBins = gppwm4_table
2016-07-20 20:03:00 -07:00
[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 = totalTriggerErrorCounter, "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
2020-03-28 17:14:17 -07:00
timeSecondsGauge = seconds, "Uptime", "sec", 0, 100, 0, 0, 100, 100, 0, 0
2020-03-02 17:54:47 -08:00
2017-06-19 14:08:17 -07:00
gaugeCategory = Debug
2020-03-02 17:54:47 -08:00
debugF1Gauge = debugFloatField1, {bitStringValue( debugFieldF1List, debugMode )}, "", 0, 100, 0, 0, 100, 100, 4, 4
debugF2Gauge = debugFloatField2, {bitStringValue( debugFieldF2List, debugMode )}, "", -100, 100, 0, 0, 100, 100, 4, 4
debugF3Gauge = debugFloatField3, {bitStringValue( debugFieldF3List, debugMode )}, "", -100, 100, 0, 0, 100, 100, 4, 4
debugF4Gauge = debugFloatField4, {bitStringValue( debugFieldF4List, debugMode )}, "", 0, 100, 0, 0, 100, 100, 4, 4
debugF5Gauge = debugFloatField5, {bitStringValue( debugFieldF5List, debugMode )}, "", 0, 100, 0, 0, 100, 100, 4, 4
debugF6Gauge = debugFloatField6, {bitStringValue( debugFieldF6List, debugMode )}, "", -100, 100, 0, 0, 100, 100, 4, 4
debugF7Gauge = debugFloatField7, {bitStringValue( debugFieldF7List, debugMode )}, "", 0, 100, 0, 0, 100, 100, 4, 4
debugI1Gauge = debugIntField1, {bitStringValue( debugFieldI1List, debugMode )}, "", 0, 100, 0, 0, 100, 100, 0, 0
debugI2Gauge = debugIntField2, {bitStringValue( debugFieldI2List, debugMode )}, "", 0, 100, 0, 0, 100, 100, 0, 0
debugI3Gauge = debugIntField3, {bitStringValue( debugFieldI3List, debugMode )}, "", 0, 100, 0, 0, 100, 100, 0, 0
debugI4Gauge = debugIntField4, {bitStringValue( debugFieldI4List, debugMode )}, "", 0, 100, 0, 0, 100, 100, 0, 0
debugI5Gauge = debugIntField5, {bitStringValue( debugFieldI5List, debugMode )}, "", 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
CLTGauge = coolant, "Coolant temp", "deg C", -40, 140, -15, 1, 95, 110, 1, 1
IATGauge = intake, "Intake air temp", "deg C", -40, 140, -15, 1, 95, 110, 1, 1
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
2020-05-15 18:10:15 -07:00
atmPresCGauge = baroPressure, @@GAUGE_NAME_BARO_PRESSURE@@, "kPa", 0, 1024, 0, 0, 0, 0, 0, 0
vvtPositionGauge = vvtPosition, @@GAUGE_NAME_VVT@@, "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
tChargeGauge = tCharge, @@GAUGE_NAME_FUEL_CHARGE_TEMP@@, "deg C", -40, 140, -15, 1, 95, 110, 1, 1
2019-09-20 16:38:19 -07:00
baroCorrectionGauge = baroCorrection,@@GAUGE_NAME_FUEL_BARO_CORR@@, "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)
2019-09-20 16:38:19 -07:00
pedalPositionGauge = throttlePedalPosition, @@GAUGE_NAME_THROTTLE_PEDAL@@, "%", 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
2020-03-10 23:10:57 -07:00
TPS2Gauge = TPS2Value, "Throttle position #2", "%", 0, 100, 0, 0, 100, 100, 1, 1
2019-09-20 17:41:45 -07:00
etbTargetGauge = etbTarget, @@GAUGE_NAME_ETB_TARGET@@, "%", 0, 100, 0, 0, 100, 100, 1, 1
etbErrorGauge = etb1Error, @@GAUGE_NAME_ETB_ERROR@@, "%", -20, 20, -10, -5, 5, 10, 2, 0
etbDutyCycleGauge = etb1DutyCycle, @@GAUGE_NAME_ETB_DUTY@@, "%", -100, 100, -75, -50, 50, 75, 0, 0
gaugeCategory = Sensors - Raw
rawTps1PrimaryGauge = rawTps1Primary, "Raw TPS 1 Primary", "volts", 0, 5, 0, 0, 5, 5, 3, 0
rawPpsPrimaryGauge = rawPpsPrimary , "Raw Pedal Primary", "volts", 0, 5, 0, 0, 5, 5, 3, 0
rawCltGauge = rawClt , "Raw CLT", "volts", 0, 5, 0, 0, 5, 5, 3, 0
rawIatGauge = rawIat , "Raw IAT", "volts", 0, 5, 0, 0, 5, 5, 3, 0
rawOilPressureGauge = rawOilPressure, "Raw Oil Pressure", "volts", 0, 5, 0, 0, 5, 5, 3, 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
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 = MAPGauge
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 }, "", "CRITICAL ERROR", white, black, red, black
indicator = { ind_isWarnNow }, "", "WARNING", white, black, yellow, black
indicator = { ind_check_engine }, "", "Check Engine", white, black, red, black
indicator = { isIgnitionEnabledIndicator}, "no ignition", "ignition", yellow, black, white, black
indicator = { ind_injection_enabled}, "no injection", "injection", yellow, black, white, black
indicator = { ind_isTriggerError}, "trigger ok", "trigger err", white, black, red, black
2016-07-20 20:03:00 -07:00
; this is required so that the "config error" feature works in TS
; don't change this line - TS is looking for an indicator with particular text/styling
; you don't even have to show it by default
indicator = { ind_hasFatalError }, "Config Error", "Config Error", white, black, red, black
2016-07-20 20:03:00 -07:00
; minor info
indicator = { ind_fan}, "fan off", "fan on", white, black, green, black
indicator = { isCylinderCleanupActivated}, "no cyl cleanup", "cyl cleanup", white, black, yellow, 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}, "pump off", "pump on", white, black, green, black
2016-07-20 20:03:00 -07:00
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 off", "AC on", white, black, blue, white
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 = { ind_pedal_error}, "pedal", "pedal error", white, black, red, black
2016-07-20 20:03:00 -07:00
indicator = { knockEverIndicator }, "", "Knock recently", white, black, red, black
indicator = { knockNowIndicator }, "no knock", "Knock NOW", white, black, red, black
2020-04-05 19:25:09 -07:00
[KeyActions]
showPanel = spi, spiFunction
showPanel = con, connection
2016-07-20 20:03:00 -07:00
[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"
2019-09-20 16:38:19 -07:00
entry = massAirFlowValue,@@GAUGE_NAME_AIR_FLOW@@, float, "%.3f"
entry = chargeAirMass, @@GAUGE_NAME_AIR_MASS@@, float, "%.3f"
entry = throttlePedalPosition, @@GAUGE_NAME_THROTTLE_PEDAL@@, float, "%.3f"
entry = totalTriggerErrorCounter, "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
2019-12-18 16:34:08 -08:00
entry = accelerationX, @@GAUGE_NAME_ACCEL_X@@, float,"%.2f", { LIS302DLCsPin != 0 }
entry = accelerationY, @@GAUGE_NAME_ACCEL_Y@@, float,"%.2f", { LIS302DLCsPin != 0 }
2019-12-18 11:39:38 -08:00
entry = egt1, "EGT1", float,"%.1f", { max31855_cs1 != 0}
entry = egt2, "EGT2", float,"%.1f", { max31855_cs2 != 0}
entry = egt3, "EGT3", float,"%.1f", { max31855_cs3 != 0}
entry = egt4, "EGT4", float,"%.1f", { max31855_cs4 != 0}
entry = egt5, "EGT5", float,"%.1f", { max31855_cs5 != 0}
entry = egt6, "EGT6", float,"%.1f", { max31855_cs6 != 0}
entry = egt7, "EGT7", float,"%.1f", { max31855_cs7 != 0}
entry = egt8, "EGT8", float,"%.1f", { max31855_cs8 != 0}
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
2019-09-20 16:38:19 -07:00
entry = baroCorrection, @@GAUGE_NAME_FUEL_BARO_CORR@@,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", { !enableLogDebugChannels }
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", { !enableLogDebugChannels }
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", { !enableLogDebugChannels }
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", { !enableLogDebugChannels }
2016-09-17 18:02:45 -07:00
; Alternator_PID: D setting
entry = debugFloatField5, @@GAUGE_NAME_DEBUG_F5@@,float,"%.4f", { !enableLogDebugChannels }
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", { !enableLogDebugChannels }
2016-09-20 18:02:46 -07:00
entry = debugFloatField7, @@GAUGE_NAME_DEBUG_F7@@,float,"%.4f", { !enableLogDebugChannels }
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", { !enableLogDebugChannels }
2016-09-17 18:02:45 -07:00
; Alternator_PID: offset setting
entry = debugIntField2, @@GAUGE_NAME_DEBUG_I2@@,int,"%d", { !enableLogDebugChannels }
2016-09-17 18:02:45 -07:00
; Alternator_PID: PID reset counter
entry = debugIntField3, @@GAUGE_NAME_DEBUG_I3@@,int,"%d", { !enableLogDebugChannels }
entry = debugIntField4, @@GAUGE_NAME_DEBUG_I4@@,int,"%d", { !enableLogDebugChannels }
entry = debugIntField5, @@GAUGE_NAME_DEBUG_I5@@,int,"%d", { !enableLogDebugChannels }
2018-12-31 06:19:05 -08:00
2020-05-09 15:31:41 -07:00
entry = engineMakeCodeNameCrc16, "Engine CRC16",int,"%d"
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", { !enableLogErrorList }
entry = recentErrorCode1, "error 1",int,"%d", { !enableLogErrorList }
entry = recentErrorCode2, "error 2",int,"%d", { !enableLogErrorList }
entry = recentErrorCode3, "error 3",int,"%d", { !enableLogErrorList }
entry = recentErrorCode4, "error 4",int,"%d", { !enableLogErrorList }
entry = recentErrorCode5, "error 5",int,"%d", { !enableLogErrorList }
entry = recentErrorCode6, "error 6",int,"%d", { !enableLogErrorList }
entry = recentErrorCode7, "error 7",int,"%d", { !enableLogErrorList }
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"
2019-09-20 16:38:19 -07:00
entry = acSwitchIndicator, @@INDICATOR_NAME_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"
subMenu = triggerConfiguration_IO, "Advanced 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 = mainRelayDialog, "Main relay"
2020-03-18 12:56:17 -07:00
subMenu = starterRelay, "Starter Disable relay"
subMenu = fuelPump, "Fuel pump & rail"
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 || fuelAlgorithm == LM_REAL_MAF)}
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 && fuelAlgorithm != LM_REAL_MAF}
subMenu = veTableDialog, "VE", 0, {isInjectionEnabled == 1 && (fuelAlgorithm == LM_SPEED_DENSITY || fuelAlgorithm == LM_REAL_MAF)}
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}
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}
; todo: once proven, uncomment and remove from the "broken" menu
; subMenu = multisparkSettings, "Multispark", 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 = iacPidMultTbl, "IAC PID Multiplier", 0, {idleMode == 0 && useIacPidMultTable == 1}
subMenu = std_separator
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 = "&Advanced"
subMenu = boostDialog, "Boost Control"
subMenu = boostPidDialog, "Closed Loop Boost", { boostType == 1 }
subMenu = std_separator
subMenu = gppwm1, "General Purpose PWM 1"
subMenu = gppwm2, "General Purpose PWM 2"
subMenu = gppwm3, "General Purpose PWM 3"
subMenu = gppwm4, "General Purpose PWM 4"
subMenu = std_separator
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 = 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 != @@ADC_CHANNEL_NONE@@ }
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 = datalogSettings, "Datalogging"
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
2020-03-17 12:50:42 -07:00
subMenu = spiFunction, "SPI"@@if_ts_show_spi
subMenu = monitoringSettings, "rusEfi console"
subMenu = std_separator
subMenu = connection, "Connection"
2020-04-23 12:40:10 -07:00
subMenu = tle8888, "TLE8888"
subMenu = allPins1, "Full pinout 1/3" @@if_ts_show_full_pinout
subMenu = allPins2, "Full pinout 2/3" @@if_ts_show_full_pinout
subMenu = allPins3_1_and_2 "Full pinout 3/3" @@if_ts_show_full_pinout
subMenu = std_separator
# EXPERIMENTAL FEATURES
subMenu = parkingLot, "Experimental/Broken"
subMenu = multisparkSettings, "Multispark", 0, {isIgnitionEnabled == 1}
subMenu = mc33Dialog, "GDI Dreams"
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
subMenu = std_separator
subMenu = smLaunchControl, "Launch Control"
subMenu = std_separator
subMenu = smRollingLaunch, "Rolling Launch"
subMenu = std_separator
subMenu = antiLag, "Antilag Setup"
subMenu = std_separator
2016-07-20 20:03:00 -07:00
2020-04-09 15:09:17 -07:00
menu = "Help"
subMenu = helpGeneral, "rusEfi Info"
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"
2016-07-20 20:03:00 -07:00
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"
2019-09-05 07:30:27 -07:00
cmd_tle8888_init = "w\x00\x14\x00\x08"
2019-09-14 15:04:32 -07:00
cmd_test_ac_relay = "w\x00\x14\x00\x09"
cmd_write_config = "w\x00\x14\x00\x0A"
2020-03-29 14:21:17 -07:00
cmd_test_starter_relay = "w\x00\x14\x00\x0B"
2020-04-15 15:22:30 -07:00
cmd_etb_autotune = "w\x00\x14\x00\x0C"
cmd_enable_self_stim = "w\x00\x14\x00\x0D"
cmb_etb_auto_calibrate = "w\x00\x14\x00\x0E"
2020-05-01 17:22:49 -07:00
cmd_disable_self_stim = "w\x00\x14\x00\x0F"
cmd_etb_autotune_stop = "w\x00\x14\x00\x10"
2019-04-22 18:32:55 -07:00
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"
2020-05-01 16:42:09 -07:00
cmd_cj125_calibrate = "w\x00\x18\x00\x00"
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"
; reboot ECU
cmd_reset_controller = "w\x00\xbb\x00\x00"
; jump to DFU mode
cmd_dfu = "w\x00\xba\x00\x00"
2019-03-12 17:33:13 -07:00
; See 'executeTSCommand' in firmware source code
2020-05-21 18:00:34 -07:00
; MRE_MIATA_NB2_MAP = 11
cmd_set_engine_type_microRusEFI_Miata_NB2_MAP = "w\x00\x30\x00\x0B"
2020-05-22 10:12:16 -07:00
; MRE_MIATA_NA6 12
2020-05-22 11:11:12 -07:00
cmd_set_engine_type_microRusEFI_Miata_NA6 = "w\x00\x30@@ET_MRE_MIATA_NA6_16_hex@@"
2020-05-22 10:12:16 -07:00
2020-05-21 18:00:34 -07:00
; MRE_MIATA_NB2_MAF = 15
2020-05-22 11:11:12 -07:00
cmd_set_engine_type_microRusEFI_Miata_NB2_MAF = "w\x00\x30@@ET_MRE_MIATA_NB2_MAF_16_hex@@"
2020-05-22 10:12:16 -07:00
2019-01-20 19:17:06 -08:00
; MIATA_NA6_MAP = 41
2020-05-21 18:00:34 -07:00
cmd_set_engine_type_Frankenso_Miata_NA6_MAP = "w\x00\x30\x00\x29"
2019-01-20 19:17:06 -08:00
; MIATA_NA6_VAF = 57
2020-05-21 18:00:34 -07:00
cmd_set_engine_type_Frankenso_Miata_NA6_VAF = "w\x00\x30\x00\x39"
2019-01-20 19:17:06 -08:00
; MAZDA_MIATA_2003 = 47
2020-05-21 18:00:34 -07:00
cmd_set_engine_type_Frankenso_Miata_NB2 = "w\x00\x30\x00\x2F"
2019-03-02 11:00:32 -08:00
; 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}
; see rusefi_config.txt comment next to 'ignitionPin2logic' which says
; this section is auto-generated by FiringOrderTSLogic.java
@@FIRINGORDER@@
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
2020-05-06 21:55:59 -07:00
; this field is useful for rusEFI online catalog
2020-05-06 11:00:08 -07:00
field = "Engine Make", engineMake
2020-05-06 21:55:59 -07:00
; this field is useful for rusEFI online catalog
2020-05-07 10:06:39 -07:00
field = "Manufacturer Engine Code", engineCode
; this field is useful for rusEFI online catalog
field = "Vehicle Name", vehicleName
2016-07-20 20:03:00 -07:00
field = "Number of Cylinders", cylindersCount
field = "Engine Displacement", displacement
field = "Firing Order", firingOrder
2020-05-06 21:55:59 -07:00
; this field is useful for rusEFI online catalog
field = "Compression Ratio", compressionRatio
; this field is useful for rusEFI online catalog
field = "Forced Induction?", isForcedInduction
2016-07-20 20:03:00 -07:00
; Engine->Trigger configuration
dialog = triggerConfiguration_settings, "Trigger Pattern"
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
field = "Total tooth count", trigger_customTotalToothCount, {trigger_type == 0}, {trigger_type == 0}
field = "Missing/skipped tooth count", trigger_customSkippedToothCount, {trigger_type == 0}, {trigger_type == 0}
; see also in firmware '[doesTriggerImplyOperationMode]' tag
field = "Operation mode / speed", ambiguousOperationMode
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"
2019-10-29 13:20:56 -07:00
field = "!For well-known trigger types use '0' trigger angle offset"
2016-07-20 20:03:00 -07:00
field = "Trigger Angle Offset", globalTriggerAngleOffset
field = "Display only interesting", displayLogicLevelsInEngineSniffer
dialog = triggerConfiguration_IO, "Advanced Trigger"
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
field = "print verbose sync details to console",verboseTriggerSynchDetails
field = "Do not print messages in case of sync error", silentTriggerError
field = "Enable noise filtering", useNoiselessTriggerDecoder, {trigger_type == @@TRIGGER_TYPE_60_2@@ || trigger_type == @@TRIGGER_TYPE_36_1@@}
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
panel = triggerInputComparator @@if_ts_show_trigger_comparator
2016-07-20 20:03:00 -07:00
dialog = triggerConfiguration
panel = triggerConfiguration_settings, North
panel = triggerInputs, South
2016-07-20 20:03:00 -07:00
; 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 = multisparkDwellParams, "Delay & Dwell"
field = "Spark Duration", multisparkSparkDuration, {multisparkEnable}
field = "Dwell", multisparkDwell, {multisparkEnable}
dialog = multisparkMain, "Configuration"
field = "Maximum engine speed", multisparkMaxRpm, {multisparkEnable}
field = "Fire sparks for this angle duration" multisparkMaxSparkingAngle, {multisparkEnable}
field = "Maximum extra spark count" multisparkMaxExtraSparkCount, {multisparkEnable}
dialog = multisparkSettings, "Multispark"
field = "#WARNING! These settings have the potential to overheat ignition components"
field = "#and cause other nasty misbehavior. Use with care, at your own risk!"
field = "Enable Multiple Sparks", multisparkEnable
panel = multisparkMain
panel = multisparkDwellParams
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 != @@ADC_CHANNEL_NONE@@}
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 != @@ADC_CHANNEL_NONE@@}
field = "Resistance @ LT", auxTempSensor1_resistance_1, {auxTempSensor1_adcChannel != @@ADC_CHANNEL_NONE@@}
2016-12-21 09:02:35 -08:00
field = ""
field = "Middle temperature", auxTempSensor1_tempC_2, {auxTempSensor1_adcChannel != @@ADC_CHANNEL_NONE@@}
field = "Resistance @ MT", auxTempSensor1_resistance_2, {auxTempSensor1_adcChannel != @@ADC_CHANNEL_NONE@@}
2016-12-21 09:02:35 -08:00
field = ""
field = "Highest temperature", auxTempSensor1_tempC_3, {auxTempSensor1_adcChannel != @@ADC_CHANNEL_NONE@@}
field = "Resistance @ HT", auxTempSensor1_resistance_3, {auxTempSensor1_adcChannel != @@ADC_CHANNEL_NONE@@}
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 != @@ADC_CHANNEL_NONE@@}
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 != @@ADC_CHANNEL_NONE@@}
field = "Resistance @ LT", auxTempSensor2_resistance_1, {auxTempSensor2_adcChannel != @@ADC_CHANNEL_NONE@@}
2016-12-21 09:02:35 -08:00
field = ""
field = "Middle temperature", auxTempSensor2_tempC_2, {auxTempSensor2_adcChannel != @@ADC_CHANNEL_NONE@@}
field = "Resistance @ MT", auxTempSensor2_resistance_2, {auxTempSensor2_adcChannel != @@ADC_CHANNEL_NONE@@}
2016-12-21 09:02:35 -08:00
field = ""
field = "Highest temperature", auxTempSensor2_tempC_3, {auxTempSensor2_adcChannel != @@ADC_CHANNEL_NONE@@}
field = "Resistance @ HT", auxTempSensor2_resistance_3, {auxTempSensor2_adcChannel != @@ADC_CHANNEL_NONE@@}
dialog = tpsNum1, "Throttle #1"
2019-04-01 00:43:12 -07:00
field = "!See Tools>Calibrate TPS"
field = "Primary sensor", tps1_1AdcChannel
field = "Primary min", tpsMin, {tps1_1AdcChannel != @@ADC_CHANNEL_NONE@@}
field = "Primary max", tpsMax, {tps1_1AdcChannel != @@ADC_CHANNEL_NONE@@}
field = "Secondary sensor", tps1_2AdcChannel
field = "Secondary min", tps1SecondaryMin, {tps1_2AdcChannel != @@ADC_CHANNEL_NONE@@}
field = "Secondary max", tps1SecondaryMax, {tps1_2AdcChannel != @@ADC_CHANNEL_NONE@@}
dialog = tpsNum2, "Throttle #2"
field = "Primary sensor", tps2_1AdcChannel
field = "Primary min", tps2Min, {tps2_1AdcChannel != @@ADC_CHANNEL_NONE@@}
field = "Primary max", tps2Max, {tps2_1AdcChannel != @@ADC_CHANNEL_NONE@@}
field = "Secondary sensor", tps2_2AdcChannel
field = "Secondary min", tps2SecondaryMin, {tps2_2AdcChannel != @@ADC_CHANNEL_NONE@@}
field = "Secondary max", tps2SecondaryMax, {tps2_2AdcChannel != @@ADC_CHANNEL_NONE@@}
dialog = tpsLimits, "TPS Limits"
field = "TPS minimum valid value", tpsErrorDetectionTooLow, {tps1_1AdcChannel != @@ADC_CHANNEL_NONE@@}
field = "TPS maximum valid value", tpsErrorDetectionTooHigh, {tps1_1AdcChannel != @@ADC_CHANNEL_NONE@@}
dialog = tpsSensor, "TPS"
panel = tpsLimits
panel = tpsNum1
panel = tpsNum2
dialog = pedalSensorLeft, "Accelerator pedal"
field = "Accelerator position sensor", throttlePedalPositionAdcChannel
field = "Up voltage", throttlePedalUpVoltage
field = "Down (WOT) voltage", throttlePedalWOTVoltage
2020-01-10 22:08:41 -08:00
field = "Accelerator position 2nd sensor", throttlePedalPositionSecondAdcChannel
dialog = pedalGauges
gauge = pedalPositionGauge
gauge = rawPpsPrimaryGauge
dialog = pedalSensor, "Accelerator pedal", border
panel = pedalSensorLeft, West
panel = pedalGauges, East
2020-04-15 18:28:44 -07:00
2020-04-16 11:31:03 -07:00
dialog = mc33Dialog, "GDI Dreams"
2020-04-15 18:28:44 -07:00
field = mc33816_cs, mc33816_cs
field = mc33816_rstb, mc33816_rstb
field = mc33816_flag0, mc33816_flag0
field = "mc33972 SPI", mc33972spiDevice
2020-05-19 23:18:23 -07:00
field = mc33_hvolt, mc33_hvolt
field = mc33_i_boost, mc33_i_boost
field = mc33_i_peak, mc33_i_peak
field = mc33_i_hold, mc33_i_hold
field = mc33_t_max_boost, mc33_t_max_boost
field = mc33_t_peak_off, mc33_t_peak_off
field = mc33_t_peak_tot, mc33_t_peak_tot
field = mc33_t_bypass, mc33_t_bypass
field = mc33_t_hold_off, mc33_t_hold_off
field = mc33_t_hold_tot, mc33_t_hold_tot
2020-04-15 18:28:44 -07:00
; Sensor Inputs
dialog = otherSensorInputs, "Other Sensor Inputs"
field = "Fuel level", fuelLevelSensor
2019-07-21 14:06:16 -07:00
field = "Clutch down switch", clutchDownPin
field = "Clutch down inverted", clutchDownPinMode
2019-07-21 14:06:16 -07:00
field = "Clutch up switch", clutchUpPin
field = "Clutch up inverted", clutchUpPinMode
2019-07-21 14:06:16 -07:00
field = "Throttle Up switch", throttlePedalUpPin
field = "Brake pedal switch", brakePedalPin
field = "A/C switch", acSwitchAdc
dialog = triggerInputComparator, "Built-in Comparator Settings (Kinetis-only)"
field = "Comparator Center Point Voltage", triggerCompCenterVolt
field = "Comparator hysteresis voltage (Min)", triggerCompHystMin
field = "Comparator hysteresis voltage (Max)", triggerCompHystMax
field = "VR-sensor saturation RPM", triggerCompSensorSatRpm
2020-05-12 11:16:31 -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
2020-03-25 07:03:09 -07:00
;
; allXXX sections allows a quick overview of used I/O in order to address conflicts mostly, not really to
; configure the features.
;
dialog = allPinsSensors, "Sensors"
2019-12-25 12:39:13 -08:00
field = "Throttle pedal Position Channel", throttlePedalPositionAdcChannel
field = "Primary input channel", triggerInputPins1
field = "Secondary channel", triggerInputPins2
field = "Cam Sync/VVT input", camInputs1
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
field = "Aux Fast Analog", auxFastSensor1_adcChannel
dialog = allPinsMC33, "MC33816"
field = "Chip Select", mc33816_cs
field = rstb, mc33816_rstb
field = flag0, mc33816_flag0
field = mc33816_driven, mc33816_driven
field = mc33816spiDevice, mc33816spiDevice
2017-02-03 19:03:18 -08:00
dialog = allPins1_1
2020-04-14 16:09:26 -07:00
field = "trigger stimulator pin #1", triggerSimulatorPins1
field = "trigger stimulator pin #2", triggerSimulatorPins2
field = "trigger stimulator pin #2", triggerSimulatorPins3
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
field = "Warning Led", warningLedPin
field = "tle6240_cs", tle6240_cs
field = "tle6240 SPI", tle6240spiDevice
2020-05-12 11:16:31 -07:00
panel = joystickPanel
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 = "Second Idle Solenoid Pin", secondSolenoidPin
2017-02-03 19:03:18 -08:00
field = "Idle Stepper Dir", idle_stepperDirectionPin
field = "Idle Stepper Step", idle_stepperStepPin
field = "Idle Stepper Enable", stepperEnablePin
field = "Fuel Pump Pin", fuelPumpPin
2019-12-14 06:33:07 -08:00
field = "ETB#1 Dir #1", etbIo1_directionPin1 @@if_ts_show_etb_pins
field = "ETB#1 Dir #2", etbIo1_directionPin2 @@if_ts_show_etb_pins
field = "ETB#1 Control #1", etbIo1_controlPin1 @@if_ts_show_etb_pins
field = "ETB#1 Disable", etbIo1_disablePin @@if_ts_show_etb_pins
2019-12-14 06:33:07 -08:00
field = "ETB#2 Dir #1", etbIo2_directionPin1 @@if_ts_show_etb_pins
field = "ETB#2 Dir #2", etbIo2_directionPin2 @@if_ts_show_etb_pins
field = "ETB#2 Control #1", etbIo2_controlPin1 @@if_ts_show_etb_pins
field = "ETB#2 Disable", etbIo2_disablePin @@if_ts_show_etb_pins
field = "SD CS Pin", sdCardCsPin @@if_ts_show_sd_card
2019-08-18 11:11:15 -07:00
field = "MIL / Check Engine Pin", malfunctionIndicatorPin
2018-01-26 19:47:09 -08:00
field = "test557pin", test557pin
field = "Fan Pin", fanPin
field = "Main Relay Pin", mainRelayPin
2020-03-24 21:58:59 -07:00
field = "Starter Relay Pin", starterRelayDisablePin
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 = allPins2_3
2020-03-29 14:08:29 -07:00
field = "LCD E pin", HD44780_e
field = "LCD D4 pin", HD44780_db4
field = "LCD D5 pin", HD44780_db5
field = "LCD D6 pin", HD44780_db6
field = "LCD D7 pin", HD44780_db7
field = "Debug Trigger Sync", debugTriggerSync
panel = allPinsMC33
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
field = "CAN RX pin", canRxPin @@if_ts_show_can_pins
field = "CAN TX pin", canTxPin @@if_ts_show_can_pins
field = "SPI1 MOSI", spi1mosiPin, {is_enabled_spi_1 == 1} @@if_ts_show_spi
field = "SPI1 MISO", spi1misoPin, {is_enabled_spi_1 == 1} @@if_ts_show_spi
field = "SPI1 SCK", spi1sckPin, {is_enabled_spi_1 == 1} @@if_ts_show_spi
field = "SPI2 MOSI", spi2mosiPin, {is_enabled_spi_2 == 1} @@if_ts_show_spi
field = "SPI2 MISO", spi2misoPin, {is_enabled_spi_2 == 1} @@if_ts_show_spi
field = "SPI2 SCK", spi2sckPin, {is_enabled_spi_2 == 1} @@if_ts_show_spi
field = "SPI3 MOSI", spi3mosiPin, {is_enabled_spi_3 == 1} @@if_ts_show_spi
field = "SPI3 MISO", spi3misoPin, {is_enabled_spi_3 == 1} @@if_ts_show_spi
field = "SPI3 SCK", spi3sckPin, {is_enabled_spi_3 == 1} @@if_ts_show_spi
2018-06-17 16:05:54 -07:00
field = "hip9011CsPin", hip9011CsPin
field = "LIS302DLCsPin", LIS302DLCsPin
2019-08-18 11:11:15 -07:00
field = "MIL / Check Engine", 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
dialog = allPins3_1
panel = allPinsSensors
dialog = allPins3_2
field = "servo#1", servoOutputPins1
field = "servo#2", servoOutputPins2
field = "servo#3", servoOutputPins3
field = "servo#4", servoOutputPins4
field = "servo#5", servoOutputPins5
field = "Aux Pin #1", auxPidPins1
field = "Aux Pin #2", auxPidPins2
field = "Aux Pin #3", auxPidPins3
field = "Aux Pin #4", auxPidPins4
field = "Aux Valve #1", auxValves1
field = "Aux Valve #2", auxValves2
field = "TLE8888 Chip Select", tle8888_cs @@if_ts_show_spi
field = "TLE 8888 spi", tle8888spiDevice @@if_ts_show_spi
2020-04-19 12:04:59 -07:00
field = "AUX Serial TX", auxSerialTxPin
field = "AUX Serial RX", auxSerialRxPin
2017-02-05 20:04:55 -08:00
dialog = allPins3_1_and_2, "All Pins 3/3", xAxis
panel = allPins3_1
panel = allPins3_2
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/3", 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/3", xAxis
panel = allPins2_1_and_2
panel = allPins2_3
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 != @@ADC_CHANNEL_NONE@@}
field = "#Input three pairs of thermistor temperature and resistance."
field = "#Typical temperatures are -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 != @@ADC_CHANNEL_NONE@@}
field = "Resistance @ LT", clt_resistance_1, {clt_adcChannel != @@ADC_CHANNEL_NONE@@}
2016-07-20 20:03:00 -07:00
field = ""
field = "Middle temperature", clt_tempC_2, {clt_adcChannel != @@ADC_CHANNEL_NONE@@}
field = "Resistance @ MT", clt_resistance_2, {clt_adcChannel != @@ADC_CHANNEL_NONE@@}
2016-07-20 20:03:00 -07:00
field = ""
field = "Highest temperature", clt_tempC_3, {clt_adcChannel != @@ADC_CHANNEL_NONE@@}
field = "Resistance @ HT", clt_resistance_3, {clt_adcChannel != @@ADC_CHANNEL_NONE@@}
field = ""
field = "Linear characteristic", useLinearCltSensor, {clt_adcChannel != @@ADC_CHANNEL_NONE@@}
2016-07-20 20:03:00 -07:00
dialog = cltGauges
gauge = CLTGauge
gauge = rawCltGauge
dialog = cltSensor, "CLT Sensor", border
panel = clt_thermistor, West
panel = cltGauges, East
; Sensors->IAT sensor
dialog = iat_thermistor, "IAT sensor"
field = "Input channel", iat_adcChannel
field = "Bias resistor", iat_bias_resistor, {iat_adcChannel != @@ADC_CHANNEL_NONE@@}
field = "#Input three pairs of thermistor temperature and resistance."
field = "#Typical temperatures are -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 != @@ADC_CHANNEL_NONE@@}
field = "Resistance @ LT", iat_resistance_1, {iat_adcChannel != @@ADC_CHANNEL_NONE@@}
2016-07-20 20:03:00 -07:00
field = ""
field = "Middle temperature", iat_tempC_2, {iat_adcChannel != @@ADC_CHANNEL_NONE@@}
field = "Resistance @ MT", iat_resistance_2, {iat_adcChannel != @@ADC_CHANNEL_NONE@@}
2016-07-20 20:03:00 -07:00
field = ""
field = "Highest temperature", iat_tempC_3, {iat_adcChannel != @@ADC_CHANNEL_NONE@@}
field = "Resistance @ HT", iat_resistance_3, {iat_adcChannel != @@ADC_CHANNEL_NONE@@}
field = ""
field = "Linear characteristic", useLinearIatSensor, {iat_adcChannel != @@ADC_CHANNEL_NONE@@}
2016-07-20 20:03:00 -07:00
dialog = iatGauges
gauge = IATGauge
gauge = rawIatGauge
dialog = iatSensor, "IAT Sensor", border
panel = iat_thermistor, West
panel = iatGauges, East
; Sensors->Oil pressure sensor
dialog = oilp_settings, "Oil Pressure Sensor"
field = "Oil Pressure ADC input", oilPressure_hwChannel
field = "low voltage", oilPressure_v1, {oilPressure_hwChannel != @@ADC_CHANNEL_NONE@@}
field = "low pressure", oilPressure_value1, {oilPressure_hwChannel != @@ADC_CHANNEL_NONE@@}
field = "high voltage", oilPressure_v2, {oilPressure_hwChannel != @@ADC_CHANNEL_NONE@@}
field = "high pressure", oilPressure_value2, {oilPressure_hwChannel != @@ADC_CHANNEL_NONE@@}
dialog = oilPressureGauges
gauge = OilPressGauge
gauge = rawOilPressureGauge
dialog = oilPressureSensor, "", border
panel = oilp_settings, West
panel = oilPressureGauges, East
; Sensors->MAP sensor
dialog = mapSensorAnalog, "MAP sensor", yAxis
field = "MAP ADC input", map_sensor_hwChannel
field = "MAP type", map_sensor_type, { map_sensor_hwChannel != @@ADC_CHANNEL_NONE@@ }
field = "MAP value low point", map_sensor_lowValue, { map_sensor_hwChannel != @@ADC_CHANNEL_NONE@@ && map_sensor_type == 0 }
field = "MAP voltage low point", mapLowValueVoltage, { map_sensor_hwChannel != @@ADC_CHANNEL_NONE@@ && map_sensor_type == 0 }
field = "MAP value high point", map_sensor_highValue,{ map_sensor_hwChannel != @@ADC_CHANNEL_NONE@@ && map_sensor_type == 0 }
field = "MAP voltage high value", mapHighValueVoltage, { map_sensor_hwChannel != @@ADC_CHANNEL_NONE@@ && map_sensor_type == 0 }
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}
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
2020-04-19 12:04:59 -07:00
panel = egoSettings_IO
panel = egoSettings_sensor, {afr_hwChannel != 16 && enableAemXSeries == 0 && !auxSerialRxPin && !auxSerialTxPin}
field = "Enable AEM X-Series CANbus", enableAemXSeries, { canReadEnabled }
2020-04-19 12:04:59 -07:00
field = "Enable Innovate LC-2 Serial", enableInnovateLC2, { auxSerialRxPin && auxSerialTxPin }
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 = "Second Idle Solenoid Pin", secondSolenoidPin, { !useStepperIdle && isDoubleSolenoidIdle }
2016-07-20 20:03:00 -07:00
field = "Idle Solenoid Frequency", idle_solenoidFrequency, !useStepperIdle
2020-03-10 11:31:00 -07:00
dialog = hbridgeHardware, "H-Bridge Hardware"
field = "PWM Frequency", etbFreq
field = "Two-wire mode", etb_use_two_wires
field = "No1 Direction #1", etbIo1_directionPin1
field = "No1 Direction #2", etbIo1_directionPin2
field = "No1 Control #1", etbIo1_controlPin1, { etb_use_two_wires == 0 }
field = "No1 Disable", etbIo1_disablePin
2020-03-10 11:31:00 -07:00
field = "No2 Direction #1", etbIo2_directionPin1
field = "No2 Direction #2", etbIo2_directionPin2
field = "No2 Control #1", etbIo2_controlPin1, { etb_use_two_wires == 0}
field = "No2 Disable", etbIo2_disablePin
2020-03-10 11:31:00 -07:00
dialog = idleStepperHw, "Stepper Hardware"
field = "Idle Stepper Step Pin", idle_stepperStepPin
field = "Idle Stepper Dir Pin", idle_stepperDirectionPin
field = "Idle Stepper Enable Pin", stepperEnablePin
field = "Idle Stepper Enable Pin Mode", stepperEnablePinMode
2018-01-07 09:11:49 -08:00
dialog = idleStepper, "Stepper"
2020-03-10 11:31:00 -07:00
field = "Drive stepper with dual H bridges", useHbridges, 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
2020-03-10 11:31:00 -07:00
panel = idleStepperHw, { useStepperIdle && !useHbridges }
panel = hbridgeHardware, { useStepperIdle && useHbridges }
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
2020-03-10 11:31:00 -07:00
dialog = idlehw, "", yAxis
2020-03-10 11:31:00 -07:00
field = "!ECU reboot needed to apply these settings"
field = "Use Stepper", useStepperIdle
field = "Double Solenoid Mode", isDoubleSolenoidIdle
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
field = "iTerm Min", idlerpmpid_iTermMin
field = "iTerm Max", idlerpmpid_iTermMax
2019-09-11 17:46:50 -07:00
field = "Offset#2", idleRpmPid2_offset
field = "Min#2", idleRpmPid2_minValue
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
field = "Use IAC PID Multiplier Table", useIacPidMultTable
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
2019-09-10 20:03:55 -07:00
field = useInstantRpmForIdle, useInstantRpmForIdle
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 = fuelPumpConfig, "Fuel Pump"
field = "Pin", fuelPumpPin
field = "Pin mode", fuelPumpPinMode
field = "Prime duration", startUpFuelPumpDuration
dialog = fuelRailConfig, "Fuel Rail"
field = "Absolute Fuel Pressure", absoluteFuelPressure
field = "Fuel Rail pressure", fuelRailPressure, {absoluteFuelPressure == 1}
dialog = fuelPump, ""
panel = fuelPumpConfig
panel = fuelRailConfig
; Controller->Actuator Outputs
dialog = mainRelayDialog, "Main relay output"
field = "microRusEFI main relay control is hard wired on pin #29"@@if_ts_show_main_relay_microRusEFI_message
field = "Pin", mainRelayPin@@if_ts_show_main_relay
field = "Pin mode", mainRelayPinMode@@if_ts_show_main_relay
dialog = starterRelay, "Starter relay output"
2020-03-24 21:58:59 -07:00
field = "Pin", starterRelayDisablePin
field = "Pin mode", starterRelayDisableMode
dialog = statusLeds, "Status LEDs"
field = "Running status LED", runningLedPin
2020-05-11 20:23:04 -07:00
field = "TS communication status LED", communicationLedPin
field = "Warning LED", warningLedPin
field = "Trigger error LED", triggerErrorPin
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
2020-05-01 16:42:09 -07:00
commandButton = "Calibrate", cmd_cj125_calibrate
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}
field = "Is UR input divided?" cj125isUrDivided, {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%"
2020-03-24 21:58:59 -07:00
dialog = startStopDialog, "Start/Stop Button"
field = "Start/Stop Button Pin", startStopButtonPin
field = "Start/Stop Button Mode", startStopButtonMode
field = "Starter Control", starterControlPin, {startStopButtonPin != 0}
field = "Start cranking maximum time", startCrankingDuration, {startStopButtonPin != 0}
2016-07-20 20:03:00 -07:00
dialog = energySystems, "Battery and Alternator Settings", yAxis
panel = batteryDialog
panel = alternator
2020-03-24 21:58:59 -07:00
panel = startStopDialog
dialog = speedSensorAnalog
field = "Input pin", vehicleSpeedSensorInputPin
2017-02-05 20:04:55 -08:00
field = "revolution to speed mult", vehicleSpeedCoef
dialog = speedSensorCan
field = "Vss Car Type", canVssNbcType, { enableCanVss }
dialog = speedSensorLeft, "Speed sensor config", yAxis
panel = speedSensorCan, { enableCanVss }
panel = speedSensorAnalog, { enableCanVss == 0 }
field = "Enable CANbus VSS values", enableCanVss, { canReadEnabled }
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
2020-03-01 19:32:09 -08:00
field = "Analog divider ratio", analogInputDividerCoefficient@@if_ts_show_analog_divider
field = "Smoothing factor", slowAdcAlpha
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
2019-12-29 22:41:23 -08:00
; todo: finish implementation under #907
field = "Pulse per Rev", tachPulsePerRev
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
2019-12-07 18:22:09 -08:00
field = "Use UART/TTL serial?", useSerialPort
field = "TX pin", binarySerialTxPin, {useSerialPort == 1}
2020-05-02 19:06:11 -07:00
field = "RX pin", binarySerialRxPin, {useSerialPort == 1}
2017-05-19 08:31:21 -07:00
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
2020-03-19 06:22:16 -07:00
field = "Enable rusEfi CAN data", enableVerboseCanTx
field = "rusEfi CAN data base address", verboseCanBaseAddress
2019-02-10 19:47:49 -08:00
field = "Can Sleep Period", canSleepPeriodMs
field = "RX pin", canRxPin @@if_ts_show_can_pins
field = "TX pin", canTxPin @@if_ts_show_can_pins
2020-04-19 12:04:59 -07:00
dialog = auxSerial, "AUX Serial"
field = "RX pin", auxSerialRxPin @@if_ts_show_auxserial_pins
field = "TX pin", auxSerialTxPin @@if_ts_show_auxserial_pins
field = "Serial Baud Rate", auxSerialSpeed @@if_ts_show_auxserial_pins
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-09-20 17:18:22 -07:00
field = "Write Period", sdCardPeriodMs
2016-07-20 20:03:00 -07:00
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 @@if_ts_show_spi
field = "TLE8888 SPI", tle8888spiDevice @@if_ts_show_spi
2020-04-23 13:57:37 -07:00
field = "Mode", tle8888mode
field = "useTLE8888 cranking reset hack", useTLE8888_cranking_hack
2019-09-05 07:30:27 -07:00
commandButton = "Reinit", cmd_tle8888_init
dialog = connection, "", yAxis
field = "ADC vRef voltage", adcVcc
panel = tsPort @@if_ts_show_tunerstudio_port
2016-07-20 20:03:00 -07:00
panel = canBus
2020-04-19 12:04:59 -07:00
panel = auxSerial
panel = sdCard @@if_ts_show_sd_card
2019-06-06 16:20:00 -07:00
panel = gpsReceiver @@if_ts_show_gps
2016-10-02 11:02:23 -07:00
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
2020-04-19 18:42:00 -07:00
field = "Warning Text", warning_message
field = "showHumanReadableWarning (affects Burn)", showHumanReadableWarning
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
field = "Fuel Source For Cranking", useRunningMathForCranking
field = "Base fuel pulse width", cranking_baseFuel, {useRunningMathForCranking == 0}
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, "After start enrichment"
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)"
2019-10-15 12:03:19 -07:00
field = "evaporation time constant / tau", wwaeTau
field = "added to wall coef / beta", 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
2020-03-20 17:45:35 -07:00
field = "Start/Stop Button", startStopButtonPin
field = "External Knock", externalKnockSenseAdc
2016-07-20 20:03:00 -07:00
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"
2020-03-29 05:43:13 -07:00
field = "#fsioinfo command in rusEfi console could be useful while troubleshooting those"
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
2019-09-11 17:46:50 -07:00
field = "use FSIO #9 for servo #2", useFSIO9ForServo2
2017-07-25 17:32:54 -07:00
field = "#9", fsioFormulas9
2019-09-11 17:46:50 -07:00
field = "use FSIO #10 for servo #3", useFSIO10ForServo3
2017-07-25 17:32:54 -07:00
field = "#10", fsioFormulas10
2019-09-11 17:46:50 -07:00
field = "use FSIO #11 for servo #4", useFSIO11ForServo4
2017-07-25 17:32:54 -07:00
field = "#11", fsioFormulas11
2019-09-11 17:46:50 -07:00
field = "use FSIO #12 for servo #5", useFSIO12ForServo5
field = "use FSIO #12 idle offset", useFSIO12ForIdleOffset
2017-07-25 17:32:54 -07:00
field = "#12", fsioFormulas12
2019-09-11 17:46:50 -07:00
field = "use FSIO #13 idle min value", useFSIO13ForIdleMinValue
2017-07-25 17:32:54 -07:00
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
;Boost Open Loop
dialog = boost_left, ""
field = "Enable", isBoostControlEnabled
field = "Control Mode", boostType, { isBoostControlEnabled }
field = "Output", boostControlPin, { isBoostControlEnabled }
field = "Output Mode", boostControlPinMode, { isBoostControlEnabled }
field = "Frequency", boostPwmFrequency, { isBoostControlEnabled }
dialog = boostDialog, "", border
panel = boost_left, West
panel = boostTableTbl, Center
;Boost Closed Loop
dialog = boostPidleft, ""
field = "P Gain", boostPid_pFactor, { isBoostControlEnabled && boostType == 1 }
field = "I Gain", boostPid_iFactor, { isBoostControlEnabled && boostType == 1 }
field = "D Gain", boostPid_dFactor, { isBoostControlEnabled && boostType == 1 }
field = "Control Period", boostPid_periodMs, { isBoostControlEnabled && boostType == 1 }
field = "Min Duty", boostPid_minValue, { isBoostControlEnabled && boostType == 1 }
field = "Max Duty", boostPid_maxValue, { isBoostControlEnabled && boostType == 1 }
dialog = boostTableDialog, "", card
panel = boostTable2Tbl
dialog = boostPidDialog, "", border
panel = boostPidleft, West
panel = boostTableDialog, Center
2016-07-20 20:03:00 -07:00
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 = "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}
dialog = etbIdleDialog, "ETB Idle"
field = "use ETB for idle", useETBforIdleControl
field = "ETB idle maximum angle", etbIdleThrottleRange
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 = "Disable ETB Motor", pauseEtbControl
2020-03-10 11:31:00 -07:00
; we need the term about stepper idle in here, because there's a bug in TS that you can't have different visibility
; criteria for the same panel when used in multiple places
panel = hbridgeHardware, { throttlePedalPositionAdcChannel != 16 || useStepperIdle && useHbridges }
2019-04-22 18:32:55 -07:00
dialog = etbAutotune, "PID Autotune"
commandButton = "Start ETB PID Autotune", cmd_etb_autotune
commandButton = "Stop ETB PID Autotune", cmd_etb_autotune_stop
commandButton = "Auto Calibrate TPS", cmb_etb_auto_calibrate
2019-04-22 18:32:55 -07:00
field = "!Set debug mode below to 'ETB Autotune' to show more detail"
field = "Debug mode", debugMode
dialog = etbDialogRight
panel = etbIdleDialog
panel = etbPidDialog
panel = etbAutotune
; Neutral position handling not yet implemented!
;field = "Neutral Position", etbNeutralPosition
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"
2020-04-22 15:23:14 -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
2019-09-14 15:04:32 -07:00
commandButton = "Idle Air Valve", cmd_test_idle_valve
commandButton = "A/C Relay", cmd_test_ac_relay
2020-03-29 14:21:17 -07:00
commandButton = "Starter Relay", cmd_test_starter_relay
commandButton = "Stop Engine", cmd_stop_engine
commandButton = "Write Config", cmd_write_config
commandButton = "Reset ECU", cmd_reset_controller
commandButton = "Reset to DFU", cmd_dfu
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"
2020-05-21 18:00:34 -07:00
commandButton = "Frankenso Miata NA6 Stage 0", cmd_set_engine_type_Frankenso_Miata_NA6_VAF@@if_show_Frankenso_presets
commandButton = "Frankenso Miata NA6 Stage 1", cmd_set_engine_type_Frankenso_Miata_NA6_MAP@@if_show_Frankenso_presets
commandButton = "Frankenso Miata NB2 MAP", cmd_set_engine_type_Frankenso_Miata_NB2@@if_show_Frankenso_presets
commandButton = "microRusEfi Miata NB2 MAP", cmd_set_engine_type_microRusEFI_Miata_NB2_MAP@@if_show_microRusEFI_presets
commandButton = "microRusEFI Miata NB2 MAF", cmd_set_engine_type_microRusEFI_Miata_NB2_MAF@@if_show_microRusEFI_presets
commandButton = "ETB test bench", cmd_set_engine_type_etb_test@@if_show_test_presets
commandButton = "TLE8888B test bench", cmd_set_engine_type_8888_test@@if_show_test_presets
2019-03-12 17:33:13 -07:00
commandButton = "Reset firmware settings", cmd_set_engine_type_default
2020-05-22 21:37:43 -07:00
field = "#Please DO NOT hit 'Burn' - just press a command button above and disconnect TunerStudio!"
2016-07-20 20:03:00 -07:00
; Board->ECU stimulator
dialog = ecuStimulator, "ECU stimulator"
field = "Trigger Simulator", triggerSimulatorFrequency
commandButton = "Enable Internal Trigger Simulation", cmd_enable_self_stim
2020-05-01 16:42:09 -07:00
commandButton = "Disable Internal Trigger Simulation", cmd_disable_self_stim
2016-07-20 20:03:00 -07:00
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
dialog = datalogSettings, "Datalogging Settings"
field = "#Disabling optional logging may increase update rate!"
field = "Log debug channels", enableLogDebugChannels
field = "Log recent errors list", enableLogErrorList
2016-07-20 20:03:00 -07:00
; Racing Features->Launch Control
2018-03-04 14:47:56 -08:00
dialog = smLaunchControl, "Launch Control Settings NOT WORKING"
field = "Enable Launch Control", launchControlEnabled
field = "Activation Mode", launchActivationMode
field = "Switch Input", launchActivatePin, {launchActivationMode == 0 && launchControlEnabled == 1}
field = "Clutch Input", clutchDownPin, {launchActivationMode == 1 && launchControlEnabled == 1}
field = ""
field = "Rpm Treshold", launchRpmTreshold, {launchControlEnabled == 1}
field = "Speed Treshold", launchSpeedTreshold, {launchControlEnabled == 1}
field = ""
field = "Launch RPM", launchRpm, {launchControlEnabled == 1}
field = "Extra Fuel", launchFuelAdded, {launchControlEnabled == 1}
field = "Boost Solenoid Duty", launchBoostDuty, {launchControlEnabled == 1}
field = "Ignition Retard", launchTimingRetard, {launchControlEnabled == 1}
field = "Ignition Retard RPM Range", launchTimingRpmRange, {launchControlEnabled == 1}
field = "Smooth Retard Mode", launchSmoothRetard, {launchControlEnabled == 1}
field = "Hard Cut Mode"
field = "Ignition Cut", launchSparkCutEnable, {launchControlEnabled == 1}
field = "Fuel Cut", launchFuelCutEnable, {launchControlEnabled == 1}
field = "Hard Cut RPM Range", hardCutRpmRange, {launchControlEnabled == 1}
; Racing Features->Rolling Launch
dialog = smRollingLaunch, "Rolling Launch Settings NOT WORKING"
field = "Enable Rolling Launch", rollingLaunchEnabled
; Racing Features->Rolling Launch
dialog = antiLag, "AntiLag Settings NOT WORKING"
field = "Enable AntiLag", antiLagEnabled
field = "Activation Mode", antiLagActivationMode, {antiLagEnabled == 1}
field = "Switch Input", antiLagActivatePin, {antiLagActivationMode == 1 && antiLagEnabled == 1}
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
2020-04-09 15:09:17 -07:00
help = helpGeneral, "rusEfi General Help"
webHelp = "http://www.rusefi.com/"
text = "<img src='https://rusefi.com/style/logo_100.gif'>"
dialog = gppwm1left, ""
field = "Pin", gppwm1_pin
field = ""
field = "Set frequency to 0hz for on-off mode"
field = "Frequency", gppwm1_pwmFrequency, {gppwm1_pin != 0}
field = ""
field = "On above duty", gppwm1_onAboveDuty, {gppwm1_pin != 0 && gppwm1_pwmFrequency == 0}
field = "Off below duty", gppwm1_offBelowDuty, {gppwm1_pin != 0 && gppwm1_pwmFrequency == 0}
field = "Duty if error", gppwm1_dutyIfError, {gppwm1_pin != 0}
field = ""
field = "Load Axis", gppwm1_loadAxis, {gppwm1_pin != 0}
field = ""
field = ""
field = ""
field = ""
field = ""
dialog = gppwm1, "General Purpose PWM 1", xAxis
panel = gppwm1left
panel = gppwm1Tbl, {gppwm1_pin != 0}
dialog = gppwm2left, ""
field = "Pin", gppwm2_pin
field = ""
field = "Set frequency to 0hz for on-off mode"
field = "Frequency", gppwm2_pwmFrequency, {gppwm2_pin != 0}
field = ""
field = "On above duty", gppwm2_onAboveDuty, {gppwm2_pin != 0 && gppwm2_pwmFrequency == 0}
field = "Off below duty", gppwm2_offBelowDuty, {gppwm2_pin != 0 && gppwm2_pwmFrequency == 0}
field = "Duty if error", gppwm2_dutyIfError, {gppwm2_pin != 0}
field = ""
field = "Load Axis", gppwm2_loadAxis, {gppwm2_pin != 0}
field = ""
field = ""
field = ""
field = ""
field = ""
dialog = gppwm2, "General Purpose PWM 2", xAxis
panel = gppwm2left
panel = gppwm2Tbl, {gppwm2_pin != 0}
dialog = gppwm3left, ""
field = "Pin", gppwm3_pin
field = ""
field = "Set frequency to 0hz for on-off mode"
field = "Frequency", gppwm3_pwmFrequency, {gppwm3_pin != 0}
field = ""
field = "On above duty", gppwm3_onAboveDuty, {gppwm3_pin != 0 && gppwm3_pwmFrequency == 0}
field = "Off below duty", gppwm3_offBelowDuty, {gppwm3_pin != 0 && gppwm3_pwmFrequency == 0}
field = "Duty if error", gppwm3_dutyIfError, {gppwm3_pin != 0}
field = ""
field = "Load Axis", gppwm3_loadAxis, {gppwm3_pin != 0}
field = ""
field = ""
field = ""
field = ""
field = ""
dialog = gppwm3, "General Purpose PWM 3", xAxis
panel = gppwm3left
panel = gppwm3Tbl, {gppwm3_pin != 0}
dialog = gppwm4left, ""
field = "Pin", gppwm4_pin
field = ""
field = "Set frequency to 0hz for on-off mode"
field = "Frequency", gppwm4_pwmFrequency, {gppwm4_pin != 0}
field = ""
field = "On above duty", gppwm4_onAboveDuty, {gppwm4_pin != 0 && gppwm4_pwmFrequency == 0}
field = "Off below duty", gppwm4_offBelowDuty, {gppwm4_pin != 0 && gppwm4_pwmFrequency == 0}
field = "Duty if error", gppwm4_dutyIfError, {gppwm4_pin != 0}
field = ""
field = "Load Axis", gppwm4_loadAxis, {gppwm4_pin != 0}
field = ""
field = ""
field = ""
field = ""
field = ""
dialog = gppwm4, "General Purpose PWM 4", xAxis
panel = gppwm4left
panel = gppwm4Tbl, {gppwm4_pin != 0}
2020-04-09 15:09:17 -07:00
2017-11-29 10:49:10 -08:00
[Tools]
;addTool = toolName, PanelName
addTool = veTableGenerator, "VE Table Generator", veTableTbl
addTool = afrTableGenerator, "AFR Table Generator", afrTableTbl