mbed to Dynamixel servo communication.

Dependents:   dynamixel_wheel_test

Revision:
0:fb8a2d249639
Child:
1:ce081666d225
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Dynamixel.h	Wed Aug 19 05:39:57 2015 +0000
@@ -0,0 +1,33 @@
+#ifndef DEF_DYNAMIXEL
+#define DEF_DYNAMIXEL
+
+#include "mbed.h"
+// Instruction set
+const unsigned char PING = 0x01;
+const unsigned char READ_DATA = 0x02;
+const unsigned char WRITE_DATA = 0x03;
+const unsigned char REG_WRITE = 0x04;
+const unsigned char ACTION = 0x05;
+const unsigned char RESET = 0x06;
+const unsigned char SYNC_WRITE = 0x83;
+// Control table
+const unsigned char ADDRESS_PRESENT_TEMPERATURE = 0x2B;
+const unsigned char ADDRESS_GOAL_POSITION = 0x1E;
+const unsigned char ADDRESS_LED = 0x19;
+const unsigned char ADDRESS_MOVING_SPEED = 0x20;
+
+class Dynamixel
+{
+public:
+    Dynamixel(PinName tx, PinName rx, PinName txEnable, uint8_t motorID, int baudrate);
+    void ping();
+    void toggleLED(uint8_t ledState);
+    void move(uint16_t position);
+    void setSpeed(uint16_t speed);
+private:
+    Serial m_link;
+    DigitalOut m_txEnable;
+    uint8_t m_motorID;
+    const int m_baudrate;
+};
+#endif
\ No newline at end of file