Wykres commitów

301 Commity (master)

Autor SHA1 Wiadomość Data
Peter Hinch 0a3491e17d
Merge pull request #101 from cpottle9/ili9488-optimization
Optimize ili9488 driver
2025-04-18 17:42:43 +01:00
Carl Pottle f6c3cf29bb Optimize ili9488 driver
I implemented several code optimizations from
a presentation by Damien George I found on youtube.
The optimizations are on a slide here:
https://youtu.be/hHec4qL00x0?t=813

1) Change __init__ to use bit 5 in madctl register
   to swap row/column for landscape mode.

2) Eliminate functions _lscopy and _lscopy_gs.
   They are not needed because the ili9488 chip
   is handling orientation.
   Results in simplification in show() and
   do_refresh().

3) Minor optimizations to _lcopy and _lcopy_gs.
   Reverse order processing bytes.
   Specific changes:
   - change while condition from 'x < length' to
     simply 'length'. This test is faster in viper.
   - use length as index into source instead of x.
     Variable x is removed.
     This requires the source and dest to be
     processed from end to beginning.
   - other optimizations from the Pycon talk
     given by Damien George.

4) Optimizations to show() and do_refresh().
   - Caching in local variables
   - Changes to support writing more pixels
     for each call to spi.write().
     Saving from this are larger on ESP32
     than on Pico and Pico 2.

The Damien George optimizations save 10 to 20 milliseconds
per screen refresh on my ESP32. I expect similar results
for Pico and Pico2.

The saving from fewer calls to spi.write() is significant
on my ESP32. 60 to 80 milliseconds.
The saving on Pico and Pico2 are smaller, 10 to 20 milliseconds.
2025-04-17 11:03:41 -07:00
Peter Hinch cd5210a132 st7789 drivers: provide default rst arg. 2025-04-15 17:04:56 +01:00
Peter Hinch 332fd6d709 ili9488.py: Add acknowledgement of Carl Pottle. 2025-04-07 10:37:35 +01:00
Peter Hinch e136541191 Update ili94xx package.json, also DRIVERS.md 2025-04-06 12:22:20 +01:00
Peter Hinch afee42df00 Add ILI9488 driver. 2025-04-06 12:19:26 +01:00
Peter Hinch 258e9069fd
Add ILI9488 driver
New driver for ILI9488 over SPI bus.
2025-04-06 12:17:10 +01:00
Peter Hinch 0de1026524 Merge branch 'ili9488' 2025-04-06 11:06:37 +01:00
Carl Pottle 82b263a422 Address code review feedback
Three relatively small changes:
1) Undo changes to gui/core/writer.py
2) Modify setup_examples/ili9488_pico.py to specify pins
   by number rather than string.
3) As recommended, use a 2 byte per entry color lookup table
   rather than 3 bytes (needed to undo changes in writer.py).

I ran the same tests for these changes as last time.
2025-04-04 11:28:03 -07:00
Carl Pottle 10ca0458db New driver for ILI9488 over SPI bus
ILI9488 does not support 16 bits per pixel over SPI.
It does support it over 8 or 16 bit parallel bus.
As a result, the existing ili9486 driver will work
with some ili9488 boards.

Some vendors sell boards with ILI9488 and serial to parallel
converters.
I beleive those boards will work with either the ili9486 or
this new driver.

I tested this code with the following demos:
- gui/demos/scale.py
- gui/demos/aclock.py
- gui/demos/aclock_large.py
- gui/demos/scale.py

I tested landscape and portrait in color and greyscale.
2025-04-01 16:27:20 -07:00
Peter Hinch 330bb07d89 ADAFRUIT.md: Fix broken links and typo. 2025-03-31 10:39:17 +01:00
Peter Hinch 701149bc3a DRIVERS.md: ILIxxx sections are now adjacent. 2025-02-05 14:29:23 +00:00
Peter Hinch 77f58af1fa
Merge pull request #89 from clach04/issue_86_cyd2_setup
Setup example: CYD1 and CYD2 support for Sunton ESP32-2432S028R
2025-01-28 12:14:27 +00:00
clach04 c5395bb697 CYD1 and CYD2 support for Sunton ESP32-2432S028R 2025-01-27 16:33:01 -08:00
Peter Hinch b608f4db66 ILI9341 drivers: add mod constructor arg. 2025-01-26 12:31:29 +00:00
Peter Hinch 7868db5317 ILI9341 8-bit driver: add rot and bgr constructor args. 2025-01-26 11:24:52 +00:00
Peter Hinch ef1e80b1de ILI9341 driver: add rot and bgr constructor args. 2025-01-26 11:03:19 +00:00
Peter Hinch 71da31c6b4
Merge pull request #82 from clach04/patch-1
Add version attributes issue #79
2025-01-08 10:02:00 +00:00
clach04 f6c5fd54c7
Add version attributes issue #79
Adds two attributes for callers to determine the version number of library/package/module. Both a tuple and a string are provided.
2025-01-07 20:54:01 -08:00
Peter Hinch 2e570b0fc5 Setup examples: rename CYD files as per PR#80 discussion. 2025-01-07 13:27:55 +00:00
Peter Hinch 4c61da1051
Merge pull request #80 from clach04/issue_77_cyd
Sunton ESP32-2432S028 aka CYD setup support - implements #77
2025-01-07 13:22:20 +00:00
Peter Hinch 70d98ab5d2
Merge pull request #81 from clach04/ili9341_doccomments
drivers/ili9341 doc pointers for parameters
2025-01-06 12:27:16 +00:00
clach04 4bc950d7da ili9341 doc pointers for parameters 2025-01-05 10:44:16 -08:00
clach04 ab6d8b6cb4 Sunton ESP32-2432S028 aka CYD setup support - implements #77
For more information about this hardware see
https://github.com/witnessmenow/ESP32-Cheap-Yellow-Display/

