@@ -156,92 +156,142 @@ def get_gpio_af_numF1(pintofind, iptofind):
156
156
return mygpioaf
157
157
158
158
159
+ # Return 0 if pin/signal not already in the list
160
+ def isPinAndSignalInList (pin , signal , lst ):
161
+ return len ([item for item in lst if item [0 ] == pin and item [2 ] == signal ])
162
+
163
+
159
164
def store_pin (pin , name ):
165
+ if pin in [p [0 ] for p in io_list ]:
166
+ return
160
167
# store pin I/O
161
168
p = [pin , name ]
162
- io_list .append (p )
169
+ if p not in io_list :
170
+ io_list .append (p )
163
171
164
172
165
173
# function to store ADC list
166
174
def store_adc (pin , name , signal ):
175
+ if isPinAndSignalInList (pin , signal , adclist ):
176
+ return
167
177
adclist .append ([pin , name , signal ])
168
178
169
179
170
180
# function to store DAC list
171
181
def store_dac (pin , name , signal ):
182
+ if isPinAndSignalInList (pin , signal , daclist ):
183
+ return
172
184
daclist .append ([pin , name , signal ])
173
185
174
186
175
187
# function to store I2C list
176
188
def store_i2c (pin , name , signal ):
177
189
# is it SDA or SCL ?
178
190
if "_SCL" in signal :
191
+ if isPinAndSignalInList (pin , signal , i2cscl_list ):
192
+ return
179
193
i2cscl_list .append ([pin , name , signal ])
180
194
if "_SDA" in signal :
195
+ if isPinAndSignalInList (pin , signal , i2csda_list ):
196
+ return
181
197
i2csda_list .append ([pin , name , signal ])
182
198
183
199
184
200
# function to store timers
185
201
def store_pwm (pin , name , signal ):
186
202
if "_CH" in signal :
203
+ if isPinAndSignalInList (pin , signal , pwm_list ):
204
+ return
187
205
pwm_list .append ([pin , name , signal ])
188
206
189
207
190
208
# function to store Uart pins
191
209
def store_uart (pin , name , signal ):
192
210
if "_TX" in signal :
211
+ if isPinAndSignalInList (pin , signal , uarttx_list ):
212
+ return
193
213
uarttx_list .append ([pin , name , signal ])
194
214
if "_RX" in signal :
215
+ if isPinAndSignalInList (pin , signal , uartrx_list ):
216
+ return
195
217
uartrx_list .append ([pin , name , signal ])
196
218
if "_CTS" in signal :
219
+ if isPinAndSignalInList (pin , signal , uartcts_list ):
220
+ return
197
221
uartcts_list .append ([pin , name , signal ])
198
222
if "_RTS" in signal :
223
+ if isPinAndSignalInList (pin , signal , uartrts_list ):
224
+ return
199
225
uartrts_list .append ([pin , name , signal ])
200
226
201
227
202
228
# function to store SPI pins
203
229
def store_spi (pin , name , signal ):
204
230
if "_MISO" in signal :
231
+ if isPinAndSignalInList (pin , signal , spimiso_list ):
232
+ return
205
233
spimiso_list .append ([pin , name , signal ])
206
234
if "_MOSI" in signal :
235
+ if isPinAndSignalInList (pin , signal , spimosi_list ):
236
+ return
207
237
spimosi_list .append ([pin , name , signal ])
208
238
if "_SCK" in signal :
239
+ if isPinAndSignalInList (pin , signal , spisclk_list ):
240
+ return
209
241
spisclk_list .append ([pin , name , signal ])
210
242
if "_NSS" in signal :
243
+ if isPinAndSignalInList (pin , signal , spissel_list ):
244
+ return
211
245
spissel_list .append ([pin , name , signal ])
212
246
213
247
214
248
# function to store CAN pins
215
249
def store_can (pin , name , signal ):
216
250
if "_RX" in signal :
251
+ if isPinAndSignalInList (pin , signal , canrd_list ):
252
+ return
217
253
canrd_list .append ([pin , name , signal ])
218
254
if "_TX" in signal :
255
+ if isPinAndSignalInList (pin , signal , cantd_list ):
256
+ return
219
257
cantd_list .append ([pin , name , signal ])
220
258
221
259
222
260
# function to store ETH list
223
261
def store_eth (pin , name , signal ):
262
+ if isPinAndSignalInList (pin , signal , eth_list ):
263
+ return
224
264
eth_list .append ([pin , name , signal ])
225
265
226
266
227
267
# function to store QSPI pins
228
268
def store_qspi (pin , name , signal ):
269
+ if isPinAndSignalInList (pin , signal , qspi_list ):
270
+ return
229
271
qspi_list .append ([pin , name , signal ])
230
272
231
273
232
274
# function to store SYS pins
233
275
def store_sys (pin , name , signal ):
234
276
if "_WKUP" in signal :
277
+ if isPinAndSignalInList (pin , signal , syswkup_list ):
278
+ return
235
279
syswkup_list .append ([pin , name , signal ])
236
280
237
281
238
282
# function to store USB pins
239
283
def store_usb (pin , name , signal ):
240
284
if "OTG" not in signal :
285
+ if isPinAndSignalInList (pin , signal , usb_list ):
286
+ return
241
287
usb_list .append ([pin , name , signal ])
242
288
if signal .startswith ("USB_OTG_FS" ):
289
+ if isPinAndSignalInList (pin , signal , usb_otgfs_list ):
290
+ return
243
291
usb_otgfs_list .append ([pin , name , signal ])
244
292
if signal .startswith ("USB_OTG_HS" ):
293
+ if isPinAndSignalInList (pin , signal , usb_otghs_list ):
294
+ return
245
295
usb_otghs_list .append ([pin , name , signal ])
246
296
247
297
@@ -944,7 +994,7 @@ def parse_pins():
944
994
print (" * I/O pins found: %i" % nb_pin )
945
995
# io_list.sort(key=natural_sortkey)
946
996
# for io in io_list:
947
- # print(io[1])
997
+ # print(io[0] + ", " + io[ 1])
948
998
print ("done\n " )
949
999
clean_all_lists ()
950
1000
0 commit comments