99
1010
1111struct netStruct net[MAX_NETS ] = { // these are the special function nets that will always be made
12- // netNumber, ,netName ,memberNodes[] ,memberBridges[][2] ,specialFunction ,intsctNet[] ,doNotIntersectNodes[] ,priority
12+ // netNumber, ,netName ,memberNodes[] ,memberBridges[][2] ,specialFunction ,intsctNet[] ,doNotIntersectNodes[] ,priority (unused)
1313 { 127 ," Empty Net" ,{EMPTY_NET } ,{{}} ,EMPTY_NET ,{} ,{EMPTY_NET ,EMPTY_NET ,EMPTY_NET ,EMPTY_NET ,EMPTY_NET ,EMPTY_NET ,EMPTY_NET } , 0 },
14- { 1 ," GND" ,{GND } ,{{}} ,GND ,{} ,{SUPPLY_3V3 ,SUPPLY_5V ,DAC0_5V , DAC1_8V } , 1 },
15- { 2 ," +5V" ,{SUPPLY_5V } ,{{}} ,SUPPLY_5V ,{} ,{GND ,SUPPLY_3V3 ,DAC0_5V , DAC1_8V } , 1 },
16- { 3 ," +3.3V" ,{SUPPLY_3V3 } ,{{}} ,SUPPLY_3V3 ,{} ,{GND ,SUPPLY_5V ,DAC0_5V , DAC1_8V } , 1 },
17- { 4 ," DAC 0" ,{DAC0_5V } ,{{}} ,DAC0_5V ,{} ,{GND ,SUPPLY_5V ,SUPPLY_3V3 ,DAC1_8V } , 1 },
18- { 5 ," DAC 1" ,{DAC1_8V } ,{{}} ,DAC1_8V ,{} ,{GND ,SUPPLY_5V ,SUPPLY_3V3 ,DAC0_5V } , 1 },
19- { 6 ," I Sense +" ,{CURRENT_SENSE_PLUS } ,{{}} ,CURRENT_SENSE_PLUS ,{} ,{CURRENT_SENSE_MINUS } , 2 },
20- { 7 ," I Sense -" ,{CURRENT_SENSE_MINUS } ,{{}} ,CURRENT_SENSE_MINUS ,{} ,{CURRENT_SENSE_PLUS } , 2 },
14+ { 1 ," GND" ,{GND } ,{{}} ,GND ,{} ,{SUPPLY_3V3 ,SUPPLY_5V ,DAC0 , DAC1 } , 1 },
15+ { 2 ," +5V" ,{SUPPLY_5V } ,{{}} ,SUPPLY_5V ,{} ,{GND ,SUPPLY_3V3 ,DAC0 , DAC1 } , 1 },
16+ { 3 ," +3.3V" ,{SUPPLY_3V3 } ,{{}} ,SUPPLY_3V3 ,{} ,{GND ,SUPPLY_5V ,DAC0 , DAC1 } , 1 },
17+ { 4 ," DAC 0" ,{DAC0 } ,{{}} ,DAC0 ,{} ,{GND ,SUPPLY_5V ,SUPPLY_3V3 ,DAC1 } , 1 },
18+ { 5 ," DAC 1" ,{DAC1 } ,{{}} ,DAC1 ,{} ,{GND ,SUPPLY_5V ,SUPPLY_3V3 ,DAC0 } , 1 },
19+ { 6 ," I Sense +" ,{ISENSE_PLUS } ,{{}} ,ISENSE_PLUS ,{} ,{ISENSE_MINUS } , 2 },
20+ { 7 ," I Sense -" ,{ISENSE_MINUS } ,{{}} ,ISENSE_MINUS ,{} ,{ISENSE_PLUS } , 2 },
2121};
2222
2323char *netNameConstants[MAX_NETS] = {(char*)"Net 0",(char*)"Net 1",(char*)"Net 2",(char*)"Net 3",(char*)"Net 4",(char*)"Net 5",(char*)"Net 6",(char*)"Net 7",(char*)"Net 8",(char*)"Net 9",(char*)"Net 10",(char*)"Net 11",(char*)"Net 12",(char*)"Net 13",(char*)"Net 14",(char*)"Net 15",(char*)"Net 16",(char*)"Net 17",(char*)"Net 18",(char*)"Net 19",(char*)"Net 20",(char*)"Net 21",(char*)"Net 22",(char*)"Net 23",(char*)"Net 24",(char*)"Net 25",(char*)"Net 26",(char*)"Net 27",(char*)"Net 28",(char*)"Net 29",(char*)"Net 30",(char*)"Net 31",(char*)"Net 32",(char*)"Net 33",(char*)"Net 34",(char*)"Net 35",(char*)"Net 36",(char*)"Net 37",(char*)"Net 38",(char*)"Net 39",(char*)"Net 40",(char*)"Net 41",(char*)"Net 42",(char*)"Net 43",(char*)"Net 44",(char*)"Net 45",(char*)"Net 46",(char*)"Net 47",(char*)"Net 48",(char*)"Net 49",(char*)"Net 50",(char*)"Net 51",(char*)"Net 52",(char*)"Net 53",(char*)"Net 54",(char*)"Net 55",(char*)"Net 56",(char*)"Net 57",(char*)"Net 58",(char*)"Net 59",(char*)"Net 60",(char*)"Net 61",(char*)"Net 62"};//,{"Net 63",(char*)"Net 64",(char*)"Net 65",(char*)"Net 66",(char*)"Net 67",(char*)"Net 68",(char*)"Net 69",(char*)"Net 70",(char*)"Net 71",(char*)"Net 72",(char*)"Net 73",(char*)"Net 74",(char*)"Net 75",(char*)"Net 76",(char*)"Net 77",(char*)"Net 78",(char*)"Net 79",(char*)"Net 80",(char*)"Net 81",(char*)"Net 82",(char*)"Net 83",(char*)"Net 84",(char*)"Net 85",(char*)"Net 86",(char*)"Net 87",(char*)"Net 88",(char*)"Net 89",(char*)"Net 90",(char*)"Net 91",(char*)"Net 92",(char*)"Net 93",(char*)"Net 94",(char*)"Net 95",(char*)"Net 96",(char*)"Net 97",(char*)"Net 98",(char*)"Net 99",(char*)"Net 100",(char*)"Net 101",(char*)"Net 102",(char*)"Net 103",(char*)"Net 104",(char*)"Net 105",(char*)"Net 106",(char*)"Net 107",(char*)"Net 108",(char*)"Net 109",(char*)"Net 110",(char*)"Net 111",(char*)"Net 112",(char*)"Net 113",(char*)"Net 114",(char*)"Net 115",(char*)"Net 116",(char*)"Net 117",(char*)"Net 118",(char*)"Net 119",(char*)"Net 120",(char*)"Net 121",(char*)"Net 122",(char*)"Net 123",(char*)"Net 124",(char*)"Net 125",(char*)"Net 126",(char*)"Net 127"}};
@@ -96,25 +96,25 @@ struct chipStatus ch[12] = {
9696 {8 ,' I' ,
9797 {-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 }, // x status
9898 {-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 }, // y status
99- {NANO_A0 , NANO_D1 , NANO_A2 , NANO_D3 , NANO_A4 , NANO_D5 , NANO_A6 , NANO_D7 , NANO_D11 , NANO_D9 , NANO_D13 , NANO_RESET , DAC0_5V , ADC0_5V , SUPPLY_3V3 , GND },
99+ {NANO_A0 , NANO_D1 , NANO_A2 , NANO_D3 , NANO_A4 , NANO_D5 , NANO_A6 , NANO_D7 , NANO_D11 , NANO_D9 , NANO_D13 , NANO_RESET , DAC0 , ADC0 , SUPPLY_3V3 , GND },
100100 {CHIP_A ,CHIP_B ,CHIP_C ,CHIP_D ,CHIP_E ,CHIP_F ,CHIP_G ,CHIP_H }},
101101
102102 {9 ,' J' ,
103103 {-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 }, // x status
104104 {-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 }, // y status
105- {NANO_D0 , NANO_A1 , NANO_D2 , NANO_A3 , NANO_D4 , NANO_A5 , NANO_D6 , NANO_A7 , NANO_D8 , NANO_D10 , NANO_D12 , NANO_AREF , DAC1_8V , ADC1_5V , SUPPLY_5V , GND },
105+ {NANO_D0 , NANO_A1 , NANO_D2 , NANO_A3 , NANO_D4 , NANO_A5 , NANO_D6 , NANO_A7 , NANO_D8 , NANO_D10 , NANO_D12 , NANO_AREF , DAC1 , ADC1 , SUPPLY_5V , GND },
106106 {CHIP_A ,CHIP_B ,CHIP_C ,CHIP_D ,CHIP_E ,CHIP_F ,CHIP_G ,CHIP_H }},
107107
108108 {10 ,' K' ,
109109 {-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 }, // x status
110110 {-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 }, // y status
111- {NANO_A0 , NANO_A1 , NANO_A2 , NANO_A3 , NANO_D2 , NANO_D3 , NANO_D4 , NANO_D5 , NANO_D6 , NANO_D7 , NANO_D8 , NANO_D9 , NANO_D10 , NANO_D11 , NANO_D12 , ADC2_5V },
111+ {NANO_A0 , NANO_A1 , NANO_A2 , NANO_A3 , NANO_D2 , NANO_D3 , NANO_D4 , NANO_D5 , NANO_D6 , NANO_D7 , NANO_D8 , NANO_D9 , NANO_D10 , NANO_D11 , NANO_D12 , ADC2 },
112112 {CHIP_A ,CHIP_B ,CHIP_C ,CHIP_D ,CHIP_E ,CHIP_F ,CHIP_G ,CHIP_H }},
113113
114114 {11 ,' L' ,
115115 {-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 }, // x status
116116 {-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 ,-1 }, // y status
117- {CURRENT_SENSE_MINUS , CURRENT_SENSE_PLUS , ADC0_5V , ADC1_5V , ADC2_5V , ADC3_8V , DAC1_8V , DAC0_5V , TOP_1 , TOP_30 , BOTTOM_1 , BOTTOM_30 , RP_UART_TX , RP_UART_RX , SUPPLY_5V , RP_GPIO_0 },
117+ {ISENSE_MINUS , ISENSE_PLUS , ADC0 , ADC1 , ADC2 , ADC3 , DAC1 , DAC0 , TOP_1 , TOP_30 , BOTTOM_1 , BOTTOM_30 , RP_UART_TX , RP_UART_RX , SUPPLY_5V , RP_GPIO_0 },
118118 {CHIP_A ,CHIP_B ,CHIP_C ,CHIP_D ,CHIP_E ,CHIP_F ,CHIP_G ,CHIP_H }}
119119 };
120120
@@ -151,7 +151,7 @@ struct nanoStatus nano = { //there's only one of these so ill declare and inita
151151// xMapIJKL[] will tell you the X pin that it's connected to on that sf chip
152152// xStatusIJKL[] says whether that x pin is being used (this should be the same as mt[8-10].xMap[] if theyre all stacked on top of each other)
153153// I haven't decided whether to make this just a flag, or store that signal's destination
154- {NANO_D0 , NANO_D1 , NANO_D2 , NANO_D3 , NANO_D4 , NANO_D5 , NANO_D6 , NANO_D7 , NANO_D8 , NANO_D9 , NANO_D10 , NANO_D11 , NANO_D12 , NANO_D13 , NANO_RESET , NANO_AREF , NANO_A0 , NANO_A1 , NANO_A2 , NANO_A3 , NANO_A4 , NANO_A5 , NANO_A6 , NANO_A7 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 ,10 ,11 ,12 ,13 ,14 ,15 ,16 ,17 ,18 ,19 ,20 ,21 ,22 ,23 ,24 ,GND ,101 ,102 ,SUPPLY_3V3 ,104 ,SUPPLY_5V ,DAC0_5V , DAC1_8V , CURRENT_SENSE_PLUS , CURRENT_SENSE_MINUS }
154+ {NANO_D0 , NANO_D1 , NANO_D2 , NANO_D3 , NANO_D4 , NANO_D5 , NANO_D6 , NANO_D7 , NANO_D8 , NANO_D9 , NANO_D10 , NANO_D11 , NANO_D12 , NANO_D13 , NANO_RESET , NANO_AREF , NANO_A0 , NANO_A1 , NANO_A2 , NANO_A3 , NANO_A4 , NANO_A5 , NANO_A6 , NANO_A7 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 ,10 ,11 ,12 ,13 ,14 ,15 ,16 ,17 ,18 ,19 ,20 ,21 ,22 ,23 ,24 ,GND ,101 ,102 ,SUPPLY_3V3 ,104 ,SUPPLY_5V ,DAC0 , DAC1 , ISENSE_PLUS , ISENSE_MINUS }
155155
156156};
157157
@@ -172,6 +172,8 @@ struct pathStruct path[MAX_BRIDGES]; // node1, node2, net, chip[3], x[3], y[3]
172172 {" INA_P" , 108 },
173173 {" I_N" , 109 },
174174 {" I_P" , 108 },
175+ {" ISENSE_MINUS" , 109 },
176+ {" ISENSE_PLUS" , 108 },
175177 {" CURRENT_SENSE_MINUS" , 109 },
176178 {" CURRENT_SENSE_PLUS" , 108 },
177179 {" EMPTY_NET" , 127 },
@@ -275,7 +277,7 @@ int8_t xMapL[24] = { -1 , -1 , -1 , -1 , -1 , -1 , -1
275277// xMapIJKL[] will tell you the X pin that it's connected to on that sf chip
276278// xStatusIJKL[] says whether that x pin is being used (this should be the same as mt[8-10].xMap[] if theyre all stacked on top of each other)
277279// I haven't decided whether to make this just a flag, or store that signal's destination
278- const int8_t reversePinMap[110] = {NANO_D0, NANO_D1, NANO_D2, NANO_D3, NANO_D4, NANO_D5, NANO_D6, NANO_D7, NANO_D8, NANO_D9, NANO_D10, NANO_D11, NANO_D12, NANO_D13, NANO_RESET, NANO_AREF, NANO_A0, NANO_A1, NANO_A2, NANO_A3, NANO_A4, NANO_A5, NANO_A6, NANO_A7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,GND,101,102,SUPPLY_3V3,104,SUPPLY_5V,DAC0_5V ,DAC1_8V,CURRENT_SENSE_PLUS,CURRENT_SENSE_MINUS };
280+ const int8_t reversePinMap[110] = {NANO_D0, NANO_D1, NANO_D2, NANO_D3, NANO_D4, NANO_D5, NANO_D6, NANO_D7, NANO_D8, NANO_D9, NANO_D10, NANO_D11, NANO_D12, NANO_D13, NANO_RESET, NANO_AREF, NANO_A0, NANO_A1, NANO_A2, NANO_A3, NANO_A4, NANO_A5, NANO_A6, NANO_A7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,GND,101,102,SUPPLY_3V3,104,SUPPLY_5V,DAC0 ,DAC1_8V,ISENSE_PLUS,ISENSE_MINUS };
279281
280282};
281283
@@ -362,10 +364,10 @@ const int8_t yConnectionMapG[8] = {-1, 47, 48, 49, 50, 51, 52, 53}; //
362364const int8_t yConnectionMapH[8] = {-1, 54, 55, 56, 57, 58, 59, 60}; //
363365
364366
365- const int8_t xConnectionMapI[16] = {NANO_A0, NANO_D1, NANO_A2, NANO_D3, NANO_A4, NANO_D5, NANO_A6, NANO_D7, NANO_D11, NANO_D9, NANO_D13, NANO_RESET, DAC0_5V, ADC0_5V , SUPPLY_3V3, GND};
367+ const int8_t xConnectionMapI[16] = {NANO_A0, NANO_D1, NANO_A2, NANO_D3, NANO_A4, NANO_D5, NANO_A6, NANO_D7, NANO_D11, NANO_D9, NANO_D13, NANO_RESET, DAC0, ADC0 , SUPPLY_3V3, GND};
366368const int8_t xConnectionMapJ[16] = {NANO_D0, NANO_A1, NANO_D2, NANO_A3, NANO_D4, NANO_A5, NANO_D6, NANO_A7, NANO_D8, NANO_D10, NANO_D12, NANO_AREF, DAC1_8V, ADC1_5V, SUPPLY_5V, GND};
367369const int8_t xConnectionMapK[16] = {NANO_A0, NANO_A1, NANO_A2, NANO_A3, NANO_A4, NANO_A5, NANO_A6, NANO_A7, NANO_D2, NANO_D3, NANO_D4, NANO_D5, NANO_D6, NANO_D7, NANO_D8, NANO_D9};
368- const int8_t xConnectionMapK[16] = {CURRENT_SENSE_MINUS, CURRENT_SENSE_PLUS, ADC0_5V , ADC1_5V, ADC2_5V, ADC3_8V , DAC1_8V, DAC0_5V , t1, t30, b1, b30, NANO_A4, NANO_A5, SUPPLY_5V, GND};
370+ const int8_t xConnectionMapK[16] = {ISENSE_MINUS, ISENSE_PLUS, ADC0 , ADC1_5V, ADC2_5V, ADC3 , DAC1_8V, DAC0 , t1, t30, b1, b30, NANO_A4, NANO_A5, SUPPLY_5V, GND};
369371
370372//nanoConnectionMap[0] is the list of pin numbers, [1] and [3] are which special function chips they're connected to, [2] and [4] is the X pin on that chip, -1 for none
371373
0 commit comments