Jean-François Milants
68674cec53
Add heart rate BLE service.
2021-01-17 16:34:14 +01:00
Jean-François Milants
3a3a14115a
Add License/copyright info in HR related files.
2021-01-17 16:33:45 +01:00
panky-codes
b31c0e7e45
Added more descriptive comments in doxygen format.
2021-01-17 11:06:24 +01:00
Jean-François Milants
04063cf0af
HR Sensor : Add start/stop button to the HeartRate app (the HR sensors stays ON when the app is closed), display the HR value on the Clock app.
2021-01-17 10:39:46 +01:00
panky-codes
952021cdb6
Changed float to int in battery controller file.
2021-01-16 21:31:58 +01:00
panky-codes
8697a06642
Changed std accumulate to use int instead of a float.
2021-01-16 20:46:01 +01:00
panky-codes
271ca78be5
Converted all the other float usage to int.
2021-01-16 20:18:55 +01:00
panky-codes
e2d1f81915
Converted percent remaining calc to int.
2021-01-16 19:51:32 +01:00
panky-codes
11280d5f37
Adjusted the firmware to display percent instead of gfx.
2021-01-16 14:55:13 +01:00
jlukanc
b5992fd7ec
add motor to notifs, fix tabs in motorcontroller.h
2021-01-15 22:49:37 -05:00
jlukanc
ce6c5d3bd3
add motorcontroller to cmake
2021-01-15 22:46:03 -05:00
jlukanc
fbb77baa3b
add non-blocking motor controller
2021-01-15 22:11:53 -05:00
panky-codes
dece6c6bc8
Adapted the accumulate function to return float.
2021-01-14 22:11:17 +01:00
panky-codes
b8f943e73c
Implemented a circular buffer and added an average alg for batter remaining percentage.
2021-01-14 21:22:36 +01:00
Jean-François Milants
c82c22650c
HR Sensor : do not go to sleep when the HR app is running.
2021-01-10 22:02:21 +01:00
Jean-François Milants
1a582815ba
First implementation of the HR sensor using 100% foss code (ported from waspos)
2021-01-10 17:57:26 +01:00
petter
10376cd81c
fix MusicService UUID typo in comment
2021-01-08 15:35:43 +01:00
JF002
033a09db6d
Merge pull request #154 from jedmijares/twos-game
...
Adds 2048 clone game
2021-01-03 13:40:29 +00:00
Jean-François Milants
e0082f0ae3
Rename Pinetime in InfiniTime in sysinfo app.
2021-01-02 21:23:40 +01:00
Jed
12617ed1bf
adds 2048 clone game
...
styles table
reads touch events
allows moving tiles
allows merging tiles
improves tile movement
allows merging tiles
adds score display
implements color
edit comments
adjust game logic
disallows double merges
2021-01-02 14:15:12 -06:00
Michael
1a6de3326f
Add source code license and link to github to system app
2020-12-28 02:45:24 -05:00
ZephyrLabs
cc04c2c1f8
Update Paddle.cpp
...
blankline removal
2020-12-20 11:53:39 +05:30
ZephyrLabs
61e78d338b
Update Paddle.cpp
...
fix uppercase
2020-12-20 09:32:00 +05:30
ZephyrLabs
020840e04f
Update Paddle.h
...
fix uppercase
2020-12-20 09:28:51 +05:30
ZephyrLabs
b098d27d08
Update Paddle.cpp
...
tranparent paddle bug fix.
2020-12-20 09:23:31 +05:30
ZephyrLabs
ea4d2560cf
Update Paddle.cpp
...
added changes from PR
2020-12-08 10:06:30 +05:30
ZephyrLabs
6b2dbafd6c
Update Paddle.h
...
add changes from PR
2020-12-08 09:50:44 +05:30
ZephyrLabs
a701ef23d8
Update Symbols.h
...
change symbol to correct vale
2020-12-04 14:09:12 +05:30
ZephyrLabs
418d857308
Update Paddle.cpp
...
bugfix: add missing class
2020-12-03 20:59:22 +05:30
ZephyrLabs
ad1a99acac
Update Paddle.h
...
bugfix: add missing class
2020-12-03 20:57:54 +05:30
ZephyrLabs
09a94ee2b8
Update DisplayApp.cpp
...
fixed file typo
2020-12-03 20:17:22 +05:30
ZephyrLabs
91b37f8de0
Update DisplayApp.cpp
...
added Paddle header and paddle app screen
2020-12-03 20:04:37 +05:30
ZephyrLabs
253a86bb8c
Update Apps.h
...
added Paddle app
2020-12-03 20:03:45 +05:30
ZephyrLabs
4f41d4d854
Update Paddle.cpp
...
create Paddle.cpp
2020-12-03 20:03:11 +05:30
ZephyrLabs
ed34096320
Update Paddle.h
...
created Paddle.h
2020-12-03 20:02:58 +05:30
ZephyrLabs
96346b9884
Update jetbrains_mono_bold_20.c
...
added paddle symbol in font
2020-12-03 20:02:35 +05:30
ZephyrLabs
29989b323e
Update Readme.md
...
added range of paddle symbol
2020-12-03 20:02:08 +05:30
ZephyrLabs
251dddb0bf
Update Symbols.h
...
added paddle symbol
2020-12-03 20:01:44 +05:30
ZephyrLabs
adfec51230
Update ApplicationList.cpp
...
added paddle app
2020-12-03 20:01:03 +05:30
ZephyrLabs
1d69c79942
Addition of new files in MakeList
...
added Paddle.cpp and Paddle.h
2020-12-03 19:46:36 +05:30
JF002
c6556bcdea
Merge pull request #136 from okaestne/include-cleanup
...
Includes cleanup
2020-12-01 21:44:44 +01:00
JF002
c87de415b2
Merge pull request #128 from AirHamster/cyrillic-font
...
Add Cyrillic symbols into jetbrains font
2020-12-01 21:39:44 +01:00
JF002
737a7e57ca
Merge pull request #124 from IoTPanic/patch-waketime-iotpanic
...
Reduced interval where the display shows the previous time on wake
2020-12-01 21:20:02 +01:00
Samuel Archibald
e180ec5f3a
Jeez this is what I get for rushing 😬
2020-11-19 15:50:39 -05:00
Samuel Archibald
e18485c92b
Whoops! Don't look at this XD
2020-11-19 15:47:27 -05:00
Samuel Archibald
681182d16a
Readability and fix
2020-11-19 15:44:57 -05:00
JF002
fa4c0d5e3e
Merge pull request #125 from IoTPanic/patch-menubattery-iotpanic
...
Fixed battery percentage readout in the menu display
2020-11-19 19:49:05 +01:00
Samuel Archibald
3703611a60
Fixes #119 ! Improved based off suggested changes
2020-11-18 00:00:33 -05:00
okaestne
6e22509b5f
Delete Tab.cpp and Tab.h
...
as discussed with JF
2020-11-17 20:51:27 +01:00
JF002
b50e222e2e
Merge pull request #120 from ryanplusplus/transfert-typo
...
Fixed typo (Transfert -> Transfer)
2020-11-17 19:43:45 +01:00
Samuel Archibald
600dbb0280
Fix for comments on issue #125 , bounds check removed
2020-11-16 09:43:32 -05:00
okaestne
f42b33ed6d
fix TWI includes
2020-11-16 01:35:51 +01:00
okaestne
cadc0c25d4
Include cleanup: displayapp + screens
2020-11-16 01:35:51 +01:00
okaestne
1516573df4
Include cleanup: components
2020-11-16 01:35:45 +01:00
okaestne
c3475b92fa
Include cleanup: drivers
2020-11-15 05:04:22 +01:00
Ryan Hartlage
a30282bdd5
Flash the correct file when running FLASH_pinetime-app with JLink
2020-11-14 19:23:16 -05:00
Ilia Zarubin
c25fd2e37f
fonts: readme: add cyrillic symbols UTF-8 range
2020-11-07 23:44:22 +03:00
Ilia Zarubin
64408803be
fonts: add cyrillic symbols in mono bold font
...
Just converted jetbrains and awesome fonts with additional cyrillic
symbols.
2020-11-07 23:43:20 +03:00
Samuel Archibald
c816d9b88e
Fix to #119
2020-11-02 23:29:42 -05:00
Samuel Archibald
37c2768787
This is the actual fix, reducing the time between LCD is turned back on and the next task which will display the time is started.
2020-11-02 23:13:31 -05:00
Samuel Archibald
10c5260187
Fixed displaying last displayed time for ~100ms on wake
2020-11-02 21:14:28 -05:00
Ryan Hartlage
3ccfa1d924
Fixed typo (Transfert -> Transfer)
2020-11-01 15:44:06 -05:00
JF
29f8074fcb
Refactoring of BLE service discovery : it is now implemented into the classes of the services.
2020-10-29 16:06:01 +01:00
JF
f90f2254f5
Reset BLE services on disconnect, do not start advertising if a connection is already established.
2020-10-28 18:23:09 +01:00
JF
7de43a1660
Fix conflicts
2020-10-27 21:55:18 +01:00
JF002
45e65b66b1
Merge pull request #111 from JF002/fix-twi-hang
...
Workaround for TWI driver freeze
2020-10-27 19:48:39 +01:00
JF
8a8c8aa863
Handle error code when calling TwiMaster::Read().
2020-10-27 19:46:51 +01:00
JF
1bb2eb9dcd
Disable sleep mode on the SPI NOR Flash when the version is unknown. This is because the current bootloader (which does not exposes its version) cannot initialize the chip when it's in sleep mode.
...
This feature will be re-enabled when the bootloader expses it's version.
2020-10-27 19:38:45 +01:00
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
Anton Fosselius
ab36c6cd24
Update main.cpp
...
changed "include Logging" to "include logging", now compiles with RTT ;)
2020-10-23 11:25:46 +02:00
JF
5983e33b8d
Notifications : Replace the label "notificationNr/notificationNb" by a grey border on the bottom that is displayed when there are other notifications to available.
2020-10-22 15:39:20 +02:00
JF
07b6812f61
Notifications : Fix copy when the messages is spread across multiple os_mbuf.
2020-10-22 10:43:42 +02:00
JF
cabf1168d4
Notifications : Fix display of notification index/number.
2020-10-21 22:15:02 +02:00
JF
440ae412b9
Increase max size of notification message to 100 char.
...
Fix bug in message handling that would ignore the last character of the notification.
2020-10-21 17:31:56 +02:00
JF
ef5670c7e0
Integrate new notification UI with notifications coming from BLE
2020-10-20 20:57:39 +02:00
Enno Boland
8842259c7c
fix build on linux
...
This commit fixes upper/lowercase issues in directory names that cause
the build to fail on case sensitive file systems like Linux uses.
2020-10-20 09:16:30 +02:00
JF
55427d83b8
[WIP] Add new notification UI that use HW scrolling effects. Both notification apps are available in the menu, we can compare them.
2020-10-19 21:46:41 +02:00
JF002
3c5fd5ca8b
Merge pull request #93 from robertecurtin/master
...
Fix typo in SystemInfo app.
2020-10-18 17:50:20 +02:00
JF002
c655ec71f0
Merge pull request #99 from rafacouto/patch-1
...
Update SystemInfo.cpp - Show MAC bytes with left-zeroes
2020-10-18 17:46:22 +02:00
JF
28bc434419
[WIP] New notification app that uses software scrolling effect.
2020-10-18 17:35:36 +02:00
Avamander
4b0a852053
Made sure to use right data type for a negative number
2020-10-15 22:52:53 +03:00
Avamander
174e5ccfe4
Removed weird parentheses from constexpr
2020-10-15 22:51:43 +03:00
Avamander
128a2ea226
Changed #define to constexpr in Music.cpp
2020-10-15 22:50:28 +03:00
Avamander
6f45c0f669
Unified MusicStatus enum constant capitalization with others
2020-10-15 22:45:53 +03:00
Avamander
d4531d7bf3
Reordered the functions in Music.cpp correctly
2020-10-15 22:16:08 +03:00
Avamander
82126edf88
Added lv_img_set_src_arr that does better type checking when drawing images from arrays
2020-10-15 22:16:08 +03:00
Avamander
2b9906184b
Refactored and improved the Music watchapp
2020-10-15 22:16:08 +03:00
Robert Curtin
2d5ddb88a7
Noticed this typo when booting my PineTime
2020-10-12 08:45:41 -04:00
Rafa Couto
efb7a973a1
Update SystemInfo.cpp
...
Show MAC bytes with left-zeroes
2020-10-12 05:12:31 +02:00
Avamander
fd110dabe8
Reformatted InfiniPaint again
2020-10-09 11:36:16 +03:00
Avamander
189c5a83b2
Made sure to unsuppress the diagnostic check after the infinite loop declaration
2020-10-09 11:36:16 +03:00
Avamander
f68c7b65b3
Minor formatting, diagnostic and documentation changes
2020-10-09 11:36:16 +03:00
JF002
b3ef816471
Merge pull request #83 from Avamander/patch-7
...
Removed an incomplete message() call from CMakeLists.txt
2020-10-08 21:03:39 +02:00
JF002
0a8d8953f7
Merge pull request #80 from Avamander/patch-1
...
Switched from NULL to nullptr
2020-10-08 20:58:24 +02:00
Avamander
cc3a9f3c79
Removed an incomplete message() call from CMakeLists.txt
2020-10-04 18:46:34 +03:00
Avamander
aba3d65e3a
Merge remote-tracking branch 'origin-origin/patch-3'
...
# Conflicts:
# src/systemtask/SystemTask.cpp
2020-10-04 16:23:13 +03:00
Avamander
77f4d5448b
Fixed a small warning with Screen's constructor
2020-10-04 15:14:09 +03:00
Avamander
9b7ba7b5b8
Fixed a typo in SystemTask
2020-10-04 15:13:01 +03:00
Avamander
1d96758acd
Minor #include improvements
2020-10-04 15:11:21 +03:00
Avamander
e85d1ffc62
Replaced NULL with nullptr
2020-10-04 15:09:17 +03:00
Avamander
13da1e38f0
Switched from NULL to nullptr
2020-10-04 14:53:11 +03:00
Avamander
6c86d1d9d7
Fixed all the includes that were broken due to the renames
2020-10-02 22:16:48 +03:00
Avamander
4daab26926
Renamed displayapp/Screens to displayapp/screens
2020-10-02 21:49:55 +03:00
Avamander
e3fb2f0b89
Renamed DisplayApp/ to displayapp/
2020-10-02 21:46:41 +03:00
Avamander
30c261028e
Renamed Logging/ to logging/
2020-10-02 21:45:51 +03:00
Avamander
e25c4edbcf
Renamed SystemTask/ to systemtask/
2020-10-02 21:45:21 +03:00
Avamander
40a643d203
Renamed Components/ to components/
2020-10-02 21:44:27 +03:00
Avamander
455d8319e4
Reformatted the CMakeLists for consistency
2020-10-02 21:43:30 +03:00
JF
f3728c41bb
Add Immediate Alert Service, needed by the "Find Me" profile from BLE spec.
2020-09-27 20:59:06 +02:00
JF
5d3a974493
Add BatteryInformationService to expose the battery level to BLE host.
2020-09-27 20:02:47 +02:00
JF
6f92356873
Call SpiNorFlash::WakeUp() during initialization to ensure that the chip is not is sleep mode.
2020-09-20 14:31:26 +02:00
JF
d45cf23611
Rename Pinetime-JF -> InfiniTime
2020-09-20 11:09:50 +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
d757344f1b
Docker post build : generate post build script with versions from the CMake project.
2020-09-08 22:15:10 +02:00
JF
4e8e52bf6e
Fix constness and set version to 0.8.1.
2020-09-02 21:36:13 +02:00
JF
1aa5b0a440
Fix firmware version reported by Device Information Service on BLE. It was previously hard-coded, it is now set by CMake accoridng to the project version.
...
Fix Manufacturer name, model number, sw revision according to https://wiki.pine64.org/index.php?title=Firmware_versioning_for_companion_apps .
2020-09-02 21:31:31 +02:00
JF
754918fda6
Fix bad formatting in SystemInfo.
2020-08-22 20:43:14 +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
ecbbeb6283
Fix Infinipaint that would crash when started.
2020-08-22 16:42:53 +02:00
JF
a664dec07f
Add paint application.
2020-08-21 11:55:59 +02:00
JF
7d3af600bd
Add TouchModes : in Gestures mode, only 1 event is processed for each touchevent. This allows to recognize gesture and handle them in Screens or in DisplayApp.
...
In Polling mode, X/Y positions are sent continuously to lvgl, allowing to scroll inside a dropdown menu for example.
2020-08-20 21:09:45 +02:00
JF
e6a1aff6ce
Docker build : split build.sh into 2 scripts : build.sh that always exists and post_build.sh that is generated by cmake build.sh
2020-08-20 09:38:10 +02:00
JF
f197a3fe88
All output files (bin, hex, image, dfu) contain the version of the project in their filename.
...
Update Docker build script accordingly.
Also fix permission issue with docker build (all files belonged to root).
2020-08-19 21:52:46 +02:00
JF
1e1bb1c6b7
Build lvgl, nimble and nrf sdk as static libs. This allows to specify custom build param and to remove warnings from these libs.
...
This also speeds up the build of the whole project as those libs are now built once for the 3 targets.
2020-08-17 16:48:12 +02:00
JF
83f6d7d81b
Fix most of the warnings. Remaining warnings come from nimble source code.
2020-08-17 16:31:00 +02:00
JF
41c36d3a42
Re-order apps in application menu on 2 pages.
...
Add firmware validation app.
2020-08-14 20:47:21 +02:00
JF
e6f5ab7b91
Merge develop and fix conflicts.
2020-08-14 19:54:43 +02:00
JF
6c678e872d
Screens::Label is now a subclass of Screen.
2020-08-14 10:05:44 +02:00
JF
f5328ec9eb
Refactor ScreenList to make it more generic : it can now contain any Screen type.
...
Integrate this new ScreenList in SystemInfo.
Add ApplicationList, which is a ScreenList of Tile. This allows to display a menu of more than 6 applications.
2020-08-14 09:46:37 +02:00
JF
bbfc20c3ff
Add new screen that allows the user to manually validate the new firmware he's just OTA'ed.
...
Still need to find a way to display this screen when needed.
2020-08-11 17:50:00 +02:00
JF002
3f72af1030
Merge pull request #40 from piggz/music
...
Music
2020-07-25 15:03:29 +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
Adam Pigg
5713eac104
Fully implement music app and service
...
SystemTask can return a reference to the nimbleController
The nimbleController can return a reference to the musicService
The musicService get a connection handle from the nimbleController
The musicApp communicated directly with the musicService
2020-07-20 21:28:21 +01: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
Adam Pigg
686e826f4e
Rework characteristic handling
2020-07-15 10:02:01 +01:00
Adam Pigg
306aa25aad
Initial code for music app screena and service
2020-07-13 12:40:39 +01:00
Adam Pigg
789e06fdb7
Merge branch 'develop' of https://github.com/JF002/Pinetime into music
2020-07-11 21:41:20 +01:00
Adam Pigg
7a1e6e6e5b
Add start of music appliction
2020-07-11 21:37:28 +01:00
JF
6309719a62
Set version to 0.7.0
2020-07-11 20:53:04 +02:00
JF
09adb78b55
Fix/Workaround a memory leak each time a device connects to BLE.
2020-07-11 20:50:40 +02:00
JF
71842667a0
Remove debug (and bad) #includes.
2020-07-08 21:14:52 +02:00
JF
62de76ba99
Automatically switch the display on when receiving a notification
2020-07-04 18:10:30 +02:00
JF
4abbd7d0cf
Add doc : how to add new symbols.
2020-07-04 14:14:31 +02:00
JF
da39f402e5
Replace bitmap icons by font icons (provided by AwesomeFont and LVGL). These icons are smaller in memory and quicker to draw.
...
BLE and battery icon replaced in Clock screen.
Added heartbeat and step icons in Clock screen.
Replace all labels in Menu by icons.
Add doc to generate new font.
2020-07-04 13:58:15 +02:00
JF
bb11891b6e
Remove custom styles in Screens and define default style and "Big style" in LittleVgl during the initialization of LVGL.
2020-07-03 21:37:40 +02:00
JF
ca549bcfd8
Add doc about memory usage analysis.
2020-07-03 14:45:01 +02:00
JF
a83f067af9
Reduce RAM memory usage by tuning the stack of the stasks and the heap allocated for FreeRTOS.
...
Add Monitor to log the stack usage of each task.
2020-07-02 21:38:52 +02:00
JF
89e7033830
Fix buffer overflow opportunities in AlertNotificationService & AlertNotificationClient.
2020-06-28 11:59:14 +02:00
JF
4f9adb2372
Re-enable watchdog
2020-06-27 16:11:42 +02:00
JF
f8ffb405a2
Merge branch 'nimble_1_3_0' into develop
2020-06-27 16:10:17 +02:00
JF002
e86991284f
Merge pull request #37 from darnel/fix-include
...
Fix #include to relative paths
2020-06-20 16:36:36 +02:00
JF
3dfba0b90d
Update BLE status when BLE is connected.
2020-06-19 22:20:12 +02:00
JF
b8f9d70667
Use PRIMASK instead of BASEPRI for critical sections in FreeRTOS. This is needed by NimBLE to be able to mask radio interrupt (which has priority 0).
2020-06-19 22:11:21 +02:00
JF
238cda0b90
Apply fix for errata 87 (FPU issue).
2020-06-19 22:10:30 +02:00
JF
a0b5cbbc1c
Disable all logging
2020-06-19 22:10:01 +02:00
Vojtěch Jirkovský
34fd4c5cf3
Fix link error because of missing file "nrf_common.ld"
2020-06-17 23:32:56 +02:00
Vojtěch Jirkovský
064e77f05a
Fix #include to relative paths
2020-06-17 09:04:15 +02:00
JF
73e6cbde79
Fix builds that do not specify CMAKE_BUILD_TYPE during CMake generation. Apply Release by default.
2020-06-16 21:02:03 +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
9898fed806
Update to nimble 1.3.0 + WIP : debug BLE connection issue with android phones.
2020-06-16 20:36:24 +02:00
JF
fab220d0b9
Fix idle timer bug that would prevent the screen from waking up.
2020-06-13 17:33:49 +02:00
JF
47851fb3b4
Display BLE MAC address in sysinfo Screen.
2020-06-08 21:51:34 +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
421af9625b
Add build date and time in sysinfo screen.
2020-06-07 20:16:39 +02:00
JF
81a0ad73d9
Set idle timeout to 15s before going to sleep.
2020-06-07 20:05:04 +02:00
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
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
aeb4cce8fe
Merge branch 'master' of https://github.com/JF002/Pinetime
2020-01-19 12:30:03 +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
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
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
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
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
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
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
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
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