SparkFun_Micro_OLED_Arduino_Library icon indicating copy to clipboard operation
SparkFun_Micro_OLED_Arduino_Library copied to clipboard

The SPI interface needs transactions support

Open goatchurchprime opened this issue 9 years ago • 1 comments

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.

goatchurchprime avatar Feb 02 '15 20:02 goatchurchprime

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.

santaimpersonator avatar Sep 01 '21 01:09 santaimpersonator