aboutsummaryrefslogtreecommitdiffstats
path: root/src/components
Commit message (Collapse)AuthorAgeFilesLines
* tightened declarations of integer fieldscodingjourney2025-11-042-11/+11
|
* elapsedTimeBoundary as constexprcodingjourney2025-11-041-1/+1
|
* length of lap list adapting to available spacecodingjourney2025-11-042-2/+2
|
* upper bound for elapsed timecodingjourney2025-11-042-2/+6
|
* upper bound for lap numberscodingjourney2025-11-042-2/+3
|
* fixed issues found by the test-format CI jobcodingjourney2025-11-041-1/+1
|
* removed superfluous default values in controllercodingjourney2025-11-041-3/+3
|
* improved naming of lap-related fields and methodscodingjourney2025-11-042-25/+25
|
* lap storage as CircularBuffer, minor fixescodingjourney2025-11-042-20/+12
|
* minor fixes:codingjourney2025-11-042-43/+19
| | | | | | | | | * more consistent function names * lapCapacity as constexpr * LastLap returns std::optional * simplified handling of TickType_t values * removed unused methods * minor fix in lap rendering
* StopWatch: add persistenceJan Hustak2025-11-042-0/+167
| | | | | # Conflicts: # src/displayapp/screens/StopWatch.h
* ImmediateAlertService: fix latent bug (#2159)Dāvis Mošenkovs2025-11-041-1/+2
| | | | | Include null terminator in the bytes copied. Set notif.size as it is done in AlertNotificationService.cpp and AlertNotificationClient.cpp.
* Fix typos/formattingmark90642025-10-162-13/+18
|
* Remove unused motion subscribed methodmark90642025-10-162-5/+0
|
* Unconditionally calculate shake speedmark90642025-10-152-12/+8
|
* Setting to disable DFU and FS access (#1891)Dāvis Mošenkovs2025-09-035-0/+67
| | | | | | | | | | | | | | * Expose SystemTask dependency controllers Expose NotificationManager and Settings for use by the feature in next commit. This is a memory efficient way for accessing SystemTask dependencies from controllers that have SystemTask injected as a dependency. Looks like each direct dependency injection uses 4 bytes RAM. As InfiniTime is close to running out of RAM (using 16 more bytes causes build to fail with "ld: region RAM overflowed with stack") it might be helpful to use this approach more. * Add setting to disable DFU and FS access
* (small) Music App Redesign (#2292)Titus2025-06-291-3/+3
|
* Pride flag watchface (#2201)Eshe2025-06-193-1/+26
|
* Fix conflict in NotificationManagerJean-François Milants2025-05-211-1/+1
|\
| * notification: Initialise messageFinlay Davidson2023-03-161-1/+1
| | | | | | | | | | | | Prevents reading uninitialised memory if notification gets cut off due to being more than 100 chars. The last character is assumed to be \0, but it is actually uninitialised.
* | Alarm: Simplify alarm alerting screen (#2211)ljahn2025-01-211-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | Simplify alarm alerting screen and fix bug with alerting on time value change SetAlerting creates an lv_task to automatically call StopAlerting after one minute. This task will call an invalid function reference and lead to a crash under the following condition: All exit paths but the time value change (so not considering this fix) call StopAlerting themselves, which also terminates the lv_task. However, the value change callback only calls DisableAlarm, because its normal use case is for setting up an alarm, where you have to re-confirm enabling the alarm after every change you make. DisableAlarm still sets isAlerting in the alarmController to false, probably because someone thought a currently alerting but also disabled alarm makes no sense, this was introduced in a0cd439. That causes the destructor of Alarm to think there is nothing to do regarding the alerting when the alarm screen is dismissed. Therefore it does not call StopAlerting and the lv_task is left with an invalid function pointer, because Alarm does not exist anymore once the lv_task finally goes to call the callback function
* | spellingLionel Elie Mamane2024-11-251-1/+1
| |
* | weather: Switch to std::optional for Forecast daysFintasticMan2024-11-042-6/+6
| | | | | | | | | | Also only iterate over the number of days actually in use, rather than MaxNbForecastDays.
* | Switch to simpler temperature interfaceFintasticMan2024-11-042-16/+40
| |
* | weather: Refactor temperature type for type safetyFintasticMan2024-11-042-20/+21
| | | | | | | | | | | | | | There is now a Temperature struct in the weather service, which holds the internal representation. There is also a temperature struct in the Applications namespace, which holds the temperature in either Celsius or Fahrenheit.
* | SimpleWeatherService #include <array>Lionel Elie Mamane2024-10-271-1/+1
| | | | | | | | | | | | not <vector> as that is what is actually used. Fixes build failure InfiniTime/src/components/ble/SimpleWeatherService.h:86:18: error: field ‘location’ has incomplete type ‘Pinetime::Controllers::SimpleWeatherService::Location’ {aka ‘std::array<char, 33>’
* | datetime: Set the default year to the year during compileFintasticMan2024-10-271-5/+20
| |
* | MusicService: add missing includes for TickType_t and xTaskGetTickCount (#2130)NeroBurner2024-09-292-0/+3
| | | | | | | | | | Add `FreeRTOS.h` include for the directly used data type `TickType_t` in the header and the function `xTaskGetTickCount` from FreeRTOS's `task.h`
* | Alarm persist to flash (#1367)NeroBurner2024-09-282-27/+120
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
* | Atomic HRS reads (#1845)mark90642024-09-222-2/+2
| | | | | | | | | | | | | | | | | | | | - Combine the reading of all `HRS3300` registers into one I2C read so data is not partial - Downsizes both HRS and ALS to 16bit as the sensor does not generate larger than 16bit values in its current configuration - Increasing the resolution by 1 bit doubles the sensor acquisition time, since we are already at 10Hz we are never going to use a higher resolution - The PPG algorithm buffers for ALS/HRS are already 16bit anyway - Remove functions for setting gain / drive that are unused throughout the codebase - Calculate constants with constexpr
* | Refactor SystemTask state handling for resiliencemark90642024-09-212-5/+13
| | | | | | | | | | | | 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
* | Advertise HR servicemark90642024-08-184-12/+11
| |
* | aod: simplify AOD disablement based on notification statusmark90642024-08-051-32/+5
| |
* | aod: disable while in notification sleepJohn Crawford2024-08-051-4/+35
| |
* | aod: PPI/RTC-based backlight brightnessmark90642024-08-052-13/+135
| |
* | feat: always on displayKaffeinatedKat2024-08-051-1/+14
| |
* | Continuous time updatesJean-François Milants2024-06-091-0/+41
| | | | | | | | Add TODO.md in src/components/datetime. This file give detailed information about a refactoring of the DateTimeController that would be nice to do in the future.
* | Include assert (fix sim)mark90642024-06-091-0/+1
| |
* | Continuous time updatesmark90642024-06-094-23/+42
| |
* | Fix conflicts of min and max from stl_algo.h (included from atomic)Ritvik2024-03-131-1/+1
| |
* | lowersleep: Improve algorithm by checking wrist angleFintasticMan2024-03-122-9/+23
| | | | | | | | Inspired by https://github.com/InfiniTimeOrg/InfiniTime/pull/827#issuecomment-1881580414.
* | DateTimeController: Make DayOfWeekShortToStringLow staticVictor Kareh2024-02-182-3/+3
| | | | | | | | | | This allows it to be used outside of the current datetime context and makes it consistent with the MonthShortToStringLow function.
* | Fix OOB flash write when DFU interruptedmark90642024-02-141-0/+2
| | | | | | | | If a DFU is restarted, the write indices aren't reset causing the image to be written out of bounds. The CRC check prevents the faulty image from booting but LittleFS still gets nuked.
* | Remove GFX (and unused GFX dependencies)mark90642024-02-112-258/+0
| |
* | SimpleWeatherService: Add forecast operator overrides (#2011)Victor Kareh2024-02-102-0/+17
| | | | | | | | Any screen that relies on DirtyValue to display up-to-date forecast data would require the struct to provide an operator override for comparison.
* | Only inhibit sleep if motion notifications are enabled, not just Bluetoothapilat2024-01-233-0/+9
| |
* | Simple Weather Service : Fix timestampJean-François Milants2024-01-041-2/+2
| | | | | | | | | | In the documentation, specify that the timestamp is expressed in seconds from epoch (instead of nanoseconds). SimpleWeatherService now uses "localtime" (GetCurrentDateTime()) instead of UTC time.
* | settings: Add settings item for weather formatFintasticMan2023-12-231-1/+14
| |
* | weather: Add function for temperature in FahrenheitFintasticMan2023-12-231-0/+4
| |
* | User applications selection using CMakeJean-François Milants2023-12-231-1/+1
| | | | | | | | Fix include path since last rebase.