[chronojump/michrolab] Selection of gravitatory exercise
- From: Xavier Padullés <xpadulles src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [chronojump/michrolab] Selection of gravitatory exercise
- Date: Mon, 22 Aug 2022 16:52:51 +0000 (UTC)
commit ba4fe01e27c4747b4aa4a37e903dd28c583a3b15
Author: Xavier Padullés <testing chronojump org>
Date: Mon Aug 22 18:52:28 2022 +0200
Selection of gravitatory exercise
arduino/michrolab/SDExample/gravType.txt | 4 ++++
arduino/michrolab/exercsiseManage.ino | 24 ++++++++++++++++++----
arduino/michrolab/menus.ino | 35 +++++++++++++++++++++-----------
arduino/michrolab/michrolab.ino | 9 +++++---
4 files changed, 53 insertions(+), 19 deletions(-)
---
diff --git a/arduino/michrolab/SDExample/gravType.txt b/arduino/michrolab/SDExample/gravType.txt
new file mode 100644
index 000000000..74db55a23
--- /dev/null
+++ b/arduino/michrolab/SDExample/gravType.txt
@@ -0,0 +1,4 @@
+#id, name, description, percentBodyWeight, speed1RM
+0,Bench Press, Typical Bench press with a barbell,0,0.185
+1,Squat,Squat movement with a barbell,100,0.31
+2,Biceps Curl,Typical biceps curl with,0,0
diff --git a/arduino/michrolab/exercsiseManage.ino b/arduino/michrolab/exercsiseManage.ino
index 325b3b19f..2d4575905 100644
--- a/arduino/michrolab/exercsiseManage.ino
+++ b/arduino/michrolab/exercsiseManage.ino
@@ -80,14 +80,14 @@ void readExercisesFile(exerciseType mode)
}
else if (mode == gravitatory) {
//Serial.println("G");
- file = "gravitat.txt";
+ file = "gravType.txt";
}
File exercisesFile = SD.open(file);
if (exercisesFile)
{
- Serial.println("file size: " + String(exercisesFile.size()) );
+ //Serial.println("File size = " + String(exercisesFile.size() ) );
while (pos <= exercisesFile.size())
{
readChar = '0';
@@ -98,8 +98,9 @@ void readExercisesFile(exerciseType mode)
readString = readString + readChar;
pos++;
}
+
+ //Serial.print(readString);
- //Serial.print(" | ");
//Check that it is a valid row.
if ( isDigit(readString[0]) )
{
@@ -122,7 +123,7 @@ void readExercisesFile(exerciseType mode)
void printJumpTypesList()
{
Serial.println("id, name, jumpLimit,timeLimit, hardTimeLimit, percentBodyWeight, fall, startIn");
- for (unsigned int i = 0; i < totalJumpTypes; i++)
+ for (unsigned int i = 0; i < totalGravTypes; i++)
{
Serial.print(jumpTypes[i].id);
Serial.print("," + jumpTypes[i].name + ", ");
@@ -136,3 +137,18 @@ void printJumpTypesList()
else Serial.println("No, ");
}
}
+
+void printGravTypesList()
+{
+ Serial.println();
+ Serial.println("totalGravTypes: " + String(totalGravTypes) );
+ Serial.println("id, name, description, percentBodyWeight, speed1RM");
+ for (unsigned int i = 0; i < totalGravTypes; i++)
+ {
+ Serial.print(String(gravTypes[i].id) + ", ");
+ Serial.print(gravTypes[i].name + ", ");
+ Serial.print(gravTypes[i].description + ", ");
+ Serial.print(String( gravTypes[i].percentBodyWeight , 2) + "%, ");
+ Serial.println(String( gravTypes[i].speed1Rm , 2) + "m/s, ");
+ }
+}
diff --git a/arduino/michrolab/menus.ino b/arduino/michrolab/menus.ino
index ad7ea9310..4c2e51998 100644
--- a/arduino/michrolab/menus.ino
+++ b/arduino/michrolab/menus.ino
@@ -208,29 +208,40 @@ float selectValueDialog(String description, String rangesString, String incStrin
return (value);
}
-void selectJumpType()
+void selectExerciseType(exerciseType mode)
{
tft.fillScreen(BLACK);
- printTftText("Jump type", 40, 20, WHITE, 3);
+ if (mode == jumps) {
+ printTftText("Jump type", 40, 20, WHITE, 3);
+ printTftText(jumpTypes[currentExerciseType].name, 50, 100);
+ }
+ else if (mode == gravitatory) {
+ printTftText("Gravit. type", 40, 20, WHITE, 3);
+ printTftText(gravTypes[currentExerciseType].name, 50, 100);
+ }
drawLeftButton("Next", WHITE, BLUE);
drawRightButton("Accept", WHITE, RED);
-
- printTftText(jumpTypes[currentExerciseType].name, 50, 100);
-
blueButton.update();
redButton.update();
while(!redButton.fell())
{
if(blueButton.fell())
- {
- //Deleting last jumpType text
- printTftText(jumpTypes[currentExerciseType].name, 50, 100, BLACK);
-
- //Printing new jump type text
- currentExerciseType = (currentExerciseType + 1) % totalJumpTypes;
- printTftText(jumpTypes[currentExerciseType].name, 50, 100);
+ {
+
+ //Deleting last exercise type text and
+ //Printing new exersise type text
+ if (mode == jumps) {
+ printTftText(jumpTypes[currentExerciseType].name, 50, 100, BLACK);
+ currentExerciseType = (currentExerciseType + 1) % totalJumpTypes;
+ printTftText(jumpTypes[currentExerciseType].name, 50, 100);
+ }
+ else if (mode == gravitatory) {
+ printTftText(gravTypes[currentExerciseType].name, 50, 100, BLACK);
+ currentExerciseType = (currentExerciseType + 1) % totalGravTypes;
+ printTftText(gravTypes[currentExerciseType].name, 50, 100);
+ }
}
blueButton.update();
redButton.update();
diff --git a/arduino/michrolab/michrolab.ino b/arduino/michrolab/michrolab.ino
index fa16580bf..2abf8fedf 100644
--- a/arduino/michrolab/michrolab.ino
+++ b/arduino/michrolab/michrolab.ino
@@ -174,7 +174,7 @@ menuEntry mainMenu[10] = {
{ "", "", &backMenu}
};
-int mainMenuItems = 9;
+int mainMenuItems = 8;
menuEntry systemMenu[10] {
{ "Group", "Select the group you are going to use.\nUp to 9 groups can be\nselected", &selectGroup},
@@ -416,7 +416,7 @@ void setup() {
totalPersons = getTotalPerson();
readPersonsFile();
- //TODO: Read jumps only if necessary
+ //TODO: Read exercises only if necessary
currentExerciseType = 0;
tft.fillScreen(BLACK);
@@ -1255,6 +1255,9 @@ void startEncoderCapture(void)
avgVelocity = 0;
maxAvgVelocity = 0;
lastVelocity = 0;
+ readExercisesFile(gravitatory);
+ currentExerciseType = 0;
+ selectExerciseType(gravitatory);
selectValueDialog("Select the load you are\ngoing to move", "0,5,20,200", "0.5,1,5", 1);
//captureRaw();
captureBars();
@@ -1375,7 +1378,7 @@ void jumpsCapture()
{
readExercisesFile(jumps);
printJumpTypesList();
- selectJumpType();
+ selectExerciseType(jumps);
IntervalTimer testTime; //Timer that controls the refreshing of time in lower right corner
capturing = true;
//In the first change of state the header of the row is writen.
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]