Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of Nucleo_CaitSith_Firmware by
ExtendedServo.h@1:5f6dd444850a, 2014-09-20 (annotated)
- Committer:
- YosukeK
- Date:
- Sat Sep 20 07:04:09 2014 +0000
- Revision:
- 1:5f6dd444850a
- Child:
- 3:9ac9fdf1856e
Add ExtendedServo class.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
YosukeK | 1:5f6dd444850a | 1 | #ifndef __EXTENDEDSERVO_H__ |
YosukeK | 1:5f6dd444850a | 2 | #define __EXTENDEDSERVO_H__ |
YosukeK | 1:5f6dd444850a | 3 | |
YosukeK | 1:5f6dd444850a | 4 | #include "PwmServo.h" |
YosukeK | 1:5f6dd444850a | 5 | |
YosukeK | 1:5f6dd444850a | 6 | /* 拡張サーボクラス */ |
YosukeK | 1:5f6dd444850a | 7 | class ExtendedServo |
YosukeK | 1:5f6dd444850a | 8 | { |
YosukeK | 1:5f6dd444850a | 9 | public: |
YosukeK | 1:5f6dd444850a | 10 | //constructor |
YosukeK | 1:5f6dd444850a | 11 | ExtendedServo(PinName pin); |
YosukeK | 1:5f6dd444850a | 12 | ExtendedServo(PinName pin, int upperLimit , int lowerLimit); |
YosukeK | 1:5f6dd444850a | 13 | ExtendedServo(PinName pin, int upperLimitAngle ,int lowerLimitAngle, |
YosukeK | 1:5f6dd444850a | 14 | int offsetAngle, bool isReverse); |
YosukeK | 1:5f6dd444850a | 15 | //destructor |
YosukeK | 1:5f6dd444850a | 16 | ~ExtendedServo(); |
YosukeK | 1:5f6dd444850a | 17 | //setter,getter |
YosukeK | 1:5f6dd444850a | 18 | void setOffsetAngle(int angle); |
YosukeK | 1:5f6dd444850a | 19 | int getOffsetAngle(); |
YosukeK | 1:5f6dd444850a | 20 | void setDirection(bool isReverse); |
YosukeK | 1:5f6dd444850a | 21 | int getDirection(); |
YosukeK | 1:5f6dd444850a | 22 | void setUpperLimit(int angle); |
YosukeK | 1:5f6dd444850a | 23 | int getUpperLimit(); |
YosukeK | 1:5f6dd444850a | 24 | void setLowerLimit(int angle); |
YosukeK | 1:5f6dd444850a | 25 | int getLowerLimit(); |
YosukeK | 1:5f6dd444850a | 26 | //method |
YosukeK | 1:5f6dd444850a | 27 | int convertAngle(int angle); |
YosukeK | 1:5f6dd444850a | 28 | int reverseAngle(int angle, bool isReverse); |
YosukeK | 1:5f6dd444850a | 29 | int roundAngle(int angle, int upperLimit, int lowerLimit); |
YosukeK | 1:5f6dd444850a | 30 | void setAngle(int angle); |
YosukeK | 1:5f6dd444850a | 31 | void backToStartPoint(); |
YosukeK | 1:5f6dd444850a | 32 | |
YosukeK | 1:5f6dd444850a | 33 | private: |
YosukeK | 1:5f6dd444850a | 34 | PwmServo* mPwmServo; //サーボのインスタンス |
YosukeK | 1:5f6dd444850a | 35 | int mOffsetAngle; // |
YosukeK | 1:5f6dd444850a | 36 | bool mIsReverse; // |
YosukeK | 1:5f6dd444850a | 37 | int mUpperLimit;// |
YosukeK | 1:5f6dd444850a | 38 | int mLowerLimit;// |
YosukeK | 1:5f6dd444850a | 39 | }; |
YosukeK | 1:5f6dd444850a | 40 | |
YosukeK | 1:5f6dd444850a | 41 | #endif /* __EXTENDEDSERVO_H__ */ |