mirror of https://github.com/rusefi/rusefi-1.git
3496 lines
180 KiB
Plaintext
3496 lines
180 KiB
Plaintext
; This is a TunerStudio project for the RusEFI.com engine management system
|
|
;
|
|
; 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
|
|
;
|
|
; In TunerStudio some fields have little question mark on the left of the name for additional field tips.
|
|
; Those tips are defined in ../integration/rusefi_config.txt
|
|
;
|
|
; For example
|
|
;
|
|
; float bias_resistor;+Pull-up resistor value on your board;"Ohm"
|
|
; here 'bias_resistor' is internal field name and the text between semicolons is what produces the tooltip
|
|
; Note that '+' sign is required after first semicolon for tooltop to appear in TunerStudio
|
|
;
|
|
;
|
|
; field = "# blue text"
|
|
; field = "! red text"
|
|
; field = "normal text"
|
|
;
|
|
;
|
|
|
|
; 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
|
|
|
|
[SettingGroups]
|
|
; 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
|
|
|
|
[MegaTune]
|
|
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
|
|
signature = @@TS_SIGNATURE@@
|
|
|
|
[TunerStudio]
|
|
queryCommand = "S"
|
|
versionInfo = "V" ; firmwave version for title bar.
|
|
signature = @@TS_SIGNATURE@@ ; signature is expected to be 7 or more characters.
|
|
|
|
[Constants]
|
|
; new packet serial format with CRC
|
|
messageEnvelopeFormat = msEnvelope_1.0
|
|
|
|
endianness = little
|
|
nPages = 1
|
|
|
|
pageIdentifier = "\x00\x00"
|
|
pageReadCommand = "@@TS_READ_COMMAND_char@@%2o%2c"
|
|
burnCommand = "@@TS_BURN_COMMAND_char@@"
|
|
pageActivate = "@@TS_PAGE_COMMAND_char@@"
|
|
pageValueWrite = "@@TS_SINGLE_WRITE_COMMAND_char@@%2o%v"
|
|
pageChunkWrite = "@@TS_CHUNK_WRITE_COMMAND_char@@%2o%2c%v"
|
|
crc32CheckCommand = "@@TS_CRC_CHECK_COMMAND_char@@%2o%2c"
|
|
retrieveConfigError = "e"
|
|
|
|
; TS will try to use legacy temp units in some cases, showing "deg F" on a CLT gauge that's actually deg C
|
|
useLegacyFTempUnits = false
|
|
|
|
;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
|
|
|
|
; delayAfterPortOpen = 500
|
|
|
|
blockingFactor = @@BLOCKING_FACTOR@@ ; max chunk size
|
|
;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
|
|
|
|
; this section will be generated automatically by ConfigDefinition.jar based on rusefi_config.txt
|
|
|
|
; CONFIG_DEFINITION_END
|
|
idleRpmPid_offset = "Constant base value"
|
|
|
|
[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"
|
|
gauge1 = RPMGauge
|
|
#if LAMBDA
|
|
gauge2 = lambda1Gauge
|
|
#else
|
|
gauge2 = afr1Gauge
|
|
#endif
|
|
gauge3 = MAPGauge
|
|
gauge4 = veValueGauge
|
|
|
|
|
|
[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_HALF@@
|
|
|
|
;tooth
|
|
; recordDef = headerLen, footerLen, recordLen
|
|
; recordDef = 0, 0, @@COMPOSITE_PACKET_SIZE@@
|
|
|
|
; uint16 that stores 1/100 second
|
|
; recordField = toothTime, "tooth", 0, 16, 0.01, "ms"
|
|
|
|
|
|
; 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 = coil, "Coil", 4, 1, 1.0, "Flag"
|
|
recordField = inj, "Injector", 5, 1, 1.0, "Flag"
|
|
recordField = time, "Time", 8, 32, 0.001, "ms"
|
|
|
|
; it seems that TS also needs to know the diff.size of a tooth
|
|
calcField = toothTime, "ToothTime", "ms", { time - pastValue(time, 1) }
|
|
|
|
|
|
[VeAnalyze]
|
|
|
|
; tableName, lambdaTargetTableName, lambdaChannel, egoCorrectionChannel, activeCondition
|
|
#if LAMBDA
|
|
veAnalyzeMap = veTableTbl, lambdaTableTbl, lambdaValue, egoCorrection, { 1 }
|
|
lambdaTargetTables = lambdaTableTbl, afrTSCustom
|
|
#else
|
|
veAnalyzeMap = veTableTbl, afrTableTbl, AFRValue, egoCorrection, { 1 }
|
|
lambdaTargetTables = afrTableTbl, afrTSCustom
|
|
#endif
|
|
|
|
; filter = Name, "DisplayName", outputChannel, operator, defaultVal, userAdjustable
|
|
filter = minRPMFilter, "Minimum RPM", RPMValue, < , 500, , true
|
|
|
|
filter = minCltFilter, "Minimum CLT", coolant, < , 60, , true
|
|
|
|
filter = deltaTps, "dTPS", deltaTps > , 50, , true
|
|
|
|
filter = VBatt, "VBatt", VBatt < , 12, , true
|
|
|
|
filter = minTps, "Minimum TPS", TPSValue, < , 1, , true
|
|
|
|
|
|
;
|
|
; in order to add new TunerStudio gauge you need to chagne two places
|
|
; 1) add a line here in '[OutputChannels]'
|
|
; 2) in rusEFI firmware make a change to tunerstudio_outputs.h
|
|
;
|
|
[OutputChannels]
|
|
|
|
ochGetCommand = "O%2o%2c"
|
|
|
|
; see TS_OUTPUT_SIZE in console source code
|
|
ochBlockSize = @@TS_OUTPUT_SIZE@@
|
|
|
|
;
|
|
; 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";
|
|
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";
|
|
acSwitchState =bits, U32, 0, [17:17], "true", "false";
|
|
isTpsError = bits, U32, 0, [18:18], "true", "false";
|
|
ind_clt_error = bits, U32, 0, [19:19], "true", "false";
|
|
; not implemented
|
|
; ind_map_error = bits, U32, 0, [20:20], "true", "false";
|
|
|
|
ind_iat_error = bits, U32, 0, [21:21], "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";
|
|
isTps2Error = bits, U32, 0, [29:29], "true", "false";
|
|
isIdleClosedLoop= bits, U32, 0, [30:30], "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
|
|
auxt1 = scalar, S16, 16, "deg C",{1/@@PACK_MULT_TEMPERATURE@@}, 0.0
|
|
auxt2 = scalar, S16, 18, "deg C",{1/@@PACK_MULT_TEMPERATURE@@}, 0.0
|
|
|
|
|
|
; throttle, pedal
|
|
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", {1/@@PACK_MULT_MASS_FLOW@@}, 0
|
|
MAPValue = scalar, U16, 30, "kPa",{1/@@PACK_MULT_PRESSURE@@}, 0.0
|
|
baroPressure = scalar, U16, 32, "kPa",{1/@@PACK_MULT_PRESSURE@@}, 0.0
|
|
lambdaValue = scalar, U16, 34, "",{1/@@PACK_MULT_LAMBDA@@}, 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, "mg",{1/@@PACK_MULT_FUEL_MASS@@}, 0.0
|
|
currentTargetAfr= scalar, U16, 48, "ratio",{1/@@PACK_MULT_AFR@@}, 0
|
|
baseFuel = scalar, U16, 50, "mg",{1/@@PACK_MULT_FUEL_MASS@@}, 0
|
|
fuelRunning = scalar, U16, 52, "mg",{1/@@PACK_MULT_FUEL_MASS@@}, 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
|
|
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, "%",{1/@@PACK_MULT_PERCENT@@}, 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
|
|
ignitionAdvance = scalar, S16, 84, "deg",{1/@@PACK_MULT_ANGLE@@}, 0.0
|
|
sparkDwellValue = scalar, U16, 86, "ms",{1/@@PACK_MULT_MS@@}, 0.0
|
|
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
|
|
|
|
; Y axis values for selectable tables
|
|
veTableYAxis = scalar, U16, 104, "%", 0.01, 0
|
|
afrTableYAxis = scalar, U16, 106, "%", 0.01, 0
|
|
|
|
; Knock
|
|
knockLevel = scalar, F32, 108, "Volts", 1, 0
|
|
|
|
; Mode, firmware, protocol, run time
|
|
; 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
|
|
|
|
|
|
; calibation helpers
|
|
calibrationValue = scalar, F32, 128, "", 1, 0
|
|
calibrationMode = scalar, U08, 132, "", 1, 0
|
|
; 1 bytes padding1
|
|
|
|
fuelingLoad = scalar, U16, 134, "%", 0.01, 0
|
|
ignitionLoad = scalar, U16, 136, "%", 0.01, 0
|
|
|
|
engineMakeCodeNameCrc16= scalar, U16, 138, "crc16", 1, 0
|
|
|
|
; Errors
|
|
totalTriggerErrorCounter=scalar,U32, 140,"counter", 1, 0
|
|
; orderingErrorCounter 144
|
|
warningCounter = scalar, U16, 148, "count", 1, 0
|
|
lastErrorCode = scalar, U16, 150, "error", 1, 0
|
|
recentErrorCode0= scalar, U16, 152, "error", 1, 0
|
|
recentErrorCode1= scalar, U16, 154, "error", 1, 0
|
|
recentErrorCode2= scalar, U16, 156, "error", 1, 0
|
|
recentErrorCode3= scalar, U16, 158, "error", 1, 0
|
|
recentErrorCode4= scalar, U16, 160, "error", 1, 0
|
|
recentErrorCode5= scalar, U16, 162, "error", 1, 0
|
|
recentErrorCode6= scalar, U16, 164, "error", 1, 0
|
|
recentErrorCode7= scalar, U16, 166, "error", 1, 0
|
|
|
|
; Debug
|
|
debugFloatField1= scalar, F32, 168, "val", 1, 0.0
|
|
debugFloatField2= scalar, F32, 172, "val", 1, 0.0
|
|
debugFloatField3= scalar, F32, 176, "val", 1, 0.0
|
|
debugFloatField4= scalar, F32, 180, "val", 1, 0.0
|
|
debugFloatField5= scalar, F32, 184, "val", 1, 0.0
|
|
debugFloatField6= scalar, F32, 188, "val", 1, 0.0
|
|
debugFloatField7= scalar, F32, 192, "val", 1, 0.0
|
|
debugIntField1 = scalar, S32, 196, "val", 1, 0.0
|
|
debugIntField2 = scalar, S32, 200, "val", 1, 0.0
|
|
debugIntField3 = scalar, S32, 204, "val", 1, 0.0
|
|
debugIntField4 = scalar, S16, 208, "val", 1, 0.0
|
|
debugIntField5 = scalar, S16, 210, "val", 1, 0.0
|
|
|
|
; Accel
|
|
accelerationX = scalar, S16, 212, "G", 0.01, 0
|
|
accelerationY = scalar, S16, 214, "G", 0.01, 0
|
|
|
|
; egt
|
|
egt1 = scalar, S16, 216, "deg C", 1, 0
|
|
egt2 = scalar, S16, 218, "deg C", 1, 0
|
|
egt3 = scalar, S16, 220, "deg C", 1, 0
|
|
egt4 = scalar, S16, 222, "deg C", 1, 0
|
|
egt5 = scalar, S16, 224, "deg C", 1, 0
|
|
egt6 = scalar, S16, 226, "deg C", 1, 0
|
|
egt7 = scalar, S16, 228, "deg C", 1, 0
|
|
egt8 = scalar, S16, 230, "deg C", 1, 0
|
|
|
|
TPS2Value = scalar, S16, 232, "%",{1/@@PACK_MULT_PERCENT@@}, 0
|
|
|
|
rawTps1Primary = scalar, U16, 234, "V",{1/@@PACK_MULT_VOLTAGE@@}, 0.0
|
|
rawPpsPrimary = scalar, U16, 236, "V",{1/@@PACK_MULT_VOLTAGE@@}, 0.0
|
|
rawClt = scalar, U16, 238, "V",{1/@@PACK_MULT_VOLTAGE@@}, 0.0
|
|
rawIat = scalar, U16, 240, "V",{1/@@PACK_MULT_VOLTAGE@@}, 0.0
|
|
rawOilPressure = scalar, U16, 242, "V",{1/@@PACK_MULT_VOLTAGE@@}, 0.0
|
|
rawPpsSecondary = scalar, U16, 248, "V",{1/@@PACK_MULT_VOLTAGE@@}, 0.0
|
|
|
|
; we use this to match logs to tunes
|
|
tuneCrc16 = scalar, U16, 244, "crc16", 1, 0
|
|
sd_status = scalar, U08, 246, "", 1.0, 0.0
|
|
|
|
; Transmission
|
|
tcuCurrentGear = scalar, S08, 247, "gear", 1, 0
|
|
tcuDesiredGear = scalar, S08, 262, "gear", 1, 0
|
|
|
|
knock1 = scalar, S08, 250, "dbv", 1, 0
|
|
knock2 = scalar, S08, 251, "dbv", 1, 0
|
|
knock3 = scalar, S08, 252, "dbv", 1, 0
|
|
knock4 = scalar, S08, 253, "dbv", 1, 0
|
|
knock5 = scalar, S08, 254, "dbv", 1, 0
|
|
knock6 = scalar, S08, 255, "dbv", 1, 0
|
|
knock7 = scalar, S08, 256, "dbv", 1, 0
|
|
knock8 = scalar, S08, 257, "dbv", 1, 0
|
|
|
|
rawIdlePositionSensor = scalar, U16, 264, "V",{1/@@PACK_MULT_VOLTAGE@@}, 0.0
|
|
rawWastegatePosition = scalar, U16, 266, "V",{1/@@PACK_MULT_VOLTAGE@@}, 0.0
|
|
wastegatePositionSensor = scalar, S16, 268, "%",{1/@@PACK_MULT_PERCENT@@}, 0
|
|
idlePositionSensor = scalar, S16, 270, "%",{1/@@PACK_MULT_PERCENT@@}, 0
|
|
rawLowFuelPressure = scalar, U16, 272, "V",{1/@@PACK_MULT_VOLTAGE@@}, 0
|
|
rawHighFuelPressure = scalar, U16, 274, "V",{1/@@PACK_MULT_VOLTAGE@@}, 0
|
|
lowFuelPressure = scalar, S16, 276, "kpa", {1/@@PACK_MULT_PRESSURE@@}, 0
|
|
highFuelPressure = scalar, S16, 278, "bar", {1/@@PACK_MULT_HIGH_PRESSURE@@}, 0
|
|
targetLambda = scalar, U16, 280, "",{1/@@PACK_MULT_LAMBDA@@}, 0.0
|
|
AFRValue = scalar, U16, 282, "AFR",{1/@@PACK_MULT_AFR@@}, 0.0
|
|
VssAcceleration = scalar, S16, 284, "m/s2", {1/@@PACK_MULT_MS@@}, 0.0
|
|
lambdaValue2 = scalar, U16, 286, "",{1/@@PACK_MULT_LAMBDA@@}, 0.0
|
|
AFRValue2 = scalar, U16, 288, "AFR",{1/@@PACK_MULT_AFR@@}, 0.0
|
|
|
|
;
|
|
; see TunerStudioOutputChannels struct
|
|
;
|
|
|
|
; todo: generate this section programmatically
|
|
LM_SPEED_DENSITY = {3},
|
|
LM_REAL_MAF = {4}
|
|
|
|
egoCorrection = { 100 }
|
|
time = { timeNow }
|
|
|
|
; 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 : ((gppwm1_loadAxis == 3) ? intake : ((gppwm1_loadAxis == 4) ? fuelingLoad : ignitionLoad))))}
|
|
gppwm2_load = {(gppwm2_loadAxis == 0) ? TPSValue : ((gppwm2_loadAxis == 1) ? MAPValue : ((gppwm2_loadAxis == 2) ? coolant : ((gppwm2_loadAxis == 3) ? intake : ((gppwm2_loadAxis == 4) ? fuelingLoad : ignitionLoad))))}
|
|
gppwm3_load = {(gppwm3_loadAxis == 0) ? TPSValue : ((gppwm3_loadAxis == 1) ? MAPValue : ((gppwm3_loadAxis == 2) ? coolant : ((gppwm3_loadAxis == 3) ? intake : ((gppwm3_loadAxis == 4) ? fuelingLoad : ignitionLoad))))}
|
|
gppwm4_load = {(gppwm4_loadAxis == 0) ? TPSValue : ((gppwm4_loadAxis == 1) ? MAPValue : ((gppwm4_loadAxis == 2) ? coolant : ((gppwm4_loadAxis == 3) ? intake : ((gppwm4_loadAxis == 4) ? fuelingLoad : ignitionLoad))))}
|
|
|
|
[PcVariables]
|
|
tuneCrcPcVariable = continuousChannelValue, tuneCrc16
|
|
|
|
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
|
|
|
|
gearCountArray = array, S08, [@@TCU_GEAR_COUNT@@], "Gear", 1, 0, -1, { @@TCU_GEAR_COUNT@@ - 2 }, 0, noMsqSave
|
|
solenoidCountArray = array, U08, [@@TCU_SOLENOID_COUNT@@], "Solenoid", 1, 0, 1, @@TCU_SOLENOID_COUNT@@, 0, noMsqSave
|
|
|
|
; 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 :)
|
|
; 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 40 41 42 43 44 45 46 47 48
|
|
; Alternator TPS Acceleration GPPWM Idle Engine Load Acc Trigger Counters VVT Cranking Ignition Timing ETB PID Executor FSIO_1_7 CJ125 CAN TLE8888 Analog inputs 2 Boost Start Launcher ETB Autotune FSIO_8_14 FSIO_SPECIAL Injector flow compensation DYNO_VIEW LOGIC_ANALYZER Wideband DBG_47 DBG_48
|
|
; DBG_ALTERNATOR_PID DBG_TPS_ACCEL DBG_GPPWM DBG_IDLE_CONTROL
|
|
debugFieldF1List = bits, U08, [0:7], "Controller Output", "From TPS", "GPPWM 1", "Controller Output", "Idle output", "Channel 1 Rise Counter", "", "", "VVT Event Position","", "Ign IAT Corr", "", "", "", "", "", "", "ETB Controller Output", "", "", "df1", "df1", "22df1", "fsio 1", "24:df1", "CJ125: output", "", "", "", "", "", "", "TPS1 Pri/Sec Diff", "", "", "", "Boost Open Loop Duty", "S unused" "", "Osc Amplitude", "", "fsio 8", "idle offset", "Pressure across injector(kpa)", "VSS", "", "WB: Pump DAC duty", "", ""
|
|
debugFieldF2List = bits, U08, [0:7], "I-Term", "To TPS", "GPPWM 2", "I-Term", "Idle df2", "Channel 2 Rise Counter", "", "", "VVT Ratio", "", "Ign CLT Corr", "", "", "", "", "", "", "ETB I-Term", "", "", "df2", "df2", "22df2", "fsio 2", "24:df2", "CJ125: i-term", "", "", "", "", "", "", "TPS2 Pri/Sec Diff", "", "", "", "Boost Closed Loop Duty","S unused" "", "Duty Amplitude", "", "fsio 9", "idle min", "Pressure ratio vs. nominal", "Speed", "", "WB: ESR", "", ""
|
|
debugFieldF3List = bits, U08, [0:7], "Previous Error", "Current TPS<>TPS", "GPPWM 3", "prev error", "Idle df3", "ICU sum", "", "", "", "", "Ign FSIO Adj", "", "", "", "", "", "", "ETB err", "", "", "df3", "df3", "22df3", "fsio 3", "24:df3", "CJ125: err", "", "", "", "", "", "", "TPS1/2 Diff", "", "", "", "", "S unused" "", "Tu", "", "fsio 10", "", "Flow ratio vs. configured", "DeltaSpeed", "", "WB: Heater duty", "", ""
|
|
debugFieldF4List = bits, U08, [0:7], "I Gain", "Extra Fuel", "GPPWM 4", "I Gain", "Idle df4", "VVT rise", "", "", "", "", "Ign PID Adj", "", "", "", "", "", "", "ETB I setting", "", "", "df4", "df4", "22df4", "fsio 4", "24:df4", "CJ125: UA", "", "", "", "", "", "", "Acc Pedal Pri/Sec Diff","", "", "", "", "S unused" "", "Ku", "", "fsio 11", "", "", "accel", "", "WB: Lambda", "", ""
|
|
debugFieldF5List = bits, U08, [0:7], "D Gain", "df5", "df5", "D Gain", "Idle df5", "VVT fall", "df5", "", "", "", "", "", "", "", "", "", "", "ETB D setting", "df5", "df5", "df5", "df5", "22df5", "fsio 5", "24:df5", "CJ125: UR", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Kp", "", "fsio 12", "", "", "", "", "", "", ""
|
|
debugFieldF6List = bits, U08, [0:7], "D Term", "", "", "D Term", "Idle df6", "Current Gap", "", "", "", "", "", "", "", "", "", "", "", "ETB df6", "", "", "df6", "df6", "22df6", "fsio 6", "24:df6", "cj: f7", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Ki", "", "fsio 13", "", "", "", "", "", "", ""
|
|
debugFieldF7List = bits, U08, [0:7], "Max-Value", "", "", "Max-Value", "Idle df7", "", "", "", "", "", "", "", "", "", "", "", "", "ETB df7", "", "", "df7", "df7", "22df7", "fsio 7", "24:df7", "cj: f7", "", "", "", "", "", "", "", "", "", "", "", "S unused" "", "Kd", "", "fsio 14", "", "", "", "", "", "", ""
|
|
|
|
debugFieldI1List = bits, U08, [0:7], "P-Gain", "", "", "P-Gain", "Idle di1", "Channel 1 Fall Counter", "", "", "VVT Sync Counter", "Cycle Counter", "Multispark Count", "", "", "", "", "", "", "ETB P-Gain", "t counter", "", "di1", "di1", "22di1", "", "24:di1", "CJ125: state", "read count","", "", "", "", "SPI Counter", "", "", "", "", "", "Start Count", "", "", "", "", "", "", "deltatime", "", "", "", ""
|
|
debugFieldI2List = bits, U08, [0:7], "Offset", "", "", "Offset", "Idle di2", "Channel 2 Fall Counter", "", "", "", "", "", "", "", "", "", "", "", "ETB di2", "invocationcounter", "", "di2", "di2", "22di2", "", "24:di2", "", "write count","", "", "", "", "Latest Transmit","", "", "", "", "", "Starter Enable", "", "", "", "", "", "", "", "", "", "", ""
|
|
debugFieldI3List = bits, U08, [0:7], "Reset Cnt", "", "", "Reset Cnt", "Idle di3", "Cycle Index", "", "", "", "", "", "", "", "", "", "", "", "ETB di3", "s counter", "", "di3", "di3", "22di3", "", "24:di3", "", "write err", "", "", "", "", "Latest Received","", "", "", "", "", "Starter Disable","", "", "", "", "", "", "", "", "", "", ""
|
|
debugFieldI4List = bits, U08, [0:7], "Period", "", "", "State", "Idle di4", "Cycle Cnt 1", "", "", "", "", "", "", "", "", "", "", "", "ETB di4", "executor", "", "di4", "di4", "22di4", "", "24:di4", "", "", "", "", "", "", "Init Count", "", "", "", "", "", "S unused" "", "", "", "", "", "", "", "", "", "", ""
|
|
debugFieldI5List = bits, U08, [0:7], "", "", "", "", "Idle di5", "Cycle Cnt 2", "", "", "", "", "", "", "", "", "", "di5", "di5", "ETB di5", "max executor", "di5", "di5", "di5", "22di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "di5", "", "di5", "di5", "di5", "di5", "S di5" "", "", "", "", "", "", "", "", "", "", ""
|
|
|
|
[ConstantsExtensions]
|
|
; 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 }
|
|
|
|
; TPS 1 Secondary
|
|
maintainConstantValue = tps1SecondaryMax, { (calibrationMode == 6 ) ? calibrationValue : tps1SecondaryMax }
|
|
maintainConstantValue = tps1SecondaryMin, { (calibrationMode == 7 ) ? calibrationValue : tps1SecondaryMin }
|
|
|
|
; TPS 2 Primary
|
|
maintainConstantValue = tps2Max, { (calibrationMode == 8 ) ? calibrationValue : tps2Max }
|
|
maintainConstantValue = tps2Min, { (calibrationMode == 9 ) ? calibrationValue : tps2Min }
|
|
|
|
; TPS 2 Secondary
|
|
maintainConstantValue = tps2SecondaryMax, { (calibrationMode == 10 ) ? calibrationValue : tps2SecondaryMax }
|
|
maintainConstantValue = tps2SecondaryMin, { (calibrationMode == 11 ) ? calibrationValue : tps2SecondaryMin }
|
|
|
|
; 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 }
|
|
|
|
requiresPowerCycle = warningLedPin
|
|
requiresPowerCycle = runningLedPin
|
|
requiresPowerCycle = binarySerialTxPin
|
|
requiresPowerCycle = binarySerialRxPin
|
|
|
|
requiresPowerCycle = etb_use_two_wires
|
|
requiresPowerCycle = etbFreq
|
|
|
|
requiresPowerCycle = idle_solenoidFrequency
|
|
requiresPowerCycle = boostPwmFrequency
|
|
requiresPowerCycle = alternatorPwmFrequency
|
|
requiresPowerCycle = auxPidFrequency1
|
|
requiresPowerCycle = auxPidFrequency2
|
|
requiresPowerCycle = auxPidFrequency3
|
|
requiresPowerCycle = auxPidFrequency4
|
|
|
|
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
|
|
|
|
readOnly = warning_message
|
|
|
|
defaultValue = gearCountArray, -1 0 1 2 3 4 5 6 7 8
|
|
readOnly = gearCountArray
|
|
defaultValue = solenoidCountArray, 1 2 3 4 5 6 7 8
|
|
readOnly = solenoidCountArray
|
|
|
|
|
|
[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
|
|
xBins = knockNoiseRpmBins, RPMValue
|
|
yBins = knockNoise
|
|
gauge = RPMGauge
|
|
|
|
curve = swKnockThresholdCurve, "Engine knock threshold RPM based"
|
|
columnLabel = "RPM", "Threshold dB"
|
|
xAxis = 0, 8000, 10
|
|
yAxis = -30, 0, 10
|
|
xBins = ignitionRpmBins, RPMValue
|
|
yBins = knockBaseNoise
|
|
gauge = RPMGauge
|
|
|
|
curve = narrowToWideOxygenCurve, "Narrow to Wideband approximation"
|
|
columnLabel = "Voltage", "AFR"
|
|
xAxis = 0, 6, 10
|
|
yAxis = 0, 28, 10
|
|
xBins = narrowToWideOxygenBins
|
|
yBins = narrowToWideOxygen
|
|
#if LAMBDA
|
|
gauge = lambda1Gauge
|
|
#else
|
|
gauge = afr1Gauge
|
|
#endif
|
|
|
|
curve = fsioCurve1, "FSIO Curve #1"
|
|
columnLabel = "X", "Y"
|
|
xAxis = 0, 128, 10
|
|
yAxis = -155, 150, 10
|
|
xBins = fsioCurve1Bins
|
|
yBins = fsioCurve1
|
|
|
|
curve = fsioCurve2, "FSIO Curve #2"
|
|
columnLabel = "X", "Y"
|
|
xAxis = 0, 128, 10
|
|
yAxis = -150, 150, 10
|
|
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
|
|
|
|
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, 9
|
|
yAxis = 0, 8, 9
|
|
xBins = sparkDwellRpmBins, RPMValue
|
|
yBins = sparkDwellValues
|
|
gauge = RPMGauge
|
|
|
|
curve = map_samplingAngleCurve, "MAP Sampling Start Angle"
|
|
columnLabel = "RPM", "Angle"
|
|
xAxis = 0, 8000, 10
|
|
yAxis = 0, 180, 10
|
|
xBins = map_samplingAngleBins, RPMValue
|
|
yBins = map_samplingAngle
|
|
gauge = MAPGauge
|
|
|
|
curve = map_samplingWindowCurve, "MAP Sampling Duration"
|
|
columnLabel = "RPM", "Window"
|
|
xAxis = 0, 8000, 10
|
|
yAxis = 0, 180, 10
|
|
xBins = map_samplingWindowBins, RPMValue
|
|
yBins = map_samplingWindow
|
|
gauge = MAPGauge
|
|
|
|
curve = injectorsDeadTime, "Injector dead time"
|
|
columnLabel = "Voltage", "Dead Time"
|
|
xAxis = 8, 16, 9
|
|
yAxis = 0, 2, 5
|
|
xBins = injector_battLagCorrBins, VBatt
|
|
yBins = injector_battLagCorr
|
|
|
|
curve = mafDecodingCurve, "MAF sensor"
|
|
columnLabel = "Voltage", "kg/hour"
|
|
xAxis = -1, 6, 10
|
|
yAxis = -30, 1300, 10
|
|
xBins = mafDecodingBins, MAFValue
|
|
yBins = mafDecoding
|
|
gauge = MAFGauge
|
|
|
|
curve = iatFuelCorrCurve, "Intake air temperature fuel Multiplier"
|
|
columnLabel = "Coolant", "Multiplier"
|
|
xAxis = -40, 120, 9
|
|
yAxis = 0, 2, 11
|
|
xBins = iatFuelCorrBins, intake
|
|
yBins = iatFuelCorr
|
|
gauge = IATGauge
|
|
|
|
curve = cltTimingCorrCurve, "Warmup timing correction"
|
|
columnLabel = "Coolant", "Extra"
|
|
xAxis = -40, 120, 9
|
|
yAxis = 0, 20, 9
|
|
xBins = cltTimingBins, coolant
|
|
yBins = cltTimingExtra
|
|
gauge = CLTGauge
|
|
|
|
curve = cltFuelCorrCurve, "Warmup fuel manual Multiplier"
|
|
columnLabel = "Coolant", "Multiplier"
|
|
xAxis = -40, 120, 9
|
|
yAxis = 0, 3, 10
|
|
xBins = cltFuelCorrBins, coolant
|
|
yBins = cltFuelCorr
|
|
gauge = CLTGauge
|
|
|
|
curve = crankingCltCurve, "Cranking Coolant Temperature Multiplier"
|
|
columnLabel = "Coolant", "Multiplier"
|
|
xAxis = -40, 120, 9
|
|
yAxis = 0, 3, 10
|
|
xBins = crankingFuelBins, coolant
|
|
yBins = crankingFuelCoef
|
|
gauge = CLTGauge
|
|
|
|
curve = etbTpsBiasCurve, "Electronic TB Bias Curve"
|
|
columnLabel = "TPS", "duty bias"
|
|
xAxis = 0, 50, 11
|
|
yAxis = -40, 40, 9
|
|
xBins = etbBiasBins, TPSValue
|
|
yBins = etbBiasValues
|
|
gauge = TPSGauge
|
|
|
|
curve = crankingTpsCurve, "Cranking TPS Multiplier"
|
|
columnLabel = "TPS", "Multiplier"
|
|
xAxis = 0, 100, 11
|
|
yAxis = 0, 3, 10
|
|
xBins = crankingTpsBins, TPSValue
|
|
yBins = crankingTpsCoef
|
|
gauge = TPSGauge
|
|
|
|
curve = crankingDurationCurve, "Cranking Duration Multiplier"
|
|
columnLabel = "Engine Cycle", "Multiplier"
|
|
xAxis = 0, 50, 11
|
|
yAxis = 0, 5, 6
|
|
xBins = crankingCycleBins
|
|
yBins = crankingCycleCoef
|
|
|
|
|
|
curve = cltIdleCurve, "Warmup Idle multiplier"
|
|
columnLabel = "Coolant", "Multiplier"
|
|
xAxis = -40, 120, 10
|
|
yAxis = 0, 3, 10
|
|
xBins = cltIdleCorrBins, coolant
|
|
yBins = cltIdleCorr
|
|
gauge = CLTGauge
|
|
|
|
curve = iacCoastingCurve, "Coasting IAC Position for Auto-Idle"
|
|
columnLabel = "Coolant", "Multiplier"
|
|
xAxis = -40, 120, 9
|
|
yAxis = 0, 100, 10
|
|
xBins = iacCoastingBins, coolant
|
|
yBins = iacCoasting
|
|
gauge = idleAirValvePositionGauge
|
|
|
|
curve = cltCrankingCurve, "Cranking Idle Air multiplier"
|
|
columnLabel = "Coolant", "Multiplier"
|
|
xAxis = -40, 120, 9
|
|
yAxis = 0, 3, 10
|
|
xBins = cltCrankingCorrBins, coolant
|
|
yBins = cltCrankingCorr
|
|
gauge = CLTGauge
|
|
|
|
curve = cltIdleRPMCurve, "Idle Target RPM"
|
|
columnLabel = "Coolant", "RPM"
|
|
xAxis = -40, 120, 9
|
|
yAxis = 0, 8000, 10
|
|
xBins = cltIdleRpmBins, coolant
|
|
yBins = cltIdleRpm, RPMValue
|
|
gauge = CLTGauge
|
|
|
|
curve = idleAdvanceCurve, "Idle Advance Angle"
|
|
columnLabel = "RPM", "degrees"
|
|
xAxis = 0, 8000, 10
|
|
yAxis = -100, 100, 10
|
|
xBins = idleAdvanceBins, RPMValue
|
|
yBins = idleAdvance
|
|
gauge = RPMGauge
|
|
|
|
curve = idleVeCurve, "Idle VE"
|
|
columnLabel = "RPM", "%"
|
|
xAxis = 0, 8000, 10
|
|
yAxis = 0, 250, 10
|
|
xBins = idleVeBins, RPMValue
|
|
yBins = idleVe
|
|
#if LAMBDA
|
|
gauge = lambda1Gauge
|
|
#else
|
|
gauge = afr1Gauge
|
|
#endif
|
|
|
|
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"
|
|
|
|
[TableEditor]
|
|
; table_id, map3d_id, "title", page
|
|
|
|
; 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
|
|
topicHelp = "tpstpsHelp"
|
|
xBins = tpsTpsAccelFromRpmBins, TPSValue
|
|
yBins = tpsTpsAccelToRpmBins, TPSValue
|
|
zBins = tpsTpsAccelTable
|
|
|
|
table = boostTableTbl, boostMapOpen, "Boost control duty cycle (open loop)", 1
|
|
xBins = boostRpmBins, RPMValue
|
|
yBins = boostTpsBins, TPSValue
|
|
zBins = boostTableOpenLoop
|
|
|
|
table = boostTable2Tbl, boostMapClosed, "Boost control target", 1
|
|
xBins = boostRpmBins, RPMValue
|
|
yBins = boostTpsBins, TPSValue
|
|
zBins = boostTableClosedLoop
|
|
|
|
|
|
|
|
table = fsioTable1Tbl, fsioTable1Map, "FSIO Table #1", 1
|
|
xBins = fsioTable1RpmBins, RPMValue
|
|
yBins = fsioTable1LoadBins, fuelingLoad
|
|
zBins = fsioTable1
|
|
|
|
table = fsioTable2Tbl, fsioTable2Map, "FSIO Table #2", 1
|
|
xBins = fsioTable2RpmBins, RPMValue
|
|
yBins = fsioTable2LoadBins, fuelingLoad
|
|
zBins = fsioTable2
|
|
|
|
table = fsioTable3Tbl, fsioTable3Map, "FSIO Table #3", 1
|
|
xBins = fsioTable3RpmBins, RPMValue
|
|
yBins = fsioTable3LoadBins, fuelingLoad
|
|
zBins = fsioTable3
|
|
|
|
table = fsioTable4Tbl, fsioTable4Map, "FSIO Table #4", 1
|
|
xBins = fsioTable4RpmBins, RPMValue
|
|
yBins = fsioTable4LoadBins, fuelingLoad
|
|
zBins = fsioTable4
|
|
|
|
table = baroCorrTbl, baroCorrMap, "Baro Correction", 1
|
|
; constant, variable
|
|
xBins = baroCorrRpmBins, RPMValue
|
|
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
|
|
xBins = ignitionRpmBins, RPMValue
|
|
yBins = ignitionLoadBins, ignitionLoad
|
|
zBins = ignitionTable
|
|
; gridHeight = 2.0
|
|
gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees.
|
|
upDownLabel = "(RICHER)", "(LEANER)"
|
|
|
|
table = ignitionIatCorrTableTbl, ignitionIatCorrTableMap, "Ignition Intake Air Temp correction", 1
|
|
; constant, variable
|
|
xBins = ignitionIatCorrRpmBins, RPMValue
|
|
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
|
|
xBins = veRpmBins, RPMValue
|
|
yBins = veLoadBins, veTableYAxis
|
|
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
|
|
topicHelp = "fuelHelp"
|
|
; constant, variable
|
|
xBins = injPhaseRpmBins, RPMValue
|
|
yBins = injPhaseLoadBins, fuelingLoad
|
|
zBins = injectionPhase
|
|
; gridHeight = 2.0
|
|
gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees.
|
|
upDownLabel = "(Later)", "(Sooner)"
|
|
|
|
table = pedalToTpsTbl, pedalToTpsMap, "ETB Pedal to TPS", 1
|
|
; constant, variable
|
|
xBins = pedalToTpsRpmBins, RPMValue
|
|
yBins = pedalToTpsPedalBins, throttlePedalPosition
|
|
zBins = pedalToTpsTable
|
|
; gridHeight = 2.0
|
|
gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees.
|
|
upDownLabel = "(Later)", "(Sooner)"
|
|
|
|
|
|
#if LAMBDA
|
|
table = lambdaTableTbl, lambdaTableMap, "Target Lambda Table", 1
|
|
#else
|
|
table = afrTableTbl, afrTableMap, "Target AFR Table", 1
|
|
#endif
|
|
; constant, variable
|
|
xBins = lambdaRpmBins, RPMValue
|
|
yBins = lambdaLoadBins, afrTableYAxis
|
|
zBins = lambdaTable
|
|
; 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, fuelingLoad
|
|
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
|
|
|
|
table = tcuSolenoidTableTbl, tcuSolenoidTableMap, "Solenoids Active By Gear", 1
|
|
xBins = solenoidCountArray, tcuCurrentGear
|
|
yBins = gearCountArray, tcuCurrentGear
|
|
zBins = tcuSolenoidTable
|
|
xyLabels = "Solenoid", "Gear"
|
|
|
|
[GaugeConfigurations]
|
|
|
|
gaugeCategory = Sensors - Extra 2
|
|
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
|
|
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
|
|
speedToRpmRatioGauge = speedToRpmRatio, "speed2rpm", "", 0, 100, 0, 0, 100, 100, 4, 4
|
|
wastegatePosGauge = wastegatePositionSensor, @@GAUGE_NAME_WG_POSITION@@, "%", 0, 100, 0, 0, 100, 100, 1, 1
|
|
idlePosSensGauge = idlePositionSensor, "Idle position sensor", "%", 0, 100, 0, 0, 100, 100, 1, 1
|
|
|
|
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
|
|
recentErrorCode0Gauge = recentErrorCode0, "Error#1", "", 0, 18000, 0, 0, 18000, 18000, 0, 0
|
|
recentErrorCode1Gauge = recentErrorCode1, "Error#2", "", 0, 18000, 0, 0, 18000, 18000, 0, 0
|
|
recentErrorCode2Gauge = recentErrorCode2, "Error#3", "", 0, 18000, 0, 0, 18000, 18000, 0, 0
|
|
recentErrorCode3Gauge = recentErrorCode3, "Error#4", "", 0, 18000, 0, 0, 18000, 18000, 0, 0
|
|
recentErrorCode4Gauge = recentErrorCode4, "Error#5", "", 0, 18000, 0, 0, 18000, 18000, 0, 0
|
|
recentErrorCode5Gauge = recentErrorCode5, "Error#6", "", 0, 18000, 0, 0, 18000, 18000, 0, 0
|
|
recentErrorCode6Gauge = recentErrorCode6, "Error#7", "", 0, 18000, 0, 0, 18000, 18000, 0, 0
|
|
recentErrorCode7Gauge = recentErrorCode7, "Error#8", "", 0, 18000, 0, 0, 18000, 18000, 0, 0
|
|
firmwareVersionGauge = firmwareVersion , "ECU Software Version", "%", 0, 100, 0, 0, 100, 100, 0, 0
|
|
timeSecondsGauge = seconds, "Uptime", "sec", 0, 100, 0, 0, 100, 100, 0, 0
|
|
tuneCrc16Gauge = tuneCrc16, "tune CRC16", "", 0, 64000, 0, 0, 64000, 64000, 0, 0
|
|
|
|
|
|
gaugeCategory = Debug
|
|
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, @@GAUGE_NAME_AFR@@, "", 10, 19.4, 12, 13, 15, 16, 2, 2
|
|
afr2Gauge = AFRValue2, @@GAUGE_NAME_AFR2@@, "", 10, 19.4, 12, 13, 15, 16, 2, 2
|
|
lambda1Gauge = lambdaValue, @@GAUGE_NAME_LAMBDA@@, "", 0.65, 1.2, 0.7, 0.75, 1.1, 1.15, 3, 2
|
|
lambda2Gauge = lambdaValue2, @@GAUGE_NAME_LAMBDA2@@, "", 0.65, 1.2, 0.7, 0.75, 1.1, 1.15, 3, 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
|
|
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
|
|
|
|
|
|
gaugeCategory = Sensors - Extra 1
|
|
VSSGauge = vehicleSpeedKph, "Vehicle speed", "kmh", 0, 200, 0, 1, 3, 4, 1, 1
|
|
accelerationXGauge = accelerationX, @@GAUGE_NAME_ACCEL_X@@, "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1
|
|
accelerationYGauge = accelerationY, @@GAUGE_NAME_ACCEL_Y@@, "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1
|
|
atmPresCGauge = baroPressure, @@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
|
|
OilPressGauge = oilPressure, @@GAUGE_NAME_OIL_PRESSURE@@, @@GAUGE_NAME_OIL_PRESSURE_UNITS@@, 0, 750, 35, 75, 550, 700, 0, 0
|
|
idleAirValvePositionGauge = idleAirValvePosition, "Idle position", "%", 0, 100, 0, 0, 100, 100, 1, 1
|
|
AuxT1Gauge = auxt1, "Aux temp 1", "deg C", -40, 140, -15, 1, 95, 110, 1, 1
|
|
AuxT2Gauge = auxt2, "Aux temp 2", "deg C", -40, 140, -15, 1, 95, 110, 1, 1
|
|
lowFuelPressureGauge = lowFuelPressure, @@GAUGE_NAME_FUEL_PRESSURE_LOW@@, @@GAUGE_NAME_FUEL_PRESSURE_LOW_UNITS@@, 0, 700, 0, 0, 700, 700, 1, 0
|
|
highFuelPressureGauge = highFuelPressure, @@GAUGE_NAME_FUEL_PRESSURE_HIGH@@, @@GAUGE_NAME_FUEL_PRESSURE_HIGH_UNITS@@, 0, 200, 0, 0, 200, 200, 1, 0
|
|
|
|
gaugeCategory = Ignition
|
|
ignadvGauge = ignitionAdvance, "Ignition timing", "degrees", -100, 100, -999, -999, 999, 999, 1, 1
|
|
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
|
|
ignitionLoadGauge = ignitionLoad, @@GAUGE_NAME_IGNITION_LOAD@@, "%", 0, 300, 0, 0, 300, 300, 1, 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
|
|
|
|
gaugeCategory = Fueling
|
|
;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
|
|
baroCorrectionGauge = baroCorrection,@@GAUGE_NAME_FUEL_BARO_CORR@@, "ratio", 0.5, 1.5, 0.6, 0.7, 1.3, 1.4, 1, 1
|
|
crankingFuelGauge = crankingFuelMs, @@GAUGE_NAME_FUEL_CRANKING@@, "mg", 0, 100, 0, 0, 100, 100, 3, 1
|
|
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
|
|
veValueGauge = veValue, "fuel: VE", "", 0, 120, 10, 10, 100, 100, 1, 1
|
|
|
|
injectorLagMsGauge = injectorLagMs, @@GAUGE_NAME_INJECTOR_LAG@@, "mSec", 0, 10, 0, 0, 10, 10, 3, 1
|
|
fuelRunningGauge = fuelRunning, @@GAUGE_NAME_FUEL_RUNNING@@, "mg", 0, 100, 0, 0, 100, 100, 3, 1
|
|
baseFuelGauge = baseFuel, @@GAUGE_NAME_FUEL_BASE@@, "mg", 0, 100, 0, 0, 100, 100, 2, 0
|
|
fuelPidCorrectionGauge = fuelPidCorrection, @@GAUGE_NAME_FUEL_PID_CORR@@, "%", -10, 10, -8, -5, 5, 8, 3, 1
|
|
fuelingLoadGauge = fuelingLoad, @@GAUGE_NAME_FUEL_LOAD@@, "%", 0, 300, 0, 0, 300, 300, 1, 1
|
|
|
|
gaugeCategory = Throttle Body (incl. ETB)
|
|
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
|
|
TPS2Gauge = TPS2Value, "Throttle position #2", "%", 0, 100, 0, 0, 100, 100, 1, 1
|
|
|
|
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
|
|
rawPpsSecondaryGauge = rawPpsSecondary,"Raw Pedal Secondary","volts", 0, 5, 0, 0, 5, 5, 3, 0
|
|
rawIdlePositionSensorGauge = rawIdlePositionSensor, "Raw Idle Position", "volts", 0, 5, 0, 0, 5, 5, 3, 0
|
|
rawWastegatePositionGauge = rawWastegatePosition,"Raw Wastegate Position","volts", 0, 5, 0, 0, 5, 5, 3, 0
|
|
rawLowFuelPressureGauge = rawLowFuelPressure,"Raw fuel pressure (low) voltage","volts", 0, 5, 0, 0, 5, 5, 3, 0
|
|
rawHighFuelPressureGauge = rawHighFuelPressure,"Raw fuel pressure (high) voltage","volts", 0, 5, 0, 0, 5, 5, 3, 0
|
|
|
|
gaugeCategory = Transmission
|
|
desiredGearGauge = tcuDesiredGear, "Desired", "gear", -1, 10, -1, -1, 10, 10, 0, 0
|
|
currentGearGauge = tcuCurrentGear, "Current", "gear", -1, 10, -1, -1, 10, 10, 0, 0
|
|
|
|
gaugeCategory = Knock
|
|
knock1Gauge = knock1, "Knock Cyl 1", "dBv", -60, 10, -60, -60, 10, 10, 0, 0
|
|
knock2Gauge = knock2, "Knock Cyl 2", "dBv", -60, 10, -60, -60, 10, 10, 0, 0
|
|
knock3Gauge = knock3, "Knock Cyl 3", "dBv", -60, 10, -60, -60, 10, 10, 0, 0
|
|
knock4Gauge = knock4, "Knock Cyl 4", "dBv", -60, 10, -60, -60, 10, 10, 0, 0
|
|
knock5Gauge = knock5, "Knock Cyl 5", "dBv", -60, 10, -60, -60, 10, 10, 0, 0
|
|
knock6Gauge = knock6, "Knock Cyl 6", "dBv", -60, 10, -60, -60, 10, 10, 0, 0
|
|
knock7Gauge = knock7, "Knock Cyl 7", "dBv", -60, 10, -60, -60, 10, 10, 0, 0
|
|
knock8Gauge = knock8, "Knock Cyl 8", "dBv", -60, 10, -60, -60, 10, 10, 0, 0
|
|
|
|
gaugeCategory = DynoView
|
|
accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2
|
|
|
|
[WueAnalyze]
|
|
|
|
; wueCurveName, afrTempCompensationCurve, lambdaTargetTableName, lambdaChannel, coolantTempChannel, egoCorrectionChannel, wueChannel, activeCondition
|
|
#if LAMBDA
|
|
wueAnalyzeMap = wueAnalyzer_warmup_curve, wueAfrTargetOffsetCurve, lambdaTableTbl, lambdaValue, coolant, cltCorrection, egoCorrection
|
|
lambdaTargetTables = lambdaTableTbl, afrTSCustom
|
|
#else
|
|
wueAnalyzeMap = wueAnalyzer_warmup_curve, wueAfrTargetOffsetCurve, afrTableTbl, AFRValue, coolant, cltCorrection, egoCorrection
|
|
lambdaTargetTables = afrTableTbl, afrTSCustom
|
|
#endif
|
|
|
|
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.
|
|
|
|
|
|
[FrontPage]
|
|
; Gauges are numbered left to right, top to bottom.
|
|
;
|
|
; 1 2 3 4
|
|
; 5 6 7 8
|
|
|
|
gauge1 = RPMGauge
|
|
gauge2 = CLTGauge
|
|
gauge3 = TPSGauge
|
|
gauge4 = MAPGauge
|
|
#if LAMBDA
|
|
gauge5 = lambda1Gauge
|
|
#else
|
|
gauge5 = afr1Gauge
|
|
#endif
|
|
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
|
|
|
|
indicator = { sd_status & 1}, "No SD", "SD in", white, black, green, black
|
|
indicator = { sd_status & 4}, "SD ready", "SD ready", white, black, green, black
|
|
indicator = { sd_status & 8}, "SD Log", "SD Log", white, black, green, black
|
|
indicator = { sd_status & 16}, "SD Err", "SD Err", white, black, red, black
|
|
|
|
; 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
|
|
|
|
; minor info
|
|
indicator = { ind_fan}, "fan off", "fan on", white, black, green, black
|
|
indicator = { isCylinderCleanupActivated}, "no cyl cleanup", "cyl cleanup", white, black, yellow, black
|
|
indicator = { needBurn }, "config ok", "unsaved changes", white, black, yellow, black
|
|
indicator = { hasSdCard}, "no SD", "with SD", white, black, green, black
|
|
indicator = { ind_fuel_pump}, "pump off", "pump on", white, black, green, black
|
|
indicator = { clutchUpState }, "clutch", "cltch Up", white, black, red, black
|
|
indicator = { clutchDownState }, "clutch", "cltch Down", white, black, yellow, black
|
|
indicator = { brakePedalIndicator }, "brake", "brake down", white, black, red, black
|
|
indicator = { acSwitchState }, "AC off", "AC on", white, black, blue, white
|
|
indicator = { isIdleClosedLoop }, "idle open loop", "idle closed loop", white, black, green, black
|
|
|
|
; error codes
|
|
indicator = { isTpsError}, "tps", "tps error", white, black, red, black
|
|
indicator = { isTps2Error}, "tps 2", "tps 2 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
|
|
|
|
; not implemented
|
|
; indicator = { ind_map_error}, "map", "map error", white, black, red, black
|
|
|
|
indicator = { ind_pedal_error}, "pedal", "pedal error", white, black, red, black
|
|
|
|
indicator = { knockEverIndicator }, "", "Knock recently", white, black, red, black
|
|
indicator = { knockNowIndicator }, "no knock", "Knock NOW", white, black, red, black
|
|
|
|
|
|
[KeyActions]
|
|
showPanel = spi, spiFunction
|
|
showPanel = con, connection
|
|
|
|
;
|
|
; this section defines how we log output channels
|
|
; see [OutputChannels]
|
|
;
|
|
[Datalog]
|
|
; Channel Label Type Format
|
|
entry = time, @@GAUGE_NAME_TIME@@, float, "%.3f"
|
|
entry = RPMValue, @@GAUGE_NAME_RPM@@, int, "%d"
|
|
entry = firmwareVersion, @@GAUGE_NAME_VERSION@@, int, "%d"
|
|
entry = coolant, @@GAUGE_NAME_CLT@@, float, "%.2f"
|
|
entry = intake, @@GAUGE_NAME_IAT@@, float, "%.2f"
|
|
entry = oilPressure, "Oil Press", float, "%.1f"
|
|
entry = TPSValue, @@GAUGE_NAME_TPS@@, float, "%.2f"
|
|
entry = TPS2Value, @@GAUGE_NAME_TPS2@@, float, "%.2f"
|
|
entry = MAFValue, @@GAUGE_NAME_MAF@@, float, "%.2f"
|
|
entry = MAPValue, @@GAUGE_NAME_MAP@@, float, "%.1f"
|
|
entry = AFRValue, @@GAUGE_NAME_AFR@@, float, "%.2f"
|
|
entry = AFRValue2, @@GAUGE_NAME_AFR2@@, float, "%.2f"
|
|
entry = lambdaValue, @@GAUGE_NAME_LAMBDA@@, float, "%.2f"
|
|
entry = lambdaValue2, @@GAUGE_NAME_LAMBDA2@@, float, "%.2f"
|
|
entry = VBatt, @@GAUGE_NAME_VBAT@@, float, "%.2f"
|
|
entry = engineLoad, @@GAUGE_NAME_ENGINE_LOAD@@, float, "%.1f"
|
|
entry = fuelingLoad, @@GAUGE_NAME_FUEL_LOAD@@, float, "%.1f"
|
|
entry = ignitionLoad, @@GAUGE_NAME_IGNITION_LOAD@@, float, "%.1f"
|
|
entry = ignitionAdvance, @@GAUGE_NAME_TIMING_ADVANCE@@, float, "%.2f"
|
|
entry = knockLevel, @@GAUGE_NAME_KNOCK_LEVEL@@, float, "%.2f"
|
|
entry = vehicleSpeedKph, @@GAUGE_NAME_VVS@@, float, "%.2f"
|
|
entry = speedToRpmRatio, "s2rpm", float, "%.3f"
|
|
entry = rpmAcceleration, "dRPM", float, "%.3f"
|
|
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 = wastegatePositionSensor, @@GAUGE_NAME_WG_POSITION@@, float, "%.3f"
|
|
entry = totalTriggerErrorCounter, @@GAUGE_NAME_TRG_ERR@@,int, "%d"
|
|
entry = idleAirValvePosition, @@GAUGE_NAME_IAC@@, float, "%.3f"
|
|
entry = lowFuelPressure, @@GAUGE_NAME_FUEL_PRESSURE_LOW@@, float, "%.3f"
|
|
; entry = rawLowFuelPressure, @@GAUGE_NAME_RAW_FUEL_PRESSURE_LOW@@, float, "%.3f"
|
|
entry = highFuelPressure, @@GAUGE_NAME_FUEL_PRESSURE_HIGH@@, float, "%.3f"
|
|
; entry = rawHighFuelPressure, @@GAUGE_NAME_RAW_FUEL_PRESSURE_HIGH@@, float, "%.3f"
|
|
|
|
entry = injectorLagMs, @@GAUGE_NAME_INJECTOR_LAG@@, float, "%.3f"
|
|
entry = fuelRunning, @@GAUGE_NAME_FUEL_RUNNING@@, float, "%.3f"
|
|
entry = actualLastInjection, @@GAUGE_NAME_FUEL_LAST_INJECTION@@, float, "%.3f"
|
|
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"
|
|
entry = injectorDutyCycle,@@GAUGE_NAME_FUEL_INJ_DUTY@@,float,"%.3f"
|
|
entry = coilDutyCycle, @@GAUGE_NAME_DWELL_DUTY@@, float,"%.3f"
|
|
entry = currentTargetAfr,@@GAUGE_NAME_TARGET_AFR@@, float,"%.3f"
|
|
entry = targetLambda, @@GAUGE_NAME_TARGET_LAMBDA@@, float,"%.4f"
|
|
|
|
entry = accelerationX, @@GAUGE_NAME_ACCEL_X@@, float,"%.2f", { LIS302DLCsPin != 0 }
|
|
entry = accelerationY, @@GAUGE_NAME_ACCEL_Y@@, float,"%.2f", { LIS302DLCsPin != 0 }
|
|
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}
|
|
|
|
entry = engineLoadAccelExtra, @@GAUGE_NAME_FUEL_EL_EXTRA@@,float, "%.3f"
|
|
entry = engineLoadDelta, "fuel: load change",float, "%.3f"
|
|
|
|
entry = deltaTps, @@GAUGE_NAME_FUEL_TPS_ROC@@,float, "%.3f"
|
|
entry = tpsAccelFuel, @@GAUGE_NAME_FUEL_TPS_EXTRA@@, float, "%.3f"
|
|
|
|
entry = wallFuelCorrection,@@GAUGE_NAME_FUEL_WALL_CORRECTION@@, float, "%.3f"
|
|
entry = wallFuelAmount, @@GAUGE_NAME_FUEL_WALL_AMOUNT@@, float, "%.3f"
|
|
|
|
entry = baroCorrection, @@GAUGE_NAME_FUEL_BARO_CORR@@,float,"%.3f"
|
|
entry = iatCorrection, @@GAUGE_NAME_FUEL_IAT_CORR@@, float, "%.3f"
|
|
entry = cltCorrection, @@GAUGE_NAME_FUEL_CLT_CORR@@, float,"%.3f"
|
|
|
|
entry = sparkDwellValue, @@GAUGE_COIL_DWELL_TIME@@, float,"%.3f"
|
|
entry = vvtPosition, @@GAUGE_NAME_VVT@@, float,"%.2f"
|
|
entry = injectionOffset, "injOffset" , float, "%.2F"
|
|
|
|
; is there a way to log parameter? entry = debugMode, "debugMode",int,"%d"
|
|
entry = debugFloatField1, {bitStringValue( debugFieldF1List, debugMode )},float,"%.4f", { !enableLogDebugChannels }
|
|
entry = debugFloatField2, {bitStringValue( debugFieldF2List, debugMode )},float,"%.4f", { !enableLogDebugChannels }
|
|
entry = debugFloatField3, {bitStringValue( debugFieldF3List, debugMode )},float,"%.4f", { !enableLogDebugChannels }
|
|
entry = debugFloatField4, {bitStringValue( debugFieldF4List, debugMode )},float,"%.4f", { !enableLogDebugChannels }
|
|
entry = debugFloatField5, {bitStringValue( debugFieldF5List, debugMode )},float,"%.4f", { !enableLogDebugChannels }
|
|
entry = debugFloatField6, {bitStringValue( debugFieldF6List, debugMode )},float,"%.4f", { !enableLogDebugChannels }
|
|
entry = debugFloatField7, {bitStringValue( debugFieldF7List, debugMode )},float,"%.4f", { !enableLogDebugChannels }
|
|
entry = debugIntField1, {bitStringValue( debugFieldI1List, debugMode )},int,"%d", { !enableLogDebugChannels }
|
|
entry = debugIntField2, {bitStringValue( debugFieldI2List, debugMode )},int,"%d", { !enableLogDebugChannels }
|
|
entry = debugIntField3, {bitStringValue( debugFieldI3List, debugMode )},int,"%d", { !enableLogDebugChannels }
|
|
entry = debugIntField4, {bitStringValue( debugFieldI4List, debugMode )},int,"%d", { !enableLogDebugChannels }
|
|
entry = debugIntField5, {bitStringValue( debugFieldI5List, debugMode )},int,"%d", { !enableLogDebugChannels }
|
|
|
|
|
|
entry = engineMakeCodeNameCrc16, "Engine CRC16",int,"%d"
|
|
entry = tuneCrc16, "Tune CRC16",int,"%d"
|
|
|
|
entry = engineMode, "Engine Mode",int,"%d"
|
|
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 }
|
|
entry = internalMcuTemperature, @@GAUGE_NAME_CPU_TEMP@@,float,"%.2f"
|
|
|
|
entry = tCharge, "tCharge",float,"%.3f"
|
|
|
|
entry = clutchUpState, @@INDICATOR_NAME_CLUTCH_UP@@,int,"%d"
|
|
entry = clutchDownState, @@INDICATOR_NAME_CLUTCH_DOWN@@,int,"%d"
|
|
entry = brakePedalIndicator, @@INDICATOR_NAME_BRAKE_DOWN@@,int,"%d"
|
|
entry = acSwitchState, @@INDICATOR_NAME_AC_SWITCH@@,int,"%d"
|
|
entry = ind_fan, "radiator fan",int,"%d"
|
|
|
|
; Electronic throttle body
|
|
entry = etb1Error, "ETB Error", float, "%.3f"
|
|
entry = etb1DutyCycle, @@GAUGE_NAME_ETB_DUTY@@, float, "%.3f"
|
|
entry = etbTarget, "ETB Target", float, "%.3f"
|
|
|
|
; Transmission
|
|
entry = tcuDesiredGear, "Desired Gear", int, "%d"
|
|
entry = tcuCurrentGear, "Current Gear", int, "%d"
|
|
|
|
entry = knock1, "Knock 1", int, "%d"
|
|
entry = knock2, "Knock 2", int, "%d"
|
|
entry = knock3, "Knock 3", int, "%d"
|
|
entry = knock4, "Knock 4", int, "%d"
|
|
entry = knock5, "Knock 5", int, "%d"
|
|
entry = knock6, "Knock 6", int, "%d"
|
|
entry = knock7, "Knock 7", int, "%d"
|
|
entry = knock8, "Knock 8", int, "%d"
|
|
|
|
entry = VssAcceleration, "Accel", float, "%.3f"
|
|
|
|
; tpsADC = U16, "ADC",
|
|
; alignmet = U16, "al",
|
|
; atmPres = F32, "pres",
|
|
; crankingFuel = F32, "ms",
|
|
; tCharge = F32, "T",
|
|
; sparkDwell = F32, "MAP",
|
|
; warmUpEnrich = F32, "%",
|
|
|
|
[Menu]
|
|
|
|
menuDialog = main
|
|
; see #1653
|
|
; menu = "Data Logging"
|
|
; subMenu = std_ms3SdConsole, "Browse / Import SD Card"
|
|
|
|
menu = "&Base &Engine"
|
|
subMenu = engineChars, "Base engine"
|
|
subMenu = triggerConfiguration, "Trigger"
|
|
subMenu = triggerConfiguration_IO, "Advanced Trigger"
|
|
subMenu = std_separator
|
|
subMenu = energySystems, "Battery and alternator"
|
|
subMenu = std_separator
|
|
|
|
# Digital outputs
|
|
subMenu = mainRelayDialog, "Main relay"
|
|
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 = injectorConfig, "Injection configuration"
|
|
subMenu = injectionSettings, "Injection hardware", 0, {isInjectionEnabled == 1}
|
|
subMenu = std_separator
|
|
|
|
# Air mass model
|
|
subMenu = veTableDialog, "VE", 0, {isInjectionEnabled == 1}
|
|
subMenu = tChargeSettings, "Charge temperature estimation", 0, {isInjectionEnabled == 1}
|
|
subMenu = baroCorrTbl, "Barometric pressure correction", 0, {isInjectionEnabled == 1 && fuelAlgorithm == LM_SPEED_DENSITY}
|
|
subMenu = std_separator
|
|
|
|
# Fuel model
|
|
#if LAMBDA
|
|
subMenu = lambdaTableTbl, "Target lambda", 0, {isInjectionEnabled == 1}
|
|
#else
|
|
subMenu = afrTableTbl, "Target AFR", 0, {isInjectionEnabled == 1}
|
|
#endif
|
|
subMenu = cltFuelCorrCurve, "CLT multiplier", 0, {isInjectionEnabled == 1}
|
|
subMenu = iatFuelCorrCurve, "IAT multiplier", 0, {isInjectionEnabled == 1}
|
|
subMenu = fuelClosedLoopDialog, "Closed loop fuel correction", 0, {isInjectionEnabled == 1}
|
|
subMenu = coastingFuelCutControl, "Deceleration fuel cutoff (DFCO)", 0, {isInjectionEnabled == 1}
|
|
subMenu = std_separator
|
|
|
|
# Injector model
|
|
subMenu = injPhaseTableTbl, "Injection phase", 0, {isInjectionEnabled == 1}
|
|
subMenu = std_separator
|
|
|
|
# Accel enrichment
|
|
subMenu = AccelEnrich, "Acceleration enrichment", 0, {isInjectionEnabled == 1}
|
|
subMenu = tpsTpsAccelTbl, "TPS/TPS acceleration extra fuel", 0, {isInjectionEnabled == 1}
|
|
subMenu = mapAccelTaper, "Engine load AE taper", 0, {isInjectionEnabled == 1}
|
|
|
|
|
|
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}
|
|
subMenu = std_separator
|
|
|
|
# corrections
|
|
subMenu = cltTimingCorrCurve, "CLT correction", 0, {isIgnitionEnabled == 1}
|
|
subMenu = ignitionIatCorrTableTbl, "IAT correction", 0, {isIgnitionEnabled == 1}
|
|
|
|
menu = "&Cranking"
|
|
subMenu = crankingDialog, "Cranking settings"
|
|
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"
|
|
subMenu = cltIdleCurve, "CLT multiplier"
|
|
subMenu = std_separator
|
|
subMenu = idleTimingPidCorrDialog, "Closed-loop idle timing"
|
|
subMenu = iacPidMultTbl, "IAC PID Multiplier", 0, {idleMode == 0 && useIacPidMultTable == 1}
|
|
subMenu = iacCoastingCurve, "Coasting IAC Position for Auto-Idle", 0, {useIacTableForCoasting == 1}
|
|
subMenu = std_separator
|
|
subMenu = idleVeCurve, "VE", 0, {useSeparateVeForIdle == 1}
|
|
subMenu = idleAdvanceCurve, "Ignition advance", 0, {useSeparateAdvanceForIdle == 1}
|
|
|
|
menu = "&Advanced"
|
|
subMenu = boostDialog, "Boost Control"
|
|
subMenu = boostPidDialog, "Closed Loop Boost", { isBoostControlEnabled && boostType == 1 }
|
|
subMenu = boostEtbPid, "ETB-style Wastegate Actuator", { isBoostControlEnabled }
|
|
|
|
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"
|
|
subMenu = fsioOutputsDialog, "FSIO outputs"
|
|
subMenu = fsioTable1Tbl, "FSIO Table #1"
|
|
subMenu = fsioTable2Tbl, "FSIO Table #2"
|
|
subMenu = fsioTable3Tbl, "FSIO Table #3"
|
|
subMenu = fsioTable4Tbl, "FSIO Table #4"
|
|
subMenu = fsioFormulas, "FSIO Formulas"
|
|
subMenu = fsioCurve1, "FSIO Curve #1"
|
|
subMenu = fsioCurve2, "FSIO Curve #2"
|
|
subMenu = fsioCurve3, "FSIO Curve #3"
|
|
subMenu = fsioCurve4, "FSIO Curve #4"
|
|
|
|
subMenu = std_separator
|
|
subMenu = tcuControls, "Transmission Settings"
|
|
subMenu = tcuSolenoidTableTbl, "TCU Solenoids"
|
|
|
|
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 = fuelPressureSensor, "Fuel pressure"
|
|
subMenu = egtInputs, "EGT" @@if_ts_show_egt
|
|
subMenu = wastegateIdlePos, "Wastegate and idle position sensors"
|
|
|
|
menu = "&Controller"
|
|
subMenu = ecuStimulator, "ECU stimulator"
|
|
subMenu = datalogSettings, "Datalogging"
|
|
subMenu = ioTest, "Bench test"
|
|
subMenu = engineTypeDialog, "Popular vehicles"
|
|
subMenu = std_separator
|
|
|
|
subMenu = lcdScreen, "LCD" @@if_ts_show_lcd
|
|
subMenu = joystickPanel, "Joystick" @@if_ts_show_joystick
|
|
subMenu = spiFunction, "SPI"@@if_ts_show_spi
|
|
subMenu = monitoringSettings, "rusEFI console"
|
|
subMenu = std_separator
|
|
|
|
subMenu = canBusMain, "CAN Bus Communication"
|
|
subMenu = sdCard, "SD Card Logger" @@if_ts_show_sd_card
|
|
subMenu = connection, "Connection"
|
|
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 = widebandConfig, "rusEFI Wideband Controller", 0, { canReadEnabled && canWriteEnabled }
|
|
subMenu = cylinderBankSelect, "Cylinder Bank Selection"
|
|
subMenu = std_separator
|
|
|
|
subMenu = hipFunction, "HIP9011 settings (knock sensor) (alpha version)" @@if_ts_show_hip9011
|
|
subMenu = softwareKnock, "Software Knock" @@if_ts_show_software_knock
|
|
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
|
|
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
|
|
|
|
|
|
menu = "Help"
|
|
subMenu = helpGeneral, "rusEFI Info"
|
|
|
|
|
|
[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.
|
|
|
|
;
|
|
; see TS_IO_TEST_COMMAND in firmware code
|
|
;
|
|
|
|
cmd_test_spk1 = "@@TS_IO_TEST_COMMAND_char@@\x00\x12\x00\x01"
|
|
cmd_test_spk2 = "@@TS_IO_TEST_COMMAND_char@@\x00\x12\x00\x02"
|
|
cmd_test_spk3 = "@@TS_IO_TEST_COMMAND_char@@\x00\x12\x00\x03"
|
|
cmd_test_spk4 = "@@TS_IO_TEST_COMMAND_char@@\x00\x12\x00\x04"
|
|
cmd_test_spk5 = "@@TS_IO_TEST_COMMAND_char@@\x00\x12\x00\x05"
|
|
cmd_test_spk6 = "@@TS_IO_TEST_COMMAND_char@@\x00\x12\x00\x06"
|
|
cmd_test_spk7 = "@@TS_IO_TEST_COMMAND_char@@\x00\x12\x00\x07"
|
|
cmd_test_spk8 = "@@TS_IO_TEST_COMMAND_char@@\x00\x12\x00\x08"
|
|
cmd_test_spk9 = "@@TS_IO_TEST_COMMAND_char@@\x00\x12\x00\x09"
|
|
cmd_test_spk10 = "@@TS_IO_TEST_COMMAND_char@@\x00\x12\x00\x0a"
|
|
cmd_test_spk11 = "@@TS_IO_TEST_COMMAND_char@@\x00\x12\x00\x0b"
|
|
cmd_test_spk12 = "@@TS_IO_TEST_COMMAND_char@@\x00\x12\x00\x0c"
|
|
|
|
cmd_test_fsio1 = "@@TS_IO_TEST_COMMAND_char@@@@CMD_TS_FSIO_CATEGORY_16_hex@@\x00\x01"
|
|
cmd_test_fsio2 = "@@TS_IO_TEST_COMMAND_char@@@@CMD_TS_FSIO_CATEGORY_16_hex@@\x00\x02"
|
|
cmd_test_fsio3 = "@@TS_IO_TEST_COMMAND_char@@@@CMD_TS_FSIO_CATEGORY_16_hex@@\x00\x03"
|
|
cmd_test_fsio4 = "@@TS_IO_TEST_COMMAND_char@@@@CMD_TS_FSIO_CATEGORY_16_hex@@\x00\x04"
|
|
cmd_test_fsio5 = "@@TS_IO_TEST_COMMAND_char@@@@CMD_TS_FSIO_CATEGORY_16_hex@@\x00\x05"
|
|
cmd_test_fsio6 = "@@TS_IO_TEST_COMMAND_char@@@@CMD_TS_FSIO_CATEGORY_16_hex@@\x00\x06"
|
|
cmd_test_fsio7 = "@@TS_IO_TEST_COMMAND_char@@@@CMD_TS_FSIO_CATEGORY_16_hex@@\x00\x07"
|
|
cmd_test_fsio8 = "@@TS_IO_TEST_COMMAND_char@@@@CMD_TS_FSIO_CATEGORY_16_hex@@\x00\x08"
|
|
cmd_test_fsio9 = "@@TS_IO_TEST_COMMAND_char@@@@CMD_TS_FSIO_CATEGORY_16_hex@@\x00\x09"
|
|
cmd_test_fsio10 = "@@TS_IO_TEST_COMMAND_char@@@@CMD_TS_FSIO_CATEGORY_16_hex@@\x00\x0a"
|
|
cmd_test_fsio11 = "@@TS_IO_TEST_COMMAND_char@@@@CMD_TS_FSIO_CATEGORY_16_hex@@\x00\x0b"
|
|
cmd_test_fsio12 = "@@TS_IO_TEST_COMMAND_char@@@@CMD_TS_FSIO_CATEGORY_16_hex@@\x00\x0c"
|
|
cmd_test_fsio13 = "@@TS_IO_TEST_COMMAND_char@@@@CMD_TS_FSIO_CATEGORY_16_hex@@\x00\x0d"
|
|
cmd_test_fsio14 = "@@TS_IO_TEST_COMMAND_char@@@@CMD_TS_FSIO_CATEGORY_16_hex@@\x00\x0e"
|
|
cmd_test_fsio15 = "@@TS_IO_TEST_COMMAND_char@@@@CMD_TS_FSIO_CATEGORY_16_hex@@\x00\x0f"
|
|
cmd_test_fsio16 = "@@TS_IO_TEST_COMMAND_char@@@@CMD_TS_FSIO_CATEGORY_16_hex@@\x00\x10"
|
|
|
|
|
|
cmd_test_inj1 = "@@TS_IO_TEST_COMMAND_char@@@@CMD_TS_INJECTOR_CATEGORY_16_hex@@\x00\x01"
|
|
cmd_test_inj2 = "@@TS_IO_TEST_COMMAND_char@@@@CMD_TS_INJECTOR_CATEGORY_16_hex@@\x00\x02"
|
|
cmd_test_inj3 = "@@TS_IO_TEST_COMMAND_char@@\x00\x13\x00\x03"
|
|
cmd_test_inj4 = "@@TS_IO_TEST_COMMAND_char@@\x00\x13\x00\x04"
|
|
cmd_test_inj5 = "@@TS_IO_TEST_COMMAND_char@@\x00\x13\x00\x05"
|
|
cmd_test_inj6 = "@@TS_IO_TEST_COMMAND_char@@\x00\x13\x00\x06"
|
|
cmd_test_inj7 = "@@TS_IO_TEST_COMMAND_char@@\x00\x13\x00\x07"
|
|
cmd_test_inj8 = "@@TS_IO_TEST_COMMAND_char@@\x00\x13\x00\x08"
|
|
cmd_test_inj9 = "@@TS_IO_TEST_COMMAND_char@@\x00\x13\x00\x09"
|
|
cmd_test_inj10 = "@@TS_IO_TEST_COMMAND_char@@\x00\x13\x00\x0a"
|
|
cmd_test_inj11 = "@@TS_IO_TEST_COMMAND_char@@\x00\x13\x00\x0b"
|
|
cmd_test_inj12 = "@@TS_IO_TEST_COMMAND_char@@\x00\x13\x00\x0c"
|
|
|
|
|
|
cmd_test_main_relay = "@@TS_IO_TEST_COMMAND_char@@@@CMD_TS_BENCH_CATEGORY_16_hex@@@@CMD_TS_BENCH_MAIN_RELAY_16_hex@@"
|
|
cmd_test_fuel_pump = "@@TS_IO_TEST_COMMAND_char@@@@CMD_TS_BENCH_CATEGORY_16_hex@@@@CMD_TS_BENCH_FUEL_PUMP_16_hex@@"
|
|
cmd_test_starter_relay = "@@TS_IO_TEST_COMMAND_char@@@@CMD_TS_BENCH_CATEGORY_16_hex@@@@CMD_TS_BENCH_STARTER_ENABLE_RELAY_16_hex@@"
|
|
cmd_test_starter_disable_relay = "@@TS_IO_TEST_COMMAND_char@@@@CMD_TS_BENCH_CATEGORY_16_hex@@@@CMD_TS_BENCH_STARTER_DISABLE_RELAY_16_hex@@"
|
|
cmd_test_ac_relay = "@@TS_IO_TEST_COMMAND_char@@@@CMD_TS_BENCH_CATEGORY_16_hex@@@@CMD_TS_BENCH_AC_COMPRESSOR_RELAY_16_hex@@"
|
|
cmd_test_radiator_fan = "@@TS_IO_TEST_COMMAND_char@@@@CMD_TS_BENCH_CATEGORY_16_hex@@@@CMD_TS_BENCH_FAN_RELAY_16_hex@@"
|
|
cmd_test_check_engine_light = "@@TS_IO_TEST_COMMAND_char@@@@CMD_TS_BENCH_CATEGORY_16_hex@@@@CMD_TS_BENCH_CHECK_ENGINE_LIGHT_16_hex@@"
|
|
cmd_test_idle_valve = "@@TS_IO_TEST_COMMAND_char@@@@CMD_TS_BENCH_CATEGORY_16_hex@@@@CMD_TS_BENCH_IDLE_VALVE_16_hex@@"
|
|
cmd_test_hpfp_valve = "@@TS_IO_TEST_COMMAND_char@@@@CMD_TS_BENCH_CATEGORY_16_hex@@@@CMD_TS_BENCH_HPFP_VALVE_16_hex@@"
|
|
|
|
|
|
cmd_calibrate_tps_1_closed = "@@TS_IO_TEST_COMMAND_char@@\x00\x14\x00\x02"
|
|
cmd_calibrate_tps_1_wot = "@@TS_IO_TEST_COMMAND_char@@\x00\x14\x00\x03"
|
|
cmd_calibrate_tps_2_closed = "@@TS_IO_TEST_COMMAND_char@@\x00\x14\x00\x04"
|
|
cmd_calibrate_tps_2_wot = "@@TS_IO_TEST_COMMAND_char@@\x00\x14\x00\x05"
|
|
cmd_calibrate_pedal_up = "@@TS_IO_TEST_COMMAND_char@@\x00\x14\x00\x06"
|
|
cmd_calibrate_pedal_down = "@@TS_IO_TEST_COMMAND_char@@\x00\x14\x00\x07"
|
|
cmd_tle8888_init = "@@TS_IO_TEST_COMMAND_char@@\x00\x14\x00\x08"
|
|
cmd_write_config = "@@TS_IO_TEST_COMMAND_char@@\x00\x14\x00\x0A"
|
|
cmd_etb_autotune = "@@TS_IO_TEST_COMMAND_char@@\x00\x14\x00\x0C"
|
|
cmd_enable_self_stim = "@@TS_IO_TEST_COMMAND_char@@\x00\x14\x00\x0D"
|
|
cmb_etb_auto_calibrate = "@@TS_IO_TEST_COMMAND_char@@\x00\x14\x00\x0E"
|
|
cmd_disable_self_stim = "@@TS_IO_TEST_COMMAND_char@@\x00\x14\x00\x0F"
|
|
cmd_etb_autotune_stop = "@@TS_IO_TEST_COMMAND_char@@\x00\x14\x00\x10"
|
|
cmb_etb_auto_calibrate_2 = "@@TS_IO_TEST_COMMAND_char@@\x00\x14\x00\x11"
|
|
cmd_wideband_firmare_update = "@@TS_IO_TEST_COMMAND_char@@\x00\x14\x00\x12"
|
|
|
|
cmd_cj125_calibrate = "@@TS_IO_TEST_COMMAND_char@@\x00\x18\x00\x00"
|
|
cmd_call_from_pit = "@@TS_IO_TEST_COMMAND_char@@\x00\x20\x34\x56"
|
|
cmd_stop_engine = "@@TS_IO_TEST_COMMAND_char@@\x00\x79\x00\x00"
|
|
|
|
; reboot ECU
|
|
cmd_reset_controller = "@@TS_IO_TEST_COMMAND_char@@\x00\xbb\x00\x00"
|
|
; jump to DFU mode
|
|
cmd_dfu = "@@TS_IO_TEST_COMMAND_char@@\x00\xba\x00\x00"
|
|
|
|
; See 'executeTSCommand' in firmware source code
|
|
|
|
|
|
; MRE_MIATA_NB2_MAP = 11
|
|
cmd_set_engine_type_microRusEFI_Miata_NB2_MAP = "@@TS_IO_TEST_COMMAND_char@@\x00\x30@@ET_MRE_MIATA_NB2_MAP_16_hex@@"
|
|
|
|
cmd_set_engine_type_microRusEFI_VW_B6 = "@@TS_IO_TEST_COMMAND_char@@\x00\x30@@ET_VW_B6_16_hex@@"
|
|
cmd_set_engine_type_microRusEFI_MRE_BODY_CONTROL = "@@TS_IO_TEST_COMMAND_char@@\x00\x30@@ET_MRE_BODY_CONTROL_16_hex@@"
|
|
|
|
|
|
; MRE_MIATA_NA6 12
|
|
cmd_set_engine_type_microRusEFI_Miata_NA6_VAF = "@@TS_IO_TEST_COMMAND_char@@\x00\x30@@ET_MRE_MIATA_NA6_VAF_16_hex@@"
|
|
|
|
cmd_set_engine_type_microRusEFI_Miata_NA6_MAP = "@@TS_IO_TEST_COMMAND_char@@\x00\x30@@ET_MRE_MIATA_NA6_MAP_16_hex@@"
|
|
|
|
cmd_set_engine_type_microRusEFI_Miata_94_MAP = "@@TS_IO_TEST_COMMAND_char@@\x00\x30@@ET_MRE_MIATA_94_MAP_16_hex@@"
|
|
|
|
|
|
; MRE_MIATA_NB2_MAF = 15
|
|
cmd_set_engine_type_microRusEFI_Miata_NB2_MAF = "@@TS_IO_TEST_COMMAND_char@@\x00\x30@@ET_MRE_MIATA_NB2_MAF_16_hex@@"
|
|
|
|
cmd_set_engine_type_ET_MRE_SUBARU_EJ18 = "@@TS_IO_TEST_COMMAND_char@@\x00\x30@@ET_MRE_SUBARU_EJ18_16_hex@@"
|
|
|
|
cmd_set_engine_type_microRusEFI_Defaults = "@@TS_IO_TEST_COMMAND_char@@\x00\x30@@ET_MRE_DEFAULTS_16_hex@@"
|
|
cmd_set_engine_type_ET_MRE_M111 = "@@TS_IO_TEST_COMMAND_char@@\x00\x30@@ET_MRE_M111_16_hex@@"
|
|
|
|
; MIATA_NA6_MAP = 41
|
|
cmd_set_engine_type_Frankenso_Miata_NA6_MAP = "@@TS_IO_TEST_COMMAND_char@@\x00\x30@@ET_FRANKENSO_MIATA_NA6_16_hex@@"
|
|
; MIATA_NA6_VAF = 57
|
|
cmd_set_engine_type_Frankenso_Miata_NA6_VAF = "@@TS_IO_TEST_COMMAND_char@@\x00\x30@@ET_FRANKENSO_MIATA_NA6_VAF_16_hex@@"
|
|
; MAZDA_MIATA_2003 = 47
|
|
cmd_set_engine_type_Frankenso_Miata_NB2 = "@@TS_IO_TEST_COMMAND_char@@\x00\x30@@ET_FRANKENSO_MIATA_NB2_16_hex@@"
|
|
|
|
cmd_set_engine_type_Proteus_M73 = "@@TS_IO_TEST_COMMAND_char@@\x00\x30@@ET_PROTEUS_BMW_M73_16_hex@@"
|
|
cmd_set_engine_type_ET_PROTEUS_MIATA_NB2 = "@@TS_IO_TEST_COMMAND_char@@\x00\x30@@ET_PROTEUS_MIATA_NB2_16_hex@@"
|
|
cmd_set_engine_type_Proteus_Miata_TCU = "@@TS_IO_TEST_COMMAND_char@@\x00\x30@@ET_MIATA_TCU_PROTEUS_16_hex@@"
|
|
|
|
|
|
; ETB_BENCH_ENGINE = 58
|
|
cmd_set_engine_type_etb_test = "@@TS_IO_TEST_COMMAND_char@@\x00\x30\x00\x3A"
|
|
; ETB_BENCH_ENGINE = 59
|
|
cmd_set_engine_type_8888_test = "@@TS_IO_TEST_COMMAND_char@@\x00\x30\x00\x3B"
|
|
cmd_set_engine_type_default = "@@TS_IO_TEST_COMMAND_char@@\x00\x31\x00\x00"
|
|
|
|
[UserDefined]
|
|
dialog = tChargeRpmTpsSettings, "RPM+TPS Mode Settings"
|
|
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
|
|
|
|
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"
|
|
field = "Enabled", isInjectionEnabled
|
|
field = "Mode", injectionMode, {isInjectionEnabled == 1}
|
|
field = "#Batch injection with individual wiring"
|
|
field = "Two wire batch emulation", twoWireBatchInjection, {isInjectionEnabled == 1 && injectionMode == 2}
|
|
field = "Override VE table load axis", veOverrideMode, { isInjectionEnabled }
|
|
field = "Override AFR table load axis", afrOverrideMode, { isInjectionEnabled }
|
|
|
|
dialog = ignitionOutputs, "Ignition Outputs"
|
|
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@@
|
|
|
|
dialog = ignitionBasic, ""
|
|
field = "Enabled", isIgnitionEnabled
|
|
field = "Mode", ignitionMode, {isIgnitionEnabled == 1}
|
|
field = "Two wire wasted", twoWireBatchIgnition, {isIgnitionEnabled == 1 && ignitionMode == 2}
|
|
field = "Override ignition table load axis", ignOverrideMode, {isIgnitionEnabled}
|
|
field = "#Use fixed timing while validating with a timing gun"
|
|
field = "Timing Mode", timingMode, {isIgnitionEnabled == 1}
|
|
field = "Fixed Timing", fixedTiming, {isIgnitionEnabled == 1 && timingMode == 1}
|
|
|
|
dialog = ignitionSettings, "", xAxis
|
|
panel = ignitionBasic
|
|
panel = ignitionOutputs
|
|
|
|
dialog = baseEngineConfig, "Engine Configuration"
|
|
; field = "Engine Preset", engineType
|
|
; this field is useful for rusEFI online catalog
|
|
field = "Engine Make", engineMake
|
|
; this field is useful for rusEFI online catalog
|
|
field = "Manufacturer Engine Code", engineCode
|
|
; this field is useful for rusEFI online catalog
|
|
field = "Vehicle Name", vehicleName
|
|
field = "Number of Cylinders", cylindersCount
|
|
field = "Engine Displacement", displacement
|
|
field = "Firing Order", firingOrder
|
|
field = "Vehicle Weight", vehicleWeight
|
|
; this field is useful for rusEFI online catalog
|
|
field = "Compression Ratio", compressionRatio
|
|
; this field is useful for rusEFI online catalog
|
|
field = "Forced Induction?", isForcedInduction
|
|
|
|
; Engine->Trigger configuration
|
|
dialog = triggerConfiguration_settings, "Trigger Pattern"
|
|
field = "!https://rusefi.com/s/trigger"
|
|
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
|
|
field = "#Please use '4 stroke with cam' only if primary trigger sensor is actually on cam"
|
|
field = "#Separate cam input not part of Trigger Pattern does not count here"
|
|
field = "With VR sensors only rising edge has reliable position"
|
|
field = "use only rising edge", useOnlyRisingEdgeForTrigger
|
|
field = "!Reminder that 4-stroke cycle is 720 degrees"
|
|
field = "!For well-known trigger types use '0' trigger angle offset"
|
|
field = "Trigger Angle Advance", globalTriggerAngleOffset
|
|
field = "Display only interesting", displayLogicLevelsInEngineSniffer
|
|
|
|
dialog = triggerConfiguration_IO, "Advanced Trigger"
|
|
field = "!https://rusefi.com/s/vvt"
|
|
field = "VVT mode", vvtMode, {trigger_type != 80}
|
|
field = "VVT use rise front", vvtCamSensorUseRise, {trigger_type != 80}
|
|
field = "VVT position display offset", vvtOffset
|
|
field = "print verbose VVT sync details to console",verboseVVTDecoding
|
|
field = "Do not print messages in case of sync error", silentTriggerError
|
|
field = "Enable noise filtering", useNoiselessTriggerDecoder, {trigger_type == @@TT_TT_TOOTHED_WHEEL_60_2@@ || trigger_type == @@TT_TT_TOOTHED_WHEEL_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 != @@TT_TT_TOOTHED_WHEEL@@ && trigger_type != @@TT_TT_TOOTHED_WHEEL_60_2@@ && trigger_type != @@TT_TT_TOOTHED_WHEEL_36_1@@ && trigger_type != @@TT_TT_ONE@@ && trigger_type != @@TT_TT_60_2_VW@@ && trigger_type != @@TT_TT_TOOTHED_WHEEL_36_2@@}
|
|
field = "Invert Secondary", invertSecondaryTriggerSignal, { trigger_type != @@TT_TT_TOOTHED_WHEEL@@ && trigger_type != @@TT_TT_TOOTHED_WHEEL_60_2@@ && trigger_type != @@TT_TT_TOOTHED_WHEEL_36_1@@ && trigger_type != @@TT_TT_ONE@@ && trigger_type != @@TT_TT_60_2_VW@@ && trigger_type != @@TT_TT_TOOTHED_WHEEL_36_2@@}
|
|
field = "Cam Sync/VVT input", camInputs1
|
|
field = "Invert Cam/VVT", invertCamVVTSignal
|
|
panel = triggerInputComparator @@if_ts_show_trigger_comparator
|
|
|
|
|
|
dialog = triggerConfiguration
|
|
panel = triggerConfiguration_settings, North, { consumeObdSensors == 0 }
|
|
panel = triggerInputs, South, { consumeObdSensors == 0 }
|
|
|
|
; Engine->Injection Settings
|
|
dialog = injChars, "Injector Settings", yAxis
|
|
field = "Injector Flow", injector_flow, {isInjectionEnabled == 1}
|
|
field = "Fuel rail pressure sensor", injectorPressureType, { isInjectionEnabled && (highPressureFuel_hwChannel || lowPressureFuel_hwChannel) }
|
|
field = "Injector flow compensation mode", injectorCompensationMode, { isInjectionEnabled }
|
|
field = "Injector reference pressure", fuelReferencePressure, { isInjectionEnabled && injectorCompensationMode != 0 }
|
|
|
|
dialog = fuelParams, "Fuel characteristics", yAxis
|
|
field = "Stoichiometric ratio", stoichRatioPrimary, {isInjectionEnabled == 1}
|
|
|
|
dialog = injectorOutputSettings, "Injector Outputs", yAxis
|
|
field = "Use only first half of pins for batch mode"
|
|
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 != @@IM_IM_SINGLE_POINT@@ && cylindersCount > 2}
|
|
field = "Injection Pin 4", injectionPins4, {isInjectionEnabled == 1 && injectionMode != 3 && cylindersCount > 3}
|
|
field = "Injection Pin 5 ", injectionPins5, {isInjectionEnabled == 1 && injectionMode != @@IM_IM_SINGLE_POINT@@ && cylindersCount > 4}
|
|
field = "Injection Pin 6 ", injectionPins6, {isInjectionEnabled == 1 && injectionMode != @@IM_IM_SINGLE_POINT@@ && 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}
|
|
field = ""
|
|
field = "injection Pin Mode", injectionPinMode, {isInjectionEnabled == 1}
|
|
|
|
dialog = cylinderBankSelect, "Cylinder Banks", yAxis
|
|
field = "Cylinder 1", cylinderBankSelect1, {isInjectionEnabled == 1}
|
|
field = "Cylinder 2", cylinderBankSelect2, {isInjectionEnabled == 1 && injectionMode != @@IM_IM_SINGLE_POINT@@ && cylindersCount > 1}
|
|
field = "Cylinder 3", cylinderBankSelect3, {isInjectionEnabled == 1 && injectionMode != @@IM_IM_SINGLE_POINT@@ && cylindersCount > 2}
|
|
field = "Cylinder 4", cylinderBankSelect4, {isInjectionEnabled == 1 && injectionMode != 3 && cylindersCount > 3}
|
|
field = "Cylinder 5 ", cylinderBankSelect5, {isInjectionEnabled == 1 && injectionMode != 3 && cylindersCount > 4}
|
|
field = "Cylinder 6 ", cylinderBankSelect6, {isInjectionEnabled == 1 && injectionMode != 3 && cylindersCount > 5}
|
|
field = "Cylinder 7 ", cylinderBankSelect7, {isInjectionEnabled == 1 && injectionMode != 3 && cylindersCount > 6}
|
|
field = "Cylinder 8 ", cylinderBankSelect8, {isInjectionEnabled == 1 && injectionMode != 3 && cylindersCount > 7}
|
|
field = "Cylinder 9 ", cylinderBankSelect9, {isInjectionEnabled == 1 && cylindersCount > 8}
|
|
field = "Cylinder 10 ", cylinderBankSelect10, {isInjectionEnabled == 1 && cylindersCount > 9}
|
|
field = "Cylinder 11 ", cylinderBankSelect11, {isInjectionEnabled == 1 && cylindersCount > 10}
|
|
field = "Cylinder 12 ", cylinderBankSelect12, {isInjectionEnabled == 1 && cylindersCount > 11}
|
|
|
|
dialog = testFsio, "FSIO Test"
|
|
commandButton = "FSIO#1", cmd_test_fsio1
|
|
commandButton = "FSIO#2", cmd_test_fsio2
|
|
commandButton = "FSIO#3", cmd_test_fsio3
|
|
commandButton = "FSIO#4", cmd_test_fsio4
|
|
commandButton = "FSIO#5", cmd_test_fsio5
|
|
commandButton = "FSIO#6", cmd_test_fsio6
|
|
commandButton = "FSIO#7", cmd_test_fsio7
|
|
commandButton = "FSIO#8", cmd_test_fsio8
|
|
commandButton = "FSIO#9", cmd_test_fsio9
|
|
commandButton = "FSIO#10", cmd_test_fsio10
|
|
commandButton = "FSIO#11", cmd_test_fsio11
|
|
commandButton = "FSIO#12", cmd_test_fsio12
|
|
commandButton = "FSIO#13", cmd_test_fsio13
|
|
commandButton = "FSIO#14", cmd_test_fsio14
|
|
commandButton = "FSIO#15", cmd_test_fsio15
|
|
commandButton = "FSIO#16", cmd_test_fsio16
|
|
|
|
dialog = testInjectors, "Injector Test"
|
|
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
|
|
commandButton = "Injector #9", cmd_test_inj9
|
|
commandButton = "Injector #10", cmd_test_inj10
|
|
commandButton = "Injector #11", cmd_test_inj11
|
|
commandButton = "Injector #12", cmd_test_inj12
|
|
|
|
dialog = injectionSettingsEast, "", yAxis
|
|
panel = testInjectors
|
|
field = ""
|
|
|
|
dialog = injectionSettingsWest, "", yAxis
|
|
panel = injectorOutputSettings
|
|
field = ""
|
|
|
|
dialog = injectionSettings, "", xAxis
|
|
panel = injectionSettingsWest
|
|
panel = injectionSettingsEast
|
|
|
|
dialog = injectorConfig, "", yAxis
|
|
topicHelp = "fuelHelp"
|
|
panel = baseInjection
|
|
panel = injChars
|
|
panel = fuelParams
|
|
panel = injectorsDeadTime
|
|
|
|
dialog = ignitionCylExtra, "Ignition Cylinder Extra Timing"
|
|
field = "Extra cyl #1", timing_offset_cylinder1
|
|
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
|
|
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"
|
|
field = ""
|
|
field = "Lowest temperature", auxTempSensor1_tempC_1, {auxTempSensor1_adcChannel != @@ADC_CHANNEL_NONE@@}
|
|
field = "Resistance @ LT", auxTempSensor1_resistance_1, {auxTempSensor1_adcChannel != @@ADC_CHANNEL_NONE@@}
|
|
field = ""
|
|
field = "Middle temperature", auxTempSensor1_tempC_2, {auxTempSensor1_adcChannel != @@ADC_CHANNEL_NONE@@}
|
|
field = "Resistance @ MT", auxTempSensor1_resistance_2, {auxTempSensor1_adcChannel != @@ADC_CHANNEL_NONE@@}
|
|
field = ""
|
|
field = "Highest temperature", auxTempSensor1_tempC_3, {auxTempSensor1_adcChannel != @@ADC_CHANNEL_NONE@@}
|
|
field = "Resistance @ HT", auxTempSensor1_resistance_3, {auxTempSensor1_adcChannel != @@ADC_CHANNEL_NONE@@}
|
|
|
|
; 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"
|
|
field = ""
|
|
field = "Lowest temperature", auxTempSensor2_tempC_1, {auxTempSensor2_adcChannel != @@ADC_CHANNEL_NONE@@}
|
|
field = "Resistance @ LT", auxTempSensor2_resistance_1, {auxTempSensor2_adcChannel != @@ADC_CHANNEL_NONE@@}
|
|
field = ""
|
|
field = "Middle temperature", auxTempSensor2_tempC_2, {auxTempSensor2_adcChannel != @@ADC_CHANNEL_NONE@@}
|
|
field = "Resistance @ MT", auxTempSensor2_resistance_2, {auxTempSensor2_adcChannel != @@ADC_CHANNEL_NONE@@}
|
|
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"
|
|
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@@}
|
|
commandButton = "Auto Calibrate TPS 1", cmb_etb_auto_calibrate, {tps1_2AdcChannel != @@ADC_CHANNEL_NONE@@ && throttlePedalPositionAdcChannel != @@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@@}
|
|
commandButton = "Auto Calibrate TPS 2", cmb_etb_auto_calibrate_2, {tps2_2AdcChannel != @@ADC_CHANNEL_NONE@@ && throttlePedalPositionAdcChannel != @@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
|
|
field = "Accelerator position 2nd sensor", throttlePedalPositionSecondAdcChannel
|
|
field = "Up voltage" throttlePedalSecondaryUpVoltage
|
|
field = "Down (WOT) voltage", throttlePedalSecondaryWOTVoltage
|
|
|
|
dialog = pedalGauges
|
|
gauge = pedalPositionGauge
|
|
gauge = rawPpsPrimaryGauge
|
|
gauge = rawPpsSecondaryGauge
|
|
|
|
dialog = pedalSensor, "Accelerator pedal", border
|
|
panel = pedalSensorLeft, West
|
|
panel = pedalGauges, East
|
|
|
|
dialog = wastegatePosConfig, "Wastegate position sensor"
|
|
field = "Input pin", wastegatePositionSensor
|
|
field = "Min (fully closed, most boost)", wastegatePositionMin
|
|
field = "Max (fully open, least boost)", wastegatePositionMax
|
|
|
|
dialog = idlePosConfig, "Idle position sensor"
|
|
field = "Input pin", idlePositionSensor
|
|
field = "Min (valve closed, low idle)", idlePositionMin
|
|
field = "Max (valve open, high idle)", idlePositionMax
|
|
|
|
dialog = wastegateIdlePosLeft, ""
|
|
panel = wastegatePosConfig
|
|
panel = idlePosConfig
|
|
|
|
dialog = wastegateIdlePosGauges, ""
|
|
gauge = rawWastegatePositionGauge, West
|
|
gauge = wastegatePosGauge, East
|
|
gauge = rawIdlePositionSensorGauge
|
|
gauge = idlePosSensGauge
|
|
|
|
dialog = wastegateIdlePos, "", border
|
|
panel = wastegateIdlePosLeft, West
|
|
panel = wastegateIdlePosGauges, East
|
|
|
|
dialog = mc33Dialog, "Low-Z injector control (MC33816)"
|
|
field = "MC33816 cs", mc33816_cs
|
|
field = "MC33816 rstb", mc33816_rstb
|
|
field = "MC33816 flag0", mc33816_flag0
|
|
field = "MC33816 SPI Device", mc33972spiDevice
|
|
field = "HPFP Valve Pin", hpfpValvePin
|
|
field = "HPFP Valve Pin Mode", hpfpValvePinMode
|
|
field = tempHpfpStart, tempHpfpStart
|
|
field = tempHpfpDuration, tempHpfpDuration
|
|
|
|
field = "Boost voltage", mc33_hvolt
|
|
|
|
field = "Boost current target", mc33_i_boost
|
|
field = "Max boost time (timeout)", mc33_t_max_boost
|
|
field = "Boost -> Peak Bypass Time", mc33_t_peak_off
|
|
|
|
field = "Peak current target", mc33_i_peak
|
|
field = "Peak time", mc33_t_peak_tot
|
|
field = "Peak -> Hold Bypass Time", mc33_t_bypass
|
|
|
|
field = "Hold current target", mc33_i_hold
|
|
field = "mc33_t_hold_off ?????", mc33_t_hold_off
|
|
field = "Maximum injection duration", mc33_t_hold_tot
|
|
|
|
|
|
; Sensor Inputs
|
|
dialog = otherSensorInputs, "Other Sensor Inputs"
|
|
field = "Fuel level", fuelLevelSensor
|
|
field = "Clutch down switch", clutchDownPin
|
|
field = "Clutch down inverted", clutchDownPinMode
|
|
field = "Clutch up switch", clutchUpPin
|
|
field = "Clutch up inverted", clutchUpPinMode
|
|
field = "Throttle Up switch", throttlePedalUpPin
|
|
field = "Brake pedal switch", brakePedalPin
|
|
field = "A/C switch", acSwitch
|
|
field = "A/C switch mode", acSwitchMode
|
|
|
|
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
|
|
|
|
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
|
|
|
|
;
|
|
; 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"
|
|
field = "Throttle pedal Position Channel", throttlePedalPositionAdcChannel
|
|
field = "Throttle pedal Position #2", throttlePedalPositionSecondAdcChannel
|
|
field = "Primary input channel", triggerInputPins1
|
|
field = "Secondary channel", triggerInputPins2
|
|
field = "Cam Sync/VVT input", camInputs1
|
|
field = "CLT ADC input", clt_adcChannel
|
|
field = "IAT ADC input", iat_adcChannel
|
|
field = "vBatt ADC input", vbattAdcChannel
|
|
field = "TPS1 ADC input", tps1_1AdcChannel
|
|
field = "TPS2 ADC input", tps2_1AdcChannel
|
|
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
|
|
field = "Vehicle Speed Input pin", vehicleSpeedSensorInputPin
|
|
field = "clutchDownPin", clutchDownPin
|
|
field = "clutchUpPin", clutchUpPin
|
|
field = "brakePedalPin", brakePedalPin
|
|
field = "A/C Switch", acSwitch
|
|
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
|
|
field = hpfpValcePin, hpfpValvePin
|
|
|
|
dialog = allPins1_1
|
|
field = "trigger stimulator pin #1", triggerSimulatorPins1
|
|
field = "trigger stimulator pin #2", triggerSimulatorPins2
|
|
field = "trigger stimulator pin #2", triggerSimulatorPins3
|
|
field = "Warning Led", warningLedPin
|
|
field = "tle6240_cs", tle6240_cs
|
|
field = "tle6240 SPI", tle6240spiDevice
|
|
panel = joystickPanel
|
|
|
|
dialog = allPins1_2
|
|
field = "Tachometer output Pin", tachOutputPin
|
|
field = "O2 heater pin", o2heaterPin
|
|
field = "Idle Solenoid Pin", idle_solenoidPin
|
|
field = "Second Idle Solenoid Pin", secondSolenoidPin
|
|
field = "Idle Stepper Dir", idle_stepperDirectionPin
|
|
field = "Idle Stepper Step", idle_stepperStepPin
|
|
field = "Idle Stepper Enable", stepperEnablePin
|
|
field = "Fuel Pump Pin", fuelPumpPin
|
|
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
|
|
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
|
|
field = "MIL / Check Engine Pin", malfunctionIndicatorPin
|
|
field = "test557pin", test557pin
|
|
field = "Fan Pin", fanPin
|
|
field = "A/C Relay", acRelayPin
|
|
field = "Main Relay Pin", mainRelayPin
|
|
field = "Starter Relay Pin", starterRelayDisablePin
|
|
|
|
dialog = allPins2_1
|
|
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
|
|
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
|
|
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
|
|
|
|
dialog = allPins2_3
|
|
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
|
|
field = "FSIO ADC #1", fsioAdc1
|
|
field = "FSIO ADC #2", fsioAdc2
|
|
field = "FSIO ADC #3", fsioAdc3
|
|
field = "FSIO ADC #4", fsioAdc4
|
|
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
|
|
field = "hip9011CsPin", hip9011CsPin
|
|
field = "LIS302DLCsPin", LIS302DLCsPin
|
|
field = "MIL / Check Engine", malfunctionIndicatorPin
|
|
field = "Saab CDM knock", cdmInputPin
|
|
field = "DRV8860 CS", drv8860_cs
|
|
field = "DRV8860 CS Mode", drv8860_csPinMode
|
|
field = "DRV8860 MISO pin", drv8860_miso
|
|
field = "DRV8860 SPI", drv8860spiDevice
|
|
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
|
|
field = "AUX Serial TX", auxSerialTxPin
|
|
field = "AUX Serial RX", auxSerialRxPin
|
|
field = "External Knock", externalKnockSenseAdc
|
|
field = "Start/Stop Button", startStopButtonPin
|
|
field = "Upshift Pin", tcuUpshiftButtonPin
|
|
field = "Downshift Pin", tcuDownshiftButtonPin
|
|
|
|
dialog = allPins3_1_and_2, "All Pins 3/3", xAxis
|
|
panel = allPins3_1
|
|
panel = allPins3_2
|
|
|
|
dialog = allPins1_1_and_2, "", xAxis
|
|
panel = allPins1_1
|
|
panel = allPins1_2
|
|
|
|
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
|
|
|
|
|
|
; 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"
|
|
field = ""
|
|
field = "Lowest temperature", clt_tempC_1, {clt_adcChannel != @@ADC_CHANNEL_NONE@@}
|
|
field = "Resistance @ LT", clt_resistance_1, {clt_adcChannel != @@ADC_CHANNEL_NONE@@}
|
|
field = ""
|
|
field = "Middle temperature", clt_tempC_2, {clt_adcChannel != @@ADC_CHANNEL_NONE@@}
|
|
field = "Resistance @ MT", clt_resistance_2, {clt_adcChannel != @@ADC_CHANNEL_NONE@@}
|
|
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@@}
|
|
|
|
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"
|
|
field = ""
|
|
field = "Lowest temperature", iat_tempC_1, {iat_adcChannel != @@ADC_CHANNEL_NONE@@}
|
|
field = "Resistance @ LT", iat_resistance_1, {iat_adcChannel != @@ADC_CHANNEL_NONE@@}
|
|
field = ""
|
|
field = "Middle temperature", iat_tempC_2, {iat_adcChannel != @@ADC_CHANNEL_NONE@@}
|
|
field = "Resistance @ MT", iat_resistance_2, {iat_adcChannel != @@ADC_CHANNEL_NONE@@}
|
|
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@@}
|
|
|
|
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
|
|
|
|
dialog = fuelp_settings, "Fuel Pressure Sensor"
|
|
field = "Fuel low pressure ADC input", lowPressureFuel_hwChannel
|
|
field = "low voltage", lowPressureFuel_v1, {lowPressureFuel_hwChannel != @@ADC_CHANNEL_NONE@@}
|
|
field = "low pressure", lowPressureFuel_value1, {lowPressureFuel_hwChannel != @@ADC_CHANNEL_NONE@@}
|
|
field = "high voltage", lowPressureFuel_v2, {lowPressureFuel_hwChannel != @@ADC_CHANNEL_NONE@@}
|
|
field = "high pressure", lowPressureFuel_value2, {lowPressureFuel_hwChannel != @@ADC_CHANNEL_NONE@@}
|
|
|
|
field = "Fuel high pressure ADC input", highPressureFuel_hwChannel
|
|
field = "low voltage", highPressureFuel_v1, {highPressureFuel_hwChannel != @@ADC_CHANNEL_NONE@@}
|
|
field = "low pressure", highPressureFuel_value1, {highPressureFuel_hwChannel != @@ADC_CHANNEL_NONE@@}
|
|
field = "high voltage", highPressureFuel_v2, {highPressureFuel_hwChannel != @@ADC_CHANNEL_NONE@@}
|
|
field = "high pressure", highPressureFuel_value2, {highPressureFuel_hwChannel != @@ADC_CHANNEL_NONE@@}
|
|
|
|
dialog = fuelPressureGauges
|
|
gauge = lowFuelPressureGauge
|
|
gauge = rawLowFuelPressureGauge
|
|
gauge = highFuelPressureGauge
|
|
gauge = rawHighFuelPressureGauge
|
|
|
|
dialog = fuelPressureSensor, "", border
|
|
panel = fuelp_settings, West
|
|
panel = fuelPressureGauges, 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 }
|
|
|
|
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 != @@ADC_CHANNEL_NONE@@}
|
|
field = baroSensor_highValue, baroSensor_highValue, {baroSensor_hwChannel != @@ADC_CHANNEL_NONE@@}
|
|
field = baroSensor_type, baroSensor_type, {baroSensor_hwChannel != @@ADC_CHANNEL_NONE@@}
|
|
|
|
dialog = mapCurves, "MAP sampling", yAxis
|
|
field = "isMapAveragingEnabled", isMapAveragingEnabled
|
|
panel = map_samplingAngleCurve
|
|
panel = map_samplingWindowCurve
|
|
|
|
dialog = mafSettings, "MAF sensor", yAxis
|
|
field = "MAF ADC input", mafAdcChannel
|
|
|
|
; Sensors->EGO sensor
|
|
dialog = egoSettings_sensor, "EGO sensor"
|
|
field = "Type", afr_type
|
|
; todo: only use these values for custom!
|
|
field = "low voltage", afr_v1
|
|
field = "low value", afr_value1
|
|
field = "high voltage", afr_v2
|
|
field = "high value", afr_value2
|
|
field = "Correction", egoValueShift
|
|
|
|
dialog = egoSettings_IO, "EGO Sensor I/O"
|
|
field = "Input channel", afr_hwChannel
|
|
field = "Heater pin", o2heaterPin
|
|
|
|
dialog = egoSettings, "", yAxis
|
|
panel = egoSettings_IO
|
|
panel = egoSettings_sensor, {afr_hwChannel != @@ADC_CHANNEL_NONE@@ && enableAemXSeries == 0 && !auxSerialRxPin && !auxSerialTxPin}
|
|
field = "Enable AEM X-Series CANbus", enableAemXSeries, { canReadEnabled }
|
|
field = "Enable Innovate LC-2 Serial", enableInnovateLC2, { auxSerialRxPin && auxSerialTxPin }
|
|
|
|
; 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
|
|
dialog = idleSolenoid, "Solenoid"
|
|
field = "Idle Solenoid Pin Mode", idle_solenoidPinMode, !useStepperIdle
|
|
field = "Idle Solenoid Pin", idle_solenoidPin, !useStepperIdle
|
|
field = "Second Idle Solenoid Pin", secondSolenoidPin, { !useStepperIdle && isDoubleSolenoidIdle }
|
|
field = "Idle Solenoid Frequency", idle_solenoidFrequency, !useStepperIdle
|
|
|
|
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
|
|
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
|
|
|
|
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
|
|
|
|
dialog = idleStepper, "Stepper"
|
|
field = "Drive stepper with dual H bridges", useHbridges, useStepperIdle
|
|
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
|
|
panel = idleStepperHw, { useStepperIdle && !useHbridges }
|
|
panel = hbridgeHardware, { useStepperIdle && useHbridges }
|
|
|
|
dialog = idleHwType, "Idle Valve Hardware", border
|
|
panel = idleSolenoid, West
|
|
panel = idleStepper, East
|
|
|
|
dialog = idlehw, "", yAxis
|
|
field = "!ECU reboot needed to apply these settings"
|
|
field = "Use Stepper", useStepperIdle
|
|
field = "Double Solenoid Mode", isDoubleSolenoidIdle
|
|
field = "Use electronic throttle for idle", useETBforIdleControl, { throttlePedalPositionAdcChannel != @@ADC_CHANNEL_NONE@@ }
|
|
field = "Electronic throttle idle range", etbIdleThrottleRange, { useETBforIdleControl == 1 }
|
|
panel = idleHwType
|
|
|
|
dialog = idlePidSettings, "Closed Loop Idle"
|
|
field = "P-factor", idleRpmPid_pFactor
|
|
field = "I-factor", idleRpmPid_iFactor
|
|
field = "derivativeFilterLoss", idle_derivativeFilterLoss
|
|
field = "antiwindupFreq", idle_antiwindupFreq
|
|
field = "D-factor", idleRpmPid_dFactor
|
|
field = "Offset", idleRpmPid_offset
|
|
field = "A/C Offset extra", acIdleExtraOffset
|
|
field = "Min", idleRpmPid_minValue
|
|
field = "A/C Min extra", acIdleExtraMin
|
|
field = "Max", idleRpmPid_maxValue
|
|
field = "iTerm Min", idlerpmpid_iTermMin
|
|
field = "iTerm Max", idlerpmpid_iTermMax
|
|
field = "PID Extra for low RPM", pidExtraForLowRpm
|
|
field = idleIncrementalPidCic, idleIncrementalPidCic
|
|
field = "use Cic Pid", useCicPidForIdle
|
|
field = "Use IAC PID Multiplier Table", useIacPidMultTable
|
|
|
|
dialog = idleGating, "Idle Detection Thresholds"
|
|
field = "TPS threshold", idlePidDeactivationTpsThreshold
|
|
field = "RPM upper limit", idlePidRpmUpperLimit
|
|
field = "RPM dead zone", idlePidRpmDeadZone
|
|
|
|
dialog = idleExtra, "Extra Idle Features"
|
|
field = "Extra idle air if throttle pressed", iacByTpsTaper
|
|
field = "Use idle ignition table", useSeparateAdvanceForIdle
|
|
field = "Use idle VE table", useSeparateVeForIdle
|
|
field = "Use coasting idle table", useIacTableForCoasting, {idleMode == 0}
|
|
field = useInstantRpmForIdle, useInstantRpmForIdle
|
|
field = "Detailed status in console", isVerboseIAC
|
|
|
|
dialog = idleSettings, "", yAxis
|
|
field = "Idle control mode", idleMode
|
|
|
|
field = "! Solenoid idle control requires above zero RPM"
|
|
slider = "Open loop idle position", manIdlePosition, horizontal
|
|
field = ""
|
|
|
|
panel = idleGating, ""
|
|
panel = idlePidSettings, { idleMode == 0}
|
|
panel = idleExtra
|
|
|
|
dialog = idleTimingPidCorrDialog, "", yAxis
|
|
field = ""
|
|
field = "Enable closed loop idle ignition timing", useIdleTimingPidControl
|
|
field = ""
|
|
field = "#Gain is in degrees advance per rpm away from target"
|
|
field = "#A good starting point is 0.1 = 10 deg per 100 rpm"
|
|
field = "Proportional gain", idleTimingPid_pFactor, {useIdleTimingPidControl == 1}
|
|
field = "Derivative gain", idleTimingPid_dFactor, {useIdleTimingPidControl == 1}
|
|
field = ""
|
|
field = "Min adjustment (retard)", idleTimingPid_minValue, {useIdleTimingPidControl == 1}
|
|
field = "Max adjustment (advance)", idleTimingPid_maxValue, {useIdleTimingPidControl == 1}
|
|
field = ""
|
|
field = "#Use debug mode 'Timing' to view idle timing adjustment"
|
|
|
|
; Engine->Fan Settings
|
|
dialog = fanSetting, "Fan Settings"
|
|
field = "Pin", fanPin
|
|
field = "Pin mode", fanPinMode
|
|
field = "On temperature", fanOnTemperature
|
|
field = "Off temperature", fanOffTemperature
|
|
; this one has build-in FSIO logic
|
|
field = "A/C Relay", acRelayPin
|
|
field = "A/C Relay Mode", acRelayPinMode
|
|
|
|
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"
|
|
field = "Pin", starterRelayDisablePin
|
|
field = "Pin mode", starterRelayDisablePinMode
|
|
|
|
dialog = statusLeds, "Status LEDs"
|
|
field = "Running status LED", runningLedPin
|
|
field = "TS communication status LED", communicationLedPin
|
|
field = "Warning LED", warningLedPin
|
|
field = "Trigger error LED", triggerErrorPin
|
|
field = "Debug Trigger Sync", debugTriggerSync
|
|
|
|
; Engine->MIL Settings
|
|
dialog = malfunction, "Check Engine Settings"
|
|
field = "Pin", malfunctionIndicatorPin
|
|
field = "Pin mode", malfunctionIndicatorPinMode
|
|
field = "Warning Period", warningPeriod
|
|
|
|
dialog = softwareKnockCfg, "Configuration"
|
|
field = "Enable", enableSoftwareKnock
|
|
field = "Knock filter frequency", knockBandCustom, {enableSoftwareKnock}
|
|
field = ""
|
|
field = "Select the nearest sensor for each cylinder"
|
|
field = "Cylinder 1", knockBankCyl1, {enableSoftwareKnock}
|
|
field = "Cylinder 2", knockBankCyl2, {enableSoftwareKnock && cylindersCount >= 2}
|
|
field = "Cylinder 3", knockBankCyl3, {enableSoftwareKnock && cylindersCount >= 3}
|
|
field = "Cylinder 4", knockBankCyl4, {enableSoftwareKnock && cylindersCount >= 4}
|
|
field = "Cylinder 5", knockBankCyl5, {enableSoftwareKnock && cylindersCount >= 5}
|
|
field = "Cylinder 6", knockBankCyl6, {enableSoftwareKnock && cylindersCount >= 6}
|
|
field = "Cylinder 7", knockBankCyl7, {enableSoftwareKnock && cylindersCount >= 7}
|
|
field = "Cylinder 8", knockBankCyl8, {enableSoftwareKnock && cylindersCount >= 8}
|
|
field = "Cylinder 9", knockBankCyl9, {enableSoftwareKnock && cylindersCount >= 9}
|
|
field = "Cylinder 10", knockBankCyl10, {enableSoftwareKnock && cylindersCount >= 10}
|
|
field = "Cylinder 11", knockBankCyl11, {enableSoftwareKnock && cylindersCount >= 11}
|
|
field = "Cylinder 12", knockBankCyl12, {enableSoftwareKnock && cylindersCount >= 12}
|
|
|
|
dialog = softwareKnock, "Software Knock", border
|
|
panel = softwareKnockCfg, West
|
|
panel = swKnockThresholdCurve, Center
|
|
|
|
; Engine->hip9011 Settings
|
|
dialog = hipFunction, "HIP9011 Settings (knock decoder)"
|
|
field = "Enabled", isHip9011Enabled
|
|
field = "Threshold", knockVThreshold, {isHip9011Enabled == 1}
|
|
field = "!ECU reboot needed to apply these settings"
|
|
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}
|
|
field = "cylinder bore (mm)", cylinderBore, {isHip9011Enabled == 1}
|
|
field = "Band Freq override", knockBandCustom, {isHip9011Enabled == 1}
|
|
field = "SPI device", hip9011SpiDevice, {isHip9011Enabled == 1}
|
|
panel = knockThresholdCurve
|
|
|
|
; Engine->cj125 Settings
|
|
dialog = cj125Function, "CJ125 Settings (wbo decoder)"
|
|
field = "Enabled", isCJ125Enabled
|
|
commandButton = "Calibrate", cmd_cj125_calibrate
|
|
field = "Using 4.9 sensor?", cj125isLsu49
|
|
field = "!ECU reboot needed to apply these settings"
|
|
field = "ChipSelect pin", cj125CsPin, {isCJ125Enabled == 1}
|
|
field = "ChipSelect mode", cj125CsPinMode, {isCJ125Enabled == 1}
|
|
field = "!See also 'Controller-SPI setting'"
|
|
field = "SPI device", cj125SpiDevice
|
|
field = "Heater pin", wboHeaterPin, {isCJ125Enabled == 1}
|
|
field = "UA input", cj125ua, {isCJ125Enabled == 1}
|
|
field = "UR input", cj125ur, {isCJ125Enabled == 1}
|
|
field = "Is UA input divided?" cj125isUaDivided, {isCJ125Enabled == 1}
|
|
field = "Is UR input divided?" cj125isUrDivided, {isCJ125Enabled == 1}
|
|
|
|
dialog = spiFunction, "SPI settings"
|
|
field = "!ECU reboot needed to apply these settings"
|
|
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}
|
|
field = "SPI1 MISO", spi1misoPin, {is_enabled_spi_1 == 1}
|
|
field = "SPI1miso mode", spi1MisoMode, {is_enabled_spi_1 == 1}
|
|
field = "SPI1 SCK", spi1sckPin, {is_enabled_spi_1 == 1}
|
|
field = "SPI1sck mode", spi1SckMode, {is_enabled_spi_1 == 1}
|
|
|
|
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}
|
|
field = "SPI2 MISO", spi2misoPin, {is_enabled_spi_2 == 1}
|
|
field = "SPI2miso mode", spi2MisoMode, {is_enabled_spi_2 == 1}
|
|
field = "SPI2 SCK", spi2sckPin, {is_enabled_spi_2 == 1}
|
|
field = "SPI2sck mode", spi2SckMode, {is_enabled_spi_2 == 1}
|
|
|
|
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}
|
|
field = "SPI3 MISO", spi3misoPin, {is_enabled_spi_3 == 1}
|
|
field = "SPI3miso mode", spi3MisoMode, {is_enabled_spi_3 == 1}
|
|
field = "SPI3 SCK", spi3sckPin, {is_enabled_spi_3 == 1}
|
|
field = "SPI3sck mode", spi3SckMode, {is_enabled_spi_3 == 1}
|
|
field = "LIS302DLCsPin", LIS302DLCsPin
|
|
|
|
dialog = stftPartitioning, "Region Configuration"
|
|
field = "Idle region RPM", stft_maxIdleRegionRpm
|
|
field = "Overrun region load", stft_maxOverrunLoad
|
|
field = "Power region load", stft_minPowerLoad
|
|
|
|
dialog = stftPartitionSettingsMain, "Main Region", xAxis
|
|
field = "Time Const", stft_cellCfgs4_timeConstant
|
|
field = "Max add", stft_cellCfgs4_maxAdd
|
|
field = "Max remove", stft_cellCfgs4_maxRemove
|
|
|
|
dialog = stftPartitionSettingsIdle, "Idle Region", xAxis
|
|
field = "Time Const", stft_cellCfgs1_timeConstant
|
|
field = "Max add", stft_cellCfgs1_maxAdd
|
|
field = "Max remove", stft_cellCfgs1_maxRemove
|
|
|
|
dialog = stftPartitionSettingsPower, "Power Region", xAxis
|
|
field = "Time Const", stft_cellCfgs3_timeConstant
|
|
field = "Max add", stft_cellCfgs3_maxAdd
|
|
field = "Max remove", stft_cellCfgs3_maxRemove
|
|
|
|
dialog = stftPartitionSettingsOverrun, "Overrun Region", xAxis
|
|
field = "Time Const", stft_cellCfgs2_timeConstant
|
|
field = "Max add", stft_cellCfgs2_maxAdd
|
|
field = "Max remove", stft_cellCfgs2_maxRemove
|
|
|
|
dialog = fuelClosedLoopDialog, "Short-term fuel trim"
|
|
field = "Enabled", fuelClosedLoopCorrectionEnabled
|
|
|
|
field = "Startup delay" stft_startupDelay, {fuelClosedLoopCorrectionEnabled == 1}
|
|
field = "Minimum CLT for correction", stft_minClt, {fuelClosedLoopCorrectionEnabled == 1}
|
|
field = "Minimum AFR for correction", stft_minAfr, {fuelClosedLoopCorrectionEnabled == 1}
|
|
field = "Maximum AFR for correction", stft_maxAfr, {fuelClosedLoopCorrectionEnabled == 1}
|
|
field = "Adjustment deadband", stft_deadband, {fuelClosedLoopCorrectionEnabled == 1}
|
|
field = "Ignore error magnitude", stftIgnoreErrorMagnitude, {fuelClosedLoopCorrectionEnabled == 1}
|
|
|
|
panel = stftPartitioning, {fuelClosedLoopCorrectionEnabled == 1}
|
|
panel = stftPartitionSettingsMain, {fuelClosedLoopCorrectionEnabled == 1}
|
|
panel = stftPartitionSettingsIdle, {fuelClosedLoopCorrectionEnabled == 1}
|
|
panel = stftPartitionSettingsPower, {fuelClosedLoopCorrectionEnabled == 1}
|
|
panel = stftPartitionSettingsOverrun, {fuelClosedLoopCorrectionEnabled == 1}
|
|
|
|
dialog = auxPidDialog, "Aux PID"
|
|
field = "Enabled", activateAuxPid1
|
|
field = "FSIO pin #1", auxPidPins1
|
|
field = "PWM Frequency", auxPidFrequency1
|
|
field = "Detailed status in console", isVerboseAuxPid1
|
|
field = "#target based on FSIO map#1"
|
|
field = "control period", auxPid1_periodMs, {activateAuxPid1 == 1}
|
|
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}
|
|
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}
|
|
field = "Detailed status in console", isVerboseAlternator, {isAlternatorControlEnabled == 1}
|
|
field = "control period", alternatorControl_periodMs, {isAlternatorControlEnabled == 1}
|
|
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}
|
|
field = "#% duty = Pterm + Iterm + Dterm + offset%"
|
|
|
|
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}
|
|
|
|
dialog = energySystems, "Battery and Alternator Settings", yAxis
|
|
panel = batteryDialog
|
|
panel = alternator
|
|
panel = startStopDialog
|
|
|
|
dialog = speedSensorAnalog
|
|
field = "Input pin", vehicleSpeedSensorInputPin
|
|
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
|
|
|
|
; Engine->Other inputs
|
|
dialog = analogInputSettings, "Analog Input Settings"
|
|
field = "!ECU reboot needed to apply these settings"
|
|
field = "Use fixed baro corr from MAP", useFixedBaroCorrFromMap
|
|
field = "Analog divider ratio", analogInputDividerCoefficient@@if_ts_show_analog_divider
|
|
field = "Smoothing factor", slowAdcAlpha
|
|
|
|
dialog = tachSettings, "Tachometer output"
|
|
field = "Pin", tachOutputPin
|
|
field = "Pin mode", tachOutputPinMode
|
|
field = "Pulse duration is duty cycle", tachPulseDurationAsDutyCycle
|
|
field = "Pulse duration", tachPulseDuractionMs
|
|
field = "Pulse per Rev", tachPulsePerRev
|
|
|
|
|
|
; Board->Connection
|
|
dialog = tsPort, "TunerStudio Port"
|
|
field = "tunerStudioSerialSpeed", tunerStudioSerialSpeed
|
|
field = "Use UART/TTL serial?", useSerialPort
|
|
field = "TX pin", binarySerialTxPin, {useSerialPort == 1}
|
|
field = "RX pin", binarySerialRxPin, {useSerialPort == 1}
|
|
field = "uartConsoleSerialSpeed", uartConsoleSerialSpeed
|
|
|
|
dialog = canBus, "CAN Bus"
|
|
field = "Can Read Enabled", canReadEnabled
|
|
field = "Can Write Enabled", canWriteEnabled
|
|
field = "consumeObdSensors", consumeObdSensors, { canReadEnabled == 1 && canWriteEnabled == 1}
|
|
field = "Can Nbc Type", canNbcType
|
|
field = "Can Baud Rate", canBaudRate
|
|
field = "Enable rusEFI CAN broadcast", enableVerboseCanTx
|
|
field = "rusEFI CAN data base address", verboseCanBaseAddress
|
|
field = "Can Sleep Period", canSleepPeriodMs
|
|
field = "RX pin", canRxPin @@if_ts_show_can_pins
|
|
field = "TX pin", canTxPin @@if_ts_show_can_pins
|
|
|
|
dialog = canBus2, "Secondary CAN Bus"
|
|
field = "Can Read Enabled", can2ReadEnabled
|
|
field = "Can Write Enabled", can2WriteEnabled
|
|
field = "Can Nbc Type", can2NbcType
|
|
field = "Can Baud Rate", can2BaudRate
|
|
field = "Enable rusEFI CAN broadcast", enableVerboseCan2Tx
|
|
field = "rusEFI CAN data base address", verboseCan2BaseAddress
|
|
field = "Can Sleep Period", can2SleepPeriodMs
|
|
field = "RX pin", can2RxPin @@if_ts_show_can_pins
|
|
field = "TX pin", can2TxPin @@if_ts_show_can_pins
|
|
|
|
dialog = canBusMain, "CAN Bus Communication", yAxis
|
|
panel = canBus
|
|
panel = canBus2 @@if_ts_show_can2
|
|
|
|
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
|
|
|
|
dialog = sdCard, "SD Card Logger"
|
|
field = "Enable SD Card", isSdCardEnabled
|
|
field = "showSdCardWarning", showSdCardWarning
|
|
field = "CS Pin", sdCardCsPin
|
|
field = "SPI", sdCardSpiDevice
|
|
field = "log format", logFormat
|
|
field = "Write Period", sdCardPeriodMs
|
|
|
|
dialog = gpsReceiver, "GPS Receiver"
|
|
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
|
|
field = "Mode", tle8888mode
|
|
field = "useTLE8888 cranking reset hack", useTLE8888_cranking_hack
|
|
field = "useTLE8888 stepper", useTLE8888_stepper
|
|
commandButton = "Reinit", cmd_tle8888_init
|
|
|
|
dialog = connection, "", yAxis
|
|
field = "ADC vRef voltage", adcVcc
|
|
panel = tsPort @@if_ts_show_tunerstudio_port
|
|
panel = auxSerial
|
|
panel = gpsReceiver @@if_ts_show_gps
|
|
|
|
|
|
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"
|
|
field = "!https://rusefi.com/s/fuel"
|
|
field = "Fuel strategy", fuelAlgorithm
|
|
|
|
dialog = debugging, "Debug"
|
|
field = "!https://rusefi.com/s/debugmode"
|
|
field = "Debug mode", debugMode
|
|
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"
|
|
topicHelp = "baseHelp"
|
|
panel = baseEngineConfig
|
|
panel = generalSettings
|
|
panel = limits
|
|
panel = debugging
|
|
|
|
dialog = crankingFuel, "Fuel"
|
|
field = "Injection mode", crankingInjectionMode
|
|
field = "Fuel Source For Cranking", useRunningMathForCranking
|
|
field = "Base fuel mass", 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
|
|
|
|
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}
|
|
|
|
dialog = postCrankingEnrichment, "After start enrichment"
|
|
field = "Post-Cranking factor", postCrankingFactor
|
|
field = "Duration", postCrankingDurationSec
|
|
|
|
dialog = primingFuelPulsePanel, "Priming fuel pulse"
|
|
field = "Duration at -40C degrees", startOfCrankingPrimingPulse
|
|
field = "Falloff temperature", primeInjFalloffTemperature
|
|
|
|
|
|
; Cranking->Cranking Settings
|
|
dialog = crankingDialog, "Cranking Settings"
|
|
field = "Cranking RPM limit", cranking_rpm
|
|
field = "Enable cylinder cleanup", isCylinderCleanupEnabled
|
|
field = ""
|
|
field = "Enable faster engine spin-up", isFasterEngineSpinUpEnabled
|
|
panel = primingFuelPulsePanel
|
|
panel = crankingFuel
|
|
panel = crankingIgnition
|
|
panel = crankingIAC
|
|
panel = postCrankingEnrichment
|
|
|
|
dialog = EngineLoadAccelPanel, "Engine Load (alpha version)"
|
|
field = "Length", engineLoadAccelLength
|
|
field = "Accel threshold", engineLoadAccelEnrichmentThreshold
|
|
field = "Accel multiplier", engineLoadAccelEnrichmentMultiplier
|
|
field = "Decel threshold", engineLoadDecelEnleanmentThreshold
|
|
field = "Decel multiplier", engineLoadDecelEnleanmentMultiplier
|
|
|
|
dialog = TpsAccelPanel, "TPS"
|
|
field = "Set 'Debug Mode' to see detailed 'TPS acceleration enrichment' diagnostics"
|
|
field = "Length", tpsAccelLength
|
|
field = "Accel Threshold", tpsAccelEnrichmentThreshold
|
|
field = "Decel Threshold", tpsDecelEnleanmentThreshold
|
|
; field = "Decel Multiplier", tpsDecelEnleanmentMultiplier
|
|
field = "#Accelerator Pump model:"
|
|
field = "Fraction Period", tpsAccelFractionPeriod
|
|
field = "Fraction Divisor", tpsAccelFractionDivisor
|
|
|
|
dialog = WallWettingAccelPanel, "Wall Wetting (alpha version)"
|
|
field = "evaporation time constant / tau", wwaeTau
|
|
field = "added to wall coef / beta", wwaeBeta
|
|
|
|
|
|
; Tuning->AccelEnrichment
|
|
dialog = AccelEnrich, "Accel/Decel Enrichment"
|
|
panel = TpsAccelPanel
|
|
panel = WallWettingAccelPanel
|
|
panel = EngineLoadAccelPanel
|
|
field = "No accel after RPM hard limit", noAccelAfterHardLimitPeriodSecs
|
|
|
|
|
|
; Flex Logic
|
|
dialog = fsioIO, "Outputs"
|
|
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
|
|
|
|
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."
|
|
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
|
|
|
|
dialog = fsioOutputsDialog, "FSIO outputs", border
|
|
panel = fsioIO, West
|
|
panel = fsioFrequency, Center
|
|
panel = fsioSetting, East
|
|
|
|
dialog = fsioFormulas, "FSIO Formulas"
|
|
field = "!FSIO uses Reverse Polish Notation. Please read http://rusefi.com/s/fsio"
|
|
field = "#fsioinfo command in rusEFI console could be useful while troubleshooting those"
|
|
field = "#1", fsioFormulas1
|
|
field = "#2", fsioFormulas2
|
|
field = "#3", fsioFormulas3
|
|
|
|
field = "use FSIO #4 for serious engine warning",useFSIO4ForSeriousEngineWarning
|
|
field = "#4", fsioFormulas4
|
|
|
|
field = "use FSIO #5 for critical engine stop", useFSIO5ForCriticalIssueEngineStop
|
|
field = "#5", fsioFormulas5
|
|
|
|
field = "use FSIO #6 for rev limiter", useFSIO6ForRevLimiter
|
|
field = "#6", fsioFormulas6
|
|
|
|
field = "#7", fsioFormulas7
|
|
|
|
field = "use FSIO #8 for servo #1", useFSIO8ForServo1
|
|
field = "#8", fsioFormulas8
|
|
field = "use FSIO #9 for servo #2", useFSIO9ForServo2
|
|
field = "#9", fsioFormulas9
|
|
field = "use FSIO #10 for servo #3", useFSIO10ForServo3
|
|
field = "#10", fsioFormulas10
|
|
field = "use FSIO #11 for servo #4", useFSIO11ForServo4
|
|
field = "#11", fsioFormulas11
|
|
field = "use FSIO #12 for servo #5", useFSIO12ForServo5
|
|
field = "use FSIO #12 idle offset", useFSIO12ForIdleOffset
|
|
field = "#12", fsioFormulas12
|
|
field = "use FSIO #13 idle min value", useFSIO13ForIdleMinValue
|
|
field = "#13", fsioFormulas13
|
|
field = "#14", fsioFormulas14
|
|
field = "use FSIO #15 for target idle RPM adjustment", useFSIO15ForIdleRpmAdjustment
|
|
field = "#15", fsioFormulas15
|
|
field = "use FSIO #16 for timing adjustment", useFSIO16ForTimingAdjustment
|
|
field = "#16", fsioFormulas16
|
|
|
|
dialog = fsioInputsDialog, "FSIO inputs"
|
|
field = "ADC #1", fsioAdc1
|
|
field = "ADC #2", fsioAdc2
|
|
field = "ADC #3", fsioAdc3
|
|
field = "ADC #4", fsioAdc4
|
|
|
|
dialog = transmissionPanel
|
|
field = "TCU Enabled" tcuEnabled
|
|
|
|
dialog = solenoidPanel, "Shift Solenoids"
|
|
field = "Solenoid 1 Pin" tcu_solenoid1, { tcuEnabled }
|
|
field = "Solenoid 2 Pin" tcu_solenoid2, { tcuEnabled }
|
|
field = "Solenoid 3 Pin" tcu_solenoid3, { tcuEnabled }
|
|
field = "Solenoid 4 Pin" tcu_solenoid4, { tcuEnabled }
|
|
field = "Solenoid 5 Pin" tcu_solenoid5, { tcuEnabled }
|
|
field = "Solenoid 6 Pin" tcu_solenoid6, { tcuEnabled }
|
|
field = "Solenoid 1 Pin Mode" tcu_solenoid_mode1, { tcuEnabled }
|
|
field = "Solenoid 2 Pin Mode" tcu_solenoid_mode2, { tcuEnabled }
|
|
field = "Solenoid 3 Pin Mode" tcu_solenoid_mode3, { tcuEnabled }
|
|
field = "Solenoid 4 Pin Mode" tcu_solenoid_mode4, { tcuEnabled }
|
|
field = "Solenoid 5 Pin Mode" tcu_solenoid_mode5, { tcuEnabled }
|
|
field = "Solenoid 6 Pin Mode" tcu_solenoid_mode6, { tcuEnabled }
|
|
|
|
dialog = buttonShiftInputPanel, "Switch/Button Shift"
|
|
field = "Upshift Pin" tcuUpshiftButtonPin, { tcuEnabled }
|
|
field = "Upshift Pin Mode" tcuUpshiftButtonPinMode, { tcuEnabled }
|
|
field = "Downshift Pin" tcuDownshiftButtonPin, { tcuEnabled }
|
|
field = "Downshift Pin Mode" tcuDownshiftButtonPinMode, { tcuEnabled }
|
|
|
|
dialog = tcuControls, "Transmission Settings"
|
|
panel = transmissionPanel
|
|
panel = solenoidPanel
|
|
panel = buttonShiftInputPanel
|
|
|
|
;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
|
|
|
|
dialog = boostEtbPid, ""
|
|
field = "!This section is for advanced users only!"
|
|
field = "H-Bridge #1 function", etbFunctions1
|
|
field = "H-Bridge #2 function", etbFunctions2
|
|
field = "P gain", etbWastegatePid_pFactor, { isBoostControlEnabled }
|
|
field = "I gain", etbWastegatePid_iFactor, { isBoostControlEnabled }
|
|
field = "D gain", etbWastegatePid_dFactor, { isBoostControlEnabled }
|
|
field = "PID min", etbWastegatePid_minValue, { isBoostControlEnabled }
|
|
field = "PID max", etbWastegatePid_maxValue, { isBoostControlEnabled }
|
|
|
|
help = veTableDialogHelp, "Volumetric Efficiency"
|
|
text = "Volumetric Efficiency is used to calculate fuel in Speed Density mode"
|
|
webHelp = "https://rusefi.com/s/fuel"
|
|
|
|
help = fuelHelp, "Fuel Control"
|
|
text = "More about fuel control on the web"
|
|
webHelp = "https://rusefi.com/s/fuel"
|
|
|
|
help = etbHelp, "ETB Control"
|
|
text = "More about electronic throttle body on the web"
|
|
webHelp = "https://rusefi.com/s/etb"
|
|
|
|
help = tpsTpsHelp, "Acceleration Enrichment"
|
|
text = "More about Tps To Tps acceleration on the web"
|
|
webHelp = "https://rusefi.com/s/tpstps"
|
|
|
|
help = baseHelp, "Base Settings Control"
|
|
text = "More about rusefi on the web"
|
|
webHelp = "https://rusefi.com/"
|
|
|
|
dialog = veTableDialog
|
|
topicHelp = "veTableDialogHelp"
|
|
panel = veTableTbl, South
|
|
|
|
dialog = veTableDialog3D, "VE Table"
|
|
topicHelp = "veTableDialogHelp"
|
|
panel = veTableMap, South
|
|
|
|
dialog = etbPidDialog, "PID settings"
|
|
field = "pFactor", etb_pFactor
|
|
field = "iFactor", etb_iFactor
|
|
field = "dFactor", etb_dFactor
|
|
field = "pid min", etb_minValue
|
|
field = "pid max", etb_maxValue
|
|
field = "iTermMin", etb_iTermMin
|
|
field = "iTermMax", etb_iTermMax
|
|
|
|
dialog = etbIdleDialog, "ETB Idle"
|
|
field = "use ETB for idle", useETBforIdleControl
|
|
field = "ETB idle maximum angle", etbIdleThrottleRange
|
|
|
|
dialog = etbDialogLeft
|
|
field = "https://rusefi.com/s/etb"
|
|
field = "Detailed status in console", isVerboseETB
|
|
field = "Disable ETB Motor", pauseEtbControl
|
|
field = "H-Bridge #1 function", etbFunctions1
|
|
field = "H-Bridge #2 function", etbFunctions2
|
|
; 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 != @@ADC_CHANNEL_NONE@@ || (useStepperIdle && useHbridges) }
|
|
|
|
dialog = etbAutotune, "PID Autotune"
|
|
field = "First step: calibrate TPS and hit 'Burn'"
|
|
commandButton = "Auto Calibrate TPS 1", cmb_etb_auto_calibrate
|
|
commandButton = "Auto Calibrate TPS 2", cmb_etb_auto_calibrate_2
|
|
field = "Second step"
|
|
commandButton = "Start ETB PID Autotune", cmd_etb_autotune
|
|
commandButton = "Stop ETB PID Autotune", cmd_etb_autotune_stop
|
|
|
|
|
|
field = "!Set debug mode below to 'ETB Autotune' to show more detail"
|
|
field = "Debug mode", debugMode
|
|
|
|
dialog = etbDialogRight
|
|
panel = etbIdleDialog, { throttlePedalPositionAdcChannel != @@ADC_CHANNEL_NONE@@ }
|
|
panel = etbPidDialog, { (throttlePedalPositionAdcChannel != @@ADC_CHANNEL_NONE@@) }
|
|
panel = etbAutotune
|
|
|
|
; Neutral position handling not yet implemented!
|
|
;field = "Neutral Position", etbNeutralPosition
|
|
|
|
dialog = etbDialog, "Electronic Throttle Body (beta)", border
|
|
topicHelp = "etbHelp"
|
|
panel = etbDialogLeft, West
|
|
panel = etbDialogRight, East
|
|
|
|
|
|
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
|
|
commandButton = "Spark #9", cmd_test_spk9
|
|
commandButton = "Spark #10",cmd_test_spk10
|
|
commandButton = "Spark #11",cmd_test_spk11
|
|
commandButton = "Spark #12",cmd_test_spk12
|
|
|
|
dialog = testMisc, "Misc"
|
|
; commandButton = "Come To Pit", cmd_call_from_pit
|
|
commandButton = "Fuel Pump", cmd_test_fuel_pump
|
|
commandButton = "Radiator Fan", cmd_test_radiator_fan
|
|
commandButton = "Check Engine", cmd_test_check_engine_light
|
|
commandButton = "Idle Air Valve", cmd_test_idle_valve
|
|
commandButton = "HPFP Valve", cmd_test_hpfp_valve
|
|
commandButton = "A/C Relay", cmd_test_ac_relay
|
|
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
|
|
|
|
; bench test
|
|
dialog = ioTest, "Bench Test & Commands", xAxis
|
|
panel = testSpark
|
|
panel = testInjectors
|
|
panel = testFsio
|
|
panel = testMisc
|
|
|
|
dialog = widebandConfig, "rusEFI Wideband Config"
|
|
field = "!Please connect exactly one wideband controller before pressing this button!"
|
|
commandButton = "Update Firmware", cmd_wideband_firmare_update
|
|
|
|
dialog = engineTypeDialog, "Popular vehicles"
|
|
field = "!These buttons send a command to rusEFI controller to apply preset values"
|
|
field = "!Once you send the command, please reconnect to rusEFI controller in order to read fresh values"
|
|
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 Defaults", cmd_set_engine_type_microRusEFI_Defaults@@if_show_microRusEFI_presets
|
|
commandButton = "microRusEFI Miata NA6 VAF", cmd_set_engine_type_microRusEFI_Miata_NA6_VAF@@if_show_microRusEFI_presets
|
|
commandButton = "microRusEFI Miata NA6 MAP", cmd_set_engine_type_microRusEFI_Miata_NA6_MAP@@if_show_microRusEFI_presets
|
|
commandButton = "microRusEFI Miata 94/95 MAP", cmd_set_engine_type_microRusEFI_Miata_94_MAP@@if_show_microRusEFI_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 = "microRusEFI GDI VAG B6 test", cmd_set_engine_type_microRusEFI_VW_B6@@if_show_microRusEFI_presets
|
|
commandButton = "microRusEFI BCM", cmd_set_engine_type_microRusEFI_MRE_BODY_CONTROL@@if_show_microRusEFI_presets
|
|
commandButton = "microRusEFI Subaru EJ18", cmd_set_engine_type_ET_MRE_SUBARU_EJ18@@if_show_microRusEFI_presets
|
|
|
|
commandButton = "Proteus M73 v12", cmd_set_engine_type_Proteus_M73@@if_show_Proteus_presets
|
|
commandButton = "Proteus Miata TCU", cmd_set_engine_type_Proteus_Miata_TCU@@if_show_Proteus_presets
|
|
commandButton = "Proteus Miata NB2", cmd_set_engine_type_ET_PROTEUS_MIATA_NB2@@if_show_Proteus_presets
|
|
|
|
|
|
commandButton = "ETB test bench", cmd_set_engine_type_etb_test@@if_show_test_presets
|
|
commandButton = "TLE8888 test bench", cmd_set_engine_type_8888_test@@if_show_test_presets
|
|
commandButton = "Reset firmware settings", cmd_set_engine_type_default
|
|
|
|
|
|
; Board->ECU stimulator
|
|
dialog = ecuStimulator, "ECU stimulator"
|
|
field = "Trigger Simulator", triggerSimulatorFrequency
|
|
commandButton = "Enable Internal Trigger Simulation", cmd_enable_self_stim
|
|
commandButton = "Disable Internal Trigger Simulation", cmd_disable_self_stim
|
|
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
|
|
field = "trigger stimulator pin #2", triggerSimulatorPins2
|
|
field = "trigger stimulator pin mode #2", triggerSimulatorPinModes2
|
|
field = "trigger stimulator pin #3", triggerSimulatorPins3
|
|
field = "trigger stimulator pin mode #3", triggerSimulatorPinModes3
|
|
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
|
|
|
|
; Racing Features->Launch Control
|
|
dialog = smLaunchControl, "Launch Control Settings EXPERIMENTAL"
|
|
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 = "Clutch Input inverted", clutchDownPinMode, {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 enable", enableLaunchRetard, {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}
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
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}
|
|
|
|
[Tools]
|
|
;addTool = toolName, PanelName
|
|
addTool = veTableGenerator, "VE Table Generator", veTableTbl
|
|
#if LAMBDA
|
|
#else
|
|
addTool = afrTableGenerator, "AFR Table Generator", afrTableTbl
|
|
#endif
|
|
|