A library for a servo controlled pan tilt
PanTilt.cpp@1:880e551fa457, 2017-10-21 (annotated)
- 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?
User | Revision | Line number | New 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(); } |