Skip to content

Commit 3af0abd

Browse files
committed
codal_app/microbithal: Use spi.redirect method to reconfig pins.
Fixes issue #111. Signed-off-by: Damien George <damien@micropython.org>
1 parent ee75741 commit 3af0abd

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

src/codal_app/microbithal.cpp

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -258,11 +258,16 @@ int microbit_hal_uart_init(int tx, int rx, int baudrate, int bits, int parity, i
258258
static NRF52SPI *spi = NULL;
259259

260260
int microbit_hal_spi_init(int sclk, int mosi, int miso, int frequency, int bits, int mode) {
261-
if (spi != NULL) {
262-
delete spi;
261+
int ret;
262+
if (spi == NULL) {
263+
spi = new NRF52SPI(*pin_obj[mosi], *pin_obj[miso], *pin_obj[sclk], NRF_SPIM2);
264+
} else {
265+
ret = spi->redirect(*pin_obj[mosi], *pin_obj[miso], *pin_obj[sclk]);
266+
if (ret != DEVICE_OK) {
267+
return ret;
268+
}
263269
}
264-
spi = new NRF52SPI(*pin_obj[mosi], *pin_obj[miso], *pin_obj[sclk], NRF_SPIM2);
265-
int ret = spi->setFrequency(frequency);
270+
ret = spi->setFrequency(frequency);
266271
if (ret != DEVICE_OK) {
267272
return ret;
268273
}

0 commit comments

Comments
 (0)