aboutsummaryrefslogtreecommitdiffstats
path: root/src/components
Commit message (Collapse)AuthorAgeFilesLines
...
* | 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.
* | Simple Weather ServiceJean-François Milants2023-12-231-1/+1
| | | | | | | | | | Fix ToUInt64() in SimpleWeatherService.cpp. Fix typo in SimpleWeatherService.md.
* | Simple Weather ServiceJean-François Milants2023-12-232-21/+14
| | | | | | | | Fix code formatting.
* | Simple Weather ServiceJean-François Milants2023-12-232-16/+31
| | | | | | | | Store temperatures as int16_t (instead of uint8_t previously). The temperature is expressed in °C * 100.
* | Simple Weather ServiceJean-François Milants2023-12-232-14/+16
| | | | | | | | Code improvements : icon fields are now typed as Icons, move the location string when creating a new instance of CurrentWeather, fix SimpleWeatherService::CurrentWeather::operator== (location was missing from the comparison).
* | Simple Weather Service - code cleaning and improvementsJean-François Milants2023-12-231-6/+6
| | | | | | | | | | Remove unused Weather debug app. Fix formatting in SimpleWeatherService.cpp.
* | Simple Weather Service - code cleaning and improvementsJean-François Milants2023-12-232-25/+15
| | | | | | | | | | | | | | Add missing icons (heavy clouds, thunderstorm, snow). Remove unneeded comparison operator (!=), improve conversion of Timestamp and MessageType, order includes. Fix typo in documentation. Remove not related change in StopWatch.
* | Simple Weather Service : fix out of bounds access while creating Forecast ↵Jean-François Milants2023-12-232-3/+9
| | | | | | | | instance.
* | SimpleWeather service : new weather implementationJean-François Milants2023-12-232-49/+60
| | | | | | | | Fix recovery firmware and code formatting.
* | SimpleWeather service : new weather implementationJean-François Milants2023-12-236-1171/+287
| | | | | | | | | | | | | | | | | | | | This new implementation of the weather feature provides a new BLE API and a new weather service. The API uses a single characteristic that allows companion apps to write the weather conditions (current and forecast for the next 5 days). The SimpleWeather service exposes those data as std::optional fields. This new implementation replaces the previous WeahterService. The API is documented in docs/SimpleWeatherService.md.
* | Watch face selection at build timeJean-François Milants2023-12-211-1/+1
| | | | | | | | Watch faces can now be selected at buid time. It's implemented in a similar way than the selection of user apps, using a list of watch face description that is generated at build time (consteval, constexpr)
* | Fix potential buffer overflows when calling sprintfMingjie Shen2023-12-011-2/+2
| | | | | | | | | | | | | | | | | | | | 1. Replace sprintf with snprintf, which is safer 2. An unsigned int or unsigned long int requires 11 bytes to print (including the null terminator) 3. Use PRIu16 macro to print uint16_t 4. Format string "#%2d %2d:%02d:%02d.%02d\n" in StopWatch::stopLapBtnEventHandler() requires at least 17 bytes. The 16-byte buffer would clearly be overrun if sprintf were used.
* | Fix code formattingJean-François Milants2023-11-191-1/+1
| |
* | Application selection at build timeJean-François Milants2023-11-191-2/+2
| | | | | | | | Fix DisplayAppRecovery so it builds with -std=c++20.
* | weather: Fix GetCurrent* functions returning future events (#1879)FintasticMan2023-10-061-9/+18
| |
* | lowersleep: Implement Lower to Sleep functionality (#827)FintasticMan2023-08-273-9/+20
| |
* | raisewake: Improve raise to wake algorithmFinlay Davidson2023-08-172-20/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | This new algorithm calculates the number of degrees that the wrist has rolled, and checks if that is above a threshold. First it checks if the wrist is still enough for the acceleration values to be considered mostly from gravity. It does this by calculating the mean over the past 2 SystemTask loops, and checking that the variance from that mean is below a threshold. Then it calculates the angle the wrist is being held at, and calculates the difference from the angle some time ago. If this difference is above the threshold, it wakes the watch.
* | motioncontroller: Add functions for analysisFinlay Davidson2023-08-172-0/+73
| | | | | | | | | | | | These are functions for converting acceleration due to gravity to angles in degrees, and some statistical analysis including the mean and variance.
* | motioncontroller: Store acceleration historyFinlay Davidson2023-08-172-17/+18
| | | | | | | | Store history of acceleration values for the y and z axes.
* | shakewake: Slightly improve accuracyFinlay Davidson2023-08-171-4/+3
| | | | | | | | | | | | The accumulated speed was calculated by dividing first and multiplying after, which results in more rounding errors than if you multiply first and then divide. The values aren't big enough to overflow.
* | NotificationManager.h: Reorder notification struct fields to allow easier ↵Max Friedrich2023-07-091-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | creation. (#1774) This commit changes the order for the notification struct fields to allow the creation of notifications using a string literal. ```cpp NotificationManager::Notifiation notification { "String literal with notification text", 42, NotificationManager::Categories::SimpleAlert }; ``` Co-authored-by: minacode <minamoto9@web.de>
* | arduinofft: Move to submodule, define srqt_internal externallyFinlay Davidson2023-06-171-1/+2
| |
* | ShakeWake: Fixed instant wake after sleep issue in certain positions (#1691)Isaac2023-06-172-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | * ShakeWake: Fixed instant wake after sleep issue in certain positions Add lastX var to track the previous x acceleration for correct calculation of speed. Reorder axes for clarity. --------- Co-authored-by: Isaac <114504394+isaacc27@users.noreply.github.com> Co-authored-by: FintasticMan <52415484+FintasticMan@users.noreply.github.com>
* | PineTimeStyle weather display (#1459)kieranc2023-06-041-1/+13
| | | | | | | | | | Weather display for PineTimeStyle Documentation : https://wiki.pine64.org/wiki/PineTimeStyle and https://wiki.pine64.org/wiki/Infinitime-Weather
* | Refactor watch face to enum (#1339)Max Friedrich2023-04-301-6/+7
| | | | | | | | | | | | | | change watch face from int to enum --------- Co-authored-by: minacode <minamoto9@web.de>
* | Refactored Ppg for frequency based algorithm. (#1486)Ceimour2023-04-306-178/+317
| | | | | | | | | | | | | | New implementation of the heart rate sensor data processing using a frequency based PPG algorithm. The HRS3300 settings are fine-tuned for better signal to noise at 10Hz. The measurement delay is now set to 100ms. Enable and use the ambient light sensor. FFT implementation based on ArduinoFFT (https://github.com/kosme/arduinoFFT, GPLv3.0).
* | TimerController: Rename to TimerRiku Isokoski2023-04-162-8/+8
| |
* | TimerController: Make TimerController reusableRiku Isokoski2023-04-162-24/+3
| | | | | | | | TimerController instance was moved to DisplayApp.
* | MotionController: Remove IsOk variableRiku Isokoski2023-04-161-9/+0
| | | | | | | | We should be able to assume MotionController is safe to use.
* | linearapproximation: Move to src/utilityFinlay Davidson2023-03-272-43/+1
| |
* | WeatherService: const DateTimeController referenceRiku Isokoski2023-03-192-3/+3
| |
* | HeartRateService: Remove SystemTask dependencyRiku Isokoski2023-03-193-11/+8
| |
* | MotionService: Remove SystemTask dependencyRiku Isokoski2023-03-193-12/+9
| |
* | NavigationService: Remove unused SystemTask refRiku Isokoski2023-03-193-11/+2
| |
* | WeatherService: Remove unused SystemTask referenceRiku Isokoski2023-03-193-10/+3
| |
* | MusicService: Remove SystemTask dependencyRiku Isokoski2023-03-193-10/+8
|/
* raisewake: Change names in line with the style guideFinlay Davidson2023-03-092-8/+8
|
* motioncontroller: Fix clang-tidy warningsFinlay Davidson2023-03-092-15/+12
| | | | Also move one-line functions to header.
* shakewake: Switch to more generic timekeepingFinlay Davidson2023-03-092-7/+10
| | | | Could be used for other motion-based algorithms in the future.
* shakewake: Simplify return codeFinlay Davidson2023-03-091-5/+1
|
* shakewake: Switch to more generic last* varsFinlay Davidson2023-03-092-11/+16
| | | | | These could be used for other motion-based algorithms in the future. Also fix includes.
* shakewake: Fix names according to style guideFinlay Davidson2023-03-092-12/+12
|
* Revert "added low battery message"Riku Isokoski2023-03-022-17/+0
| | | | This reverts PR https://github.com/InfiniTimeOrg/InfiniTime/pull/1352