HRV -> Mood
Dependencies: MAX30101 Hexi_KW40Z Hexi_OLED_SSD1351
Diff: 8cee5929f4d8/main.cpp
- Revision:
- 12:95d141421e18
- Parent:
- 11:58a443cf3f7c
- Child:
- 13:45c2837ab056
--- a/8cee5929f4d8/main.cpp Sat Mar 16 07:46:28 2019 +0000
+++ b/8cee5929f4d8/main.cpp Sat Mar 16 08:08:25 2019 +0000
@@ -43,8 +43,9 @@
// I added this
const int num_samples = 500; // for 30 sec
int ppg[num_samples];
-int SDNN_n, SDNN;
-double arousal, valence, HF_LF, HF_LF_n;
+int SDNN_n, SDNN, valence_arousal;
+double HF_LF = 0.0;
+double HF_LF_n = 0.0;
bool ready = false;
void StartHaptic(void)
@@ -406,6 +407,26 @@
HF_LF = HF/LF;
printf("HF/LF = %.2f \n", HF_LF);
+ if(SDNN_n < 1.0) {
+ SDNN_n = SDNN;
+ HF_LF_n = HF_LF;
+ valence_arousal = 0;
+ }
+ else {
+ if(SDNN > SDNN_n) {
+ if(HF_LF > HF_LF_n)
+ valence_arousal = 0;
+ else
+ valence_arousal = 3;
+ }
+ else {
+ if(HF_LF > HF_LF_n)
+ valence_arousal = 1;
+ else
+ valence_arousal = 2;
+ }
+ }
+
ready = false; // last line
@@ -453,7 +474,7 @@
txThread.start(txTask);
-
+
while (true) {
// Format the time reading
@@ -473,9 +494,9 @@
// Display time reading in 35px by 15px textbox at(x=55, y=40)
oled.TextBox((uint8_t *)text,55,55,35,15);
}*/
-
-
+
+
Thread::wait(1000);
}
return 0;