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:
Diff: Maestro.h
- Revision:
- 3:1c654893354d
- Parent:
- 2:39356b408262
- Child:
- 4:ef4d23c023ea
--- a/Maestro.h Sun Jan 05 10:52:17 2014 +0000 +++ b/Maestro.h Sun Jan 05 16:46:14 2014 +0000 @@ -15,16 +15,16 @@ /** * Compact Protocol Command Bytes */ -#define SET_TARGET 0x84; -#define SER_MULTUPLE_TARGETS 0x9F; -#define SET_SPEED 0x87; -#define SET_ACCELERATION 0x89; -#define SET_PWM 0x8A; -#define GET_POSITION 0x90; -#define GET_MOVING_STATE 0x93; -#define GET_ERRORS 0xA1; -#define GO_HOME 0xA2; -#define BAUD_RATE_IDICATION 0xAA; +#define SET_TARGET 0x84 +#define SER_MULTUPLE_TARGETS 0x9F +#define SET_SPEED 0x87 +#define SET_ACCELERATION 0x89 +#define SET_PWM 0x8A +#define GET_POSITION 0x90 +#define GET_MOVING_STATE 0x93 +#define GET_ERRORS 0xA1 +#define GO_HOME 0xA2 +#define BAUD_RATE_IDICATION 0xAA /** * Pololu Maestro Servo Controller @@ -42,13 +42,15 @@ */ Maestro(PinName tx, PinName rx); + void init(); + /** * Sets the target of a channel to a specified value * * @param channel - number a servo channel * @param target - the pulse width to transmit in units of quarter-microseconds */ - void setTarget(int channel, int target); + void setTarget(uint8_t channel, uint16_t target); //void setMultipleTargets(int* channels, int* targets); @@ -71,6 +73,7 @@ private: Serial serial; + Serial pc; }; #endif // Maestro \ No newline at end of file