Library for Pololu Maestro Servo Controller http://www.pololu.com/docs/0J40

Library for Pololu Maestro Servo Controller

Library docs: https://developer.mbed.org/users/kochansky/code/Maestro/docs/f374c7b60318/classMaestro.html

Example usage:

#include "mbed.h"
#include "Maestro.h"

Maestro maestro(PTC4,PTC3);

int main()
{
    maestro.setBaudRate(9600);

    // limit speed for each servo
    for (uint8_t i = 0; i < 17; i++) {
        maestro.setSpeed(i, 10);
    }

    while (true) {
       // set servo on channel 0 to 90 degrees
       maestro.setServoAngle(0, 90);
       wait(2);

        // set servo on channel 0 to 45 degrees
       maestro.setServoAngle(0, 45);
       wait(2);
    }
}

Serial commands based on manual: http://www.pololu.com/docs/0J40/5.e

Device pinout:

/media/uploads/kochansky/maestro.jpg

Revision:
1:c14b79e3f39b
Parent:
0:5c8cc5bd6403
Child:
2:39356b408262
diff -r 5c8cc5bd6403 -r c14b79e3f39b Maestro.h
--- a/Maestro.h	Sat Jan 04 14:47:41 2014 +0000
+++ b/Maestro.h	Sun Jan 05 10:40:26 2014 +0000
@@ -24,6 +24,7 @@
 #define GET_MOVING_STATE 0x93;
 #define GET_ERRORS 0xA1;
 #define GO_HOME 0xA2;
+#define BAUD_RATE_IDICATION 0xAA;
 
 /**
  * Pololu Maestro Servo Controller
@@ -31,7 +32,7 @@
 class Maestro
 {
 
-Public:
+public:
 
     /**
      * Constructor
@@ -66,6 +67,10 @@
      * @param acceleration - acceleration of the servo in units of (0.25 μs) / (10 ms) / (80 ms)
      */
     void setAcceleration(int channel, int acceleration);
-}
+
+private:
+
+    Serial serial;
+};
 
 #endif // Maestro
\ No newline at end of file