mirror of https://github.com/espruino/BangleApps
Update README.md
parent
53371952a4
commit
1aa7583fce
|
@ -1,13 +1,20 @@
|
||||||
Extract hrm raw signal data to CSV file
|
Extract hrm raw signal data to CSV file
|
||||||
=======================================
|
=======================================
|
||||||
|
|
||||||
Simple app that will run the heart rate monitor for a defined period of time you set at the start.
|
Simple app that will run the heart rate monitor for a defined period of time you set at the start and record data to a csv file.
|
||||||
|
|
||||||
Updated to work with new API. Additional capability includes:
|
Updated to work with new API and includes support for Bangle.js 2. Additional capability includes:
|
||||||
|
|
||||||
1. Now also records upto 2 hours - if you cancel at any time the CSV file will still be there, the timer you set at the start is more so that you get an alert when it's complete.
|
1. Now also records upto 2 hours - if you cancel at any time the CSV file will still be there, the timer you set at the start is more so that you get an alert when it's complete.
|
||||||
2. Along with raw PPG readings, it also records bandpassed filtered data in a second column, available in the new API.
|
2. Along with raw PPG readings, it also records bandpassed filtered data in a second column, available in the new API.
|
||||||
3. Rather than overwriting 1 data file, the app will record upto 5 files before recording to a generic data file as a fallback if all 5 allocated files remain on the watch storage. The limit is in place to avoid going over storage limits as these files can get large over time.
|
3. Rather than overwriting 1 data file, the app will record upto 5 files before recording to a generic data file as a fallback if all 5 allocated files remain on the watch storage. The limit is in place to avoid going over storage limits as these files can get large over time.
|
||||||
|
|
||||||
-The hrm sensor is sampled @50Hz and this app does not do any processing on it other than clip overly high/extreme values, the array is written as-is. There is an example Python script that can process this signal, smooth it and also extract a myriad of heart rate variability metrics using the hrvanalysis library:
|
-The hrm sensor is sampled @50Hz on the Bangle.JS 1 and 25Hz on the Bangle 2 by default. At least on the Bangle 2 you can change the sample rate by using the 'custom boot code' app and running this line:
|
||||||
|
Bangle.setOptions({hrmPollInterval:20});
|
||||||
|
|
||||||
|
the 20 in the boot code means the hrm will poll every 20ms (50Hz) instead of the default 40.
|
||||||
|
|
||||||
|
4. On the bangle.JS 2 you can swipe up to begin recording, and on the Bangle.JS 1 you just use the top button.
|
||||||
|
|
||||||
|
For Bangle 1, there is an example Python script that can process this signal, smooth it and also extract a myriad of heart rate variability metrics using the hrvanalysis library. I will be working on a method for Bangle 2 because the data seems more noisy so will need a different processing method:
|
||||||
https://github.com/jabituyaben/BangleJS-HRM-Signal-Processing
|
https://github.com/jabituyaben/BangleJS-HRM-Signal-Processing
|
||||||
|
|
Loading…
Reference in New Issue