aboutsummaryrefslogtreecommitdiffstats
path: root/src/displayapp
Commit message (Collapse)AuthorAgeFilesLines
* Improve sleep time calculation docsmark90642024-10-272-15/+20
|
* Replace rounded div macromark90642024-10-271-2/+5
|
* Refactor into defined statesmark90642024-10-273-28/+30
|
* Remove unused pointer to DisplayApp member variables (#2125)NeroBurner2024-09-299-14/+6
| | | | | | | | In the screens that use `DisplayApp *app` and pass it to a child item, or use the reference just in the constructor. Afterwards the `app` member is not used. So remove it from the private member variables. Completely remove `app` parameter from `SettingDisplay` constructor as it is unused.
* Alarm persist to flash (#1367)NeroBurner2024-09-281-15/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | * AlarmController: Add saving alarm time to file Save the set alarm time to the SPI NOR flash, so it does not reset to the default value when the watch resets, e.g. due to watchdog timeout or reflashing of a new version of InfiniTime. Just like the `Settings.h` `LoadSettingsFromFile()` the previous alarm at boot (if available) and `SaveSettingsToFile()` the current alarm when the `Alarm.h` screen is closed (only if the settings have changed). The alarm-settings file is stored in `.system/alarm.dat`. The `.system` folder is created if it doesn't yet exist. Fixes: https://github.com/InfiniTimeOrg/InfiniTime/issues/1330 * alarmController: close .system dir after usage Close the `lfs_dir` object for the `.system` dir after usage. Otherwise on the second changed alarm the system will lockup because the `.system` dir is already open and was never closed. --------- Co-authored-by: Galdor Takacs <g@ldor.de>
* Refactor doNotGoToSleep to a wakelock countermark90642024-09-2112-29/+30
|
* Refactor SystemTask state handling for resiliencemark90642024-09-211-3/+20
| | | | | | State transitions now happen immediately where possible This simplifies state management in general, and prevents bugs such as the chime issue from occurring in the first place
* notifications: Dismiss to watchface when empty (#1716)Eli Tan2024-09-181-4/+5
| | | | | | | | | Set `running` to false to flag end of watchface when there are no more notifications left to display. I found it slightly annoying that dismissing all notifications leaves me with a "No notification to display" message. Instead of dismissing to a relatively useless message, dismiss to watchface.
* Clean unused DisplayApp messagesmark90642024-09-142-29/+7
|
* Use DirtyValue for timermark90642024-09-142-8/+14
|
* DisplayApp: Go to clock on sleep if no app loadedVictor Kareh2024-08-221-2/+14
| | | | | | When turning off the screen, if there is no actual app loaded (i.e. we are still in the Launcher, Notifications, QuickSettings, or Settings screens) we should just reload the Clock app directly.
* Remove space before colonDerry Tutt2024-08-181-2/+2
|
* Display the SPI flash JEDEC IDs in SystemInformation.Jean-François Milants2024-08-056-8/+25
| | | | This is needed since a new memory chip will be used in future batches of PineTimes.
* aod: avoid spinning DisplayApp under high LVGL loadmark90642024-08-051-7/+9
|
* aod: run LVGL task handler until all work finishedmark90642024-08-051-1/+3
|
* aod: constant frequency idle framesmark90642024-08-052-1/+55
|
* aod: fix flashlight brightness restoremark90642024-08-052-0/+3
|
* aod: fix brightness getting stuck highmark90642024-08-052-4/+4
|
* aod: switch to 8 colors when always onJohn Crawford2024-08-051-1/+6
|
* aod: disable while in notification sleepJohn Crawford2024-08-051-3/+3
|
* aod: integrate with display timeoutJohn Crawford2024-08-052-15/+26
|
* aod: PPI/RTC-based backlight brightnessmark90642024-08-051-2/+8
|
* feat: always on displayKaffeinatedKat2024-08-053-4/+18
|
* Continuous time updatesmark90642024-06-091-1/+1
|
* Move motorController.Init call to DisplayApp::StartFelipe Martinez2024-06-021-1/+1
|
* Remove task to notifymark90642024-05-013-13/+0
|
* fix: heartrate app displays --- instead of 000 (#1887)John Crawford2024-04-121-3/+7
|
* WatchFaceDigital: Remove unused variablesVictor Kareh2024-03-201-4/+0
|
* Emit the message BleRadioEnableToggle to DisplayApp only if the enable state ↵JF2024-03-152-3/+4
| | | | | | | of the radio has actually changed. (#2037) This fixes an issue where the BLE connected logo would disappear when opening and closing the BLE setting (without changing it) while InfiniTime was already connected to a companion app. Co-authored-by: JustScott <development@justscott.me>
* chrono: Resolve TODOs related to C++20 chrono featsFintasticMan2024-03-1410-15/+10
|
* ApplicationList: Reset app menu screen when loading watch faceVictor Kareh2024-03-121-0/+1
| | | | | | | | This prevents the application list from loading in the last used screen and instead goes back to the first screen whenever the watch face is loaded. Fixes #2006
* Simplify ISR task wake checksmark90642024-03-122-9/+3
| | | | The macro checks the variable, so we don't need to check it ourselves
* weather: Define function to round and render temperatureVictor Kareh2024-02-181-8/+9
|
* weather: Pad forecast temperaturesVictor Kareh2024-02-181-12/+17
| | | | This ensures temperatures are correctly aligned with one another
* weather: Colorize forecast temperaturesVictor Kareh2024-02-181-9/+45
|
* weather: Add new app with forecastVictor Kareh2024-02-188-5/+244
|
* DateTimeController: Make DayOfWeekShortToStringLow staticVictor Kareh2024-02-181-1/+2
| | | | | This allows it to be used outside of the current datetime context and makes it consistent with the MonthShortToStringLow function.
* README: Make hex and UTF-8 code consistent for the chosen exampleTim Teichmann2024-02-151-1/+1
|
* Alarm: Replace clock icon with bellVictor Kareh2024-02-123-2/+3
|
* bma421: Change acceleration values to 'binary milli-G' unitsGraham Jones2024-02-111-4/+4
| | | Co-authored-by: FintasticMan <finlay.neon.kid@gmail.com>
* WatchFaceDigital: Move weather widget away from status iconsVictor Kareh2024-02-111-4/+4
| | | | | | The weather widget is too high and could overlap the status icons. Moving it to match the rest of the face avoids this issue and makes it align with the rest of the theme.
* Remove GFX (and unused GFX dependencies)mark90642024-02-111-1/+0
|
* navigation: Missing character for fontkieranc2024-02-071-1/+1
|
* WatchFaceDigital: Add weather displayVictor Kareh2024-01-232-3/+48
| | | If weather is available, display the cloud icon and temperature.
* New dice-rolling app: InfiniDice! (#1326)Yusuf Ebrahim2024-01-238-1/+266
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Add new App `Dice.h` to randomly roll the dice(s). The number of dice can range from 1-9 (default 1), and the sides can range from d2-d99 (default d2). To have a haptic feedback we make Dice vibrate on roll. Regarding the use of C++ `<random>` library: There are known problems with `rand()` and `srand()` (see https://en.cppreference.com/w/cpp/numeric/random/rand) and the `<random>` library is preferred for this reason. The function used from `<random>` also avoids a very rare bias that would occur using `rand()` and modulo, when `RAND_MAX` is not a multiple of `d` and the initially generated number falls in the last "short" segment. This commit also updates the seed to derive entropy (via `seed_seq`) from a mix of the system tick count and the x,y,z components of the PineTime motion controller -- taking inspiration from and with credit to @w4tsn (https://github.com/InfiniTimeOrg/InfiniTime/pull/1199) Thanks for suggestions: * in Dice, when rolling 1d2, also show "HEADS" or "TAILS" -- suggestion by @medeyko * ui adjustments and result realignment -- suggestion by @Boteium --------- Co-authored-by: NeroBurner <pyro4hell@gmail.com> Co-authored-by: Riku Isokoski <riksu9000@gmail.com> Co-authored-by: Paul Weiß <45500341+Poohl@users.noreply.github.com> Co-authored-by: FintasticMan <finlay.neon.kid@gmail.com>
* Split declaration and implementation of GetSymbolLennart Jahn2024-01-162-34/+37
|
* WatchFacePineTimeStyle: Fix conditional in weather display (#1965)Victor Kareh2024-01-141-6/+3
| | | | | Since returning a valid weather is always considered an updated value, if the current weather is empty, the face will attempt to display the temperature and icon as empty values, rather than clearing the labels.
* CMake watch faces selectionJean-François Milants2024-01-061-1/+7
| | | | | | | Improve wording and replace "watchface" by "watch face" in Apps.md. Improve CMake readability regarding watch face selection Co-authored-by: Reinhold Gschweicher <pyro4hell@gmail.com>
* Watch face selection using CMakeJean-François Milants2024-01-065-15/+55
| | | | | | The list of watch face to build into the firmware is now set by CMake (-DENABLE_WATCHFACES). Fix SettingWatchFace : convert to index to/from WatchFace when needed.
* apps: restore default apps ordering in CMakeReinhold Gschweicher2024-01-061-1/+14
| | | | | | | | | Restore the default list of apps to compile. The ordering was changed in the changeset to make the app-list configurable through a CMake-variable in https://github.com/InfiniTimeOrg/InfiniTime/pull/1928 In the process have one app per line to create the default app list in CMake. This makes git diffs easer and more readable.