Fawkes API  Fawkes Development Version
DynamixelChain Class Reference

Class to access a chain of Robotis dynamixel servos. More...

#include "servo_chain.h"

Public Types

typedef std::list< unsigned char > DeviceList
 List of servo IDs. More...
 

Public Member Functions

 DynamixelChain (const char *device_file, unsigned int default_timeout_ms=30, bool enable_echo_fix=false, bool enable_connection_stability=false, float min_voltage=12.0, float max_voltage=16.0)
 Constructor. More...
 
 ~DynamixelChain ()
 Destructor. More...
 
void open ()
 Open serial port. More...
 
void close ()
 Close port. More...
 
bool ping (unsigned char id, unsigned int timeout_ms=100)
 Ping servo. More...
 
DeviceList discover (unsigned int total_timeout_ms=50, const std::vector< unsigned int > servos=std::vector< unsigned int >())
 Discover devices on the bus. More...
 
void write_table_value (unsigned char id, unsigned char addr, unsigned int value, bool double_byte=false)
 Write a table value. More...
 
void write_table_values (unsigned char id, unsigned char start_addr, unsigned char *values, unsigned int num_values)
 Write multiple table values. More...
 
void read_table_values (unsigned char id)
 Read all table values for given servo. More...
 
void read_table_value (unsigned char id, unsigned char addr, unsigned char read_length)
 Read a table value. More...
 
void start_read_table_values (unsigned char id)
 Start to receive table values. More...
 
void finish_read_table_values ()
 Finish control table receive operations. More...
 
void goto_position (unsigned char id, unsigned int value)
 Move servo to specified position. More...
 
void goto_positions (unsigned int num_positions,...)
 Move several servos to specified positions. More...
 
const char * get_model (unsigned char id, bool refresh=false)
 Get model string. More...
 
unsigned int get_model_number (unsigned char id, bool refresh=false)
 Get model. More...
 
unsigned int get_position (unsigned char id, bool refresh=false)
 Get current position. More...
 
unsigned char get_firmware_version (unsigned char id, bool refresh=false)
 Get firmware version. More...
 
unsigned char get_baudrate (unsigned char id, bool refresh=false)
 Get baud rate. More...
 
unsigned char get_delay_time (unsigned char id, bool refresh=false)
 Get time of the delay before replies are sent. More...
 
unsigned char get_error (unsigned char id)
 Get error flags set by the servo. More...
 
void get_angle_limits (unsigned char id, unsigned int &cw_limit, unsigned int &ccw_limit, bool refresh=false)
 Get angle limits. More...
 
unsigned char get_temperature_limit (unsigned char id, bool refresh=false)
 Get temperature limit. More...
 
void get_voltage_limits (unsigned char id, unsigned char &low, unsigned char &high, bool refresh=false)
 Get voltage limits. More...
 
unsigned int get_max_torque (unsigned char id, bool refresh=false)
 Get maximum torque. More...
 
unsigned char get_status_return_level (unsigned char id, bool refresh=false)
 Get status return level. More...
 
unsigned char get_alarm_led (unsigned char id, bool refresh=false)
 Get alarm LED status. More...
 
unsigned char get_alarm_shutdown (unsigned char id, bool refresh=false)
 Get shutdown on alarm state. More...
 
void get_calibration (unsigned char id, unsigned int &down_calib, unsigned int &up_calib, bool refresh=false)
 Get calibration data. More...
 
bool is_torque_enabled (unsigned char id, bool refresh=false)
 Check if torque is enabled. More...
 
bool is_led_enabled (unsigned char id, bool refresh=false)
 Check if LED is enabled. More...
 
void get_compliance_values (unsigned char id, unsigned char &cw_margin, unsigned char &cw_slope, unsigned char &ccw_margin, unsigned char &ccw_slope, bool refresh=false)
 Get compliance values. More...
 
unsigned int get_goal_position (unsigned char id, bool refresh=false)
 Get goal position. More...
 
unsigned int get_goal_speed (unsigned char id, bool refresh=false)
 Get goal speed. More...
 
float get_max_supported_speed (unsigned char id, bool refresh=false)
 Get maximum supported speed. More...
 
unsigned int get_torque_limit (unsigned char id, bool refresh=false)
 Get torque limit. More...
 
unsigned int get_speed (unsigned char id, bool refresh=false)
 Get current speed. More...
 
unsigned int get_load (unsigned char id, bool refresh=false)
 Get current load. More...
 
unsigned char get_voltage (unsigned char id, bool refresh=false)
 Get current voltage. More...
 
unsigned char get_temperature (unsigned char id, bool refresh=false)
 Get temperature. More...
 
bool is_moving (unsigned char id, bool refresh=false)
 Check if servo is moving. More...
 
bool is_locked (unsigned char id, bool refresh=false)
 Check is servo is locked. More...
 
unsigned int get_punch (unsigned char id, bool refresh=false)
 Get punch. More...
 
void set_id (unsigned char id, unsigned char new_id)
 Set ID. More...
 
void set_baudrate (unsigned char id, unsigned char baudrate)
 Set baud rate. More...
 
void set_return_delay_time (unsigned char id, unsigned char return_delay_time)
 Set return delay time. More...
 
void set_angle_limits (unsigned char id, unsigned int cw_limit, unsigned int ccw_limit)
 Set angle limits. More...
 
void set_temperature_limit (unsigned char id, unsigned char temp_limit)
 Set temperature limit. More...
 
void set_voltage_limits (unsigned char id, unsigned char low, unsigned char high)
 Set voltage limits. More...
 
void set_max_torque (unsigned char id, unsigned int max_torque)
 Set maximum torque. More...
 
void set_status_return_level (unsigned char id, unsigned char status_return_level)
 Set status return level. More...
 
void set_alarm_led (unsigned char id, unsigned char alarm_led)
 Set alarm LED settings. More...
 
void set_alarm_shutdown (unsigned char id, unsigned char alarm_shutdown)
 Set shutdown on alarm. More...
 
void set_torque_enabled (unsigned char id, bool enabled)
 Enable or disable torque. More...
 
void set_torques_enabled (bool enabled, unsigned char num_servos,...)
 Enable or disable torque for multiple (selected) servos at once. More...
 
void set_led_enabled (unsigned char id, bool enabled)
 Turn LED on or off. More...
 
void set_compliance_values (unsigned char id, unsigned char cw_margin, unsigned char cw_slope, unsigned char ccw_margin, unsigned char ccw_slope)
 Set compliance values. More...
 
void set_goal_speed (unsigned char id, unsigned int goal_speed)
 Set goal speed. More...
 
void set_goal_speeds (unsigned int num_servos,...)
 Set goal speeds for multiple servos. More...
 
