Skip to content

Commit 352c99a

Browse files
seeersfpistm
andcommitted
Add Generic F042Cx
Supersede stm32duino#1103 Signed-off-by: seeers <[email protected]> Co-authored-by: Frederic.Pillon <[email protected]>
1 parent 3a67bfc commit 352c99a

File tree

7 files changed

+836
-1
lines changed

7 files changed

+836
-1
lines changed

Diff for: README.md

+1
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,7 @@ User can add a STM32 based board following this [wiki](https://github.com/stm32d
156156
| :yellow_heart: | STM32F030F4 | Generic Board | **2.0.0** | |
157157
| :yellow_heart: | STM32F030R8 | Generic Board | **2.0.0** | |
158158
| :yellow_heart: | STM32F031K6T | Generic Board | **2.0.0** | |
159+
| :yellow_heart: | STM32F042C4<br>STM32F042C6 | Generic Board | **2.0.0** | |
159160
| :yellow_heart: | STM32F051K4U<br>STM32F051K6U<br>STM32F051K8U | Generic Board | **2.0.0** | |
160161
| :yellow_heart: | STM32F070CB | Generic Board | **2.0.0** | |
161162
| :yellow_heart: | STM32F072C8<br>STM32F072CB | Generic Board | **2.0.0** | |

Diff for: boards.txt

+25-1
Original file line numberDiff line numberDiff line change
@@ -818,7 +818,7 @@ GenF0.build.board=GenF0
818818
GenF0.build.mcu=cortex-m0
819819
GenF0.build.series=STM32F0xx
820820
GenF0.build.cmsis_lib_gcc=arm_cortexM0l_math
821-
GenF0.build.extra_flags=-D{build.product_line} {build.xSerial}
821+
GenF0.build.extra_flags=-D{build.product_line} {build.enable_usb} {build.xSerial}
822822

823823
# DEMO_F030F4 board
824824
GenF0.menu.pnum.DEMO_F030F4=STM32F030F4 Demo board (HSE 8Mhz)
@@ -876,6 +876,22 @@ GenF0.menu.pnum.GENERIC_F031K6T.build.board=GENERIC_F031K6T
876876
GenF0.menu.pnum.GENERIC_F031K6T.build.product_line=STM32F031x6
877877
GenF0.menu.pnum.GENERIC_F031K6T.build.variant=STM32F0xx/Generic_F031K6T
878878

879+
# Generic F042C4
880+
GenF0.menu.pnum.GENERIC_F042C4=Generic F042C4
881+
GenF0.menu.pnum.GENERIC_F042C4.upload.maximum_size=16384
882+
GenF0.menu.pnum.GENERIC_F042C4.upload.maximum_data_size=6144
883+
GenF0.menu.pnum.GENERIC_F042C4.build.board=GENERIC_F042C4
884+
GenF0.menu.pnum.GENERIC_F042C4.build.product_line=STM32F042x6
885+
GenF0.menu.pnum.GENERIC_F042C4.build.variant=STM32F0xx/Generic_F042Cx
886+
887+
# Generic F042C6
888+
GenF0.menu.pnum.GENERIC_F042C6=Generic F042C6
889+
GenF0.menu.pnum.GENERIC_F042C6.upload.maximum_size=32768
890+
GenF0.menu.pnum.GENERIC_F042C6.upload.maximum_data_size=6144
891+
GenF0.menu.pnum.GENERIC_F042C6.build.board=GENERIC_F042C6
892+
GenF0.menu.pnum.GENERIC_F042C6.build.product_line=STM32F042x6
893+
GenF0.menu.pnum.GENERIC_F042C6.build.variant=STM32F0xx/Generic_F042Cx
894+
879895
# Generic F051K4U
880896
GenF0.menu.pnum.GENERIC_F051K4U=Generic F051K4U
881897
GenF0.menu.pnum.GENERIC_F051K4U.upload.maximum_size=16384
@@ -2842,6 +2858,14 @@ Eval.menu.xusb.HS.build.usb_speed=-DUSE_USB_HS
28422858
Eval.menu.xusb.HSFS=High Speed in Full Speed mode
28432859
Eval.menu.xusb.HSFS.build.usb_speed=-DUSE_USB_HS -DUSE_USB_HS_IN_FS
28442860

2861+
GenF0.menu.usb.none=None
2862+
GenF0.menu.usb.CDCgen=CDC (generic 'Serial' supersede U(S)ART)
2863+
GenF0.menu.usb.CDCgen.build.enable_usb={build.usb_flags} -DUSBD_USE_CDC
2864+
GenF0.menu.usb.CDC=CDC (no generic 'Serial')
2865+
GenF0.menu.usb.CDC.build.enable_usb={build.usb_flags} -DUSBD_USE_CDC -DDISABLE_GENERIC_SERIALUSB
2866+
GenF0.menu.usb.HID=HID (keyboard and mouse)
2867+
GenF0.menu.usb.HID.build.enable_usb={build.usb_flags} -DUSBD_USE_HID_COMPOSITE
2868+
28452869
GenF1.menu.usb.none=None
28462870
GenF1.menu.usb.CDCgen=CDC (generic 'Serial' supersede U(S)ART)
28472871
GenF1.menu.usb.CDCgen.build.enable_usb={build.usb_flags} -DUSBD_USE_CDC

Diff for: variants/STM32F0xx/Generic_F042Cx/PeripheralPins.c

+234
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,234 @@
1+
/*
2+
*******************************************************************************
3+
* Copyright (c) 2021, STMicroelectronics
4+
* All rights reserved.
5+
*
6+
* This software component is licensed by ST under BSD 3-Clause license,
7+
* the "License"; You may not use this file except in compliance with the
8+
* License. You may obtain a copy of the License at:
9+
* opensource.org/licenses/BSD-3-Clause
10+
*
11+
*******************************************************************************
12+
*/
13+
/*
14+
* Automatically generated from STM32F042C(4-6)Tx.xml
15+
* CubeMX DB release 6.0.10
16+
*/
17+
#include "Arduino.h"
18+
#include "PeripheralPins.h"
19+
20+
/* =====
21+
* Notes:
22+
* - The pins mentioned Px_y_ALTz are alternative possibilities which use other
23+
* HW peripheral instances. You can use them the same way as any other "normal"
24+
* pin (i.e. analogWrite(PA7_ALT1, 128);).
25+
*
26+
* - Commented lines are alternative possibilities which are not used per default.
27+
* If you change them, you will have to know what you do
28+
* =====
29+
*/
30+
31+
//*** ADC ***
32+
33+
#ifdef HAL_ADC_MODULE_ENABLED
34+
WEAK const PinMap PinMap_ADC[] = {
35+
{PA_0, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 0, 0)}, // ADC_IN0
36+
{PA_1, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 1, 0)}, // ADC_IN1
37+
{PA_2, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 2, 0)}, // ADC_IN2
38+
{PA_3, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 3, 0)}, // ADC_IN3
39+
{PA_4, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 4, 0)}, // ADC_IN4
40+
{PA_5, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 5, 0)}, // ADC_IN5
41+
{PA_6, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 6, 0)}, // ADC_IN6
42+
{PA_7, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 7, 0)}, // ADC_IN7
43+
{PB_0, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 8, 0)}, // ADC_IN8
44+
{PB_1, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 9, 0)}, // ADC_IN9
45+
{NC, NP, 0}
46+
};
47+
#endif
48+
49+
//*** No DAC ***
50+
51+
//*** I2C ***
52+
53+
#ifdef HAL_I2C_MODULE_ENABLED
54+
WEAK const PinMap PinMap_I2C_SDA[] = {
55+
{PA_10, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C1)},
56+
{PA_12, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF5_I2C1)},
57+
{PB_7, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF1_I2C1)},
58+
{PB_9, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF1_I2C1)},
59+
{PB_11, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF1_I2C1)},
60+
{PB_14, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF_NONE)},
61+
{PF_0, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF1_I2C1)},
62+
{NC, NP, 0}
63+
};
64+
#endif
65+
66+
#ifdef HAL_I2C_MODULE_ENABLED
67+
WEAK const PinMap PinMap_I2C_SCL[] = {
68+
{PA_9, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C1)},
69+
{PA_11, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF5_I2C1)},
70+
{PB_6, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF1_I2C1)},
71+
{PB_8, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF1_I2C1)},
72+
{PB_10, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF1_I2C1)},
73+
{PB_13, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF_NONE)},
74+
{PF_1, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF1_I2C1)},
75+
{NC, NP, 0}
76+
};
77+
#endif
78+
79+
//*** TIM ***
80+
81+
#ifdef HAL_TIM_MODULE_ENABLED
82+
WEAK const PinMap PinMap_TIM[] = {
83+
{PA_0, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM2, 1, 0)}, // TIM2_CH1
84+
{PA_1, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM2, 2, 0)}, // TIM2_CH2
85+
{PA_2, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM2, 3, 0)}, // TIM2_CH3
86+
{PA_3, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM2, 4, 0)}, // TIM2_CH4
87+
{PA_4, TIM14, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_TIM14, 1, 0)}, // TIM14_CH1
88+
{PA_5, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM2, 1, 0)}, // TIM2_CH1
89+
{PA_6, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM3, 1, 0)}, // TIM3_CH1
90+
{PA_6_ALT1, TIM16, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_TIM16, 1, 0)}, // TIM16_CH1
91+
{PA_7, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM1, 1, 1)}, // TIM1_CH1N
92+
{PA_7_ALT1, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM3, 2, 0)}, // TIM3_CH2
93+
{PA_7_ALT2, TIM14, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_TIM14, 1, 0)}, // TIM14_CH1
94+
{PA_7_ALT3, TIM17, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_TIM17, 1, 0)}, // TIM17_CH1
95+
{PA_8, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM1, 1, 0)}, // TIM1_CH1
96+
{PA_9, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM1, 2, 0)}, // TIM1_CH2
97+
{PA_10, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM1, 3, 0)}, // TIM1_CH3
98+
{PA_11, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM1, 4, 0)}, // TIM1_CH4
99+
{PA_15, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM2, 1, 0)}, // TIM2_CH1
100+
{PB_0, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM1, 2, 1)}, // TIM1_CH2N
101+
{PB_0_ALT1, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM3, 3, 0)}, // TIM3_CH3
102+
{PB_1, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM1, 3, 1)}, // TIM1_CH3N
103+
{PB_1_ALT1, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM3, 4, 0)}, // TIM3_CH4
104+
{PB_1_ALT2, TIM14, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_TIM14, 1, 0)}, // TIM14_CH1
105+
{PB_3, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM2, 2, 0)}, // TIM2_CH2
106+
{PB_4, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM3, 1, 0)}, // TIM3_CH1
107+
{PB_5, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM3, 2, 0)}, // TIM3_CH2
108+
{PB_6, TIM16, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM16, 1, 1)}, // TIM16_CH1N
109+
{PB_7, TIM17, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM17, 1, 1)}, // TIM17_CH1N
110+
{PB_8, TIM16, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM16, 1, 0)}, // TIM16_CH1
111+
{PB_9, TIM17, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM17, 1, 0)}, // TIM17_CH1
112+
{PB_10, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM2, 3, 0)}, // TIM2_CH3
113+
{PB_11, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM2, 4, 0)}, // TIM2_CH4
114+
{PB_13, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM1, 1, 1)}, // TIM1_CH1N
115+
{PB_14, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM1, 2, 1)}, // TIM1_CH2N
116+
{PB_15, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM1, 3, 1)}, // TIM1_CH3N
117+
{NC, NP, 0}
118+
};
119+
#endif
120+
121+
//*** UART ***
122+
123+
#ifdef HAL_UART_MODULE_ENABLED
124+
WEAK const PinMap PinMap_UART_TX[] = {
125+
{PA_2, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_USART2)},
126+
{PA_9, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_USART1)},
127+
{PA_14, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_USART2)},
128+
{PB_6, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_USART1)},
129+
{NC, NP, 0}
130+
};
131+
#endif
132+
133+
#ifdef HAL_UART_MODULE_ENABLED
134+
WEAK const PinMap PinMap_UART_RX[] = {
135+
{PA_3, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_USART2)},
136+
{PA_10, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_USART1)},
137+
{PA_15, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_USART2)},
138+
{PB_7, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_USART1)},
139+
{NC, NP, 0}
140+
};
141+
#endif
142+
143+
#ifdef HAL_UART_MODULE_ENABLED
144+
WEAK const PinMap PinMap_UART_RTS[] = {
145+
{PA_1, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_USART2)},
146+
{PA_12, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_USART1)},
147+
{NC, NP, 0}
148+
};
149+
#endif
150+
151+
#ifdef HAL_UART_MODULE_ENABLED
152+
WEAK const PinMap PinMap_UART_CTS[] = {
153+
{PA_0, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_USART2)},
154+
{PA_11, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_USART1)},
155+
{NC, NP, 0}
156+
};
157+
#endif
158+
159+
//*** SPI ***
160+
161+
#ifdef HAL_SPI_MODULE_ENABLED
162+
WEAK const PinMap PinMap_SPI_MOSI[] = {
163+
{PA_7, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_SPI1)},
164+
{PB_5, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_SPI1)},
165+
{PB_15, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_SPI2)},
166+
{NC, NP, 0}
167+
};
168+
#endif
169+
170+
#ifdef HAL_SPI_MODULE_ENABLED
171+
WEAK const PinMap PinMap_SPI_MISO[] = {
172+
{PA_6, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_SPI1)},
173+
{PB_4, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_SPI1)},
174+
{PB_14, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_SPI2)},
175+
{NC, NP, 0}
176+
};
177+
#endif
178+
179+
#ifdef HAL_SPI_MODULE_ENABLED
180+
WEAK const PinMap PinMap_SPI_SCLK[] = {
181+
{PA_5, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_SPI1)},
182+
{PB_3, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_SPI1)},
183+
{PB_10, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)},
184+
{PB_13, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_SPI2)},
185+
{NC, NP, 0}
186+
};
187+
#endif
188+
189+
#ifdef HAL_SPI_MODULE_ENABLED
190+
WEAK const PinMap PinMap_SPI_SSEL[] = {
191+
{PA_4, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_SPI1)},
192+
{PA_15, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_SPI1)},
193+
{PB_9, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)},
194+
{PB_12, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_SPI2)},
195+
{NC, NP, 0}
196+
};
197+
#endif
198+
199+
//*** CAN ***
200+
201+
#ifdef HAL_CAN_MODULE_ENABLED
202+
WEAK const PinMap PinMap_CAN_RD[] = {
203+
{PA_11, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF4_CAN)},
204+
{PB_8, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF4_CAN)},
205+
{NC, NP, 0}
206+
};
207+
#endif
208+
209+
#ifdef HAL_CAN_MODULE_ENABLED
210+
WEAK const PinMap PinMap_CAN_TD[] = {
211+
{PA_12, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF4_CAN)},
212+
{PB_9, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF4_CAN)},
213+
{NC, NP, 0}
214+
};
215+
#endif
216+
217+
//*** No ETHERNET ***
218+
219+
//*** No QUADSPI ***
220+
221+
//*** USB ***
222+
223+
#if defined(HAL_PCD_MODULE_ENABLED) || defined(HAL_HCD_MODULE_ENABLED)
224+
WEAK const PinMap PinMap_USB[] = {
225+
{PA_4, USB, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_USB)}, // USB_NOE
226+
{PA_11, USB, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, GPIO_AF_NONE)}, // USB_DM
227+
{PA_12, USB, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, GPIO_AF_NONE)}, // USB_DP
228+
{PA_13, USB, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_USB)}, // USB_NOE
229+
{PA_15, USB, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_USB)}, // USB_NOE
230+
{NC, NP, 0}
231+
};
232+
#endif
233+
234+
//*** No SD ***

