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.h@7:e74e7496ac8c, 2020-05-27 (annotated)
- Committer:
- MarcelPortmann
- Date:
- Wed May 27 19:19:24 2020 +0000
- Revision:
- 7:e74e7496ac8c
- Parent:
- 4:4e871024310a
Who changed what in which revision?
| User | Revision | Line number | New 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 |