void set_torque_limit (unsigned char id, unsigned int torque_limit)
 Set torque limit. More...
 
void lock_config (unsigned char id)
 Lock config. More...
 
void set_punch (unsigned char id, unsigned int punch)
 Set punch. More...
 
bool data_available ()
 Check data availability. More...
 

Static Public Attributes

static const unsigned char SRL_RESPOND_NONE = 0
 SRL_RESPOND_NONE. More...
 
static const unsigned char SRL_RESPOND_READ = 1
 SRL_RESPOND_READ. More...
 
static const unsigned char SRL_RESPOND_ALL = 2
 SRL_RESPOND_ALL. More...
 
static const unsigned char BROADCAST_ID = 0xfe
 BROADCAST_ID. More...
 
static const unsigned int MAX_POSITION = 0x3ff
 MAX_POSITION. More...
 
static const unsigned int CENTER_POSITION = 0x1ff
 CENTER_POSITION. More...
 
static const float MAX_ANGLE_DEG = 300
 MAX_ANGLE_DEG. More...
 
static const float MAX_ANGLE_RAD = fawkes::deg2rad(DynamixelChain::MAX_ANGLE_DEG)
 MAX_ANGLE_RAD. More...
 
static const float RAD_PER_POS_TICK = DynamixelChain::MAX_ANGLE_RAD / (float)(DynamixelChain::MAX_POSITION)
 RAD_PER_POS_TICK. More...
 
static const float POS_TICKS_PER_RAD = (float)(DynamixelChain::MAX_POSITION) / DynamixelChain::MAX_ANGLE_RAD
 POS_TICKS_PER_RAD. More...
 
static const float SEC_PER_60DEG_12V = 0.167
 SEC_PER_60DEG_12V. More...
 
static const float SEC_PER_60DEG_16V = 0.126
 SEC_PER_60DEG_16V. More...
 
static const unsigned int MAX_SPEED = 0x7ff
 MAX_SPEED. More...
 
static const unsigned char P_MODEL_NUMBER_L = 0
 P_MODEL_NUMBER_L. More...
 
static const unsigned char P_MODEL_NUMBER_H = 1
 P_MODEL_NUMBER_H. More...
 
static const unsigned char P_VERSION = 2
 P_VERSION. More...
 
static const unsigned char P_ID = 3
 P_ID. More...
 
static const unsigned char P_BAUD_RATE = 4
 P_BAUD_RATE. More...
 
static const unsigned char P_RETURN_DELAY_TIME = 5
 P_RETURN_DELAY_TIME. More...
 
static const unsigned char P_CW_ANGLE_LIMIT_L = 6
 P_CW_ANGLE_LIMIT_L. More...
 
static const unsigned char P_CW_ANGLE_LIMIT_H = 7
 P_CW_ANGLE_LIMIT_H. More...
 
static const unsigned char P_CCW_ANGLE_LIMIT_L = 8
 P_CCW_ANGLE_LIMIT_L. More...
 
static const unsigned char P_CCW_ANGLE_LIMIT_H = 9
 P_CCW_ANGLE_LIMIT_H. More...
 
static const unsigned char P_SYSTEM_DATA2 = 10
 P_SYSTEM_DATA2. More...
 
static const unsigned char P_LIMIT_TEMPERATURE = 11
 P_LIMIT_TEMPERATURE. More...
 
static const unsigned char P_DOWN_LIMIT_VOLTAGE = 12
 P_DOWN_LIMIT_VOLTAGE. More...
 
static const unsigned char P_UP_LIMIT_VOLTAGE = 13
 P_UP_LIMIT_VOLTAGE. More...
 
static const unsigned char P_MAX_TORQUE_L = 14
 P_MAX_TORQUE_L. More...
 
static const unsigned char P_MAX_TORQUE_H = 15
 P_MAX_TORQUE_H. More...
 
static const unsigned char P_RETURN_LEVEL = 16
 P_RETURN_LEVEL. More...
 
static const unsigned char P_ALARM_LED = 17
 P_ALARM_LED. More...
 
static const unsigned char P_ALARM_SHUTDOWN = 18
 P_ALARM_SHUTDOWN. More...
 
static const unsigned char P_OPERATING_MODE = 19
 P_OPERATING_MODE. More...
 
static const unsigned char P_DOWN_CALIBRATION_L = 20
 P_DOWN_CALIBRATION_L. More...
 
static const unsigned char P_DOWN_CALIBRATION_H = 21
 P_DOWN_CALIBRATION_H. More...
 
static const unsigned char P_UP_CALIBRATION_L = 22
 P_UP_CALIBRATION_L. More...
 
static const unsigned char P_UP_CALIBRATION_H = 23
 P_UP_CALIBRATION_H. More...
 
static const unsigned char P_TORQUE_ENABLE = 24
 P_TORQUE_ENABLE. More...
 
static const unsigned char P_LED = 25
 P_LED. More...
 
static const unsigned char P_CW_COMPLIANCE_MARGIN = 26
 P_CW_COMPLIANCE_MARGIN. More...
 
static const unsigned char P_CCW_COMPLIANCE_MARGIN = 27
 P_CCW_COMPLIANCE_MARGIN. More...
 
static const unsigned char P_CW_COMPLIANCE_SLOPE = 28
 P_CW_COMPLIANCE_SLOPE. More...
 
static const unsigned char P_CCW_COMPLIANCE_SLOPE = 29
 P_CCW_COMPLIANCE_SLOPE. More...
 
static const unsigned char P_GOAL_POSITION_L = 30
 P_GOAL_POSITION_L. More...
 
static const unsigned char P_GOAL_POSITION_H = 31
 P_GOAL_POSITION_H. More...
 
static const unsigned char P_GOAL_SPEED_L = 32
 P_GOAL_SPEED_L. More...
 
static const unsigned char P_GOAL_SPEED_H = 33
 P_GOAL_SPEED_H. More...
 
static const unsigned char P_TORQUE_LIMIT_L = 34
 P_TORQUE_LIMIT_L. More...
 
static const unsigned char P_TORQUE_LIMIT_H = 35
 P_TORQUE_LIMIT_H. More...
 
static const unsigned char P_PRESENT_POSITION_L = 36
 P_PRESENT_POSITION_L. More...
 
static const unsigned char P_PRESENT_POSITION_H = 37
 P_PRESENT_POSITION_H. More...
 
static const unsigned char P_PRESENT_SPEED_L = 38
 P_PRESENT_SPEED_L. More...
 
static const unsigned char P_PRESENT_SPEED_H = 39
 P_PRESENT_SPEED_H. More...
 
