Merge pull request #148 from Autohome2/local_auxin3

I will need to change some of these slightly in speeduino.ino as there can't be any for loops occurring every cycle, but that should be easy enough
This commit is contained in:
Josh Stewart 2018-07-25 16:41:14 +10:00 committed by GitHub
commit 57a5791a05
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 666 additions and 316 deletions

View File

@ -61,6 +61,22 @@
fuelLoadMax = scalar, U08, "", 1, 0, 0, 511, 0
ignLoadMax = scalar, U08, "", 1, 0, 0, 511, 0
AUXin00Alias = string, ASCII, 20
AUXin01Alias = string, ASCII, 20
AUXin02Alias = string, ASCII, 20
AUXin03Alias = string, ASCII, 20
AUXin04Alias = string, ASCII, 20
AUXin05Alias = string, ASCII, 20
AUXin06Alias = string, ASCII, 20
AUXin07Alias = string, ASCII, 20
AUXin08Alias = string, ASCII, 20
AUXin09Alias = string, ASCII, 20
AUXin10Alias = string, ASCII, 20
AUXin11Alias = string, ASCII, 20
AUXin12Alias = string, ASCII, 20
AUXin13Alias = string, ASCII, 20
AUXin14Alias = string, ASCII, 20
AUXin15Alias = string, ASCII, 20
[Constants]
@ -116,7 +132,7 @@
endianness = little
nPages = 10
pageSize = 288, 128, 288, 128, 288, 128, 240, 192, 128, 192
pageSize = 288, 128, 288, 128, 288, 128, 240, 192, 192, 192
;burnCommand = "B"
;pageActivate = "P\001", "P\002", "P\003", "P\004", "P\005", "P\006", "P\007", "P\010", "P\011", "P\012", "P\013"
@ -124,7 +140,7 @@
;pageValueWrite = "W%2o%v", "W%o%v", "W%2o%v", "W%o%v", "W%2o%v", "W%o%v", "W%o%v", "W%o%v", "W%o%v", "W%o%v", "W%o%v"
; New commands
;pageSize = 288, 128, 288, 128, 288, 128, 128, 160, 192, 128, 192
;pageSize = 288, 128, 288, 128, 288, 128, 128, 160, 192, 192, 192
pageIdentifier = "\$tsCanId\x01", "\$tsCanId\x02", "\$tsCanId\x03", "\$tsCanId\x04", "\$tsCanId\x05", "\$tsCanId\x06", "\$tsCanId\x07", "\$tsCanId\x08", "\$tsCanId\x09", "\$tsCanId\x0A"
burnCommand = "b%2i", "b%2i", "b%2i", "b%2i", "b%2i", "b%2i", "b%2i", "b%2i", "b%2i", "b%2i"
pageReadCommand = "p%2i%2o%2c%v", "p%2i%2o%2c%v", "p%2i%2o%2c%v", "p%2i%2o%2c%v", "p%2i%2o%2c%v", "p%2i%2o%2c%v", "p%2i%2o%2c%v", "p%2i%2o%2c%v", "p%2i%2o%2c%v", "p%2i%2o%2c%v"
@ -144,8 +160,12 @@
#define PIN_OUT10inv = "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
#define PIN_OUT16inv = "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
#define tsCanId_list = "CAN ID 0", "CAN ID 1", "CAN ID 2", "CAN ID 3", "CAN ID 4", "CAN ID 5", "CAN ID 6", "CAN ID 7", "CAN ID 8", "CAN ID 9", "CAN ID 10","CAN ID 11","CAN ID 12","CAN ID 13","CAN ID 14","INVALID"
#define PIN_16inv = "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
#define ANALOG_PIN = "A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7", "A8", "A8", "A10", "A11", "A12", "A13", "A14", "A15", $PIN_16inv, $PIN_16inv, $PIN_16inv
#define DIGITAL_PIN = "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
#define ANALOG_DIG_PIN_LIST = $DIGITAL_PIN, $ANALOG_PIN
#define tsCanId_list = "CAN ID 0", "CAN ID 1", "CAN ID 2", "CAN ID 3", "CAN ID 4", "CAN ID 5", "CAN ID 6", "CAN ID 7", "CAN ID 8", "CAN ID 9", "CAN ID 10","CAN ID 11","CAN ID 12","CAN ID 13","CAN ID 14","INVALID"
#define CAN_ADDRESS_HEX_inv255 = $PIN_OUT16inv, $PIN_OUT16inv, $PIN_OUT16inv, $PIN_OUT16inv, $PIN_OUT16inv, $PIN_OUT16inv, $PIN_OUT16inv, $PIN_OUT16inv, $PIN_OUT16inv, $PIN_OUT16inv, $PIN_OUT16inv, $PIN_OUT16inv, $PIN_OUT16inv, $PIN_OUT16inv, $PIN_OUT16inv, $PIN_OUT10inv, "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID"
#define CAN_ADDRESS_HEX_00XX = "INVALID", "0x001", "0x002", "0x003", "0x004", "0x005", "0x006", "0x007", "0x008", "0x009", "0x00A", "0x00B", "0x00C", "0x00D", "0x00E", "0x00F", "0x010", "0x011", "0x012", "0x013", "0x014", "0x015", "0x016", "0x017", "0x018", "0x019", "0x01A", "0x01B", "0x01C", "0x01D", "0x01E", "0x01F", "0x020", "0x021", "0x022", "0x023", "0x024", "0x025", "0x026", "0x027", "0x028", "0x029", "0x02A", "0x02B", "0x02C", "0x02D", "0x02E", "0x02F", "0x030", "0x031", "0x032", "0x033", "0x034", "0x035", "0x036", "0x037", "0x038", "0x039", "0x03A", "0x03B", "0x03C", "0x03D", "0x03E", "0x03F", "0x040", "0x041", "0x042", "0x043", "0x044", "0x045", "0x046", "0x047", "0x048", "0x049", "0x04A", "0x04B", "0x04C", "0x04D", "0x04E", "0x04F", "0x050", "0x051", "0x052", "0x053", "0x054", "0x055", "0x056", "0x057", "0x058", "0x059", "0x05A", "0x05B", "0x05C", "0x05D", "0x05E", "0x05F" ,"0x060", "0x061", "0x062", "0x063", "0x064", "0x065", "0x066", "0x067", "0x068", "0x069", "0x06A", "0x06B", "0x06C", "0x06D", "0x06E", "0x06F", "0x070", "0x071", "0x072", "0x073", "0x074", "0x075", "0x076", "0x077", "0x078", "0x079", "0x07A", "0x07B", "0x07C", "0x07D", "0x07E", "0x07F", "0x080", "0x081", "0x082", "0x083", "0x084", "0x085", "0x086", "0x087", "0x088", "0x089", "0x08A", "0x08B", "0x08C", "0x08D", "0x08E", "0x08F" ,"0x090", "0x091", "0x092", "0x093", "0x094", "0x095", "0x096", "0x097", "0x098", "0x099", "0x09A", "0x09B", "0x09C", "0x09D", "0x09E", "0x09F", "0x0A0", "0x0A1", "0x0A2", "0x0A3", "0x0A4", "0x0A5", "0x0A6", "0x0A7", "0x0A8", "0x0A9", "0x0AA", "0x0AB", "0x0AC", "0x0AD", "0x0AE", "0x0AF", "0x0B0", "0x0B1", "0x0B2", "0x0B3", "0x0B4", "0x0B5", "0x0B6", "0x0B7", "0x0B8", "0x0B9", "0x0BA", "0x0BB", "0x0BC", "0x0BD", "0x0BE", "0x0BF" ,"0x0C0", "0x0C1", "0x0C2", "0x0C3", "0x0C4", "0x0C5", "0x0C6", "0x0C7", "0x0C8", "0x0C9", "0x0CA", "0x0CB", "0x0CC", "0x0CD", "0x0CE", "0x0CF", "0x0D0", "0x0D1", "0x0D2", "0x0D3", "0x0D4", "0x0D5", "0x0D6", "0x0D7", "0x0D8", "0x0D9", "0x0DA", "0x0DB", "0x0DC", "0x0DD", "0x0DE", "0x0DF", "0x0E0", "0x0E1", "0x0E2", "0x0E3", "0x0E4", "0x0E5", "0x0E6", "0x0E7", "0x0E8", "0x0E9", "0x0EA", "0x0EB", "0x0EC", "0x0ED", "0x0EE", "0x0EF" ,"0x0F0", "0x0F1", "0x0F2", "0x0F3", "0x0F4", "0x0F5", "0x0F6", "0x0F7", "0x0F8", "0x0F9", "0x0FA", "0x0FB", "0x0FC", "0x0FD", "0x0FE", "0x0FF"
#define CAN_ADDRESS_HEX_01XX = "0x100", "0x101", "0x102", "0x103", "0x104", "0x105", "0x106", "0x107", "0x108", "0x109", "0x10A", "0x10B", "0x10C", "0x10D", "0x10E", "0x10F", "0x110", "0x111", "0x112", "0x113", "0x114", "0x115", "0x116", "0x117", "0x118", "0x119", "0x11A", "0x11B", "0x11C", "0x11D", "0x11E", "0x11F", "0x120", "0x121", "0x122", "0x123", "0x124", "0x125", "0x126", "0x127", "0x128", "0x129", "0x12A", "0x12B", "0x12C", "0x12D", "0x12E", "0x12F", "0x130", "0x131", "0x132", "0x133", "0x134", "0x135", "0x136", "0x137", "0x138", "0x139", "0x13A", "0x13B", "0x13C", "0x13D", "0x13E", "0x13F", "0x140", "0x141", "0x142", "0x143", "0x144", "0x145", "0x146", "0x147", "0x148", "0x149", "0x14A", "0x14B", "0x14C", "0x14D", "0x14E", "0x14F", "0x150", "0x151", "0x152", "0x153", "0x154", "0x155", "0x156", "0x157", "0x158", "0x159", "0x15A", "0x15B", "0x15C", "0x15D", "0x15E", "0x15F" ,"0x160", "0x161", "0x162", "0x163", "0x164", "0x165", "0x166", "0x167", "0x168", "0x169", "0x16A", "0x16B", "0x16C", "0x16D", "0x16E", "0x16F", "0x170", "0x171", "0x172", "0x173", "0x174", "0x175", "0x176", "0x177", "0x178", "0x179", "0x17A", "0x17B", "0x17C", "0x17D", "0x17E", "0x17F", "0x180", "0x181", "0x182", "0x183", "0x184", "0x185", "0x186", "0x187", "0x188", "0x189", "0x18A", "0x18B", "0x18C", "0x18D", "0x18E", "0x18F" ,"0x190", "0x191", "0x192", "0x193", "0x194", "0x195", "0x196", "0x197", "0x198", "0x199", "0x19A", "0x19B", "0x19C", "0x19D", "0x19E", "0x19F", "0x1A0", "0x1A1", "0x1A2", "0x1A3", "0x1A4", "0x1A5", "0x1A6", "0x1A7", "0x1A8", "0x1A9", "0x1AA", "0x1AB", "0x1AC", "0x1AD", "0x1AE", "0x1AF", "0x1B0", "0x1B1", "0x1B2", "0x1B3", "0x1B4", "0x1B5", "0x1B6", "0x1B7", "0x1B8", "0x1B9", "0x1BA", "0x1BB", "0x1BC", "0x1BD", "0x1BE", "0x1BF" ,"0x1C0", "0x1C1", "0x1C2", "0x1C3", "0x1C4", "0x1C5", "0x1C6", "0x1C7", "0x1C8", "0x1C9", "0x1CA", "0x1CB", "0x1CC", "0x1CD", "0x1CE", "0x1CF", "0x1D0", "0x1D1", "0x1D2", "0x1D3", "0x1D4", "0x1D5", "0x1D6", "0x1D7", "0x1D8", "0x1D9", "0x1DA", "0x1DB", "0x1DC", "0x1DD", "0x1DE", "0x1DF", "0x1E0", "0x1E1", "0x1E2", "0x1E3", "0x1E4", "0x1E5", "0x1E6", "0x1E7", "0x1E8", "0x1E9", "0x1EA", "0x1EB", "0x1EC", "0x1ED", "0x1EE", "0x1EF" ,"0x1F0", "0x1F1", "0x1F2", "0x1F3", "0x1F4", "0x1F5", "0x1F6", "0x1F7", "0x1F8", "0x1F9", "0x1FA", "0x1FB", "0x1FC", "0x1FD", "0x1FE", "0x1FF"
@ -560,7 +580,7 @@ page = 8
#endif
;--------------------------------------------------
;CANBUS control (Page 9)
;CANBUS control and Auxillary io(Page 9)
;--------------------------------------------------
page = 9
#if CAN_COMMANDS
@ -569,148 +589,230 @@ page = 9
enable_canbus = bits, U08, 0, [0:1], "Disable", "On Via Secondary Serial", "INVALID", "INVALID"
#endif
enable_candata_in = bits, U08, 0, [2:2], "Off", "On"
caninput_sel0 = bits, U16, 1, [0:0], "Off", "On"
caninput_sel1 = bits, U16, 1, [1:1], "Off", "On"
caninput_sel2 = bits, U16, 1, [2:2], "Off", "On"
caninput_sel3 = bits, U16, 1, [3:3], "Off", "On"
caninput_sel4 = bits, U16, 1, [4:4], "Off", "On"
caninput_sel5 = bits, U16, 1, [5:5], "Off", "On"
caninput_sel6 = bits, U16, 1, [6:6], "Off", "On"
caninput_sel7 = bits, U16, 1, [7:7], "Off", "On"
caninput_sel8 = bits, U16, 1, [8:8], "Off", "On"
caninput_sel9 = bits, U16, 1, [9:9], "Off", "On"
caninput_sel10 = bits, U16, 1, [10:10], "Off", "On"
caninput_sel11 = bits, U16, 1, [11:11], "Off", "On"
caninput_sel12 = bits, U16, 1, [12:12], "Off", "On"
caninput_sel13 = bits, U16, 1, [13:13], "Off", "On"
caninput_sel14 = bits, U16, 1, [14:14], "Off", "On"
caninput_sel15 = bits, U16, 1, [15:15], "Off", "On"
;caninput_param_group = array , U16, 9, [ 8], "", 1, 0, 0, 65535, 0
caninput_source_can_address0 = bits, U16, 3, [0:10], $CAN_ADDRESS_HEX
caninput_source_can_address1 = bits, U16, 5, [0:10], $CAN_ADDRESS_HEX
caninput_source_can_address2 = bits, U16, 7, [0:10], $CAN_ADDRESS_HEX
caninput_source_can_address3 = bits, U16, 9, [0:10], $CAN_ADDRESS_HEX
caninput_source_can_address4 = bits, U16, 11, [0:10], $CAN_ADDRESS_HEX
caninput_source_can_address5 = bits, U16, 13, [0:10], $CAN_ADDRESS_HEX
caninput_source_can_address6 = bits, U16, 15, [0:10], $CAN_ADDRESS_HEX
caninput_source_can_address7 = bits, U16, 17, [0:10], $CAN_ADDRESS_HEX
caninput_source_can_address8 = bits, U16, 19, [0:10], $CAN_ADDRESS_HEX
caninput_source_can_address9 = bits, U16, 21, [0:10], $CAN_ADDRESS_HEX
caninput_source_can_address10 = bits, U16, 23, [0:10], $CAN_ADDRESS_HEX
caninput_source_can_address11 = bits, U16, 25, [0:10], $CAN_ADDRESS_HEX
caninput_source_can_address12 = bits, U16, 27, [0:10], $CAN_ADDRESS_HEX
caninput_source_can_address13 = bits, U16, 29, [0:10], $CAN_ADDRESS_HEX
caninput_source_can_address14 = bits, U16, 31, [0:10], $CAN_ADDRESS_HEX
caninput_source_can_address15 = bits, U16, 33, [0:10], $CAN_ADDRESS_HEX
#if CAN_COMMANDS
caninput_sel0 = bits, U08, 1, [0:1], "Off", "EXT / CAN", "Analog_local", "Digital_local"
caninput_sel1 = bits, U08, 2, [0:1], "Off", "EXT / CAN", "Analog_local", "Digital_local"
caninput_sel2 = bits, U08, 3, [0:1], "Off", "EXT / CAN", "Analog_local", "Digital_local"
caninput_sel3 = bits, U08, 4, [0:1], "Off", "EXT / CAN", "Analog_local", "Digital_local"
caninput_sel4 = bits, U08, 5, [0:1], "Off", "EXT / CAN", "Analog_local", "Digital_local"
caninput_sel5 = bits, U08, 6, [0:1], "Off", "EXT / CAN", "Analog_local", "Digital_local"
caninput_sel6 = bits, U08, 7, [0:1], "Off", "EXT / CAN", "Analog_local", "Digital_local"
caninput_sel7 = bits, U08, 8, [0:1], "Off", "EXT / CAN", "Analog_local", "Digital_local"
caninput_sel8 = bits, U08, 9, [0:1], "Off", "EXT / CAN", "Analog_local", "Digital_local"
caninput_sel9 = bits, U08, 10, [0:1], "Off", "EXT / CAN", "Analog_local", "Digital_local"
caninput_sel10 = bits, U08, 11, [0:1], "Off", "EXT / CAN", "Analog_local", "Digital_local"
caninput_sel11 = bits, U08, 12, [0:1], "Off", "EXT / CAN", "Analog_local", "Digital_local"
caninput_sel12 = bits, U08, 13, [0:1], "Off", "EXT / CAN", "Analog_local", "Digital_local"
caninput_sel13 = bits, U08, 14, [0:1], "Off", "EXT / CAN", "Analog_local", "Digital_local"
caninput_sel14 = bits, U08, 15, [0:1], "Off", "EXT / CAN", "Analog_local", "Digital_local"
caninput_sel15 = bits, U08, 16, [0:1], "Off", "EXT / CAN", "Analog_local", "Digital_local"
#else
caninput_sel0 = bits, U08, 1, [0:1], "Off", "INVALID", "Analog_local", "Digital_local"
caninput_sel1 = bits, U08, 2, [0:1], "Off", "INVALID", "Analog_local", "Digital_local"
caninput_sel2 = bits, U08, 3, [0:1], "Off", "INVALID", "Analog_local", "Digital_local"
caninput_sel3 = bits, U08, 4, [0:1], "Off", "INVALID", "Analog_local", "Digital_local"
caninput_sel4 = bits, U08, 5, [0:1], "Off", "INVALID", "Analog_local", "Digital_local"
caninput_sel5 = bits, U08, 6, [0:1], "Off", "INVALID", "Analog_local", "Digital_local"
caninput_sel6 = bits, U08, 7, [0:1], "Off", "INVALID", "Analog_local", "Digital_local"
caninput_sel7 = bits, U08, 8, [0:1], "Off", "INVALID", "Analog_local", "Digital_local"
caninput_sel8 = bits, U08, 9, [0:1], "Off", "INVALID", "Analog_local", "Digital_local"
caninput_sel9 = bits, U08, 10, [0:1], "Off", "INVALID", "Analog_local", "Digital_local"
caninput_sel10 = bits, U08, 11, [0:1], "Off", "INVALID", "Analog_local", "Digital_local"
caninput_sel11 = bits, U08, 12, [0:1], "Off", "INVALID", "Analog_local", "Digital_local"
caninput_sel12 = bits, U08, 13, [0:1], "Off", "INVALID", "Analog_local", "Digital_local"
caninput_sel13 = bits, U08, 14, [0:1], "Off", "INVALID", "Analog_local", "Digital_local"
caninput_sel14 = bits, U08, 15, [0:1], "Off", "INVALID", "Analog_local", "Digital_local"
caninput_sel15 = bits, U08, 16, [0:1], "Off", "INVALID", "Analog_local", "Digital_local"
#endif
;caninput_param_group = array , U16, 9, [ 8], "", 1, 0, 0, 65535, 0
caninput_source_can_address0 = bits, U16, 17, [0:10], $CAN_ADDRESS_HEX
caninput_source_can_address1 = bits, U16, 19, [0:10], $CAN_ADDRESS_HEX
caninput_source_can_address2 = bits, U16, 21, [0:10], $CAN_ADDRESS_HEX
caninput_source_can_address3 = bits, U16, 23, [0:10], $CAN_ADDRESS_HEX
caninput_source_can_address4 = bits, U16, 25, [0:10], $CAN_ADDRESS_HEX
caninput_source_can_address5 = bits, U16, 27, [0:10], $CAN_ADDRESS_HEX
caninput_source_can_address6 = bits, U16, 29, [0:10], $CAN_ADDRESS_HEX
caninput_source_can_address7 = bits, U16, 31, [0:10], $CAN_ADDRESS_HEX
caninput_source_can_address8 = bits, U16, 33, [0:10], $CAN_ADDRESS_HEX
caninput_source_can_address9 = bits, U16, 35, [0:10], $CAN_ADDRESS_HEX
caninput_source_can_address10 = bits, U16, 37, [0:10], $CAN_ADDRESS_HEX
caninput_source_can_address11 = bits, U16, 39, [0:10], $CAN_ADDRESS_HEX
caninput_source_can_address12 = bits, U16, 41, [0:10], $CAN_ADDRESS_HEX
caninput_source_can_address13 = bits, U16, 43, [0:10], $CAN_ADDRESS_HEX
caninput_source_can_address14 = bits, U16, 45, [0:10], $CAN_ADDRESS_HEX
caninput_source_can_address15 = bits, U16, 47, [0:10], $CAN_ADDRESS_HEX
caninput_source_start_byte0 = bits, U08, 35, [0:2], "0", "1", "2", "3", "4", "5", "6", "7"
caninput_source_start_byte1 = bits, U08, 36, [0:2], "0", "1", "2", "3", "4", "5", "6", "7"
caninput_source_start_byte2 = bits, U08, 37, [0:2], "0", "1", "2", "3", "4", "5", "6", "7"
caninput_source_start_byte3 = bits, U08, 38, [0:2], "0", "1", "2", "3", "4", "5", "6", "7"
caninput_source_start_byte4 = bits, U08, 39, [0:2], "0", "1", "2", "3", "4", "5", "6", "7"
caninput_source_start_byte5 = bits, U08, 40, [0:2], "0", "1", "2", "3", "4", "5", "6", "7"
caninput_source_start_byte6 = bits, U08, 41, [0:2], "0", "1", "2", "3", "4", "5", "6", "7"
caninput_source_start_byte7 = bits, U08, 42, [0:2], "0", "1", "2", "3", "4", "5", "6", "7"
caninput_source_start_byte8 = bits, U08, 43, [0:2], "0", "1", "2", "3", "4", "5", "6", "7"
caninput_source_start_byte9 = bits, U08, 44, [0:2], "0", "1", "2", "3", "4", "5", "6", "7"
caninput_source_start_byte10 = bits, U08, 45, [0:2], "0", "1", "2", "3", "4", "5", "6", "7"
caninput_source_start_byte11 = bits, U08, 46, [0:2], "0", "1", "2", "3", "4", "5", "6", "7"
caninput_source_start_byte12 = bits, U08, 47, [0:2], "0", "1", "2", "3", "4", "5", "6", "7"
caninput_source_start_byte13 = bits, U08, 48, [0:2], "0", "1", "2", "3", "4", "5", "6", "7"
caninput_source_start_byte14 = bits, U08, 49, [0:2], "0", "1", "2", "3", "4", "5", "6", "7"
caninput_source_start_byte15 = bits, U08, 50, [0:2], "0", "1", "2", "3", "4", "5", "6", "7"
caninput_source_start_byte0 = bits, U08, 49, [0:2], "0", "1", "2", "3", "4", "5", "6", "7"
caninput_source_start_byte1 = bits, U08, 50, [0:2], "0", "1", "2", "3", "4", "5", "6", "7"
caninput_source_start_byte2 = bits, U08, 51, [0:2], "0", "1", "2", "3", "4", "5", "6", "7"
caninput_source_start_byte3 = bits, U08, 52, [0:2], "0", "1", "2", "3", "4", "5", "6", "7"
caninput_source_start_byte4 = bits, U08, 53, [0:2], "0", "1", "2", "3", "4", "5", "6", "7"
caninput_source_start_byte5 = bits, U08, 54, [0:2], "0", "1", "2", "3", "4", "5", "6", "7"
caninput_source_start_byte6 = bits, U08, 55, [0:2], "0", "1", "2", "3", "4", "5", "6", "7"
caninput_source_start_byte7 = bits, U08, 56, [0:2], "0", "1", "2", "3", "4", "5", "6", "7"
caninput_source_start_byte8 = bits, U08, 57, [0:2], "0", "1", "2", "3", "4", "5", "6", "7"
caninput_source_start_byte9 = bits, U08, 58, [0:2], "0", "1", "2", "3", "4", "5", "6", "7"
caninput_source_start_byte10 = bits, U08, 59, [0:2], "0", "1", "2", "3", "4", "5", "6", "7"
caninput_source_start_byte11 = bits, U08, 60, [0:2], "0", "1", "2", "3", "4", "5", "6", "7"
caninput_source_start_byte12 = bits, U08, 61, [0:2], "0", "1", "2", "3", "4", "5", "6", "7"
caninput_source_start_byte13 = bits, U08, 62, [0:2], "0", "1", "2", "3", "4", "5", "6", "7"
caninput_source_start_byte14 = bits, U08, 63, [0:2], "0", "1", "2", "3", "4", "5", "6", "7"
caninput_source_start_byte15 = bits, U08, 64, [0:2], "0", "1", "2", "3", "4", "5", "6", "7"
caninput_source_num_bytes0 = bits, U16, 51, [0:0], "1", "2"
caninput_source_num_bytes1 = bits, U16, 51, [1:1], "1", "2"
caninput_source_num_bytes2 = bits, U16, 51, [2:2], "1", "2"
caninput_source_num_bytes3 = bits, U16, 51, [3:3], "1", "2"
caninput_source_num_bytes4 = bits, U16, 51, [4:4], "1", "2"
caninput_source_num_bytes5 = bits, U16, 51, [5:5], "1", "2"
caninput_source_num_bytes6 = bits, U16, 51, [6:6], "1", "2"
caninput_source_num_bytes7 = bits, U16, 51, [7:7], "1", "2"
caninput_source_num_bytes8 = bits, U16, 51, [8:8], "1", "2"
caninput_source_num_bytes9 = bits, U16, 51, [9:9], "1", "2"
caninput_source_num_bytes10 = bits, U16, 51, [10:10], "1", "2"
caninput_source_num_bytes11 = bits, U16, 51, [11:11], "1", "2"
caninput_source_num_bytes12 = bits, U16, 51, [12:12], "1", "2"
caninput_source_num_bytes13 = bits, U16, 51, [13:13], "1", "2"
caninput_source_num_bytes14 = bits, U16, 51, [14:14], "1", "2"
caninput_source_num_bytes15 = bits, U16, 51, [15:15], "1", "2"
caninput_source_num_bytes0 = bits, U16, 65, [0:0], "1", "2"
caninput_source_num_bytes1 = bits, U16, 65, [1:1], "1", "2"
caninput_source_num_bytes2 = bits, U16, 65, [2:2], "1", "2"
caninput_source_num_bytes3 = bits, U16, 65, [3:3], "1", "2"
caninput_source_num_bytes4 = bits, U16, 65, [4:4], "1", "2"
caninput_source_num_bytes5 = bits, U16, 65, [5:5], "1", "2"
caninput_source_num_bytes6 = bits, U16, 65, [6:6], "1", "2"
caninput_source_num_bytes7 = bits, U16, 65, [7:7], "1", "2"
caninput_source_num_bytes8 = bits, U16, 65, [8:8], "1", "2"
caninput_source_num_bytes9 = bits, U16, 65, [9:9], "1", "2"
caninput_source_num_bytes10 = bits, U16, 65, [10:10], "1", "2"
caninput_source_num_bytes11 = bits, U16, 65, [11:11], "1", "2"
caninput_source_num_bytes12 = bits, U16, 65, [12:12], "1", "2"
caninput_source_num_bytes13 = bits, U16, 65, [13:13], "1", "2"
caninput_source_num_bytes14 = bits, U16, 65, [14:14], "1", "2"
caninput_source_num_bytes15 = bits, U16, 65, [15:15], "1", "2"
unused10_53 = scalar, U08, 53, "", 1, 0, 0, 255, 0
unused10_54 = scalar, U08, 54, "", 1, 0, 0, 255, 0
enable_candata_out = bits, U08, 55, [0:0], "Off", "On"
canoutput_sel0 = bits, U08, 56, [0:0], "Off", "On"
canoutput_sel1 = bits, U08, 57, [0:0], "Off", "On"
canoutput_sel2 = bits, U08, 58, [0:0], "Off", "On"
canoutput_sel3 = bits, U08, 59, [0:0], "Off", "On"
canoutput_sel4 = bits, U08, 60, [0:0], "Off", "On"
canoutput_sel5 = bits, U08, 61, [0:0], "Off", "On"
canoutput_sel6 = bits, U08, 62, [0:0], "Off", "On"
canoutput_sel7 = bits, U08, 63, [0:0], "Off", "On"
canoutput_param_group = array , U16, 64, [ 8], "", 1, 0, 0, 65535, 0
canoutput_param_start_byte0 = bits, U08, 80, [0:2], "0", "1", "2", "3", "4", "5", "6", "7"
canoutput_param_start_byte1 = bits, U08, 81, [0:2], "0", "1", "2", "3", "4", "5", "6", "7"
canoutput_param_start_byte2 = bits, U08, 82, [0:2], "0", "1", "2", "3", "4", "5", "6", "7"
canoutput_param_start_byte3 = bits, U08, 83, [0:2], "0", "1", "2", "3", "4", "5", "6", "7"
canoutput_param_start_byte4 = bits, U08, 84, [0:2], "0", "1", "2", "3", "4", "5", "6", "7"
canoutput_param_start_byte5 = bits, U08, 85, [0:2], "0", "1", "2", "3", "4", "5", "6", "7"
canoutput_param_start_byte6 = bits, U08, 86, [0:2], "0", "1", "2", "3", "4", "5", "6", "7"
canoutput_param_start_byte7 = bits, U08, 87, [0:2], "0", "1", "2", "3", "4", "5", "6", "7"
canoutput_param_num_bytes0 = bits, U08, 88, [0:1], "INVALID", "1", "2", "INVALID"
canoutput_param_num_bytes1 = bits, U08, 89, [0:1], "INVALID", "1", "2", "INVALID"
canoutput_param_num_bytes2 = bits, U08, 90, [0:1], "INVALID", "1", "2", "INVALID"
canoutput_param_num_bytes3 = bits, U08, 91, [0:1], "INVALID", "1", "2", "INVALID"
canoutput_param_num_bytes4 = bits, U08, 92, [0:1], "INVALID", "1", "2", "INVALID"
canoutput_param_num_bytes5 = bits, U08, 93, [0:1], "INVALID", "1", "2", "INVALID"
canoutput_param_num_bytes6 = bits, U08, 94, [0:1], "INVALID", "1", "2", "INVALID"
canoutput_param_num_bytes7 = bits, U08, 95, [0:1], "INVALID", "1", "2", "INVALID"
unused10_67 = scalar, U08, 67, "", 1, 0, 0, 255, 0
unused10_68 = scalar, U08, 68, "", 1, 0, 0, 255, 0
enable_candata_out = bits, U08, 69, [0:0], "Off", "On"
canoutput_sel0 = bits, U08, 70, [0:0], "Off", "On"
canoutput_sel1 = bits, U08, 71, [0:0], "Off", "On"
canoutput_sel2 = bits, U08, 72, [0:0], "Off", "On"
canoutput_sel3 = bits, U08, 73, [0:0], "Off", "On"
canoutput_sel4 = bits, U08, 74, [0:0], "Off", "On"
canoutput_sel5 = bits, U08, 75, [0:0], "Off", "On"
canoutput_sel6 = bits, U08, 76, [0:0], "Off", "On"
canoutput_sel7 = bits, U08, 77, [0:0], "Off", "On"
canoutput_param_group = array , U16, 78, [ 8], "", 1, 0, 0, 65535, 0
canoutput_param_start_byte0 = bits, U08, 94, [0:2], "0", "1", "2", "3", "4", "5", "6", "7"
canoutput_param_start_byte1 = bits, U08, 95, [0:2], "0", "1", "2", "3", "4", "5", "6", "7"
canoutput_param_start_byte2 = bits, U08, 96, [0:2], "0", "1", "2", "3", "4", "5", "6", "7"
canoutput_param_start_byte3 = bits, U08, 97, [0:2], "0", "1", "2", "3", "4", "5", "6", "7"
canoutput_param_start_byte4 = bits, U08, 98, [0:2], "0", "1", "2", "3", "4", "5", "6", "7"
canoutput_param_start_byte5 = bits, U08, 99, [0:2], "0", "1", "2", "3", "4", "5", "6", "7"
canoutput_param_start_byte6 = bits, U08, 100, [0:2], "0", "1", "2", "3", "4", "5", "6", "7"
canoutput_param_start_byte7 = bits, U08, 101, [0:2], "0", "1", "2", "3", "4", "5", "6", "7"
canoutput_param_num_bytes0 = bits, U08, 102, [0:1], "INVALID", "1", "2", "INVALID"
canoutput_param_num_bytes1 = bits, U08, 103, [0:1], "INVALID", "1", "2", "INVALID"
canoutput_param_num_bytes2 = bits, U08, 104, [0:1], "INVALID", "1", "2", "INVALID"
canoutput_param_num_bytes3 = bits, U08, 105, [0:1], "INVALID", "1", "2", "INVALID"
canoutput_param_num_bytes4 = bits, U08, 106, [0:1], "INVALID", "1", "2", "INVALID"
canoutput_param_num_bytes5 = bits, U08, 107, [0:1], "INVALID", "1", "2", "INVALID"
canoutput_param_num_bytes6 = bits, U08, 108, [0:1], "INVALID", "1", "2", "INVALID"
canoutput_param_num_bytes7 = bits, U08, 109, [0:1], "INVALID", "1", "2", "INVALID"
unused10_96 = scalar, U08, 96, "", 1, 0, 0, 255, 0
unused10_97 = scalar, U08, 97, "", 1, 0, 0, 255, 0
unused10_98 = scalar, U08, 98, "", 1, 0, 0, 255, 0
unused10_99 = scalar, U08, 99, "", 1, 0, 0, 255, 0
unused10_110 = scalar, U08, 110, "", 1, 0, 0, 255, 0
unused10_111 = scalar, U08, 111, "", 1, 0, 0, 255, 0
unused10_112 = scalar, U08, 112, "", 1, 0, 0, 255, 0
unused10_113 = scalar, U08, 113, "", 1, 0, 0, 255, 0
speeduino_tsCanId = bits, U08, 100, [0:3], $tsCanId_list
true_address = bits, U16, 101, [0:10], $CAN_ADDRESS_HEX
realtime_base_address = bits, U16, 103, [0:10], $CAN_ADDRESS_HEX
obd_address = bits, U16, 105, [0:10], $CAN_ADDRESS_HEX
;unused10_101 = scalar, U16, 101, "", 1, 0, 0, 255, 0
;unused10_103 = scalar, U16, 103, "", 1, 0, 0, 255, 0
;unused10_105 = scalar, U16, 105, "", 1, 0, 0, 255, 0
speeduino_tsCanId = bits, U08, 114, [0:3], $tsCanId_list
true_address = bits, U16, 115, [0:10], $CAN_ADDRESS_HEX
realtime_base_address = bits, U16, 117, [0:10], $CAN_ADDRESS_HEX
obd_address = bits, U16, 119, [0:10], $CAN_ADDRESS_HEX
;AFR offset for WUE VeAnalyze
;wueAFRRates = array, U08, 107, [10], "%", 1.0, 0.0, 0.0, 255, 0
;wueAFRBins = array, U08, 117, [10], "C", 1.0, -40, -40, 102.0, 0
unused10_107 = scalar, U08, 107, "", 1, 0, 0, 255, 0
unused10_108 = scalar, U08, 108, "", 1, 0, 0, 255, 0
unused10_109 = scalar, U08, 109, "", 1, 0, 0, 255, 0
unused10_110 = scalar, U08, 110, "", 1, 0, 0, 255, 0
unused10_111 = scalar, U08, 111, "", 1, 0, 0, 255, 0
unused10_112 = scalar, U08, 112, "", 1, 0, 0, 255, 0
unused10_113 = scalar, U08, 113, "", 1, 0, 0, 255, 0
unused10_114 = scalar, U08, 114, "", 1, 0, 0, 255, 0
unused10_115 = scalar, U08, 115, "", 1, 0, 0, 255, 0
unused10_116 = scalar, U08, 116, "", 1, 0, 0, 255, 0
unused10_117 = scalar, U08, 117, "", 1, 0, 0, 255, 0
unused10_118 = scalar, U08, 118, "", 1, 0, 0, 255, 0
unused10_119 = scalar, U08, 119, "", 1, 0, 0, 255, 0
unused10_120 = scalar, U08, 120, "", 1, 0, 0, 255, 0
unused10_121 = scalar, U08, 121, "", 1, 0, 0, 255, 0
unused10_122 = scalar, U08, 122, "", 1, 0, 0, 255, 0
unused10_123 = scalar, U08, 123, "", 1, 0, 0, 255, 0
unused10_124 = scalar, U08, 124, "", 1, 0, 0, 255, 0
unused10_125 = scalar, U08, 125, "", 1, 0, 0, 255, 0
unused10_126 = scalar, U08, 126, "", 1, 0, 0, 255, 0
unused10_127 = scalar, U08, 127, "", 1, 0, 0, 255, 0
Auxin0pina = bits, U08, 121, [0:6], $ANALOG_PIN
Auxin1pina = bits, U08, 122, [0:6], $ANALOG_PIN
Auxin2pina = bits, U08, 123, [0:6], $ANALOG_PIN
Auxin3pina = bits, U08, 124, [0:6], $ANALOG_PIN
Auxin4pina = bits, U08, 125, [0:6], $ANALOG_PIN
Auxin5pina = bits, U08, 126, [0:6], $ANALOG_PIN
Auxin6pina = bits, U08, 127, [0:6], $ANALOG_PIN
Auxin7pina = bits, U08, 128, [0:6], $ANALOG_PIN
Auxin8pina = bits, U08, 129, [0:6], $ANALOG_PIN
Auxin9pina = bits, U08, 130, [0:6], $ANALOG_PIN
Auxin10pina = bits, U08, 131, [0:6], $ANALOG_PIN
Auxin11pina = bits, U08, 132, [0:6], $ANALOG_PIN
Auxin12pina = bits, U08, 133, [0:6], $ANALOG_PIN
Auxin13pina = bits, U08, 134, [0:6], $ANALOG_PIN
Auxin14pina = bits, U08, 135, [0:6], $ANALOG_PIN
Auxin15pina = bits, U08, 136, [0:6], $ANALOG_PIN
Auxin0pinb = bits, U08, 137, [0:6], $DIGITAL_PIN
Auxin1pinb = bits, U08, 138, [0:6], $DIGITAL_PIN
Auxin2pinb = bits, U08, 139, [0:6], $DIGITAL_PIN
Auxin3pinb = bits, U08, 140, [0:6], $DIGITAL_PIN
Auxin4pinb = bits, U08, 141, [0:6], $DIGITAL_PIN
Auxin5pinb = bits, U08, 142, [0:6], $DIGITAL_PIN
Auxin6pinb = bits, U08, 143, [0:6], $DIGITAL_PIN
Auxin7pinb = bits, U08, 144, [0:6], $DIGITAL_PIN
Auxin8pinb = bits, U08, 145, [0:6], $DIGITAL_PIN
Auxin9pinb = bits, U08, 146, [0:6], $DIGITAL_PIN
Auxin10pinb = bits, U08, 147, [0:6], $DIGITAL_PIN
Auxin11pinb = bits, U08, 148, [0:6], $DIGITAL_PIN
Auxin12pinb = bits, U08, 149, [0:6], $DIGITAL_PIN
Auxin13pinb = bits, U08, 150, [0:6], $DIGITAL_PIN
Auxin14pinb = bits, U08, 151, [0:6], $DIGITAL_PIN
Auxin15pinb = bits, U08, 152, [0:6], $DIGITAL_PIN
;unused10_137 = scalar, U08, 137, "", 1, 0, 0, 255, 0
;unused10_138 = scalar, U08, 138, "", 1, 0, 0, 255, 0
;unused10_139 = scalar, U08, 139, "", 1, 0, 0, 255, 0
;unused10_140 = scalar, U08, 140, "", 1, 0, 0, 255, 0
;unused10_141 = scalar, U08, 141, "", 1, 0, 0, 255, 0
;unused10_142 = scalar, U08, 142, "", 1, 0, 0, 255, 0
;unused10_143 = scalar, U08, 143, "", 1, 0, 0, 255, 0
;unused10_144 = scalar, U08, 144, "", 1, 0, 0, 255, 0
;unused10_145 = scalar, U08, 145, "", 1, 0, 0, 255, 0
;unused10_146 = scalar, U08, 146, "", 1, 0, 0, 255, 0
;unused10_147 = scalar, U08, 147, "", 1, 0, 0, 255, 0
;unused10_148 = scalar, U08, 148, "", 1, 0, 0, 255, 0
;unused10_149 = scalar, U08, 149, "", 1, 0, 0, 255, 0
;unused10_150 = scalar, U08, 150, "", 1, 0, 0, 255, 0
;unused10_151 = scalar, U08, 151, "", 1, 0, 0, 255, 0
;unused10_152 = scalar, U08, 152, "", 1, 0, 0, 255, 0
unused10_153 = scalar, U08, 153, "", 1, 0, 0, 255, 0
unused10_154 = scalar, U08, 154, "", 1, 0, 0, 255, 0
unused10_155 = scalar, U08, 155, "", 1, 0, 0, 255, 0
unused10_156 = scalar, U08, 156, "", 1, 0, 0, 255, 0
unused10_157 = scalar, U08, 157, "", 1, 0, 0, 255, 0
unused10_158 = scalar, U08, 158, "", 1, 0, 0, 255, 0
unused10_159 = scalar, U08, 159, "", 1, 0, 0, 255, 0
unused10_160 = scalar, U08, 160, "", 1, 0, 0, 255, 0
unused10_161 = scalar, U08, 161, "", 1, 0, 0, 255, 0
unused10_162 = scalar, U08, 162, "", 1, 0, 0, 255, 0
unused10_163 = scalar, U08, 163, "", 1, 0, 0, 255, 0
unused10_164 = scalar, U08, 164, "", 1, 0, 0, 255, 0
unused10_165 = scalar, U08, 165, "", 1, 0, 0, 255, 0
unused10_166 = scalar, U08, 166, "", 1, 0, 0, 255, 0
unused10_167 = scalar, U08, 167, "", 1, 0, 0, 255, 0
unused10_168 = scalar, U08, 168, "", 1, 0, 0, 255, 0
unused10_169 = scalar, U08, 169, "", 1, 0, 0, 255, 0
unused10_170 = scalar, U08, 170, "", 1, 0, 0, 255, 0
unused10_171 = scalar, U08, 171, "", 1, 0, 0, 255, 0
unused10_172 = scalar, U08, 172, "", 1, 0, 0, 255, 0
unused10_173 = scalar, U08, 173, "", 1, 0, 0, 255, 0
unused10_174 = scalar, U08, 174, "", 1, 0, 0, 255, 0
unused10_175 = scalar, U08, 175, "", 1, 0, 0, 255, 0
unused10_176 = scalar, U08, 176, "", 1, 0, 0, 255, 0
unused10_177 = scalar, U08, 177, "", 1, 0, 0, 255, 0
unused10_178 = scalar, U08, 178, "", 1, 0, 0, 255, 0
unused10_179 = scalar, U08, 179, "", 1, 0, 0, 255, 0
unused10_180 = scalar, U08, 180, "", 1, 0, 0, 255, 0
unused10_181 = scalar, U08, 181, "", 1, 0, 0, 255, 0
unused10_182 = scalar, U08, 182, "", 1, 0, 0, 255, 0
unused10_183 = scalar, U08, 183, "", 1, 0, 0, 255, 0
unused10_184 = scalar, U08, 184, "", 1, 0, 0, 255, 0
unused10_185 = scalar, U08, 185, "", 1, 0, 0, 255, 0
unused10_186 = scalar, U08, 186, "", 1, 0, 0, 255, 0
unused10_187 = scalar, U08, 187, "", 1, 0, 0, 255, 0
unused10_188 = scalar, U08, 188, "", 1, 0, 0, 255, 0
unused10_189 = scalar, U08, 189, "", 1, 0, 0, 255, 0
unused10_190 = scalar, U08, 190, "", 1, 0, 0, 255, 0
blankfield = bits, U08, 191, [0:0], "",""
;unused10_191 = scalar, U08, 191, "", 1, 0, 0, 255, 0
page = 10
#if CELSIUS
crankingEnrichBins = array, U08, 0, [4], "C", 1.0, -40, -40, 215, 0
@ -895,6 +997,22 @@ page = 10
controllerPriority = bootloaderCaps
defaultValue = AUXin00Alias Aux0
defaultValue = AUXin01Alias Aux1
defaultValue = AUXin02Alias Aux2
defaultValue = AUXin03Alias Aux3
defaultValue = AUXin04Alias Aux4
defaultValue = AUXin05Alias Aux5
defaultValue = AUXin06Alias Aux6
defaultValue = AUXin07Alias Aux7
defaultValue = AUXin08Alias Aux8
defaultValue = AUXin09Alias Aux9
defaultValue = AUXin10Alias Aux10
defaultValue = AUXin11Alias Aux11
defaultValue = AUXin12Alias Aux12
defaultValue = AUXin13Alias Aux13
defaultValue = AUXin14Alias Aux14
defaultValue = AUXin15Alias Aux15
[Menu]
@ -986,11 +1104,13 @@ menuDialog = main
#if CAN_COMMANDS
subMenu = can_serial3IO, "Canbus/Secondary Serial IO Interface"
subMenu = std_separator
subMenu = Canin_config, "External Data Input Configuration", {enable_canbus}
subMenu = Canin_config, "External Auxillary Input Channel Configuration", {enable_canbus}
subMenu = Auxin_config, "Local Auxillary Input Channel Configuration"
;subMenu = std_separator
;subMenu = Canout_config, "Canbus Output Configuration"
#else
subMenu = serial3IO, "Secondary Serial IO Interface"
subMenu = Auxin_config, "Local Auxillary Input Channel Configuration"
#endif
menuDialog = main
@ -1107,22 +1227,38 @@ menuDialog = main
true_address = "This is the 11bit Can address of the Speeduino ECU "
realtime_base_address = "This is the 11bit CAN address of the realtime data broadcast from the Speeduino ECU. This MUST be at least 0x16 greater than the true address"
;obd_address = "The 11bit Can address that the Speeduino ECU responds to for OBD2 diagnostic requests"
caninput_sel0 = "This Enables CAN data input channel 0 "
caninput_sel1 = "This Enables CAN data input channel 1 "
caninput_sel2 = "This Enables CAN data input channel 2 "
caninput_sel3 = "This Enables CAN data input channel 3 "
caninput_sel4 = "This Enables CAN data input channel 4 "
caninput_sel5 = "This Enables CAN data input channel 5 "
caninput_sel6 = "This Enables CAN data input channel 6 "
caninput_sel7 = "This Enables CAN data input channel 7 "
caninput_sel8 = "This Enables CAN data input channel 8 "
caninput_sel9 = "This Enables CAN data input channel 9 "
caninput_sel10 = "This Enables CAN data input channel 10 "
caninput_sel11 = "This Enables CAN data input channel 11 "
caninput_sel12 = "This Enables CAN data input channel 12 "
caninput_sel13 = "This Enables CAN data input channel 13 "
caninput_sel14 = "This Enables CAN data input channel 14 "
caninput_sel15 = "This Enables CAN data input channel 15 "
AUXin00Alias = "The Ascii alias asigned to Aux input channel 0"
AUXin01Alias = "The Ascii alias asigned to Aux input channel 1"
AUXin02Alias = "The Ascii alias asigned to Aux input channel 2"
AUXin03Alias = "The Ascii alias asigned to Aux input channel 3"
AUXin04Alias = "The Ascii alias asigned to Aux input channel 4"
AUXin05Alias = "The Ascii alias asigned to Aux input channel 5"
AUXin06Alias = "The Ascii alias asigned to Aux input channel 6"
AUXin07Alias = "The Ascii alias asigned to Aux input channel 7"
AUXin08Alias = "The Ascii alias asigned to Aux input channel 8"
AUXin09Alias = "The Ascii alias asigned to Aux input channel 9"
AUXin10Alias = "The Ascii alias asigned to Aux input channel 10"
AUXin11Alias = "The Ascii alias asigned to Aux input channel 11"
AUXin12Alias = "The Ascii alias asigned to Aux input channel 12"
AUXin13Alias = "The Ascii alias asigned to Aux input channel 13"
AUXin14Alias = "The Ascii alias asigned to Aux input channel 14"
AUXin15Alias = "The Ascii alias asigned to Aux input channel 15"
caninput_sel0 = "This Enables External/CAN data or local analog/digital on input channel 0 "
caninput_sel1 = "This Enables External/CAN data or local analog/digital on input channel 1 "
caninput_sel2 = "This Enables External/CAN data or local analog/digital on input channel 2 "
caninput_sel3 = "This Enables External/CAN data or local analog/digital on input channel 3 "
caninput_sel4 = "This Enables External/CAN data or local analog/digital on input channel 4 "
caninput_sel5 = "This Enables External/CAN data or local analog/digital on input channel 5 "
caninput_sel6 = "This Enables External/CAN data or local analog/digital on input channel 6 "
caninput_sel7 = "This Enables External/CAN data or local analog/digital on input channel 7 "
caninput_sel8 = "This Enables External/CAN data or local analog/digital on input channel 8 "
caninput_sel9 = "This Enables External/CAN data or local analog/digital on input channel 9 "
caninput_sel10 = "This Enables External/CAN data or local analog/digital on input channel 10 "
caninput_sel11 = "This Enables External/CAN data or local analog/digital on input channel 11 "
caninput_sel12 = "This Enables External/CAN data or local analog/digital on input channel 12 "
caninput_sel13 = "This Enables External/CAN data or local analog/digital on input channel 13 "
caninput_sel14 = "This Enables External/CAN data or local analog/digital on input channel 14 "
caninput_sel15 = "This Enables External/CAN data or local analog/digital on input channel 15 "
caninput_source_can_address0 = "The source 11bit CAN address of the data for channel 0"
caninput_source_can_address1 = "The source 11bit CAN address of the data for channel 1"
caninput_source_can_address2 = "The source 11bit CAN address of the data for channel 2"
@ -1746,6 +1882,25 @@ menuDialog = main
panel = outputtest_spark
;panel = outputtest_io2
panel = outputtest_warningmessage
dialog = canAuxinput_alias, "", yAxis
field = "Input Alias"
field = "", AUXin00Alias , {caninput_sel0}
field = "", AUXin01Alias , {caninput_sel1}
field = "", AUXin02Alias , {caninput_sel2}
field = "", AUXin03Alias , {caninput_sel3}
field = "", AUXin04Alias , {caninput_sel4}
field = "", AUXin05Alias , {caninput_sel5}
field = "", AUXin06Alias , {caninput_sel6}
field = "", AUXin07Alias , {caninput_sel7}
field = "", AUXin08Alias , {caninput_sel8}
field = "", AUXin09Alias , {caninput_sel9}
field = "", AUXin10Alias , {caninput_sel10}
field = "", AUXin11Alias , {caninput_sel11}
field = "", AUXin12Alias , {caninput_sel12}
field = "", AUXin13Alias , {caninput_sel13}
field = "", AUXin14Alias , {caninput_sel14}
field = "", AUXin15Alias , {caninput_sel15}
dialog = caninput_sel, ""
;CAN inputs
@ -1769,65 +1924,67 @@ menuDialog = main
dialog = caninput_parameter_group, "", yAxis
field = " Source CAN Address"
field = "", caninput_source_can_address0, { caninput_sel0 && enable_candata_in }
field = "", caninput_source_can_address1, { caninput_sel1 && enable_candata_in }
field = "", caninput_source_can_address2, { caninput_sel2 && enable_candata_in }
field = "", caninput_source_can_address3, { caninput_sel3 && enable_candata_in }
field = "", caninput_source_can_address4, { caninput_sel4 && enable_candata_in }
field = "", caninput_source_can_address5, { caninput_sel5 && enable_candata_in }
field = "", caninput_source_can_address6, { caninput_sel6 && enable_candata_in }
field = "", caninput_source_can_address7, { caninput_sel7 && enable_candata_in }
field = "", caninput_source_can_address8, { caninput_sel8 && enable_candata_in }
field = "", caninput_source_can_address9, { caninput_sel9 && enable_candata_in }
field = "", caninput_source_can_address10, { caninput_sel10 && enable_candata_in }
field = "", caninput_source_can_address11, { caninput_sel11 && enable_candata_in }
field = "", caninput_source_can_address12, { caninput_sel12 && enable_candata_in }
field = "", caninput_source_can_address13, { caninput_sel13 && enable_candata_in }
field = "", caninput_source_can_address14, { caninput_sel14 && enable_candata_in }
field = "", caninput_source_can_address15, { caninput_sel15 && enable_candata_in }
field = "", caninput_source_can_address0, { caninput_sel0 == 1 && enable_candata_in }
field = "", caninput_source_can_address1, { caninput_sel1 == 1 && enable_candata_in }
field = "", caninput_source_can_address2, { caninput_sel2 == 1 && enable_candata_in }
field = "", caninput_source_can_address3, { caninput_sel3 == 1 && enable_candata_in }
field = "", caninput_source_can_address4, { caninput_sel4 == 1 && enable_candata_in }
field = "", caninput_source_can_address5, { caninput_sel5 == 1 && enable_candata_in }
field = "", caninput_source_can_address6, { caninput_sel6 == 1 && enable_candata_in }
field = "", caninput_source_can_address7, { caninput_sel7 == 1 && enable_candata_in }
field = "", caninput_source_can_address8, { caninput_sel8 == 1 && enable_candata_in }
field = "", caninput_source_can_address9, { caninput_sel9 == 1 && enable_candata_in }
field = "", caninput_source_can_address10, { caninput_sel10 == 1 && enable_candata_in }
field = "", caninput_source_can_address11, { caninput_sel11 == 1 && enable_candata_in }
field = "", caninput_source_can_address12, { caninput_sel12 == 1 && enable_candata_in }
field = "", caninput_source_can_address13, { caninput_sel13 == 1 && enable_candata_in }
field = "", caninput_source_can_address14, { caninput_sel14 == 1 && enable_candata_in }
field = "", caninput_source_can_address15, { caninput_sel15 == 1 && enable_candata_in }
dialog = caninput_parameter_start_byte, "", yAxis
field = " source data start byte"
field = "", caninput_source_start_byte0, { caninput_sel0 && enable_candata_in }
field = "", caninput_source_start_byte1, { caninput_sel1 && enable_candata_in }
field = "", caninput_source_start_byte2, { caninput_sel2 && enable_candata_in }
field = "", caninput_source_start_byte3, { caninput_sel3 && enable_candata_in }
field = "", caninput_source_start_byte4, { caninput_sel4 && enable_candata_in }
field = "", caninput_source_start_byte5, { caninput_sel5 && enable_candata_in }
field = "", caninput_source_start_byte6, { caninput_sel6 && enable_candata_in }
field = "", caninput_source_start_byte7, { caninput_sel7 && enable_candata_in }
field = "", caninput_source_start_byte8, { caninput_sel8 && enable_candata_in }
field = "", caninput_source_start_byte9, { caninput_sel9 && enable_candata_in }
field = "", caninput_source_start_byte10, { caninput_sel10 && enable_candata_in }
field = "", caninput_source_start_byte11, { caninput_sel11 && enable_candata_in }
field = "", caninput_source_start_byte12, { caninput_sel12 && enable_candata_in }
field = "", caninput_source_start_byte13, { caninput_sel13 && enable_candata_in }
field = "", caninput_source_start_byte14, { caninput_sel14 && enable_candata_in }
field = "", caninput_source_start_byte15, { caninput_sel15 && enable_candata_in }
field = "", caninput_source_start_byte0, { caninput_sel0 == 1 && enable_candata_in }
field = "", caninput_source_start_byte1, { caninput_sel1 == 1 && enable_candata_in }
field = "", caninput_source_start_byte2, { caninput_sel2 == 1 && enable_candata_in }
field = "", caninput_source_start_byte3, { caninput_sel3 == 1 && enable_candata_in }
field = "", caninput_source_start_byte4, { caninput_sel4 == 1 && enable_candata_in }
field = "", caninput_source_start_byte5, { caninput_sel5 == 1 && enable_candata_in }
field = "", caninput_source_start_byte6, { caninput_sel6 == 1 && enable_candata_in }
field = "", caninput_source_start_byte7, { caninput_sel7 == 1 && enable_candata_in }
field = "", caninput_source_start_byte8, { caninput_sel8 == 1 && enable_candata_in }
field = "", caninput_source_start_byte9, { caninput_sel9 == 1 && enable_candata_in }
field = "", caninput_source_start_byte10, { caninput_sel10 == 1 && enable_candata_in }
field = "", caninput_source_start_byte11, { caninput_sel11 == 1 && enable_candata_in }
field = "", caninput_source_start_byte12, { caninput_sel12 == 1 && enable_candata_in }
field = "", caninput_source_start_byte13, { caninput_sel13 == 1 && enable_candata_in }
field = "", caninput_source_start_byte14, { caninput_sel14 == 1 && enable_candata_in }
field = "", caninput_source_start_byte15, { caninput_sel15 == 1 && enable_candata_in }
dialog = caninput_parameter_num_byte, "", yAxis
field = "Input Parameter Number of Bytes"
field = "", caninput_source_num_bytes0, { caninput_sel0 && enable_candata_in }
field = "", caninput_source_num_bytes1, { caninput_sel1 && enable_candata_in }
field = "", caninput_source_num_bytes2, { caninput_sel3 && enable_candata_in }
field = "", caninput_source_num_bytes3, { caninput_sel3 && enable_candata_in }
field = "", caninput_source_num_bytes4, { caninput_sel4 && enable_candata_in }
field = "", caninput_source_num_bytes5, { caninput_sel5 && enable_candata_in }
field = "", caninput_source_num_bytes6, { caninput_sel6 && enable_candata_in }
field = "", caninput_source_num_bytes7, { caninput_sel7 && enable_candata_in }
field = "", caninput_source_num_bytes8, { caninput_sel8 && enable_candata_in }
field = "", caninput_source_num_bytes9, { caninput_sel9 && enable_candata_in }
field = "", caninput_source_num_bytes10, { caninput_sel10 && enable_candata_in }
field = "", caninput_source_num_bytes11, { caninput_sel11 && enable_candata_in }
field = "", caninput_source_num_bytes12, { caninput_sel12 && enable_candata_in }
field = "", caninput_source_num_bytes13, { caninput_sel13 && enable_candata_in }
field = "", caninput_source_num_bytes14, { caninput_sel14 && enable_candata_in }
field = "", caninput_source_num_bytes15, { caninput_sel15 && enable_candata_in }
field = "", caninput_source_num_bytes0, { caninput_sel0 == 1 && enable_candata_in }
field = "", caninput_source_num_bytes1, { caninput_sel1 == 1 && enable_candata_in }
field = "", caninput_source_num_bytes2, { caninput_sel3 == 1 && enable_candata_in }
field = "", caninput_source_num_bytes3, { caninput_sel3 == 1 && enable_candata_in }
field = "", caninput_source_num_bytes4, { caninput_sel4 == 1 && enable_candata_in }
field = "", caninput_source_num_bytes5, { caninput_sel5 == 1 && enable_candata_in }
field = "", caninput_source_num_bytes6, { caninput_sel6 == 1 && enable_candata_in }
field = "", caninput_source_num_bytes7, { caninput_sel7 == 1 && enable_candata_in }
field = "", caninput_source_num_bytes8, { caninput_sel8 == 1 && enable_candata_in }
field = "", caninput_source_num_bytes9, { caninput_sel9 == 1 && enable_candata_in }
field = "", caninput_source_num_bytes10, { caninput_sel10 == 1 && enable_candata_in }
field = "", caninput_source_num_bytes11, { caninput_sel11 == 1 && enable_candata_in }
field = "", caninput_source_num_bytes12, { caninput_sel12 == 1 && enable_candata_in }
field = "", caninput_source_num_bytes13, { caninput_sel13 == 1 && enable_candata_in }
field = "", caninput_source_num_bytes14, { caninput_sel14 == 1 && enable_candata_in }
field = "", caninput_source_num_bytes15, { caninput_sel15 == 1 && enable_candata_in }
dialog = caninconfig_blank1,""
field = ""
dialog = Canin_config1, "", xAxis
panel = canAuxinput_alias
panel = caninconfig_blank1
panel = caninput_sel
panel = caninconfig_blank1
panel = caninput_parameter_group
@ -1843,8 +2000,27 @@ menuDialog = main
topicHelp = "http://speeduino.com/wiki/index.php/Secondary_Serial_IO_interface#Read_external_analog_data"
panel = Canin_config2, North
panel = Canin_config1, South
dialog = canoutput_sel, ""
dialog = canAuxoutput_alias, "", yAxis
field = "Input Alias"
field = "", AUXin00Alias , {caninput_sel0}
field = "", AUXin01Alias , {caninput_sel1}
field = "", AUXin02Alias , {caninput_sel2}
field = "", AUXin03Alias , {caninput_sel3}
field = "", AUXin04Alias , {caninput_sel4}
field = "", AUXin05Alias , {caninput_sel5}
field = "", AUXin06Alias , {caninput_sel6}
field = "", AUXin07Alias , {caninput_sel7}
field = "", AUXin08Alias , {caninput_sel8}
field = "", AUXin09Alias , {caninput_sel9}
field = "", AUXin10Alias , {caninput_sel10}
field = "", AUXin11Alias , {caninput_sel11}
field = "", AUXin12Alias , {caninput_sel12}
field = "", AUXin13Alias , {caninput_sel13}
field = "", AUXin14Alias , {caninput_sel14}
field = "", AUXin15Alias , {caninput_sel15}
dialog = canoutput_sel, "", yAxis
;CAN outputs
field = "CAN Output Channel on/off"
field = "CAN Output 0", canoutput_sel0, { enable_candata_out}
@ -1925,7 +2101,9 @@ menuDialog = main
field = ""
dialog = Canout_config1, "", xAxis
panel = canoutput_sel
panel = canAuxoutput_alias
panel = canoutconfig_blank1
panel = canoutput_sel
panel = canoutconfig_blank1
panel = canoutput_parameter_group
panel = canoutconfig_blank1
@ -1959,6 +2137,116 @@ menuDialog = main
field = "Control Type", resetControl
field = "Control Pin", resetControlPin
dialog = Auxinput_pin_selection, "", yAxis
field = " PIN"
displayOnlyField = "Off", blankfield, {caninput_sel0 == 0},{caninput_sel0 == 0}
field = "", caninput_source_can_address0, { caninput_sel0 == 1 && enable_candata_in }, {caninput_sel0 == 1}
field = "", Auxin0pina , {caninput_sel0 == 2 || caninput_sel0 == 3 }, {caninput_sel0 == 2}
field = "", Auxin0pinb , {caninput_sel0 == 2 || caninput_sel0 == 3 }, {caninput_sel0 == 3}
displayOnlyField = "Off", blankfield, {caninput_sel1 == 0},{caninput_sel1 == 0}
field = "", caninput_source_can_address1, { caninput_sel1 == 1 && enable_candata_in }, {caninput_sel1 == 1}
field = "", Auxin1pina , {caninput_sel1 == 2 || caninput_sel1 == 3}, {caninput_sel1 == 2}
field = "", Auxin1pinb , {caninput_sel1 == 2 || caninput_sel1 == 3}, {caninput_sel1 == 3}
displayOnlyField = "Off", blankfield, {caninput_sel2 == 0},{caninput_sel2 == 0}
field = "", caninput_source_can_address2, { caninput_sel2 == 1 && enable_candata_in }, {caninput_sel2 == 1}
field = "", Auxin2pina , {caninput_sel2 == 2 || caninput_sel2 == 3}, {caninput_sel2 == 2}
field = "", Auxin2pinb , {caninput_sel2 == 2 || caninput_sel2 == 3}, {caninput_sel2 == 3}
displayOnlyField = "Off", blankfield, {caninput_sel3 == 0},{caninput_sel3 == 0}
field = "", caninput_source_can_address3, { caninput_sel3 == 1 && enable_candata_in }, {caninput_sel3 == 1}
field = "", Auxin3pina , {caninput_sel3 == 2 || caninput_sel3 == 3}, {caninput_sel3 == 2}
field = "", Auxin3pinb , {caninput_sel3 == 2 || caninput_sel3 == 3}, {caninput_sel3 == 3}
displayOnlyField = "Off", blankfield, {caninput_sel4 == 0},{caninput_sel4 == 0}
field = "", caninput_source_can_address4, { caninput_sel4 == 1 && enable_candata_in }, {caninput_sel4 == 1}
field = "", Auxin4pina , {caninput_sel4 == 2 || caninput_sel4 == 3}, {caninput_sel4 == 2}
field = "", Auxin4pinb , {caninput_sel4 == 2 || caninput_sel4 == 3}, {caninput_sel4 == 3}
displayOnlyField = "Off", blankfield, {caninput_sel5 == 0},{caninput_sel5 == 0}
field = "", caninput_source_can_address5, { caninput_sel5 == 1 && enable_candata_in }, {caninput_sel5 == 1}
field = "", Auxin5pina , {caninput_sel5 == 2 || caninput_sel5 == 3}, {caninput_sel5 == 2}
field = "", Auxin5pinb , {caninput_sel5 == 2 || caninput_sel5 == 3}, {caninput_sel5 == 3}
displayOnlyField = "Off", blankfield, {caninput_sel6 == 0},{caninput_sel6 == 0}
field = "", caninput_source_can_address6, { caninput_sel6 == 1 && enable_candata_in }, {caninput_sel6 == 1}
field = "", Auxin6pina , {caninput_sel6 == 2 || caninput_sel6 == 3}, {caninput_sel6 == 2}
field = "", Auxin6pinb , {caninput_sel6 == 2 || caninput_sel6 == 3}, {caninput_sel6 == 3}
displayOnlyField = "Off", blankfield, {caninput_sel7 == 0},{caninput_sel7 == 0}
field = "", caninput_source_can_address7, { caninput_sel7 == 1 && enable_candata_in }, {caninput_sel7 == 1}
field = "", Auxin7pina , {caninput_sel7 == 2 || caninput_sel7 == 3}, {caninput_sel7 == 2}
field = "", Auxin7pinb , {caninput_sel7 == 2 || caninput_sel7 == 3}, {caninput_sel7 == 3}
displayOnlyField = "Off", blankfield, {caninput_sel8 == 8},{caninput_sel8 == 0}
field = "", caninput_source_can_address8, { caninput_sel8 == 1 && enable_candata_in }, {caninput_sel8 == 1}
field = "", Auxin8pina , {caninput_sel8 == 2 || caninput_sel8 == 3}, {caninput_sel8 == 2}
field = "", Auxin8pinb , {caninput_sel8 == 2 || caninput_sel8 == 3}, {caninput_sel8 == 3}
displayOnlyField = "Off", blankfield, {caninput_sel9 == 0},{caninput_sel9 == 0}
field = "", caninput_source_can_address9, { caninput_sel9 == 1 && enable_candata_in }, {caninput_sel9 == 1}
field = "", Auxin9pina , {caninput_sel9 == 2 || caninput_sel9 == 3}, {caninput_sel9 == 2}
field = "", Auxin9pinb , {caninput_sel9 == 2 || caninput_sel9 == 3}, {caninput_sel9 == 3}
displayOnlyField = "Off", blankfield, {caninput_sel10 == 0},{caninput_sel10 == 0}
field = "", caninput_source_can_address10, { caninput_sel10 == 1 && enable_candata_in }, {caninput_sel10 == 1}
field = "", Auxin10pina , {caninput_sel10 == 2 || caninput_sel10 == 3}, {caninput_sel10 == 2}
field = "", Auxin10pinb , {caninput_sel10 == 2 || caninput_sel10 == 3}, {caninput_sel10 == 3}
displayOnlyField = "Off", blankfield, {caninput_sel11 == 0},{caninput_sel11 == 0}
field = "", caninput_source_can_address11, { caninput_sel11 == 1 && enable_candata_in }, {caninput_sel11 == 1}
field = "", Auxin11pina , {caninput_sel11 == 2 || caninput_sel11 == 3}, {caninput_sel11 == 2}
field = "", Auxin11pinb , {caninput_sel11 == 2 || caninput_sel11 == 3}, {caninput_sel11 == 3}
displayOnlyField = "Off", blankfield, {caninput_sel12 == 0},{caninput_sel12 == 0}
field = "", caninput_source_can_address12, { caninput_sel12 == 1 && enable_candata_in }, {caninput_sel12 == 1}
field = "", Auxin12pina , {caninput_sel12 == 2 || caninput_sel12 == 3}, {caninput_sel12 == 2}
field = "", Auxin12pinb , {caninput_sel12 == 2 || caninput_sel12 == 3}, {caninput_sel12 == 3}
displayOnlyField = "Off", blankfield, {caninput_sel13 == 0},{caninput_sel13 == 0}
field = "", caninput_source_can_address13, { caninput_sel13 == 1 && enable_candata_in }, {caninput_sel13 == 1}
field = "", Auxin13pina , {caninput_sel13 == 2 || caninput_sel13 == 3}, {caninput_sel13 == 2}
field = "", Auxin13pinb , {caninput_sel13 == 2 || caninput_sel13 == 3}, {caninput_sel13 == 3}
displayOnlyField = "Off", blankfield, {caninput_sel14 == 0},{caninput_sel14 == 0}
field = "", caninput_source_can_address14, { caninput_sel14 == 1 && enable_candata_in }, {caninput_sel14 == 1}
field = "", Auxin14pina , {caninput_sel14 == 2 || caninput_sel14 == 3}, {caninput_sel14 == 2}
field = "", Auxin14pinb , {caninput_sel14 == 2 || caninput_sel14 == 3}, {caninput_sel14 == 3}
displayOnlyField = "Off", blankfield, {caninput_sel15 == 0},{caninput_sel15 == 0}
field = "", caninput_source_can_address15, { caninput_sel15 == 1 && enable_candata_in }, {caninput_sel15 == 1}
field = "", Auxin15pina , {caninput_sel15 == 2 || caninput_sel15 == 3}, {caninput_sel15 == 2}
field = "", Auxin15pinb , {caninput_sel15 == 2 || caninput_sel15 == 3}, {caninput_sel15 == 3}
dialog = Auxinput_alias, "", yAxis
field = "Input Alias"
field = "", AUXin00Alias , {caninput_sel0}
field = "", AUXin01Alias , {caninput_sel1}
field = "", AUXin02Alias , {caninput_sel2}
field = "", AUXin03Alias , {caninput_sel3}
field = "", AUXin04Alias , {caninput_sel4}
field = "", AUXin05Alias , {caninput_sel5}
field = "", AUXin06Alias , {caninput_sel6}
field = "", AUXin07Alias , {caninput_sel7}
field = "", AUXin08Alias , {caninput_sel8}
field = "", AUXin09Alias , {caninput_sel9}
field = "", AUXin10Alias , {caninput_sel10}
field = "", AUXin11Alias , {caninput_sel11}
field = "", AUXin12Alias , {caninput_sel12}
field = "", AUXin13Alias , {caninput_sel13}
field = "", AUXin14Alias , {caninput_sel14}
field = "", AUXin15Alias , {caninput_sel15}
dialog = Auxinput_channelenable, "", yAxis
field = " Aux Input Channel Enable"
field = "AUX Input 0", caninput_sel0
field = "AUX Input 1", caninput_sel1
field = "AUX Input 2", caninput_sel2
field = "AUX Input 3", caninput_sel3
field = "AUX Input 4", caninput_sel4
field = "AUX Input 5", caninput_sel5
field = "AUX Input 6", caninput_sel6
field = "AUX Input 7", caninput_sel7
field = "AUX Input 8", caninput_sel8
field = "AUX Input 9", caninput_sel9
field = "AUX Input 10", caninput_sel10
field = "AUX Input 11", caninput_sel11
field = "AUX Input 12", caninput_sel12
field = "AUX Input 13", caninput_sel13
field = "AUX Input 14", caninput_sel14
field = "AUX Input 15", caninput_sel15
dialog = Auxin_config, "Auxillary Input Configuration",xAxis
panel = Auxinput_alias
panel = Auxinput_channelenable
panel = Auxinput_pin_selection
;-------------------------------------------------------------------------------
; General help text
@ -2352,25 +2640,23 @@ cmdtestspk450dc = "E\x03\x0C"
#endif
flexGauge = flex, "Flex sensor", "%", 0, 100, -1, -1, 999, 999, 0, 0
#if CAN_COMMANDS
gaugeCategory = "CanBus Inputs"
CanGauge0 = canin_gauge0, "Can In0" "", 0, 1024, -1, -1, 1025, 1025, 0, 0
CanGauge1 = canin_gauge1, "Can In1" "", 0, 1024, -1, -1, 1025, 1025, 0, 0
CanGauge2 = canin_gauge2, "Can In2" "", 0, 1024, -1, -1, 1025, 1025, 0, 0
CanGauge3 = canin_gauge3, "Can In3" "", 0, 1024, -1, -1, 1025, 1025, 0, 0
CanGauge4 = canin_gauge4, "Can In4" "", 0, 1024, -1, -1, 1025, 1025, 0, 0
CanGauge5 = canin_gauge5, "Can In5" "", 0, 1024, -1, -1, 1025, 1025, 0, 0
CanGauge6 = canin_gauge6, "Can In6" "", 0, 1024, -1, -1, 1025, 1025, 0, 0
CanGauge7 = canin_gauge7, "Can In7" "", 0, 1024, -1, -1, 1025, 1025, 0, 0
CanGauge8 = canin_gauge8, "Can In8" "", 0, 1024, -1, -1, 1025, 1025, 0, 0
CanGauge9 = canin_gauge9, "Can In9" "", 0, 1024, -1, -1, 1025, 1025, 0, 0
CanGauge10 = canin_gauge10, "Can In10" "", 0, 1024, -1, -1, 1025, 1025, 0, 0
CanGauge11 = canin_gauge11, "Can In11" "", 0, 1024, -1, -1, 1025, 1025, 0, 0
CanGauge12 = canin_gauge12, "Can In12" "", 0, 1024, -1, -1, 1025, 1025, 0, 0
CanGauge13 = canin_gauge13, "Can In13" "", 0, 1024, -1, -1, 1025, 1025, 0, 0
CanGauge14 = canin_gauge14, "Can In14" "", 0, 1024, -1, -1, 1025, 1025, 0, 0
CanGauge15 = canin_gauge15, "Can In15" "", 0, 1024, -1, -1, 1025, 1025, 0, 0
#endif
gaugeCategory = "Auxillary Input Channels"
AuxInGauge0 = auxin_gauge0, { stringValue(AUXin00Alias) }, "", 0, 1024, -1, -1, 1025, 1025, 0, 0
AuxInGauge1 = auxin_gauge1, { stringValue(AUXin01Alias) }, "", 0, 1024, -1, -1, 1025, 1025, 0, 0
AuxInGauge2 = auxin_gauge2, { stringValue(AUXin02Alias) }, "", 0, 1024, -1, -1, 1025, 1025, 0, 0
AuxInGauge3 = auxin_gauge3, { stringValue(AUXin03Alias) }, "", 0, 1024, -1, -1, 1025, 1025, 0, 0
AuxInGauge4 = auxin_gauge4, { stringValue(AUXin04Alias) }, "", 0, 1024, -1, -1, 1025, 1025, 0, 0
AuxInGauge5 = auxin_gauge5, { stringValue(AUXin05Alias) }, "", 0, 1024, -1, -1, 1025, 1025, 0, 0
AuxInGauge6 = auxin_gauge6, { stringValue(AUXin06Alias) }, "", 0, 1024, -1, -1, 1025, 1025, 0, 0
AuxInGauge7 = auxin_gauge7, { stringValue(AUXin07Alias) }, "", 0, 1024, -1, -1, 1025, 1025, 0, 0
AuxInGauge8 = auxin_gauge8, { stringValue(AUXin08Alias) }, "", 0, 1024, -1, -1, 1025, 1025, 0, 0
AuxInGauge9 = auxin_gauge9, { stringValue(AUXin09Alias) }, "", 0, 1024, -1, -1, 1025, 1025, 0, 0
AuxInGauge10 = auxin_gauge10, { stringValue(AUXin10Alias) }, "", 0, 1024, -1, -1, 1025, 1025, 0, 0
AuxInGauge11 = auxin_gauge11, { stringValue(AUXin11Alias) }, "", 0, 1024, -1, -1, 1025, 1025, 0, 0
AuxInGauge12 = auxin_gauge12, { stringValue(AUXin12Alias) }, "", 0, 1024, -1, -1, 1025, 1025, 0, 0
AuxInGauge13 = auxin_gauge13, { stringValue(AUXin13Alias) }, "", 0, 1024, -1, -1, 1025, 1025, 0, 0
AuxInGauge14 = auxin_gauge14, { stringValue(AUXin14Alias) }, "", 0, 1024, -1, -1, 1025, 1025, 0, 0
AuxInGauge15 = auxin_gauge15, { stringValue(AUXin15Alias) }, "", 0, 1024, -1, -1, 1025, 1025, 0, 0
gaugeCategory = "System Data"
clockGauge = secl, "Clock", "Seconds", 0, 255, 10, 10, 245, 245, 0, 0
@ -2496,22 +2782,22 @@ cmdtestspk450dc = "E\x03\x0C"
testactive = bits, U08, 38, [1:1]
afr2 = scalar, U08, 39, "O2", 0.100, 0.000
baro = scalar, U08, 40, "kpa", 1.000, 0.000
canin_gauge0 = scalar, U16, 41, "", 1.000, 0.000
canin_gauge1 = scalar, U16, 43, "", 1.000, 0.000
canin_gauge2 = scalar, U16, 45, "", 1.000, 0.000
canin_gauge3 = scalar, U16, 47, "", 1.000, 0.000
canin_gauge4 = scalar, U16, 49, "", 1.000, 0.000
canin_gauge5 = scalar, U16, 51, "", 1.000, 0.000
canin_gauge6 = scalar, U16, 53, "", 1.000, 0.000
canin_gauge7 = scalar, U16, 55, "", 1.000, 0.000
canin_gauge8 = scalar, U16, 57, "", 1.000, 0.000
canin_gauge9 = scalar, U16, 59, "", 1.000, 0.000
canin_gauge10 = scalar, U16, 61, "", 1.000, 0.000
canin_gauge11 = scalar, U16, 63, "", 1.000, 0.000
canin_gauge12 = scalar, U16, 65, "", 1.000, 0.000
canin_gauge13 = scalar, U16, 67, "", 1.000, 0.000
canin_gauge14 = scalar, U16, 69, "", 1.000, 0.000
canin_gauge15 = scalar, U16, 71, "", 1.000, 0.000
auxin_gauge0 = scalar, U16, 41, "", 1.000, 0.000
auxin_gauge1 = scalar, U16, 43, "", 1.000, 0.000
auxin_gauge2 = scalar, U16, 45, "", 1.000, 0.000
auxin_gauge3 = scalar, U16, 47, "", 1.000, 0.000
auxin_gauge4 = scalar, U16, 49, "", 1.000, 0.000
auxin_gauge5 = scalar, U16, 51, "", 1.000, 0.000
auxin_gauge6 = scalar, U16, 53, "", 1.000, 0.000
auxin_gauge7 = scalar, U16, 55, "", 1.000, 0.000
auxin_gauge8 = scalar, U16, 57, "", 1.000, 0.000
auxin_gauge9 = scalar, U16, 59, "", 1.000, 0.000
auxin_gauge10 = scalar, U16, 61, "", 1.000, 0.000
auxin_gauge11 = scalar, U16, 63, "", 1.000, 0.000
auxin_gauge12 = scalar, U16, 65, "", 1.000, 0.000
auxin_gauge13 = scalar, U16, 67, "", 1.000, 0.000
auxin_gauge14 = scalar, U16, 69, "", 1.000, 0.000
auxin_gauge15 = scalar, U16, 71, "", 1.000, 0.000
tpsADC = scalar, U08, 73, "ADC",1.000, 0.000
errors = scalar, U08, 74, "bits", 1.000, 0.000
errorNum = bits, U08, 74, [0:1]
@ -2634,16 +2920,14 @@ cmdtestspk450dc = "E\x03\x0C"
entry = nitrousOn, "Nitrous On", int, "%d", { n2o_enable > 0 }
entry = syncLossCounter, "Sync Loss #", int, "%d"
#if CAN_COMMANDS
entry = canin_gauge0, "CanIn CH0", int, "%d"
entry = canin_gauge1, "CanIn CH1", int, "%d"
entry = canin_gauge2, "CanIn CH2", int, "%d"
entry = canin_gauge3, "CanIn CH3", int, "%d"
entry = canin_gauge4, "CanIn CH4", int, "%d"
entry = canin_gauge5, "CanIn CH5", int, "%d"
entry = canin_gauge6, "CanIn CH6", int, "%d"
entry = canin_gauge7, "CanIn CH7", int, "%d"
#endif
entry = auxin_gauge0, "AuxIn CH0", int, "%d"
entry = auxin_gauge1, "AuxIn CH1", int, "%d"
entry = auxin_gauge2, "AuxIn CH2", int, "%d"
entry = auxin_gauge3, "AuxIn CH3", int, "%d"
entry = auxin_gauge4, "AuxIn CH4", int, "%d"
entry = auxin_gauge5, "AuxIn CH5", int, "%d"
entry = auxin_gauge6, "AuxIn CH6", int, "%d"
entry = auxin_gauge7, "AuxIn CH7", int, "%d"
[LoggerDefinition]

