aboutsummaryrefslogtreecommitdiffstats
path: root/src/components
Commit message (Collapse)AuthorAgeFilesLines
* 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
* LVGL / FS : Initialize the LVGL FS driver in LittleVgl (instead of FS).Jean-François Milants2023-02-262-64/+0
| | | | | | Previously, the LVGL driver for the filesystem was initialized in the class FS. However, since 6f942e2, the order of the initializations was incorrect : the driver was initialized (FS::LVGLFileSystemInit()) before LVGL (LittleVgl.Init()), which means that the driver registration was probably dropped when LVGL was initialized. The LVGL driver is now initialized in LittleVgl.Init(), which seems to make much more sense, since all LVGL drivers are initialized there. This way, we ensure that the initialization of the drivers is consistent.
* DateTimeController: Fix integer overflowRiku Isokoski2023-02-261-1/+1
|
* date: Remove date libRiku Isokoski2023-02-252-0/+5
| | | | DateTimeController can provide everything we need.
* DateTimeController: Use std::tm for storing dateRiku Isokoski2023-02-252-31/+22
|
* DateTimeController: Remove SetTime tick parameterRiku Isokoski2023-02-255-12/+6
| | | | | | The systick doesn't need to be updated when setting time. Also removed unused nrf_rtc.h includes.
* SystemTask: Move MotorController to DisplayAppRiku Isokoski2023-02-251-1/+0
| | | | | Vibrations should be associated with something happening on the UI. Therefore SystemTask should not be controlling the motor.
* TimerController: Use chrono for durationsRiku Isokoski2023-02-232-7/+9
|
* clang-format: Always break template declarationsRiku Isokoski2023-02-161-1/+2
| | | | | I find this format easier to read, because the definitions are at the expected indentation, making it easier to find what I'm looking for.
* src: Enable unused parameter warningRiku Isokoski2023-01-2428-92/+76
| | | | | | Fix warnings. Some clang-formatting was necessary. DebugPins is unused and was removed.
* batt: Improve discharge curve valuesFinlay Davidson2023-01-231-9/+4
| | | | Values calculated using multiple tests on 3 PineTimes
* Format header filesFinlay Davidson2023-01-0923-0/+82
| | | | In my PR updating clang-format, I forgot to also format the headers.
* Update clang-{format,tidy} to 14Finlay Davidson2023-01-045-0/+11
| | | | | Also add configuration options only available in 13 and 14. Fixes warning about -fstack-usage in clang-tidy check.
* formatminacode2022-12-271-1/+0
|
* changed to boolminacode2022-12-272-3/+8
|
* fixed a comment, set threshold to 15%minacode2022-12-272-2/+2
|
* cutout scaling hackminacode2022-12-271-5/+0
|
* formatminacode2022-12-271-1/+1
|
* added message, changed UIminacode2022-12-272-5/+9
|