Voting resources, early voting, and poll worker information - VOTE. ... Adafruit is open and shipping.
0

Feather + HX8357 TFT 8 bit parallel mode
Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.

Feather + HX8357 TFT 8 bit parallel mode

by hypercubed on Fri Sep 04, 2020 1:28 pm

Hello,
I recently acquired the 3.5 inch touchscreen (2050) and it works great.
However, I do find that SPI mode is very slow at redrawing the screen (I find over a second per refresh)
The reason I would need more speed is because I have text input with vertical scroll as well as whole-screen pictures. When I'm inputting and the screen is not full it works fine because I can just update that character.
But when the screen is full and I enter a newline the whole screen has to refresh because all the text has to get bumped up one line.
I tried turning on DMA ( by editing Adafruit_SPITFT.h and uncommenting the
Code: Select all | TOGGLE FULL SIZE
#define USE_SPI_DMA
line) but it's still slow.
So I thought the best way to increase the speed would be to use 8-bit parallel mode instead of SPI. I don't mind using all those extra pins because I only need one other one for this project.

I saw this video https://www.youtube.com/watch?v=ClabKcWVxT8 and the description says it uses ATSAMD51 which is what my Feather uses. Would it be possible to get the source code/library for that?

The Adafruit Learn article for my screen (https://learn.adafruit.com/adafruit-3-5-color-320x480-tft-touchscreen-breakout/8-bit-wiring-and-test) has a tutorial for connecting via 8-bit parallel but it only shows the Arduino Uno wiring.
It also says:
The 8-bit mode is hand-tweaked in the Adafruit_TFTLCD pin_magic.h file. Its really only for advanced users who are totally cool with figuring out bitmasks for various ports & pins.

If that's the route I need to go (I'm assuming using the TFTLCD library and editing the pins_magic.h), how would I go about doing it? Or has someone done it already?

hypercubed
 
Posts: 5
Joined: Mon Jul 06, 2020 11:15 am

Re: Feather + HX8357 TFT 8 bit parallel mode

by mikeysklar on Tue Sep 08, 2020 4:43 pm

Hello hypercubed,

You are on the right track with 8 bit parallel DMA being must faster than SPI.

We have the Amiga bouncing ball graphic demo buried in one of our PyPortal guides and on github:

Amiga Boing!
As featured above, this draws a checkered ball around the screen, a classic Amiga demo. Available in the Adafruit_ILI9341 library as the pyportal_boing demo. It's an intense demo showing how to calculate a scan line and render it post computation.


https://learn.adafruit.com/adafruit-pyp ... hics-demos
https://github.com/adafruit/Adafruit_IL ... rtal_boing

Also some M0/M4 performance options:

https://learn.adafruit.com/adafruit-pyp ... ches-to-m0

mikeysklar
 
Posts: 1995
Joined: Mon Aug 01, 2016 8:10 pm

Please be positive and constructive with your questions and comments.