55 #include "rnr/rnrconfig.h" 58 #include "rnr/units.h" 80 {0x00,
"Model Number", 2, 0xffff,
false, NULL},
81 {0x02,
"Firmware Version", 1, 0xff,
false,
"%u"},
82 {0x03,
"Servo Id", 1, 0xff,
false,
"%u"},
83 {0x04,
"Baud Rate", 1, 0xff,
false,
"%u"},
84 {0x05,
"Return Delay Time", 1, 0xff,
false,
"%u"},
85 {0x06,
"CW Angle Limit", 2, 0x3ff,
false,
"%u"},
86 {0x08,
"CCW Angle Limit", 2, 0x3ff,
false,
"%u"},
87 {0x0b,
"Highest Temperature Limit", 1, 0xff,
false,
"%u"},
88 {0x0c,
"Lowest Voltage Limit", 1, 0xff,
false,
"%u"},
89 {0x0d,
"Highest Voltage Limit", 1, 0xff,
false,
"%u"},
90 {0x0e,
"Maximum Torque", 2, 0x3ff,
false,
"%u"},
91 {0x10,
"Status Return Level", 1, 0xff,
false,
"%u"},
92 {0x11,
"Alarm LED", 1, 0xff,
false,
"%u"},
93 {0x12,
"Alarm Shutdown", 1, 0xff,
false, NULL},
94 {0x14,
"Multi Turn Offset", 2, 0xffff,
true,
"%d"},
95 {0x16,
"Resolution Divider", 1, 0xff,
false,
"%u"}
103 {0x18,
"Torque Enable", 1, 0xff,
false,
"%u"},
104 {0x19,
"LED", 1, 0xff,
false,
"%u"},
105 {0x1a,
"CW Compliance Margin", 1, 0xff,
false,
"%u"},
106 {0x1b,
"CCW Compliance Margin", 1, 0xff,
false,
"%u"},
107 {0x1c,
"CW Compliance Slope", 1, 0xff,
false,
"%u"},
108 {0x1d,
"CCW Compliance Slope", 1, 0xff,
false,
"%u"},
109 {0x1e,
"Goal Position", 2, 0x3ff,
false,
"%u"},
110 {0x20,
"Goal Speed", 2, 0x7ff,
true,
"%d"},
111 {0x22,
"Torque Limit", 2, 0x3ff,
false,
"%u"},
112 {0x24,
"Current Position", 2, 0x3ff,
false,
"%u"},
113 {0x26,
"Current Speed", 2, 0x7ff,
true,
"%d"},
114 {0x28,
"Current Load", 2, 0x7ff,
true,
"%d"},
115 {0x2a,
"Current Voltage", 1, 0xff,
false,
"%u"},
116 {0x2b,
"Current Temperature", 1, 0xff,
false,
"%u"},
117 {0x2c,
"Registered", 1, 0xff,
false,
"%u"},
118 {0x2e,
"Moving", 1, 0xff,
false,
"%u"},
119 {0x2f,
"Lock", 1, 0xff,
false,
"%u"},
120 {0x30,
"Punch", 2, 0x3ff,
false,
"%u"},
121 {0x44,
"Servo Current Draw", 2, 0x7ff,
true,
"%d"},
122 {0x46,
"Torque Control Enable", 1, 0x7ff,
false,
"%u"},
123 {0x47,
"Goal Torque", 2, 0x7ff,
true,
"%d"},
124 {0x49,
"Goal Acceleration", 1, 0xff,
false,
"%u"}
142 Init(nServoId, uFwVer);
158 DumpCtlTbl(
"EEPROM", MX64EEPROMCtlTblInfo, arraysize(MX64EEPROMCtlTblInfo));
162 DumpCtlTbl(
"RAM", MX64RAMCtlTblInfo, arraysize(MX64RAMCtlTblInfo));
RoadNarrows Dynamixel Bus Communications Abstract Base Class Interface.
#define DYNA_MX64_SPEC_DEPTH_MM
depth (mm)
char * newstr(const char *s)
Allocate new duplicated string.
#define DYNA_MX64_SPEC_MAX_SPEED_RPM
maximum no-load speed (rpm) at optimal power
#define DYNA_MX64_SPEC_TEMP_MIN_C
minimum recommended operational temperature (C)
#define DYNA_TORQUE_MAX_RAW
maximum raw torque
double m_fMaxSpeed
max no-load speed (rpm) at optimal power
#define DYNA_MX64_SPEC_WEIGHT_G
weight (grams)
#define DYNA_MX64_SPEC_VOLT_MAX_V
maximum operational voltage (V)
void DumpCtlTbl(const char *sTblName, const DynaCtlTblEntry_T tblInfo[], size_t uSize)
Dump the servo control tabl values to stdout.
#define DYNA_MX64_SPEC_ANGLE_MIN_DEG
minimum rotation angle in servo mode (deg)
RoadNarrows MX Series Dynamixel Declarations.
uint_t m_uRawVoltMin
minimum raw voltage value
static DynaCtlTblEntry_T MX64RAMCtlTblInfo[]
MX-64 Servo RAM Control Table Information.
#define DYNA_MX64_SPEC_STALL_TORQUE_KGF
maximum stall torque (kgf-cm) at optimal power
#define DYNA_MX64_POS_MAX_RAW
maximum raw angular position
#define DYNA_TEMP_MIN_RAW
minimum raw temperature
double m_fHeight
height (mm)
uint_t m_uRawPosMin
minimum raw position value (servo mode)
uint_t m_uRawSpeedMax
maximum raw speed magnitude value
#define DYNA_VOLT_MAX_RAW
maximum raw temperature
double m_fVoltMax
maximum operational voltage (V)
uint_t m_uRawSpeedMin
minimum raw speed magnitude value
#define DYNA_MX64_SPEC_ANGLE_MAX_DEG
maximum rotation angle in servo mode (deg)
#define DYNA_MX64_SPEC_GEAR_RATIO
gear reduction ratio : 1
Generic Dynamixel Servo Base Class Interface.
static const int DYNA_MODEL_NUM
#define DYNA_SPEED_MIN_RAW
minimum raw value
double m_fDepth
depth (mm)
void Init()
Initialize servo class instance.
#define DYNA_MX64_SPEC_TEMP_MAX_C
maximum recommended operational temperature (C)
uint_t m_uCtlMethodUsed
Dynamixel Internal Position Control Methods
double m_fVoltMin
minimum operational voltage (V)
double m_fAngleMin
min rotation angle in servo mode (deg)
#define DYNA_MX64_SPEC_HAS_360_POS
servo does provide 360 ° position data
#define DYNA_MX64_SPEC_WIDTH_MM
width (mm)
#define DYNA_MX64_SPEC_VOLT_MIN_V
minimum operational voltage (V)
double m_fGearRedectionRatio
gear reduction ratio
double m_fWeight
weight (grams)
#define DYNA_MX64_POS_MIN_RAW
minimum raw angular position
uint_t m_uSupportedModes
Dynamixel Operational Modes
uint_t m_uRawPosModulo
raw position modulo
Servo Control Table Entry.
double m_fResolution
resolution (degrees)
#define DYNA_TORQUE_MIN_RAW
minimum raw torque
uint_t m_uRawTorqueMin
minimum raw torque value
#define DYNA_MX64_SPEC_HEIGHT_MM
height (mm)
The libDynamixel internal declarations.
char * m_sModelName
model name
#define DYNA_MX64_SPEC_CTL_METHOD
position control method (see Dynamixel Internal Position Control Methods)
Generic Dynamixel Servo Base Class.
uint_t m_uRawTempMin
minimum raw temperature value
double m_fTempMin
minimum operational temperature (C)
void InitCfg()
Initialize servo configuration data.
uint_t m_uRawTorqueMax
maximum raw torque value
void InitState()
Initialize servo state data.
#define DYNA_TEMP_MAX_RAW
maximum raw temperature
virtual ~DynaServoMX64()
Destructor.
DynaServoMX64(DynaComm &comm)
Bare-bones initialization constructor.
void Init(int nServoId, uint_t uModelNum, uint_t uFwVer)
Initialize servo class instance.
RoadNarrows Dynamixel Archetype Servo Abstract Base Class.
#define DYNA_MX64_SPEC_POS_RES_DEG
resolution (degrees)
#define DYNA_MX64_SPEC_MODES
supported modes (see Dynamixel Operational Modes)
virtual void CheckData()
Check data for consitencies.
#define DYNA_VOLT_MIN_RAW
minimum raw temperature
double m_fTempMax
maximum operational temperature (C)
virtual int SyncData()
Synchronize the shadowed configuration and state data to the servo control table. ...
RoadNarrows Dynamixel Top-Level Package Header File.
#define DYNA_MX64_POS_MODULO
servo position modulo [0-max]
static DynaCtlTblEntry_T MX64EEPROMCtlTblInfo[]
MX-64 Servo EEPROM Control Table Information.
uint_t m_uRawPosMax
maximum raw position value (servo mode)
DynaServoSpec_T m_spec
servo specification
void InitSpec()
Initialize servo fixed specification data.
uint_t m_uRawTempMax
maximum raw temperature value
virtual void Dump()
Dump contents of the servo EEPROM and RAM control tables.
double m_fStallTorque
max stall torque (kgf) at optimal power
#define DYNA_SPEED_MAX_RAW
maximum raw value
double m_fWidth
width (mm)
double m_fAngleMax
max rotation angle in servo mode (deg)
bool m_bHas360Pos
does [not] have full 360 position info
RoadNarrows MX-64 Dynamixel Servo Class Interface.
uint_t m_uRawVoltMax
maximum raw voltage value
RoadNarrows Dynamixel Library Error and Logging Routines.
Dynamixel Bus Communications Abstract Base Class.