Skip to content

Commit 10e2664

Browse files
committed
[genpinmap] Add HAL HCD module for USB
stm32duino/Arduino_Core_STM32#1196 Signed-off-by: Frederic Pillon <[email protected]>
1 parent 2fce284 commit 10e2664

File tree

1 file changed

+49
-29
lines changed

1 file changed

+49
-29
lines changed

src/genpinmap/genpinmap_arduino.py

+49-29
Original file line numberDiff line numberDiff line change
@@ -323,51 +323,57 @@ def print_header():
323323

324324

325325
def print_all_lists():
326-
if print_list_header("ADC", "ADC", "ADC", adclist):
326+
if print_list_header("ADC", "ADC", ["ADC"], adclist):
327327
print_adc()
328-
if print_list_header("DAC", "DAC", "DAC", daclist):
328+
if print_list_header("DAC", "DAC", ["DAC"], daclist):
329329
print_dac()
330-
if print_list_header("I2C", "I2C_SDA", "I2C", i2csda_list, i2cscl_list):
330+
if print_list_header("I2C", "I2C_SDA", ["I2C"], i2csda_list, i2cscl_list):
331331
print_i2c(i2csda_list)
332-
if print_list_header("", "I2C_SCL", "I2C", i2cscl_list):
332+
if print_list_header("", "I2C_SCL", ["I2C"], i2cscl_list):
333333
print_i2c(i2cscl_list)
334-
if print_list_header("PWM", "PWM", "TIM", pwm_list):
334+
if print_list_header("PWM", "PWM", ["TIM"], pwm_list):
335335
print_pwm()
336336
if print_list_header(
337337
"SERIAL",
338338
"UART_TX",
339-
"UART",
339+
["UART"],
340340
uarttx_list,
341341
uartrx_list,
342342
uartrts_list,
343343
uartcts_list,
344344
):
345345
print_uart(uarttx_list)
346-
if print_list_header("", "UART_RX", "UART", uartrx_list):
346+
if print_list_header("", "UART_RX", ["UART"], uartrx_list):
347347
print_uart(uartrx_list)
348-
if print_list_header("", "UART_RTS", "UART", uartrts_list):
348+
if print_list_header("", "UART_RTS", ["UART"], uartrts_list):
349349
print_uart(uartrts_list)
350-
if print_list_header("", "UART_CTS", "UART", uartcts_list):
350+
if print_list_header("", "UART_CTS", ["UART"], uartcts_list):
351351
print_uart(uartcts_list)
352352
if print_list_header(
353-
"SPI", "SPI_MOSI", "SPI", spimosi_list, spimiso_list, spisclk_list, spissel_list
353+
"SPI",
354+
"SPI_MOSI",
355+
["SPI"],
356+
spimosi_list,
357+
spimiso_list,
358+
spisclk_list,
359+
spissel_list,
354360
):
355361
print_spi(spimosi_list)
356-
if print_list_header("", "SPI_MISO", "SPI", spimiso_list):
362+
if print_list_header("", "SPI_MISO", ["SPI"], spimiso_list):
357363
print_spi(spimiso_list)
358-
if print_list_header("", "SPI_SCLK", "SPI", spisclk_list):
364+
if print_list_header("", "SPI_SCLK", ["SPI"], spisclk_list):
359365
print_spi(spisclk_list)
360-
if print_list_header("", "SPI_SSEL", "SPI", spissel_list):
366+
if print_list_header("", "SPI_SSEL", ["SPI"], spissel_list):
361367
print_spi(spissel_list)
362368
if len(canrd_list) and "FDCAN" in canrd_list[0][2]:
363369
canname = "FDCAN"
364370
else:
365371
canname = "CAN"
366-
if print_list_header(canname, "CAN_RD", canname, canrd_list, cantd_list):
372+
if print_list_header(canname, "CAN_RD", [canname], canrd_list, cantd_list):
367373
print_can(canrd_list)
368-
if print_list_header("", "CAN_TD", canname, cantd_list):
374+
if print_list_header("", "CAN_TD", [canname], cantd_list):
369375
print_can(cantd_list)
370-
if print_list_header("ETHERNET", "Ethernet", "ETH", eth_list):
376+
if print_list_header("ETHERNET", "Ethernet", ["ETH"], eth_list):
371377
print_eth()
372378
inst = "QUADSPI"
373379
mod = "QSPI"
@@ -377,7 +383,7 @@ def print_all_lists():
377383
if print_list_header(
378384
inst,
379385
inst + "_DATA0",
380-
mod,
386+
[mod],
381387
quadspidata0_list,
382388
quadspidata1_list,
383389
quadspidata2_list,
@@ -386,23 +392,25 @@ def print_all_lists():
386392
quadspissel_list,
387393
):
388394
print_qspi(quadspidata0_list)
389-
if print_list_header("", inst + "_DATA1", mod, quadspidata1_list):
395+
if print_list_header("", inst + "_DATA1", [mod], quadspidata1_list):
390396
print_qspi(quadspidata1_list)
391-
if print_list_header("", inst + "_DATA2", mod, quadspidata2_list):
397+
if print_list_header("", inst + "_DATA2", [mod], quadspidata2_list):
392398
print_qspi(quadspidata2_list)
393-
if print_list_header("", inst + "_DATA3", mod, quadspidata3_list):
399+
if print_list_header("", inst + "_DATA3", [mod], quadspidata3_list):
394400
print_qspi(quadspidata3_list)
395-
if print_list_header("", inst + "_SCLK", mod, quadspisclk_list):
401+
if print_list_header("", inst + "_SCLK", [mod], quadspisclk_list):
396402
print_qspi(quadspisclk_list)
397-
if print_list_header("", inst + "_SSEL", mod, quadspissel_list):
403+
if print_list_header("", inst + "_SSEL", [mod], quadspissel_list):
398404
print_qspi(quadspissel_list)
399-
if print_list_header("USB", "USB", "PCD", usb_list, usb_otgfs_list, usb_otghs_list):
405+
if print_list_header(
406+
"USB", "USB", ["PCD", "HCD"], usb_list, usb_otgfs_list, usb_otghs_list
407+
):
400408
print_usb(usb_list)
401-
if print_list_header("", "USB_OTG_FS", "PCD", usb_otgfs_list):
409+
if print_list_header("", "USB_OTG_FS", ["PCD", "HCD"], usb_otgfs_list):
402410
print_usb(usb_otgfs_list)
403-
if print_list_header("", "USB_OTG_HS", "PCD", usb_otghs_list):
411+
if print_list_header("", "USB_OTG_HS", ["PCD", "HCD"], usb_otghs_list):
404412
print_usb(usb_otghs_list)
405-
if print_list_header("SD", "SD", "SD", sd_list):
413+
if print_list_header("SD", "SD", ["SD"], sd_list):
406414
print_sd()
407415
# Print specific PinNames in header file
408416
print_dualpad_h()
@@ -411,7 +419,7 @@ def print_all_lists():
411419
print_usb_h()
412420

413421

414-
def print_list_header(feature, lname, switch, *argslst):
422+
def print_list_header(feature, lname, lswitch, *argslst):
415423
lenlst = 0
416424
for lst in argslst:
417425
lenlst += len(lst)
@@ -427,11 +435,23 @@ def print_list_header(feature, lname, switch, *argslst):
427435
s = ""
428436
# Only for the first list
429437
if argslst[0]:
438+
if len(lswitch) == 1:
439+
s += """
440+
#ifdef HAL_{}_MODULE_ENABLED""".format(
441+
lswitch[0]
442+
)
443+
else:
444+
s += """
445+
#if defined(HAL_{}_MODULE_ENABLED)""".format(
446+
lswitch[0]
447+
)
448+
for mod in lswitch[1:]:
449+
s += " || defined(HAL_{}_MODULE_ENABLED)".format(mod)
450+
430451
s += """
431-
#ifdef HAL_{}_MODULE_ENABLED
432452
WEAK const PinMap PinMap_{}[] = {{
433453
""".format(
434-
switch, lname
454+
lname
435455
)
436456
else:
437457
# No data for the feature or the list

0 commit comments

Comments
 (0)