Dynamixel  2.9.5
RoadNarrows Robotics Dynamixel Package

RoadNarrows Dynamixel Top-Level Package Header File. More...

#include "rnr/rnrconfig.h"
#include "rnr/units.h"
#include "rnr/log.h"

Go to the source code of this file.

Macros

#define DYNA_OK   0
 not an error, success
 
#define DYNA_ECODE_GEN   1
 general, unspecified error
 
#define DYNA_ECODE_SYS   2
 system (errno) error
 
#define DYNA_ECODE_INTERNAL   3
 internal error (bug)
 
#define DYNA_ECODE_BADEC   4
 bad error code
 
#define DYNA_ECODE_BAD_UNITS   5
 unsupported or bad units
 
#define DYNA_ECODE_BAD_VAL   6
 bad value
 
#define DYNA_ECODE_NO_SERVO   7
 no servo found
 
#define DYNA_ECODE_BAD_DEV   8
 no or bad serial device
 
#define DYNA_ECODE_BADF   9
 no comm object or not open
 
#define DYNA_ECODE_ECOMM   10
 dynamixel communication error
 
#define DYNA_ECODE_TX_FAIL   11
 dynamixel transmit packet failure
 
#define DYNA_ECODE_RX_FAIL   12
 dynamixel receive packet failure
 
#define DYNA_ECODE_TX_ERROR   13
 dynamixel transmit packet error
 
#define DYNA_ECODE_RX_TIMEOUT   14
 dynamixel receive packet time out
 
#define DYNA_ECODE_RX_BAD_PKT   15
 dynamixel receive bad packet
 
#define DYNA_ECODE_ESERVO   16
 dynamixel servo in error condition
 
#define DYNA_ECODE_RSRC   17
 no resource
 
#define DYNA_ECODE_NOT_SUPP   18
 feature/function not supported
 
#define DYNA_ECODE_LINKED   19
 linked servos error
 
#define DYNA_ECODE_SLAVE   20
 invalid slave operation
 
#define DYNA_ECODE_BOTSENSE   21
 BotSense proxy error.
 
#define DYNA_ECODE_PARSE   22
 Shell parse error.
 
#define DYNA_ECODE_RUNTIME   23
 Shell run-time error.
 
#define DYNA_ECODE_NOEXEC   24
 Shell parse error.
 
#define DYNA_ECODE_NUMOF   25
 number of error codes
 
#define DYNA_MODEL_NUM_GENERIC   0x0000
 generic, base model
 
#define DYNA_FWVER_NA   0x00
 firmware version not available
 
#define DYNA_ID_NONE   -1
 no servo id
 
#define DYNA_ID_MIN   0
 minimum servo id
 
#define DYNA_ID_MAX   253
 maximum servo id
 
#define DYNA_ID_NUMOF   254
 number of unique servo id's
 
#define DYNA_ID_BROADCAST   254
 broadcast id
 
#define DYNA_ID_RESERVED   255
 reserved id
 
#define DYNA_ID_MASK   0xff
 id mask
 
#define DYNA_MODE_SERVO   0x01
 servo mode with limited rotation
 
#define DYNA_MODE_CONTINUOUS   0x02
 continuous mode with/without position
 
#define DYNA_LINK_NONE   0
 servo is not linked to another servo
 
#define DYNA_LINK_MASTER   1
 servo is linked, serving as the master
 
#define DYNA_LINK_SLAVE   2
 servo is linked, serving as the slave
 
#define DYNA_DIR_CW   (-1)
 clockwise direction
 
#define DYNA_DIR_NONE   0
 no direction
 
#define DYNA_DIR_CCW   1
 counterclockwise direction
 
#define DYNA_GET_DIR(scalar)   ((scalar)<0? DYNA_DIR_CW: DYNA_DIR_CCW)
 Get the direction component, given the rotational scalar. More...
 
#define DYNA_CTL_METHOD_NONE   0
 no control method
 
#define DYNA_CTL_METHOD_COMPLIANCE   1
 compliance control method
 
#define DYNA_CTL_METHOD_PID   2
 pid control method
 
#define DYNA_POS_MASK   0x03ff
 valid data mask
 
#define DYNA_POS_MIN_RAW   0
 minimum raw angular position
 
