mbed to Dynamixel servo communication.
Dependents: dynamixel_wheel_test
Diff: Dynamixel.h
- 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