1
0
Fork 0
Commit graph

43 commits

Author SHA1 Message Date
Avamander
e3fb2f0b89 Renamed DisplayApp/ to displayapp/ 2020-10-02 21:46:41 +03:00
JF
7d3af600bd Add TouchModes : in Gestures mode, only 1 event is processed for each touchevent. This allows to recognize gesture and handle them in Screens or in DisplayApp.
In Polling mode, X/Y positions are sent continuously to lvgl, allowing to scroll inside a dropdown menu for example.
2020-08-20 21:09:45 +02:00
JF
83f6d7d81b Fix most of the warnings. Remaining warnings come from nimble source code. 2020-08-17 16:31:00 +02:00
JF
e6f5ab7b91 Merge develop and fix conflicts. 2020-08-14 19:54:43 +02:00
JF
f5328ec9eb Refactor ScreenList to make it more generic : it can now contain any Screen type.
Integrate this new ScreenList in SystemInfo.

Add ApplicationList, which is a ScreenList of Tile. This allows to display a menu of more than 6 applications.
2020-08-14 09:46:37 +02:00
JF
bbfc20c3ff Add new screen that allows the user to manually validate the new firmware he's just OTA'ed.
Still need to find a way to display this screen when needed.
2020-08-11 17:50:00 +02:00
Adam Pigg
789e06fdb7 Merge branch 'develop' of https://github.com/JF002/Pinetime into music 2020-07-11 21:41:20 +01:00
Adam Pigg
7a1e6e6e5b Add start of music appliction 2020-07-11 21:37:28 +01:00
JF
da39f402e5 Replace bitmap icons by font icons (provided by AwesomeFont and LVGL). These icons are smaller in memory and quicker to draw.
BLE and battery icon replaced in Clock screen.
Added heartbeat and step icons in Clock screen.
Replace all labels in Menu by icons.

Add doc to generate new font.
2020-07-04 13:58:15 +02:00
JF
e20fdfa494 Add new screen that is displayed during the OTA transfert. 2020-05-02 14:16:57 +02:00
JF
baca0fc3e5 Encapsulate Notification management in NotificationManager. It implement a static array of notifications to avoid dynamic allocation. 2020-03-28 19:05:28 +01:00
JF
68240704c7 Add support for BLE notification (ANS client).
Work In Progress!!!
2020-03-25 21:23:40 +01:00
JF
fb64ba8fb6 Add new App : Sysinfo. It displays various info about the running system : version, date/time, battery, brightness and resetreason. It contains placeholder for future use (like mac address, uptime,...). 2020-03-22 12:03:17 +01:00
JF
8ed6ffaaf8 Add the possibility to the screen to handle a touch gesture.
A default action is taken if the current screen doesn't handle it.
2020-03-15 21:01:24 +01:00
JF
2ed76ac556 Encapsulate brightness controll into the class BrightnessController.
Add a new app to configure the brightness.
2020-03-15 18:03:11 +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
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
179b14f48c Add new Screens (gauge, meter,...) 2020-02-26 20:49:26 +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
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
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
6491a7c3a0 Remove test code 2020-01-26 15:39:49 +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
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
f049f382f0 Encapsulate the drawing of the screen into Screens classes. 2020-01-18 18:17:52 +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
JF
f23ef842ca Improve date/time accuracy and handle counter overflow. 2020-01-12 16:00:45 +01:00
JF
8253c099d9 Add date library (https://github.com/HowardHinnant/date) to manage the date and time.
The date is now properly processed (31 December 2019 23:59:59 + 1s => 1 January 2020 00:00:00)
2020-01-11 17:14:12 +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
b744b96622 Add DateTimeController to manage the time.
Use messages in message queues to refresh the UI
2019-12-28 14:34:50 +01:00
JF
46eeefb53a Add BleController to manage the BLE connection status 2019-12-27 17:05:49 +01:00
JF
fcbd341c1c Implement battery measurement in BatteryController.
Update battery info on wake up (with button)
2019-12-27 16:05:35 +01:00
JF
11d5403558 Add small font, display date, Ble connection and battery power in display app (hard-coded values for now). 2019-12-27 15:12:09 +01:00
JF
75e74904e8 Use push button to go to sleep/wake up.
Use a queue to transmit messages between system and display task (sleep & wake up for now).
2019-12-26 18:33:40 +01:00
JF
981dc3fce1 Track the time using RTC 2019-12-21 22:31:06 +01:00
JF
ecf307c559 Add BLE and CTS client. Time can be retrieved from a CTS server (like NRFConnect) once it's bond.
WIP, the code is really ugly
2019-12-21 17:58:00 +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
5225706cc8 Add DisplayApp, and lcdfont. Update the display every second 2019-12-05 21:19:47 +01:00