Commit graph

46 commits

Author SHA1 Message Date
Avamander 6c86d1d9d7 Fixed all the includes that were broken due to the renames 2020-10-02 22:16:48 +03:00
JF 6af5bbcbc8 New implementation of the I²C/TWI driver.
Fix reset timing and add dummy reading in Cst816S to fix init error on some devices.
2020-07-19 20:30:44 +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 073717980f Merge develop 2020-05-24 16:51:50 +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 0b8e6c3fa2 Add SPI NOR Flash driver, WIP. 2020-05-07 19:53:51 +02:00
JF ed168716b5 Add Asssert & debug messages. 2020-05-02 17:42:26 +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 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 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 3f80a3debd Remove not needed code. 2020-03-06 21:54:36 +01:00
JF 43ffeb15d1 Remove TODO as they are not needed anymore 2020-03-02 20:48:35 +01:00
JF 6b5b0112e3 Re-Enable BLE 2020-03-02 20:13:42 +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 179b14f48c Add new Screens (gauge, meter,...) 2020-02-26 20:49:26 +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 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 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 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 aa3e5c0c6f [WIP] Use IRQ in SPI driver to improve performances 2020-01-22 19:45:53 +01:00
JF 6ca081739e Update comment about system task 2020-01-18 14:28:13 +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 6abf12ffb7 Detect BLE disconnection (in addition to BLE connection) and update the display accordingly. 2020-01-12 16:39:03 +01:00
JF 04c7b1429f Increase configMINIMAL_STACK_SIZE to fix crash issue caused by freertos timers. 2020-01-09 22:00:54 +01:00
JF bbe4e500c3 Improve power consumption and SLEEP mode :
- Disable IDLE hook (it would wake the device up as soon as possible).
 - Logger task sleep for 100ms (disable logging for better battery life)
 - Logging is disabled by default
 - Apply fix for ERRATA 87 (clear FPU interrupt before going to sleep). Ports files from FreeRTOS are now in the sources (they where in the SDK before)
2020-01-05 11:09:07 +01:00
JF ee530baaa0 Add basic touch panel driver.
Handle touch event in display app : draw a big square at the touch point coordinates.
2020-01-03 16:32:31 +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 fcbd341c1c Implement battery measurement in BatteryController.
Update battery info on wake up (with button)
2019-12-27 16:05:35 +01:00
JF b5b3c4270b Measure and log battery voltage from SystemTask 2019-12-27 15:11:21 +01:00
JF 75e74904e8 Use push button to go to sleep/wake up.
Use a queue to transmit messages between system and display task (sleep & wake up for now).
2019-12-26 18:33:40 +01:00
JF e8f9304d37 Code cleaning, implement BT connection, advertising, discovery and CTS in ble_manager module. 2019-12-23 19:57:45 +01:00
JF 981dc3fce1 Track the time using RTC 2019-12-21 22:31:06 +01:00
JF ecf307c559 Add BLE and CTS client. Time can be retrieved from a CTS server (like NRFConnect) once it's bond.
WIP, the code is really ugly
2019-12-21 17:58:00 +01:00
JF 6fbb6c8f70 Convert Spi and GFX to C++. 2019-12-07 17:11:50 +01:00
JF 5225706cc8 Add DisplayApp, and lcdfont. Update the display every second 2019-12-05 21:19:47 +01:00
JF adf405a230 Add support for LCD (ST7789) 2019-12-05 19:23:46 +01:00
JF 66182d15bc First code tested on the actual pinetime hardware 2019-12-02 19:42:10 +01:00
JF 2ea27e0cda Initial commit 2019-11-17 20:47:04 +01:00