Skip to content

Commit 7c57b30

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

File tree

1 file changed

+49
-29
lines changed

1 file changed

+49
-29
lines changed

Diff for: src/genpinmap/genpinmap_arduino.py

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

323323

324324
def print_all_lists():
325-
if print_list_header("ADC", "ADC", "ADC", adclist):
325+
if print_list_header("ADC", "ADC", ["ADC"], adclist):
326326
print_adc()
327-
if print_list_header("DAC", "DAC", "DAC", daclist):
327+
if print_list_header("DAC", "DAC", ["DAC"], daclist):
328328
print_dac()
329-
if print_list_header("I2C", "I2C_SDA", "I2C", i2csda_list, i2cscl_list):
329+
if print_list_header("I2C", "I2C_SDA", ["I2C"], i2csda_list, i2cscl_list):
330330
print_i2c(i2csda_list)
331-
if print_list_header("", "I2C_SCL", "I2C", i2cscl_list):
331+
if print_list_header("", "I2C_SCL", ["I2C"], i2cscl_list):
332332
print_i2c(i2cscl_list)
333-
if print_list_header("PWM", "PWM", "TIM", pwm_list):
333+
if print_list_header("PWM", "PWM", ["TIM"], pwm_list):
334334
print_pwm()
335335
if print_list_header(
336336
"SERIAL",
337337
"UART_TX",
338-
"UART",
338+
["UART"],
339339
uarttx_list,
340340
uartrx_list,
341341
uartrts_list,
342342
uartcts_list,
343343
):
344344
print_uart(uarttx_list)
345-
if print_list_header("", "UART_RX", "UART", uartrx_list):
345+
if print_list_header("", "UART_RX", ["UART"], uartrx_list):
346346
print_uart(uartrx_list)
347-
if print_list_header("", "UART_RTS", "UART", uartrts_list):
347+
if print_list_header("", "UART_RTS", ["UART"], uartrts_list):
348348
print_uart(uartrts_list)
349-
if print_list_header("", "UART_CTS", "UART", uartcts_list):
349+
if print_list_header("", "UART_CTS", ["UART"], uartcts_list):
350350
print_uart(uartcts_list)
351351
if print_list_header(
352-
"SPI", "SPI_MOSI", "SPI", spimosi_list, spimiso_list, spisclk_list, spissel_list
352+
"SPI",
353+
"SPI_MOSI",
354+
["SPI"],
355+
spimosi_list,
356+
spimiso_list,
357+
spisclk_list,
358+
spissel_list,
353359
):
354360
print_spi(spimosi_list)
355-
if print_list_header("", "SPI_MISO", "SPI", spimiso_list):
361+
if print_list_header("", "SPI_MISO", ["SPI"], spimiso_list):
356362
print_spi(spimiso_list)
357-
if print_list_header("", "SPI_SCLK", "SPI", spisclk_list):
363+
if print_list_header("", "SPI_SCLK", ["SPI"], spisclk_list):
358364
print_spi(spisclk_list)
359-
if print_list_header("", "SPI_SSEL", "SPI", spissel_list):
365+
if print_list_header("", "SPI_SSEL", ["SPI"], spissel_list):
360366
print_spi(spissel_list)
361367
if len(canrd_list) and "FDCAN" in canrd_list[0][2]:
362368
canname = "FDCAN"
363369
else:
364370
canname = "CAN"
365-
if print_list_header(canname, "CAN_RD", canname, canrd_list, cantd_list):
371+
if print_list_header(canname, "CAN_RD", [canname], canrd_list, cantd_list):
366372
print_can(canrd_list)
367-
if print_list_header("", "CAN_TD", canname, cantd_list):
373+
if print_list_header("", "CAN_TD", [canname], cantd_list):
368374
print_can(cantd_list)
369-
if print_list_header("ETHERNET", "Ethernet", "ETH", eth_list):
375+
if print_list_header("ETHERNET", "Ethernet", ["ETH"], eth_list):
370376
print_eth()
371377
inst = "QUADSPI"
372378
mod = "QSPI"
@@ -376,7 +382,7 @@ def print_all_lists():
376382
if print_list_header(
377383
inst,
378384
inst + "_DATA0",
379-
mod,
385+
[mod],
380386
quadspidata0_list,
381387
quadspidata1_list,
382388
quadspidata2_list,
@@ -385,23 +391,25 @@ def print_all_lists():
385391
quadspissel_list,
386392
):
387393
print_qspi(quadspidata0_list)
388-
if print_list_header("", inst + "_DATA1", mod, quadspidata1_list):
394+
if print_list_header("", inst + "_DATA1", [mod], quadspidata1_list):
389395
print_qspi(quadspidata1_list)
390-
if print_list_header("", inst + "_DATA2", mod, quadspidata2_list):
396+
if print_list_header("", inst + "_DATA2", [mod], quadspidata2_list):
391397
print_qspi(quadspidata2_list)
392-
if print_list_header("", inst + "_DATA3", mod, quadspidata3_list):
398+
if print_list_header("", inst + "_DATA3", [mod], quadspidata3_list):
393399
print_qspi(quadspidata3_list)
394-
if print_list_header("", inst + "_SCLK", mod, quadspisclk_list):
400+
if print_list_header("", inst + "_SCLK", [mod], quadspisclk_list):
395401
print_qspi(quadspisclk_list)
396-
if print_list_header("", inst + "_SSEL", mod, quadspissel_list):
402+
if print_list_header("", inst + "_SSEL", [mod], quadspissel_list):
397403
print_qspi(quadspissel_list)
398-
if print_list_header("USB", "USB", "PCD", usb_list, usb_otgfs_list, usb_otghs_list):
404+
if print_list_header(
405+
"USB", "USB", ["PCD", "HCD"], usb_list, usb_otgfs_list, usb_otghs_list
406+
):
399407
print_usb(usb_list)
400-
if print_list_header("", "USB_OTG_FS", "PCD", usb_otgfs_list):
408+
if print_list_header("", "USB_OTG_FS", ["PCD", "HCD"], usb_otgfs_list):
401409
print_usb(usb_otgfs_list)
402-
if print_list_header("", "USB_OTG_HS", "PCD", usb_otghs_list):
410+
if print_list_header("", "USB_OTG_HS", ["PCD", "HCD"], usb_otghs_list):
403411
print_usb(usb_otghs_list)
404-
if print_list_header("SD", "SD", "SD", sd_list):
412+
if print_list_header("SD", "SD", ["SD"], sd_list):
405413
print_sd()
406414
# Print specific PinNames in header file
407415
print_dualpad_h()
@@ -410,7 +418,7 @@ def print_all_lists():
410418
print_usb_h()
411419

412420

413-
def print_list_header(feature, lname, switch, *argslst):
421+
def print_list_header(feature, lname, lswitch, *argslst):
414422
lenlst = 0
415423
for lst in argslst:
416424
lenlst += len(lst)
@@ -426,11 +434,23 @@ def print_list_header(feature, lname, switch, *argslst):
426434
s = ""
427435
# Only for the first list
428436
if argslst[0]:
437+
if len(lswitch) == 1:
438+
s += """
439+
#ifdef HAL_{}_MODULE_ENABLED""".format(
440+
lswitch[0]
441+
)
442+
else:
443+
s += """
444+
#if defined(HAL_{}_MODULE_ENABLED)""".format(
445+
lswitch[0]
446+
)
447+
for mod in lswitch[1:]:
448+
s += " || defined(HAL_{}_MODULE_ENABLED)".format(mod)
449+
429450
s += """
430-
#ifdef HAL_{}_MODULE_ENABLED
431451
WEAK const PinMap PinMap_{}[] = {{
432452
""".format(
433-
switch, lname
453+
lname
434454
)
435455
else:
436456
# No data for the feature or the list

0 commit comments

Comments
 (0)