SparkFun_Micro_OLED_Arduino_Library
SparkFun_Micro_OLED_Arduino_Library copied to clipboard
The SPI interface needs transactions support
For more detail, see here: http://dorkbotpdx.org/blog/paul/spi_transactions_in_arduino
At the moment this OLED device cannot be operated at the same time as the Adafruit BLE device as the latter sets itself up with a SPI.setBitOrder(MSBFIRST) call which is a state which the OLED doesn't understand.
It took quite a bit of hacking to get something to work, which involved involved re-ordering the bits and and out of the BLE device in software so that it could operate without setting MSBFIRST and so be compatible with the OLED.
That was before I learnt about the SPI transactions thing, which fixes this and other worse problems to do with interrupts.
This sounds like an issue with the Arduino SPI library. I assume that you could submit it as an issue in the Arduino repo... although, technically, you'd need to submit an issue with every Arduino core (for every board variant out there).
Otherwise, it looks like Paul already provides a fix for the SPI library in his implementation: https://github.com/PaulStoffregen/SPI
Because this issue doesn't involve this hardware repo, I am transferring it to the Arduino library for this product (for other users to see). I am also marking it with the bug
and won't fix
labels, as the issue is with the SPI library implementation and not the actual Micro OLED Arduino library.