; This INI and associated code is for test purposes only. Neither it nor the code are fully tested, ; and they should be only be used in a vehicle with great caution." ; INI date: 12:35 am, Sept. 03, 2014 ;------------------------------------------------------------------------------ ; Units - "unset" to change to metric units in TunerStudioMS (to match values returned ; from MShift/GPIO controller when metric units are chosen). #unset CELSIUS #unset SI_LENGTHS ; otherwise METRIC units are used ;------------------------------------------------------------------------------ #unset CAN_COMMANDS #unset COMMS_382X #set GEARTABLEMAP #set PCTABLEMAP [MegaTune] MTversion = 2.25 ; MegaTune itself; needs to match exec version. #if CAN_COMMANDS queryCommand = "r\x01\x0f\x00\x00\x00\x14" ; 13 bytes from table 15. Verify against signature. #else queryCommand = "Q" ; Verify against signature. #endif versionInfo = "S" ; Put this in the title bar. signature = "MShift 4.146 " ; MegaShift sends a null at 20th byte. ; 123456789.123456789. #if COMMS_382X tsWriteBlocks = on messageEnvelopeFormat = msEnvelope_1.0 sendTablesWithoutEnvelope = true ; #endif # set LOAD_KPA ;------------------------------------------------------------------------------- [Constants] ;---------------------------------------------------------------------------- ; Constants Definition ; -------------------- ; ; Scalar Values ; ------------- ; The scaling and translation values are used as follows: ; msValue = userValue / scale - translate ; userValue = (msValue + translate) * scale ; ; ; Array Values ; ------------ ; Arrays are specified just like scalars, except that they have a "shape" ; entry in the fourth parameter. The shape allows you to define lists or ; tables, for example [8] defines a list with eight values and [2x4] defines ; a table with eight values (two rows and four columns). Tables may be ; stored in either "X-" or "Y-order." X-order means that memory is laid ; out as follows. ; ; [x1,y1] [x2,y1]...[xn,y1] [x1,y2]... ; ; Y-order would be ; ; [x1,y1] [x1,y2]...[x1,yn] [x2,y1]... ; ; To use the TableEditor, you must define two lists and a table, and ; the lengths of the lists must correspond to the shape of the table. ; ; Bit Fields ; ---------- ; Bits are numbered 0-7, the rightmost being bit zero. The basic ; data word that stores bit fields must be unsigned. ; ; You need NOT supply the correct number of labels matching the ; number of bits you've specified (one bit requires 2 values, two ; bits requires 4 values and so on). If you neglect to supply enough ; labels, they will be synthesized using the sequence "1", "2" and so ; on based upon their position in the sequence (the cltType and matType ; will end up with identical lists). ; ;---------------------------------------------------------------------------- pageActivationDelay = 250 ; Milliseconds delay after burn command. blockReadTimeout = 180 ; Milliseconds total timeout for reading page. ; The commands sent to the GPIO are formatted "command\CAN_ID\table_ID" ; %2i is the id/table number - 2 bytes ; %2o is the table offset - 2 bytes ; %2c is the number of bytes to be read/written ; %v is the byte to be written endianness = big nPages = 2 pageSize = 1016, 384 ; page size must be divisible by 8 for TS CANbus pass-through compatibility pageIdentifier = "\x01\x04", "\x01\x05" burnCommand = "b%2i", "b%2i" pageReadCommand = "r%2i%2o%2c", "r%2i%2o%2c" pageValueWrite = "w%2i%2o%2c%v", "w%2i%2o%2c%v" pageChunkWrite = "w%2i%2o%2c%v", "w%2i%2o%2c%v" #if COMMS_382X crc32CheckCommand = "k%2i%2o%2c", "k%2i%2o%2c" #endif ; Example: from TS comm log ; Time: 0:33.314: SENT, 7 bytes ; x72 x01 x07 x00 x38 x00 x08 ; 'r', can_id=1, table=7 (outpc), offset 38h (56 decimal), send 8 bytes ; C Type Bits Range MegaTune INI Designation ; ------ ---- ----- ------------------------ ; - char (=signed char) 8 -128 to 127 S08 (one byte offset each) ; - unsigned char 8 0 to 255 U08 ; ............................................................................................... ; - int (=signed int) 16 -32768 to 32767 S16 (two byte offset each) ; (= short) ; - unsigned int 16 0 to 65535 U16 ; (=unsigned short int) ; ................................................................................................ ; - long (=signed long) 32 -2³¹ to 2³¹ - 1 S32 (four byte offset each) ; (=long int) ; - unsigned long 32 0 to 2³² - 1 U32 ; (=unsigned long int) ; ................................................................................................ ; note that variables are signed unless designated otherwise #if CAN_COMMANDS blockingFactor = 64 #endif ; For the most part, the parameters below have the same names as in the source code. ; This isn't required (since it is the actual memory addresses that are used), ; but it does help when trying to understand the source code. page = 1 ; **************************************** inpram ************************************************* ;name = class, type, offset, shape, units, scale, translate, lo, hi, decimal digits InputCaptureEdge = bits, U08, 0, [0:0], "Rising Edge", "Falling Edge" #if SI_LENGTHS vss_table1 = array, U16, 1, [ 16 ], "kph", 1.60934, 0.00000, 0, 255, 0 ; vehicle speed tables #else vss_table1 = array, U16, 1, [ 16 ], "mph", 1.00000, 0.00000, 0, 255, 0 ; vehicle speed tables #endif #if LOAD_KPA LOAD_table1 = array, S16, 33, [ 9 ], "kpa", 1.00000, 0.00000, 0, 400, 0 ; load bins (x1) #else LOAD_table1 = array, S16, 33, [ 9 ], "%", 1.00000, 0.00000, 0, 100, 0 ; load bins (x1) #endif #if CELSIUS temp_table = array, S16, 51, [ 10 ], "ºC", 0.05556, 32.0000, -40, 255, 0 ; deg x 10 (C or F) #else temp_table = array, S16, 51, [ 10 ], "ºF", 0.10000, 0.00000, -40, 255, 0 ; deg x 10 (C or F) #endif gear_table = array, U16, 71, [ 9 ], ":1", 0.00100, 0.00000, 0, 7, 3 ; gear ratio array [9] * 1000 gearR = scalar, U16, 71, ":1", 0.00100, 0.00000, 0, 7, 3 ; reverse gear * 1000 gear1 = scalar, U16, 73, ":1", 0.00100, 0.00000, 0, 7, 3 ; first gear * 1000 gear2 = scalar, U16, 75, ":1", 0.00100, 0.00000, 0, 7, 3 ; second gear * 1000 gear3 = scalar, U16, 77, ":1", 0.00100, 0.00000, 0, 7, 3 ; third gear * 1000 gear4 = scalar, U16, 79, ":1", 0.00100, 0.00000, 0, 7, 3 ; fourth gear * 1000 gear5 = scalar, U16, 81, ":1", 0.00100, 0.00000, 0, 7, 3 ; first gear * 1000 gear6 = scalar, U16, 83, ":1", 0.00100, 0.00000, 0, 7, 3 ; second gear * 1000 gear7 = scalar, U16, 85, ":1", 0.00100, 0.00000, 0, 7, 3 ; third gear * 1000 gear8 = scalar, U16, 87, ":1", 0.00100, 0.00000, 0, 7, 3 ; fourth gear * 1000 CAN_enabled = bits, U08, 89, [0:0], "CANbus disabled", "CANbus enabled" load_type = bits, U08, 90, [0:1], "MAP", "TPS", "TPS for Line Pressure Table/MAP for Gear Tables", "MAP for Line Pressure Table/TPS for Gear Tables" #if CELSIUS noTCC_temp = scalar, S16, 91, "ºC", 0.05556, 32.0000, 0, 100, 1 ; no TCC lock below this temp (to aid warm-up) #else noTCC_temp = scalar, S16, 91, "ºF", 0.10000, 0.00000, 0, 200, 1 ; no TCC lock below this temp (to aid warm-up) #endif #if LOAD_KPA noTCC_load = scalar, U16, 93, "kPa", 0.10000, 0.00000, 0, 255, 1 ; #else noTCC_load = scalar, U16, 93, "%", 0.10000, 0.00000, 0, 100, 1 ; #endif LUF_taper = scalar, U08, 95, "sec", 0.10000, 0.00000, 0, 255, 1 ; Lock Up feel taper time (sec x10) PulseTol = scalar, U08, 96, "%", 1.00000, 0.00000, 0, 100, 0 ; % tolerance for next input pulse axle_ratio = scalar, U16, 97, ":1", 0.00100, 0.00000, 1, 10, 3 ; rear axle ratio * 1000 #if SI_LENGTHS tire_diam = scalar, U16, 99, "cm", 0.02540, 0.00000, 15, 180, 2 ; tire diameter (centimetres*100) #else tire_diam = scalar, U16, 99, "inches", 0.01000, 0.00000, 5, 70, 2 ; tire diameter (inches*100) #endif under_rev_limit = scalar, U16, 101, "rpm", 1.00000, 0.00000, 0, 10000, 0 ; minimum resulting rpm for an upshift trans_type = scalar, U08, 103, "", 1.00000, 0.00000, 0, 1, 0 ; transmission type, 0=4L60E, 1=4R70W shift_mode = scalar, U08, 104, "", 1.00000, 0.00000, 1, 2, 0 ; Start-up mode 0=manual (disallowed), 1=auto (sequential shift), 2=auto (skip shift) Not_used = scalar, U08, 105, "%", 1.0000, 0.00000, 0, 60, 0 ; not used error_check = bits, U08, 106, [0:0], "Ignore errors", "Report errors" rpm_limit = scalar, U16, 107, "rpm", 1.00000, 0.00000, 0, 10000, 0 ; Max engine rpm for downshift uused = scalar, U08, 109, "", 1.00000, 0.00000, 3, 200, 0 ; PWM period4 (usec) for speedo output num_teeth = scalar, U08, 110, "", 1.00000, 0.00000, 1, 255, 0 ; input VSS pulses (teeth/rev) TCC_PWM_Pd = scalar, U16, 111, "msec", 0.00100, 0.00000, 0.427, 10.888, 3 ; TCC PWM period (usec) - keep between 0.427 and 10.888 msec (92 Hertz and 2340 Hertz) PC_PWM_Pd = scalar, U16, 113, "msec", 0.00100, 0.00000, 0.427, 10.888, 3 ; PC PWM period (usec) - keep between 0.427 and 10.888 msec (92 Hertz and 2340 Hertz) OUT3_PWM_Pd = scalar, U16, 115, "msec", 0.00100, 0.00000, 4, 21, 3 ; Sol32 PWM period (usec) BatFac = scalar, U08, 117, "%/V", -0.10000 0.00000, -25.5, 0, 1 ; Battery PWM correction factor (%x10 per volt) ms2canID = scalar, U08, 118, "", 1.00000, 0.00000, 0, 16, 0 ; MS-II 'master' CANbus ID ms2varBLK = scalar, U08, 119, "", 1.00000, 0.00000, 0, 16, 0 ; outpc block on MS-II PCneutral = scalar, U08, 120, "%", -1.00000, -100.00, 40, 100, 0 ; pressure in neutral baud = scalar, U32, 121 "", 1.00000, 0.00000, 115200, 115200, 0 ; baud rate board_type = scalar, U08, 125, "", 1.00000, 0.00000, 0, 255, 0 ; board type (1-255) of ith board; trans_can_id = scalar, U08, 126, "", 1.00000, 0.00000, 0, 255, 0 ; can_id (address) of this board (< MAX_CANBOARDS) can_var_rate = scalar, U16, 127, "", 1.00000, 0.00000, 20, 1000, 0 ; rate at which to get CANbus variables auto_table1 = array, U08, 129, [16x9], "gear", 1.00000, 0.00000, 1, 8, 0 ; The target gear for each LOAD & MPH pc_table = array, U08, 273, [16x9], "%", -1.00000, -100.00, 40, 100, 0 ; The PWM% for PC solenoid by load and mph #if CELSIUS trans_temp_limit = scalar, U16, 417, "ºC", 0.05556, 32.0000, 0, 200, 1 ; Transmission temperature limit #else trans_temp_limit = scalar, U16, 417, "ºF", 0.10000, 0.00000, 0, 300, 1 ; Transmission temperature limit #endif pulse_mile = scalar, U16, 419, "", 1.00000, 0.00000, 100, 20000, 0 ; Pulse per mile for speedo output rpm_check = bits, U08, 421, [0:0], "Do Not Enforce RPM Checks", "Enforce RPM Checks" #if SI_LENGTHS gear_hyst = scalar, U08, 422, "kph", 0.16093, 0.00000, 0, 25, 1 ; Gear Hysteresis, in kph x10 #else gear_hyst = scalar, U08, 422, "mph", 0.10000, 0.00000, 0, 15, 1 ; Gear Hysteresis, in mph x10 #endif #if LOAD_KPA kpa_hyst = scalar, U08, 423, "kPa", 1.0000, 0.00000, 0, 255, 0 ; Gear Hysteresis, in kPa x10 #else kpa_hyst = scalar, U08, 423, "%", 1.0000, 0.00000, 0, 100, 0 ; Gear Hysteresis, in % x10 #endif max_shift_press = scalar, U08, 424, "%", -1.00000, -100.00, 40, 90, 0 ; Max pressure while shifting pressure_delay = scalar, U16, 425, "msec", 8.00000, 0.00000, 10, 500, 0 ; Line pressure delay for shifting shift_delay = scalar, U16, 427, "msec", 8.00000, 0.00000, 10, 1000, 0 ; Shift solenoid - actual shift delay LOADshortcount = scalar, U16, 429, "", 1.00000, 0.00000, 1, 8000, 0 ; LOAD short term filtering factor LOADlongcount = scalar, U16, 431, "", 1.00000, 0.00000, 1, 600, 0 ; LOAD long term filtering factor #if LOAD_KPA LOADmult = scalar, S16, 433, "kpa/volt", 0.01000, 0.00000, -300, 300, 2 ; non-CANbus LOAD multiplier (slope) LOADzero = scalar, S16, 435 "kpa @ 0Volt", 0.01000, 0.00000, -300, 300, 2 ; non-CANbus LOAD at 0 volts (y-intercept) #else LOADmult = scalar, S16, 433, "%/volt", 0.01000, 0.00000, -300, 300, 2 ; non-CANbus LOAD multiplier (slope) LOADzero = scalar, S16, 435, "% @ 0Volt", 0.01000, 0.00000, -300, 300, 2 ; non-CANbus LOAD at 0 volts (y-intercept) #endif #if SI_LENGTHS minTCCspeed = scalar, U16, 437, "kph", 0.16093, 0.00000, 30, 450, 1 ; minimum TCC lock-up speed (metric) #else minTCCspeed = scalar, U16, 437, "mph", 0.10000, 0.00000, 20, 300, 1 ; minimum TCC lock-up speed (imperial) #endif PCtemp = array, S08, 439, [10], "%", -0.10000, 0.00000, -12.7, 12.7, 1 ; line pressure adjustment for temp (negative so higher values lower PC DC% = higher pressure) ; Output1 = scalar, U16, 449, "", 1.00000, 0.00000, 0, 127, 0 ; output pattern for solA Out11 = bits, U16, 449, [0:0], "off", "ON"; Out12 = bits, U16, 449, [1:1], "off", "ON"; Out13 = bits, U16, 449, [2:2], "off", "ON"; Out14 = bits, U16, 449, [3:3], "off", "ON"; Out15 = bits, U16, 449, [4:4], "off", "ON"; Out16 = bits, U16, 449, [5:5], "off", "ON"; Out17 = bits, U16, 449, [6:6], "off", "ON"; Out18 = bits, U16, 449, [7:7], "off", "ON"; Out19 = bits, U16, 449, [8:8], "off", "ON"; Out110 = bits, U16, 449, [9:9], "off", "ON"; Out111 = bits, U16, 449, [10:10], "off", "ON"; Out112 = bits, U16, 449, [11:11], "off", "ON"; Out113 = bits, U16, 449, [12:12], "off", "ON"; Out114 = bits, U16, 449, [13:13], "off", "ON"; Out115 = bits, U16, 449, [14:14], "off", "ON"; Out116 = bits, U16, 449, [15:15], "off", "ON"; ; Output2 = scalar, U16, 451, "", 1.00000, 0.00000, 0, 127, 0 ; output pattern for solB Out21 = bits, U16, 451, [0:0], "off", "ON"; Out22 = bits, U16, 451, [1:1], "off", "ON"; Out23 = bits, U16, 451, [2:2], "off", "ON"; Out24 = bits, U16, 451, [3:3], "off", "ON"; Out25 = bits, U16, 451, [4:4], "off", "ON"; Out26 = bits, U16, 451, [5:5], "off", "ON"; Out27 = bits, U16, 451, [6:6], "off", "ON"; Out28 = bits, U16, 451, [7:7], "off", "ON"; Out29 = bits, U16, 451, [8:8], "off", "ON"; Out210 = bits, U16, 451, [9:9], "off", "ON"; Out211 = bits, U16, 451, [10:10], "off", "ON"; Out212 = bits, U16, 451, [11:11], "off", "ON"; Out213 = bits, U16, 451, [12:12], "off", "ON"; Out214 = bits, U16, 451, [13:13], "off", "ON"; Out215 = bits, U16, 451, [14:14], "off", "ON"; Out216 = bits, U16, 451, [15:15], "off", "ON"; ; Output3 = scalar, U16, 453, "", 1.00000, 0.00000, 0, 127, 0 ; output pattern for 3/2sol Out31 = bits, U16, 453, [0:0], "off", "ON"; Out32 = bits, U16, 453, [1:1], "off", "ON"; Out33 = bits, U16, 453, [2:2], "off", "ON"; Out34 = bits, U16, 453, [3:3], "off", "ON"; Out35 = bits, U16, 453, [4:4], "off", "ON"; Out36 = bits, U16, 453, [5:5], "off", "ON"; Out37 = bits, U16, 453, [6:6], "off", "ON"; Out38 = bits, U16, 453, [7:7], "off", "ON"; Out39 = bits, U16, 453, [8:8], "off", "ON"; Out310 = bits, U16, 453, [9:9], "off", "ON"; Out311 = bits, U16, 453, [10:10], "off", "ON"; Out312 = bits, U16, 453, [11:11], "off", "ON"; Out313 = bits, U16, 453, [12:12], "off", "ON"; Out314 = bits, U16, 453, [13:13], "off", "ON"; Out315 = bits, U16, 453, [14:14], "off", "ON"; Out316 = bits, U16, 453, [15:15], "off", "ON"; ; Output4 = scalar, U16, 455, "", 1.00000, 0.00000, 0, 127, 0 ; output pattern for 3/2sol Out41 = bits, U16, 455, [0:0], "off", "ON"; Out42 = bits, U16, 455, [1:1], "off", "ON"; Out43 = bits, U16, 455, [2:2], "off", "ON"; Out44 = bits, U16, 455, [3:3], "off", "ON"; Out45 = bits, U16, 455, [4:4], "off", "ON"; Out46 = bits, U16, 455, [5:5], "off", "ON"; Out47 = bits, U16, 455, [6:6], "off", "ON"; Out48 = bits, U16, 455, [7:7], "off", "ON"; Out49 = bits, U16, 455, [8:8], "off", "ON"; Out410 = bits, U16, 455, [9:9], "off", "ON"; Out411 = bits, U16, 455, [10:10], "off", "ON"; Out412 = bits, U16, 455, [11:11], "off", "ON"; Out413 = bits, U16, 455, [12:12], "off", "ON"; Out414 = bits, U16, 455, [13:13], "off", "ON"; Out415 = bits, U16, 455, [14:14], "off", "ON"; Out416 = bits, U16, 455, [15:15], "off", "ON"; out3dc = scalar, U08, 457, "%", 1.00000, 0.00000, 0, 100, 0 ; output3 duty cycle percent when on #if SI_LENGTHS sp1speed = scalar, U16, 458, "kph", 0.16093, 0.00000, 0, 3000, 1 ; spare port 1 speed threshold sp2speed = scalar, U16, 460, "kph", 0.16093, 0.00000, 0, 3000, 1 ; spare port 1 speed threshold sp1speed_hyst = scalar, U16, 462, "kph", 0.16093, 0.00000, 0, 800, 1 ; spare port 1 speed threshold sp2speed_hyst = scalar, U16, 464, "kph", 0.16093, 0.00000, 0, 800, 1 ; spare port 1 speed threshold #else sp1speed = scalar, U16, 458, "mph", 0.10000, 0.00000, 0, 2500, 1 ; spare port 1 speed threshold sp2speed = scalar, U16, 460, "mph", 0.10000, 0.00000, 0, 2500, 1 ; spare port 1 speed threshold sp1speed_hyst = scalar, U16, 462, "mph", 0.10000, 0.00000, 0, 500, 1 ; spare port 1 speed threshold sp2speed_hyst = scalar, U16, 464, "mph", 0.10000, 0.00000, 0, 500, 1 ; spare port 1 speed threshold #endif sp1speed_cond = bits, U08, 466, [0:1], "No Condition", ">= Greater Than or Equal", "<= Less Than or Equal", "Equal" sp2speed_cond = bits, U08, 467, [0:1], "No Condition", ">= Greater Than or Equal", "<= Less Than or Equal", "Equal" sp1rpm = scalar, U16, 468, "rpm", 1.00000, 0.00000, 0, 12000, 0 ; spare port 1 rpm threshold sp2rpm = scalar, U16, 470, "rpm", 1.00000, 0.00000, 0, 12000, 0 ; spare port 1 rpm threshold sp1rpm_hyst = scalar, U16, 472, "rpm", 1.00000, 0.00000, 0, 2000, 0 ; spare port 1 rpm threshold sp2rpm_hyst = scalar, U16, 474, "rpm", 1.00000, 0.00000, 0, 2000, 0 ; spare port 1 rpm threshold sp1rpm_cond = bits, U08, 476, [0:1], "No Condition", ">= Greater Than or Equal", "<= Less Than or Equal", "Equal" sp2rpm_cond = bits, U08, 477, [0:1], "No Condition", ">= Greater Than or Equal", "<= Less Than or Equal", "Equal" #if LOAD_KPA sp1load = scalar, U16, 478, "kPa", 0.10000, 0.00000, 0, 4000, 1 ; spare port 1 load threshold sp2load = scalar, U16, 480, "kPa", 0.10000, 0.00000, 0, 4000, 1 ; spare port 1 load threshold sp1load_hyst = scalar, U16, 482, "kPa", 0.10000, 0.00000, 0, 500, 1 ; spare port 1 load threshold sp2load_hyst = scalar, U16, 484, "kPa", 0.10000, 0.00000, 0, 500, 1 ; spare port 1 load threshold #else sp1load = scalar, U16, 478, "%", 0.10000, 0.00000, 0, 4000, 1 ; spare port 1 load threshold sp2load = scalar, U16, 480, "%", 0.10000, 0.00000, 0, 4000, 1 ; spare port 1 load threshold sp1load_hyst = scalar, U16, 482, "%", 0.10000, 0.00000, 0, 500, 1 ; spare port 1 load threshold sp2load_hyst = scalar, U16, 484, "%", 0.10000, 0.00000, 0, 500, 1 ; spare port 1 load threshold #endif sp1load_cond = bits, U08, 486, [0:1], "No Condition", ">= Greater Than or Equal", "<= Less Than or Equal", "Equal" sp2load_cond = bits, U08, 487, [0:1], "No Condition", ">= Greater Than or Equal", "<= Less Than or Equal", "" sp1gear = scalar, S08, 488, "", 1.00000, 0.00000, 0, 8, 0 ; spare port 1 gear threshold sp2gear = scalar, S08, 489, "", 1.00000, 0.00000, 0, 8, 0 ; spare port 1 gear threshold sp1gear_cond = bits, U08, 490, [0:1], "No Condition", ">= Greater Than or Equal", "<= Less Than or Equal", "Equal" sp2gear_cond = bits, U08, 491, [0:1], "No Condition", ">= Greater Than or Equal", "<= Less Than or Equal", "Equal" ; Input1ptrn = scalar, U16, 492, "", 1.00000, 0.00000, 0, 127, 0 ; input pattern for swA In11 = bits, U16, 492, [0:0], "low", "HIGH" In12 = bits, U16, 492, [1:1], "low", "HIGH" In13 = bits, U16, 492, [2:2], "low", "HIGH" In14 = bits, U16, 492, [3:3], "low", "HIGH" In15 = bits, U16, 492, [4:4], "low", "HIGH" In16 = bits, U16, 492, [5:5], "low", "HIGH" In17 = bits, U16, 492, [6:6], "low", "HIGH" In18 = bits, U16, 492, [7:7], "low", "HIGH" In19 = bits, U16, 492, [8:8], "low", "HIGH" In110 = bits, U16, 492, [9:9], "low", "HIGH" In111 = bits, U16, 492, [10:10], "low", "HIGH" In112 = bits, U16, 492, [11:11], "low", "HIGH" In113 = bits, U16, 492, [12:12], "low", "HIGH" In114 = bits, U16, 492, [13:13], "low", "HIGH" In115 = bits, U16, 492, [14:14], "low", "HIGH" In116 = bits, U16, 492, [15:15], "low", "HIGH" ; Input2ptrn = scalar, U16, 494, "", 1.00000, 0.00000, 0, 127, 0 ; input pattern for swB In21 = bits, U16, 494, [0:0], "low", "HIGH" In22 = bits, U16, 494, [1:1], "low", "HIGH" In23 = bits, U16, 494, [2:2], "low", "HIGH" In24 = bits, U16, 494, [3:3], "low", "HIGH" In25 = bits, U16, 494, [4:4], "low", "HIGH" In26 = bits, U16, 494, [5:5], "low", "HIGH" In27 = bits, U16, 494, [6:6], "low", "HIGH" In28 = bits, U16, 494, [7:7], "low", "HIGH" In29 = bits, U16, 494, [8:8], "low", "HIGH" In210 = bits, U16, 494, [9:9], "low", "HIGH" In211 = bits, U16, 494, [10:10], "low", "HIGH" In212 = bits, U16, 494, [11:11], "low", "HIGH" In213 = bits, U16, 494, [12:12], "low", "HIGH" In214 = bits, U16, 494, [13:13], "low", "HIGH" In215 = bits, U16, 494, [14:14], "low", "HIGH" In216 = bits, U16, 494, [15:15], "low", "HIGH" ; Input3ptrn = scalar, U16, 496, "", 1.00000, 0.00000, 0, 127, 0 ; input pattern for swC In31 = bits, U16, 496, [0:0], "low", "HIGH" In32 = bits, U16, 496, [1:1], "low", "HIGH" In33 = bits, U16, 496, [2:2], "low", "HIGH" In34 = bits, U16, 496, [3:3], "low", "HIGH" In35 = bits, U16, 496, [4:4], "low", "HIGH" In36 = bits, U16, 496, [5:5], "low", "HIGH" In37 = bits, U16, 496, [6:6], "low", "HIGH" In38 = bits, U16, 496, [7:7], "low", "HIGH" In39 = bits, U16, 496, [8:8], "low", "HIGH" In310 = bits, U16, 496, [9:9], "low", "HIGH" In311 = bits, U16, 496, [10:10], "low", "HIGH" In312 = bits, U16, 496, [11:11], "low", "HIGH" In313 = bits, U16, 496, [12:12], "low", "HIGH" In314 = bits, U16, 496, [13:13], "low", "HIGH" In315 = bits, U16, 496, [14:14], "low", "HIGH" In316 = bits, U16, 496, [15:15], "low", "HIGH" ; Input4ptrn = scalar, U16, 498, "", 1.00000, 0.00000, 0, 127, 0 ; input pattern for swC In41 = bits, U16, 498, [0:0], "low", "HIGH" In42 = bits, U16, 498, [1:1], "low", "HIGH" In43 = bits, U16, 498, [2:2], "low", "HIGH" In44 = bits, U16, 498, [3:3], "low", "HIGH" In45 = bits, U16, 498, [4:4], "low", "HIGH" In46 = bits, U16, 498, [5:5], "low", "HIGH" In47 = bits, U16, 498, [6:6], "low", "HIGH" In48 = bits, U16, 498, [7:7], "low", "HIGH" In49 = bits, U16, 498, [8:8], "low", "HIGH" In410 = bits, U16, 498, [9:9], "low", "HIGH" In411 = bits, U16, 498, [10:10], "low", "HIGH" In412 = bits, U16, 498, [11:11], "low", "HIGH" In413 = bits, U16, 498, [12:12], "low", "HIGH" In414 = bits, U16, 498, [13:13], "low", "HIGH" In415 = bits, U16, 498, [14:14], "low", "HIGH" In416 = bits, U16, 498, [15:15], "low", "HIGH" forceAUTOoptn = bits, U08, 500, [0:2], "INVALID", "In PNR OR under OR over rev", "Only if over rev", "Only if under rev", "Only in PNR", "Only if under OR over rev", "INVALID", "INVALID" mlever_vP = scalar, U16, 501, "volts", 0.00489, 0.00000, 0, 5.0, 2 ; Volts for P (converted from ADC count) mlever_vN = scalar, U16, 503, "volts", 0.00489, 0.00000, 0, 5.0, 2 ; Volts for R (converted from ADC count) mlever_vR = scalar, U16, 505, "volts", 0.00489, 0.00000, 0, 5.0, 2 ; Volts for N (converted from ADC count) mlever_v1 = scalar, U16, 507, "volts", 0.00489, 0.00000, 0, 5.0, 2 ; Volts for 1st (converted from ADC count) mlever_v2 = scalar, U16, 509, "volts", 0.00489, 0.00000, 0, 5.0, 2 ; Volts for 2nd (converted from ADC count) mlever_v3 = scalar, U16, 511, "volts", 0.00489, 0.00000, 0, 5.0, 2 ; Volts for 3rd (converted from ADC count) mlever_v4 = scalar, U16, 513, "volts", 0.00489, 0.00000, 0, 5.0, 2 ; Volts for 4th (converted from ADC count) mlever_v5 = scalar, U16, 515, "volts", 0.00489, 0.00000, 0, 5.0, 2 ; Volts for 5th (converted from ADC count) mlever_v6 = scalar, U16, 517, "volts", 0.00489, 0.00000, 0, 5.0, 2 ; Volts for 6th (converted from ADC count) mlever_v7 = scalar, U16, 519, "volts", 0.00489, 0.00000, 0, 5.0, 2 ; Volts for 7th (converted from ADC count) mlever_v8 = scalar, U16, 521, "volts", 0.00489, 0.00000, 0, 5.0, 2 ; Volts for 8th (converted from ADC count) In4_OD = bits, U08, 523, [0:0], "Gear lever for 4th (OD)", "OD on swB (on GPI2)" spareY = bits, U08, 524, [0:1], "Use Both Spare Ports", "Use Outputs during shifts only", "Use PT3 for LUF and SPR2/PA0/VB2 for TCC", "INVALID" ; clutch1up = scalar, U08, 525, "", 1.00000, 0.00000, 0, 127, 0 ; output pattern for upshift spare port 1 in clutch mode clutch11u = bits, U08, 525, [0:0], "off", "ON" ; 1-2 clutch12u = bits, U08, 525, [1:1], "off", "ON" ; 2-3 clutch13u = bits, U08, 525, [2:2], "off", "ON" ; 3-4 clutch14u = bits, U08, 525, [3:3], "off", "ON" ; 4-5 clutch15u = bits, U08, 525, [4:4], "off", "ON" ; 5-6 clutch16u = bits, U08, 525, [5:5], "off", "ON" ; 6-7 clutch17u = bits, U08, 525, [6:6], "off", "ON" ; 7-8 clutch18u = bits, U08, 525, [7:7], "off", "ON" ; not used ; clutch2up = scalar, U08, 526, "", 1.00000, 0.00000, 0, 127, 0 ; output pattern for upshift spare port 2 in clutch mode clutch21u = bits, U08, 526, [0:0], "off", "ON" ; 1-2 clutch22u = bits, U08, 526, [1:1], "off", "ON" ; 2-3 clutch23u = bits, U08, 526, [2:2], "off", "ON" ; 3-4 clutch24u = bits, U08, 526, [3:3], "off", "ON" ; 4-5 clutch25u = bits, U08, 526, [4:4], "off", "ON" ; 5-6 clutch26u = bits, U08, 526, [5:5], "off", "ON" ; 6-7 clutch27u = bits, U08, 526, [6:6], "off", "ON" ; 7-8 clutch28u = bits, U08, 526, [7:7], "off", "ON" ; not used ; clutch1dwn = scalar, U08, 527, "", 1.00000, 0.00000, 0, 127, 0 ; output pattern for downshift spare port 1 in clutch mode clutch11d = bits, U08, 527, [0:0], "off", "ON" ; 2-1 clutch12d = bits, U08, 527, [1:1], "off", "ON" ; 3-2 clutch13d = bits, U08, 527, [2:2], "off", "ON" ; 4-3 clutch14d = bits, U08, 527, [3:3], "off", "ON" ; 5-4 clutch15d = bits, U08, 527, [4:4], "off", "ON" ; 6-5 clutch16d = bits, U08, 527, [5:5], "off", "ON" ; 7-6 clutch17d = bits, U08, 527, [6:6], "off", "ON" ; 8-7 clutch18d = bits, U08, 527, [7:7], "off", "ON" ; not used ; clutch2dwn = scalar, U08, 528, "", 1.00000, 0.00000, 0, 127, 0 ; output pattern for downshift spare port 2 in clutch mode clutch21d = bits, U08, 528, [0:0], "off", "ON" ; 2-1 clutch22d = bits, U08, 528, [1:1], "off", "ON" ; 3-2 clutch23d = bits, U08, 528, [2:2], "off", "ON" ; 4-3 clutch24d = bits, U08, 528, [3:3], "off", "ON" ; 5-4 clutch25d = bits, U08, 528, [4:4], "off", "ON" ; 6-5 clutch26d = bits, U08, 528, [5:5], "off", "ON" ; 7-6 clutch27d = bits, U08, 528, [6:6], "off", "ON" ; 8-7 clutch28d = bits, U08, 528, [7:7], "off", "ON" ; not used FWD_factor = scalar, U16, 529, ":1", 0.00100, 0.00000, 0.100, 6.000, 3 ; Speedo correction factor in 4WD (PE1 grounded) upshift_retard = scalar, S16, 531, "º", -0.10, 0.00000, 0.0, 25.5, 1 ; Upshift timing retard dwnshift_retard = scalar, S16, 533, "º", -0.10, 0.00000, 0.0, 25.5, 1 ; Downshift timing retard gear2_retard = scalar, S16, 535, "º", -0.10, 0.00000, 0.0, 25.5, 1 ; 2nd gear timing retard gear3_retard = scalar, S16, 537, "º", -0.10, 0.00000, 0.0, 25.5, 1 ; 3rd gear timing retard gear4_retard = scalar, S16, 539, "º", -0.10, 0.00000, 0.0, 25.5, 1 ; 4th gear timing retard #if LOAD_KPA Tretard_load = scalar, U16, 541, "kPa", 0.10, 0.00000, 0.0, 250.0, 1 ; timing retard only above load (kpax10) #else Tretard_load = scalar, U16, 541, "%", 0.10, 0.00000, 0.0, 250.0, 1 ; timing retard only above load (%x10) #endif LUF_off = scalar, U08, 543, "%", 1.00, 0.00000, 0.0, 100.0, 0 ; Lock-Up feel solenoid off state (%) #if LOAD_KPA LUF_loLoad = scalar, U16, 544, "kPa", 0.10, 0.00000, 0.0, 255.0, 1 ; Lock Up Feel soln. low load LUF_hiLoad = scalar, U16, 546, "kPa", 0.10, 0.00000, 0.0, 255.0, 1 ; Lock Up Feel soln. high load #else LUF_loLoad = scalar, U16, 544, "%", 0.10, 0.00000, 0.0, 100.0, 1 ; Lock Up Feel soln. low load LUF_hiLoad = scalar, U16, 546, "%", 0.10, 0.00000, 0.0, 100.0, 1 ; Lock Up Feel soln. high load #endif LUF_loPWM = scalar, U08, 548, "%", 1.00, 0.00000, 0.0, 100.0, 0 ; Lock-Up feel solenoid PWM% at low load (%) LUF_hiPWM = scalar, U08, 549, "%", 1.00, 0.00000, 0.0, 100.0, 0 ; Lock-up feel solenoid PWM% at high load (%) digital_threshold = scalar, U16, 550, "volts", 0.00489, 0.00000, 0.0, 5.000, 3 ; digital threshold for ADC count to on/off shftr_accum = scalar, U16, 552, "", 0.10, 0.00000, 10.0, 1000, 1 ; shifter accumulator - button sensitivity (lower is more sensitive) #if SI_LENGTHS hyst_enable_speed = scalar, U16, 554, "kph", 0.16093, 0.00000, 0.0, 15.00, 1 ; no shift hysteresis below this speed #else hyst_enable_speed = scalar, U16, 554, "mph", 0.10, 0.00000, 0.0, 15.00, 1 ; no shift hysteresis below this speed #endif vss_mask = scalar, U08, 556, "%", 1.00, 0.00000, 0.0 200.00, 0 ; VSS interrupt mask (%) ; stdin_cfg = scalar, U08, 557, "", 1.00, 0.00000, 0.0, 255.00, 0 ; configure standard inputs (temp and 2/4WD) FWD_cfg = bits, U08, 557, [0:0], "Log only", "Switch shift tables/4th lever input" TMP_cfg = bits, U08, 557, [1:1], "Log only", "Use as trans temperature" TMP_adc = bits, U08, 557, [2:2], "Log ADC count", "Log temperature" In4_cfg = bits, U08, 557, [3:3], "Speedo Switch/Logging", "Additional Lever Input" LUF_on = scalar, U08, 558, "%", 1.00, 0.00000, 0.0, 100.0, 0 ; Lock-Up feel solenoid on state (%) - imperial #if SI_LENGTHS min_speed = scalar, U08, 559, "kph", 0.16093, 0.00000, 0.0, 35.00, 1 ; minimum speed for VSS filtering #else min_speed = scalar, U08, 559, "mph", 0.10, 0.00000, 0.0, 20.00, 1 ; minimum speed for VSS filtering #endif vss_skip_max = scalar, U16, 560, "", 1.00, 0.0000, 50.0, 50000.00, 0 ; line_units = bits, U08, 562, [0:1], "Use pressure table", "INVALID", "Use as Engine Brake Input", "Use 2-Point Calcs" inj_flow = scalar, U16, 563, "pph", 0.01, 0.0000, 0.0, 200.00, 2 ; injector flow rate (lb/hr) open_time = scalar, U08, 565, "msec", 0.01, 0.0000, 0.0, 2.55, 2 ; injector open time fuel_density = scalar, U16, 566, "lb/gal", 0.001, 0.0000, 0.0, 32.000, 3 ; fuel density in pounds per gallon nSquirts = scalar, U08, 568, "", 1.00, 0.0000, 1.0, 16.000, 0 ; number of squirts (divide by 2 if alternating) refresh_int = scalar, U16, 569, "msec", 1.00, 0.0000, 10, 20000, 0 ; the interval time (msec) between dithers for output1 and output2 refresh_dur = scalar, U16, 571, "msec", 1.00, 0.0000, 0, 10000, 0 ; the 100% duty cycle time for output1 and output2 dither_intPC = scalar, U16, 573, "msec", 1.00, 0.0000, 10, 20000, 0 ; the interval time (msec) between dithers for the pressure control output dither_durPC = scalar, U16, 575, "msec", 1.00, 0.0000, 0, 10000, 0 ; the 100% duty cycle time for the pressure control output out1_pwm_off = scalar, U08, 577, "msec", 0.128, 0.0000, 0, 32.64, 3 ; output1 and output2 off duration (in 0.128 clock tics) out1_pwm_on = scalar, U08, 578, "msec", 0.128, 0.0000, 0.128, 32.64, 3 ; output1 and output2 off duration (in 0.128 clock tics) brake_ON_polarity = bits, U08, 579, [0:0], "Low Volts is Brake ON", "High Volts (12V) is Brake ON" WOT_tps_threshold = scalar, U16, 580, "%", 0.0976, 0.0000, 50, 100, 1 ; TPS from MS-II over CANbus iss_mask = scalar, U08, 582, "%", 1.00, 0.00000, 0.0 200.00, 0 ; ISS interrupt mask (%) ic2_usage = bits, U08, 583, [0:1], "Disable", "Input Shaft Speed", "Tach Input", "INVALID" ic2_edge = bits, U08, 583, [7:7], "Rising Edge", "Falling Edge" iss_divider = scalar, U08, 584, "teeth/rev", 1.00, 0.0000, 1, 255, 0 ; ISS/tach divider (number of teeth/rev) activate_xrate = scalar, U08, 585, "", 1.00, 0.0000, 0, 255, 0 ; 8 bits, one for each CANbus outmsg. When bit m set to 1, message m will be auto xmitted at rate outmsg[m].xrate. num_gears = scalar, U08, 586, "", 1.00, 0.0000, 1, 8, 0 ; number of forward gears gear5_retard = scalar, S16, 587, "º", -0.10, 0.00000, 0.0, 25.5, 1 ; 5th gear timing retard gear6_retard = scalar, S16, 589, "º", -0.10, 0.00000, 0.0, 25.5, 1 ; 6th gear timing retard gear7_retard = scalar, S16, 591, "º", -0.10, 0.00000, 0.0, 25.5, 1 ; 7th gear timing retard gear8_retard = scalar, S16, 593, "º", -0.10, 0.00000, 0.0, 25.5, 1 ; 8th gear timing retard Adj_blk = scalar, U08, 595, "", 1.00, 0.00000, 0 16, 0 ; Fuel/Spark/Idle block on MS-II Adj_varoffset = scalar, U16, 596, "", 1.00, 0.00000, 0 1024, 0 ; Fuel/Spark/Idle offset on MS-II LED11 = bits, U08, 598, [0:0], "off", "ON" LED12 = bits, U08, 598, [1:1], "off", "ON" LED13 = bits, U08, 598, [2:2], "off", "ON" LED14 = bits, U08, 598, [3:3], "off", "ON" LED15 = bits, U08, 598, [4:4], "off", "ON" LED16 = bits, U08, 598, [5:5], "off", "ON" LED17 = bits, U08, 598, [6:6], "off", "ON" LED18 = bits, U08, 598, [7:7], "off", "ON" LED21 = bits, U08, 599, [0:0], "off", "ON" LED22 = bits, U08, 599, [1:1], "off", "ON" LED23 = bits, U08, 599, [2:2], "off", "ON" LED24 = bits, U08, 599, [3:3], "off", "ON" LED25 = bits, U08, 599, [4:4], "off", "ON" LED26 = bits, U08, 599, [5:5], "off", "ON" LED27 = bits, U08, 599, [6:6], "off", "ON" LED28 = bits, U08, 599, [7:7], "off", "ON" LED31 = bits, U08, 600, [0:0], "off", "ON" LED32 = bits, U08, 600, [1:1], "off", "ON" LED33 = bits, U08, 600, [2:2], "off", "ON" LED34 = bits, U08, 600, [3:3], "off", "ON" LED35 = bits, U08, 600, [4:4], "off", "ON" LED36 = bits, U08, 600, [5:5], "off", "ON" LED37 = bits, U08, 600, [6:6], "off", "ON" LED38 = bits, U08, 600, [7:7], "off", "ON" LED41 = bits, U08, 601, [0:0], "off", "ON" LED42 = bits, U08, 601, [1:1], "off", "ON" LED43 = bits, U08, 601, [2:2], "off", "ON" LED44 = bits, U08, 601, [3:3], "off", "ON" LED45 = bits, U08, 601, [4:4], "off", "ON" LED46 = bits, U08, 601, [5:5], "off", "ON" LED47 = bits, U08, 601, [6:6], "off", "ON" LED48 = bits, U08, 601, [7:7], "off", "ON" LEDN1 = bits, U08, 602, [0:0], "off", "ON" LEDN2 = bits, U08, 602, [1:1], "off", "ON" LEDN3 = bits, U08, 602, [2:2], "off", "ON" LEDN4 = bits, U08, 602, [3:3], "off", "ON" LEDN1alt = bits, U08, 602, [4:4], "off", "ON" LEDN2alt = bits, U08, 602, [5:5], "off", "ON" LEDN3alt = bits, U08, 602, [6:6], "off", "ON" LEDN4alt = bits, U08, 602, [7:7], "off", "ON" LEDR1 = bits, U08, 603, [0:0], "off", "ON" LEDR2 = bits, U08, 603, [1:1], "off", "ON" LEDR3 = bits, U08, 603, [2:2], "off", "ON" LEDR4 = bits, U08, 603, [3:3], "off", "ON" LEDR1alt = bits, U08, 603, [4:4], "off", "ON" LEDR2alt = bits, U08, 603, [5:5], "off", "ON" LEDR3alt = bits, U08, 603, [6:6], "off", "ON" LEDR4alt = bits, U08, 603, [7:7], "off", "ON" IACAdjngear = scalar, S16, 604, "", -1.00, 0.00000, -25, 25, 0 ; Idle adjustment on MS-II when gear == 1, tps == 0, speed == 0 AdvAdjngear = scalar, S16, 606, "º", 0.10, 0.00000, 0.0, 25.5, 1 ; Advance adjustment on MS-II when gear == 1, tps == 0, speed == 0 idle_tps_adc = scalar, U16, 608, "%", 0.0976, 0.0000, 2, 50, 1 ; TPS% (adc count/1024) below which is considered idle can_testout = bits, U08, 610, [0:0], "Get all vars", "Get only required vars" #if SI_LENGTHS min_manual_speed = scalar, S16, 611, "kph", 0.16093, 0.00000, -1, 150, 1 ; minimum speed in manual before switch to auto #else min_manual_speed = scalar, S16, 611, "mph", 0.10, 0.00000, -1, 200, 1 ; minimum speed in manual before switch to auto #endif shft_btn_polarity = bits, U08, 613, [0:0], "active low", "active high" TCC_PWM = bits, U08, 614, [0:0], "ON/OFF TCC", "Use PWM for TCC" spareInputs = bits, U08, 615, [0:1], "use as ADCs", "use as Shift Outputs", "Input2 as Output5 - Input3 as ADC", "INVALID" Output5 = scalar, U16, 616, "", 1.00000, 0.00000, 0, 127, 0 ; output pattern for 3/2sol Out51 = bits, U16, 616, [0:0], "off", "ON"; Out52 = bits, U16, 616, [1:1], "off", "ON"; Out53 = bits, U16, 616, [2:2], "off", "ON"; Out54 = bits, U16, 616, [3:3], "off", "ON"; Out55 = bits, U16, 616, [4:4], "off", "ON"; Out56 = bits, U16, 616, [5:5], "off", "ON"; Out57 = bits, U16, 616, [6:6], "off", "ON"; Out58 = bits, U16, 616, [7:7], "off", "ON"; Out59 = bits, U16, 616, [8:8], "off", "ON"; Out510 = bits, U16, 616, [9:9], "off", "ON"; Out511 = bits, U16, 616, [10:10], "off", "ON"; Out512 = bits, U16, 616, [11:11], "off", "ON"; Out513 = bits, U16, 616, [12:12], "off", "ON"; Out514 = bits, U16, 616, [13:13], "off", "ON"; Out515 = bits, U16, 616, [14:14], "off", "ON"; Out516 = bits, U16, 616, [15:15], "off", "ON"; Output6 = scalar, U16, 618, "", 1.00000, 0.00000, 0, 127, 0 ; output pattern for 3/2sol Out61 = bits, U16, 618, [0:0], "off", "ON"; Out62 = bits, U16, 618, [1:1], "off", "ON"; Out63 = bits, U16, 618, [2:2], "off", "ON"; Out64 = bits, U16, 618, [3:3], "off", "ON"; Out65 = bits, U16, 618, [4:4], "off", "ON"; Out66 = bits, U16, 618, [5:5], "off", "ON"; Out67 = bits, U16, 618, [6:6], "off", "ON"; Out68 = bits, U16, 618, [7:7], "off", "ON"; Out69 = bits, U16, 618, [8:8], "off", "ON"; Out610 = bits, U16, 618, [9:9], "off", "ON"; Out611 = bits, U16, 618, [10:10], "off", "ON"; Out612 = bits, U16, 618, [11:11], "off", "ON"; Out613 = bits, U16, 618, [12:12], "off", "ON"; Out614 = bits, U16, 618, [13:13], "off", "ON"; Out615 = bits, U16, 618, [14:14], "off", "ON"; Out616 = bits, U16, 618, [15:15], "off", "ON"; PWM_enable = scalar, U08, 620, "", 0, 1.00000, 0, 255, 0 ; PWM enable PWM_enable1 = bits, U08, 620, [0:0], "on/off", "PWM"; PWM_enable2 = bits, U08, 620, [1:1], "on/off", "PWM"; PWM_enable3 = bits, U08, 620, [2:2], "on/off", "PWM"; PWM_enable5 = bits, U08, 620, [4:4], "on/off", "PWM"; PWM_enable6 = bits, U08, 620, [5:5], "on/off", "PWM"; #if SI_LENGTHS maxSpeed = scalar, S16, 621, "kph", 0.16093, 0.00000, 160, 400, 1 ; maximum speed for VSS filtering #else maxSpeed = scalar, S16, 621, "mph", 0.10, 0.00000, 100, 300, 1 ; maximum speed for VSS filtering #endif resetTime = scalar, U08, 623, "sec", 0.10, 0.00000, 0, 25.5, 1 ; time to ignore filtering after reset TCC_counter = scalar, U08, 624, "sec", 0.10, 0.00000, 0, 25.5, 1 ; time (seconds x10) to disable TCC lock-up after unlocking STCC_rpm = scalar, U16, 625, "rpm", 1.00, 0.00000, 2200, 9000, 0 ; full time TCC lock up minimum rpm STCC_gear = scalar, U08, 627, "", 1.00, 0.00000, 3, 8, 0 ; full time TCC lock up minimum gear STCC_ULrpm = scalar, U16, 628, "rpm", 1.00, 0.00000, 2200, 9000, 0 ; full time TCC lock up minimum rpm VSSsmoothFactor = scalar, U08, 630, "", 1.00, 0.00000, 2, 12, 0 ; VSS smoothing factor spare2 = scalar, U08, 631, "sec", 1.00, 0.00000, 0, 255, 0 ; spare parameter TCCupshift = scalar, U16, 632, "", 1.00000, 0.00000, 0, 127, 0 ; same patterns as Outputs ; to 2nd = 0x10, 3rd = 0x20, 4th = 0x40, 5th = 0x80, ; 6th = 0x100, 7th = 0x200, 8th = 0x400 ; 8 7 6 5 4 3 2 1 R N P ; 0 0 0 0 1 0 0 1 1 1 1 ; TCCupshiftP = bits, U16, 632, [0:0], "Stayed Locked (if locked)", "unlock"; ; TCCupshiftN = bits, U16, 632, [1:1], "Stayed Locked (if locked)", "unlock"; ; TCCupshiftR = bits, U16, 632, [2:2], "Stayed Locked (if locked)", "unlock"; ; TCCupshift1 = bits, U16, 632, [3:3], "Stayed Locked (if locked)", "unlock"; TCCupshift2 = bits, U16, 632, [4:4], "Stayed Locked (if locked)", "unlock"; TCCupshift3 = bits, U16, 632, [5:5], "Stayed Locked (if locked)", "unlock"; TCCupshift4 = bits, U16, 632, [6:6], "Stayed Locked (if locked)", "unlock"; TCCupshift5 = bits, U16, 632, [7:7], "Stayed Locked (if locked)", "unlock"; TCCupshift6 = bits, U16, 632, [8:8], "Stayed Locked (if locked)", "unlock"; TCCupshift7 = bits, U16, 632, [9:9], "Stayed Locked (if locked)", "unlock"; TCCupshift8 = bits, U16, 632, [10:10], "Stayed Locked (if locked)", "unlock"; ; maxUPpressure1 = scalar, U08, 634, "%", -1.00000, -100.00, 40, 90, 0 ; Max pressure while upshifting to 1st maxUPpressure2 = scalar, U08, 635, "%", -1.00000, -100.00, 40, 90, 0 ; Max pressure while upshifting to 2nd maxUPpressure3 = scalar, U08, 636, "%", -1.00000, -100.00, 40, 90, 0 ; Max pressure while upshifting to 3rd maxUPpressure4 = scalar, U08, 637, "%", -1.00000, -100.00, 40, 90, 0 ; Max pressure while upshifting to 4th maxUPpressure5 = scalar, U08, 638, "%", -1.00000, -100.00, 40, 90, 0 ; Max pressure while upshifting to 5th maxUPpressure6 = scalar, U08, 639, "%", -1.00000, -100.00, 40, 90, 0 ; Max pressure while upshifting to 6th maxUPpressure7 = scalar, U08, 640, "%", -1.00000, -100.00, 40, 90, 0 ; Max pressure while upshifting to 7th maxUPpressure8 = scalar, U08, 641, "%", -1.00000, -100.00, 40, 90, 0 ; Max pressure while upshifting to 8th maxDWNpressure1 = scalar, U08, 642, "%", -1.00000, -100.00, 40, 90, 0 ; Max pressure while downshifting to 1st maxDWNpressure2 = scalar, U08, 643, "%", -1.00000, -100.00, 40, 90, 0 ; Max pressure while downshifting to 2nd maxDWNpressure3 = scalar, U08, 644, "%", -1.00000, -100.00, 40, 90, 0 ; Max pressure while downshifting to 3rd maxDWNpressure4 = scalar, U08, 645, "%", -1.00000, -100.00, 40, 90, 0 ; Max pressure while downshifting to 4th maxDWNpressure5 = scalar, U08, 646, "%", -1.00000, -100.00, 40, 90, 0 ; Max pressure while downshifting to 5th maxDWNpressure6 = scalar, U08, 647, "%", -1.00000, -100.00, 40, 90, 0 ; Max pressure while downshifting to 6th maxDWNpressure7 = scalar, U08, 648, "%", -1.00000, -100.00, 40, 90, 0 ; Max pressure while downshifting to 7th ; maxDWNpressure8 = scalar, U08, 649, "%", -1.00000, -100.00, 40, 90, 0 ; Max pressure while downshifting to 8th solCupshiftPWM1 = scalar, U08, 650, "%", 1.00000, 0.00000, 0, 100, 0 ; SolC PWM while up shifting to 2nd ; bit 0x01 0x02 0x04 0x08 0x10 0x20 ; shift 1-2 2-3 3-4 4-5 6-7 7-8 solCupshiftPWM2 = scalar, U08, 651, "%", 1.00000, 0.00000, 0, 100, 0 ; SolC PWM while up shifting to 3rd solCupshiftPWM3 = scalar, U08, 652, "%", 1.00000, 0.00000, 0, 100, 0 ; SolC PWM while up shifting to 4th solCupshiftPWM4 = scalar, U08, 653, "%", 1.00000, 0.00000, 0, 100, 0 ; SolC PWM while up shifting to 5th solCupshiftPWM5 = scalar, U08, 654, "%", 1.00000, 0.00000, 0, 100, 0 ; SolC PWM while up shifting to 6th solCupshiftPWM6 = scalar, U08, 655, "%", 1.00000, 0.00000, 0, 100, 0 ; SolC PWM while up shifting to 7th solCupshiftPWM7 = scalar, U08, 656, "%", 1.00000, 0.00000, 0, 100, 0 ; SolC PWM while up shifting to 8th solCdwnshiftPWM1 = scalar, U08, 657, "%", 1.00000, 0.00000, 0, 100, 0 ; SolC PWM while downshifting to 1st ; bit 0x01 0x02 0x04 0x08 0x10 0x20 ; shift 2-1 3-2 4-3 5-4 7-6 8-7 solCdwnshiftPWM2 = scalar, U08, 658, "%", 1.00000, 0.00000, 0, 100, 0 ; SolC PWM while downshifting to 2nd solCdwnshiftPWM3 = scalar, U08, 659, "%", 1.00000, 0.00000, 0, 100, 0 ; SolC PWM while downshifting to 3rd solCdwnshiftPWM4 = scalar, U08, 660, "%", 1.00000, 0.00000, 0, 100, 0 ; SolC PWM while downshifting to 4th solCdwnshiftPWM5 = scalar, U08, 661, "%", 1.00000, 0.00000, 0, 100, 0 ; SolC PWM while downshifting to 5th solCdwnshiftPWM6 = scalar, U08, 662, "%", 1.00000, 0.00000, 0, 100, 0 ; SolC PWM while downshifting to 6th solCdwnshiftPWM7 = scalar, U08, 663, "%", 1.00000, 0.00000, 0, 100, 0 ; SolC PWM while downshifting to 7th debounce = scalar, U16, 664, "", 1.00000, 0.00000, 500, 65535, 0 ; Threshold for switch manifold debounce WOT_dur = scalar, U08, 666, "sec", 1.00000, 0.00000, 0, 20, 0 ; WOT hysteresis blocking duration in seconds mlever_mode = bits, U08, 667, [0:0], "digital switches (GM)", "Voltages (Ford)" shftbut_mode = bits, U08, 668, [0:0], "Grounding Switches", "Discrete Voltages" no_button_V = scalar, U16, 669, "volts", 0.00489, 0.00000, 0, 5.0, 2 ; Volts for 5th (converted from ADC count) up_button_V = scalar, U16, 671, "volts", 0.00489, 0.00000, 0, 5.0, 2 ; Volts for 5th (converted from ADC count) dwn_button_V = scalar, U16, 673, "volts", 0.00489, 0.00000, 0, 5.0, 2 ; Volts for 5th (converted from ADC count) both_button_V = scalar, U16, 675, "volts", 0.00489, 0.00000, 0, 5.0, 2 ; Volts for 5th (converted from ADC count) tol_button_V = scalar, U16, 677, "volts", 0.00489, 0.00000, 0, 5.0, 2 ; Volts for 5th (converted from ADC count) hardware = bits, U08, 679, [0:0], "GPIO", "MicroTCU" sp1_mode = bits, U08, 680, [0:2], "User Spare Port", "PWM mode", "TCC mode", "Use as Shift Solenoid", "Selective Clutch", "INVALID", "INVALID", "INVALID" sp2_mode = bits, U08, 681, [0:2], "User Spare Port", "PWM mode", "TCC mode", "Use as Shift Solenoid", "Selective Clutch", "INVALID", "INVALID", "INVALID" sp1_pwm_table = array, U08, 682, [ 12 ], "pwm%", 1.00000, 0.00000, 0, 100, 0 ; PWM lookup table for SP1 when SP1_mode == 1 sp1_pwm1 = scalar, U08, 682, "", 1.00000, 0.00000, 0, 100, 2 ; bin 1 sp1_pwm2 = scalar, U08, 683, "", 1.00000, 0.00000, 0, 100, 2 ; bin 1 sp1_pwm3 = scalar, U08, 684, "", 1.00000, 0.00000, 0, 100, 2 ; bin 1 sp1_pwm4 = scalar, U08, 685, "", 1.00000, 0.00000, 0, 100, 2 ; bin 1 sp1_pwm5 = scalar, U08, 686, "", 1.00000, 0.00000, 0, 100, 2 ; bin 1 sp1_pwm6 = scalar, U08, 687, "", 1.00000, 0.00000, 0, 100, 2 ; bin 1 sp1_pwm7 = scalar, U08, 688, "", 1.00000, 0.00000, 0, 100, 2 ; bin 1 sp1_pwm8 = scalar, U08, 689, "", 1.00000, 0.00000, 0, 100, 2 ; bin 1 sp1_pwm9 = scalar, U08, 690, "", 1.00000, 0.00000, 0, 100, 2 ; bin 1 sp1_pwm10 = scalar, U08, 691, "", 1.00000, 0.00000, 0, 100, 2 ; bin 1 sp1_pwm11 = scalar, U08, 692, "", 1.00000, 0.00000, 0, 100, 2 ; bin 1 sp1_pwm12 = scalar, U08, 693, "", 1.00000, 0.00000, 0, 100, 2 ; bin 1 sp2_pwm_table = array, U08, 694, [ 12 ], "pwm%", 1.00000, 0.00000, 0, 100, 0 ; PWM lookup table for SP2 when SP2_mode == 1 sp2_pwm1 = scalar, U08, 694, "", 1.00000, 0.00000, 0, 100, 2 ; bin 1 sp2_pwm2 = scalar, U08, 695, "", 1.00000, 0.00000, 0, 100, 2 ; bin 1 sp2_pwm3 = scalar, U08, 696, "", 1.00000, 0.00000, 0, 100, 2 ; bin 1 sp2_pwm4 = scalar, U08, 697, "", 1.00000, 0.00000, 0, 100, 2 ; bin 1 sp2_pwm5 = scalar, U08, 698, "", 1.00000, 0.00000, 0, 100, 2 ; bin 1 sp2_pwm6 = scalar, U08, 699, "", 1.00000, 0.00000, 0, 100, 2 ; bin 1 sp2_pwm7 = scalar, U08, 700, "", 1.00000, 0.00000, 0, 100, 2 ; bin 1 sp2_pwm8 = scalar, U08, 701, "", 1.00000, 0.00000, 0, 100, 2 ; bin 1 sp2_pwm9 = scalar, U08, 702, "", 1.00000, 0.00000, 0, 100, 2 ; bin 1 sp2_pwm10 = scalar, U08, 703, "", 1.00000, 0.00000, 0, 100, 2 ; bin 1 sp2_pwm11 = scalar, U08, 704, "", 1.00000, 0.00000, 0, 100, 2 ; bin 1 sp2_pwm12 = scalar, U08, 705, "", 1.00000, 0.00000, 0, 100, 2 ; bin 1 sp1_pwm_index = array, U16, 706, [ 12 ], "indx", 0.10000, 0.00000, 0, 7000, 2 ; PWM lookup table index for SP1 when SP1_mode == 1 sp1_indx1 = scalar, U16, 706, "", 0.10000, 0.00000, 0, 7000, 2 ; bin 1 sp1_indx2 = scalar, U16, 708, "", 0.10000, 0.00000, 0, 7000, 2 ; bin 1 sp1_indx3 = scalar, U16, 710, "", 0.10000, 0.00000, 0, 7000, 2 ; bin 1 sp1_indx4 = scalar, U16, 712, "", 0.10000, 0.00000, 0, 7000, 2 ; bin 1 sp1_indx5 = scalar, U16, 714, "", 0.10000, 0.00000, 0, 7000, 2 ; bin 1 sp1_indx6 = scalar, U16, 716, "", 0.10000, 0.00000, 0, 7000, 2 ; bin 1 sp1_indx7 = scalar, U16, 718, "", 0.10000, 0.00000, 0, 7000, 2 ; bin 1 sp1_indx8 = scalar, U16, 720, "", 0.10000, 0.00000, 0, 7000, 2 ; bin 1 sp1_indx9 = scalar, U16, 722, "", 0.10000, 0.00000, 0, 7000, 2 ; bin 1 sp1_indx10 = scalar, U16, 724, "", 0.10000, 0.00000, 0, 7000, 2 ; bin 1 sp1_indx11 = scalar, U16, 726, "", 0.10000, 0.00000, 0, 7000, 2 ; bin 1 sp1_indx12 = scalar, U16, 728, "", 0.10000, 0.00000, 0, 7000, 2 ; bin 1 sp2_pwm_index = array, U16, 730, [ 12 ], "indx", 0.10000, 0.00000, 0, 7000, 0 ; PWM lookup table index for SP2 when SP1_mode == 1 sp2_indx1 = scalar, U16, 730, "", 0.10000, 0.00000, 0, 7000, 2 ; bin 1 sp2_indx2 = scalar, U16, 732, "", 0.10000, 0.00000, 0, 7000, 2 ; bin 1 sp2_indx3 = scalar, U16, 734, "", 0.10000, 0.00000, 0, 7000, 2 ; bin 1 sp2_indx4 = scalar, U16, 736, "", 0.10000, 0.00000, 0, 7000, 2 ; bin 1 sp2_indx5 = scalar, U16, 738, "", 0.10000, 0.00000, 0, 7000, 2 ; bin 1 sp2_indx6 = scalar, U16, 740, "", 0.10000, 0.00000, 0, 7000, 2 ; bin 1 sp2_indx7 = scalar, U16, 742, "", 0.10000, 0.00000, 0, 7000, 2 ; bin 1 sp2_indx8 = scalar, U16, 744, "", 0.10000, 0.00000, 0, 7000, 2 ; bin 1 sp2_indx9 = scalar, U16, 746, "", 0.10000, 0.00000, 0, 7000, 2 ; bin 1 sp2_indx10 = scalar, U16, 748, "", 0.10000, 0.00000, 0, 7000, 2 ; bin 1 sp2_indx11 = scalar, U16, 750, "", 0.10000, 0.00000, 0, 7000, 2 ; bin 1 sp2_indx12 = scalar, U16, 752, "", 0.10000, 0.00000, 0, 7000, 2 ; bin 1 sp1_index_mode = bits, U08, 754, [0:1], "Load", "Speed", "RPM", "Temperature" ; value to compare to sp1_pwm_index - 0 = load, 1 = speed, 2 = rpm, 4 = clt, 8 current gear sp2_index_mode = bits, U08, 755, [0:1], "Load", "Speed", "RPM", "Temperature" ; value to compare to sp2_pwm_index - 0 = load, 1 = speed, 2 = rpm, 4 = clt, 8 current gear sp1_active = bits, U08, 756, [0:1], "Always ON", "ON except while shifting", "ON only during shift", "INVALID" ; sp2_active = bits, U08, 757, [0:1], "Always ON", "ON except while shifting", "ON only during shift", "INVALID" ; sp1_off = scalar, U08, 758, "%", 1.00000, 0.00000, 0, 100, 0 ; pad1 sp2_off = scalar, U08, 759, "%", 1.00000, 0.00000, 0, 100, 0 ; pad1 sp1_pwm_per = scalar, U08, 760, "msec", 0.128, 0.0000, 0.512, 32.64, 3 ; spare port 1 off duration (in 0.128 msec clock tics) sp2_pwm_per = scalar, U08, 761, "msec", 0.128, 0.0000, 0.512, 32.64, 3 ; spare port 2 off duration (in 0.128 msec clock tics) Output7 = scalar, U16, 762, "", 1.00000, 0.00000, 0, 127, 0 ; output pattern for 3/2sol Out71 = bits, U16, 762, [0:0], "off", "ON"; Out72 = bits, U16, 762, [1:1], "off", "ON"; Out73 = bits, U16, 762, [2:2], "off", "ON"; Out74 = bits, U16, 762, [3:3], "off", "ON"; Out75 = bits, U16, 762, [4:4], "off", "ON"; Out76 = bits, U16, 762, [5:5], "off", "ON"; Out77 = bits, U16, 762, [6:6], "off", "ON"; Out78 = bits, U16, 762, [7:7], "off", "ON"; Out79 = bits, U16, 762, [8:8], "off", "ON"; Out710 = bits, U16, 762, [9:9], "off", "ON"; Out711 = bits, U16, 762, [10:10], "off", "ON"; Out712 = bits, U16, 762, [11:11], "off", "ON"; Out713 = bits, U16, 762, [12:12], "off", "ON"; Out714 = bits, U16, 762, [13:13], "off", "ON"; Out715 = bits, U16, 762, [14:14], "off", "ON"; Out716 = bits, U16, 762, [15:15], "off", "ON"; out2_pwm_off = scalar, U08, 764, "msec", 0.128, 0.0000, 0, 32.64, 3 ; output1 and output2 off duration (in 0.128 clock tics) out2_pwm_on = scalar, U08, 765, "msec", 0.128, 0.0000, 0.128, 32.64, 3 ; output1 and output2 off duration (in 0.128 clock tics) minTCC_gear = scalar, S16, 766, "", 1.00000, 0.00000, 2, 4, 0 ; minimum gear (1-4) for TCC lock anotherSpare = scalar, U08, 768, "", 1.00000, 0.0000, 0, 255, 0 ; pad1 #if LOAD_KPA LOAD_table2 = array, S16, 769, [ 9 ], "kpa", 1.00000, 0.00000, 0, 255, #else LOAD_table2 = array, S16, 769, [ 9 ], "%", 1.00000, 0.00000, 0, 100, #endif #if SI_LENGTHS vss_table2 = array, U16, 787, [ 16 ], "kph", 1.60934, 0.00000, 0, 255, 0 ; vehicle speed tables #else vss_table2 = array, U16, 787, [ 16 ], "mph", 1.00000, 0.00000, 0, 255, 0 ; vehicle speed tables #endif auto_table2 = array, U08, 819, [16x9], "gear", 1.00000, 0.00000, 1, 8, 0 ; The target gear for each LOAD & MPH #if LOAD_KPA LOAD_PCtable = array, S16, 963, [ 9 ], "kpa", 1.00000, 0.00000, 0, 255, #else LOAD_PCtable = array, S16, 963, [ 9 ], "%", 1.00000, 0.00000, 0, 100, #endif LEDP1 = bits, U08, 981, [0:0], "off", "ON" LEDP2 = bits, U08, 981, [1:1], "off", "ON" LEDP3 = bits, U08, 981, [2:2], "off", "ON" LEDP4 = bits, U08, 981, [3:3], "off", "ON" LEDP1alt = bits, U08, 981, [4:4], "off", "ON" LEDP2alt = bits, U08, 981, [5:5], "off", "ON" LEDP3alt = bits, U08, 981, [6:6], "off", "ON" LEDP4alt = bits, U08, 981, [7:7], "off", "ON" volt1 = scalar, S16, 982, "volts", 0.00489, 0.0000, 0, 5.00, 3 ; volt2 = scalar, S16, 984, "volts", 0.00489, 0.0000, 0, 5.00, 3 ; #if SI_LENGTHS press1 = scalar, U16, 986, "bar", 0.00689, 0.0000, 0, 1023, 3 ; convert to psi press2 = scalar, U16, 988, "bar", 0.00689, 0.0000, 0, 1023, 3 ; convert to psi #else press1 = scalar, U16, 986, "psi", 0.10000, 0.0000, 0, 1023, 0 ; press2 = scalar, U16, 988, "psi", 0.10000, 0.0000, 0, 1023, 0 ; #endif mleverdead = scalar, U08, 990, "volts", 0.00489, 0.0000, 0, 0.25, 3 ; plus/minus dead band for manual lever voltage Sretard_load = scalar, S16, 991, "kPa", 0.10, 0.00000, 0.0, 250.0, 1 ; slip timing retard only above load (kpax10) ; // Minimum load to apply timing retard based on internal slip Slip_adv = scalar, S16, 993, "º", -0.10, 0.00000, 0.0, 25.5, 1 ; Upshift timing retard ; Slip_fuel = scalar, S16, 995, "msec", 0.10, 0.00000, 0.0, 25.5, 1 ; Upshift timing retard ; Slip_threshold = scalar, U08, 997, "%", 1.00, 0.00000, 0.0, 100.0, 0 ; Slip threshold to apply retard/fuel adjustments ; two at the same location for debugging INdbugV = scalar, U16, 998, "volts", 0.004883, 0.0000, 0, 5.00, 3 ; INdbugADC = scalar, U16, 998, "count", 1.00000, 0.0000, 0, 1023, 0 ; PCreverse = scalar, U08, 1000, "%", -1.00000, -100.00, 40, 100, 0 ; pressure in neutral PCrvrseOptn = bits, U08, 1001, [0:0], "User Specified (below)", "Use 16x9 Press. Table" leverErr = bits, U08, 1002, [0:0], "Ignore Lever Errors", "Report Lever Errors" minADCLeverVolts = scalar, U16, 1003, "", 0.004883, 0.0000, 0, 5.00, 3 ; minimum valid volts for ADC based lever maxADCLeverVolts = scalar, U16, 1005, "", 0.004883, 0.0000, 0, 5.00, 3 ; maximum valid volts for ADC based lever D2mode = bits, U08, 1007, [0:0], "Use 1st and 2nd", "Use 2nd Only (burnout mode)" pad17 = scalar, U08, 1008, "", 1.000000, 0.0000, 0, 255, 0 ; pad byte value pad16 = scalar, U08, 1009, "", 1.000000, 0.0000, 0, 255, 0 ; pad byte value pad15 = scalar, U08, 1010, "", 1.000000, 0.0000, 0, 255, 0 ; pad byte value pad14 = scalar, U08, 1011, "", 1.000000, 0.0000, 0, 255, 0 ; pad byte value pad13 = scalar, U08, 1012, "", 1.000000, 0.0000, 0, 255, 0 ; pad byte value pad12 = scalar, U08, 1013, "", 1.000000, 0.0000, 0, 255, 0 ; pad byte value pad11 = scalar, U08, 1014, "", 1.000000, 0.0000, 0, 255, 0 ; pad byte value pad10 = scalar, U08, 1015, "", 1.000000, 0.0000, 0, 255, 0 ; pad byte value ; ****************************************************************** end inpram ********************* ; pageSize = 1015 + 1 = 1016 bytes page = 2 ; *************** in2ram **************************************************************************** #if SI_LENGTHS vss_PCtable = array, U16, 0, [ 16 ], "kph", 1.60934, 0.00000, 0, 255, 0 ; vehicle speed tables #else vss_PCtable = array, U16, 0, [ 16 ], "mph", 1.00000, 0.00000, 0, 255, 0 ; vehicle speed tables #endif speedoCorr = array, S16, 32, [ 16 ], "%", 0.10000, 0.00000, -100, 100, 1 ; vehicle speed tables #if SI_LENGTHS speedoCorrBin = array, U16, 64, [ 16 ], "kph", 1.60934, 0.00000, 0, 255, 0 ; vehicle speed tables #else speedoCorrBin = array, U16, 64, [ 16 ], "mph", 1.00000, 0.00000, 0, 255, 0 ; vehicle speed tables #endif SPIsoln1 = scalar, U08, 96, "", 1.00000, 0.00000, 0, 255, 0 ; SPI solenoid control selection SPIsoln10 = bits, U08, 96, [0:0], "Do Not use SPI", "Use SPI" SPIsoln11 = bits, U08, 96, [1:1], "Do Not use SPI", "Use SPI" SPIsoln12 = bits, U08, 96, [2:2], "Do Not use SPI", "Use SPI" SPIsoln13 = bits, U08, 96, [3:3], "Do Not use SPI", "Use SPI" SPIsoln14 = bits, U08, 96, [4:4], "Do Not use SPI", "Use SPI" SPIsoln15 = bits, U08, 96, [5:5], "Do Not use SPI", "Use SPI" SPIsoln16 = bits, U08, 96, [6:6], "Do Not use SPI", "Use SPI" SPIsoln17 = bits, U08, 96, [7:7], "Do Not use SPI", "Use SPI" D0BR = scalar, U08, 97, "", 1.00000, 0.00000, 0, 255, 0 ; SPI baud rate for device 1 D0SPR0 = bits, U08, 97, [0:0], "0", "1"; D0SPR1 = bits, U08, 97, [1:1], "0", "1"; D0SPR2 = bits, U08, 97, [2:2], "0", "1"; D0SPPR0 = bits, U08, 97, [4:4], "0", "1"; D0SPPR1 = bits, U08, 97, [5:5], "0", "1"; D0SPPR2 = bits, U08, 97, [6:6], "0", "1"; D0CR1 = scalar, U08, 98, "", 1.00000, 0.00000, 0, 255, 0 ; SPI0CR1 for device 1 D0LSBFE = bits, U08, 98, [0:0], "0", "1"; D0SSOE = bits, U08, 98, [1:1], "0", "1"; D0CPHA = bits, U08, 98, [2:2], "0", "1"; D0CPOL = bits, U08, 98, [3:3], "0", "1"; D0MSTR = bits, U08, 98, [4:4], "0", "1"; D0SPTIE = bits, U08, 98, [5:5], "0", "1"; D0SPE = bits, U08, 98, [6:6], "0", "1"; D0SPIE = bits, U08, 98, [7:7], "0", "1"; D0CR2 = scalar, U08, 99, "", 1.00000, 0.00000, 0, 31, 0 ; SPI0CR2 for device 1 D0SPC0 = bits, U08, 99, [0:0], "0", "1"; D0SPISWAI = bits, U08, 99, [1:1], "0", "1"; D0BIDIROE = bits, U08, 99, [3:3], "0", "1"; D0MODFEN = bits, U08, 99, [4:4], "0", "1"; D1BR = scalar, U08, 100, "", 1.00000, 0.00000, 0, 255, 0 ; SPI baud rate for device 2 D1SPR0 = bits, U08, 100, [0:0], "0", "1"; D1SPR1 = bits, U08, 100, [1:1], "0", "1"; D1SPR2 = bits, U08, 100, [2:2], "0", "1"; D1SPPR0 = bits, U08, 100, [4:4], "0", "1"; D1SPPR1 = bits, U08, 100, [5:5], "0", "1"; D1SPPR2 = bits, U08, 100, [6:6], "0", "1"; D1CR1 = scalar, U08, 101, "", 1.00000, 0.00000, 0, 255, 0 ; SPI0CR1 for device 2 D1LSBFE = bits, U08, 101, [0:0], "0", "1"; D1SSOE = bits, U08, 101, [1:1], "0", "1"; D1CPHA = bits, U08, 101, [2:2], "0", "1"; D1CPOL = bits, U08, 101, [3:3], "0", "1"; D1MSTR = bits, U08, 101, [4:4], "0", "1"; D1SPTIE = bits, U08, 101, [5:5], "0", "1"; D1SPE = bits, U08, 101, [6:6], "0", "1"; D1SPIE = bits, U08, 101, [7:7], "0", "1"; D1CR2 = scalar, U08, 102, "", 1.00000, 0.00000, 0, 31, 0 ; SPI0CR2 for device 2 D1SPC0 = bits, U08, 102, [0:0], "0", "1"; D1SPISWAI = bits, U08, 102, [1:1], "0", "1"; D1BIDIROE = bits, U08, 102, [3:3], "0", "1"; D1MODFEN = bits, U08, 102, [4:4], "0", "1"; D2BR = scalar, U08, 103, "", 1.00000, 0.00000, 0, 255, 0 ; ... D2SPR0 = bits, U08, 103, [0:0], "0", "1"; D2SPR1 = bits, U08, 103, [1:1], "0", "1"; D2SPR2 = bits, U08, 103, [2:2], "0", "1"; D2SPPR0 = bits, U08, 103, [4:4], "0", "1"; D2SPPR1 = bits, U08, 103, [5:5], "0", "1"; D2SPPR2 = bits, U08, 103, [6:6], "0", "1"; D2CR1 = scalar, U08, 104, "", 1.00000, 0.00000, 0, 255, 0 ; ... D2LSBFE = bits, U08, 104, [0:0], "0", "1"; D2SSOE = bits, U08, 104, [1:1], "0", "1"; D2CPHA = bits, U08, 104, [2:2], "0", "1"; D2CPOL = bits, U08, 104, [3:3], "0", "1"; D2MSTR = bits, U08, 104, [4:4], "0", "1"; D2SPTIE = bits, U08, 104, [5:5], "0", "1"; D2SPE = bits, U08, 104, [6:6], "0", "1"; D2SPIE = bits, U08, 104, [7:7], "0", "1"; D2CR2 = scalar, U08, 105, "", 1.00000, 0.00000, 0, 31, 0 ; ... D2SPC0 = bits, U08, 105, [0:0], "0", "1"; D2SPISWAI = bits, U08, 105, [1:1], "0", "1"; D2BIDIROE = bits, U08, 105, [3:3], "0", "1"; D2MODFEN = bits, U08, 105, [4:4], "0", "1"; D3BR = scalar, U08, 106, "", 1.00000, 0.00000, 0, 255, 0 ; ... D3SPR0 = bits, U08, 106, [0:0], "0", "1"; D3SPR1 = bits, U08, 106, [1:1], "0", "1"; D3SPR2 = bits, U08, 106, [2:2], "0", "1"; D3SPPR0 = bits, U08, 106, [4:4], "0", "1"; D3SPPR1 = bits, U08, 106, [5:5], "0", "1"; D3SPPR2 = bits, U08, 106, [6:6], "0", "1"; D3CR1 = scalar, U08, 107, "", 1.00000, 0.00000, 0, 255, 0 ; ... D3LSBFE = bits, U08, 107, [0:0], "0", "1"; D3SSOE = bits, U08, 107, [1:1], "0", "1"; D3CPHA = bits, U08, 107, [2:2], "0", "1"; D3CPOL = bits, U08, 107, [3:3], "0", "1"; D3MSTR = bits, U08, 107, [4:4], "0", "1"; D3SPTIE = bits, U08, 107, [5:5], "0", "1"; D3SPE = bits, U08, 107, [6:6], "0", "1"; D3SPIE = bits, U08, 107, [7:7], "0", "1"; D3CR2 = scalar, U08, 108, "", 1.00000, 0.00000, 0, 31, 0 ; ... D3SPC0 = bits, U08, 108, [0:0], "0", "1"; D3SPISWAI = bits, U08, 108, [1:1], "0", "1"; D3BIDIROE = bits, U08, 108, [3:3], "0", "1"; D3MODFEN = bits, U08, 108, [4:4], "0", "1"; spi_enable = scalar, U08, 109, "", 1.00000, 0.00000, 0, 32000, 0 ; spare13 in in2ram spi_D0enable = bits, U08, 109, [0:0], "disable", "enable" spi_D1enable = bits, U08, 109, [1:1], "disable", "enable" spi_D2enable = bits, U08, 109, [2:2], "disable", "enable" spi_D3enable = bits, U08, 109, [3:3], "disable", "enable" sp0_mode = bits, U08, 110, [0:2], "Speedo Output", "PWM mode", "TCC mode", "Use as Shift Solenoid", "Selective Clutch", "INVALID", "INVALID", "INVALID" sp0_active = bits, U08, 111, [0:1], "Always ON", "ON except while shifting", "ON only during shift", "INVALID" ; sp0_16Bin = array, U16, 112, [ 16 ], "", 1.00000, 0.00000, 0, 255, 0 ; vehicle speed tables sp0_9Bin = array, U16, 144, [ 9 ], "", 1.00000, 0.00000, 0, 255, 0 ; vehicle speed tables sp0_table = array, U08, 162, [16x9], "%", 1.00000, 0.00000, 0, 100, 0 ; The target PWM % on SP0 for each LOAD & MPH sp0_per = scalar, U16, 306, "msec", 0.00100, 0.00000, 0.427, 10.888, 3 ; TCC PWM period (usec) - keep between 0.427 and 10.888 msec (92 Hertz and 2340 Hertz) sp0_off = scalar, U08, 308, "%", 1.00000, 0.00000, 0, 100, 0 ; sp0_9index_mode = bits, U08, 309, [0:1], "Load", "Speed", "RPM", "Temperature" ; value to compare to sp1_pwm_index - 0 = load, 1 = speed, 2 = rpm, 4 = clt, 8 current gear sp0_16index_mode = bits, U08, 310, [0:1], "Load", "Speed", "RPM", "Temperature" ; value to compare to sp1_pwm_index - 0 = load, 1 = speed, 2 = rpm, 4 = clt, 8 current gear SPIsoln2 = scalar, U08, 311, "", 1.00000, 0.00000, 0, 255, 0 ; SPI solenoid control selection SPIsoln20 = bits, U08, 311, [0:0], "Do Not use SPI", "Use SPI" SPIsoln21 = bits, U08, 311, [1:1], "Do Not use SPI", "Use SPI" SPIsoln22 = bits, U08, 311, [2:2], "Do Not use SPI", "Use SPI" SPIsoln23 = bits, U08, 311, [3:3], "Do Not use SPI", "Use SPI" SPIsoln24 = bits, U08, 311, [4:4], "Do Not use SPI", "Use SPI" SPIsoln25 = bits, U08, 311, [5:5], "Do Not use SPI", "Use SPI" SPIsoln26 = bits, U08, 311, [6:6], "Do Not use SPI", "Use SPI" SPIsoln27 = bits, U08, 311, [7:7], "Do Not use SPI", "Use SPI" ; clutch0up = scalar, U08, 312, "", 1.00000, 0.00000, 0, 127, 0 ; output pattern for upshift spare port 1 in clutch mode clutch01u = bits, U08, 312, [0:0], "off", "ON" ; 1-2 clutch02u = bits, U08, 312, [1:1], "off", "ON" ; 2-3 clutch03u = bits, U08, 312, [2:2], "off", "ON" ; 3-4 clutch04u = bits, U08, 312, [3:3], "off", "ON" ; 4-5 clutch05u = bits, U08, 312, [4:4], "off", "ON" ; 5-6 clutch06u = bits, U08, 312, [5:5], "off", "ON" ; 6-7 clutch07u = bits, U08, 312, [6:6], "off", "ON" ; 7-8 clutch08u = bits, U08, 312, [7:7], "off", "ON" ; not used ; clutch0dwn = scalar, U08, 313, "", 1.00000, 0.00000, 0, 127, 0 ; output pattern for upshift spare port 1 in clutch mode clutch01d = bits, U08, 313, [0:0], "off", "ON" ; 1-2 clutch02d = bits, U08, 313, [1:1], "off", "ON" ; 2-3 clutch03d = bits, U08, 313, [2:2], "off", "ON" ; 3-4 clutch04d = bits, U08, 313, [3:3], "off", "ON" ; 4-5 clutch05d = bits, U08, 313, [4:4], "off", "ON" ; 5-6 clutch06d = bits, U08, 313, [5:5], "off", "ON" ; 6-7 clutch07d = bits, U08, 313, [6:6], "off", "ON" ; 7-8 clutch08d = bits, U08, 313, [7:7], "off", "ON" ; not used ; Ouput8ptrn = bits, U16, 314, "", 1.00000, 0.00000, 0, 127, 0 ; output pattern for 3/2sol Out81 = bits, U16, 314, [0:0], "off", "ON"; Out82 = bits, U16, 314, [1:1], "off", "ON"; Out83 = bits, U16, 314, [2:2], "off", "ON"; Out84 = bits, U16, 314, [3:3], "off", "ON"; Out85 = bits, U16, 314, [4:4], "off", "ON"; Out86 = bits, U16, 314, [5:5], "off", "ON"; Out87 = bits, U16, 314, [6:6], "off", "ON"; Out88 = bits, U16, 314, [7:7], "off", "ON"; Out89 = bits, U16, 314, [8:8], "off", "ON"; Out810 = bits, U16, 314, [9:9], "off", "ON"; Out811 = bits, U16, 314, [10:10], "off", "ON"; Out812 = bits, U16, 314, [11:11], "off", "ON"; Out813 = bits, U16, 314, [12:12], "off", "ON"; Out814 = bits, U16, 314, [13:13], "off", "ON"; Out815 = bits, U16, 314, [14:14], "off", "ON"; Out816 = bits, U16, 314, [15:15], "off", "ON"; ; LEDflash = bits, U08, 316, "", 1.00000, 0.00000, 0, 127, 0 ; bit0 for flash LED in manual 0 = no, 1 = yes FlashLEDs = bits, U08, 316, [0:0], "no flash", "Flash"; nestINTS = bits, U08, 317, [0:0], "Low Speed Comms", "High Speed Comms" ; * SlipOptn = bits, U08, 318, [0:0], "Slip in Converter (Tach/ISS)", "Slip in Transmission (ISS/VSS)" ; * TPS_PCtable = array, S16, 319, [ 9 ], "%", 1.00000, 0.00000, 0, 100, 0 ; TPS_table1 = array, S16, 337, [ 9 ], "%", 1.00000, 0.00000, 0, 100, 0 ; TPS_table2 = array, S16, 355, [ 9 ], "%", 1.00000, 0.00000, 0, 100, 0 ; lever_timer = scalar, U08, 373, "sec", 0.10000, 1.00000, 0.3, 25.5, 1 ; lever error delay maxDeltaLever = scalar, U08, 374, "", 1.00000, 0.00000, 1, 4, 0 ; spare14 in in2ram canVSSoffset = scalar, U16, 375, "bytes", 1.00000, 0.00000, 0, 512, 0 ; VSS over CAN offset within outpc. msOutpcBytes = scalar, U16, 377, "bytes", 1.00000, 0.00000, 8, 512, 0 ; ECU outpc size TCC_hyst = scalar, U08, 379, "", 0.10000, 0.00000, 0, 25.5, 1 ; TCC hysteresis speedoutDC = scalar, U08, 380, "%", 1.00000, 0.00000, 1, 99, 0 ; Speedo output duty cycle pad22 = scalar, U08, 381, "", 1.00000, 0.00000, 0, 255, 0 ; pad21 = scalar, U08, 382, "", 1.00000, 0.00000, 0, 255, 0 ; pad20 = scalar, U08, 383, "", 1.00000, 0.00000, 0, 255, 0 ; ; ****************************************************************** end in2ram ********************* ; pageSize = 383 + U08 = 384 [Menu] ;---------------------------------------------------------------------------- ; There are five pre-defined values that may be used to define your menus. ; The first four allow access to the "standard" dialog boxes, the last one ; merely draws a separator (horizontal line) in the menu. ; ; std_constants ; std_enrichments ; std_realtime ; std_warmup ; std_accel ; ; std_separator ; ; If you use any of the std_constants, std_enrichments or std_warmup ; editors, they may be optionally suffixed with a page number (only ; useful for multi-page code variants), which causes them to edit the ; specified page. If you leave off the page specifier, they edit logical ; page one as specified in the Constants section. ; ; There are four special menu names, which when used append to the standard ; menus of the same name instead of creating a new one. The menu names ; are "File", "Communications", "Tools" and "Help". ; ;---------------------------------------------------------------------------- menuDialog = main menu = "Controller Hard&ware" subMenu = hardwareMenu, "&Controller Hardware" menuDialog = main menu = "&General Settings" subMenu = revlimits, "&Rev Limits" subMenu = gearRatios, "&Gear Ratios" subMenu = shiftFactors, "&Shift Factors" subMenu = shiftPressures, "Shift &Line Pressure Settings" subMenu = throttleFactors,"T&hrottle Factors" subMenu = PWMSettings, "Solenoid &PWM Setup" subMenu = retards, "Timing-Fuel &Adjustments", 0, { CAN_enabled } subMenu = idleAdj, "I&dle-Up Adjustment" subMenu = VSSSettings, "&VSS Setup" subMenu = MPGSettings, "&MPG Settings" subMenu = stdIN, "Standard &Inputs/Outputs Configuration" subMenu = Dither, "P&WM Refresh/Dither" subMenu = ISSSettings, "ISS/&non-CANbus Tach Setup" subMenu = noCANload, "non-CANbus &Load Calibration", 0, { !CAN_enabled } ; subMenu = Units, "&Units" subMenu = errorCheck, "&Error Behavior" menuDialog = main menu = "Shift &Input Patterns" subMenu = leverType, "&Lever and Shift Buttons Configuration" subMenu = std_separator ;---------------------------------------------- subMenu = InPatternGP, "&Input Pattern in Park", 0, {mlever_mode==0} subMenu = InPatternGN, "&Input Pattern in Neutral", 0, {mlever_mode==0} subMenu = InPatternGR, "&Input Pattern in Reverse", 0, {mlever_mode==0} subMenu = InPatternG1, "&Input Pattern in 1st", 0, {mlever_mode==0} subMenu = InPatternG2, "&Input Pattern in 2nd", 0, {mlever_mode==0} subMenu = InPatternG3, "&Input Pattern in 3rd", 0, {mlever_mode==0} subMenu = InPatternG4, "&Input Pattern in 4th", 0, {mlever_mode==0} subMenu = InPatternG5, "&Input Pattern in 5th", 0, {mlever_mode==0 && num_gears > 4} subMenu = InPatternG6, "&Input Pattern in 6th", 0, {mlever_mode==0 && num_gears > 5} subMenu = InPatternG7, "&Input Pattern in 7th", 0, {mlever_mode==0 && num_gears > 6} subMenu = InPatternG8, "&Input Pattern in 8th", 0, {mlever_mode==0 && num_gears > 7} subMenu = InPattern1b, "Configure I&nputs", 0, {mlever_mode==1} menuDialog = main menu = "S&hift Ouput Patterns" subMenu = outPatternGP, "Output Pattern in Park" subMenu = outPatternGN, "Output Pattern in Neutral" subMenu = outPatternGR, "Output Pattern in Reverse" subMenu = outPatternG1, "Output Pattern in 1st" subMenu = outPatternG2, "Output Pattern in 2nd" subMenu = outPatternG3, "Output Pattern in 3rd" subMenu = outPatternG4, "Output Pattern in 4th" subMenu = outPatternG5, "Output Pattern in 5th", 0, {num_gears > 4} subMenu = outPatternG6, "Output Pattern in 6th", 0, {num_gears > 5} subMenu = outPatternG7, "Output Pattern in 7th", 0, {num_gears > 6} subMenu = outPatternG8, "Output Pattern in 8th", 0, {num_gears > 7} subMenu = std_separator ;---------------------------------------------- subMenu = solCup, "Output 3 UpShift Behavior", 0, { PWM_enable3 } subMenu = solCdown, "Output 3 DownShift Behavior", 0, { PWM_enable3 } subMenu = clutch0, "Clutc&h Pattern (Output 8)", 0, {sp0_mode == 4} subMenu = clutch1, "Clutc&h Pattern (Output 7)", 0, {sp1_mode == 4} subMenu = clutch2, "Clutch P&attern (Output 4)", 0, {sp2_mode == 4} menuDialog = main menu = "TCC Setti&ngs" subMenu = TCCSettings, "&TCC Control Limits" subMenu = TCCupshift, "TCC &UpShift Settings" subMenu = LUFparams, "T&CC LOAD/PWM% Parameters", 0, {TCC_PWM == 1} menuDialog = main menu = "T&ables" subMenu = geartable1, "&Gear Auto-Shift Table 1" subMenu = geartable2, "G&ear Auto-Shift Table 2" subMenu = pctable, "&Pressure Control Table", 0 subMenu = sp0table, "&Spare Port 0 Table", 0, { sp0_mode > 0 } menuDialog = main menu = "&Bins" subMenu = loadBins1, "Edit &MAP Bins for shift table 1" subMenu = mphBins1, "Edit &Speed Bins 1 for shift table 1" subMenu = loadBins2, "Edit M&AP Bins for shift table 2" subMenu = mphBins2, "Edit S&peed Bins for shift table 2" subMenu = loadBins3, "Edit MAP &Bins for PC PWM% table" subMenu = mphBins3, "Edit Speed B&ins for PC PWM% table" subMenu = tempBins, "Edit &Temperature Bins" menuDialog = main menu = "L&ED Patterns" subMenu = Gear1pattern, "&1st LED Pattern" subMenu = Gear2pattern, "&2nd LED Pattern" subMenu = Gear3pattern, "&3rd LED Pattern" subMenu = Gear4pattern, "&4th LED Pattern" subMenu = Gear5pattern, "&5th LED Pattern", 0, {num_gears > 4} subMenu = Gear6pattern, "&6th LED Pattern", 0, {num_gears > 5} subMenu = Gear7pattern, "&7th LED Pattern", 0, {num_gears > 6} subMenu = Gear8pattern, "&8th LED Pattern", 0, {num_gears > 7} subMenu = GearPpattern, "&Park LED Pattern" subMenu = GearNpattern, "&Neutral LED Pattern" subMenu = GearRpattern, "&Reverse LED Pattern" subMenu = GearLEDflash, "&Flash LEDs in Manual" menuDialog = main menu = "&Tuning" subMenu = gearmap, "&Gear Shift Table1 (default)" subMenu = gearmap2, "Gear S&hift Table2 (alternate)" subMenu = pcmap, "&Pressure Control Table", 0 subMenu = sp0map, "Spare Port &0 Table", 0, { sp0_mode > 0 } subMenu = PCtemp_adjust, "&Line Pressure vs. Temp." subMenu = SpeedoCorrection,"Sp&eedometer Correction" subMenu = SparePort1PWM0, "&Spare Port 1 PWM ON (load)", 0, { sp1_index_mode == 0} subMenu = SparePort2PWM0, "Sp&are Port 2 PWM ON (load)", 0, { sp2_index_mode == 0} subMenu = SparePort1PWM1, "Spa&re Port 1 PWM ON (speed)", 0, { sp1_index_mode == 1} subMenu = SparePort2PWM1, "Spare P&ort 2 PWM ON (speed)", 0, { sp2_index_mode == 1} subMenu = SparePort1PWM2, "Spare Por&t 1 PWM ON (RPM)", 0, { sp1_index_mode == 2} subMenu = SparePort2PWM2, "Spare Port &2 PWM ON (RPM)", 0, { sp2_index_mode == 2} subMenu = SparePort1PWM3, "Spare Port &1 PWM ON (temper.)", 0, { sp1_index_mode == 3} subMenu = SparePort2PWM3, "Spare Port 2 PWM O&N (temper.)", 0, { sp2_index_mode == 3} subMenu = SparePort1PWM4, "Spare Port 1 PWM ON (&gear)", 0, { sp1_index_mode == 4} subMenu = SparePort2PWM4, "Spare Port 2 PWM ON (ge&ar)", 0, { sp2_index_mode == 4} menuDialog = main menu = "&Spare Ports" subMenu = sprUse, "Spare Ports &Function" subMenu = spareport0, "Speedo Output on Spare Port &0",0, { sp0_mode == 0 } subMenu = spareport1, "&User Spare Port 1", 0, { sp1_mode == 0 } subMenu = spareport2, "U&ser Spare Port 2", 0, { sp2_mode == 0 } subMenu = sp0PWMdia, "&Spare Port 0 PWM Setup", 0, { sp0_mode > 0 } subMenu = sp1PWMdia, "Sp&are Port 1 PWM Setup" subMenu = sp2PWMdia, "Spa&re Port 2 PWM Setup" subMenu = sp1PWMvalues, "Spar&e Port 1 PWM Percent" subMenu = sp2PWMvalues, "Spare &Port 2 PWM Percent" subMenu = sp1INDX, "Spare P&ort 1 PWM Index" subMenu = sp2INDX, "Spare Por&t 2 PWM Index" ; menuDialog = main ; menu = "SPI De&vices" ; subMenu = spiEnable, "Enable/Disable SPI Devices" ; subMenu = std_separator ;---------------------------------------------- ; subMenu = spiD0configBR, "Device 0 Baud Rate", 0, { spi_D0enable } ; subMenu = spiD0configCR1, "Device 0 SPI0CR1", 0, { spi_D0enable } ; subMenu = spiD0configCR2, "Device 0 SPI0CR2", 0, { spi_D0enable } ; subMenu = std_separator ;---------------------------------------------- ; subMenu = spiD1configBR, "Device 1 Baud Rate", 0, { spi_D1enable } ; subMenu = spiD1configCR1, "Device 1 SPI0CR1", 0, { spi_D1enable } ; subMenu = spiD1configCR2, "Device 1 SPI0CR2", 0, { spi_D1enable } ; subMenu = std_separator ;---------------------------------------------- ; subMenu = spiD2configBR, "Device 2 Baud Rate", 0, { spi_D2enable } ; subMenu = spiD2configCR1, "Device 2 SPI0CR1", 0, { spi_D2enable } ; subMenu = spiD2configCR2, "Device 2 SPI0CR2", 0, { spi_D2enable } ; subMenu = std_separator ;---------------------------------------------- ; subMenu = spiD3configBR, "Device 3 Baud Rate", 0, { spi_D3enable } ; subMenu = spiD3configCR1, "Device 3 SPI0CR1", 0, { spi_D3enable } ; subMenu = spiD3configCR2, "Device 3 SPI0CR2", 0, { spi_D3enable } menuDialog = main menu = "T&ools" subMenu = std_ms2gentherm, "&Calibrate T&hermistor Table..." subMenu = canconfig, "C&AN Configuration" subMenu = GPIOpins, "GPIO Pin Assignments", 0, { hardware == 0 } ; subMenu = uTCUpins, "microTCU Pin Assignments", 0, { hardware == 1 } subMenu = debug, "Debugging Input Variables" menu = "&Help" subMenu = helpGeneral, "&MegaShift/GPIO Info" ;------------------------------------------------------------------------------- [UserDefined] dialog = hardwareMenu, "Controller Hardware" ; topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#w" topicHelp = "V41tune.html#w" field = "#Controller Hardware", hardware field = "Changes requires power cycle on controller." field = "Be sure to burn change before power cycle." dialog = revlimits, "Rev Limits" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#gr" field = "#Rev Limits" field = "#(shift not allowed if it will" field = "#result in exceeding these limits)" field = "RPM Checking", rpm_check field = "Lower Rev Limit", under_rev_limit, { rpm_check } field = "Upper Rev Limit", rpm_limit, { rpm_check } field = "Force Auto Mode", forceAUTOoptn dialog = errorCheck, "Error Behavior" topicHelp="http://www.msgpio.com/manuals/mshift/V41tune.html#ge" field = "On error", error_check field = "If set, errors are displayed in" field = "'Codes' indicator below," field = "in the Error gauge, and datalog." field = "Otherwise they are ignored." field = "Lever Error Behavior", leverErr field = "Lever Error Delay", lever_timer, { leverErr == 1 } dialog = VSSSettings, "VSS Setup" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#gv" field = "Number of VSS Teeth", num_teeth, { (!canVSSoffset) || (can_testout) } field = "Input Capture Edge", InputCaptureEdge, { (!canVSSoffset) || (can_testout) } field = "VSS Input Masking", vss_mask, { (!canVSSoffset) || (can_testout) } field = "VSS Smoothing Factor", VSSsmoothFactor, { (!canVSSoffset) || (can_testout) } field = "Max. Vehicle Speed", maxSpeed field = "Min. Vehicle Speed", min_speed field = "Max. Errors to Reset", vss_skip_max, { (!canVSSoffset) || (can_testout) } field = "Reset filter off", resetTime, { (!canVSSoffset) || (can_testout) } field = "Axle Ratio", axle_ratio field = "Tire Diameter", tire_diam field = "4WD Speedo Correction", FWD_factor, { FWD_cfg && !In4_cfg} field = "!Any changes to above require" field = "!a restart to take effect" dialog = shiftPressures, "Max. Shift Line Pressure Settings" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#gt" field = "Upshift to 2nd", maxUPpressure2 field = "Upshift to 3rd", maxUPpressure3 field = "Upshift to 4th", maxUPpressure4 field = "Upshift to 5th", maxUPpressure5, { num_gears > 4} field = "Upshift to 6th", maxUPpressure6, { num_gears > 5} field = "Upshift to 7th", maxUPpressure7, { num_gears > 6} field = "Upshift to 8th", maxUPpressure8, { num_gears > 7} field = "Downshift to 1st", maxDWNpressure1 field = "Downshift to 2nd", maxDWNpressure2 field = "Downshift to 3rd", maxDWNpressure3 field = "Downshift to 4th", maxDWNpressure4, { num_gears > 4} field = "Downshift to 5th", maxDWNpressure5, { num_gears > 5} field = "Downshift to 6th", maxDWNpressure6, { num_gears > 6} field = "Downshift to 7th", maxDWNpressure7, { num_gears > 7} dialog = MPGSettings, "MPG Settings" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#gv" field = "Injector Flow Rate", inj_flow field = "Injector Open Time", open_time field = "Fuel Density", fuel_density field = "Number of Squirts", nSquirts field = "#divide by 2 if alternating" dialog = ISSSettings, "ISS/non-CANbus Tach Settings" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#gn" field = "!ISS/Tach Input Usage", ic2_usage field = "TCC/Trans Slip Reporting", SlipOptn, { ic2_usage == 1 } field = "Pulses/Revolution", iss_divider, { ic2_usage > 0 } field = "Input Mask", iss_mask, { ic2_usage > 0 } field = "!Input Capture Edge", ic2_edge, { ic2_usage > 0 } dialog = retards, "Timing and Fuel Adjustments" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#ga" field = "Retard only above", Tretard_load, { CAN_enabled } field = "Upshift Retard", upshift_retard, { CAN_enabled } field = "Downshift Retard", dwnshift_retard, { CAN_enabled } field = "2nd Gear Retard", gear2_retard, { CAN_enabled } field = "3rd Gear Retard", gear3_retard, { CAN_enabled } field = "4th Gear Retard", gear4_retard, { CAN_enabled } field = "5th Gear Retard", gear5_retard, { CAN_enabled && num_gears > 4} field = "6th Gear Retard", gear6_retard, { CAN_enabled && num_gears > 5} field = "7th Gear Retard", gear7_retard, { CAN_enabled && num_gears > 6} field = "8th Gear Retard", gear8_retard, { CAN_enabled && num_gears > 7} field = "Slip Based Retard and Fuel Adjustments" field = "Min. Load for Slip Based Retard", Sretard_load, { ic2_usage == 1 } field = "Retard When Slip Detected", Slip_adv, { ic2_usage == 1 } field = "Fuel Adjustment When Slip Detected", Slip_fuel, { ic2_usage == 1 } field = "Min. Slip for Adjustments", Slip_threshold, { ic2_usage == 1 } dialog = idleAdj, "Idle-Up Adjustments" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#gd" field = "#Adjustments applied ONLY if" field = "#stopped in 1st gear with TPS=0" field = "Timing Adjustment", AdvAdjngear field = "Idle Valve Adjustment", IACAdjngear, { CAN_enabled } field = "in % if PWM Idle Valve, in steps if stepper IAC." field = "Can be positive or negative." dialog = gearRatios, "Gear Ratios" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#gg" field = "Number of forward gears", num_gears field = "First Gear", gear1 field = "Second Gear", gear2 field = "Third Gear", gear3 field = "Fourth Gear", gear4 field = "Fifth Gear", gear5, { num_gears > 4 } field = "Sixth Gear", gear6, { num_gears > 5 } field = "Seventh Gear", gear7, { num_gears > 6 } field = "Eighth Gear", gear8, { num_gears > 7 } field ="#" field = "Reverse Gear", gearR dialog = Dither, "PWM Refresh and Dithering" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#gw" field = "PWM Refresh Interval", refresh_int field = "PWM Refresh Duration", refresh_dur field = "PC Dither Interval", dither_intPC field = "PC Dither Duration", dither_durPC dialog = outPatternGP, "Output Pattern in Park" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#h" field = "Output 1", Out11 field = "Output 2", Out21 field = "Output 3", Out31 field = "Output 4", Out41, { sp2_mode == 3 } field = "Output 5", Out51, { spareInputs==1 || spareInputs==2} field = "Output 6", Out61, { spareInputs==1 } field = "Output 7", Out71, { sp1_mode == 3 } field = "Output 8", Out81, { sp0_mode == 3 } field = "Must be unique for each gear." field = "Change only when off-line." dialog = outPatternGN, "Output Pattern in Neutral" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#h" field = "Output 1", Out12 field = "Output 2", Out22 field = "Output 3", Out32 field = "Output 4", Out42, { sp2_mode == 3 } field = "Output 5", Out52, { spareInputs==1 || spareInputs==2 } field = "Output 6", Out62, { spareInputs==1 } field = "Output 7", Out72, { sp1_mode == 3 } field = "Output 8", Out82, { sp0_mode == 3 } field = "Change only when off-line." dialog = outPatternGR, "Output Pattern in Reverse" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#h" field = "Output 1", Out13 field = "Output 2", Out23 field = "Output 3", Out33 field = "Output 4", Out43, { sp2_mode == 3 } field = "Output 5", Out53, { spareInputs==1 || spareInputs==2 } field = "Output 6", Out63, { spareInputs==1 } field = "Output 7", Out73, { sp1_mode == 3 } field = "Output 8", Out83, { sp0_mode == 3 } field = "Change only when off-line." dialog = outPatternG1, "Output Pattern in 1st" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#h" field = "Output 1", Out14 field = "Output 2", Out24 field = "Output 3", Out34 field = "Output 4", Out44, { sp2_mode == 3 } field = "Output 5", Out54, { spareInputs==1 || spareInputs==2 } field = "Output 6", Out64, { spareInputs==1 } field = "Output 7", Out74, { sp1_mode == 3 } field = "Output 8", Out84, { sp0_mode == 3 } field = "Must be unique for each forward gear." field = "Change only when off-line." dialog = outPatternG2, "Output Pattern in 2nd" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#h" field = "Output 1", Out15 field = "Output 2", Out25 field = "Output 3", Out35 field = "Output 4", Out45, { sp2_mode == 3 } field = "Output 5", Out55, { spareInputs==1 || spareInputs==2 } field = "Output 6", Out65, { spareInputs==1 } field = "Output 7", Out75, { sp1_mode == 3 } field = "Output 8", Out85, { sp0_mode == 3 } field = "Must be unique for each forward gear." field = "Change only when off-line." dialog = outPatternG3, "Output Pattern in 3rd" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#h" field = "Output 1", Out16 field = "Output 2", Out26 field = "Output 3", Out36 field = "Output 4", Out46, { sp2_mode == 3 } field = "Output 5", Out56, { spareInputs==1 || spareInputs==2 } field = "Output 6", Out66, { spareInputs==1 } field = "Output 7", Out76, { sp1_mode == 3 } field = "Output 8", Out86, { sp0_mode == 3 } field = "Must be unique for each forward gear." field = "Change only when off-line." dialog = outPatternG4, "Output Pattern in 4th" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#h" field = "Output 1", Out17 field = "Output 2", Out27 field = "Output 3", Out37 field = "Output 4", Out47, { sp2_mode == 3 } field = "Output 5", Out57, { spareInputs==1 || spareInputs==2 } field = "Output 6", Out67, { spareInputs==1 } field = "Output 7", Out77, { sp1_mode == 3 } field = "Output 8", Out87, { sp0_mode == 3 } field = "Must be unique for each forward gear." field = "Change only when off-line." dialog = outPatternG5, "Output Pattern in 5th" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#h" field = "Output 1", Out18 field = "Output 2", Out28 field = "Output 3", Out38 field = "Output 4", Out48, { sp2_mode == 3 } field = "Output 5", Out58, { spareInputs==1 || spareInputs==2 } field = "Output 6", Out68, { spareInputs==1 } field = "Output 7", Out78, { sp1_mode == 3 } field = "Output 8", Out88, { sp0_mode == 3 } field = "Must be unique for each forward gear." field = "Change only when off-line." dialog = outPatternG6, "Output Pattern in 6th" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#h" field = "Output 1", Out19 field = "Output 2", Out29 field = "Output 3", Out39 field = "Output 4", Out49, { sp2_mode == 3 } field = "Output 5", Out59, { spareInputs==1 || spareInputs==2 } field = "Output 6", Out69, { spareInputs==1 } field = "Output 7", Out79, { sp1_mode == 3 } field = "Output 8", Out89, { sp0_mode == 3 } field = "Must be unique for each forward gear." field = "Change only when off-line." dialog = outPatternG7, "Output Pattern in 7th" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#h" field = "Output 1", Out110 field = "Output 2", Out210 field = "Output 3", Out310 field = "Output 4", Out410, { sp2_mode == 3 } field = "Output 5", Out510, { spareInputs==1 || spareInputs==2 } field = "Output 6", Out610, { spareInputs==1 } field = "Output 7", Out710, { sp1_mode == 3 } field = "Output 8", Out810, { sp0_mode == 3 } field = "Must be unique for each forward gear." field = "Change only when off-line." dialog = outPatternG8, "Output Pattern in 8th" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#h" field = "Output 1", Out111 field = "Output 2", Out211 field = "Output 3", Out311 field = "Output 4", Out411, { sp2_mode == 3 } field = "Output 5", Out511, { spareInputs==1 || spareInputs==2 } field = "Output 6", Out611, { spareInputs==1 } field = "Output 7", Out711, { sp1_mode == 3 } field = "Output 8", Out811, { sp0_mode == 3 } field = "Must be unique for each forward gear." field = "Change only when off-line." dialog = solCup, "Output3 UP SHIFT PWM%" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#h" field = "Upshift to 2nd", solCupshiftPWM1, { PWM_enable3 } field = "Upshift to 3rd", solCupshiftPWM2, { PWM_enable3 } field = "Upshift to 4th", solCupshiftPWM3, { PWM_enable3 } field = "Upshift to 5th", solCupshiftPWM4, { PWM_enable3 && num_gears > 4} field = "Upshift to 6th", solCupshiftPWM5, { PWM_enable3 && num_gears > 5} field = "Upshift to 7th", solCupshiftPWM6, { PWM_enable3 && num_gears > 6} field = "Upshift to 8th", solCupshiftPWM7, { PWM_enable3 && num_gears > 7} field = "Set to zero to disable" field = "different PWM% during shift." dialog = solCdown, "Output3 DOWN SHIFT PWM%" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#h" field = "Downshift to 1st", solCdwnshiftPWM1, { PWM_enable3 } field = "Downshift to 2nd", solCdwnshiftPWM2, { PWM_enable3 } field = "Downshift to 3rd", solCdwnshiftPWM3, { PWM_enable3 } field = "Downshift to 4th", solCdwnshiftPWM4, { PWM_enable3 && num_gears > 4} field = "Downshift to 5th", solCdwnshiftPWM5, { PWM_enable3 && num_gears > 5} field = "Downshift to 6th", solCdwnshiftPWM6, { PWM_enable3 && num_gears > 6} field = "Downshift to 7th", solCdwnshiftPWM7, { PWM_enable3 && num_gears > 7} field = "Set to zero to disable" field = "different PWM% during shift." dialog = GearLEDflash, "Flash LEDs in Manual" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#e" field = "Flash LEDs in Manual Mode", FlashLEDs dialog = Gear1pattern, "1st Gear LED Pattern" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#e" field = "LED1", LED11 field = "LED2", LED21 field = "LED3", LED31 field = "LED4", LED41 dialog = Gear2pattern, "2nd Gear LED Pattern" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#e" field = "LED1", LED12 field = "LED2", LED22 field = "LED3", LED32 field = "LED4", LED42 dialog = Gear3pattern, "3rd Gear LED Pattern" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#e" field = "LED1", LED13 field = "LED2", LED23 field = "LED3", LED33 field = "LED4", LED43 dialog = Gear4pattern, "4th Gear LED Pattern" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#e" field = "LED1", LED14 field = "LED2", LED24 field = "LED3", LED34 field = "LED4", LED44 dialog = Gear5pattern, "5th Gear LED Pattern" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#e" field = "LED1", LED15 field = "LED2", LED25 field = "LED3", LED35 field = "LED4", LED45 dialog = Gear6pattern, "6th Gear LED Pattern" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#e" field = "LED1", LED16 field = "LED2", LED26 field = "LED3", LED36 field = "LED4", LED46 dialog = Gear7pattern, "7th Gear LED Pattern" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#e" field = "LED1", LED17 field = "LED2", LED27 field = "LED3", LED37 field = "LED4", LED47 dialog = Gear8pattern, "8th Gear LED Pattern" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#e" field = "LED1", LED18 field = "LED2", LED28 field = "LED3", LED38 field = "LED4", LED48 dialog = GearNpattern, "Neutral LED Pattern" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#e" field = "LED1", LEDN1 field = "LED2", LEDN2 field = "LED3", LEDN3 field = "LED4", LEDN4 field = "Alternating Pattern (can be the same as above to not flash)" field = "LED1", LEDN1alt field = "LED2", LEDN2alt field = "LED3", LEDN3alt field = "LED4", LEDN4alt dialog = GearPpattern, "Park LED Pattern" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#e" field = "LED1", LEDP1 field = "LED2", LEDP2 field = "LED3", LEDP3 field = "LED4", LEDP4 field = "Alternating Pattern (can be the same as above to not flash)" field = "LED1", LEDP1alt field = "LED2", LEDP2alt field = "LED3", LEDP3alt field = "LED4", LEDP4alt dialog = GearRpattern, "Reverse LED Pattern" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#e" field = "LED1", LEDR1 field = "LED2", LEDR2 field = "LED3", LEDR3 field = "LED4", LEDR4 field = "Alternating Pattern (can be the same as above to not flash)" field = "LED1", LEDR1alt field = "LED2", LEDR2alt field = "LED3", LEDR3alt field = "LED4", LEDR4alt dialog = leverType, "Lever and Shift Buttons Configuration" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#il" field = "Manual Lever Mode", mlever_mode field = "Max. Lever Position Change", maxDeltaLever field = "Digital Voltage Threshold", digital_threshold, {mlever_mode==0} field = "Overdrive (4th) Selector", In4_OD, {mlever_mode==1} field = "#Shift Buttons - mode change requires restart" field = "Shift Button Mode", shftbut_mode field = "No buttons pressed", no_button_V, { shftbut_mode == 1 } field = "Upshift button pressed", up_button_V, { shftbut_mode == 1 } field = "Downshift button pressed", dwn_button_V, { shftbut_mode == 1 } field = "Both buttons pressed", both_button_V, { shftbut_mode == 1 } field = "Button Voltage tolerance", tol_button_V, { shftbut_mode == 1 } dialog = clutch0, "Clutch Pattern (Spare Port 0/Output 8)" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#hh" field = "UPSHIFTS" field = "SP0 on 1 to 2", clutch01u, {sp0_mode == 4} field = "SP0 on 2 to 3", clutch02u, {sp0_mode == 4} field = "SP0 on 3 to 4", clutch03u, {sp0_mode == 4} field = "SP0 on 4 to 5", clutch04u, {sp0_mode == 4 && num_gears > 4} field = "SP0 on 5 to 6", clutch05u, {sp0_mode == 4 && num_gears > 5} field = "SP0 on 6 to 7", clutch06u, {sp0_mode == 4 && num_gears > 6} field = "SP0 on 7 to 8", clutch07u, {sp0_mode == 4 && num_gears > 7} field = "DOWNSHIFTS" field = "SP0 on 2 to 1", clutch01d, {sp0_mode == 4} field = "SP0 on 3 to 2", clutch02d, {sp0_mode == 4} field = "SP0 on 4 to 3", clutch03d, {sp0_mode == 4} field = "SP0 on 5 to 4", clutch04d, {sp0_mode == 4 && num_gears > 4} field = "SP0 on 6 to 5", clutch05d, {sp0_mode == 4 && num_gears > 5} field = "SP0 on 7 to 6", clutch06d, {sp0_mode == 4 && num_gears > 6} field = "SP0 on 8 to 7", clutch07d, {sp0_mode == 4 && num_gears > 7} dialog = clutch1, "Clutch Pattern (Spare Port 1/Output 7)" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#lp" field = "UPSHIFTS" field = "SP1 on 1 to 2", clutch11u, {sp1_mode == 4} field = "SP1 on 2 to 3", clutch12u, {sp1_mode == 4} field = "SP1 on 3 to 4", clutch13u, {sp1_mode == 4} field = "SP1 on 4 to 5", clutch14u, {sp1_mode == 4 && num_gears > 4} field = "SP1 on 5 to 6", clutch15u, {sp1_mode == 4 && num_gears > 5} field = "SP1 on 6 to 7", clutch16u, {sp1_mode == 4 && num_gears > 6} field = "SP1 on 7 to 8", clutch17u, {sp1_mode == 4 && num_gears > 7} field = "DOWNSHIFTS" field = "SP1 on 2 to 1", clutch11d, {sp1_mode == 4} field = "SP1 on 3 to 2", clutch12d, {sp1_mode == 4} field = "SP1 on 4 to 3", clutch13d, {sp1_mode == 4} field = "SP1 on 5 to 4", clutch14d, {sp1_mode == 4 && num_gears > 4} field = "SP1 on 6 to 5", clutch15d, {sp1_mode == 4 && num_gears > 5} field = "SP1 on 7 to 6", clutch16d, {sp1_mode == 4 && num_gears > 6} field = "SP1 on 8 to 7", clutch17d, {sp1_mode == 4 && num_gears > 7} dialog = clutch2, "Clutch Pattern (Spare port 2/Output4)" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#lp" field = "UPSHIFTS" field = "SP2 on 1 to 2", clutch21u, {sp2_mode == 4} field = "SP2 on 2 to 3", clutch22u, {sp2_mode == 4} field = "SP2 on 3 to 4", clutch23u, {sp2_mode == 4} field = "SP2 on 4 to 5", clutch24u, {sp2_mode == 4 && num_gears > 4} field = "SP2 on 5 to 6", clutch25u, {sp2_mode == 4 && num_gears > 5} field = "SP2 on 6 to 7", clutch26u, {sp2_mode == 4 && num_gears > 6} field = "SP2 on 7 to 8", clutch27u, {sp2_mode == 4 && num_gears > 7} field = "DOWNSHIFTS" field = "SP2 on 2 to 1", clutch21d, {sp2_mode == 4} field = "SP2 on 3 to 2", clutch22d, {sp2_mode == 4} field = "SP2 on 4 to 3", clutch23d, {sp2_mode == 4} field = "SP2 on 5 to 4", clutch24d, {sp2_mode == 4 && num_gears > 4} field = "SP2 on 6 to 5", clutch25d, {sp2_mode == 4 && num_gears > 5} field = "SP2 on 7 to 6", clutch26d, {sp2_mode == 4 && num_gears > 6} field = "SP2 on 8 to 7", clutch27d, {sp2_mode == 4 && num_gears > 7} dialog = InPatternGP, "Input Pattern in Park" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#i" field = "Input 1", In11 field = "Input 2", In21 field = "Input 3", In31 field = "Input 4", In41, { In4_cfg && FWD_cfg } field = "Must be unique for each gear." field = "Change only when off-line." dialog = InPatternGN, "Input Pattern in Neutral" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#i" field = "Input 1", In12 field = "Input 2", In22 field = "Input 3", In32 field = "Input 4", In42, { In4_cfg && FWD_cfg } field = "Must be unique for each gear." field = "Change only when off-line." dialog = InPatternGR, "Input Pattern in Reverse" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#i" field = "Input 1", In13 field = "Input 2", In23 field = "Input 3", In33 field = "Input 4", In43, { In4_cfg && FWD_cfg } field = "Must be unique for each gear." field = "Change only when off-line." dialog = InPatternG1, "Input Pattern in 1st" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#i" field = "Input 1", In14 field = "Input 2", In24 field = "Input 3", In34 field = "Input 4", In44, { In4_cfg && FWD_cfg } field = "Must be unique for each gear." field = "Change only when off-line." dialog = InPatternG2, "Input Pattern in 2nd" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#i" field = "Input 1", In15 field = "Input 2", In25 field = "Input 3", In35 field = "Input 4", In45, { In4_cfg && FWD_cfg } field = "Must be unique for each gear." field = "Change only when off-line." dialog = InPatternG3, "Input Pattern in 3rd" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#i" field = "Input 1", In16 field = "Input 2", In26 field = "Input 3", In36 field = "Input 4", In46, { In4_cfg && FWD_cfg } field = "Must be unique for each gear." field = "Change only when off-line." dialog = InPatternG4, "Input Pattern in 4th" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#i" field = "Input 1", In17 field = "Input 2", In27 field = "Input 3", In37 field = "Input 4", In47, { In4_cfg && FWD_cfg } field = "Must be unique for each gear." field = "Change only when off-line." dialog = InPatternG5, "Input Pattern in 5th" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#i" field = "Input 1", In18 field = "Input 2", In28 field = "Input 3", In38 field = "Input 4", In48, { In4_cfg && FWD_cfg } field = "Must be unique for each gear." field = "Change only when off-line." dialog = InPatternG6, "Input Pattern in 6th" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#i" field = "Input 1", In19 field = "Input 2", In29 field = "Input 3", In39 field = "Input 4", In49, { In4_cfg && FWD_cfg } field = "Must be unique for each gear." field = "Change only when off-line." dialog = InPatternG7, "Input Pattern in 7th" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#i" field = "Input 1", In110 field = "Input 2", In210 field = "Input 3", In310 field = "Input 4", In410, { In4_cfg && FWD_cfg } field = "Must be unique for each gear." field = "Change only when off-line." dialog = InPatternG8, "Input Pattern in 8th" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#i" field = "Input 1", In111 field = "Input 2", In211 field = "Input 3", In311 field = "Input 4", In411, { In4_cfg && FWD_cfg } field = "Must be unique for each gear." field = "Change only when off-line." dialog = InPattern1b, "Configure Inputs" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#in" field = "Park", mlever_vP, { mlever_mode==1 } field = "Neutral", mlever_vN, { mlever_mode==1 } field = "Reverse", mlever_vR, { mlever_mode==1 } field = "1st", mlever_v1, { mlever_mode==1 } field = "2nd", mlever_v2, { mlever_mode==1 } field = "3rd", mlever_v3, { mlever_mode==1 } field = "4th", mlever_v4, { mlever_mode==1 } field = "5th", mlever_v5, { (mlever_mode==1) && (num_gears > 4) } field = "6th", mlever_v6, { (mlever_mode==1) && (num_gears > 5) } field = "7th", mlever_v7, { (mlever_mode==1) && (num_gears > 6) } field = "8th", mlever_v8, { (mlever_mode==1) && (num_gears > 7) } field = "Voltage Dead Band", mleverdead, {mlever_mode==1} field = "Minimum Valid Voltage", minADCLeverVolts, { mlever_mode==1 } field = "Maximum Valid Voltage", maxADCLeverVolts, { mlever_mode==1 } field = "!Input2 and Input3 Usage", spareInputs, {mlever_mode==1} field = "Using Inputs as shift solenoid outputs requires circuit modifications!" dialog = shiftFactors, "Shift factors" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#gs" field = "Auto Shift Mode", shift_mode field = "#1=sequential, 2=skip shift" field = "Burnout Mode (D2) Usage", D2mode field = "Minimum Manual Speed" , min_manual_speed field = "#Min. Manual Speed = -1 to disable" field = "Shift Button Duration", shftr_accum field = "Digital Switch Debounce", debounce, {mlever_mode==0} field = "LOAD Smoothing Factor", LOADshortcount ; field = "LOAD Long Term Filter Factor", LOADlongcount -- implemented, but result not used, so not exposed field = "Shift Pressure Adjustment Delay", pressure_delay field = "Shift Completion Delay", shift_delay field = "Shift Speed Hysteresis", gear_hyst field = "Shift Load Hysteresis", kpa_hyst field = "Hysteresis Enable Speed", hyst_enable_speed field = "Line pressure in Neutral", PCneutral field = "Line pressure Options for Reverse", PCrvrseOptn field = "Line pressure in Reverse", PCreverse { PCrvrseOptn == 0 } dialog = throttleFactors, "Throttle factors" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#gh" field = "WOT TPS Threshold", WOT_tps_threshold field = "Idle TPS Threshold", idle_tps_adc field = "WOT Duration", WOT_dur dialog = PWMSettings, "Solenoid PWM Setup" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#gp" field = "PC PWM Period", PC_PWM_Pd field = "PC Voltage Correction", BatFac field = "Output1/5/6 ON Period", out1_pwm_on, { out1_pwm_off } field = "Output1/5/6 OFF Period", out1_pwm_off field = "Output2 ON Period", out2_pwm_on, { out2_pwm_off } field = "Output2 OFF Period", out2_pwm_off field = "#Freq=1000/(ONperiod+OFFperiod), %=(ON Period/OFF Period)*100" field = "#Ouput3 PWM Parameters" field = "Output3 PWM Period", OUT3_PWM_Pd field = "Output3 DC when on", out3dc field = "PWM Usage Output1", PWM_enable1 field = "PWM Usage Output2", PWM_enable2 field = "PWM Usage Output3", PWM_enable3 field = "PWM Usage Output5", PWM_enable5, { (mlever_mode == 1) && (spareInputs > 0) } field = "PWM Usage Output6", PWM_enable6, { (mlever_mode == 1) && (spareInputs == 2) } field = "OUTPUT4 and 7 PWM set-up under Spare Ports/Spare Port X PWM Setup if set as shift solenoids" dialog = sprUse, "Spare Ports Function" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#sf" field = "!Spare Port 0 Use", sp0_mode field = "Spare Port 1 Use", sp1_mode field = "Spare Port 2 Use", sp2_mode dialog = sp0PWMdia, "Spare Port 0 PWM Setup" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#sa" field = "PWM Active", sp0_active, { sp0_mode == 1 } field = "PWM 9-bin Index", sp0_9index_mode field = "PWM 16-Bin Index", sp0_16index_mode field = "PWM Period", sp0_per field = "#Freq=1000/(PWM period)" field = "PWM% when inactive", sp0_off, { sp0_active > 0 } dialog = sp1PWMdia, "Spare Port 1 PWM Setup" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#sa" field = "PWM Active", sp1_active, { sp1_mode == 1 } field = "PWM Index", sp1_index_mode field = "PWM Period", sp1_pwm_per field = "#Freq=1000/(PWM period)" field = "PWM% when inactive", sp1_off, { sp1_active > 0 } dialog = sp2PWMdia, "Spare Port 2 PWM Setup" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#sr" field = "PWM Active", sp2_active, { sp2_mode == 1 } field = "PWM Index", sp2_index_mode field = "PWM Period", sp2_pwm_per field = "#Freq=1000/(PWM period)" field = "PWM% when inactive", sp2_off, { sp2_active > 0 } dialog = sp1PWMvalues, "Spare Port 1 PWM Percent" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#se" field = "PWM1", sp1_pwm1 field = "PWM2", sp1_pwm2 field = "PWM3", sp1_pwm3 field = "PWM4", sp1_pwm4 field = "PWM5", sp1_pwm5 field = "PWM6", sp1_pwm6 field = "PWM7", sp1_pwm7 field = "PWM8", sp1_pwm8 field = "PWM9", sp1_pwm9 field = "PWM10", sp1_pwm10 field = "PWM11", sp1_pwm11 field = "PWM12", sp1_pwm12 dialog = sp2PWMvalues, "Spare Port 2 PWM Percent" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#sp" field = "PWM1", sp2_pwm1 field = "PWM2", sp2_pwm2 field = "PWM3", sp2_pwm3 field = "PWM4", sp2_pwm4 field = "PWM5", sp2_pwm5 field = "PWM6", sp2_pwm6 field = "PWM7", sp2_pwm7 field = "PWM8", sp2_pwm8 field = "PWM9", sp2_pwm9 field = "PWM10", sp2_pwm10 field = "PWM11", sp2_pwm11 field = "PWM12", sp2_pwm12 dialog = sp1INDX, "Spare Port 1 PWM Index" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#so" field = "#Bins must be in ascending order." field = "bin1 = lowest; bin 12 = highest" field = "bin1", sp1_indx1 field = "bin2", sp1_indx2 field = "bin3", sp1_indx3 field = "bin4", sp1_indx4 field = "bin5", sp1_indx5 field = "bin6", sp1_indx6 field = "bin7", sp1_indx7 field = "bin8", sp1_indx8 field = "bin9", sp1_indx9 field = "bin10", sp1_indx10 field = "bin11", sp1_indx11 field = "bin12", sp1_indx12 dialog = sp2INDX, "Spare Port 2 PWM Index" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#st" field = "#Bins must be in ascending order." field = "bin1 = lowest; bin 12 = highest" field = "bin1", sp2_indx1 field = "bin2", sp2_indx2 field = "bin3", sp2_indx3 field = "bin4", sp2_indx4 field = "bin5", sp2_indx5 field = "bin6", sp2_indx6 field = "bin7", sp2_indx7 field = "bin8", sp2_indx8 field = "bin9", sp2_indx9 field = "bin10", sp2_indx10 field = "bin11", sp2_indx11 field = "bin12", sp2_indx12 dialog = TCCSettings, "Torque Converter Control Limits" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#nt" field = "Min. Gear for TCC Lock", minTCC_gear field = "Min. TCC Lock-Up Speed", minTCCspeed field = "Min. Temp. for TCC Lock", noTCC_temp field = "Lock TCC Above Temperature", trans_temp_limit, { TMP_cfg } field = "TCC Unlock Above Load", noTCC_load field = "TCC Unlock Hysteresis", TCC_hyst field = "TCC Hysteresis Time", TCC_counter field = "TCC PWM Mode", TCC_PWM field = "Set TCC PWM parameters under" field = "TCC LOAD/PWM% Parameters" field = "and Solenoid PWM Setup" field = "#Full-Time Lock Up" field = "Lock At or Above RPM", STCC_rpm field = "Unlock At RPM", STCC_ULrpm field = "At or Above Gear", STCC_gear dialog = LUFparams, "TCC LOAD/PWM% Parameters" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#nc" field = "TCC PWM Period", TCC_PWM_Pd, {TCC_PWM == 1} field = "PWM% when TCC Unlocked", LUF_off, {TCC_PWM ==1} field = "PWM% when TCC Locked", LUF_on, {TCC_PWM ==1} field = "TCC PWM Taper Start Values" field = "# PWM Low Load:" field = "Low Load Value", LUF_loLoad, {TCC_PWM ==1} field = "PWM% at Low Load", LUF_loPWM, {TCC_PWM ==1} field = "# PWM High Load:" field = "High Load Value", LUF_hiLoad, {TCC_PWM ==1} field = "PWM% at High Load", LUF_hiPWM, {TCC_PWM ==1} field = "PWM Taper Time", LUF_taper, {TCC_PWM ==1} dialog = TCCupshift, "TCC UpShift Settings" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#nu" field = "TCC Upshift to 2nd", TCCupshift2 field = "TCC Upshift to 3rd", TCCupshift3 field = "TCC Upshift to 4th", TCCupshift4 field = "TCC Upshift to 5th", TCCupshift5, { num_gears > 4 } field = "TCC Upshift to 6th", TCCupshift6, { num_gears > 5 } field = "TCC Upshift to 7th", TCCupshift7, { num_gears > 6 } field = "TCC Upshift to 8th", TCCupshift8, { num_gears > 7 } field = "Converter always unlocks on" field = "downshifts unless TCC full time" field = "mode or Jake Brake are active." dialog = noCANload, "Non-CANbus Load Settings" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#gl" field = "Multiplier", LOADmult, { !CAN_enabled } field = "Load at 0 volts", LOADzero, { !CAN_enabled } field ="#Load is Voltage on pin 24" field ="#times Multiplier," field ="#plus Load @ 0 volts" dialog = stdIN, "Standard Inputs/Outputs Configuration" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#gi" field = "Temperature Sensor Usage", TMP_cfg field = "Temperature Sensor Logging", TMP_adc, { !TMP_cfg } field = "" field = "Line Pressure Input", line_units field = "Voltage at Point1", volt1, { line_units == 3 } field = "Pressure at Point1", press1, { line_units == 3 } field = "Voltage at Point2", volt2, { line_units == 3 } field = "Pressure at Point2", press2, { line_units == 3 } field = "" field = "Shift Button polarity", shft_btn_polarity field = "Brake Signal Polarity", brake_ON_polarity field = "" field = "#GPI1 INPUT Usage" field = "Additional Input Usage", FWD_cfg field = "Table switching/4th lever input", In4_cfg, { FWD_cfg } dialog = spareport0, "User Spare Port 0" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#su" field = "Output pulse/mile(km)", pulse_mile, { sp0_mode == 0 } field = "!Speedo Output Duty Cycle", speedoutDC, { sp0_mode == 0 } dialog = spareport1, "User Spare Port 1" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#su" field = "Speed threshold", sp1speed, { sp1_mode == 0 } field = "Speed condition", sp1speed_cond, { sp1_mode == 0 } field = "Speed hysteresis", sp1speed_hyst, { sp1_mode == 0 } field = "#AND" field = "RPM threshold", sp1rpm, { sp1_mode == 0 } field = "RPM condition", sp1rpm_cond, { sp1_mode == 0 } field = "RPM hysteresis", sp1rpm_hyst, { sp1_mode == 0 } field = "#AND" field = "Load threshold", sp1load, { sp1_mode == 0 } field = "Load condition", sp1load_cond, { sp1_mode == 0 } field = "Load hysteresis", sp1load_hyst, { sp1_mode == 0 } field = "#AND" field = "Gear threshold", sp1gear, { sp1_mode == 0 } field = "Gear condition", sp1gear_cond, { sp1_mode == 0 } dialog = spareport2, "User Spare Port 2" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#ss" field = "Speed threshold", sp2speed, { sp2_mode == 0 } field = "Speed condition", sp2speed_cond, { sp2_mode == 0 } field = "Speed hysteresis", sp2speed_hyst, { sp2_mode == 0 } field = "#AND" field = "RPM threshold", sp2rpm, { sp2_mode == 0 } field = "RPM condition", sp2rpm_cond, { sp2_mode == 0 } field = "RPM hysteresis", sp2rpm_hyst, { sp2_mode == 0 } field = "#AND" field = "Load threshold", sp2load, { sp2_mode == 0 } field = "Load condition", sp2load_cond, { sp2_mode == 0 } field = "Load hysteresis", sp2load_hyst, { sp2_mode == 0 } field = "#AND" field = "Gear threshold", sp2gear, { sp2_mode == 0 } field = "Gear condition", sp2gear_cond, { sp2_mode == 0 } dialog = canconfig, "CANbus Configuration" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#oa" field = "#Controller Area Network set-up" field = "!CANbus Usage", CAN_enabled field = "!CANbus ID (GPIO)", trans_can_id, { CAN_enabled } field = "!CANbus Fetch Rate", can_var_rate, { CAN_enabled } field = "CANbus Load Variable", load_type, { CAN_enabled } ; field = "!Board Type", board_type, { CAN_enabled } field = "!MS-II CANbus ID", ms2canID, { 0 } ; change to { 1 } to make editable field = "!MS-II outpc block", ms2varBLK, { 0 } ; change to { 1 } to make editable field = "!MS-II outpc size", msOutpcBytes, { CAN_enabled } field = "VSS offset (0 = disable)", canVSSoffset, { CAN_enabled } field = "!Outpc CANbus message format", can_testout, { CAN_enabled } field = "Spark/Fuel/Idle Adjustments" field = "!MS-II in2ram block", Adj_blk, { 0 } ; change to { 1 } to make editable field = "!MS-II variable offset", Adj_varoffset, { 0 } ; change to { 1 } to make editable field = "If CANbus is disabled, load is determined" field = "from 0-5V axillary input" field = "See 'General Settings/Non-CAN Load Configuration'" #if COMMS_382X field = "Enable Nested Interrupts", nestINTS #endif dialog = debug, "Debugging Input Variables" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#c" field = "Inpram last value = 170", pad10 field = "Inpram debug value - volts", INdbugV field = "Inpram debug value - ADC", INdbugADC dialog = spiEnable, "SPI Device Enable" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#v" field = "SPI Device 0 (MC33800)", spi_D0enable field = "SPI Device 1 (speedo display)", spi_D1enable field = "SPI Device 2", spi_D2enable field = "SPI Device 3", spi_D3enable field = "SPI Output Selection" field = "Output 1", SPIsoln10, 0, { spi_D0enable } field = "Output 2", SPIsoln11, 0, { spi_D0enable } field = "Output 3", SPIsoln12, 0, { spi_D0enable } field = "Output 4", SPIsoln13, 0, { spi_D0enable } field = "Output 5", SPIsoln14, 0, { spi_D0enable } field = "Output 6", SPIsoln15, 0, { spi_D0enable } field = "Output 7", SPIsoln16, 0, { spi_D0enable } field = "Output 8", SPIsoln17, 0, { spi_D0enable } field = "TCC", SPIsoln21, 0, { spi_D0enable } field = "Line Pressure", SPIsoln22, 0, { spi_D0enable } dialog = spiD0configBR, "Device 0 SPR0BR" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#SPIbaudrate" field = "Bit SPR0", D0SPR0, 0, { spi_D0enable } field = "Bit SPR1", D0SPR1, 0, { spi_D0enable } field = "Bit SPR2", D0SPR2, 0, { spi_D0enable } field = "Bit SPPR0", D0SPPR0, 0, { spi_D0enable } field = "Bit SPPR1", D0SPPR1, 0, { spi_D0enable } field = "Bit SPPR2", D0SPPR2, 0, { spi_D0enable } dialog = spiD0configCR1, "Device 0 SPR0CR1" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#SPIcr1" field = "Bit LSBFE", D0LSBFE, 0, { spi_D0enable } field = "Bit SS0E", D0SSOE, 0, { spi_D0enable } field = "Bit CPHA", D0CPHA, 0, { spi_D0enable } field = "Bit CPOL", D0CPOL, 0, { spi_D0enable } field = "Bit MSTR", D0MSTR, 0, { spi_D0enable } field = "Bit SPTIE", D0SPTIE, 0, { spi_D0enable } field = "Bit SPE", D0SPE, 0, { spi_D0enable } field = "Bit SPIE", D0SPIE, 0, { spi_D0enable } dialog = spiD0configCR2, "Device 0 SPR0CR2" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#SPIcr2" field = "Bit SPC0", D0SPC0, 0, { spi_D0enable } field = "Bit SPISWAI", D0SPISWAI, 0, { spi_D0enable } field = "Bit BIDIROE", D0BIDIROE, 0, { spi_D0enable } field = "Bit MODFEN", D0MODFEN, 0, { spi_D0enable } dialog = spiD1configBR, "Device 1 SPR0BR" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#SPIbaudrate" field = "Bit SPR0", D1SPR0, 0, { spi_D1enable } field = "Bit SPR1", D1SPR1, 0, { spi_D1enable } field = "Bit SPR2", D1SPR2, 0, { spi_D1enable } field = "Bit SPPR0", D1SPPR0, 0, { spi_D1enable } field = "Bit SPPR1", D1SPPR1, 0, { spi_D1enable } field = "Bit SPPR2", D1SPPR2, 0, { spi_D1enable } dialog = spiD1configCR1, "Device 1 SPR0CR1" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#SPIcr1" field = "Bit LSBFE", D1LSBFE, 0, { spi_D1enable } field = "Bit SS0E", D1SSOE, 0, { spi_D1enable } field = "Bit CPHA", D1CPHA, 0, { spi_D1enable } field = "Bit CPOL", D1CPOL, 0, { spi_D1enable } field = "Bit MSTR", D1MSTR, 0, { spi_D1enable } field = "Bit SPTIE", D1SPTIE, 0, { spi_D1enable } field = "Bit SPE", D1SPE, 0, { spi_D1enable } field = "Bit SPIE", D1SPIE, 0, { spi_D1enable } dialog = spiD1configCR2, "Device 1 SPR0CR2" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#SPIcr2" field = "Bit SPC0", D1SPC0, 0, { spi_D1enable } field = "Bit SPISWAI", D1SPISWAI, 0, { spi_D1enable } field = "Bit BIDIROE", D1BIDIROE, 0, { spi_D1enable } field = "Bit MODFEN", D1MODFEN, 0, { spi_D1enable } dialog = spiD2configBR, "Device 2 SPR0BR" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#SPIbaudrate" field = "Bit SPR0", D2SPR0, 0, { spi_D2enable } field = "Bit SPR1", D2SPR1, 0, { spi_D2enable } field = "Bit SPR2", D2SPR2, 0, { spi_D2enable } field = "Bit SPPR0", D2SPPR0, 0, { spi_D2enable } field = "Bit SPPR1", D2SPPR1, 0, { spi_D2enable } field = "Bit SPPR2", D2SPPR2, 0, { spi_D2enable } dialog = spiD2configCR1, "Device 2 SPR0CR1" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#SPIcr1" field = "Bit LSBFE", D2LSBFE, 0, { spi_D2enable } field = "Bit SS0E", D2SSOE, 0, { spi_D2enable } field = "Bit CPHA", D2CPHA, 0, { spi_D2enable } field = "Bit CPOL", D2CPOL, 0, { spi_D2enable } field = "Bit MSTR", D2MSTR, 0, { spi_D2enable } field = "Bit SPTIE", D2SPTIE, 0, { spi_D2enable } field = "Bit SPE", D2SPE, 0, { spi_D2enable } field = "Bit SPIE", D2SPIE, 0, { spi_D2enable } dialog = spiD2configCR2, "Device 2 SPR0CR2" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#SPIcr2" field = "Bit SPC0", D2SPC0, 0, { spi_D2enable } field = "Bit SPISWAI", D2SPISWAI, 0, { spi_D2enable } field = "Bit BIDIROE", D2BIDIROE, 0, { spi_D2enable } field = "Bit MODFEN", D2MODFEN, 0, { spi_D2enable } dialog = spiD3configBR, "Device 3 SPR0BR" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#SPIbaudrate" field = "Bit SPR0", D3SPR0, 0, { spi_D3enable } field = "Bit SPR1", D3SPR1, 0, { spi_D3enable } field = "Bit SPR2", D3SPR2, 0, { spi_D3enable } field = "Bit SPPR0", D3SPPR0, 0, { spi_D3enable } field = "Bit SPPR1", D3SPPR1, 0, { spi_D3enable } field = "Bit SPPR2", D3SPPR2, 0, { spi_D3enable } dialog = spiD3configCR1, "Device 3 SPR0CR1" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#SPIcr1" field = "Bit LSBFE", D3LSBFE, 0, { spi_D3enable } field = "Bit SS0E", D3SSOE, 0, { spi_D3enable } field = "Bit CPHA", D3CPHA, 0, { spi_D3enable } field = "Bit CPOL", D3CPOL, 0, { spi_D3enable } field = "Bit MSTR", D3MSTR, 0, { spi_D3enable } field = "Bit SPTIE", D3SPTIE, 0, { spi_D3enable } field = "Bit SPE", D3SPE, 0, { spi_D3enable } field = "Bit SPIE", D3SPIE, 0, { spi_D3enable } dialog = spiD3configCR2, "Device 3 SPR0CR2" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#SPIcr2" field = "Bit SPC0", D3SPC0, 0, { spi_D3enable } field = "Bit SPISWAI", D3SPISWAI, 0, { spi_D3enable } field = "Bit BIDIROE", D3BIDIROE, 0, { spi_D3enable } field = "Bit MODFEN", D3MODFEN, 0, { spi_D3enable } ; dialog = Units, "Units" ; topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#gu" ; field = "!Metric/Imperial Units", Metric_Units ; field = "This changes the values for the controller's internal" ; field = "calculations, and the values returned to TunerStudio." ; field = "To change the units displayed in TunerStudio" ; field = "(ex. from mph to kph on the gauges)," ; field = "'deactivate' CELSIUS under" ; field = "Project/Project Properties." dialog = mphBins1, "Edit Speed Bins for shift table 1" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#bm" field = "#Speed Bins for Shift Table 1" array1D = "", "Vehicle Speed1 %INDEX% ", vss_table1 dialog = mphBins2, "Edit Speed Bins for shift table 2" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#bm" field = "#Speed Bins for Shift Table 2" array1D = "", "Vehicle Speed2 %INDEX% ", vss_table2 dialog = mphBins3, "Edit Speed Bins for Pressure Control table" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#bm" field = "#Speed Bins for PC PWM% table" array1D = "", "Vehicle Speed3 %INDEX% ", vss_PCtable #if GEARTABLEMAP dialog = loadBins1, "Edit Load Bins for shift table 1" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#bs" field = "#MAP Bins for shift table 1" array1D = "", "Load1 %INDEX% ", LOAD_table1 dialog = loadBins2, "Edit Load Bins for table 2" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#bs" field = "#MAP Bins for shift table 2" array1D = "", "Load2 %INDEX% ", LOAD_table2 #elseif dialog = loadBins1, "Edit Load Bins for shift table 1" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#bs" field = "#TPS Bins for shift table 1" array1D = "", "TPS1 %INDEX% ", TPS_table1 dialog = loadBins2, "Edit Load Bins for table 2" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#bs" field = "#TPS Bins for shift table 2" array1D = "", "TPS2 %INDEX% ", TPS_table2 #endif #if GEARTABLEMAP dialog = loadBins3, "Edit Load Bins for Pressure Control table" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#bs" field = "#MAP Bins for PC table" array1D = "", "Load3 %INDEX% ", LOAD_PCtable #elseif dialog = loadBins3, "Edit Load Bins for Pressure Control table" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#bs" field = "#TPS Bins for PC table" array1D = "", "TPS3 %INDEX% ", TPS_PCtable #endif dialog = tempBins, "Edit Temperature Table Values" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#bt" field = "#Temperature Bins for Warmup, etc." array1D = "", "Temperature %INDEX% ", temp_table help = sensorHelp, "Sensor Calibration" webHelp = "http://www.megamanual.com/megatune.htm#os" text = "MAP Sensor Calibration
" text = "
" text = "For the\tMPX4115 use\t10.6 and \t121.7
" text = "\tMPX4250\t\t10.0\t260.0
" text = "\tMPXH6300\t1.1\t315.5
" text = "\tGM 3-BAR\t1.1\t315.5
" text = "\tMPXH6400\t3.5\t416.5
" text = "
" text = "(GM 3-bar data from Dave Hartnell, http://www.not2fast.com/electronics/component_docs/MAP_12223861.pdf)
" text = "
" text = "\tSensor type\tvLo\tpLo\tvHi\tpHi\tvRef
" text = "\tMPX4115 \t0.204 v\t15 kPa\t4.794 v\t115 kPa\t5.100 v
" text = "\tMPX4250 \t0.204 v\t20 kPa\t4.896 v\t250 kPa\t5.100 v
" text = "\tMPXH6300\t0.306 v\t20 kPa\t4.913 v\t304 kPa\t5.100 v
" text = "\tGM 3-BAR\t0.631 v\t40 kPa\t4.914 v\t304 kPa\t5.100 v
" text = "\tMPXH6400\t0.200 v\t20 kPa\t4.800 v\t400 kPa\t5.000 v
" text = "
" text = "In general, use values derived from these equations:
" text = "
" text = "\tm = (pHi-pLo)/(vHi-vLo)
" text = "\tpv1 = pLo - m * vLo
" text = "\tpv2 = pv1 + m * vRef
" text = "
" text = "References:
" text = "\thttp://www.freescale.com/files/sensors/doc/data_sheet/MPX4115A.pdf
" text = "\thttp://www.freescale.com/files/sensors/doc/data_sheet/MPX4250A.pdf
" text = "\thttp://www.freescale.com/files/sensors/doc/data_sheet/MPXH6300A.pdf
" text = "\thttp://www.freescale.com/files/sensors/doc/data_sheet/MPXH6400A.pdf
" dialog = GPIOpins, "GPIO Pin Assignments" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html" field = "Output 1 - PE4 - VB3 - Amp 23" field = "Output 2 - PM2 - VB4 - Amp 35" field = "Output 3 - PT1 - PWM4 - Amp 34" field = "Pressure Control - PT2 - PWM3 - Amp 33" field = "Torque Converter - PT3 - PWM2 - Amp 32" field = "Input 1 - AD0 - EGT4 - Amp 26" field = "Input 2 - AD1 - GPI2 - Amp 6" field = "Input 3 - AD3 - EGT3 - Amp 25" field = "Input 4 - PE1 - GPI1 - Amp 5" field = "Spare Output 1 - PT7 - VB1 - Amp 11" field = "Spare Output 2/Output 4 - PA0 - VB2 - Amp 12" field = "LED 1 - PM4 - GPO1 - Amp 10" field = "LED 2 - PM3 - GPO2 - Amp 7" field = "LED 3 - PM5 - GPO3 - Amp 8" field = "LED 4 - PB4 - GPO4 - Amp 9" field = "Speed Out - PT4 - PWM1 - Amp 31" dialog = uTCUpins, "microTCU Pin Assignments" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html" field = "Output 1 - PE4 - VB3 - Amp 23" field = "Output 2 - PM2 - VB4 - Amp 35" field = "Output 3 - PT1 - PWM4 - Amp 34" field = "Pressure Control - PT2 - PWM3 - Amp 27" field = "Torque Converter - PT3 - PWM2 - Amp 32" field = "Input 1 - AD0 - EGT4 - Amp 26" field = "Input 2 - AD1 - GPI2 - Amp 6" field = "Input 3 - AD3 - EGT3 - Amp 25" field = "Input 4 - PE1 - GPI1 - Amp 5" field = "Spare Output 1/Output 7 - PT7 - VB1 - Amp 11" field = "Spare Output 2/Output 4 - PA0 - VB2 - Amp 12" field = "LED 1 - PM4 - GPO1 - Amp 10" field = "LED 2 - PM3 - GPO2 - Amp 7" field = "LED 3 - PM5 - GPO3 - Amp 8" field = "LED 4 - PB4 - GPO4 - Amp 9" field = "Speed Out - PT4 - PWM1 - Amp 31" help = helpGeneral, "MShift/GPIO General Help" webHelp = "http://www.megamanual.com/gpio/mshift/index.html" text = "Press F1 in any menu to get context sensitive help from the web." text = "
" text = "For the full manual, see: www.msgpio.com/manuals/mshift/v4code.html" text = "
" text = "For current documentation, click the Web Help button below, or for" text = "support questions visit www.msgpio.com/forum/" ;------------------------------------------------------------------------------- [CurveEditor] curve = PCtemp_adjust, "Temperature v. Line Pressure Adjustments" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#" columnLabel = "Temp.", "PC%" xAxis = -40, 220, 9 yAxis = -100, 100, 5 xBins = temp_table, clt yBins = PCtemp gauge = line_pressure curve = SpeedoCorrection, "Speedometer Correction Percent" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#te" columnLabel = "Load", "Corr%" xAxis = 0, 250, 11 yAxis = -50, 50, 21 xBins = speedoCorrBin, speedo yBins = speedoCorr gauge = speedo curve = SparePort1PWM0, "Spare Port 1 PWM%" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#" columnLabel = "Load", "PWM%" xAxis = 0, 250, 11 yAxis = 0, 100, 11 xBins = sp1_pwm_index, LOAD yBins = sp1_pwm_table gauge = load curve = SparePort2PWM0, "Spare Port 2 PWM%" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#" columnLabel = "Load", "PWM%" xAxis = 0, 250, 11 yAxis = 0, 100, 11 xBins = sp2_pwm_index, LOAD yBins = sp2_pwm_table gauge = load curve = SparePort1PWM1, "Spare Port 1 PWM%" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#" columnLabel = "Speed", "PWM%" xAxis = 0, 250, 11 yAxis = 0, 100, 11 xBins = sp1_pwm_index, speedo yBins = sp1_pwm_table gauge = speedo curve = SparePort2PWM1, "Spare Port 2 PWM%" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#" columnLabel = "Speed", "PWM%" xAxis = 0, 250, 11 yAxis = 0, 100, 11 xBins = sp2_pwm_index, speedo yBins = sp2_pwm_table gauge = speedo curve = SparePort1PWM2, "Spare Port 1 PWM%" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#" columnLabel = "RPM", "PWM%" xAxis = 0, 6500, 11 yAxis = 0, 100, 11 xBins = sp1_pwm_index, engine_rpm yBins = sp1_pwm_table gauge = load curve = SparePort2PWM2, "Spare Port 2 PWM%" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#" columnLabel = "RPM", "PWM%" xAxis = 0, 6500, 11 yAxis = 0, 100, 11 xBins = sp2_pwm_index, engine_rpm yBins = sp2_pwm_table gauge = load curve = SparePort1PWM3, "Spare Port 1 PWM%" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#" columnLabel = "degrees", "PWM%" xAxis = 0, 250, 11 yAxis = 0, 100, 11 xBins = sp1_pwm_index, clt yBins = sp1_pwm_table gauge = load curve = SparePort2PWM3, "Spare Port 2 PWM%" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#" columnLabel = "degrees", "PWM%" xAxis = 0, 250, 11 yAxis = 0, 100, 11 xBins = sp2_pwm_index, clt yBins = sp2_pwm_table gauge = load curve = SparePort1PWM4, "Spare Port 1 PWM%" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#" columnLabel = "Gear", "PWM%" xAxis = 0, 250, 11 yAxis = 0, 100, 11 xBins = sp1_pwm_index, current_gear yBins = sp1_pwm_table gauge = load curve = SparePort2PWM4, "Spare Port 2 PWM%" topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#" columnLabel = "Gear", "PWM%" xAxis = 0, 250, 11 yAxis = 0, 100, 11 xBins = sp2_pwm_index, current_gear yBins = sp2_pwm_table gauge = load [TableEditor] ; table_id, map3d_id, "title", page #if GEARTABLEMAP table = geartable1, gearmap, "Gear Shift Table 1", 2 ; constant, variable topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#ag" xBins = vss_table1, speedo, readonly yBins = LOAD_table1, LOAD_short, readonly zBins = auto_table1 upDownLabel = "UP", "DOWN" gridHeight = 0.7 gridOrient = 230, 0, 340 ; Space 123 rotation of grid in degrees. table = geartable2, gearmap2, "Gear Shift Table 2", 2 ; constant, variable topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#ag" xBins = vss_table2, speedo, readonly yBins = LOAD_table2, LOAD_short, readonly zBins = auto_table2 upDownLabel = "UP", "DOWN" gridHeight = 0.7 gridOrient = 230, 0, 340 ; Space 123 rotation of grid in degrees. #else table = geartable1, gearmap, "Gear Shift Table 1", 2 ; constant, variable topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#ag" xBins = vss_table1, speedo, readonly yBins = TPS_table1, ms2tps, readonly zBins = auto_table1 upDownLabel = "UP", "DOWN" gridHeight = 0.7 gridOrient = 230, 0, 340 ; Space 123 rotation of grid in degrees. table = geartable2, gearmap2, "Gear Shift Table 2", 2 ; constant, variable topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#ag" xBins = vss_table2, speedo, readonly yBins = TPS_table2, ms2tps, readonly zBins = auto_table2 upDownLabel = "UP", "DOWN" gridHeight = 0.7 gridOrient = 230, 0, 340 ; Space 123 rotation of grid in degrees. #endif #if PCTABLEMAP table = pctable, pcmap, "Pressure Control Table", 2 topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#ap" xBins = vss_PCtable, speedo, readonly yBins = LOAD_PCtable, LOAD, readonly zBins = pc_table upDownLabel = "+", "-" gridHeight = 0.7 gridOrient = 220, 0, 340 #else table = pctable, pcmap, "Pressure Control Table", 2 topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#ap" xBins = vss_PCtable, speedo, readonly yBins = TPS_PCtable, ms2tps, readonly zBins = pc_table upDownLabel = "+", "-" gridHeight = 0.7 gridOrient = 220, 0, 340 #endif table = sp0table, sp0map, "Spare port 0 PWM Table", 2 topicHelp = "http://www.msgpio.com/manuals/mshift/V41tune.html#ap" xBins = sp0_16Bin, sp016inx, readonly yBins = sp0_9Bin, sp09inx, readonly zBins = sp0_table upDownLabel = "+", "-" gridHeight = 0.7 gridOrient = 220, 0, 340 ;------------------------------------------------------------------------------- [GaugeConfigurations] ;------------------------------------------------------------------------------- ; Notes on some of the gauges. ;------------------------------------------------------------------------------- ; Define a gauge's characteristics here, then go to a specific layout ; block (Tuning or FrontPage) and use the name you've defined here to ; display that gauge in a particular position. ; ; Name = Case-sensitive, user-defined name for this gauge configuration. ; Var = Case-sensitive name of variable to be displayed, see the ; OutputChannels block in this file for possible values. ; Title = Title displayed at the top of the gauge. ; Units = Units displayed below value on gauge. ; Lo = Lower scale limit of gauge. ; Hi = Upper scale limit of gauge. ; LoD = Lower limit at which danger color is used for gauge background. ; LoW = Lower limit at which warning color is used. ; HiW = Upper limit at which warning color is used. ; HiD = Upper limit at which danger color is used. ; vd = Decimal places in displayed value ; ld = Label decimal places for display of Lo and Hi, above. ;Name Var Title Units Lo Hi LoD LoW HiW HiD vd ld auxVolts = aux_volts, "Aux. Channel Volts", "Volts", 0, 5, 0, 0, 5, 5, 3, 0 Shift Button = butADC, "Shift Button", "Volts", 0, 5, 0, 0, 5, 5, 3, 0 clock = second2, "Clock", "seconds", 0, 255, 0, 0, 253, 255, 0, 0 Slip = slip, "Slip", "%", 0, 200, -1, -1, 200, 200, 0, 0 TCC = lock_TCC, "TCC PWM%" "%", 0, 100, -1, -1, 255, 255, 0, 0 DShaft_RPM = os_rpm, "Driveshaft RPM", "", 0, 6000, -1, -1, 5000, 5500, 0, 0 Error = error, "Status", "", 0, 255, -1, -1, 255, 255, 0, 0 Input_Shaft_RPM = is_rpm, "Input Shaft RPM", "", 0, 9000, -1, -1, 6000, 6500, 0, 0 Manual_gear = manual_gear, "Manual Gear", "", -1, 4, -1, -1, 5, 5, 0, 0 Target_gear = target_gear, "Target Gear", "", 1, 4, -1, -1, 5, 5, 0, 0 #if SI_LENGTHS FuelEfficiency = metricFE, "Fuel Efficncy", "km/liter", 0, 100, 5, 10, 99, 99, 2, 2 FuelConsumption = kmileage, "Fuel Consmptn", "l/100km", 0, 25, 2, 3, 20, 24, 2, 2 #else FuelEfficiency = mileage, "Fuel Efficiency", "mpg", 0, 50, 5, 10, 99, 99, 2, 2 #endif VSS_Hertz = VSS_Hz, "VSS Frequency" "Hz", 0, 20000, -1, -1,20001,20001, 0, 0 current_gear = current_gear, "Current Gear", "", -1, 4, -1, -1, 5, 5, 0, 0 #if LOAD_KPA load = LOAD, "Load", "kpa", 0, 200, -1, -1, 250, 250, 1, 0 #else load = LOAD, "Load", "%", 0, 100, -1, -1, 100, 100, 1, 0 #endif #if SI_LENGTHS line_pressure = linepressure, "Line Pressure", "bar", 0, 40, 1, 5, 30, 35, 2, 2 #else line_pressure = linepressure, "Line Pressure", "psi", 0, 500, 50, 100, 400, 480, 0, 0 #endif #if SI_LENGTHS odometer = odometer, "Trip Odometer", "km", 0, 100, -1, -1, 255, 255, 2, 0 #elseif odometer = odometer, "Trip Odometer", "miles", 0, 100, -1, -1, 255, 255, 2, 0 #endif Output_Shaft_RPM = os_rpm, "Output Shaft RPM", "", 0, 6000, -1, -1, 3000, 4500, 0, 0 pcsol = PC_duty, "Pressure Control", "100-PWM%", 0, 100, -1, -1, 101, 101, 0, 0 Input1 = In1adc, "Input1", "volts", 0, 5, 0, 0, 5, 5, 3, 0 Input2 = In2adc, "Input2", "volts", 0, 5, 0, 0, 5, 5, 3, 0 Input3 = In3adc, "Input3", "volts", 0, 5, 0, 0, 5, 5, 3, 0 #if SI_LENGTHS speedo = speedo, "Speed", "kph", 0, 300, -1, -1, 200, 270, 1, 0 #else speedo = speedo, "Speed", "mph", 0, 200, -1, -1, 160, 180, 1, 0 #endif tach = engine_rpm, "Tach", "rpm", 0, 8000, -1, -1, 6000, 6500, 0, 0 #if CELSIUS trans_temp = clt, "Trans. Temp." "ºC", -40, 220, -20, -10, 200, 210, 1, 0 #else trans_temp = clt, "Trans. Temp." "ºF", -40, 220, -20, -10, 200, 210, 1, 0 #endif solst = solst, "Solenoids", "", 0, 4, -1, -1, 10, 10, 0, 0 ic1_per_avg = ic1_period, "VSS Period" "msec/tooth", 0, 20, -1, -1, 20, 20, 3, 3 ic2_per_avg = ic2_period, "ISS Period" "msec/tooth", 0, 20, -1, -1, 20, 20, 3, 3 VSS_skip = dbug, "VSS Skip Pulse", "", 0, 1000, 0, -1, 1000, 1000, 0, 0 #if LOAD_KPA load_short = LOAD_short, "Short Load", "kpa", 0, 200, -1, -1, 250, 250, 1, 0 #else load_short = LOAD_short, "Short Load", "%", 0, 100, -1, -1, 100, 100, 1, 0 #endif spare_port0PWM = sp0PWM, "SP0 PWM%", "%", 0, 100, -1, -1, 250, 250, 0, 0 spare_port1PWM = sp1PWM, "SP1 PWM%", "%", 0, 100, -1, -1, 250, 250, 0, 0 spare_port2PWM = sp2PWM, "SP2 PWM%", "%", 0, 100, -1, -1, 250, 250, 0, 0 up_request = upshift_request, "UP_REQUEST", "", 0, 1, -1, 0, 1, 2, 0, 0 dwn_request = downshift_request, "DWN_REQUEST", "", 0, 1, -1, 0, 1, 2, 0, 0 TPS = ms2tps, "TPS" "%", 0, 100, -1, -1, 100, 100, 0, 0 TCChyst = TCC_count, "TCC Hyst", "sec", 0, 10, -1, -1, 100, 100, 1, 1 ; Debug = dbug, "debug", "", 0, 10, -1, -1, 6000, 6000, 0, 0 ; - Regardless of the order shown here, the gauges are listed in the drop-down menu in capital/upper case ; alphabetical order, then lower case/alphabetical order (i.e., by ASCII numbering). ;------------------------------------------------------------------------------- [FrontPage] ; Gauges are numbered left to right, top to bottom. ; ; 1 2 3 4 ; 5 6 7 8 gauge1 = speedo gauge2 = odometer gauge3 = tach gauge4 = FuelEfficiency gauge5 = current_gear gauge7 = trans_temp gauge6 = pcsol gauge8 = load_short ;---------------------------------------------------------------------------- ; Indicators ; expr off-label on-label, off-bg, off-fg, on-bg, on-fg ; indicator = { tpsaen }, "Not Accelerating", "AE", cyan, white, red, black ; indicator = { upshift_request }, "dwn", "UpShift Request", white, white, green, blue; indicator = { downshift_request }, "dwn", "DownShift Request", white, white, green, blue; indicator = { downbutton }, "dwn", "DownShift Pressed", white, white, green, blue; indicator = { upbutton }, "up", "UpShift Pressed", white, white, green, blue; indicator = { brake }, "Brakes OFF", "Brakes ON", green, black, red, white; indicator = { lock_TCC }, "TCC Off", "TCC Applied", green, black, red, white; indicator = { (current_gear > 0) }, "PNR", "In Drive", white, black, blue, black; indicator = { (current_gear < 0) }, "PND", "Reverse", white, black, red, black; indicator = { auto_mode }, "MANUAL Mode", "AUTO Mode", green, black, blue, white; indicator = { FWD }, "Table2", "Default Table1", white, black, green, blue; indicator = { burnstatus }, "Burned", "Flash Burn", white, green, red, black; indicator = { error > 1 }, "No Codes", "Codes", white, black, red, black; indicator = { In1 }, "Input1 LOW", "Input1 HIGH", cyan, red, red, white; indicator = { In2 }, "Input2 LOW", "Input2 HIGH", cyan, red, red, white; indicator = { In3 }, "Input3 LOW", "Input3 HIGH", cyan, red, red, white; indicator = { In4 }, "Input4 LOW", "Input4 HIGH", cyan, red, red, white; indicator = { JakeBrake }, "Jake OFF", "Jake ON", cyan, red, red, white; indicator = { revshiftblock }, "Revs OK", "Shift Block", cyan, red, red, white; indicator = { gearRangeErr }, "Lever OK", "Lever Error", cyan, red, red, white; ;------------------------------------------------------------------------------- [RunTime] ; barHysteresis = 2.5 ; Seconds ;------------------------------------------------------------------------------- [Tuning] ; font = "Lucida Console", 12 ; font = "Courier", 14 spotDepth = 2 ; 0 = no indicators, 1 = Z only, 2 = XYZ indicators. cursorDepth = 2 ; Same as spot depth. ; The four radio buttons on the tuning screen select a "page" of six ; gauges. The gauge numbering is the same as the front page, across ; then down. ; 1 2 ; 3 4 ; 5 6 ; ; gaugeColumns allows you to hide or show gauges in column 2 (i.e., ; gauges 2, 4 and 6). gaugeColumns = 2 ; Only 1 or 2 are valid. ; Page 1 Page 2 Page 3 Page 4 pageButtons = "&page1", "p&age2", "pa&ge3", "pag&e4" gauge1 = tach, tach, tach, tach gauge2 = speedo, speedo, speedo, speedo gauge4 = load_short, load_short, load_short, load_short gauge5 = current_gear, current_gear, current_gear, current_gear gauge6 = pcsol, pcsol, pcsol, pcsol ;------------------------------------------------------------------------------- [AccelerationWizard] ; not used for trans control ;------------------------------------------------------------------------------- [BurstMode] getCommand = "a\x00\x06" [OutputChannels] ; These are from the outpc. structure in the main.c file of the source code ; the size and format are the same as above deadValue = { 0 } ; Convenient unchanging value. ochBlockSize = 72 #if CAN_COMMANDS ;full version that works anywhere ochGetCommand = "r\x01\x07%2o%2c" #else ochGetCommand = "a\x00\x06" #endif seconds = scalar, U16, 0, "sec", 1.000, 0.0 #if SI_LENGTHS speedo = scalar, U16, 2, "kph", 0.16093, 0.0 odometer = scalar, U32, 4, "km", 0.00161, 0.0 #else speedo = scalar, U16, 2, "mph", 0.100, 0.0 odometer = scalar, U32, 4, "miles", 0.001, 0.0 #endif auto_mode = scalar, U08, 8, " ", 1.000, 0.0 downbutton = bits, U08, 9, [0:0] upbutton = bits, U08, 9, [1:1] downshift_request = bits, U08, 9, [2:2] upshift_request = bits, U08, 9, [3:3] error = scalar, U08, 10, " ", 1.000, 0.0 serialComm = bits, U08, 10, [0:0] CAN error = bits, U08, 10, [1:1] revshiftblock = bits, U08, 10, [2:2] VSSreset = bits, U08, 10, [3:3] VSSerr = bits, U08, 10, [4:4] gearRangeErr = bits, U08, 10, [5:5] lowVolts = bits, U08, 10, [6:6] noBrake = bits, U08, 10, [7:7] manual_gear = scalar, S08, 11, " ", 1.000, 0.0 current_gear = scalar, S08, 12, " ", 1.000, 0.0 target_gear = scalar, S08, 13, " ", 1.000, 0.0 engine_rpm = scalar, U16, 14, "rpm", 1.000, 0.0 #if LOAD_KPA LOAD = scalar, S16, 16, "kpa", 0.100, 0.0 #else LOAD = scalar, S16, 16, "%", 0.100, 0.0 #endif #if CELSIUS clt = scalar, S16, 18, "ºC", 0.055556, -320.0 #else clt = scalar, S16, 18, "ºF", 0.100, 0.0 #endif #if SI_LENGTHS linepressure = scalar, S16, 20, "bar", 0.00689, 0.0 #else linepressure = scalar, S16, 20, "psi", 0.10, 0.0 #endif lock_TCC = scalar, U08, 22, " ", 1.000, 0.0 brake = bits, U08, 23, [0:0] burnstatus = bits, U08, 23, [1:1] FWD = bits, U08, 23, [2:2] forceUP = bits, U08, 23, [3:3] forceDWN = bits, U08, 23, [4:4] JakeBrake = bits, U08, 23, [5:5] #if LOAD_KPA LOAD_short = scalar, U16, 24, "kpa", 0.100, 0.0 #else LOAD_short = scalar, U16, 24, "%", 0.100, 0.0 #endif aux_volts = scalar, U16, 26, "V", 0.001, 0.0 PC_duty = scalar, U08, 28, "pct", 1.000, 0.0 slip = scalar, U08, 29, "pct", 1.000, 0.0 dbug = scalar, U16, 30, " ", 1.000, 0.0 In1adc = scalar, U16, 32, "volts", 0.00488, 0.0 In2adc = scalar, U16, 34, "volts", 0.00488, 0.0 In3adc = scalar, U16, 36, "volts", 0.00488, 0.0 solst = scalar, U08, 38, " ", 1.000, 0.0 Output1 = bits, U08, 38, [0:0] Output2 = bits, U08, 38, [1:1] Output3 = bits, U08, 38, [2:2] Output4 = bits, U08, 38, [3:3] Output5 = bits, U08, 38, [4:4] Output6 = bits, U08, 38, [5:5] Output7 = bits, U08, 38, [6:6] Output8 = bits, U08, 38, [7:7] chcksum = scalar, U08, 39, " ", 1.000, 0.0 mileage = scalar, U16, 40, "mpg", 0.010, 0.0 FuelAdj = scalar, S16, 42, "%", 0.100, 0.0 SpkAdj = scalar, S16, 44, "°", 0.100, 0.0 IdleAdj = scalar, S16, 46, " ", 1.000, 0.0 SprAdj = scalar, S16, 48, " ", 1.000, 0.0 In1 = bits, U08, 50, [0:0] In2 = bits, U08, 50, [1:1] In3 = bits, U08, 50, [2:2] In4 = bits, U08, 50, [3:3] sp1PWM = scalar, U08, 51, "%", 1.000, 0.0 is_rpm = scalar, U16, 52, "rpm", 1.000, 0.0 butADC = scalar, U16, 54, "volts", 0.00488, 0.0 sp2PWM = scalar, U08, 56, "%", 1.000, 0.0 TCC_count = scalar, U08, 57, "sec", 0.100, 0.0 sp0PWM = scalar, U08, 58, "%", 1.000, 0.0 sp09inx = scalar, U16, 59, ""' 0.100, 0.0 sp016inx = scalar, U16, 61, ""' 0.100, 0.0 ms2tps = scalar, U08, 63, "", 1.000, 0.0 LED1 = bits, U08, 64, [0:0] LED2 = bits, U08, 64, [1:1] LED3 = bits, U08, 64, [2:2] LED4 = bits, U08, 64, [3:3] dbugout7 = scalar, U08, 65, "", 1.000, 0.0 dbugout6 = scalar, U08, 66, "", 1.000, 0.0 dbugout5 = scalar, U08, 67, "", 1.000, 0.0 dbugout4 = scalar, U08, 68, "", 1.000, 0.0 dbugout3 = scalar, U08, 69, "", 1.000, 0.0 dbugout2 = scalar, U08, 70, "", 1.000, 0.0 dbugout1 = scalar, U08, 71, "", 1.000, 0.0 ; pageSize = 71 + U08 = 72 ; total page size must not be a (multiple of 8) plus 1; i.e. 17, 25, ... 57, 65, etc. ; Derived Values secl = {(timeNow % 256) - (timeNow % 1) }, "sec" ; to keep TS happy despite CANbus delays second2 = { seconds % 256 }, "sec" ; for clock gauge to see resets time = { timeNow }, "sec" ; system time from PC kmileage = { 235.2/mileage }, "l/100km" #if SI_LENGTHS os_rpm = { ((speedo*axle_ratio*530.516)/tire_diam) }, ""; #else os_rpm = { ((speedo*axle_ratio*336.135)/tire_diam) }, ""; #endif metricFE = { (mileage*0.43) }, "km/l"; VSS_Hz = { (os_rpm * num_teeth)/60 }, "Hz"; ic1_period = { 1000/(VSS_Hz) }, "msec"; ic2_period = { 60/(is_rpm * iss_divider ) }, ""; ; speed2 = { dbug/10 }, ""; Alternate speed for debugging ;------------------------------------------------------------------------------- ;-- The entries are saved in the datalog file in the order in which they -- ;-- appear in the list below. -- ;-- -- ;-- Channel - Case sensitive name of output channel to be logged. -- ;-- Label - String written to header line of log. -- ;-- Type - Data type of output, converted before writing. -- ;-- Format - C-style output format of data. -- [Datalog] ; Channel Label Type Format ; -------------- ---------- ----- ------ entry = time, "Time", float, "%.3f" entry = seconds, "Seconds", int, "%d" entry = auto_mode, "Mode", int, "%d" entry = speedo, "Speed", float, "%.1f" entry = dbug, "VSerr", int, "%d" entry = VSSreset, "VSrst", int, "%d" entry = engine_rpm, "RPM", int, "%d" #if SI_LENGTHS entry = odometer, "kms", float, "%.3f" #else entry = odometer, "miles", float, "%.3f" #endif entry = LOAD, "load", float, "%.1f" entry = LOAD_short, "sLoad", float, "%.1f" entry = mileage, "mpg", float, "%.2f" entry = In1adc, "in1adc", float, "%.3f" entry = In2adc, "in2adc", float, "%.3f" entry = In3adc, "in3adc", float, "%.3f" entry = In1, "swA", int, "%d" entry = In2, "swB", int, "%d" entry = In3, "swC", int, "%d" entry = In4, "swD", int, "%d" entry = solst, "soln", int, "%d" entry = Output1, "Out1", int, "%d" entry = Output2, "Out2", int, "%d" entry = Output3, "Out3", int, "%d" entry = Output4, "Out4", int, "%d" entry = Output5, "Out5", int, "%d" entry = Output6, "Out6", int, "%d" entry = Output7, "Out7", int, "%d" entry = Output8, "Out8", int, "%d" entry = upbutton, "UP", int, "%d" entry = downbutton, "DWN", int, "%d" entry = downshift_request, "Dreq", int, "%d" entry = upshift_request, "Ureq", int, "%d" entry = LED1, "led1", int, "%d" entry = LED2, "led2", int, "%d" entry = LED3, "led3", int, "%d" entry = LED4, "led4", int, "%d" entry = revshiftblock, "block", int, "%d" entry = forceUP, "fUP", int, "%d" entry = forceDWN, "fDWN", int, "%d" entry = JakeBrake, "Jake", int, "%d" entry = butADC, "shftBut", float, "%.3f" entry = current_gear, "cGear", int, "%d" entry = target_gear, "tGear", int, "%d" entry = manual_gear, "mGear", int, "%d" entry = gearRangeErr, "gErr", int, "%d" entry = lock_TCC, "TCC", int, "%d" entry = TCC_count, "TCChyst", int, "%.1f" entry = brake, "Brake", int, "%d" entry = VSS_Hz, "VSSHz", int, "%d" entry = os_rpm, "OS", int, "%d" entry = is_rpm, "IS", int, "%d" entry = slip, "slip", int, "%d" #if CELSIUS entry = clt, "cltC", float, "%.1f" #else entry = clt, "cltF", float, "%.1f" #endif entry = linepressure, "line", int, "%.1f" entry = aux_volts, "auxCH", float, "%.3f" entry = error, "Error", int, "%d" entry = PC_duty, "PC%", int, "%d" entry = sp0PWM, "Sp0%", int, "%d" entry = sp1PWM, "Sp1%", int, "%d" entry = sp2PWM, "Sp2%", int, "%d" entry = dbug, "dbug", int, "%d" entry = burnstatus, "burn", int, "%d" entry = FWD, "4WD", int, "%d" entry = sp09inx "sp0y", float, "%.1f" entry = sp016inx "sp0x", float, "%.1f" entry = ms2tps, "tps", int, "%d" ; ----------------------------------------------------------- [SettingContextHelp] InputCaptureEdge = "VSS input signal capture edge: 0 = rising edge, 1 falling." vss_table1 = "Vehicle speed bins for shift table 1." vss_table2 = "Vehicle speed bins for shift table 2." vss_PCtable = "Vehicle speed bins for line pressure control table." LOAD_table1 = "Load bin values for shift table 1." LOAD_table2 = "Load bin values for shift table 2." LOAD_PCtable = "Load bin values for line pressure control table." temp_table = "Temperature bin values for tables." gear_table = "Gear ratio for reverse and forward gears." CAN_enabled = "CAN connected, 0=no, 1=yes." load_type = "Choose whether to use MAP or TPS as the load value over CAN." noTCC_temp = "TCC will not lock below this temperature (to aid warm-up)." minTCC_gear = "Lowest gear in which the TCC can lock. Locking TCC at low speed and in low gears can result in harsh driveline reactions." noTCC_load = "TCC normally will not lock above this load. If it is locked, it will unlock above this load." PulseTol = "Percentage tolerance for next input pulse." axle_ratio = "Final drive ratio for FWD; Rear axle ratio for RWD." tire_diam = "Tire rolling diameter." under_rev_limit = "Do not allow upshift if it we result in rpm less than this value." shift_mode = "This is the start-up shifting mode." error_check = "Choose whether to enable error checking: 0 = no error checking (stim), 1 = take action on reported errors." rpm_limit = "Maximum engine RPM for downshift." num_teeth = "Divide factor to convert VSS pulses to revolutions. It is the number of teeth on the output shaft tone ring." TCC_PWM_Pd = "TCC PWM period - keep between 10-25 KHz (100-40 us)." PC_PWM_Pd = "PC PWM period - keep between 10-25 KHz (100-40 us)." OUT3_PWM_Pd = "Output3 PWM period." BatFac = "Battery PWM correction factor for pressure control output." ms2canID = "The CAN ID of the engine controller. Usually 0 for MegaSquirt code." ms2varBLK = "Code specific CANbus variables location on the engine controller. It is the block number for outpc (7) from tableDescriptor." PCneutral = "Pressure control output duty cycle in neutral." baud = "Serial communications baud rate. 115200 for MShift(tm) controller." board_type = "Board type of this board. Usually 4 for MShift(tm) controller." trans_can_id = "CANbus id (address) of this board. Usually 1 for MShift(tm) controller." can_var_rate = "Rate at which to get CANbus variables from MS-II." auto_table1 = "The primary target gear for each load and mph when the 2/4WD input is NOT grounded." auto_table2 = "The alternate target gear for each load and mph when the 2/4WD input is grounded." pc_table = "The PWM% for PC solenoid by load and mph." trans_temp_limit = "Apply TCC in all applicable gears above this temp, regardless of load. Applying TCC reduces heat from TCC slippage." pulse_mile = "Pulses per mile for speedometer output." rpm_check = "Choose whether to check RPM. Force shift if RPM gets too high or too low while running. Block shifts if RPM will be too high or too low after shift." gear_hyst = "Minimum amount speed must change after last shift before a new shift is allowed. Prevents hunting gears." kpa_hyst = "Minimum amount load must change after last shift before a new shift is allowed. Prevents hunting gears." max_shift_press = "Maximum shift line pressure allowed during a shift. If the pressure is higher, it will be lowered before the shift." pressure_delay = "Time to delay for line pressure to change before shift." shift_delay = "Time to delay after activating solenoids for shift to complete." LOADshortcount = "Short term load filtering factor." LOADlongcount = "Long term load filtering factor." LOADmult = "Multiplier for converting non-CANbus voltage to load." LOADzero = "Y-axis intercept for non-CANbus conversion of volts to load." minTCCspeed = "Minimum speed for the TCC to be allowed to lock." PCtemp = "Temperature adjustments for line pressure." ; Output1 = "Binary output pattern for output1." ; Output2 = "Binary output pattern for output2." ; Output3 = "Binary output pattern for output3." ; Output4 = "Binary output pattern for output4." out3dc = "Output3 duty cycle when ON." sp1speed = "Spare port 1 speed threshold." sp1speed_hyst = "Spare port 1 speed hysteresis." sp1speed_cond = "Spare port 1 speed logic condition" sp1rpm = "Spare port 1 RPM threshold." sp1rpm_hyst = "Spare port 1 RPM hysteresis." sp1rpm_cond = "Spare port 1 RPM logic condition." sp1load = "Spare port 1 load threshold." sp1load_hyst = "Spare port 1 load hysteresis." sp1load_cond = "Spare port 1 load logic condition." sp1gear = "Spare port 1 gear threshold." sp1gear_cond = "Spare port 1 gear logic conditions." sp2speed = "Spare port 2 speed threshold." sp2speed_hyst = "Spare port 2 speed hysteresis." sp2speed_cond = "Spare port 2 speed logic condition." sp2rpm = "Spare port 2 RPM threshold." sp2rpm_hyst = "Spare port 2 RPM condition." sp2rpm_cond = "Spare port 2 RPM logic condition." sp2load = "Spare port 2 load threshold." sp2load_hyst = "Spare port 2 load hysteresis." sp2load_cond = "Spare port 2 logic condition." sp2gear = "Spare port 2 gear threshold." sp2gear_cond = "Spare port 2 gear conditions." ; Input1ptrn = "Binary output pattern for input1." ; Input2ptrn = "Binary output pattern for input2." ; Input3ptrn = "Binary output pattern for input3." ; Input4ptrn = "Binary output pattern for input4." mlever_vP = "If voltage based shifter, this is the voltage in Park." mlever_vR = "If voltage based shifter, this is the voltage in Reverse." mlever_vN = "If voltage based shifter, this is the voltage in Neutral." mlever_v4 = "If voltage based shifter, this is the voltage in 4th." mlever_v3 = "If voltage based shifter, this is the voltage in 3rd." mlever_v2 = "If voltage based shifter, this is the voltage in 2nd." mlever_v1 = "If voltage based shifter, this is the, voltage in 1st." In4_OD = "0 if using lever for fourth, 1 if separate switch (ground for 4th)." clutch11u = "If spare port 1 used as clutch output, you can set which upshifts spare port 1 is activated" clutch12u = "If spare port 1 used as clutch output, you can set which upshifts spare port 1 is activated" clutch13u = "If spare port 1 used as clutch output, you can set which upshifts spare port 1 is activated" clutch14u = "If spare port 1 used as clutch output, you can set which upshifts spare port 1 is activated" clutch15u = "If spare port 1 used as clutch output, you can set which upshifts spare port 1 is activated" clutch16u = "If spare port 1 used as clutch output, you can set which upshifts spare port 1 is activated" clutch17u = "If spare port 1 used as clutch output, you can set which upshifts spare port 1 is activated" clutch18u = "If spare port 1 used as clutch output, you can set which upshifts spare port 1 is activated" clutch21u = "If spare port 2 used as clutch output, you can set which upshifts spare port 1 is activated" clutch22u = "If spare port 2 used as clutch output, you can set which upshifts spare port 1 is activated" clutch23u = "If spare port 2 used as clutch output, you can set which upshifts spare port 1 is activated" clutch24u = "If spare port 2 used as clutch output, you can set which upshifts spare port 1 is activated" clutch25u = "If spare port 2 used as clutch output, you can set which upshifts spare port 1 is activated" clutch26u = "If spare port 2 used as clutch output, you can set which upshifts spare port 1 is activated" clutch27u = "If spare port 2 used as clutch output, you can set which upshifts spare port 1 is activated" clutch28u = "If spare port 2 used as clutch output, you can set which upshifts spare port 1 is activated" clutch11d = "If spare port 1 used as clutch output, you can set which downshifts spare port 1 is activated." clutch12d = "If spare port 1 used as clutch output, you can set which downshifts spare port 1 is activated." clutch13d = "If spare port 1 used as clutch output, you can set which downshifts spare port 1 is activated." clutch14d = "If spare port 1 used as clutch output, you can set which downshifts spare port 1 is activated." clutch15d = "If spare port 1 used as clutch output, you can set which downshifts spare port 1 is activated." clutch16d = "If spare port 1 used as clutch output, you can set which downshifts spare port 1 is activated." clutch17d = "If spare port 1 used as clutch output, you can set which downshifts spare port 1 is activated." clutch18d = "If spare port 1 used as clutch output, you can set which downshifts spare port 1 is activated." clutch21d = "If spare port 2 used as clutch output, you can set which downshifts spare port 1 is activated" clutch22d = "If spare port 2 used as clutch output, you can set which downshifts spare port 1 is activated" clutch23d = "If spare port 2 used as clutch output, you can set which downshifts spare port 1 is activated" clutch24d = "If spare port 2 used as clutch output, you can set which downshifts spare port 1 is activated" clutch25d = "If spare port 2 used as clutch output, you can set which downshifts spare port 1 is activated" clutch26d = "If spare port 2 used as clutch output, you can set which downshifts spare port 1 is activated" clutch27d = "If spare port 2 used as clutch output, you can set which downshifts spare port 1 is activated" clutch28d = "If spare port 2 used as clutch output, you can set which downshifts spare port 1 is activated" FWD_factor = "Speedo adjustment ratio when 4WD pin is low (in four wheel drive). This adjustment is applied when the 2/4WD input is grounded. If you are using that input only to switch shift tables, not to engage a different final drive ratio, set this value to 1.000." upshift_retard = "Timing retard sent to engine controller during an upshift. Will be subtracted from engine's controllers calculated value." dwnshift_retard = "Timing retard sent to engine controller during a downshift. Will be subtracted from engine's controllers calculated value" gear2_retard = "Second gear timing retard when above specified load." gear3_retard = "Third gear retard when above specified load." gear4_retard = "Fourth gear retard when above specified load." Tretard_load = "Only retard timing if load is above this specified load." LUF_off = "Lock-up feel solenoid pulse width modulation percentage when nominally OFF." LUF_loLoad = "Lock-up feel low load (for low state PWM percent)." LUF_hiLoad = "Lock-up feel high load (for high state PWM percent)." LUF_loPWM = "Lock-up feel PWM percent at low load." LUF_hiPWM = "Lock-up feel PWM percent at high load." digital_threshold = "ADC to digital ON/OFF threshold. Values below this number are considered OFF, values above it are considered ON." shftr_accum = "Shifter accumulator - sets shift button sensitivity (lower is more sensitive)." hyst_enable_speed = "Shift hysteresis is disabled below this speed (x10)." vss_mask = "VSS input masking to reduce noise. Low numbers mean more filtering, high numbers mean less filtering. Set to 0 (zero) to disable. If non-zero, set to at least 50." ; stdin_cfg = "Standard input configuration to set function of 4WD/transmission temperature input." LUF_on = "PWM percent when Lock-up feel is ON." min_speed = "Minimum speed, will set to zero below this speed. Helps filter VSS signal noise." vss_skip_max = "Number of VSS errors before reset." line_units = "Line pressure input usage (use table or report ADC or use 2 point calcs)." inj_flow = "Injector flow rate (lbs/hour) x10 for ALL injectors for mileage calcs." open_time = "Injector open time (msecX100) for mileage calcs." fuel_density = "The engine's fuel density." nSquirts = "Number of squirts (divide by 2 if alternating)." refresh_int = "The interval time between dithers for output1 and output2." refresh_dur = "The 100% duty cycle time for refreshing the PWM on output1 and output2." dither_intPC = "The interval time between dither pulses for the pressure control output." dither_durPC = "The 100% duty cycle dither pulse duration for the pressure control output." out1_pwm_off = "Output1 and output2 OFF duration. The PWM period is the OFF duration plus the ON duration. The frequency is 1/period." out1_pwm_on = "Output1 and output2 ON duration. The PWM period is the OFF duration plus the ON duration. The frequency is 1/period." out2_pwm_off = "Output1 and output2 OFF duration. The PWM period is the OFF duration plus the ON duration. The frequency is 1/period." out2_pwm_on = "Output1 and output2 ON duration. The PWM period is the OFF duration plus the ON duration. The frequency is 1/period." brake_ON_polarity = "Select whether a grounded signal (~0V) means the brakes are ON or OFF." WOT_tps_threshold = "WOT TPS threshold as a percent of 1024 ADC counts." iss_mask = "ISS input masking to reduce noise. Low numbers mean more filtering, high numbers mean less filtering. Set to 0 (zero) to disable. If non-zero, set to at least 50. When you actually have an ISS sensor, it is used to calculate the ISS rpm (if you don't have an ISS sensor, it is calculated from the VSS and gear ratios). However, some filtering (aka. "input masking") is done on the signal to reject false signals. If the masking is set too low, the number of teeth appears to decreases, and this would likely be worse at higher speeds." ic2_usage = "Choose how to use the second timer input channel. Select from: not used, Input Speed Sensor, or Tach." iss_divider = "ISS/tach divider (number of teeth/rev)." activate_xrate = "CANbus transmission rate for CANbus message transmission." num_gears = "Number of forward gears. Does not include Park, Neutral or Reverse. Ex. for the 4L60E, this is 4." gear5_retard = "Fifth gear timing advance retard sent to MS-II." gear6_retard = "Sixth gear timing advance retard sent to MS-II." gear7_retard = "Seventh gear timing advance retard sent to MS-II." gear8_retard = "Eighth gear timing advance retard sent to MS-II." mlever_v5 = "If mlever_mode=1, voltage in 5th." mlever_v6 = "If mlever_mode=1, voltage in 6th." mlever_v7 = "If mlever_mode=1, voltage in 7th." mlever_v8 = "If mlever_mode=1, voltage in 8th." Adj_blk = "Fuel/Spark/Idle block on MS-II. Normally 5 for MS-II." Adj_varoffset = "Fuel/Spark/Idle variable offset on MS-II. Normally 946 for MS-II." LED11 = "LED 1 bit output patterns." LED12 = "LED 1 bit output patterns." LED13 = "LED 1 bit output patterns." LED14 = "LED 1 bit output patterns." LED15 = "LED 1 bit output patterns." LED16 = "LED 1 bit output patterns." LED17 = "LED 1 bit output patterns." LED18 = "LED 1 bit output patterns." LED21 = "LED 2 bit output patterns." LED22 = "LED 2 bit output patterns." LED23 = "LED 2 bit output patterns." LED24 = "LED 2 bit output patterns." LED25 = "LED 2 bit output patterns." LED26 = "LED 2 bit output patterns." LED27 = "LED 2 bit output patterns." LED28 = "LED 2 bit output patterns." LED31 = "LED 3 bit output patterns." LED32 = "LED 3 bit output patterns." LED33 = "LED 3 bit output patterns." LED34 = "LED 3 bit output patterns." LED35 = "LED 3 bit output patterns." LED36 = "LED 3 bit output patterns." LED37 = "LED 3 bit output patterns." LED38 = "LED 3 bit output patterns." LED41 = "LED 4 bit output patterns." LED42 = "LED 4 bit output patterns." LED43 = "LED 4 bit output patterns." LED44 = "LED 4 bit output patterns." LED45 = "LED 4 bit output patterns." LED46 = "LED 4 bit output patterns." LED47 = "LED 4 bit output patterns." LED48 = "LED 4 bit output patterns." LEDN1 = "LED bit pattern in neutral." LEDN2 = "LED bit pattern in neutral." LEDN3 = "LED bit pattern in neutral." LEDN4 = "LED bit pattern in neutral." LEDR1 = "LED bit pattern in reverse." LEDR2 = "LED bit pattern in reverse." LEDR3 = "LED bit pattern in reverse." LEDR4 = "LED bit pattern in reverse." IACAdjngear = "IAC step/percent adjustment sent to MS-II when gear==1 and VSS==0 and TPS==0. Can help prevent stalling in gear." AdvAdjngear = "Timing advance adjustment sent to MS=II when gear==1 and VSS==0 and TPS==0. Can help prevent stalling in gear." idle_tps_adc = "Idle TPS percentage of full ADC count for idle-up adjustments." can_testout = "CANbus mode to get MS-II outpc variables: get entire outpc., or get only outmsg variables." min_manual_speed = "minimum speed in manual mode before switch to auto mode (can be 0, or negative to disable)." shft_btn_polarity = "shift button polarity 0=low, 1=high." TCC_PWM = "TCC pulse width modulation mode: ON/OFF, or PWM'd." spareInputs = "Spare inputs usage if mlever_mode is variable voltages: use as ADCs, use as shift outputs or use Input1 as shift output, Input2 as shift solenoid output." Output5 = "Binary output pattern for output5." Output6 = "Binary output pattern for output6." PWM_enable = "Set whether PWM is enabled for shift solenoids." maxSpeed = "Maximum speed for VSS signal. Signals indicating speeds above this will be rejected, resulting in a smoother speedometer." resetTime = "Period to disable VSS filtering on reset. Allows time for VSS pattern to be established before filtering." TCC_counter = "Period to disable TCC lock-up again after unlocking. Prevents cycling of TCC." STCC_rpm = "Minimum RPM to apply full time torque converter clutch (TCC)." STCC_gear = "Minimum gear to apply full time torque converter clutch (TCC)." STCC_ULrpm = "RPM to unlock the torque converter clutch in full-time TCC mode." VSSsmoothFactor = "Smoothing factor for VSS." TCCupshift = "Torque Converter Clutch (TCC) upshift lock-up behavior." maxUPpressure2 = "Maximum line pressure PWM percent when shifting up to the specified gear. If the pre-shift pressure is lower than the maximum, it will be used." maxUPpressure3 = "Maximum line pressure PWM percent when shifting up to the specified gear. If the pre-shift pressure is lower than the maximum, it will be used." maxUPpressure4 = "Maximum line pressure PWM percent when shifting up to the specified gear. If the pre-shift pressure is lower than the maximum, it will be used." maxUPpressure5 = "Maximum line pressure PWM percent when shifting up to the specified gear. If the pre-shift pressure is lower than the maximum, it will be used." maxUPpressure6 = "Maximum line pressure PWM percent when shifting up to the specified gear. If the pre-shift pressure is lower than the maximum, it will be used." maxUPpressure7 = "Maximum line pressure PWM percent when shifting up to the specified gear. If the pre-shift pressure is lower than the maximum, it will be used." maxUPpressure8 = "Maximum line pressure PWM percent when shifting up to the specified gear. If the pre-shift pressure is lower than the maximum, it will be used." maxDWNpressure1 = "Maximum line pressure PWM percent when shifting down to the specified gear. If the pre-shift pressure is lower than the maximum, it will be used." maxDWNpressure2 = "Maximum line pressure PWM percent when shifting down to the specified gear. If the pre-shift pressure is lower than the maximum, it will be used." maxDWNpressure3 = "Maximum line pressure PWM percent when shifting down to the specified gear. If the pre-shift pressure is lower than the maximum, it will be used." maxDWNpressure4 = "Maximum line pressure PWM percent when shifting down to the specified gear. If the pre-shift pressure is lower than the maximum, it will be used." maxDWNpressure5 = "Maximum line pressure PWM percent when shifting down to the specified gear. If the pre-shift pressure is lower than the maximum, it will be used." maxDWNpressure6 = "Maximum line pressure PWM percent when shifting down to the specified gear. If the pre-shift pressure is lower than the maximum, it will be used." maxDWNpressure7 = "Maximum line pressure PWM percent when shifting down to the specified gear. If the pre-shift pressure is lower than the maximum, it will be used." solCupshiftPWM1 = "Individual upshift PWM% for output3." solCupshiftPWM2 = "Individual upshift PWM% for output3." solCupshiftPWM3 = "Individual upshift PWM% for output3." solCupshiftPWM4 = "Individual upshift PWM% for output3." solCupshiftPWM5 = "Individual upshift PWM% for output3." solCupshiftPWM6 = "Individual upshift PWM% for output3." solCupshiftPWM7 = "Individual upshift PWM% for output3." solCdwnshiftPWM1 = "Individual downshift PWM% for output3." solCdwnshiftPWM2 = "Individual downshift PWM% for output3." solCdwnshiftPWM3 = "Individual downshift PWM% for output3." solCdwnshiftPWM4 = "Individual downshift PWM% for output3." solCdwnshiftPWM5 = "Individual downshift PWM% for output3." solCdwnshiftPWM6 = "Individual downshift PWM% for output3." solCdwnshiftPWM7 = "Individual downshift PWM% for output3." debounce = "Threshold for switch manifold debounce. Higher values filter the signal more reliably, but slows their response slightly." WOT_dur = "WOT hysteresis is blocked for this time period." mlever_mode = "Select whether you want to use multiple digital inputs, or a variable voltage signal to read the manual shift lever position." shftbut_mode = "shift button mode 0 = two grounded inputs, 1 = single ADC." no_button_V = "Volts for neither button pressed (ADC count)." up_button_V = "Volts for sw1 button pressed (ADC count)." dwn_button_V = "Volts for sw2 button pressed (ADC count)." both_button_V = "Volts for both buttons pressed (ADC count)." tol_button_V = "Volts for both buttons pressed." hardware = "0 = GPIO, 1=microTCU." sp0_mode = "SP0 mode 0 = speedometer output, 1 = PWM, 2 = TCC, 3 = shift solenoid." sp1_mode = "SP1 mode 0 = spare port, 1 = PWM, 2 = TCC, 3 = shift solenoid." sp2_mode = "SP2 mode 0 = spare port, 1 = PWM, 2 = TCC, 3 = shift solenoid." sp0_table = "PWM lookup table for SP0." sp1_pwm_table = "PWM lookup table for SP1." sp2_pwm_table = "PWM lookup table for SP2." sp0_9Bin = "PWM lookup table 9-element index for SP0." sp0_16Bin = "PWM lookup table 16-element index for SP0." sp1_pwm_index = "PWM lookup table index for SP1." sp2_pwm_index = "PWM lookup table index for SP2." sp0_9index_mode = "Value to compare to the 9-element index table when looking up the PWM% in the 16x9 table. Choose from: load, speed, rpm, clt, or current gear." sp0_16index_mode = "Value to compare to the 16-element index table when looking up the PWM% in the 16x9 table. Choose from: load, speed, rpm, clt, or current gear." sp1_index_mode = "Value to compare to sp1_pwm_index. Choose from: load, speed, rpm, clt, or current gear." sp2_index_mode = "Value to compare to sp2_pwm_index. Choose from: load, speed, rpm, clt, or current gear." sp0_active = "If SP0 is PWM, 0 - always on, 1 - on except shifting, 2 on only during shift." sp1_active = "If SP1 is PWM, 0 - always on, 1 - on except shifting, 2 on only during shift." sp2_active = "If SP2 is PWM, 0 - always on, 1 - on except shifting, 2 on only during shift." sp0_off = "If SP0 is PWM, this is the 'off state' PWM%." sp1_off = "If SP1 is PWM, this is the 'off state' PWM%." sp2_off = "If SP2 is PWM, this is the 'off state' PWM%." sp0_per = "Spare port 1 pulse width modulation period. Set the period (the inverse of the frequency) in milliseconds. The frequency in Hertz is 1000 divided by the period in milliseconds." sp1_pwm_per = "Spare port 1 pulse width modulation period. Must be set in multiples of 0.128 ms clock tics." sp2_pwm_per = "Spare port 2 pulse width modulation period. Must be set in multiples of 0.128 ms clock tics." Output7 = "Binary output pattern for output7." speedoCorr = "Speedometer correction factors to account for VSS noise, tire growth or slippage at high speeds, etc.." speedoCorrBin = "Raw speed values for speedometer correction values. Can be up to plus or minus 100%." volt1 = "Voltage for first pressure point" press1 = "Pressure for first point (PSI, or any other units as long as you are consistent)." volt2 = "Voltage for 2nd pressure point" press2 = "Pressure for 2nd point (PSI, or any other units as long as you are consistent)." FlashLEDs = "Choose whether to have the LEDs flash once per second in forward gears when the controller is in manual shift mode." SlipOptn = "Choose whether to report/log the slip in the torque converter, or the slip in the bands inside the transmission (only available if you have enabled the ISS input)." mleverdead = "The voltage range between the mid-point of set points for which no gear will be determined. This should be a large enough value for the controller not to fluctuate between gears when the lever is not moved, but small enough to make sure a gear is selected under all conditions." PCreverse = "Line pressure 100-PWM % in reverse" PCrvrseOptn = "Line pressure option for reverse: 0 = User specified, 1 = Use 16x9 line pressure table" maxDeltaLever = "This is the maximum number of lever positions that are considered valid (in forward gears only)." leverErr = "Choose whether to completely ignore lever errors, or to check and report lever errors after the delay period has expired." lever_timer = "If the "Report Lever Errors" option is selected, they will still be ignored for the period specified here (in seconds), to prevent the code from acting on momentary glitches." minADCLeverVolts = "Set the minimum valid voltage for the voltage-based lever. Any signal voltage below this will be ignored, and the last valid voltage used." maxADCLeverVolts = "Set the maximum valid voltage for the voltage-based lever. Any signal voltage above this will be ignored, and the last valid voltage used." canVSSoffset = "The offset within the external CANbus controller's output block where the VSS signal is located. Set to zero (0) to use the internal GPIO VSS input." TCC_hyst = "Load hysteresis for TCC unlock (TCC unlocks when the load is below the lock level MINUS this value)." speedoutDC = "This parameter sets the pulse width modulation percentage for the speedometer output signal (from 1% to 99%), where the percentage is the time 'high' when the signal from the processor is used to control a PNP transistor with a pull-up circuit (i.e. the standard build)." D2mode = "Choose 'Use 1st & 2nd' for normal mode (manual gear lever sets maximum forward gear) OR enable burn-out mode to 'Use 2nd Only' when the manual shift lever is place in 2nd gear (i.e. D2). Using 2nd only (burn-out mode) can help when doing burnouts in a water box to warm slicks when drag racing. Only functions when in auto mode." ; SPIsoln1 = "bit 0 = Output 1 (1=use SPI)." ; = "bit 1 = Output 2 (1=use SPI)." ; = "bit 2 = Output 3 (1=use SPI)." ; = "bit 3 = Output 4 (1=use SPI)." ; = "bit 4 = Output 5 (1=use SPI)." ; = "bit 5 = Output 6 (1=use SPI)." ; = "bit 6 = Output 7 (1=use SPI)." ; = "bit 7 = Output 8 (1=use SPI)." ; SPIsoln2 = "bit 0 = Output 1 (1=use SPI)." ; = "bit 1 = Output 2 (1=use SPI)." ; = "bit 2 = Output 3 (1=use SPI)." ; = "bit 3 = Output 4 (1=use SPI)." ; = "bit 4 = Output 5 (1=use SPI)." ; = "bit 5 = Output 6 (1=use SPI)." ; = "bit 6 = Output 7 (1=use SPI)." ; = "bit 7 = Output 8 (1=use SPI)." ; D0BR = "SPI0BR baud rate for device 0." ; = "set up SPI for MC33800." ; = "SPICR1." ; = "bit 0: LSBFE = 0." ; = "bit 1: SSOE = 1 (turn on slave select output enable (requires MODFEN == 1))." ; = "bit 2: CPHA = 0." ; = "bit 3: CPOL = 0." ; = "bit 4: MSTR = 1 (Master mode)." ; = "bit 5: SPTIE = 0." ; = "bit 6: SPE = 1 (SPI enabled, port pins are dedicated to SPI functions.)." ; = "bit 7: SPIE = 0." ; = "SPICR2." ; = "bit 0: SPC0 = 0." ; = "bit 1: SPISWAI = 1 (SPI clock operates normally in wait mode)." ; = "bit 2: 0 = 0." ; = "bit 3: BIDIROE = 0." ; = "bit 4: MODFEN = 1 (Use SS pin)." ; = "bit 5: 0 = 0." ; = "bit 6: 0 = 0." ; = "bit 7: 0 = 0." ; D0CR1 = "SPI0CR1 for device 0." ; D0CR2 = "SPI0CR2 for device 0." ; D1BR = "SPI0BR baud rate for device 1." ; D1CR1 = "SPI0CR1 for device 1." ; D1CR2 = "SPI0CR2 for device 1." ; D2BR = "SPI0BR baud rate for device 2." ; D2CR1 = "SPI0CR1 for device 2." ; D2CR2 = "SPI0CR2 for device 2." ; D3BR = "SPI0BR baud rate for device 3." ; D3CR1 = "SPI0CR1 for device 3." ; D3CR2 = "SPI0CR2 for device 3." ; ----------------------------------------------------------- ;[ConstantsExtensions] ; requiresPowerCycle = num_teeth ; requiresPowerCycle = pulse_mile ; requiresPowerCycle = maxSpeed ; requiresPowerCycle = tire_diam ; requiresPowerCycle = axle_ratio ; requiresPowerCycle = out3dc