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.
Encoder.h@3:cf7ae37c6930, 2021-03-07 (annotated)
- Committer:
- ryosukenanoda
- Date:
- Sun Mar 07 09:25:55 2021 +0000
- Revision:
- 3:cf7ae37c6930
- Parent:
- 1:c44f4aa7a45d
calculate total rotation
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| ryosukenanoda | 0:82c1b12a0041 | 1 | #include "mbed.h" |
| ryosukenanoda | 0:82c1b12a0041 | 2 | |
| ryosukenanoda | 0:82c1b12a0041 | 3 | #define PI 3.14159265359 |
| ryosukenanoda | 0:82c1b12a0041 | 4 | #define RESOLUTION_COUNT 16.0 |
| ryosukenanoda | 0:82c1b12a0041 | 5 | #define GEAR_RAITO 43.7 |
| ryosukenanoda | 0:82c1b12a0041 | 6 | |
| ryosukenanoda | 0:82c1b12a0041 | 7 | class Encoder { |
| ryosukenanoda | 0:82c1b12a0041 | 8 | public: |
| ryosukenanoda | 0:82c1b12a0041 | 9 | Encoder(PinName pin_A, PinName pin_B); |
| ryosukenanoda | 0:82c1b12a0041 | 10 | |
| ryosukenanoda | 0:82c1b12a0041 | 11 | float get_raito(); |
| ryosukenanoda | 3:cf7ae37c6930 | 12 | |
| ryosukenanoda | 3:cf7ae37c6930 | 13 | float get_rotation(); |
| ryosukenanoda | 0:82c1b12a0041 | 14 | |
| ryosukenanoda | 0:82c1b12a0041 | 15 | private: |
| ryosukenanoda | 0:82c1b12a0041 | 16 | Timer timer; |
| ryosukenanoda | 1:c44f4aa7a45d | 17 | |
| ryosukenanoda | 1:c44f4aa7a45d | 18 | Timeout stop_checker; |
| ryosukenanoda | 0:82c1b12a0041 | 19 | |
| ryosukenanoda | 0:82c1b12a0041 | 20 | int last_time; |
| ryosukenanoda | 0:82c1b12a0041 | 21 | |
| ryosukenanoda | 0:82c1b12a0041 | 22 | int max_time; |
| ryosukenanoda | 0:82c1b12a0041 | 23 | |
| ryosukenanoda | 3:cf7ae37c6930 | 24 | float to_raito; //TODO: rename |
| ryosukenanoda | 0:82c1b12a0041 | 25 | |
| ryosukenanoda | 0:82c1b12a0041 | 26 | float raito; |
| ryosukenanoda | 0:82c1b12a0041 | 27 | |
| ryosukenanoda | 3:cf7ae37c6930 | 28 | int total_count; |
| ryosukenanoda | 3:cf7ae37c6930 | 29 | |
| ryosukenanoda | 0:82c1b12a0041 | 30 | void did_rise(); |
| ryosukenanoda | 0:82c1b12a0041 | 31 | |
| ryosukenanoda | 0:82c1b12a0041 | 32 | void update_raito(int dt); //dt microsec |
| ryosukenanoda | 0:82c1b12a0041 | 33 | |
| ryosukenanoda | 0:82c1b12a0041 | 34 | float direction(); |
| ryosukenanoda | 1:c44f4aa7a45d | 35 | |
| ryosukenanoda | 1:c44f4aa7a45d | 36 | void check_stop(); |
| ryosukenanoda | 0:82c1b12a0041 | 37 | |
| ryosukenanoda | 0:82c1b12a0041 | 38 | protected: |
| ryosukenanoda | 0:82c1b12a0041 | 39 | InterruptIn _pin_A; |
| ryosukenanoda | 0:82c1b12a0041 | 40 | DigitalIn _pin_B; |
| ryosukenanoda | 0:82c1b12a0041 | 41 | }; |