; 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 2022.05.29.wideband_rev2" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. signature = "rusEFI 2022.05.29.wideband_rev2" ; 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; maxUnusedRuntimeRange = 1000; ; Set default IP/port to our IP/port defaultIpAddress = 192.168.10.1; defaultIpPort = 29000; [Constants] ; new packet serial format with CRC messageEnvelopeFormat = msEnvelope_1.0 endianness = little nPages = 1 pageIdentifier = "\x00\x00" pageReadCommand = "R%2o%2c" burnCommand = "B" pageActivate = "P" pageValueWrite = "W%2o%v" pageChunkWrite = "C%2o%2c%v" crc32CheckCommand = "k%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 pageSize = 128 page = 1 test = scalar, U08, 6, "test", 50.0, 0, 0, 20000, 2 ; total TS size = 1 [SettingContextHelp] ; SettingContextHelpEnd [LoggerDefinition] ; valid logger types: composite, tooth, trigger, csv ; loggerDef = compositeLogger, "Primary Trigger Logger", tooth loggerDef = compositeLogger, "Trigger Logger", composite startCommand = "l\x01" stopCommand = "l\x02" dataReadCommand = "L" dataReadTimeout = 10000 ; time in ms dataReadyCondition = { toothLogReady } continuousRead = true ; each packet is 5 and we have 500 of those dataLength = 1250 ; recordDef = headerLen, footerLen, recordLen recordDef = 0, 0, 5 ; 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) } ; ; in order to add new TunerStudio gauge you need to chagne two places ; 1) add a line here in '[OutputChannels]' ; 2) in rusEFI firmware make a change to output_channels.txt [OutputChannels] ochGetCommand = "O%2o%2c" ; see TS_OUTPUT_SIZE in console source code ochBlockSize = 1016 ; Common TestValue = scalar, U32, 0, "na", 1, 0, 0, 65535, 0 VBatt = scalar, F32, 4, "V", 1, 0, 0.0, 30.0, 2 ; AFR AFRin = scalar, F32, 32, "", 14.7, 0, 0.0, 20.0, 2 AFRtemp = scalar, F32, 36, "C", 1, 0, 0.0, 1050.0, 0 Nernst = scalar, F32, 40, "V", 1, 0, 0.0, 1.0, 2 PumpITarget = scalar, F32, 44, "mA", 1, 0, -5.0, 5.0, 2 PumpIMeasure = scalar, F32, 48, "mA", 1, 0, -5.0, 5.0, 2 HeaterDuty = scalar, F32, 52, "%", 100, 0, 0.0, 100.0, 0 seconds = scalar, U32, 124, "sec", 1, 0 [PcVariables] [TableEditor] [GaugeConfigurations] gaugeCategory = Test ; Name = Channel, Title, Units, Lo, Hi, LoD, LoW, HiW, HiD, vd, ld, Active TestGauge = TestValue, "TestValue", "", -10000.0, 10000.0, -10000.0, 10000.0, -10000.0, 10000.0, 3, 3 ; 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, 2, 2 AFRGauge = AFRin, "AFR", "", 6.5, 20.0, 9.0, 10.0, 16.0, 17.0, 2, 2 AFRTempGauge = AFRtemp, "AFR t", "C", 500, 1050, 500, 650, 800, 950, 2, 2 NernstGauge = Nernst, "nernst", "V", 0.0, 1.0, 0.0, 0.0, 0.9, 0.95, 2, 2 HeaterDutyGauge = HeaterDuty, "Heater", "%", 0.0, 100.0, 1.0, 3.0, 90, 95, 2, 2 PumpITargetGauge = PumpITarget, "Ipump Target", "mA", -5.0, 5.0, -4.0, -3.0, 3.0, 4.0, 2, 2 PumpIMeasureGauge = PumpIMeasure, "Ipump Actual", "mA", -5.0, 5.0, -4.0, -3.0, 3.0, 4.0, 2, 2 [FrontPage] ; Gauges are numbered left to right, top to bottom. ; ; 1 2 3 4 ; 5 6 7 8 gauge1 = VBattGauge gauge2 = AFRGauge gauge3 = AFRTempGauge gauge4 = HeaterDutyGauge gauge5 = NernstGauge gauge6 = PumpITargetGauge gauge7 = PumpIMeasureGauge gauge8 = TestGauge [KeyActions] [Datalog] ; Channel Label Type Format entry = time, "Time", float, "%.3f" entry = TestValue, "TestValue", int, "%d" [Menu] menuDialog = main menu = "&Base &Engine" menu = "Fuel" menu = "Ignition" menu = "&Cranking" menu = "&Idle" menu = "&View" menu = "&Advanced" menu = "&Sensors" [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" [UserDefined] [Tools]