I ran the following code:
import board
import busio
import digitalio
import time
b = busio.SPI(board.SCK, MOSI=board.MOSI)
stb = digitalio.DigitalInOut(board.D5)
stb.switch_to_output(True)
d = bytearray(4)
d[0] = d[1] = d[2] = d[3] = 0xff
b.try_lock()
b.write(d)
and it hangs during write. The last few frames of the traceback are:
Program received signal SIGTRAP, Trace/breakpoint trap.
nrfx_spim_xfer (p_instance=0x200044a0 <spim_peripherals>, p_xfer_desc=0x2003fd28, flags=0)
at nrfx/drivers/src/nrfx_spim.c:581
581 while (!nrf_spim_event_check(p_spim, NRF_SPIM_EVENT_END)){}
(gdb) where
#0 nrfx_spim_xfer (p_instance=0x200044a0 <spim_peripherals>, p_xfer_desc=0x2003fd28, flags=0)
at nrfx/drivers/src/nrfx_spim.c:581
#1 0x00055d6e in common_hal_busio_spi_write (self=self@entry=0x20008680, data=0x200086d0 "\377\377\377\377",
len=<optimized out>) at common-hal/busio/SPI.c:249
it's not clear what is stopping the SPI transaction from finishing, I didn't get very far in troubleshooting. Could it be an out-only SPI problem, or did we introduce a problem for SPI generally on nRF?
I ran the following code:
and it hangs during
write. The last few frames of the traceback are:it's not clear what is stopping the SPI transaction from finishing, I didn't get very far in troubleshooting. Could it be an out-only SPI problem, or did we introduce a problem for SPI generally on nRF?