Low level API

Instructions Packets

Abstract class (InstructionPacket)

For details about instructions, see Robotis’ documentation for protocol 1 and protocol 2.

template <class Protocol>
class dynamixel::InstructionPacket

Abstract class for instructions

See
Robotis’ documentation for protocol1 and protocol2

Public Functions

InstructionPacket(typename Protocol::id_t id, typename Protocol::instr_t instr, const std::vector<uint8_t> &parameters)
InstructionPacket(typename Protocol::id_t id, typename Protocol::instr_t instr)
size_t size() const
uint8_t operator[](size_t pos) const
const uint8_t *data() const

Instructions

group instructions
template <class T>
class Action
#include <dynamixel/instructions/action.hpp>

Inherits from dynamixel::InstructionPacket< T >

template <class T>
class FactoryReset
#include <dynamixel/instructions/factory_reset.hpp>

Inherits from dynamixel::InstructionPacket< T >

template <class T>
class Ping
#include <dynamixel/instructions/ping.hpp>

Inherits from dynamixel::InstructionPacket< T >

template <class T>
class Read
#include <dynamixel/instructions/read.hpp>

Inherits from dynamixel::InstructionPacket< T >

template <class T>
class Reboot
#include <dynamixel/instructions/reboot.hpp>

Inherits from dynamixel::InstructionPacket< T >

template <class T>
class RegWrite
#include <dynamixel/instructions/reg_write.hpp>

Inherits from dynamixel::InstructionPacket< T >

template <class T>
class SyncWrite
#include <dynamixel/instructions/sync_write.hpp>

Inherits from dynamixel::InstructionPacket< T >

template <class T>
class Write
#include <dynamixel/instructions/write.hpp>

Inherits from dynamixel::InstructionPacket< T >

Status packets (StatusPacket)

template <class Protocol>
class dynamixel::StatusPacket

This class represents packets that are received on the bus.

See
Protocol1: http://support.robotis.com/en/product/actuator/dynamixel/communication/dxl_packet.htm#Status_Packet
See
Protocol2: http://support.robotis.com/en/product/actuator/dynamixel_pro/communication/instruction_status_packet.htm

Public Types

typedef using dynamixel::StatusPacket< Protocol >::DecodeState = typename Protocol::DecodeState

Public Functions

StatusPacket()
bool valid() const
Protocol::id_t id() const
const std::vector<uint8_t> &parameters() const
DecodeState decode_packet(const std::vector<uint8_t> &packet, bool report_bad_packet = false)
std::ostream &print(std::ostream &os) const

Errors

Abstract class (Error)

All errors derive from dynamixel::error::Error:

class dynamixel::errors::Error

Abstract class for dynamixel errors

Subclassed by dynamixel::errors::BadPacket, dynamixel::errors::CrcError, dynamixel::errors::ServoLimitError, dynamixel::errors::StatusError, dynamixel::errors::UnpackError

Public Functions

Error()
Error(const char *msg)
Error(const std::string &msg)
const std::string &msg() const
virtual std::ostream &print(std::ostream &os) const

Error classes

group errors
class CrcError
#include <dynamixel/errors/crc_error.hpp>

Triggered when the expected checksum and the received checksum do not match.

Inherits from dynamixel::errors::Error

class ServoLimitError
#include <dynamixel/errors/servo_limit_error.hpp>

Inherits from dynamixel::errors::Error

class StatusError
#include <dynamixel/errors/status_error.hpp>

Inherits from dynamixel::errors::Error

class UnpackError
#include <dynamixel/errors/unpack_error.hpp>

Inherits from dynamixel::errors::Error