static const unsigned char P_PRESENT_LOAD_L = 40
 P_PRESENT_LOAD_L. More...
 
static const unsigned char P_PRESENT_LOAD_H = 41
 P_PRESENT_LOAD_H. More...
 
static const unsigned char P_PRESENT_VOLTAGE = 42
 P_PRESENT_VOLTAGE. More...
 
static const unsigned char P_PRESENT_TEMPERATURE = 43
 P_PRESENT_TEMPERATURE. More...
 
static const unsigned char P_REGISTERED_INSTRUCTION = 44
 P_REGISTERED_INSTRUCTION. More...
 
static const unsigned char P_PAUSE_TIME = 45
 P_PAUSE_TIME. More...
 
static const unsigned char P_MOVING = 46
 P_MOVING. More...
 
static const unsigned char P_LOCK = 47
 P_LOCK. More...
 
static const unsigned char P_PUNCH_L = 48
 P_PUNCH_L. More...
 
static const unsigned char P_PUNCH_H = 49
 P_PUNCH_H. More...
 

Detailed Description

Class to access a chain of Robotis dynamixel servos.

One instance of this class communicates with a chain of up to 254 Robotis ServoChain servos, which are uniquely identified with an ID. Before making use of the chain, connect each servo individually and set its ID. See the discover() method for more information about numbering of the servos. To achieve a higher speed, it is recommended to set the status return level to reply only on READ instructions. You can do this for the whole chain with

servo_chain->set_status_return_level(DynamixelChain::BROADCAST_ID, DynamixelChain::SRL_RESPOND_READ);
Author
Tim Niemueller

Definition at line 36 of file servo_chain.h.

Member Typedef Documentation

◆ DeviceList

typedef std::list<unsigned char> DynamixelChain::DeviceList

List of servo IDs.

Definition at line 40 of file servo_chain.h.

Constructor & Destructor Documentation

◆ DynamixelChain()

DynamixelChain::DynamixelChain ( const char *  device_file,
unsigned int  default_timeout_ms = 30,
bool  enable_echo_fix = false,
bool  enable_connection_stability = false,
float  min_voltage = 12.0,
float  max_voltage = 16.0 
)

Constructor.

Parameters
device_filedevice file of the serial port
default_timeout_msthe timeout to apply by default to reading operations
enable_echo_fixtrue to enable a fix for buggy serial adapters
enable_connection_stabilitytrue to enable explicit timeout handling
min_voltageminimum voltage to assume safe operation
max_voltagemaximum voltage to assume safe operation

Definition at line 155 of file servo_chain.cpp.

◆ ~DynamixelChain()

DynamixelChain::~DynamixelChain ( )

Destructor.

Definition at line 177 of file servo_chain.cpp.

Member Function Documentation

◆ close()

void DynamixelChain::close ( )

Close port.

Definition at line 257 of file servo_chain.cpp.

◆ data_available()

bool DynamixelChain::data_available ( )

Check data availability.

Returns
true if data is available, false otherwise

Definition at line 461 of file servo_chain.cpp.

◆ discover()

DynamixelChain::DeviceList DynamixelChain::discover ( unsigned int  timeout_ms = 50,
const std::vector< unsigned int >  servos = std::vector<unsigned int>() 
)

Discover devices on the bus.

This method will send a PING instruction to either the broadcast ID (servos.size() == 0) or by iterating the given servos vector and collect responses. This assumes that the return delay time is set appropriately that all responses can be received without collisions, and that the difference between the time of two consecutive servos is smaller than the given timeout (note that this might be void if you have one servo with ID 1 and one with ID 253). After sending the packet this method will do up to DYNAMIXEL_MAX_NUM_SERVOS receive operations, each with the given timeout. After the first timeout the discovery is aborted assuming that all replies have been received. You can set the timeout really high (several seconds) to be sure that all connected servos are recognized. For this to work best it is recommended to set consecutive servo IDs starting from 1 on the servos. After the servos are found, the control tables of all recognized servos are received to ensure that all other methods return valid data.

Parameters
timeout_msmaximum timeout to wait for replies.
servosvector of desired servos on the bus, can be an empty vector to make use of the broadcast (all available servos).
Returns
list of detected servo IDs

Definition at line 491 of file servo_chain.cpp.

References fawkes::Exception::append().

Referenced by DynamixelDriverThread::init().

◆ finish_read_table_values()

void DynamixelChain::finish_read_table_values ( )

Finish control table receive operations.

This executes the receive operation initiated by start_read_table_values(). This will read the values and write the output to the control table (in memory, not in the servo), such that the appropriate get methods will return the new data.

Definition at line 595 of file servo_chain.cpp.

◆ get_alarm_led()

unsigned char DynamixelChain::get_alarm_led ( unsigned char  id,
bool  refresh = false 
)

Get alarm LED status.

Parameters
idservo ID, not the broadcast ID
refreshif true, will issue a read command for the value
Returns
alarm LED status.

Definition at line 939 of file servo_chain.cpp.

◆ get_alarm_shutdown()

unsigned char DynamixelChain::get_alarm_shutdown ( unsigned char  id,
bool  refresh = false 
)

Get shutdown on alarm state.

Parameters
idservo ID, not the broadcast ID
refreshif true, will issue a read command for the value
Returns
shutdown on alarm state

Definition at line 951 of file servo_chain.cpp.

Referenced by DynamixelDriverThread::exec_sensor().

◆ get_angle_limits()

void DynamixelChain::get_angle_limits ( unsigned char  id,
unsigned int &  cw_limit,
unsigned int &  ccw_limit,
bool  refresh = false 
)

Get angle limits.

Parameters
idservo ID, not the broadcast ID
refreshif true, will issue a read command for the value
cw_limitupon return contains the clockwise angle limit
ccw_limitupon return contains the counter-clockwise angle limit

Definition at line 872 of file servo_chain.cpp.

Referenced by DynamixelDriverThread::init(), and DynamixelDriverThread::loop().

◆ get_baudrate()

unsigned char DynamixelChain::get_baudrate ( unsigned char  id,
bool  refresh = false 
)

Get baud rate.

Parameters
idservo ID, not the broadcast ID
refreshif true, will issue a read command for the value
Returns
baud rate

Definition at line 836 of file servo_chain.cpp.

◆ get_calibration()

void DynamixelChain::get_calibration ( unsigned char  id,
unsigned int &  down_calib,
unsigned int &  up_calib,
bool  refresh = false 
)

Get calibration data.

Parameters
idservo ID, not the broadcast ID
refreshif true, will issue a read command for the value
down_calibdownward calibration
up_calibupward calibration

Definition at line 964 of file servo_chain.cpp.

◆ get_compliance_values()

