[chronojump/FS-LCD-Menu] Added variability values
- From: Xavier Padullés <xpadulles src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [chronojump/FS-LCD-Menu] Added variability values
- Date: Wed, 5 Jan 2022 15:27:59 +0000 (UTC)
commit 70fd9f1f749f57b60039a98a2230032ae5b4513e
Author: xpadulles <x padulles gmail com>
Date: Tue Jan 4 18:03:47 2022 +0100
Added variability values
arduino/ForceSensorLCD/ForceSensorLCD.ino | 34 +++++++++++++++++++++++++++----
1 file changed, 30 insertions(+), 4 deletions(-)
---
diff --git a/arduino/ForceSensorLCD/ForceSensorLCD.ino b/arduino/ForceSensorLCD/ForceSensorLCD.ino
index b53ce86b0..50b8b5b7c 100644
--- a/arduino/ForceSensorLCD/ForceSensorLCD.ino
+++ b/arduino/ForceSensorLCD/ForceSensorLCD.ino
@@ -204,13 +204,24 @@ const String menuList [] = {
"---- System - "
};
+//Mean force in 1s
+
//Array where all measures in 1s are stored
float forces1s[90];
//The current position in the array
int currentPosition = 0;
//mean force during 1s
float meanForce1s;
-float maxMeanForce1s = 0;
+float maxMeanForce1s = 0.0;
+
+//Variability
+float sumSSD = 0.0;
+float sumMeasures = 0.0;
+int samplesSSD = 0;
+float RMSSD = 0.0;
+float cvRMSSD = 0.0;
+bool calculeVariability = true;
+float lastMeasure = 0;
void setup() {
pinMode(redButtonPin, INPUT);
@@ -390,6 +401,15 @@ void capture(void)
if (abs(meanForce1s) > abs(maxMeanForce1s)) maxMeanForce1s = meanForce1s;
+ if(calculeVariability){
+ sumSSD += (sq(measured - lastMeasure));
+ sumMeasures += measured;
+ samplesSSD++;
+ lastMeasure = measured;
+ RMSSD = sqrt(sumSSD / (samplesSSD -1));
+ cvRMSSD = 100 * RMSSD / ( sumMeasures / samplesSSD);
+ }
+
//RFD stuff start ------>
if (rfdDataPre2Ok) {
float rfdValue = (measured - rfdMeasuredPre2) / ((elapsedTime + rfdTimePre) / 1000000.0);
@@ -448,7 +468,8 @@ void printOnLcd() {
printLcdFormat (totalTimeInSec, 10, 0, 0);
if (rfdCalculed) {
- printLcdFormat (rfdValueMax, 13, 1, 1);
+ //printLcdFormat (rfdValueMax, 13, 1, 1);
+ printLcdFormat (cvRMSSD, 13, 1, 1);
measuredLcdDelayMax = 0;
lcdCount = 0;
@@ -594,11 +615,16 @@ void start_capture()
rfdValueMax = 0;
//filling the array of forces with initial force
- float measured = scale.get_units();
+ lastMeasure = scale.get_units();
for (int i; i< 90; i++){
- forces1s[i] = measured;
+ forces1s[i] = lastMeasure;
}
maxMeanForce1s = 0;
+
+ //Initializing variability variables
+ sumSSD = 0.0;
+ sumMeasures = lastMeasure;
+ samplesSSD = 0;
capturing = true;
delay(500);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]