Commit Graph

2119 Commits

Author SHA1 Message Date
Reinhold Gschweicher
2607c3d799 Let TouchHandler return TouchEvents instead of driver specific enum
Let the TouchHandler::GestureGet() function return a TouchEvent instead
of the touchpanel-driver specific enum.

This helps to move the driver specific helper function `ConvertGesture`
from `DisplayApp` into `TouchHandler`.
2022-04-13 21:33:58 +02:00
Jean-François Milants
b498e1d633 Set version to 1.9.0 2022-04-02 16:31:39 +02:00
Riku Isokoski
78365548f7 Replace airplane mode with a bluetooth toggle 2022-04-02 16:16:47 +02:00
Reinhold Gschweicher
78cab3604d AlarmController: allow loss of precision for alarmTime cast
Allow a loss of precision if the system clock has a lower resolution
than nanoseconds. This is the case for web assembly.
2022-03-29 21:25:22 +02:00
Jean-François Milants
8f436e1d74 Timer App : add background label to ensure that the app will be displayed correctly after a full refresh (HW scrolling transition).
Code cleaning and rename methods.
2022-03-28 21:12:46 +02:00
Jean-François Milants
4761fcb63a DisplayApp : Call the event handler of the current app before loading the new one. This way, we ensure that lv_task_handler() is called before sending event to the newly loaded app. 2022-03-28 21:12:25 +02:00
Jean-François Milants
a8b7fbe48b New changes according to the review : Priority 0 for display, 1 for system, timer and ble host, and 2 for ble LL 2022-03-21 20:53:46 +01:00
Jean-François Milants
cd1f218dd8 Fix priorities of BLE tasks 2022-03-21 20:53:46 +01:00
Jean-François Milants
f1194a5f74 In current configuration, the timer task (the one from FreeRTOS) has the lowest priority (0). Both display and system tasks are also set on priority 0.
In cases where any other task takes too much time to execute (it can happen in Display Task, see https://github.com/InfiniTimeOrg/InfiniTime/issues/825), the timer task does not have the opportunity to run fast enough to detect and debounce presses on the button.

This commit sets the following priorities:
 - [0] : Display  Task
 - [1] : Timer and System tasks
 - [2] : BLE Host
 - [3] : BLE LL

This way, we ensure that button presses will always be detected, even if the rendering of the display takes a huge amount of time.
2022-03-21 20:53:46 +01:00
Jean-François Milants
88197b6632 Music app : when title/track name are truncated, add an ellipsis at the end of the strings. 2022-03-21 20:53:15 +01:00
Jean-François Milants
f973f1c12c Add missing space in if expression. 2022-03-21 20:53:15 +01:00
Jean-François Milants
df61907073 Limit the size of the track and album name received by MusicService. This should work around this bug : https://github.com/InfiniTimeOrg/InfiniTime/issues/825 and prevent heap over-allocation. 2022-03-21 20:53:15 +01:00
JF
1c4a56b05b
Merge pull request #1038 from NeroBurner/analog_local_variables
WatchFaceAnalog: local date/time variables
2022-03-14 21:25:46 +01:00
JF
5f2ce53877
Merge pull request #1033 from NeroBurner/music_override_warning
Music: fix warning about overridden function
2022-03-14 21:21:33 +01:00
JF
fc374562dd
Merge pull request #1034 from NeroBurner/twos_comparison_warning
Twos: fix warning about extra paranthesis
2022-03-14 21:21:11 +01:00
JF
76b7436dfb
Merge pull request #1039 from NeroBurner/datetime_const_and_analog_const_ref
Datetime const and analog const ref
2022-03-14 21:13:56 +01:00
Reinhold Gschweicher
1379b7902f WatchFaceAnalog: local date/time variables
Use local date and time variables. No need to store them in the object.
2022-03-14 21:00:07 +01:00
Reinhold Gschweicher
bebc072e78 WatchFaceAnalog: const ref to dateTimeController
The clock app only reads from the dateTimeController, never modifies it.
2022-03-14 20:59:44 +01:00
Reinhold Gschweicher
db41d9081a DateTimeController: make possible functions const
MonthShortToString and DayOfWeekShortToString don't change the
underlying object. Those are just getters and can be declared `const`.
2022-03-14 20:59:44 +01:00
Reinhold Gschweicher
51716898aa Twos: fix warning about extra paranthesis
We have a comparison like `if (( a == b ))`, which is a parenthesis too
much, which generates the following warning

```
InfiniTime/src/displayapp/screens/Twos.cpp:133:35: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
  if ((grid[newRow][newCol].value == grid[oldRow][oldCol].value)) {
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
InfiniTime/src/displayapp/screens/Twos.cpp:133:35: note: remove extraneous parentheses around the comparison to silence this warning
  if ((grid[newRow][newCol].value == grid[oldRow][oldCol].value)) {
      ~                           ^                            ~
```
2022-03-13 22:05:25 +01:00
Reinhold Gschweicher
0933d60b16 Music: fix warning about overridden function
Clang warns on `OnTouchEvent()` function, which is overridden, but is
missing the `override` keyword

```
In file included from InfiniTime/src/displayapp/screens/Music.cpp:18:
InfiniTime/src/displayapp/screens/Music.h:43:14: warning: 'OnTouchEvent' overrides a member function but is not marked 'override' [-Winconsistent-missing-override]
        bool OnTouchEvent(TouchEvents event);
             ^
```
2022-03-13 21:58:53 +01:00
mabuch
ea14c580ca Rename PineTimeStyle to WatchFacePineTimeStyle 2022-03-12 18:16:09 +01:00
JF
21da5869c5
Merge pull request #1026 from NeroBurner/fix_settings_chimes
Fix SettingChimes cbOption array size
2022-03-09 21:59:30 +01:00
JF
dbfcb455fe
Merge pull request #1005 from aveeryy/notifications-as-text
Terminal watchface: replace notifications icon with a text entry
2022-03-09 21:33:46 +01:00
Reinhold Gschweicher
f47b04ffd0 Fix SettingChimes cbOption array size
There are 3 options, but the array-size is set to 2. This leads to
memory corruption in the initialization of the SettingChimes screen when
assigning the third option object pointer.

Found in https://github.com/InfiniTimeOrg/InfiniSim/issues/11
2022-03-08 23:12:34 +01:00
Reinhold Gschweicher
7e0b053b38 CI: lv_sim: initialize libpng submodule for WITH_PNG=ON screenshot
InfiniSim PR https://github.com/InfiniTimeOrg/InfiniSim/pull/10 adds
support for screenshots in png/bmp format using `libpng` submodule.
This new submodule must be added to the lv_sim workflow as well.
2022-03-08 21:57:20 +01:00
Riku Isokoski
61a9a97e26 Update navigation font readme section 2022-03-08 21:34:20 +01:00
Riku Isokoski
04d21dcd93 Add ExtraBold font ttf 2022-03-08 21:34:20 +01:00
Riku Isokoski
13c66dd54b Further updates to font readme. 2022-03-08 21:34:20 +01:00
Riku Isokoski
204ad7ca2a Update font readme, update fonts, add missing files 2022-03-08 21:34:20 +01:00
Reinhold Gschweicher
4c92ed410f CI: add lv_sim workflow and upload 'infinisim' executable
use InfiniSim repo to build simulator in CI
2022-03-08 21:21:41 +01:00
Reinhold Gschweicher
187d99c0f7 SystemMonitor: implement FreeRtosMonitor only if trace facility is set
Split SystemMonitor into h and cpp file and move the logging code of the
`Process` function into the cpp file.

Depending of the `configUSE_TRACE_FACILITY` define from
`src/FreeRTOSConfig.h` create either a "FreeRtosMonitor" or a
"DummyMonitor".

Make the `Process()` function non-const, as the FreeRtosMonitor changes
the member variable `lastTick`.

In `SystemTask.h` we then only need to use `SystemMonitor`, without
knowledge of the `configUSE_TRACE_FACILITY` define.
2022-03-08 20:28:54 +01:00
Reinhold Gschweicher
5fe5cee9ef Add missing nrf_log.h includes shadowed by SystemMonitor.h
Some components were missing a `nrf_log.h` include. This missing
include was accidentally provided by the SystemMonitor.h header, which
was included by Systemtask.h
2022-03-08 20:28:54 +01:00
avery
8844ea60b1
Remove unnecessary line 2022-03-06 14:01:20 +01:00
avery
452dd12eff
Merge branch 'develop' into notifications-as-text 2022-03-06 13:11:26 +01:00
avery
5d974434ef
Replace notif entry with "You have mail." text 2022-03-05 13:01:50 +01:00
Yehoshua Pesach Wallach
30797b37bc removed SetClockFace from watchface Constructors 2022-03-03 21:20:22 +01:00
Reinhold Gschweicher
5613449bfb Settings: more specific read and write mode
For each filesystem interaction be more specific if we want to read from
the file or write to it.

Doing a non-creating read on the loading of the settings file, otherwise
an empty file could be created, and when reading that empty file for the
initial settings I would expect an error (or random data) when reading.
2022-03-03 21:15:57 +01:00
medeyko
dd47ba9782 Update README.md
More imperative tone
2022-03-03 21:13:54 +01:00
medeyko
dd28359571 Update README.md
remove unnecessary )
2022-03-03 21:13:54 +01:00
medeyko
43399b3832 Update README.md 2022-03-03 21:13:54 +01:00
medeyko
1eaf258a63 Update jetbrains_mono_bold_20.c
Fix 0 (zero) symbol. For more details, #988
2022-03-03 21:13:54 +01:00
Riku Isokoski
f1c91e1ce0 terminal watchface: remove icons and other fixes 2022-03-03 21:10:39 +01:00
avery
1bfee61ef9 Replace Airplane mode icon 2022-03-03 21:09:05 +01:00
Reinhold Gschweicher
a29e30c187 Notifications: replace newlines in label-copy because of const char* title
The variable `title` is defined as `const char*`, which means, that
`strchr()` returns a `const char*` as well according to
https://www.cplusplus.com/reference/cstring/strchr/

But in the same line the return value is assigned to a non-const
`char*`, which shouldn't be allowed (error with `-pedantic`).

Because the `lv_label` creates an internal copy of the title sting, just
modify that one instead and replace newline in the copied string.
2022-03-03 21:08:45 +01:00
Reinhold Gschweicher
29f0bce46b Remove unused includes in HearRate and Motion.h
The include `bits/unique_ptr.h` isn't used, so remove it.
2022-03-03 21:07:11 +01:00
Arsen6331
51640c7248 Add ITD as a companion app 2022-03-03 21:04:38 +01:00
avery
8dae4c8299
terminal: Replace notification icon with a text entry 2022-02-22 18:42:54 +01:00
avery
2803dd667f
Use Bluetooth brand color for status text 2022-02-22 18:23:26 +01:00
Jean-François Milants
0e2b27d792 Merge branch 'evergreen22-airplane-mode' into develop 2022-02-20 15:41:06 +01:00