View File

@ -195,7 +195,7 @@ const char TSfirmwareVersion[] = "Speeduino 2016.09";
const byte data_structure_version = 2; //This identifies the data structure when reading / writing.
//const byte page_size = 64;
const int16_t npage_size[11] = {0,288,128,288,128,288,128,240,192,128,192};
const int16_t npage_size[11] = {0,288,128,288,128,288,128,240,192,192,192};
//const byte page11_size = 128;
#define MAP_PAGE_SIZE 288
@ -669,46 +669,70 @@ struct config6 {
struct config9 {
byte enable_canbus:2;
byte enable_candata_in:1;
uint16_t caninput_sel; //bit status on/off if input is enabled
byte caninput_sel[16]; //bit status on/Can/analog_local/digtal_local if input is enabled
uint16_t caninput_source_can_address[16]; //u16 [15] array holding can address of input
uint8_t caninput_source_start_byte[16]; //u08 [15] array holds the start byte number(value of 0-7)
uint16_t caninput_source_num_bytes; //u16 bit status of the number of bytes length 1 or 2
byte unused10_53;
byte unused10_54;
byte unused10_67;
byte unused10_68;
byte enable_candata_out : 1;
byte canoutput_sel[8];
uint16_t canoutput_param_group[8];
uint8_t canoutput_param_start_byte[8];
byte canoutput_param_num_bytes[8];
byte unused10_97;
byte unused10_98;
byte unused10_99;
byte speeduino_tsCanId:4; //speeduino TS canid (0-14)
uint16_t true_address; //speeduino 11bit can address
uint16_t realtime_base_address; //speeduino 11 bit realtime base address
uint16_t obd_address; //speeduino OBD diagnostic address
byte unused10_107;
byte unused10_108;
byte unused10_109;
byte unused10_110;
byte unused10_111;
byte unused10_112;
byte unused10_113;
byte unused10_114;
byte unused10_115;
byte unused10_116;
byte unused10_117;
byte unused10_118;
byte unused10_119;
byte unused10_120;
byte unused10_121;
byte unused10_122;
byte unused10_123;
byte unused10_124;
byte unused10_125;
byte unused10_126;
byte unused10_127;
byte speeduino_tsCanId:4; //speeduino TS canid (0-14)
uint16_t true_address; //speeduino 11bit can address
uint16_t realtime_base_address; //speeduino 11 bit realtime base address
uint16_t obd_address; //speeduino OBD diagnostic address
uint8_t Auxinpina[16]; //analog pin number when internal aux in use
uint8_t Auxinpinb[16]; // digital pin number when internal aux in use
byte unused10_152;
byte unused10_153;
byte unused10_154;
byte unused10_155;
byte unused10_156;
byte unused10_157;
byte unused10_158;
byte unused10_159;
byte unused10_160;
byte unused10_161;
byte unused10_162;
byte unused10_163;
byte unused10_164;
byte unused10_165;
byte unused10_166;
byte unused10_167;
byte unused10_168;
byte unused10_169;
byte unused10_170;
byte unused10_171;
byte unused10_172;
byte unused10_173;
byte unused10_174;
byte unused10_175;
byte unused10_176;
byte unused10_177;
byte unused10_178;
byte unused10_179;
byte unused10_180;
byte unused10_181;
byte unused10_182;
byte unused10_183;
byte unused10_184;
byte unused10_185;
byte unused10_186;
byte unused10_187;
byte unused10_188;
byte unused10_189;
byte unused10_190;
byte unused10_191;
#if defined(CORE_AVR)
};
#else

View File

@ -49,13 +49,14 @@ void initialiseADC();
void readTPS();
void readO2_2();
void flexPulse();
uint16_t readAuxanalog(uint8_t analogPin);
uint16_t readAuxdigital(uint8_t digitalPin);
void readCLT();
void readIAT();
void readO2();
void readBat();
void readBaro();
#if defined(ANALOG_ISR)
//Analog ISR interrupt routine
/*

View File

@ -320,3 +320,24 @@ void flexPulse()
{
++flexCounter;
}
uint16_t readAuxanalog(uint8_t analogPin)
{
//read the Aux analog value for pin set by analogPin
unsigned int tempReading;
#if defined(ANALOG_ISR)
tempReading = fastMap1023toX(AnChannel[analogPin-A0], 511); //Get the current raw Auxanalog value
#else
tempReading = analogRead(analogPin);
tempReading = fastMap1023toX(analogRead(analogPin), 511); //Get the current raw Auxanalog value
#endif
return tempReading;
}
uint16_t readAuxdigital(uint8_t digitalPin)
{
//read the Aux digital value for pin set by digitalPin
unsigned int tempReading;
tempReading = digitalRead(digitalPin);
return tempReading;
}

View File

@ -998,45 +998,65 @@ void loop()
if(eepromWritesPending == true) { writeAllConfig(); } //Check for any outstanding EEPROM writes.
#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) //ATmega2561 does not have Serial3
//if Can interface is enabled then check for external data requests.
if (configPage9.enable_candata_in > 0) //if external data input is enabled
{
if (configPage9.enable_canbus == 1) // megas only support can via secondary serial
{
for (byte caninChan = 0; caninChan <16 ; caninChan++)
//check through the Aux input channels if enabed for Can or local use
for (byte AuxinChan = 0; AuxinChan <16 ; AuxinChan++)
{
currentStatus.current_caninchannel = AuxinChan;
//currentStatus.canin[14] = ((configPage9.Auxinpinb[currentStatus.current_caninchannel]&127)+1);
//currentStatus.canin[13] = (configPage9.caninput_sel[currentStatus.current_caninchannel]&3);
if (configPage9.caninput_sel[currentStatus.current_caninchannel] == 1) //if current input channel is enabled as canbus
{
if (configPage9.enable_candata_in) //if external data input is enabled
{
if (configPage9.enable_canbus == 1) // megas only support can via secondary serial
{
currentStatus.current_caninchannel = caninChan;
//currentStatus.canin[14] = currentStatus.current_caninchannel;
currentStatus.canin[13] = ((configPage9.caninput_source_can_address[currentStatus.current_caninchannel]&2047)+0x100);
if (BIT_CHECK(configPage9.caninput_sel,currentStatus.current_caninchannel)) //if current input channel bit is enabled
{
sendCancommand(2,0,currentStatus.current_caninchannel,0,((configPage9.caninput_source_can_address[currentStatus.current_caninchannel]&2047)+0x100));
//send an R command for data from caninput_source_address[currentStatus.current_caninchannel]
}
sendCancommand(2,0,currentStatus.current_caninchannel,0,((configPage9.caninput_source_can_address[currentStatus.current_caninchannel]&2047)+0x100));
//send an R command for data from caninput_source_address[currentStatus.current_caninchannel]
}
}
}
}
}
else if ((configPage9.caninput_sel[currentStatus.current_caninchannel]&3) == 2) //if current input channel is enabled as analog local pin
{
//read analog channel specified
currentStatus.canin[currentStatus.current_caninchannel] = readAuxanalog(configPage9.Auxinpina[currentStatus.current_caninchannel]&127);
}
else if ((configPage9.caninput_sel[currentStatus.current_caninchannel]&3) == 3) //if current input channel is enabled as digital local pin
{
//read digital channel specified
currentStatus.canin[currentStatus.current_caninchannel] = readAuxdigital((configPage9.Auxinpinb[currentStatus.current_caninchannel]&127)+1);
}
}
#elif defined(CORE_STM32) || defined(CORE_TEENSY)
//if serial3io is enabled then check for serial3 requests.
if (configPage9.enable_candata_in > 0)
{
for (byte caninChan = 0; caninChan <16 ; caninChan++)
{
currentStatus.current_caninchannel = caninChan;
if (BIT_CHECK(configPage9.caninput_sel,currentStatus.current_caninchannel)) //if current input channel is enabled
//check through the Aux input channels if enabed for Can or local use
for (byte AuxinChan = 0; AuxinChan <16 ; AuxinChan++)
{
currentStatus.current_caninchannel = AuxinChan;
if ((configPage9.caninput_sel[currentStatus.current_caninchannel]&3) == 1) //if current input channel is enabled as canbus
{
if (configPage9.enable_candata_in)
{
if (configPage9.enable_canbus == 1) //can via secondary serial
{
if (configPage9.enable_canbus == 1) //can via secondary serial
{
sendCancommand(2,0,currentStatus.current_caninchannel,0,((configPage9.caninput_source_can_address[currentStatus.current_caninchannel]&2047)+256)); //send an R command for data from paramgroup[currentStatus.current_caninchannel]
}
else if (configPage9.enable_canbus == 2) // can via internal can module
{
sendCancommand(3,configPage9.speeduino_tsCanId,currentStatus.current_caninchannel,0,configPage9.caninput_source_can_address[currentStatus.current_caninchannel]); //send via localcanbus the command for data from paramgroup[currentStatus.current_caninchannel]
}
sendCancommand(2,0,currentStatus.current_caninchannel,0,((configPage9.caninput_source_can_address[currentStatus.current_caninchannel]&2047)+0x100)); //send an R command for data from paramgroup[currentStatus.current_caninchannel]
}
}
}
else if (configPage9.enable_canbus == 2) // can via internal can module
{
sendCancommand(3,configPage9.speeduino_tsCanId,currentStatus.current_caninchannel,0,configPage9.caninput_source_can_address[currentStatus.current_caninchannel]); //send via localcanbus the command for data from paramgroup[currentStatus.current_caninchannel]
}
}
}
else if ((configPage9.caninput_sel[currentStatus.current_caninchannel]&3) == 2) //if current input channel is enabled as analog local pin
{
//read analog channel specified
currentStatus.canin[currentStatus.current_caninchannel] = readAuxanalog(configPage9.Auxinpina[currentStatus.current_caninchannel]&127);
}
else if ((configPage9.caninput_sel[currentStatus.current_caninchannel]&3) == 3) //if current input channel is enabled as digital local pin
{
//read digital channel specified
currentStatus.canin[currentStatus.current_caninchannel] = readAuxdigital((configPage9.Auxinpinb[currentStatus.current_caninchannel]&127)+1);
}
}
#endif
vvtControl();
idleControl(); //Perform any idle related actions. Even at higher frequencies, running 4x per second is sufficient.

View File

@ -56,8 +56,8 @@ Current layout of EEPROM data (Version 3) is as follows (All sizes are in bytes)
| 1441 |2 | X and Y size4 |
| 1443 |36 | PAGE 9 MAP4 |
| 1479 |6 | X and Y Bins4 |
| 1500 |128 | CANBUS config and data (Table 10_) |
| 1628 |192 | Table 11 - General settings |
| 1500 |192 | CANBUS config and data (Table 10_) |
| 1692 |192 | Table 11 - General settings |
| |
| 2559 |512 | Calibration data (O2) |
| 3071 |512 | Calibration data (IAT) |
@ -127,9 +127,9 @@ Current layout of EEPROM data (Version 3) is as follows (All sizes are in bytes)
#define EEPROM_CONFIG8_XBINS4 1689
#define EEPROM_CONFIG8_YBINS4 1695
#define EEPROM_CONFIG9_START 1710
#define EEPROM_CONFIG9_END 1838
#define EEPROM_CONFIG10_START 1838
#define EEPROM_CONFIG10_END 2030
#define EEPROM_CONFIG9_END 1902
#define EEPROM_CONFIG10_START 1902
#define EEPROM_CONFIG10_END 2094
//Calibration data is stored at the end of the EEPROM (This is in case any further calibration tables are needed as they are large blocks)
#define EEPROM_LAST_BARO 2558

View File

@ -353,7 +353,7 @@ void writeConfig(byte tableNum)
case canbusPage:
/*---------------------------------------------------
| Config page 10 (See storage.h for data layout)
| 128 byte long config table
| 192 byte long config table
-----------------------------------------------------*/
pnt_configPage = (byte *)&configPage9; //Create a pointer to Page 10 in memory
for(int x=EEPROM_CONFIG9_START; x<EEPROM_CONFIG9_END; x++)