void DynamixelChain::get_compliance_values ( unsigned char  id,
unsigned char &  cw_margin,
unsigned char &  cw_slope,
unsigned char &  ccw_margin,
unsigned char &  ccw_slope,
bool  refresh = false 
)

Get compliance values.

Parameters
idservo ID, not the broadcast ID
refreshif true, will issue a read command for the value
cw_marginupon return contains clockwise margin
cw_slopeupon return contains clockwise slope
ccw_marginupon return contains counter-clockwise margin
ccw_slopeupon return contains counter-clockwise slope

Definition at line 1006 of file servo_chain.cpp.

Referenced by DynamixelDriverThread::init().

◆ get_delay_time()

unsigned char DynamixelChain::get_delay_time ( unsigned char  id,
bool  refresh = false 
)

Get time of the delay before replies are sent.

Parameters
idservo ID, not the broadcast ID
refreshif true, will issue a read command for the value
Returns
delay time

Definition at line 848 of file servo_chain.cpp.

◆ get_error()

unsigned char DynamixelChain::get_error ( unsigned char  id)

Get error flags set by the servo.

Parameters
idservo ID, not the broadcast ID
Returns
error flags

Definition at line 859 of file servo_chain.cpp.

Referenced by DynamixelDriverThread::exec_sensor().

◆ get_firmware_version()

unsigned char DynamixelChain::get_firmware_version ( unsigned char  id,
bool  refresh = false 
)

Get firmware version.

Parameters
idservo ID, not the broadcast ID
refreshif true, will issue a read command for the value
Returns
firmware version

Definition at line 824 of file servo_chain.cpp.

◆ get_goal_position()

unsigned int DynamixelChain::get_goal_position ( unsigned char  id,
bool  refresh = false 
)

Get goal position.

Parameters
idservo ID, not the broadcast ID
refreshif true, will issue a read command for the value
Returns
goal position

Definition at line 1024 of file servo_chain.cpp.

Referenced by DynamixelDriverThread::exec_sensor().

◆ get_goal_speed()

unsigned int DynamixelChain::get_goal_speed ( unsigned char  id,
bool  refresh = false 
)

Get goal speed.

Parameters
idservo ID, not the broadcast ID
refreshif true, will issue a read command for the value
Returns
goal speed

Definition at line 1036 of file servo_chain.cpp.

Referenced by DynamixelDriverThread::exec_sensor().

◆ get_load()

unsigned int DynamixelChain::get_load ( unsigned char  id,
bool  refresh = false 
)

Get current load.

Parameters
idservo ID, not the broadcast ID
refreshif true, will issue a read command for the value
Returns
current load

Definition at line 1099 of file servo_chain.cpp.

Referenced by DynamixelDriverThread::exec_sensor().

◆ get_max_supported_speed()

float DynamixelChain::get_max_supported_speed ( unsigned char  id,
bool  refresh = false 
)

Get maximum supported speed.

Parameters
idservo ID, not the broadcast ID
refreshif true, will issue a read command for the value
Returns
maximum supported speed in rad/s

Definition at line 1048 of file servo_chain.cpp.

References fawkes::deg2rad().

Referenced by DynamixelDriverThread::init().

◆ get_max_torque()

unsigned int DynamixelChain::get_max_torque ( unsigned char  id,
bool  refresh = false 
)

Get maximum torque.

Parameters
idservo ID, not the broadcast ID
refreshif true, will issue a read command for the value
Returns
maximum torque

Definition at line 915 of file servo_chain.cpp.

Referenced by DynamixelDriverThread::init().

◆ get_model()

const char * DynamixelChain::get_model ( unsigned char  id,
bool  refresh = false 
)

Get model string.

Parameters
idservo ID, not the broadcast ID
refreshif true, will issue a read command for the value
Returns
model name

Definition at line 775 of file servo_chain.cpp.

Referenced by DynamixelDriverThread::init().

◆ get_model_number()

unsigned int DynamixelChain::get_model_number ( unsigned char  id,
bool  refresh = false 
)

Get model.

Parameters
idservo ID, not the broadcast ID
refreshif true, will issue a read command for the value
Returns
model

Definition at line 800 of file servo_chain.cpp.

Referenced by DynamixelDriverThread::init().

◆ get_position()

unsigned int DynamixelChain::get_position ( unsigned char  id,
bool  refresh = false 
)

Get current position.

Parameters
idservo ID, not the broadcast ID
refreshif true, will issue a read command for the value
Returns
current position

Definition at line 812 of file servo_chain.cpp.

Referenced by DynamixelDriverThread::bb_interface_message_received(), and DynamixelDriverThread::exec_sensor().

◆ get_punch()

unsigned int DynamixelChain::get_punch ( unsigned char  id,
bool  refresh = false 
)

Get punch.

Parameters
idservo ID, not the broadcast ID
refreshif true, will issue a read command for the value
Returns
punch

Definition at line 1159 of file servo_chain.cpp.

Referenced by DynamixelDriverThread::exec_sensor().

◆ get_speed()

unsigned int DynamixelChain::get_speed ( unsigned char  id,
bool  refresh = false 
)

Get current speed.

Parameters
idservo ID, not the broadcast ID
refreshif true, will issue a read command for the value
Returns
current speed

Definition at line 1087 of file servo_chain.cpp.

Referenced by DynamixelDriverThread::bb_interface_message_received(), and DynamixelDriverThread::exec_sensor().

◆ get_status_return_level()

unsigned char DynamixelChain::get_status_return_level ( unsigned char  id,
bool  refresh = false 
)

Get status return level.

Parameters
idservo ID, not the broadcast ID
refreshif true, will issue a read command for the value
Returns
status return level

Definition at line 927 of file servo_chain.cpp.

◆ get_temperature()

unsigned char DynamixelChain::get_temperature ( unsigned char  id,
bool  refresh = false 
)

Get temperature.

Parameters
idservo ID, not the broadcast ID
refreshif true, will issue a read command for the value
Returns
temperature in degrees Celsius

Definition at line 1123 of file servo_chain.cpp.

Referenced by DynamixelDriverThread::exec_sensor().

◆ get_temperature_limit()

unsigned char DynamixelChain::get_temperature_limit ( unsigned char  id,
bool  refresh = false 
)

Get temperature limit.

Parameters
idservo ID, not the broadcast ID
refreshif true, will issue a read command for the value
Returns
temperature limit.

Definition at line 887 of file servo_chain.cpp.

Referenced by DynamixelDriverThread::init().

◆ get_torque_limit()

unsigned int DynamixelChain::get_torque_limit ( unsigned char  id,
bool  refresh = false 
)

Get torque limit.

Parameters
idservo ID, not the broadcast ID
refreshif true, will issue a read command for the value
Returns
torque limit

