I figured it out; I can run both graphicstest and graphicstest_highspeed on the shield now:
The difference was that shieldtest and graphicstest default to using different pins. At the top of the file, there is a set of #defines, like this:
Code: Select all
#define cs 6
#define dc 7
#define rst 8
Change these to match the corresponding lines in shieldtest; so cs ought to be 10, dc 8, and rst -1 (make sure you're looking at TFT_CS and not SD_CS in shieldtest). Then, to use highspeed graphics, below those are two different calls to Adafruit_ST7735(), one labeled "option 1" and one labeled "option 2". Comment out option 1 and use option 2, like this:
Code: Select all
// Option 1: use any pins but a little slower
//Adafruit_ST7735 tft = Adafruit_ST7735(cs, dc, mosi, sclk, rst);
// Option 2: must use the hardware SPI pins
Adafruit_ST7735 tft = Adafruit_ST7735(cs, dc, rst);
(I think this is the only difference between normal graphics mode and highspeed mode, and it seems like there's no reason not to do highspeed with the shield).
I did this and it worked perfectly! Really cool shield!