a

Dependencies:   mbed mbed-rtos

Committer:
alexpirciu
Date:
Thu Mar 28 07:44:42 2019 +0000
Revision:
1:ceee5a608e7c
assa

Who changed what in which revision?

UserRevisionLine numberNew 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