OK, I got teensy 3.0 and 3.1 working with current Adafruit libraries. For teensy 3.1, I had to add delayMicroseconds(1) to read8inline so it looks like
#define read8inline(d) { RD_ACTIVE; delayMicroseconds(1); d = GPIOD_PDIR; RD_IDLE;}
Here are graphicstest times
Code:
teensy 3.0 96mhz
TFT LCD test
Using Adafruit 2.8" TFT Breakout Board Pinout
Found ILI9328 LCD driver
Benchmark Time (microseconds)
Screen fill 295919
Text 35533
Lines 719936 total time
Horiz/Vert Lines 30875
Rectangles (outline) 21577
Rectangles (filled) 734834
Circles (filled) 222147
Circles (outline) 76280
Triangles (outline) 57157
Triangles (filled) 299737
Rounded rects (outline) 40465
Rounded rects (filled) 833481
Done!
teensy 3.1 @ 96mhz
Benchmark Time (microseconds)
Screen fill 210555
Text 25952
Lines 598607
Horiz/Vert Lines 20019
Rectangles (outline) 14406
Rectangles (filled) 459568
Circles (filled) 167211
Circles (outline) 64348
Triangles (outline) 47564
Triangles (filled) 203945
Rounded rects (outline) 31232
Rounded rects (filled) 531085
I tried 168mhz on teensy 3.1, but output had some gibberish and it eventually hung in Circles test ?? Lines at 168mhz was 363296us.
And I measured 32.7ma at 3.3v for the TFTLCD, so I powered it from the teensy 3 3.3v pin. This is on older Adafruit TFTLCD,
http://www.adafruit.com/products/335
The Lines results (testLines in .cpp) is the total line drawing time. The graphicstest sketch had a bug (in my opinion) that only reported the time for the last test sequence, instead of the sum of all four line drawing sequences, so I corrected the return value to reflect the total time.
For comparison, here are Lines results (us == microseconds) for
Code:
DUE @84mhz 1728104 us
maple @72mhz 8069394 us (my hack of 2012 lib)
UNO @16mhz 4316544 us
Paul has performance results for SPI-based TFTLCD here
http://forum.pjrc.com/threads/26072-Teensyduino-1-20-features?p=50377&viewfull=1#post50377
(Lines results probably needs to be multiplied by 4, 4*245785 = 983140us )