Definition at line 1075 of file servo_chain.cpp.

Referenced by DynamixelDriverThread::exec_sensor().

◆ get_voltage()

unsigned char DynamixelChain::get_voltage ( unsigned char  id,
bool  refresh = false 
)

Get current voltage.

Parameters
idservo ID, not the broadcast ID
refreshif true, will issue a read command for the value
Returns
voltage, divide by 10 to get V

Definition at line 1111 of file servo_chain.cpp.

Referenced by DynamixelDriverThread::exec_sensor().

◆ get_voltage_limits()

void DynamixelChain::get_voltage_limits ( unsigned char  id,
unsigned char &  low,
unsigned char &  high,
bool  refresh = false 
)

Get voltage limits.

Parameters
idservo ID, not the broadcast ID
refreshif true, will issue a read command for the value
lowupon return contains low voltage limit
highupon return contans high voltage limit

Definition at line 900 of file servo_chain.cpp.

◆ goto_position()

void DynamixelChain::goto_position ( unsigned char  id,
unsigned int  value 
)

Move servo to specified position.

Parameters
idservo ID
valueposition, value between 0 and 1023 (inclusive), covering an angle range from 0 to 300 degrees.

Definition at line 1446 of file servo_chain.cpp.

Referenced by DynamixelDriverThread::loop().

◆ goto_positions()

void DynamixelChain::goto_positions ( unsigned int  num_servos,
  ... 
)

Move several servos to specified positions.

Given the number of servos the variadic arguments must contain two values for each servo, first is the ID, second the position (see goto_position() for information on the valid values).

Parameters
num_servosnumber of servos, maximum is 83

Definition at line 1459 of file servo_chain.cpp.

◆ is_led_enabled()

bool DynamixelChain::is_led_enabled ( unsigned char  id,
bool  refresh = false 
)

Check if LED is enabled.

Parameters
idservo ID, not the broadcast ID
refreshif true, will issue a read command for the value
Returns
true if led is enabled, false otherwise.

Definition at line 991 of file servo_chain.cpp.

◆ is_locked()

bool DynamixelChain::is_locked ( unsigned char  id,
bool  refresh = false 
)

Check is servo is locked.

Parameters
idservo ID, not the broadcast ID
refreshif true, will issue a read command for the value
Returns
true if servo config is locked, false otherwise

Definition at line 1147 of file servo_chain.cpp.

◆ is_moving()

bool DynamixelChain::is_moving ( unsigned char  id,
bool  refresh = false 
)

Check if servo is moving.

Parameters
idservo ID, not the broadcast ID
refreshif true, will issue a read command for the value
Returns
true if servo is moving, false otherwise

Definition at line 1135 of file servo_chain.cpp.

Referenced by DynamixelDriverThread::bb_interface_message_received().

◆ is_torque_enabled()

bool DynamixelChain::is_torque_enabled ( unsigned char  id,
bool  refresh = false 
)

Check if torque is enabled.

Parameters
idservo ID, not the broadcast ID
refreshif true, will issue a read command for the value
Returns
true if torque is enabled, false otherwise

Definition at line 979 of file servo_chain.cpp.

Referenced by DynamixelDriverThread::bb_interface_message_received(), and DynamixelDriverThread::exec_sensor().

◆ lock_config()

void DynamixelChain::lock_config ( unsigned char  id)

Lock config.

Locks the config, configuration values can no longer be modified until the next power cycle.

Parameters
idservo ID

Definition at line 1434 of file servo_chain.cpp.

◆ open()

void DynamixelChain::open ( )

Open serial port.

Definition at line 184 of file servo_chain.cpp.

◆ ping()

bool DynamixelChain::ping ( unsigned char  id,
unsigned int  timeout_ms = 100 
)

Ping servo.

This pings the given servo by sending a PING instruction and reading the reply.

Parameters
idservo ID, not the broadcast ID
timeout_msmaximum wait time in miliseconds
Returns
true if the ping was successful, false otherwise

Definition at line 543 of file servo_chain.cpp.

References fawkes::Exception::print_trace().

◆ read_table_value()

void DynamixelChain::read_table_value ( unsigned char  id,
unsigned char  addr,
unsigned char  read_length 
)

Read a table value.

This will read the given value(s) and write the output to the control table (in memory, not in the servo), such that the appropriate get method will return the new value.

Parameters
idservo ID, not the broadcast ID
addrstart addr, one of the P_* constants.
read_lengthnumber of bytes to read

Definition at line 616 of file servo_chain.cpp.

◆ read_table_values()

void DynamixelChain::read_table_values ( unsigned char  id)

Read all table values for given servo.

This issues a READ comment for the whole control table and waits for the response.

Parameters
idservo ID

Definition at line 563 of file servo_chain.cpp.

Referenced by DynamixelDriverThread::init(), and DynamixelDriverThread::loop().

◆ set_alarm_led()

void DynamixelChain::set_alarm_led ( unsigned char  id,
unsigned char  alarm_led 
)

Set alarm LED settings.

Parameters
idservo ID
alarm_lednew LED alarm value.

Definition at line 1266 of file servo_chain.cpp.

◆ set_alarm_shutdown()

void DynamixelChain::set_alarm_shutdown ( unsigned char  id,
unsigned char  alarm_shutdown 
)

Set shutdown on alarm.

Parameters
idservo ID
alarm_shutdownalarm shutdown settings

Definition at line 1277 of file servo_chain.cpp.

◆ set_angle_limits()

void DynamixelChain::set_angle_limits ( unsigned char  id,
unsigned int  cw_limit,
unsigned int  ccw_limit 
)

Set angle limits.

Parameters
idservo ID
cw_limitnew clockwise limit
ccw_limitnew counter-clockwise limit

Definition at line 1204 of file servo_chain.cpp.

Referenced by DynamixelDriverThread::loop().

◆ set_baudrate()

void DynamixelChain::set_baudrate ( unsigned char  id,
unsigned char  baudrate 
)

Set baud rate.

Parameters
idservo ID
baudratenew baudrate

Definition at line 1181 of file servo_chain.cpp.

◆ set_compliance_values()

void DynamixelChain::set_compliance_values ( unsigned char  id,
unsigned char  cw_margin,
unsigned char  cw_slope,
unsigned char  ccw_margin,
unsigned char  ccw_slope 
)

Set compliance values.

Parameters
idservo ID
cw_marginclockwise margin
cw_slopeclockwise slope
ccw_margincounter-clockwise margin
ccw_slopecounter-clockwise slope

Definition at line 1347 of file servo_chain.cpp.

Referenced by DynamixelDriverThread::init().

◆ set_goal_speed()