#define DYNA_POS_MAX_RAW   1023
 maximum raw angular position
 
#define DYNA_POS_MODULO   (DYNA_POS_MAX_RAW+1)
 servo position modulo [0-max]
 
#define DYNA_POS_MIN_DEG   0
 minimum angular position
 
#define DYNA_POS_MAX_DEG   300
 maximum angular position
 
#define DYNA_POS_RES_DEG   ((double)DYNA_POS_MAX_DEG/(double)DYNA_POS_MAX_RAW)
 0.29 ° (servo mode) resolution
 
#define DYNA_SPEED_MASK   0x03ff
 valid data mask
 
#define DYNA_SPEED_CONT_STOP   0
 continuous mode: stop
 
#define DYNA_SPEED_MAX_NO_CTL   0
 servo mode: max speed with no control
 
#define DYNA_SPEED_MIN_CTL   1
 mininum raw speed with control
 
#define DYNA_SPEED_MAX_CTL   1023
 maxinum raw speed with control
 
#define DYNA_SPEED_MIN_RAW   0
 minimum raw value
 
#define DYNA_SPEED_MAX_RAW   1023
 maximum raw value
 
#define DYNA_SPEED_RES_RPM   0.111
 rpm (servo mode) resolution
 
#define DYNA_SPEED_RES_PCT   (100.0/DYNA_SPEED_MAX_RAW)
 percent (servo mode) resolution
 
#define DYNA_SPEED_RES_PMIL   (1000.0/DYNA_SPEED_MAX_RAW)
 permil (servo mode) resolution
 
#define DYNA_TORQUE_MASK   0x03ff
 valid data mask
 
#define DYNA_TORQUE_MIN_RAW   0
 minimum raw torque
 
#define DYNA_TORQUE_MAX_RAW   1023
 maximum raw torque
 
#define DYNA_TORQUE_RES_PCT   (100.0/DYNA_TORQUE_MAX_RAW)
 percent of maximum resolution
 
#define DYNA_TORQUE_RES_PMIL   (1000.0/DYNA_TORQUE_MAX_RAW)
 permil of maximum resolution
 
#define DYNA_TEMP_MIN_RAW   10
 minimum raw temperature
 
#define DYNA_TEMP_MAX_RAW   99
 maximum raw temperature
 
#define DYNA_TEMP_MIN_C   DYNA_TEMP_MIN_RAW
 10C temperature minimum
 
#define DYNA_TEMP_MAX_C   DYNA_TEMP_MAX_RAW
 99C temperature maximum
 
#define DYNA_TEMP_RES_C   1
 1 ° Celsius resolution
 
#define DYNA_VOLT_MIN_RAW   50
 minimum raw temperature
 
#define DYNA_VOLT_MAX_RAW   250
 maximum raw temperature
 
#define DYNA_VOLT_RES_V   0.1
 0.1V resolution
 
#define DYNA_EEPROM_MIN_ADDR   0
 minimum EEPROM adderss
 
#define DYNA_EEPROM_MAX_ADDR   18
 maximum EEPROM adderss
 
#define DYNA_RAM_MIN_ADDR   24
 minimum RAM adderss
 
#define DYNA_RAM_MAX_ADDR   49
 maximum RAM adderss
 
#define DYNA_MEM_MAX_SIZ   50
 maximum control memory size (bytes)
 
#define DYNA_ADDR_MODEL_NUM_LSB   0
 model number lsb (R)
 
#define DYNA_ADDR_MODEL_NUM_MSB   1
 model number msb (R)
 
#define DYNA_ADDR_MODEL_NUM_MASK   0xffff
 valid data mask
 
#define DYNA_ADDR_FWVER   2
 firmware version (R)
 
#define DYNA_ADDR_FWVER_MASK   0xff
 valid data mask
 
#define DYNA_ADDR_ID   3
 dynamixel id (RW)
 
#define DYNA_ADDR_ID_MASK   0xff
 valid data mask
 
#define DYNA_ADDR_BAUD_RATE   4
 baud rate enumeration (RW)
 
#define DYNA_ADDR_BAUD_RATE_MASK   0xff
 valid data mask
 
#define DYNA_BAUDNUM_1000000   1
 1,000,000 bps at 0.0% tolerance
 
