Thu, 15 Oct 2020 01:12:31 +0200
add QEI
27 | 1 | /* mbed Microcontroller Library |
2 | ******************************************************************************* | |
3 | * Copyright (c) 2018, STMicroelectronics | |
4 | * All rights reserved. | |
5 | * | |
6 | * Redistribution and use in source and binary forms, with or without | |
7 | * modification, are permitted provided that the following conditions are met: | |
8 | * | |
9 | * 1. Redistributions of source code must retain the above copyright notice, | |
10 | * this list of conditions and the following disclaimer. | |
11 | * 2. Redistributions in binary form must reproduce the above copyright notice, | |
12 | * this list of conditions and the following disclaimer in the documentation | |
13 | * and/or other materials provided with the distribution. | |
14 | * 3. Neither the name of STMicroelectronics nor the names of its contributors | |
15 | * may be used to endorse or promote products derived from this software | |
16 | * without specific prior written permission. | |
17 | * | |
18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" | |
19 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | |
20 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | |
21 | * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE | |
22 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | |
23 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR | |
24 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER | |
25 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, | |
26 | * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | |
27 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |
28 | ******************************************************************************* | |
29 | */ | |
30 | ||
31 | #ifndef MBED_PINNAMES_H | |
32 | #define MBED_PINNAMES_H | |
33 | ||
34 | #include "cmsis.h" | |
35 | #include "PinNamesTypes.h" | |
36 | ||
37 | #ifdef __cplusplus | |
38 | extern "C" { | |
39 | #endif | |
40 | ||
41 | /* If this macro is defined, then constexpr utility functions for pin-map seach can be used. */ | |
42 | #define STATIC_PINMAP_READY 1 | |
43 | ||
44 | typedef enum { | |
45 | ALT0 = 0x100, | |
46 | ALT1 = 0x200, | |
47 | ALT2 = 0x300, | |
48 | ALT3 = 0x400 | |
49 | } ALTx; | |
50 | ||
51 | typedef enum { | |
52 | PA_0 = 0x00, | |
53 | PA_1 = 0x01, | |
54 | PA_2 = 0x02, | |
55 | PA_3 = 0x03, | |
56 | PA_4 = 0x04, | |
57 | PA_4_ALT0 = PA_4 | ALT0, | |
58 | PA_5 = 0x05, | |
59 | PA_6 = 0x06, | |
60 | PA_6_ALT0 = PA_6 | ALT0, | |
61 | PA_7 = 0x07, | |
62 | PA_7_ALT0 = PA_7 | ALT0, | |
63 | PA_7_ALT1 = PA_7 | ALT1, | |
64 | PA_7_ALT2 = PA_7 | ALT2, | |
65 | PA_8 = 0x08, | |
66 | PA_9 = 0x09, | |
67 | PA_10 = 0x0A, | |
68 | PA_11 = 0x0B, | |
69 | PA_11_ALT0 = PA_11 | ALT0, | |
70 | PA_11_ALT1 = PA_11 | ALT1, | |
71 | PA_12 = 0x0C, | |
72 | PA_12_ALT0 = PA_12 | ALT0, | |
73 | PA_12_ALT1 = PA_12 | ALT1, | |
74 | PA_13 = 0x0D, | |
75 | PA_13_ALT0 = PA_13 | ALT0, | |
76 | PA_14 = 0x0E, | |
77 | PA_15 = 0x0F, | |
78 | PA_15_ALT0 = PA_15 | ALT0, | |
79 | ||
80 | PB_0 = 0x10, | |
81 | PB_0_ALT0 = PB_0 | ALT0, | |
82 | PB_0_ALT1 = PB_0 | ALT1, | |
83 | PB_1 = 0x11, | |
84 | PB_1_ALT0 = PB_1 | ALT0, | |
85 | PB_1_ALT1 = PB_1 | ALT1, | |
86 | PB_2 = 0x12, | |
87 | PB_3 = 0x13, | |
88 | PB_3_ALT0 = PB_3 | ALT0, | |
89 | PB_4 = 0x14, | |
90 | PB_4_ALT0 = PB_4 | ALT0, | |
91 | PB_4_ALT1 = PB_4 | ALT1, | |
92 | PB_5 = 0x15, | |
93 | PB_5_ALT0 = PB_5 | ALT0, | |
94 | PB_5_ALT1 = PB_5 | ALT1, | |
95 | PB_6 = 0x16, | |
96 | PB_6_ALT0 = PB_6 | ALT0, | |
97 | PB_6_ALT1 = PB_6 | ALT1, | |
98 | PB_7 = 0x17, | |
99 | PB_7_ALT0 = PB_7 | ALT0, | |
100 | PB_7_ALT1 = PB_7 | ALT1, | |
101 | PB_8 = 0x18, | |
102 | PB_8_ALT0 = PB_8 | ALT0, | |
103 | PB_8_ALT1 = PB_8 | ALT1, | |
104 | PB_9 = 0x19, | |
105 | PB_9_ALT0 = PB_9 | ALT0, | |
106 | PB_9_ALT1 = PB_9 | ALT1, | |
107 | PB_10 = 0x1A, | |
108 | PB_11 = 0x1B, | |
109 | PB_11_ALT0 = PB_11 | ALT0, | |
110 | PB_12 = 0x1C, | |
111 | PB_13 = 0x1D, | |
112 | PB_14 = 0x1E, | |
113 | PB_14_ALT0 = PB_14 | ALT0, | |
114 | PB_15 = 0x1F, | |
115 | PB_15_ALT0 = PB_15 | ALT0, | |
116 | PB_15_ALT1 = PB_15 | ALT1, | |
117 | ||
118 | PC_0 = 0x20, | |
119 | PC_0_ALT0 = PC_0 | ALT0, | |
120 | PC_1 = 0x21, | |
121 | PC_1_ALT0 = PC_1 | ALT0, | |
122 | PC_2 = 0x22, | |
123 | PC_2_ALT0 = PC_2 | ALT0, | |
124 | PC_3 = 0x23, | |
125 | PC_3_ALT0 = PC_3 | ALT0, | |
126 | PC_4 = 0x24, | |
127 | PC_5 = 0x25, | |
128 | PC_6 = 0x26, | |
129 | PC_6_ALT0 = PC_6 | ALT0, | |
130 | PC_7 = 0x27, | |
131 | PC_7_ALT0 = PC_7 | ALT0, | |
132 | PC_8 = 0x28, | |
133 | PC_8_ALT0 = PC_8 | ALT0, | |
134 | PC_9 = 0x29, | |
135 | PC_9_ALT0 = PC_9 | ALT0, | |
136 | PC_10 = 0x2A, | |
137 | PC_10_ALT0 = PC_10 | ALT0, | |
138 | PC_11 = 0x2B, | |
139 | PC_11_ALT0 = PC_11 | ALT0, | |
140 | PC_12 = 0x2C, | |
141 | PC_13 = 0x2D, | |
142 | PC_14 = 0x2E, | |
143 | PC_15 = 0x2F, | |
144 | ||
145 | PD_2 = 0x32, | |
146 | ||
147 | PF_0 = 0x50, | |
148 | PF_1 = 0x51, | |
149 | ||
150 | // ADC internal channels | |
151 | ADC_TEMP = 0xF0, | |
152 | ADC_VREF1 = 0xF1, | |
153 | ADC_VREF2 = 0xF2, | |
154 | ADC_VREF3 = 0xF3, | |
155 | ADC_VREF4 = 0xF4, | |
156 | ADC_VREF = ADC_VREF1, | |
157 | ADC_VBAT = 0xF5, | |
158 | ADC_VOPAMP1 = 0xF6, | |
159 | ADC_VOPAMP2 = 0xF7, | |
160 | ADC_VOPAMP3 = 0xF8, | |
161 | ADC_VOPAMP4 = 0xF9, | |
162 | ||
163 | // Arduino connector namings | |
164 | A0 = PA_0, | |
165 | A1 = PA_1, | |
166 | A2 = PA_4, | |
167 | A3 = PB_0, | |
168 | A4 = PC_1, | |
169 | A5 = PC_0, | |
170 | D0 = PA_3, | |
171 | D1 = PA_2, | |
172 | D2 = PA_10, | |
173 | D3 = PB_3, | |
174 | D4 = PB_5, | |
175 | D5 = PB_4, | |
176 | D6 = PB_10, | |
177 | D7 = PA_8, | |
178 | D8 = PA_9, | |
179 | D9 = PC_7, | |
180 | D10 = PB_6, | |
181 | D11 = PA_7, | |
182 | D12 = PA_6, | |
183 | D13 = PA_5, | |
184 | D14 = PB_9, | |
185 | D15 = PB_8, | |
186 | ||
187 | // STDIO for console print | |
188 | #ifdef MBED_CONF_TARGET_STDIO_UART_TX | |
189 | STDIO_UART_TX = MBED_CONF_TARGET_STDIO_UART_TX, | |
190 | #else | |
191 | STDIO_UART_TX = PA_2, | |
192 | #endif | |
193 | #ifdef MBED_CONF_TARGET_STDIO_UART_RX | |
194 | STDIO_UART_RX = MBED_CONF_TARGET_STDIO_UART_RX, | |
195 | #else | |
196 | STDIO_UART_RX = PA_3, | |
197 | #endif | |
198 | ||
199 | // Generic signals namings | |
200 | LED1 = PA_5, | |
201 | LED2 = PA_5, | |
202 | LED3 = PA_5, | |
203 | LED4 = PA_5, | |
204 | USER_BUTTON = PC_13, | |
205 | // Standardized button names | |
206 | BUTTON1 = USER_BUTTON, | |
207 | SERIAL_TX = STDIO_UART_TX, | |
208 | SERIAL_RX = STDIO_UART_RX, | |
209 | USBTX = STDIO_UART_TX, | |
210 | USBRX = STDIO_UART_RX, | |
211 | I2C_SCL = PB_8, | |
212 | I2C_SDA = PB_9, | |
213 | SPI_MOSI = PA_7, | |
214 | SPI_MISO = PA_6, | |
215 | SPI_SCK = PA_5, | |
216 | SPI_CS = PB_6, | |
217 | PWM_OUT = PB_4, | |
218 | ||
219 | /**** USB pins ****/ | |
220 | USB_DM = PA_11, | |
221 | USB_DP = PA_12, | |
222 | ||
223 | /**** OSCILLATOR pins ****/ | |
224 | RCC_OSC32_IN = PC_14, | |
225 | RCC_OSC32_OUT = PC_15, | |
226 | RCC_OSC_IN = PF_0, | |
227 | RCC_OSC_OUT = PF_1, | |
228 | ||
229 | /**** DEBUG pins ****/ | |
230 | SYS_JTCK_SWCLK = PA_14, | |
231 | SYS_JTDI = PA_15, | |
232 | SYS_JTDO_TRACESWO = PB_3, | |
233 | SYS_JTMS_SWDIO = PA_13, | |
234 | SYS_NJTRST = PB_4, | |
235 | SYS_WKUP1 = PA_0, | |
236 | SYS_WKUP2 = PC_13, | |
237 | ||
238 | // Not connected | |
239 | NC = (int)0xFFFFFFFF | |
240 | } PinName; | |
241 | ||
242 | #ifdef __cplusplus | |
243 | } | |
244 | #endif | |
245 | ||
246 | #endif |