void DynamixelChain::set_goal_speed ( unsigned char  id,
unsigned int  goal_speed 
)

Set goal speed.

Parameters
idservo ID
goal_speeddesired goal speed, 1024 is maximum, 0 means "no velicity control", i.e. move as fast as possible depending on the voltage

Definition at line 1366 of file servo_chain.cpp.

Referenced by DynamixelDriverThread::loop().

◆ set_goal_speeds()

void DynamixelChain::set_goal_speeds ( unsigned int  num_servos,
  ... 
)

Set goal speeds for multiple servos.

Given the number of servos the variadic arguments must contain two values for each servo, first is the ID, second the value.

Parameters
num_servosnumber of servos, maximum is 83

Definition at line 1378 of file servo_chain.cpp.

◆ set_id()

void DynamixelChain::set_id ( unsigned char  id,
unsigned char  new_id 
)

Set ID.

Parameters
idservo ID
new_idnew ID to set

Definition at line 1170 of file servo_chain.cpp.

◆ set_led_enabled()

void DynamixelChain::set_led_enabled ( unsigned char  id,
bool  led_enabled 
)

Turn LED on or off.

Parameters
idservo ID
led_enabledtrue to turn LED on, false to turn off

Definition at line 1333 of file servo_chain.cpp.

Referenced by DynamixelDriverThread::finalize(), DynamixelDriverThread::init(), and DynamixelDriverThread::loop().

◆ set_max_torque()

void DynamixelChain::set_max_torque ( unsigned char  id,
unsigned int  max_torque 
)

Set maximum torque.

Parameters
idservo ID
max_torquenew maximum torque

Definition at line 1243 of file servo_chain.cpp.

◆ set_punch()

void DynamixelChain::set_punch ( unsigned char  id,
unsigned int  punch 
)

Set punch.

Parameters
idservo ID
punchnew punch value

Definition at line 1422 of file servo_chain.cpp.

◆ set_return_delay_time()

void DynamixelChain::set_return_delay_time ( unsigned char  id,
unsigned char  return_delay_time 
)

Set return delay time.

Parameters
idservo ID
return_delay_timenew return delay time

Definition at line 1192 of file servo_chain.cpp.

◆ set_status_return_level()

void DynamixelChain::set_status_return_level ( unsigned char  id,
unsigned char  status_return_level 
)

Set status return level.

Parameters
idservo ID
status_return_levelstatus return level, one of SRL_RESPOND_NONE, SRL_RESPOND_READ or SRL_RESPOND_ALL.

Definition at line 1255 of file servo_chain.cpp.

Referenced by DynamixelDriverThread::init().

◆ set_temperature_limit()

void DynamixelChain::set_temperature_limit ( unsigned char  id,
unsigned char  temp_limit 
)

Set temperature limit.

Parameters
idservo ID
temp_limitnew temperature limit (in degrees Celsius)

Definition at line 1217 of file servo_chain.cpp.

Referenced by DynamixelDriverThread::init().

◆ set_torque_enabled()

void DynamixelChain::set_torque_enabled ( unsigned char  id,
bool  enabled 
)

Enable or disable torque.

Parameters
idservo ID
enabledtrue to enable (servo is powered) false to disable (servo power disabled, servo can be freely moved manually)

Definition at line 1289 of file servo_chain.cpp.

Referenced by DynamixelDriverThread::finalize(), DynamixelDriverThread::init(), and DynamixelDriverThread::loop().

◆ set_torque_limit()

void DynamixelChain::set_torque_limit ( unsigned char  id,
unsigned int  torque_limit 
)

Set torque limit.

Parameters
idservo ID
torque_limitnew torque limit

Definition at line 1411 of file servo_chain.cpp.

Referenced by DynamixelDriverThread::loop().

◆ set_torques_enabled()

void DynamixelChain::set_torques_enabled ( bool  enabled,
unsigned char  num_servos,
  ... 
)

Enable or disable torque for multiple (selected) servos at once.

Given the number of servos the same number of variadic arguments must be passed, one for each servo ID that should be enabled/disabled.

Parameters
enabledtrue to enable (servo is powered) false to disable (servo power disabled, servo can be freely moved manually)
num_servosnumber of servos to set, maximum is 120

Definition at line 1303 of file servo_chain.cpp.

◆ set_voltage_limits()

void DynamixelChain::set_voltage_limits ( unsigned char  id,
unsigned char  low,
unsigned char  high 
)

Set voltage limits.

Parameters
idservo ID
lowlower bound (give Volts * 10)
highhigher bound (give Volts * 10)

Definition at line 1229 of file servo_chain.cpp.

◆ start_read_table_values()

void DynamixelChain::start_read_table_values ( unsigned char  id)

Start to receive table values.

This method sends a READ instruction packet for the whole table, but it does not wait for the reply. This can be used to overlap the receiving with other operations. You have to ensure to call finish_read_table_values() before sending any other data.

Parameters
idservo ID, not the broadcast ID

Definition at line 578 of file servo_chain.cpp.

◆ write_table_value()

void DynamixelChain::write_table_value ( unsigned char  id,
unsigned char  addr,
unsigned int  value,
bool  double_byte = false 
)

Write a table value.

Parameters
idservo ID, may be the broadcast ID
addrstart addr, one of the P_* constants.
valuevalue to write
double_byteif true, will assume value to be a two-byte value, otherwise it is considered as a one-byte value.

Definition at line 647 of file servo_chain.cpp.

References fawkes::Exception::print_trace().

◆ write_table_values()

void DynamixelChain::write_table_values ( unsigned char  id,
unsigned char  start_addr,
unsigned char *  values,
unsigned int  num_values 
)

Write multiple table values.

Parameters
idservo ID, may be the broadcast ID
start_addrstart addr, one of the P_* constants.
valuesvalues to write
num_valueslength in bytes of the values array

Definition at line 683 of file servo_chain.cpp.

References fawkes::Exception::print_trace().

Member Data Documentation

◆ BROADCAST_ID

const unsigned char DynamixelChain::BROADCAST_ID = 0xfe
static

BROADCAST_ID.

Definition at line 134 of file servo_chain.h.

Referenced by DynamixelDriverThread::init().

◆ CENTER_POSITION

const unsigned int DynamixelChain::CENTER_POSITION = 0x1ff
static

CENTER_POSITION.

Definition at line 136 of file servo_chain.h.

Referenced by DynamixelDriverThread::bb_interface_message_received(), and DynamixelDriverThread::loop().

◆ MAX_ANGLE_DEG

const float DynamixelChain::MAX_ANGLE_DEG = 300
static

MAX_ANGLE_DEG.

Definition at line 137 of file servo_chain.h.

