Thanks! I have no idea what caused the inversion. There is code in Espruino to handle inversion in software, but it reads whether to do the inversion from flash, so that shouldn't ever be able to get modified.
That 120uS pause would definitely cause the instability - unfortunately it's very difficult to avoid with software SPI since the Bluetooth stack needs to be able to interrupt things to keep the Bluetooth timing correct and keep the connection up.
Do you think you'd be able to keep the code I'd used with the 0b10101010 and try it with hardware SPI?
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
Thanks! I have no idea what caused the inversion. There is code in Espruino to handle inversion in software, but it reads whether to do the inversion from flash, so that shouldn't ever be able to get modified.
That 120uS pause would definitely cause the instability - unfortunately it's very difficult to avoid with software SPI since the Bluetooth stack needs to be able to interrupt things to keep the Bluetooth timing correct and keep the connection up.
Do you think you'd be able to keep the code I'd used with the 0b10101010 and try it with hardware SPI?