#unset INI_VERSION_2 ; this is set by TunerStudio, but needs to be unset for Megatune to work ;#unset SERIAL ; This is to use the serial port ;#unset SHOW_INDICATORS ; This is used to remove the indicators and speed up the frames rate ; WARNING: This means TunerStudio is not aware that a config error has occured and won't ; retrieve the error message [MegaTune] MTversion = 2.25 ; MegaTune itself; needs to match exec version. [TunerStudio] iniSpecVersion = 1.0 #if SERIAL versionInfo = "S" ; Put this in the title bar. queryCommand = "Q" ; Verify against signature. #else versionInfo = "r\$tsCanId\x0e\x00\x00\x00\x3c" ; Put this in the title bar. queryCommand = "r\$tsCanId\x0f\x00\x00\x00\x14" ; Verify against signature. #endif signature = "IOExtenderDispV106 " ; Can expander sends a null at 20th byte. ; 123456789.123456789. ;------------------------------------------------------------------------------- [PcVariables] tsCanId = bits, U08, [0:3], "CAN ID 0", "CAN ID 1", "CAN ID 2", "CAN ID 3", "CAN ID 4", "CAN ID 5", "CAN ID 6", "CAN ID 7", "CAN ID 8", "CAN ID 9", "CAN ID 10","CAN ID 11","CAN ID 12","CAN ID 13","CAN ID 14","INVALID" [Constants] pageActivationDelay = 10 ;Milliseconds delay after burn command. blockReadTimeout = 2000 ;Milliseconds total timeout for reading page. tsWriteBlocks = on interWriteDelay = 5 delayAfterPortOpen = 500 ;Delay after port is opended endianness = big nPages = 1 pageSize = 34 pageIdentifier = "\$tsCanId\x00" burnCommand = "b\$tsCanId\x00" pageReadCommand = "r\$tsCanId\x00%2o%2c" pageValueWrite = "w\$tsCanId\x00%2o%2c%v" ;retrieveConfigError = "r\$tsCanId\x07\x04\x00\x00\x7f" blockingFactor = 256 page = 1 ; name = class, type, offset, shape, units, scale, translate, lo, hi, digits CanID = scalar, U08, 0, "", 1, 0.00000, 0, 255, 0 ; * ( 1 byte) Display = bits, U08, 1, [0:0], "Disable", "Enable" ; * ( 1 byte) Lambda = bits, U08, 1, [1:1], "Afr", "Lambda" ; * Spare = bits, U08, 1, [2:2], "Disable", "Enable" ; * ReqData = bits, U08, 1, [3:3], "Disable", "Enable" ; * BroadData = bits, U08, 1, [4:4], "Disable", "Enable" ; * ShiftLight = bits, U08, 1, [5:5], "Disable", "Enable" ; * BarGraph = bits, U08, 1, [6:6], "Disable", "Enable" ; * CfgValid = bits, U08, 1, [7:7], "Invalid", "Valid" ; * ShiftLightOut1 = bits, U08, 2, [0:0], "Disable", "Enable" ; * ( 1 byte) ShiftLightOut2 = bits, U08, 2, [1:1], "Disable", "Enable" ; * AnalogOut = bits, U08, 2, [2:2], "Disable", "Enable" ; * FShiftLightOut1 = bits, U08, 2, [3:3], "Disable", "Enable" ; * FShiftLightOut2 = bits, U08, 2, [4:4], "Disable", "Enable" ; * EgtFull = bits, U08, 2, [5:5], "Disable", "Enable" ; * Bl49 = bits, U08, 2, [6:6], "Disable", "Enable" ; * Spare07 = bits, U08, 2, [7:7], "Disable", "Enable" ; * Spare10 = bits, U08, 3, [0:0], "Disable", "Enable" ; * ( 1 byte) Spare11 = bits, U08, 3, [1:1], "Disable", "Enable" ; * Spare12 = bits, U08, 3, [2:2], "Disable", "Enable" ; * Spare13 = bits, U08, 3, [3:3], "Disable", "Enable" ; * Spare14 = bits, U08, 3, [4:4], "Disable", "Enable" ; * Spare15 = bits, U08, 3, [5:5], "Disable", "Enable" ; * Spare16 = bits, U08, 3, [6:6], "Disable", "Enable" ; * Spare17 = bits, U08, 3, [7:7], "Disable", "Enable" ; * MsType = bits, S08, 4, [0:1] "Invalid", "MS2", "MS3", "EMU" ; * ( 1 byte) DispStartPage = scalar, U08, 5, "", 1, 0.00000, 0, 6, 0 ; * ( 1 byte) DispBackLight = scalar, U08, 6, "", 1, 0.00000, 0, 1, 0 ; * ( 1 byte) DisplayPage1 = bits, U08, 7, [0:5], "Invalid", "RPM", "MAP", "TPS", "LAMBDA 1", "LAMBDA 2", "LAMBDA TARGET 1", "LAMBDA TARGET 2", "CLT", "MAT", "ADVANCE", "BATT", "AD6", "AD7", "EGT1", "EGT2", "EGT3", "EGT4", "EGT5", "EGT6", "EGT7", "EGT8", "WARMUP ENRICH", "BARO", "EGO1", "EGO2", "SENSOR1", "SENSOR2", "SENSOR3", "SENSOR4", "SENSOR5", "MAF", "OILTEMP", "OILPRE", "FUELP", "EG6", "EG7"; * ( 1 byte) DisplayPage2 = bits, U08, 8, [0:5], "Invalid", "RPM", "MAP", "TPS", "LAMBDA 1", "LAMBDA 2", "LAMBDA TARGET 1", "LAMBDA TARGET 2", "CLT", "MAT", "ADVANCE", "BATT", "AD6", "AD7", "EGT1", "EGT2", "EGT3", "EGT4", "EGT5", "EGT6", "EGT7", "EGT8", "WARMUP ENRICH", "BARO", "EGO1", "EGO2", "SENSOR1", "SENSOR2", "SENSOR3", "SENSOR4", "SENSOR5", "MAF", "OILTEMP", "OILPRE", "FUELP", "EG6", "EG7"; * ( 1 byte) DisplayPage3 = bits, U08, 9, [0:5], "Invalid", "RPM", "MAP", "TPS", "LAMBDA 1", "LAMBDA 2", "LAMBDA TARGET 1", "LAMBDA TARGET 2", "CLT", "MAT", "ADVANCE", "BATT", "AD6", "AD7", "EGT1", "EGT2", "EGT3", "EGT4", "EGT5", "EGT6", "EGT7", "EGT8", "WARMUP ENRICH", "BARO", "EGO1", "EGO2", "SENSOR1", "SENSOR2", "SENSOR3", "SENSOR4", "SENSOR5", "MAF", "OILTEMP", "OILPRE", "FUELP", "EG6", "EG7"; * ( 1 byte) DisplayPage4 = bits, U08, 10, [0:5], "Invalid", "RPM", "MAP", "TPS", "LAMBDA 1", "LAMBDA 2", "LAMBDA TARGET 1", "LAMBDA TARGET 2", "CLT", "MAT", "ADVANCE", "BATT", "AD6", "AD7", "EGT1", "EGT2", "EGT3", "EGT4", "EGT5", "EGT6", "EGT7", "EGT8", "WARMUP ENRICH", "BARO", "EGO1", "EGO2", "SENSOR1", "SENSOR2", "SENSOR3", "SENSOR4", "SENSOR5", "MAF", "OILTEMP", "OILPRE", "FUELP", "EG6", "EG7"; * ( 1 byte) DisplayPage5 = bits, U08, 11, [0:5], "Invalid", "RPM", "MAP", "TPS", "LAMBDA 1", "LAMBDA 2", "LAMBDA TARGET 1", "LAMBDA TARGET 2", "CLT", "MAT", "ADVANCE", "BATT", "AD6", "AD7", "EGT1", "EGT2", "EGT3", "EGT4", "EGT5", "EGT6", "EGT7", "EGT8", "WARMUP ENRICH", "BARO", "EGO1", "EGO2", "SENSOR1", "SENSOR2", "SENSOR3", "SENSOR4", "SENSOR5", "MAF", "OILTEMP", "OILPRE", "FUELP", "EG6", "EG7"; * ( 1 byte) DisplayPage6 = bits, U08, 12, [0:5], "Invalid", "RPM", "MAP", "TPS", "LAMBDA 1", "LAMBDA 2", "LAMBDA TARGET 1", "LAMBDA TARGET 2", "CLT", "MAT", "ADVANCE", "BATT", "AD6", "AD7", "EGT1", "EGT2", "EGT3", "EGT4", "EGT5", "EGT6", "EGT7", "EGT8", "WARMUP ENRICH", "BARO", "EGO1", "EGO2", "SENSOR1", "SENSOR2", "SENSOR3", "SENSOR4", "SENSOR5", "MAF", "OILTEMP", "OILPRE", "FUELP", "EG6", "EG7"; * ( 1 byte) DisplayPage7 = bits, U08, 13, [0:5], "Invalid", "RPM", "MAP", "TPS", "LAMBDA 1", "LAMBDA 2", "LAMBDA TARGET 1", "LAMBDA TARGET 2", "CLT", "MAT", "ADVANCE", "BATT", "AD6", "AD7", "EGT1", "EGT2", "EGT3", "EGT4", "EGT5", "EGT6", "EGT7", "EGT8", "WARMUP ENRICH", "BARO", "EGO1", "EGO2", "SENSOR1", "SENSOR2", "SENSOR3", "SENSOR4", "SENSOR5", "MAF", "OILTEMP", "OILPRE", "FUELP", "EG6", "EG7"; * ( 1 byte) DisplayPage8 = bits, U08, 14, [0:5], "Invalid", "RPM", "MAP", "TPS", "LAMBDA 1", "LAMBDA 2", "LAMBDA TARGET 1", "LAMBDA TARGET 2", "CLT", "MAT", "ADVANCE", "BATT", "AD6", "AD7", "EGT1", "EGT2", "EGT3", "EGT4", "EGT5", "EGT6", "EGT7", "EGT8", "WARMUP ENRICH", "BARO", "EGO1", "EGO2", "SENSOR1", "SENSOR2", "SENSOR3", "SENSOR4", "SENSOR5", "MAF", "OILTEMP", "OILPRE", "FUELP", "EG6", "EG7"; * ( 1 byte) DisplayPage9 = bits, U08, 15, [0:5], "Invalid", "RPM", "MAP", "TPS", "LAMBDA 1", "LAMBDA 2", "LAMBDA TARGET 1", "LAMBDA TARGET 2", "CLT", "MAT", "ADVANCE", "BATT", "AD6", "AD7", "EGT1", "EGT2", "EGT3", "EGT4", "EGT5", "EGT6", "EGT7", "EGT8", "WARMUP ENRICH", "BARO", "EGO1", "EGO2", "SENSOR1", "SENSOR2", "SENSOR3", "SENSOR4", "SENSOR5", "MAF", "OILTEMP", "OILPRE", "FUELP", "EG6", "EG7"; * ( 1 byte) DisplayPage10 = bits, U08, 16, [0:5], "Invalid", "RPM", "MAP", "TPS", "LAMBDA 1", "LAMBDA 2", "LAMBDA TARGET 1", "LAMBDA TARGET 2", "CLT", "MAT", "ADVANCE", "BATT", "AD6", "AD7", "EGT1", "EGT2", "EGT3", "EGT4", "EGT5", "EGT6", "EGT7", "EGT8", "WARMUP ENRICH", "BARO", "EGO1", "EGO2", "SENSOR1", "SENSOR2", "SENSOR3", "SENSOR4", "SENSOR5", "MAF", "OILTEMP", "OILPRE", "FUELP", "EG6", "EG7"; * ( 1 byte) DisplayPage11 = bits, U08, 17, [0:5], "Invalid", "RPM", "MAP", "TPS", "LAMBDA 1", "LAMBDA 2", "LAMBDA TARGET 1", "LAMBDA TARGET 2", "CLT", "MAT", "ADVANCE", "BATT", "AD6", "AD7", "EGT1", "EGT2", "EGT3", "EGT4", "EGT5", "EGT6", "EGT7", "EGT8", "WARMUP ENRICH", "BARO", "EGO1", "EGO2", "SENSOR1", "SENSOR2", "SENSOR3", "SENSOR4", "SENSOR5", "MAF", "OILTEMP", "OILPRE", "FUELP", "EG6", "EG7"; * ( 1 byte) DisplayPage12 = bits, U08, 18, [0:5], "Invalid", "RPM", "MAP", "TPS", "LAMBDA 1", "LAMBDA 2", "LAMBDA TARGET 1", "LAMBDA TARGET 2", "CLT", "MAT", "ADVANCE", "BATT", "AD6", "AD7", "EGT1", "EGT2", "EGT3", "EGT4", "EGT5", "EGT6", "EGT7", "EGT8", "WARMUP ENRICH", "BARO", "EGO1", "EGO2", "SENSOR1", "SENSOR2", "SENSOR3", "SENSOR4", "SENSOR5", "MAF", "OILTEMP", "OILPRE", "FUELP", "EG6", "EG7"; * ( 1 byte) DisplayPage13 = bits, U08, 19, [0:5], "Invalid", "RPM", "MAP", "TPS", "LAMBDA 1", "LAMBDA 2", "LAMBDA TARGET 1", "LAMBDA TARGET 2", "CLT", "MAT", "ADVANCE", "BATT", "AD6", "AD7", "EGT1", "EGT2", "EGT3", "EGT4", "EGT5", "EGT6", "EGT7", "EGT8", "WARMUP ENRICH", "BARO", "EGO1", "EGO2", "SENSOR1", "SENSOR2", "SENSOR3", "SENSOR4", "SENSOR5", "MAF", "OILTEMP", "OILPRE", "FUELP", "EG6", "EG7"; * ( 1 byte) DisplayPage14 = bits, U08, 20, [0:5], "Invalid", "RPM", "MAP", "TPS", "LAMBDA 1", "LAMBDA 2", "LAMBDA TARGET 1", "LAMBDA TARGET 2", "CLT", "MAT", "ADVANCE", "BATT", "AD6", "AD7", "EGT1", "EGT2", "EGT3", "EGT4", "EGT5", "EGT6", "EGT7", "EGT8", "WARMUP ENRICH", "BARO", "EGO1", "EGO2", "SENSOR1", "SENSOR2", "SENSOR3", "SENSOR4", "SENSOR5", "MAF", "OILTEMP", "OILPRE", "FUELP", "EG6", "EG7"; * ( 1 byte) DisplayPage15 = bits, U08, 21, [0:5], "Invalid", "RPM", "MAP", "TPS", "LAMBDA 1", "LAMBDA 2", "LAMBDA TARGET 1", "LAMBDA TARGET 2", "CLT", "MAT", "ADVANCE", "BATT", "AD6", "AD7", "EGT1", "EGT2", "EGT3", "EGT4", "EGT5", "EGT6", "EGT7", "EGT8", "WARMUP ENRICH", "BARO", "EGO1", "EGO2", "SENSOR1", "SENSOR2", "SENSOR3", "SENSOR4", "SENSOR5", "MAF", "OILTEMP", "OILPRE", "FUELP", "EG6", "EG7"; * ( 1 byte) DisplayPage16 = bits, U08, 22, [0:5], "Invalid", "RPM", "MAP", "TPS", "LAMBDA 1", "LAMBDA 2", "LAMBDA TARGET 1", "LAMBDA TARGET 2", "CLT", "MAT", "ADVANCE", "BATT", "AD6", "AD7", "EGT1", "EGT2", "EGT3", "EGT4", "EGT5", "EGT6", "EGT7", "EGT8", "WARMUP ENRICH", "BARO", "EGO1", "EGO2", "SENSOR1", "SENSOR2", "SENSOR3", "SENSOR4", "SENSOR5", "MAF", "OILTEMP", "OILPRE", "FUELP", "EG6", "EG7"; * ( 1 byte) DisplayPage17 = bits, U08, 23, [0:5], "Invalid", "RPM", "MAP", "TPS", "LAMBDA 1", "LAMBDA 2", "LAMBDA TARGET 1", "LAMBDA TARGET 2", "CLT", "MAT", "ADVANCE", "BATT", "AD6", "AD7", "EGT1", "EGT2", "EGT3", "EGT4", "EGT5", "EGT6", "EGT7", "EGT8", "WARMUP ENRICH", "BARO", "EGO1", "EGO2", "SENSOR1", "SENSOR2", "SENSOR3", "SENSOR4", "SENSOR5", "MAF", "OILTEMP", "OILPRE", "FUELP", "EG6", "EG7"; * ( 1 byte) DisplayPage18 = bits, U08, 24, [0:5], "Invalid", "RPM", "MAP", "TPS", "LAMBDA 1", "LAMBDA 2", "LAMBDA TARGET 1", "LAMBDA TARGET 2", "CLT", "MAT", "ADVANCE", "BATT", "AD6", "AD7", "EGT1", "EGT2", "EGT3", "EGT4", "EGT5", "EGT6", "EGT7", "EGT8", "WARMUP ENRICH", "BARO", "EGO1", "EGO2", "SENSOR1", "SENSOR2", "SENSOR3", "SENSOR4", "SENSOR5", "MAF", "OILTEMP", "OILPRE", "FUELP", "EG6", "EG7"; * ( 1 byte) DisplayPage19 = bits, U08, 25, [0:5], "Invalid", "RPM", "MAP", "TPS", "LAMBDA 1", "LAMBDA 2", "LAMBDA TARGET 1", "LAMBDA TARGET 2", "CLT", "MAT", "ADVANCE", "BATT", "AD6", "AD7", "EGT1", "EGT2", "EGT3", "EGT4", "EGT5", "EGT6", "EGT7", "EGT8", "WARMUP ENRICH", "BARO", "EGO1", "EGO2", "SENSOR1", "SENSOR2", "SENSOR3", "SENSOR4", "SENSOR5", "MAF", "OILTEMP", "OILPRE", "FUELP", "EG6", "EG7"; * ( 1 byte) DisplayPage20 = bits, U08, 26, [0:5], "Invalid", "RPM", "MAP", "TPS", "LAMBDA 1", "LAMBDA 2", "LAMBDA TARGET 1", "LAMBDA TARGET 2", "CLT", "MAT", "ADVANCE", "BATT", "AD6", "AD7", "EGT1", "EGT2", "EGT3", "EGT4", "EGT5", "EGT6", "EGT7", "EGT8", "WARMUP ENRICH", "BARO", "EGO1", "EGO2", "SENSOR1", "SENSOR2", "SENSOR3", "SENSOR4", "SENSOR5", "MAF", "OILTEMP", "OILPRE", "FUELP", "EG6", "EG7"; * ( 1 byte) ShiftRpm = scalar, U08, 27, "Rpm", 1, 0.00000, 0, 200, 0 ; * ( 1 byte) Stoich = scalar, U08, 28, "", 0.1, 0.00000, 0, 255, 1 ; * ( 1 byte) AnalogOutValue = bits, U08, 29, [0:5], "Invalid", "RPM", "MAP", "TPS", "LAMBDA 1", "LAMBDA 2", "LAMBDA TARGET 1", "LAMBDA TARGET 2", "CLT", "MAT", "ADVANCE", "BATT", "AD6", "AD7", "EGT1", "EGT2", "EGT3", "EGT4", "EGT5", "EGT6", "EGT7", "EGT8", "SENSOR1", "SENSOR2", "SENSOR3", "SENSOR4", "SENSOR5", "SENSOR6", "OILTEMP", "OILPRE", "FUELP", "BARO", "EG6", "EG7"; * ( 1 byte) AnalogOutFromMin = scalar, S16, 30, "", 1, 0.00000,-32000,32000, 0 ; * ( 2 byte) AnalogOutFromMax = scalar, S16, 32, "", 1, 0.00000,-32000,32000, 0 ; * ( 2 byte) ;------------------------------------------------------------------------------- [ConstantsExtensions] defaultValue = tsCanId, "CAN ID 13" ;------------------------------------------------------------------------------- [SettingContextHelp] CanID = "CAN BUS ID of the Expander Module, ID is for megasquirt style CAN BUS comminucation" tsCanId = "Id which TS will use to talk to the canbus display module" BroadData = "Broadcast the internal data from the CAN BUS BOARD to the CAN BUS" ReqData = "Request data from the MS for the display" Display = "Display on/off" Lambda = "What to display lambda or afr" Stoich = "This is the air fuel ratio" MsType = "Type off the MS which the CAN BUS BOARD is talking with" DispStartPage = "The display page which will be displayed after the startup screen" DispBackLight = "Display backlight on/off" BarGraph = "Rpm bar graph enabled" ShiftLight = "Shift Light on/off" ShiftRpm = "If shift light is enabled and the actual rpm is higher than this value, the backlight will flash (Shift RPM = this value *64)" ShiftLightOut1 = "The shift light function is also active at output 1" ShiftLightOut2 = "The shift light function is also active at output 2" AnalogOut = "Analog output is active" AnalogOutValue = "Which value will be used as source for the analog output" AnalogOutFromMin = "Analog output value mapping from min" AnalogOutFromMax = "Analog output value mapping from max" FShiftLightOut1 = "Flash shiftlight" FShiftLightOut2 = "Flash shiftlight" EgtFull = "Egt full range" Bl49 = "Display for BL49 lambda controller" ;------------------------------------------------------------------------------- [Menu] menuDialog = main menu = "DISPLAY Board Setup" subMenu = base_settings, "BASIC settings" subMenu = display_settings, "Display settings", 0, { Display } subMenu = output_settings, "Output settings" ;------------------------------------------------------------------------------- [UserDefined] dialog = base_settings, "Basic settings" field = "Enable features" field = "Canbus ID", CanID field = "Ts Canbus ID", tsCanId field = "Broadcast Data", BroadData field = "Request Data from MS", ReqData field = "Display", Display field = "Lambda or Afr", Lambda field = "Stoich", Stoich field = "Megasquirt Type", MsType field = "BL49 interface", Bl49 ;field = "Config valid", CfgValid ;field = "!Power cycle after a change" dialog = display_settings, "Display settings" field = "Page 1 Field 1", DisplayPage1 field = "Page 1 Field 2", DisplayPage2 field = "Page 1 Field 3", DisplayPage3 field = "Page 1 Field 4", DisplayPage4 field = "Page 2 Field 1", DisplayPage5 field = "Page 2 Field 2", DisplayPage6 field = "Page 2 Field 3", DisplayPage7 field = "Page 2 Field 4", DisplayPage8 field = "Page 3 Field 1", DisplayPage9 field = "Page 3 Field 2", DisplayPage10 field = "Page 3 Field 3", DisplayPage11 field = "Page 3 Field 4", DisplayPage12 field = "Page 4 Field 1", DisplayPage13 field = "Page 4 Field 2", DisplayPage14 field = "Page 4 Field 3", DisplayPage15 field = "Page 4 Field 4", DisplayPage16 field = "Page 5 Field 1", DisplayPage17 field = "Page 5 Field 2", DisplayPage18 field = "Page 5 Field 3", DisplayPage19 field = "Page 5 Field 4", DisplayPage20 field = "Egt Full Range", EgtFull field = "Start Page", DispStartPage field = "Backlight", DispBackLight field = "Bar Graph", BarGraph field = "Shift Light", ShiftLight field = "Shift Rpm", ShiftRpm,{ ShiftLight } dialog = output_settings, "Output settings" field = "Shift Light at Output 1", ShiftLightOut1 field = "Shift Light at Output 2", ShiftLightOut2 field = "Flash Shift Light at Output 1", FShiftLightOut1 field = "Flash Shift Light at Output 2", FShiftLightOut2 field = "Analog Output", AnalogOut field = "Value for Analog Output", AnalogOutValue,{ AnalogOut } field = "From min for Analog Output", AnalogOutFromMin,{ AnalogOut } field = "From max for Analog Output", AnalogOutFromMax,{ AnalogOut } ;-------------------------------------------------------------------------------