Hi,
I've spent a while modifying the Adafruit_TFTLCD library to get the ILI9341 breakout board working with the T3.1.
Currently, it runs very slow (at a similar speed to the speed of the Due in this demo)
This is most likely because of the way I write each byte of data. Instead of using
from this thread, this is what I've defined in pin_magic.h
Is there any better way to optimise this? My understanding of digitalWriteFast is that it's as fast as it'll get.
Unfortunately, I have no option to use different pins.
thanks.
I've spent a while modifying the Adafruit_TFTLCD library to get the ILI9341 breakout board working with the T3.1.
Currently, it runs very slow (at a similar speed to the speed of the Due in this demo)
This is most likely because of the way I write each byte of data. Instead of using
Code:
#define write8inline(wr) { GPIOD_PDOR = (wr); }
Code:
#define write8inline(wr) { \
digitalWriteFast(0, (wr & (1<<0))); \
digitalWriteFast(1, (wr & (1<<1))); \
digitalWriteFast(2, (wr & (1<<2))); \
digitalWriteFast(3, (wr & (1<<3))); \
digitalWriteFast(4, (wr & (1<<4))); \
digitalWriteFast(5, (wr & (1<<5))); \
digitalWriteFast(6, (wr & (1<<6))); \
digitalWriteFast(7, (wr & (1<<7))); \
WR_STROBE; }
Is there any better way to optimise this? My understanding of digitalWriteFast is that it's as fast as it'll get.
Unfortunately, I have no option to use different pins.
thanks.
Last edited: