Commit graph

125 commits

Author SHA1 Message Date
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 d834f40c10 Do not copy LittleVgl object in DislayApp, use reference instead.
Make Cst816s, SpiMaster and St7789 not copiable and not movable
2020-03-08 21:38:11 +01:00
JF 545636940f Merge branch 'littlevgl'
# Conflicts:
#	src/DisplayApp/Screens/Clock.cpp
#	src/DisplayApp/Screens/Clock.h
2020-03-03 19:59:01 +01:00
JF 6f1857c503 Add debugPins module that provides functions to set and clear debug GPIOs.
Disable logging once again.
2020-03-01 21:00:59 +01:00
JF 0aa1803ea2 Enable watchdog, and issue a WDT reset when the button is pushed for more than 7s. 2020-02-23 21:09:11 +01:00
JF 167a0ffc87 Add touch panel port to lvgl.
PoC of user interaction with 3 screen (clock, menu and app).
2020-02-16 18:32:36 +01:00
JF f30573a9b0 Add support for hardware assisted vertical scrolling. 2020-02-15 15:12:29 +01:00
JF 52539a5ff1 Log Touchpanel data (position + gesture!) 2020-02-12 19:57:04 +01:00
JF a97faf8e9e First quick'n'dirty integration of LittleVGL. Needs some cleaning. 2020-02-08 18:01:02 +01:00
JF 640e8cd1fe GFX : wait end of transfert using a task notification.
Code cleaning in SpiMaster.
2020-01-26 15:35:18 +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 aa3e5c0c6f [WIP] Use IRQ in SPI driver to improve performances 2020-01-22 19:45:53 +01:00
JF b4bd41cd56 Implement the SPI driver using DMA. 2020-01-19 19:47:49 +01:00
JF 2b3e6b1cde Refactor ctor() and Ini() of SpiMaster. 2020-01-18 20:53:32 +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 ee530baaa0 Add basic touch panel driver.
Handle touch event in display app : draw a big square at the touch point coordinates.
2020-01-03 16:32:31 +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
JF 0db16bd827 Add missing return statements which fix crashes in release mode.
Add flag to compiler so that it generates an error when a returning function does not return something...
2019-12-06 20:46:21 +01:00
JF adf405a230 Add support for LCD (ST7789) 2019-12-05 19:23:46 +01:00
JF 66182d15bc First code tested on the actual pinetime hardware 2019-12-02 19:42:10 +01:00