@@ -156,12 +156,25 @@ typedef enum {
156
156
P1_14 = p46 ,
157
157
P1_15 = p47 ,
158
158
159
- // Buttons A and B
159
+ // Not connected
160
+ NC = (int )0xFFFFFFFF ,
161
+
162
+ // Buttons
163
+ #if defined(TARGET_NRF52_MICROBIT_V2_IF_833 )
164
+ BUTTON1 = P1_9 ,
165
+ BUTTON_RESET = BUTTON1 ,
166
+ #elif defined(TARGET_NRF52_MICROBIT_V2_IF_820 )
167
+ BUTTON1 = P0_6 ,
168
+ BUTTON_RESET = BUTTON1 ,
169
+ #else
160
170
BUTTON1 = P0_14 ,
161
171
BUTTON2 = P0_23 ,
162
172
BUTTONA = BUTTON1 ,
163
173
BUTTONB = BUTTON2 ,
174
+ #endif
164
175
176
+ // Target MCU only pins
177
+ #if !defined(MICROBIT_IF )
165
178
// LED matrix
166
179
ROW_1 = P0_21 ,
167
180
ROW_2 = P0_22 ,
@@ -179,63 +192,112 @@ typedef enum {
179
192
RING1 = P0_3 ,
180
193
RING2 = P0_4 ,
181
194
182
- // GPIO
183
- GPIO1 = P0_10 ,
184
- GPIO2 = P0_9 ,
185
- GPIO3 = P1_2 ,
186
- GPIO4 = P0_12 ,
195
+ // Free edge connector GPIOs
196
+ GPIO1 = P0_10 , // Edge connector pin 8
197
+ GPIO2 = P0_9 , // Edge connector pin 9
198
+ GPIO3 = P1_2 , // Edge connector pin 16
199
+ GPIO4 = P0_12 , // Edge connector pin 12
187
200
188
201
// Audio
189
202
SPEAKER = P0_0 ,
190
203
MIC = P0_5 ,
191
204
RUN_MIC = P0_20 ,
205
+ #endif
192
206
193
- // Other micro:bit specific pins
207
+ // Interface MCU only pins
208
+ #if defined(TARGET_NRF52_MICROBIT_V2_IF_833 )
209
+ LED1 = P0_15 ,
210
+ LED2 = P0_17 ,
211
+ #elif defined(TARGET_NRF52_MICROBIT_V2_IF_820 )
212
+ LED1 = P0_14 ,
213
+ LED2 = P0_15 ,
214
+ #endif
215
+
216
+ // Other micro:bit specific pins common to Interface and Target
217
+ #if defined(TARGET_NRF52_MICROBIT_V2_IF_833 )
218
+ COMBINED_SENSOR_INT = P0_9 ,
219
+ #elif defined(TARGET_NRF52_MICROBIT_V2_IF_820 )
220
+ COMBINED_SENSOR_INT = P0_16 ,
221
+ #else
194
222
COMBINED_SENSOR_INT = P0_25 ,
223
+ #endif
195
224
196
225
// UART
226
+ #if defined(TARGET_NRF52_MICROBIT_V2_IF_833 )
227
+ // TODO: Add UART TX and RX pins
228
+ RX_PIN_NUMBER = NC ,
229
+ TX_PIN_NUMBER = NC ,
230
+ // mBed interface Pins
231
+ CONSOLE_TX = NC ,
232
+ CONSOLE_RX = NC ,
233
+ STDIO_UART_TX = NC ,
234
+ STDIO_UART_RX = NC ,
235
+ #elif defined(TARGET_NRF52_MICROBIT_V2_IF_820 )
236
+ // TODO: Add UART TX and RX pins
237
+ RX_PIN_NUMBER = NC ,
238
+ TX_PIN_NUMBER = NC ,
239
+ // mBed interface Pins
240
+ CONSOLE_TX = NC ,
241
+ CONSOLE_RX = NC ,
242
+ STDIO_UART_TX = NC ,
243
+ STDIO_UART_RX = NC ,
244
+ #else
197
245
RX_PIN_NUMBER = P1_8 ,
198
246
TX_PIN_NUMBER = P0_6 ,
199
- CTS_PIN_NUMBER = p7 ,
200
- RTS_PIN_NUMBER = p5 ,
201
-
202
247
// mBed interface Pins
203
248
CONSOLE_TX = TX_PIN_NUMBER ,
204
249
CONSOLE_RX = RX_PIN_NUMBER ,
205
250
STDIO_UART_TX = TX_PIN_NUMBER ,
206
251
STDIO_UART_RX = RX_PIN_NUMBER ,
252
+ #endif
253
+
254
+ CTS_PIN_NUMBER = NC ,
255
+ RTS_PIN_NUMBER = NC ,
256
+ // mBed interface Pins
207
257
STDIO_UART_CTS = CTS_PIN_NUMBER ,
208
258
STDIO_UART_RTS = RTS_PIN_NUMBER ,
209
259
260
+ #if defined(MICROBIT_IF )
261
+ SPI_PSELMOSI0 = NC ,
262
+ SPI_PSELMISO0 = NC ,
263
+ SPI_PSELSS0 = NC ,
264
+ SPI_PSELSCK0 = NC ,
265
+ #else
210
266
SPI_PSELMOSI0 = P0_13 ,
211
267
SPI_PSELMISO0 = P0_1 ,
212
268
SPI_PSELSS0 = P1_2 ,
213
269
SPI_PSELSCK0 = P0_17 ,
270
+ #endif
214
271
272
+ #if defined(TARGET_NRF52_MICROBIT_V2_IF_833 )
273
+ // TODO: Include the internal I2C pins
274
+ #elif defined(TARGET_NRF52_MICROBIT_V2_IF_820 )
275
+ // TODO: Include the internal I2C pins
276
+ #else
277
+ // Internal I2C
215
278
I2C_SDA0 = P0_16 ,
216
279
I2C_SCL0 = P0_8 ,
217
280
281
+ // External I2C at the edge connector
218
282
I2C_SDA1 = P1_0 ,
219
283
I2C_SCL1 = P0_26 ,
284
+ #endif
220
285
221
286
/**** QSPI pins ****/
222
- QSPI1_IO0 = P0_20 ,
223
- QSPI1_IO1 = P0_21 ,
224
- QSPI1_IO2 = P0_22 ,
225
- QSPI1_IO3 = P0_23 ,
226
- QSPI1_SCK = P0_19 ,
227
- QSPI1_CSN = P0_17 ,
287
+ QSPI1_IO0 = NC ,
288
+ QSPI1_IO1 = NC ,
289
+ QSPI1_IO2 = NC ,
290
+ QSPI1_IO3 = NC ,
291
+ QSPI1_SCK = NC ,
292
+ QSPI1_CSN = NC ,
228
293
229
294
/**** QSPI FLASH pins ****/
230
- QSPI_FLASH1_IO0 = QSPI1_IO0 ,
231
- QSPI_FLASH1_IO1 = QSPI1_IO1 ,
232
- QSPI_FLASH1_IO2 = QSPI1_IO2 ,
233
- QSPI_FLASH1_IO3 = QSPI1_IO3 ,
234
- QSPI_FLASH1_SCK = QSPI1_SCK ,
235
- QSPI_FLASH1_CSN = QSPI1_CSN ,
236
-
237
- // Not connected
238
- NC = (int )0xFFFFFFFF
295
+ QSPI_FLASH1_IO0 = NC ,
296
+ QSPI_FLASH1_IO1 = NC ,
297
+ QSPI_FLASH1_IO2 = NC ,
298
+ QSPI_FLASH1_IO3 = NC ,
299
+ QSPI_FLASH1_SCK = NC ,
300
+ QSPI_FLASH1_CSN = NC ,
239
301
} PinName ;
240
302
241
303
typedef enum {
0 commit comments