Commit graph

45 commits

Author SHA1 Message Date
JF 3cc76d7673 Working demo of OTA using MCUBoot https://github.com/lupyuen/pinetime-rust-mynewt/releases/tag/v4.1.4 2020-05-24 09:15:59 +02:00
JF ce32863693 Fix offset issues in OTA procedure.
CRC verification : work in progress (not fully working for now).
2020-05-20 18:39:25 +02:00
JF ee05577dd6 Fix race conditions on SPI and integrate the SPI NOR Flash driver into DFUService (WIP) 2020-05-11 18:50:37 +02:00
JF 0b8e6c3fa2 Add SPI NOR Flash driver, WIP. 2020-05-07 19:53:51 +02:00
JF f96c048deb Read and log info from Start and Ini packets. 2020-05-03 15:48:42 +02:00
JF 59287e518c Improve dfu state machine 2020-05-03 14:27:48 +02:00
JF 66caada0d2 Merge branch 'nimble' into nimble-ota 2020-05-02 17:48:59 +02:00
JF ed168716b5 Add Asssert & debug messages. 2020-05-02 17:42:26 +02:00
JF e20fdfa494 Add new screen that is displayed during the OTA transfert. 2020-05-02 14:16:57 +02:00
JF 87c6556ad0 Defer the discovery of services using the system task. 2020-05-01 21:58:31 +02:00
JF 56b527925c Clean code of DfuService 2020-05-01 17:58:10 +02:00
JF 0195ece317 Working DfuService with quick'n'ugly code 2020-05-01 15:36:48 +02:00
JF 5291bcc7de Nimble OTA : work in progress 2020-04-27 20:16:03 +02:00
JF 746c164c59 BLE : Display the actual status of the connection on the screen. 2020-04-27 20:13:27 +02:00
JF bdc10744fb Add Nimble in libs directory 2020-04-26 10:25:59 +02:00
JF 032fad094c NimbleController : CTS & ANS are now working together (even if the code is not as good as I would like). 2020-04-25 15:52:00 +02:00
JF 5fcb90a149 NimbleController : CTS & ANS working but not at the same time (conflict during discovery) 2020-04-25 13:09:47 +02:00
JF 89ccdd0003 NimbleController : Encapsulate CTS client in its own class. 2020-04-23 20:57:53 +02:00
JF 24a7b6e397 NimbleController : Encapsulate device info service in its own class. 2020-04-23 20:34:38 +02:00
JF 14d6954466 NimbleController : Implement device info service 2020-04-22 20:53:43 +02:00
JF a9254ee90e NimbleController : support CTS 2020-04-22 20:19:36 +02:00
JF 2c9ce1cfc7 Encapsulate nimble code into NimbleController.
Handle all GAP events.
2020-04-19 21:26:09 +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 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 545636940f Merge branch 'littlevgl'
# Conflicts:
#	src/DisplayApp/Screens/Clock.cpp
#	src/DisplayApp/Screens/Clock.h
2020-03-03 19:59:01 +01:00
JF 64014f03ee Fix date/time conversion from CTS to internal date/time representation. 2020-03-02 20:13:30 +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 e65c9fa181 Integration of lvgl : continued... 2020-02-10 21:05:33 +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 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 b4bd41cd56 Implement the SPI driver using DMA. 2020-01-19 19:47:49 +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 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 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 11aa5e3d88 Replace pin numbers by constants 2019-12-27 17:05:09 +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 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