|
@@ -35,12 +35,46 @@ namespace upm {
|
35
|
35
|
#define HIGH 1
|
36
|
36
|
#define LOW 0
|
37
|
37
|
|
|
38
|
+/**
|
|
39
|
+ * @brief Base class for other servo components
|
|
40
|
+ *
|
|
41
|
+ * PMOD pins for MAX44000PMB1 board
|
|
42
|
+ *
|
|
43
|
+ */
|
38
|
44
|
class Servo {
|
39
|
45
|
public:
|
|
46
|
+ /**
|
|
47
|
+ * Instanciates a servo object
|
|
48
|
+ *
|
|
49
|
+ * @param pin servo pin number
|
|
50
|
+ */
|
40
|
51
|
Servo (int pin);
|
|
52
|
+
|
|
53
|
+ /**
|
|
54
|
+ * Servo object destructor.
|
|
55
|
+ */
|
41
|
56
|
~Servo();
|
|
57
|
+
|
|
58
|
+ /**
|
|
59
|
+ * Set the of the servo engine.
|
|
60
|
+ *
|
|
61
|
+ * X = between (MIN_PULSE_WIDTH , MAX_PULSE_WIDTH)
|
|
62
|
+ *
|
|
63
|
+ * X usec
|
|
64
|
+ * _______
|
|
65
|
+ * |_______________________________________
|
|
66
|
+ * 20000 usec
|
|
67
|
+ *
|
|
68
|
+ * Max period can be only 7968750(nses) which is ~8(msec)
|
|
69
|
+ * so the servo will not work as expected.
|
|
70
|
+ *
|
|
71
|
+ * @param angle number between 0 and 180
|
|
72
|
+ */
|
42
|
73
|
maa_result_t setAngle (int angle);
|
43
|
74
|
|
|
75
|
+ /**
|
|
76
|
+ * Return name of the component
|
|
77
|
+ */
|
44
|
78
|
std::string name()
|
45
|
79
|
{
|
46
|
80
|
return m_name;
|