Commit graph

147 commits

Author SHA1 Message Date
JF 9898fed806 Update to nimble 1.3.0 + WIP : debug BLE connection issue with android phones. 2020-06-16 20:36:24 +02:00
JF fab220d0b9 Fix idle timer bug that would prevent the screen from waking up. 2020-06-13 17:33:49 +02:00
JF 47851fb3b4 Display BLE MAC address in sysinfo Screen. 2020-06-08 21:51:34 +02:00
JF 9115c49bba Fix reset reason (it returns the actual reset reason instead of hard coded 'hard reset' value). 2020-06-07 20:31:13 +02:00
JF 421af9625b Add build date and time in sysinfo screen. 2020-06-07 20:16:39 +02:00
JF 81a0ad73d9 Set idle timeout to 15s before going to sleep. 2020-06-07 20:05:04 +02:00
JF e22c0609b5 Add uptime counter in DateTimeController and display it in SystemInfo screen. 2020-06-07 20:04:43 +02:00
JF dbdb26ae1f DfuService : fix Magic number : incorrect values were written in memory. 2020-06-07 14:10:17 +02:00
JF 46b8bf9fc1 Add new target (pinetime-graphics) that flash the bootloader logo into the spi flash memory. 2020-06-06 19:28:01 +02:00
JF e7723598a6 Automatically go to sleep after 5 sec of inactivity.
Advertise for  3 minutes at startup and on wake-up. Disable automatic continuous StartAdvertising.
2020-06-01 20:40:11 +02:00
JF de822cc3a2 Encapsulate DFU Image buffering and writing into spi flash in DfuImage.
Add some const in SPI driver.
2020-06-01 18:32:46 +02:00
JF f6aa41c214 Encapsulate notification send (sync/async) into DfuService::NotificationManager; 2020-06-01 17:35:28 +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 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 4717cf0a1d Add driver for writing into the internal flash.
Write the OK flag for mcuboot using this driver.
2020-05-24 20:30:06 +02:00
JF 4154dae01a Fix race condition in SpiMaster.cpp. 2020-05-24 17:46:43 +02:00
JF 073717980f Merge develop 2020-05-24 16:51:50 +02:00
JF 331481cd0c Refactor CMake files to allow building 2 binaries : one standalone and one compatible with mcuboot bootloader (the offset in memory is different).
Add documentation about mcuboot image generation and OTA.

Re-enable watchdog
2020-05-24 16:36:04 +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 be1ad9b070 Disable logging once again... 2020-05-17 10:25:42 +02:00
JF 79131f4fe3 Improve SPI driver (use a mutex to prevent race conditions). 2020-05-17 09:35:01 +02:00
JF 9753967d8a Update LittleVGL from 6.1.1 to 6.1.2. It fixes a memory leak when a screen used 2 lv_img objects (occured in Clock). 2020-05-17 09:27:36 +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 40e3ac61bd Update syscfg.h 2020-05-02 14:18:57 +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 332b51464a Fix random crash caused by bad implementation of ble_npl_hw_enter_critical(). 2020-04-30 20:47:28 +02:00
JF 833c53424a Re-enable watchdog 2020-04-27 20:46:25 +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
Adam Pigg be67b5297d Remove references to BLE Manager 2020-04-27 14:41:08 +01: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