Alex Pirciu
/
BFMC
a
include/Drivers/servo.hpp@1:ceee5a608e7c, 2019-03-28 (annotated)
- Committer:
- alexpirciu
- Date:
- Thu Mar 28 07:44:42 2019 +0000
- Revision:
- 1:ceee5a608e7c
assa
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
alexpirciu | 1:ceee5a608e7c | 1 | /** |
alexpirciu | 1:ceee5a608e7c | 2 | ****************************************************************************** |
alexpirciu | 1:ceee5a608e7c | 3 | * @file SERVO.hpp |
alexpirciu | 1:ceee5a608e7c | 4 | * @author RBRO/PJ-IU |
alexpirciu | 1:ceee5a608e7c | 5 | * @version V1.0.0 |
alexpirciu | 1:ceee5a608e7c | 6 | * @date day-month-2017 |
alexpirciu | 1:ceee5a608e7c | 7 | * @brief This file contains the class declaration for the steering SERVO |
alexpirciu | 1:ceee5a608e7c | 8 | * functionality. |
alexpirciu | 1:ceee5a608e7c | 9 | ****************************************************************************** |
alexpirciu | 1:ceee5a608e7c | 10 | */ |
alexpirciu | 1:ceee5a608e7c | 11 | |
alexpirciu | 1:ceee5a608e7c | 12 | /* Include guard */ |
alexpirciu | 1:ceee5a608e7c | 13 | #ifndef SERVO_HPP |
alexpirciu | 1:ceee5a608e7c | 14 | #define SERVO_HPP |
alexpirciu | 1:ceee5a608e7c | 15 | |
alexpirciu | 1:ceee5a608e7c | 16 | #include <mbed.h> |
alexpirciu | 1:ceee5a608e7c | 17 | |
alexpirciu | 1:ceee5a608e7c | 18 | |
alexpirciu | 1:ceee5a608e7c | 19 | namespace drivers{ |
alexpirciu | 1:ceee5a608e7c | 20 | /** |
alexpirciu | 1:ceee5a608e7c | 21 | * @brief It is used for implementing SERVO functionality. |
alexpirciu | 1:ceee5a608e7c | 22 | * |
alexpirciu | 1:ceee5a608e7c | 23 | */ |
alexpirciu | 1:ceee5a608e7c | 24 | class SERVO |
alexpirciu | 1:ceee5a608e7c | 25 | { |
alexpirciu | 1:ceee5a608e7c | 26 | public: |
alexpirciu | 1:ceee5a608e7c | 27 | /* Constructor */ |
alexpirciu | 1:ceee5a608e7c | 28 | SERVO(PinName _pwm); |
alexpirciu | 1:ceee5a608e7c | 29 | /* Destructor */ |
alexpirciu | 1:ceee5a608e7c | 30 | ~SERVO(); |
alexpirciu | 1:ceee5a608e7c | 31 | /* Set angle */ |
alexpirciu | 1:ceee5a608e7c | 32 | void SetAngle(float angle); //-25 to 25 degr |
alexpirciu | 1:ceee5a608e7c | 33 | private: |
alexpirciu | 1:ceee5a608e7c | 34 | /* convert angle to duty cycle */ |
alexpirciu | 1:ceee5a608e7c | 35 | float conversion(float angle); //angle to duty cycle |
alexpirciu | 1:ceee5a608e7c | 36 | /* PWM value */ |
alexpirciu | 1:ceee5a608e7c | 37 | PwmOut pwm; |
alexpirciu | 1:ceee5a608e7c | 38 | /* Current angle */ |
alexpirciu | 1:ceee5a608e7c | 39 | float current_angle; |
alexpirciu | 1:ceee5a608e7c | 40 | }; |
alexpirciu | 1:ceee5a608e7c | 41 | }; // namespace drivers |
alexpirciu | 1:ceee5a608e7c | 42 | |
alexpirciu | 1:ceee5a608e7c | 43 | |
alexpirciu | 1:ceee5a608e7c | 44 | #endif |