#unset INI_VERSION_2 ; this is set by TunerStudio, but needs to be unset for Megatune to work [MegaTune] MTversion = 2.25 ; MegaTune itself; needs to match exec version. versionInfo = "r\x05\x0e\x00\x00\x00\x3c" ; Put this in the title bar. queryCommand = "r\x05\x0f\x00\x00\x00\x14" ; Verify against signature. signature = "IOExtender Rev0.0.1" ; MS-II sends a null at 20th byte. ; 123456789.123456789. ;------------------------------------------------------------------------------- [Constants] ;---------------------------------------------------------------------------- ; Constants Definition ; -------------------- ; ; Scalar Values ; ------------- ; The scaling and translation values are used as follows: ; msValue = userValue / scale - translate ; userValue = (msValue + translate) * scale ; ; I've got no good way to handle a few of these things yet. ; ; Temperatures are fine, check out the Fielding IAC example (fastIdleTemp). ; ; The TPS stuff is a problem, because we have to modify the ini file for ; each TPS installation and again whenever we move the TPS... I figured ; out a moderately palatable solution to presenting the frequency ; divider in the boost control values, turn it into a bit field and then ; enumerate the resulting frequencies. ; ; 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 = 50 ; Milliseconds delay after burn command. blockReadTimeout = 100 ; Milliseconds total timeout for reading page. writeBlocks = off ; from Lance interWriteDelay = 5 ; 5 from Lance endianness = big nPages = 1 pageSize = 512 pageIdentifier = "\x05\x04" burnCommand = "b\x05\x04" pageReadCommand = "r\x05\x04%2o%2c" pageValueWrite = "w\x05\x04%2o%2c%v" ; pageChunkWrite = "w\x07\x04%2o%2c%v" - disable chunk write to attempt to force single byte writes only page = 1 ; name = class, type, offset, shape, units, scale, translate, lo, hi, digits adc_enable = bits, U08, 0, [0:0], "Disable", "Enable" ; * pwm_enable = bits, U08, 0, [1:1], "Disable", "Enable" ; * ports_enable = bits, U08, 0, [2:2], "Disable", "Enable" ; * timer_source1 = bits, U08, 1, [0:0], "Bus (16MHz)", "Constant (1MHz)" ; * timer_source2 = bits, U08, 1, [1:1], "Bus (16MHz)", "Constant (1MHz)" ; * timer_source3 = bits, U08, 1, [2:2], "Bus (16MHz)", "Constant (1MHz)" ; * timer_prescale1 = bits, U08, 2, [0:2], "1", "2", "4" ,"8", "16", "32", "64", "128" ; * timer_prescale2 = bits, U08, 3, [0:2], "1", "2", "4" ,"8", "16", "32", "64", "128" ; * timer_prescale3 = bits, U08, 4, [0:2], "1", "2", "4" ,"8", "16", "32", "64", "128" ; * pwm_freq_div1 = scalar, U08, 5, "", 1, 0, 0,255, 0 ; * pwm_freq_div2 = scalar, U08, 6, "", 1, 0, 0,255, 0 ; * pwm_freq_div3 = scalar, U08, 7, "", 1, 0, 0,255, 0 ; * adcsel1 = scalar, U08, 8, "Channel", 1, 0, 0, 23, 0 ; * adcsel2 = scalar, U08, 9, "Channel", 1, 0, 0, 23, 0 ; * adcsel3 = scalar, U08, 10, "Channel", 1, 0, 0, 23, 0 ; * adcsel4 = scalar, U08, 11, "Channel", 1, 0, 0, 23, 0 ; * adcsel5 = scalar, U08, 12, "Channel", 1, 0, 0, 23, 0 ; * adcsel6 = scalar, U08, 13, "Channel", 1, 0, 0, 23, 0 ; * adcsel7 = scalar, U08, 14, "Channel", 1, 0, 0, 23, 0 ; * adcsel8 = scalar, U08, 15, "Channel", 1, 0, 0, 23, 0 ; * adcparam = bits, U08, 16, [0:1], "8 bits", "10 bits", "12 bits", "INVALID" ; * pwmsel1 = scalar, U08, 17, "Channel", 1, 0, 0, 12, 0 ; * pwmsel2 = scalar, U08, 18, "Channel", 1, 0, 0, 12, 0 ; * pwmsel3 = scalar, U08, 19, "Channel", 1, 0, 0, 12, 0 ; * pwmsel4 = scalar, U08, 20, "Channel", 1, 0, 0, 12, 0 ; * pwm_edge1 = bits, U08, 21, [0:0], "Rising", "Falling" ; * pwm_edge2 = bits, U08, 21, [1:1], "Rising", "Falling" ; * pwm_edge3 = bits, U08, 21, [2:2], "Rising", "Falling" ; * pwm_edge4 = bits, U08, 21, [3:3], "Rising", "Falling" ; * pwm_typ1 = bits, U08, 21, [4:4], "Interval", "Duty cycle" ; * pwm_typ2 = bits, U08, 21, [5:5], "Interval", "Duty cycle" ; * pwm_typ3 = bits, U08, 21, [6:6], "Interval", "Duty cycle" ; * pwm_typ4 = bits, U08, 21, [7:7], "Interval", "Duty cycle" ; * port_dir1 = bits, U08, 22, [0:0], "Input", "Output" ; * port_dir2 = bits, U08, 22, [1:1], "Input", "Output" ; * port_dir3 = bits, U08, 22, [2:2], "Input", "Output" ; * port_type1 = bits, U08, 22, [3:3], "Digital (8 signals)", "Single value (PWM output)" ; * port_type2 = bits, U08, 22, [4:4], "Digital (8 signals)", "Single value (PWM output)" ; * port_type3 = bits, U08, 22, [5:5], "Digital (8 signals)", "Single value (PWM output)" ; * port1sel1 = bits, U08, 23, [0:6],"Unassigned","PTA0","PTA1","PTA2","PTA3","PTA4","PTA5","PTA6","PTA7","PTB0","PTB1","PTB2","PTB3","PTB4","PTB5","PTB6","PTB7","PTC0","PTC1","PTC2","PTC3","PTC4","PTC5","PTC6","PTC7","PTD0","PTD1","PTD2","PTD3","PTD4","PTD5","PTD6","PTD7","PTE0","PTE1","PTE2","PTE3","PTE4","PTE5","PTE6","PTE7","PTF0","PTF1","PTF2","PTF3","PTF4","PTF5","PTF6","PTF7","PTG0","PTG1","PTG2","PTG3","PTG4","PTG5","PTG6","PTG7","PTH0","PTH1","PTH2","PTH3","PTH4","PTH5","PTH6","PTH7","PTJ0","PTJ1","PTJ2","PTJ3","PTJ4","PTJ5","PTJ6","PTJ7","PTK0","PTK1","PTK2","PTK3","PTK4","PTK5","PTK6","PTK7","PTL0","PTL1","PTL2","PTL3","PTL4","PTL5","PTL6","PTL7" port1sel2 = bits, U08, 24, [0:6],"Unassigned","PTA0","PTA1","PTA2","PTA3","PTA4","PTA5","PTA6","PTA7","PTB0","PTB1","PTB2","PTB3","PTB4","PTB5","PTB6","PTB7","PTC0","PTC1","PTC2","PTC3","PTC4","PTC5","PTC6","PTC7","PTD0","PTD1","PTD2","PTD3","PTD4","PTD5","PTD6","PTD7","PTE0","PTE1","PTE2","PTE3","PTE4","PTE5","PTE6","PTE7","PTF0","PTF1","PTF2","PTF3","PTF4","PTF5","PTF6","PTF7","PTG0","PTG1","PTG2","PTG3","PTG4","PTG5","PTG6","PTG7","PTH0","PTH1","PTH2","PTH3","PTH4","PTH5","PTH6","PTH7","PTJ0","PTJ1","PTJ2","PTJ3","PTJ4","PTJ5","PTJ6","PTJ7","PTK0","PTK1","PTK2","PTK3","PTK4","PTK5","PTK6","PTK7","PTL0","PTL1","PTL2","PTL3","PTL4","PTL5","PTL6","PTL7" port1sel3 = bits, U08, 25, [0:6],"Unassigned","PTA0","PTA1","PTA2","PTA3","PTA4","PTA5","PTA6","PTA7","PTB0","PTB1","PTB2","PTB3","PTB4","PTB5","PTB6","PTB7","PTC0","PTC1","PTC2","PTC3","PTC4","PTC5","PTC6","PTC7","PTD0","PTD1","PTD2","PTD3","PTD4","PTD5","PTD6","PTD7","PTE0","PTE1","PTE2","PTE3","PTE4","PTE5","PTE6","PTE7","PTF0","PTF1","PTF2","PTF3","PTF4","PTF5","PTF6","PTF7","PTG0","PTG1","PTG2","PTG3","PTG4","PTG5","PTG6","PTG7","PTH0","PTH1","PTH2","PTH3","PTH4","PTH5","PTH6","PTH7","PTJ0","PTJ1","PTJ2","PTJ3","PTJ4","PTJ5","PTJ6","PTJ7","PTK0","PTK1","PTK2","PTK3","PTK4","PTK5","PTK6","PTK7","PTL0","PTL1","PTL2","PTL3","PTL4","PTL5","PTL6","PTL7" port1sel4 = bits, U08, 26, [0:6],"Unassigned","PTA0","PTA1","PTA2","PTA3","PTA4","PTA5","PTA6","PTA7","PTB0","PTB1","PTB2","PTB3","PTB4","PTB5","PTB6","PTB7","PTC0","PTC1","PTC2","PTC3","PTC4","PTC5","PTC6","PTC7","PTD0","PTD1","PTD2","PTD3","PTD4","PTD5","PTD6","PTD7","PTE0","PTE1","PTE2","PTE3","PTE4","PTE5","PTE6","PTE7","PTF0","PTF1","PTF2","PTF3","PTF4","PTF5","PTF6","PTF7","PTG0","PTG1","PTG2","PTG3","PTG4","PTG5","PTG6","PTG7","PTH0","PTH1","PTH2","PTH3","PTH4","PTH5","PTH6","PTH7","PTJ0","PTJ1","PTJ2","PTJ3","PTJ4","PTJ5","PTJ6","PTJ7","PTK0","PTK1","PTK2","PTK3","PTK4","PTK5","PTK6","PTK7","PTL0","PTL1","PTL2","PTL3","PTL4","PTL5","PTL6","PTL7" port1sel5 = bits, U08, 27, [0:6],"Unassigned","PTA0","PTA1","PTA2","PTA3","PTA4","PTA5","PTA6","PTA7","PTB0","PTB1","PTB2","PTB3","PTB4","PTB5","PTB6","PTB7","PTC0","PTC1","PTC2","PTC3","PTC4","PTC5","PTC6","PTC7","PTD0","PTD1","PTD2","PTD3","PTD4","PTD5","PTD6","PTD7","PTE0","PTE1","PTE2","PTE3","PTE4","PTE5","PTE6","PTE7","PTF0","PTF1","PTF2","PTF3","PTF4","PTF5","PTF6","PTF7","PTG0","PTG1","PTG2","PTG3","PTG4","PTG5","PTG6","PTG7","PTH0","PTH1","PTH2","PTH3","PTH4","PTH5","PTH6","PTH7","PTJ0","PTJ1","PTJ2","PTJ3","PTJ4","PTJ5","PTJ6","PTJ7","PTK0","PTK1","PTK2","PTK3","PTK4","PTK5","PTK6","PTK7","PTL0","PTL1","PTL2","PTL3","PTL4","PTL5","PTL6","PTL7" port1sel6 = bits, U08, 28, [0:6],"Unassigned","PTA0","PTA1","PTA2","PTA3","PTA4","PTA5","PTA6","PTA7","PTB0","PTB1","PTB2","PTB3","PTB4","PTB5","PTB6","PTB7","PTC0","PTC1","PTC2","PTC3","PTC4","PTC5","PTC6","PTC7","PTD0","PTD1","PTD2","PTD3","PTD4","PTD5","PTD6","PTD7","PTE0","PTE1","PTE2","PTE3","PTE4","PTE5","PTE6","PTE7","PTF0","PTF1","PTF2","PTF3","PTF4","PTF5","PTF6","PTF7","PTG0","PTG1","PTG2","PTG3","PTG4","PTG5","PTG6","PTG7","PTH0","PTH1","PTH2","PTH3","PTH4","PTH5","PTH6","PTH7","PTJ0","PTJ1","PTJ2","PTJ3","PTJ4","PTJ5","PTJ6","PTJ7","PTK0","PTK1","PTK2","PTK3","PTK4","PTK5","PTK6","PTK7","PTL0","PTL1","PTL2","PTL3","PTL4","PTL5","PTL6","PTL7" port1sel7 = bits, U08, 29, [0:6],"Unassigned","PTA0","PTA1","PTA2","PTA3","PTA4","PTA5","PTA6","PTA7","PTB0","PTB1","PTB2","PTB3","PTB4","PTB5","PTB6","PTB7","PTC0","PTC1","PTC2","PTC3","PTC4","PTC5","PTC6","PTC7","PTD0","PTD1","PTD2","PTD3","PTD4","PTD5","PTD6","PTD7","PTE0","PTE1","PTE2","PTE3","PTE4","PTE5","PTE6","PTE7","PTF0","PTF1","PTF2","PTF3","PTF4","PTF5","PTF6","PTF7","PTG0","PTG1","PTG2","PTG3","PTG4","PTG5","PTG6","PTG7","PTH0","PTH1","PTH2","PTH3","PTH4","PTH5","PTH6","PTH7","PTJ0","PTJ1","PTJ2","PTJ3","PTJ4","PTJ5","PTJ6","PTJ7","PTK0","PTK1","PTK2","PTK3","PTK4","PTK5","PTK6","PTK7","PTL0","PTL1","PTL2","PTL3","PTL4","PTL5","PTL6","PTL7" port1sel8 = bits, U08, 30, [0:6],"Unassigned","PTA0","PTA1","PTA2","PTA3","PTA4","PTA5","PTA6","PTA7","PTB0","PTB1","PTB2","PTB3","PTB4","PTB5","PTB6","PTB7","PTC0","PTC1","PTC2","PTC3","PTC4","PTC5","PTC6","PTC7","PTD0","PTD1","PTD2","PTD3","PTD4","PTD5","PTD6","PTD7","PTE0","PTE1","PTE2","PTE3","PTE4","PTE5","PTE6","PTE7","PTF0","PTF1","PTF2","PTF3","PTF4","PTF5","PTF6","PTF7","PTG0","PTG1","PTG2","PTG3","PTG4","PTG5","PTG6","PTG7","PTH0","PTH1","PTH2","PTH3","PTH4","PTH5","PTH6","PTH7","PTJ0","PTJ1","PTJ2","PTJ3","PTJ4","PTJ5","PTJ6","PTJ7","PTK0","PTK1","PTK2","PTK3","PTK4","PTK5","PTK6","PTK7","PTL0","PTL1","PTL2","PTL3","PTL4","PTL5","PTL6","PTL7" port2sel1 = bits, U08, 31, [0:6],"Unassigned","PTA0","PTA1","PTA2","PTA3","PTA4","PTA5","PTA6","PTA7","PTB0","PTB1","PTB2","PTB3","PTB4","PTB5","PTB6","PTB7","PTC0","PTC1","PTC2","PTC3","PTC4","PTC5","PTC6","PTC7","PTD0","PTD1","PTD2","PTD3","PTD4","PTD5","PTD6","PTD7","PTE0","PTE1","PTE2","PTE3","PTE4","PTE5","PTE6","PTE7","PTF0","PTF1","PTF2","PTF3","PTF4","PTF5","PTF6","PTF7","PTG0","PTG1","PTG2","PTG3","PTG4","PTG5","PTG6","PTG7","PTH0","PTH1","PTH2","PTH3","PTH4","PTH5","PTH6","PTH7","PTJ0","PTJ1","PTJ2","PTJ3","PTJ4","PTJ5","PTJ6","PTJ7","PTK0","PTK1","PTK2","PTK3","PTK4","PTK5","PTK6","PTK7","PTL0","PTL1","PTL2","PTL3","PTL4","PTL5","PTL6","PTL7" port2sel2 = bits, U08, 32, [0:6],"Unassigned","PTA0","PTA1","PTA2","PTA3","PTA4","PTA5","PTA6","PTA7","PTB0","PTB1","PTB2","PTB3","PTB4","PTB5","PTB6","PTB7","PTC0","PTC1","PTC2","PTC3","PTC4","PTC5","PTC6","PTC7","PTD0","PTD1","PTD2","PTD3","PTD4","PTD5","PTD6","PTD7","PTE0","PTE1","PTE2","PTE3","PTE4","PTE5","PTE6","PTE7","PTF0","PTF1","PTF2","PTF3","PTF4","PTF5","PTF6","PTF7","PTG0","PTG1","PTG2","PTG3","PTG4","PTG5","PTG6","PTG7","PTH0","PTH1","PTH2","PTH3","PTH4","PTH5","PTH6","PTH7","PTJ0","PTJ1","PTJ2","PTJ3","PTJ4","PTJ5","PTJ6","PTJ7","PTK0","PTK1","PTK2","PTK3","PTK4","PTK5","PTK6","PTK7","PTL0","PTL1","PTL2","PTL3","PTL4","PTL5","PTL6","PTL7" port2sel3 = bits, U08, 33, [0:6],"Unassigned","PTA0","PTA1","PTA2","PTA3","PTA4","PTA5","PTA6","PTA7","PTB0","PTB1","PTB2","PTB3","PTB4","PTB5","PTB6","PTB7","PTC0","PTC1","PTC2","PTC3","PTC4","PTC5","PTC6","PTC7","PTD0","PTD1","PTD2","PTD3","PTD4","PTD5","PTD6","PTD7","PTE0","PTE1","PTE2","PTE3","PTE4","PTE5","PTE6","PTE7","PTF0","PTF1","PTF2","PTF3","PTF4","PTF5","PTF6","PTF7","PTG0","PTG1","PTG2","PTG3","PTG4","PTG5","PTG6","PTG7","PTH0","PTH1","PTH2","PTH3","PTH4","PTH5","PTH6","PTH7","PTJ0","PTJ1","PTJ2","PTJ3","PTJ4","PTJ5","PTJ6","PTJ7","PTK0","PTK1","PTK2","PTK3","PTK4","PTK5","PTK6","PTK7","PTL0","PTL1","PTL2","PTL3","PTL4","PTL5","PTL6","PTL7" port2sel4 = bits, U08, 34, [0:6],"Unassigned","PTA0","PTA1","PTA2","PTA3","PTA4","PTA5","PTA6","PTA7","PTB0","PTB1","PTB2","PTB3","PTB4","PTB5","PTB6","PTB7","PTC0","PTC1","PTC2","PTC3","PTC4","PTC5","PTC6","PTC7","PTD0","PTD1","PTD2","PTD3","PTD4","PTD5","PTD6","PTD7","PTE0","PTE1","PTE2","PTE3","PTE4","PTE5","PTE6","PTE7","PTF0","PTF1","PTF2","PTF3","PTF4","PTF5","PTF6","PTF7","PTG0","PTG1","PTG2","PTG3","PTG4","PTG5","PTG6","PTG7","PTH0","PTH1","PTH2","PTH3","PTH4","PTH5","PTH6","PTH7","PTJ0","PTJ1","PTJ2","PTJ3","PTJ4","PTJ5","PTJ6","PTJ7","PTK0","PTK1","PTK2","PTK3","PTK4","PTK5","PTK6","PTK7","PTL0","PTL1","PTL2","PTL3","PTL4","PTL5","PTL6","PTL7" port2sel5 = bits, U08, 35, [0:6],"Unassigned","PTA0","PTA1","PTA2","PTA3","PTA4","PTA5","PTA6","PTA7","PTB0","PTB1","PTB2","PTB3","PTB4","PTB5","PTB6","PTB7","PTC0","PTC1","PTC2","PTC3","PTC4","PTC5","PTC6","PTC7","PTD0","PTD1","PTD2","PTD3","PTD4","PTD5","PTD6","PTD7","PTE0","PTE1","PTE2","PTE3","PTE4","PTE5","PTE6","PTE7","PTF0","PTF1","PTF2","PTF3","PTF4","PTF5","PTF6","PTF7","PTG0","PTG1","PTG2","PTG3","PTG4","PTG5","PTG6","PTG7","PTH0","PTH1","PTH2","PTH3","PTH4","PTH5","PTH6","PTH7","PTJ0","PTJ1","PTJ2","PTJ3","PTJ4","PTJ5","PTJ6","PTJ7","PTK0","PTK1","PTK2","PTK3","PTK4","PTK5","PTK6","PTK7","PTL0","PTL1","PTL2","PTL3","PTL4","PTL5","PTL6","PTL7" port2sel6 = bits, U08, 36, [0:6],"Unassigned","PTA0","PTA1","PTA2","PTA3","PTA4","PTA5","PTA6","PTA7","PTB0","PTB1","PTB2","PTB3","PTB4","PTB5","PTB6","PTB7","PTC0","PTC1","PTC2","PTC3","PTC4","PTC5","PTC6","PTC7","PTD0","PTD1","PTD2","PTD3","PTD4","PTD5","PTD6","PTD7","PTE0","PTE1","PTE2","PTE3","PTE4","PTE5","PTE6","PTE7","PTF0","PTF1","PTF2","PTF3","PTF4","PTF5","PTF6","PTF7","PTG0","PTG1","PTG2","PTG3","PTG4","PTG5","PTG6","PTG7","PTH0","PTH1","PTH2","PTH3","PTH4","PTH5","PTH6","PTH7","PTJ0","PTJ1","PTJ2","PTJ3","PTJ4","PTJ5","PTJ6","PTJ7","PTK0","PTK1","PTK2","PTK3","PTK4","PTK5","PTK6","PTK7","PTL0","PTL1","PTL2","PTL3","PTL4","PTL5","PTL6","PTL7" port2sel7 = bits, U08, 37, [0:6],"Unassigned","PTA0","PTA1","PTA2","PTA3","PTA4","PTA5","PTA6","PTA7","PTB0","PTB1","PTB2","PTB3","PTB4","PTB5","PTB6","PTB7","PTC0","PTC1","PTC2","PTC3","PTC4","PTC5","PTC6","PTC7","PTD0","PTD1","PTD2","PTD3","PTD4","PTD5","PTD6","PTD7","PTE0","PTE1","PTE2","PTE3","PTE4","PTE5","PTE6","PTE7","PTF0","PTF1","PTF2","PTF3","PTF4","PTF5","PTF6","PTF7","PTG0","PTG1","PTG2","PTG3","PTG4","PTG5","PTG6","PTG7","PTH0","PTH1","PTH2","PTH3","PTH4","PTH5","PTH6","PTH7","PTJ0","PTJ1","PTJ2","PTJ3","PTJ4","PTJ5","PTJ6","PTJ7","PTK0","PTK1","PTK2","PTK3","PTK4","PTK5","PTK6","PTK7","PTL0","PTL1","PTL2","PTL3","PTL4","PTL5","PTL6","PTL7" port2sel8 = bits, U08, 38, [0:6],"Unassigned","PTA0","PTA1","PTA2","PTA3","PTA4","PTA5","PTA6","PTA7","PTB0","PTB1","PTB2","PTB3","PTB4","PTB5","PTB6","PTB7","PTC0","PTC1","PTC2","PTC3","PTC4","PTC5","PTC6","PTC7","PTD0","PTD1","PTD2","PTD3","PTD4","PTD5","PTD6","PTD7","PTE0","PTE1","PTE2","PTE3","PTE4","PTE5","PTE6","PTE7","PTF0","PTF1","PTF2","PTF3","PTF4","PTF5","PTF6","PTF7","PTG0","PTG1","PTG2","PTG3","PTG4","PTG5","PTG6","PTG7","PTH0","PTH1","PTH2","PTH3","PTH4","PTH5","PTH6","PTH7","PTJ0","PTJ1","PTJ2","PTJ3","PTJ4","PTJ5","PTJ6","PTJ7","PTK0","PTK1","PTK2","PTK3","PTK4","PTK5","PTK6","PTK7","PTL0","PTL1","PTL2","PTL3","PTL4","PTL5","PTL6","PTL7" port3sel1 = bits, U08, 39, [0:6],"Unassigned","PTA0","PTA1","PTA2","PTA3","PTA4","PTA5","PTA6","PTA7","PTB0","PTB1","PTB2","PTB3","PTB4","PTB5","PTB6","PTB7","PTC0","PTC1","PTC2","PTC3","PTC4","PTC5","PTC6","PTC7","PTD0","PTD1","PTD2","PTD3","PTD4","PTD5","PTD6","PTD7","PTE0","PTE1","PTE2","PTE3","PTE4","PTE5","PTE6","PTE7","PTF0","PTF1","PTF2","PTF3","PTF4","PTF5","PTF6","PTF7","PTG0","PTG1","PTG2","PTG3","PTG4","PTG5","PTG6","PTG7","PTH0","PTH1","PTH2","PTH3","PTH4","PTH5","PTH6","PTH7","PTJ0","PTJ1","PTJ2","PTJ3","PTJ4","PTJ5","PTJ6","PTJ7","PTK0","PTK1","PTK2","PTK3","PTK4","PTK5","PTK6","PTK7","PTL0","PTL1","PTL2","PTL3","PTL4","PTL5","PTL6","PTL7" port3sel2 = bits, U08, 40, [0:6],"Unassigned","PTA0","PTA1","PTA2","PTA3","PTA4","PTA5","PTA6","PTA7","PTB0","PTB1","PTB2","PTB3","PTB4","PTB5","PTB6","PTB7","PTC0","PTC1","PTC2","PTC3","PTC4","PTC5","PTC6","PTC7","PTD0","PTD1","PTD2","PTD3","PTD4","PTD5","PTD6","PTD7","PTE0","PTE1","PTE2","PTE3","PTE4","PTE5","PTE6","PTE7","PTF0","PTF1","PTF2","PTF3","PTF4","PTF5","PTF6","PTF7","PTG0","PTG1","PTG2","PTG3","PTG4","PTG5","PTG6","PTG7","PTH0","PTH1","PTH2","PTH3","PTH4","PTH5","PTH6","PTH7","PTJ0","PTJ1","PTJ2","PTJ3","PTJ4","PTJ5","PTJ6","PTJ7","PTK0","PTK1","PTK2","PTK3","PTK4","PTK5","PTK6","PTK7","PTL0","PTL1","PTL2","PTL3","PTL4","PTL5","PTL6","PTL7" port3sel3 = bits, U08, 41, [0:6],"Unassigned","PTA0","PTA1","PTA2","PTA3","PTA4","PTA5","PTA6","PTA7","PTB0","PTB1","PTB2","PTB3","PTB4","PTB5","PTB6","PTB7","PTC0","PTC1","PTC2","PTC3","PTC4","PTC5","PTC6","PTC7","PTD0","PTD1","PTD2","PTD3","PTD4","PTD5","PTD6","PTD7","PTE0","PTE1","PTE2","PTE3","PTE4","PTE5","PTE6","PTE7","PTF0","PTF1","PTF2","PTF3","PTF4","PTF5","PTF6","PTF7","PTG0","PTG1","PTG2","PTG3","PTG4","PTG5","PTG6","PTG7","PTH0","PTH1","PTH2","PTH3","PTH4","PTH5","PTH6","PTH7","PTJ0","PTJ1","PTJ2","PTJ3","PTJ4","PTJ5","PTJ6","PTJ7","PTK0","PTK1","PTK2","PTK3","PTK4","PTK5","PTK6","PTK7","PTL0","PTL1","PTL2","PTL3","PTL4","PTL5","PTL6","PTL7" port3sel4 = bits, U08, 42, [0:6],"Unassigned","PTA0","PTA1","PTA2","PTA3","PTA4","PTA5","PTA6","PTA7","PTB0","PTB1","PTB2","PTB3","PTB4","PTB5","PTB6","PTB7","PTC0","PTC1","PTC2","PTC3","PTC4","PTC5","PTC6","PTC7","PTD0","PTD1","PTD2","PTD3","PTD4","PTD5","PTD6","PTD7","PTE0","PTE1","PTE2","PTE3","PTE4","PTE5","PTE6","PTE7","PTF0","PTF1","PTF2","PTF3","PTF4","PTF5","PTF6","PTF7","PTG0","PTG1","PTG2","PTG3","PTG4","PTG5","PTG6","PTG7","PTH0","PTH1","PTH2","PTH3","PTH4","PTH5","PTH6","PTH7","PTJ0","PTJ1","PTJ2","PTJ3","PTJ4","PTJ5","PTJ6","PTJ7","PTK0","PTK1","PTK2","PTK3","PTK4","PTK5","PTK6","PTK7","PTL0","PTL1","PTL2","PTL3","PTL4","PTL5","PTL6","PTL7" port3sel5 = bits, U08, 43, [0:6],"Unassigned","PTA0","PTA1","PTA2","PTA3","PTA4","PTA5","PTA6","PTA7","PTB0","PTB1","PTB2","PTB3","PTB4","PTB5","PTB6","PTB7","PTC0","PTC1","PTC2","PTC3","PTC4","PTC5","PTC6","PTC7","PTD0","PTD1","PTD2","PTD3","PTD4","PTD5","PTD6","PTD7","PTE0","PTE1","PTE2","PTE3","PTE4","PTE5","PTE6","PTE7","PTF0","PTF1","PTF2","PTF3","PTF4","PTF5","PTF6","PTF7","PTG0","PTG1","PTG2","PTG3","PTG4","PTG5","PTG6","PTG7","PTH0","PTH1","PTH2","PTH3","PTH4","PTH5","PTH6","PTH7","PTJ0","PTJ1","PTJ2","PTJ3","PTJ4","PTJ5","PTJ6","PTJ7","PTK0","PTK1","PTK2","PTK3","PTK4","PTK5","PTK6","PTK7","PTL0","PTL1","PTL2","PTL3","PTL4","PTL5","PTL6","PTL7" port3sel6 = bits, U08, 44, [0:6],"Unassigned","PTA0","PTA1","PTA2","PTA3","PTA4","PTA5","PTA6","PTA7","PTB0","PTB1","PTB2","PTB3","PTB4","PTB5","PTB6","PTB7","PTC0","PTC1","PTC2","PTC3","PTC4","PTC5","PTC6","PTC7","PTD0","PTD1","PTD2","PTD3","PTD4","PTD5","PTD6","PTD7","PTE0","PTE1","PTE2","PTE3","PTE4","PTE5","PTE6","PTE7","PTF0","PTF1","PTF2","PTF3","PTF4","PTF5","PTF6","PTF7","PTG0","PTG1","PTG2","PTG3","PTG4","PTG5","PTG6","PTG7","PTH0","PTH1","PTH2","PTH3","PTH4","PTH5","PTH6","PTH7","PTJ0","PTJ1","PTJ2","PTJ3","PTJ4","PTJ5","PTJ6","PTJ7","PTK0","PTK1","PTK2","PTK3","PTK4","PTK5","PTK6","PTK7","PTL0","PTL1","PTL2","PTL3","PTL4","PTL5","PTL6","PTL7" port3sel7 = bits, U08, 45, [0:6],"Unassigned","PTA0","PTA1","PTA2","PTA3","PTA4","PTA5","PTA6","PTA7","PTB0","PTB1","PTB2","PTB3","PTB4","PTB5","PTB6","PTB7","PTC0","PTC1","PTC2","PTC3","PTC4","PTC5","PTC6","PTC7","PTD0","PTD1","PTD2","PTD3","PTD4","PTD5","PTD6","PTD7","PTE0","PTE1","PTE2","PTE3","PTE4","PTE5","PTE6","PTE7","PTF0","PTF1","PTF2","PTF3","PTF4","PTF5","PTF6","PTF7","PTG0","PTG1","PTG2","PTG3","PTG4","PTG5","PTG6","PTG7","PTH0","PTH1","PTH2","PTH3","PTH4","PTH5","PTH6","PTH7","PTJ0","PTJ1","PTJ2","PTJ3","PTJ4","PTJ5","PTJ6","PTJ7","PTK0","PTK1","PTK2","PTK3","PTK4","PTK5","PTK6","PTK7","PTL0","PTL1","PTL2","PTL3","PTL4","PTL5","PTL6","PTL7" port3sel8 = bits, U08, 46, [0:6],"Unassigned","PTA0","PTA1","PTA2","PTA3","PTA4","PTA5","PTA6","PTA7","PTB0","PTB1","PTB2","PTB3","PTB4","PTB5","PTB6","PTB7","PTC0","PTC1","PTC2","PTC3","PTC4","PTC5","PTC6","PTC7","PTD0","PTD1","PTD2","PTD3","PTD4","PTD5","PTD6","PTD7","PTE0","PTE1","PTE2","PTE3","PTE4","PTE5","PTE6","PTE7","PTF0","PTF1","PTF2","PTF3","PTF4","PTF5","PTF6","PTF7","PTG0","PTG1","PTG2","PTG3","PTG4","PTG5","PTG6","PTG7","PTH0","PTH1","PTH2","PTH3","PTH4","PTH5","PTH6","PTH7","PTJ0","PTJ1","PTJ2","PTJ3","PTJ4","PTJ5","PTJ6","PTJ7","PTK0","PTK1","PTK2","PTK3","PTK4","PTK5","PTK6","PTK7","PTL0","PTL1","PTL2","PTL3","PTL4","PTL5","PTL6","PTL7" ; port1sel1 = scalar, U08, 23, "Port #", 1, 0, 0, 99, 0 ; * ; port1sel2 = scalar, U08, 24, "Port #", 1, 0, 0, 99, 0 ; * ; port1sel3 = scalar, U08, 25, "Port #", 1, 0, 0, 99, 0 ; * ; port1sel4 = scalar, U08, 26, "Port #", 1, 0, 0, 99, 0 ; * ; port1sel5 = scalar, U08, 27, "Port #", 1, 0, 0, 99, 0 ; * ; port1sel6 = scalar, U08, 28, "Port #", 1, 0, 0, 99, 0 ; * ; port1sel7 = scalar, U08, 29, "Port #", 1, 0, 0, 99, 0 ; * ; port1sel8 = scalar, U08, 30, "Port #", 1, 0, 0, 99, 0 ; * ; port2sel1 = scalar, U08, 31, "Port #", 1, 0, 0, 99, 0 ; * ; port2sel2 = scalar, U08, 32, "Port #", 1, 0, 0, 99, 0 ; * ; port2sel3 = scalar, U08, 33, "Port #", 1, 0, 0, 99, 0 ; * ; port2sel4 = scalar, U08, 34, "Port #", 1, 0, 0, 99, 0 ; * ; port2sel5 = scalar, U08, 35, "Port #", 1, 0, 0, 99, 0 ; * ; port2sel6 = scalar, U08, 36, "Port #", 1, 0, 0, 99, 0 ; * ; port2sel7 = scalar, U08, 37, "Port #", 1, 0, 0, 99, 0 ; * ; port2sel8 = scalar, U08, 38, "Port #", 1, 0, 0, 99, 0 ; * ; port3sel1 = scalar, U08, 39, "Port #", 1, 0, 0, 99, 0 ; * ; port3sel2 = scalar, U08, 40, "Port #", 1, 0, 0, 99, 0 ; * ; port3sel3 = scalar, U08, 41, "Port #", 1, 0, 0, 99, 0 ; * ; port3sel4 = scalar, U08, 42, "Port #", 1, 0, 0, 99, 0 ; * ; port3sel5 = scalar, U08, 43, "Port #", 1, 0, 0, 99, 0 ; * ; port3sel6 = scalar, U08, 44, "Port #", 1, 0, 0, 99, 0 ; * ; port3sel7 = scalar, U08, 45, "Port #", 1, 0, 0, 99, 0 ; * ; port3sel8 = scalar, U08, 46, "Port #", 1, 0, 0, 99, 0 ; * [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 ; ; Additionally, to support MegaSquirt-II firmware, there are two standard ; dialogs to generate its three embedded tables. The first of these acts ; like Roger Enns' EasyTherm, but only works for MS-II. The second one ; generates the internal AFR table required for proper closed loop operation ; in MS-II. Use these without page numbers, as they will just be ignored ; in any case. ; ; std_ms2gentherm ; std_ms2geno2 ; ; 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 = "IO Extender setup" subMenu = base_settings, "Base settings" subMenu = adc_settings, "ADC settings", 0, { adc_enable } subMenu = pwm_settings, "PWM settings", 0, { pwm_enable } subMenu = port1_settings, "Port 1 settings", 0, { ports_enable } subMenu = port2_settings, "Port 2 settings", 0, { ports_enable } subMenu = port3_settings, "Port 3 settings", 0, { ports_enable } ;------------------------------------------------------------------------------- [UserDefined] dialog = base_settings, "Base Settings" field = "Enable features" field = "ADC", adc_enable field = "PWM", pwm_enable field = "Digital I/Os", ports_enable field = "Timer 1 source", timer_source1 field = "Timer 1 prescale", timer_prescale1 field = "Timer 1 PWM frequency divider", pwm_freq_div1 field = "Timer 2 source", timer_source2 field = "Timer 2 prescale", timer_prescale2 field = "Timer 2 PWM frequency divider", pwm_freq_div2 field = "Timer 3 source", timer_source3 field = "Timer 3 prescale", timer_prescale3 field = "Timer 3 PWM frequency divider", pwm_freq_div3 field = "!Power cycle after a change" dialog = adc_settings, "ADC Settings" field = "Select ADC channel" field = "ADC 1", adcsel1 field = "ADC 2", adcsel2 field = "ADC 3", adcsel3 field = "ADC 4", adcsel4 field = "ADC 5", adcsel5 field = "ADC 6", adcsel6 field = "ADC 7", adcsel7 field = "ADC 8", adcsel8 field = "ADC resolution", adcparam dialog = pwm_settings, "PWM Settings" field = "PWM 1" field = "Channel select", pwmsel1, { 0 } field = "Capture edge", pwm_edge1, { 0 } field = "Data type", pwm_typ1, { 0 } field = "PWM 2" field = "Channel select", pwmsel2, { 0 } field = "Capture edge", pwm_edge2, { 0 } field = "Data type", pwm_typ2, { 0 } field = "PWM 3" field = "Channel select", pwmsel3, { 0 } field = "Capture edge", pwm_edge3, { 0 } field = "Data type", pwm_typ3, { 0 } field = "PWM 4" field = "Channel select", pwmsel4, { 0 } field = "Capture edge", pwm_edge4, { 0 } field = "Data type", pwm_typ4, { 0 } dialog = port1_settings, "Port 1 settings" field = "Port 1 direction", port_dir1 field = "Port 1 type", port_type1 field = "Channel 1 select", port1sel1 field = "Channel 2 select", port1sel2, { !port_type1 } field = "Channel 3 select", port1sel3, { !port_type1 } field = "Channel 4 select", port1sel4, { !port_type1 } field = "Channel 5 select", port1sel5, { !port_type1 } field = "Channel 6 select", port1sel6, { !port_type1 } field = "Channel 7 select", port1sel7, { !port_type1 } field = "Channel 8 select", port1sel8, { !port_type1 } dialog = port2_settings, "Port 2 settings" field = "Port 2 direction", port_dir2 field = "Port 2 type", port_type2 field = "Channel 1 select", port2sel1 field = "Channel 2 select", port2sel2, { !port_type2 } field = "Channel 3 select", port2sel3, { !port_type2 } field = "Channel 4 select", port2sel4, { !port_type2 } field = "Channel 5 select", port2sel5, { !port_type2 } field = "Channel 6 select", port2sel6, { !port_type2 } field = "Channel 7 select", port2sel7, { !port_type2 } field = "Channel 8 select", port2sel8, { !port_type2 } dialog = port3_settings, "Port 3 settings" field = "Port 3 direction", port_dir3 field = "Port 3 type", port_type3 field = "Channel 1 select", port3sel1 field = "Channel 2 select", port3sel2, { !port_type3 } field = "Channel 3 select", port3sel3, { !port_type3 } field = "Channel 4 select", port3sel4, { !port_type3 } field = "Channel 5 select", port3sel5, { !port_type3 } field = "Channel 6 select", port3sel6, { !port_type3 } field = "Channel 7 select", port3sel7, { !port_type3 } field = "Channel 8 select", port3sel8, { !port_type3 } ;------------------------------------------------------------------------------- [CurveEditor] ;------------------------------------------------------------------------------- [GaugeConfigurations] ;------------------------------------------------------------------------------- ; Notes on some of the gauges. ; ; The accelEnrichGauge is now a composite of both acceleration enrichment ; and deceleration enleanment numbers. See the definition of the variable ; accDecEnrich in the OutputChannels section. ; ; David Hooke contributed the lambda gauge and associated transfer ; function files. ; ; The lambda gauge is the best way (my opinion) to report data from a ; wide band EGO gauge, it standardizes the output irrespective of fuel ; or mix of fuels, so you needn't do any brainwork to know if your 75% ; gasoline and 25% methanol is rich at 10:1 or not. ; ; Use the file WBlambda100AVR.inc, if using a standard ADC (e.g., AVR cpu). ; Use the file WBlambda100MOT.inc, if using a biased ADC (e.g., MOT cpu). ;------------------------------------------------------------------------------- ; 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 clockGauge = seconds, "Clock", "Seconds", 0, 255, 10, 10, 245, 245, 0, 0 adc1Gauge = adc1, "adc1", "raw", 0, 4095, -1, -1, 4097, 4097, 0, 0 adc2Gauge = adc2, "adc2", "raw", 0, 4095, -1, -1, 4097, 4097, 0, 0 adc3Gauge = adc3, "adc3", "raw", 0, 4095, -1, -1, 4097, 4097, 0, 0 adc4Gauge = adc4, "adc4", "raw", 0, 4095, -1, -1, 4097, 4097, 0, 0 adc5Gauge = adc5, "adc5", "raw", 0, 4095, -1, -1, 4097, 4097, 0, 0 adc6Gauge = adc6, "adc6", "raw", 0, 4095, -1, -1, 4097, 4097, 0, 0 adc7Gauge = adc7, "adc7", "raw", 0, 4095, -1, -1, 4097, 4097, 0, 0 adc8Gauge = adc8, "adc8", "raw", 0, 4095, -1, -1, 4097, 4097, 0, 0 ;Name Var Title Units Lo Hi LoD LoW HiW HiD vd ld pwm1Gauge = pwm1, "pwm1", "raw", 0, 65535, -1, -1, 65536, 65536, 0, 0 pwm2Gauge = pwm2, "pwm2", "raw", 0, 65535, -1, -1, 65536, 65536, 0, 0 pwm3Gauge = pwm3, "pwm3", "raw", 0, 65535, -1, -1, 65536, 65536, 0, 0 pwm4Gauge = pwm4, "pwm4", "raw", 0, 65535, -1, -1, 65536, 65536, 0, 0 port1Gauge = port1, "port1", "raw", 0, 255, -1, -1, 256, 256, 0, 0 port2Gauge = port2, "port2", "raw", 0, 255, -1, -1, 256, 256, 0, 0 port3Gauge = port3, "port3", "raw", 0, 255, -1, -1, 256, 256, 0, 0 #if INI_VERSION_2 pwmfreq1Gauge = pwm_freq1, "PWM Freq1", "Hz", 0, 65535, -1, -1, 65536, 65536, 0, 0 pwmfreq2Gauge = pwm_freq2, "PWM Freq2", "Hz", 0, 65535, -1, -1, 65536, 65536, 0, 0 pwmfreq3Gauge = pwm_freq3, "PWM Freq3", "Hz", 0, 65535, -1, -1, 65536, 65536, 0, 0 #endif ;------------------------------------------------------------------------------ [FrontPage] ; Gauges are numbered left to right, top to bottom. ; ; 1 2 3 4 ; 5 6 7 8 gauge1 = adc1Gauge gauge2 = adc2Gauge gauge3 = adc3Gauge gauge4 = adc4Gauge gauge5 = adc5Gauge gauge6 = adc6Gauge gauge7 = adc7Gauge gauge8 = adc8Gauge ;---------------------------------------------------------------------------- ; Indicators ; expr off-label on-label, off-bg, off-fg, on-bg, on-fg ; ; Look in the new colors24b.ini for the basic ones, add more or tell me what to add. ; indicator = { cpu == 0 }, "-", "CPU UNSET", white, black, red, black ;------------------------------------------------------------------------------- [OutputChannels] deadValue = { 0 } ; Convenient unchanging value. ochGetCommand = "r\x05\x07\x00\x00\x00\x1D" ochBlockSize = 29 seconds = scalar, U16, 0, "s", 1.000, 0.0 secl = { seconds % 256 }, "s" ; For runtime screen. adc1 = scalar, U16, 2, "", 1,0 adc2 = scalar, U16, 4, "", 1,0 adc3 = scalar, U16, 6, "", 1,0 adc4 = scalar, U16, 8, "", 1,0 adc5 = scalar, U16, 10, "", 1,0 adc6 = scalar, U16, 12, "", 1,0 adc7 = scalar, U16, 14, "", 1,0 adc8 = scalar, U16, 16, "", 1,0 pwm1 = scalar, U16, 18, "", 1,0 pwm2 = scalar, U16, 20, "", 1,0 pwm3 = scalar, U16, 22, "", 1,0 pwm4 = scalar, U16, 24, "", 1,0 port1 = scalar, U08, 26, "", 1,0 port2 = scalar, U08, 27, "", 1,0 port3 = scalar, U08, 28, "", 1,0 time = { timeNow } #if INI_VERSION_2 timer_clock1 = { timer_source1 ? 1000000 : 16000000 } timer_clock2 = { timer_source2 ? 1000000 : 16000000 } timer_clock3 = { timer_source3 ? 1000000 : 16000000 } timer_pre_val1 = { ((timer_prescale1 == 0) ? 1 : 0) + ((timer_prescale1 == 1) ? 2 : 0) + ((timer_prescale1 == 2) ? 4 : 0) + ((timer_prescale1 == 3) ? 8 : 0) + ((timer_prescale1 == 4) ? 16 : 0) + ((timer_prescale1 == 5) ? 32 : 0) + ((timer_prescale1 == 6) ? 64 : 0) + ((timer_prescale1 == 7) ? 128 : 0) } timer_pre_val2 = { ((timer_prescale2 == 0) ? 1 : 0) + ((timer_prescale2 == 1) ? 2 : 0) + ((timer_prescale2 == 2) ? 4 : 0) + ((timer_prescale2 == 3) ? 8 : 0) + ((timer_prescale2 == 4) ? 16 : 0) + ((timer_prescale2 == 5) ? 32 : 0) + ((timer_prescale2 == 6) ? 64 : 0) + ((timer_prescale2 == 7) ? 128 : 0) } timer_pre_val3 = { ((timer_prescale3 == 0) ? 1 : 0) + ((timer_prescale3 == 1) ? 2 : 0) + ((timer_prescale3 == 2) ? 4 : 0) + ((timer_prescale3 == 3) ? 8 : 0) + ((timer_prescale3 == 4) ? 16 : 0) + ((timer_prescale3 == 5) ? 32 : 0) + ((timer_prescale3 == 6) ? 64 : 0) + ((timer_prescale3 == 7) ? 128 : 0) } ;timer_pre_val1 = { 1 << timer_prescale1 } ;timer_pre_val2 = { 1 << timer_prescale2 } ;timer_pre_val3 = { 1 << timer_prescale3 } pwm_freq1 = { timer_clock1 / ( timer_pre_val1 * 256 * (pwm_freq_div1 + 1)) } pwm_freq2 = { timer_clock2 / ( timer_pre_val2 * 256 * (pwm_freq_div2 + 1)) } pwm_freq3 = { timer_clock3 / ( timer_pre_val3 * 256 * (pwm_freq_div3 + 1)) } #endif ;------------------------------------------------------------------------------- ;-- 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. Be careful -- ;-- about changing these, as programs like MSLVV and -- ;-- MSTweak key off specific column names. -- ;-- 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, "SecL", int, "%d" entry = adc1, "ADC1", int, "%d" entry = adc2, "ADC2", int, "%d" entry = adc3, "ADC3", int, "%d" entry = adc4, "ADC4", int, "%d" entry = adc5, "ADC5", int, "%d" entry = adc6, "ADC6", int, "%d" entry = adc7, "ADC7", int, "%d" entry = adc8, "ADC8", int, "%d" entry = pwm1, "PWM1", int, "%d" entry = pwm2, "PWM2", int, "%d" entry = pwm3, "PWM3", int, "%d" entry = pwm4, "PWM4", int, "%d" entry = port1, "port1", int, "%d" entry = port2, "port2", int, "%d" entry = port3, "port3", int, "%d" ;-------------------------------------------------------------------------------