mbed to Dynamixel servo communication.

Dependents:   dynamixel_wheel_test

Dynamixel.h

Committer:
dmgongora
Date:
2015-08-19
Revision:
0:fb8a2d249639
Child:
1:ce081666d225

File content as of revision 0:fb8a2d249639:

#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