Commit graph

28 commits

Author SHA1 Message Date
Jean-François Milants 8fee341b86 ST7789 : do not reconfigure the reset pin to default during sleep. 2023-06-04 17:22:27 +02:00
Jean-François Milants e224263828 Power optimization - Improve SPI sleep mode
Fix formatting issue in St7789.cpp
2023-06-04 17:22:27 +02:00
Jean-François Milants 9bd90c906e Power optimization - Improve SPI sleep mode
ST7789 driver : replace the constant '26' with a named constant to specify the pin number of the reset pin of the LCD controller.
2023-06-04 17:22:27 +02:00
Jean-François Milants 62848b33fb Power optimization - Improve SPI sleep mode
Calls to Spi::Init() are not needed, pin initialization is already done in ctor().
Remove calls to Spi::Sleep()/Spi::Wakeup() to ensure that SPI CS pins are kept high even in sleep mode.
2023-06-04 17:22:27 +02:00
Jean-François Milants 4c0f897953 Power optimization - Improve SPI sleep mode
Ensure that all pins are set to their default configuration during sleep mode.
Disable the workaround for FTPAN58 (SPI freezes when transfering a single byte) at the end of the transfer. This disables the resources needed for the workaround.
Those changes reduce the power usage by 430-490µA.
2023-06-04 17:22:27 +02:00
izzeho d6aa767bda Add P8B mirrored version definition. 2022-08-15 13:18:23 +02:00
Riku Isokoski 8061822f0c Fix large blacklevel step. Lower 25% of shades are now accessible.
There is a large step in brightness from level zero to level one.
After experimenting with various ST7789 options, I found that
decreasing VDV to 0x10 (-0.4V) fixes this issue.

The gamma change reduced the average error in brightness, but with the
underlying issue fixed, the gamma change has been reverted.
2022-04-29 11:35:22 +03:00
Riku Isokoski aa32159c00 Tweak gamma on ST7789 and match UI colors
This change will increase the color accuracy of the PineTime and make UI
development with the simulator easier.
2022-04-25 15:50:26 +03:00
Reinhold Gschweicher ac7b2da611 Update includes to to be relative to src directory
Don't use relative imports like `../foo.h` as those depend on the
relative position of both files. Rather than that use imports relative
to the `src` directory, which explicitly is part of the include
directories.
2021-11-15 22:02:49 +01:00
hubmartin db50131ed4 Remove commented commands completely 2021-08-23 15:02:40 +02:00
hubmartin 099364e619 Remove LCD reset and more cmds, save over 200ms 2021-08-15 16:48:41 +02:00
Avamander 572be3e857
Removed an illogical comparison from SystemInfo and St7789 driver (#449)
* Removed an illogical comparison
2021-06-22 20:31:31 +02:00
Avamander 40d45d923b Reformatted all the files according to clang-format style 2021-04-24 11:39:53 +03:00
Joaquim dba7e47ac0 FIX screen corruption #213 2021-03-18 19:38:19 +00:00
okaestne c3475b92fa
Include cleanup: drivers 2020-11-15 05:04:22 +01:00
JF f7e40b1b58 Re-implement sleep/wakeup for touch panel, display, NOR Flash, SPI and TWI. 2020-08-22 17:59:59 +02:00
JF 0b8e6c3fa2 Add SPI NOR Flash driver, WIP. 2020-05-07 19:53:51 +02:00
JF a91c68c931 Backup and restore vertical scroll offset when goind to sleep/wakeup to avoid scrambled display on wake-up. 2020-03-11 21:35:06 +01:00
JF 0a5cd60fe8 When a full screen refresh is done, apply a vertical scroll during the refresh. This makes the transition from one screen the another one smoother, even if the refresh rate is slow. 2020-03-08 21:46:25 +01:00
JF f30573a9b0 Add support for hardware assisted vertical scrolling. 2020-02-15 15:12:29 +01:00
JF 5fa4f5abe0 Better integration of SPI with DMA and IRQ. Using only 'End' IRQ. Perf could be improved by using 'Started' IRQ to prepare the next buffer while the current one is beeing sent. 2020-01-26 13:37:10 +01:00
JF eb7a1b3ac9 [WIP] Max SPI speed reached (119ms for a full refresh. Theo max : 240*240*16 = 115.2ms) using IRQ and DMA.
Code needs some cleaning before integration.
2020-01-22 21:08:53 +01:00
JF b4bd41cd56 Implement the SPI driver using DMA. 2020-01-19 19:47:49 +01:00
JF 8daa830ee0 Apply Hardware reset on display during wake-up, as softreset might not be enough to wake the display up. 2020-01-18 13:55:22 +01:00
JF c1f3a31b51 Disable SPI, I²C, touch controller and display controller in sleep mode.
Re-enable them on wake up.

Remove delays that were not needed in st7889 driver.

Hopefully, it'll improve the battery life!
2020-01-17 22:16:45 +01:00
JF e08cfe07c7 Apply reset signal on pin P0.26 for LCD during init. 2020-01-02 14:47:59 +01:00
JF 528fc56616 The font is now fixed width.
HUGE performance improvement of the display driver.
2019-12-07 19:15:33 +01:00
JF 6fbb6c8f70 Convert Spi and GFX to C++. 2019-12-07 17:11:50 +01:00
Renamed from src/drivers/st7789.cpp (Browse further)