Tested with CYD1 (single-USB) MicroPython 1.24.1 for ESP32
using demos gui.demos.clocktest and gui.demos.aclock_large
2025-01-05 10:28:44 -08:00
Peter Hinch 02f943f9f0 Document new displays. Add 2.4" CYD setup example. 2025-01-05 15:21:49 +00:00
Peter Hinch 07095f475f st7789_8bit.py: Fix bug. Both drivers: add color config option. 2025-01-03 18:17:45 +00:00
Peter Hinch 8e46a7f5b5 pico_epaper_42_v2 drivers: Add code comments re long term use. 2024-10-25 17:24:19 +01:00
Peter Hinch 4e27b3469a Pico ePaper drivers: add code comment. 2024-10-12 10:24:44 +01:00
Peter Hinch 66e1ab6459 Display drivers: add short_lock facility. 2024-10-08 16:10:57 +01:00
Peter Hinch c464dc844e Add ILI9341 8-bit driver. 2024-09-18 16:54:14 +01:00
Peter Hinch 0fad050301 Add ST7789 8-bit driver. 2024-09-17 12:04:31 +01:00
Peter Hinch 514831a987 Add support for Adafruit 320x170 TFT. 2024-08-18 08:42:10 +01:00
Peter Hinch 1271aa797d DRIVERS.md: Document 4.2" greyscale driver. 2024-08-08 17:23:40 +01:00
Peter Hinch 14b3fca4f8
Merge pull request #70 from surdouski/waveshare-4_2_rev_2_2-gs
Waveshare 4.2" V2 Display - Greyscale Driver
2024-08-07 11:05:29 +01:00
surdouski ce9bfc6009 use bytes and memoryview 2024-08-06 11:51:44 -04:00
Peter Hinch 8a5c698655 DRIVERS.md: Doc 4.2" ePaper display do_refresh. 2024-07-24 17:48:29 +01:00
surdouski 28486ef3f6 Greyscale 4.2" driver. 2024-07-23 11:37:49 -04:00
Peter Hinch 99829bb266 pico_epaper_42_v2.py: Change default pin to match hardware. 2024-07-22 14:10:41 +01:00
Peter Hinch a6b19a8792 pico_epaper_42_v2.py: Change default pin to match hardware. 2024-07-22 14:05:16 +01:00
Peter Hinch b9506de37a Minor changes to driver pico_epaper_42_v2.py. 2024-07-19 13:56:20 +01:00
Peter Hinch 6f7a8112c8 Document 4.2" V2 driver. 2024-07-13 15:47:57 +01:00
Peter Hinch 31d6306abd Document 4.2" V2 driver. 2024-07-13 15:34:32 +01:00
Peter Hinch 0782026294 Document 4.2" V2 driver. 2024-07-13 15:33:26 +01:00
Peter Hinch e585e5f718 Document 4.2" V2 driver. 2024-07-13 15:31:31 +01:00
Peter Hinch 8ad08bdf41
Merge pull request #64 from surdouski/waveshare-4_2_rev_2_2
Driver implementation for waveshare 4.2" rev2.2
2024-07-13 11:56:48 +01:00
surdouski 40ffd447e4 add waveshare driver for 4.2inch display rev2.2 2024-07-12 18:30:51 -04:00
Peter Hinch f114c2b6c0 Update docs. 2024-07-09 13:17:25 +01:00
Peter Hinch df7656802a pico_epaper_42 drivers async refresh: improve means of limiting blocking time. 2024-07-04 18:50:23 +01:00
Peter Hinch 7ecabf0fc1 Selected drivers: make mode a bound variable 2024-07-02 19:00:41 +01:00
Peter Hinch 29ef2002b4 Image display: support Python image files. 2024-06-21 18:09:11 +01:00