Close

LCD Version 2

A project log for DSKY

Create a working DSKY using a 3D printer and my AGC simulator running on a Raspberry Pi and slave Arduino Nanos.

wglasfordwglasford 07/13/2022 at 17:321 Comment

Now that I have Ron's simulator up and running, I realize the SPI interface to the LCD is too slow.  The interface is too slow to get the Verb/Noun flashing to work.  My next step is to get the 8-bit interface working between the LCDs and the Arduinos.  I will now take one of the LCDs out, solder up the 8-bit connector and breadboard that to see how much faster it runs...  

And the results are in!  The 8-bit is not any faster and in some cases slower than the SPI.  Both interface libraries have graphics test programs but they are a bit different.  I took the 8-bit test program and modified it to run using SPI and performed a run-off using the same code for both interfaces.  Here are the results.  Times are in seconds.

TestSPI8-bit
Screen Fill3.0970482,758792
Text0.1684320.356892
Lines2.7375406.946940
Hor/Vert Lines0.2609360.278024
Rectangle(outline)0.1479640.172116
Rectangle(filled)7.5503767.670884
Circles(outline)0.9880201.851536
Circles(filled)1.1444722.950412
Triangle(outline)0.5318561.316972
Triangle(filled)2.9964523.605184
Roundtangle(outline)0.4215240.920348
Roundtangle(filled)7.5626087.917336

So despite the AdaFruit documentation claiming the SPI interface is 2 to 4 times slower than the 8-bit, I don't believe it.  Maybe this is because the Arduino Nano Every uses a newer ATMega4809 processor versus the older ATMega328P processor.  I had assumed the SPI interface pushing bits across the interface would be significantly slower than pushing 8-bits at a time.

The numbers don't lie so I will stick with the Nanos and look at improving the code performance.

Discussions

Jrsphoto wrote 07/15/2022 at 02:55 point

For the fun of it I compiled the code for the Teensy 4.0 processor an it compiles without error.  I've been using these for some time and the performance difference between these and the Arduino Nano series of boards is pretty crazy.  I don't have the displays until Monday or Tuesday next week.  I'll run the code when I get them and see how it performs and let you know.

I've been running the Teensy 4.1's with a ham radio transceiver project I've been involved with, using these RA8875, 800x480 capacitive touch LCD's from BuyDisplay.com.  The Teensy 4.1 handles all the I/O from the 6 I2C encoders, 1 600ppr rotary encoder for the VFO, touch screen display, and display I/O, I2S Audio, and a bunch of stuff.:

Here's a video of an early version of the code.

https://www.youtube.com/watch?v=3Epy7RWT7vM&t=11s

  Are you sure? yes | no