Jean-François Milants
6d524ebea2
Move most of the code from the constructor of the objects statically initialized in main() into Start()/Init() functions to avoid Static Initialization Order Fiasco ( https://en.cppreference.com/w/cpp/language/siof ). See https://github.com/JF002/InfiniTime/pull/415#issuecomment-859004238 .
2021-06-12 10:58:28 +02:00
Riku Isokoski
239b5547ea
Fix another regression
2021-06-11 14:55:37 +03:00
Riku Isokoski
21b6f85140
Fix regression
2021-06-11 14:46:03 +03:00
Riku Isokoski
123c6f1917
Fix touchevent tap
2021-06-11 13:26:28 +03:00
Florian
049174bd35
replace ScreenList with a single screen in Clock. This removes the tap to switch feature
2021-06-11 01:15:32 +02:00
Jean-François Milants
b1925ff286
Minor improvements: use std::make_unique when creating unique_ptr, check the code is running from an IRQ before calling xQueueSendFromISR or xQueueSend)
2021-06-10 21:20:27 +02:00
Jean-François Milants
caca6a5cff
Fix stack corruption when exiting an app (the app was destroyed while it was executing the button handler).
2021-06-10 21:19:11 +02:00
Jean-François Milants
ff00873f97
Fix build for recovery firmware.
2021-06-06 20:20:55 +02:00
Jean-François Milants
7f9cc51b05
Initialize SystemTask, DisplayApp and HeartRateTask as global static variable instead of variables on the heap. We don't need them on the heap as we know their size at build time, it'll reduce memory fragmentation and it'll make memory analysis easier.
2021-06-06 15:56:03 +02:00
JF002
79f0fcb07a
Add the maximum memory used by LVGL in SystemInfo app. This will help the developers to size the memory buffer allocated to lvgl. ( #408 )
2021-06-01 21:03:29 +02:00
JF002
1b6acdedc2
Enable various compilation flags to reduce the binary size ( #401 )
...
* Add the following compilation flags:
* -fno-exceptions and -fno-non-call-exceptions : disable exception handling
* -fno-rtti : disable run time type information (needed by dynamic_cast, for example)
These flags reduce the binary size by about 100KB!
Also, -fstack-usage generate debug info (not in final binary) to allow tools like Puncover to do a stack analysis.
* Remove unused CMake variables in CMake_nRF5x.cmake (duplicated in src/CMakeLists.txt).
Replace -O0 by -Og in DEBUG builds. This generates a smaller binary (small enough for the internal memory) that is debugger friendly.
2021-06-01 21:03:01 +02:00
JF002
c0b0f8cb73
Remove debug defines (DEBUG & DEBUG_NRF_USER) from the build. These debug can be useful for debugging purposes but not in production (release). ( #400 )
...
This reduces the size of the binary by about 6KB!
This also removes filepath that were embedded into the binary (.bin) file.
2021-06-01 21:02:15 +02:00
JF002
287399f993
Navigation app: reduce memory usage ( #362 )
...
* Navigation app:
- Renaming and reformatting according to coding conventions
- declare iconMap as constexpr and use char* instead of std::string
This reduces the flash usage from 424644B to 419344B (-5300B)!
2021-06-01 21:01:32 +02:00
Riku Isokoski
c6969268fc
Keep button visible, but disabled
2021-05-26 16:13:40 +03:00
Riku Isokoski
b393105082
improve ui and optimize code
2021-05-26 15:15:10 +03:00
Jean-François Milants
f88c0f41fa
Fix recovery DisplayApp.
2021-05-21 11:56:50 +02:00
Florian
13e3463276
Timer App ( #355 )
...
* built timer app
* Style improvements
* making sure buttons stay hidden when the app is reopened and reappear after the timer runs out
* more sensible calculations of time deltas. eliminated that mysterious scaling factor
* changing the timer icon
2021-05-20 20:43:54 +02:00
Florian
8c3b250dbf
removed an empty assignment that caused a compiler warning ( #372 )
2021-05-20 20:34:21 +02:00
Jean-François Milants
9ab298c09e
Fix wrong initialization of 'pinPowerPresent' pin that would prevent the touchpanel from working correctly when the device boots while connected to the charger.
2021-05-17 09:52:31 +02:00
Avamander
8568b5f31b
Updated license header year
2021-05-17 02:16:50 +03:00
Avamander
f6f28a95f6
Used a macro for UUID generation, switched from C-style casts to reinterpret_cast, renamed callback
2021-05-17 02:08:12 +03:00
David Ventura
9342d62a44
Emit event on power-present toggle ( #320 )
...
* Emit event on power-present toggle
* clang-format on changes
* also update battery status on any event
* update comments; remove double battery update
* Fix formatting
* Vibrate shortly on charging event
* debounce charge event
2021-05-16 21:13:22 +02:00
JF002
5b2472c4bc
Merge pull request #347 from jedi2light/feature-show-git-commit-hash-short
...
Feature: Store and show git short ref on PineTime alongside other firmware information
2021-05-16 11:37:39 +02:00
Florian Kraupa
2627ef760e
better handling of long notification titles
2021-05-16 00:16:33 +02:00
Jean-François Milants
d7fa000b85
DisplayApp : returnApp was renamed ReturnApp() (manual fix after multiple merges).
2021-05-15 22:38:49 +02:00
JF002
09977c28c0
Merge pull request #298 from joaquimorg/StepsApp
...
New Steps app
2021-05-15 22:32:40 +02:00
JF002
204d63697c
Merge pull request #349 from Avamander/patch-2
...
Switched to booleans for infinite while loops
2021-05-15 09:57:22 +02:00
JF002
48018fc1d8
Merge pull request #350 from Avamander/patch-3
...
Added braces to a few if statements
2021-05-15 09:56:48 +02:00
Avamander
d29d513244
Fixed a naming inconsistency of DisplayApp::ReturnApp and a few formatting errors
2021-05-14 12:46:51 +03:00
Avamander
e54163b7c2
Added braces to a few if statements
2021-05-14 12:43:29 +03:00
Avamander
33f965f326
Switched to booleans for infinite while loops
2021-05-14 12:40:46 +03:00
Stoian Minaiev
a4de61e1f5
git: show git short ref hash on SystemInfo(first screen) and FirmwareValidation screen alongside other information
2021-05-14 01:09:40 +03:00
Stoian Minaiev
e04c8ee95e
git: store git short ref hash on build stage to Version.h
2021-05-14 01:08:37 +03:00
Stoian Minaiev
9a8824c35a
SystemInfo app screen
...
First screen. Let the build date and build time string be centered as well as the others
2021-05-10 15:13:33 +03:00
Martin Ashby
3a938236d4
Fix a possible double free in StopWatch::Refresh.
...
The lv_obj_del is called on btnStopLap when transitioning to the
initial state, however the variable isn't then set to null. A subsequent
call to Refresh would attempt to delete the already freed object. This
could be triggered by stopping the stop watch, then pressing the
physical button on the watch.
Fixes https://github.com/JF002/InfiniTime/issues/315
2021-05-03 08:11:58 +01:00
JF002
e3ead332b9
Merge pull request #319 from DavidVentura/use-byte-for-ppg
...
Use int8_t for PPG data array
2021-05-02 14:55:43 +02:00
JF002
65e4fe0310
Merge pull request #314 from eivindm/improved_heartbeat_in_watchface
...
Improve design of heartbeat data in digital watchface
2021-05-02 14:41:19 +02:00
Eivind Mork
3355afbbd1
Show heartbeat icon in watchface in gray if data is missing
2021-05-02 12:30:33 +02:00
JF002
9f15fd1820
Merge pull request #301 from petterhs/vib
...
Short vibration when enabling it in quick settings menu
2021-05-02 11:58:48 +02:00
petter
6e1726d1d0
short vibration when enabling it
2021-05-02 11:48:05 +02:00
JF002
d141888b82
Merge pull request #275 from panos/navigation-text
...
Changed text in Navigation
2021-05-02 11:45:08 +02:00
JF002
9af0eb04c2
Merge pull request #318 from Kozova1/TypoFix
...
Fix typo in src/displayapp/fonts/README.md
2021-05-02 11:43:35 +02:00
JF002
cd902e3670
Merge pull request #308 from joaquimorg/LVGL-Update
...
Update LVGL
2021-05-02 11:41:45 +02:00
david
a62b81da3d
Fix #209 . Use int8_t for PPG data array
2021-05-01 12:10:44 +02:00
Kozova1
d9bbda2010
Fix typo in src/displayapp/fonts/README.md
...
Signed-off-by: Kozova1 <mug66kk@gmail.com>
2021-04-30 01:02:30 +03:00
Joaquim
cd0d85dff9
Merge branch 'develop' of
...
https://github.com/JF002/InfiniTime into StepsApp
2021-04-26 21:29:48 +01:00
Avamander
6989854519
Changed access modified indentation
2021-04-24 12:00:45 +03:00
Avamander
40d45d923b
Reformatted all the files according to clang-format style
2021-04-24 11:39:53 +03:00
Joaquim
552f880a23
Update LVGL
...
fixes from upstream
2021-04-21 15:48:41 +01:00
Jean-François Milants
fefb429fb4
Fix formatting issue on the lap counter in Stopwatch (display lap counter on 2 characters).
2021-04-20 21:01:38 +02:00
Joaquim
5fc07a8df7
Fix button size and default step goal
2021-04-20 16:21:01 +01:00
Jean-François Milants
410cc821f4
Fix formatting issue on the lap counter in Stopwatch.
2021-04-19 20:30:51 +02:00
Joaquim
cd4a3e1dfe
New Steps app
...
Settings to set the steps goal
More detail in Motion app
New 42px Font
2021-04-19 15:28:38 +01:00
Jean-François Milants
bbc24e88b0
Fix a display glitch when an OTA is initiated while an app (other than Clock) was open and while the device was in sleep mode.
2021-04-18 17:44:40 +02:00
Jean-François Milants
a7114f21b7
Fix display consistency with the HR measurement when measurements are already running when the app is open.
2021-04-18 13:50:38 +02:00
JF002
6eaa395e7d
Merge pull request #285 from Peetz0r/fix-stopwatch-formatting
...
Fix stopwatch formatting
2021-04-18 10:47:46 +02:00
JF002
4152306bc3
Merge pull request #269 from petterhs/musicBtnTheme
...
Apply theme to Music buttons
2021-04-18 10:40:15 +02:00
Peetz0r
b221cc1731
Stopwatch: improve variable naming
...
msec => hundredths
2021-04-17 23:47:53 +02:00
Peetz0r
7caeecc09b
Stopwatch: improve number formatting
2021-04-17 23:47:02 +02:00
Panagiotis Vasilopoulos
a26f64996a
Changed text in Navigation
2021-04-17 05:40:05 +03:00
Jean-François Milants
63635381b0
Disable the reading of the motion values in sleep mode when the wake up mode is not 'wrist rotation'.
2021-04-16 20:05:46 +02:00
Joaquim
3c413bdd52
In order to stabilize the battery reading,
...
I modified the process to make 5 consecutive readings,
as the process is asynchronous,
there is no interference in the main process.
2021-04-16 16:15:38 +01:00
petter
2f1ddad403
fix style formatting in 2048 game
2021-04-16 01:18:32 +02:00
Joaquim José Almeida Pereira
969bb8e721
Change animation direction in menus
2021-04-15 15:55:01 +01:00
petter
d2f9ea893a
apply button theme to Music UI
2021-04-14 23:43:06 +02:00
Joaquim
f5e43a1668
Move Task info to about menu
...
fix build error in WatchFaceDigital
2021-04-11 17:20:15 +01:00
Joaquim
012c246e40
0.16.0 TWI problems fix
...
More memory for freertos heap and timer stack
Fix warning in watchface
Fix number of bytes read by cst816
Debug app to show freertos tasks
Increased the number of bytes of the twi write buffer
2021-04-10 19:09:33 +01:00
Jean-François Milants
15b3b8e282
Merge branch 'develop' into motion-sensor
...
# Conflicts:
# src/CMakeLists.txt
# src/displayapp/Apps.h
# src/displayapp/DisplayApp.cpp
# src/displayapp/DisplayApp.h
# src/displayapp/lv_pinetime_theme.c
# src/displayapp/screens/ApplicationList.cpp
# src/drivers/TwiMaster.cpp
# src/systemtask/SystemTask.h
2021-04-09 21:16:21 +02:00
Jean-François Milants
57b4c3f0ed
Fix display of empty notification.
2021-04-09 20:50:09 +02:00
Jean-François Milants
63584b6561
Merge branch 'develop' into notification-title
...
# Conflicts:
# src/displayapp/screens/Notifications.cpp
2021-04-09 20:47:24 +02:00
JF002
9096d1db4c
Merge pull request #259 from JF002/fix-music-app2
...
Fix music app
2021-04-09 20:44:02 +02:00
Joaquim
3685095da0
add more memory to displayapp task
2021-04-09 09:29:29 +01:00
Jean-François Milants
9ac4be8b75
TwiMaster is now based on the NRFX TWI driver, as it handles more edge cases and workarounds for errors on the bus.
...
Reset the TWI bus after the soft-reset of the motion sensor to workaround issues on the TWI bus.
2021-04-08 20:07:24 +02:00
Joaquim
3cf4df905a
restore battery buffer
2021-04-08 16:15:57 +01:00
Joaquim
365e68e6cc
Fix wake up lock in twi
...
optimize battery code
2021-04-05 15:22:10 +01:00
Joaquim José Almeida Pereira
96961709f3
array in SettingWakeUp wrong size
2021-04-05 11:01:44 +01:00
Joaquim
7e2db806c3
font creation
2021-04-04 22:03:53 +01:00
Jean-François Milants
f8b9a7c060
Fix music app :
...
- Enable LVGL animation (and disable groups, which were not used), and set the speed.
- Fix disc animation and progress display by initializing lastIncrement at 0 (a random value will be used otherwise, in release build)
2021-04-04 17:19:41 +02:00
Jean-François Milants
1d7576de64
Reset the step count every day at midnight.
2021-04-04 15:56:40 +02:00
Jean-François Milants
52a90288fd
Handle return code from BMA driver, and set a flag is the initialization fails. This allows to boot InfiniTime even if the device cannot initialize.
2021-04-04 15:56:11 +02:00
Jean-François Milants
c7cc47ae30
Code cleaning in BMA421 driver. Do the axis inversion in the driver and not in the application.
...
NOTE: Axis remapping from the SDK do not apply to the "raw" X/Y/Z values returned to the sensor. According to the doc, the remapping is only applied to features, but I cannot check if it has any effect on step counting (I'm not sure I use it correctly, doc is not complete enough about this feature).
2021-04-04 15:56:11 +02:00
Jean-François Milants
68bdaee1cc
First integration of the motion sensor (bma 421) : step counting + wake on wrist rotation + app to see the value of the 3 axis in "real time".
2021-04-04 15:56:04 +02:00
Jean-François Milants
3934e9bef2
Ignore notification with empty message.
2021-04-04 15:19:37 +02:00
Joaquim
bb7531e208
double tap wakeup error fix
...
battery nonblocking read
2021-04-04 13:51:22 +01:00
Jean-François Milants
1b71a10beb
Notification app : disable swipe when the app is in 'preview' mode. In this mode, only the new notification should be displayed, there is no point to allow navigating to past notifications.
...
Works as a workaround for the crash that occurs when you swipe the notification app in preview mode (https://github.com/JF002/InfiniTime/issues/250 ).
2021-04-04 13:42:22 +02:00
Jean-François Milants
03de1c6739
Add support for notification title. The notification buffer must contain the title and the message separated by a '\0' character.
...
If the buffer does not contain any \0, the whole buffer is considered to be the message of the notification. A default title will be displayed in the notification app.
2021-04-04 12:10:47 +02:00
Joaquim
1d3742e14f
Big UI and navigation Rewrite
...
new navigation
add some color to the apps
redesign menus
new settings menu
new quick settings
code clean up
size reduction by converting navigation images to font
and more...
2021-04-04 03:08:51 +01:00
Niall Cooling
8eb947a223
replaced all unique_ptr.reset calls with std::make_unique
2021-03-22 17:56:26 +00:00
Niall Cooling
e5e3fc02b8
Updated to include WatchFaceAnalog and fixed clashes
2021-03-22 17:23:49 +00:00
JF002
0c8b371a4c
Merge pull request #245 from petterhs/fixDisplayErrors
...
fix display driver issues in recovery
2021-03-21 16:35:21 +01:00
JF002
84798329dc
Merge pull request #244 from joaquimorg/LVGL7.11.0
...
Update to LVGL 7.11.0 Final
2021-03-21 16:35:00 +01:00
petter
3b51b4367d
fix display driver issues in recovery
2021-03-21 12:29:57 +01:00
panky-codes
dd9d6cd23e
Reverted the paddle app in displayapp.cpp
2021-03-21 11:15:31 +01:00
panky-codes
bb12ae9d65
Updated lvgl submodule to match with develop branch
2021-03-21 10:43:14 +01:00
panky-codes
5345650880
Merged upstream
2021-03-20 22:45:29 +01:00
panky-codes
754ac23304
Reworked based on PR comments.
2021-03-20 22:42:13 +01:00
Joaquim
d257ad21be
Update to LVGL 7.11.0 Final
2021-03-20 18:12:44 +00:00
JF002
a3ff2e46ca
Merge pull request #240 from joaquimorg/ScreenCorruptionFIX
...
FIX screen corruption (Issue #213 )
2021-03-20 18:10:13 +01:00
JF002
463e60eb4e
Merge pull request #237 from muesli/systeminfo-url
...
Update project URL in SystemInfo
2021-03-20 17:55:32 +01:00
Jean-François Milants
405c85c160
Merge branch 'develop' of github.com:JF002/Pinetime into develop
...
# Conflicts:
# src/main.cpp
# src/systemtask/SystemTask.h
2021-03-20 11:41:49 +01:00