Easy Training / Training

Dependents:   Easyfit

Committer:
MarcelPortmann
Date:
Wed May 27 19:19:24 2020 +0000
Revision:
7:e74e7496ac8c
Parent:
4:4e871024310a

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
MarcelPortmann 0:0c6d1b9144af 1 /*
MarcelPortmann 0:0c6d1b9144af 2 Training Class for EasyFitnes
MarcelPortmann 0:0c6d1b9144af 3 This class loads Position data from the memory and compairs it with the data wich
MarcelPortmann 0:0c6d1b9144af 4 is transmitet from the IMU via the main programm
MarcelPortmann 0:0c6d1b9144af 5 it counts all misstaiks over a certain value and reports them back.
MarcelPortmann 0:0c6d1b9144af 6
MarcelPortmann 0:0c6d1b9144af 7 when questions ask someone else
MarcelPortmann 0:0c6d1b9144af 8 the autor is not responsible for any spelling mistakes
MarcelPortmann 0:0c6d1b9144af 9
MarcelPortmann 0:0c6d1b9144af 10
MarcelPortmann 0:0c6d1b9144af 11 */
MarcelPortmann 0:0c6d1b9144af 12
MarcelPortmann 2:0df0d0be0664 13 /*
MarcelPortmann 2:0df0d0be0664 14 Typical Programm use example
MarcelPortmann 2:0df0d0be0664 15 1. call constructor and creat object; training test();
MarcelPortmann 2:0df0d0be0664 16 2. load selectet training into function test.load_training(string name);
MarcelPortmann 2:0df0d0be0664 17 3. set all parameters to begin training test.start_training(void);
MarcelPortmann 2:0df0d0be0664 18 4. during training compair all points with the recordet ones test.compire_point(float posx,float posy,float posz, int time);
MarcelPortmann 2:0df0d0be0664 19 5. repeat point 4 until the end of the trainings sesion
MarcelPortmann 2:0df0d0be0664 20 6. finish training and saves status to memory at block name test.end_training(string name);
MarcelPortmann 2:0df0d0be0664 21
MarcelPortmann 2:0df0d0be0664 22 to get a intermediat reading from the status use test.get_status(void);
MarcelPortmann 2:0df0d0be0664 23
MarcelPortmann 2:0df0d0be0664 24 */
MarcelPortmann 2:0df0d0be0664 25
MarcelPortmann 0:0c6d1b9144af 26 #include <vector>
MarcelPortmann 0:0c6d1b9144af 27 #include <string>
MarcelPortmann 0:0c6d1b9144af 28 #include "mbed.h"
MarcelPortmann 0:0c6d1b9144af 29 #include "memory.h"
MarcelPortmann 0:0c6d1b9144af 30
MarcelPortmann 0:0c6d1b9144af 31 #ifndef training_H // no idea what this does
MarcelPortmann 0:0c6d1b9144af 32 #define training_H // seems important
MarcelPortmann 0:0c6d1b9144af 33
MarcelPortmann 7:e74e7496ac8c 34 #define POSTOL 1 // max pos toleranz point to point in mm
MarcelPortmann 0:0c6d1b9144af 35 #define TIMETOL 3 // max time toleranz
MarcelPortmann 0:0c6d1b9144af 36 #define SHORTMAX 5 // max time to short
MarcelPortmann 0:0c6d1b9144af 37 #define LONGMAX 5 // max time to long
MarcelPortmann 0:0c6d1b9144af 38 #define FAILPOSMAX 100 // max position fails
MarcelPortmann 0:0c6d1b9144af 39
MarcelPortmann 3:1ce1b3915621 40 struct posdata1{
MarcelPortmann 0:0c6d1b9144af 41 int time;
MarcelPortmann 0:0c6d1b9144af 42 int hi, low;
MarcelPortmann 0:0c6d1b9144af 43 bool end, start;
MarcelPortmann 0:0c6d1b9144af 44 float pos[3];
MarcelPortmann 0:0c6d1b9144af 45 };
MarcelPortmann 0:0c6d1b9144af 46
MarcelPortmann 0:0c6d1b9144af 47
MarcelPortmann 0:0c6d1b9144af 48 class training
MarcelPortmann 0:0c6d1b9144af 49 {
MarcelPortmann 0:0c6d1b9144af 50 public:
MarcelPortmann 0:0c6d1b9144af 51 training(void);
MarcelPortmann 0:0c6d1b9144af 52 void load_training(string name); // loads a training from the sd card into the flash
MarcelPortmann 0:0c6d1b9144af 53 void start_training(void); // sets all parameters to begin training
MarcelPortmann 4:4e871024310a 54 int compire_point(float posx,float posy,float posz, int time); // compairs curent point to memory point and counts repetitions
MarcelPortmann 2:0df0d0be0664 55 void end_training(string name); // creates a feedback and stores it into the SD card
MarcelPortmann 2:0df0d0be0664 56 int* get_status(void); // returns a pointer to an int array with fail pot, time short, time long, pointcount
MarcelPortmann 0:0c6d1b9144af 57
MarcelPortmann 0:0c6d1b9144af 58
MarcelPortmann 0:0c6d1b9144af 59 private:
MarcelPortmann 3:1ce1b3915621 60 std::vector<posdata1> data_vec; // dynamic array for trainings data
MarcelPortmann 0:0c6d1b9144af 61 int fail_pos;
MarcelPortmann 0:0c6d1b9144af 62 int time_short;
MarcelPortmann 0:0c6d1b9144af 63 int time_long;
MarcelPortmann 0:0c6d1b9144af 64 int repet;
MarcelPortmann 0:0c6d1b9144af 65 int point_count;
MarcelPortmann 0:0c6d1b9144af 66 memory loading;
MarcelPortmann 0:0c6d1b9144af 67 string tr_name;
MarcelPortmann 3:1ce1b3915621 68 struct posdata1 temp;
MarcelPortmann 2:0df0d0be0664 69 int status_array[4];
MarcelPortmann 0:0c6d1b9144af 70
MarcelPortmann 0:0c6d1b9144af 71 };
MarcelPortmann 0:0c6d1b9144af 72
MarcelPortmann 0:0c6d1b9144af 73 #endif
MarcelPortmann 0:0c6d1b9144af 74
MarcelPortmann 0:0c6d1b9144af 75
MarcelPortmann 0:0c6d1b9144af 76
MarcelPortmann 0:0c6d1b9144af 77
MarcelPortmann 0:0c6d1b9144af 78