A library for a servo controlled pan tilt

Committer:
Cornelius Bezuidenhout
Date:
Sat Oct 21 22:26:13 2017 +0200
Revision:
1:880e551fa457
Parent:
0:624433cd59dd
Initial version

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Cornelius Bezuidenhout 1:880e551fa457 1 #include "PanTilt.hpp"
Cornelius Bezuidenhout 1:880e551fa457 2
Cornelius Bezuidenhout 1:880e551fa457 3 PanTilt::PanTilt(PinName panPin, PinName tiltName) :
Cornelius Bezuidenhout 1:880e551fa457 4 _panServo(panPin),
Cornelius Bezuidenhout 1:880e551fa457 5 _tiltServo(tiltPin)
Cornelius Bezuidenhout 1:880e551fa457 6 {
Cornelius Bezuidenhout 1:880e551fa457 7
Cornelius Bezuidenhout 1:880e551fa457 8 }
Cornelius Bezuidenhout 1:880e551fa457 9
Cornelius Bezuidenhout 1:880e551fa457 10 void PanTilt::Set(float pan, float tilt) {
Cornelius Bezuidenhout 1:880e551fa457 11 _panServo.Set(pan);
Cornelius Bezuidenhout 1:880e551fa457 12 _tiltServo.Set(tilt);
Cornelius Bezuidenhout 1:880e551fa457 13 }
Cornelius Bezuidenhout 1:880e551fa457 14 void PanTilt::SetPan(float pan) { Set(pan, 0.0f); }
Cornelius Bezuidenhout 1:880e551fa457 15 void PanTilt::SetTilt(float tilt) { _panServo.Set(0.0f, tilt); }
Cornelius Bezuidenhout 1:880e551fa457 16
Cornelius Bezuidenhout 1:880e551fa457 17 void PanTilt::Move(float pan, float tilt) {
Cornelius Bezuidenhout 1:880e551fa457 18 _panServo.Move(pan);
Cornelius Bezuidenhout 1:880e551fa457 19 _tiltServo.Move(tilt);
Cornelius Bezuidenhout 1:880e551fa457 20 }
Cornelius Bezuidenhout 1:880e551fa457 21 void PanTilt::MovePan(float pan) { Move(pan, 0.0f); }
Cornelius Bezuidenhout 1:880e551fa457 22 void PanTilt::MoveTilt(float tilt) { Move(0.0f, tilt); }
Cornelius Bezuidenhout 1:880e551fa457 23
Cornelius Bezuidenhout 1:880e551fa457 24 float PanTilt::GetPan() { return _panServo.GetAngle(); }
Cornelius Bezuidenhout 1:880e551fa457 25 float PanTilt::GetTilt() { return _titlServo.GetAngle(); }
Cornelius Bezuidenhout 1:880e551fa457 26
Cornelius Bezuidenhout 1:880e551fa457 27 void PanTilt:Off() {
Cornelius Bezuidenhout 1:880e551fa457 28 _panServo.Off();
Cornelius Bezuidenhout 1:880e551fa457 29 _tiltServo.Off();
Cornelius Bezuidenhout 1:880e551fa457 30 }
Cornelius Bezuidenhout 1:880e551fa457 31 void PanTilt::PanOff() { _panServo.Off(); }
Cornelius Bezuidenhout 1:880e551fa457 32 void PanTilt::TiltOff() { _tiltServo.Off(); }
Cornelius Bezuidenhout 1:880e551fa457 33
Cornelius Bezuidenhout 1:880e551fa457 34 void PanTilt::SetZero(float panZero, float tiltZero) {
Cornelius Bezuidenhout 1:880e551fa457 35 _panServo.SetZero(panZero);
Cornelius Bezuidenhout 1:880e551fa457 36 _tiltServo.SetZero(tiltZero);
Cornelius Bezuidenhout 1:880e551fa457 37 }
Cornelius Bezuidenhout 1:880e551fa457 38 void PanTilt::SetPanZero(float panZero) { SetZero(panZero, 0.0f); }
Cornelius Bezuidenhout 1:880e551fa457 39 void PanTilt::SetTiltZero(float tiltZero) { SetZero( 0.0f, tiltZero); }
Cornelius Bezuidenhout 1:880e551fa457 40
Cornelius Bezuidenhout 1:880e551fa457 41 void PanTilt::SetMin(float panMin, float tiltMin) {
Cornelius Bezuidenhout 1:880e551fa457 42 _panServo.SetMin(panMin);
Cornelius Bezuidenhout 1:880e551fa457 43 _tiltServo.SetMin(tiltMin);
Cornelius Bezuidenhout 1:880e551fa457 44 }
Cornelius Bezuidenhout 1:880e551fa457 45 void PanTilt::SetPanMin(float panMin) { SetMin(panMin, 0.0f); }
Cornelius Bezuidenhout 1:880e551fa457 46 void PanTilt::SetTiltMin(float tiltMin) { SetMin(0.0f, tiltMin); }
Cornelius Bezuidenhout 1:880e551fa457 47
Cornelius Bezuidenhout 1:880e551fa457 48 float PanTilt::GetPanMin() { return _panServo.GetMin(); }
Cornelius Bezuidenhout 1:880e551fa457 49 float PanTilt::GetTiltMin() { return _tiltServo.GetMin(); }
Cornelius Bezuidenhout 1:880e551fa457 50
Cornelius Bezuidenhout 1:880e551fa457 51 float PanTilt::GetPanMax() { return _panServo.GetMax(); }
Cornelius Bezuidenhout 1:880e551fa457 52 float PanTilt::GetTiltMax() { return _tiltServo.GetMax(); }