#define DYNA_BAUDNUM_500000   3
 500,000 bps at 0.0% tolerance
 
#define DYNA_BAUDNUM_400000   4
 500,000 bps at 0.0% tolerance
 
#define DYNA_BAUDNUM_250000   7
 250,000 bps at 0.0% tolerance
 
#define DYNA_BAUDNUM_200000   9
 200,000 bps at 0.0% tolerance
 
#define DYNA_BAUDNUM_115200   16
 115,200 bps at -2.124% tolerance
 
#define DYNA_BAUDNUM_57600   34
 57,600 bps at 0.794 % tolerance
 
#define DYNA_BAUDNUM_19200   103
 19,200 bps at -0.160% tolerance
 
#define DYNA_BAUDNUM_9600   207
 9,600 bps at -0.160% tolerance
 
#define DYNA_BAUDNUM_EXT_2250000   250
 2,250,000 bps at 0.0% tolerance
 
#define DYNA_BAUDNUM_EXT_2500000   251
 2,500,000 bps at 0.0% tolerance
 
#define DYNA_BAUDNUM_EXT_3000000   252
 3,000,000 bps at 0.0% tolerance
 
#define DYNA_BAUDNUM_NUMOF   12
 number of supported bit rates
 
#define DYNA_BAUDNUM_DFT   34
 default baud number
 
#define DYNA_BAUDRATE_DFT   57600
 default baud rate
 
#define DYNA_ADDR_T_RET_DELAY   5
 return delay time (RW)
 
#define DYNA_ADDR_T_RET_DELAY_MASK   0xff
 valid data mask
 
#define DYNA_T_RET_DELAY_MIN_RAW   0x00
 raw minimum delay
 
#define DYNA_T_RET_DELAY_MAX_RAW   0xff
 raw maximum delay
 
#define DYNA_T_RET_DELAY_DFT_RAW   0x00
 raw default
 
#define DYNA_T_RET_DELAY_RES_USEC   2
 2 μs resolution
 
#define DYNA_T_RET_DELAY_MIN_USEC   (DYNA_T_RET_DELAY_MIN_RAW * DYNA_T_RET_DELAY_RES_USEC)
  μs minimum
 
#define DYNA_T_RET_DELAY_MAX_USEC   (DYNA_T_RET_DELAY_MAX_RAW * DYNA_T_RET_DELAY_RES_USEC)
  μs maximum
 
#define DYNA_T_RET_DELAY_DFT_USEC   (DYNA_T_RET_DELAY_DFT_RAW * DYNA_T_RET_DELAY_RES_USEC)
  μs default
 
#define DYNA_ADDR_LIM_CW_LSB   6
 clockwise angle limit lsb (RW)
 
#define DYNA_ADDR_LIM_CW_MSB   7
 clockwise angle limit msb (RW)
 
#define DYNA_ADDR_LIM_CW_MASK   0x03ff
 valid data mask
 
#define DYNA_CW_POS_CONT_MODE   0
 continuous mode (with ccw limit)
 
#define DYNA_ADDR_LIM_CCW_LSB   8
 counterclockwise angle limit lsb (RW)
 
#define DYNA_ADDR_LIM_CCW_MSB   9
 counterclockwise angle limit msb (RW)
 
#define DYNA_ADDR_LIM_CCW_MASK   0x03ff
 valid data mask
 
#define DYNA_CCW_POS_CONT_MODE   0
 continuous mode (with cw limit)
 
#define DYNA_ADDR_RESERVED_1   10
 reserved
 
#define DYNA_ADDR_LIM_TEMP_MAX   11
 maximum temperature limit (RW)
 
#define DYNA_ADDR_LIM_TEMP_MASK   0x3f
 valid data mask
 
#define DYNA_LIM_TEMP_MIN_C   DYNA_TEMP_MIN_C
 minimum maximum limit
 
#define DYNA_LIM_TEMP_MAX_C   DYNA_TEMP_MAX_C
 maximum maximum limit
 
#define DYNA_LIM_TEMP_DFT_C   80
 80C default maximum limit
 
#define DYNA_LIM_TEMP_RES_C   DYNA_TEMP_RES_C
 1 ° Celsius resolution
 
#define DYNA_ADDR_LIM_VOLT_MIN   12
 lowest voltage limit (RW)
 
