Commit Graph

1538 Commits

Author SHA1 Message Date
Riku Isokoski
d6165e72b7
Replace icomoon system font with material design icons (#1228) 2022-07-21 22:56:34 +03:00
Riku Isokoski
9ee1160578
Reset timer by long pressing on the button (#1214)
* Reset timer by long pressing on the button

* Consider press_lost as released

Otherwise the bar would keep increasing if the finger slid off the
button
2022-07-21 22:53:36 +03:00
Riku Isokoski
411f2d19e1 Use Counter widget in SettingSetTime plus optimizations 2022-07-21 22:23:15 +03:00
Riku Isokoski
df6557dd31 Extend Counter functionality
Custom fonts, twelve hour mode and Value changed callback.
2022-07-21 22:23:15 +03:00
Riku Isokoski
0f4233003e
Limit backlight when flashlight is off (#1212) 2022-07-21 22:22:14 +03:00
Riku Isokoski
cea81fea9c
Always restore brightness on app switch (#1213) 2022-07-21 22:16:55 +03:00
Jean-François Milants
a9986e5351 Fix filename of the MCUBoot image and recovery MCUBoot image in CMake files. This will fix the generation of output files at the end of the build process. 2022-07-08 17:59:51 +02:00
Christoph Honal
463355281a Display target build variant in system info screen 2022-07-07 11:23:05 +02:00
Christoph Honal
0f1e510574 Nimble: Compatibility with LFRC calibration
Nimble has to be aware of the low frequency clock
calibration procedure, in order to not interfere with
the usage of the HFCLK. For more info, see
https://github.com/apache/mynewt-nimble/issues/1207
2022-07-07 11:20:56 +02:00
Christoph Honal
33a7a6a095 Nimble: Enable optional debug output via RTT
This allows better debugging of the bluetooth stack.
2022-07-07 11:20:56 +02:00
Christoph Honal
118adb96cf Nimble: Reduce BLE power usage
This configures Nimble to enable the HFCLOCK and other
Bluetooth peripherals only when needed, but 1500 us in advance.
This time is recommended by the Mynewt docs.
2022-07-07 11:20:56 +02:00
Riku Isokoski
9b92861753
Twos code cleanup (#1220) 2022-07-06 11:29:23 +03:00
Riku Isokoski
ec8a845052
Add PageIndicator widget to reduce code duplication (#1218)
* Move PageIndicator widget to its own files to reduce code duplication
* Use uint8_t in PageIndicator
2022-07-05 07:41:09 +02:00
ITCactus
50b98798b9 cleanup after migration to the font-generator 2022-06-30 16:19:51 +02:00
Autoformatter
0300a8fa80 Apply clang-format to Settings.h 2022-06-30 15:15:33 +02:00
Autoformatter
b4f4e2f3fe Apply clang-format to Clock.cpp 2022-06-30 15:15:32 +02:00
ITCactus
cfaafc1fe2 fix for week number and days till the end of the year
+ formating (clang)
2022-06-30 15:15:32 +02:00
ITCactus
e7c0b2c5c2 fix memory leak + refactoring 2022-06-30 15:15:32 +02:00
ITCactus
917e46c684 post rebase fixes 2022-06-30 15:15:32 +02:00
ITCactus
319dfd23e7 [new watchface] watchface inspired by G7710, with day of year and week number info 2022-06-30 15:14:23 +02:00
Reinhold Gschweicher
12fad7411d Notifications: no inTransition screen, simple blackbox is enough 2022-06-28 18:50:10 +02:00
Simon Willshire
2c75e7aad8 Dismiss notifications by swiping right
Add a new interface `NotificationManager::Dismiss(id)` to delete a
notification with the specified `id`.

The animate the notification dismiss the `RightAnim` transition to a
black screen is used. After the dismiss the new message is swiped in
from below or above.

If we dismiss the oldest message (when we are at 5/5, or 3/3), then the
new message after a dismiss should appear to come from below.

Otherwise (when we are at 2/3) the new message after a dismiss should
appear to come from above.

Rework the index code to show the index of the currently viewed
notification. Instead of calculating the index relative to the oldest
`id` introduce a new interface `NotificationManager::IndexOf(id)`. This
is done because the `id` of the notifications in the buffer aren't
continuous anymore (as some messages could have been dismissed).

Rework notification ring buffer to have a beginIdx and a size
internally to make the dismissal of notifications easier.

Fixes: https://github.com/InfiniTimeOrg/InfiniTime/issues/176

Co-authored-by: Simon Willshire <me@simonwillshire.com>
Co-authored-by: Reinhold Gschweicher <pyro4hell@gmail.com>
2022-06-28 18:50:10 +02:00
Christoph Honal
e77d47e35c LFCLK: Add compatibility to wasp-os reloader-factory 2022-06-27 08:28:48 +03:00
Christoph Honal
8b0559c481 Add basic hardware configuration options for P8
This enables the configuration of the LFCLK source,
as well as the target hardware board pin configuration.
2022-06-27 08:28:48 +03:00
Christoph Honal
bab86633a0 Font generation: Fix patch binary path 2022-06-25 16:29:39 +02:00
Christoph Honal
91c69d3c5b CMake: Fix indentation 2022-06-19 21:23:59 +02:00
Christoph Honal
e247afaa81 CMake: Extend debug configuration
Enable debug output for InfiniTime, Nimble and the NRF SDK
via SEGGER RTT on debug builds.
2022-06-19 21:23:59 +02:00
Riku Isokoski
61c2d8dbc7 Flashlight default to max brightness and code cleanup 2022-06-19 18:24:36 +02:00
Riku Isokoski
2b2aefcf6a Fix InfiniTime compiler warnings 2022-06-19 13:41:33 +03:00
Riku Isokoski
95ff285991
Remove backup brightness feature (#1180)
This feature is not needed and is probably more likely to cause issues. It's better to just use brightnessController.Set(settingsController.GetBrightness());
2022-06-18 12:54:41 +03:00
Riku Isokoski
9b775c6a91
Automatically create screens for applist and settings (#1153)
Apps and settings are now stored in a single array (two arrays in total).
Replace magic values with appsPerScreen and entriesPerScreen.
2022-06-16 21:41:54 +02:00
Riku Isokoski
10ca036ffb
Patch hole in the letter M in jetbrains_mono_bold_20 (#1175) 2022-06-16 17:05:55 +02:00
Reinhold Gschweicher
ecb3cd3e31 SettingChimes: private Option struct, use std::array for cbOption 2022-06-11 22:46:38 +03:00
Riku Isokoski
d55ec42b17 Simplify SettingChimes code 2022-06-11 22:46:38 +03:00
Diego Miguel
18cff286c7 Make notification color white when side cover off 2022-06-11 16:57:24 +02:00
Diego Miguel
2ad51e6a98 Fix date alignment 2022-06-11 16:57:24 +02:00
Diego Miguel
4e9fe3f36d Simplify code 2022-06-11 16:57:24 +02:00
Diego Miguel
20b31fdbe5 Show battery indicator when side cover hidden 2022-06-11 16:57:24 +02:00
Diego Miguel
603af7c372 Better alignment of the date label 2022-06-11 16:57:24 +02:00
Diego Miguel
cb2131ec2c Implement charging battery animation 2022-06-11 16:57:24 +02:00
Diego Miguel
b5bf6c51a4 Implement battery indicator 2022-06-11 16:57:24 +02:00
Diego Miguel
9122547657 Make Pine64 logo darker 2022-06-11 16:57:24 +02:00
Diego Miguel
f6f6f9507f Use existing fonts in Infineat watchface 2022-06-11 16:57:24 +02:00
Diego Miguel
a4c3558ed7 Fix bleIcon in Infineat watchface after upstream rebase 2022-06-11 16:57:24 +02:00
Diego Miguel
dd0d2a4102 Make Pine64 logo background transparent 2022-06-11 16:57:24 +02:00
Diego Miguel
f5e9055e09 Make function DayOfWeekShortToStringLow const 2022-06-11 16:57:24 +02:00
Diego Miguel
b15f90aa1d Bump settings version (#1) 2022-06-11 16:57:24 +02:00
Diego Miguel
8942791f57 All ready for PR 2022-06-11 16:57:21 +02:00
Diego Miguel
a3bfbb5e08 Implement SettingWatchFace list 2022-06-11 16:56:35 +02:00
Diego Miguel
b561e7f3d0 Implement CheckboxList screen 2022-06-11 16:56:35 +02:00
Diego Miguel
f9d2b78c8d Small color adjustments 2022-06-11 16:56:35 +02:00
Diego Miguel
fcdf6dea4d Change Pine64 logo to grayscale 2022-06-11 16:56:35 +02:00
Diego Miguel
6eb5b99aa6 Fix aligment of time labels 2022-06-11 16:56:35 +02:00
Diego Miguel
f1f7fb7f49 Add whitespace char to Teko font 2022-06-11 16:56:35 +02:00
Diego Miguel
a890f8568a Fixes in side cover toggling 2022-06-11 16:56:35 +02:00
Diego Miguel
be16ef0d56 Update BLE controller in Infineat watchface 2022-06-11 16:56:35 +02:00
Diego Miguel
8f54332e5d Fix typo 2022-06-11 16:56:35 +02:00
Diego Miguel
b5fbcf0eee Add lowercase days of the week 2022-06-11 16:56:35 +02:00
Diego Miguel
da2cf8e913 Add 'Bebas Neue' and 'Teko' fonts 2022-06-11 16:56:35 +02:00
Diego Miguel
c2ecd4c731 Add Infineat settings to settings controller 2022-06-11 16:56:35 +02:00
Diego Miguel
a89fca7f86 Add 'circle' symbol & Pine64 logo 2022-06-11 16:56:35 +02:00
Diego Miguel
17d37d5ca5 Add Infineat watchface to settings 2022-06-11 16:56:35 +02:00
Diego Miguel
ae705f23a5 Implement watchface Infineat 2022-06-11 16:56:35 +02:00
Diego Miguel Lozano
de62620de1
Remove duplicated value in fonts.json (#1179) 2022-06-11 17:00:26 +03:00
Riku Isokoski
955dda60c5 Use lambda to reduce code duplication 2022-06-06 21:28:03 +02:00
Riku Isokoski
6cfb45e280 Move event handlers to unnamed namespace 2022-06-06 21:28:03 +02:00
Riku Isokoski
c6026aa617 Use static constexpr to force compile time initialization 2022-06-06 21:28:03 +02:00
Riku Isokoski
254c85246e Timer: Replace time label with Counter control hiding functionality 2022-06-06 21:28:03 +02:00
Riku Isokoski
4a40d29279 Counter: add show and hide controls functions 2022-06-06 21:28:03 +02:00
Riku Isokoski
41c461d1f6 Move linePoints to a member variable 2022-06-06 21:28:03 +02:00
Riku Isokoski
17cedd6629 Move bg color to a constexpr variable 2022-06-06 21:28:03 +02:00
Riku Isokoski
1d34e83c97 Use Counter widget in Timer 2022-06-06 21:28:03 +02:00
Riku Isokoski
9e18c23aac Lighten the large font for a more balanced look
Add Jetbrains Mono Light font
2022-06-06 21:28:03 +02:00
Riku Isokoski
12d4bc4139 Add initial counter widget 2022-06-06 21:28:03 +02:00
Riku Isokoski
c2b15b1446 Move basic apps to the top of the app list 2022-06-06 20:47:34 +02:00
Ildar Mulyukov
7bc692eea4 src/CMakeLists.txt: use iHEX format for mcuboot image creation
for better control of addresses used by img/fw
+ fix typo (RECOVERYY)
2022-06-06 19:41:57 +02:00
Ildar Mulyukov
5f28f89df2 fix wrong linker script
introduced in 58a2d000c4
2022-06-06 19:41:57 +02:00
Michele Bini
35dcf8c860
Switch to freertos timers (#1095)
* Use FreeRTOS timer for AlarmController
* Use FreeRTOS timer for MotorController
* Remove app_timer component from compilation as we now solely use
  FreeROTS timer
* Simplify variable and text names for AlarmController and MotorController timers
* Call ScheduleAlarm directly from StopAlerting, for recurring timers

Co-authored-by: Riku Isokoski <riksu9000@gmail.com>
Co-authored-by: NeroBurner <pyro4hell@gmail.com>
2022-06-06 17:47:43 +02:00
mabuch
f95147cf0e
remove unused symbols, free a little bit of space (#1167) 2022-06-05 19:43:49 +02:00
mabuch
91a3e98276
remove unused Meter.cpp and Meter.h (#1171) 2022-06-05 19:35:33 +02:00
mabuch
8a71f2b9e0
remove unused Brightness App (#1170) 2022-06-05 19:34:37 +02:00
mabuch
8999158528
remove old unused bluetooth icons (#1172) 2022-06-05 18:50:36 +02:00
Christoph Honal
977936e8e2 System: Refactor pin and interrupt setup
This should ensure better readability of the pin setup procedure,
as well as allow the configuration of the hardware button enable pin
and the accelerometer interrupt pin via the pin mapping header.
2022-06-05 09:53:22 +03:00
Christoph Honal
03a2059e87 SystemTask: Use "&&" instead of "and" for operators
As per the coding style, only primary spelling should be used for operators.
2022-06-05 09:53:22 +03:00
luz paz
03a510bd18 Fix various typos
Found via `codespell -q 3 -S ./src/libs -L ans,doubleclick,trough`
2022-06-05 09:31:23 +03:00
Finlay Davidson
7f45538eb5 Apply clang-format to all C++ files 2022-06-05 09:15:46 +03:00
Finlay Davidson
718fbdab98 Replace C-style casts with static_cast 2022-06-05 09:15:46 +03:00
Finlay Davidson
0ce4183640 Rename lvgl image files to .c 2022-06-05 09:15:46 +03:00
Ludovic J
87a69fe52d Fix assertion failure in TimerController
0 is not valid for xTimerPeriodInTicks, changing it to 1 to pass the assertion
2022-05-27 22:14:28 +03:00
Reinhold Gschweicher
443408312a fonts: gen.py: clearify missing exe message 2022-05-16 11:59:44 +03:00
Reinhold Gschweicher
db0f909b46 generalize lv-font creation
In https://github.com/InfiniTimeOrg/InfiniTime/pull/1097 new font
generation capabilites were added. Generalize the font creation to
make it possible to reuse the `displayapp/fonts/CMakeLists.txt` file
for `InfiniSim` and just add the new cmake file to the project and
link against the new `infinitime_fonts` target.

In the following a list of changes.

Allow non-global installed `lv_font_conv` executable installed with

```sh
npm install lv_font_conv@1.5.2
```

In CMake we search for `lv_font_conv` executable. Add the found
executable to the python script `generate.py`, to remove the need for
`lv_font_conv` to be in the path.

Search for `python3` executable, if CMake version 3.12 is available.
Otherwise use `python` as hard coded executable.

Instead of adding the generated fonts to `SOURCE_FILES` variable, create
a static library `infinitime_fonts`. Link this library to the
executables instead.

Use `add_custom_target()` together with `add_custom_command()` to
generate the font.c files once (like the original PR does).
2022-05-16 11:59:44 +03:00
Yehoshua Pesach Wallach
4cb07bac53 fontgen: update README.md to remove patch advanced options 2022-05-10 22:20:02 +02:00
Yehoshua Pesach Wallach
a2057ebc6f fontgen: changes to allow CMake to work from other project 2022-05-10 22:20:02 +02:00
Yehoshua Pesach Wallach
b6b322efdd fontgen: remove advanced (format string, process as list) from patching 2022-05-10 22:20:02 +02:00
Yehoshua Pesach Wallach
f7e8caa04a fontgen: verify lv_font_conv at cmake 2022-05-10 22:20:02 +02:00
Yehoshua Pesach Wallach
4fba1ac5ce fontgen: remove double-asterisk in readme 2022-05-10 22:20:02 +02:00
Yehoshua Pesach Wallach
27e598f3fa fontgen: assume plain .patch for single string patch 2022-05-10 22:20:02 +02:00
Yehoshua Pesach Wallach
8b2e1c69f2 fotngen: check for lv_font_conv 2022-05-10 22:20:02 +02:00
Yehoshua Pesach Wallach
331de8ce8e fontgen: remove "feature" feature 2022-05-10 22:20:02 +02:00
Yehoshua Pesach Wallach
4e2b0b1f10 fontgen: remove "generating the fonts" section 2022-05-10 22:20:02 +02:00
Yehoshua Pesach Wallach
d967ed7d90 fontgen: move lv_font_conv doc 2022-05-10 22:20:02 +02:00
Yehoshua Pesach Wallach
ef17f2f981 fontgen: generate font .c files in build dir 2022-05-10 22:20:02 +02:00
Yehoshua Pesach Wallach
43443eda74 fontgen: generate fonts at runtime with CMake 2022-05-10 22:20:02 +02:00
Yehoshua Pesach Wallach
1c0d9ef383 fonts: update README.md to match new method 2022-05-10 22:20:02 +02:00
Yehoshua Pesach Wallach
c006f05c99 fontgen: simplfy json after removed external features key 2022-05-10 22:20:02 +02:00
Yehoshua Pesach Wallach
9d3671561f fontgen: minor changes 2022-05-10 22:20:02 +02:00
Yehoshua Pesach Wallach
a75912dd97 fontgen: remove .c from requested font if there 2022-05-10 22:20:02 +02:00
Yehoshua Pesach Wallach
1d4fd9c27f fontgen: simplify enabled fonts 2022-05-10 22:20:02 +02:00
Yehoshua Pesach Wallach
77645b20b2 fontgen: use patch file for jetbrains 0 fix 2022-05-10 22:20:02 +02:00
Yehoshua Pesach Wallach
451d755e3d fontgen: removed ability of removing .c ext 2022-05-10 22:20:02 +02:00
Yehoshua Pesach Wallach
9535c1e651 fontgen: move features into fonts
Also, removed feature existance cheking (since it now depends on a font,
so may end up being inside (only) a font not being used currently -
which is an allowed usage)
2022-05-10 22:20:02 +02:00
Yehoshua Pesach Wallach
ac0dc5ff47 fontgen: added missing requested font check 2022-05-10 22:20:02 +02:00
Yehoshua Pesach Wallach
875b9c4bc5 fontgen: Added ability to choose fonts with .c 2022-05-10 22:20:02 +02:00
Yehoshua Pesach Wallach
3005fe8710 Added FontAwesome5-Solid+Brands+Regular.woff to git 2022-05-10 22:20:02 +02:00
Yehoshua Pesach Wallach
4116baf72e Added font auto-generate script 2022-05-10 22:20:02 +02:00
Riku Isokoski
09b852d8f0 Fix and test workflow 2022-05-08 22:27:42 +03:00
Jean-François Milants
dedb397ae0 Systemtask : replace enum SystemTaskState by an enum class. 2022-05-08 13:29:02 +02:00
Riku Isokoski
ae2b9d30d6 Simplify systemtask states 2022-05-08 13:24:15 +02:00
Riku Isokoski
beddfc346d Disable clip_corner, because it is slow. 2022-05-08 13:21:46 +02:00
Riku Isokoski
2b9418c7f8 Fix dropdown graphical issues.
The scrollbar would go out of bounds if DROPDOWN_PART_LIST had uneven
padding. Also enable clip_corner feature to stop the selected item from
overflowing.
2022-05-08 13:21:46 +02:00
Riku Isokoski
8160748733 Force full screen refresh with a rounder function
When the screen switches, the full screen needs to be refreshed for the
hardware scrolling to work. This was enforced with backgroundLabels, but
is simpler to do with a rounder function.
2022-05-08 13:21:27 +02:00
Riku Isokoski
6dac0a62f4 Remove lcd from DisplayApp 2022-05-08 13:12:37 +02:00
Reinhold Gschweicher
4229386501 List: add missing array include
List.h uses `std::array` as container, but is missing the `<array>`
include. Add it to make the header self contained.

The `memory` include is unused and can be removed.
2022-05-04 22:24:53 +02:00
Riku Isokoski
8061822f0c Fix large blacklevel step. Lower 25% of shades are now accessible.
There is a large step in brightness from level zero to level one.
After experimenting with various ST7789 options, I found that
decreasing VDV to 0x10 (-0.4V) fixes this issue.

The gamma change reduced the average error in brightness, but with the
underlying issue fixed, the gamma change has been reverted.
2022-04-29 11:35:22 +03:00
Riku Isokoski
b31fbb4adb New sharper batteryicon. Remove old unused batteryicons 2022-04-25 17:03:08 +03:00
Riku Isokoski
54df828665 Fix warnings 2022-04-25 15:59:43 +03:00
Riku Isokoski
b7b1af1c4c Replace app_timer with FreeRTOS timers 2022-04-25 15:52:39 +03:00
Reinhold Gschweicher
2e42b90009 Keep the paddle on screen in whole
As suggested in https://github.com/InfiniTimeOrg/InfiniTime/issues/1062
in point 3. The paddle should be kept on screen and not travel out of
the screen boundaries.

Co-authored-by: Riku Isokoski <riksu9000@gmail.com>
2022-04-25 15:51:51 +03:00
Riku Isokoski
b6807ee3ca Make functions const again 2022-04-25 15:51:12 +03:00
Riku Isokoski
36cb7c82f3 Remove now unused position override
It gets overridden later anyway
2022-04-25 15:51:12 +03:00
Riku Isokoski
34858d0a6c Update track progress in MusicService. Fix #127 2022-04-25 15:51:12 +03:00
Riku Isokoski
f82aa71eb0 Improve PTS color matching after gamma change 2022-04-25 15:50:26 +03:00
Riku Isokoski
aa32159c00 Tweak gamma on ST7789 and match UI colors
This change will increase the color accuracy of the PineTime and make UI
development with the simulator easier.
2022-04-25 15:50:26 +03:00
Riku Isokoski
5e83a862db Use centiseconds 2022-04-25 15:49:29 +03:00
Riku Isokoski
28ccf15e13 Stopwatch fixes 2022-04-25 15:49:29 +03:00
Riku Isokoski
3bf6b1cb16 Fix timer layout 2022-04-25 15:48:44 +03:00
Riku Isokoski
d7441d18be Firmware update screen fixes 2022-04-25 15:47:53 +03:00
Reinhold Gschweicher
129dd97b51 SpiNorFlash: use C++ style struct in C++ only header
`SpiNorFlash.h` is a C++ header, but the `Identification` struct is
created in a C style using `typedef struct`. Clang issues a warining
about this discrepancy:

```
In file included from /home/nero/repos/pinetime/InfiniSim/InfiniTime/src/systemtask/SystemTask.cpp:13:
/home/nero/repos/pinetime/InfiniSim/sim/drivers/SpiNorFlash.h:16:21: warning: anonymous non-C-compatible type given name for linkage purposes by typedef declaration; add a tag name here [-Wnon-c-typedef-for-linkage]
      typedef struct __attribute__((packed)) {
                    ^
                     Identification
/home/nero/repos/pinetime/InfiniSim/sim/drivers/SpiNorFlash.h:17:9: note: type is not C-compatible due to this default member initializer
        uint8_t manufacturer = 0;
        ^~~~~~~~~~~~~~~~~~~~
/home/nero/repos/pinetime/InfiniSim/sim/drivers/SpiNorFlash.h:20:9: note: type is given name 'Identification' for linkage purposes by this typedef declaration
      } Identification;
        ^
1 warning generated.
```

The easy fix is to use a C++ style struct.

Also includes code style fix from Riksu9000

Co-authored-by: Riku Isokoski <riksu9000@gmail.com>
2022-04-24 19:07:46 +03:00
Max Friedrich
f84a0a3897
Merge branch 'develop' into remove-nm-reference 2022-04-19 00:40:29 +02:00
Riku Isokoski
68a7016080 Replace lv_label_set_text where possible 2022-04-18 19:47:42 +03:00
Riku Isokoski
ff73f67d6f
Merge pull request #1009 from NeroBurner/AlarmController_allow_less_precice_system_time
AlarmController: allow loss of precision for alarmTime cast
2022-04-18 19:42:09 +03:00
mabuch
82a4f9aa68 resolved merge conflict after renaming PineTimeStyle to WatchFacePineTimeStyle 2022-04-18 14:35:31 +02:00
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
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
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
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
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
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
ef44b763d9 Merge branch 'airplane-mode' of https://github.com/evergreen22/InfiniTime into evergreen22-airplane-mode
Apply a few changes that were requested in the PR during the review.

# Conflicts:
#	src/CMakeLists.txt
#	src/displayapp/Apps.h
#	src/displayapp/DisplayApp.cpp
#	src/displayapp/Messages.h
#	src/displayapp/screens/settings/Settings.cpp
2022-02-20 15:40:49 +01:00
Jean-François Milants
40cdb54772 Merge branch 'airplane-mode' of https://github.com/evergreen22/InfiniTime into evergreen22-airplane-mode
# Conflicts:
#	src/CMakeLists.txt
#	src/displayapp/Apps.h
#	src/displayapp/DisplayApp.cpp
#	src/displayapp/Messages.h
#	src/displayapp/screens/settings/Settings.cpp
2022-02-20 15:25:24 +01:00
Jean-François Milants
69e4ab6be1 Manual squash merge of PR #932 (https://github.com/InfiniTimeOrg/InfiniTime/pull/932) from 13werwolf13 (https://github.com/13werwolf13). This PR adds a new Terminal watchface to InfiniTime!
Squashed commit of the following:

commit 23ea840b059c69667c8711265cecaf992791acb6
Author: Jean-François Milants <jf@codingfield.com>
Date:   Sun Feb 20 13:14:27 2022 +0100

    Terminal watch face : fix includes and a few code cleaning.

commit 3c244def25e3ad8e1f56d708fb0864c122059948
Merge: 40790868 138a6552
Author: Jean-François Milants <jf@codingfield.com>
Date:   Sun Feb 20 12:45:54 2022 +0100

    Merge branch 'develop' of https://github.com/13werwolf13/InfiniTime into 13werwolf13-develop

commit 138a65528a86799fd5c37f065023a92f222fe044
Author: Марков Дмитрий <13werwolf13@mail.ru>
Date:   Wed Feb 2 09:13:00 2022 +0500

    Update src/displayapp/screens/WatchFaceTerminal.h

    Co-authored-by: NeroBurner <pyro4hell@gmail.com>

commit 35156166b2f7589bf005ec7c7192a4226578f6d9
Author: Марков Дмитрий <13werwolf13@mail.ru>
Date:   Wed Feb 2 09:12:43 2022 +0500

    Update src/displayapp/screens/WatchFaceTerminal.cpp

    Co-authored-by: NeroBurner <pyro4hell@gmail.com>

commit 757ca2dd438f1f314267a8b81a6034c576f1d6be
Author: Марков Дмитрий <13werwolf13@mail.ru>
Date:   Wed Feb 2 09:12:30 2022 +0500

    Update src/displayapp/screens/WatchFaceTerminal.cpp

    Co-authored-by: NeroBurner <pyro4hell@gmail.com>

commit 60b6b4e5824d04faa3efa45173358d04fa68a368
Author: Марков Дмитрий <13werwolf13@mail.ru>
Date:   Wed Feb 2 09:12:20 2022 +0500

    Update src/displayapp/screens/WatchFaceTerminal.cpp

    Co-authored-by: NeroBurner <pyro4hell@gmail.com>

commit 6959d8c043013550a7a3e4e6588b234d3bb942b5
Author: Марков Дмитрий <13werwolf13@mail.ru>
Date:   Wed Feb 2 09:11:46 2022 +0500

    Update src/displayapp/screens/WatchFaceTerminal.cpp

    Co-authored-by: NeroBurner <pyro4hell@gmail.com>

commit 4d850281bedf342d0856da5eafc22e46d0767c56
Author: Марков Дмитрий <13werwolf13@mail.ru>
Date:   Wed Feb 2 09:11:17 2022 +0500

    Update src/displayapp/screens/WatchFaceTerminal.cpp

    Co-authored-by: NeroBurner <pyro4hell@gmail.com>

commit af483bee33c225fcb03432db1eb14c0453df0ae7
Author: Марков Дмитрий <13werwolf13@mail.ru>
Date:   Wed Feb 2 09:10:57 2022 +0500

    Update src/displayapp/screens/WatchFaceTerminal.cpp

    Co-authored-by: NeroBurner <pyro4hell@gmail.com>

commit 6bc6c1a637be4e514ecd0097d1dc9e4aacdba1db
Author: Марков Дмитрий <13werwolf13@mail.ru>
Date:   Wed Feb 2 09:10:40 2022 +0500

    Update src/displayapp/screens/WatchFaceTerminal.h

    Co-authored-by: NeroBurner <pyro4hell@gmail.com>

commit 25fdafc6aba0d9e0173103501de3802af261e2ae
Author: Марков Дмитрий <13werwolf13@mail.ru>
Date:   Wed Feb 2 09:06:10 2022 +0500

    Update src/displayapp/screens/WatchFaceTerminal.cpp

    Co-authored-by: NeroBurner <pyro4hell@gmail.com>

commit 12e1b0f8c0202a7f62e3e1c297af850ce3526d13
Author: Марков Дмитрий <13werwolf13@mail.ru>
Date:   Wed Feb 2 09:05:44 2022 +0500

    Update src/displayapp/screens/WatchFaceTerminal.cpp

    Co-authored-by: NeroBurner <pyro4hell@gmail.com>

commit e6c0f32056e9fea878d270d761607ac5ddc263b0
Author: Марков Дмитрий <13werwolf13@mail.ru>
Date:   Wed Feb 2 09:05:22 2022 +0500

    Update src/displayapp/screens/WatchFaceTerminal.h

    Co-authored-by: NeroBurner <pyro4hell@gmail.com>

commit 342ce8cd114f4af265078bc0cfa6b2d8831706d7
Author: Марков Дмитрий <13werwolf13@mail.ru>
Date:   Wed Feb 2 09:05:06 2022 +0500

    Update src/displayapp/screens/WatchFaceTerminal.cpp

    Co-authored-by: NeroBurner <pyro4hell@gmail.com>

commit 265fec5eeca27fcc1152a18e4af0273bcf119c46
Author: Марков Дмитрий <13werwolf13@mail.ru>
Date:   Wed Feb 2 09:04:06 2022 +0500

    Update src/displayapp/screens/WatchFaceTerminal.cpp

    Co-authored-by: NeroBurner <pyro4hell@gmail.com>

commit b4669be38be0df2b6a3505d5f7a770c71636be60
Author: Марков Дмитрий <13werwolf13@mail.ru>
Date:   Wed Feb 2 09:03:29 2022 +0500

    Update src/displayapp/screens/WatchFaceTerminal.cpp

    Co-authored-by: NeroBurner <pyro4hell@gmail.com>

commit 471a84390957ded2ac23ebfe1cb99408e3783b0f
Author: Марков Дмитрий <13werwolf13@mail.ru>
Date:   Wed Feb 2 09:03:10 2022 +0500

    Update src/displayapp/screens/WatchFaceTerminal.cpp

    Co-authored-by: NeroBurner <pyro4hell@gmail.com>

commit 6853166cf546a4ce561195eba01f1b1fd6d56420
Author: Марков Дмитрий <13werwolf13@mail.ru>
Date:   Wed Feb 2 09:02:51 2022 +0500

    Update src/displayapp/screens/WatchFaceTerminal.cpp

    Co-authored-by: NeroBurner <pyro4hell@gmail.com>

commit bba34f69bfdd6b44f142c93644f71c9eda007290
Author: Дмитрий Марков <13werwolf13@mail.ru>
Date:   Sat Jan 22 12:32:41 2022 +0500

    some fixes

commit 74eea9f5800f273249846e6e1c887d15ba6eb10b
Author: Дмитрий Марков <13werwolf13@mail.ru>
Date:   Sat Jan 22 12:32:17 2022 +0500

    some fixes

commit 1e4a6763d73c3ba39c680ad25f90813e6a6a36d1
Author: Дмитрий Марков <13werwolf13@mail.ru>
Date:   Fri Jan 21 08:59:44 2022 +0500

    no errors, no warnings, no work..

commit eb8bd4dc4ecbbf61f1e0f725fd2116ee25319fd6
Author: Дмитрий Марков <13werwolf13@mail.ru>
Date:   Thu Jan 20 23:50:04 2022 +0500

    add ble state text output

commit fda1c088becb4a7f9ced451a0291694abe2249dc
Author: Дмитрий Марков <13werwolf13@mail.ru>
Date:   Thu Jan 20 22:25:35 2022 +0500

    add ble state text output

commit 68d3d9b343c0f37830bb640fab10b186faf73067
Author: Дмитрий Марков <13werwolf13@mail.ru>
Date:   Thu Jan 20 22:22:20 2022 +0500

    add ble state text output

commit 0ed45a9916787f68c0aa6bab9c97b090f2eebdd5
Author: Дмитрий Марков <13werwolf13@mail.ru>
Date:   Tue Jan 18 15:48:15 2022 +0500

    typo fix

commit 477a3a7f27c7486be2c8f985afab1f1739608fed
Author: Марков Дмитрий <13werwolf13@mail.ru>
Date:   Tue Jan 18 10:36:19 2022 +0500

    Update src/displayapp/screens/WatchFaceTerminal.cpp

    Co-authored-by: NeroBurner <pyro4hell@gmail.com>

commit d6849888ea5cc152f04c5bf6fe2631e66296c357
Author: Марков Дмитрий <13werwolf13@mail.ru>
Date:   Tue Jan 18 10:36:09 2022 +0500

    Update src/displayapp/screens/WatchFaceTerminal.cpp

    Co-authored-by: NeroBurner <pyro4hell@gmail.com>

commit e2f7e318298b8a6f4d436cbbb1b92a738dacab7f
Author: Дмитрий Марков <13werwolf13@mail.ru>
Date:   Mon Jan 17 13:34:05 2022 +0500

    typo fix

commit fc246beb01d3feac4fd0b2fc9c45b38847e1d950
Author: Дмитрий Марков <13werwolf13@mail.ru>
Date:   Sat Jan 15 15:26:25 2022 +0500

    typo fix

commit ebbb31abf10ad9f61a8a7ecfdf29c2aaeaf33c19
Author: Дмитрий Марков <13werwolf13@mail.ru>
Date:   Fri Jan 14 10:08:29 2022 +0500

    typo fix

commit 3afedcaa28009f59e6960730e9349097ef455ea8
Author: Дмитрий Марков <13werwolf13@mail.ru>
Date:   Thu Jan 13 12:34:39 2022 +0500

    time format

commit 471a4c942f7e3cfd5c52bd61152ede770da5e026
Author: Дмитрий Марков <13werwolf13@mail.ru>
Date:   Thu Jan 13 12:27:10 2022 +0500

    time format

commit d3fd348de4b4a89c216a717de84fcc923cc099fe
Author: Дмитрий Марков <13werwolf13@mail.ru>
Date:   Thu Jan 13 12:26:49 2022 +0500

    time format

commit e540d103e3204649ff585742f8834d16136372d5
Author: Дмитрий Марков <13werwolf13@mail.ru>
Date:   Thu Jan 13 11:28:31 2022 +0500

    add patch

commit 728830178f31f71785c49cdc6b83daea4e0a7df6
Author: Дмитрий Марков <13werwolf13@mail.ru>
Date:   Wed Jan 12 22:08:07 2022 +0500

    add menue item

commit 4c5847669fa083f15ee3fdb404dadfdaef0f82aa
Author: Дмитрий Марков <13werwolf13@mail.ru>
Date:   Wed Jan 12 21:42:22 2022 +0500

    typo fix

commit 79273fe24f9162aca5508f07b17896149ad19839
Author: Дмитрий Марков <13werwolf13@mail.ru>
Date:   Wed Jan 12 20:48:06 2022 +0500

    typo fix

commit 1808a78ad94d0dfe97b6410a93ba30560de22f4b
Author: Дмитрий Марков <13werwolf13@mail.ru>
Date:   Wed Jan 12 20:17:15 2022 +0500

    typo fix

commit 6dfa141dca176789da4e978f008eb842d9ec515a
Author: Дмитрий Марков <markov@promobit.ru>
Date:   Wed Jan 12 20:12:09 2022 +0500

    typo fix

commit 88f01902325505a9206ced4504aae0762042535d
Author: Дмитрий Марков <13werwolf13@mail.ru>
Date:   Wed Jan 12 14:50:54 2022 +0500

    add terminal watchface
2022-02-20 13:20:43 +01:00
Reinhold Gschweicher
407908686a Provide reference to BrightnessController in DisplayApp
For the simulator I need a way to get to the brightnessController object
and handle the set brightness-levels accoringly.

This is done by the constructor expecting a brightnessController object
instead of initializing one itself
2022-02-19 20:46:45 +01:00
Reinhold Gschweicher
f829427c41 Remove unused and not compiling DropDownDemo
For ease of use the simulator uses a globbing expression to get all
screens source files. This one was picked up as well and lead to a
compilation error.
2022-02-19 13:17:45 +01:00
Reinhold Gschweicher
b857fdb9f4 SystemTask: forward declare BatteryController to fix of cyclic dependency
SystemTask.h included BatteryController.h, and BatteryController.h
included SystemTask.h. If unlucky the class SystemTask isn't created yet
when BatteryController wants to use it.

Fix that cyclic dependency by forward declaring the BatteryController
class and including it in the SystemTask.cpp file, where it is needed.
2022-02-19 13:17:00 +01:00
Reinhold Gschweicher
4aaa3a3b49 SettingShakeThreshold: add missing SystemTask.h, relative include
SettingShakeThreshold.h uses SystemTask, but doesn't include the header.
Fixing that for the simulator.

For consistency make the header include a relative to src include.
2022-02-19 13:16:15 +01:00
Reinhold Gschweicher
a2a70f8eda MotorController: no need to make this function a class function
The `StopRinging()` function was used just in `Notifications.h` screen.
That screen already has access to a `motorController` object.
2022-02-19 13:13:36 +01:00
Reinhold Gschweicher
04eca81a95 Notifications: use motorController object instead of class function
We get the motoroController object, so store and use it.
2022-02-19 13:13:36 +01:00
Reinhold Gschweicher
d5b78ecd66 SystemTask: remove unused ble includes
Remove unused includes. The firmware still compiles fine without the
includes.
2022-02-19 13:00:50 +01:00
minacode
a1db9fca13 remove unused reference 2022-02-16 13:34:14 +01:00
Riku Isokoski
4f649a8544 Improved alarm alert handling 2022-02-13 11:36:51 +01:00
Jean-François Milants
87d882b151 Merge branch 'statusBarTimeFormat' of https://github.com/mruss77/InfiniTime into mruss77-statusBarTimeFormat
# Conflicts:
#	src/components/datetime/DateTimeController.cpp
2022-02-13 11:23:05 +01:00
Zorvalt
d967efa197 Fix biased BLE pass key generation 2022-02-12 18:44:05 +01:00
Reinhold Gschweicher
5938b4b208 SystemTask: fix static cast missing brackets syntax
The static_cast syntax requires brackets around the input variable. The
implementation worked because the used input are defines, which add the
missing brackets like the following:
```cpp
  #define GPIO_PIN_CNF_SENSE_Low (3UL)
```
2022-02-12 18:38:31 +01:00
Riku Isokoski
32fe7b660c Make switch disabled state slightly dimmer 2022-02-12 18:36:11 +01:00
Riku Isokoski
76f63ed76a Fix switch default state 2022-02-12 18:36:11 +01:00
Riku Isokoski
0930a79041 Alarm: Fix missing stop button. Revert alert layout 2022-02-12 18:36:11 +01:00
Riku Isokoski
a9b77ae0d4 Alarm: Change checkable button for a switch 2022-02-12 18:36:11 +01:00
Eli Weiss
2daa5dcbee Added alarm 12 hour interface 2022-01-31 20:42:48 +01:00
Eli Weiss
ae0724c28c Corrected capitalization 2022-01-31 20:42:18 +01:00
Eli Weiss
02e94acf18 Corrected code formatting
Corrected formatting and removed unnecessary variable time24H
2022-01-31 20:42:18 +01:00
Eli Weiss
d86f81b9ad Changed setHourLabels function to handle 24H too
Changed setHourLabels function to handle 24 hour time labeling, changed to private
2022-01-31 20:42:18 +01:00
Eli Weiss
c8d998e82c Consolidated label changes, optimizations
Consolidated 12 hour label changes to function. Removed use of strings, struct.
2022-01-31 20:42:18 +01:00
Eli Weiss
5be2f57a78 Consolidated time conversion logic
Consolidated 24 hour to 12 hour time conversion logic into function, addressed formatting issues, cleaned up code.
2022-01-31 20:42:18 +01:00
Eli Weiss
1813399959 Removed redundant brackets
Also corrected orphaned bracket
2022-01-31 20:42:18 +01:00
Eli Weiss
2bc338ceed Cleaned up redundant if statements, spacing
Removed redundant if statements in hour button logic. Spacing is now in line with repo guidelines.
2022-01-31 20:42:18 +01:00
Eli Weiss
698288d822 Added 12 hour set time 2022-01-31 20:42:18 +01:00
JF
e73a92c29b
Merge pull request #949 from Riksu9000/fix_alarm
Fix alarm on time change
2022-01-26 22:03:14 +01:00
JF
f38c559089
Merge pull request #954 from NeroBurner/music_initialize_lastLength
Music: initialize totalLength to have non-random data from the start
2022-01-26 22:01:07 +01:00
JF
b12603448c
Merge pull request #959 from NeroBurner/stopwatch_include_cleanup
StopWatch: cleanup unused includes and use relative to src includes
2022-01-26 22:00:33 +01:00
JF
71c895dc71
Merge pull request #531 from hatmajster/heart-rate-gain-setting
Heart rate sensor - HRS gain changed to x8
2022-01-26 21:44:23 +01:00
JF
9e9010c725
Merge pull request #876 from yehoshuapw/hrs-driver-changes
Hrs driver changes
2022-01-26 21:39:58 +01:00
JF
458f5b8eb8
Merge pull request #903 from Riksu9000/improved_notif_timeout
Improved notification timeout
2022-01-26 21:38:07 +01:00
JF
bbb823b170
Merge pull request #939 from NeroBurner/buttonHandler_relative_include
ButtonHandler: includes relative to src dir
2022-01-26 21:35:03 +01:00
JF
a1880ca3b8
Merge pull request #940 from NeroBurner/systemTask_queue_include
SystemTask: add missing queue.h include for QueueHandle_t
2022-01-26 21:34:25 +01:00
JF
a354650a9c
Merge pull request #944 from NeroBurner/no_generated_files_in_source_dir
Create Version.h in binary dir instead of src dir
2022-01-26 21:33:57 +01:00
Reinhold Gschweicher
67f546fa33 StopWatch: cleanup unused includes and use relative to src includes 2022-01-26 08:31:14 +01:00
hatmajster
b4e956227e Hrs3300: changed default gain to x8 2022-01-25 17:44:11 +01:00
Reinhold Gschweicher
314c02194a Music: initialize totalLength to have non-random data from the start
In the first `Music::Refresh` call the lastLength and totalLength are
not initialized. The `lastLength` value is read first from the
musicService. Naturally in the first itereation that is changed and
`UpdateLength()` is called. There the variable `totalLength` is used as
well, but that variable isn't initialed to a sensible value yet. This
leads to sometimes the `Music.h` screen segfaulting (depending on the
random uninitialized data in the `lastLength` variable)
2022-01-23 23:39:38 +01:00
Riku Isokoski
470db4ab99 Fix alarm on time change 2022-01-22 12:47:23 +02:00
Riku Isokoski
6bf6bb7e2a PTS and digital watchface code cleanups 2022-01-20 16:04:26 +02:00
Reinhold Gschweicher
688dc2fed7 Create Version.h in binary dir instead of src dir
Don't use source directory for generated files. Use the binary (build)
directory instead.
2022-01-17 21:26:40 +01:00
Reinhold Gschweicher
bbc5af078d SystemTask: add missing queue.h include for QueueHandle_t 2022-01-16 22:47:16 +01:00
Reinhold Gschweicher
48e9458301 ButtonHandler: includes relative to src dir 2022-01-16 20:59:49 +01:00
Riku Isokoski
97cbe34963 Update shakewake menu option 2022-01-06 15:44:39 +02:00
JF
e8fc46ba20
Merge pull request #912 from SteveAmor/chimesradio
Updates radio button style for Chimes Option
2022-01-05 10:42:25 +01:00
SteveAmor
b1b9937ff7 Updates radio button style 2022-01-04 21:28:37 +00:00
Jean-François Milants
bef3e708f6 Merge branch 'ShakeWake' of https://github.com/geekbozu/InfiniTime into geekbozu-ShakeWake
# Conflicts:
#	src/CMakeLists.txt
#	src/displayapp/Apps.h
#	src/displayapp/DisplayApp.cpp
#	src/displayapp/screens/settings/Settings.cpp
2022-01-04 21:48:08 +01:00
SteveAmor
15c3807a76 Adds enum class for chimes option 2022-01-04 19:32:29 +00:00
Tim Keller
e82469bffa Fix setting removing it self from wake settings when opening calibration window twice. 2022-01-04 02:06:16 +00:00
Tim Keller
f86c71b2bb Made calibration window enable Accel wakeups for setting and calibration even when wake mode is inactive. 2022-01-04 02:02:01 +00:00
Tim Keller
92b1e83e3e Remove "fancy" settings display and always show ShakeWakeThresholdSetting 2022-01-04 02:01:31 +00:00
Tim Keller
98ac447bdb Fixed button color changing 2022-01-04 02:00:03 +00:00
Tim Keller
b9c40100f6 Added visual aide for shake strength
Added delay to starting calibration
2022-01-04 02:00:03 +00:00
Tim Keller
8f38bd911b Raise calibration timeout to 7.5 seconds
Added button toggle state for cleaner user interaction
2022-01-04 02:00:03 +00:00
Tim Keller
5c13200238 Fix crash upon leaving app.
Code formatting
2022-01-04 02:00:03 +00:00
Tim Keller
d6b22645e3 Make arc moveable, and clear previous setting on calibrate 2022-01-04 02:00:02 +00:00
Tim Keller
f780ac999a Actually save the threshold
Prevent a few crashes due to an LV task being active when it shouldnt be.
2022-01-04 02:00:02 +00:00
Tim Keller
d2510d7926 Better Sensitivity UI, Calibration button added 2022-01-04 02:00:02 +00:00
Tim Keller
6d74820698 Add averaging to wake threshold. Makes it take more then just a "flick" to turn on 2022-01-04 01:59:01 +00:00
Tim Keller
3ebf002f9d Add start of settings app for senstivity.
really just debugging. I want to make it more configurable then high med low.
Position of setting needs a new location...dynamicly adding it currently at the end. Which honestly im fine with.
2022-01-04 01:59:01 +00:00
Tim Keller
ad42cdf120 Cleanup 2022-01-04 01:57:18 +00:00
Tim Keller
d270275bd2 Added Shake to wake 2022-01-04 01:57:18 +00:00
SteveAmor
7a0f72ed8b resolve conflicts 2022-01-02 22:33:23 +00:00
SteveAmor
cc259b6a4a resolves conflicts 2022-01-02 22:27:43 +00:00
SteveAmor
94561b2331 resolves conflicts 2022-01-02 21:49:18 +00:00
Riku Isokoski
5e6868d9eb Improved notification timeout 2022-01-01 16:22:35 +02:00
Stephanie
e0013e7304 Ran clang-format 2021-12-30 21:51:43 +01:00
Stephanie
a65f173e3c Renamed confusing variables and general cleanup 2021-12-30 21:51:43 +01:00
Stephanie
7eff1dbcc6 Changed text to left pad 2021-12-30 21:51:43 +01:00
Stephanie
f7d1b3f368 Moved trip meter update to MotionController and changed trip meter logic 2021-12-30 21:51:43 +01:00
Stephanie
fb87fdb2d9 Changed lap counter to trip meter 2021-12-30 21:51:43 +01:00
Stephanie
d034bd131e Added "lap" button to step counter 2021-12-30 21:51:43 +01:00
Riku Isokoski
54f588ce63 Add missing break 2021-12-30 21:41:17 +01:00
Riku Isokoski
86d180a855 Improve gesture consistency across the firmware 2021-12-30 21:41:17 +01:00
JF
395590d2d8
Merge pull request #718 from kieranc/pts-settings
Integrate color picker into PineTimeStyle watchface
2021-12-30 21:36:43 +01:00
Reinhold Gschweicher
5b7915b5c9 InfiniPaint: add missing include algorithm for std::fill 2021-12-30 20:58:00 +01:00
hubmartin
204fc56672 Use Bluetooth brand color for BLE logo #0082FC 2021-12-30 20:50:05 +01:00
hubmartin
f52d6bfa67 Real white now 2021-12-30 20:50:05 +01:00
hubmartin
86ee7a70b7 WatchFaceDigital - BLE symbol changed to white color 2021-12-30 20:50:05 +01:00
James A. Jerkins
319030d9e1 Add airplane mode feature
Implements 'Airplane mode' feature to disable and enable bluetooth/ble
Adds airplaneMode as a non-persisted setting
Adds a setting menu for switching airplane mode on and off
Displays an airplane symbol on the Digital watch face and the
    PineTimeStyle watch face when airplane mode is enabled
Always enables bluetooth/ble on boot (disable airplane mode)
Alphabetizes the settings menu options
Style cleanups

Closes #632
2021-12-23 20:30:14 -06:00
James A. Jerkins
eca0588c23 Optional secure pairing with a passkey
Support passkey pairing when requested by the central
Fix a comment and reorder warning
2021-12-21 16:02:01 -06:00
Yehoshua Pesach Wallach
464b689a03
changed ReadHrs and ReadAls to uint32, and did static_cast instead of hidden cast when using it 2021-12-13 12:47:52 +02:00
Yehoshua Pesach Wallach
4cc95091ab
order ReadHrs, ReadAls bitwise according to bit ordering 2021-12-13 12:39:34 +02:00
JF
6a5946c4e3
Merge pull request #874 from evergreen22/alarm-break
FIX: AlarmTriggered fall through to ShowPairingKey
2021-12-12 17:40:05 +01:00
James A. Jerkins
645a071b70 FIX: AlarmTriggered fall through to ShowPairingKey 2021-12-11 21:34:51 -06:00
Tim Keller
1470489e7b Fix Failed rebase. 2021-12-10 01:49:03 +00:00
Tim Keller
0a0d1f2703 Fix more initializers 2021-12-10 01:18:57 +00:00
Tim Keller
b9a2db1a49 Fix large file support that broke due to a refactor. 2021-12-10 01:18:57 +00:00
Tim Keller
d1e9aa1076 Force variable cleanup because LFS makes assumptions about variable initialization state 2021-12-10 01:18:57 +00:00
Tim Keller
fdb5e27aea Attempt at a more robust File handler 2021-12-10 01:18:57 +00:00
Tim Keller
b62c62ee1f Change read to return LFS return values when reading a directory or nonexistant file 2021-12-10 01:18:57 +00:00
Tim Keller
09b9130244 Fix string nullterminations,
Expand error codes.
2021-12-10 01:18:57 +00:00
Tim Keller
362a5ef113 Added move function 2021-12-10 01:18:57 +00:00
Tim Keller
8f46908d38 Fix lvgl_open to respect littlefs open errors 2021-12-10 01:18:57 +00:00
Tim Keller
f4322841ff Remove DirDelete, implementation did not work and memory contraints are recursive. Better implemented on client side... 2021-12-10 01:18:57 +00:00
Tim Keller
2e10b0fe64 Remove mount/unmount. No longer needed 2021-12-10 01:18:57 +00:00
Tim Keller
c1aa5a5ea7 Write works 2021-12-10 01:18:57 +00:00
Tim Keller
8fb99471c3 Reading Seems to work? 2021-12-10 01:18:57 +00:00
Tim Keller
faa05eb57b Actually fix memory corruption, seems stable now
ListDir MKDIR delete all seem to work
Co-authored-by: Iambian <Iambian@users.noreply.github.com>
2021-12-10 01:18:57 +00:00
Tim Keller
6393a17d74 List Dir works? 2021-12-10 01:18:57 +00:00
Tim Keller
f841b8c984 Revert "More attempted SPI fixes"
This reverts commit bed7e731b206961117b717adb1031ab3011e7db9.
2021-12-10 01:18:57 +00:00
Tim Keller
a5a64800ed Revert "Workaround for SPI bus being asleep."
This reverts commit 1edeb5cb65489707c26b7a65f3b54520086d363a.
2021-12-10 01:18:57 +00:00
Tim Keller
d89e38d3bf Focus on getting flash access working properly 2021-12-10 01:18:57 +00:00
Tim Keller
8f6a390c36 Start of read command 2021-12-10 01:18:57 +00:00
Tim Keller
1b4b422ab6 More attempted SPI fixes 2021-12-10 01:18:57 +00:00
Tim Keller
3a8e66a52f Added Delete file
Added FS Stat.
2021-12-10 01:18:57 +00:00
Tim Keller
eabbbfa373 Fix folder count in output 2021-12-10 01:18:57 +00:00
Tim Keller
2690c274af Workaround for SPI bus being asleep.
This needs to get cherrypicked to another PR as SPI Sleep needs to use a semaphore or something
2021-12-10 01:18:57 +00:00
Tim Keller
1dd7174480 More reliable FS listing 2021-12-10 01:18:57 +00:00
Tim Keller
91c644b43c direcetory listings maybe?
Added LISTDIR command and notify responses.
2021-12-10 01:18:57 +00:00
Tim Keller
f57f797ff5 Added Blank FSService that exposes only version info 2021-12-10 01:18:57 +00:00
Kieran Cawthray
6cf4a933b6 Merge remote-tracking branch 'upstream/develop' into pts-settings 2021-12-09 22:41:29 +01:00
Avamander
42a5cdb5b7 Added QCBOR to pinetime-mcuboot-recovery 2021-12-09 21:57:32 +01:00
Avamander
6354511c20 Hotfix for other build targets 2021-12-09 21:57:32 +01:00
Riku Isokoski
32ea01b2e9 Organize includes 2021-12-09 21:32:07 +01:00
Riku Isokoski
ec9b5a0bd2 Move radio button styling to a single place 2021-12-09 21:32:07 +01:00
Riku Isokoski
736ae08fcd Optimize arrays 2021-12-09 21:32:07 +01:00
Riku Isokoski
494448b7cc Fix too small array 2021-12-09 21:32:07 +01:00
Riku Isokoski
9ffd28f735 Style checkboxes as radio buttons 2021-12-09 21:32:07 +01:00
Avamander
589733d11e Style improvements 2021-12-09 21:31:13 +01:00
Reinhold Gschweicher
e104f17b1b AlarmController: remove unused app_timer.h include in header 2021-12-09 21:30:33 +01:00
Reinhold Gschweicher
23f318c3d0 TouchHandler: remove unused FreeRTOS.h and task.h includes from header
FreeRTOS and task.h aren't used in the Header file. Furthermore the
SystemTask forward declaration isn't needed as it isn't used in the
header.
2021-12-09 21:30:20 +01:00
Avamander
9db5d64441 Fixed unpopped diagnostic 2021-12-09 21:30:04 +01:00
Avamander
6a442b90a1 Improved format specifiers, bracing, removed C-style casts, whitespace fixes and removed Tiles shadowing 2021-12-09 21:30:04 +01:00
Kieran Cawthray
645f6f43dc Remove commented code 2021-12-09 21:29:31 +01:00
Kieran Cawthray
f4daf63679 Adjust icon alignment only on IsUpdated() 2021-12-09 21:29:31 +01:00
Kieran Cawthray
8539db0884 Alignment fixes 2021-12-09 21:29:31 +01:00
Avamander
e8c1302cd6
Merge branch 'develop' into patch-weather 2021-12-09 22:20:29 +02:00
James A. Jerkins
b946b8d156 Fix assertion failure in ButtonHandler
FreeRTOS says zero is not a valid value for xTimerPeriodInTicks.
Zero value fires an assertion on line 361 in timers.h
2021-12-09 21:16:57 +01:00
Tim Keller
cd593c3862 Break not return thanks @FintasticMan 2021-12-09 21:15:00 +01:00
Tim Keller
f1fc7ee659 Adjust systemtask to respect doNotGoToSleep. 2021-12-09 21:15:00 +01:00
James A. Jerkins
048ecd41e4 Adjust BLE/LL stacks, style, comments, refactoring
Increase BLE task stack +200 and decrease LL task stack -200
more braces!
2021-12-09 21:14:16 +01:00
James A. Jerkins
150fa3b661 Persist bond between reboots
Save bond information in the FS after a disconnect or encryption change
if the bond is not already stored. The bond is restored on boot enabling
automatic reconnection to a previously bonded central.

Two consecutive watch reboots with the central out of range (or BLE off)
will remove the stored bond from the watch.
2021-12-09 21:14:16 +01:00
James A. Jerkins
1e4130a9cf Fix for passkey screen scramble
When a passkey is displayed, screen on or off, and another
passkey is displayed the screen may become scrambled. Fix
the issue by insuring the whole screen is drawn every time.
2021-12-09 21:14:16 +01:00
James A. Jerkins
62dbcbfc95 Connect and bond with a passkey
This commit adds the following:
    Passkey pairing - passkey is displayed on watch
    Swipe down to clear passkey screen
    Connection encryption
    Connection bonding
    Automatic reconnects to a bonded peripheral
    Trusted device on Android

Note that persisting the bond between reboots is NOT included in
this commit. Therefore, rebooting the watch will cause reconnect failures.
You must delete the bond from the phone to reconnect/pair.
2021-12-09 21:14:16 +01:00
Kieran Cawthray
ae4b9e0f2e Include Colors.h 2021-12-06 10:29:14 +01:00
Kieran Cawthray
c00ad4af35 Merge remote-tracking branch 'upstream/develop' into pts-settings 2021-12-05 20:32:29 +01:00
Avamander
5f50f0e538 Fixed air quality amounts being off by a few orders of magnitude 2021-12-04 22:03:40 +02:00
Avamander
3eebe66d65 Updated docs and renamed functions for consistency 2021-12-04 22:03:40 +02:00
Avamander
f1f2bc119a Added a note about map key capitalization 2021-12-04 22:03:40 +02:00
Avamander
6879147648 Revert wrong change to DisplayApp 2021-12-04 22:03:40 +02:00
Avamander
7b04ce5eba Added a note about the timestamp having a timezone offset 2021-12-04 22:03:40 +02:00
Avamander
0df49bd43d Removed float usage from display 2021-12-04 22:03:40 +02:00
Avamander
62bb6b5163 Better cleanup, bugfixes and improvements in weather parsing. UI improvements 2021-12-04 22:03:40 +02:00
Avamander
58d454b11f Improved Temperature parsing 2021-12-04 22:03:40 +02:00
Avamander
4a8f72bd1e Fixed a bug in DewPoint decoding 2021-12-04 22:03:40 +02:00
Avamander
be7931c4fb Whoops, fixed a wrong type 2021-12-04 22:03:40 +02:00
Avamander
154e3d27ad Added a few helper functions 2021-12-04 22:03:40 +02:00
Avamander
797b60397c Improved documentation 2021-12-04 22:03:40 +02:00
Avamander
e0133cec36 Improved documentation 2021-12-04 22:03:40 +02:00
Avamander
ffd6c3f095 Removed an instance of shadowing 2021-12-04 22:03:40 +02:00
Avamander
b72c6a5bc9 Clarified a few comments 2021-12-04 22:03:40 +02:00
Avamander
9525fc4273 Specified how values should be interpreted better 2021-12-04 22:03:40 +02:00
Avamander
b998d5e2a8 Removed unnecessary change in CMakeLists 2021-12-04 22:03:40 +02:00
Avamander
abbfb92fa2 Added new precipitation and obscuration types 2021-12-04 22:03:40 +02:00
Avamander
75cf5324ba Fixed an incorrect decode in Humidity 2021-12-04 22:03:40 +02:00
Avamander
cccec6e1ab Improved debug UI. 2021-12-04 22:03:40 +02:00
Avamander
9108952e6b Implemented parsing of all defined weather data types 2021-12-04 22:03:40 +02:00
Avamander
06b022fc4d Improved UI and fixed a bug 2021-12-04 22:03:40 +02:00
Avamander
c870f8ed30 Bunch of bugs fixed, improved error handling, debug UI addition 2021-12-04 22:03:40 +02:00
Avamander
48beb7c3b1 Improved error handling and fixed incompatibility with co.nstant.in:cbor library 2021-12-04 22:03:40 +02:00
Avamander
df04763ab4 Fixed recovery build 2021-12-04 22:03:40 +02:00