Init
Dependents: JetflyerMotorController
Brake.h@1:4e486eec2359, 2017-07-13 (annotated)
- Committer:
- skrickl
- Date:
- Thu Jul 13 13:42:42 2017 +0000
- Revision:
- 1:4e486eec2359
bla
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
skrickl | 1:4e486eec2359 | 1 | #include "mbed.h" |
skrickl | 1:4e486eec2359 | 2 | #include "Controller.h" |
skrickl | 1:4e486eec2359 | 3 | |
skrickl | 1:4e486eec2359 | 4 | #ifndef BRAKE_H |
skrickl | 1:4e486eec2359 | 5 | #define BRAKE_H |
skrickl | 1:4e486eec2359 | 6 | |
skrickl | 1:4e486eec2359 | 7 | #define PIN_BUTTON_BRAKE p22 //or whatever |
skrickl | 1:4e486eec2359 | 8 | #define PIN_PWM_BRAKE p21 //or whatever |
skrickl | 1:4e486eec2359 | 9 | #define PIN_DIR_BRAKE p23 //or whatever |
skrickl | 1:4e486eec2359 | 10 | |
skrickl | 1:4e486eec2359 | 11 | #define CALIBRATION_FACTOR 200 // Steps per Rotation |
skrickl | 1:4e486eec2359 | 12 | |
skrickl | 1:4e486eec2359 | 13 | #define MAX_SPEED_BRAKE 3 // 3 rotations per second |
skrickl | 1:4e486eec2359 | 14 | #define MAX_ROTATIONS_FOR_BRAKEING 10.0 //still needs to |
skrickl | 1:4e486eec2359 | 15 | #define HYSTERESIS 5 |
skrickl | 1:4e486eec2359 | 16 | |
skrickl | 1:4e486eec2359 | 17 | class Brake |
skrickl | 1:4e486eec2359 | 18 | { |
skrickl | 1:4e486eec2359 | 19 | public: |
skrickl | 1:4e486eec2359 | 20 | |
skrickl | 1:4e486eec2359 | 21 | Brake(); |
skrickl | 1:4e486eec2359 | 22 | ~Brake(); |
skrickl | 1:4e486eec2359 | 23 | |
skrickl | 1:4e486eec2359 | 24 | void calibrateServo(); |
skrickl | 1:4e486eec2359 | 25 | bool getBrakeing(); |
skrickl | 1:4e486eec2359 | 26 | void brake(int percantage, int speed); |
skrickl | 1:4e486eec2359 | 27 | |
skrickl | 1:4e486eec2359 | 28 | private: |
skrickl | 1:4e486eec2359 | 29 | |
skrickl | 1:4e486eec2359 | 30 | int drive_homeposition(void); |
skrickl | 1:4e486eec2359 | 31 | int drive_brake(int _percentage, int _speed); |
skrickl | 1:4e486eec2359 | 32 | bool _brakeing; |
skrickl | 1:4e486eec2359 | 33 | DigitalIn _brakeButton; |
skrickl | 1:4e486eec2359 | 34 | PwmOut _pwm; |
skrickl | 1:4e486eec2359 | 35 | DigitalOut _dir; |
skrickl | 1:4e486eec2359 | 36 | float _percantage; |
skrickl | 1:4e486eec2359 | 37 | bool brake_switch; |
skrickl | 1:4e486eec2359 | 38 | int ref_time; |
skrickl | 1:4e486eec2359 | 39 | int cur_time; |
skrickl | 1:4e486eec2359 | 40 | int percentage_old; |
skrickl | 1:4e486eec2359 | 41 | int enable_drive; |
skrickl | 1:4e486eec2359 | 42 | int calculated_position; |
skrickl | 1:4e486eec2359 | 43 | int direction; |
skrickl | 1:4e486eec2359 | 44 | int diff_time; |
skrickl | 1:4e486eec2359 | 45 | int state_brakeButton_old; |
skrickl | 1:4e486eec2359 | 46 | |
skrickl | 1:4e486eec2359 | 47 | |
skrickl | 1:4e486eec2359 | 48 | Timer t1; |
skrickl | 1:4e486eec2359 | 49 | Timer t2; |
skrickl | 1:4e486eec2359 | 50 | }; |
skrickl | 1:4e486eec2359 | 51 | |
skrickl | 1:4e486eec2359 | 52 | #endif |