#alert "This INI is for use with the 1.000 GPIO template code for test purposes only. It is intended as a platform for writing your own code and INI. Neither it nor the code are fully tested, and they should be used in a vehicle only with caution./n" ; INI date: 12:01 pm, June 02/10" ;------------------------------------------------------------------------------- [MegaTune] MTversion = 2.25 ; MegaTune itself; needs to match exec version. versionInfo = "S" ; Put this in the title bar. queryCommand = "Q" ; Verify against signature. signature = "Template 1.000 " ; GPIO sends a null at 20th byte. ;------------------------------------------------------------------------------- [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 layed ; out like. ; ; [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 = 70 ; Milliseconds delay after burn command. blockReadTimeout = 300 ; Milliseconds total timeout for reading page. ; The commands sent to the GPIO are formatted "command\CAN_ID\table_ID" ; %2i is the table number - 2 words ; %2o is the offset - 2 words ; %2c is the number of values to be written ; %v is the value(s) to be written endianness = big nPages = 2 pageSize = 211, 30 pageIdentifier = "\x01\x04", "\x01\x05" ; burnCommand = "b%2i", "b%2i" burnCommand = "b\x01\x04", "b\x01\x05" 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" ; 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) ; ................................................................................................ ; The variable names are the same here as in the code, but this isn't necesasary. You can use any name you like (as long as it conform to the naming rules). ; The variable accessed on the GPIO processor soley by its offset (memory address) and size. ; However, using the same, or similar, names in the INI and code makes it much easier to jump back and forth between the C code for the GPIO processor and the INI. page = 1 ; **************************************** inpram ************************************************* ;name = class, type, offset, shape, units, scale, translate, lo, hi, decimal digits ms2canID = scalar, U08, 0, "", 1.0000, 0.0000, 0, 255, 0 ; msvarBLK = scalar, U08, 1, "", 1.0000, 0.0000, 0, 255, 0 ; baud = scalar, U32, 2, "", 1.0000, 0.0000, 9600, 115200, 0 ; board_type = scalar, U08, 6, "", 1.0000, 0.0000, 0, 255, 0 ; mycan_id = scalar, U08, 7, "", 1.0000, 0.0000, 0, 255, 0 ; can_var_rate = scalar, U16, 8, "", 1.0000, 0.0000, 1, 400, 0 ; CAN_enabled = scalar, U08, 10, "", 1.0000, 0.0000, 0, 255, 0 ; charvariable000 = scalar, U08, 11, "", 1.0000, 0.0000, 0, 255, 0 ; charvariable001 = scalar, U08, 12, "", 1.0000, 0.0000, 0, 255, 0 ; charvariable002 = scalar, U08, 13, "", 1.0000, 0.0000, 0, 255, 0 ; charvariable003 = scalar, U08, 14, "", 1.0000, 0.0000, 0, 255, 0 ; charvariable004 = scalar, U08, 15, "", 1.0000, 0.0000, 0, 255, 0 ; charvariable005 = scalar, U08, 16, "", 1.0000, 0.0000, 0, 255, 0 ; charvariable006 = scalar, U08, 17, "", 1.0000, 0.0000, 0, 255, 0 ; charvariable007 = scalar, U08, 18, "", 1.0000, 0.0000, 0, 255, 0 ; charvariable008 = scalar, U08, 19, "", 1.0000, 0.0000, 0, 255, 0 ; charvariable009 = scalar, U08, 20, "", 1.0000, 0.0000, 0, 255, 0 ; charvariable010 = scalar, U08, 21, "", 1.0000, 0.0000, 0, 255, 0 ; charvariable011 = scalar, U08, 22, "", 1.0000, 0.0000, 0, 255, 0 ; charvariable012 = scalar, U08, 23, "", 1.0000, 0.0000, 0, 255, 0 ; charvariable013 = scalar, U08, 24, "", 1.0000, 0.0000, 0, 255, 0 ; charvariable014 = scalar, U08, 25, "", 1.0000, 0.0000, 0, 255, 0 ; charvariable015 = scalar, U08, 26, "", 1.0000, 0.0000, 0, 255, 0 ; charvariable016 = scalar, U08, 27, "", 1.0000, 0.0000, 0, 255, 0 ; charvariable017 = scalar, U08, 28, "", 1.0000, 0.0000, 0, 255, 0 ; charvariable018 = scalar, U08, 29, "", 1.0000, 0.0000, 0, 255, 0 ; charvariable019 = scalar, U08, 30, "", 1.0000, 0.0000, 0, 255, 0 ; charvariable020 = scalar, U08, 31, "", 1.0000, 0.0000, 0, 255, 0 ; charvariable021 = scalar, U08, 32, "", 1.0000, 0.0000, 0, 255, 0 ; charvariable022 = scalar, U08, 33, "", 1.0000, 0.0000, 0, 255, 0 ; charvariable023 = scalar, U08, 34, "", 1.0000, 0.0000, 0, 255, 0 ; charvariable024 = scalar, U08, 35, "", 1.0000, 0.0000, 0, 255, 0 ; charvariable025 = scalar, U08, 36, "", 1.0000, 0.0000, 0, 255, 0 ; charvariable026 = scalar, U08, 37, "", 1.0000, 0.0000, 0, 255, 0 ; charvariable027 = scalar, U08, 38, "", 1.0000, 0.0000, 0, 255, 0 ; charvariable028 = scalar, U08, 39, "", 1.0000, 0.0000, 0, 255, 0 ; charvariable029 = scalar, U08, 40, "", 1.0000, 0.0000, 0, 255, 0 ; charvariable030 = scalar, U08, 41, "", 1.0000, 0.0000, 0, 255, 0 ; charvariable031 = scalar, U08, 42, "", 1.0000, 0.0000, 0, 255, 0 ; charvariable032 = scalar, U08, 43, "", 1.0000, 0.0000, 0, 255, 0 ; charvariable033 = scalar, U08, 44, "", 1.0000, 0.0000, 0, 255, 0 ; charvariable034 = scalar, U08, 45, "", 1.0000, 0.0000, 0, 255, 0 ; charvariable035 = scalar, U08, 46, "", 1.0000, 0.0000, 0, 255, 0 ; charvariable036 = scalar, U08, 47, "", 1.0000, 0.0000, 0, 255, 0 ; charvariable037 = scalar, U08, 48, "", 1.0000, 0.0000, 0, 255, 0 ; charvariable038 = scalar, U08, 49, "", 1.0000, 0.0000, 0, 255, 0 ; charvariable039 = scalar, U08, 50, "", 1.0000, 0.0000, 0, 255, 0 ; charvariable040 = scalar, U08, 51, "", 1.0000, 0.0000, 0, 255, 0 ; charvariable041 = scalar, U08, 52, "", 1.0000, 0.0000, 0, 255, 0 ; charvariable042 = scalar, U08, 53, "", 1.0000, 0.0000, 0, 255, 0 ; charvariable043 = scalar, U08, 54, "", 1.0000, 0.0000, 0, 255, 0 ; charvariable044 = scalar, U08, 55, "", 1.0000, 0.0000, 0, 255, 0 ; charvariable045 = scalar, U08, 56, "", 1.0000, 0.0000, 0, 255, 0 ; charvariable046 = scalar, U08, 57, "", 1.0000, 0.0000, 0, 255, 0 ; charvariable047 = scalar, U08, 58, "", 1.0000, 0.0000, 0, 255, 0 ; charvariable048 = scalar, U08, 59, "", 1.0000, 0.0000, 0, 255, 0 ; charvariable049 = scalar, U08, 60, "", 1.0000, 0.0000, 0, 255, 0 ; charvariable050 = scalar, U08, 61, "", 1.0000, 0.0000, 0, 255, 0 ; charvariable051 = scalar, U08, 62, "", 1.0000, 0.0000, 0, 255, 0 ; charvariable052 = scalar, U08, 63, "", 1.0000, 0.0000, 0, 255, 0 ; charvariable053 = scalar, U08, 64, "", 1.0000, 0.0000, 0, 255, 0 ; charvariable054 = scalar, U08, 65, "", 1.0000, 0.0000, 0, 255, 0 ; charvariable055 = scalar, U08, 66, "", 1.0000, 0.0000, 0, 255, 0 ; charvariable056 = scalar, U08, 67, "", 1.0000, 0.0000, 0, 255, 0 ; charvariable057 = scalar, U08, 68, "", 1.0000, 0.0000, 0, 255, 0 ; charvariable058 = scalar, U08, 69, "", 1.0000, 0.0000, 0, 255, 0 ; charvariable059 = scalar, U08, 70, "", 1.0000, 0.0000, 0, 255, 0 ; intvariable000 = scalar, U16, 71, "", 1.0000, 0.0000, 0, 65535, 0 ; intvariable001 = scalar, U16, 73, "", 1.0000, 0.0000, 0, 65535, 0 ; intvariable002 = scalar, U16, 75, "", 1.0000, 0.0000, 0, 65535, 0 ; intvariable003 = scalar, U16, 77, "", 1.0000, 0.0000, 0, 65535, 0 ; intvariable004 = scalar, U16, 79, "", 1.0000, 0.0000, 0, 65535, 0 ; intvariable005 = scalar, U16, 81, "", 1.0000, 0.0000, 0, 65535, 0 ; intvariable006 = scalar, U16, 83, "", 1.0000, 0.0000, 0, 65535, 0 ; intvariable007 = scalar, U16, 85, "", 1.0000, 0.0000, 0, 65535, 0 ; intvariable008 = scalar, U16, 87, "", 1.0000, 0.0000, 0, 65535, 0 ; intvariable009 = scalar, U16, 89, "", 1.0000, 0.0000, 0, 65535, 0 ; intvariable010 = scalar, U16, 91, "", 1.0000, 0.0000, 0, 65535, 0 ; intvariable011 = scalar, U16, 93, "", 1.0000, 0.0000, 0, 65535, 0 ; intvariable012 = scalar, U16, 95, "", 1.0000, 0.0000, 0, 65535, 0 ; intvariable013 = scalar, U16, 97, "", 1.0000, 0.0000, 0, 65535, 0 ; intvariable014 = scalar, U16, 99, "", 1.0000, 0.0000, 0, 65535, 0 ; intvariable015 = scalar, U16, 101, "", 1.0000, 0.0000, 0, 65535, 0 ; intvariable016 = scalar, U16, 103, "", 1.0000, 0.0000, 0, 65535, 0 ; intvariable017 = scalar, U16, 105, "", 1.0000, 0.0000, 0, 65535, 0 ; intvariable018 = scalar, U16, 107, "", 1.0000, 0.0000, 0, 65535, 0 ; intvariable019 = scalar, U16, 109, "", 1.0000, 0.0000, 0, 65535, 0 ; intvariable020 = scalar, U16, 111, "", 1.0000, 0.0000, 0, 65535, 0 ; intvariable021 = scalar, U16, 113, "", 1.0000, 0.0000, 0, 65535, 0 ; intvariable022 = scalar, U16, 115, "", 1.0000, 0.0000, 0, 65535, 0 ; intvariable023 = scalar, U16, 117, "", 1.0000, 0.0000, 0, 65535, 0 ; intvariable024 = scalar, U16, 119, "", 1.0000, 0.0000, 0, 65535, 0 ; intvariable025 = scalar, U16, 121, "", 1.0000, 0.0000, 0, 65535, 0 ; intvariable026 = scalar, U16, 123, "", 1.0000, 0.0000, 0, 65535, 0 ; intvariable027 = scalar, U16, 125, "", 1.0000, 0.0000, 0, 65535, 0 ; intvariable028 = scalar, U16, 127, "", 1.0000, 0.0000, 0, 65535, 0 ; intvariable029 = scalar, U16, 129, "", 1.0000, 0.0000, 0, 65535, 0 ; intvariable030 = scalar, U16, 131, "", 1.0000, 0.0000, 0, 65535, 0 ; intvariable031 = scalar, U16, 133, "", 1.0000, 0.0000, 0, 65535, 0 ; intvariable032 = scalar, U16, 135, "", 1.0000, 0.0000, 0, 65535, 0 ; intvariable033 = scalar, U16, 137, "", 1.0000, 0.0000, 0, 65535, 0 ; intvariable034 = scalar, U16, 139, "", 1.0000, 0.0000, 0, 65535, 0 ; intvariable035 = scalar, U16, 141, "", 1.0000, 0.0000, 0, 65535, 0 ; intvariable036 = scalar, U16, 143, "", 1.0000, 0.0000, 0, 65535, 0 ; intvariable037 = scalar, U16, 145, "", 1.0000, 0.0000, 0, 65535, 0 ; intvariable038 = scalar, U16, 147, "", 1.0000, 0.0000, 0, 65535, 0 ; intvariable039 = scalar, U16, 149, "", 1.0000, 0.0000, 0, 65535, 0 ; intvariable040 = scalar, U16, 151, "", 1.0000, 0.0000, 0, 65535, 0 ; intvariable041 = scalar, U16, 153, "", 1.0000, 0.0000, 0, 65535, 0 ; intvariable042 = scalar, U16, 155, "", 1.0000, 0.0000, 0, 65535, 0 ; intvariable043 = scalar, U16, 157, "", 1.0000, 0.0000, 0, 65535, 0 ; intvariable044 = scalar, U16, 159, "", 1.0000, 0.0000, 0, 65535, 0 ; intvariable045 = scalar, U16, 161, "", 1.0000, 0.0000, 0, 65535, 0 ; intvariable046 = scalar, U16, 163, "", 1.0000, 0.0000, 0, 65535, 0 ; intvariable047 = scalar, U16, 165, "", 1.0000, 0.0000, 0, 65535, 0 ; intvariable048 = scalar, U16, 167, "", 1.0000, 0.0000, 0, 65535, 0 ; intvariable049 = scalar, U16, 169, "", 1.0000, 0.0000, 0, 65535, 0 ; longvariable000 = scalar, U32, 171, "", 1.0000, 0.0000, 0, 10000000, 0 ; longvariable001 = scalar, U32, 175, "", 1.0000, 0.0000, 0, 10000000, 0 ; longvariable002 = scalar, U32, 179, "", 1.0000, 0.0000, 0, 10000000, 0 ; longvariable003 = scalar, U32, 183, "", 1.0000, 0.0000, 0, 10000000, 0 ; longvariable004 = scalar, U32, 187, "", 1.0000, 0.0000, 0, 10000000, 0 ; longvariable005 = scalar, U32, 191, "", 1.0000, 0.0000, 0, 10000000, 0 ; longvariable006 = scalar, U32, 195, "", 1.0000, 0.0000, 0, 10000000, 0 ; longvariable007 = scalar, U32, 199, "", 1.0000, 0.0000, 0, 10000000, 0 ; longvariable008 = scalar, U32, 203, "", 1.0000, 0.0000, 0, 10000000, 0 ; longvariable009 = scalar, U32, 207, "", 1.0000, 0.0000, 0, 10000000, 0 ; ; ****************************************************************** end inpram ********************* ; pageSize = 207 + 4 = 211 bytes page = 2 ; *************** in2ram **************************************************************************** ; not used at present, but put in place for future expansion spare1 = scalar, S16, 0, "", 1.00000, 0.00000, 0, 32000, 0 ; spare1 in in2ram spare2 = scalar, S16, 2, "", 1.00000, 0.00000, 0, 32000, 0 ; spare2 in in2ram spare3 = scalar, S16, 4, "", 1.00000, 0.00000, 0, 32000, 0 ; spare3 in in2ram spare4 = scalar, S16, 6, "", 1.00000, 0.00000, 0, 32000, 0 ; spare4 in in2ram spare5 = scalar, S16, 8, "", 1.00000, 0.00000, 0, 32000, 0 ; spare5 in in2ram spare6 = scalar, S16, 10, "", 1.00000, 0.00000, 0, 32000, 0 ; spare6 in in2ram spare7 = scalar, S16, 12, "", 1.00000, 0.00000, 0, 32000, 0 ; spare7 in in2ram spare8 = scalar, S16, 14, "", 1.00000, 0.00000, 0, 32000, 0 ; spare8 in in2ram spare9 = scalar, S16, 16, "", 1.00000, 0.00000, 0, 32000, 0 ; spare9 in in2ram spare10 = scalar, S16, 18, "", 1.00000, 0.00000, 0, 32000, 0 ; spare10 in in2ram spare11 = scalar, S16, 20, "", 1.00000, 0.00000, 0, 32000, 0 ; spare11 in in2ram spare12 = scalar, S16, 22, "", 1.00000, 0.00000, 0, 32000, 0 ; spare11 in in2ram spare13 = scalar, S16, 24, "", 1.00000, 0.00000, 0, 32000, 0 ; spare13 in in2ram spare14 = scalar, S16, 26, "", 1.00000, 0.00000, 0, 32000, 0 ; spare14 in in2ram spare15 = scalar, S16, 28, "", 1.00000, 0.00000, 0, 32000, 0 ; spare15 in in2ram ; ****************************************************************** end in2ram ********************* ; pageSize = 28 + 2 = 30 = 1Eh [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 = "&Input Variables" subMenu = firstCharVars, "&First Char Variables" subMenu = firstIntVars, "&First Int Variables" subMenu = firstLongVars, "&First Long Variables" menuDialog = main menu = "T&ools" subMenu = std_ms2gentherm, "&Calibrate T&hermistor Table..." ; subMenu = sensorCal, "&Sensor Calibration..." subMenu = canconfig, "C&AN Configuration" menu = "&Help" subMenu = helpGeneral, "&GPIO Info" subMenu = burnHelp, "&Burning Values to ECU" ;------------------------------------------------------------------------------- [UserDefined] ; Maximum 16 entries per menu (any more will be truncated without warning) dialog = firstCharVars, "First Char Variables" topicHelp = "http://www.msgpio.com/manuals/" field = "Char Variable 000", charvariable000 field = "Char Variable 001", charvariable001 field = "Char Variable 002", charvariable002 field = "Char Variable 003", charvariable003 field = "Char Variable 004", charvariable004 field = "Char Variable 005", charvariable005 field = "Char Variable 006", charvariable006 field = "Char Variable 007", charvariable007 field = "Char Variable 008", charvariable008 field = "Char Variable 009", charvariable009 field = "..." dialog = firstIntVars, "First Int Variables" topicHelp = "http://www.msgpio.com/manuals/" field = "Int Variable 000", intvariable000 field = "Int Variable 001", intvariable001 field = "Int Variable 002", intvariable002 field = "Int Variable 003", intvariable003 field = "Int Variable 004", intvariable004 field = "Int Variable 005", intvariable005 field = "Int Variable 006", intvariable006 field = "Int Variable 007", intvariable007 field = "Int Variable 008", intvariable008 field = "Int Variable 009", intvariable009 field = "..." dialog = firstLongVars, "First Long Variables" topicHelp = "http://www.msgpio.com/manuals/" field = "Long Variable 000", longvariable000 field = "Long Variable 001", longvariable001 field = "Long Variable 002", longvariable002 field = "Long Variable 003", longvariable003 field = "Long Variable 004", longvariable004 field = "Long Variable 005", longvariable005 field = "Long Variable 006", longvariable006 field = "Long Variable 007", longvariable007 field = "Long Variable 008", longvariable008 field = "Long Variable 009", longvariable009 dialog = canconfig, "CAN Configuration" topicHelp = "http://www.msgpio.com/manuals/mshift/4L60E_MT.html#oa" field = "#Controller Area Network set-up" field = "!CAN Usage", CAN_enabled field = "!CAN ID (GPIO)", mycan_id, { 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", msvarBLK, { 0 } ; change to { 1 } to make editable field = "!CAN Fetch Rate", can_var_rate, { CAN_enabled } field = "If CAN is disabled, load is determined" field = "from 0-5V auxillary input on AMP pin 24" field = "See 'General Settings/Non-CAN Load Settings'" help = burnHelp, "Burning Values to ECU" webHelp = "http://www.msgpio.com/manuals/mshift/4L60E_MT.html#hb" text = "Occassionally, you may have trouble getting values to 'stick'" text = "in MegaTune. There are a few things you can try if this happens:

