Commit graph

55 commits

Author SHA1 Message Date
JF dca559aad5 Improve DFU procedure :
- correctly write all bytes to flash
 - check CRC
 - Fix bug in notification : they cannot be sent from the control point handler (because it seems you cannot send a notification and a write acknowledge at the same time) using a timer (quick'n'dirty implementation to be improved)
 - Improve dfu screen
 - Reset if dfu image is correctly copied into flash and crc is ok.
2020-06-01 09:22:54 +02:00
JF 073717980f Merge develop 2020-05-24 16:51:50 +02:00
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 d6c6ac4cf5 Remove reference to NRF Softdevice in CMake and documentation.
Update documentation.
Remove Asserts when starting advertising to prevent crash (known bug).
Set version 0.5.0.
2020-05-16 16:13:22 +02:00
JF 56fba1c242 Merge branch 'nimble' of git.proxmox3:JF/PineTime into nimble 2020-05-16 15:30:54 +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
Adam Pigg ca0ef77368 TODO is done 2020-05-07 20:06:50 +01:00
JF 0b8e6c3fa2 Add SPI NOR Flash driver, WIP. 2020-05-07 19:53:51 +02:00
Adam Pigg b4e82dd11f Add support for reading the current time 2020-05-05 20:58:15 +01:00
Adam Pigg 206bdbf5eb Move PinetimeService to CurrentTimeService witha view to implement CTS
for time handling
2020-05-05 20:58:15 +01:00
Adam Pigg d33be52bc9 Run the alert notification service and simplify trhe pinetime service
initialization
2020-05-05 20:58:15 +01:00
Adam Pigg 49a9a93cef Add a very basic alert nofification service 2020-05-05 20:58:15 +01:00
Adam Pigg b760b3f98c Add a simple service to allow setting the time from a controlling
application
2020-05-05 20:58:15 +01: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