#define DYNA_ADDR_LIM_VOLT_MIN_MASK   0xff
 valid data mask
 
#define DYNA_LIM_VOLT_MIN_MIN_RAW   DYNA_VOLT_MIN_RAW
 minimum minimum raw limit
 
#define DYNA_LIM_VOLT_MIN_MAX_RAW   DYNA_VOLT_MAX_RAW
 maximum minimum raw limit
 
#define DYNA_LIM_VOLT_MIN_DFT_RAW   60
 default minimum raw limit
 
#define DYNA_LIM_VOLT_MIN_RES_V   DYNA_VOLT_RES_V
 0.1V resolution
 
#define DYNA_LIM_VOLT_MIN_MIN_V   (DYNA_LIM_VOLT_MIN_MIN_RAW * DYNA_LIM_VOLT_MIN_RES_V)
 min minimum volts limit
 
#define DYNA_LIM_VOLT_MIN_MAX_V   (DYNA_LIM_VOLT_MIN_MAX_V * DYNA_LIM_VOLT_MIN_RES_V)
 max minimum volts limit
 
#define DYNA_LIM_VOLT_MIN_DFT_V   (DYNA_LIM_VOLT_MIN_DFT_V * DYNA_LIM_VOLT_MIN_RES_V)
 default minimum volts limit
 
#define DYNA_ADDR_LIM_VOLT_MAX   13
 highest voltage limit (RW)
 
#define DYNA_ADDR_LIM_VOLT_MAX_MASK   0xff
 valid data mask
 
#define DYNA_LIM_VOLT_MAX_MIN_RAW   DYNA_VOLT_MIN_RAW
 minimum maximum raw limit
 
#define DYNA_LIM_VOLT_MAX_MAX_RAW   DYNA_VOLT_MAX_RAW
 maximum maximum raw limit
 
#define DYNA_LIM_VOLT_MAX_DFT_RAW   190
 default maximum raw limit
 
#define DYNA_LIM_VOLT_MAX_RES_V   DYNA_VOLT_RES_V
 0.1V resolution
 
#define DYNA_LIM_VOLT_MAX_MIN_V   (DYNA_LIM_VOLT_MAX_MIN_RAW * DYNA_LIM_VOLT_MAX_RES_V)
 min maximum volts limit
 
#define DYNA_LIM_VOLT_MAX_MAX_V   (DYNA_LIM_VOLT_MAX_MAX_V * DYNA_LIM_VOLT_MAX_RES_V)
 max maximum volts limit
 
#define DYNA_LIM_VOLT_MAX_DFT_V   (DYNA_LIM_VOLT_MAX_DFT_V * DYNA_LIM_VOLT_MAX_RES_V)
 default maximum volts limit
 
#define DYNA_ADDR_LIM_TORQUE_MAX_ON_LSB   14
 maximum torque lsb (RW)
 
#define DYNA_ADDR_LIM_TORQUE_MAX_ON_MSB   15
 maximum torque msb (RW)
 
#define DYNA_ADDR_LIM_TORQUE_MAX_ON_MASK   0x03ff
 valid data mask
 
#define DYNA_LIM_TORQUE_MAX_ON_DFT_RAW   DYNA_TORQUE_MAX_RAW
 default maximum raw torque
 
#define DYNA_ADDR_SRL   16
 status return level (RW)
 
#define DYNA_ADDR_SRL_MASK   0xff
 valid data mask
 
#define DYNA_SRL_RET_NONE   0
 no return packet (except for PING)
 
#define DYNA_SRL_RET_READ   1
 only READ return status packet
 
#define DYNA_SRL_RET_ALL   2
 return status packet for all
 
#define DYNA_SRL_RET_DFT   DYNA_SRL_RET_ALL
 return status packet default
 
#define DYNA_ADDR_ALARM_LED   17
 alarm LED (RW)
 
#define DYNA_ADDR_ALARM_LED_MASK   0xff
 valid data mask
 
#define DYNA_ALARM_LED_DFT   DYNA_ALARM_DFT
 alarm LED default mask
 
#define DYNA_ADDR_ALARM_SHUTDOWN   18
 alarm shutdown (RW)
 
#define DYNA_ADDR_ALARM_SHUTDOWN_MASK   0xff
 valid data mask
 
