Skip to content

Commit ed6cc64

Browse files
committed
Corrected issue with BLE not working on nrf52840
1 parent 6357093 commit ed6cc64

File tree

1 file changed

+13
-5
lines changed
  • ports/nrf/common-hal/busio

1 file changed

+13
-5
lines changed

ports/nrf/common-hal/busio/SPI.c

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -104,8 +104,12 @@ void common_hal_busio_spi_never_reset(busio_spi_obj_t *self) {
104104
never_reset[i] = true;
105105

106106
never_reset_pin_number(self->clock_pin_number);
107-
never_reset_pin_number(self->MOSI_pin_number);
108-
never_reset_pin_number(self->MISO_pin_number);
107+
if ( self->MOSI_pin_number != NO_PIN) {
108+
never_reset_pin_number(self->MOSI_pin_number);
109+
}
110+
if ( self->MISO_pin_number != NO_PIN) {
111+
never_reset_pin_number(self->MISO_pin_number);
112+
}
109113
break;
110114
}
111115
}
@@ -180,7 +184,7 @@ void common_hal_busio_spi_construct(busio_spi_obj_t *self, const mcu_pin_obj_t *
180184

181185
if (miso != NULL) {
182186
config.miso_pin = miso->number;
183-
self->MISO_pin_number = mosi->number;
187+
self->MISO_pin_number = miso->number;
184188
claim_pin(miso);
185189
} else {
186190
self->MISO_pin_number = NO_PIN;
@@ -204,8 +208,12 @@ void common_hal_busio_spi_deinit(busio_spi_obj_t *self) {
204208
nrfx_spim_uninit(&self->spim_peripheral->spim);
205209

206210
reset_pin_number(self->clock_pin_number);
207-
reset_pin_number(self->MOSI_pin_number);
208-
reset_pin_number(self->MISO_pin_number);
211+
if ( self->MOSI_pin_number != NO_PIN) {
212+
reset_pin_number(self->MOSI_pin_number);
213+
}
214+
if ( self->MISO_pin_number != NO_PIN) {
215+
reset_pin_number(self->MISO_pin_number);
216+
}
209217
}
210218

211219
bool common_hal_busio_spi_configure(busio_spi_obj_t *self, uint32_t baudrate, uint8_t polarity, uint8_t phase, uint8_t bits) {

0 commit comments

Comments
 (0)