" text = "\tHit TAB after entering the value. This forces MegaTune to" text = "recognize the changed value.
" text = "\tThen 'Burn to ECU'

" text = "If that doesn't work:

" text = "\tChange the value (as above) and immediately save the MSQ file ('File/Save').
" text = "\tThen reload the file you just saved, and burn it when prompted.

" text = "This forces all the values to be burned to both flash and RAM memory, and" text = "should solve the problem." 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
" help = helpGeneral, "GPIO General Help" webHelp = "http://www.msgpio.com" text = "Copyright 2010 Al Grippo and Bruce Bowling" ;------------------------------------------------------------------------------- [CurveEditor] ; EXAMPLES from MegaShift ; curve = PCtemp_adjust, "Temperature v. Line Pressure Adjustments" ; topicHelp = "http://www.msgpio.com/manuals/mshift/4L60E_MT.html#" ; columnLabel = "Temp.", "PC%" ; xAxis = -40, 220, 9 ; yAxis = -100, 100, 5 ; xBins = temp_table, clt ; yBins = PCtemp ; gauge = line_pressure [TableEditor] ; EXAMPLES from MegaShift ; table_id, map3d_id, "title", page ; table = geartable, gearmap, "Gear Shift Table", 2 ; constant, variable ; topicHelp = "http://www.msgpio.com/manuals/mshift/4L60E_MT.html#ag" ; xBins = vss_table, speedo, readonly ; yBins = LOAD_table, LOAD, readonly ; zBins = auto_table ; upDownLabel = "UP", "DOWN" ; gridHeight = 0.7 ; gridOrient = 230, 0, 340 ; Space 123 rotation of grid in degrees. ; table = pctable, pcmap, "Pressure Control Table", 2 ; topicHelp = "http://www.msgpio.com/manuals/mshift/4L60E_MT.html#ap" ; xBins = vss_table, speedo, readonly ; yBins = LOAD_table, LOAD, readonly ; zBins = pc_table ; upDownLabel = "+", "-" ; gridHeight = 0.7 ; gridOrient = 220, 0, 340 ;------------------------------------------------------------------------------- [GaugeConfigurations] ;------------------------------------------------------------------------------- ; ; 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 LoDLoW HiW HiD vd ld time = seconds, "Clock", "", 0, 65535, -1, -1, 100, 10000, 0, 0; error = error, "Errors", "", 0, 255, -1, -1, 10, 250, 0, 0; Load = LOAD, "LOAD", "", 0, 65535, -1, -1, 100, 10000, 0, 0; loop_count = loop_count, "Main Loops", "", 0, 255, -1, -1, 10, 250, 0, 0; CANtx = CANtx, "CANtx ", "", 0, 65535, -1, -1, 100, 10000, 0, 0; CANrx = CANrx, "CANrx", "", 0, 65535, -1, -1, 100, 10000, 0, 0; egt2 = egt2, "egt2", "", 0, 65535, -1, -1, 100, 10000, 0, 0; gpi2 = gpi2, "gpi2", "", 0, 65535, -1, -1, 100, 100000, 0, 0; ; - Regardless of the order shown here, the gauges are listed in the drop-down menu in capital/uppercase ; alphabetical order, then lowercase/alphabetical order (i.e., by ASCII numbering). ; - We set the defaults to lowercase, the general use non-defaults to uppercase (so they appear near the top of ; the listing, and are easiest to select), then the debug gauges in lowercase as well - prefaced with "x_". ; - Some gauges are essentially duplications of the indicators, but are included for troubleshooting the ; indicator set-up. ;------------------------------------------------------------------------------- [FrontPage] ; Gauges are numbered left to right, top to bottom. ; ; 1 2 3 4 ; 5 6 7 8 gauge1 = time; gauge2 = error; gauge3 = Load; gauge4 = loop_count; gauge5 = CANtx; gauge6 = CANrx; gauge7 = egt2; gauge8 = gpi2; ;---------------------------------------------------------------------------- ; Indicators Examples ; expr off-label on-label, off-bg, off-fg, on-bg, on-fg ; indicator = { tpsaen }, "Not Accelerating", "AE", cyan, white, red, black ; indicator = { charvariable000 }, "char000 = 0", "char000 greater than 0", white, black, green, blue indicator = { charvariable000 > 9 }, "char000 <= 9", "char000 greater than 9", white, black, red, blue indicator = { charvariable000 == 5 }, "char000 not 5", "char000 = 5", green, black, yellow, blue ;------------------------------------------------------------------------------- [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 = time, error, loop_count, Load gauge2 = error, loop_count, Load, time gauge3 = loop_count, Load, time, error gauge4 = Load, time, error, loop_count gauge5 = time, loop_count, error, Load, gauge6 = time, Load, loop_count, error ;------------------------------------------------------------------------------- [AccelerationWizard] ; not used ;------------------------------------------------------------------------------- [BurstMode] getCommand = "a\x01\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, and these MUST match ; EXACTLY the outpc structure or communications errors will result deadValue = { 0 } ; Convenient unchanging value. ochBlockSize = 45 ochGetCommand = "a\x01\x06" ; Lower case so we don't get confused. seconds = scalar, U16, 0, "sec", 1.000, 0.0 pulsewidth1 = scalar, U16, 2, "ms", 1.000, 0.0 engine_rpm = scalar, U16, 4, "rpm", 1.000, 0.0 error = scalar, U08, 6, "", 1.000, 0.0 LOAD = scalar, U16, 7, "kPa", 1.000, 0.0 loop_count = scalar, U32, 9, "", 0.010, 0.0 CANtx = scalar, U16, 13, "", 1.000, 0.0 CANrx = scalar, U16, 15, "", 1.000, 0.0 dbug = scalar, U16, 17, "", 1.000, 0.0 vBatt = scalar, U16, 19, "V", 0.100, 0.0 adv_deg = scalar, U16, 21, "deg", 0.100, 0.0 tps = scalar, U16, 23, "%", 0.0976,0.0 gpi4 = scalar, U08, 25, "", 1.000, 0.0 gpi5 = scalar, U08, 26, "", 1.000, 0.0 egt1 = scalar, U16, 27, "", 1.000, 0.0 egt2 = scalar, U16, 29, "", 1.000, 0.0 egt3 = scalar, U16, 31, "", 1.000, 0.0 gpi1 = scalar, U16, 33, "", 1.000, 0.0 gpi2 = scalar, U16, 35, "", 1.000, 0.0 gpi3 = scalar, U16, 37, "", 1.000, 0.0 vr1 = scalar, U16, 39, "", 1.000, 0.0 vr2 = scalar, U16, 41, "", 1.000, 0.0 vr3 = scalar, U16, 43, "", 1.000, 0.0 egt4 = scalar, U08, 44, "", 1.000, 0.0 ; pageSize = 44 + 1 = 45 secl = { seconds % 256 }, "s" ; For runtime screen. Must go to 255 or will indicate a reset. time = { timeNow }, "sec" Loop_Hz = { loop_count/seconds }, "Hz" ;-------------------------------------------------------------------------------------------------------- ;-- 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 -- ; - %d for integer, -- ; - %.?f for deciomals - ? is number of decimal places -- [Datalog] ; Channel Label Type Format ; ------------ ---------- ----- ------ entry = time, "Time", float, "%.3f" entry = seconds, "Seconds", int, "%d" entry = Loop_Hz, "LoopHz", int, "%d" entry = pulsewidth1, "PW1", int, "%d" entry = engine_rpm, "RPM", int, "%d" entry = error, "err", int, "%d" entry = LOAD, "Load", float, "%.2f" entry = loop_count, "loops", int, "%d" entry = CANtx, "CNrx", int, "%d" entry = CANrx, "CNtx", int, "%d" entry = dbug, "dbug", int, "%d" entry = vBatt, "Batt", float, "%.1f" entry = adv_deg, "adv", float, "%.1f" entry = tps, "tps", int, "%d" entry = gpi1, "gpi1", int, "%d" entry = gpi2, "gpi2", int, "%d" entry = gpi3, "gpi3", int, "%d" entry = gpi4, "gpi4", int, "%d" entry = gpi5, "gpi5", int, "%d" entry = egt1, "egt1", int, "%d" entry = egt2, "egt2", int, "%d" entry = egt3, "egt3", int, "%d" entry = egt4, "egt4", int, "%d" entry = vr1, "vr1", int, "%d" entry = vr2, "vr2", int, "%d" entry = vr3, "vr3", int, "%d" ; -----------------------------------------------------------