Hi all,
Here's the deal: I want to run a ST7735 display off a Due. I've gotten it to work well enough with existing libraries, but I want to really push the limits of this display. Yes, I'm aware, it's not a fancy 60Hz panel, and my chances of getting anything over 24Hz refresh are low, but I figured why not?
My first issue involves trying to streamline draw operations. According to the ST7735 datasheet, I can do "4-wire" or "3-wire" serial. The former means MOSI/SS/SCK plus a Data/Instruction bit. The latter puts the Data/Instruction onto the SPI bus, but that means it's now 9-bit SPI. Because I'm dealing with a Due, this shouldn't be a problem. However, the Arduino official libraries don't allow for this, even if I'm compiling for ARM. I'm having a bit of a brain fart trying to follow the SAM3X8E datasheet and need a bit of help, preferably with sample code and comments. I've successfully configured AVRs to do hardware SPI before (Atmel makes amazingly great documentation) so I'm familiar with what's involved. I'm just very lost trying to compare some of the examples I've seen online, looking at the datasheet, and faffing around in the header files trying to understand all the #defines.
My second issue -- and this probably deserves a post of its own, so I apologize in advance -- is that I want to use DMA to further cut down on processing. I'm aware this has been done on Teensy, as per the Teensy forums, but there are are "issues" with it that some claim make it not doable with a Due. So this part is threefold: (1) is it worthwhile to keep a "screen buffer" on the Due that updates the entire screen using DMA -- knowing that the display has its own RAM and doesn't need refreshing? (2) If it doesn't make sense to redraw the screen for whatever reason (i.e. timing) does it make sense to use DMA at all, if for no other reason than to buffer updates? (3) Assuming "yes" to either or both of the above, sample code please?
Lastly -- and yes I know I'm pushing my luck at this point -- does anyone know of any libraries that have been optimized to make use of one or more of the above inquiries? As stated, I'm aware there is "something" for Teensy, but I would rather use a Due for the moment.
Thanks in advance.