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
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
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
6491a7c3a0
Remove test code
2020-01-26 15:39:49 +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