#define DYNA_ALARM_NONE   0x00
 no alarms
 
#define DYNA_ALARM_VOLTAGE   0x01
 operating voltage out of range
 
#define DYNA_ALARM_ANGLE   0x02
 goal position limit out of range
 
#define DYNA_ALARM_TEMP   0x04
 operating temperature out of range
 
#define DYNA_ALARM_CMD_RANGE   0x08
 command out of range
 
#define DYNA_ALARM_CHECKSUM   0x10
 checksum error
 
#define DYNA_ALARM_LOAD   0x20
 operating load (torque) out of rnge
 
#define DYNA_ALARM_INSTRUCTION   0x40
 bad instruction
 
#define DYNA_ALARM_DFT   (DYNA_ALARM_LOAD | DYNA_ALARM_TEMP)
 alarm shutdown default
 
#define DYNA_ADDR_TORQUE_EN   24
 torque enable (RW)
 
#define DYNA_ADDR_TORQUE_EN_MASK   0xff
 valid data mask
 
#define DYNA_TORQUE_EN_OFF   0
 disable power drive to the motor
 
#define DYNA_TORQUE_EN_ON   1
 enable power drive to the motor
 
#define DYNA_TORQUE_EN_DFT   DYNA_TORQUE_EN_OFF
 
#define DYNA_ADDR_LED   25
 LED on/off (RW)
 
#define DYNA_ADDR_LED_MASK   0xff
 valid data mask
 
#define DYNA_LED_OFF   0
 LED off.
 
#define DYNA_LED_ON   1
 LED on.
 
#define DYNA_ADDR_CW_COMP_MARGIN   26
 clockwise compliance margin (RW)
 
#define DYNA_ADDR_CW_COMP_MASK   0xff
 valid data mask
 
#define DYNA_COMP_MARGIN_MIN_RAW   0
 min position difference (tightest)
 
#define DYNA_COMP_MARGIN_MAX_RAW   255
 max position difference (loosest)
 
#define DYNA_COMP_MARGIN_DFT_RAW   1
 default raw position difference
 
#define DYNA_COMP_MARGIN_RES_DEG   DYNA_POS_RES_DEG
 margin resolution
 
#define DYNA_COMP_MARGIN_MIN_DEG   (DYNA_COMP_MARGIN_MIN_RAW * DYNA_COMP_MARGIN_RES_DEG)
 minimum margin in degress
 
#define DYNA_COMP_MARGIN_MAX_DEG   (DYNA_COMP_MARGIN_MAX_RAW * DYNA_COMP_MARGIN_RES_DEG)
 maximum margin in degress
 
#define DYNA_COMP_MARGIN_DFT_DEG   (DYNA_COMP_MARGIN_DFT_RAW * DYNA_COMP_MARGIN_RES_DEG)
 default margin in degress
 
#define DYNA_ADDR_CCW_COMP_MARGIN   27
 counterclockwise compliance margin
 
#define DYNA_ADDR_CCW_COMP_MASK   0xff
 valid data mask
 
#define DYNA_ADDR_CW_COMP_SLOPE   28
 clockwise compliance slope
 
#define DYNA_ADDR_CW_COMP_SLOPE_MASK   0xff
 valid data mask
 
#define DYNA_COMP_SLOPE_TORQUE_1   0x02
 compliance torque level 1
 
#define DYNA_COMP_SLOPE_TORQUE_2   0x04
 compliance torque level 2
 
#define DYNA_COMP_SLOPE_TORQUE_3   0x08
 compliance torque level 3
 
#define DYNA_COMP_SLOPE_TORQUE_4   0x10
 compliance torque level 4
 
#define DYNA_COMP_SLOPE_TORQUE_5   0x20
 compliance torque level 5
 
#define DYNA_COMP_SLOPE_TORQUE_6   0x40
 compliance torque level 6
 
#define DYNA_COMP_SLOPE_TORQUE_7   0x80
 compliance torque level 7
 
#define DYNA_COMP_SLOPE_TORQUE_DFT   DYNA_COMP_SLOPE_TORQUE_5
 default compliance torque level
 
#define DYNA_ADDR_CCW_COMP_SLOPE   29
 counterclockwise compliance slope
 