Diff for: variants/STM32F0xx/Generic_F042Cx/PinNamesVar.h

+49
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
/* Alternate pin name */
2+
PA_6_ALT1 = PA_6 | ALT1,
3+
PA_7_ALT1 = PA_7 | ALT1,
4+
PA_7_ALT2 = PA_7 | ALT2,
5+
PA_7_ALT3 = PA_7 | ALT3,
6+
PB_0_ALT1 = PB_0 | ALT1,
7+
PB_1_ALT1 = PB_1 | ALT1,
8+
PB_1_ALT2 = PB_1 | ALT2,
9+
10+
/* SYS_WKUP */
11+
#ifdef PWR_WAKEUP_PIN1
12+
SYS_WKUP1 = PA_0,
13+
#endif
14+
#ifdef PWR_WAKEUP_PIN2
15+
SYS_WKUP2 = PC_13,
16+
#endif
17+
#ifdef PWR_WAKEUP_PIN3
18+
SYS_WKUP3 = NC,
19+
#endif
20+
#ifdef PWR_WAKEUP_PIN4
21+
SYS_WKUP4 = PA_2,
22+
#endif
23+
#ifdef PWR_WAKEUP_PIN5
24+
SYS_WKUP5 = NC,
25+
#endif
26+
#ifdef PWR_WAKEUP_PIN6
27+
SYS_WKUP6 = PB_5,
28+
#endif
29+
#ifdef PWR_WAKEUP_PIN7
30+
SYS_WKUP7 = PB_15,
31+
#endif
32+
#ifdef PWR_WAKEUP_PIN8
33+
SYS_WKUP8 = NC,
34+
#endif
35+
36+
/* USB */
37+
#ifdef USBCON
38+
USB_DM = PA_11,
39+
USB_DP = PA_12,
40+
#ifdef USB_NOE_PA_4
41+
USB_NOE = PA_4,
42+
#endif
43+
#ifdef USB_NOE_PA_13
44+
USB_NOE = PA_13,
45+
#endif
46+
#ifdef USB_NOE_PA_15
47+
USB_NOE = PA_15,
48+
#endif
49+
#endif

0 commit comments

Comments
 (0)