Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
training.cpp@0:0c6d1b9144af, 2020-04-28 (annotated)
- 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?
| User | Revision | Line number | New 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 | } |