Commit graph

2269 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