Commit Graph

2181 Commits

Author SHA1 Message Date
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
e737fb0499 Bump patch (v0.2.2) 2020-01-31 20:09:08 +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
dff0d747c4 Merge branch 'luben93-messing-with-openocd' 2020-01-26 19:30:27 +01:00
JF
a956ed1e61 Default to JLink programmer/debugger is no USE_* variable has been specified during CMake build. 2020-01-26 19:29:50 +01:00
JF
a3ff41705e Merge branch 'messing-with-openocd' of https://github.com/luben93/Pinetime into luben93-messing-with-openocd 2020-01-26 19:25:28 +01:00
lucas
6128452704 cleaned up openocd cmake options and added a readme 2020-01-26 16:40:45 +01:00
JF002
7c03810f46
Merge pull request #19 from JF002/spi-dma
Spi dma
2020-01-26 15:44:26 +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
lucas
37d50ed62b added some inital support for flashing via openocd instead of gdb, for wider compatability 2020-01-26 01:38:06 +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