| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
| |
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 DisplayAppRecovery so it builds with -std=c++20.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
These are functions for converting acceleration due to gravity to angles
in degrees, and some statistical analysis including the mean and
variance.
|
| |
|
|
| |
Store history of acceleration values for the y and z axes.
|
| |
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* 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>
|
| |
|
|
|
| |
Weather display for PineTimeStyle
Documentation : https://wiki.pine64.org/wiki/PineTimeStyle and https://wiki.pine64.org/wiki/Infinitime-Weather
|
| |
|
|
|
|
|
| |
change watch face from int to enum
---------
Co-authored-by: minacode <minamoto9@web.de>
|
| |
|
|
|
|
|
| |
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 instance was moved to DisplayApp.
|
| |
|
|
| |
We should be able to assume MotionController is safe to use.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
Also move one-line functions to header.
|
| |
|
|
| |
Could be used for other motion-based algorithms in the future.
|
| | |
|
| |
|
|
|
| |
These could be used for other motion-based algorithms in the future.
Also fix includes.
|
| | |
|
| |
|
|
| |
This reverts PR https://github.com/InfiniTimeOrg/InfiniTime/pull/1352
|
| |
|
|
|
|
| |
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 can provide everything we need.
|
| | |
|
| |
|
|
|
|
| |
The systick doesn't need to be updated when setting time.
Also removed unused nrf_rtc.h includes.
|
| |
|
|
|
| |
Vibrations should be associated with something happening on the UI.
Therefore SystemTask should not be controlling the motor.
|
| | |
|
| |
|
|
|
| |
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.
|
| |
|
|
|
|
| |
Fix warnings.
Some clang-formatting was necessary.
DebugPins is unused and was removed.
|
| |
|
|
| |
Values calculated using multiple tests on 3 PineTimes
|
| |
|
|
| |
In my PR updating clang-format, I forgot to also format the headers.
|
| |
|
|
|
| |
Also add configuration options only available in 13 and 14.
Fixes warning about -fstack-usage in clang-tidy check.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|