JF
73e6cbde79
Fix builds that do not specify CMAKE_BUILD_TYPE during CMake generation. Apply Release by default.
2020-06-16 21:02:03 +02:00
JF
f133d1e9ea
Fix #include that were pointing to my own FS instead of relative paths to the SDK.
2020-06-16 20:44:11 +02:00
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
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
dd6aecbf6b
Integration of nimble, work in progress.
...
Advertising is working.
2020-04-19 20:44:59 +02:00
JF
d5c2a58914
Update BLE and battery icons from https://gitlab.com/arteeh/pinetimeos : it saves ~60KB of flash!
2020-04-05 18:54:04 +02:00
JF
26fb9ed1cd
Disable logging (again...).
2020-04-04 17:43:30 +02:00
JF
d564b3cf15
Fix crash when the computer disconnect from the BLE connection.
2020-04-04 17:41:21 +02:00
JF
9ad1f05bc6
Improved BLE logging
...
Do not consider service discovery as error
Remove dulicated BLE observer
2020-03-29 13:58:06 +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
7e9a7e4d5f
Fix bad memory alloaction in sysinfo screen.
2020-03-22 12:14:38 +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
eabb54f15d
Workaround for a issue when the FDS (flash data storage for BLE softdevice)) memory is full (it prevent the app from running correctly and just display a black screen) : if the fds cannot init, erase the memory and try again.
2020-03-15 18:00:41 +01:00
JF
4d2aacf863
Display battery level and BLE connection status using icon on Clock screen.
2020-03-14 16:33:47 +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
d834f40c10
Do not copy LittleVgl object in DislayApp, use reference instead.
...
Make Cst816s, SpiMaster and St7789 not copiable and not movable
2020-03-08 21:38:11 +01:00
JF
3f80a3debd
Remove not needed code.
2020-03-06 21:54:36 +01:00
JF
4ffd8d1c91
Call ble_manager_init_peer_manager() _after_ the scheduler has been started. This fixes an issue that would prevent the firmware from running correctly after a full reset or after the flashing of the firmware.
...
Before this fix, ble_manager_init_peer_manager() was called before the scheduler, which trigged an assert in an IRQ routine.
2020-03-06 21:50:29 +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
d88ec8c2f0
Workaround for the first touch that is taken twice into account.
2020-03-02 20:48:58 +01:00
JF
43ffeb15d1
Remove TODO as they are not needed anymore
2020-03-02 20:48:35 +01:00
JF
262336afa5
Fix Type in sdk_config
2020-03-02 20:19:50 +01:00
JF
6b5b0112e3
Re-Enable BLE
2020-03-02 20:13:42 +01:00
JF
64014f03ee
Fix date/time conversion from CTS to internal date/time representation.
2020-03-02 20:13:30 +01:00
JF
824b8a7ebd
Move version display from Clock screen to the modal window (accessible from tile menu)
2020-03-02 20:12:46 +01:00
JF
dccef16180
Remove default lvgl font (roboto).
2020-03-01 21:15:39 +01:00
JF
6f1857c503
Add debugPins module that provides functions to set and clear debug GPIOs.
...
Disable logging once again.
2020-03-01 21:00:59 +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
a1d79e7ecc
Fix Model that would crash when closing it.
2020-03-01 17:20:27 +01:00
JF
63c5725882
Simplify Tile to improve refresh speed (it's not a tile anymore...).
...
Disable debug mode of lvgl.
2020-03-01 16:01:53 +01:00
JF
40bdbe503c
Instantiate spi, lcd, lvg and touchpanel as global variables instead of unique_ptr (avoids dynamic alloc at run-time.
2020-03-01 16:00:43 +01:00
JF
6d288b905a
Configure lvgl theme and use 2*4lines buffers as video buffer (2 lines was not enough and caused perf issues)
2020-03-01 15:59:17 +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
0aa1803ea2
Enable watchdog, and issue a WDT reset when the button is pushed for more than 7s.
2020-02-23 21:09:11 +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
79b4f006be
Prevent unnecessary refresh in Clock screen.
2020-02-16 18:37:18 +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