mirror of https://github.com/rusefi/wideband.git
215 lines
9.4 KiB
INI
215 lines
9.4 KiB
INI
; This is a TunerStudio project for the rusEFI.com engine management system
|
||
|
||
; this should stop TS from looking for the CAN ID in the 2nd byte location and allow the page reads to work correctly.
|
||
enable2ndByteCanID = false
|
||
|
||
[SettingGroups]
|
||
; the referenceName will over-ride previous, so if you are creating a
|
||
; settingGroup with a reference name of lambdaSensor, it will replace the
|
||
; setting group defined in the settingGroups.xml of the TunerStudio config
|
||
; folder. If is is an undefined referenceName, it will be added.
|
||
; keyword = referenceName, DisplayName
|
||
|
||
[MegaTune]
|
||
; https://rusefi.com/forum/viewtopic.php?p=36201#p36201
|
||
signature = "rusEFI 2023.05.10.wideband_f1"
|
||
|
||
[TunerStudio]
|
||
queryCommand = "S"
|
||
versionInfo = "V" ; firmware version for title bar.
|
||
signature = "rusEFI 2023.05.10.wideband_f1" ; 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
|
||
|
||
defaultRuntimeRecordPerSec = 50;
|
||
|
||
[Constants]
|
||
; new packet serial format with CRC
|
||
messageEnvelopeFormat = msEnvelope_1.0
|
||
|
||
endianness = little
|
||
nPages = 2
|
||
pageSize = 256, 64
|
||
pageIdentifier = "\x00\x00", "\x00\x01"
|
||
|
||
pageReadCommand = "R%2i%2o%2c", "R%2i%2o%2c"
|
||
burnCommand = "B%2i"
|
||
pageChunkWrite = "C%2i%2o%2c%v", "C%2i%2o%2c%v"
|
||
crc32CheckCommand = "k%2i%2o%2c", "k%2i%2o%2c"
|
||
retrieveConfigError = "e"
|
||
|
||
; communication settings
|
||
pageActivationDelay = 500 ; Milliseconds delay after burn command. See https://sourceforge.net/p/rusefi/tickets/77/
|
||
; e.g. put writeblocks off and add an interwrite delay
|
||
writeBlocks = on
|
||
interWriteDelay = 10
|
||
blockReadTimeout = 3000; Milliseconds general timeout
|
||
; delayAfterPortOpen = 500
|
||
blockingFactor = 256 ; 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
|
||
|
||
; CONFIG_DEFINITION_START
|
||
|
||
page = 1
|
||
|
||
; name = class, type, offset, [shape], units, scale, translate, min, max, digits
|
||
; First four bytes are used for internal tag. Should not be accessable from TS
|
||
LsuSensorType = bits, U08, 135, [0:2], "LSU 4.9", "LSU 4.2", "LSU ADV", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
|
||
|
||
page = 2 ; this is a RAM only page with no burnable flash
|
||
; name = class, type, offset, [shape], units, scale, translate, min, max, digits
|
||
highSpeedOffsets = array, U16, 0, [32], "", 1, 0, 0, 65535, 0, noMsqSave
|
||
|
||
[SettingContextHelp]
|
||
|
||
[Tuning]
|
||
|
||
[LoggerDefinition]
|
||
|
||
[OutputChannels]
|
||
; two zero bytes added after cmd byte to align with page read/write format
|
||
ochGetCommand = "O\x00\x00%2o%2c"
|
||
; see TS_OUTPUT_SIZE in console source code
|
||
ochBlockSize = 256
|
||
|
||
; 11.2.3 Full Optimized – High Speed
|
||
scatteredOchGetCommand = "9"
|
||
scatteredOffsetArray = highSpeedOffsets
|
||
scatteredGetEnabled = { 1 }
|
||
|
||
; Common
|
||
VBatt = scalar, F32, 0, "V", 1, 0
|
||
|
||
; AFR0
|
||
AFR0_lambda = scalar, F32, 32, "", 1, 0
|
||
AFR0_afr = scalar, F32, 32, "", 14.7, 0
|
||
AFR0_temp = scalar, U16, 36, "C", 0.1, 0
|
||
AFR0_NernstDc = scalar, U16, 40, "V", 0.001, 0
|
||
AFR0_NernstAc = scalar, U16, 42, "V", 0.001, 0
|
||
AFR0_PumpITarget = scalar, F32, 44, "mA", 1, 0
|
||
AFR0_PumpIMeasure = scalar, F32, 48, "mA", 1, 0
|
||
AFR0_HeaterDuty = scalar, U16, 52, "%", 0.1, 0
|
||
AFR0_HeaterEffV = scalar, U16, 54, "V", 0.01, 0
|
||
AFR0_esr = scalar, F32, 56, "ohms", 1, 0
|
||
AFR0_fault = scalar, U08, 60, "", 1, 0
|
||
AFR0_heater = scalar, U08, 61, "", 1, 0
|
||
|
||
[PcVariables]
|
||
; Keep in sync with Max31855State enum from max31855.h
|
||
EgtStatesList = bits, U08, [0:7], "Ok", "Open Circuit", "Short to GND", "Short to VCC", "No reply"
|
||
; Keep in sync with WBO::Fault from ../for_rusefi/wideband_can.h
|
||
AfrFaultList = bits, U08, [0:7], "Ok", "Unk", "Unk", "Failed to heat", "Overheat", "Underheat", "No supply"
|
||
; Keep in sync with HeaterState from heater_control.h
|
||
HeaterStatesList = bits, U08, [0:7], "Preheat", "Warmup", "Close loop", "Stopped", "No supply"
|
||
|
||
[TableEditor]
|
||
|
||
[GaugeConfigurations]
|
||
|
||
gaugeCategory = Common
|
||
; Name = Channel, Title, Units, Lo, Hi, LoD, LoW, HiW, HiD, vd, ld, Active
|
||
VBattGauge = VBatt, "Battery", "V", 3.0, 24.0, 9.0, 11.0, 15.0, 16.0, 1, 1
|
||
|
||
; AFR0
|
||
gaugeCategory = AFR channel 0
|
||
; Name = Channel, Title, Units, Lo, Hi, LoD, LoW, HiW, HiD, vd, ld, Active
|
||
AFR0_LambdaGauge = AFR0_lambda, "0: lambda", "", 0.5, 1.3, 0.5, 0.6, 1.05, 1.2, 3, 3
|
||
AFR0_AfrGauge = AFR0_afr, "0: AFR", "", 6.5, 20.0, 9.0, 10.0, 16.0, 17.0, 2, 2
|
||
AFR0_TempGauge = AFR0_temp, "0: AFR t", "C", 500, 1050, 500, 650, 800, 950, 0, 0
|
||
AFR0_NernstDcGauge = AFR0_NernstDc, "0: nernst DC", "V", 0.0, 1.0, 0.0, 0.0, 0.9, 0.95, 3, 3
|
||
AFR0_NernstAcGauge = AFR0_NernstAc, "0: nernst AC", "V", 0.0, 1.0, 0.0, 0.0, 0.9, 0.95, 3, 3
|
||
AFR0_HeaterDutyGauge = AFR0_HeaterDuty, "0: Heater Duty", "%", 0.0, 100.0, 1.0, 3.0, 90, 95, 1, 1
|
||
AFR0_HeaterEffVGauge = AFR0_HeaterEffV, "0: Heater Voltage", "V", 0.0, 18.0, 1.5, 6.0, 9, 16, 1, 1
|
||
AFR0_PumpITargetGauge = AFR0_PumpITarget, "0: Ipump Target", "mA", -5.0, 5.0, -4.0, -3.0, 3.0, 4.0, 2, 2
|
||
AFR0_PumpIMeasureGauge = AFR0_PumpIMeasure, "0: Ipump Actual", "mA", -5.0, 5.0, -4.0, -3.0, 3.0, 4.0, 2, 2
|
||
AFR0_EsrGauge = AFR0_esr, "0: ESR", "ohms", 0, 600, 200, 200, 350, 400, 0, 0
|
||
|
||
[FrontPage]
|
||
; Gauges are numbered left to right, top to bottom.
|
||
;
|
||
; 1 2 3 4
|
||
; 5 6 7 8
|
||
|
||
gauge1 = VBattGauge
|
||
gauge2 = AFR0_AfrGauge
|
||
gauge3 = AFR0_TempGauge
|
||
gauge4 = AFR0_HeaterDutyGauge
|
||
gauge5 = AFR0_NernstDcGauge
|
||
gauge6 = AFR0_PumpITargetGauge
|
||
gauge7 = AFR0_PumpIMeasureGauge
|
||
gauge8 = AFR0_EsrGauge
|
||
|
||
indicator = { AFR0_fault }, "AFR0 ok", { AFR0: bitStringValue(AfrFaultList, AFR0_fault)}, green, black, red, black
|
||
indicator = { (AFR0_heater != 2) }, "AFR0 Heater CL", { AFR0 heater: bitStringValue(HeaterStatesList, AFR0_heater)}, green, black, red, black
|
||
|
||
|
||
[KeyActions]
|
||
|
||
[Datalog]
|
||
; Channel Label Type Format
|
||
entry = time, "Time", float, "%.3f"
|
||
|
||
entry = VBatt, "Battery", float, "%.2f"
|
||
|
||
; AFR0
|
||
entry = AFR0_lambda, "0: Lambda", float, "%.3f"
|
||
entry = AFR0_afr, "0: AFR", float, "%.2f"
|
||
entry = AFR0_temp, "0: Temp C", int, "%d"
|
||
entry = AFR0_NernstDc, "0: Nernst DC", float, "%.3f"
|
||
entry = AFR0_NernstAc, "0: Nernst AC", float, "%.3f"
|
||
entry = AFR0_PumpITarget, "0: Ipump target", float, "%.2f"
|
||
entry = AFR0_PumpIMeasure, "0: Ipump actual", float, "%.2f"
|
||
entry = AFR0_HeaterDuty, "0: Heater duty", float, "%.1f"
|
||
entry = AFR0_HeaterEffV, "0: Heater voltage", float, "%.1f"
|
||
entry = AFR0_fault, "0: Fault code", int, "%d"
|
||
entry = AFR0_heater, "0: Heater status code", int, "%d"
|
||
entry = AFR0_esr, "0: ESR", float, "%.1f"
|
||
|
||
[Menu]
|
||
|
||
menuDialog = main
|
||
menu = "&Settings"
|
||
subMenu = sensor_settings, "Sensor settings"
|
||
subMenu = can_settings, "CAN settings"
|
||
|
||
[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.
|
||
|
||
; reboot ECU
|
||
cmd_reset_controller = "Z\x00\xbb\x00\x00"
|
||
; jump to DFU mode
|
||
cmd_dfu = "Z\x00\xba\x00\x00"
|
||
; restart to OpenBlt
|
||
cmd_openblt = "Z\x00\xbc\x00\x00"
|
||
|
||
[UserDefined]
|
||
|
||
dialog = sensor_settings, "Sensor Settings"
|
||
field = "Sensor Type", LsuSensorType
|
||
|
||
dialog = can_settings, "CAN Settings"
|
||
field = "CAN message ID offset", CanIndexOffset
|
||
|
||
dialog = ecuReset, "Reset"
|
||
commandButton = "Reset ECU", cmd_reset_controller
|
||
commandButton = "Reset to DFU", cmd_dfu
|
||
commandButton = "Reset to OpenBLT", cmd_openblt
|
||
|
||
dialog = ecuTools, "ECU tools and Commands", xAxis
|
||
panel = ecuReset
|
||
|
||
[Tools]
|