JF
f7e40b1b58
Re-implement sleep/wakeup for touch panel, display, NOR Flash, SPI and TWI.
2020-08-22 17:59:59 +02:00
JF
ecbbeb6283
Fix Infinipaint that would crash when started.
2020-08-22 16:42:53 +02:00
JF
a664dec07f
Add paint application.
2020-08-21 11:55:59 +02: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
41c36d3a42
Re-order apps in application menu on 2 pages.
...
Add firmware validation app.
2020-08-14 20:47:21 +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
686e826f4e
Rework characteristic handling
2020-07-15 10:02:01 +01:00
Adam Pigg
7a1e6e6e5b
Add start of music appliction
2020-07-11 21:37:28 +01:00
JF
47851fb3b4
Display BLE MAC address in sysinfo Screen.
2020-06-08 21:51:34 +02:00
JF
07f74cee63
DFU : add timeout detection : abort dfu procedure after 10s without any data from the host.
2020-06-01 16:30:24 +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
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
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
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
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
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
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
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
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
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
fb99520c98
Add version (major.minor.patch) in CMake files.
...
Display the version on the display.
2020-01-18 14:50:24 +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
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
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
16c7ce8929
Send command DisplayOn/Off to LCD when enabling/disabling the display.
2020-01-02 14:48:33 +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