Commit Graph

1454 Commits

Author SHA1 Message Date
Finlay Davidson
96165a8541 Format header files
In my PR updating clang-format, I forgot to also format the headers.
2023-01-09 21:41:21 +01:00
Riku Isokoski
fb19c491b6 Fix returning to the same screen 2023-01-05 15:13:05 +01:00
Riku Isokoski
5ef3c0d3be Implement a return app stack
Each opened app (screen) is pushed on a stack, which is then popped from
when returning instead of hard coded "previous apps". Return swipe and
refresh directions are automatically determined from the app transition.
2023-01-05 15:13:05 +01:00
Finlay Davidson
eda96ffadc Update clang-{format,tidy} to 14
Also add configuration options only available in 13 and 14.
Fixes warning about -fstack-usage in clang-tidy check.
2023-01-04 17:15:33 +01:00
Riku Isokoski
318a243df1 Revert "prepare cmake unity build"
This reverts commit 21f3bd7082.
2022-12-31 12:41:45 +01:00
Alex Dolzhenkov
cfc86d7d85 #1463 Updated CMakeLists.txt for building images with expected alignment 2022-12-29 18:11:24 +13:00
tnixeu
21f3bd7082 prepare cmake unity build
Exclude files from unity build which currently cause compile erros because of redefinitions.
2022-12-27 12:17:46 +01:00
Jean-François Milants
298f80d504 Include algorithm and cstring for std::memcpy and std::min 2022-12-27 12:13:52 +01:00
Max Friedrich
fdc89f1a20 Update src/systemtask/SystemTask.cpp
Co-authored-by: JF <JF002@users.noreply.github.com>
2022-12-27 12:13:52 +01:00
minacode
dbbbbfd1ac hopefully fixed crash on notification 2022-12-27 12:13:52 +01:00
minacode
c02b505998 format 2022-12-27 12:13:52 +01:00
minacode
d62402cb3f removed magic number 2022-12-27 12:13:52 +01:00
minacode
a82a34cd11 format 2022-12-27 12:13:52 +01:00
minacode
557a328409 changed to bool 2022-12-27 12:13:52 +01:00
minacode
51d818b774 fixed a comment, set threshold to 15% 2022-12-27 12:13:52 +01:00
minacode
60027f217c cutout scaling hack 2022-12-27 12:13:52 +01:00
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