5260 lines
286 KiB
INI
5260 lines
286 KiB
INI
; 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
|
||
; tunerstudio.template.ini 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"
|
||
;
|
||
; see also https://www.tunerstudio.com/index.php/support/manuals/tsdevmanuals/137-ecu-definition-specification-aka-the-ini-document
|
||
;
|
||
|
||
; 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
|
||
; see https://github.com/rusefi/rusefi/issues/6170 issue
|
||
; settingGroup = connectivityProfile, "Protocol Profile"
|
||
; settingOption = CONN_SLOW, "Slower / Wireless"
|
||
; settingOption = CONN_FAST, "High Speed / USB"
|
||
|
||
[MegaTune]
|
||
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
|
||
signature = @@TS_SIGNATURE@@
|
||
|
||
[TunerStudio]
|
||
queryCommand = "@#TS_HELLO_COMMAND#@"
|
||
versionInfo = "@#TS_GET_FIRMWARE_VERSION#@" ; firmware version for title bar.
|
||
signature= @@TS_SIGNATURE@@ ; signature is expected to be 7 or more characters.
|
||
|
||
; 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
|
||
ignoreMissingBitOptions = true
|
||
|
||
; Optimize comms for fast rusEFI ECUs
|
||
noCommReadDelay = true;
|
||
defaultRuntimeRecordPerSec = 100;
|
||
;#if CONN_SLOW
|
||
;#else
|
||
maxUnusedRuntimeRange = 1000;
|
||
;#endif
|
||
|
||
; Set default IP/port to our IP/port
|
||
defaultIpAddress = localhost
|
||
defaultIpPort = 29001
|
||
|
||
[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@@"
|
||
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"
|
||
|
||
;communication settings
|
||
; Milliseconds delay after burn command. See https://sourceforge.net/p/rusefi/tickets/77/
|
||
pageActivationDelay = 500
|
||
;e.g. put writeblocks off and add an interwrite delay
|
||
writeBlocks = on
|
||
interWriteDelay = 10
|
||
blockReadTimeout = @@TS_BLOCK_READ_TIMEOUT@@; 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
|
||
#define gpio_list=@@Gpio_enum@@
|
||
#define switch_input_pin_e_list=@@switch_input_pin_e_fullenum@@
|
||
#define output_pin_e_list=@@output_pin_e_fullenum@@
|
||
#define brain_input_pin_e_list=@@brain_input_pin_e_fullenum@@
|
||
#define adc_channel_e_list=@@adc_channel_e_fullenum@@
|
||
|
||
; CONFIG_DEFINITION_START
|
||
|
||
; this section will be generated automatically by ConfigDefinition.jar based on rusefi_config.txt
|
||
|
||
; CONFIG_DEFINITION_END
|
||
|
||
[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, "Trigger Logger", composite
|
||
startCommand = "@#TS_SET_LOGGER_SWITCH#@\x01"
|
||
stopCommand = "@#TS_SET_LOGGER_SWITCH#@\x02"
|
||
dataReadCommand = "@#TS_SET_LOGGER_SWITCH#@\x03"
|
||
dataReadTimeout = 10000 ; time in ms
|
||
dataReadyCondition = { toothLogReady }
|
||
continuousRead = true
|
||
|
||
; 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) }
|
||
|
||
loggerDef = triggerScope, "Trigger Oscilloscope", csv
|
||
startCommand = "@#TS_SET_LOGGER_SWITCH#@\x04"
|
||
stopCommand = "@#TS_SET_LOGGER_SWITCH#@\x05"
|
||
dataReadCommand = "@#TS_SET_LOGGER_SWITCH#@\x06"
|
||
dataReadTimeout = 1000
|
||
dataReadyCondition = { triggerScopeReady }
|
||
continuousRead = true
|
||
|
||
recordDef = 0, 0, 2
|
||
recordField = channel1, @@TS_TRIGGER_SCOPE_CHANNEL_1_NAME@@, 0, 8, {6.6 / 255}, "v"
|
||
recordField = channel2, @@TS_TRIGGER_SCOPE_CHANNEL_2_NAME@@, 8, 8, {6.6 / 255}, "v"
|
||
|
||
[VeAnalyze]
|
||
|
||
; tableName, lambdaTargetTableName, lambdaChannel, egoCorrectionChannel, activeCondition
|
||
#if LAMBDA
|
||
veAnalyzeMap = veTableTbl, lambdaTableTbl, lambdaValue, egoCorrectionForVeAnalyze, { 1 }
|
||
lambdaTargetTables = lambdaTableTbl, afrTSCustom
|
||
#else
|
||
veAnalyzeMap = veTableTbl, afrTableTbl, afrGasolineScale, egoCorrectionForVeAnalyze, { 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
|
||
filter = std_Custom
|
||
|
||
@@BOARD_VE_FROM_FILE@@
|
||
|
||
;
|
||
; in order to add new TunerStudio data point you need to change one of *.txt files mentioned in LiveData.yaml
|
||
;
|
||
[BurstMode]
|
||
getCommand = "A"
|
||
|
||
[OutputChannels]
|
||
|
||
ochGetCommand = "O%2o%2c"
|
||
|
||
; see TS_OUTPUT_SIZE in console source code
|
||
ochBlockSize = @@TS_TOTAL_OUTPUT_SIZE@@
|
||
|
||
; 11.2.3 Full Optimized – High Speed
|
||
scatteredOchGetCommand = @@TS_GET_SCATTERED_GET_COMMAND_char@@
|
||
scatteredOffsetArray = highSpeedOffsets
|
||
;#if CONN_SLOW
|
||
; scatteredGetEnabled = { 1 }
|
||
;#else
|
||
scatteredGetEnabled = { 0 }
|
||
;#endif
|
||
|
||
;
|
||
; see TunerStudioOutputChannels struct
|
||
;
|
||
|
||
@@OUTPUTS_SECTION_FROM_FILE@@
|
||
|
||
time = { timeNow }
|
||
|
||
egoCorrectionForVeAnalyze = { 100 + fuelPidCorrection1 }
|
||
|
||
wbo0_hasFault = { enableAemXSeries && ((faultCode0 >= 3) && (faultCode0 != 7)) }
|
||
|
||
[PcVariables]
|
||
fuelUnits = bits, U08, [0:2], "kPa", "MAF", "%TPS", "Lua"
|
||
pwmAxisLabels = bits, U08, [0:4], "Zero", "TPS %", "MAP kPa", "CLT C", "IAT C", "Fuel Load", "Ignition Load", "Aux Temp 1 C", "Aux Temp 2 C", "Accel Pedal %", "Battery Voltage Volts", "VVT 1 I Deg", "VVT 1 E Deg", "VVT 2 I Deg", "VVT 2 E Deg", "Ethanol (Flex) %", "Aux Linear 1 *", "Aux Linear 2 *", "GPPWM Output 1 %", "GPPWM Output 2 %", "GPPWM Output 3 %", "GPPWM Output 4 %", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)", "Baro pressure kPa", "EGT 1 C", "EGT 2 C", "INVALID", "INVALID", "INVALID"
|
||
|
||
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
|
||
|
||
rangeInputArray = array, U08, [6], "Input", 1, 0, 0, 6, 0, noMsqSave
|
||
rangeStateArray = array, U08, [9], "State", 1, 0, 0, 9, 0, noMsqSave
|
||
|
||
; wall of debug mode :)
|
||
; https://rusefi.com/wiki/index.php?title=Manual:Debug_fields
|
||
; Alternator TPS Acceleration Idle Engine Load Acc Trigger Counters VVT1 PID Cranking Ignition Timing Fu Corr VSS SD Card Knock Wall Wetting ETB PID Executor InstantRpm CJ125 CAN MAP TLE8888 Analog inputs 2 Start ETB Autotune DYNO_VIEW LOGIC_ANALYZER Wideband TCU Lua VVT2 PID VVT3 PID VVT4 PID
|
||
; 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 49 50 51
|
||
; DBG_ALTERNATOR_PID DBG_TPS_ACCEL DBG_IDLE_CONTROL
|
||
debugFieldF1List = bits, U08, [0:7], "Alt: Controller Output", "From TPS", "", "Idle: Controller Output", "Idle output", " ", "", "VVT1: Controller Output"," ", "", "Ign IAT Corr", "", "", "Total SD", "last volts", "", "WW: Alpha", "ETB Controller Output", "", "", "df1", "df1", "InstantRpm", "", "24:df1", "CJ125: output", "", "MAP Average", "", "", "", "", "TPS1 Pri/Sec Diff", "", "", "", "","S unused" "", "Osc Amplitude", "", "", "", "" , "VSS", "", "WB: Pump DAC duty", "", "Lua Debug 1", "VVT2: Controller Output","VVT3: Controller Output","VVT4: Controller Output"
|
||
debugFieldF2List = bits, U08, [0:7], "Alt: I Term", "To TPS", "", "Idle: I Term", "Idle df2", " ", "", "VVT1: I Term", " ", "", "Ign CLT Corr", "", "", "Write Cnt","last filtered","", "WW: Beta", "ETB I Term", "", "", "df2", "df2", "InstantRPM Ratio","", "24:df2", "CJ125: i term", "", "MAP Duration", "", "", "", "", "TPS2 Pri/Sec Diff", "", "", "", "","S unused" "", "Duty Amplitude", "", "", "", "" , "Speed", "", "WB: ESR", "", "Lua Debug 2", "VVT2: I Term", "VVT3: I Term", "VVT4: I Term"
|
||
debugFieldF3List = bits, U08, [0:7], "Alt: Previous Error", "Current TPS<>TPS", "", "Idle: prev error", "Idle df3", "ICU sum", "", "VVT1: prev error", "", "", "", "", "", "Sync Cnt", "", "", "WW: film mass", "ETB err", "", "", "df3", "df3", "22df3", "", "24:df3", "CJ125: err", "", "MAP Fast", "", "", "", "", "TPS1/2 Diff", "", "", "", "","S unused" "", "Tu", "", "", "", "" , "DeltaSpeed", "", "WB: Nernst Voltage", "", "Lua Debug 3", "VVT2: prev error", "VVT3: prev error", "VVT4: prev error"
|
||
debugFieldF4List = bits, U08, [0:7], "Alt: I Gain", "Extra Fuel", "", "Idle: I Gain", "Idle df4", " ", "", "VVT1: I Gain", "", "", "Ign PID Adj", "", "", "File Cnt", "", "", "WW: m_cmd", "ETB I setting", "", "", "df4", "df4", "22df4", "", "24:df4", "CJ125: UA", "", "MAP Estimate", "", "", "", "", "Acc Pedal Pri/Sec Diff","", "", "", "","S unused" "", "Ku", "", "", "", "", "accel", "", "WB: Lambda", "", "Lua Debug 4", "VVT2: I Gain", "VVT3: I Gain", "VVT4: I Gain"
|
||
debugFieldF5List = bits, U08, [0:7], "Alt: D Gain", "df5", "", "Idle: D Gain", "Idle df5", " ", "df5", "VVT1: D Gain", "", "", "", "", "", "", "", "", "WW: film mass next","ETB D setting", "df5", "df5", "df5", "df5", "22df5", "", "24:df5", "CJ125: UR", "", "MAP Instant", "", "", "", "", "TPS1 Pri/Sec Ratio", "", "", "", "","S unused" "", "Kp", "", "", "", "", "", "", "", "", "Lua Debug 5", "VVT2: D Gain", "VVT3: D Gain", "VVT4: D Gain"
|
||
debugFieldF6List = bits, U08, [0:7], "Alt: D Term", "", "", "Idle: D Term", "Idle df6", " ", "", "VVT1: D Term", "", "", "", "", "", "", "", "", "", "ETB df6", "", "", "df6", "df6", "22df6", "", "24:df6", "cj: f7", "", "", "", "", "", "", "", "", "", "", "","S unused" "", "Ki", "", "", "", "", "", "", "", "", "Lua Debug 6", "VVT2: D Term", "VVT3: D Term", "VVT4: D Term"
|
||
debugFieldF7List = bits, U08, [0:7], "Alt: Max-Value", "", "", "Idle: Max-Value", "Idle df7", "", "", "VVT1: Max-Value", "", "", "", "", "", "", "", "", "", "ETB df7", "", "", "df7", "df7", "22df7", "", "24:df7", "cj: f7", "", "", "", "", "", "", "", "", "", "", "","S unused" "", "Kd", "", "", "", "", "", "", "", "", "Lua Debug 7", "", "", ""
|
||
debugFieldI1List = bits, U08, [0:7], "Alt: P Gain", "", "", "Idle: P Gain", "Idle di1", " ", "", "VVT1: P Gain", " ", "Cycle Counter", "Multispark Count", "", "", "", "hip corr", "", "", "ETB P-Gain", "t counter", "", "di1", "di1", "Spark Event Gap","", "24:di1", "CJ125: state", "read count","MAP counter", "", "", "", "SPI Counter", "", "", "", "", "","Start Count", "", "", "", "", "", "", "deltatime", "", "", "Solenoid 1 State", "Lua memory used","VVT2: P Gain", "VVT3: P Gain", "VVT4: P Gain"
|
||
debugFieldI2List = bits, U08, [0:7], "Alt: Offset", "", "", "Idle: Offset", "Idle di2", " ", "", "VVT1: Offset", "", "", "", "", "", "", "hip incor", "", "", "ETB di2", "invocationcounter", "", "di2", "di2", "Inj Event Gap", "", "24:di2", "", "write count","MAP raw ADC", "", "", "", "Latest Transmit","", "", "", "", "","Starter Enable", "", "", "", "", "", "", "", "", "", "Solenoid 2 State", "", "VVT2: Offset", "VVT3: Offset", "VVT4: Offset"
|
||
debugFieldI3List = bits, U08, [0:7], "Alt: Reset Cnt", "", "", "Idle: Reset Cnt", "Idle di3", " ", "", "VVT1: 10xTarget", "", "", "", "", "", "", "", "", "", "ETB di3", "s counter", "", "di3", "di3", "22di3", "", "24:di3", "", "write err", "", "", "", "", "Latest Received","", "", "", "", "","Starter Disable","", "", "", "", "", "", "", "", "", "Solenoid 3 State", "", "VVT2: 10xTarger", "VVT3: 10xTarger", "VVT4: 10xTarger"
|
||
debugFieldI4List = bits, U08, [0:7], "Alt: Period", "", "", "Idle: State", "Idle di4", "Cycle Cnt 1", "", "", "", "", "", "", "", "", "", "", "", "ETB di4", "executor", "", "di4", "di4", "22di4", "", "24:di4", "", "", "", "", "", "", "Init Count", "", "", "", "", "","" "", "", "", "", "", "", "", "", "", "Solenoid 4 State", "", "", "", ""
|
||
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", "","" "", "", "", "", "", "", "", "", "", "Solenoid 5 State", "", "", "", ""
|
||
|
||
wboFaultCodeList = bits, U08, [0:3], "OK", "silent", "cranking", "failed to heat", "overheat", "underheat", "no supply", "legacy"
|
||
|
||
injModeList = bits, U08, [0:3], "Simultaneous", "Sequential", "Batch", "Single Point"
|
||
ignModeList = bits, U08, [0:3], "Single Coil", "Sequential", "Wasted", "Two Coils"
|
||
|
||
; ClearReason
|
||
fuelIgnCutCodeList = bits, U08, [0:7], "None", "fatal error", "setting disabled", "RPM limit", "fault RPM limit", "boost cut", "oil pressure", "stop requested", "ETB problem", "launch control", "max injector duty", "flood clear", "engine sync", "kickstart", "ign off", "Lua", "ACR", "Lambda Prot", "GDI Comms", "Brake"
|
||
|
||
; TpsState
|
||
etbCutCodeList = bits, U08, [0:7], "None", "engine stopped", "TPS error", "PPS error", "TPS noise", "Autotune", "Lua", "INVALID", "N/A", "Redundancy", "PPS noise", "Jam"
|
||
|
||
outputDiagErrorList = bits, U08, [0:3], "Not used", "No error", "Open Load", "Short to Gnd", "Short to Battery", "Overload", "Driver Overtemp", "Driver disabled", "Unknown"
|
||
@@BOARD_PC_VARIABLES_FROM_FILE@@
|
||
|
||
[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
|
||
|
||
; this magic is best described in output_channels.txt search for 'maintainConstantValue'
|
||
; TPS 1 Primary
|
||
maintainConstantValue = tpsMax, { (calibrationMode == @@TsCalMode_Tps1Max@@ ) ? calibrationValue : tpsMax }
|
||
maintainConstantValue = tpsMin, { (calibrationMode == @@TsCalMode_Tps1Min@@ ) ? calibrationValue : tpsMin }
|
||
|
||
; TPS 1 Secondary
|
||
maintainConstantValue = tps1SecondaryMax, { (calibrationMode == @@TsCalMode_Tps1SecondaryMax@@ ) ? calibrationValue : tps1SecondaryMax }
|
||
maintainConstantValue = tps1SecondaryMin, { (calibrationMode == @@TsCalMode_Tps1SecondaryMin@@ ) ? calibrationValue : tps1SecondaryMin }
|
||
|
||
; TPS 2 Primary
|
||
maintainConstantValue = tps2Max, { (calibrationMode == @@TsCalMode_Tps2Max@@ ) ? calibrationValue : tps2Max }
|
||
maintainConstantValue = tps2Min, { (calibrationMode == @@TsCalMode_Tps2Min@@ ) ? calibrationValue : tps2Min }
|
||
|
||
; TPS 2 Secondary
|
||
maintainConstantValue = tps2SecondaryMax, { (calibrationMode == @@TsCalMode_Tps2SecondaryMax@@ ) ? calibrationValue : tps2SecondaryMax }
|
||
maintainConstantValue = tps2SecondaryMin, { (calibrationMode == @@TsCalMode_Tps2SecondaryMin@@ ) ? calibrationValue : tps2SecondaryMin }
|
||
|
||
; ETB Auto Gain Calibration
|
||
maintainConstantValue = etb_pFactor, { (calibrationMode == @@TsCalMode_EtbKp@@ ) ? calibrationValue : etb_pFactor }
|
||
maintainConstantValue = etb_iFactor, { (calibrationMode == @@TsCalMode_EtbKi@@ ) ? calibrationValue : etb_iFactor }
|
||
maintainConstantValue = etb_dFactor, { (calibrationMode == @@TsCalMode_EtbKd@@ ) ? calibrationValue : etb_dFactor }
|
||
|
||
maintainConstantValue = throttlePedalUpVoltage, { (calibrationMode == @@TsCalMode_PedalMin@@ ) ? calibrationValue : throttlePedalUpVoltage }
|
||
maintainConstantValue = throttlePedalSecondaryUpVoltage, { (calibrationMode == @@TsCalMode_PedalMin@@ ) ? calibrationValue2 : throttlePedalSecondaryUpVoltage }
|
||
|
||
maintainConstantValue = throttlePedalWOTVoltage, { (calibrationMode == @@TsCalMode_PedalMax@@ ) ? calibrationValue : throttlePedalWOTVoltage }
|
||
maintainConstantValue = throttlePedalSecondaryWOTVoltage, { (calibrationMode == @@TsCalMode_PedalMax@@ ) ? calibrationValue2 : throttlePedalSecondaryWOTVoltage }
|
||
|
||
requiresPowerCycle = afr_hwChannel
|
||
requiresPowerCycle = afr_hwChannel2
|
||
|
||
requiresPowerCycle = gppwm1_pin
|
||
requiresPowerCycle = gppwm2_pin
|
||
requiresPowerCycle = gppwm3_pin
|
||
requiresPowerCycle = gppwm4_pin
|
||
requiresPowerCycle = mc33816_cs@@if_ts_show_gdi_low_level
|
||
requiresPowerCycle = mc33816_rstb@@if_ts_show_gdi_low_level
|
||
requiresPowerCycle = mc33816spiDevice@@if_ts_show_gdi_low_level
|
||
requiresPowerCycle = isSdCardEnabled
|
||
requiresPowerCycle = sdCardSpiDevice
|
||
requiresPowerCycle = sdCardCsPin
|
||
requiresPowerCycle = boardUseCanTerminator
|
||
requiresPowerCycle = injectorCompensationMode
|
||
requiresPowerCycle = lps25BaroSensorScl
|
||
requiresPowerCycle = lps25BaroSensorSda
|
||
requiresPowerCycle = binarySerialTxPin
|
||
requiresPowerCycle = binarySerialRxPin
|
||
requiresPowerCycle = tunerStudioSerialSpeed
|
||
|
||
requiresPowerCycle = is_enabled_spi_1
|
||
requiresPowerCycle = is_enabled_spi_2
|
||
requiresPowerCycle = is_enabled_spi_3
|
||
requiresPowerCycle = is_enabled_spi_4
|
||
requiresPowerCycle = is_enabled_spi_5
|
||
requiresPowerCycle = is_enabled_spi_6
|
||
|
||
requiresPowerCycle = canWriteEnabled
|
||
requiresPowerCycle = canReadEnabled
|
||
requiresPowerCycle = can1ListenMode
|
||
requiresPowerCycle = can2ListenMode
|
||
|
||
requiresPowerCycle = startStopButtonPin
|
||
requiresPowerCycle = startStopButtonMode
|
||
|
||
requiresPowerCycle = enableAemXSeries
|
||
requiresPowerCycle = enableAemXSeriesEgt
|
||
|
||
requiresPowerCycle = etb_use_two_wires
|
||
requiresPowerCycle = etbSplit
|
||
requiresPowerCycle = etbFreq
|
||
requiresPowerCycle = etbFunctions1
|
||
requiresPowerCycle = etbFunctions2
|
||
|
||
requiresPowerCycle = idle_solenoidFrequency
|
||
requiresPowerCycle = boostPwmFrequency
|
||
requiresPowerCycle = alternatorPwmFrequency
|
||
requiresPowerCycle = vvtOutputFrequency
|
||
requiresPowerCycle = vvtPins1
|
||
requiresPowerCycle = vvtPins2
|
||
requiresPowerCycle = vvtPins3
|
||
requiresPowerCycle = vvtPins4
|
||
|
||
requiresPowerCycle = auxAnalogInputs1
|
||
requiresPowerCycle = auxAnalogInputs2
|
||
requiresPowerCycle = auxAnalogInputs3
|
||
requiresPowerCycle = auxAnalogInputs4
|
||
requiresPowerCycle = auxAnalogInputs5
|
||
requiresPowerCycle = auxAnalogInputs6
|
||
requiresPowerCycle = auxAnalogInputs7
|
||
requiresPowerCycle = auxAnalogInputs8
|
||
|
||
requiresPowerCycle = cylinderBore
|
||
requiresPowerCycle = knockFrequency
|
||
|
||
readOnly = warning_message
|
||
readOnly = device_uid1
|
||
readOnly = device_uid2
|
||
readOnly = device_uid3
|
||
|
||
@@BOARD_CONSTANTS_EXTENSIONS_FROM_FILE@@
|
||
|
||
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
|
||
|
||
defaultValue = rangeStateArray, 0 1 2 3 4 5 6 7 8
|
||
readOnly = rangeStateArray
|
||
defaultValue = rangeInputArray, 0 1 2 3 4 5
|
||
readOnly = solenoidCountArray
|
||
|
||
[CurveEditor]
|
||
; xAxis = leftValue, rightValue, step
|
||
; yAxis = bottomValue, topValue, step
|
||
|
||
@@BOARD_CURVES_FROM_FILE@@
|
||
|
||
curve = knockThresholdCurve, "Engine knock threshold RPM based"
|
||
columnLabel = "RPM", "Threshold"
|
||
xAxis = 0, 8000, 9
|
||
yAxis = 0, 8, 10
|
||
xBins = knockNoiseRpmBins, RPMValue
|
||
yBins = knockBaseNoise
|
||
gauge = RPMGauge
|
||
|
||
curve = scriptCurve1, "Script Curve #1"
|
||
columnLabel = "X", "Y"
|
||
xAxis = 0, 128, 10
|
||
yAxis = -155, 150, 10
|
||
xBins = scriptCurve1Bins
|
||
yBins = scriptCurve1
|
||
showTextValues = true
|
||
|
||
curve = scriptCurve2, "Script Curve #2"
|
||
columnLabel = "X", "Y"
|
||
xAxis = 0, 128, 10
|
||
yAxis = -150, 150, 10
|
||
xBins = scriptCurve2Bins
|
||
yBins = scriptCurve2
|
||
showTextValues = true
|
||
|
||
curve = scriptCurve3, "Script Curve #3"
|
||
columnLabel = "X", "Y"
|
||
xAxis = 0, 128, 10
|
||
yAxis = -5, 5, 10
|
||
xBins = scriptCurve3Bins
|
||
yBins = scriptCurve3
|
||
showTextValues = true
|
||
|
||
curve = scriptCurve4, "Script Curve #4"
|
||
columnLabel = "X", "Y"
|
||
xAxis = 0, 128, 10
|
||
yAxis = -5, 5, 10
|
||
xBins = scriptCurve4Bins
|
||
yBins = scriptCurve4
|
||
showTextValues = true
|
||
|
||
curve = scriptCurve5, "Script Curve #5"
|
||
columnLabel = "X", "Y"
|
||
xAxis = 0, 128, 10
|
||
yAxis = -5, 5, 10
|
||
xBins = scriptCurve5Bins
|
||
yBins = scriptCurve5
|
||
showTextValues = true
|
||
|
||
curve = scriptCurve6, "Script Curve #6"
|
||
columnLabel = "X", "Y"
|
||
xAxis = 0, 128, 10
|
||
yAxis = -5, 5, 10
|
||
xBins = scriptCurve6Bins
|
||
yBins = scriptCurve6
|
||
showTextValues = true
|
||
|
||
curve = dwellCorrection, "Dwell time base"
|
||
columnLabel = "RPM", "Dwell"
|
||
xAxis = 0, 8000, 9
|
||
yAxis = 0, 8, 9
|
||
xBins = sparkDwellRpmBins, RPMValue
|
||
yBins = sparkDwellValues
|
||
gauge = RPMGauge
|
||
|
||
curve = dwellVoltageCorrection, "Dwell voltage correction"
|
||
columnLabel = "Battery Volts", "Multiplier"
|
||
xAxis = 6, 16, 11
|
||
yAxis = 0, 3, 7
|
||
xBins = dwellVoltageCorrVoltBins, VBatt
|
||
yBins = dwellVoltageCorrValues
|
||
gauge = VBattGauge
|
||
|
||
curve = tpsTspRpmCorrection, "Transient RPM correction"
|
||
columnLabel = "RPM", "Multiplier"
|
||
xAxis = 0, 8000, 9
|
||
yAxis = 0, 3, 7
|
||
xBins = tpsTspCorrValuesBins, RPMValue
|
||
yBins = tpsTspCorrValues
|
||
gauge = RPMGauge
|
||
|
||
curve = primingPulse, "Priming pulse fuel mass"
|
||
columnLabel = "Coolant", "Prime Pulse"
|
||
xAxis = -40, 120, 9
|
||
yAxis = 0, 1000, 9
|
||
xBins = primeBins, coolant
|
||
yBins = primeValues
|
||
gauge = CLTGauge
|
||
|
||
curve = map_samplingAngleCurve, "MAP Sampling Start Angle"
|
||
columnLabel = "RPM", "Angle"
|
||
xAxis = 0, 8000, 9
|
||
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, 9
|
||
yAxis = 0, 180, 10
|
||
xBins = map_samplingWindowBins, RPMValue
|
||
yBins = map_samplingWindow
|
||
gauge = MAPGauge
|
||
|
||
curve = injectorsDeadTime, "Injector dead time"
|
||
columnLabel = "Battery", "Dead Time"
|
||
xAxis = 6, 16, 11
|
||
yAxis = 0, 8, 9
|
||
xBins = injector_battLagCorrBins, VBatt
|
||
yBins = injector_battLagCorr
|
||
gauge = VBattGauge
|
||
|
||
curve = injectorsSecondaryDeadTime, "Secondary injector dead time"
|
||
columnLabel = "Battery", "Dead Time"
|
||
xAxis = 6, 16, 11
|
||
yAxis = 0, 8, 9
|
||
xBins = injectorSecondary_battLagCorrBins, VBatt
|
||
yBins = injectorSecondary_battLagCorr
|
||
gauge = VBattGauge
|
||
|
||
curve = vrThresholdCurve1, "VR 1 Threshold"
|
||
columnLabel = "RPM", "Voltage"
|
||
xAxis = 0, 8000, 9
|
||
yAxis = 0, 2.5, 6
|
||
xBins = vrThreshold1_rpmBins, RPMValue
|
||
yBins = vrThreshold1_values
|
||
|
||
curve = vrThresholdCurve2, "VR 2 Threshold"
|
||
columnLabel = "RPM", "Voltage"
|
||
xAxis = 0, 8000, 9
|
||
yAxis = 0, 2.5, 6
|
||
xBins = vrThreshold2_rpmBins, RPMValue
|
||
yBins = vrThreshold2_values
|
||
|
||
curve = mafDecodingCurve, "MAF sensor"
|
||
columnLabel = "Voltage", "kg/hour"
|
||
xAxis = -1, 6, 10
|
||
yAxis = -30, 1300, 10
|
||
xBins = mafDecodingBins, rawMaf
|
||
yBins = mafDecoding
|
||
gauge = rawMafGauge
|
||
|
||
curve = iatFuelCorrCurve, "Intake air temperature fuel Multiplier"
|
||
topicHelp = "iatFuelCorrCurveHelp"
|
||
columnLabel = "Air Temp", "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 = cltBoostCorrCurve, "Coolant Temperature Boost Duty Multiplier"
|
||
columnLabel = "Coolant", "Multiplier"
|
||
xAxis = -40, 120, 9
|
||
yAxis = 0, 3, 10
|
||
xBins = cltBoostCorrBins, coolant
|
||
yBins = cltBoostCorr
|
||
gauge = CLTGauge
|
||
|
||
curve = iatBoostCorrCurve, "Intake Air Temperature Boost Duty Multiplier"
|
||
columnLabel = "Air Temp", "Multiplier"
|
||
xAxis = -40, 120, 9
|
||
yAxis = 0, 2, 11
|
||
xBins = iatBoostCorrBins, intake
|
||
yBins = iatBoostCorr
|
||
gauge = IATGauge
|
||
|
||
curve = cltBoostAdderCurve, "Coolant Temperature Boost Target Adder"
|
||
columnLabel = "Coolant", "Adder"
|
||
xAxis = -40, 120, 9
|
||
yAxis = 0, 3, 10
|
||
xBins = cltBoostAdderBins, coolant
|
||
yBins = cltBoostAdder
|
||
gauge = CLTGauge
|
||
|
||
curve = iatBoostAdderCurve, "Intake Air Temperature Boost Target Adder"
|
||
columnLabel = "Air Temp", "Adder"
|
||
xAxis = -40, 120, 9
|
||
yAxis = 0, 2, 11
|
||
xBins = iatBoostAdderBins, intake
|
||
yBins = iatBoostAdder
|
||
gauge = IATGauge
|
||
|
||
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 = crankingCltCurveE100, "Cranking Coolant Temperature Multiplier (Flex Fuel E85)"
|
||
columnLabel = "Coolant", "Multiplier"
|
||
xAxis = -40, 120, 9
|
||
yAxis = 0, 3, 10
|
||
xBins = crankingFuelBins, coolant
|
||
yBins = crankingFuelCoefE100
|
||
gauge = CLTGauge
|
||
|
||
curve = cltRevLimitCurve, ""
|
||
columnLabel = "Coolant", "RPM Limit"
|
||
xAxis = -40, 120, 9
|
||
yAxis = 0, 8000, 9
|
||
xBins = cltRevLimitRpmBins, coolant
|
||
yBins = cltRevLimitRpm
|
||
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 = 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"
|
||
columnLabel = "RPM", "Multiplier"
|
||
xAxis = -40, 120, 9
|
||
yAxis = 0, 100, 10
|
||
xBins = iacCoastingRpmBins, RPMValue
|
||
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, 2400, 13
|
||
xBins = cltIdleRpmBins, coolant
|
||
yBins = cltIdleRpm, RPMValue
|
||
gauge = CLTGauge
|
||
|
||
curve = idleAdvanceCurve, "Idle Advance Angle"
|
||
columnLabel = "RPM", "degrees"
|
||
xAxis = 0, 2400, 13
|
||
yAxis = -100, 100, 11
|
||
xBins = idleAdvanceBins, RPMValue
|
||
yBins = idleAdvance
|
||
gauge = RPMGauge
|
||
|
||
curve = crankingAdvanceCurve, "Cranking Advance Angle"
|
||
columnLabel = "RPM", "degrees"
|
||
xAxis = 0, 1200, 13
|
||
yAxis = -30, 30, 11
|
||
xBins = crankingAdvanceBins, RPMValue
|
||
yBins = crankingAdvance
|
||
gauge = RPMGauge
|
||
|
||
curve = fuelLevelCurve, "Fuel Level"
|
||
columnLabel = "Voltage", "%"
|
||
xAxis = 0, 5, 6
|
||
yAxis = 0, 100, 11
|
||
xBins = fuelLevelBins
|
||
yBins = fuelLevelValues
|
||
gauge = fuelTankLevelGauge
|
||
|
||
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"
|
||
|
||
curve = hpfpLobeProfileCurve, "HPFP Lobe Profile"
|
||
columnLabel = "% pump volume", "angle"
|
||
xAxis = 0, 100, 11
|
||
yAxis = 0, 240, 13
|
||
xBins = hpfpLobeProfileQuantityBins
|
||
yBins = hpfpLobeProfileAngle
|
||
|
||
curve = hpfpDeadtimeCurve, "HPFP Valve Deadtime"
|
||
columnLabel = "volts", "ms"
|
||
xAxis = 5, 15, 11
|
||
yAxis = 0, 5, 6
|
||
xBins = hpfpDeadtimeVoltsBins
|
||
yBins = hpfpDeadtimeMS
|
||
|
||
curve = wwTauCltCurve, "Evap time vs. CLT"
|
||
columnLabel = "coolant", "seconds"
|
||
xAxis = -40, 120, 9
|
||
yAxis = 0, 2, 9
|
||
xBins = wwCltBins, coolant
|
||
yBins = wwTauCltValues
|
||
gauge = CLTGauge
|
||
|
||
curve = wwTauMapCurve, "Evap time vs. MAP"
|
||
columnLabel = "MAP", "mult"
|
||
xAxis = 0, 100, 5
|
||
yAxis = 0, 2, 9
|
||
xBins = wwMapBins, MAPValue
|
||
yBins = wwTauMapValues
|
||
gauge = MAPGauge
|
||
|
||
curve = wwBetaCltCurve, "Impact fraction vs. CLT"
|
||
columnLabel = "coolant", "fraction"
|
||
xAxis = -40, 120, 9
|
||
yAxis = 0, 2, 9
|
||
xBins = wwCltBins, coolant
|
||
yBins = wwBetaCltValues
|
||
gauge = CLTGauge
|
||
|
||
curve = wwBetaMapCurve, "Impact fraction vs. MAP"
|
||
columnLabel = "MAP", "mult"
|
||
xAxis = 0, 100, 5
|
||
yAxis = 0, 2, 9
|
||
xBins = wwMapBins, MAPValue
|
||
yBins = wwBetaMapValues
|
||
gauge = MAPGauge
|
||
|
||
curve = tchargeCurve, "Charge temperature estimation coefficient"
|
||
columnLabel = "flow", "coefficient"
|
||
xAxis = 0, 500, 6
|
||
yAxis = 0, 100, 5
|
||
xBins = tchargeBins, mafEstimate
|
||
yBins = tchargeValues
|
||
gauge = tChargeGauge
|
||
|
||
curve = tccLockCurve, "TCC Lock Curve"
|
||
columnLabel = "TPS", "Lock Speed", "Unlock Speed"
|
||
xAxis = 0, 100, 10
|
||
yAxis = 0, 100, 10
|
||
xBins = tcu_tccTpsBins, TPSValue
|
||
yBins = tcu_tccLockSpeed
|
||
yBins = tcu_tccUnlockSpeed
|
||
gauge = TPSGauge
|
||
|
||
curve = shiftSpeedCurve, "Automatic Shift Points"
|
||
columnLabel = "Throttle", ""
|
||
xAxis = 0, 100, 10
|
||
yAxis = 0, 200, 10
|
||
xBins = tcu_shiftTpsBins, TPSValue
|
||
yBins = tcu_shiftSpeed12
|
||
yBins = tcu_shiftSpeed23
|
||
yBins = tcu_shiftSpeed34
|
||
yBins = tcu_shiftSpeed21
|
||
yBins = tcu_shiftSpeed32
|
||
yBins = tcu_shiftSpeed43
|
||
lineLabel = "1->2"
|
||
lineLabel = "2->3"
|
||
lineLabel = "3->4"
|
||
lineLabel = "2->1"
|
||
lineLabel = "3->2"
|
||
lineLabel = "4->3"
|
||
|
||
curve = pcPerGearCurve, "Transmission Line Pressure Control"
|
||
columnLabel = "Airmass", ""
|
||
xAxis = 0, 5, 10
|
||
yAxis = 0, 100, 10
|
||
xBins = tcu_pcAirmassBins, mafEstimate
|
||
yBins = tcu_pcValsR
|
||
yBins = tcu_pcValsN
|
||
yBins = tcu_pcVals1
|
||
yBins = tcu_pcVals2
|
||
yBins = tcu_pcVals3
|
||
yBins = tcu_pcVals4
|
||
lineLabel = "R%"
|
||
lineLabel = "N%"
|
||
lineLabel = "1%"
|
||
lineLabel = "2%"
|
||
lineLabel = "3%"
|
||
lineLabel = "4%"
|
||
|
||
curve = pcPerShiftCurve, "Transmission Line Pressure Control - Shift"
|
||
columnLabel = "Airmass", ""
|
||
xAxis = 0, 5, 10
|
||
yAxis = 0, 100, 10
|
||
xBins = tcu_pcAirmassBins, mafEstimate
|
||
yBins = tcu_pcVals12
|
||
yBins = tcu_pcVals23
|
||
yBins = tcu_pcVals34
|
||
yBins = tcu_pcVals21
|
||
yBins = tcu_pcVals32
|
||
yBins = tcu_pcVals43
|
||
lineLabel = "1->2%"
|
||
lineLabel = "2->3%"
|
||
lineLabel = "3->4%"
|
||
lineLabel = "2->1%"
|
||
lineLabel = "3->2%"
|
||
lineLabel = "4->3%"
|
||
|
||
curve = 32Curve, "3-2 Shift Solenoid Percent by Speed"
|
||
columnLabel = "Speed", "%"
|
||
xAxis = 0, 200, 20
|
||
yAxis = 0, 100, 10
|
||
xBins = tcu_32SpeedBins, vehicleSpeedKph
|
||
yBins = tcu_32Vals
|
||
|
||
curve = rangeMatrix, "Range Switch Input Matrix"
|
||
columnLabel = "Pin", ""
|
||
xAxis = 0, 6, 6
|
||
yAxis = 0, 3, 3
|
||
xBins = rangeInputArray
|
||
yBins = tcu_rangeP
|
||
yBins = tcu_rangeR
|
||
yBins = tcu_rangeN
|
||
yBins = tcu_rangeD
|
||
yBins = tcu_rangeM
|
||
yBins = tcu_rangeM3
|
||
yBins = tcu_rangeM2
|
||
yBins = tcu_rangeM1
|
||
yBins = tcu_rangePlus
|
||
yBins = tcu_rangeMinus
|
||
yBins = tcu_rangeLow
|
||
lineLabel = "Park"
|
||
lineLabel = "Reverse"
|
||
lineLabel = "Neutral"
|
||
lineLabel = "Drive"
|
||
lineLabel = "Manual"
|
||
lineLabel = "Manual 3rd"
|
||
lineLabel = "Manual 2nd"
|
||
lineLabel = "Manual 1st"
|
||
lineLabel = "Manual +"
|
||
lineLabel = "Manual -"
|
||
lineLabel = "Low"
|
||
|
||
curve = ignAdder1Bias, "Ignition adder 1 bias"
|
||
columnLabel = "param", "bias"
|
||
xAxis = 0, 100, 11
|
||
yAxis = 0, 100, 5
|
||
xBins = ignBlends1_blendBins, ignBlendParameter1
|
||
yBins = ignBlends1_blendValues
|
||
|
||
curve = ignAdder2Bias, "Ignition adder 2 bias"
|
||
columnLabel = "param", "bias"
|
||
xAxis = 0, 100, 11
|
||
yAxis = 0, 100, 5
|
||
xBins = ignBlends2_blendBins, ignBlendParameter2
|
||
yBins = ignBlends2_blendValues
|
||
|
||
curve = ignAdder3Bias, "Ignition adder 3 bias"
|
||
columnLabel = "param", "bias"
|
||
xAxis = 0, 100, 11
|
||
yAxis = 0, 100, 5
|
||
xBins = ignBlends3_blendBins, ignBlendParameter3
|
||
yBins = ignBlends3_blendValues
|
||
|
||
curve = ignAdder4Bias, "Ignition adder 4 bias"
|
||
columnLabel = "param", "bias"
|
||
xAxis = 0, 100, 11
|
||
yAxis = 0, 100, 5
|
||
xBins = ignBlends4_blendBins, ignBlendParameter4
|
||
yBins = ignBlends4_blendValues
|
||
|
||
curve = veBlend1Bias, "VE blend 1 bias"
|
||
columnLabel = "param", "bias"
|
||
xAxis = 0, 100, 11
|
||
yAxis = 0, 100, 5
|
||
xBins = veBlends1_blendBins, veBlendParameter1
|
||
yBins = veBlends1_blendValues
|
||
|
||
curve = veBlend2Bias, "VE blend 2 bias"
|
||
columnLabel = "param", "bias"
|
||
xAxis = 0, 100, 11
|
||
yAxis = 0, 100, 5
|
||
xBins = veBlends2_blendBins, veBlendParameter2
|
||
yBins = veBlends2_blendValues
|
||
|
||
curve = veBlend3Bias, "VE blend 3 bias"
|
||
columnLabel = "param", "bias"
|
||
xAxis = 0, 100, 11
|
||
yAxis = 0, 100, 5
|
||
xBins = veBlends3_blendBins, veBlendParameter3
|
||
yBins = veBlends3_blendValues
|
||
|
||
curve = veBlend4Bias, "VE blend 4 bias"
|
||
columnLabel = "param", "bias"
|
||
xAxis = 0, 100, 11
|
||
yAxis = 0, 100, 5
|
||
xBins = veBlends4_blendBins, veBlendParameter4
|
||
yBins = veBlends4_blendValues
|
||
|
||
curve = boostOpenLoopBlend1Bias, "Boost open loop blend 1 bias"
|
||
columnLabel = "param", "bias"
|
||
xAxis = 0, 100, 11
|
||
yAxis = 0, 100, 5
|
||
xBins = boostOpenLoopBlends1_blendBins, boostOpenLoopBlendParameter1
|
||
yBins = boostOpenLoopBlends1_blendValues
|
||
|
||
curve = boostOpenLoopBlend2Bias, "Boost open loop blend 2 bias"
|
||
columnLabel = "param", "bias"
|
||
xAxis = 0, 100, 11
|
||
yAxis = 0, 100, 5
|
||
xBins = boostOpenLoopBlends2_blendBins, boostOpenLoopBlendParameter2
|
||
yBins = boostOpenLoopBlends2_blendValues
|
||
|
||
curve = boostClosedLoopBlend1Bias, "Boost Closed loop blend 1 bias"
|
||
columnLabel = "param", "bias"
|
||
xAxis = 0, 100, 11
|
||
yAxis = 0, 100, 5
|
||
xBins = boostClosedLoopBlends1_blendBins, boostClosedLoopBlendParameter1
|
||
yBins = boostClosedLoopBlends1_blendValues
|
||
|
||
curve = boostClosedLoopBlend2Bias, "Boost Closed loop blend 2 bias"
|
||
columnLabel = "param", "bias"
|
||
xAxis = 0, 100, 11
|
||
yAxis = 0, 100, 5
|
||
xBins = boostClosedLoopBlends2_blendBins, boostClosedLoopBlendParameter2
|
||
yBins = boostClosedLoopBlends2_blendValues
|
||
|
||
curve = throttleEffectiveArea, "Throttle effective area"
|
||
columnLabel = "TPS", "normalized flow"
|
||
xAxis = 0, 100, 11
|
||
yAxis = 0, 2, 5
|
||
xBins = throttleEstimateEffectiveAreaBins, TPSValue
|
||
yBins = throttleEstimateEffectiveAreaValues
|
||
gauge = TPSGauge
|
||
|
||
curve = boostOpenLoopGearAdderCurve, "Boost Open Loop gear-based modifier"
|
||
columnLabel = "Gear", "duty cycle"
|
||
xAxis = 0, 100, 11
|
||
yAxis = 0, 100, 5
|
||
xBins = gearCountArray, tcuCurrentGear
|
||
yBins = gearBasedOpenLoopBoostAdder
|
||
|
||
curve = minimumOilPressure, "Minimum oil pressure"
|
||
columnLabel = "RPM", "min pressure"
|
||
xAxis = 0, 8000, 9
|
||
yAxis = 0, 500, 6
|
||
xBins = minimumOilPressureBins, RPMValue
|
||
yBins = minimumOilPressureValues
|
||
gauge = OilPressGauge
|
||
|
||
|
||
[TableEditor]
|
||
; table_id, map3d_id, "title", page
|
||
@@BOARD_TABLES_FROM_FILE@@
|
||
|
||
; move table into a panel? or find a way to add a link to https://rusefi.com/s/tpstps https://github.com/rusefi/rusefi/issues/5130
|
||
table = tpsTpsAccelTbl, tpsTpsAccelMap, "TPS/TPS Acceleration Extra Fuel(ms)", 1
|
||
topicHelp = "tpstpsHelp"
|
||
xBins = tpsTpsAccelFromRpmBins, tpsFrom
|
||
yBins = tpsTpsAccelToRpmBins, tpsTo
|
||
zBins = tpsTpsAccelTable
|
||
|
||
table = tractionEtbTableTbl, tractionEtb, "Traction Control ETB drop", 1
|
||
xBins = tractionControlSpeedBins, vehicleSpeedKph
|
||
yBins = tractionControlSlipBins, wheelSlipRatio
|
||
zBins = tractionControlEtbDrop
|
||
|
||
table = tractionTimingTableTbl, tractionEtb, "Traction Control Timing drop", 1
|
||
xBins = tractionControlSpeedBins, vehicleSpeedKph
|
||
yBins = tractionControlSlipBins, wheelSlipRatio
|
||
zBins = tractionControlTimingDrop
|
||
|
||
table = tractionIgnitionSkipTableTbl, tractionEtb, "Traction Control Skip Ignition", 1
|
||
xBins = tractionControlSpeedBins, vehicleSpeedKph
|
||
yBins = tractionControlSlipBins, wheelSlipRatio
|
||
zBins = tractionControlIgnitionSkip
|
||
|
||
table = boostTableTbl, boostMapOpen, "Boost control duty cycle (open loop)", 1
|
||
xyLabels = "RPMValue", {bitStringValue(pwmAxisLabels, boostOpenLoopYAxis)}
|
||
xBins = boostRpmBins, RPMValue
|
||
yBins = boostLoadBins, TPSValue
|
||
zBins = boostTableOpenLoop
|
||
|
||
table = boostClosedTbl, boostMapClosed, "Boost control target / Closed Loop (kPa)", 1
|
||
xBins = boostRpmBins, RPMValue
|
||
yBins = boostLoadBins, TPSValue
|
||
zBins = boostTableClosedLoop
|
||
|
||
table = vvtTable1Tbl, vvtTable1Map, "Intake VVT closed loop Target", 1
|
||
xBins = vvtTable1RpmBins, RPMValue
|
||
yBins = vvtTable1LoadBins, fuelingLoad
|
||
zBins = vvtTable1
|
||
|
||
table = vvtTable2Tbl, vvtTable2Map, "Exhaust VVT closed loop Target", 1
|
||
xBins = vvtTable2RpmBins, RPMValue
|
||
yBins = vvtTable2LoadBins, fuelingLoad
|
||
zBins = vvtTable2
|
||
|
||
|
||
table = scriptTable1Tbl, scriptTable1Map, "Script Table #1", 1
|
||
xBins = scriptTable1RpmBins, RPMValue
|
||
yBins = scriptTable1LoadBins, fuelingLoad
|
||
zBins = scriptTable1
|
||
|
||
table = scriptTable2Tbl, scriptTable2Map, "Script Table #2", 1
|
||
xBins = scriptTable2RpmBins, RPMValue
|
||
yBins = scriptTable2LoadBins, fuelingLoad
|
||
zBins = scriptTable2
|
||
|
||
table = scriptTable3Tbl, scriptTable3Map, "Script Table #3", 1
|
||
xBins = scriptTable3RpmBins, RPMValue
|
||
yBins = scriptTable3LoadBins, fuelingLoad
|
||
zBins = scriptTable3
|
||
|
||
table = scriptTable4Tbl, scriptTable4Map, "Script Table #4", 1
|
||
xBins = scriptTable4RpmBins, RPMValue
|
||
yBins = scriptTable4LoadBins, fuelingLoad
|
||
zBins = scriptTable4
|
||
|
||
table = IgnRetardTableALS, IgnRetardALS, "Ignition adjustment", 1
|
||
xBins = alsIgnRetardrpmBins, RPMValue
|
||
yBins = alsIgnRetardLoadBins, TPSValue
|
||
zBins = ALSTimingRetardTable
|
||
gridHeight = 4.0
|
||
gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees.
|
||
upDownLabel = "(RICHER)", "(LEANER)"
|
||
|
||
table = FuelAdderTableALS, FuelAdderALS, "Fuel adjustment", 1
|
||
xBins = alsFuelAdjustmentrpmBins, RPMValue
|
||
yBins = alsFuelAdjustmentLoadBins, TPSValue
|
||
zBins = ALSFuelAdjustment
|
||
gridHeight = 4.0
|
||
gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees.
|
||
upDownLabel = "(RICHER)", "(LEANER)"
|
||
|
||
table = IgnSkipTableALS, IgnSkipALS, "Ignition Skip", 1
|
||
; constant, variable
|
||
xBins = alsIgnSkiprpmBins, RPMValue
|
||
yBins = alsIgnSkipLoadBins, TPSValue
|
||
zBins = ALSIgnSkipTable
|
||
gridHeight = 4.0
|
||
gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees.
|
||
upDownLabel = "(RICHER)", "(LEANER)"
|
||
|
||
table = baroCorrTbl, baroCorrMap, "Baro Correction", 1
|
||
xyLabels = "RPM", "Ignition Load"
|
||
xBins = baroCorrRpmBins, RPMValue
|
||
yBins = baroCorrPressureBins, baroPressure
|
||
zBins = baroCorrTable
|
||
gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees.
|
||
upDownLabel = "(RICHER)", "(LEANER)"
|
||
|
||
table = ignitionTableTbl, ignitionTableMap, "Ignition Table", 1
|
||
xyLabels = "RPM", "Ignition Load"
|
||
xBins = ignitionRpmBins, RPMValue
|
||
yBins = ignitionLoadBins, ignitionLoad
|
||
zBins = ignitionTable
|
||
gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees.
|
||
upDownLabel = "(RICHER)", "(LEANER)"
|
||
|
||
table = ignAdder1Table, ignAdder1Map, "Ignition adder 1", 1
|
||
xyLabels = "RPM", "Ignition Load"
|
||
xBins = ignBlends1_rpmBins, RPMValue
|
||
yBins = ignBlends1_loadBins, ignitionLoad
|
||
zBins = ignBlends1_table
|
||
gridOrient = 250, 0, 340
|
||
|
||
table = ignAdder2Table, ignAdder2Map, "Ignition adder 2", 1
|
||
xyLabels = "RPM", "Ignition Load"
|
||
xBins = ignBlends2_rpmBins, RPMValue
|
||
yBins = ignBlends2_loadBins, ignitionLoad
|
||
zBins = ignBlends2_table
|
||
gridOrient = 250, 0, 340
|
||
|
||
table = ignAdder3Table, ignAdder3Map, "Ignition adder 3", 1
|
||
xyLabels = "RPM", "Ignition Load"
|
||
xBins = ignBlends3_rpmBins, RPMValue
|
||
yBins = ignBlends3_loadBins, ignitionLoad
|
||
zBins = ignBlends3_table
|
||
gridOrient = 250, 0, 340
|
||
|
||
table = ignAdder4Table, ignAdder4Map, "Ignition adder 4", 1
|
||
xyLabels = "RPM", "Ignition Load"
|
||
xBins = ignBlends4_rpmBins, RPMValue
|
||
yBins = ignBlends4_loadBins, ignitionLoad
|
||
zBins = ignBlends4_table
|
||
gridOrient = 250, 0, 340
|
||
|
||
table = veBlend1Table, veBlend1Map, "VE blend 1", 1
|
||
xyLabels = "RPM", "Fueling Load"
|
||
xBins = veBlends1_rpmBins, RPMValue
|
||
yBins = veBlends1_loadBins, fuelingLoad
|
||
zBins = veBlends1_table
|
||
gridOrient = 250, 0, 340
|
||
|
||
table = veBlend2Table, veBlend2Map, "VE blend 2", 1
|
||
xyLabels = "RPM", "Fueling Load"
|
||
xBins = veBlends2_rpmBins, RPMValue
|
||
yBins = veBlends2_loadBins, fuelingLoad
|
||
zBins = veBlends2_table
|
||
gridOrient = 250, 0, 340
|
||
|
||
table = veBlend3Table, veBlend3Map, "VE blend 3", 1
|
||
xyLabels = "RPM", "Fueling Load"
|
||
xBins = veBlends3_rpmBins, RPMValue
|
||
yBins = veBlends3_loadBins, fuelingLoad
|
||
zBins = veBlends3_table
|
||
gridOrient = 250, 0, 340
|
||
|
||
table = veBlend4Table, veBlend4Map, "VE blend 4", 1
|
||
xyLabels = "RPM", "Fueling Load"
|
||
xBins = veBlends4_rpmBins, RPMValue
|
||
yBins = veBlends4_loadBins, fuelingLoad
|
||
zBins = veBlends4_table
|
||
gridOrient = 250, 0, 340
|
||
|
||
table = boostOpenBlend1Table, boostOpenBlend1Map, "Boost open loop blend 1", 1
|
||
xyLabels = "RPM", "TPS"
|
||
xBins = boostOpenLoopBlends1_rpmBins, RPMValue
|
||
yBins = boostOpenLoopBlends1_loadBins, TPSValue
|
||
zBins = boostOpenLoopBlends1_table
|
||
gridOrient = 250, 0, 340
|
||
|
||
table = boostOpenBlend2Table, boostOpenBlend2Map, "Boost open loop blend 2", 1
|
||
xyLabels = "RPM", "TPS"
|
||
xBins = boostOpenLoopBlends2_rpmBins, RPMValue
|
||
yBins = boostOpenLoopBlends2_loadBins, TPSValue
|
||
zBins = boostOpenLoopBlends2_table
|
||
gridOrient = 250, 0, 340
|
||
|
||
table = boostClosedBlend1Table, boostClosedBlend1Map, "Boost closed loop blend 1", 1
|
||
xyLabels = "RPM", "TPS"
|
||
xBins = boostClosedLoopBlends1_rpmBins, RPMValue
|
||
yBins = boostClosedLoopBlends1_loadBins, TPSValue
|
||
zBins = boostClosedLoopBlends1_table
|
||
gridOrient = 250, 0, 340
|
||
|
||
table = boostClosedBlend2Table, boostClosedBlend2Map, "Boost closed loop blend 2", 1
|
||
xyLabels = "RPM", "TPS"
|
||
xBins = boostClosedLoopBlends2_rpmBins, RPMValue
|
||
yBins = boostClosedLoopBlends2_loadBins, TPSValue
|
||
zBins = boostClosedLoopBlends2_table
|
||
gridOrient = 250, 0, 340
|
||
|
||
table = ignitionIatCorrTableTbl, ignitionIatCorrTableMap, "Ignition Intake Air Temp correction", 1
|
||
xyLabels = "Air Temp", "Ignition Load"
|
||
xBins = ignitionIatCorrTempBins, intake
|
||
yBins = ignitionIatCorrLoadBins, ignitionLoad
|
||
zBins = ignitionIatCorrTable
|
||
; gridHeight = 2.0
|
||
gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees.
|
||
upDownLabel = "(RICHER)", "(LEANER)"
|
||
|
||
table = torqueTableTbl, torqueTableMap, "Engine Torque", 1
|
||
xBins = torqueRpmBins, RPMValue
|
||
yBins = torqueLoadBins, veTableYAxis
|
||
zBins = torqueTable
|
||
|
||
table = veTableTbl, veTableMap, @@VE_TABLE_NAME@@, 1
|
||
xyLabels = "RPM", "load"
|
||
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 = idleVeTableTbl, idleVeTable, "Idle VE"
|
||
xyLabels = "RPM", "load"
|
||
xBins = idleVeRpmBins, RPMValue
|
||
yBins = idleVeLoadBins, veTableYAxis
|
||
zBins = idleVeTable
|
||
gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees.
|
||
upDownLabel = "(RICHER)", "(LEANER)"
|
||
|
||
table = fuelTrimTbl1, fuelTrimMap1, "Fuel trim cyl 1", 1
|
||
xBins = fuelTrimRpmBins, RPMValue
|
||
yBins = fuelTrimLoadBins, veTableYAxis
|
||
zBins = fuelTrims1_table
|
||
upDownLabel = "(RICHER)", "(LEANER)"
|
||
|
||
table = fuelTrimTbl2, fuelTrimMap2, "Fuel trim cyl 2", 1
|
||
xBins = fuelTrimRpmBins, RPMValue
|
||
yBins = fuelTrimLoadBins, veTableYAxis
|
||
zBins = fuelTrims2_table
|
||
upDownLabel = "(RICHER)", "(LEANER)"
|
||
|
||
table = fuelTrimTbl3, fuelTrimMap3, "Fuel trim cyl 3", 1
|
||
xBins = fuelTrimRpmBins, RPMValue
|
||
yBins = fuelTrimLoadBins, veTableYAxis
|
||
zBins = fuelTrims3_table
|
||
upDownLabel = "(RICHER)", "(LEANER)"
|
||
|
||
table = fuelTrimTbl4, fuelTrimMap4, "Fuel trim cyl 4", 1
|
||
xBins = fuelTrimRpmBins, RPMValue
|
||
yBins = fuelTrimLoadBins, veTableYAxis
|
||
zBins = fuelTrims4_table
|
||
upDownLabel = "(RICHER)", "(LEANER)"
|
||
|
||
table = fuelTrimTbl5, fuelTrimMap5, "Fuel trim cyl 5", 1
|
||
xBins = fuelTrimRpmBins, RPMValue
|
||
yBins = fuelTrimLoadBins, veTableYAxis
|
||
zBins = fuelTrims5_table
|
||
upDownLabel = "(RICHER)", "(LEANER)"
|
||
|
||
table = fuelTrimTbl6, fuelTrimMap6, "Fuel trim cyl 6", 1
|
||
xBins = fuelTrimRpmBins, RPMValue
|
||
yBins = fuelTrimLoadBins, veTableYAxis
|
||
zBins = fuelTrims6_table
|
||
upDownLabel = "(RICHER)", "(LEANER)"
|
||
|
||
table = fuelTrimTbl7, fuelTrimMap7, "Fuel trim cyl 7", 1
|
||
xBins = fuelTrimRpmBins, RPMValue
|
||
yBins = fuelTrimLoadBins, veTableYAxis
|
||
zBins = fuelTrims7_table
|
||
upDownLabel = "(RICHER)", "(LEANER)"
|
||
|
||
table = fuelTrimTbl8, fuelTrimMap8, "Fuel trim cyl 8", 1
|
||
xBins = fuelTrimRpmBins, RPMValue
|
||
yBins = fuelTrimLoadBins, veTableYAxis
|
||
zBins = fuelTrims8_table
|
||
upDownLabel = "(RICHER)", "(LEANER)"
|
||
|
||
table = fuelTrimTbl9, fuelTrimMap9, "Fuel trim cyl 9", 1
|
||
xBins = fuelTrimRpmBins, RPMValue
|
||
yBins = fuelTrimLoadBins, veTableYAxis
|
||
zBins = fuelTrims9_table
|
||
upDownLabel = "(RICHER)", "(LEANER)"
|
||
|
||
table = fuelTrimTbl10, fuelTrimMap10, "Fuel trim cyl 10", 1
|
||
xBins = fuelTrimRpmBins, RPMValue
|
||
yBins = fuelTrimLoadBins, veTableYAxis
|
||
zBins = fuelTrims10_table
|
||
upDownLabel = "(RICHER)", "(LEANER)"
|
||
|
||
table = fuelTrimTbl11, fuelTrimMap11, "Fuel trim cyl 11", 1
|
||
xBins = fuelTrimRpmBins, RPMValue
|
||
yBins = fuelTrimLoadBins, veTableYAxis
|
||
zBins = fuelTrims11_table
|
||
upDownLabel = "(RICHER)", "(LEANER)"
|
||
|
||
table = fuelTrimTbl12, fuelTrimMap12, "Fuel trim cyl 12", 1
|
||
xBins = fuelTrimRpmBins, RPMValue
|
||
yBins = fuelTrimLoadBins, veTableYAxis
|
||
zBins = fuelTrims12_table
|
||
upDownLabel = "(RICHER)", "(LEANER)"
|
||
|
||
table = ignTrimTbl1, ignTrimMap1, "Ign trim cyl 1", 1
|
||
xBins =ignTrimRpmBins, RPMValue
|
||
yBins =ignTrimLoadBins, ignitionLoad
|
||
zBins =ignTrims1_table
|
||
|
||
table = ignTrimTbl2, ignTrimMap2, "Ign trim cyl 2", 1
|
||
xBins =ignTrimRpmBins, RPMValue
|
||
yBins =ignTrimLoadBins, ignitionLoad
|
||
zBins =ignTrims2_table
|
||
|
||
table = ignTrimTbl3, ignTrimMap3, "Ign trim cyl 3", 1
|
||
xBins =ignTrimRpmBins, RPMValue
|
||
yBins =ignTrimLoadBins, ignitionLoad
|
||
zBins =ignTrims3_table
|
||
|
||
table = ignTrimTbl4, ignTrimMap4, "Ign trim cyl 4", 1
|
||
xBins =ignTrimRpmBins, RPMValue
|
||
yBins =ignTrimLoadBins, ignitionLoad
|
||
zBins =ignTrims4_table
|
||
|
||
table = ignTrimTbl5, ignTrimMap5, "Ign trim cyl 5", 1
|
||
xBins =ignTrimRpmBins, RPMValue
|
||
yBins =ignTrimLoadBins, ignitionLoad
|
||
zBins =ignTrims5_table
|
||
|
||
table = ignTrimTbl6, ignTrimMap6, "Ign trim cyl 6", 1
|
||
xBins =ignTrimRpmBins, RPMValue
|
||
yBins =ignTrimLoadBins, ignitionLoad
|
||
zBins =ignTrims6_table
|
||
|
||
table = ignTrimTbl7, ignTrimMap7, "Ign trim cyl 7", 1
|
||
xBins =ignTrimRpmBins, RPMValue
|
||
yBins =ignTrimLoadBins, ignitionLoad
|
||
zBins =ignTrims7_table
|
||
|
||
table = ignTrimTbl8, ignTrimMap8, "Ign trim cyl 8", 1
|
||
xBins =ignTrimRpmBins, RPMValue
|
||
yBins =ignTrimLoadBins, ignitionLoad
|
||
zBins =ignTrims8_table
|
||
|
||
table = ignTrimTbl9, ignTrimMap9, "Ign trim cyl 9", 1
|
||
xBins =ignTrimRpmBins, RPMValue
|
||
yBins =ignTrimLoadBins, ignitionLoad
|
||
zBins =ignTrims9_table
|
||
|
||
table = ignTrimTbl10, ignTrimMap10, "Ign trim cyl 10", 1
|
||
xBins = ignTrimRpmBins, RPMValue
|
||
yBins = ignTrimLoadBins, ignitionLoad
|
||
zBins = ignTrims10_table
|
||
|
||
table = ignTrimTbl11, ignTrimMap11, "Ign trim cyl 11", 1
|
||
xBins = ignTrimRpmBins, RPMValue
|
||
yBins = ignTrimLoadBins, ignitionLoad
|
||
zBins = ignTrims11_table
|
||
|
||
table = ignTrimTbl12, ignTrimMap12, "Ign trim cyl 12", 1
|
||
xBins = ignTrimRpmBins, RPMValue
|
||
yBins = ignTrimLoadBins, ignitionLoad
|
||
zBins = ignTrims12_table
|
||
|
||
table = mapEstimateTableTbl, mapEstimateTableMap, "MAP Estimate", 1
|
||
xBins = mapEstimateRpmBins, RPMValue
|
||
yBins = mapEstimateTpsBins, TPSValue
|
||
zBins = mapEstimateTable
|
||
|
||
table = injPhaseTableTbl, injPhaseTableMap, "Injection Phase", 1
|
||
topicHelp = "fuelHelp"
|
||
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
|
||
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)"
|
||
|
||
table = throttle2TrimTbl, throttle2TrimMap, "ETB #2 Trim", 1
|
||
xBins = throttle2TrimRpmBins, RPMValue
|
||
yBins = throttle2TrimTpsBins, TPSValue
|
||
zBins = throttle2TrimTable
|
||
gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees.
|
||
|
||
table = maxKnockRetardTbl, maxKnockRetardMap, "Max knock retard", 1
|
||
xBins = maxKnockRetardRpmBins, RPMValue
|
||
yBins = maxKnockRetardLoadBins, TPSValue
|
||
zBins = maxKnockRetardTable
|
||
gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees.
|
||
|
||
#if LAMBDA
|
||
table = lambdaTableTbl, lambdaTableMap, "Target Lambda Table", 1
|
||
#else
|
||
table = afrTableTbl, afrTableMap, "Target AFR Table", 1
|
||
#endif
|
||
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 = lambdaMaxDeviationTableTbl, lambdaMaxDeviationTableMap, "Maximum Lambda Deviation", 1
|
||
xyLabels = "RPM", ""
|
||
xBins = lambdaMaxDeviationRpmBins, RPMValue
|
||
yBins = lambdaMaxDeviationLoadBins, afrTableYAxis
|
||
zBins = lambdaMaxDeviationTable
|
||
|
||
table = iacPidMultTbl, iacPidMultMap, "IAC PID Multiplier Table", 1
|
||
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 = {bitStringValue(pwmAxisLabels, gppwm1_rpmAxis)}, {bitStringValue(pwmAxisLabels, gppwm1_loadAxis)}
|
||
xBins = gppwm1_rpmBins, gppwmXAxis1
|
||
yBins = gppwm1_loadBins, gppwmYAxis1
|
||
zBins = gppwm1_table
|
||
|
||
table = gppwm2Tbl, gppwm2Map, "GP#2", 1
|
||
xyLabels = {bitStringValue(pwmAxisLabels, gppwm2_rpmAxis)}, {bitStringValue(pwmAxisLabels, gppwm2_loadAxis)}
|
||
xBins = gppwm2_rpmBins, gppwmXAxis2
|
||
yBins = gppwm2_loadBins, gppwmYAxis2
|
||
zBins = gppwm2_table
|
||
|
||
table = gppwm3Tbl, gppwm3Map, "GP#3", 1
|
||
xyLabels = {bitStringValue(pwmAxisLabels, gppwm3_rpmAxis)}, {bitStringValue(pwmAxisLabels, gppwm3_loadAxis)}
|
||
xBins = gppwm3_rpmBins, gppwmXAxis3
|
||
yBins = gppwm3_loadBins, gppwmYAxis3
|
||
zBins = gppwm3_table
|
||
|
||
table = gppwm4Tbl, gppwm4Map, "GP#4", 1
|
||
xyLabels = {bitStringValue(pwmAxisLabels, gppwm4_rpmAxis)}, {bitStringValue(pwmAxisLabels, gppwm4_loadAxis)}
|
||
xBins = gppwm4_rpmBins, gppwmXAxis4
|
||
yBins = gppwm4_loadBins, gppwmYAxis4
|
||
zBins = gppwm4_table
|
||
|
||
table = stagedInjectionTbl, stagedInjectionMap, "Staged Injection %", 1
|
||
xyLabels = "RPM", ""
|
||
xBins = injectorStagingRpmBins, RPMValue
|
||
yBins = injectorStagingLoadBins, afrTableYAxis
|
||
zBins = injectorStagingTable
|
||
|
||
table = tcuSolenoidTableTbl, tcuSolenoidTableMap, "Solenoids Active By Gear", 1
|
||
xBins = gearCountArray, tcuCurrentGear
|
||
yBins = solenoidCountArray, tcuCurrentGear
|
||
zBins = tcuSolenoidTable
|
||
xyLabels = "Gear", "Solenoid"
|
||
|
||
table = hpfpTargetTable, hpfpTargetTableId, "HPFP Target Fuel Pressure", 1
|
||
xBins = hpfpTargetRpmBins, RPMValue
|
||
yBins = hpfpTargetLoadBins, veTableYAxis
|
||
zBins = hpfpTarget
|
||
|
||
table = hpfpCompensationTable, hpfpCompensationTableId, "HPFP Pump Compensation Factor", 1
|
||
xBins = hpfpCompensationRpmBins, RPMValue
|
||
yBins = hpfpCompensationLoadBins, running_fuel
|
||
zBins = hpfpCompensation
|
||
|
||
table = postCrankingEnrichmentTbl, postCrankingEnrichmentMap, "After start enrichment", 1
|
||
xyLabels = "Engine Cycles", "Coolant Temp"
|
||
xBins = postCrankingDurationBins, revolutionCounterSinceStart
|
||
yBins = postCrankingCLTBins, coolant
|
||
zBins = postCrankingFactor
|
||
|
||
table = crankingCycleFuelMultTbl, crankingCycleFuelMultMap, "Cranking Cycle Multiplier", 1
|
||
xyLabels = "Engine Cycles", "Coolant Temp"
|
||
xBins = crankingCycleBins, revolutionCounterSinceStart
|
||
yBins = crankingCycleFuelCltBins, coolant
|
||
zBins = crankingCycleFuelCoef
|
||
|
||
table = alternatorVoltageTargetTableTbl, alternatorVoltageTargetTableMap, "Alternator Voltage Target Table", 1
|
||
xBins = alternatorVoltageTargetRpmBins, RPMValue
|
||
yBins = alternatorVoltageTargetLoadBins, ignitionLoad
|
||
zBins = alternatorVoltageTargetTable
|
||
|
||
[GaugeConfigurations]
|
||
@@LIVE_DATA_GAUGES_FROM_FILE@@
|
||
@@BOARD_GAUGES_FROM_FILE@@
|
||
|
||
;Name Var Title Units Lo,Hi LowDanger,LowWarning,HiWarning,HiDanger vd,ld
|
||
gaugeCategory = Trigger
|
||
triggerErrorsCounterGauge = totalTriggerErrorCounter, "Trigger error count", "count", 0, 15000, 0, 0, 10, 300, 0, 0
|
||
triggerSyncGapRatioGauge = triggerSyncGapRatio0,"triggerSyncGapRatio", "", -10000,10000, -10000,-10000, 10000,10000, 3,3
|
||
triggerStateIndexGauge = triggerStateIndex0,"triggerStateIndex", "", -10000,10000, -10000,-10000, 10000,10000, 3,3
|
||
vvtSyncGapRatioGauge = vvtSyncGapRatio0,"vvtSyncGapRatio", "", -10000,10000, -10000,-10000, 10000,10000, 3,3
|
||
vvtStateIndexGauge = vvtStateIndex0,"vvtStateIndex", "", -10000,10000, -10000,-10000, 10000,10000, 3,3
|
||
triggerPrimaryFallCounterGauge = triggerPrimaryFall,"triggerPrimaryFall", "", 0,10000.0, 0,10000.0, 0,10000.0, 3,3
|
||
triggerPrimaryRiseCounterGauge = triggerPrimaryRise,"triggerPrimaryRise", "", 0,10000.0, 0,10000.0, 0,10000.0, 3,3
|
||
triggerSecondaryFallCounterGauge = triggerSecondaryFall,"triggerSecondaryFall", "", 0,10000.0, 0,10000.0, 0,10000.0, 3,3
|
||
triggerSecondaryRiseCounterGauge = triggerSecondaryRise,"triggerSecondaryRise", "", 0,10000.0, 0,10000.0, 0,10000.0, 3,3
|
||
triggerVvtFallCounterGauge = triggerVvtFall,"triggerVvtFall", "", 0,10000.0, 0,10000.0, 0,10000.0, 3,3
|
||
triggerVvtRiseCounterGauge = triggerVvtRise,"triggerVvtRise", "", 0,10000.0, 0,10000.0, 0,10000.0, 3,3
|
||
triggerVvt2FallCounterGauge = triggerVvt2Fall,"triggerVvt2Fall", "", 0,10000.0, 0,10000.0, 0,10000.0, 3,3
|
||
triggerVvt2RiseCounterGauge = triggerVvt2Rise,"triggerVvt2Rise", "", 0,10000.0, 0,10000.0, 0,10000.0, 3,3
|
||
currentEnginePhaseGauge = currentEngineDecodedPhase, "Engine Phase", "deg", 0, 720, 0, 0, 720, 720, 0, 0
|
||
|
||
gaugeCategory = Test Bench
|
||
testBenchIterGauge = testBenchIter, "Test Bench Iterations", "count", -10, {benchTestCount + 10}, -5, 0, {benchTestCount}, {benchTestCount + 5}, 1, 1
|
||
|
||
gaugeCategory = LUA
|
||
luaInvocationCounterGauge = luaInvocationCounter,"luaInvocationCounter", "count", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0
|
||
luaLastCycleDurationGauge = luaLastCycleDuration,"luaLastCycleDuration", "nt", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0
|
||
luaGauges1gauge = luaGauges1, @@GAUGE_NAME_LUA_0@@, "lua", @@GAUGE_LUA_FROM_0@@,@@GAUGE_LUA_TO_0@@, 0, 0, @@GAUGE_LUA_TO_0@@, @@GAUGE_LUA_TO_0@@, 3, 3
|
||
luaGauges2gauge = luaGauges2, @@GAUGE_NAME_LUA_1@@, "lua", @@GAUGE_LUA_FROM_1@@,@@GAUGE_LUA_TO_1@@, 0, 0, @@GAUGE_LUA_TO_1@@, @@GAUGE_LUA_TO_1@@, 3, 3
|
||
luaGauges3gauge = luaGauges3, @@GAUGE_NAME_LUA_2@@, "lua", @@GAUGE_LUA_FROM_2@@,@@GAUGE_LUA_TO_2@@, 0, 0, @@GAUGE_LUA_TO_2@@, @@GAUGE_LUA_TO_2@@, 3, 3
|
||
luaGauges4gauge = luaGauges4, @@GAUGE_NAME_LUA_3@@, "lua", @@GAUGE_LUA_FROM_3@@,@@GAUGE_LUA_TO_3@@, 0, 0, @@GAUGE_LUA_TO_3@@, @@GAUGE_LUA_TO_3@@, 3, 3
|
||
luaGauges5gauge = luaGauges5, @@GAUGE_NAME_LUA_4@@, "lua", @@GAUGE_LUA_FROM_4@@,@@GAUGE_LUA_TO_4@@, 0, 0, @@GAUGE_LUA_TO_4@@, @@GAUGE_LUA_TO_4@@, 3, 3
|
||
luaGauges6gauge = luaGauges6, @@GAUGE_NAME_LUA_5@@, "lua", @@GAUGE_LUA_FROM_5@@,@@GAUGE_LUA_TO_5@@, 0, 0, @@GAUGE_LUA_TO_5@@, @@GAUGE_LUA_TO_5@@, 3, 3
|
||
luaGauges7gauge = luaGauges7, @@GAUGE_NAME_LUA_6@@, "lua", @@GAUGE_LUA_FROM_6@@,@@GAUGE_LUA_TO_6@@, 0, 0, @@GAUGE_LUA_TO_6@@, @@GAUGE_LUA_TO_6@@, 3, 3
|
||
luaGauges8gauge = luaGauges8, @@GAUGE_NAME_LUA_7@@, "lua", @@GAUGE_LUA_FROM_7@@,@@GAUGE_LUA_TO_7@@, 0, 0, @@GAUGE_LUA_TO_7@@, @@GAUGE_LUA_TO_7@@, 3, 3
|
||
|
||
gaugeCategory = Alternator PID
|
||
alternatorStatus_iTermGauge = alternatorStatus_iTerm,"Alternator PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3
|
||
alternatorStatus_dTermGauge = alternatorStatus_dTerm,"Alternator PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3
|
||
alternatorStatus_outputGauge = alternatorStatus_output,"Alternator PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3
|
||
alternatorStatus_errorGauge = alternatorStatus_error,"Alternator PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3
|
||
alternatorStatus_resetCounterGauge = alternatorStatus_resetCounter,"Alternator PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0
|
||
|
||
gaugeCategory = Boost PID
|
||
boostStatus_iTermGauge = boostStatus_iTerm,"Boost PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3
|
||
boostStatus_dTermGauge = boostStatus_dTerm,"Boost PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3
|
||
boostStatus_outputGauge = boostStatus_output,"Boost PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3
|
||
boostStatus_errorGauge = boostStatus_error,"Boost PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3
|
||
boostStatus_resetCounterGauge = boostStatus_resetCounter,"Boost PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0
|
||
|
||
gaugeCategory = Idle
|
||
idlePosSensGauge = idlePositionSensor, @@GAUGE_NAME_IDLE_POSITION@@, "%", 0, 100, 0, 0, 100, 100, 1, 1
|
||
idleAirValvePositionGauge = currentIdlePosition, "Idle position", "%", 0, 100, 0, 0, 100, 100, 1, 1
|
||
idleStatus_iTermGauge = idleStatus_iTerm,"Idle PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3
|
||
idleStatus_dTermGauge = idleStatus_dTerm,"Idle PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3
|
||
idleStatus_outputGauge = idleStatus_output,"Idle PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3
|
||
idleStatus_errorGauge = idleStatus_error,"Idle PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3
|
||
idleStatus_resetCounterGauge = idleStatus_resetCounter,"Idle PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0
|
||
|
||
gaugeCategory = Etb PID
|
||
etbStatus_iTermGauge = etbStatus_iTerm,"ETB 1 PID iTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3
|
||
etbStatus_dTermGauge = etbStatus_dTerm,"ETB 1 PID dTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3
|
||
etbStatus_outputGauge = etbStatus_output,"ETB 1 PID output", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3
|
||
etbStatus_errorGauge = etbStatus_error,"ETB 1 PID error", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3
|
||
etbStatus_resetCounterGauge = etbStatus_resetCounter,"ETB 1 PID resetCounter", "", 0,100.0, 0,100.0, 0,100.0, 0,0
|
||
|
||
wgStatus_iTermGauge = wastegateDcStatus_iTerm,"WG PID iTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3
|
||
wgStatus_dTermGauge = wastegateDcStatus_dTerm,"WG PID dTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3
|
||
wgStatus_outputGauge = wastegateDcStatus_output,"WG PID output", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3
|
||
wgStatus_errorGauge = wastegateDcStatus_error,"WG PID error", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3
|
||
wgStatus_resetCounterGauge = wastegateDcStatus_resetCounter,"WG PID resetCounter", "", 0,100.0, 0,100.0, 0,100.0, 0,0
|
||
|
||
gaugeCategory = CAN
|
||
canReadCounterGauge = canReadCounter,@@GAUGE_NAME_CAN_READ_OK@@, "", 0,64000, 0,64000, 0,64000, 0,0
|
||
canWriteOkGauge = canWriteOk,@@GAUGE_NAME_CAN_WRITE_OK@@, "", 0,64000, 0,64000, 0,64000, 0,0
|
||
canWriteNotOkGauge = canWriteNotOk,@@GAUGE_NAME_CAN_WRITE_ERR@@, "", 0,64000, 0,64000, 0,64000, 0,0
|
||
|
||
gaugeCategory = GDI
|
||
di_nextStartGauge = di_nextStart,"DI: next start", "v", 0.0,100.0, 0.0,100.0, 0.0,100.0, 0,0
|
||
m_requested_pumpGauge = m_requested_pump,"DI: Pump Angle", "deg", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0
|
||
fuel_requested_percentGauge = fuel_requested_percent,"DI: fuel_requested_percent", "v", 0.0,100.0, 0.0,100.0, 0.0,100.0, 0,0
|
||
fuel_requested_percent_piGauge = fuel_requested_percent_pi,"DI: fuel_requested_percent_pi", "v", 0.0,100.0, 0.0,100.0, 0.0,100.0, 0,0
|
||
;todo see comment in HpfpQuantity class definition
|
||
;m_I_sum_percentGauge = m_I_sum_percent,"DI: m_I_sum_percent", "v", 0.0,100.0, 0.0,100.0, 0.0,100.0, 0,0
|
||
;m_pressureTarget_kPaGauge = m_pressureTarget_kPa,"DI: m_pressureTarget_kPa", "v", 0.0,100.0, 0.0,100.0, 0.0,100.0, 0,0
|
||
highFuelPressureGauge = highFuelPressure, @@GAUGE_NAME_FUEL_PRESSURE_HIGH@@, @@GAUGE_NAME_FUEL_PRESSURE_HIGH_UNITS@@, 0, 200, 0, 0, 200, 200, 1, 0
|
||
|
||
gaugeCategory = ECU Status
|
||
warningCounterGauge = warningCounter, @@GAUGE_NAME_WARNING_COUNTER@@, "", 0, 100, 0, 0, 100, 100, 0, 0
|
||
lastErrorCodeGauge = lastErrorCode, @@GAUGE_NAME_LAST_ERROR@@, "", 0, 18000, 0, 0, 18000, 18000, 0, 0
|
||
recentErrorCode1Gauge = recentErrorCode1, "Error#1", "", 0, 18000, 0, 0, 18000, 18000, 0, 0
|
||
recentErrorCode2Gauge = recentErrorCode2, "Error#2", "", 0, 18000, 0, 0, 18000, 18000, 0, 0
|
||
recentErrorCode3Gauge = recentErrorCode3, "Error#3", "", 0, 18000, 0, 0, 18000, 18000, 0, 0
|
||
recentErrorCode4Gauge = recentErrorCode4, "Error#4", "", 0, 18000, 0, 0, 18000, 18000, 0, 0
|
||
recentErrorCode5Gauge = recentErrorCode5, "Error#5", "", 0, 18000, 0, 0, 18000, 18000, 0, 0
|
||
recentErrorCode6Gauge = recentErrorCode6, "Error#6", "", 0, 18000, 0, 0, 18000, 18000, 0, 0
|
||
recentErrorCode7Gauge = recentErrorCode7, "Error#7", "", 0, 18000, 0, 0, 18000, 18000, 0, 0
|
||
recentErrorCode8Gauge = recentErrorCode8, "Error#8", "", 0, 18000, 0, 0, 18000, 18000, 0, 0
|
||
firmwareVersionGauge = firmwareVersion , @@GAUGE_NAME_FW_VERSION@@, "%", 0, 100, 0, 0, 100, 100, 0, 0
|
||
timeSecondsGauge = seconds, @@GAUGE_NAME_UPTIME@@, "sec", 0, 100, 0, 0, 100, 100, 0, 0
|
||
tuneCrc16Gauge = tuneCrc16, @@GAUGE_NAME_TUNE_CRC16@@, "", 0, 64000, 0, 0, 64000, 64000, 0, 0
|
||
rtcUnixEpochTimeGauge = rtcUnixEpochTime, "Epoch Time", "sec", 0, 100, 0, 0, 100, 100, 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, {rpmHardLimit + 2000}, 200, {cranking_rpm}, {rpmHardLimit - 500}, {rpmHardLimit}, 0, 0
|
||
CLTGauge = coolant, "Coolant temp", "C", -40, 140, -15, 1, 95, 110, 1, 1
|
||
IATGauge = intake, "Intake air temp", "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
|
||
afrGasScale1Gauge = afrGasolineScale, @@GAUGE_NAME_AFR_GAS_SCALE@@, "", 10, 19.4, 12, 13, 15, 16, 2, 2
|
||
afrGasScale2Gauge = afr2GasolineScale, @@GAUGE_NAME_AFR2_GAS_SCALE@@, "", 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
|
||
VBattGauge = VBatt, "Battery", "V", 8, 21, 9, 10, 17, 19, 1, 1
|
||
MAPGauge = MAPValue, "MAP", "kPa", 0, 300, 10, 10, 200, 200, 0, 0
|
||
massAirFlowValueGa = mafMeasured, @@GAUGE_NAME_AIR_FLOW_MEASURED@@, "kg/h", 0, 50, -999, -999, 999, 999, 1, 1
|
||
massAirFlowEstimateGa = mafEstimate, @@GAUGE_NAME_AIR_FLOW_ESTIMATE@@, "kg/h", 0, 50, -999, -999, 999, 999, 1, 1
|
||
|
||
gaugeCategory = Sensors - Extra 1
|
||
VSSGauge = vehicleSpeedKph, @@GAUGE_NAME_VVS@@, "kmh", 0, 200, 0, 5, 110, 130, 1, 1
|
||
wheelSlipRatioGauge = wheelSlipRatio, "Wheel Slip Ratio", "", 0, 200, 0, 1, 3, 4, 3, 3
|
||
turboSpeedGauge = turboSpeed, @@GAUGE_NAME_TURBO_SPEED@@, "hz", 0, 200, 0, 1, 3, 4, 1, 1
|
||
baroPressureGauge = baroPressure, @@GAUGE_NAME_BARO_PRESSURE@@, "kPa", 0, 130, 40, 50, 110, 120, 2, 0
|
||
internalMcuTemperatureGauge = internalMcuTemperature, @@GAUGE_NAME_ECU_TEMPERATURE@@, "C", 0, 100, 0, 0, 75, 100, 0, 0
|
||
OilPressGauge = oilPressure, @@GAUGE_NAME_OIL_PRESSURE@@, "kPa", 0, 750, 35, 75, 550, 700, 0, 0
|
||
AuxT1Gauge = auxTemp1, @@GAUGE_NAME_AUX_TEMP1@@, "C", -40, 140, -15, 1, 95, 110, 1, 1
|
||
AuxT2Gauge = auxTemp2, @@GAUGE_NAME_AUX_TEMP2@@, "C", -40, 140, -15, 1, 95, 110, 1, 1
|
||
ambientTempGauge = ambientTemp, "Ambient Temperature", "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
|
||
flexPercentGauge = flexPercent, @@GAUGE_NAME_FLEX@@, "%", 0, 100, 0, 0, 100, 100, 0, 0
|
||
fuelTempGauge = fuelTemp, @@GAUGE_NAME_FUEL_TEMPERATURE@@, "C", 0, 100, 0, 0, 75, 100, 0, 0
|
||
fuelTankLevelGauge = fuelTankLevel,"Fuel level", "%", 0, 100, 10, 20, 100, 100, 1, 1
|
||
acPressureGauge = acPressure, @@GAUGE_NAME_AC_PRESSURE@@, "kPa", 0, 900, 0, 0, 900, 900, 0, 0
|
||
AuxL1Gauge = auxLinear1, @@GAUGE_NAME_AUX_LINEAR_1@@, "", -1000, 1000, -1000, -1000, 1000, 1000, 2, 2
|
||
AuxL2Gauge = auxLinear2, @@GAUGE_NAME_AUX_LINEAR_2@@, "", -1000, 1000, -1000, -1000, 1000, 1000, 2, 2
|
||
AuxL3Gauge = auxLinear3, @@GAUGE_NAME_AUX_LINEAR_3@@, "", -100, 100, -100, -100, 100, 100, 2, 2
|
||
AuxL4Gauge = auxLinear4, @@GAUGE_NAME_AUX_LINEAR_4@@, "", -100, 100, -100, -100, 100, 100, 2, 2
|
||
|
||
gaugeCategory = Sensors - Extra 2
|
||
accelerationLatGauge = accelerationLat, @@GAUGE_NAME_ACCEL_LAT@@, "acc", -2, 2, -2, -1, 1, 2, 3, 1
|
||
accelerationLonGauge = accelerationLon, @@GAUGE_NAME_ACCEL_LON@@, "acc", -2, 2, -2, -1, 1, 2, 3, 1
|
||
accelerationVertGauge = accelerationVert, @@GAUGE_NAME_ACCEL_VERT@@, "acc", 0, 1.5, 0.5, 0.6, 1.4, 1.5, 3, 1
|
||
gyroYawGauge = gyroYaw, @@GAUGE_NAME_GYRO_YAW@@, "acc", -100, 100, -100, -100, 100, 100, 3, 1
|
||
rpmAccelerationGa = rpmAcceleration, "rpm delta", "RPM/s", -2000, 2000, -2000, 2000, -2000, 2000, 0, 0
|
||
wastegatePosGauge = wastegatePositionSensor, @@GAUGE_NAME_WG_POSITION@@, "%", 0, 100, 0, 0, 100, 100, 1, 1
|
||
auxSpeed1Gauge = auxSpeed1, "Aux Freq Input1", "hz", 0, 30000, 0, 0, 30000, 30000, 0, 0
|
||
auxSpeed2Gauge = auxSpeed2, "Aux Freq Input2", "hz", 0, 30000, 0, 0, 30000, 30000, 0, 0
|
||
|
||
gaugeCategory = Sensors - EGT
|
||
egt1Gauge = egt1, "EGT#1", "C", -100, 1400, 100, 200, 900, 1000, 2, 1
|
||
egt2Gauge = egt2, "EGT#2", "C", -100, 1400, 100, 200, 900, 1000, 2, 1
|
||
egt3Gauge = egt3, "EGT#3", "C", -100, 1400, 100, 200, 900, 1000, 2, 1
|
||
egt4Gauge = egt4, "EGT#4", "C", -100, 1400, 100, 200, 900, 1000, 2, 1
|
||
egt5Gauge = egt5, "EGT#5", "C", -100, 1400, 100, 200, 900, 1000, 2, 1
|
||
egt6Gauge = egt6, "EGT#6", "C", -100, 1400, 100, 200, 900, 1000, 2, 1
|
||
egt7Gauge = egt7, "EGT#7", "C", -100, 1400, 100, 200, 900, 1000, 2, 1
|
||
egt8Gauge = egt8, "EGT#8", "C", -100, 1400, 100, 200, 900, 1000, 2, 1
|
||
|
||
gaugeCategory = VVT
|
||
vvtPositionB1IGauge = vvtPositionB1I, @@GAUGE_NAME_VVT_B1I@@, "deg", -60, 60, -60, -60, 60, 60, 1, 1
|
||
vvtPositionB1EGauge = vvtPositionB1E, @@GAUGE_NAME_VVT_B1E@@, "deg", -60, 60, -60, -60, 60, 60, 1, 1
|
||
vvtPositionB2IGauge = vvtPositionB2I, @@GAUGE_NAME_VVT_B2I@@, "deg", -60, 60, -60, -60, 60, 60, 1, 1
|
||
vvtPositionB2EGauge = vvtPositionB2E, @@GAUGE_NAME_VVT_B2E@@, "deg", -60, 60, -60, -60, 60, 60, 1, 1
|
||
vvtTargets1Gauge = vvtTargets1, @@GAUGE_NAME_VVT_TARGET_B1I@@, "deg", -60, 60, -60, -60, 60, 60, 0, 0
|
||
vvtTargets2Gauge = vvtTargets2, @@GAUGE_NAME_VVT_TARGET_B1E@@, "deg", -60, 60, -60, -60, 60, 60, 0, 0
|
||
vvtTargets3Gauge = vvtTargets3, @@GAUGE_NAME_VVT_TARGET_B2I@@, "deg", -60, 60, -60, -60, 60, 60, 0, 0
|
||
vvtTargets4Gauge = vvtTargets4, @@GAUGE_NAME_VVT_TARGET_B2E@@, "deg", -60, 60, -60, -60, 60, 60, 0, 0
|
||
vvtOutput1Gauge = vvtStatus1_output, "vvt: output 1", "", 00, 100, -60, -60, 60, 60, 0, 0
|
||
vvtOutput2Gauge = vvtStatus2_output, "vvt: output 2", "", 00, 100, -60, -60, 60, 60, 0, 0
|
||
vvtOutput3Gauge = vvtStatus3_output, "vvt: output 3", "", 00, 100, -60, -60, 60, 60, 0, 0
|
||
vvtOutput4Gauge = vvtStatus4_output, "vvt: output 4", "", 00, 100, -60, -60, 60, 60, 0, 0
|
||
|
||
|
||
gaugeCategory = Ignition
|
||
sparkCutReasonGauge = sparkCutReason,"Spark Cut Code", "code", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0
|
||
baseIgnAdvGauge = baseIgnitionAdvance, @@GAUGE_NAME_TIMING_ADVANCE@@, "degrees", -100, 100, -999, -999, 999, 999, 1, 1
|
||
correctedIgnAdvGauge = correctedIgnitionAdvance, @@GAUGE_NAME_ADJUSTED_TIMING@@, "degrees", -100, 100, -999, -999, 999, 999, 1, 1
|
||
dwellGauge = sparkDwell, "Dwell", "mSec", 0, 10, 0.5, 1.0, 6.0, 8.0, 1, 1
|
||
coilDutyCycleGauge = coilDutyCycle, @@GAUGE_NAME_DWELL_DUTY@@, "%", 0, 110, 0, 0, 90, 100, 1, 1
|
||
ignitionLoadGauge = ignitionLoad, @@GAUGE_NAME_IGNITION_LOAD@@, "%", 0, 300, 0, 0, 300, 300, 1, 1
|
||
|
||
gaugeCategory = Acceleration Enrichment
|
||
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", "mg", 0, 100, 0, 0, 100, 100, 0, 0
|
||
wallFuelCorrectionGauge = wallFuelCorrection, "AE: wall correction extra", "mg", -20, 20, -100, -100, 100, 100, 1, 1
|
||
|
||
gaugeCategory = Fueling
|
||
;Name Var Title Units Lo Hi LoD LoW HiW HiD vd ld
|
||
fuelCutReasonGauge = fuelCutReason,"Fuel Cut Code", "code", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0
|
||
tChargeGauge = sd_tCharge, @@GAUGE_NAME_FUEL_CHARGE_TEMP@@, "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 = crankingFuel_fuel, @@GAUGE_NAME_FUEL_CRANKING@@, "mg", 0, 100, 0, 0, 100, 100, 3, 1
|
||
iatCorrectionGauge = running_intakeTemperatureCoefficient, @@GAUGE_NAME_FUEL_IAT_CORR@@, "mult", 0, 3, 0, 0, 3, 3, 2, 2
|
||
cltCorrectionGauge = running_coolantTemperatureCoefficient, @@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
|
||
injectorDutyCycleStg2Gauge=injectorDutyCycleStage2, @@GAUGE_NAME_FUEL_INJ_DUTY_STAGE_2@@,"%", 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
|
||
actualLastInjectionStg2Gauge = actualLastInjectionStage2, @@GAUGE_NAME_FUEL_LAST_INJECTION_STAGE_2@@, "mSec", 0, 25.5, 1.0, 1.2, 20, 25, 3, 1
|
||
veValueGauge = veValue, "fuel: VE", "", 0, 120, 10, 10, 100, 100, 1, 1
|
||
gegoGauge = Gego, "EGO", "", 50, 160, 10, 10, 100, 100, 1, 1
|
||
|
||
injectorLagMsGauge = m_deadtime, @@GAUGE_NAME_INJECTOR_LAG@@, "mSec", 0, 10, 0, 0, 10, 10, 3, 1
|
||
fuelRunningGauge = running_fuel, @@GAUGE_NAME_FUEL_RUNNING@@, "mg", 0, 100, 0, 0, 100, 100, 3, 1
|
||
baseFuelGauge = running_baseFuel, @@GAUGE_NAME_FUEL_BASE@@, "mg", 0, 100, 0, 0, 100, 100, 2, 0
|
||
fuelPidCorrectionGauge = fuelPidCorrection1, @@GAUGE_NAME_FUEL_TRIM@@, "%", -10, 10, -8, -5, 5, 8, 3, 1
|
||
fuelPidCorrectionGauge2= fuelPidCorrection2, @@GAUGE_NAME_FUEL_TRIM_2@@, "%", -10, 10, -8, -5, 5, 8, 3, 1
|
||
fuelingLoadGauge = fuelingLoad, @@GAUGE_NAME_FUEL_LOAD@@, "%", 0, 300, 0, 0, 300, 300, 1, 1
|
||
totalFuelConsumptionGauge = totalFuelConsumption, @@GAUGE_NAME_FUEL_CONSUMPTION@@, "g", 0, 10000, 0, 0, 10000, 10000, 0, 0
|
||
fuelFlowRateGauge = fuelFlowRate, @@GAUGE_NAME_FUEL_FLOW@@, "g/s", 0, 50, 0, 0, 50, 50, 2, 0
|
||
targetLambdaGauge = targetLambda,"fuel: target lambda", "", 10, 19.4, 12, 13, 15, 16, 2, 2
|
||
currentTargetAfrGauge = targetAFR,"fuel: target AFR", "", 0.65, 1.2, 0.7, 0.75, 1.1, 1.15, 3, 2
|
||
|
||
gaugeCategory = Throttle Body (incl. ETB)
|
||
pedalPositionGauge = throttlePedalPosition, @@GAUGE_NAME_THROTTLE_PEDAL@@, "%", -20, 120, -10, -5, 105, 110, 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 = etbStatus_error, @@GAUGE_NAME_ETB_ERROR@@, "%", -20, 20, -10, -5, 5, 10, 2, 0
|
||
tps1SplitGauge = tps1Split, "TPS1 Sensor Split", "%", -20, 20, -10, -5, 5, 10, 2, 0
|
||
tps2SplitGauge = tps2Split, "TPS2 Sensor Split", "%", -20, 20, -10, -5, 5, 10, 2, 0
|
||
accPedalSplitGauge = accPedalSplit, "Pedal Sensor Split", "%", -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", "V", 0, 5, 0, 0, 5, 5, 3, 0
|
||
rawTps1SecondaryGauge = rawTps1Secondary, "Raw TPS 1 Secondary", "V", 0, 5, 0, 0, 5, 5, 3, 0
|
||
rawTps2PrimaryGauge = rawTps2Primary, "Raw TPS 2 Primary", "V", 0, 5, 0, 0, 5, 5, 3, 0
|
||
rawTps2SecondaryGauge = rawTps2Secondary, "Raw TPS 2 Secondary", "V", 0, 5, 0, 0, 5, 5, 3, 0
|
||
rawAnalogInput1Gauge = rawAnalogInput1, "Raw Aux 1", "V", 0, 5, 0, 0, 5, 5, 3, 0
|
||
rawAnalogInput2Gauge = rawAnalogInput2, "Raw Aux 2", "V", 0, 5, 0, 0, 5, 5, 3, 0
|
||
rawAnalogInput3Gauge = rawAnalogInput3, "Raw Aux 3", "V", 0, 5, 0, 0, 5, 5, 3, 0
|
||
rawAnalogInput4Gauge = rawAnalogInput4, "Raw Aux 4", "V", 0, 5, 0, 0, 5, 5, 3, 0
|
||
rawAnalogInput5Gauge = rawAnalogInput5, "Raw Aux 5", "V", 0, 5, 0, 0, 5, 5, 3, 0
|
||
rawAnalogInput6Gauge = rawAnalogInput6, "Raw Aux 6", "V", 0, 5, 0, 0, 5, 5, 3, 0
|
||
rawAnalogInput7Gauge = rawAnalogInput7, "Raw Aux 7", "V", 0, 5, 0, 0, 5, 5, 3, 0
|
||
rawAnalogInput8Gauge = rawAnalogInput8, "Raw Aux 8", "V", 0, 5, 0, 0, 5, 5, 3, 0
|
||
rawPpsPrimaryGauge = rawPpsPrimary , "Raw Pedal Primary", "V", 0, 5, 0, 0, 5, 5, 3, 0
|
||
rawPpsSecondaryGauge = rawPpsSecondary,"Raw Pedal Secondary","V",0, 5, 0, 0, 5, 5, 3, 0
|
||
rawCltGauge = rawClt , "Raw CLT", "V", 0, 5, 0, 0, 5, 5, 3, 0
|
||
rawBatteryGauge = rawBattery , "Raw Battery", "V", 0, 5, 0, 0, 5, 5, 3, 0
|
||
rawIatGauge = rawIat , "Raw IAT", "V", 0, 5, 0, 0, 5, 5, 3, 0
|
||
rawAuxTemp1Gauge = rawAuxTemp1 , "Raw Aux Temp1", "V", 0, 5, 0, 0, 5, 5, 3, 0
|
||
rawAuxTemp2Gauge = rawAuxTemp2 , "Raw Aux Temp2", "V", 0, 5, 0, 0, 5, 5, 3, 0
|
||
rawAmbientTempGauge = rawAmbientTemp , "Raw Ambient Temp", "V", 0, 5, 0, 0, 5, 5, 3, 0
|
||
rawOilPressureGauge = rawOilPressure, "Raw Oil Pressure", "V", 0, 5, 0, 0, 5, 5, 3, 0
|
||
rawAcPressureGauge = rawAcPressure, "Raw A/C Pressure", "V", 0, 5, 0, 0, 5, 5, 3, 0
|
||
rawIdlePositionSensorGauge = rawIdlePositionSensor, "Raw Idle Position", "V", 0, 5, 0, 0, 5, 5, 3, 0
|
||
rawWastegatePositionGauge = rawWastegatePosition,"Raw Wastegate Position","V", 0, 5, 0, 0, 5, 5, 3, 0
|
||
rawLowFuelPressureGauge = rawLowFuelPressure,"Raw fuel pressure (low) voltage","V", 0, 5, 0, 0, 5, 5, 3, 0
|
||
rawHighFuelPressureGauge = rawHighFuelPressure,"Raw fuel pressure (high) voltage","V", 0, 5, 0, 0, 5, 5, 3, 0
|
||
rawMafGauge = rawMaf , "Raw MAF", "V", 0, 5, 0, 0, 5, 5, 3, 0
|
||
rawMapGauge = rawMap , "Raw MAP", "V", 0, 5, 0, 0, 5, 5, 3, 0
|
||
rawAfrGauge = rawAfr , "Raw EGO", "V", 0, 5, 0, 0, 5, 5, 3, 0
|
||
vssEdgeCounterGauge = vssEdgeCounter, "Raw VSS", "counter", 0, 5, 0, 0, 5, 5, 0, 0
|
||
issEdgeCounterGauge = issEdgeCounter, "Raw ISS", "counter", 0, 5, 0, 0, 5, 5, 0, 0
|
||
rawFlexFreqGauge = rawFlexFreq, "Raw Flex", "Hz", 0, 5, 0, 0, 5, 5, 3, 0
|
||
|
||
gaugeCategory = Transmission
|
||
desiredGearGauge = tcuDesiredGear, @@GAUGE_NAME_DESIRED_GEAR@@, "gear", -1, 10, -1, -1, 10, 10, 0, 0@@if_show_tcu_gauges
|
||
currentGearGauge = tcuCurrentGear, @@GAUGE_NAME_CURRENT_GEAR@@, "gear", -1, 10, -1, -1, 10, 10, 0, 0@@if_show_tcu_gauges
|
||
detectedGearGauge = detectedGear, @@GAUGE_NAME_DETECTED_GEAR@@, "gear", 0, @@TCU_GEAR_COUNT@@, 0, 0, @@TCU_GEAR_COUNT@@, @@TCU_GEAR_COUNT@@, 0, 0
|
||
speedToRpmRatioGauge = speedToRpmRatio, @@GAUGE_NAME_GEAR_RATIO@@, "", 0, 100, 0, 0, 100, 100, 4, 4
|
||
ISSGauge = ISSValue, @@GAUGE_NAME_ISS@@, "RPM", 0, {rpmHardLimit + 2000}, 200, {cranking_rpm}, {rpmHardLimit - 500}, {rpmHardLimit}, 0, 0@@if_show_tcu_gauges
|
||
tcRatioGauge = tcRatio, @@GAUGE_NAME_TC_RATIO@@, "", 0, 100, 0, 0, 100, 100, 4, 4@@if_show_tcu_gauges
|
||
shiftTimeGauge = lastShiftTime, "Last Shift Time", "S", 0, 2, 0, 0, 2, 2, 4, 4
|
||
idealEngineTorqueGauge = idealEngineTorque, "idealEngineTorque", "", 0, 100, 0, 0, 100, 100, 4, 4
|
||
pressureControlGauge = pressureControlDuty, "EPC Duty Cycle", "%", 0, 100, 0, 0, 100, 100, 0, 0
|
||
torqueConverterGauge = torqueConverterDuty, "TC Duty Cycle", "%", 0, 100, 0, 0, 100, 100, 0, 0
|
||
|
||
gaugeCategory = Knock
|
||
knock1Gauge = m_knockCyl1, "Knock Cyl 1", "dBv", -60, 10, -60, -60, 10, 10, 0, 0
|
||
knock2Gauge = m_knockCyl2, "Knock Cyl 2", "dBv", -60, 10, -60, -60, 10, 10, 0, 0
|
||
knock3Gauge = m_knockCyl3, "Knock Cyl 3", "dBv", -60, 10, -60, -60, 10, 10, 0, 0@@if_ts_show_cylinder_3
|
||
knock4Gauge = m_knockCyl4, "Knock Cyl 4", "dBv", -60, 10, -60, -60, 10, 10, 0, 0@@if_ts_show_cylinder_4
|
||
knock5Gauge = m_knockCyl5, "Knock Cyl 5", "dBv", -60, 10, -60, -60, 10, 10, 0, 0@@if_ts_show_cylinder_5
|
||
knock6Gauge = m_knockCyl6, "Knock Cyl 6", "dBv", -60, 10, -60, -60, 10, 10, 0, 0@@if_ts_show_cylinder_6
|
||
knock7Gauge = m_knockCyl7, "Knock Cyl 7", "dBv", -60, 10, -60, -60, 10, 10, 0, 0@@if_ts_show_cylinder_7
|
||
knock8Gauge = m_knockCyl8, "Knock Cyl 8", "dBv", -60, 10, -60, -60, 10, 10, 0, 0@@if_ts_show_cylinder_8
|
||
knock9Gauge = m_knockCyl9, "Knock Cyl 9", "dBv", -60, 10, -60, -60, 10, 10, 0, 0@@if_ts_show_cylinder_9
|
||
knock10Gauge = m_knockCyl10, "Knock Cyl 10", "dBv", -60, 10, -60, -60, 10, 10, 0, 0@@if_ts_show_cylinder_10
|
||
knock11Gauge = m_knockCyl11, "Knock Cyl 11", "dBv", -60, 10, -60, -60, 10, 10, 0, 0@@if_ts_show_cylinder_11
|
||
knock12Gauge = m_knockCyl12, "Knock Cyl 12", "dBv", -60, 10, -60, -60, 10, 10, 0, 0@@if_ts_show_cylinder_12
|
||
knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0
|
||
knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1
|
||
knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0
|
||
knockSpectrumChannelCylGauge = m_knockSpectrumChannelCyl, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0
|
||
knockFrequencyStartGauge = m_knockFrequencyStart, "Knock Frequency Start", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0
|
||
knockFrequencyStepGauge = m_knockFrequencyStep, "Knock Frequency Step", "Hz", 0, 0, 0, 0, 10000, 10000, 0, 0
|
||
knockFuelTrimMultiplier = m_knockFuelTrimMultiplier, "Knock Fuel Trim", "mult", 0, 0, 0, 0, 0, 30, 1, 1
|
||
knockSpectrum1 = m_knockSpectrum1, "Knock Spectrum1", "Volume", 0, 0, 0, 0, 0, 256, 0, 0
|
||
knockSpectrum2 = m_knockSpectrum2, "knockSpectrum2", "Volume", 0, 0, 0, 0, 0, 256, 0, 0
|
||
knockSpectrum3 = m_knockSpectrum3, "knockSpectrum3", "Volume", 0, 0, 0, 0, 0, 256, 0, 0
|
||
knockSpectrum4 = m_knockSpectrum4, "knockSpectrum4", "Volume", 0, 0, 0, 0, 0, 256, 0, 0
|
||
knockSpectrum5 = m_knockSpectrum5, "knockSpectrum5", "Volume", 0, 0, 0, 0, 0, 256, 0, 0
|
||
knockSpectrum6 = m_knockSpectrum6, "knockSpectrum6", "Volume", 0, 0, 0, 0, 0, 256, 0, 0
|
||
knockSpectrum7 = m_knockSpectrum7, "knockSpectrum7", "Volume", 0, 0, 0, 0, 0, 256, 0, 0
|
||
knockSpectrum8 = m_knockSpectrum8, "knockSpectrum8", "Volume", 0, 0, 0, 0, 0, 256, 0, 0
|
||
knockSpectrum9 = m_knockSpectrum9, "knockSpectrum9", "Volume", 0, 0, 0, 0, 0, 256, 0, 0
|
||
knockSpectrum10 = m_knockSpectrum10, "knockSpectrum10", "Volume", 0, 0, 0, 0, 0, 256, 0, 0
|
||
knockSpectrum11 = m_knockSpectrum11, "knockSpectrum11", "Volume", 0, 0, 0, 0, 0, 256, 0, 0
|
||
knockSpectrum12 = m_knockSpectrum12, "knockSpectrum12", "Volume", 0, 0, 0, 0, 0, 256, 0, 0
|
||
knockSpectrum13 = m_knockSpectrum13, "knockSpectrum13", "Volume", 0, 0, 0, 0, 0, 256, 0, 0
|
||
knockSpectrum14 = m_knockSpectrum14, "knockSpectrum14", "Volume", 0, 0, 0, 0, 0, 256, 0, 0
|
||
knockSpectrum15 = m_knockSpectrum15, "knockSpectrum15", "Volume", 0, 0, 0, 0, 0, 256, 0, 0
|
||
knockSpectrum16 = m_knockSpectrum16, "knockSpectrum16", "Volume", 0, 0, 0, 0, 0, 256, 0, 0
|
||
|
||
gaugeCategory = DynoView
|
||
accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2
|
||
|
||
gaugeCategory = GPPWM Outputs
|
||
gppwmGauge1 = gppwmOutput1, { stringValue(gpPwmNote1) }, "%", 0, 100, 0, 0, 100, 100, 1, 1
|
||
gppwmGauge2 = gppwmOutput2, { stringValue(gpPwmNote2) }, "%", 0, 100, 0, 0, 100, 100, 1, 1
|
||
gppwmGauge3 = gppwmOutput3, { stringValue(gpPwmNote3) }, "%", 0, 100, 0, 0, 100, 100, 1, 1
|
||
gppwmGauge4 = gppwmOutput4, { stringValue(gpPwmNote4) }, "%", 0, 100, 0, 0, 100, 100, 1, 1
|
||
|
||
[WueAnalyze]
|
||
|
||
; wueCurveName, afrTempCompensationCurve, lambdaTargetTableName, lambdaChannel, coolantTempChannel, egoCorrectionChannel, wueChannel, activeCondition
|
||
#if LAMBDA
|
||
wueAnalyzeMap = wueAnalyzer_warmup_curve, wueAfrTargetOffsetCurve, lambdaTableTbl, lambdaValue, coolant, running_coolantTemperatureCoefficient, egoCorrectionForVeAnalyze
|
||
lambdaTargetTables = lambdaTableTbl, afrTSCustom
|
||
#else
|
||
wueAnalyzeMap = wueAnalyzer_warmup_curve, wueAfrTargetOffsetCurve, afrTableTbl, AFRValue, coolant, running_coolantTemperatureCoefficient, egoCorrectionForVeAnalyze
|
||
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 = correctedIgnAdvGauge
|
||
|
||
; = expression, off-label, on-label, off-bg, off-fg, on-bg, on-fg
|
||
; Line 1
|
||
; important status
|
||
; this is required so that the "config error" feature works in TS
|
||
; DO NOT CHANGE THIS LINE - TS is looking for an indicator with particular text/styling
|
||
; you don't even have to show it by default
|
||
; DO NOT CHANGE THIS LINE
|
||
; DO NOT CHANGE THIS LINE
|
||
indicator = { hasCriticalError }, "Config Error", "Config Error", white, black, red, black
|
||
; DO NOT CHANGE THIS LINE
|
||
; DO NOT CHANGE THIS LINE
|
||
; todo: do we want to drop this line since we have "config error" thing above?
|
||
indicator = { hasCriticalError }, "No errors", "CRITICAL ERROR", white, black, red, black
|
||
indicator = { needBurn }, "Settings saved", "Unsaved changes", white, black, yellow, black
|
||
indicator = { isWarnNow }, "No warnings", "Warning", white, black, yellow, black
|
||
indicator = { checkEngine }, "No Check Engine", "Check Engine", white, black, red, black
|
||
indicator = { isTriggerError}, "Trigger OK", "Trigger ERR", white, black, red, black
|
||
indicator = { fuelCutReasonBlinker != 0 }, "Injection OK", { Fuel cut: bitStringValue(fuelIgnCutCodeList, fuelCutReason)}, white, black, yellow, black
|
||
indicator = { sparkCutReasonBlinker != 0 }, "Ignition OK", { Ign cut: bitStringValue(fuelIgnCutCodeList, sparkCutReason)}, white, black, yellow, black
|
||
indicator = { etbErrorCodeBlinker0 != 0 }, "ETB OK", { ETB: bitStringValue(etbCutCodeList, etbErrorCode0)}, white, black, yellow, black
|
||
|
||
; minor info
|
||
indicator = { isFanOn }, "Fan off", "Fan on", white, black, green, black
|
||
indicator = { isFan2On }, "Fan 2 off", "Fan 2 on", white, black, green, black@@if_ts_show_fan2_settings
|
||
indicator = { isMainRelayOn }, "Main relay off", "Main relay on", white, black, green, black
|
||
; Line 2
|
||
; = expression, off-label, on-label, off-bg, off-fg, on-bg, on-fg
|
||
indicator = { isFuelPumpOn }, "Fuel pump off", "Fuel pump on", white, black, green, black@@if_ts_show_fuel_pump
|
||
indicator = { clutchUpState }, "No clutch Up", "Clutch Up", white, black, red, black@@if_ts_show_clutch_up
|
||
indicator = { clutchDownState }, "No clutch down", "Clutch down", white, black, yellow, black@@if_ts_show_clutch_down
|
||
indicator = { brakePedalState }, "No braking", "Brake down", white, black, red, black
|
||
indicator = { acButtonState }, "AC Switch off", "AC Switch on", white, black, blue, white@@if_ts_show_air_conditioning
|
||
indicator = { m_acEnabled }, "AC Relay off", "AC Relay on", white, black, blue, white@@if_ts_show_air_conditioning
|
||
indicator = { isIdleClosedLoop }, "Not idling", "Idling", white, black, green, black
|
||
indicator = { isIdleCoasting }, "Not coasting", "Coasting", white, black, green, black
|
||
indicator = { dfcoActive }, "Not decel fuel cut", "Decel fuel cut", white, black, yellow, black
|
||
indicator = { isAboveAccelThreshold }, "No TPS accel", "TPS accel active", white, black, yellow, black
|
||
; error codes
|
||
indicator = { isTpsError }, "TPS OK", "TPS error", white, black, red, black
|
||
|
||
; Line 3
|
||
; = expression, off-label, on-label, off-bg, off-fg, on-bg, on-fg
|
||
indicator = { isTps2Error }, "TPS 2 OK", "TPS 2 error", white, black, red, black@@if_ts_show_tps2_error
|
||
indicator = { isPedalError }, "Pedal OK", "Pedal error", white, black, red, black
|
||
indicator = { isCltError }, "CLT OK", "CLT error", white, black, red, black
|
||
indicator = { isIatError }, "IAT OK", "IAT error", white, black, red, black
|
||
; not implemented
|
||
; indicator = { ind_map_error}, "map", "map error", white, black, red, black
|
||
indicator = { sd_present }, "No SD card", "SD card present", white, black, green, black
|
||
indicator = { sd_logging_internal }, "No SD logging", "SD logging", white, black, green, black
|
||
indicator = { sd_msd }, "No SD USB", "SD USB", white, black, green, black
|
||
; indicator = { sd_active_wr }, "SD WR", "SD WR", white, black, green, black
|
||
; indicator = { sd_active_rd }, "SD RD", "SD RD", white, black, green, black
|
||
indicator = { etbRevLimitActive0 }, "No ETB RPM Limit", "ETB RPM Limit", white, black, yellow, black
|
||
|
||
indicator = { wbo0_hasFault }, { WBO0: bitStringValue(wboFaultCodeList, faultCode0)}, { WBO0: bitStringValue(wboFaultCodeList, faultCode0)}, white, black, red, black
|
||
indicator = {injectorHwIssue}, "inj", "INJ", white, black, red, black@@if_ts_show_inj_diag
|
||
|
||
; indicator = { isInjectionEnabled && fuelCutReason == 0 }, { Inj: bitStringValue(injModeList, currentInjectionMode) }, { Inj: bitStringValue(injModeList, currentInjectionMode) }, white, black, white, black
|
||
; indicator = { isIgnitionEnabled && sparkCutReason == 0 }, { Ign: bitStringValue(ignModeList, currentIgnitionMode) }, { Ign: bitStringValue(ignModeList, currentIgnitionMode) }, white, black, white, black
|
||
|
||
indicatorTemplate = {isShifting}, "In Gear", "Shifting", white, black, green, black@@if_ts_show_tcu
|
||
@@BOARD_INDICATORS_FROM_FILE@@
|
||
|
||
; looks like TS would append four system indicators below: Data Logging, ???, Not Connected, Protocol Error
|
||
|
||
[KeyActions]
|
||
showPanel = spi, spiBuses
|
||
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"
|
||
@@DATALOG_SECTION_FROM_FILE@@
|
||
|
||
[Menu]
|
||
|
||
menuDialog = main
|
||
; see #1653
|
||
; menu = "Data Logging"
|
||
; subMenu = std_ms3SdConsole, "Browse / Import SD Card"
|
||
|
||
menu = "&Base &Engine"
|
||
subMenu = engineChars, "Base engine"
|
||
|
||
groupMenu = "Limits and protection", {1}, { uiMode == @@UiMode_FULL@@ || uiMode == @@UiMode_INSTALLATION@@ }
|
||
groupChildMenu = limitsAndFallback, "Limits and fallbacks"
|
||
groupChildMenu = oilPressureProtection, "Oil pressure protection"
|
||
groupChildMenu = lambdaProtection, "Lambda protection", 0, { isInjectionEnabled }
|
||
|
||
subMenu = triggerConfiguration, "Trigger"
|
||
subMenu = trigger_advanced, "Advanced Trigger", { 1 }, { uiMode == @@UiMode_FULL@@ || uiMode == @@UiMode_INSTALLATION@@ }@@if_ts_show_trigger_advanced
|
||
subMenu = triggerConfiguration_gap, "Trigger Gap Override", {1}, { uiMode == @@UiMode_FULL@@ || uiMode == @@UiMode_INSTALLATION@@ }@@if_ts_show_trigger_overrides
|
||
subMenu = std_separator@@if_ts_show_alternator
|
||
subMenu = energySystems, "Battery and alternator"@@if_ts_show_alternator
|
||
subMenu = std_separator
|
||
|
||
# Digital outputs
|
||
subMenu = outputsDialog, "Outputs"
|
||
subMenu = acSettings, "Air Conditioning"@@if_ts_show_air_conditioning
|
||
subMenu = statusLeds, "Status LEDs"@@if_ts_show_status_leds
|
||
|
||
menu = "Fuel"
|
||
# basic
|
||
subMenu = injectorConfig, "Injection configuration"
|
||
subMenu = injectionSettings, "Injection hardware", {isInjectionEnabled == 1}, { uiMode == @@UiMode_FULL@@ || uiMode == @@UiMode_INSTALLATION@@ }
|
||
subMenu = cylinderBankSelect, "Cylinder bank selection", {isInjectionEnabled == 1}, { uiMode == @@UiMode_FULL@@ || uiMode == @@UiMode_INSTALLATION@@ }@@if_ts_show_cylinder_bank
|
||
subMenu = injectorNonlinear, "Injector small-pulse correction", {isInjectionEnabled == 1}, { uiMode == @@UiMode_FULL@@ || uiMode == @@UiMode_INSTALLATION@@ }
|
||
|
||
subMenu = stagedInjection, "Staged injection", 0, {isInjectionEnabled}@@if_ts_show_staged_injection
|
||
subMenu = stagedInjectionOutputs, "Staged injection outputs", 0, {isInjectionEnabled && enableStagedInjection}@@if_ts_show_staged_injection
|
||
subMenu = stagedInjectionTbl, "Staged injection % table", 0, {isInjectionEnabled && enableStagedInjection}@@if_ts_show_staged_injection
|
||
|
||
groupMenu = "Cylinder fuel trims"@@if_ts_show_fuel_trims
|
||
groupChildMenu = fuelTrimTbl1, "Fuel trim cyl 1"@@if_ts_show_fuel_trim_cylinder_1
|
||
groupChildMenu = fuelTrimTbl2, "Fuel trim cyl 2", 0, { isInjectionEnabled && cylindersCount >= 2 }@@if_ts_show_fuel_trim_cylinder_2
|
||
groupChildMenu = fuelTrimTbl3, "Fuel trim cyl 3", 0, { isInjectionEnabled && cylindersCount >= 3 }@@if_ts_show_fuel_trim_cylinder_3
|
||
groupChildMenu = fuelTrimTbl4, "Fuel trim cyl 4", 0, { isInjectionEnabled && cylindersCount >= 4 }@@if_ts_show_fuel_trim_cylinder_4
|
||
groupChildMenu = fuelTrimTbl5, "Fuel trim cyl 5", 0, { isInjectionEnabled && cylindersCount >= 5 }@@if_ts_show_fuel_trim_cylinder_5
|
||
groupChildMenu = fuelTrimTbl6, "Fuel trim cyl 6", 0, { isInjectionEnabled && cylindersCount >= 6 }@@if_ts_show_fuel_trim_cylinder_6
|
||
groupChildMenu = fuelTrimTbl7, "Fuel trim cyl 7", 0, { isInjectionEnabled && cylindersCount >= 7 }@@if_ts_show_fuel_trim_cylinder_7
|
||
groupChildMenu = fuelTrimTbl8, "Fuel trim cyl 8", 0, { isInjectionEnabled && cylindersCount >= 8 }@@if_ts_show_fuel_trim_cylinder_8
|
||
groupChildMenu = fuelTrimTbl9, "Fuel trim cyl 9", 0, { isInjectionEnabled && cylindersCount >= 9 }@@if_ts_show_fuel_trim_cylinder_9
|
||
groupChildMenu = fuelTrimTbl10, "Fuel trim cyl 10", 0, { isInjectionEnabled && cylindersCount >= 10 }@@if_ts_show_fuel_trim_cylinder_10
|
||
groupChildMenu = fuelTrimTbl11, "Fuel trim cyl 11", 0, { isInjectionEnabled && cylindersCount >= 11 }@@if_ts_show_fuel_trim_cylinder_11
|
||
groupChildMenu = fuelTrimTbl12, "Fuel trim cyl 12", 0, { isInjectionEnabled && cylindersCount >= 12 }@@if_ts_show_fuel_trim_cylinder_12
|
||
|
||
subMenu = std_separator
|
||
|
||
# Air mass model
|
||
subMenu = veTableDialog, @@VE_MENU_NAME@@, 0, {isInjectionEnabled == 1}
|
||
subMenu = veTableMap, @@VE_MENU_MAP_NAME@@, 0, {isInjectionEnabled}
|
||
@@BOARD_VE_MENU_FROM_FILE@@
|
||
|
||
groupMenu = "VE blend tables"
|
||
groupChildMenu = veBlend1Cfg, "VE blend 1 bias", 0, {isInjectionEnabled}
|
||
groupChildMenu = veBlend1Table, "VE blend table 1", 0, { isInjectionEnabled && veBlends1_blendParameter != 0 }
|
||
groupChildMenu = veBlend2Cfg, "VE blend 2 bias", 0, {isInjectionEnabled}
|
||
groupChildMenu = veBlend2Table, "VE blend table 2", 0, { isInjectionEnabled && veBlends2_blendParameter != 0 }
|
||
groupChildMenu = veBlend3Cfg, "VE blend 3 bias", 0, {isInjectionEnabled}
|
||
groupChildMenu = veBlend3Table, "VE blend table 3", 0, { isInjectionEnabled && veBlends3_blendParameter != 0 }
|
||
groupChildMenu = veBlend4Cfg, "VE blend 4 bias", 0, {isInjectionEnabled}
|
||
groupChildMenu = veBlend4Table, "VE blend table 4", 0, { isInjectionEnabled && veBlends4_blendParameter != 0 }
|
||
|
||
#if LAMBDA
|
||
subMenu = lambdaTableTbl, "Target lambda", 0, {isInjectionEnabled == 1}
|
||
#else
|
||
subMenu = afrTableTbl, "Target AFR", 0, {isInjectionEnabled == 1}
|
||
#endif
|
||
subMenu = std_separator
|
||
|
||
subMenu = tChargeSettings, "Charge temperature estimation", 0, {isInjectionEnabled == 1}@@if_ts_show_charge_estimation
|
||
subMenu = baroCorrTbl, "Barometric pressure correction", {isInjectionEnabled == 1 && fuelAlgorithm == @@engine_load_mode_e_LM_SPEED_DENSITY@@}, { uiMode == @@UiMode_FULL@@ || uiMode == @@UiMode_INSTALLATION@@ }
|
||
subMenu = mapEstimateTableTbl, "MAP estimate table", {isInjectionEnabled == 1 && fuelAlgorithm == @@engine_load_mode_e_LM_SPEED_DENSITY@@}, { uiMode == @@UiMode_FULL@@ || uiMode == @@UiMode_INSTALLATION@@ }
|
||
|
||
subMenu = std_separator
|
||
|
||
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}@@if_ts_show_injection_phase
|
||
subMenu = std_separator@@if_ts_show_injection_phase
|
||
|
||
# Accel enrichment
|
||
subMenu = AccelEnrich, "Acceleration enrichment", 0, {isInjectionEnabled == 1}
|
||
subMenu = tpsTpsDialog, "TPS/TPS acceleration extra fuel", 0, {isInjectionEnabled == 1}
|
||
subMenu = tpsTspRpmCorrection, "TPS/TPS extra fuel RPM correction", 0, {isInjectionEnabled == 1}
|
||
|
||
groupMenu = "Wall wetting AE"
|
||
groupChildMenu = wwTauCurves, "Evap time", 0, { complexWallModel != 0 }
|
||
groupChildMenu = wwBetaCurves, "Impact fraction", 0, { complexWallModel != 0 }
|
||
|
||
menu = "Ignition"
|
||
subMenu = ignitionSettings, "Ignition settings"
|
||
subMenu = std_separator
|
||
|
||
subMenu = ignitionTableTbl, "Ignition advance", 0, {isIgnitionEnabled}
|
||
subMenu = ignitionTableMap, "Ignition advance", 0, {isIgnitionEnabled}
|
||
subMenu = cltTimingCorrCurve, "Ign CLT correction", 0, {isIgnitionEnabled == 1}
|
||
subMenu = ignitionIatCorrTableTbl, "Ign IAT correction", 0, {isIgnitionEnabled == 1}
|
||
subMenu = std_separator
|
||
|
||
subMenu = dwellSettings, "Dwell", 0, {isIgnitionEnabled == 1}
|
||
groupMenu = "Ignition blend tables"
|
||
groupChildMenu = ignAdder1Cfg, "Ignition blend 1 bias", 0, {isIgnitionEnabled}
|
||
groupChildMenu = ignAdder1Table, "Ignition blend table 1", 0, { isIgnitionEnabled && ignBlends1_blendParameter != 0 }
|
||
groupChildMenu = ignAdder2Cfg, "Ignition blend 2 bias", 0, {isIgnitionEnabled}
|
||
groupChildMenu = ignAdder2Table, "Ignition blend table 2", 0, { isIgnitionEnabled && ignBlends2_blendParameter != 0 }
|
||
groupChildMenu = ignAdder3Cfg, "Ignition blend 3 bias", 0, {isIgnitionEnabled}
|
||
groupChildMenu = ignAdder3Table, "Ignition blend table 3", 0, { isIgnitionEnabled && ignBlends3_blendParameter != 0 }
|
||
groupChildMenu = ignAdder4Cfg, "Ignition blend 4 bias", 0, {isIgnitionEnabled}
|
||
groupChildMenu = ignAdder4Table, "Ignition blend table 4", 0, { isIgnitionEnabled && ignBlends4_blendParameter != 0 }
|
||
groupMenu = "Cylinder ign trims"
|
||
groupChildMenu = ignTrimTbl1, "Ignition trim cyl 1"
|
||
groupChildMenu = ignTrimTbl2, "Ignition trim cyl 2", 0, { isInjectionEnabled && cylindersCount >= 2 }
|
||
groupChildMenu = ignTrimTbl3, "Ignition trim cyl 3", 0, { isInjectionEnabled && cylindersCount >= 3 }@@if_ts_show_cylinder_3
|
||
groupChildMenu = ignTrimTbl4, "Ignition trim cyl 4", 0, { isInjectionEnabled && cylindersCount >= 4 }@@if_ts_show_cylinder_4
|
||
groupChildMenu = ignTrimTbl5, "Ignition trim cyl 5", 0, { isInjectionEnabled && cylindersCount >= 5 }@@if_ts_show_cylinder_5
|
||
groupChildMenu = ignTrimTbl6, "Ignition trim cyl 6", 0, { isInjectionEnabled && cylindersCount >= 6 }@@if_ts_show_cylinder_6
|
||
groupChildMenu = ignTrimTbl7, "Ignition trim cyl 7", 0, { isInjectionEnabled && cylindersCount >= 7 }@@if_ts_show_cylinder_7
|
||
groupChildMenu = ignTrimTbl8, "Ignition trim cyl 8", 0, { isInjectionEnabled && cylindersCount >= 8 }@@if_ts_show_cylinder_8
|
||
groupChildMenu = ignTrimTbl9, "Ignition trim cyl 9", 0, { isInjectionEnabled && cylindersCount >= 9 }@@if_ts_show_cylinder_9
|
||
groupChildMenu = ignTrimTbl10, "Ignition trim cyl 10", 0, { isInjectionEnabled && cylindersCount >= 10 }@@if_ts_show_cylinder_10
|
||
groupChildMenu = ignTrimTbl11, "Ignition trim cyl 11", 0, { isInjectionEnabled && cylindersCount >= 11 }@@if_ts_show_cylinder_11
|
||
groupChildMenu = ignTrimTbl12, "Ignition trim cyl 12", 0, { isInjectionEnabled && cylindersCount >= 12 }@@if_ts_show_cylinder_12
|
||
subMenu = std_separator
|
||
|
||
subMenu = multisparkSettings, "Multispark", 0, {isIgnitionEnabled == 1}@@if_ts_show_multispark
|
||
subMenu = softwareKnock, "Knock Control" @@if_ts_show_software_knock
|
||
subMenu = maxKnockRetardTbl, "Max knock retard" @@if_ts_show_software_knock
|
||
|
||
menu = "&Cranking"
|
||
subMenu = crankingDialog, "Cranking settings"
|
||
subMenu = postCrankingEnrichmentTbl,"After-start enrichment", { 1 }, { uiMode == @@UiMode_FULL@@ || uiMode == @@UiMode_INSTALLATION@@ }
|
||
subMenu = primingFuelPulsePanel, "Priming pulse", { 1 }, { uiMode == @@UiMode_FULL@@ || uiMode == @@UiMode_INSTALLATION@@ }
|
||
subMenu = std_separator
|
||
|
||
subMenu = crankingCltCurve, "Fuel CLT multiplier"
|
||
subMenu = crankingCltCurveE100, "Fuel CLT multiplier (Flex Fuel E85)", { flexSensorPin != @@ADC_CHANNEL_NONE@@ && flexCranking }, { uiMode == @@UiMode_FULL@@ || uiMode == @@UiMode_INSTALLATION@@ }
|
||
subMenu = crankingCycleFuelMultTbl, "Fuel duration multiplier"
|
||
subMenu = crankingTpsCurve, "Fuel TPS multiplier"
|
||
subMenu = std_separator
|
||
|
||
subMenu = crankingAdvanceCurve, "Cranking ignition advance", {useSeparateAdvanceForCranking == 1}, { uiMode == @@UiMode_FULL@@ || uiMode == @@UiMode_INSTALLATION@@ }
|
||
subMenu = std_separator
|
||
|
||
subMenu = cltCrankingCurve, "Cranking Idle Air CLT multiplier", {overrideCrankingIacSetting == 1}, { uiMode == @@UiMode_FULL@@ || uiMode == @@UiMode_INSTALLATION@@ }
|
||
|
||
menu = "&Idle"
|
||
subMenu = idleSettings, "Idle settings"
|
||
subMenu = idlehw, "Idle hardware"@@if_ts_show_idle_hardware
|
||
subMenu = std_separator
|
||
subMenu = cltIdleRPMCurve, "Target RPM"
|
||
subMenu = cltIdleCurve, "Idle 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", 0, {useIacTableForCoasting == 1}
|
||
subMenu = std_separator
|
||
subMenu = idleVeTableTbl, "Idle VE", 0, {useSeparateVeForIdle == 1}
|
||
subMenu = idleAdvanceCurve, "Idle Ignition advance", 0, {useSeparateAdvanceForIdle == 1}
|
||
|
||
menu = "&Advanced"
|
||
subMenu = smLaunchControl, @@smLaunchControl_NAME@@
|
||
subMenu = ShiftTorqueReductionDialog, "Shift Torque Reduction (Flat Shift)"
|
||
subMenu = ignitionCylExtra, "Cylinder offsets", 0@@if_ts_show_odd_fire
|
||
|
||
subMenu = std_separator
|
||
subMenu = boostDialog, "Boost control"
|
||
subMenu = boostOpenLoopDialog, "Boost control open loop", { isBoostControlEnabled }
|
||
subMenu = boostOpenLoopGearAdderDialog, "Boost control open loop gear adder", { isBoostControlEnabled }
|
||
subMenu = boostPidDialog, "Boost control PID", { isBoostControlEnabled && boostType == 1 }
|
||
subMenu = boostTargetDialog, "Boost control target", { isBoostControlEnabled && boostType == 1 }
|
||
subMenu = cltBoostCorrCurve, "CLT boost duty multiplier", { isBoostControlEnabled }, { uiMode == @@UiMode_FULL@@ || uiMode == @@UiMode_INSTALLATION@@ }
|
||
subMenu = iatBoostCorrCurve, "IAT boost duty multiplier", { isBoostControlEnabled }, { uiMode == @@UiMode_FULL@@ || uiMode == @@UiMode_INSTALLATION@@ }
|
||
subMenu = cltBoostAdderCurve, "CLT boost target adder", { isBoostControlEnabled && boostType == 1 }, { uiMode == @@UiMode_FULL@@ || uiMode == @@UiMode_INSTALLATION@@ }
|
||
subMenu = iatBoostAdderCurve, "IAT boost target adder", { isBoostControlEnabled && boostType == 1 }, { uiMode == @@UiMode_FULL@@ || uiMode == @@UiMode_INSTALLATION@@ }
|
||
|
||
groupMenu = "Boost blend tables"
|
||
groupChildMenu = boostOpenBlend1Cfg, "Open loop 1 bias", { isBoostControlEnabled }
|
||
groupChildMenu = boostOpenBlend1Table, "Open loop 1 adder", { isBoostControlEnabled && boostOpenLoopBlends1_blendParameter != 0 }
|
||
groupChildMenu = boostOpenBlend2Cfg, "Open loop 2 bias", { isBoostControlEnabled }
|
||
groupChildMenu = boostOpenBlend2Table, "Open loop 2 adder", { isBoostControlEnabled && boostOpenLoopBlends2_blendParameter != 0 }
|
||
groupChildMenu = boostClosedBlend1Cfg, "Closed loop 1 bias", { isBoostControlEnabled && boostType == 1 }
|
||
groupChildMenu = boostClosedBlend2Table, "Closed loop 1 adder", { isBoostControlEnabled && boostType == 1 && boostClosedLoopBlends1_blendParameter != 0 }
|
||
groupChildMenu = boostClosedBlend2Cfg, "Closed loop 2 bias", { isBoostControlEnabled && boostType == 1 }
|
||
groupChildMenu = boostClosedBlend2Table, "Closed loop 2 adder", { isBoostControlEnabled && boostType == 1 && boostClosedLoopBlends2_blendParameter != 0 }
|
||
|
||
subMenu = boostEtbPid, "ETB-style Wastegate Actuator", { etbFunctions1 == @@dc_function_e_DC_Wastegate@@ || etbFunctions2 == @@dc_function_e_DC_Wastegate@@ }
|
||
|
||
subMenu = std_separator
|
||
subMenu = gppwm1, @@GPPWM_1_NAME@@, { 1 }, { uiMode == @@UiMode_FULL@@ || uiMode == @@UiMode_INSTALLATION@@ }
|
||
subMenu = gppwm2, @@GPPWM_2_NAME@@, { 1 }, { uiMode == @@UiMode_FULL@@ || uiMode == @@UiMode_INSTALLATION@@ }
|
||
subMenu = gppwm3, @@GPPWM_3_NAME@@, { 1 }, { uiMode == @@UiMode_FULL@@ || uiMode == @@UiMode_INSTALLATION@@ }
|
||
subMenu = gppwm4, @@GPPWM_4_NAME@@, { 1 }, { uiMode == @@UiMode_FULL@@ || uiMode == @@UiMode_INSTALLATION@@ }
|
||
|
||
subMenu = std_separator @@if_ts_show_etb
|
||
subMenu = etbDialog, "Electronic throttle body", { 1 }, { uiMode == @@UiMode_FULL@@ || uiMode == @@UiMode_INSTALLATION@@ } @@if_ts_show_etb
|
||
subMenu = etbTpsBiasCurve, "ETB bias curve (feed forward)", { 1 }, { uiMode == @@UiMode_FULL@@ || uiMode == @@UiMode_INSTALLATION@@ } @@if_ts_show_etb_bias_curve
|
||
subMenu = pedalToTpsTbl, @@pedalToTpsTbl_NAME@@ @@if_ts_show_etb
|
||
subMenu = throttle2TrimTbl, "ETB #2 Trim", { tps2_1AdcChannel != @@ADC_CHANNEL_NONE@@ } @@if_ts_show_tps2
|
||
|
||
subMenu = std_separator@@if_ts_show_vvt_output
|
||
subMenu = vvtPidDialog, "VVT outputs and PID", { vvtMode1 != @@vvt_mode_e_VVT_INACTIVE@@ }, { uiMode == @@UiMode_FULL@@ || uiMode == @@UiMode_INSTALLATION@@ }@@if_ts_show_vvt_output
|
||
subMenu = vvtTable1Tbl, @@VVT1_TARGET_NAME@@, { vvtMode1 != @@vvt_mode_e_VVT_INACTIVE@@ && vvtPins1 != 0 }@@if_ts_show_vvt_output
|
||
subMenu = vvtTable2Tbl, "VVT exhaust target", { vvtMode2 != @@vvt_mode_e_VVT_INACTIVE@@ && vvtPins2 != 0 }@@if_ts_show_exhaust_vvt
|
||
|
||
subMenu = std_separator
|
||
subMenu = auxInputsDialog, "Lua Analog Inputs", { 1 }, { uiMode == @@UiMode_FULL@@ || uiMode == @@UiMode_INSTALLATION@@ }
|
||
subMenu = luaDigitalInputsDialog, "Lua Digital Inputs", { 1 }, { uiMode == @@UiMode_FULL@@ || uiMode == @@UiMode_INSTALLATION@@ }
|
||
subMenu = luaOutputs, "Lua Script PWM Outputs", { 1 }, { uiMode == @@UiMode_FULL@@ || uiMode == @@UiMode_INSTALLATION@@ }
|
||
|
||
groupMenu = "Lua Calibrations", { 1 }, { uiMode == @@UiMode_FULL@@ || uiMode == @@UiMode_INSTALLATION@@ }
|
||
groupChildMenu = scriptSetting, "Lua Script Settings"
|
||
|
||
groupChildMenu = scriptTable1TblSettings, "Script Table #1"
|
||
groupChildMenu = scriptTable2TblSettings, "Script Table #2"
|
||
groupChildMenu = scriptTable3TblSettings, "Script Table #3"
|
||
groupChildMenu = scriptTable4TblSettings, "Script Table #4"
|
||
|
||
groupChildMenu = scriptCurve1Settings, "Script Curve #1"
|
||
groupChildMenu = scriptCurve2Settings, "Script Curve #2"
|
||
groupChildMenu = scriptCurve3Settings, "Script Curve #3"
|
||
groupChildMenu = scriptCurve4Settings, "Script Curve #4"
|
||
groupChildMenu = scriptCurve5Settings, "Script Curve #5"
|
||
groupChildMenu = scriptCurve6Settings, "Script Curve #6"
|
||
|
||
subMenu = std_separator@@if_ts_show_tcu
|
||
subMenu = tcuControls, "Transmission Settings (alpha)"@@if_ts_show_tcu
|
||
subMenu = gearControls, "Gear Selection Settings (alpha)"@@if_ts_show_tcu
|
||
subMenu = inputSpeedSensor, "Input Speed Sensor (alpha)"@@if_ts_show_tcu
|
||
subMenu = shiftSpeedDialog, "Automatic Shift Points (alpha)"@@if_ts_show_tcu
|
||
subMenu = tcuSolenoidTableTbl, "Shift Solenoids (alpha)"@@if_ts_show_tcu
|
||
subMenu = tccCurves, "TCC Lock/Unlock Speed (alpha)"@@if_ts_show_tcu
|
||
subMenu = pcPerGearDialog, "Line Pressure Per Gear (alpha)"@@if_ts_show_tcu
|
||
subMenu = pcPerShiftDialog, "Line Pressure Per Shift (alpha)"@@if_ts_show_tcu
|
||
subMenu = 32Dialog, "3-2 Shift Solenoid Percent by Speed (alpha)"@@if_ts_show_tcu
|
||
subMenu = rangeMatrixDialog, "Range Selector Input Matrix (alpha)"@@if_ts_show_tcu
|
||
|
||
menu = "&Sensors", { 1 }, { uiMode == @@UiMode_FULL@@ || uiMode == @@UiMode_INSTALLATION@@ }
|
||
groupMenu = "Chassis sensors"
|
||
groupChildMenu = otherSensorInputs, "Misc sensors", { 1 }, { uiMode == @@UiMode_FULL@@ || uiMode == @@UiMode_INSTALLATION@@ }
|
||
groupChildMenu = vrThreshold, "VR Sensor Threshold"@@if_ts_show_vr_threshold_all
|
||
groupChildMenu = speedSensor, "Vehicle speed sensor"@@if_ts_show_vehicle_speed_sensor
|
||
groupChildMenu = ambientTempSensor, "Ambient temp sensor", { 1 }, { uiMode == @@UiMode_FULL@@ || uiMode == @@UiMode_INSTALLATION@@ }
|
||
groupChildMenu = acPressureSensor, "A/C Pressure"@@if_ts_show_air_conditioning
|
||
|
||
# Base analog input settings
|
||
subMenu = analogInputSettings, "Analog input settings", { 1 }, { uiMode == @@UiMode_FULL@@ || uiMode == @@UiMode_INSTALLATION@@ }@@if_ts_show_analog_input_settings
|
||
subMenu = std_separator
|
||
|
||
# Thermistors
|
||
subMenu = cltSensor, "CLT sensor", { 1 }, { uiMode == @@UiMode_FULL@@ || uiMode == @@UiMode_INSTALLATION@@ }
|
||
subMenu = iatSensor, "IAT sensor", { 1 }, { uiMode == @@UiMode_FULL@@ || uiMode == @@UiMode_INSTALLATION@@ }
|
||
subMenu = std_separator
|
||
|
||
# TPS/pedal
|
||
subMenu = tpsSensor, "TPS", { 1 }, { uiMode == @@UiMode_FULL@@ || uiMode == @@UiMode_INSTALLATION@@ }
|
||
subMenu = pedalSensor, @@pedalSensor_NAME@@, { 1 }, { uiMode == @@UiMode_FULL@@ || uiMode == @@UiMode_INSTALLATION@@ }
|
||
subMenu = std_separator
|
||
|
||
# MAP/Baro
|
||
subMenu = mapSettings, "MAP sensor", { 1 }, { uiMode == @@UiMode_FULL@@ || uiMode == @@UiMode_INSTALLATION@@ }
|
||
subMenu = mapCurves, "MAP sampling", { 1 }, { uiMode == @@UiMode_FULL@@ || uiMode == @@UiMode_INSTALLATION@@ }
|
||
subMenu = baroSettings, "Baro sensor", { 1 }, { uiMode == @@UiMode_FULL@@ || uiMode == @@UiMode_INSTALLATION@@ }
|
||
subMenu = std_separator
|
||
|
||
# MAF
|
||
subMenu = mafSettings, "MAF sensor"@@if_ts_show_maf
|
||
subMenu = mafDecodingCurve, "MAF transfer function", 0, {mafAdcChannel != @@ADC_CHANNEL_NONE@@ }@@if_ts_show_maf
|
||
subMenu = std_separator@@if_ts_show_maf
|
||
|
||
# O2 sensor(s)
|
||
subMenu = egoSettings, "O2 sensor", { 1 }, { uiMode == @@UiMode_FULL@@ || uiMode == @@UiMode_INSTALLATION@@ }
|
||
subMenu = widebandConfig, "rusEFI Wideband Controller", 0, { canReadEnabled && canWriteEnabled }@@if_ts_show_can_wbo
|
||
subMenu = std_separator
|
||
|
||
# Misc sensors
|
||
groupMenu = "Oil sensors"
|
||
groupChildMenu = oilPressureSensor, "Oil pressure"@@if_ts_show_oil_pressure_sensor
|
||
groupChildMenu = oilTempSensor, "Oil temp sensor"@@if_ts_show_oil_temp_sensor
|
||
|
||
groupMenu = "Fuel sensors"
|
||
groupChildMenu = fuelPressureSensor, "Fuel pressure"@@if_ts_show_fuel_pressure_sensor
|
||
groupChildMenu = fuelTempSensor, "Fuel temp sensor"@@if_ts_show_fuel_temp_sensor
|
||
groupChildMenu = fuelLevelDialog, "Fuel level sensor"@@if_ts_show_fuel_level_sensor
|
||
|
||
groupMenu = "Turbo sensors"
|
||
groupChildMenu = egtInputs, "EGT" @@if_ts_show_egt
|
||
groupChildMenu = wastegateIdlePos, "Wastegate and idle position sensors"@@if_ts_show_wastegate_sensor
|
||
groupChildMenu = compressorDischargeTemperature, "Compressor discharge temp"@@if_ts_show_compressor_sensor
|
||
|
||
groupMenu = "Aux sensors"
|
||
groupChildMenu = auxTempSensor1Sensor, @@MENU_NAME_AUX_TEMP1@@, { 1 }, { uiMode == @@UiMode_FULL@@ || uiMode == @@UiMode_INSTALLATION@@ }
|
||
groupChildMenu = auxTempSensor2Sensor, @@MENU_NAME_AUX_TEMP2@@, { 1 }, { uiMode == @@UiMode_FULL@@ || uiMode == @@UiMode_INSTALLATION@@ }
|
||
groupChildMenu = auxLinearSensors, "Aux Sensors"@@if_ts_show_aux_sensors
|
||
|
||
menu = "CAN-bus"@@if_ts_show_top_level_can_menu
|
||
subMenu = canBusMain, "CAN Bus Settings"@@if_ts_show_top_level_can_menu
|
||
subMenu = std_separator@@if_ts_show_top_level_can_menu
|
||
|
||
subMenu = speedSensorCan "CAN Vehicle speed sensor"@@if_ts_show_top_level_can_menu
|
||
subMenu = uegoCan, "CAN O2 sensors"@@if_ts_show_top_level_can_menu
|
||
subMenu = egtInputsCan, "CAN EGT sensors"@@if_ts_show_top_level_can_menu
|
||
subMenu = msIoBox, "CAN MS IO-Box Settings"@@if_ts_show_top_level_can_menu
|
||
|
||
menu = "&Controller"
|
||
subMenu = ecuStimulator, "ECU stimulator"
|
||
subMenu = ioTest, "Bench test"
|
||
subMenu = injTest, "Injector test"
|
||
subMenu = engineTypeDialog, @@ENGINE_TYPES_DIALOG_NAME@@@@if_ts_show_popular_vehicles
|
||
subMenu = std_separator
|
||
|
||
subMenu = spiBuses, "SPI Buses"@@if_ts_show_spi
|
||
subMenu = spiDevices, "SPI Devices"@@if_ts_show_spi
|
||
subMenu = monitoringSettings, "rusEFI console"@@if_ts_show_console_settings
|
||
subMenu = std_separator
|
||
|
||
subMenu = sdCard, "SD Card Logger" @@if_ts_show_sd_card
|
||
subMenu = connection, "Connection"@@if_ts_show_aux_connections
|
||
subMenu = std_separator
|
||
|
||
subMenu = tle8888Dialog, "TLE8888"@@if_ts_show_tle8888
|
||
subMenu = l9779Dialog, "L9779"@@if_ts_show_l9779
|
||
subMenu = mc33810Dialog, "MC33810 IGN/INJ driver", { 1 }, { uiMode == @@UiMode_FULL@@ || uiMode == @@UiMode_INSTALLATION@@ }@@if_ts_show_mc33810
|
||
subMenu = OutputDiagDialog, "Outputs diagnostic", { 1 }, { uiMode == @@UiMode_FULL@@ || uiMode == @@UiMode_INSTALLATION@@ }@@if_ts_show_output_diag
|
||
subMenu = std_separator
|
||
|
||
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
|
||
|
||
# EXPERIMENTAL FEATURES
|
||
subMenu = std_separator@@if_ts_show_gdi
|
||
subMenu = mc33Dialog, "PT2001 control"@@if_ts_show_gdi
|
||
subMenu = hpfpCamDialog, "HPFP Cam Configuration"@@if_ts_show_gdi
|
||
subMenu = hpfpPumpDialog, "HPFP Pump Configuration", {hpfpCamLobes != 0}@@if_ts_show_gdi
|
||
subMenu = hpfpTargetTable, "HPFP Target Pressure", {hpfpCamLobes != 0}@@if_ts_show_gdi
|
||
subMenu = hpfpCompensationTable, "HPFP Pump Compensation", {hpfpCamLobes != 0}@@if_ts_show_gdi
|
||
|
||
@@BOARD_MENU_FROM_FILE@@
|
||
subMenu = std_separator
|
||
|
||
subMenu = tractionEtbTableTbl, "Traction Control ETB Drop"@@if_ts_show_etb
|
||
subMenu = tractionTimingTableTbl, "Traction Control Timing Adjustment"
|
||
subMenu = tractionIgnitionSkipDialog, "Traction Control Skip Ignition"
|
||
subMenu = std_separator
|
||
|
||
subMenu = hipFunction, "HIP9011 settings (knock sensor)" @@if_ts_show_hip9011
|
||
|
||
subMenu = kLineDialog, "K-Line"@@if_ts_show_k_line
|
||
subMenu = parkingLot, "Experimental 1"@@if_ts_show_experimental
|
||
subMenu = parkingLot2, "Experimental 2"@@if_ts_show_experimental
|
||
subMenu = parkingLot3, "Experimental 3"@@if_ts_show_experimental
|
||
subMenu = harleyAcr, @@HD_MENU_NAME@@@@if_ts_show_hd
|
||
subMenu = antiLagDialog, "Anti-Lag ALS"
|
||
subMenu = rotaryDialog, "Rotary"@@if_ts_show_rotary
|
||
subMenu = throttleEffectiveArea, "Throttle effective area", { 1 }, { uiMode == @@UiMode_FULL@@ || uiMode == @@UiMode_INSTALLATION@@ }
|
||
|
||
menu = "Help"
|
||
subMenu = helpGeneral, "rusEFI Info"
|
||
|
||
menu = "&View", { 1 }, { uiMode == @@UiMode_FULL@@ || uiMode == @@UiMode_INSTALLATION@@ }
|
||
@@LIVE_DATA_MENU_FROM_FILE@@
|
||
|
||
|
||
[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@@@@ts_command_e_TS_IGNITION_CATEGORY_16_hex@@\x00\x01"
|
||
cmd_test_spk2 = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_IGNITION_CATEGORY_16_hex@@\x00\x02"
|
||
cmd_test_spk3 = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_IGNITION_CATEGORY_16_hex@@\x00\x03"
|
||
cmd_test_spk4 = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_IGNITION_CATEGORY_16_hex@@\x00\x04"
|
||
cmd_test_spk5 = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_IGNITION_CATEGORY_16_hex@@\x00\x05"
|
||
cmd_test_spk6 = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_IGNITION_CATEGORY_16_hex@@\x00\x06"
|
||
cmd_test_spk7 = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_IGNITION_CATEGORY_16_hex@@\x00\x07"
|
||
cmd_test_spk8 = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_IGNITION_CATEGORY_16_hex@@\x00\x08"
|
||
cmd_test_spk9 = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_IGNITION_CATEGORY_16_hex@@\x00\x09"
|
||
cmd_test_spk10 = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_IGNITION_CATEGORY_16_hex@@\x00\x0a"
|
||
cmd_test_spk11 = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_IGNITION_CATEGORY_16_hex@@\x00\x0b"
|
||
cmd_test_spk12 = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_IGNITION_CATEGORY_16_hex@@\x00\x0c"
|
||
|
||
cmd_test_lua1 = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_LUA_OUTPUT_CATEGORY_16_hex@@\x00\x01"
|
||
cmd_test_lua2 = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_LUA_OUTPUT_CATEGORY_16_hex@@\x00\x02"
|
||
cmd_test_lua3 = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_LUA_OUTPUT_CATEGORY_16_hex@@\x00\x03"
|
||
cmd_test_lua4 = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_LUA_OUTPUT_CATEGORY_16_hex@@\x00\x04"
|
||
cmd_test_lua5 = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_LUA_OUTPUT_CATEGORY_16_hex@@\x00\x05"
|
||
cmd_test_lua6 = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_LUA_OUTPUT_CATEGORY_16_hex@@\x00\x06"
|
||
cmd_test_lua7 = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_LUA_OUTPUT_CATEGORY_16_hex@@\x00\x07"
|
||
cmd_test_lua8 = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_LUA_OUTPUT_CATEGORY_16_hex@@\x00\x08"
|
||
|
||
cmd_test_inj1 = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_INJECTOR_CATEGORY_16_hex@@\x00\x01"
|
||
cmd_test_inj2 = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_INJECTOR_CATEGORY_16_hex@@\x00\x02"
|
||
cmd_test_inj3 = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_INJECTOR_CATEGORY_16_hex@@\x00\x03"
|
||
cmd_test_inj4 = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_INJECTOR_CATEGORY_16_hex@@\x00\x04"
|
||
cmd_test_inj5 = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_INJECTOR_CATEGORY_16_hex@@\x00\x05"
|
||
cmd_test_inj6 = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_INJECTOR_CATEGORY_16_hex@@\x00\x06"
|
||
cmd_test_inj7 = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_INJECTOR_CATEGORY_16_hex@@\x00\x07"
|
||
cmd_test_inj8 = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_INJECTOR_CATEGORY_16_hex@@\x00\x08"
|
||
cmd_test_inj9 = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_INJECTOR_CATEGORY_16_hex@@\x00\x09"
|
||
cmd_test_inj10 = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_INJECTOR_CATEGORY_16_hex@@\x00\x0a"
|
||
cmd_test_inj11 = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_INJECTOR_CATEGORY_16_hex@@\x00\x0b"
|
||
cmd_test_inj12 = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_INJECTOR_CATEGORY_16_hex@@\x00\x0c"
|
||
|
||
cmd_test_cancel = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_BENCH_CATEGORY_16_hex@@@@bench_mode_e_BENCH_CANCEL_16_hex@@"
|
||
|
||
cmd_test_sol1 = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_SOLENOID_CATEGORY_16_hex@@\x00\x01"
|
||
cmd_test_sol2 = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_SOLENOID_CATEGORY_16_hex@@\x00\x02"
|
||
cmd_test_sol3 = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_SOLENOID_CATEGORY_16_hex@@\x00\x03"
|
||
cmd_test_sol4 = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_SOLENOID_CATEGORY_16_hex@@\x00\x04"
|
||
cmd_test_sol5 = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_SOLENOID_CATEGORY_16_hex@@\x00\x05"
|
||
cmd_test_sol6 = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_SOLENOID_CATEGORY_16_hex@@\x00\x06"
|
||
|
||
cmd_test_main_relay = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_BENCH_CATEGORY_16_hex@@@@bench_mode_e_BENCH_MAIN_RELAY_16_hex@@"
|
||
cmd_test_fuel_pump = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_BENCH_CATEGORY_16_hex@@@@bench_mode_e_BENCH_FUEL_PUMP_16_hex@@"
|
||
cmd_test_starter_relay = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_BENCH_CATEGORY_16_hex@@@@bench_mode_e_BENCH_STARTER_ENABLE_RELAY_16_hex@@"
|
||
cmd_test_starter_disable_relay = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_BENCH_CATEGORY_16_hex@@@@bench_mode_e_BENCH_STARTER_DISABLE_RELAY_16_hex@@"
|
||
cmd_test_ac_relay = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_BENCH_CATEGORY_16_hex@@@@bench_mode_e_BENCH_AC_COMPRESSOR_RELAY_16_hex@@"
|
||
cmd_test_fan_1 = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_BENCH_CATEGORY_16_hex@@@@bench_mode_e_BENCH_FAN_RELAY_16_hex@@"
|
||
cmd_test_fan_2 = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_BENCH_CATEGORY_16_hex@@@@bench_mode_e_BENCH_FAN_RELAY_2_16_hex@@"
|
||
cmd_test_check_engine_light = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_BENCH_CATEGORY_16_hex@@@@bench_mode_e_BENCH_CHECK_ENGINE_LIGHT_16_hex@@"
|
||
cmd_test_idle_valve = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_BENCH_CATEGORY_16_hex@@@@bench_mode_e_BENCH_IDLE_VALVE_16_hex@@"
|
||
cmd_test_second_idle_valve = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_BENCH_CATEGORY_16_hex@@@@bench_mode_e_BENCH_SECOND_IDLE_VALVE_16_hex@@"
|
||
cmd_test_hpfp_valve = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_BENCH_CATEGORY_16_hex@@@@bench_mode_e_BENCH_HPFP_VALVE_16_hex@@"
|
||
cmd_test_acr_valve = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_BENCH_CATEGORY_16_hex@@@@bench_mode_e_HD_ACR_16_hex@@"
|
||
cmd_test_acr2_valve = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_BENCH_CATEGORY_16_hex@@@@bench_mode_e_HD_ACR2_16_hex@@"
|
||
cmd_test_vvt0_valve = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_BENCH_CATEGORY_16_hex@@@@bench_mode_e_BENCH_VVT0_VALVE_16_hex@@"
|
||
cmd_test_vvt1_valve = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_BENCH_CATEGORY_16_hex@@@@bench_mode_e_BENCH_VVT1_VALVE_16_hex@@"
|
||
cmd_test_vvt2_valve = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_BENCH_CATEGORY_16_hex@@@@bench_mode_e_BENCH_VVT2_VALVE_16_hex@@"
|
||
cmd_test_vvt3_valve = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_BENCH_CATEGORY_16_hex@@@@bench_mode_e_BENCH_VVT3_VALVE_16_hex@@"
|
||
|
||
cmd_calibrate_pedal_up = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_X14_16_hex@@@@ts_14_command_TS_GRAB_PEDAL_UP_16_hex@@"
|
||
cmd_calibrate_pedal_down = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_X14_16_hex@@@@ts_14_command_TS_GRAB_PEDAL_WOT_16_hex@@"
|
||
cmd_tle8888_init = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_X14_16_hex@@\x00\x08"
|
||
cmd_mc33810_init = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_X14_16_hex@@\x00\x14"
|
||
cmd_write_config = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_X14_16_hex@@@@ts_14_command_TS_WRITE_FLASH_16_hex@@"
|
||
;cmd_etb_reset = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_X14_16_hex@@@@ts_14_command_TS_ETB_RESET_16_hex@@"
|
||
cmd_etb_autotune = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_X14_16_hex@@\x00\x0C"
|
||
cmd_enable_self_stim = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_X14_16_hex@@\x00\x0D"
|
||
cmd_etb_auto_calibrate = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_X14_16_hex@@@@ts_14_command_TS_ETB_AUTOCAL_0_16_hex@@"
|
||
cmd_disable_self_stim = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_X14_16_hex@@@@ts_14_command_TS_TRIGGER_STIMULATOR_DISABLE_16_hex@@"
|
||
cmd_etb_autotune_stop = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_X14_16_hex@@@@ts_14_command_TS_ETB_STOP_AUTOTUNE_16_hex@@"
|
||
cmd_etb_auto_calibrate_2 = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_X14_16_hex@@@@ts_14_command_TS_ETB_AUTOCAL_1_16_hex@@"
|
||
cmd_wideband_firmare_update = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_X14_16_hex@@\x00\x12"
|
||
cmd_enable_ext_stim = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_X14_16_hex@@\x00\x13"
|
||
cmd_etb_disable_jam_detect = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_X14_16_hex@@\x00\x14"
|
||
cmd_burn_without_flash = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_X14_16_hex@@\x00\x15"
|
||
|
||
cmd_set_wideband_idx_0 = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_WIDEBAND_16_hex@@\x00\x00"
|
||
cmd_set_wideband_idx_1 = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_WIDEBAND_16_hex@@\x00\x01"
|
||
|
||
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"
|
||
; jump to OpenBLT bootloader
|
||
cmd_openblt = "@@TS_IO_TEST_COMMAND_char@@\x00\xbc\x00\x00"
|
||
|
||
; See 'executeTSCommand' in firmware source code
|
||
|
||
@@COMMANDS_FROM_FILE@@
|
||
|
||
cmd_set_engine_type_default = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_SET_DEFAULT_ENGINE_16_hex@@\x00\x00"
|
||
|
||
[UserDefined]
|
||
@@LIVE_DATA_PANELS_FROM_FILE@@
|
||
@@BOARD_PANELS_FROM_FILE@@
|
||
|
||
dialog = scriptTable1TblSettings, "", yAxis
|
||
field = "Name", scriptTableName1
|
||
panel = scriptTable1Tbl
|
||
|
||
dialog = scriptTable2TblSettings, "", yAxis
|
||
field = "Name", scriptTableName2
|
||
panel = scriptTable2Tbl
|
||
|
||
dialog = scriptTable3TblSettings, "", yAxis
|
||
field = "Name", scriptTableName3
|
||
panel = scriptTable3Tbl
|
||
|
||
dialog = scriptTable4TblSettings, "", yAxis
|
||
field = "Name", scriptTableName4
|
||
panel = scriptTable4Tbl
|
||
|
||
dialog = scriptCurve1Settings, "", yAxis
|
||
field = "Name", scriptCurveName1
|
||
panel = scriptCurve1
|
||
|
||
dialog = scriptCurve2Settings, "", yAxis
|
||
field = "Name", scriptCurveName2
|
||
panel = scriptCurve2
|
||
|
||
dialog = scriptCurve3Settings, "", yAxis
|
||
field = "Name", scriptCurveName3
|
||
panel = scriptCurve3
|
||
|
||
dialog = scriptCurve4Settings, "", yAxis
|
||
field = "Name", scriptCurveName4
|
||
panel = scriptCurve4
|
||
|
||
dialog = scriptCurve5Settings, "", yAxis
|
||
field = "Name", scriptCurveName5
|
||
panel = scriptCurve5
|
||
|
||
dialog = scriptCurve6Settings, "", yAxis
|
||
field = "Name", scriptCurveName6
|
||
panel = scriptCurve6
|
||
|
||
dialog = tChargeRpmTpsSettings, "RPM+TPS mode"
|
||
field = "We use these coefficients to approximate air/fuel charge"
|
||
field = "temperature based on CLT and IAT, depending on RPM and TPM"
|
||
field = "Low RPM/Low TPS", tChargeMinRpmMinTps
|
||
field = "Low RPM/High TPS", tChargeMinRpmMaxTps
|
||
field = "High RPM/Low TPS", tChargeMaxRpmMinTps
|
||
field = "High RPM/High TPS", tChargeMaxRpmMaxTps
|
||
|
||
dialog = tChargeGeneralSettings, ""
|
||
field = "Mode", tChargeMode
|
||
field = "#These two parameters limit the estimate's rate of change"
|
||
field = "Increase rate limit", tChargeAirIncrLimit
|
||
field = "Decrease rate limit", tChargeAirDecrLimit
|
||
field = ""
|
||
|
||
dialog = tChargeAirInterpSettings, "Airflow interpolation mode"
|
||
field = "Low flow coefficient", tChargeAirCoefMin
|
||
field = "High flow coefficient", tChargeAirCoefMax
|
||
field = "Max air flow", tChargeAirFlowMax
|
||
|
||
dialog = tChargeSettings, "Estimated cylinder air temperature"
|
||
panel = tChargeGeneralSettings
|
||
panel = tChargeRpmTpsSettings, { tChargeMode == 0}
|
||
panel = tChargeAirInterpSettings, { tChargeMode == 1}
|
||
panel = tchargeCurve, { tChargeMode == 2 }
|
||
|
||
dialog = baseInjection, "Injection"
|
||
field = "Enabled", isInjectionEnabled
|
||
field = "Mode", injectionMode, {isInjectionEnabled == 1}@@if_ts_show_injection_mode
|
||
field = "#Batch injection with individual wiring"
|
||
field = "Alpha-N uses IAT density correction", alphaNUseIat, { fuelAlgorithm == @@engine_load_mode_e_LM_ALPHA_N@@ }
|
||
field = "Override VE table load axis", veOverrideMode, { isInjectionEnabled }
|
||
field = "Override AFR table load axis", afrOverrideMode, { isInjectionEnabled }
|
||
field = "Injection phase control mode", injectionTimingMode, { isInjectionEnabled }
|
||
|
||
dialog = ignitionOutputs, "Ignition Outputs"
|
||
field = "# wire each output to the corresponding cylinder number"
|
||
field = "# rusEFI handles firing order"
|
||
field = "Ignition Output Mode", ignitionPinMode, {isIgnitionEnabled == 1}@@if_ts_show_ignitionPinMode
|
||
field = "Ignition Output 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}
|
||
field = "Maximum timing advance", maximumIgnitionTiming, {isIgnitionEnabled}
|
||
field = "Minimum timing advance", minimumIgnitionTiming, {isIgnitionEnabled}
|
||
field = "Individually wired Wasted Spark", twoWireBatchIgnition, {isIgnitionEnabled == 1 && ignitionMode == @@ignition_mode_e_IM_WASTED_SPARK@@ }
|
||
field = "Override ignition table load axis", ignOverrideMode, {isIgnitionEnabled}
|
||
field = "#Use fixed timing while validating with a timing gun"
|
||
field = "Timing Mode", timingMode, {isIgnitionEnabled}
|
||
field = "Fixed Timing", fixedTiming, {isIgnitionEnabled == 1 && timingMode == 1}
|
||
|
||
dialog = ignitionSettings, "", xAxis
|
||
panel = ignitionBasic
|
||
panel = ignitionOutputs, { 1 }, { uiMode == @@UiMode_FULL@@ || uiMode == @@UiMode_INSTALLATION@@ }
|
||
|
||
dialog = baseEngineConfig, "Engine Configuration"
|
||
field = "Number of cylinders", cylindersCount@@if_ts_show_number_of_cylinders
|
||
field = "Displacement", displacement
|
||
field = "Firing order", firingOrder@@if_ts_show_firing_order
|
||
field = "Vehicle weight", vehicleWeight@@if_ts_show_vehicle_weight
|
||
|
||
dialog = engineMetadata, "Engine Metadata"
|
||
field = "#These metadata are used by rusEFI Online"
|
||
field = "Engine Make", engineMake
|
||
field = "Manufacturer Engine Code", engineCode
|
||
field = "Vehicle Name", vehicleName
|
||
field = "VIN", vinNumber
|
||
field = "Compression Ratio", compressionRatio@@if_ts_show_compression_ratio
|
||
field = "Forced Induction?", isForcedInduction@@if_ts_show_forced_induction
|
||
|
||
dialog = trigger_primary, "Primary Trigger"
|
||
topicHelp = "triggerHelp"
|
||
; see also in firmware '[doesTriggerImplyOperationMode]' tag
|
||
field = "Strokes", twoStroke@@if_ts_show_strokes
|
||
field = ""@@if_ts_show_strokes
|
||
field = "Trigger type", trigger_type
|
||
field = "Total tooth count", trigger_customTotalToothCount, {trigger_type == @@trigger_type_e_TT_TOOTHED_WHEEL@@}, {trigger_type == @@trigger_type_e_TT_TOOTHED_WHEEL@@}
|
||
field = "Missing/skipped tooth count", trigger_customSkippedToothCount, {trigger_type == @@trigger_type_e_TT_TOOTHED_WHEEL@@}, {trigger_type == @@trigger_type_e_TT_TOOTHED_WHEEL@@}
|
||
field = "Skipped wheel location", skippedWheelOnCam, 1, { twoStroke == 0 && (trigger_type == @@trigger_type_e_TT_TOOTHED_WHEEL@@ || @@TRIGGER_TYPE_WITHOUT_KNOWN_LOCATION@@) }
|
||
field = ""
|
||
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@@if_ts_show_globalTriggerAngleOffset
|
||
|
||
field = ""
|
||
field = ""
|
||
|
||
field = "#Cam is primary if you have cam sensor as part of trigger shape"@@if_ts_show_trigger_pins
|
||
; cam if
|
||
; two-stroke, or
|
||
; not crank trigger and ((vague trigger and cam choice) or not vague trigger)
|
||
field = "Cam Sensor (Primary channel)", triggerInputPins1, 1, {twoStroke == 1 || ( !(@@TRIGGER_CRANK_BASED@@) && ( ( (@@TRIGGER_TYPE_WITHOUT_KNOWN_LOCATION@@) && skippedWheelOnCam) || !(@@TRIGGER_TYPE_WITHOUT_KNOWN_LOCATION@@) ) ) }@@if_ts_show_trigger_pins
|
||
field = "Crank Sensor (Primary channel)", triggerInputPins1, 1, { !(twoStroke == 1 || ( !(@@TRIGGER_CRANK_BASED@@) && ( ( (@@TRIGGER_TYPE_WITHOUT_KNOWN_LOCATION@@) && skippedWheelOnCam) || !(@@TRIGGER_TYPE_WITHOUT_KNOWN_LOCATION@@) ) )) }@@if_ts_show_trigger_pins
|
||
field = "Primary Edge", invertPrimaryTriggerSignal@@if_ts_show_trigger_pins
|
||
field = "Secondary channel", triggerInputPins2, { triggerInputPins2 != 0 || (triggerInputPins1 != 0 && (@@TRIGGER_TYPE_WITH_SECOND_WHEEL@@) ) }@@if_ts_show_trigger_pins
|
||
field = "Secondary Edge", invertSecondaryTriggerSignal, {triggerInputPins2 != 0 && (@@TRIGGER_TYPE_WITH_SECOND_WHEEL@@) }@@if_ts_show_trigger_pins
|
||
|
||
dialog = trigger_cams, "Cam Inputs"
|
||
field = "!<html><a href=https://rusefi.com/s/vvt>https://rusefi.com/s/vvt</a></html>"
|
||
; todo: code generator to hard-code all triggers not requiring VVT?
|
||
; todo: https://github.com/rusefi/rusefi/issues/2077
|
||
|
||
field = @@CAM_1_MODE_NAME@@, vvtMode1, {trigger_type != @@trigger_type_e_TT_MAZDA_MIATA_NA@@}
|
||
field = "2JZ Position", camDecoder2jzPosition, 1, {vvtMode1 == @@vvt_mode_e_VVT_TOYOTA_3_TOOTH@@}
|
||
field = "2JZ Precision", camDecoder2jzPrecision, 1, {vvtMode1 == @@vvt_mode_e_VVT_TOYOTA_3_TOOTH@@}
|
||
field = @@CAM_2_MODE_NAME@@, vvtMode2, {trigger_type != @@trigger_type_e_TT_MAZDA_MIATA_NA@@}@@if_ts_show_cam2
|
||
field = ""
|
||
field = "Cam sensor bank 1 intake", camInputs1, { camInputs1 != 0 || (vvtMode1 != @@vvt_mode_e_VVT_INACTIVE@@ ) }
|
||
field = "Cam sensor bank 1 exhaust", camInputs2, { camInputs2 != 0 || (vvtMode2 != @@vvt_mode_e_VVT_INACTIVE@@ && camInputs1 != 0 ) }@@if_ts_show_cam2
|
||
field = "Cam sensor bank 2 intake", camInputs3, { camInputs3 != 0 || (vvtMode1 != @@vvt_mode_e_VVT_INACTIVE@@ && camInputs1 != 0 ) }@@if_ts_show_bank2_cam1
|
||
field = "Cam sensor bank 2 exhaust", camInputs4, { camInputs4 != 0 || (vvtMode2 != @@vvt_mode_e_VVT_INACTIVE@@ && camInputs2 != 0 ) }@@if_ts_show_bank2_cam2
|
||
field = "intake Cam Edge Select", invertCamVVTSignal, { camInputs1 != 0 }@@if_ts_show_intake_cam_edge
|
||
field = "exhaust Cam Edge Select", invertExhaustCamVVTSignal, { camInputs2 != 0 }@@if_ts_show_cam2
|
||
field = ""
|
||
field = "#Set offset so VVT indicates 0 degrees in default position"
|
||
field = "VVT offset bank 1 intake", vvtOffsets1, { camInputs1 != 0 }
|
||
field = "VVT offset bank 1 exhaust", vvtOffsets2, { camInputs2 != 0 }@@if_ts_show_cam2
|
||
field = "VVT offset bank 2 intake", vvtOffsets3, { camInputs3 != 0 }@@if_ts_show_bank2_cam1
|
||
field = "VVT offset bank 2 exhaust", vvtOffsets4, { camInputs4 != 0 }@@if_ts_show_bank2_cam2
|
||
field = ""@@if_ts_show_sync_cam
|
||
field = "Cam for engine sync resolution", engineSyncCam, { vvtMode1 != @@vvt_mode_e_VVT_INACTIVE@@ || vvtMode2 != @@vvt_mode_e_VVT_INACTIVE@@ }@@if_ts_show_sync_cam
|
||
|
||
dialog = triggerConfiguration_gap, "Trigger Gap Override"
|
||
field = "!This is a pretty advanced feature for when you are debugging trigger synchronization"
|
||
field = "Override well known trigger gaps", overrideTriggerGaps
|
||
field = gapTrackingLengthOverride, gapTrackingLengthOverride, { overrideTriggerGaps == 1 }
|
||
field = "First gap from", triggerGapOverrideFrom1, { overrideTriggerGaps == 1 }
|
||
field = "First gap to", triggerGapOverrideTo1, { overrideTriggerGaps == 1 }
|
||
field = "Second gap from", triggerGapOverrideFrom2, { overrideTriggerGaps == 1 && gapTrackingLengthOverride >= 2 }
|
||
field = "Second gap to", triggerGapOverrideTo2, { overrideTriggerGaps == 1 && gapTrackingLengthOverride >= 2 }
|
||
field = "Gap #3 from", triggerGapOverrideFrom3, { overrideTriggerGaps == 1 && gapTrackingLengthOverride >= 3 }
|
||
field = "Gap #3 to", triggerGapOverrideTo3, { overrideTriggerGaps == 1 && gapTrackingLengthOverride >= 3 }
|
||
field = "Gap #4 from", triggerGapOverrideFrom4, { overrideTriggerGaps == 1 && gapTrackingLengthOverride >= 4 }
|
||
field = "Gap #4 to", triggerGapOverrideTo4, { overrideTriggerGaps == 1 && gapTrackingLengthOverride >= 4 }
|
||
field = "Gap #5 from", triggerGapOverrideFrom5, { overrideTriggerGaps == 1 && gapTrackingLengthOverride >= 5 }
|
||
field = "Gap #5 to", triggerGapOverrideTo5, { overrideTriggerGaps == 1 && gapTrackingLengthOverride >= 5 }
|
||
field = "Override well known VVT gaps", overrideVvtTriggerGaps
|
||
field = gapVvtTrackingLengthOverride, gapVvtTrackingLengthOverride, { overrideVvtTriggerGaps == 1 }
|
||
field = "First VVT gap from", triggerVVTGapOverrideFrom1, { overrideVvtTriggerGaps == 1 }
|
||
field = "First VVT gap to", triggerVVTGapOverrideTo1, { overrideVvtTriggerGaps == 1 }
|
||
field = "Second VVT gap from", triggerVVTGapOverrideFrom2, { overrideVvtTriggerGaps == 1 && gapVvtTrackingLengthOverride >= 2 }
|
||
field = "Second VVT gap to", triggerVVTGapOverrideTo2, { overrideVvtTriggerGaps == 1 && gapVvtTrackingLengthOverride >= 2 }
|
||
field = "VVT gap #3 from", triggerVVTGapOverrideFrom3, { overrideVvtTriggerGaps == 1 && gapVvtTrackingLengthOverride >= 3 }
|
||
field = "VVT gap #3 to", triggerVVTGapOverrideTo3, { overrideVvtTriggerGaps == 1 && gapVvtTrackingLengthOverride >= 3 }
|
||
field = "VVT gap #4 from", triggerVVTGapOverrideFrom4 { overrideVvtTriggerGaps == 1 && gapVvtTrackingLengthOverride >= 4 }
|
||
field = "VVT gap #4 to", triggerVVTGapOverrideTo4 { overrideVvtTriggerGaps == 1 && gapVvtTrackingLengthOverride >= 4 }
|
||
|
||
dialog = trigger_advanced, "Advanced Trigger"
|
||
field = "Require cam/VVT sync for ignition", isPhaseSyncRequiredForIgnition
|
||
field = "Maximum cam/VVT sync RPM", maxCamPhaseResolveRpm
|
||
field = "MAP readout angle", mapCamDetectionAnglePosition, 1, { vvtMode1 == @@vvt_mode_e_VVT_MAP_V_TWIN@@ }
|
||
field = "MAP delta threshold", mapSyncThreshold, 1, { vvtMode1 == @@vvt_mode_e_VVT_MAP_V_TWIN@@ }
|
||
field = "Print verbose VVT sync details to console",verboseVVTDecoding
|
||
field = "Print verbose trigger sync to console", verboseTriggerSynchDetails
|
||
field = "Display logic signals", displayLogicLevelsInEngineSniffer
|
||
field = "Do not print messages in case of sync error", silentTriggerError
|
||
field = "Focus on inputs in engine sniffer", engineSnifferFocusOnInputs
|
||
field = "Enable noise filtering", useNoiselessTriggerDecoder, {trigger_type == @@trigger_type_e_TT_TOOTHED_WHEEL_60_2@@ || trigger_type == @@trigger_type_e_TT_TOOTHED_WHEEL_36_1@@}
|
||
panel = triggerInputComparator @@if_ts_show_trigger_comparator
|
||
|
||
dialog = triggerConfiguration, "", xAxis
|
||
panel = trigger_primary, {1}, { consumeObdSensors == 0 }
|
||
panel = trigger_cams, {1}, { consumeObdSensors == 0 }
|
||
|
||
; Engine->Injection Settings
|
||
dialog = injChars, "Injector Settings", yAxis
|
||
field = "Injector flow", injector_flow, {isInjectionEnabled == 1}
|
||
field = "Injector flow units", injectorFlowAsMassFlow, {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}
|
||
field = "E100 stoichiometric ratio", stoichRatioSecondary, {isInjectionEnabled == 1 && flexSensorPin != 0 }
|
||
|
||
dialog = injectorOutputSettings, "Injector Outputs", yAxis
|
||
field = "Use only first half of outputs for batch mode"
|
||
field = "# wire each output to the corresponding cylinder number"
|
||
field = "# rusEFI handles firing order"
|
||
field = "Injection Output 1", injectionPins1, {isInjectionEnabled == 1}
|
||
field = "Injection Output 2", injectionPins2, {isInjectionEnabled == 1 && injectionMode != 3 && cylindersCount > 1}
|
||
field = "Injection Output 3", injectionPins3, {isInjectionEnabled == 1 && injectionMode != @@injection_mode_e_IM_SINGLE_POINT@@ && cylindersCount > 2}@@if_ts_show_cylinder_3
|
||
field = "Injection Output 4", injectionPins4, {isInjectionEnabled == 1 && injectionMode != 3 && cylindersCount > 3}@@if_ts_show_cylinder_4
|
||
field = "Injection Output 5 ", injectionPins5, {isInjectionEnabled == 1 && injectionMode != @@injection_mode_e_IM_SINGLE_POINT@@ && cylindersCount > 4}@@if_ts_show_cylinder_5
|
||
field = "Injection Output 6 ", injectionPins6, {isInjectionEnabled == 1 && injectionMode != @@injection_mode_e_IM_SINGLE_POINT@@ && cylindersCount > 5}@@if_ts_show_cylinder_6
|
||
field = "Injection Output 7 ", injectionPins7, {isInjectionEnabled == 1 && injectionMode != 3 && cylindersCount > 6}@@if_ts_show_cylinder_7
|
||
field = "Injection Output 8 ", injectionPins8, {isInjectionEnabled == 1 && injectionMode != 3 && cylindersCount > 7}@@if_ts_show_cylinder_8
|
||
field = "Injection Output 9 ", injectionPins9, {isInjectionEnabled == 1 && cylindersCount > 8}@@if_ts_show_cylinder_9
|
||
field = "Injection Output 10 ", injectionPins10, {isInjectionEnabled == 1 && cylindersCount > 9}@@if_ts_show_cylinder_10
|
||
field = "Injection Output 11 ", injectionPins11, {isInjectionEnabled == 1 && cylindersCount > 10}@@if_ts_show_cylinder_11
|
||
field = "Injection Output 12 ", injectionPins12, {isInjectionEnabled == 1 && cylindersCount > 11}@@if_ts_show_cylinder_12
|
||
field = ""@@if_ts_show_injectionPinMode
|
||
field = "injection Output(s) Mode", injectionPinMode, {isInjectionEnabled == 1}@@if_ts_show_injectionPinMode
|
||
|
||
dialog = cylinderBankSelect, "Cylinder Banks", yAxis
|
||
field = "Cylinder 1", cylinderBankSelect1, {isInjectionEnabled == 1}
|
||
field = "Cylinder 2", cylinderBankSelect2, {isInjectionEnabled == 1 && injectionMode != @@injection_mode_e_IM_SINGLE_POINT@@ && cylindersCount > 1}
|
||
field = "Cylinder 3", cylinderBankSelect3, {isInjectionEnabled == 1 && injectionMode != @@injection_mode_e_IM_SINGLE_POINT@@ && cylindersCount > 2}@@if_ts_show_cylinder_3
|
||
field = "Cylinder 4", cylinderBankSelect4, {isInjectionEnabled == 1 && injectionMode != 3 && cylindersCount > 3}@@if_ts_show_cylinder_4
|
||
field = "Cylinder 5 ", cylinderBankSelect5, {isInjectionEnabled == 1 && injectionMode != 3 && cylindersCount > 4}@@if_ts_show_cylinder_5
|
||
field = "Cylinder 6 ", cylinderBankSelect6, {isInjectionEnabled == 1 && injectionMode != 3 && cylindersCount > 5}@@if_ts_show_cylinder_6
|
||
field = "Cylinder 7 ", cylinderBankSelect7, {isInjectionEnabled == 1 && injectionMode != 3 && cylindersCount > 6}@@if_ts_show_cylinder_7
|
||
field = "Cylinder 8 ", cylinderBankSelect8, {isInjectionEnabled == 1 && injectionMode != 3 && cylindersCount > 7}@@if_ts_show_cylinder_8
|
||
field = "Cylinder 9 ", cylinderBankSelect9, {isInjectionEnabled == 1 && cylindersCount > 8}@@if_ts_show_cylinder_9
|
||
field = "Cylinder 10 ", cylinderBankSelect10, {isInjectionEnabled == 1 && cylindersCount > 9}@@if_ts_show_cylinder_10
|
||
field = "Cylinder 11 ", cylinderBankSelect11, {isInjectionEnabled == 1 && cylindersCount > 10}@@if_ts_show_cylinder_11
|
||
field = "Cylinder 12 ", cylinderBankSelect12, {isInjectionEnabled == 1 && cylindersCount > 11}@@if_ts_show_cylinder_12
|
||
|
||
dialog = injectorNonlinearPolynomial, "Polynomial Adder", yAxis
|
||
field = "Add nonlinearity below pulse", applyNonlinearBelowPulse
|
||
field = "constant", injectorCorrectionPolynomial1
|
||
field = "x^1", injectorCorrectionPolynomial2
|
||
field = "x^2", injectorCorrectionPolynomial3
|
||
field = "x^3", injectorCorrectionPolynomial4
|
||
field = "x^4", injectorCorrectionPolynomial5
|
||
field = "x^5", injectorCorrectionPolynomial6
|
||
field = "x^6", injectorCorrectionPolynomial7
|
||
field = "x^7", injectorCorrectionPolynomial8
|
||
|
||
dialog = injectorNonlinearFord, "Ford-model Small Pulse Correction", yAxis
|
||
field = "Small pulse slope (ALOSL)", fordInjectorSmallPulseSlope
|
||
field = "Set this to 'mass flow'", injectorFlowAsMassFlow
|
||
field = "Large pulse slope (AHISL)", injector_flow
|
||
field = "Small pulse breakpoint (FUEL_BKPT)", fordInjectorSmallPulseBreakPoint
|
||
|
||
dialog = injectorNonlinear
|
||
field = "Small pulse correction mode", injectorNonlinearMode
|
||
panel = injectorNonlinearPolynomial, {1}, { injectorNonlinearMode == 1 }
|
||
panel = injectorNonlinearFord, {1}, { injectorNonlinearMode == 2 }
|
||
|
||
dialog = testLuaOut, "Lua Out Test"
|
||
commandButton = "Lua Out #1", cmd_test_lua1
|
||
commandButton = "Lua Out #2", cmd_test_lua2
|
||
commandButton = "Lua Out #3", cmd_test_lua3
|
||
commandButton = "Lua Out #4", cmd_test_lua4
|
||
commandButton = "Lua Out #5", cmd_test_lua5
|
||
commandButton = "Lua Out #6", cmd_test_lua6
|
||
commandButton = "Lua Out #7", cmd_test_lua7
|
||
commandButton = "Lua Out #8", cmd_test_lua8
|
||
commandButton = "Abort test", cmd_test_cancel
|
||
|
||
dialog = testInjectors, "Injector Test"
|
||
commandButton = @@INJECTOR_1_NAME@@, cmd_test_inj1
|
||
commandButton = @@INJECTOR_2_NAME@@, cmd_test_inj2, { cylindersCount >= 2 }
|
||
commandButton = "Injector #3", cmd_test_inj3, { cylindersCount >= 3 }@@if_ts_show_cylinder_3
|
||
commandButton = "Injector #4", cmd_test_inj4, { cylindersCount >= 4 }@@if_ts_show_cylinder_4
|
||
commandButton = "Injector #5", cmd_test_inj5, { cylindersCount >= 5 }@@if_ts_show_cylinder_5
|
||
commandButton = "Injector #6", cmd_test_inj6, { cylindersCount >= 6 }@@if_ts_show_cylinder_6
|
||
commandButton = "Injector #7", cmd_test_inj7, { cylindersCount >= 7 }@@if_ts_show_cylinder_7
|
||
commandButton = "Injector #8", cmd_test_inj8, { cylindersCount >= 8 }@@if_ts_show_cylinder_8
|
||
commandButton = "Injector #9", cmd_test_inj9, { cylindersCount >= 9 }@@if_ts_show_cylinder_9
|
||
commandButton = "Injector #10", cmd_test_inj10, { cylindersCount >= 10 }@@if_ts_show_cylinder_10
|
||
commandButton = "Injector #11", cmd_test_inj11, { cylindersCount >= 11 }@@if_ts_show_cylinder_11
|
||
commandButton = "Injector #12", cmd_test_inj12, { cylindersCount >= 12 }@@if_ts_show_cylinder_12
|
||
commandButton = "Abort test", cmd_test_cancel
|
||
|
||
dialog = testTcuSolenoids, "TCU Solenoid Test"
|
||
commandButton = "Solenoid #1", cmd_test_sol1
|
||
commandButton = "Solenoid #2", cmd_test_sol2
|
||
commandButton = "Solenoid #3", cmd_test_sol3
|
||
commandButton = "Solenoid #4", cmd_test_sol4
|
||
commandButton = "Solenoid #5", cmd_test_sol5
|
||
commandButton = "Solenoid #6", cmd_test_sol6
|
||
commandButton = "Abort test", cmd_test_cancel
|
||
|
||
dialog = testOther
|
||
field = "Count", benchTestCount
|
||
field = "On Time", benchTestOnTime
|
||
field = "Off Time", benchTestOffTime
|
||
panel = testTcuSolenoids@@if_ts_show_tcu
|
||
commandButton = "Reset firmware settings", cmd_set_engine_type_default@@if_ts_show_reset_calibrations
|
||
|
||
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, {isInjectionEnabled}
|
||
|
||
dialog = ignitionCylExtra, "Cylinder offsets"
|
||
field = "Offset angle for each cylinder if you have an odd fire"
|
||
field = "engine, like a v-twin or some V6/V10 engines"
|
||
field = "Odd Fire Engine", oddFireEngine
|
||
field = "#Positive numbers retard, negative numbers advance"
|
||
field = "Offset cyl 1", timing_offset_cylinder1
|
||
field = "Offset cyl 2", timing_offset_cylinder2, {cylindersCount > 1}
|
||
field = "Offset cyl 3", timing_offset_cylinder3, {cylindersCount > 2}@@if_ts_show_cylinder_3
|
||
field = "Offset cyl 4", timing_offset_cylinder4, {cylindersCount > 3}@@if_ts_show_cylinder_4
|
||
field = "Offset cyl 5", timing_offset_cylinder5, {cylindersCount > 4}@@if_ts_show_cylinder_5
|
||
field = "Offset cyl 6", timing_offset_cylinder6, {cylindersCount > 5}@@if_ts_show_cylinder_6
|
||
field = "Offset cyl 7", timing_offset_cylinder7, {cylindersCount > 6}@@if_ts_show_cylinder_7
|
||
field = "Offset cyl 8", timing_offset_cylinder8, {cylindersCount > 7}@@if_ts_show_cylinder_8
|
||
field = "Offset cyl 9", timing_offset_cylinder9, {cylindersCount > 8}@@if_ts_show_cylinder_9
|
||
field = "Offset cyl 10", timing_offset_cylinder10, {cylindersCount > 9}@@if_ts_show_cylinder_10
|
||
field = "Offset cyl 11", timing_offset_cylinder11, {cylindersCount > 10}@@if_ts_show_cylinder_11
|
||
field = "Offset cyl 12", timing_offset_cylinder12, {cylindersCount > 11}@@if_ts_show_cylinder_12
|
||
|
||
dialog = stagedInjectionOutputs, "", yAxis
|
||
field = "Injection Stage 2 Output 1", injectionPinsStage21, {isInjectionEnabled && enableStagedInjection}
|
||
field = "Injection Stage 2 Output 2", injectionPinsStage22, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 1}
|
||
field = "Injection Stage 2 Output 3", injectionPinsStage23, {isInjectionEnabled && enableStagedInjection && injectionMode != @@injection_mode_e_IM_SINGLE_POINT@@ && cylindersCount > 2}
|
||
field = "Injection Stage 2 Output 4", injectionPinsStage24, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 3}
|
||
field = "Injection Stage 2 Output 5 ", injectionPinsStage25, {isInjectionEnabled && enableStagedInjection && injectionMode != @@injection_mode_e_IM_SINGLE_POINT@@ && cylindersCount > 4}
|
||
field = "Injection Stage 2 Output 6 ", injectionPinsStage26, {isInjectionEnabled && enableStagedInjection && injectionMode != @@injection_mode_e_IM_SINGLE_POINT@@ && cylindersCount > 5}
|
||
field = "Injection Stage 2 Output 7 ", injectionPinsStage27, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 6}
|
||
field = "Injection Stage 2 Output 8 ", injectionPinsStage28, {isInjectionEnabled && enableStagedInjection && injectionMode != 3 && cylindersCount > 7}
|
||
field = "Injection Stage 2 Output 9 ", injectionPinsStage29, {isInjectionEnabled && enableStagedInjection && cylindersCount > 8}
|
||
field = "Injection Stage 2 Output 10 ", injectionPinsStage210, {isInjectionEnabled && enableStagedInjection && cylindersCount > 9}
|
||
field = "Injection Stage 2 Output 11 ", injectionPinsStage211, {isInjectionEnabled && enableStagedInjection && cylindersCount > 10}
|
||
field = "Injection Stage 2 Output 12 ", injectionPinsStage212, {isInjectionEnabled && enableStagedInjection && cylindersCount > 11}
|
||
|
||
dialog = stagedInjection, "", yAxis
|
||
field = "Enable", enableStagedInjection, {isInjectionEnabled}
|
||
field = ""
|
||
field = "Secondary injector flow", injectorSecondary_flow, {isInjectionEnabled && enableStagedInjection}
|
||
field = "Secondary injector flow compensation mode", secondaryInjectorCompensationMode, { isInjectionEnabled && enableStagedInjection }
|
||
field = "Secondary injector reference pressure", secondaryInjectorFuelReferencePressure, { isInjectionEnabled && enableStagedInjection && secondaryInjectorCompensationMode != 0 }
|
||
field = ""
|
||
panel = injectorsSecondaryDeadTime, {isInjectionEnabled && enableStagedInjection}
|
||
|
||
dialog = multisparkDwellParams, "Delay & Dwell"
|
||
field = "Spark duration", multisparkSparkDuration, {multisparkEnable}
|
||
field = "Subsequent spark 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 = "#Not recommended for use on distributor or wasted spark ignition systems."
|
||
field = "Enable multiple sparks", multisparkEnable
|
||
panel = multisparkMain
|
||
panel = multisparkDwellParams
|
||
|
||
dialog = ignAdder1Cfg, "Ignition adder 1 config"
|
||
field = "#The bias table controls how much of the blend table"
|
||
field = "#is mixed in to the base ignition table. For example, a value of"
|
||
field = "#+10 in the table, with 50 as the current bias will result"
|
||
field = "#in 5.0 degrees of ignition timing added."
|
||
field = "#The X axis of the bias table is controlled by the selected blend"
|
||
field = "#parameter below."
|
||
field = "Blend parameter", ignBlends1_blendParameter
|
||
field = "Y axis override (set Zero for no override)", ignBlends1_yAxisOverride, {ignBlends1_blendParameter}
|
||
panel = ignAdder1Bias, {ignBlends1_blendParameter}
|
||
|
||
dialog = ignAdder2Cfg, "Ignition adder 2 config"
|
||
field = "#The bias table controls how much of the blend table"
|
||
field = "#is mixed in to the base ignition table. For example, a value of"
|
||
field = "#+10 in the table, with 50 as the current bias will result"
|
||
field = "#in 5.0 degrees of ignition timing added."
|
||
field = "#The X axis of the bias table is controlled by the selected blend"
|
||
field = "#parameter below."
|
||
field = "Blend parameter", ignBlends2_blendParameter
|
||
field = "Y axis override (set Zero for no override)", ignBlends2_yAxisOverride, {ignBlends2_blendParameter}
|
||
panel = ignAdder2Bias, {ignBlends2_blendParameter}
|
||
|
||
dialog = ignAdder3Cfg, "Ignition adder 3 config"
|
||
field = "#The bias table controls how much of the blend table"
|
||
field = "#is mixed in to the base ignition table. For example, a value of"
|
||
field = "#+10 in the table, with 50 as the current bias will result"
|
||
field = "#in 5.0 degrees of ignition timing added."
|
||
field = "#The X axis of the bias table is controlled by the selected blend"
|
||
field = "#parameter below."
|
||
field = "Blend parameter", ignBlends3_blendParameter
|
||
field = "Y axis override (set Zero for no override)", ignBlends3_yAxisOverride, {ignBlends3_blendParameter}
|
||
panel = ignAdder3Bias, {ignBlends3_blendParameter}
|
||
|
||
dialog = ignAdder4Cfg, "Ignition adder 4 config"
|
||
field = "#The bias table controls how much of the blend table"
|
||
field = "#is mixed in to the base ignition table. For example, a value of"
|
||
field = "#+10 in the table, with 50 as the current bias will result"
|
||
field = "#in 5.0 degrees of ignition timing added."
|
||
field = "#The X axis of the bias table is controlled by the selected blend"
|
||
field = "#parameter below."
|
||
field = "Blend parameter", ignBlends4_blendParameter
|
||
field = "Y axis override (set Zero for no override)", ignBlends4_yAxisOverride, {ignBlends4_blendParameter}
|
||
panel = ignAdder4Bias, {ignBlends4_blendParameter}
|
||
|
||
dialog = veBlend1Cfg, "VE blend 1 config"
|
||
field = "#The bias table controls how much of the blend table"
|
||
field = "#is mixed in to the VE table. For example, a value of"
|
||
field = "#+10 in the table, with 50 as the current bias will result"
|
||
field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE,"
|
||
field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05."
|
||
field = "#The X axis of the bias table is controlled by the selected blend"
|
||
field = "#parameter below."
|
||
field = "Blend parameter", veBlends1_blendParameter
|
||
field = "Y axis override (set Zero for no override)", veBlends1_yAxisOverride, {veBlends1_blendParameter}
|
||
panel = veBlend1Bias, {veBlends1_blendParameter}
|
||
|
||
dialog = veBlend2Cfg, "VE blend 2 config"
|
||
field = "#The bias table controls how much of the blend table"
|
||
field = "#is mixed in to the VE table. For example, a value of"
|
||
field = "#+10 in the table, with 50 as the current bias will result"
|
||
field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE,"
|
||
field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05."
|
||
field = "#The X axis of the bias table is controlled by the selected blend"
|
||
field = "#parameter below."
|
||
field = "Blend parameter", veBlends2_blendParameter
|
||
field = "Y axis override (set Zero for no override)", veBlends2_yAxisOverride, {veBlends2_blendParameter}
|
||
panel = veBlend2Bias, {veBlends2_blendParameter}
|
||
|
||
dialog = veBlend3Cfg, "VE blend 3 config"
|
||
field = "#The bias table controls how much of the blend table"
|
||
field = "#is mixed in to the VE table. For example, a value of"
|
||
field = "#+10 in the table, with 50 as the current bias will result"
|
||
field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE,"
|
||
field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05."
|
||
field = "#The X axis of the bias table is controlled by the selected blend"
|
||
field = "#parameter below."
|
||
field = "Blend parameter", veBlends3_blendParameter
|
||
field = "Y axis override (set Zero for no override)", veBlends3_yAxisOverride, {veBlends3_blendParameter}
|
||
panel = veBlend3Bias, {veBlends3_blendParameter}
|
||
|
||
dialog = veBlend4Cfg, "VE blend 4 config"
|
||
field = "#The bias table controls how much of the blend table"
|
||
field = "#is mixed in to the VE table. For example, a value of"
|
||
field = "#+10 in the table, with 50 as the current bias will result"
|
||
field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE,"
|
||
field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05."
|
||
field = "#The X axis of the bias table is controlled by the selected blend"
|
||
field = "#parameter below."
|
||
field = "Blend parameter", veBlends4_blendParameter
|
||
field = "Y axis override (set Zero for no override)", veBlends4_yAxisOverride, {veBlends4_blendParameter}
|
||
panel = veBlend4Bias, {veBlends4_blendParameter}
|
||
|
||
indicatorPanel = isBoostControlledPanel, 1
|
||
indicator = {isBoostControlled}, "No Boost Control", "Boost Control Active"
|
||
|
||
dialog = boostOpenBlend1Cfg, "Boost open loop blend 1 config"
|
||
field = "#The bias table controls how much of the blend table"
|
||
field = "#is mixed in to the open loop boost table. For example, a value of"
|
||
field = "#+10 in the table, with 50 as the current bias will result"
|
||
field = "#in +5.0 added to the boost open loop %."
|
||
field = "#The X axis of the bias table is controlled by the selected blend"
|
||
field = "#parameter below."
|
||
panel = isBoostControlledPanel
|
||
field = "Blend parameter", boostOpenLoopBlends1_blendParameter
|
||
field = "Y axis override (set Zero for no override)", boostOpenLoopBlends1_yAxisOverride, {boostOpenLoopBlends1_blendParameter}
|
||
panel = boostOpenLoopBlend1Bias, {boostOpenLoopBlends1_blendParameter}
|
||
|
||
dialog = boostOpenBlend2Cfg, "Boost open loop blend 2 config"
|
||
field = "#The bias table controls how much of the blend table"
|
||
field = "#is mixed in to the open loop boost table. For example, a value of"
|
||
field = "#+10 in the table, with 50 as the current bias will result"
|
||
field = "#in +5.0 added to the boost open loop %."
|
||
field = "#The X axis of the bias table is controlled by the selected blend"
|
||
field = "#parameter below."
|
||
panel = isBoostControlledPanel
|
||
field = "Blend parameter", boostOpenLoopBlends2_blendParameter
|
||
field = "Y axis override (set Zero for no override)", boostOpenLoopBlends2_yAxisOverride, {boostOpenLoopBlends2_blendParameter}
|
||
panel = boostOpenLoopBlend2Bias, {boostOpenLoopBlends2_blendParameter}
|
||
|
||
dialog = boostClosedBlend1Cfg, "Boost closed loop blend 1 config"
|
||
field = "#The bias table controls how much of the blend table"
|
||
field = "#is mixed in to the closed loop boost table. For example, a value of"
|
||
field = "#+10 in the table, with 50 as the current bias will result"
|
||
field = "#in +5.0 added to the boost closed loop %."
|
||
field = "#The X axis of the bias table is controlled by the selected blend"
|
||
field = "#parameter below."
|
||
field = "Blend parameter", boostClosedLoopBlends1_blendParameter
|
||
field = "Y axis override (set Zero for no override)", boostClosedLoopBlends1_yAxisOverride, {boostClosedLoopBlends1_blendParameter}
|
||
panel = boostClosedLoopBlend1Bias, {boostClosedLoopBlends1_blendParameter}
|
||
|
||
dialog = boostClosedBlend2Cfg, "Boost closed loop blend 2 config"
|
||
field = "#The bias table controls how much of the blend table"
|
||
field = "#is mixed in to the closed loop boost table. For example, a value of"
|
||
field = "#+10 in the table, with 50 as the current bias will result"
|
||
field = "#in +5.0 added to the boost closed loop %."
|
||
field = "#The X axis of the bias table is controlled by the selected blend"
|
||
field = "#parameter below."
|
||
field = "Blend parameter", boostClosedLoopBlends2_blendParameter
|
||
field = "Y axis override (set Zero for no override)", boostClosedLoopBlends2_yAxisOverride, {boostClosedLoopBlends2_blendParameter}
|
||
panel = boostClosedLoopBlend2Bias, {boostClosedLoopBlends2_blendParameter}
|
||
|
||
dialog = dwellSettings, "", yAxis
|
||
panel = dwellCorrection
|
||
panel = dwellVoltageCorrection
|
||
|
||
dialog = auxTempSensor1Sensor, "aux1 Thermistor Settings"
|
||
field = "Input channel", auxTempSensor1_adcChannel
|
||
field = "Pullup resistor", auxTempSensor1_bias_resistor, {auxTempSensor1_adcChannel != @@ADC_CHANNEL_NONE@@}@@if_ts_show_clt_iat_pullup
|
||
|
||
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@@}
|
||
|
||
dialog = auxTempSensor2Sensor, "aux2 Thermistor Settings"
|
||
field = "Input channel", auxTempSensor2_adcChannel
|
||
field = "Pullup resistor", auxTempSensor2_bias_resistor, {auxTempSensor2_adcChannel != @@ADC_CHANNEL_NONE@@}@@if_ts_show_clt_iat_pullup
|
||
|
||
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 = tpsSent1, "SENT TPS"
|
||
field = "Input #1", sentInputPins1
|
||
field = "ETB type", sentEtbType, {sentInputPins1 != 0}
|
||
field = "Closed value", customSentTpsMin, {sentEtbType == @@SentEtbType_CUSTOM@@ }
|
||
field = "Open value", customSentTpsMax, {sentEtbType == @@SentEtbType_CUSTOM@@ }
|
||
|
||
dialog = oilTempSensor, "Oil Temp Sensor Settings"
|
||
field = "Input channel", oilTempSensor_adcChannel
|
||
field = "Pullup resistor", oilTempSensor_bias_resistor, {oilTempSensor_adcChannel != @@ADC_CHANNEL_NONE@@}
|
||
|
||
field = "Lowest temperature", oilTempSensor_tempC_1, {oilTempSensor_adcChannel != @@ADC_CHANNEL_NONE@@}
|
||
field = "Resistance @ LT", oilTempSensor_resistance_1, {oilTempSensor_adcChannel != @@ADC_CHANNEL_NONE@@}
|
||
field = ""
|
||
field = "Middle temperature", oilTempSensor_tempC_2, {oilTempSensor_adcChannel != @@ADC_CHANNEL_NONE@@}
|
||
field = "Resistance @ MT", oilTempSensor_resistance_2, {oilTempSensor_adcChannel != @@ADC_CHANNEL_NONE@@}
|
||
field = ""
|
||
field = "Highest temperature", oilTempSensor_tempC_3, {oilTempSensor_adcChannel != @@ADC_CHANNEL_NONE@@}
|
||
field = "Resistance @ HT", oilTempSensor_resistance_3, {oilTempSensor_adcChannel != @@ADC_CHANNEL_NONE@@}
|
||
|
||
dialog = fuelTempSensor, "Fuel Temp Sensor Settings"
|
||
field = "Input channel", fuelTempSensor_adcChannel
|
||
field = "Pullup resistor", fuelTempSensor_bias_resistor, {fuelTempSensor_adcChannel != @@ADC_CHANNEL_NONE@@}
|
||
|
||
field = "Lowest temperature", fuelTempSensor_tempC_1, {fuelTempSensor_adcChannel != @@ADC_CHANNEL_NONE@@}
|
||
field = "Resistance @ LT", fuelTempSensor_resistance_1, {fuelTempSensor_adcChannel != @@ADC_CHANNEL_NONE@@}
|
||
field = ""
|
||
field = "Middle temperature", fuelTempSensor_tempC_2, {fuelTempSensor_adcChannel != @@ADC_CHANNEL_NONE@@}
|
||
field = "Resistance @ MT", fuelTempSensor_resistance_2, {fuelTempSensor_adcChannel != @@ADC_CHANNEL_NONE@@}
|
||
field = ""
|
||
field = "Highest temperature", fuelTempSensor_tempC_3, {fuelTempSensor_adcChannel != @@ADC_CHANNEL_NONE@@}
|
||
field = "Resistance @ HT", fuelTempSensor_resistance_3, {fuelTempSensor_adcChannel != @@ADC_CHANNEL_NONE@@}
|
||
|
||
dialog = ambientTempSensor, "Ambient Temp Sensor Settings"
|
||
field = "!Put this sensor before any turbocharger/supercharger"
|
||
field = "!near the air filter."
|
||
field = "Input channel", ambientTempSensor_adcChannel
|
||
field = "Pullup resistor", ambientTempSensor_bias_resistor, {ambientTempSensor_adcChannel != @@ADC_CHANNEL_NONE@@}
|
||
|
||
field = "Lowest temperature", ambientTempSensor_tempC_1, {ambientTempSensor_adcChannel != @@ADC_CHANNEL_NONE@@}
|
||
field = "Resistance @ LT", ambientTempSensor_resistance_1, {ambientTempSensor_adcChannel != @@ADC_CHANNEL_NONE@@}
|
||
field = ""
|
||
field = "Middle temperature", ambientTempSensor_tempC_2, {ambientTempSensor_adcChannel != @@ADC_CHANNEL_NONE@@}
|
||
field = "Resistance @ MT", ambientTempSensor_resistance_2, {ambientTempSensor_adcChannel != @@ADC_CHANNEL_NONE@@}
|
||
field = ""
|
||
field = "Highest temperature", ambientTempSensor_tempC_3, {ambientTempSensor_adcChannel != @@ADC_CHANNEL_NONE@@}
|
||
field = "Resistance @ HT", ambientTempSensor_resistance_3, {ambientTempSensor_adcChannel != @@ADC_CHANNEL_NONE@@}
|
||
|
||
dialog = compressorDischargeTemperature, "Compressor Discharge Temp Settings"
|
||
field = "!Put this sensor after the turbocharger/supercharger"
|
||
field = "!but before the intercooler."
|
||
field = "Input channel", compressorDischargeTemperature_adcChannel
|
||
field = "Pullup resistor", compressorDischargeTemperature_bias_resistor, {compressorDischargeTemperature_adcChannel != @@ADC_CHANNEL_NONE@@}
|
||
|
||
field = "Lowest temperature", compressorDischargeTemperature_tempC_1, {compressorDischargeTemperature_adcChannel != @@ADC_CHANNEL_NONE@@}
|
||
field = "Resistance @ LT", compressorDischargeTemperature_resistance_1, {compressorDischargeTemperature_adcChannel != @@ADC_CHANNEL_NONE@@}
|
||
field = ""
|
||
field = "Middle temperature", compressorDischargeTemperature_tempC_2, {compressorDischargeTemperature_adcChannel != @@ADC_CHANNEL_NONE@@}
|
||
field = "Resistance @ MT", compressorDischargeTemperature_resistance_2, {compressorDischargeTemperature_adcChannel != @@ADC_CHANNEL_NONE@@}
|
||
field = ""
|
||
field = "Highest temperature", compressorDischargeTemperature_tempC_3, {compressorDischargeTemperature_adcChannel != @@ADC_CHANNEL_NONE@@}
|
||
field = "Resistance @ HT", compressorDischargeTemperature_resistance_3, {compressorDischargeTemperature_adcChannel != @@ADC_CHANNEL_NONE@@}
|
||
|
||
dialog = tpsNum1, "Throttle Body #1"
|
||
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, {tps1_1AdcChannel != @@ADC_CHANNEL_NONE@@}
|
||
field = "Secondary min", tps1SecondaryMin, {tps1_2AdcChannel != @@ADC_CHANNEL_NONE@@ && tps1_1AdcChannel != @@ADC_CHANNEL_NONE@@}
|
||
field = "Secondary max", tps1SecondaryMax, {tps1_2AdcChannel != @@ADC_CHANNEL_NONE@@ && tps1_1AdcChannel != @@ADC_CHANNEL_NONE@@}
|
||
commandButton = "Auto Calibrate ETB 1", cmd_etb_auto_calibrate, { (etbFunctions1 == @@dc_function_e_DC_Throttle1@@ || etbFunctions2 == @@dc_function_e_DC_Throttle1@@) && tps1_1AdcChannel != @@ADC_CHANNEL_NONE@@ && calibrationMode == @@TsCalMode_None@@}
|
||
|
||
dialog = tpsNum2, "Throttle Body #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, {tps2_1AdcChannel != @@ADC_CHANNEL_NONE@@}
|
||
field = "Secondary min", tps2SecondaryMin, {tps2_2AdcChannel != @@ADC_CHANNEL_NONE@@ && tps2_1AdcChannel != @@ADC_CHANNEL_NONE@@}
|
||
field = "Secondary max", tps2SecondaryMax, {tps2_2AdcChannel != @@ADC_CHANNEL_NONE@@ && tps2_1AdcChannel != @@ADC_CHANNEL_NONE@@}
|
||
commandButton = "Auto Calibrate ETB 2", cmd_etb_auto_calibrate_2, { (etbFunctions1 == @@dc_function_e_DC_Throttle2@@ || etbFunctions2 == @@dc_function_e_DC_Throttle2@@) && tps2_1AdcChannel != @@ADC_CHANNEL_NONE@@ && calibrationMode == @@TsCalMode_None@@}
|
||
|
||
dialog = tpsPpsLimits, "TPS/PPS Limits"
|
||
field = "TPS/PPS minimum valid value", tpsErrorDetectionTooLow, {tps1_1AdcChannel != @@ADC_CHANNEL_NONE@@}
|
||
field = "TPS/PPS maximum valid value", tpsErrorDetectionTooHigh, {tps1_1AdcChannel != @@ADC_CHANNEL_NONE@@}
|
||
field = "TPS/PPS Error Detection Threshold", etbSplit
|
||
|
||
dialog = tpsSensorLeft
|
||
panel = tpsPpsLimits
|
||
panel = tpsNum1
|
||
panel = tpsSent1@@if_ts_show_tps_sent
|
||
panel = tpsNum2@@if_ts_show_tps2
|
||
field = "Ford/Toyota redundant TPS mode", useFordRedundantTps@@if_ts_show_ford_toyota_tps_pps
|
||
field = "Secondary TPS maximum", tpsSecondaryMaximum, {useFordRedundantTps}@@if_ts_show_ford_toyota_tps_pps
|
||
|
||
dialog = pedalSensorLeft, @@pedalSensor_NAME@@
|
||
field = "Accelerator position sensor", throttlePedalPositionAdcChannel
|
||
field = "Up voltage", throttlePedalUpVoltage
|
||
commandButton = "Grab Up", cmd_calibrate_pedal_up
|
||
field = "Down (WOT) voltage", throttlePedalWOTVoltage
|
||
commandButton = "Grab Down", cmd_calibrate_pedal_down
|
||
field = "Accelerator position 2nd sensor", throttlePedalPositionSecondAdcChannel
|
||
field = "Up voltage", throttlePedalSecondaryUpVoltage
|
||
field = "Down (WOT) voltage", throttlePedalSecondaryWOTVoltage
|
||
field = "Ford/Toyota redundant PPS mode", useFordRedundantPps@@if_ts_show_ford_toyota_tps_pps
|
||
field = "Secondary PPS maximum", ppsSecondaryMaximum, {useFordRedundantPps}@@if_ts_show_ford_toyota_tps_pps
|
||
panel = tpsPpsLimits
|
||
|
||
dialog = pedalGauges
|
||
gauge = pedalPositionGauge
|
||
gauge = rawPpsPrimaryGauge
|
||
gauge = rawPpsSecondaryGauge
|
||
|
||
dialog = tpsGauges
|
||
gauge = rawTps1PrimaryGauge
|
||
gauge = rawTps1SecondaryGauge
|
||
gauge = rawTps2PrimaryGauge@@if_ts_show_tps2
|
||
gauge = rawTps2SecondaryGauge@@if_ts_show_tps2
|
||
|
||
dialog = pedalSensor, @@pedalSensor_NAME@@, border
|
||
panel = pedalSensorLeft, West
|
||
panel = pedalGauges, East
|
||
|
||
dialog = tpsSensor, "", border
|
||
panel = tpsSensorLeft, West
|
||
panel = tpsGauges, East
|
||
|
||
dialog = wastegatePosConfig, "Wastegate position sensor"
|
||
field = "Input", wastegatePositionSensor
|
||
field = "Min (fully closed, most boost)", wastegatePositionMin
|
||
field = "Max (fully open, least boost)", wastegatePositionMax
|
||
|
||
dialog = idlePosConfig, "Idle position sensor"
|
||
field = "Input", idlePositionChannel
|
||
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 = tractionIgnitionSkipDialog, "Traction Ignition Skip"
|
||
field = useHardSkipInTraction, useHardSkipInTraction
|
||
panel = tractionIgnitionSkipTableTbl
|
||
|
||
dialog = mc33Dialog, "Low-Z injector control PT2001"
|
||
field = externalRusEfiGdiModule, externalRusEfiGdiModule@@if_ts_show_gdi_low_level
|
||
field = "SPI Chip Select", mc33816_cs@@if_ts_show_gdi_low_level
|
||
field = "SPI Device", mc33816spiDevice@@if_ts_show_gdi_low_level
|
||
field = "MC33816 rstb", mc33816_rstb@@if_ts_show_gdi_low_level
|
||
field = "MC33816 flag0", mc33816_flag0@@if_ts_show_gdi_low_level
|
||
field = "MC33816 Driven", mc33816_driven@@if_ts_show_gdi_low_level
|
||
|
||
field = "Boost voltage", mc33_hvolt
|
||
field = "Boost current target", mc33_i_boost
|
||
field = "Min boost time", mc33_t_min_boost
|
||
field = "Max boost time (timeout)", mc33_t_max_boost
|
||
|
||
field = "Peak phase current target", mc33_i_peak
|
||
field = "Peak phase duration", mc33_t_peak_tot
|
||
field = "Peak phase loop off time", mc33_t_peak_off
|
||
field = "Peak -> Hold Bypass Time", mc33_t_bypass
|
||
|
||
field = "Hold current target", mc33_i_hold
|
||
field = "Hold phase loop off time", mc33_t_hold_off
|
||
field = "Maximum injection duration", mc33_t_hold_tot
|
||
|
||
; Sensor Inputs
|
||
dialog = otherSensorInputs, "Other Sensor Inputs"
|
||
field = "Clutch Down", clutchDownPin@@if_ts_show_clutch_down_pin
|
||
field = "Clutch Down signal", clutchDownPinInverted@@if_ts_show_clutch_down_pin
|
||
field = "Clutch Down mode", clutchDownPinMode@@if_ts_show_clutch_down_pin
|
||
|
||
field = "Clutch Up", clutchUpPin@@if_ts_show_clutch_up_pin
|
||
field = "Clutch Up signal", clutchUpPinInverted@@if_ts_show_clutch_up_pin
|
||
field = "Clutch Up mode", clutchUpPinMode@@if_ts_show_clutch_up_pin
|
||
field = "Throttle Up switch", throttlePedalUpPin@@if_ts_show_throttle_switch
|
||
field = "Brake Pedal", brakePedalPin@@if_ts_show_brake_pedal_pin
|
||
field = "Brake Pedal signal", brakePedalPinInverted@@if_ts_show_brake_pedal_pin
|
||
field = "Brake Pedal Mode", brakePedalPinMode@@if_ts_show_brake_pedal_pin
|
||
field = "Flex fuel sensor", flexSensorPin
|
||
field = "Flex Signal", flexSensorInverted@@if_ts_show_flex_inverted
|
||
field = "Turbo Speed Sensor", turboSpeedSensorInputPin
|
||
field = "Turbo Speed Multiplier", turboSpeedSensorMultiplier, { turboSpeedSensorInputPin }
|
||
field = "Throttle inlet pressure sensor", throttleInletPressureChannel
|
||
field = "Compressor discharge pressure sensor", compressorDischargePressureChannel
|
||
|
||
dialog = fuelLevelDialog, "Fuel Level Sensor"
|
||
field = "Input channel", fuelLevelSensor
|
||
panel = fuelLevelCurve
|
||
|
||
;
|
||
; 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 = "MAF 2 ADC input", maf2AdcChannel
|
||
field = "AFR ADC input", afr_hwChannel
|
||
field = "AFR 2 ADC input", afr_hwChannel2
|
||
field = "Baro ADC input", baroSensor_hwChannel
|
||
field = "MAP ADC input", map_sensor_hwChannel
|
||
field = "Fuel Level input", fuelLevelSensor
|
||
field = "Vehicle Speed input", vehicleSpeedSensorInputPin
|
||
field = "Clutch Down input", clutchDownPin@@if_ts_show_clutch_down_pin
|
||
field = "Clutch Up input", clutchUpPin@@if_ts_show_clutch_up_pin
|
||
field = "Brake pedal input", 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 = allTriggerDebug, "Trigger Debug"
|
||
field = "trigger 1 debug", triggerInputDebugPins1
|
||
field = "trigger 2 debug", triggerInputDebugPins2
|
||
field = "cam 1 debug", camInputsDebug1
|
||
field = "cam 2 debug", camInputsDebug2
|
||
field = "cam 3 debug", camInputsDebug3
|
||
field = "cam 4 debug", camInputsDebug4
|
||
|
||
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 = hpfpValvePin, hpfpValvePin
|
||
|
||
dialog = allPins1_1
|
||
field = "trigger stimulator output #1", triggerSimulatorPins1
|
||
field = "trigger stimulator output #2", triggerSimulatorPins2
|
||
field = camSimulatorPin, camSimulatorPin
|
||
field = "tle6240_cs", tle6240_cs
|
||
field = "mc33810_cs", mc33810_cs1
|
||
field = "mc33810_csPinMode", mc33810_csPinMode
|
||
field = "tle6240 SPI", tle6240spiDevice
|
||
|
||
dialog = allPins1_2
|
||
field = "Tachometer output", tachOutputPin
|
||
field = "Narrowband O2 heater output", o2heaterPin
|
||
field = "Idle Solenoid Primary output", idle_solenoidPin
|
||
field = "Idle Solenoid Secondary output",secondSolenoidPin
|
||
field = "Idle Stepper Dir", idle_stepperDirectionPin
|
||
field = "Idle Stepper Step", idle_stepperStepPin
|
||
field = "Idle Stepper Enable", stepperEnablePin
|
||
field = "Fuel Pump output", 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", etbIo1_controlPin @@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", etbIo2_controlPin @@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 output", malfunctionIndicatorPin
|
||
field = "Fan Pin", fanPin
|
||
field = "A/C Relay", acRelayPin
|
||
field = "Main Relay Pin", mainRelayPin
|
||
field = "Starter Relay Pin", starterRelayDisablePin
|
||
|
||
dialog = allPins2_1
|
||
field = "Injection Output 1", injectionPins1
|
||
field = "Injection Output 2", injectionPins2
|
||
field = "Injection Output 3", injectionPins3
|
||
field = "Injection Output 4", injectionPins4
|
||
field = "Injection Output 5 ", injectionPins5
|
||
field = "Injection Output 6 ", injectionPins6
|
||
field = "Injection Output 7 ", injectionPins7
|
||
field = "Injection Output 8 ", injectionPins8
|
||
field = "Injection Output 9 ", injectionPins9
|
||
field = "Injection Output 10 ", injectionPins10
|
||
field = "Injection Output 11 ", injectionPins11
|
||
field = "Injection Output 12 ", injectionPins12
|
||
field = auxSpeedSensorInputPin1, auxSpeedSensorInputPin1
|
||
field = auxSpeedSensorInputPin2, auxSpeedSensorInputPin2
|
||
|
||
|
||
dialog = allPins2_2
|
||
field = "Ignition Output 1", ignitionPins1
|
||
field = "Ignition Output 2", ignitionPins2
|
||
field = "Ignition Output 3", ignitionPins3
|
||
field = "Ignition Output 4", ignitionPins4
|
||
field = "Ignition Output 5", ignitionPins5
|
||
field = "Ignition Output 6", ignitionPins6
|
||
field = "Ignition Output 7", ignitionPins7
|
||
field = "Ignition Output 8", ignitionPins8
|
||
field = "Ignition Output 9", ignitionPins9
|
||
field = "Ignition Output 10", ignitionPins10
|
||
field = "Ignition Output 11", ignitionPins11
|
||
field = "Ignition Output 12", ignitionPins12
|
||
|
||
dialog = allPins2_3
|
||
field = "Debug Trigger Sync", debugTriggerSync
|
||
panel = allTriggerDebug
|
||
panel = allPinsMC33
|
||
|
||
dialog = allPins1_3
|
||
field = "Aux ADC #1", auxAnalogInputs1
|
||
field = "Aux ADC #2", auxAnalogInputs2
|
||
field = "Aux ADC #3", auxAnalogInputs3
|
||
field = "Aux ADC #4", auxAnalogInputs4
|
||
field = "Aux ADC #5", auxAnalogInputs5
|
||
field = "Aux ADC #6", auxAnalogInputs6
|
||
field = "Aux ADC #7", auxAnalogInputs7
|
||
field = "Aux ADC #8", auxAnalogInputs8
|
||
field = "CAN RX pin", canRxPin @@if_ts_show_can_pins
|
||
field = "CAN TX pin", canTxPin @@if_ts_show_can_pins
|
||
field = "SPI1 MOSI", spi1mosiPin, { spi1mosiPin != 0 || is_enabled_spi_1 == 1} @@if_ts_show_spi
|
||
field = "SPI1 MISO", spi1misoPin, { spi1misoPin != 0 || 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 = "SPI4 MOSI", spi4mosiPin, {is_enabled_spi_4 == 1} @@if_ts_show_spi
|
||
field = "SPI4 MISO", spi4misoPin, {is_enabled_spi_4 == 1} @@if_ts_show_spi
|
||
field = "SPI4 SCK", spi4sckPin, {is_enabled_spi_4 == 1} @@if_ts_show_spi
|
||
field = "SPI5 MOSI", spi5mosiPin, {is_enabled_spi_5 == 1} @@if_ts_show_spi
|
||
field = "SPI5 MISO", spi5misoPin, {is_enabled_spi_5 == 1} @@if_ts_show_spi
|
||
field = "SPI5 SCK", spi5sckPin, {is_enabled_spi_5 == 1} @@if_ts_show_spi
|
||
field = "SPI6 MOSI", spi6mosiPin, {is_enabled_spi_6 == 1} @@if_ts_show_spi
|
||
field = "SPI6 MISO", spi6misoPin, {is_enabled_spi_6 == 1} @@if_ts_show_spi
|
||
field = "SPI6 SCK", spi6sckPin, {is_enabled_spi_6 == 1} @@if_ts_show_spi
|
||
field = "hip9011CsPin", hip9011CsPin
|
||
field = "Accelerometer CS pin", accelerometerCsPin@@if_ts_show_onboard_accelerometer
|
||
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
|
||
|
||
dialog = allPins3_1
|
||
panel = allPinsSensors
|
||
|
||
dialog = allPins3_2
|
||
field = "VVT solenoid bank 1 intake", vvtPins1
|
||
field = "VVT solenoid bank 1 exhaust", vvtPins2
|
||
field = "VVT solenoid bank 2 intake", vvtPins3
|
||
field = "VVT solenoid bank 2 exhaust", vvtPins4
|
||
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 = "L9779 Chip Select", l9779_cs @@if_ts_show_spi
|
||
field = "Start/Stop Button", startStopButtonPin
|
||
field = "Upshift Pin", tcuUpshiftButtonPin
|
||
field = "Downshift Pin", tcuDownshiftButtonPin
|
||
|
||
dialog = allPins3_1_and_2, "All IO 3/3", xAxis
|
||
panel = allPins3_1
|
||
panel = allPins3_2
|
||
|
||
dialog = allPins1_1_and_2, "", xAxis
|
||
panel = allPins1_1
|
||
panel = allPins1_2
|
||
|
||
dialog = allPins1, "All IO 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 IO 2/3", xAxis
|
||
panel = allPins2_1_and_2
|
||
panel = allPins2_3
|
||
|
||
dialog = clt_thermistor, "CLT sensor"
|
||
field = "Input channel", clt_adcChannel
|
||
field = "Pullup resistor", clt_bias_resistor, {clt_adcChannel != @@ADC_CHANNEL_NONE@@}@@if_ts_show_clt_iat_pullup
|
||
|
||
settingSelector = "Common CLT Sensors"
|
||
settingOption = "GM CLT", clt_tempC_1=-40,clt_resistance_1=100000,clt_tempC_2=40,clt_resistance_2=1459,clt_tempC_3=130,clt_resistance_3=70,useLinearCltSensor=0
|
||
settingOption = "Miata NA", clt_tempC_1=-20,clt_resistance_1=16150,clt_tempC_2=40,clt_resistance_2=1150,clt_tempC_3=80,clt_resistance_3=330,useLinearCltSensor=0
|
||
settingOption = "Miata NB", clt_tempC_1=-10,clt_resistance_1=9000,clt_tempC_2=20,clt_resistance_2=2500,clt_tempC_3=80,clt_resistance_3=320,useLinearCltSensor=0
|
||
settingOption = "Bosch Various", clt_tempC_1=0,clt_resistance_1=5896,clt_tempC_2=50,clt_resistance_2=834,clt_tempC_3=100,clt_resistance_3=187,useLinearCltSensor=0
|
||
|
||
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
|
||
|
||
dialog = iat_thermistor, "IAT sensor"
|
||
field = "Input channel", iat_adcChannel
|
||
field = "Pullup resistor", iat_bias_resistor, {iat_adcChannel != @@ADC_CHANNEL_NONE@@}@@if_ts_show_clt_iat_pullup
|
||
|
||
settingSelector = "Common IAT Sensors", {iat_adcChannel != 0}
|
||
settingOption = "GM IAT", iat_tempC_1=8.9,iat_resistance_1=7000,iat_tempC_2=30.6,iat_resistance_2=1930,iat_tempC_3=63.3,iat_resistance_3=560,useLinearIatSensor=0
|
||
settingOption = "Miata NA/NB", iat_tempC_1=-20,iat_resistance_1=16150,iat_tempC_2=40,iat_resistance_2=1150,iat_tempC_3=80,iat_resistance_3=330,useLinearIatSensor=0
|
||
settingOption = "Miata MSM IAT2", iat_tempC_1=0,iat_resistance_1=112000,iat_tempC_2=40,iat_resistance_2=17000,iat_tempC_3=60,iat_resistance_3=8000,useLinearIatSensor=0
|
||
settingOption = "Bosch Various", iat_tempC_1=-10,iat_resistance_1=9397,iat_tempC_2=30,iat_resistance_2=1707,iat_tempC_3=70,iat_resistance_3=436,useLinearIatSensor=0
|
||
|
||
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
|
||
|
||
dialog = oilp_settings, "Oil Pressure Sensor"
|
||
field = "Oil Pressure 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 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 = "sensor type", fuelPressureSensorMode, {lowPressureFuel_hwChannel != @@ADC_CHANNEL_NONE@@}
|
||
|
||
field = "Fuel high pressure 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
|
||
|
||
dialog = acPressureSensorSettings, "A/C Pressure Sensor"
|
||
field = "Input", acPressure_hwChannel
|
||
field = "Low voltage", acPressure_v1, {acPressure_hwChannel != @@ADC_CHANNEL_NONE@@}
|
||
field = "Low value", acPressure_value1, {acPressure_hwChannel != @@ADC_CHANNEL_NONE@@}
|
||
field = "High voltage", acPressure_v2, {acPressure_hwChannel != @@ADC_CHANNEL_NONE@@}
|
||
field = "High value", acPressure_value2, {acPressure_hwChannel != @@ADC_CHANNEL_NONE@@}
|
||
|
||
dialog = acPressureGauges
|
||
gauge = acPressureGauge
|
||
gauge = rawAcPressureGauge
|
||
|
||
dialog = acPressureSensor, "", border
|
||
panel = acPressureSensorSettings, West
|
||
panel = acPressureGauges, East
|
||
|
||
dialog = auxLinearSensor1, "Aux Linear Sensor #1"
|
||
field = "Input", auxLinear1_hwChannel
|
||
field = "Low voltage", auxLinear1_v1, {auxLinear1_hwChannel != @@ADC_CHANNEL_NONE@@}
|
||
field = "Low value", auxLinear1_value1, {auxLinear1_hwChannel != @@ADC_CHANNEL_NONE@@}
|
||
field = "High voltage", auxLinear1_v2, {auxLinear1_hwChannel != @@ADC_CHANNEL_NONE@@}
|
||
field = "High value", auxLinear1_value2, {auxLinear1_hwChannel != @@ADC_CHANNEL_NONE@@}
|
||
|
||
dialog = auxLinearSensor2, "Aux Linear Sensor #2"
|
||
field = "Input", auxLinear2_hwChannel
|
||
field = "Low voltage", auxLinear2_v1, {auxLinear2_hwChannel != @@ADC_CHANNEL_NONE@@}
|
||
field = "Low value", auxLinear2_value1, {auxLinear2_hwChannel != @@ADC_CHANNEL_NONE@@}
|
||
field = "High voltage", auxLinear2_v2, {auxLinear2_hwChannel != @@ADC_CHANNEL_NONE@@}
|
||
field = "High value", auxLinear2_value2, {auxLinear2_hwChannel != @@ADC_CHANNEL_NONE@@}
|
||
|
||
dialog = auxLinearSensor3, "Aux Linear Sensor #3"
|
||
field = "ADC input", auxLinear3_hwChannel
|
||
field = "Low voltage", auxLinear3_v1, {auxLinear3_hwChannel != @@ADC_CHANNEL_NONE@@}
|
||
field = "Low value", auxLinear3_value1, {auxLinear3_hwChannel != @@ADC_CHANNEL_NONE@@}
|
||
field = "High voltage", auxLinear3_v2, {auxLinear3_hwChannel != @@ADC_CHANNEL_NONE@@}
|
||
field = "High value", auxLinear3_value2, {auxLinear3_hwChannel != @@ADC_CHANNEL_NONE@@}
|
||
|
||
dialog = auxLinearSensor4, "Aux Linear Sensor #4"
|
||
field = "ADC input", auxLinear4_hwChannel
|
||
field = "Low voltage", auxLinear4_v1, {auxLinear4_hwChannel != @@ADC_CHANNEL_NONE@@}
|
||
field = "Low value", auxLinear4_value1, {auxLinear4_hwChannel != @@ADC_CHANNEL_NONE@@}
|
||
field = "High voltage", auxLinear4_v2, {auxLinear4_hwChannel != @@ADC_CHANNEL_NONE@@}
|
||
field = "High value", auxLinear4_value2, {auxLinear4_hwChannel != @@ADC_CHANNEL_NONE@@}
|
||
|
||
dialog = auxLinearSensors
|
||
panel = auxLinearSensor1
|
||
panel = auxLinearSensor2
|
||
field = "Aux Speed Input 1", auxSpeedSensorInputPin1
|
||
field = "Aux Speed Input 2", auxSpeedSensorInputPin2
|
||
field = "Use Aux Speed Sensors for slip ratio", useAuxSpeedForSlipRatio
|
||
field = "Use VSS As Second Wheel Speed", useVssAsSecondWheelSpeed
|
||
|
||
; Sensors->MAP sensor
|
||
dialog = mapSensorAnalog, "MAP sensor", yAxis
|
||
field = "MAP 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 }
|
||
|
||
indicatorPanel = mapValidIndicators, 1
|
||
indicator = {isMapValid}, "BAD Map Input", "Good MAP Input"
|
||
|
||
dialog = mapCommon, "MAP common settings"
|
||
field = "Low value threshold", mapErrorDetectionTooLow
|
||
field = "High value threshold", mapErrorDetectionTooHigh
|
||
panel = mapValidIndicators
|
||
field = ""
|
||
field = "Measure Map Only In One Cylinder", measureMapOnlyInOneCylinder
|
||
field = "Cylinder count to sample MAP", mapMinBufferLength
|
||
field = mapExpAverageAlpha, mapExpAverageAlpha
|
||
|
||
dialog = mapSettings, "", yAxis
|
||
panel = mapCommon
|
||
panel = mapSensorAnalog
|
||
|
||
dialog = analogBaroSettings, "Analog Sensor"
|
||
field = "Baro input", baroSensor_hwChannel, { baroSensor_hwChannel != @@ADC_CHANNEL_NONE@@ || (lps25BaroSensorScl == 0 && lps25BaroSensorSda == 0) }
|
||
field = "Low Value", baroSensor_lowValue, {baroSensor_hwChannel != @@ADC_CHANNEL_NONE@@}
|
||
field = "High Value", baroSensor_highValue, {baroSensor_hwChannel != @@ADC_CHANNEL_NONE@@}
|
||
field = "Type", baroSensor_type, {baroSensor_hwChannel != @@ADC_CHANNEL_NONE@@}
|
||
|
||
dialog = digitalBaroSettings, "Digital Sensor"
|
||
field = "LPS2x Baro SCL", lps25BaroSensorScl, { baroSensor_hwChannel == @@ADC_CHANNEL_NONE@@}
|
||
field = "LPS2x Baro SDA", lps25BaroSensorSda, { baroSensor_hwChannel == @@ADC_CHANNEL_NONE@@}
|
||
|
||
dialog = baroSettings, "Baro sensor"
|
||
panel = analogBaroSettings
|
||
panel = digitalBaroSettings
|
||
|
||
dialog = mapCurves, "MAP sampling", yAxis
|
||
field = "isMapAveragingEnabled", isMapAveragingEnabled
|
||
panel = map_samplingAngleCurve
|
||
panel = map_samplingWindowCurve
|
||
|
||
dialog = mafSettings, "MAF sensor", yAxis
|
||
field = "MAF ADC input", mafAdcChannel
|
||
field = "MAF 2 ADC input", maf2AdcChannel
|
||
|
||
; Sensors->EGO sensor
|
||
dialog = egoSettings_sensor, "O2 sensor"
|
||
settingSelector = "O2 Type"
|
||
settingOption = "BPSX", afr_v1=0,afr_value1=9,afr_v2=5,afr_value2=19
|
||
settingOption = "Innovate", afr_v1=0,afr_value1=7.35,afr_v2=5,afr_value2=22.39
|
||
settingOption = "14Point7", afr_v1=0,afr_value1=9.996,afr_v2=5,afr_value2=19.992
|
||
settingOption = "PLX", afr_v1=0,afr_value1=10,afr_v2=5,afr_value2=20
|
||
settingOption = "Narrow Band", afr_v1=0.1,afr_value1=15,afr_v2=0.9,afr_value2=14
|
||
settingOption = "AEM", afr_v1=0.5,afr_value1=8.5,afr_v2=4.5,afr_value2=18
|
||
|
||
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_IO1, "O2 Sensor 1 I/O"
|
||
field = "Input channel", afr_hwChannel,{afr_hwChannel != @@ADC_CHANNEL_NONE@@ || enableAemXSeries == 0 }
|
||
field = "Narrowband Heater output", o2heaterPin, { o2heaterPin != 0 || enableAemXSeries == 0 }
|
||
|
||
dialog = egoSettings_IO2, "O2 Sensor 2 I/O"
|
||
field = "Input channel", afr_hwChannel2
|
||
|
||
indicatorPanel = uegoCan0Indicators, 1, { enableAemXSeries == 1 && (faultCode0 == 7 || faultCode0 == 8) }
|
||
indicator = { faultCode0 == 7 }, "RusEFI WBO", "AEM Gauge", green, black, yellow, black
|
||
indicator = { faultCode0 == 8 }, "AEM OK", "AEM ERROR", green, black, yellow, black
|
||
|
||
indicatorPanel = uegoCan1Indicators, 1, { enableAemXSeries == 1 && (faultCode0 == 7 || faultCode0 == 8) }
|
||
indicator = { faultCode1 == 7 }, "RusEFI WBO", "AEM Gauge", green, black, yellow, black
|
||
|
||
indicatorPanel = uegoCan0IndicatorsExt, 1, { enableAemXSeries == 1 && faultCode0 != 7 && faultCode0 != 8 }
|
||
indicator = { faultCode0 == 0 || faultCode0 == 7 }, "Failed", "Ready/Ok", red, black, green, black
|
||
indicator = { faultCode0 == 2 }, "Heating allowed", "Heating prohibited", green, black, yellow, black
|
||
indicator = { faultCode0 == 1 }, "Communication ok", "Timeout reading", green, black, red, black
|
||
indicator = { faultCode0 == 3 }, "No heating failure", "Heating failed", green, black, red, black
|
||
indicator = { faultCode0 == 4 }, "No overheat", "Overheat", green, black, red, black
|
||
indicator = { faultCode0 == 5 }, "No underheat", "Underheat", green, black, red, black
|
||
indicator = { faultCode0 == 6 }, "Heater supply ok", "No heater supply", green, black, yellow, black
|
||
|
||
indicatorPanel = uegoCan1IndicatorsExt, 1, { enableAemXSeries == 1 && faultCode1 != 7 && faultCode0 != 8 }
|
||
indicator = { faultCode1 == 0 || faultCode1 == 7 }, "Failed", "Ready/Ok", red, black, green, black
|
||
indicator = { faultCode1 == 2 }, "Heating allowed", "Heating prohibited", green, black, yellow, black
|
||
indicator = { faultCode1 == 1 }, "Communication ok", "Timeout reading", green, black, red, black
|
||
indicator = { faultCode1 == 3 }, "No heating failure", "Heating failed", green, black, red, black
|
||
indicator = { faultCode1 == 4 }, "No overheat", "Overheat", green, black, red, black
|
||
indicator = { faultCode1 == 5 }, "No underheat", "Underheat", green, black, red, black
|
||
indicator = { faultCode1 == 6 }, "Heater supply ok", "No heater supply", green, black, yellow, black
|
||
|
||
dialog = uegoCanStatus, "CAN UEGO 1, 2 Status", border
|
||
panel = uegoCan0Indicators, West
|
||
panel = uegoCan1Indicators, East
|
||
|
||
dialog = uegoCanStatusExt, "CAN UEGO 1, 2 Extended Status", border
|
||
panel = uegoCan0IndicatorsExt, West
|
||
panel = uegoCan1IndicatorsExt, East
|
||
|
||
dialog = uegoCan, "CAN UEGO/wideband O2"
|
||
field = "Support for AEM or RusEFI CAN UEGO"
|
||
field = "Enable CAN Wideband", enableAemXSeries, { canReadEnabled }
|
||
field = "Wideband CAN bus", widebandOnSecondBus@@if_ts_show_wbo_canbus_index
|
||
field = "Swap channels 1 and 2", flipWboChannels, flipWboChannels
|
||
field = "Force O2 sensor heating", forceO2Heating
|
||
field = "Suppress on-board WBO", suppressWboWorkaround7048
|
||
|
||
dialog = egoSettings, "", yAxis
|
||
panel = uegoCan
|
||
panel = uegoCanStatus, { enableAemXSeries == 1 }
|
||
panel = uegoCanStatusExt, { enableAemXSeries == 1 }
|
||
panel = egoSettings_IO1@@if_ts_show_analog_ego
|
||
panel = egoSettings_IO2, {afr_hwChannel != @@ADC_CHANNEL_NONE@@ && enableAemXSeries == 0}@@if_ts_show_ego2
|
||
panel = egoSettings_sensor, {afr_hwChannel != @@ADC_CHANNEL_NONE@@ && enableAemXSeries == 0}@@if_ts_show_analog_ego
|
||
|
||
; Engine->EGT inputs
|
||
dialog = egtInputsCan, "CAN EGT sensors"
|
||
field = "CAN support EGT1 to EGT6 inputs"
|
||
field = "CAN EGT (AEM X series of RusEFI)", enableAemXSeriesEgt, { canReadEnabled }
|
||
|
||
dialog = egtInputsSpi, "SPI EGT sensors"
|
||
field = "If both CAN and SPI EGT sensors are used, please leave two first for CAN"
|
||
field = "MAX31855/MAX31856 SPI", max31855spiDevice
|
||
field = "CS for EGT1", max31855_cs1
|
||
field = "CS for EGT2", max31855_cs2
|
||
field = "CS for EGT3", max31855_cs3
|
||
field = "CS for EGT4", max31855_cs4
|
||
field = "CS for EGT5", max31855_cs5
|
||
field = "CS for EGT6", max31855_cs6
|
||
field = "CS for EGT7", max31855_cs7
|
||
field = "CS for EGT8", max31855_cs8
|
||
|
||
dialog = egtInputs, "EGT inputs"
|
||
panel = egtInputsCan
|
||
panel = egtInputsSpi
|
||
|
||
; Engine->idle Settings
|
||
dialog = idleSolenoid, "Solenoid"
|
||
field = "Idle Solenoid Primary output", idle_solenoidPin, { idle_solenoidPin != 0 || !useStepperIdle }
|
||
field = "Double Solenoid Mode", isDoubleSolenoidIdle
|
||
field = "Idle Solenoid Secondary output", secondSolenoidPin, { idle_solenoidPin != 0 || (!useStepperIdle && isDoubleSolenoidIdle ) }
|
||
field = "Idle Solenoid output(s) Mode", idle_solenoidPinMode, !useStepperIdle
|
||
field = "Idle Solenoid Frequency", idle_solenoidFrequency, !useStepperIdle
|
||
|
||
dialog = etbHbridgeHardwareNo1, "H-Bridge Hardware No1"
|
||
field = "No1 Direction #1", etbIo1_directionPin1
|
||
field = "No1 Direction #2", etbIo1_directionPin2
|
||
field = "No1 Control", etbIo1_controlPin
|
||
field = "No1 Disable", etbIo1_disablePin
|
||
|
||
dialog = etbHbridgeHardwareNo2, "H-Bridge Hardware No2"
|
||
field = "No2 Direction #1", etbIo2_directionPin1
|
||
field = "No2 Direction #2", etbIo2_directionPin2
|
||
field = "No2 Control", etbIo2_controlPin
|
||
field = "No2 Disable", etbIo2_disablePin
|
||
|
||
dialog = etbHbridgeHardware, "ETB H-Bridge Hardware"
|
||
field = "Two-wire mode", etb_use_two_wires
|
||
panel = etbHbridgeHardwareNo1
|
||
panel = etbHbridgeHardwareNo2
|
||
|
||
dialog = stepperHbridgeHardwareNo1, "H-Bridge Hardware No1"
|
||
field = "No1 Direction #1", stepperDcIo1_directionPin1
|
||
field = "No1 Direction #2", stepperDcIo1_directionPin2
|
||
field = "No1 Control", stepperDcIo1_controlPin
|
||
field = "No1 Disable", stepperDcIo1_disablePin
|
||
|
||
dialog = stepperHbridgeHardwareNo2, "H-Bridge Hardware No2"
|
||
field = "No2 Direction #1", stepperDcIo2_directionPin1
|
||
field = "No2 Direction #2", stepperDcIo2_directionPin2
|
||
field = "No2 Control", stepperDcIo2_controlPin
|
||
field = "No2 Disable", stepperDcIo2_disablePin
|
||
|
||
dialog = stepperHbridgeHardware, "Stepper H-Bridge Hardware"
|
||
topicHelp = "stepperHbridgeHardwareHelp"
|
||
field = "Inverted driver pins", stepperDcInvertedPins
|
||
panel = stepperHbridgeHardwareNo1, { etbFunctions1 == @@dc_function_e_DC_None@@ }
|
||
panel = stepperHbridgeHardwareNo2, { etbFunctions2 == @@dc_function_e_DC_None@@ }
|
||
|
||
dialog = idleStepperHw, "Stepper Controller Hardware"
|
||
topicHelp = "idleStepperHwHelp"
|
||
field = "Idle Stepper Step Pin", idle_stepperStepPin
|
||
field = "Idle Stepper Dir Pin", idle_stepperDirectionPin
|
||
field = "Idle Stepper Dir Pin Mode", stepperDirectionPinMode
|
||
field = "Idle Stepper Enable Pin", stepperEnablePin
|
||
field = "Idle Stepper Enable Pin Mode", stepperEnablePinMode
|
||
|
||
dialog = stepperDirectDriveHardware, "Stepper Direct-Drive Hardware"
|
||
topicHelp = "stepperDirectDriveHardwareHelp"
|
||
field = "Stepper A+", stepper_raw_output1
|
||
field = "Stepper A-", stepper_raw_output2
|
||
field = "Stepper B+", stepper_raw_output3
|
||
field = "Stepper B-", stepper_raw_output4
|
||
|
||
dialog = idleStepperHwType, ""
|
||
panel = idleStepperHw, { useStepperIdle && !useHbridgesToDriveIdleStepper && !useRawOutputToDriveIdleStepper }
|
||
panel = stepperHbridgeHardware, { useStepperIdle && useHbridgesToDriveIdleStepper && !useRawOutputToDriveIdleStepper }
|
||
panel = stepperDirectDriveHardware, { useStepperIdle && !useHbridgesToDriveIdleStepper && useRawOutputToDriveIdleStepper }
|
||
|
||
dialog = idleStepperGeneral, ""
|
||
field = "Drive stepper with dual H bridges", useHbridgesToDriveIdleStepper, useStepperIdle
|
||
field = "Drive stepper with PushPull outputs", useRawOutputToDriveIdleStepper, { useStepperIdle && !useHbridgesToDriveIdleStepper }
|
||
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
|
||
|
||
dialog = idleStepperMicro, "Micro-Stepping"
|
||
field = "Stepping Mode", stepperNumMicroSteps, useHbridgesToDriveIdleStepper
|
||
field = "Min. Duty Cycle", stepperMinDutyCycle, { useHbridgesToDriveIdleStepper && stepperNumMicroSteps > 1 }
|
||
field = "Max. Duty Cycle", stepperMaxDutyCycle, { useHbridgesToDriveIdleStepper && stepperNumMicroSteps > 1 }
|
||
|
||
dialog = idleStepper, "Stepper"
|
||
panel = idleStepperGeneral
|
||
panel = idleStepperHwType
|
||
panel = idleStepperMicro
|
||
|
||
dialog = idleHwType, "Idle Valve Hardware", yAxis
|
||
panel = idleSolenoid
|
||
panel = idleStepper
|
||
|
||
dialog = idlehw, "", yAxis
|
||
field = "!ECU reboot needed to apply these settings"
|
||
field = "Use Stepper", useStepperIdle
|
||
field = "Electronic throttle idle range", etbIdleThrottleRange
|
||
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 = "Min", idleRpmPid_minValue
|
||
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 = idleOpenLoop, "Open Loop Idle"
|
||
slider = "Open loop base position", manIdlePosition, horizontal
|
||
field = "A/C adder", acIdleExtraOffset
|
||
field = "A/C RPM target", acIdleRpmTarget
|
||
field = "Fan #1 adder", fan1ExtraIdle
|
||
field = "Fan #2 adder", fan2ExtraIdle
|
||
field = "Dashpot/Taper Initial IAC Adder", iacByTpsTaper
|
||
|
||
dialog = idleGating, "Idle Detection Thresholds"
|
||
field = "TPS threshold", idlePidDeactivationTpsThreshold
|
||
field = "RPM upper limit", idlePidRpmUpperLimit
|
||
field = "RPM deadzone", idlePidRpmDeadZone
|
||
field = "Max vehicle speed", maxIdleVss
|
||
|
||
dialog = idleExtra, "Extra Idle Features"
|
||
field = "Use idle ignition table", useSeparateAdvanceForIdle
|
||
field = "Use idle VE table", useSeparateVeForIdle
|
||
field = "Override Idle VE table load axis", idleVeOverrideMode, { useSeparateVeForIdle == 1 }
|
||
field = "Use idle tables for cranking taper", useSeparateIdleTablesForCrankingTaper
|
||
field = "Use coasting idle table", useIacTableForCoasting
|
||
field = "Dashpot coasting-to-idle Hold time", iacByTpsHoldTime
|
||
field = "Dashpot coasting-to-idle Decay time", iacByTpsDecayTime
|
||
|
||
dialog = idleSettings, "", yAxis
|
||
field = "Idle control mode", idleMode
|
||
|
||
field = "! Solenoid idle control is disabled at zero RPM"
|
||
|
||
; gating applies both to open loop and closed loop!
|
||
panel = idleGating
|
||
; closed loop mode is an addition on top of open loop, so idleOpenLoop stays open even when closed loop is selected
|
||
panel = idleOpenLoop
|
||
panel = idlePidSettings, { idleMode == @@idle_mode_e_IM_AUTO@@ }
|
||
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 = "Integral gain", idleTimingPid_iFactor, {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 = "Soft entry time", idleTimingSoftEntryTime, {useIdleTimingPidControl == 1}
|
||
field = ""
|
||
field = "#Use debug mode 'Timing' to view idle timing adjustment"
|
||
|
||
; Engine->Fan Settings
|
||
dialog = fan1Settings, "Fan 1"
|
||
field = "Output", fanPin, 1, { uiMode == @@UiMode_FULL@@ || uiMode == @@UiMode_INSTALLATION@@ }
|
||
field = "Output mode", fanPinMode, { uiMode == @@UiMode_FULL@@ || uiMode == @@UiMode_INSTALLATION@@ }
|
||
field = "On temperature", fanOnTemperature
|
||
field = "Off temperature", fanOffTemperature
|
||
field = "Enable with AC", enableFan1WithAc
|
||
field = "Disable when engine stopped", disableFan1WhenStopped
|
||
field = "Disable above vehicle speed", disableFan1AtSpeed
|
||
field = "Idle adder", fan1ExtraIdle
|
||
|
||
dialog = fan2Settings, "Fan 2"
|
||
field = "Output", fan2Pin
|
||
field = "Output mode", fan2PinMode
|
||
field = "On temperature", fan2OnTemperature
|
||
field = "Off temperature", fan2OffTemperature
|
||
field = "Enable with AC", enableFan2WithAc
|
||
field = "Disable when engine stopped", disableFan2WhenStopped
|
||
field = "Disable above vehicle speed", disableFan2AtSpeed
|
||
field = "Idle adder", fan2ExtraIdle
|
||
|
||
dialog = fanTest, "", xAxis
|
||
commandButton = "Test Fan 1", cmd_test_fan_1
|
||
commandButton = "Test Fan 2", cmd_test_fan_2
|
||
|
||
indicatorPanel = fanIndicators, 2
|
||
indicator = { isFanOn }, "fan 1 off", "fan 1 on", white, black, green, black
|
||
indicator = { isFan2On }, "fan 2 off", "fan 2 on", white, black, green, black
|
||
|
||
dialog = acSettingsWest, "A/C Settings"
|
||
field = "A/C switch", acSwitch
|
||
field = "A/C switch mode", acSwitchMode
|
||
field = "A/C Relay", acRelayPin
|
||
field = "A/C Relay Mode", acRelayPinMode
|
||
field = "A/C compressor delay", acDelay
|
||
field = "Max RPM", maxAcRpm
|
||
field = "Max CLT", maxAcClt
|
||
field = "Max TPS", maxAcTps
|
||
field = "A/C Idle adder", acIdleExtraOffset
|
||
field = "A/C Idle RPM", acIdleRpmTarget
|
||
field = "RPM low threshold", acLowRpmLimit
|
||
field = "Pressure Low disable", minAcPressure
|
||
field = "Pressure High disable", maxAcPressure
|
||
field = "A/C Pressure Enable Hysteresis", acPressureEnableHyst
|
||
|
||
dialog = acSettings, "", border
|
||
panel = acSettingsWest, West
|
||
panel = ac_controlIndicatorPanel, East
|
||
|
||
dialog = fanSetting, "Fan Settings"
|
||
panel = fan1Settings
|
||
panel = fan2Settings@@if_ts_show_fan2_settings
|
||
panel = fanTest
|
||
panel = fanIndicators
|
||
|
||
dialog = fuelPumpDialog, "Fuel Pump"
|
||
field = "Output", fuelPumpPin@@if_ts_show_fuel_relay_pin
|
||
field = "Output mode", fuelPumpPinMode@@if_ts_show_fuel_relay_pin
|
||
field = "Prime duration", startUpFuelPumpDuration
|
||
commandButton = "Test Fuel Pump", cmd_test_fuel_pump
|
||
|
||
; 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 = "Output", mainRelayPin
|
||
field = "Output mode", mainRelayPinMode
|
||
commandButton = "Test Main Relay", cmd_test_main_relay
|
||
|
||
dialog = starterRelayDialog, "Starter Disable"
|
||
field = "Output", starterRelayDisablePin
|
||
field = "Output mode", starterRelayDisablePinMode
|
||
commandButton = "Test Starter Disable", cmd_test_starter_disable_relay
|
||
|
||
dialog = startStopDialog, "Starter Control"
|
||
field = "Require Foot On Brake To Crank", requireFootOnBrakeToCrank
|
||
field = "Start/Stop Button input", startStopButtonPin
|
||
field = "Start/Stop Button input mode", startStopButtonMode
|
||
field = "Start Button", startRequestPinInverted
|
||
field = "Starter Control", starterControlPin
|
||
field = "Start cranking maximum time", startCrankingDuration, {startStopButtonPin != 0}
|
||
field = "Suppress On Start Up (Ms)", startButtonSuppressOnStartUpMs, {startStopButtonPin != 0}
|
||
commandButton = "Test Starter Relay", cmd_test_starter_relay
|
||
|
||
; Engine->MIL Settings
|
||
dialog = malfunctionDialog, "Check Engine Settings"
|
||
field = "Output", malfunctionIndicatorPin
|
||
field = "Output mode", malfunctionIndicatorPinMode
|
||
field = "Warning Period", warningPeriod
|
||
commandButton = "Test Check Engine", cmd_test_check_engine_light
|
||
|
||
dialog = tachSettings, "Tachometer output"
|
||
field = "Output", tachOutputPin
|
||
field = "Output mode", tachOutputPinMode
|
||
field = "Pulse Mode", tachPulseDurationAsDutyCycle
|
||
field = "Pulse duration", tachPulseDuractionMs
|
||
field = "Pulse per Rev", tachPulsePerRev
|
||
|
||
dialog = speedoSettings, "Speedometer output"
|
||
field = "Output", speedometerOutputPin
|
||
field = "Pulse per km", speedometerPulsePerKm, { speedometerOutputPin }
|
||
|
||
dialog = outputsDialogLeft
|
||
panel = mainRelayDialog@@if_ts_show_main_relay
|
||
panel = fuelPumpDialog@@if_ts_show_fuel_pump
|
||
panel = tachSettings@@if_ts_show_tachometer
|
||
|
||
dialog = outputsDialogRight
|
||
panel = startStopDialog@@if_ts_show_start_button
|
||
panel = starterRelayDialog@@if_ts_show_starter_disable
|
||
panel = speedoSettings@@if_ts_show_speedo_settings
|
||
panel = malfunctionDialog@@if_ts_show_check_engine
|
||
|
||
dialog = outputsDialog, "Outputs", border
|
||
panel = outputsDialogLeft, West
|
||
panel = fanSetting, Center
|
||
panel = outputsDialogRight, East
|
||
|
||
dialog = statusLeds, "Status LEDs"
|
||
field = "Community Comms LED", communityCommsLedPin@@if_ts_show_communityCommsLedPin
|
||
field = "Trigger error LED", triggerErrorPin
|
||
field = "Debug Trigger Sync", debugTriggerSync
|
||
|
||
dialog = softwareKnockCfg, "Sense"
|
||
field = "Enable", enableSoftwareKnock
|
||
field = "Cylinder Bore", cylinderBore, {enableSoftwareKnock}
|
||
field = "Estimated Knock Frequency",knockFrequency, {enableSoftwareKnock}
|
||
field = "Detection mode", knockDetectionUseDoubleFrequency
|
||
field = "Detection Window Start",knockDetectionWindowStart, {enableSoftwareKnock}
|
||
field = "Sampling Duration", knockSamplingDuration, {enableSoftwareKnock}
|
||
field = "Enable Knock Spectrogram", enableKnockSpectrogram, {enableSoftwareKnock}
|
||
field = "Enable Knock Spectrogram Filter", enableKnockSpectrogramFilter, {enableKnockSpectrogram}
|
||
field = "Knock Spectrum Sensitivity", knockSpectrumSensitivity, {enableKnockSpectrogram}
|
||
|
||
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}@@if_ts_show_cylinder_3
|
||
field = "Cylinder 4", knockBankCyl4, {enableSoftwareKnock && cylindersCount >= 4}@@if_ts_show_cylinder_4
|
||
field = "Cylinder 5", knockBankCyl5, {enableSoftwareKnock && cylindersCount >= 5}@@if_ts_show_cylinder_5
|
||
field = "Cylinder 6", knockBankCyl6, {enableSoftwareKnock && cylindersCount >= 6}@@if_ts_show_cylinder_6
|
||
field = "Cylinder 7", knockBankCyl7, {enableSoftwareKnock && cylindersCount >= 7}@@if_ts_show_cylinder_7
|
||
field = "Cylinder 8", knockBankCyl8, {enableSoftwareKnock && cylindersCount >= 8}@@if_ts_show_cylinder_8
|
||
field = "Cylinder 9", knockBankCyl9, {enableSoftwareKnock && cylindersCount >= 9}@@if_ts_show_cylinder_9
|
||
field = "Cylinder 10", knockBankCyl10, {enableSoftwareKnock && cylindersCount >= 10}@@if_ts_show_cylinder_10
|
||
field = "Cylinder 11", knockBankCyl11, {enableSoftwareKnock && cylindersCount >= 11}@@if_ts_show_cylinder_11
|
||
field = "Cylinder 12", knockBankCyl12, {enableSoftwareKnock && cylindersCount >= 12}@@if_ts_show_cylinder_12
|
||
|
||
dialog = softwareKnockResponseCfg, "Response"
|
||
field = knockRetardAggression, knockRetardAggression
|
||
field = knockRetardReapplyRate, knockRetardReapplyRate
|
||
field = knockFuelTrimAggression, knockFuelTrimAggression
|
||
field = knockFuelTrimReapplyRate, knockFuelTrimReapplyRate
|
||
field = knockFuelTrim, knockFuelTrim
|
||
field = knockSuppressMinTps, knockSuppressMinTps
|
||
|
||
dialog = softwareKnockLeft, ""
|
||
panel = softwareKnockCfg
|
||
panel = softwareKnockResponseCfg
|
||
|
||
dialog = softwareKnock, "Software Knock", border
|
||
panel = softwareKnockLeft, West
|
||
panel = knockThresholdCurve, Center
|
||
|
||
; Engine->hip9011 Settings
|
||
dialog = hipHardware
|
||
field = "SPI device", hip9011SpiDevice, {isHip9011Enabled == 1}
|
||
field = "ChipSelect pin", hip9011CsPin, {isHip9011Enabled == 1}
|
||
field = "ChipSelect mode", hip9011CsPinMode, {isHip9011Enabled == 1}
|
||
field = "IntHold pin ", hip9011IntHoldPin, {isHip9011Enabled == 1}
|
||
field = "IntHold pin mode", hip9011IntHoldPinMode, {isHip9011Enabled == 1}
|
||
field = "hip Output/stm input", hipOutputChannel, {isHip9011Enabled == 1}
|
||
|
||
dialog = hipSettings
|
||
field = "prescaler & SDO", hip9011PrescalerAndSDO, {isHip9011Enabled == 1}
|
||
field = "knockDetectionWindowStart", knockDetectionWindowStart, {isHip9011Enabled == 1}
|
||
field = "knockDetectionWindowEnd", knockDetectionWindowEnd, {isHip9011Enabled == 1}
|
||
field = "Cylinder bore", cylinderBore, {isHip9011Enabled == 1}
|
||
|
||
dialog = hipCurve, "Knock threshold"
|
||
panel = knockThresholdCurve
|
||
|
||
dialog = hipFunction, "HIP9011 Settings (knock decoder)"
|
||
field = "!ECU reboot needed to apply these settings"
|
||
field = "Enabled", isHip9011Enabled
|
||
panel = hipHardware
|
||
panel = hipSettings
|
||
panel = hipCurve
|
||
|
||
dialog = spiBus1, "SPI1 settings"
|
||
field = "Enable", is_enabled_spi_1@@if_ts_show_spi1_enable
|
||
field = "MOSI", spi1mosiPin, {1}, {is_enabled_spi_1 == 1} @@if_ts_show_spi1_pins
|
||
field = "MOSI mode", spi1MosiMode, {1}, {is_enabled_spi_1 == 1} @@if_ts_show_spi1_pins
|
||
field = "MISO", spi1misoPin, {1}, {is_enabled_spi_1 == 1} @@if_ts_show_spi1_pins
|
||
field = "MISO mode", spi1MisoMode, {1}, {is_enabled_spi_1 == 1} @@if_ts_show_spi1_pins
|
||
field = "SCK", spi1sckPin, {1}, {is_enabled_spi_1 == 1} @@if_ts_show_spi1_pins
|
||
field = "SCK mode", spi1SckMode, {1}, {is_enabled_spi_1 == 1} @@if_ts_show_spi1_pins
|
||
|
||
dialog = spiBus2, "SPI2 settings"
|
||
field = "Enable", is_enabled_spi_2@@if_ts_show_spi2_enable
|
||
field = "MOSI", spi2mosiPin, {1}, {is_enabled_spi_2 == 1}@@if_ts_show_spi2_pins
|
||
field = "MOSI mode", spi2MosiMode, {1}, {is_enabled_spi_2 == 1}@@if_ts_show_spi2_pins
|
||
field = "MISO", spi2misoPin, {1}, {is_enabled_spi_2 == 1}@@if_ts_show_spi2_pins
|
||
field = "MISO mode", spi2MisoMode, {1}, {is_enabled_spi_2 == 1}@@if_ts_show_spi2_pins
|
||
field = "SCK", spi2sckPin, {1}, {is_enabled_spi_2 == 1}@@if_ts_show_spi2_pins
|
||
field = "SCK mode", spi2SckMode, {1}, {is_enabled_spi_2 == 1}@@if_ts_show_spi2_pins
|
||
|
||
dialog = spiBus3, "SPI3 settings"
|
||
field = "Enable", is_enabled_spi_3@@if_ts_show_spi3_enable
|
||
field = "MOSI", spi3mosiPin, {1}, {is_enabled_spi_3 == 1}@@if_ts_show_spi3_pins
|
||
field = "MOSI mode", spi3MosiMode, {1}, {is_enabled_spi_3 == 1}@@if_ts_show_spi3_pins
|
||
field = "MISO", spi3misoPin, {1}, {is_enabled_spi_3 == 1}@@if_ts_show_spi3_pins
|
||
field = "MISO mode", spi3MisoMode, {1}, {is_enabled_spi_3 == 1}@@if_ts_show_spi3_pins
|
||
field = "SCK", spi3sckPin, {1}, {is_enabled_spi_3 == 1}@@if_ts_show_spi3_pins
|
||
field = "SCK mode", spi3SckMode, {1}, {is_enabled_spi_3 == 1}@@if_ts_show_spi3_pins
|
||
|
||
dialog = spiBus4, "SPI4 settings"
|
||
field = "Enable", is_enabled_spi_4@@if_ts_show_spi4_enable
|
||
field = "MOSI", spi4mosiPin, {1}, {is_enabled_spi_4 == 1}@@if_ts_show_spi4_pins
|
||
field = "MOSI mode", spi4MosiMode, {1}, {is_enabled_spi_4 == 1}@@if_ts_show_spi4_pins
|
||
field = "MISO", spi4misoPin, {1}, {is_enabled_spi_4 == 1}@@if_ts_show_spi4_pins
|
||
field = "MISO mode", spi4MisoMode, {1}, {is_enabled_spi_4 == 1}@@if_ts_show_spi4_pins
|
||
field = "SCK", spi4sckPin, {1}, {is_enabled_spi_4 == 1}@@if_ts_show_spi4_pins
|
||
field = "SCK mode", spi4SckMode, {1}, {is_enabled_spi_4 == 1}@@if_ts_show_spi4_pins
|
||
|
||
dialog = spiBus5, "SPI5 settings"
|
||
field = "Enable", is_enabled_spi_5@@if_ts_show_spi5_enable
|
||
field = "MOSI", spi5mosiPin, {1}, {is_enabled_spi_5 == 1}@@if_ts_show_spi5_pins
|
||
field = "MOSI mode", spi5MosiMode, {1}, {is_enabled_spi_5 == 1}@@if_ts_show_spi5_pins
|
||
field = "MISO", spi5misoPin, {1}, {is_enabled_spi_5 == 1}@@if_ts_show_spi5_pins
|
||
field = "MISO mode", spi5MisoMode, {1}, {is_enabled_spi_5 == 1}@@if_ts_show_spi5_pins
|
||
field = "SCK", spi5sckPin, {1}, {is_enabled_spi_5 == 1}@@if_ts_show_spi5_pins
|
||
field = "SCK mode", spi5SckMode, {1}, {is_enabled_spi_5 == 1}@@if_ts_show_spi5_pins
|
||
|
||
dialog = spiBus6, "SPI6 settings"
|
||
field = "Enable", is_enabled_spi_6@@if_ts_show_spi6_enable
|
||
field = "MOSI", spi6mosiPin, {1}, {is_enabled_spi_6 == 1}@@if_ts_show_spi6_pins
|
||
field = "MOSI mode", spi6MosiMode, {1}, {is_enabled_spi_6 == 1}@@if_ts_show_spi6_pins
|
||
field = "MISO", spi6misoPin, {1}, {is_enabled_spi_6 == 1}@@if_ts_show_spi6_pins
|
||
field = "MISO mode", spi6MisoMode, {1}, {is_enabled_spi_6 == 1}@@if_ts_show_spi6_pins
|
||
field = "SCK", spi6sckPin, {1}, {is_enabled_spi_6 == 1}@@if_ts_show_spi6_pins
|
||
field = "SCK mode", spi6SckMode, {1}, {is_enabled_spi_6 == 1}@@if_ts_show_spi6_pins
|
||
|
||
dialog = spiBuses, "SPI buses settings"
|
||
field = "!ECU reboot needed to apply these settings"
|
||
panel = spiBus1@@if_ts_show_spi1_enable
|
||
panel = spiBus2@@if_ts_show_spi2_enable
|
||
panel = spiBus3@@if_ts_show_spi3_enable
|
||
panel = spiBus4@@if_ts_show_spi4_enable
|
||
panel = spiBus5@@if_ts_show_spi5_enable
|
||
panel = spiBus6@@if_ts_show_spi6_enable
|
||
|
||
dialog = spiDevices, "SPI devices settings"
|
||
field = "Use SPI accelerometer", useSpiImu
|
||
field = "Accelerometer SPI", accelerometerSpiDevice, {useSpiImu == 1}@@if_ts_show_onboard_accelerometer
|
||
field = "Accelerometer CS pin", accelerometerCsPin, {useSpiImu == 1}@@if_ts_show_onboard_accelerometer
|
||
|
||
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, "Closed loop fuel correction"
|
||
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 = lambdaProtectionLeft, ""
|
||
field = "Enable lambda protection", lambdaProtectionEnable
|
||
field = "Check above load", lambdaProtectionMinLoad, { lambdaProtectionEnable }
|
||
field = "and above TPS", lambdaProtectionMinTps, { lambdaProtectionEnable }
|
||
field = "and above RPM", lambdaProtectionMinRpm, { lambdaProtectionEnable }
|
||
field = "and after delay", lambdaProtectionTimeout { lambdaProtectionEnable }
|
||
field = "Then cut fuel until:"
|
||
field = "Load less than", lambdaProtectionRestoreLoad, { lambdaProtectionEnable }
|
||
field = "and TPS less than", lambdaProtectionRestoreTps, { lambdaProtectionEnable }
|
||
field = "and RPM less than", lambdaProtectionRestoreRpm, { lambdaProtectionEnable }
|
||
|
||
dialog = lambdaProtectionRight, "Lambda Difference Table"
|
||
panel = lambdaMaxDeviationTableTbl
|
||
|
||
dialog = lambdaProtection, "Lambda Protection", border
|
||
panel = lambdaProtectionLeft, West
|
||
panel = lambdaProtectionRight, East
|
||
|
||
dialog = vvtPidDialog0, "Configuration"
|
||
field = "Activation Delay", vvtActivationDelayMs
|
||
field = "Do not control below RPM", vvtControlMinRpm
|
||
field = "VVT solenoid bank 1 intake", vvtPins1@@if_ts_show_vvt_output_pin
|
||
field = "VVT solenoid bank 1 exhaust", vvtPins2@@if_ts_show_exhaust_vvt
|
||
field = "VVT solenoid bank 2 intake", vvtPins3@@if_ts_show_second_bank
|
||
field = "VVT solenoid bank 2 exhaust", vvtPins4@@if_ts_show_exhaust_vvt
|
||
field = "PWM frequency", vvtOutputFrequency, {vvtPins1 != 0 || vvtPins2 != 0}@@if_ts_show_vvt_frequency
|
||
field = "VVT solenoid intake cams control direction", invertVvtControlIntake, { vvtPins1 != 0 || vvtPins3 != 0 }@@if_ts_show_intake_vvt_direction
|
||
field = "VVT solenoid exhaust cams control direction", invertVvtControlExhaust, { vvtPins2 != 0 || vvtPins4 != 0 }@@if_ts_show_exhaust_vvt
|
||
|
||
dialog = vvtPidDialog1, "Intake PID"
|
||
field = "offset", auxPid1_offset, {vvtPins1 != 0}
|
||
field = "P factor", auxPid1_pFactor, {vvtPins1 != 0}
|
||
field = "I factor", auxPid1_iFactor, {vvtPins1 != 0}
|
||
field = "D factor", auxPid1_dFactor, {vvtPins1 != 0}
|
||
field = "Min", auxPid1_minValue, {vvtPins1 != 0}
|
||
field = "Max", auxPid1_maxValue, {vvtPins1 != 0}
|
||
commandButton = "Bench bank 1", cmd_test_vvt0_valve, { engineTurnedRecently == 0 }
|
||
commandButton = "Bench bank 2", cmd_test_vvt2_valve, { engineTurnedRecently == 0 }@@if_ts_show_second_bank
|
||
|
||
dialog = vvtPidDialog2, "Exhaust PID"
|
||
field = "offset", auxPid2_offset, {vvtPins2 != 0}
|
||
field = "P factor", auxPid2_pFactor, {vvtPins2 != 0}
|
||
field = "I factor", auxPid2_iFactor, {vvtPins2 != 0}
|
||
field = "D factor", auxPid2_dFactor, {vvtPins2 != 0}
|
||
field = "Min", auxPid2_minValue, {vvtPins2 != 0}
|
||
field = "Max", auxPid2_maxValue, {vvtPins2 != 0}
|
||
commandButton = "Bench bank 1", cmd_test_vvt1_valve, { engineTurnedRecently == 0 }
|
||
commandButton = "Bench bank 2", cmd_test_vvt3_valve, { engineTurnedRecently == 0 }@@if_ts_show_second_bank
|
||
|
||
dialog = vvtPidDialog, "VVT Configuration & PID", border
|
||
panel = vvtPidDialog0, West
|
||
panel = vvtPidDialog1, Center
|
||
panel = vvtPidDialog2, East@@if_ts_show_exhaust_vvt
|
||
|
||
; Engine->Battery & Alternator
|
||
dialog = batteryDialog, "Battery Settings", yAxis
|
||
field = "vBatt ADC input", vbattAdcChannel
|
||
field = "Ignition Key ADC input", ignKeyAdcChannel@@if_ts_show_ign_key_analog_input
|
||
field = "Ignition Key Switch", ignitionKeyDigitalPin@@if_ts_show_ign_key_switch
|
||
field = "Ignition Key Switch Mode", ignitionKeyDigitalPinMode@@if_ts_show_ign_key_switch
|
||
field = "Battery Input Divider Coefficient", vbattDividerCoeff
|
||
dialog = alternator, "Alternator Settings", yAxis
|
||
field = "Enabled", isAlternatorControlEnabled
|
||
field = "Control output", alternatorControlPin, {isAlternatorControlEnabled == 1}
|
||
field = "Control output mode", alternatorControlPinMode, {isAlternatorControlEnabled == 1}
|
||
field = "PWM frequency", alternatorPwmFrequency, {isAlternatorControlEnabled == 1}
|
||
field = "A/C duty adder", acRelayAlternatorDutyAdder, {isAlternatorControlEnabled == 1}
|
||
field = "#PID control"
|
||
field = "offset", alternatorControl_offset, {isAlternatorControlEnabled == 1}
|
||
field = "P factor", alternatorControl_pFactor, {isAlternatorControlEnabled == 1}
|
||
field = "I factor", alternatorControl_iFactor, {isAlternatorControlEnabled == 1}
|
||
field = "D factor", alternatorControl_dFactor, {isAlternatorControlEnabled == 1}
|
||
field = "iTerm min", alternator_iTermMin, {isAlternatorControlEnabled == 1}
|
||
field = "iTerm max", alternator_iTermMax, {isAlternatorControlEnabled == 1}
|
||
field = "Min", alternatorControl_minValue, {isAlternatorControlEnabled == 1}
|
||
field = "Max", alternatorControl_maxValue, {isAlternatorControlEnabled == 1}
|
||
field = "#% duty = Pterm + Iterm + Dterm + offset%"
|
||
|
||
dialog = alternatorSettings, "Alternator Settings", border
|
||
panel = alternator, West
|
||
panel = alternatorVoltageTargetTableTbl, East
|
||
|
||
dialog = energySystems, "Battery and Alternator Settings", yAxis
|
||
panel = batteryDialog@@if_ts_show_vbatt
|
||
panel = alternatorSettings
|
||
|
||
dialog = speedSensorAnalog, "Speed sensor"
|
||
field = "Input", vehicleSpeedSensorInputPin
|
||
field = "Filter parameter", vssFilterReciprocal, { vehicleSpeedSensorInputPin != @@ADC_CHANNEL_NONE@@ }
|
||
|
||
;
|
||
; We prefer quantities that users can actually measure or inspect without math, so we have
|
||
; two separate natural settings here without one 'sensor tooth to wheel revolution' ratio
|
||
;
|
||
field = "Wheel revolutions per kilometer", driveWheelRevPerKm
|
||
field = "Speed sensor gear ratio", vssGearRatio, { vehicleSpeedSensorInputPin != @@ADC_CHANNEL_NONE@@ }
|
||
field = "Speed sensor tooth count", vssToothCount, { vehicleSpeedSensorInputPin != @@ADC_CHANNEL_NONE@@ }
|
||
|
||
dialog = speedSensorCan, "CAN Vehicle Speed"
|
||
field = "Enable CAN VSS", enableCanVss, { canReadEnabled }
|
||
field = "CAN VSS type", canVssNbcType, { enableCanVss }
|
||
field = "CAN VSS scaling", canVssScaling, { canReadEnabled }
|
||
|
||
dialog = speedSensorLeft, "", yAxis
|
||
panel = speedSensorAnalog, { enableCanVss == 0 }
|
||
panel = speedSensorCan
|
||
|
||
dialog = gearDetection, @@GEAR_DETECTION_DIALOG_NAME@@
|
||
field = "Wheel revolutions per kilometer", driveWheelRevPerKm@@if_ts_show_final_ratio
|
||
field = "Final drive ratio", finalGearRatio@@if_ts_show_final_ratio
|
||
field = ""@@if_ts_show_final_ratio
|
||
field = "Forward gear count", totalGearsCount
|
||
field = ""
|
||
field = "1st gear", gearRatio1, { totalGearsCount >= 1 }
|
||
field = "2nd gear", gearRatio2, { totalGearsCount >= 2 }
|
||
field = "3rd gear", gearRatio3, { totalGearsCount >= 3 }
|
||
field = "4th gear", gearRatio4, { totalGearsCount >= 4 }
|
||
field = "5th gear", gearRatio5, { totalGearsCount >= 5 }
|
||
field = "6th gear", gearRatio6, { totalGearsCount >= 6 }
|
||
field = "7th gear", gearRatio7, { totalGearsCount >= 7 }
|
||
field = "8th gear", gearRatio8, { totalGearsCount >= 8 }
|
||
|
||
dialog = speedSensor, "Speed sensor", xAxis
|
||
panel = speedSensorLeft
|
||
gauge = VSSGauge
|
||
panel = gearDetection
|
||
|
||
; Engine->Other inputs
|
||
dialog = analogInputSettings, "Analog Input Settings"
|
||
field = "!ECU reboot needed to apply these settings"
|
||
field = "ADC vRef voltage", adcVcc@@if_ts_show_vbatt
|
||
field = "Grab baro value from MAP", useFixedBaroCorrFromMap@@if_ts_show_startup_map_baro_grab
|
||
field = "Analog divider ratio", analogInputDividerCoefficient@@if_ts_show_analog_divider
|
||
|
||
|
||
; Board->Connection
|
||
dialog = tsPort, "Calibration Secondary Serial"
|
||
field = "tunerStudioSerialSpeed", tunerStudioSerialSpeed
|
||
field = "TX pin", binarySerialTxPin
|
||
field = "RX pin", binarySerialRxPin
|
||
|
||
dialog = canHw1, "Primary CAN"
|
||
field = "Verbose Can", verboseCan
|
||
field = "Bitrate", canBaudRate@@if_ts_show_can_bitrate
|
||
field = "RX pin", canRxPin @@if_ts_show_can_pins
|
||
field = "TX pin", canTxPin @@if_ts_show_can_pins
|
||
field = "CAN terminator", boardUseCanTerminator@@if_ts_show_can_terminator
|
||
field = "Allow OpenBLT", canOpenBLT
|
||
|
||
dialog = canHw2, "Secondary CAN"
|
||
field = "Verbose Can2", verboseCan2
|
||
field = "Bitrate", can2BaudRate
|
||
field = "RX pin", can2RxPin @@if_ts_show_can_pins
|
||
field = "TX pin", can2TxPin @@if_ts_show_can_pins
|
||
field = "Allow OpenBLT", can2OpenBLT
|
||
|
||
dialog = canBus, "CAN Bus"
|
||
field = "CAN dash type", canNbcType
|
||
field = "Inertia Measurement Unit", imuType
|
||
field = "CAN read enabled", canReadEnabled
|
||
field = "CAN write enabled", canWriteEnabled
|
||
field = "Enable rusEFI CAN broadcast", enableVerboseCanTx
|
||
field = "Enable extended rusEFI CAN broadcast", enableExtendedCanBroadcast
|
||
field = "rusEFI CAN data bus", canBroadcastUseChannelTwo
|
||
field = "rusEFI CAN data base address", verboseCanBaseAddress
|
||
field = "rusEFI CAN data address type", rusefiVerbose29b
|
||
field = "rusEFI CAN data period", canSleepPeriodMs
|
||
|
||
dialog = canBus2, "Secondary CAN Bus"
|
||
|
||
dialog = canBusMain, "CAN Bus Communication", yAxis
|
||
panel = canBus
|
||
|
||
panel = canHw1
|
||
panel = canHw2 @@if_ts_show_can2
|
||
|
||
dialog = sdCard, "SD Card Logger"
|
||
field = "#rusEFI logs to SD when powered without USB connected"
|
||
field = "# and USB not connected for 15 seconds"
|
||
field = "#rusEFI connects SD to your PC when powered by USB"
|
||
field = "Enable SD Card", isSdCardEnabled
|
||
field = "alwaysWriteSdCard", alwaysWriteSdCard, { isSdCardEnabled }
|
||
field = "CS Pin", sdCardCsPin, { isSdCardEnabled } @@if_ts_show_sd_pins
|
||
field = "SPI", sdCardSpiDevice, { isSdCardEnabled } @@if_ts_show_sd_pins
|
||
field = "SD logger rate", sdCardLogFrequency, { isSdCardEnabled }
|
||
field = "SD logger mode", sdTriggerLog, { isSdCardEnabled }
|
||
|
||
dialog = tle8888Dialog, "TLE8888", yAxis
|
||
field = "TLE8888 SPI", tle8888spiDevice @@if_ts_show_spi
|
||
field = "TLE8888 Chip Select", tle8888_cs @@if_ts_show_spi
|
||
field = "Trigger Input Mode", tle8888mode
|
||
field = "useTLE8888 cranking reset hack", useTLE8888_cranking_hack
|
||
field = "useTLE8888 stepper", useTLE8888_stepper
|
||
commandButton = "Reinitialize", cmd_tle8888_init
|
||
|
||
dialog = l9779Dialog, "L9779", yAxis
|
||
field = "L9779 SPI", l9779spiDevice @@if_ts_show_spi
|
||
field = "L9779 Chip Select", l9779_cs @@if_ts_show_spi
|
||
|
||
dialog = connection, "", yAxis
|
||
panel = tsPort @@if_ts_show_tunerstudio_port
|
||
field = "uartConsoleSerialSpeed", uartConsoleSerialSpeed
|
||
field = enableKline, enableKline
|
||
|
||
dialog = monitoringSettings, "rusEFI Console Settings"
|
||
field = "Sensor Sniffer", sensorChartMode
|
||
field = " Threshold", sensorSnifferRpmThreshold
|
||
field = "Engine Sniffer Threshold", engineSnifferRpmThreshold
|
||
|
||
dialog = fuelStrategyPanel, "Fuel"
|
||
field = "!https://rusefi.com/s/fuel"
|
||
field = "Fuel strategy", fuelAlgorithm
|
||
|
||
dialog = debugging, "Debug"
|
||
field = "!https://rusefi.com/s/debugmode"
|
||
field = "Debug mode", debugMode
|
||
|
||
dialog = dutyCycleLimiting, "Injector Duty Cycle Limiter"
|
||
field = "Instantaneous injector duty cycle limit", maxInjectorDutyInstant, {isInjectionEnabled}
|
||
field = "Sustained injector duty cycle limit", maxInjectorDutySustained, {isInjectionEnabled}
|
||
field = "Sustained injector duty cycle delay", maxInjectorDutySustainedTimeout, {isInjectionEnabled}
|
||
|
||
dialog = limitsSettings, "Limits"
|
||
field = "Cut fuel on RPM limit", cutFuelOnHardLimit
|
||
field = "Cut spark on RPM limit", cutSparkOnHardLimit
|
||
field = "Use CLT-based RPM limit curve", useCltBasedRpmLimit, { cutFuelOnHardLimit || cutSparkOnHardLimit }
|
||
field = "RPM hard limit", rpmHardLimit, { (cutFuelOnHardLimit || cutSparkOnHardLimit) && !useCltBasedRpmLimit }
|
||
field = "RPM limit hysteresis", rpmHardLimitHyst
|
||
field = "Boost cut pressure", boostCutPressure
|
||
field = "Boost cut pressure hysteresis", boostCutPressureHyst
|
||
panel = dutyCycleLimiting
|
||
|
||
dialog = softRpmLimitSettings, "Soft RPM Limit"
|
||
field = "Window size", rpmSoftLimitWindowSize
|
||
field = "Timing retard", rpmSoftLimitTimingRetard, { cutSparkOnHardLimit }
|
||
field = "Fuel added", rpmSoftLimitFuelAdded, { cutFuelOnHardLimit }
|
||
|
||
dialog = oilPressureProtection, "Oil pressure protection"
|
||
field = "Minimum oil pressure after start", minOilPressureAfterStart
|
||
field = "Enable low oil pressure protection", enableOilPressureProtect
|
||
field = "Oil pressure protection timeout", minimumOilPressureTimeout
|
||
panel = minimumOilPressure
|
||
|
||
dialog = etbLimits, "Electronic Throttle Limiting"
|
||
field = "Smoothly close the throttle to limit RPM."
|
||
field = "Soft limiter start", etbRevLimitStart
|
||
field = "Soft limiter range", etbRevLimitRange
|
||
|
||
dialog = limitsAndFallbackLeft
|
||
panel = limitsSettings
|
||
panel = softRpmLimitSettings, West, { (cutFuelOnHardLimit || cutSparkOnHardLimit) && !useCltBasedRpmLimit }
|
||
panel = etbLimits
|
||
|
||
dialog = oilPressureProtection, "Oil pressure protection"
|
||
field = "Minimum oil pressure after start", minOilPressureAfterStart
|
||
|
||
dialog = limitsAndFallbackCenter, "CLT-based RPM Limit"
|
||
panel = cltRevLimitCurve
|
||
|
||
dialog = limitsAndFallback, "Limits and fallbacks", border
|
||
panel = limitsAndFallbackLeft, West
|
||
panel = limitsAndFallbackCenter, Center, { (cutFuelOnHardLimit || cutSparkOnHardLimit) && useCltBasedRpmLimit }
|
||
|
||
; Engine->Base Engine Settings
|
||
dialog = engineChars, "Base Engine Settings"
|
||
topicHelp = "baseHelp"
|
||
field = "Layout", uiMode
|
||
panel = baseEngineConfig
|
||
panel = engineMetadata, {1}, { uiMode == @@UiMode_FULL@@ || uiMode == @@UiMode_INSTALLATION@@ }
|
||
panel = fuelStrategyPanel@@if_ts_show_fuel_strategy
|
||
panel = debugging@@if_ts_show_debug_mode
|
||
|
||
dialog = crankingFuel, "Fuel"
|
||
field = "Injection mode", crankingInjectionMode
|
||
field = "Fuel Source For Cranking", useRunningMathForCranking
|
||
field = "Base fuel mass", cranking_baseFuel, {useRunningMathForCranking == 0}
|
||
|
||
dialog = crankingIAC, "Idle air valve"
|
||
field = "Cranking base IAC position", crankingIACposition
|
||
field = "After cranking IAC taper duration",afterCrankingIACtaperDuration
|
||
field = "Override cranking IAC CLT multiplier", overrideCrankingIacSetting
|
||
|
||
dialog = crankingIgnition, "Ignition"
|
||
field = "Timing Advance mode", useSeparateAdvanceForCranking
|
||
field = "Fixed cranking advance", crankingTimingAngle, {useSeparateAdvanceForCranking == 0}
|
||
field = "Fixed Cranking Dwell", ignitionDwellForCrankingMs
|
||
|
||
dialog = primingFuelPulsePanel, "Priming fuel pulse"
|
||
field = "Priming delay", primingDelay
|
||
panel = primingPulse
|
||
|
||
dialog = crankingAdv, "Advanced"
|
||
field = "Enable flood clear", isCylinderCleanupEnabled
|
||
field = "Enable faster engine spin-up", isFasterEngineSpinUpEnabled
|
||
field = "Use Advance Corrections for cranking", useAdvanceCorrectionsForCranking
|
||
field = "Use Flex Fuel cranking table", flexCranking
|
||
|
||
; Cranking->Cranking Settings
|
||
dialog = crankingDialog, "Cranking Settings"
|
||
field = "Cranking RPM limit", cranking_rpm
|
||
panel = crankingFuel
|
||
panel = crankingIgnition
|
||
panel = crankingIAC
|
||
panel = crankingAdv
|
||
|
||
dialog = TpsAccelPanel, "TPS"
|
||
field = "Set 'Debug Mode' to see detailed 'TPS acceleration enrichment' diagnostics"
|
||
field = "Length", tpsAccelLookback
|
||
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 = "Wall fueling model type", complexWallModel
|
||
field = "evaporation time constant / tau", wwaeTau, { complexWallModel == 0 }
|
||
field = "added to wall coef / beta", wwaeBeta, { complexWallModel == 0 }
|
||
|
||
|
||
; Tuning->AccelEnrichment
|
||
dialog = AccelEnrich, "Accel/Decel Enrichment"
|
||
panel = TpsAccelPanel
|
||
panel = WallWettingAccelPanel
|
||
|
||
dialog = wwTauCurves, "Wall wetting AE evaporation time"
|
||
field = "#Set a base evaporation time based on coolant temperature, and a multiplier based on MAP."
|
||
panel = wwTauCltCurve
|
||
panel = wwTauMapCurve
|
||
|
||
dialog = wwBetaCurves, "Wall wetting AE impact fraction"
|
||
field = "#Set a base impact fraction based on coolant temperature, and a multiplier based on MAP."
|
||
panel = wwBetaCltCurve
|
||
panel = wwBetaMapCurve
|
||
|
||
dialog = auxValvesIO, "Outputs"
|
||
field = "aux valve #1", auxValves1
|
||
field = "aux valve #2", auxValves2
|
||
|
||
dialog = scriptSetting, "Setting"
|
||
field = "!Use rusEFI console for Lua script editing"
|
||
field = "Set number is not associated with the output number."
|
||
field = "Set number, only the cell number with some numbers."
|
||
field = "Name #1", scriptSettingName1
|
||
field = "Setting #1", scriptSetting1
|
||
field = "Name #2", scriptSettingName2
|
||
field = "Setting #2", scriptSetting2
|
||
field = "Name #3", scriptSettingName3
|
||
field = "Setting #3", scriptSetting3
|
||
field = "Name #4", scriptSettingName4
|
||
field = "Setting #4", scriptSetting4
|
||
field = "Name #5", scriptSettingName5
|
||
field = "Setting #5", scriptSetting5
|
||
field = "Name #6", scriptSettingName6
|
||
field = "Setting #6", scriptSetting6
|
||
|
||
dialog = scriptSettingDialog, "Script Settings", border
|
||
panel = scriptSetting, East
|
||
|
||
dialog = luaDigitalInputsLeftDialog
|
||
field = "Digital #1", luaDigitalInputPins1
|
||
field = "Digital #2", luaDigitalInputPins2
|
||
field = "Digital #3", luaDigitalInputPins3
|
||
field = "Digital #4", luaDigitalInputPins4
|
||
field = "Digital #5", luaDigitalInputPins5
|
||
field = "Digital #6", luaDigitalInputPins6
|
||
field = "Digital #7", luaDigitalInputPins7
|
||
field = "Digital #8", luaDigitalInputPins8
|
||
|
||
dialog = luaDigitalInputsRightDialog
|
||
field = "Mode #1", luaDigitalInputPinModes1
|
||
field = "Mode #2", luaDigitalInputPinModes2
|
||
field = "Mode #3", luaDigitalInputPinModes3
|
||
field = "Mode #4", luaDigitalInputPinModes4
|
||
field = "Mode #5", luaDigitalInputPinModes5
|
||
field = "Mode #6", luaDigitalInputPinModes6
|
||
field = "Mode #7", luaDigitalInputPinModes7
|
||
field = "Mode #8", luaDigitalInputPinModes8
|
||
|
||
dialog = luaDigitalInputsDialog, "Lua Digital Aux Inputs", border
|
||
panel = luaDigitalInputsLeftDialog, West
|
||
panel = luaDigitalInputsRightDialog, East
|
||
|
||
dialog = auxInputsDialog, "Lua Analog Inputs"
|
||
field = "ADC #1", auxAnalogInputs1
|
||
field = "ADC #2", auxAnalogInputs2
|
||
field = "ADC #3", auxAnalogInputs3
|
||
field = "ADC #4", auxAnalogInputs4
|
||
field = "ADC #5", auxAnalogInputs5
|
||
field = "ADC #6", auxAnalogInputs6
|
||
field = "ADC #7", auxAnalogInputs7
|
||
field = "ADC #8", auxAnalogInputs8
|
||
|
||
dialog = luaOutputs, "Lua Outputs"
|
||
field = "!Use rusEFI console for Lua script editing"
|
||
field = "#Call startPwm to initialize, then call"
|
||
field = "#setPwmDuty and setPwmFreq to vary duty/freq"
|
||
field = "#See rusefi.com/s/lua for more info"
|
||
field = "output #0", luaOutputPins1
|
||
field = "output #1", luaOutputPins2
|
||
field = "output #2", luaOutputPins3
|
||
field = "output #3", luaOutputPins4
|
||
field = "output #4", luaOutputPins5
|
||
field = "output #5", luaOutputPins6
|
||
field = "output #6", luaOutputPins7
|
||
field = "output #7", luaOutputPins8
|
||
|
||
dialog = transmissionPanel
|
||
field = "TCU Enabled" tcuEnabled
|
||
field = "Gear Controller" gearControllerMode, { tcuEnabled }
|
||
field = "Transmission Controller" transmissionControllerMode, { tcuEnabled }
|
||
|
||
dialog = shiftSolenoidPanel, "Shift Solenoids"
|
||
field = "Solenoid 1 output" tcu_solenoid1, { tcuEnabled && (transmissionControllerMode == @@TransmissionControllerMode_SimpleTransmissionController@@ || transmissionControllerMode == @@TransmissionControllerMode_Generic4@@ || transmissionControllerMode == @@TransmissionControllerMode_Gm4l6x@@) }
|
||
field = "Solenoid 1 output Mode" tcu_solenoid_mode1, { tcuEnabled && (transmissionControllerMode == @@TransmissionControllerMode_SimpleTransmissionController@@ || transmissionControllerMode == @@TransmissionControllerMode_Generic4@@ || transmissionControllerMode == @@TransmissionControllerMode_Gm4l6x@@) }
|
||
field = "Solenoid 2 output" tcu_solenoid2, { tcuEnabled && (transmissionControllerMode == @@TransmissionControllerMode_SimpleTransmissionController@@ || transmissionControllerMode == @@TransmissionControllerMode_Generic4@@ || transmissionControllerMode == @@TransmissionControllerMode_Gm4l6x@@) }
|
||
field = "Solenoid 2 output Mode" tcu_solenoid_mode2, { tcuEnabled && (transmissionControllerMode == @@TransmissionControllerMode_SimpleTransmissionController@@ || transmissionControllerMode == @@TransmissionControllerMode_Generic4@@ || transmissionControllerMode == @@TransmissionControllerMode_Gm4l6x@@) }
|
||
field = "Solenoid 3 output" tcu_solenoid3, { tcuEnabled && (transmissionControllerMode == @@TransmissionControllerMode_SimpleTransmissionController@@ || transmissionControllerMode == @@TransmissionControllerMode_Generic4@@ || transmissionControllerMode == @@TransmissionControllerMode_Gm4l6x@@) }
|
||
field = "Solenoid 3 output Mode" tcu_solenoid_mode3, { tcuEnabled && (transmissionControllerMode == @@TransmissionControllerMode_SimpleTransmissionController@@ || transmissionControllerMode == @@TransmissionControllerMode_Generic4@@ || transmissionControllerMode == @@TransmissionControllerMode_Gm4l6x@@) }
|
||
field = "Solenoid 4 output" tcu_solenoid4, { tcuEnabled && (transmissionControllerMode == @@TransmissionControllerMode_SimpleTransmissionController@@ || transmissionControllerMode == @@TransmissionControllerMode_Generic4@@ || transmissionControllerMode == @@TransmissionControllerMode_Gm4l6x@@) }
|
||
field = "Solenoid 4 output Mode" tcu_solenoid_mode4, { tcuEnabled && (transmissionControllerMode == @@TransmissionControllerMode_SimpleTransmissionController@@ || transmissionControllerMode == @@TransmissionControllerMode_Generic4@@ || transmissionControllerMode == @@TransmissionControllerMode_Gm4l6x@@) }
|
||
field = "Solenoid 5 output" tcu_solenoid5, { tcuEnabled && (transmissionControllerMode == @@TransmissionControllerMode_SimpleTransmissionController@@ || transmissionControllerMode == @@TransmissionControllerMode_Generic4@@ || transmissionControllerMode == @@TransmissionControllerMode_Gm4l6x@@) }
|
||
field = "Solenoid 5 output Mode" tcu_solenoid_mode5, { tcuEnabled && (transmissionControllerMode == @@TransmissionControllerMode_SimpleTransmissionController@@ || transmissionControllerMode == @@TransmissionControllerMode_Generic4@@ || transmissionControllerMode == @@TransmissionControllerMode_Gm4l6x@@) }
|
||
field = "Solenoid 6 output" tcu_solenoid6, { tcuEnabled && (transmissionControllerMode == @@TransmissionControllerMode_SimpleTransmissionController@@ || transmissionControllerMode == @@TransmissionControllerMode_Generic4@@ || transmissionControllerMode == @@TransmissionControllerMode_Gm4l6x@@) }
|
||
field = "Solenoid 6 output Mode" tcu_solenoid_mode6, { tcuEnabled && (transmissionControllerMode == @@TransmissionControllerMode_SimpleTransmissionController@@ || transmissionControllerMode == @@TransmissionControllerMode_Generic4@@ || transmissionControllerMode == @@TransmissionControllerMode_Gm4l6x@@) }
|
||
field = "3-2 Solenoid output" tcu_32_solenoid_pin, { tcuEnabled && (transmissionControllerMode == @@TransmissionControllerMode_Gm4l6x@@) }
|
||
field = "3-2 Solenoid output mode" tcu_32_solenoid_pin_mode, { tcuEnabled && (transmissionControllerMode == @@TransmissionControllerMode_Gm4l6x@@) }
|
||
field = "3-2 Solenoid Frequency" tcu_32_solenoid_freq, { tcuEnabled && (transmissionControllerMode == @@TransmissionControllerMode_Gm4l6x@@) }
|
||
|
||
dialog = otherSolenoidPanel, "Other Solenoids"
|
||
field = "TCC On/Off Solenoid Pin" tcu_tcc_onoff_solenoid, { tcuEnabled && (transmissionControllerMode == @@TransmissionControllerMode_Generic4@@ || transmissionControllerMode == @@TransmissionControllerMode_Gm4l6x@@) }
|
||
field = "TCC On/Off Solenoid Pin Mode" tcu_tcc_onoff_solenoid_mode, { tcuEnabled && (transmissionControllerMode == @@TransmissionControllerMode_Generic4@@ || transmissionControllerMode == @@TransmissionControllerMode_Gm4l6x@@) }
|
||
field = "TCC PWM Solenoid Pin" tcu_tcc_pwm_solenoid, { tcuEnabled && (transmissionControllerMode == @@TransmissionControllerMode_Gm4l6x@@) }
|
||
field = "TCC PWM Solenoid Pin Mode" tcu_tcc_pwm_solenoid_mode, { tcuEnabled && (transmissionControllerMode == @@TransmissionControllerMode_Gm4l6x@@) }
|
||
field = "TCC PWM Solenoid Frequency" tcu_tcc_pwm_solenoid_freq, { tcuEnabled && (transmissionControllerMode == @@TransmissionControllerMode_Gm4l6x@@) }
|
||
field = "Pressure Control Solenoid Pin" tcu_pc_solenoid_pin, { tcuEnabled && (transmissionControllerMode == @@TransmissionControllerMode_Generic4@@ || transmissionControllerMode == @@TransmissionControllerMode_Gm4l6x@@) }
|
||
field = "Pressure Control Solenoid Pin Mode" tcu_pc_solenoid_pin_mode, { tcuEnabled && (transmissionControllerMode == @@TransmissionControllerMode_Generic4@@ || transmissionControllerMode == @@TransmissionControllerMode_Gm4l6x@@) }
|
||
field = "Pressure Control Solenoid Frequency" tcu_pc_solenoid_freq, { tcuEnabled && (transmissionControllerMode == @@TransmissionControllerMode_Generic4@@ || transmissionControllerMode == @@TransmissionControllerMode_Gm4l6x@@) }
|
||
|
||
dialog = shiftSettingsPanel, "Shift Settings"
|
||
field = "Assumed Shift Time" tcu_shiftTime, { tcuEnabled }
|
||
|
||
|
||
dialog = buttonShiftInputPanel, "Switch/Button Shift"
|
||
field = "Upshift Pin" tcuUpshiftButtonPin, { tcuEnabled && gearControllerMode == @@GearControllerMode_ButtonShift@@ }
|
||
field = "Upshift Pin Mode" tcuUpshiftButtonPinMode, { tcuEnabled && gearControllerMode == @@GearControllerMode_ButtonShift@@ }
|
||
field = "Downshift Pin" tcuDownshiftButtonPin, { tcuEnabled && gearControllerMode == @@GearControllerMode_ButtonShift@@ }
|
||
field = "Downshift Pin Mode" tcuDownshiftButtonPinMode, { tcuEnabled && gearControllerMode == @@GearControllerMode_ButtonShift@@ }
|
||
|
||
dialog = inputSpeedSensorPanel, "Input Speed Sensor"
|
||
field = "Input Pin", tcuInputSpeedSensorPin
|
||
field = "Filter parameter", issFilterReciprocal, { tcuInputSpeedSensorPin != @@ADC_CHANNEL_NONE@@ }
|
||
field = "Tooth Count", tcuInputSpeedSensorTeeth
|
||
|
||
dialog = rangeMatrixInputPanel, "Range Selector Inputs"
|
||
field = "Analog Bias Resistor", tcu_rangeSensorBiasResistor, { tcuEnabled }
|
||
field = "Pulldown?", tcu_rangeSensorPulldown, { tcuEnabled }
|
||
field = "Analog Pin 1", tcu_rangeAnalogInput1, { tcuEnabled && tcu_rangeInput1 == 0 }
|
||
field = "Digital Pin 1", tcu_rangeInput1, { tcuEnabled && tcu_rangeAnalogInput1 == @@ADC_CHANNEL_NONE@@ }
|
||
field = "Digital Pin 1 Mode", tcu_rangeInputMode1, { tcuEnabled && tcu_rangeInput1 != 0 && tcu_rangeAnalogInput1 == @@ADC_CHANNEL_NONE@@ }
|
||
field = "Analog Pin 2", tcu_rangeAnalogInput2, { tcuEnabled && tcu_rangeInput2 == 0 }
|
||
field = "Digital Pin 2", tcu_rangeInput2, { tcuEnabled && tcu_rangeAnalogInput2 == @@ADC_CHANNEL_NONE@@ }
|
||
field = "Digital Pin 2 Mode", tcu_rangeInputMode2, { tcuEnabled && tcu_rangeInput2 != 0 && tcu_rangeAnalogInput2 == @@ADC_CHANNEL_NONE@@ }
|
||
field = "Analog Pin 3", tcu_rangeAnalogInput3, { tcuEnabled && tcu_rangeInput3 == 0 }
|
||
field = "Digital Pin 3", tcu_rangeInput3, { tcuEnabled && tcu_rangeAnalogInput3 == @@ADC_CHANNEL_NONE@@ }
|
||
field = "Digital Pin 3 Mode", tcu_rangeInputMode3, { tcuEnabled && tcu_rangeInput3 != 0 && tcu_rangeAnalogInput3 == @@ADC_CHANNEL_NONE@@ }
|
||
field = "Analog Pin 4", tcu_rangeAnalogInput4, { tcuEnabled && tcu_rangeInput4 == 0 }
|
||
field = "Digital Pin 4", tcu_rangeInput4, { tcuEnabled && tcu_rangeAnalogInput4 == @@ADC_CHANNEL_NONE@@ }
|
||
field = "Digital Pin 4 Mode", tcu_rangeInputMode4, { tcuEnabled && tcu_rangeInput4 != 0 && tcu_rangeAnalogInput4 == @@ADC_CHANNEL_NONE@@ }
|
||
|
||
dialog = tcuControls, "Transmission Settings"
|
||
panel = transmissionPanel
|
||
panel = shiftSolenoidPanel
|
||
panel = otherSolenoidPanel
|
||
panel = shiftSettingsPanel
|
||
|
||
dialog = gearControls, "Gear Selection Settings"
|
||
panel = buttonShiftInputPanel
|
||
panel = rangeMatrixInputPanel
|
||
|
||
dialog = inputSpeedSensor, "Input Speed Sensor"
|
||
panel = inputSpeedSensorPanel
|
||
|
||
dialog = shiftSpeedDialog, "Line Pressure Per Gear Steady State"
|
||
panel = shiftSpeedCurve
|
||
|
||
dialog = tccCurves, "TCC Lock/Unlock Speed"
|
||
panel = tccLockCurve
|
||
|
||
dialog = pcPerGearDialog, "Line Pressure Per Gear Steady State"
|
||
panel = pcPerGearCurve
|
||
|
||
dialog = pcPerShiftDialog, "Line Pressure Per Shift"
|
||
panel = pcPerShiftCurve
|
||
|
||
dialog = 32Dialog, "3-2 Shift Solenoid Percent by Speed"
|
||
panel = 32Curve
|
||
|
||
dialog = rangeMatrixDocumentation, "Digital Cell Values"
|
||
field = "0 = this pin must be low to reach this state"
|
||
field = "1 = this pin must be high to reach this state"
|
||
field = "2 = this pin is ignored for reaching this state"
|
||
field = "3 = this state is unreachable"
|
||
|
||
dialog = rangeMatrixDialog, "Range Selector Input Matrix", border
|
||
panel = rangeMatrix, Center
|
||
panel = rangeMatrixDocumentation, South
|
||
|
||
;Boost Open Loop
|
||
|
||
dialog = boostDialog, ""
|
||
field = "Enable", isBoostControlEnabled
|
||
field = "Control Mode", boostType, { isBoostControlEnabled }
|
||
field = "Output", boostControlPin, { boostControlPin != 0 || isBoostControlEnabled }
|
||
field = "Output Mode", boostControlPinMode, { isBoostControlEnabled }
|
||
field = "Frequency", boostPwmFrequency, { isBoostControlEnabled }
|
||
field = "Safe duty cycle", boostControlSafeDutyCycle, { isBoostControlEnabled }
|
||
field = "No boost control below RPM", boostControlMinRpm, { isBoostControlEnabled }
|
||
field = "No boost control below TPS", boostControlMinTps, { isBoostControlEnabled }
|
||
field = "No boost control below MAP", boostControlMinMap, { isBoostControlEnabled }
|
||
|
||
dialog = boostOpenLoopYAxisSelector, ""
|
||
field = "Y Axis", boostOpenLoopYAxis
|
||
|
||
dialog = boostOpenLoopDialog, "", border
|
||
panel = boostOpenLoopYAxisSelector, North
|
||
panel = boostTableTbl, Center
|
||
|
||
dialog = tpsTpsModeSelector
|
||
field = "Mode", tpsTpsPercentMode
|
||
|
||
dialog = tpsTpsDialog, "", border
|
||
panel = tpsTpsModeSelector, North
|
||
panel = tpsTpsAccelTbl, Center
|
||
|
||
dialog = boostOpenLoopGearAdderDialog, "", border
|
||
panel = boostOpenLoopGearAdderCurve, Center
|
||
|
||
;Boost Closed Loop
|
||
|
||
dialog = boostPidDialog, ""
|
||
topicHelp = "boostPidHelp"
|
||
field = "Enable closed loop above", minimumBoostClosedLoopMap, { isBoostControlEnabled && boostType == 1 }
|
||
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 = "Min adjustment", boostPid_minValue, { isBoostControlEnabled && boostType == 1 }
|
||
field = "Max adjustment", boostPid_maxValue, { isBoostControlEnabled && boostType == 1 }
|
||
|
||
dialog = boostTargetDialog, "", card
|
||
panel = boostClosedTbl
|
||
|
||
dialog = boostEtbPid, ""
|
||
field = "This PID is controlling how DC motor reaches desired position"
|
||
field = ""
|
||
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 }
|
||
|
||
dialog = msIoBox1, "MS IO box 1"
|
||
field = "Base CAN identifier", msIoBox0_id
|
||
field = "VSS settings", msIoBox0_vss, { msIoBox0_id }
|
||
|
||
dialog = msIoBox, ""
|
||
panel = msIoBox1
|
||
|
||
help = boostPidHelp, "Boost Control PID"
|
||
text = "P = % per kPa error"
|
||
text = "I = % per kPa-seconds"
|
||
text = "D = % per kPa/sec"
|
||
text = ""
|
||
text = "If the boost error is 5kpa, and your P is set to 2, it will make a correction of 10%."
|
||
text = "If the boost error has been 5kPa for 2 second (10 kPa-seconds) and I is set to 0.1, it will make a correction of 1%"
|
||
text = "If the boost is changing at 10kPa/s and D is set to 0.5, it will make a correction of 5%."
|
||
text = "Those three terms are then added together, and limited by the PID min/max settings."
|
||
text = ""
|
||
text = "That is then added to the value from the open loop table, and sent to PWM the valve."
|
||
|
||
help = veTableDialogHelp, "Volumetric Efficiency"
|
||
text = "Volumetric Efficiency is used to calculate fuel in Speed Density mode. VE incorporates pressure ratio as measured by MAP sensor in boost (no VE ever above 105%ish)"
|
||
webHelp = "https://rusefi.com/s/fuel"
|
||
|
||
help = stepperHbridgeHardwareHelp, "Stepper driven by Dual H-bridge"
|
||
text = "In case you are using two H-bridges driving 4-wire stepper. H-brigde control signals connected to MCU pins configured here."
|
||
|
||
help = idleStepperHwHelp, "Stepper drivern by step motor driver IC"
|
||
text = "In case you have some special IC that drives your stepper. MCU to IC control signals (DIR/STEP/EN) configured here"
|
||
|
||
help = stepperDirectDriveHardwareHelp, "Stepper driven by 4 Push-Pull/Pull outputs"
|
||
text = "In case you have 4/6-wire stepper driven by 4 ECU outputs in Push-Pull or Pull mode. Set ECU outputs used for each phase here."
|
||
|
||
help = iatFuelCorrCurveHelp, "IAT Fuel Correction"
|
||
text = "Charge temperature estimation coefficient is the more proper way to handle IAT for fuel purposes"
|
||
text = "Open question who if anyone needs IAT Fuel Correction when"
|
||
|
||
help = fuelHelp, "Fuel Control"
|
||
text = "More about fuel control on the web"
|
||
webHelp = "https://rusefi.com/s/fuel"
|
||
|
||
help = triggerHelp, "Trigger Settings"
|
||
text = "More about Trigger Settings on the web"
|
||
webHelp = "https://rusefi.com/s/trigger"
|
||
|
||
help = etbHelp, "ETB Control"
|
||
text = "More about electronic throttle body on the web"
|
||
webHelp = "<html><a href=https://rusefi.com/s/etb>https://rusefi.com/s/etb</a></html>"
|
||
|
||
help = vrThresholdHelp, "VR Sensor Threshold"
|
||
text = "This is about rusEFI VR Discrete decoder"
|
||
webHelp = "https://rusefi.com/"
|
||
|
||
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_NAME@@
|
||
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 = "ETB idle maximum angle", etbIdleThrottleRange
|
||
|
||
indicatorPanel = etbIndicatorPanel, 1
|
||
indicator = {jamDetected0}, "jamDetected No", "jamDetected Yes"
|
||
|
||
|
||
dialog = etbDialogLeft
|
||
field = "https://rusefi.com/s/etb"
|
||
field = "Disable ETB if engine is stopped", disableEtbWhenEngineStopped
|
||
field = "Disable ETB Motor", pauseEtbControl
|
||
field = "H-Bridge #1 function", etbFunctions1@@if_ts_show_hbridge_function
|
||
field = "H-Bridge #2 function", etbFunctions2@@if_ts_show_hbridge_function
|
||
field = "PWM Frequency", etbFreq
|
||
field = "Minimum ETB position", etbMinimumPosition
|
||
field = "Maximum ETB position", etbMaximumPosition
|
||
field = ""
|
||
field = "Jam detection error max", etbJamDetectThreshold, { etbJamDetectThreshold == 0 || etbJamTimeout != 0 }
|
||
field = "Jam detection timeout period", etbJamTimeout, { etbJamDetectThreshold != 0 }
|
||
field = "Disables jam detection for testing until the next power cycle"
|
||
commandButton = "Temporarily disable jam detection", cmd_etb_disable_jam_detect
|
||
panel = etbIndicatorPanel
|
||
; 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
|
||
; todo: report bug to TS?
|
||
; another todo: split panel into two panels so that we can enable/disable h-bridge #1 separately from h-bridge #2
|
||
panel = etbHbridgeHardware, { etbFunctions1 != @@dc_function_e_DC_None@@ || etbFunctions2 != @@dc_function_e_DC_None@@ || (useStepperIdle && useHbridgesToDriveIdleStepper) } @@if_ts_show_etb_pins
|
||
|
||
dialog = etbAutotune, "PID Autotune"
|
||
field = "First step: calibrate TPS and hit 'Burn'"
|
||
field = "should first OPEN, then CLOSE"
|
||
commandButton = "Auto Calibrate ETB 1", cmd_etb_auto_calibrate, { (etbFunctions1 == @@dc_function_e_DC_Throttle1@@ || etbFunctions2 == @@dc_function_e_DC_Throttle1@@) && tps1_1AdcChannel != @@ADC_CHANNEL_NONE@@ && calibrationMode == @@TsCalMode_None@@}
|
||
commandButton = "Auto Calibrate ETB 2", cmd_etb_auto_calibrate_2, { (etbFunctions1 == @@dc_function_e_DC_Throttle2@@ || etbFunctions2 == @@dc_function_e_DC_Throttle2@@) && tps2_1AdcChannel != @@ADC_CHANNEL_NONE@@ && calibrationMode == @@TsCalMode_None@@}@@if_ts_show_tps2
|
||
field = "Second step"
|
||
commandButton = "Start ETB PID Autotune", cmd_etb_autotune, {(etbFunctions1 == @@dc_function_e_DC_Throttle1@@ || etbFunctions1 == @@dc_function_e_DC_Throttle2@@ || etbFunctions2 == @@dc_function_e_DC_Throttle1@@ || etbFunctions2 == @@dc_function_e_DC_Throttle2@@) && calibrationMode = @@TsCalMode_None@@}
|
||
commandButton = "Stop ETB PID Autotune", cmd_etb_autotune_stop, {(etbFunctions1 == @@dc_function_e_DC_Throttle1@@ || etbFunctions1 == @@dc_function_e_DC_Throttle2@@ || etbFunctions2 == @@dc_function_e_DC_Throttle1@@ || etbFunctions2 == @@dc_function_e_DC_Throttle2@@) && calibrationMode >= @@TsCalMode_EtbKp@@ && calibrationMode <= @@TsCalMode_EtbKd@@}
|
||
|
||
dialog = etbDialogRight
|
||
panel = etbIdleDialog,{ etbFunctions1 == @@dc_function_e_DC_Throttle1@@ || etbFunctions1 == @@dc_function_e_DC_Throttle2@@ || etbFunctions2 == @@dc_function_e_DC_Throttle1@@ || etbFunctions2 == @@dc_function_e_DC_Throttle2@@ }
|
||
; commandButton = "Reset ETB", cmd_etb_reset
|
||
panel = etbPidDialog, { etbFunctions1 == @@dc_function_e_DC_Throttle1@@ || etbFunctions1 == @@dc_function_e_DC_Throttle2@@ || etbFunctions2 == @@dc_function_e_DC_Throttle1@@ || etbFunctions2 == @@dc_function_e_DC_Throttle2@@ }
|
||
panel = etbAutotune, { etbFunctions1 == @@dc_function_e_DC_Throttle1@@ || etbFunctions1 == @@dc_function_e_DC_Throttle2@@ || etbFunctions2 == @@dc_function_e_DC_Throttle1@@ || etbFunctions2 == @@dc_function_e_DC_Throttle2@@ }
|
||
|
||
dialog = etbDialog, "Electronic Throttle Body", border
|
||
topicHelp = "etbHelp"
|
||
panel = etbDialogLeft, West
|
||
panel = etbDialogRight, East
|
||
|
||
dialog = testSpark, "Spark"
|
||
commandButton = @@COIL_1_NAME@@, cmd_test_spk1
|
||
commandButton = @@COIL_2_NAME@@, cmd_test_spk2, { cylindersCount >= 2 }
|
||
commandButton = "Spark #3", cmd_test_spk3, { cylindersCount >= 3 }@@if_ts_show_cylinder_3
|
||
commandButton = "Spark #4", cmd_test_spk4, { cylindersCount >= 4 }@@if_ts_show_cylinder_4
|
||
commandButton = "Spark #5", cmd_test_spk5, { cylindersCount >= 5 }@@if_ts_show_cylinder_5
|
||
commandButton = "Spark #6", cmd_test_spk6, { cylindersCount >= 6 }@@if_ts_show_cylinder_6
|
||
commandButton = "Spark #7", cmd_test_spk7, { cylindersCount >= 7 }@@if_ts_show_cylinder_7
|
||
commandButton = "Spark #8", cmd_test_spk8, { cylindersCount >= 8 }@@if_ts_show_cylinder_8
|
||
commandButton = "Spark #9", cmd_test_spk9, { cylindersCount >= 9 }@@if_ts_show_cylinder_9
|
||
commandButton = "Spark #10", cmd_test_spk10, { cylindersCount >= 10 }@@if_ts_show_cylinder_10
|
||
commandButton = "Spark #11", cmd_test_spk11, { cylindersCount >= 11 }@@if_ts_show_cylinder_11
|
||
commandButton = "Spark #12", cmd_test_spk12, { cylindersCount >= 12 }@@if_ts_show_cylinder_12
|
||
commandButton = "Abort test", cmd_test_cancel
|
||
|
||
dialog = testMisc, "Misc"
|
||
commandButton = "A/C Relay", cmd_test_ac_relay@@if_ts_show_air_conditioning
|
||
commandButton = "Idle Air Valve", cmd_test_idle_valve@@if_ts_show_idle_hardware
|
||
commandButton = "Idle Second Air Valve", cmd_test_second_idle_valve@@if_ts_show_idle_hardware
|
||
commandButton = "Stop Engine", cmd_stop_engine
|
||
commandButton = "Write Config", cmd_write_config
|
||
commandButton = "Reboot ECU", cmd_reset_controller
|
||
commandButton = "Reset to DFU", cmd_dfu@@if_ts_show_reboot_to_dfu
|
||
commandButton = "Reset to OpenBLT", cmd_openblt
|
||
commandButton = "No flash Burn mode", cmd_burn_without_flash
|
||
|
||
; bench test
|
||
dialog = ioTest, "Bench Test & Commands", xAxis
|
||
panel = testSpark
|
||
panel = testInjectors
|
||
panel = testOther
|
||
panel = testLuaOut
|
||
panel = testMisc
|
||
|
||
; Injectors test
|
||
dialog = injTest_l, "Output test modes", yAxis
|
||
field = "Iterations", benchTestCount
|
||
field = "ON time", benchTestOffTime
|
||
field = "OFF time", benchTestOnTime
|
||
|
||
dialog = injTest_r, "Reference gauges", yAxis
|
||
gauge = VBattGauge,North
|
||
gauge = testBenchIterGauge,South
|
||
|
||
dialog = injTest, "", xAxis
|
||
panel = injTest_l
|
||
panel = injTest_r
|
||
|
||
dialog = widebandConfig, "rusEFI Wideband Config"
|
||
field = "!Please connect exactly one wideband controller before pressing these buttons!"
|
||
commandButton = "Update Firmware", cmd_wideband_firmare_update
|
||
field = "!These buttons will set ALL connected controllers to the specified index."@@if_ts_show_wbo_canbus_set_index
|
||
field = "!Disconnect all controllers you don't want to set!"@@if_ts_show_wbo_canbus_set_index
|
||
commandButton = "Set Index 0", cmd_set_wideband_idx_0@@if_ts_show_wbo_canbus_set_index
|
||
commandButton = "Set Index 1", cmd_set_wideband_idx_1@@if_ts_show_wbo_canbus_set_index
|
||
|
||
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 1", cmd_set_engine_type_Frankenso_Miata_NA6_MAP@@if_show_Frankenso_presets
|
||
|
||
@@BOARD_POPULAR_VEHICLES_FILE@@
|
||
|
||
commandButton = "Reset to factory tune", cmd_set_engine_type_default@@if_show_default_engine_type
|
||
|
||
; Board->ECU stimulator
|
||
dialog = ecuStimulator, "ECU stimulator"
|
||
field = "Trigger Simulator", triggerSimulatorRpm
|
||
commandButton = "Enable internal trigger simulation", cmd_enable_self_stim
|
||
commandButton = "Enable external trigger simulation", cmd_enable_ext_stim @@if_ts_show_hardware_simulator
|
||
commandButton = "Disable 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 = ""@@if_ts_show_hardware_simulator
|
||
field = "trigger stimulator output #1", triggerSimulatorPins1@@if_ts_show_hardware_simulator
|
||
field = "trigger stimulator output mode #1", triggerSimulatorPinModes1@@if_ts_show_hardware_simulator
|
||
field = "trigger stimulator output #2", triggerSimulatorPins2@@if_ts_show_hardware_simulator
|
||
field = "trigger stimulator output mode #2", triggerSimulatorPinModes2@@if_ts_show_hardware_simulator
|
||
field = camSimulatorPin, camSimulatorPin@@if_ts_show_hardware_simulator
|
||
field = camSimulatorPinMode, camSimulatorPinMode@@if_ts_show_hardware_simulator
|
||
field = ""
|
||
field = "Logic input channel 1", logicAnalyzerPins1
|
||
field = "Logic input channel 2", logicAnalyzerPins2
|
||
field = "Logic input channel 3", logicAnalyzerPins3
|
||
field = "Logic input channel 4", logicAnalyzerPins4
|
||
field = ""
|
||
field = "Engine chart size", engineChartSize
|
||
|
||
; Racing Features->Launch Control
|
||
dialog = smLaunchControlWest, "Launch Control Settings"
|
||
field = "Enable Launch Control", launchControlEnabled
|
||
field = "Activation Mode", launchActivationMode, {launchControlEnabled == 1}
|
||
|
||
field = "Launch Button", launchActivatePin, {launchControlEnabled == 1 && (launchActivatePin != 0 || (launchActivationMode == @@launchActivationMode_e_SWITCH_INPUT_LAUNCH@@))}
|
||
field = "Launch Button inverted", launchActivateInverted, {launchControlEnabled == 1 && launchActivationMode == @@launchActivationMode_e_SWITCH_INPUT_LAUNCH@@}
|
||
field = "Launch Button mode", launchActivatePinMode, {launchControlEnabled == 1 && launchActivationMode == @@launchActivationMode_e_SWITCH_INPUT_LAUNCH@@}
|
||
|
||
field = "Clutch Down", clutchDownPin, {launchControlEnabled == 1 && (clutchDownPin != 0 || (launchActivationMode == @@launchActivationMode_e_CLUTCH_INPUT_LAUNCH@@))}@@if_ts_show_clutch_down_pin
|
||
field = "Clutch Down inverted", clutchDownPinInverted, {launchControlEnabled == 1 && launchActivationMode == @@launchActivationMode_e_CLUTCH_INPUT_LAUNCH@@}@@if_ts_show_clutch_down_pin
|
||
field = "Clutch Down mode", clutchDownPinMode, {launchControlEnabled == 1 && launchActivationMode == @@launchActivationMode_e_CLUTCH_INPUT_LAUNCH@@}@@if_ts_show_clutch_down_pin
|
||
field = ""
|
||
|
||
; dead code field = "Rpm Threshold", launchRpmThreshold, {launchControlEnabled == 1}
|
||
field = "Speed Threshold", launchSpeedThreshold, {launchControlEnabled == 1}
|
||
field = ""
|
||
field = "Launch RPM", launchRpm, {launchControlEnabled == 1}
|
||
field = "Launch Control Window", launchRpmWindow, {launchControlEnabled == 1}
|
||
field = "TPS Threshold", launchTpsThreshold, {launchControlEnabled == 1}
|
||
field = "Ignition Retard enable", enableLaunchRetard, {launchControlEnabled == 1}
|
||
field = "Ignition Retard", launchTimingRetard, {launchControlEnabled == 1 && enableLaunchRetard == 1}
|
||
field = "Fuel Added %", launchFuelAdderPercent, {launchControlEnabled == 1}
|
||
field = "Smooth Retard Mode", launchSmoothRetard, {launchControlEnabled == 1 && enableLaunchRetard == 1}
|
||
field = "Launch Corrections End RPM", launchCorrectionsEndRpm, {launchSmoothRetard == 1 || launchSparkCutEnable == 1}
|
||
field = "Hard Cut Mode"
|
||
field = "Ignition Cut", launchSparkCutEnable, {launchControlEnabled == 1}
|
||
field = "Initial Ignition Cut %", initialIgnitionCutPercent, {launchSparkCutEnable == 1}
|
||
field = "Final Ignition Cut % Before launch", finalIgnitionCutPercentBeforeLaunch, {launchSparkCutEnable == 1}
|
||
field = "Fuel Cut", launchFuelCutEnable, {launchControlEnabled == 1}
|
||
|
||
dialog = TorqueReductionButtonDialog, "Torque Reduction Button"
|
||
field = "Torque Reduction Button", torqueReductionTriggerPin
|
||
field = "Torque Reduction Inverted", torqueReductionTriggerPinInverted, {torqueReductionTriggerPin != 0}
|
||
field = "Torque Reduction Mode", torqueReductionTriggerPinMode, {torqueReductionTriggerPin != 0}
|
||
|
||
dialog = LaunchButtonDialog, "Launch Button"
|
||
field = "Launch Button", launchActivatePin
|
||
field = "Launch Button Inverted", launchActivateInverted, {launchActivatePin != 0}
|
||
field = "Launch Button Mode", launchActivatePinMode, {launchActivatePin != 0}
|
||
|
||
dialog = TorqueReductionActivationModeDialog, "Activation", yAxis
|
||
field = "Activation Mode", torqueReductionActivationMode
|
||
panel = TorqueReductionButtonDialog, {torqueReductionActivationMode == @@torqueReductionActivationMode_e_TORQUE_REDUCTION_BUTTON@@}
|
||
panel = LaunchButtonDialog, {torqueReductionActivationMode == @@torqueReductionActivationMode_e_LAUNCH_BUTTON@@}
|
||
|
||
dialog = TorqueReductionSettings, "Settings"
|
||
field = "Limit Torque Reduction Time", limitTorqueReductionTime
|
||
field = "Torque Reduction Time", torqueReductionTime, {limitTorqueReductionTime != 0}
|
||
field = "Torque Reduction Arming RPM", torqueReductionArmingRpm
|
||
field = "Torque Reduction Arming APP", torqueReductionArmingApp
|
||
field = "Torque Reduction Ignition Retard", torqueReductionIgnitionRetard
|
||
field = "Torque Reduction Ignition Cut", torqueReductionIgnitionCut
|
||
|
||
dialog = ShiftTorqueReductionSettingsDialog, "", yAxis
|
||
field = "Enable Shift Torque Reduction", torqueReductionEnabled
|
||
panel = TorqueReductionActivationModeDialog, {torqueReductionEnabled == 1}
|
||
panel = TorqueReductionSettings, {torqueReductionEnabled == 1 && ((torqueReductionActivationMode == @@torqueReductionActivationMode_e_TORQUE_REDUCTION_BUTTON@@ && torqueReductionTriggerPin != 0) || (torqueReductionActivationMode == @@torqueReductionActivationMode_e_LAUNCH_BUTTON@@ && launchActivatePin != 0))}
|
||
|
||
dialog = ShiftTorqueReductionDialog, "", border
|
||
panel = ShiftTorqueReductionSettingsDialog, West
|
||
panel = shift_torque_reduction_stateDialog, East
|
||
|
||
dialog = smLaunchControl, "", border
|
||
panel = smLaunchControlWest, West
|
||
panel = launch_control_stateDialog, East
|
||
|
||
dialog = antiLagDialog, "AntiLag Settings"
|
||
field = "Enable AntiLag", antiLagEnabled
|
||
field = "Activation Mode", antiLagActivationMode
|
||
field = "Switch Input", ALSActivatePin, {antiLagActivationMode == @@antiLagActivationMode_e_SWITCH_INPUT_ANTILAG@@ && antiLagEnabled == 1}
|
||
field = "ALS Button inverted", ALSActivateInverted, {antiLagActivationMode == @@antiLagActivationMode_e_SWITCH_INPUT_ANTILAG@@ && antiLagEnabled == 1}
|
||
field = "ALS Button mode", ALSActivatePinMode, {antiLagActivationMode == @@antiLagActivationMode_e_SWITCH_INPUT_ANTILAG@@ && antiLagEnabled == 1}
|
||
field = "ALS timeout", ALSMaxDuration, {antiLagEnabled == 1}
|
||
field = "Max TPS", ALSMaxTPS, {antiLagEnabled == 1}
|
||
field = "Min RPM", ALSMinRPM, {antiLagEnabled == 1}
|
||
field = "Max RPM", ALSMaxRPM, {antiLagEnabled == 1}
|
||
field = "Min CLT", ALSMinCLT, {antiLagEnabled == 1}
|
||
field = "Max CLT", ALSMaxCLT, {antiLagEnabled == 1}
|
||
field = "Idle Air Add", ALSIdleAdd, {antiLagEnabled == 1}
|
||
field = "ETB Air Add", ALSEtbAdd, {antiLagEnabled == 1}
|
||
panel = FuelAdderTableALS
|
||
panel = IgnRetardTableALS
|
||
panel = IgnSkipTableALS
|
||
|
||
|
||
dialog = coastingFuelCutControl, "Coasting Fuel Cutoff Settings"
|
||
field = "Enable Coasting Fuel Cutoff", coastingFuelCutEnabled
|
||
field = "No cut below CLT", coastingFuelCutClt, {coastingFuelCutEnabled == 1}
|
||
field = "RPM cut fuel above", coastingFuelCutRpmHigh, {coastingFuelCutEnabled == 1}
|
||
field = "RPM restore fuel below", coastingFuelCutRpmLow, {coastingFuelCutEnabled == 1}
|
||
field = "Vehicle speed cut above", coastingFuelCutVssHigh, {coastingFuelCutEnabled == 1}
|
||
field = "Vehicle speed restore below", coastingFuelCutVssLow, {coastingFuelCutEnabled == 1}
|
||
field = "Cut fuel below TPS", coastingFuelCutTps, {coastingFuelCutEnabled == 1}
|
||
field = "Cut fuel below MAP", coastingFuelCutMap, {coastingFuelCutEnabled == 1}
|
||
field = "Fuel cut delay", dfcoDelay, {coastingFuelCutEnabled == 1}
|
||
field = "Inhibit closed loop fuel after cut", noFuelTrimAfterDfcoTime, {coastingFuelCutEnabled == 1}
|
||
|
||
dialog = rotaryDialog, "Rotary"
|
||
field = "Enable Trailing Sparks", enableTrailingSparks
|
||
field = "Trailing Spark Offset", trailingSparkAngle
|
||
field = "Trailing Pin 1", trailingCoilPins1
|
||
field = "Trailing Pin 2", trailingCoilPins2
|
||
field = "Trailing Pin 3", trailingCoilPins3
|
||
field = "Trailing Pin 4", trailingCoilPins4
|
||
|
||
@@BOARD_OPTIONS_FROM_FILE@@
|
||
|
||
dialog = parkingLot2, "Experimental 2"
|
||
field = dacOutputPins1, dacOutputPins1
|
||
field = dacOutputPins2, dacOutputPins2
|
||
|
||
field = "luaCanRxWorkaround CAN performance hack", luaCanRxWorkaround
|
||
field = "Read RPM matching VSS profile", canInputBCM
|
||
field = auxSpeed1Multiplier, auxSpeed1Multiplier
|
||
field = magicNumberAvailableForDevTricks, magicNumberAvailableForDevTricks
|
||
field = brakeMeanEffectivePressureDifferential, brakeMeanEffectivePressureDifferential
|
||
|
||
dialog = parkingLot3, "Experimental 3"
|
||
field = triggerEventsTimeoutMs, triggerEventsTimeoutMs
|
||
field = devBit0, devBit0
|
||
field = devBit1, devBit1
|
||
field = devBit2, devBit2
|
||
field = devBit3, devBit3
|
||
field = devBit4, devBit4
|
||
field = devBit5, devBit5
|
||
field = devBit6, devBit6
|
||
field = devBit7, devBit7
|
||
|
||
|
||
dialog = mc33810Dialog, "MC33810 IGN/INJ driver"
|
||
field = "SPI settings"
|
||
field = "mc33810_cs", mc33810_cs1
|
||
field = "mc33810_csPinMode", mc33810_csPinMode
|
||
field = "Chip configuration"
|
||
field = "Nominal coil charge current (3..10.75)", mc33810Nomi
|
||
field = "Maximum coil charge current (6..21)", mc33810Maxi
|
||
field = "Maximum dwell (IGN pins mode only)", mc33810maxDwellTimer
|
||
field = "Disable auto recovery from OV/UV", mc33810DisableRecoveryMode
|
||
field = "Disable ING mode if you have no IGBT/MOSFETs on board and no feedback routed to IC"
|
||
field = "GD0 output disable IGN mode", mc33810Gpgd0Mode
|
||
field = "GD1 output disable IGN mode", mc33810Gpgd1Mode
|
||
field = "GD2 output disable IGN mode", mc33810Gpgd2Mode
|
||
field = "GD3 output disable IGN mode", mc33810Gpgd3Mode
|
||
commandButton = "Reinitialize", cmd_mc33810_init
|
||
|
||
indicatorPanel = acrActiveDiagPanel, 1, { 1 }
|
||
indicator = { acrActive }, "ACR off", "ACR on", white, black, green, black
|
||
|
||
dialog = harleyAcr, "Harley Automatic Compression Release"
|
||
field = "Pin", acrPin@@if_ts_show_acr_pins
|
||
field = "Pin 2", acrPin2@@if_ts_show_acr_pins
|
||
field = "Cut Fuel during ACR", cutFuelInAcr
|
||
field = "#ACR is disabled after the specified number"
|
||
field = "#of revolutions, plus degrees of engine phase"
|
||
field = "Disable after revolutions", acrRevolutions
|
||
field = "Disable after engine phase", acrDisablePhase
|
||
commandButton = "Test ACR #1", cmd_test_acr_valve
|
||
commandButton = "Test ACR #2", cmd_test_acr2_valve
|
||
panel = acrActiveDiagPanel
|
||
|
||
dialog = kLineDialog, "K Line"
|
||
field = kLineBaudRate, kLineBaudRate
|
||
field = verboseKLine, verboseKLine
|
||
field = hondaK, hondaK
|
||
field = kLineDoHondaSend, kLineDoHondaSend
|
||
field = kLinePeriodUs, kLinePeriodUs
|
||
|
||
dialog = parkingLot, "Experimental/Broken"
|
||
field = uiMode, uiMode
|
||
field = can1ListenMode, can1ListenMode
|
||
field = can2ListenMode, can2ListenMode
|
||
field = rethrowHardFault, rethrowHardFault
|
||
field = canGpioType, canGpioType
|
||
field = "I understand ECU Locking", yesUnderstandLocking
|
||
field = "! Use console for unlocking"
|
||
field = "Tune read/write password", tuneHidingKey, { yesUnderstandLocking == 1 }
|
||
field = verboseQuad, verboseQuad
|
||
; field = useEeprom, useEeprom
|
||
field = "#System hacks"
|
||
field = "vvtBooleanForVerySpecialCases", vvtBooleanForVerySpecialCases
|
||
field = watchOutForLinearTime, watchOutForLinearTime
|
||
field = "TS over CAN debug", verboseIsoTp
|
||
field = "showHumanReadableWarning (affects Burn)", showHumanReadableWarning
|
||
field = "Warning Message", warning_message
|
||
|
||
field = "consumeObdSensors", consumeObdSensors, { canReadEnabled == 1 && canWriteEnabled == 1}
|
||
field = "BRZ/FRS/GT86 pedal", allowIdenticalPps
|
||
field = "Artificial Misfire", artificialTestMisfire
|
||
field = "Always use instant RPM", alwaysInstantRpm
|
||
field = vinNumber, vinNumber
|
||
field = turbochargerFilter, turbochargerFilter
|
||
field = auxFrequencyFilter, auxFrequencyFilter
|
||
field = useBiQuadOnAuxSpeedSensors, useBiQuadOnAuxSpeedSensors
|
||
field = "TODO KS mode 4569", kickStartCranking
|
||
panel = allTriggerDebug
|
||
panel = torqueTableTbl
|
||
|
||
help = helpGeneral, "rusEFI General Help"
|
||
webHelp = @@MAIN_HELP_URL@@
|
||
text = "<img src='https://rusefi.com/style/logo_100.gif'>"
|
||
|
||
dialog = vrThreshold1, "VR 1 Threshold"
|
||
field = "Pin", vrThreshold1_pin@@if_ts_show_vr_threshold_pins
|
||
panel = vrThresholdCurve1
|
||
|
||
dialog = vrThreshold2, "VR 2 Threshold"
|
||
field = "Pin", vrThreshold2_pin@@if_ts_show_vr_threshold_pins
|
||
panel = vrThresholdCurve2
|
||
|
||
dialog = vrThreshold
|
||
topicHelp = "vrThresholdHelp"
|
||
panel = vrThreshold1
|
||
panel = vrThreshold2@@if_ts_show_vr_threshold_2
|
||
|
||
dialog = gppwm1left, ""
|
||
field = "Output", 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 = "X Axis", gppwm1_rpmAxis, {gppwm1_pin != 0}
|
||
field = "Y Axis", gppwm1_loadAxis, {gppwm1_pin != 0}
|
||
field = "Note", gpPwmNote1
|
||
field = ""
|
||
field = ""
|
||
field = ""
|
||
field = ""
|
||
field = ""
|
||
|
||
dialog = gppwm1, @@GPPWM_1_NAME@@, xAxis
|
||
panel = gppwm1left
|
||
panel = gppwm1Tbl, {gppwm1_pin != 0}
|
||
|
||
dialog = gppwm2left, ""
|
||
field = "Output", 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 = "X Axis", gppwm2_rpmAxis, {gppwm2_pin != 0}
|
||
field = "Y Axis", gppwm2_loadAxis, {gppwm2_pin != 0}
|
||
field = "Note", gpPwmNote2
|
||
field = ""
|
||
field = ""
|
||
field = ""
|
||
field = ""
|
||
field = ""
|
||
|
||
dialog = gppwm2, @@GPPWM_2_NAME@@, xAxis
|
||
panel = gppwm2left
|
||
panel = gppwm2Tbl, {gppwm2_pin != 0}
|
||
|
||
dialog = gppwm3left, ""
|
||
field = "Output", 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 = "X Axis", gppwm3_rpmAxis, {gppwm3_pin != 0}
|
||
field = "Y Axis", gppwm3_loadAxis, {gppwm3_pin != 0}
|
||
field = "Note", gpPwmNote3
|
||
field = ""
|
||
field = ""
|
||
field = ""
|
||
field = ""
|
||
field = ""
|
||
|
||
dialog = gppwm3, @@GPPWM_3_NAME@@, xAxis
|
||
panel = gppwm3left
|
||
panel = gppwm3Tbl, {gppwm3_pin != 0}
|
||
|
||
dialog = gppwm4left, ""
|
||
field = "Output", 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 = "X Axis", gppwm4_rpmAxis, {gppwm4_pin != 0}
|
||
field = "Y Axis", gppwm4_loadAxis, {gppwm4_pin != 0}
|
||
field = "Note", gpPwmNote4
|
||
field = ""
|
||
field = ""
|
||
field = ""
|
||
field = ""
|
||
field = ""
|
||
|
||
dialog = gppwm4, @@GPPWM_4_NAME@@, xAxis
|
||
panel = gppwm4left
|
||
panel = gppwm4Tbl, {gppwm4_pin != 0}
|
||
|
||
dialog = hpfpCamDialog, "HPFP Cam Configuration"
|
||
field = "Number of lobes", hpfpCamLobes
|
||
field = "If using VVT, which cam the pump is driven from", hpfpCam, {hpfpCamLobes != 0}
|
||
field = "Angle of first lobe peak", hpfpPeakPos, {hpfpCamLobes != 0}
|
||
panel = hpfpLobeProfileCurve, {hpfpCamLobes != 0}
|
||
|
||
dialog = hpfpPumpDialog, "HPFP Pump Configuration"
|
||
field = "Valve Pin", hpfpValvePin, {hpfpCamLobes != 0}
|
||
field = "Valve Pin Mode", hpfpValvePinMode, {hpfpCamLobes != 0}
|
||
commandButton = "HPFP Valve", cmd_test_hpfp_valve
|
||
field = "Valve peak current", mc33_hpfp_i_peak, {hpfpCamLobes != 0}
|
||
field = "Valve hold current", mc33_hpfp_i_hold, {hpfpCamLobes != 0}
|
||
field = "Valve hold off time", mc33_hpfp_i_hold_off, {hpfpCamLobes != 0}
|
||
field = "Valve maximum duration", mc33_hpfp_max_hold, {hpfpCamLobes != 0}
|
||
field = "Pump volume", hpfpPumpVolume, {hpfpCamLobes != 0}
|
||
field = "Minimum angle", hpfpMinAngle, {hpfpCamLobes != 0}
|
||
field = "Activation angle", hpfpActivationAngle, {hpfpCamLobes != 0}
|
||
field = "Target decay rate", hpfpTargetDecay, {hpfpCamLobes != 0}
|
||
field = "Proportional gain", hpfpPidP, {hpfpCamLobes != 0}
|
||
field = "Integral gain", hpfpPidI, {hpfpCamLobes != 0}
|
||
panel = hpfpDeadtimeCurve, {hpfpCamLobes != 0}
|
||
|
||
indicatorPanel = IgnitionDiagPanel, 1, { 1 }
|
||
indicator = { ignitorDiagnostic1 > 1 }, { Ignition out 1: bitStringValue(outputDiagErrorList, ignitorDiagnostic1 )}, { Ignition out 1: bitStringValue(outputDiagErrorList, ignitorDiagnostic1 )}, green, black, red, black
|
||
indicator = { ignitorDiagnostic2 > 1 }, { Ignition out 2: bitStringValue(outputDiagErrorList, ignitorDiagnostic2 )}, { Ignition out 2: bitStringValue(outputDiagErrorList, ignitorDiagnostic2 )}, green, black, red, black
|
||
indicator = { ignitorDiagnostic3 > 1 }, { Ignition out 3: bitStringValue(outputDiagErrorList, ignitorDiagnostic3 )}, { Ignition out 3: bitStringValue(outputDiagErrorList, ignitorDiagnostic3 )}, green, black, red, black@@if_ts_show_cylinder_3
|
||
indicator = { ignitorDiagnostic4 > 1 }, { Ignition out 4: bitStringValue(outputDiagErrorList, ignitorDiagnostic4 )}, { Ignition out 4: bitStringValue(outputDiagErrorList, ignitorDiagnostic4 )}, green, black, red, black@@if_ts_show_cylinder_4
|
||
indicator = { ignitorDiagnostic5 > 1 }, { Ignition out 5: bitStringValue(outputDiagErrorList, ignitorDiagnostic5 )}, { Ignition out 5: bitStringValue(outputDiagErrorList, ignitorDiagnostic5 )}, green, black, red, black@@if_ts_show_cylinder_5
|
||
indicator = { ignitorDiagnostic6 > 1 }, { Ignition out 6: bitStringValue(outputDiagErrorList, ignitorDiagnostic6 )}, { Ignition out 6: bitStringValue(outputDiagErrorList, ignitorDiagnostic6 )}, green, black, red, black@@if_ts_show_cylinder_6
|
||
indicator = { ignitorDiagnostic7 > 1 }, { Ignition out 7: bitStringValue(outputDiagErrorList, ignitorDiagnostic7 )}, { Ignition out 7: bitStringValue(outputDiagErrorList, ignitorDiagnostic7 )}, green, black, red, black@@if_ts_show_cylinder_7
|
||
indicator = { ignitorDiagnostic8 > 1 }, { Ignition out 8: bitStringValue(outputDiagErrorList, ignitorDiagnostic8 )}, { Ignition out 8: bitStringValue(outputDiagErrorList, ignitorDiagnostic8 )}, green, black, red, black@@if_ts_show_cylinder_8
|
||
indicator = { ignitorDiagnostic9 > 1 }, { Ignition out 9: bitStringValue(outputDiagErrorList, ignitorDiagnostic9 )}, { Ignition out 9: bitStringValue(outputDiagErrorList, ignitorDiagnostic9 )}, green, black, red, black@@if_ts_show_cylinder_9
|
||
indicator = { ignitorDiagnostic10 > 1 }, {Ignition out 10: bitStringValue(outputDiagErrorList, ignitorDiagnostic10)}, {Ignition out 10: bitStringValue(outputDiagErrorList, ignitorDiagnostic10)}, green, black, red, black@@if_ts_show_cylinder_10
|
||
indicator = { ignitorDiagnostic11 > 1 }, {Ignition out 11: bitStringValue(outputDiagErrorList, ignitorDiagnostic11)}, {Ignition out 11: bitStringValue(outputDiagErrorList, ignitorDiagnostic11)}, green, black, red, black@@if_ts_show_cylinder_11
|
||
indicator = { ignitorDiagnostic12 > 1 }, {Ignition out 12: bitStringValue(outputDiagErrorList, ignitorDiagnostic12)}, {Ignition out 12: bitStringValue(outputDiagErrorList, ignitorDiagnostic12)}, green, black, red, black@@if_ts_show_cylinder_12
|
||
@@BOARD_DIAG_PANEL1_FROM_FILE@@
|
||
|
||
indicatorPanel = InjectionDiagPanel, 1, { 1 }
|
||
indicator = { injectorDiagnostic1 > 1 }, { Injector out 1: bitStringValue(outputDiagErrorList, injectorDiagnostic1 )}, { Injector out 1: bitStringValue(outputDiagErrorList, injectorDiagnostic1 )}, green, black, red, black
|
||
indicator = { injectorDiagnostic2 > 1 }, { Injector out 2: bitStringValue(outputDiagErrorList, injectorDiagnostic2 )}, { Injector out 2: bitStringValue(outputDiagErrorList, injectorDiagnostic2 )}, green, black, red, black
|
||
indicator = { injectorDiagnostic3 > 1 }, { Injector out 3: bitStringValue(outputDiagErrorList, injectorDiagnostic3 )}, { Injector out 3: bitStringValue(outputDiagErrorList, injectorDiagnostic3 )}, green, black, red, black@@if_ts_show_cylinder_3
|
||
indicator = { injectorDiagnostic4 > 1 }, { Injector out 4: bitStringValue(outputDiagErrorList, injectorDiagnostic4 )}, { Injector out 4: bitStringValue(outputDiagErrorList, injectorDiagnostic4 )}, green, black, red, black@@if_ts_show_cylinder_4
|
||
indicator = { injectorDiagnostic5 > 1 }, { Injector out 5: bitStringValue(outputDiagErrorList, injectorDiagnostic5 )}, { Injector out 5: bitStringValue(outputDiagErrorList, injectorDiagnostic5 )}, green, black, red, black@@if_ts_show_cylinder_5
|
||
indicator = { injectorDiagnostic6 > 1 }, { Injector out 6: bitStringValue(outputDiagErrorList, injectorDiagnostic6 )}, { Injector out 6: bitStringValue(outputDiagErrorList, injectorDiagnostic6 )}, green, black, red, black@@if_ts_show_cylinder_6
|
||
indicator = { injectorDiagnostic7 > 1 }, { Injector out 7: bitStringValue(outputDiagErrorList, injectorDiagnostic7 )}, { Injector out 7: bitStringValue(outputDiagErrorList, injectorDiagnostic7 )}, green, black, red, black@@if_ts_show_cylinder_7
|
||
indicator = { injectorDiagnostic8 > 1 }, { Injector out 8: bitStringValue(outputDiagErrorList, injectorDiagnostic8 )}, { Injector out 8: bitStringValue(outputDiagErrorList, injectorDiagnostic8 )}, green, black, red, black@@if_ts_show_cylinder_8
|
||
indicator = { injectorDiagnostic9 > 1 }, { Injector out 9: bitStringValue(outputDiagErrorList, injectorDiagnostic9 )}, { Injector out 9: bitStringValue(outputDiagErrorList, injectorDiagnostic9 )}, green, black, red, black@@if_ts_show_cylinder_9
|
||
indicator = { injectorDiagnostic10 > 1 }, {Injector out 10: bitStringValue(outputDiagErrorList, injectorDiagnostic10)}, {Injector out 10: bitStringValue(outputDiagErrorList, injectorDiagnostic10)}, green, black, red, black@@if_ts_show_cylinder_10
|
||
indicator = { injectorDiagnostic11 > 1 }, {Injector out 11: bitStringValue(outputDiagErrorList, injectorDiagnostic11)}, {Injector out 11: bitStringValue(outputDiagErrorList, injectorDiagnostic11)}, green, black, red, black@@if_ts_show_cylinder_11
|
||
indicator = { injectorDiagnostic12 > 1 }, {Injector out 12: bitStringValue(outputDiagErrorList, injectorDiagnostic12)}, {Injector out 12: bitStringValue(outputDiagErrorList, injectorDiagnostic12)}, green, black, red, black@@if_ts_show_cylinder_12
|
||
@@BOARD_DIAG_PANEL2_FROM_FILE@@
|
||
|
||
dialog = OutputDiagDialog, "Output diagnostic", xAxis
|
||
panel = IgnitionDiagPanel
|
||
panel = InjectionDiagPanel
|
||
|
||
[Tools]
|
||
;addTool = toolName, PanelName
|
||
addTool = veTableGenerator, "VE Table Generator", veTableTbl
|
||
#if LAMBDA
|
||
#else
|
||
addTool = afrTableGenerator, "AFR Table Generator", afrTableTbl
|
||
#endif
|