I have been using the Arduino interface and trying to get the Adafruit ST7735 1.8" TFT
to "work" without going into uninterruptible sleep mode - and the only workaround I have found is to do the following things
1) modify the third party code Adafruit_ST77753.cpp by changing:
#define X86_BUFFSIZE 32
voidinline Adafruit_ST7735::spiwriteN(uint32_t count, uint16_t c) {
to
#define X86_BUFFSIZE 16
voidinline Adafruit_ST7735::spiwriteN(uint32_t count, uint16_t c) {
2) i in Adafruit_ST77735.cpp find:
void Adafruit_ST7735::commonInit(const uint8_t *cmdList) {
colstart = rowstart = 0; // May be overridden in init func
and add
pinMode(_cs, OUTPUT);
Or you can put that in the Arduino sketch as long as it's very close to the top of the Setup block.
The result is that you don't go into uninterruptable sleep - BUT - it is slow as heck.
Hope any of that is useful
Cheers
Joe