Commit Graph

77 Commits

Author SHA1 Message Date
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
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
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
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
JF
6abf12ffb7 Detect BLE disconnection (in addition to BLE connection) and update the display accordingly. 2020-01-12 16:39:03 +01:00
JF
04c7b1429f Increase configMINIMAL_STACK_SIZE to fix crash issue caused by freertos timers. 2020-01-09 22:00:54 +01:00
JF
bbe4e500c3 Improve power consumption and SLEEP mode :
- Disable IDLE hook (it would wake the device up as soon as possible).
 - Logger task sleep for 100ms (disable logging for better battery life)
 - Logging is disabled by default
 - Apply fix for ERRATA 87 (clear FPU interrupt before going to sleep). Ports files from FreeRTOS are now in the sources (they where in the SDK before)
2020-01-05 11:09:07 +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
b5b3c4270b Measure and log battery voltage from SystemTask 2019-12-27 15:11:21 +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
e8f9304d37 Code cleaning, implement BT connection, advertising, discovery and CTS in ble_manager module. 2019-12-23 19:57:45 +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
6fbb6c8f70 Convert Spi and GFX to C++. 2019-12-07 17:11:50 +01:00
JF
5225706cc8 Add DisplayApp, and lcdfont. Update the display every second 2019-12-05 21:19:47 +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
JF
2ea27e0cda Initial commit 2019-11-17 20:47:04 +01:00