aboutsummaryrefslogtreecommitdiffstats
path: root/src/heartratetask/HeartRateTask.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Use RoundedDiv utility function across projectmark90642025-12-211-9/+5
|
* Isochronous PPG samplingmark90642025-11-051-3/+46
|
* Background heartrate measurementmark90642025-11-051-61/+163
| | | | Co-Authored-By: Patric Gruber <me@patric-gruber.at>
* Atomic HRS reads (#1845)mark90642024-09-221-1/+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
* Simplify ISR task wake checksmark90642024-03-121-4/+1
| | | | The macro checks the variable, so we don't need to check it ourselves
* Refactored Ppg for frequency based algorithm. (#1486)Ceimour2023-04-301-9/+26
| | | | | | | 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).
* Update clang-tidy configuration and fix some warnings (#1474)Riku Isokoski2022-12-181-15/+20
| | | | | Don't enable coding conventions from unrelated projects. Only enable generic checks.
* Apply clang-format to all C++ filesFinlay Davidson2022-06-051-1/+1
|
* changed ReadHrs and ReadAls to uint32, and did static_cast instead of hidden ↵Yehoshua Pesach Wallach2021-12-131-2/+1
| | | | cast when using it
* Update includes to to be relative to src directoryReinhold Gschweicher2021-11-151-1/+1
| | | | | | | Don't use relative imports like `../foo.h` as those depend on the relative position of both files. Rather than that use imports relative to the `src` directory, which explicitly is part of the include directories.
* Move most of the code from the constructor of the objects statically ↵Jean-François Milants2021-06-121-2/+3
| | | | initialized in main() into Start()/Init() functions to avoid Static Initialization Order Fiasco (https://en.cppreference.com/w/cpp/language/siof). See https://github.com/JF002/InfiniTime/pull/415#issuecomment-859004238.
* Initialize SystemTask, DisplayApp and HeartRateTask as global static ↵Jean-François Milants2021-06-061-1/+1
| | | | variable instead of variables on the heap. We don't need them on the heap as we know their size at build time, it'll reduce memory fragmentation and it'll make memory analysis easier.
* Reformatted all the files according to clang-format styleAvamander2021-04-241-13/+16
|
* Increase FreeRTOS heap size and re-enable heart rate task. New Nimble ↵Jean-François Milants2021-02-031-2/+2
| | | | probably uses more memory than before.
* Update to nimble 1.3 master branch commit ↵Jean-François Milants2021-02-021-2/+2
| | | | | | 82153e744833821e20e9a8b0d61c38b2b0dbcfe1 WARNING : heartbeat task is disabled!
* HR Sensor : Add start/stop button to the HeartRate app (the HR sensors stays ↵Jean-François Milants2021-01-171-4/+12
| | | | ON when the app is closed), display the HR value on the Clock app.
* First implementation of the HR sensor using 100% foss code (ported from waspos)Jean-François Milants2021-01-101-0/+89