Commit graph

1538 commits

Author SHA1 Message Date
minacode 276b17979e added punctuation 2022-12-27 12:13:52 +01:00
minacode 08fa6bd4e4 format 2022-12-27 12:13:52 +01:00
minacode cad58f190f added message, changed UI 2022-12-27 12:13:52 +01:00
minacode 59ee0ad1aa add percentage rescaling 2022-12-27 12:13:52 +01:00
minacode 5f5c771752 format 2022-12-27 12:13:52 +01:00
minacode ccc8cee07a added low battery message 2022-12-27 12:13:52 +01:00
tgc-dk 29673892c2 Fix formatting 2022-12-26 22:18:50 +01:00
Tomas Groth 861ed3584c Put common code into DismissToBlack helper function 2022-12-26 22:18:50 +01:00
Tomas Groth bef65bcd55 Make it possible to dismiss new notifications 2022-12-26 22:18:50 +01:00
Riku Isokoski b071422f91 Small fixup for cmake cleanup 2022-12-26 20:46:39 +01:00
Jonathan Vander Mey 44ba4dd470 Clean up target compile option assignments
Removed/simplified some generator expressions that had more repeated
elements than they needed to. Extracted some repeated sets of options
into separate variables as well.
2022-12-26 20:46:39 +01:00
Jonathan Vander Mey 91851d191e Split warning flags from common
Only enable the warning flags when building InfiniTime firmware, not
when building third-party libraries.
2022-12-26 20:46:39 +01:00
Riku Isokoski afea7ca0d1
Update clang-tidy configuration and fix some warnings (#1474)
Don't enable coding conventions from unrelated projects. Only enable
generic checks.
2022-12-18 18:14:36 +01:00
Riku Isokoski bfedf47d1a Optimize SettingWatchFace 2022-12-18 16:39:34 +01:00
Riku Isokoski 99b5b49993 Optimize SettingWakeUp 2022-12-18 16:39:34 +01:00
Riku Isokoski 9c5b1437ec Optimize SettingTimeFormat 2022-12-18 16:39:34 +01:00
NeroBurner 23a68ba45a PineTimeStyle: use "" for our includes
Small fix to be consistent: use "" for our includes and <> for system
includes or packages by others.
2022-12-18 16:32:16 +01:00
cybuzuma 1062fec5f2
compiler warnings, #1035 and #notreported (#1481) 2022-12-12 22:28:39 +02:00
uli 02116a2fd4 BLE CTS: fixed signedness of timezone 2022-11-25 20:14:26 +01:00
kieranc f1d2a8ee50
WeatherService daily min/max temperature fixes (#1455)
* Min/Max function fixes
* Faster way to calculate day start
2022-11-25 18:45:33 +01:00
Alex Dolzhenkov 7376c02bbf Add linear approximation and use it for improving battery percentage
Add linear approximation class and use it to better model the non-linear
discharge curve of the battery.

Changed the minimum voltage level to 3.5V and the maximum to 4.18V. For
reference the maximum observed voltage is 4.21V during charging.
2022-11-19 16:34:03 +01:00
hassless a67f401b30 Update BatteryController.h with non-linear discharge curve 2022-11-19 16:34:03 +01:00
Elements6007 559b555d47 Fix
Co-authored-by: NeroBurner <pyro4hell@gmail.com>
2022-11-19 10:39:02 +01:00
Elements6007 80369f7e4b Clang format 2022-11-19 10:39:02 +01:00
Elements6007 e6cf685eb8 Update SettingChimes.h 2022-11-19 10:39:02 +01:00
minacode e0969c4ed6 removed line 2022-11-19 10:37:48 +01:00
uli 38092fcb40 add CTS local time characteristic and use it to provide UTC in DateTimeController 2022-11-11 21:44:00 +01:00
Riku Isokoski 9b2221173c Use PageIndicator in CheckboxList 2022-10-16 10:31:41 +02:00
Jean-François Milants c9e836a02e G7710 and Infineat : close the files after having verified that they exist. 2022-10-15 16:52:55 +02:00
Jean-François Milants eb0af22ecf Watch face settings : disable watch faces that are not available (external resources are not installed). 2022-10-11 21:36:31 +02:00
Jean-François Milants 8c7be1fbb1 CheckboxList : fix formatting. 2022-10-11 21:16:33 +02:00
Jean-François Milants 4ec49bde8a CheckBoxList : rename newValue -> value. 2022-10-11 21:16:33 +02:00
Jean-François Milants cf8b422899 Checkbox list now receives a function pointer to call when the setting has changed. This allow to remove the dependency between CheckBoxList (UI component) with SettingController. 2022-10-11 21:16:33 +02:00
Riku Isokoski 964f065de4 Fix clang-tidy warnings 2022-10-10 17:52:36 +02:00
mashuptwice 668820ef5a Edit all occurences of "watchface" to "watch face" 2022-10-10 12:43:11 +02:00
kieranc 0f1d0bbd1d
Fix button labels (#1361) 2022-10-06 16:00:35 +03:00
kieranc a0089e4fd0
Fix steps style button label (#1358) 2022-10-06 08:24:03 +03:00
Jean-François Milants 738c012a73 Merge branch 'pts-options' of github.com:kieranc/InfiniTime into kieranc-pts-options
# Conflicts:
#	src/components/settings/Settings.h
2022-10-02 18:30:41 +02:00
Jean-François Milants 7b115fe42c Merge branch 'develop' of github.com:JF002/Pinetime into develop 2022-10-02 18:06:16 +02:00
Jean-François Milants c9b1fb8244 Brightness management in DisplayApp : do not allow the brightness level OFF when loading app and going to running mode. Such issue could occur in case of inconsistent or corrupted settings. 2022-10-02 18:04:09 +02:00
Galdor Takacs 1439dfd912 motorController: Fix infinite vibration on RunForDuration(0) 2022-10-02 15:58:17 +02:00
Jean-François Milants 8f5df5385c Fix typo in Clock.cpp. 2022-10-01 21:11:58 +02:00
Jean-François Milants f9f8d7eead Merge branch 'ITCactus-watchface-casio-digital-G7710' into develop 2022-10-01 21:11:05 +02:00
Jean-François Milants d6b4ef38f6 Infineat & G7710 : always close files when they are not needed anymore. 2022-10-01 21:03:28 +02:00
Jean-François Milants 9bf43c380e Fix typo in Clock.cpp. 2022-10-01 19:49:41 +02:00
Jean-François Milants d3363baf69 Do not save settings in CheckboxList. This will be done by the caller. 2022-09-28 21:45:52 +02:00
Jean-François Milants 26af507e16 G7710 : free fonts in dtor(). 2022-09-28 21:09:00 +02:00
minacode 79728730d7 fix typo 2022-09-28 20:53:02 +02:00
Jean-François Milants fbe964ff44 Merge branch 'watchface-casio-digital-G7710' of github.com:ITCactus/InfiniTime into ITCactus-watchface-casio-digital-G7710
# Conflicts:
#	src/components/settings/Settings.h
#	src/displayapp/screens/CheckboxList.cpp
#	src/displayapp/screens/CheckboxList.h
#	src/displayapp/screens/Clock.cpp
#	src/displayapp/screens/Clock.h
#	src/displayapp/screens/settings/SettingWatchFace.cpp
2022-09-27 21:59:22 +02:00
JF 63932810d2
Merge pull request #1024 from dmlls/infineat-pr
Infineat Watchface + support for external resources.
2022-09-27 21:27:36 +02:00
Jean-François Milants 58586d0ad1 Fix formatting in CheckBoxList.cpp. 2022-09-27 21:10:01 +02:00
Jean-François Milants 2400110900 CheckBoxList : remove unused constant MAXLISTITEMS (replaced by MaxItems). 2022-09-27 21:04:40 +02:00
Reinhold Gschweicher f699261ca3 AlarmController: add const to SecondsToAlarm() function
The function `SecondsToAlarm()` doesn't change anything in the
`AlarmController` object. Mark the function `const` to show this
property.
2022-09-27 20:32:13 +02:00
Jean-François Milants 56f315b94a A few minors changes following the code review : rename fs -> filesystem, use std::array instead of raw array,... 2022-09-27 18:06:15 +02:00
Akseli b546facaf1 Update src/displayapp/screens/WatchFacePineTimeStyle.cpp
Co-authored-by: NeroBurner <pyro4hell@gmail.com>
2022-09-17 21:32:43 +02:00
Akseli 90278b54d1 Update src/displayapp/Colors.cpp
Co-authored-by: NeroBurner <pyro4hell@gmail.com>
2022-09-17 21:32:43 +02:00
Akseli d55ba9a3d8 Update src/components/settings/Settings.h
Co-authored-by: NeroBurner <pyro4hell@gmail.com>
2022-09-17 21:32:43 +02:00
Akseli Lahtinen 8c35c3c3d4 add pink color 2022-09-17 21:32:43 +02:00
Riku Isokoski b9224c1ace Disable value_str
value_str is a way to add text on a button without a separate label.
This saves having an extra label object, but uses more memory and is
removed in LVGL8
2022-09-17 21:27:32 +02:00
Riku Isokoski bf90e07a28 Improve status icon visibility 2022-09-17 21:26:51 +02:00
Jean-François Milants 6ed8e983e9 Remove CMake targets and corresponding CLI arguments that are specific to the debugging environment (USE_JLINK, USE_OPENOCD and USE_GDB_CLIENT). 2022-09-17 21:25:54 +02:00
Riku Isokoski c853681d75
Reduce duplication in Twos (#1274) 2022-09-11 20:57:49 +02:00
Jean-François Milants 58bb0e77db Fix formatting 2022-09-11 20:18:01 +02:00
Jean-François Milants 970d5b368d Fix submodule for date library 2022-09-11 20:11:21 +02:00
Jean-François Milants 0cd1d6f8cf Fix recovery firmware : add FS in parameters of DisplayAppRecovery ctor. 2022-09-11 18:21:29 +02:00
Jean-François Milants 4cf73fc169 Infineat : Add support for external resources, and read the images and fonts from the ilesystem 2022-09-11 16:22:28 +02:00
Jean-François Milants ada2c09581 Merge branch 'develop' into infineat-external-resources
# Conflicts:
#	src/displayapp/screens/Symbols.h
#	src/displayapp/screens/settings/SettingWatchFace.cpp
#	src/displayapp/screens/settings/SettingWatchFace.h
2022-09-11 14:59:49 +02:00
Jean-François Milants e2a3d9f0c7 Small improvement in generate-fonts.py following code review.
Add lv_img_conf in Docker image to build resources at build time.
2022-09-11 14:44:36 +02:00
Jean-François Milants cbe2f08cf7 Fix missing '/' in the path of a font (external resource) 2022-09-11 14:44:36 +02:00
Jean-François Milants cfc055c978 Package resources + a metadata file into a single .zip file. 2022-09-11 14:44:36 +02:00
Kieran Cawthray 4fe834efda Cleanup 2022-09-06 12:58:46 +02:00
Kieran Cawthray fbc9f63308 Relabel button 2022-09-06 12:07:58 +02:00
Kieran Cawthray b49fddd555 Implement persistent settings 2022-09-06 11:37:12 +02:00
Kieran Cawthray 2933405158 Merge remote-tracking branch 'upstream/develop' into pts-options 2022-09-05 22:03:56 +02:00
Riku Isokoski 69563ed031
Add sleep mode which disables notifications, touch- and motion wakeup (#1261) 2022-08-21 14:52:38 +03:00
Riku Isokoski 62c4ff9c2d
Determine the number of digits from the max value. (#1271) 2022-08-21 14:52:14 +03:00
Riku Isokoski c2b6a8de3e
Fix markdown format with autoformatter (#1284) 2022-08-21 14:50:09 +03:00
Kieran Cawthray 593ca2028d Add half gauge/seconds option 2022-08-16 23:38:07 +02:00
Riku Isokoski ef6ed5d26e
Improve checkbox visibility (#1266) 2022-08-16 08:29:26 +03:00
Riku Isokoski 78fc1682da
Centralize most color definitions (#1258) 2022-08-16 08:21:23 +03:00
izzeho d6aa767bda Add P8B mirrored version definition. 2022-08-15 13:18:23 +02:00
Riku Isokoski eb487c71be Use Counter in SettingsSetDate 2022-08-10 08:37:52 +03:00
Riku Isokoski 3eebe02448 Add support for months and variable digit count to Counter 2022-08-10 08:37:52 +03:00
Riku Isokoski 8e72cf380f
Notification swap text colors for visibility and reduce duplication (#1252) 2022-08-08 18:01:40 +03:00
ialokim a7c86786c3
Apply suggestions from code review
Co-authored-by: NeroBurner <pyro4hell@gmail.com>
2022-08-07 20:40:45 +02:00
ialokim 97140652d6
PTS: add seconds display 2022-08-07 18:43:22 +02:00
Kieran Cawthray a0ba80882c Initial mockup 2022-08-05 00:33:24 +02:00
Aidan Epstein e13172384b Wrap PineTimeStyle step counter
This changes the PineTimeStyle step counter gauge continues counting
with wraparound after you achieve your step goal.
2022-08-04 22:52:45 +02:00
Riku Isokoski b768829c63 More timeout options and improved checkbox alignment 2022-08-02 22:53:10 +02:00
Riku Isokoski 67e0cad573 Simplified stopwatch lap buffer
Overriding the earlier laps doesn't seem like a good idea.
2022-08-02 22:51:59 +02:00
Riku Isokoski 1467324c50 Bring back separate info button, move color to a variable. 2022-08-02 22:51:04 +02:00
Riku Isokoski 7a6ede112e Remove clockType variable by checking for nullptr instead.
Saves a few bytes
2022-08-02 22:51:04 +02:00
Riku Isokoski 97048121b0 Use Counter widget in Alarm 2022-08-02 22:51:04 +02:00
Riku Isokoski 9f851f6321 Automatic alignment with containers 2022-08-02 22:49:12 +02:00
Riku Isokoski 28a528761f Remove leftover change 2022-08-02 22:49:12 +02:00
Riku Isokoski edba1d9ccf Add status icons widget 2022-08-02 22:49:12 +02:00
Riku Isokoski 77d3239866 Use submodule for date lib
A directory has been renamed
2022-08-02 22:43:22 +02:00
Riku Isokoski e75b89bbc6 Remove copy of date lib 2022-08-02 22:43:22 +02:00
Riku Isokoski 80c1a5a0a4
Theme cleanup (#1256)
Remove unnecessary comments, styles, colors, overrides. Fix arc colors
2022-07-31 08:19:20 +03:00
Zach DeCook 4450c58216
Date formats: Use ISO 8601 (#1040)
* System Info: Use YYYY-MM-DD

The date format with the slashes has different meaning in different regions

* Terminal Watchface: Use dashes as date separator

Using the popular ISO 8601 format instead

Co-authored-by: Riku Isokoski <riksu9000@gmail.com>
2022-07-25 09:26:09 +03:00
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