Commit Graph

57 Commits

Author SHA1 Message Date
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
b4bd41cd56 Implement the SPI driver using DMA. 2020-01-19 19:47:49 +01:00
JF
9dc4e32e36 Remove all custom targets from the ALL (default) target. This will prevent from executing them when running "make". 2020-01-19 12:36:09 +01:00
JF
aeb4cce8fe Merge branch 'master' of https://github.com/JF002/Pinetime 2020-01-19 12:30:03 +01:00
JF002
40100bd819
Merge pull request #17 from danielkucera/cmake-version
downgrade to cmake 3.10
2020-01-19 12:29:39 +01:00
Daniel Kucera
ffbeeba3e9 downgrade to cmake 3.10 2020-01-18 21:26:05 +01:00
JF
2b3e6b1cde Refactor ctor() and Ini() of SpiMaster. 2020-01-18 20:53:32 +01:00
JF
86d9f6e6c8 Set minimum version of cmake to 3.10 2020-01-18 20:52:33 +01:00
JF
f049f382f0 Encapsulate the drawing of the screen into Screens classes. 2020-01-18 18:17:52 +01:00
JF
f14ba4a7e3 Add version (major.minor.patch) in CMake files.
Display the version on the display.
2020-01-18 14:53:36 +01:00
JF
fb99520c98 Add version (major.minor.patch) in CMake files.
Display the version on the display.
2020-01-18 14:50:24 +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
8daa830ee0 Apply Hardware reset on display during wake-up, as softreset might not be enough to wake the display up. 2020-01-18 13:55:22 +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
69a14a2247 Type again 2020-01-17 15:03:34 +01:00
JF
24fa6bd5a8 Typo 2020-01-17 15:02:43 +01:00
JF
81d629e86a Add support for Black magic probe (using GDB client).
Add documentation about that in README.md
2020-01-17 14:56:56 +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
3c29a11c78 Fix link error because of missing file "nrf_common.ld" 2020-01-12 16:26:20 +01:00
JF
f23ef842ca Improve date/time accuracy and handle counter overflow. 2020-01-12 16:00:45 +01:00
JF002
9baf00bbfe
Merge pull request #11 from JF002/date-library
Date/Time management
2020-01-11 17:16:52 +01:00
JF
8253c099d9 Add date library (https://github.com/HowardHinnant/date) to manage the date and time.
The date is now properly processed (31 December 2019 23:59:59 + 1s => 1 January 2020 00:00:00)
2020-01-11 17:14:12 +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
1e25f51af7 Fix typo in main CMakeLists.txt file. 2020-01-05 19:55:01 +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
7688f46898 Update doc (current state about touch panel) 2020-01-03 16:35:34 +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
27d0e1e02f Add documentation about building a stub using NRF52-DK. 2020-01-02 15:19:28 +01:00
JF
16c7ce8929 Send command DisplayOn/Off to LCD when enabling/disabling the display. 2020-01-02 14:48:33 +01:00
JF
e08cfe07c7 Apply reset signal on pin P0.26 for LCD during init. 2020-01-02 14:47:59 +01:00
JF
6abe5d8db8 Remove deleted files from CMakeLists.txt 2019-12-30 17:44:43 +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
92985eb98b Add picture in README.md 2019-12-27 17:13:09 +01:00
JF
46eeefb53a Add BleController to manage the BLE connection status 2019-12-27 17:05:49 +01:00
JF
11aa5e3d88 Replace pin numbers by constants 2019-12-27 17:05:09 +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
11d5403558 Add small font, display date, Ble connection and battery power in display app (hard-coded values for now). 2019-12-27 15:12:09 +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
9a379e180f Merge branch 'ble-cts' of JF/PineTime into master 2019-12-26 12:06:12 +01:00
JF
598c42dfbe Add more functionalities in "current state" 2019-12-26 12:04:12 +01:00
JF
2147794f1d Add doc about BLE in README.md 2019-12-26 12:02:01 +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
528fc56616 The font is now fixed width.
HUGE performance improvement of the display driver.
2019-12-07 19:15:33 +01:00
JF
6fbb6c8f70 Convert Spi and GFX to C++. 2019-12-07 17:11:50 +01:00