JF
2f710d06f3
Workaround for bug https://github.com/JF002/Pinetime/issues/79 until a better fix is found.
...
When the driver is stuck in an infinite loop for more than ~2.5ms, the TWI device is re-init and the transaction is retried.
Read() and Write() return an error code.
2020-10-23 22:25:37 +02:00
JF
20f5b0ffba
Fix race conditions during sleep/wakeup, where SPI/TWI could be disabled while transaction were in progress ( https://github.com/JF002/Pinetime/issues/60 ).
2020-09-13 21:26:44 +02:00
JF
f7e40b1b58
Re-implement sleep/wakeup for touch panel, display, NOR Flash, SPI and TWI.
2020-08-22 17:59:59 +02:00
JF
83f6d7d81b
Fix most of the warnings. Remaining warnings come from nimble source code.
2020-08-17 16:31:00 +02:00
frederic lesur LESUR Frederic
a9f0459626
correct include header
2020-07-21 08:56:12 +09:00
frederic lesur LESUR Frederic
504c2b3d5c
correct bad including of sdk files
...
(cherry picked from commit 8510e4436f6a2ac7b53fe8cb5010acb840c743b8)
2020-07-21 08:47:19 +09: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
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
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
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
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
79131f4fe3
Improve SPI driver (use a mutex to prevent race conditions).
2020-05-17 09:35:01 +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
JF
0b8e6c3fa2
Add SPI NOR Flash driver, WIP.
2020-05-07 19:53:51 +02:00
JF
dd6aecbf6b
Integration of nimble, work in progress.
...
Advertising is working.
2020-04-19 20:44:59 +02: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
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
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
545636940f
Merge branch 'littlevgl'
...
# Conflicts:
# src/DisplayApp/Screens/Clock.cpp
# src/DisplayApp/Screens/Clock.h
2020-03-03 19:59:01 +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
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
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
a97faf8e9e
First quick'n'dirty integration of LittleVGL. Needs some cleaning.
2020-02-08 18:01:02 +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
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
2b3e6b1cde
Refactor ctor() and Ini() of SpiMaster.
2020-01-18 20:53:32 +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
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
e08cfe07c7
Apply reset signal on pin P0.26 for LCD during init.
2020-01-02 14:47:59 +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
JF
0db16bd827
Add missing return statements which fix crashes in release mode.
...
Add flag to compiler so that it generates an error when a returning function does not return something...
2019-12-06 20:46:21 +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