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 Hear cold stand a discription
MarcelPortmann 0:0c6d1b9144af 3
MarcelPortmann 0:0c6d1b9144af 4
MarcelPortmann 0:0c6d1b9144af 5 */
MarcelPortmann 0:0c6d1b9144af 6
MarcelPortmann 0:0c6d1b9144af 7
MarcelPortmann 0:0c6d1b9144af 8 #include "training.h"
MarcelPortmann 0:0c6d1b9144af 9 //#include "math.h"
MarcelPortmann 0:0c6d1b9144af 10
MarcelPortmann 0:0c6d1b9144af 11 training::training()
MarcelPortmann 0:0c6d1b9144af 12 {
MarcelPortmann 0:0c6d1b9144af 13 fail_pos = 0;
MarcelPortmann 0:0c6d1b9144af 14 time_short = 0;
MarcelPortmann 0:0c6d1b9144af 15 time_long = 0;
MarcelPortmann 0:0c6d1b9144af 16
MarcelPortmann 0:0c6d1b9144af 17 }
MarcelPortmann 0:0c6d1b9144af 18
MarcelPortmann 0:0c6d1b9144af 19
MarcelPortmann 0:0c6d1b9144af 20 void training::load_training(string name)
MarcelPortmann 0:0c6d1b9144af 21 {
MarcelPortmann 0:0c6d1b9144af 22 tr_name = name;
MarcelPortmann 0:0c6d1b9144af 23 //loading.AuslesenPositionsdaten()
MarcelPortmann 0:0c6d1b9144af 24
MarcelPortmann 0:0c6d1b9144af 25 }
MarcelPortmann 0:0c6d1b9144af 26
MarcelPortmann 0:0c6d1b9144af 27 void training::start_training(void)
MarcelPortmann 0:0c6d1b9144af 28 {
MarcelPortmann 0:0c6d1b9144af 29 fail_pos = 0;
MarcelPortmann 0:0c6d1b9144af 30 time_short = 0;
MarcelPortmann 0:0c6d1b9144af 31 time_long = 0;
MarcelPortmann 0:0c6d1b9144af 32 point_count = 0;
MarcelPortmann 0:0c6d1b9144af 33 repet = 0;
MarcelPortmann 0:0c6d1b9144af 34
MarcelPortmann 0:0c6d1b9144af 35 }
MarcelPortmann 0:0c6d1b9144af 36
MarcelPortmann 0:0c6d1b9144af 37 void training::compire_point(float posx,float posy,float posz, int time)
MarcelPortmann 0:0c6d1b9144af 38 {
MarcelPortmann 0:0c6d1b9144af 39 float temp_pos[3] = {};
MarcelPortmann 0:0c6d1b9144af 40 float dist = 0, timediv = 0;
MarcelPortmann 0:0c6d1b9144af 41
MarcelPortmann 0:0c6d1b9144af 42 if(data_vec[point_count].start) { // counts the repetitions
MarcelPortmann 0:0c6d1b9144af 43 repet++;
MarcelPortmann 0:0c6d1b9144af 44
MarcelPortmann 0:0c6d1b9144af 45 }
MarcelPortmann 0:0c6d1b9144af 46
MarcelPortmann 0:0c6d1b9144af 47 temp_pos[0] = posx - data_vec[point_count].pos[0]; // calculates distance curent to needed
MarcelPortmann 0:0c6d1b9144af 48 temp_pos[1] = posx - data_vec[point_count].pos[1];
MarcelPortmann 0:0c6d1b9144af 49 temp_pos[2] = posx - data_vec[point_count].pos[2];
MarcelPortmann 0:0c6d1b9144af 50
MarcelPortmann 0:0c6d1b9144af 51 dist = sqrt(pow(temp_pos[0],2)+pow(temp_pos[1],2)+pow(temp_pos[2],2));
MarcelPortmann 0:0c6d1b9144af 52
MarcelPortmann 0:0c6d1b9144af 53 if(dist>= POSTOL) { // counts position fail
MarcelPortmann 0:0c6d1b9144af 54 fail_pos++;
MarcelPortmann 0:0c6d1b9144af 55 }
MarcelPortmann 0:0c6d1b9144af 56
MarcelPortmann 0:0c6d1b9144af 57 if(data_vec[point_count].end) { // counts time too short and time too long
MarcelPortmann 0:0c6d1b9144af 58 timediv = time - (data_vec[point_count].time);
MarcelPortmann 0:0c6d1b9144af 59 if(timediv>=TIMETOL) {
MarcelPortmann 0:0c6d1b9144af 60 time_long++;
MarcelPortmann 0:0c6d1b9144af 61 }
MarcelPortmann 0:0c6d1b9144af 62 if(timediv<=(-TIMETOL)) {
MarcelPortmann 0:0c6d1b9144af 63 time_short++;
MarcelPortmann 0:0c6d1b9144af 64 }
MarcelPortmann 0:0c6d1b9144af 65 }
MarcelPortmann 0:0c6d1b9144af 66
MarcelPortmann 0:0c6d1b9144af 67 point_count++;
MarcelPortmann 0:0c6d1b9144af 68
MarcelPortmann 0:0c6d1b9144af 69 if(point_count>= data_vec.size()){ // resets the piontecount after a complet cycle
MarcelPortmann 0:0c6d1b9144af 70 point_count = 0;
MarcelPortmann 0:0c6d1b9144af 71 }
MarcelPortmann 0:0c6d1b9144af 72
MarcelPortmann 0:0c6d1b9144af 73 }
MarcelPortmann 0:0c6d1b9144af 74
MarcelPortmann 0:0c6d1b9144af 75 void training::end_training(void)
MarcelPortmann 0:0c6d1b9144af 76 {
MarcelPortmann 0:0c6d1b9144af 77 // writhe status to memory / update memory
MarcelPortmann 0:0c6d1b9144af 78 }