◆ MAX_ANGLE_RAD

const float DynamixelChain::MAX_ANGLE_RAD = fawkes::deg2rad(DynamixelChain::MAX_ANGLE_DEG)
static

MAX_ANGLE_RAD.

Definition at line 138 of file servo_chain.h.

◆ MAX_POSITION

const unsigned int DynamixelChain::MAX_POSITION = 0x3ff
static

MAX_POSITION.

Definition at line 135 of file servo_chain.h.

◆ MAX_SPEED

const unsigned int DynamixelChain::MAX_SPEED = 0x7ff
static

MAX_SPEED.

Definition at line 143 of file servo_chain.h.

Referenced by DynamixelDriverThread::bb_interface_message_received().

◆ P_ALARM_LED

const unsigned char DynamixelChain::P_ALARM_LED = 17
static

P_ALARM_LED.

Definition at line 163 of file servo_chain.h.

◆ P_ALARM_SHUTDOWN

const unsigned char DynamixelChain::P_ALARM_SHUTDOWN = 18
static

P_ALARM_SHUTDOWN.

Definition at line 164 of file servo_chain.h.

◆ P_BAUD_RATE

const unsigned char DynamixelChain::P_BAUD_RATE = 4
static

P_BAUD_RATE.

Definition at line 150 of file servo_chain.h.

◆ P_CCW_ANGLE_LIMIT_H

const unsigned char DynamixelChain::P_CCW_ANGLE_LIMIT_H = 9
static

P_CCW_ANGLE_LIMIT_H.

Definition at line 155 of file servo_chain.h.

◆ P_CCW_ANGLE_LIMIT_L

const unsigned char DynamixelChain::P_CCW_ANGLE_LIMIT_L = 8
static

P_CCW_ANGLE_LIMIT_L.

Definition at line 154 of file servo_chain.h.

◆ P_CCW_COMPLIANCE_MARGIN

const unsigned char DynamixelChain::P_CCW_COMPLIANCE_MARGIN = 27
static

P_CCW_COMPLIANCE_MARGIN.

Definition at line 174 of file servo_chain.h.

◆ P_CCW_COMPLIANCE_SLOPE

const unsigned char DynamixelChain::P_CCW_COMPLIANCE_SLOPE = 29
static

P_CCW_COMPLIANCE_SLOPE.

Definition at line 176 of file servo_chain.h.

◆ P_CW_ANGLE_LIMIT_H

const unsigned char DynamixelChain::P_CW_ANGLE_LIMIT_H = 7
static

P_CW_ANGLE_LIMIT_H.

Definition at line 153 of file servo_chain.h.

◆ P_CW_ANGLE_LIMIT_L

const unsigned char DynamixelChain::P_CW_ANGLE_LIMIT_L = 6
static

P_CW_ANGLE_LIMIT_L.

Definition at line 152 of file servo_chain.h.

◆ P_CW_COMPLIANCE_MARGIN

const unsigned char DynamixelChain::P_CW_COMPLIANCE_MARGIN = 26
static

P_CW_COMPLIANCE_MARGIN.

Definition at line 173 of file servo_chain.h.

◆ P_CW_COMPLIANCE_SLOPE

const unsigned char DynamixelChain::P_CW_COMPLIANCE_SLOPE = 28
static

P_CW_COMPLIANCE_SLOPE.

Definition at line 175 of file servo_chain.h.

◆ P_DOWN_CALIBRATION_H

const unsigned char DynamixelChain::P_DOWN_CALIBRATION_H = 21
static

P_DOWN_CALIBRATION_H.

Definition at line 167 of file servo_chain.h.

◆ P_DOWN_CALIBRATION_L

const unsigned char DynamixelChain::P_DOWN_CALIBRATION_L = 20
static

P_DOWN_CALIBRATION_L.

Definition at line 166 of file servo_chain.h.

◆ P_DOWN_LIMIT_VOLTAGE

const unsigned char DynamixelChain::P_DOWN_LIMIT_VOLTAGE = 12
static

P_DOWN_LIMIT_VOLTAGE.

Definition at line 158 of file servo_chain.h.

◆ P_GOAL_POSITION_H

const unsigned char DynamixelChain::P_GOAL_POSITION_H = 31
static

P_GOAL_POSITION_H.

Definition at line 178 of file servo_chain.h.

◆ P_GOAL_POSITION_L

const unsigned char DynamixelChain::P_GOAL_POSITION_L = 30
static

P_GOAL_POSITION_L.

Definition at line 177 of file servo_chain.h.

◆ P_GOAL_SPEED_H

const unsigned char DynamixelChain::P_GOAL_SPEED_H = 33
static

P_GOAL_SPEED_H.

Definition at line 180 of file servo_chain.h.

◆ P_GOAL_SPEED_L

const unsigned char DynamixelChain::P_GOAL_SPEED_L = 32
static

P_GOAL_SPEED_L.

Definition at line 179 of file servo_chain.h.

◆ P_ID

const unsigned char DynamixelChain::P_ID = 3
static

P_ID.

Definition at line 149 of file servo_chain.h.

◆ P_LED

const unsigned char DynamixelChain::P_LED = 25
static

P_LED.

Definition at line 172 of file servo_chain.h.

◆ P_LIMIT_TEMPERATURE

const unsigned char DynamixelChain::P_LIMIT_TEMPERATURE = 11
static

P_LIMIT_TEMPERATURE.

Definition at line 157 of file servo_chain.h.

◆ P_LOCK

const unsigned char DynamixelChain::P_LOCK = 47
static

P_LOCK.

Definition at line 194 of file servo_chain.h.

◆ P_MAX_TORQUE_H

const unsigned char DynamixelChain::P_MAX_TORQUE_H = 15
static

P_MAX_TORQUE_H.

Definition at line 161 of file servo_chain.h.

◆ P_MAX_TORQUE_L

const unsigned char DynamixelChain::P_MAX_TORQUE_L = 14
static

P_MAX_TORQUE_L.

Definition at line 160 of file servo_chain.h.

◆ P_MODEL_NUMBER_H

const unsigned char DynamixelChain::P_MODEL_NUMBER_H = 1
static

P_MODEL_NUMBER_H.

Definition at line 147 of file servo_chain.h.

◆ P_MODEL_NUMBER_L

const unsigned char DynamixelChain::P_MODEL_NUMBER_L = 0
static

P_MODEL_NUMBER_L.

Definition at line 146 of file servo_chain.h.

◆ P_MOVING

const unsigned char DynamixelChain::P_MOVING = 46
static

P_MOVING.

Definition at line 193 of file servo_chain.h.

◆ P_OPERATING_MODE

const unsigned char DynamixelChain::P_OPERATING_MODE = 19
static

