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@1:aa8497b98ef4, 2020-04-28 (annotated)
- Committer:
- MarcelPortmann
- Date:
- Tue Apr 28 14:00:18 2020 +0000
- Revision:
- 1:aa8497b98ef4
- Parent:
- 0:0c6d1b9144af
- Child:
- 2:0df0d0be0664
sdfv
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 | 1:aa8497b98ef4 | 22 | int i = 0; |
| MarcelPortmann | 0:0c6d1b9144af | 23 | tr_name = name; |
| MarcelPortmann | 1:aa8497b98ef4 | 24 | int sice = 50; |
| MarcelPortmann | 1:aa8497b98ef4 | 25 | //sice = loading.size(tr_name) |
| MarcelPortmann | 1:aa8497b98ef4 | 26 | |
| MarcelPortmann | 1:aa8497b98ef4 | 27 | for(i = 0; i<sice; i++) { // loads the whole trainings data into data vector |
| MarcelPortmann | 1:aa8497b98ef4 | 28 | loading.AuslesenPositionsdaten(tr_name,i); |
| MarcelPortmann | 1:aa8497b98ef4 | 29 | |
| MarcelPortmann | 1:aa8497b98ef4 | 30 | temp.time = loading.zahl[0]; |
| MarcelPortmann | 1:aa8497b98ef4 | 31 | temp.pos[0] = loading.zahl[1]; |
| MarcelPortmann | 1:aa8497b98ef4 | 32 | temp.pos[1] = loading.zahl[2]; |
| MarcelPortmann | 1:aa8497b98ef4 | 33 | temp.pos[2] = loading.zahl[3]; |
| MarcelPortmann | 1:aa8497b98ef4 | 34 | temp.start = loading.zahl[4]; // fragen wegen status eintrag |
| MarcelPortmann | 1:aa8497b98ef4 | 35 | temp.end = loading.zahl[5]; |
| MarcelPortmann | 1:aa8497b98ef4 | 36 | |
| MarcelPortmann | 1:aa8497b98ef4 | 37 | |
| MarcelPortmann | 1:aa8497b98ef4 | 38 | data_vec.push_back(temp); |
| MarcelPortmann | 1:aa8497b98ef4 | 39 | |
| MarcelPortmann | 1:aa8497b98ef4 | 40 | } |
| MarcelPortmann | 0:0c6d1b9144af | 41 | } |
| MarcelPortmann | 0:0c6d1b9144af | 42 | |
| MarcelPortmann | 0:0c6d1b9144af | 43 | void training::start_training(void) |
| MarcelPortmann | 0:0c6d1b9144af | 44 | { |
| MarcelPortmann | 0:0c6d1b9144af | 45 | fail_pos = 0; |
| MarcelPortmann | 0:0c6d1b9144af | 46 | time_short = 0; |
| MarcelPortmann | 0:0c6d1b9144af | 47 | time_long = 0; |
| MarcelPortmann | 0:0c6d1b9144af | 48 | point_count = 0; |
| MarcelPortmann | 0:0c6d1b9144af | 49 | repet = 0; |
| MarcelPortmann | 0:0c6d1b9144af | 50 | |
| MarcelPortmann | 0:0c6d1b9144af | 51 | } |
| MarcelPortmann | 0:0c6d1b9144af | 52 | |
| MarcelPortmann | 0:0c6d1b9144af | 53 | void training::compire_point(float posx,float posy,float posz, int time) |
| MarcelPortmann | 0:0c6d1b9144af | 54 | { |
| MarcelPortmann | 0:0c6d1b9144af | 55 | float temp_pos[3] = {}; |
| MarcelPortmann | 0:0c6d1b9144af | 56 | float dist = 0, timediv = 0; |
| MarcelPortmann | 0:0c6d1b9144af | 57 | |
| MarcelPortmann | 0:0c6d1b9144af | 58 | if(data_vec[point_count].start) { // counts the repetitions |
| MarcelPortmann | 0:0c6d1b9144af | 59 | repet++; |
| MarcelPortmann | 1:aa8497b98ef4 | 60 | |
| MarcelPortmann | 0:0c6d1b9144af | 61 | } |
| MarcelPortmann | 0:0c6d1b9144af | 62 | |
| MarcelPortmann | 0:0c6d1b9144af | 63 | temp_pos[0] = posx - data_vec[point_count].pos[0]; // calculates distance curent to needed |
| MarcelPortmann | 0:0c6d1b9144af | 64 | temp_pos[1] = posx - data_vec[point_count].pos[1]; |
| MarcelPortmann | 0:0c6d1b9144af | 65 | temp_pos[2] = posx - data_vec[point_count].pos[2]; |
| MarcelPortmann | 0:0c6d1b9144af | 66 | |
| MarcelPortmann | 0:0c6d1b9144af | 67 | dist = sqrt(pow(temp_pos[0],2)+pow(temp_pos[1],2)+pow(temp_pos[2],2)); |
| MarcelPortmann | 0:0c6d1b9144af | 68 | |
| MarcelPortmann | 0:0c6d1b9144af | 69 | if(dist>= POSTOL) { // counts position fail |
| MarcelPortmann | 0:0c6d1b9144af | 70 | fail_pos++; |
| MarcelPortmann | 0:0c6d1b9144af | 71 | } |
| MarcelPortmann | 0:0c6d1b9144af | 72 | |
| MarcelPortmann | 0:0c6d1b9144af | 73 | if(data_vec[point_count].end) { // counts time too short and time too long |
| MarcelPortmann | 0:0c6d1b9144af | 74 | timediv = time - (data_vec[point_count].time); |
| MarcelPortmann | 0:0c6d1b9144af | 75 | if(timediv>=TIMETOL) { |
| MarcelPortmann | 0:0c6d1b9144af | 76 | time_long++; |
| MarcelPortmann | 0:0c6d1b9144af | 77 | } |
| MarcelPortmann | 0:0c6d1b9144af | 78 | if(timediv<=(-TIMETOL)) { |
| MarcelPortmann | 0:0c6d1b9144af | 79 | time_short++; |
| MarcelPortmann | 0:0c6d1b9144af | 80 | } |
| MarcelPortmann | 0:0c6d1b9144af | 81 | } |
| MarcelPortmann | 1:aa8497b98ef4 | 82 | |
| MarcelPortmann | 0:0c6d1b9144af | 83 | point_count++; |
| MarcelPortmann | 1:aa8497b98ef4 | 84 | |
| MarcelPortmann | 1:aa8497b98ef4 | 85 | if(point_count>= data_vec.size()) { // resets the piontecount after a complet cycle |
| MarcelPortmann | 0:0c6d1b9144af | 86 | point_count = 0; |
| MarcelPortmann | 1:aa8497b98ef4 | 87 | } |
| MarcelPortmann | 0:0c6d1b9144af | 88 | |
| MarcelPortmann | 0:0c6d1b9144af | 89 | } |
| MarcelPortmann | 0:0c6d1b9144af | 90 | |
| MarcelPortmann | 0:0c6d1b9144af | 91 | void training::end_training(void) |
| MarcelPortmann | 0:0c6d1b9144af | 92 | { |
| MarcelPortmann | 0:0c6d1b9144af | 93 | // writhe status to memory / update memory |
| MarcelPortmann | 0:0c6d1b9144af | 94 | } |