Skip to content

Commit 8d205ab

Browse files
committed
Add testing pinmaps to NRF5X devices
Add pinmap tables to the NRF5X families to allow testing.
1 parent 7071513 commit 8d205ab

File tree

15 files changed

+736
-56
lines changed

15 files changed

+736
-56
lines changed

targets/TARGET_NORDIC/TARGET_MCU_NRF51822/i2c_api.c

Lines changed: 38 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,40 @@
2626
volatile i2c_spi_peripheral_t i2c0_spi0_peripheral = {0, 0, 0, 0};
2727
volatile i2c_spi_peripheral_t i2c1_spi1_peripheral = {0, 0, 0, 0};
2828

29+
// Pinmap used for testing only
30+
static const PinMap PinMap_I2C_testing[] = {
31+
{P0_0, 0, 0},
32+
{P0_1, 0, 0},
33+
{P0_2, 0, 0},
34+
{P0_3, 0, 0},
35+
{P0_4, 0, 0},
36+
{P0_5, 0, 0},
37+
{P0_6, 0, 0},
38+
{P0_7, 0, 0},
39+
{P0_8, 0, 0},
40+
{P0_9, 0, 0},
41+
{P0_10, 0, 0},
42+
{P0_11, 0, 0},
43+
{P0_12, 0, 0},
44+
{P0_13, 0, 0},
45+
{P0_14, 0, 0},
46+
{P0_15, 0, 0},
47+
{P0_16, 0, 0},
48+
{P0_17, 0, 0},
49+
{P0_18, 0, 0},
50+
{P0_19, 0, 0},
51+
{P0_20, 0, 0},
52+
{P0_21, 0, 0},
53+
{P0_22, 0, 0},
54+
{P0_23, 0, 0},
55+
{P0_24, 0, 0},
56+
{P0_25, 0, 0},
57+
{P0_28, 0, 0},
58+
{P0_29, 0, 0},
59+
{P0_30, 0, 0},
60+
{NC, NC, 0}
61+
};
62+
2963
void i2c_interface_enable(i2c_t *obj)
3064
{
3165
obj->i2c->ENABLE = (TWI_ENABLE_ENABLE_Enabled << TWI_ENABLE_ENABLE_Pos);
@@ -310,20 +344,20 @@ int i2c_byte_write(i2c_t *obj, int data)
310344

311345
const PinMap *i2c_master_sda_pinmap()
312346
{
313-
return PinMap_I2C_SDA;
347+
return PinMap_I2C_testing;
314348
}
315349

316350
const PinMap *i2c_master_scl_pinmap()
317351
{
318-
return PinMap_I2C_SCL;
352+
return PinMap_I2C_testing;
319353
}
320354

321355
const PinMap *i2c_slave_sda_pinmap()
322356
{
323-
return PinMap_I2C_SDA;
357+
return PinMap_I2C_testing;
324358
}
325359

326360
const PinMap *i2c_slave_scl_pinmap()
327361
{
328-
return PinMap_I2C_SCL;
362+
return PinMap_I2C_testing;
329363
}

targets/TARGET_NORDIC/TARGET_MCU_NRF51822/serial_api.c

Lines changed: 37 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,39 @@ static const int acceptedSpeeds[18][2] = {
5353
int stdio_uart_inited = 0;
5454
serial_t stdio_uart;
5555

56+
// Pinmap used for testing only
57+
static const PinMap PinMap_UART_testing[] = {
58+
{P0_0, 0, 0},
59+
{P0_1, 0, 0},
60+
{P0_2, 0, 0},
61+
{P0_3, 0, 0},
62+
{P0_4, 0, 0},
63+
{P0_5, 0, 0},
64+
{P0_6, 0, 0},
65+
{P0_7, 0, 0},
66+
{P0_8, 0, 0},
67+
{P0_9, 0, 0},
68+
{P0_10, 0, 0},
69+
{P0_11, 0, 0},
70+
{P0_12, 0, 0},
71+
{P0_13, 0, 0},
72+
{P0_14, 0, 0},
73+
{P0_15, 0, 0},
74+
{P0_16, 0, 0},
75+
{P0_17, 0, 0},
76+
{P0_18, 0, 0},
77+
{P0_19, 0, 0},
78+
{P0_20, 0, 0},
79+
{P0_21, 0, 0},
80+
{P0_22, 0, 0},
81+
{P0_23, 0, 0},
82+
{P0_24, 0, 0},
83+
{P0_25, 0, 0},
84+
{P0_28, 0, 0},
85+
{P0_29, 0, 0},
86+
{P0_30, 0, 0},
87+
{NC, NC, 0}
88+
};
5689

5790
void serial_init(serial_t *obj, PinName tx, PinName rx) {
5891
UARTName uart = UART_0;
@@ -307,20 +340,20 @@ void serial_clear(serial_t *obj) {
307340

308341
const PinMap *serial_tx_pinmap()
309342
{
310-
return PinMap_UART_TX;
343+
return PinMap_UART_testing;
311344
}
312345

313346
const PinMap *serial_rx_pinmap()
314347
{
315-
return PinMap_UART_RX;
348+
return PinMap_UART_testing;
316349
}
317350

318351
const PinMap *serial_cts_pinmap()
319352
{
320-
return PinMap_UART_CTS;
353+
return PinMap_UART_testing;
321354
}
322355

323356
const PinMap *serial_rts_pinmap()
324357
{
325-
return PinMap_UART_RTS;
358+
return PinMap_UART_testing;
326359
}

targets/TARGET_NORDIC/TARGET_MCU_NRF51822/spi_api.c

Lines changed: 42 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,40 @@ volatile uint8_t m_rx_buf[SPIS_MESSAGE_SIZE] = {0};
3030
extern volatile i2c_spi_peripheral_t i2c0_spi0_peripheral; // from i2c_api.c
3131
extern volatile i2c_spi_peripheral_t i2c1_spi1_peripheral;
3232

33+
// Pinmap used for testing only
34+
static const PinMap PinMap_SPI_testing[] = {
35+
{P0_0, 0, 0},
36+
{P0_1, 0, 0},
37+
{P0_2, 0, 0},
38+
{P0_3, 0, 0},
39+
{P0_4, 0, 0},
40+
{P0_5, 0, 0},
41+
{P0_6, 0, 0},
42+
{P0_7, 0, 0},
43+
{P0_8, 0, 0},
44+
{P0_9, 0, 0},
45+
{P0_10, 0, 0},
46+
{P0_11, 0, 0},
47+
{P0_12, 0, 0},
48+
{P0_13, 0, 0},
49+
{P0_14, 0, 0},
50+
{P0_15, 0, 0},
51+
{P0_16, 0, 0},
52+
{P0_17, 0, 0},
53+
{P0_18, 0, 0},
54+
{P0_19, 0, 0},
55+
{P0_20, 0, 0},
56+
{P0_21, 0, 0},
57+
{P0_22, 0, 0},
58+
{P0_23, 0, 0},
59+
{P0_24, 0, 0},
60+
{P0_25, 0, 0},
61+
{P0_28, 0, 0},
62+
{P0_29, 0, 0},
63+
{P0_30, 0, 0},
64+
{NC, NC, 0}
65+
};
66+
3367
void spi_init(spi_t *obj, PinName mosi, PinName miso, PinName sclk, PinName ssel)
3468
{
3569
SPIName spi = SPI_0;
@@ -302,40 +336,40 @@ void spi_slave_write(spi_t *obj, int value)
302336

303337
const PinMap *spi_master_mosi_pinmap()
304338
{
305-
return PinMap_SPI_MOSI;
339+
return PinMap_SPI_testing;
306340
}
307341

308342
const PinMap *spi_master_miso_pinmap()
309343
{
310-
return PinMap_SPI_MISO;
344+
return PinMap_SPI_testing;
311345
}
312346

313347
const PinMap *spi_master_clk_pinmap()
314348
{
315-
return PinMap_SPI_SCLK;
349+
return PinMap_SPI_testing;
316350
}
317351

318352
const PinMap *spi_master_cs_pinmap()
319353
{
320-
return PinMap_SPI_SSEL;
354+
return PinMap_SPI_testing;
321355
}
322356

323357
const PinMap *spi_slave_mosi_pinmap()
324358
{
325-
return PinMap_SPI_MOSI;
359+
return PinMap_SPI_testing;
326360
}
327361

328362
const PinMap *spi_slave_miso_pinmap()
329363
{
330-
return PinMap_SPI_MISO;
364+
return PinMap_SPI_testing;
331365
}
332366

333367
const PinMap *spi_slave_clk_pinmap()
334368
{
335-
return PinMap_SPI_SCLK;
369+
return PinMap_SPI_testing;
336370
}
337371

338372
const PinMap *spi_slave_cs_pinmap()
339373
{
340-
return PinMap_SPI_SSEL;
374+
return PinMap_SPI_testing;
341375
}

targets/TARGET_NORDIC/TARGET_NRF5x/TARGET_NRF51/TARGET_MCU_NRF51822_UNIFIED/pwmout_api.c

Lines changed: 36 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,41 @@ typedef struct
6363
uint16_t duty_ticks[PWM_CHANNELS_PER_INSTANCE];
6464
} pwm_t;
6565

66+
// Pinmap used for testing only
67+
static const PinMap PinMap_PWM_testing[] = {
68+
{p0, 0, 0},
69+
{p1, 0, 0},
70+
{p2, 0, 0},
71+
{p3, 0, 0},
72+
{p4, 0, 0},
73+
{p5, 0, 0},
74+
{p6, 0, 0},
75+
{p7, 0, 0},
76+
{p8, 0, 0},
77+
{p9, 0, 0},
78+
{p10, 0, 0},
79+
{p11, 0, 0},
80+
{p12, 0, 0},
81+
{p13, 0, 0},
82+
{p14, 0, 0},
83+
{p15, 0, 0},
84+
{p16, 0, 0},
85+
{p17, 0, 0},
86+
{p18, 0, 0},
87+
{p19, 0, 0},
88+
{p20, 0, 0},
89+
{p21, 0, 0},
90+
{p22, 0, 0},
91+
{p23, 0, 0},
92+
{p24, 0, 0},
93+
{p25, 0, 0},
94+
95+
{p28, 0, 0},
96+
{p29, 0, 0},
97+
{p30, 0, 0},
98+
99+
{NC, NC, 0}
100+
};
66101

67102
APP_PWM_INSTANCE(m_pwm_instance_0, 1); //PWM0: Timer 1
68103
APP_PWM_INSTANCE(m_pwm_instance_1, 2); //PWM1: Timer 2
@@ -258,7 +293,7 @@ void pwmout_pulsewidth_us(pwmout_t *obj, int us)
258293

259294
const PinMap *pwmout_pinmap()
260295
{
261-
return PinMap_PWM;
296+
return PinMap_PWM_testing;
262297
}
263298

264299
#endif // DEVICE_PWMOUT

targets/TARGET_NORDIC/TARGET_NRF5x/TARGET_NRF51/i2c_api.c

Lines changed: 40 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,42 @@ static NRF_TWI_Type * const m_twi_instances[TWI_COUNT] = {
102102
#endif
103103
};
104104

105+
// Pinmap used for testing only
106+
static const PinMap PinMap_I2C_testing[] = {
107+
{p0, 0, 0},
108+
{p1, 0, 0},
109+
{p2, 0, 0},
110+
{p3, 0, 0},
111+
{p4, 0, 0},
112+
{p5, 0, 0},
113+
{p6, 0, 0},
114+
{p7, 0, 0},
115+
{p8, 0, 0},
116+
{p9, 0, 0},
117+
{p10, 0, 0},
118+
{p11, 0, 0},
119+
{p12, 0, 0},
120+
{p13, 0, 0},
121+
{p14, 0, 0},
122+
{p15, 0, 0},
123+
{p16, 0, 0},
124+
{p17, 0, 0},
125+
{p18, 0, 0},
126+
{p19, 0, 0},
127+
{p20, 0, 0},
128+
{p21, 0, 0},
129+
{p22, 0, 0},
130+
{p23, 0, 0},
131+
{p24, 0, 0},
132+
{p25, 0, 0},
133+
134+
{p28, 0, 0},
135+
{p29, 0, 0},
136+
{p30, 0, 0},
137+
138+
{NC, NC, 0}
139+
};
140+
105141
void SPI0_TWI0_IRQHandler(void);
106142
void SPI1_TWI1_IRQHandler(void);
107143

@@ -639,22 +675,22 @@ int i2c_byte_write(i2c_t *obj, int data)
639675

640676
const PinMap *i2c_master_sda_pinmap()
641677
{
642-
return PinMap_I2C_SDA;
678+
return PinMap_I2C_testing;
643679
}
644680

645681
const PinMap *i2c_master_scl_pinmap()
646682
{
647-
return PinMap_I2C_SCL;
683+
return PinMap_I2C_testing;
648684
}
649685

650686
const PinMap *i2c_slave_sda_pinmap()
651687
{
652-
return PinMap_I2C_SDA;
688+
return PinMap_I2C_testing;
653689
}
654690

655691
const PinMap *i2c_slave_scl_pinmap()
656692
{
657-
return PinMap_I2C_SCL;
693+
return PinMap_I2C_testing;
658694
}
659695

660696

0 commit comments

Comments
 (0)