P_OPERATING_MODE.

Definition at line 165 of file servo_chain.h.

◆ P_PAUSE_TIME

const unsigned char DynamixelChain::P_PAUSE_TIME = 45
static

P_PAUSE_TIME.

Definition at line 192 of file servo_chain.h.

◆ P_PRESENT_LOAD_H

const unsigned char DynamixelChain::P_PRESENT_LOAD_H = 41
static

P_PRESENT_LOAD_H.

Definition at line 188 of file servo_chain.h.

◆ P_PRESENT_LOAD_L

const unsigned char DynamixelChain::P_PRESENT_LOAD_L = 40
static

P_PRESENT_LOAD_L.

Definition at line 187 of file servo_chain.h.

◆ P_PRESENT_POSITION_H

const unsigned char DynamixelChain::P_PRESENT_POSITION_H = 37
static

P_PRESENT_POSITION_H.

Definition at line 184 of file servo_chain.h.

◆ P_PRESENT_POSITION_L

const unsigned char DynamixelChain::P_PRESENT_POSITION_L = 36
static

P_PRESENT_POSITION_L.

Definition at line 183 of file servo_chain.h.

◆ P_PRESENT_SPEED_H

const unsigned char DynamixelChain::P_PRESENT_SPEED_H = 39
static

P_PRESENT_SPEED_H.

Definition at line 186 of file servo_chain.h.

◆ P_PRESENT_SPEED_L

const unsigned char DynamixelChain::P_PRESENT_SPEED_L = 38
static

P_PRESENT_SPEED_L.

Definition at line 185 of file servo_chain.h.

◆ P_PRESENT_TEMPERATURE

const unsigned char DynamixelChain::P_PRESENT_TEMPERATURE = 43
static

P_PRESENT_TEMPERATURE.

Definition at line 190 of file servo_chain.h.

◆ P_PRESENT_VOLTAGE

const unsigned char DynamixelChain::P_PRESENT_VOLTAGE = 42
static

P_PRESENT_VOLTAGE.

Definition at line 189 of file servo_chain.h.

◆ P_PUNCH_H

const unsigned char DynamixelChain::P_PUNCH_H = 49
static

P_PUNCH_H.

Definition at line 196 of file servo_chain.h.

◆ P_PUNCH_L

const unsigned char DynamixelChain::P_PUNCH_L = 48
static

P_PUNCH_L.

Definition at line 195 of file servo_chain.h.

◆ P_REGISTERED_INSTRUCTION

const unsigned char DynamixelChain::P_REGISTERED_INSTRUCTION = 44
static

P_REGISTERED_INSTRUCTION.

Definition at line 191 of file servo_chain.h.

◆ P_RETURN_DELAY_TIME

const unsigned char DynamixelChain::P_RETURN_DELAY_TIME = 5
static

P_RETURN_DELAY_TIME.

Definition at line 151 of file servo_chain.h.

◆ P_RETURN_LEVEL

const unsigned char DynamixelChain::P_RETURN_LEVEL = 16
static

P_RETURN_LEVEL.

Definition at line 162 of file servo_chain.h.

◆ P_SYSTEM_DATA2

const unsigned char DynamixelChain::P_SYSTEM_DATA2 = 10
static

P_SYSTEM_DATA2.

Definition at line 156 of file servo_chain.h.

◆ P_TORQUE_ENABLE

const unsigned char DynamixelChain::P_TORQUE_ENABLE = 24
static

P_TORQUE_ENABLE.

Definition at line 171 of file servo_chain.h.

◆ P_TORQUE_LIMIT_H

const unsigned char DynamixelChain::P_TORQUE_LIMIT_H = 35
static

P_TORQUE_LIMIT_H.

Definition at line 182 of file servo_chain.h.

◆ P_TORQUE_LIMIT_L

const unsigned char DynamixelChain::P_TORQUE_LIMIT_L = 34
static

P_TORQUE_LIMIT_L.

Definition at line 181 of file servo_chain.h.

◆ P_UP_CALIBRATION_H

const unsigned char DynamixelChain::P_UP_CALIBRATION_H = 23
static

P_UP_CALIBRATION_H.

Definition at line 169 of file servo_chain.h.

◆ P_UP_CALIBRATION_L

const unsigned char DynamixelChain::P_UP_CALIBRATION_L = 22
static

P_UP_CALIBRATION_L.

Definition at line 168 of file servo_chain.h.

◆ P_UP_LIMIT_VOLTAGE

const unsigned char DynamixelChain::P_UP_LIMIT_VOLTAGE = 13
static

P_UP_LIMIT_VOLTAGE.

Definition at line 159 of file servo_chain.h.

◆ P_VERSION

const unsigned char DynamixelChain::P_VERSION = 2
static

P_VERSION.

Definition at line 148 of file servo_chain.h.

◆ POS_TICKS_PER_RAD

const float DynamixelChain::POS_TICKS_PER_RAD = (float)(DynamixelChain::MAX_POSITION) / DynamixelChain::MAX_ANGLE_RAD
static

POS_TICKS_PER_RAD.

Definition at line 140 of file servo_chain.h.

Referenced by DynamixelDriverThread::loop().

◆ RAD_PER_POS_TICK

const float DynamixelChain::RAD_PER_POS_TICK = DynamixelChain::MAX_ANGLE_RAD / (float)(DynamixelChain::MAX_POSITION)
static

RAD_PER_POS_TICK.

Definition at line 139 of file servo_chain.h.

Referenced by DynamixelDriverThread::bb_interface_message_received().

◆ SEC_PER_60DEG_12V

const float DynamixelChain::SEC_PER_60DEG_12V = 0.167
static

SEC_PER_60DEG_12V.

Definition at line 141 of file servo_chain.h.

◆ SEC_PER_60DEG_16V

const float DynamixelChain::SEC_PER_60DEG_16V = 0.126
static

SEC_PER_60DEG_16V.

Definition at line 142 of file servo_chain.h.

◆ SRL_RESPOND_ALL

const unsigned char DynamixelChain::SRL_RESPOND_ALL = 2
static

SRL_RESPOND_ALL.

Definition at line 132 of file servo_chain.h.

◆ SRL_RESPOND_NONE

const unsigned char DynamixelChain::SRL_RESPOND_NONE = 0
static

SRL_RESPOND_NONE.

Definition at line 130 of file servo_chain.h.

◆ SRL_RESPOND_READ

const unsigned char DynamixelChain::SRL_RESPOND_READ = 1
static

SRL_RESPOND_READ.

Definition at line 131 of file servo_chain.h.

Referenced by DynamixelDriverThread::init().


The documentation for this class was generated from the following files: