Commit Graph

379 Commits

Author SHA1 Message Date
FintasticMan
0f9f606b78
lowersleep: Implement Lower to Sleep functionality (#827) 2023-08-27 18:15:21 +02:00
Finlay Davidson
2b1eae7f59 raisewake: Improve raise to wake algorithm
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.
2023-08-17 21:21:22 +02:00
Finlay Davidson
cfe21103ea motioncontroller: Add functions for analysis
These are functions for converting acceleration due to gravity to angles
in degrees, and some statistical analysis including the mean and
variance.
2023-08-17 21:21:22 +02:00
Finlay Davidson
3085bb3990 motioncontroller: Store acceleration history
Store history of acceleration values for the y and z axes.
2023-08-17 21:21:22 +02:00
Finlay Davidson
47ca403857 shakewake: Slightly improve accuracy
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.
2023-08-17 21:21:22 +02:00
Max Friedrich
39d5b5c3a2
NotificationManager.h: Reorder notification struct fields to allow easier 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>
2023-07-09 14:39:38 +02:00
Finlay Davidson
505520d83b arduinofft: Move to submodule, define srqt_internal externally 2023-06-17 17:46:48 +02:00
Isaac
9e128c838e
ShakeWake: Fixed instant wake after sleep issue in certain positions (#1691)
* 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>
2023-06-17 17:37:53 +02:00
kieranc
94f41258d5
PineTimeStyle weather display (#1459)
Weather display for PineTimeStyle

Documentation : https://wiki.pine64.org/wiki/PineTimeStyle and https://wiki.pine64.org/wiki/Infinitime-Weather
2023-06-04 16:52:31 +02:00
Max Friedrich
020a7fd11d
Refactor watch face to enum (#1339)
change watch face from int to enum

---------

Co-authored-by: minacode <minamoto9@web.de>
2023-04-30 17:03:46 +02:00
Ceimour
c22e30a4a6
Refactored Ppg for frequency based algorithm. (#1486)
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).
2023-04-30 15:50:18 +02:00
Riku Isokoski
40f7e1c7be TimerController: Rename to Timer 2023-04-16 14:33:23 +00:00
Riku Isokoski
661ffbeb1e TimerController: Make TimerController reusable
TimerController instance was moved to DisplayApp.
2023-04-16 14:33:23 +00:00
Riku Isokoski
4d93ae6d27 MotionController: Remove IsOk variable
We should be able to assume MotionController is safe to use.
2023-04-16 14:15:49 +00:00
Finlay Davidson
2ba8b17967 linearapproximation: Move to src/utility 2023-03-27 22:12:32 +00:00
Riku Isokoski
0a4f015783 WeatherService: const DateTimeController reference 2023-03-19 12:41:01 +02:00
Riku Isokoski
829ab86f37 HeartRateService: Remove SystemTask dependency 2023-03-19 12:41:01 +02:00
Riku Isokoski
7c98f26f12 MotionService: Remove SystemTask dependency 2023-03-19 12:41:01 +02:00
Riku Isokoski
ca5e7d1adf NavigationService: Remove unused SystemTask ref 2023-03-19 12:41:01 +02:00
Riku Isokoski
7e15a1e340 WeatherService: Remove unused SystemTask reference 2023-03-19 12:41:01 +02:00
Riku Isokoski
c7a9b3d7d3 MusicService: Remove SystemTask dependency 2023-03-19 12:41:01 +02:00
Finlay Davidson
e55a76f740 raisewake: Change names in line with the style guide 2023-03-09 10:17:03 +02:00
Finlay Davidson
49ad5be742 motioncontroller: Fix clang-tidy warnings
Also move one-line functions to header.
2023-03-09 10:17:03 +02:00
Finlay Davidson
76e79df375 shakewake: Switch to more generic timekeeping
Could be used for other motion-based algorithms in the future.
2023-03-09 10:17:03 +02:00
Finlay Davidson
a43463762c shakewake: Simplify return code 2023-03-09 10:17:03 +02:00
Finlay Davidson
6cf6455313 shakewake: Switch to more generic last* vars
These could be used for other motion-based algorithms in the future.
Also fix includes.
2023-03-09 10:17:03 +02:00
Finlay Davidson
f993311830 shakewake: Fix names according to style guide 2023-03-09 10:17:03 +02:00
Riku Isokoski
fff0a00a4a Revert "added low battery message"
This reverts PR https://github.com/InfiniTimeOrg/InfiniTime/pull/1352
2023-03-02 13:38:31 +02:00
Jean-François Milants
9bbd2ddbc4 LVGL / FS : Initialize the LVGL FS driver in LittleVgl (instead of FS).
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.
2023-02-26 22:10:03 +02:00
Riku Isokoski
bf8dca202c DateTimeController: Fix integer overflow 2023-02-26 17:30:01 +02:00
Riku Isokoski
8baa317e7e date: Remove date lib
DateTimeController can provide everything we need.
2023-02-25 17:44:06 +02:00
Riku Isokoski
959778d770 DateTimeController: Use std::tm for storing date 2023-02-25 17:37:56 +02:00
Riku Isokoski
b63bb798ac DateTimeController: Remove SetTime tick parameter
The systick doesn't need to be updated when setting time.

Also removed unused nrf_rtc.h includes.
2023-02-25 17:22:25 +02:00
Riku Isokoski
5ab255b26b SystemTask: Move MotorController to DisplayApp
Vibrations should be associated with something happening on the UI.
Therefore SystemTask should not be controlling the motor.
2023-02-25 12:15:00 +02:00
Riku Isokoski
05f404950a TimerController: Use chrono for durations 2023-02-23 23:17:18 +02:00
Riku Isokoski
6dc49e5bdb clang-format: Always break template declarations
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.
2023-02-16 09:13:58 +02:00
Riku Isokoski
a3e14c012d src: Enable unused parameter warning
Fix warnings.
Some clang-formatting was necessary.
DebugPins is unused and was removed.
2023-01-24 10:43:17 +02:00
Finlay Davidson
8b0d888952 batt: Improve discharge curve values
Values calculated using multiple tests on 3 PineTimes
2023-01-23 21:48:29 +01:00
Finlay Davidson
96165a8541 Format header files
In my PR updating clang-format, I forgot to also format the headers.
2023-01-09 21:41:21 +01:00
Finlay Davidson
eda96ffadc Update clang-{format,tidy} to 14
Also add configuration options only available in 13 and 14.
Fixes warning about -fstack-usage in clang-tidy check.
2023-01-04 17:15:33 +01:00
minacode
a82a34cd11 format 2022-12-27 12:13:52 +01:00
minacode
557a328409 changed to bool 2022-12-27 12:13:52 +01:00
minacode
51d818b774 fixed a comment, set threshold to 15% 2022-12-27 12:13:52 +01:00
minacode
60027f217c cutout scaling hack 2022-12-27 12:13:52 +01:00
minacode
08fa6bd4e4 format 2022-12-27 12:13:52 +01:00
minacode
cad58f190f added message, changed UI 2022-12-27 12:13:52 +01:00
minacode
59ee0ad1aa add percentage rescaling 2022-12-27 12:13:52 +01:00
minacode
ccc8cee07a added low battery message 2022-12-27 12:13:52 +01:00
Riku Isokoski
afea7ca0d1
Update clang-tidy configuration and fix some warnings (#1474)
Don't enable coding conventions from unrelated projects. Only enable
generic checks.
2022-12-18 18:14:36 +01:00
uli
02116a2fd4 BLE CTS: fixed signedness of timezone 2022-11-25 20:14:26 +01:00