Easy Training / Training

Dependents:   Easyfit

Committer:
MarcelPortmann
Date:
Tue Apr 28 12:58:54 2020 +0000
Revision:
0:0c6d1b9144af
Child:
1:aa8497b98ef4
Training as library

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 0:0c6d1b9144af 13 #include <vector>
MarcelPortmann 0:0c6d1b9144af 14 #include <string>
MarcelPortmann 0:0c6d1b9144af 15 #include "mbed.h"
MarcelPortmann 0:0c6d1b9144af 16 #include "memory.h"
MarcelPortmann 0:0c6d1b9144af 17
MarcelPortmann 0:0c6d1b9144af 18 #ifndef training_H // no idea what this does
MarcelPortmann 0:0c6d1b9144af 19 #define training_H // seems important
MarcelPortmann 0:0c6d1b9144af 20
MarcelPortmann 0:0c6d1b9144af 21 #define POSTOL 20 // max pos toleranz point to point in mm
MarcelPortmann 0:0c6d1b9144af 22 #define TIMETOL 3 // max time toleranz
MarcelPortmann 0:0c6d1b9144af 23 #define SHORTMAX 5 // max time to short
MarcelPortmann 0:0c6d1b9144af 24 #define LONGMAX 5 // max time to long
MarcelPortmann 0:0c6d1b9144af 25 #define FAILPOSMAX 100 // max position fails
MarcelPortmann 0:0c6d1b9144af 26
MarcelPortmann 0:0c6d1b9144af 27 struct posdata{
MarcelPortmann 0:0c6d1b9144af 28 int time;
MarcelPortmann 0:0c6d1b9144af 29 int hi, low;
MarcelPortmann 0:0c6d1b9144af 30 bool end, start;
MarcelPortmann 0:0c6d1b9144af 31 float pos[3];
MarcelPortmann 0:0c6d1b9144af 32 };
MarcelPortmann 0:0c6d1b9144af 33
MarcelPortmann 0:0c6d1b9144af 34
MarcelPortmann 0:0c6d1b9144af 35 class training
MarcelPortmann 0:0c6d1b9144af 36 {
MarcelPortmann 0:0c6d1b9144af 37 public:
MarcelPortmann 0:0c6d1b9144af 38 training(void);
MarcelPortmann 0:0c6d1b9144af 39 void load_training(string name); // loads a training from the sd card into the flash
MarcelPortmann 0:0c6d1b9144af 40 void start_training(void); // sets all parameters to begin training
MarcelPortmann 0:0c6d1b9144af 41 void compire_point(float posx,float posy,float posz, int time); // compairs curent point to memory point and counts repetitions
MarcelPortmann 0:0c6d1b9144af 42 void end_training(void); // creates a feedback and stores it into the SD card
MarcelPortmann 0:0c6d1b9144af 43
MarcelPortmann 0:0c6d1b9144af 44
MarcelPortmann 0:0c6d1b9144af 45 private:
MarcelPortmann 0:0c6d1b9144af 46 std::vector<posdata> data_vec; // dynamic array for trainings data
MarcelPortmann 0:0c6d1b9144af 47 int fail_pos;
MarcelPortmann 0:0c6d1b9144af 48 int time_short;
MarcelPortmann 0:0c6d1b9144af 49 int time_long;
MarcelPortmann 0:0c6d1b9144af 50 int repet;
MarcelPortmann 0:0c6d1b9144af 51 int point_count;
MarcelPortmann 0:0c6d1b9144af 52 memory loading;
MarcelPortmann 0:0c6d1b9144af 53 string tr_name;
MarcelPortmann 0:0c6d1b9144af 54
MarcelPortmann 0:0c6d1b9144af 55
MarcelPortmann 0:0c6d1b9144af 56 };
MarcelPortmann 0:0c6d1b9144af 57
MarcelPortmann 0:0c6d1b9144af 58 #endif
MarcelPortmann 0:0c6d1b9144af 59
MarcelPortmann 0:0c6d1b9144af 60
MarcelPortmann 0:0c6d1b9144af 61
MarcelPortmann 0:0c6d1b9144af 62
MarcelPortmann 0:0c6d1b9144af 63