PaulStoffregen / ST7735_t3

Teensy 3.x Optimized Version of Adafruit_ST7735 (1.8 inch TFT Display)
33 stars 16 forks source link

add writeRect (from ili9341_t3 library) shorten reset delays #2

Closed KurtE closed 5 years ago

KurtE commented 5 years ago

The reset delays were left too long. Current code was 500+500+500ms or 1.5 seconds. Shortened to same delay as Adafruit SPITFT code (100+100+200)

Also playing with UnCannyEyes that @mjs513 modified to work with these display on T4... Found the only easy way to update the display was to use drawPixel which was real slow.

Tried using: setAddrWindow and repeat pushColor - But SPI transaction stuff got in the way... Displays rejected updates since I assume CS pin changes state...

So added writeRect like ili9341_t3 library has. Simply changing the uncanny eyes to builld up an array for each scan line and doing one writeRect per line, sped up uncanny eyes from about 8fps to about 63fps.

Building whole image up into one array with only one call to writeRect sped up to about 69-70fps...

KurtE commented 5 years ago

Update: This PR now has several enhancements including: Support for some newer Adafruit displays: new 320x240 ST7789 display: https://www.adafruit.com/product/4311 The 160x80 ST7735 display: https://www.adafruit.com/product/3533

Support for ST7789 displays, that do not have CS pins. There are lots of them up on Amazon and EBay, examples: https://www.amazon.com/Semoic-Communication-Voltage-Interface-Display/dp/B07RQWP77N/ https://www.ebay.com/itm/US-1-3-IPS-Full-View-HD-LCD-Display-Module-ST7789-240-240-12Pin-3-3V-4xSPI-DIY/

In addition there is now Frame buffer support along with functions to update the display synchronous and asynchronous. Tested on T4, T3.6, T3.5, T3.2 (can have 1 FB on smaller displays), on LC (no frame buffer). Have tests that runs multiple displays on different SPI busses at same time.

Note: On T4, the DMA update was updated to use smaller secondary buffers to DMA out of, as to take care of issue of upper memory being cached.

PaulStoffregen commented 5 years ago

is this ready to be merged?

KurtE commented 5 years ago

Yes – it has been tested by a few of us, so should be working well, including now on T4 using DMA…

From: Paul Stoffregen notifications@github.com Sent: Thursday, August 01, 2019 1:33 PM To: PaulStoffregen/ST7735_t3 ST7735_t3@noreply.github.com Cc: KurtE kurte@rockisland.com; Author author@noreply.github.com Subject: Re: [PaulStoffregen/ST7735_t3] add writeRect (from ili9341_t3 library) shorten reset delays (#2)

is this ready to be merged?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/PaulStoffregen/ST7735_t3/pull/2?email_source=notifications&email_token=AAL4MQG34CTEMOQ6FYD6533QCNB57A5CNFSM4H633PG2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD3LZ2VI#issuecomment-517446997 , or mute the thread https://github.com/notifications/unsubscribe-auth/AAL4MQE22TAXSASJVSP77X3QCNB57ANCNFSM4H633PGQ .