1
0
Fork 0
Commit graph

81 commits

Author SHA1 Message Date
JF
eabb54f15d Workaround for a issue when the FDS (flash data storage for BLE softdevice)) memory is full (it prevent the app from running correctly and just display a black screen) : if the fds cannot init, erase the memory and try again. 2020-03-15 18:00:41 +01:00
JF
4d2aacf863 Display battery level and BLE connection status using icon on Clock screen. 2020-03-14 16:33:47 +01: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
4de22601f5 Apply a "up" transition when an app is opened. 2020-03-10 20:21:41 +01:00
JF
35e221078b Add support for gestures and integrate it with the vertical scrolling transition. 2020-03-09 21:29:12 +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
3f80a3debd Remove not needed code. 2020-03-06 21:54:36 +01:00
JF
4ffd8d1c91 Call ble_manager_init_peer_manager() _after_ the scheduler has been started. This fixes an issue that would prevent the firmware from running correctly after a full reset or after the flashing of the firmware.
Before this fix, ble_manager_init_peer_manager() was called before the scheduler, which trigged an assert in an IRQ routine.
2020-03-06 21:50:29 +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
d88ec8c2f0 Workaround for the first touch that is taken twice into account. 2020-03-02 20:48:58 +01:00
JF
43ffeb15d1 Remove TODO as they are not needed anymore 2020-03-02 20:48:35 +01:00
JF
262336afa5 Fix Type in sdk_config 2020-03-02 20:19:50 +01:00
JF
6b5b0112e3 Re-Enable BLE 2020-03-02 20:13:42 +01:00
JF
64014f03ee Fix date/time conversion from CTS to internal date/time representation. 2020-03-02 20:13:30 +01:00
JF
824b8a7ebd Move version display from Clock screen to the modal window (accessible from tile menu) 2020-03-02 20:12:46 +01:00
JF
dccef16180 Remove default lvgl font (roboto). 2020-03-01 21:15:39 +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
5bc0640b73 Fix typo in the name of the font "jetbrains_mono_extrabold_compressed" + use it as the default font. 2020-03-01 19:09:59 +01:00
JF
a1d79e7ecc Fix Model that would crash when closing it. 2020-03-01 17:20:27 +01:00
JF
63c5725882 Simplify Tile to improve refresh speed (it's not a tile anymore...).
Disable debug mode of lvgl.
2020-03-01 16:01:53 +01:00
JF
40bdbe503c Instantiate spi, lcd, lvg and touchpanel as global variables instead of unique_ptr (avoids dynamic alloc at run-time. 2020-03-01 16:00:43 +01:00
JF
6d288b905a Configure lvgl theme and use 2*4lines buffers as video buffer (2 lines was not enough and caused perf issues) 2020-03-01 15:59:17 +01:00
JF
e285ba9972 Fix double-buffering for spi display (it's actually using double-buffering, now) 2020-03-01 15:57:58 +01:00
JF
179b14f48c Add new Screens (gauge, meter,...) 2020-02-26 20:49:26 +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
f07ffab4c1 Re-enable BLE, BLE status on display and battery level on display. 2020-02-23 16:14:03 +01:00
JF
02772b996f Do not compile GFX and older fonts anymore.
Refactor SystemTask in its own class.
Refactor Screen to be able to close current screen and open a new one.
Re-enable sleep/wake up and propagate button event to Screens.
2020-02-23 13:44:39 +01:00
JF
2bdff7ed2b Re-enable BLE display on Clock screen 2020-02-20 18:17:53 +01:00
JF
79b4f006be Prevent unnecessary refresh in Clock screen. 2020-02-16 18:37:18 +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
e65c9fa181 Integration of lvgl : continued... 2020-02-10 21:05:33 +01:00
JF
a97faf8e9e First quick'n'dirty integration of LittleVGL. Needs some cleaning. 2020-02-08 18:01:02 +01:00
JF
be7be86033 Improve clock accuraty and reduce clock drifting over time (before : 1/2h per day, now : 0 minutes in 24h). 2020-01-31 20:01:33 +01:00
JF
6491a7c3a0 Remove test code 2020-01-26 15:39:49 +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
aeb4cce8fe Merge branch 'master' of https://github.com/JF002/Pinetime 2020-01-19 12:30:03 +01:00
Daniel Kucera
ffbeeba3e9 downgrade to cmake 3.10 2020-01-18 21:26:05 +01:00
JF
2b3e6b1cde Refactor ctor() and Ini() of SpiMaster. 2020-01-18 20:53:32 +01:00
JF
86d9f6e6c8 Set minimum version of cmake to 3.10 2020-01-18 20:52:33 +01:00
JF
f049f382f0 Encapsulate the drawing of the screen into Screens classes. 2020-01-18 18:17:52 +01:00
JF
fb99520c98 Add version (major.minor.patch) in CMake files.
Display the version on the display.
2020-01-18 14:50:24 +01:00
JF
6ca081739e Update comment about system task 2020-01-18 14:28:13 +01:00
JF
b34ff32f76 DateTimeController is now updated in the system task.
It runs every 1s in Running mode, and every 1h in sleep mode.
This should allow to keep the watch on time for more than 4 hours.
2020-01-18 13:56:25 +01:00