I have a program running with SD 7.2 and SPI on my nrF51822 talking to a SPI slave device. I use GPIOTE triggered on an edge to set a chip select line and read bytes from the slave. I do not use Timer 0 or PPI for my SPI implementation.
The method works perfectly without softdevice, but when I brought it into my BLE application the second byte I receive always seems to be 0 when I transfer a value from the SPI RX buffer to an inline declared byte array. I break before saving the second byte to a temp. variable and the RX buff shows it is non-zero. But after the assignment, I see 0x00 stored into the temp. variable. I return on receiving 0 and have observed this when letting my program run free as well.
I checked against the SD resource specifications and it does not seem like anything I am doing should conflict with the softdevice. Am I missing anything critical?