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:
- 6:1d8357775b6d
- Parent:
- 5:0fd491357750
- Child:
- 7:18a57f597ec4
diff -r 0fd491357750 -r 1d8357775b6d Maestro.h --- a/Maestro.h Mon Jan 06 11:14:19 2014 +0000 +++ b/Maestro.h Mon Jan 06 13:16:37 2014 +0000 @@ -86,9 +86,9 @@ * @param target - target values (the pulse width to transmit in units of * quarter-microseconds) for each of the channels, in order by channel number */ - void setMultipleTargets(uint8_t count, uint8_t firstChannel, uint16_t* targets); - - void setServosAngles(uint8_t count, uint8_t firstChannel, int8_t* angles); + void setMultipleTargets(uint8_t firstChannel, uint8_t count, uint16_t* targets); + + void setServosAngles(uint8_t firstChannel, uint8_t count, int8_t* angles); /** * Limits the speed at which a servo channel's output value changes