library for RC servo motor

Dependents:   yagi_Rotator_Ver2

Committer:
j_rocket_boy
Date:
Sun Mar 08 03:39:10 2020 +0000
Revision:
0:b46b05ed2f27
for Antenna rotator

Who changed what in which revision?

UserRevisionLine numberNew contents of line
j_rocket_boy 0:b46b05ed2f27 1 #ifndef SERVOMOTOR
j_rocket_boy 0:b46b05ed2f27 2 #define SERVOMOTOR
j_rocket_boy 0:b46b05ed2f27 3
j_rocket_boy 0:b46b05ed2f27 4 #include "mbed.h"
j_rocket_boy 0:b46b05ed2f27 5
j_rocket_boy 0:b46b05ed2f27 6 class SERVO_MOTOR{
j_rocket_boy 0:b46b05ed2f27 7
j_rocket_boy 0:b46b05ed2f27 8 public:
j_rocket_boy 0:b46b05ed2f27 9 SERVO_MOTOR(PinName pin,
j_rocket_boy 0:b46b05ed2f27 10 double angle0 = 0, double PulseWidth0 = 1200,
j_rocket_boy 0:b46b05ed2f27 11 double angle1 = 180, double PulseWidth1 = 1800);
j_rocket_boy 0:b46b05ed2f27 12 void move(double angle, bool sync = true);
j_rocket_boy 0:b46b05ed2f27 13 void go(double angle);
j_rocket_boy 0:b46b05ed2f27 14
j_rocket_boy 0:b46b05ed2f27 15 bool tick(void);
j_rocket_boy 0:b46b05ed2f27 16 void set_speed(double speed);
j_rocket_boy 0:b46b05ed2f27 17 double get_angle(void);
j_rocket_boy 0:b46b05ed2f27 18
j_rocket_boy 0:b46b05ed2f27 19 private:
j_rocket_boy 0:b46b05ed2f27 20 PwmOut _pwm;
j_rocket_boy 0:b46b05ed2f27 21 double _angle0;
j_rocket_boy 0:b46b05ed2f27 22 double _angle1;
j_rocket_boy 0:b46b05ed2f27 23 double _PulseWidth0_us;
j_rocket_boy 0:b46b05ed2f27 24 double _PulseWidth1_us;
j_rocket_boy 0:b46b05ed2f27 25 double _speed;
j_rocket_boy 0:b46b05ed2f27 26 double _angle_command;
j_rocket_boy 0:b46b05ed2f27 27 double _angle_now;
j_rocket_boy 0:b46b05ed2f27 28 double _time;
j_rocket_boy 0:b46b05ed2f27 29 Timer _timer;
j_rocket_boy 0:b46b05ed2f27 30
j_rocket_boy 0:b46b05ed2f27 31 };
j_rocket_boy 0:b46b05ed2f27 32
j_rocket_boy 0:b46b05ed2f27 33 #endif