; 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, Nov. 14, 2013
;------------------------------------------------------------------------------
; 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.135 " ; 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 = 1008, 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 addressses that are used),
; but it does help when trying to undertand 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 (centimeters*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
pwmper4 = scalar, U08, 109, "", 1.00000, 0.00000, 5, 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 multplier (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 multplier (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, 50, 450, 1 ; minimum TCC lock-up speed (imperial)
#else
minTCCspeed = scalar, U16, 437, "mph", 0.10000, 0.00000, 30, 300, 1 ; minimum TCC lock-up speed (metric)
#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 ; mimimum speed for VSS filtering
#else
min_speed = scalar, U08, 559, "mph", 0.10, 0.00000, 0.0, 20.00, 1 ; mimimum 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 fitering 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
pad10 = scalar, U08, 1007, "", 1.00000, 0.00000, 0, 256, 0 ; VSS over CAN offset within outpc.
; ****************************************************************** end inpram *********************
; pageSize = 1007 + 1 = 1008 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 ], "kph", 1.00000, 0.00000, 0, 255, 0 ; vehicle speed tables
sp0_9Bin = array, U16, 144, [ 9 ], "kph", 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
pad23 = scalar, U08, 380, "", 1.00000, 0.00000, 0, 255, 0 ;
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, "Ouput Pattern in Park"
subMenu = outPatternGN, "Ouput Pattern in Neutral"
subMenu = outPatternGR, "Ouput Pattern in Reverse"
subMenu = outPatternG1, "Ouput Pattern in 1st"
subMenu = outPatternG2, "Ouput Pattern in 2nd"
subMenu = outPatternG3, "Ouput Pattern in 3rd"
subMenu = outPatternG4, "Ouput Pattern in 4th"
subMenu = outPatternG5, "Ouput Pattern in 5th", 0, {num_gears > 4}
subMenu = outPatternG6, "Ouput Pattern in 6th", 0, {num_gears > 5}
subMenu = outPatternG7, "Ouput Pattern in 7th", 0, {num_gears > 6}
subMenu = outPatternG8, "Ouput 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 Assingments", 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"
field = "#Controller Hardware", hardware
field = "Changes requires power cycle on controller."
field = "Be sure to burn change befpre 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#gl"
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#lp"
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 = "#(always used at start-up)"
field = "Minimum Manual Speed" , min_manual_speed
field = "#min. man. 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 = "Max. Shift Line Pressure", max_shift_press
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 = "Additonal 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 }
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 CAN 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 auxillary 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, 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, 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
; - 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
;----------------------------------------------------------------------------
; 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;
;-------------------------------------------------------------------------------
[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, load, load, load
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 = 64
#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]
; CVSSreset = 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, U16, 20, "bar", 0.000689, 0.0
#else
linepressure = scalar, U16, 20, "psi", 0.010, 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]
#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
; pageSize = 63 + 1 = 64
; 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 = 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 = mileage, "mpg", float, "%.2f"
entry = In1adc, "in1adc", float, "%.3f"
entry = In2adc, "in2adc", float, "%.3f"
entry = In3adc, "in3adc", float, "%.3f"
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 = upbutton, "UP", int, "%d"
entry = downbutton, "DWN", int, "%d"
entry = forceUP, "fUP", int, "%d"
entry = forceDWN, "fDWN", 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 = lock_TCC, "TCC", int, "%d"
entry = TCC_count, "TCChyst", int, "%.1f"
entry = brake, "Brake", int, "%d"
entry = VSS_Hz, "Brake", int, "%d"
entry = os_rpm, "OS", int, "%d"
entry = is_rpm, "IS", int, "%d"
entry = slip, "slip", int, "%d"
#if CELSIUS
entry = clt, "ºC", float, "%.1f"
#else
entry = clt, "ºF", 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 = LOAD_short, "sLoad", float, "%.1f"
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 whther 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 cyle in neutral."
baud = "Serial communications baud rate. 115200 for MShift(tm) controller."
board_type = "Board type of this board. Usuaully 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 = "Multpiler 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 cyle 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 adjustmebnt 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 poulse 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 inut 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 adance retard sent to MS-II."
gear6_retard = "Sixth gear timing adance retard sent to MS-II."
gear7_retard = "Seventh gear timing adance retard sent to MS-II."
gear8_retard = "Eighth gear timing adance 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 mkodulation 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 = "Minumum RPM to apply full time torque converter clutch (TCC)."
STCC_gear = "Minumum 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 lowert 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 lowert 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 lowert 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 lowert 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 lowert 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 lowert 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 lowert 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 lowert 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 lowert 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 lowert 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 lowert 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 lowert 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 lowert 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 lowert 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 gounded input, 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-lement 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 shiting, 2 on only during shift."
sp1_active = "If SP1 is PWM, 0 - always on, 1 - on except shiting, 2 on only during shift."
sp2_active = "If SP2 is PWM, 0 - always on, 1 - on except shiting, 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 millseconds. The frequecy in Hertz is 1000 divided by the period in millseconds."
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 puls 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)."
; 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