#define DYNA_ADDR_CCW_COMP_SLOPE_MASK   0xff
 valid data mask
 
#define DYNA_ADDR_P_GAIN   26
 Pgain (RW)
 
#define DYNA_ADDR_P_GAIN_MASK   0xff
 valid data mask
 
#define DYNA_P_GAIN_MIN_RAW   0
 minimum value
 
#define DYNA_P_GAIN_MAX_RAW   254
 maximum value
 
#define DYNA_P_GAIN_DFT   32
 default value
 
#define DYNA_ADDR_I_GAIN   27
 Igain (RW)
 
#define DYNA_ADDR_I_GAIN_MASK   0xff
 valid data mask
 
#define DYNA_I_GAIN_MIN_RAW   0
 minimum value
 
#define DYNA_I_GAIN_MAX_RAW   254
 maximum value
 
#define DYNA_I_GAIN_DFT   0
 default value
 
#define DYNA_ADDR_D_GAIN   28
 Dgain (RW)
 
#define DYNA_ADDR_D_GAIN_MASK   0xff
 valid data mask
 
#define DYNA_D_GAIN_MIN_RAW   0
 minimum value
 
#define DYNA_D_GAIN_MAX_RAW   254
 maximum value
 
#define DYNA_D_GAIN_DFT   0
 default value
 
#define DYNA_ADDR_PID_RESERVED   29
 reserved
 
#define DYNA_ADDR_GOAL_POS_LSB   30
 goal position lsb (RW)
 
#define DYNA_ADDR_GOAL_POS_MSB   31
 goal position msb (RW)
 
#define DYNA_ADDR_GOAL_POS_MASK   0x03ff
 valid data mask
 
#define DYNA_ADDR_GOAL_SPEED_LSB   32
 goal speed lsb (RW)
 
#define DYNA_ADDR_GOAL_SPEED_MSB   33
 goal speed msb (RW)
 
#define DYNA_ADDR_GOAL_SPEED_MASK   0x07ff
 valid data mask
 
#define DYNA_GOAL_SPEED_MAG_MASK   0x03ff
 speed magnitude field mask
 
#define DYNA_GOAL_SPEED_MAG_SHIFT   0
 speed magnitude field shift
 
#define DYNA_GOAL_SPEED_DIR_MASK   0x0400
 speed direction field mask
 
#define DYNA_GOAL_SPEED_DIR_SHIFT   10
 speed direction field shift
 
#define DYNA_GOAL_SPEED_DIR_CCW   0x00
 counterclockwise direction
 
#define DYNA_GOAL_SPEED_DIR_CW   (0x01 << DYNA_CUR_SPEED_DIR_SHIFT)
 clockwise direction
 
#define DYNA_ADDR_LIM_TORQUE_MAX_LSB   34
 current torque limit lsb (RW)
 
#define DYNA_ADDR_LIM_TORQUE_MAX_MSB   35
 current torque limit msb (RW)
 
#define DYNA_ADDR_LIM_TORQUE_MAX_MASK   0x03ff
 valid data mask
 
#define DYNA_LIM_TORQUE_MAX_ALARMED   0
 torque value on alarm shutdown
 
#define DYNA_ADDR_CUR_POS_LSB   36
 current position lsb (R)
 
#define DYNA_ADDR_CUR_POS_MSB   37
 current position msb (R)
 
#define DYNA_ADDR_CUR_POS_MASK   0x03ff
 valid data mask
 
#define DYNA_ADDR_CUR_SPEED_LSB   38
 current speed lsb (R)
 
#define DYNA_ADDR_CUR_SPEED_MSB   39
 current speed msb (R)
 
#define DYNA_ADDR_CUR_SPEED_MASK   0x07ff
 valid data mask
 
#define DYNA_CUR_SPEED_MAG_MASK   0x03ff
 speed magnitude field mask
 
#define DYNA_CUR_SPEED_MAG_SHIFT   0
 speed magnitude field shift
 
#define DYNA_CUR_SPEED_DIR_MASK   0x0400
 speed direction field mask
 
#define DYNA_CUR_SPEED_DIR_SHIFT   10
 speed direction field shift
 
#define DYNA_CUR_SPEED_DIR_CCW   0x00
 counterclockwise direction
 
#define DYNA_CUR_SPEED_DIR_CW   (0x01 << DYNA_CUR_SPEED_DIR_SHIFT)
 clockwise direction
 
#define DYNA_ADDR_CUR_LOAD_LSB   40
 current load lsb (R)
 
#define DYNA_ADDR_CUR_LOAD_MSB   41
 current load msb (R)
 
#define DYNA_ADDR_CUR_LOAD_MASK   0x07ff
 valid data mask
 
#define DYNA_CUR_LOAD_MAG_MASK   0x03ff
 load magnitude field mask
 
#define DYNA_CUR_LOAD_MAG_SHIFT   0
 load magnitude field shift
 
#define DYNA_CUR_LOAD_MAG_MIN   0
 minimum load
 
#define DYNA_CUR_LOAD_MAG_MAX   1023
 maximum load
 
#define DYNA_CUR_LOAD_DIR_MASK   0x0400
 load direction field mask
 
#define DYNA_CUR_LOAD_DIR_SHIFT   10
 load direction field shift
 
#define DYNA_CUR_LOAD_DIR_CCW   0x00
 counterclockwise direction
 
#define DYNA_CUR_LOAD_DIR_CW   (0x01 << DYNA_CUR_LOAD_DIR_SHIFT)
 clockwise direction
 
#define DYNA_CUR_LOAD_RES_PCT   (100.0/DYNA_CUR_LOAD_MAG_MAX)
 percent of maximum resolution
 
#define DYNA_CUR_LOAD_RES_PMIL   (1000.0/DYNA_CUR_LOAD_MAG_MAX)
 permil of maximum resolution
 
#define DYNA_ADDR_CUR_VOLT   42
 current voltage (R)
 
#define DYNA_ADDR_CUR_VOLT_MASK   0xff
 valid data mask
 
#define DYNA_CUR_VOLT_RES_V   DYNA_VOLT_RES_V
 0.1V precesion
 
#define DYNA_ADDR_CUR_TEMP_C   43
 current temperature C (R)
 
#define DYNA_ADDR_CUR_TEMP_MASK   0xff
 valid data mask
 
#define DYNA_CUR_TEMP_RES_C   DYNA_TEMP_RES_C
 1 ° Celsius resolution
 
#define DYNA_ADDR_REG_INSTR   44
 registered instruction (RW)
 
#define DYNA_ADDR_REG_INSTR_MASK   0xff
 valid data mask
 
#define DYBA_REG_INSTR_NO_WRITE   0
 no (pending?) REG_WRITE commands
 
#define DYBA_REG_INSTR_HAS_WRITE   1
 has (pending?) REG_WRITE commands
 
#define DYNA_ADDR_RESERVED_2   45
 reserved
 
#define DYNA_ADDR_IS_MOVING   46
 is [not] moving (to goal position)
 
#define DYNA_ADDR_IS_MOVING_MASK   0xff
 valid data mask
 
#define DYNA_IS_NOT_MOVING   0
 not moving
 
#define DYNA_IS_MOVING   1
 is moving
 
#define DYNA_ADDR_EEPROM_LOCK   47
 lock the EEPROM (RW)
 
#define DYNA_ADDR_EEPROM_LOCK_MASK   0xff
 valid data mask
 
#define DYNA_EEPROM_UNLOCKED   0
 eeprom is unlocked
 
#define DYNA_EEPROM_LOCKED   1
 eeprom is locked
 
#define DYNA_EEPROM_LOCK_DFT   0
 eeprom lock default
 
#define DYNA_ADDR_PUNCH_LSB   48
 punch lsb (not used)
 
#define DYNA_ADDR_PUNCH_MSB   49
 punch msb (not used)
 

Detailed Description

RoadNarrows Dynamixel Top-Level Package Header File.

LastChangedDate
2015-01-12 10:56:06 -0700 (Mon, 12 Jan 2015)
Rev
3845

Defines the unifying concepts of the RoadNarrows implementation of the Robotis Dynamixel servos including:

  • error codes
  • common parameter values
  • generic base dynamixel descriptions
Author
Robin Knight (robin.nosp@m..kni.nosp@m.ght@r.nosp@m.oadn.nosp@m.arrow.nosp@m.s.co.nosp@m.m)

Definition in file Dynamixel.h.