Skip to content
Snippets Groups Projects

Dynamixel manager

Merged Sergi Hernandez requested to merge dynamixel_manager into master
6 files
+ 294
334
Compare changes
  • Side-by-side
  • Inline
Files
6
+ 101
101
@@ -88,106 +88,106 @@ extern "C" {
@@ -88,106 +88,106 @@ extern "C" {
#define LAST_EEPROM_OFFSET ((unsigned short int)0x00FF)
#define LAST_EEPROM_OFFSET ((unsigned short int)0x00FF)
typedef enum {
typedef enum {
DARWIN_MODEL_NUMBER_L = DEVICE_MODEL_OFFSET,
DARWIN_MODEL_NUMBER_L = DEVICE_MODEL_OFFSET,
DARWIN_MODEL_NUMBER_H = DEVICE_MODEL_OFFSET+1,
DARWIN_MODEL_NUMBER_H = DEVICE_MODEL_OFFSET+1,
DARWIN_VERSION = FIRMWARE_VERSION_OFFSET,
DARWIN_VERSION = FIRMWARE_VERSION_OFFSET,
DARWIN_ID = DEVICE_ID_OFFSET,
DARWIN_ID = DEVICE_ID_OFFSET,
DARWIN_BAUD_RATE = BAUDRATE_OFFSET,
DARWIN_BAUD_RATE = BAUDRATE_OFFSET,
DARWIN_RETURN_DELAY_TIME = RETURN_DELAY_OFFSET,
DARWIN_RETURN_DELAY_TIME = RETURN_DELAY_OFFSET,
DARWIN_MM_PERIOD_L = MM_PERIOD_OFFSET,
DARWIN_MM_PERIOD_L = MM_PERIOD_OFFSET,
DARWIN_MM_PERIOD_H = MM_PERIOD_OFFSET+1,
DARWIN_MM_PERIOD_H = MM_PERIOD_OFFSET+1,
DARWIN_MM_BAL_KNEE_GAIN_L = MM_BAL_KNEE_GAIN_OFFSET,// fixed point format 0|16
DARWIN_MM_BAL_KNEE_GAIN_L = MM_BAL_KNEE_GAIN_OFFSET,// fixed point format 0|16
DARWIN_MM_BAL_KNEE_GAIN_H = MM_BAL_KNEE_GAIN_OFFSET+1,
DARWIN_MM_BAL_KNEE_GAIN_H = MM_BAL_KNEE_GAIN_OFFSET+1,
DARWIN_MM_BAL_ANKLE_ROLL_GAIN_L = MM_BAL_ANKLE_ROLL_GAIN_OFFSET,// fixed point format 0|16
DARWIN_MM_BAL_ANKLE_ROLL_GAIN_L = MM_BAL_ANKLE_ROLL_GAIN_OFFSET,// fixed point format 0|16
DARWIN_MM_BAL_ANKLE_ROLL_GAIN_H = MM_BAL_ANKLE_ROLL_GAIN_OFFSET+1,
DARWIN_MM_BAL_ANKLE_ROLL_GAIN_H = MM_BAL_ANKLE_ROLL_GAIN_OFFSET+1,
DARWIN_MM_BAL_ANKLE_PITCH_GAIN_L = MM_BAL_ANKLE_PITCH_GAIN_OFFSET,// fixed point format 0|16
DARWIN_MM_BAL_ANKLE_PITCH_GAIN_L = MM_BAL_ANKLE_PITCH_GAIN_OFFSET,// fixed point format 0|16
DARWIN_MM_BAL_ANKLE_PITCH_GAIN_H = MM_BAL_ANKLE_PITCH_GAIN_OFFSET+1,
DARWIN_MM_BAL_ANKLE_PITCH_GAIN_H = MM_BAL_ANKLE_PITCH_GAIN_OFFSET+1,
DARWIN_MM_BAL_HIP_ROLL_GAIN_L = MM_BAL_HIP_ROLL_GAIN_OFFSET,// fixed point format 0|16
DARWIN_MM_BAL_HIP_ROLL_GAIN_L = MM_BAL_HIP_ROLL_GAIN_OFFSET,// fixed point format 0|16
DARWIN_MM_BAL_HIP_ROLL_GAIN_H = MM_BAL_HIP_ROLL_GAIN_OFFSET+1,
DARWIN_MM_BAL_HIP_ROLL_GAIN_H = MM_BAL_HIP_ROLL_GAIN_OFFSET+1,
DARWIN_RETURN_LEVEL = RETURN_LEVEL_OFFSET,
DARWIN_RETURN_LEVEL = RETURN_LEVEL_OFFSET,
DARWIN_MM_SERVO0_OFFSET = MM_SERVO0_OFFSET, // angle offset in fixed point format 1-3|4
DARWIN_MM_SERVO0_OFFSET = MM_SERVO0_OFFSET, // angle offset in fixed point format 1-3|4
DARWIN_MM_SERVO1_OFFSET = MM_SERVO1_OFFSET, // angle offset in fixed point format 1-3|4
DARWIN_MM_SERVO1_OFFSET = MM_SERVO1_OFFSET, // angle offset in fixed point format 1-3|4
DARWIN_MM_SERVO2_OFFSET = MM_SERVO2_OFFSET, // angle offset in fixed point format 1-3|4
DARWIN_MM_SERVO2_OFFSET = MM_SERVO2_OFFSET, // angle offset in fixed point format 1-3|4
DARWIN_MM_SERVO3_OFFSET = MM_SERVO3_OFFSET, // angle offset in fixed point format 1-3|4
DARWIN_MM_SERVO3_OFFSET = MM_SERVO3_OFFSET, // angle offset in fixed point format 1-3|4
DARWIN_MM_SERVO4_OFFSET = MM_SERVO4_OFFSET, // angle offset in fixed point format 1-3|4
DARWIN_MM_SERVO4_OFFSET = MM_SERVO4_OFFSET, // angle offset in fixed point format 1-3|4
DARWIN_MM_SERVO5_OFFSET = MM_SERVO5_OFFSET, // angle offset in fixed point format 1-3|4
DARWIN_MM_SERVO5_OFFSET = MM_SERVO5_OFFSET, // angle offset in fixed point format 1-3|4
DARWIN_MM_SERVO6_OFFSET = MM_SERVO6_OFFSET, // angle offset in fixed point format 1-3|4
DARWIN_MM_SERVO6_OFFSET = MM_SERVO6_OFFSET, // angle offset in fixed point format 1-3|4
DARWIN_MM_SERVO7_OFFSET = MM_SERVO7_OFFSET, // angle offset in fixed point format 1-3|4
DARWIN_MM_SERVO7_OFFSET = MM_SERVO7_OFFSET, // angle offset in fixed point format 1-3|4
DARWIN_MM_SERVO8_OFFSET = MM_SERVO8_OFFSET, // angle offset in fixed point format 1-3|4
DARWIN_MM_SERVO8_OFFSET = MM_SERVO8_OFFSET, // angle offset in fixed point format 1-3|4
DARWIN_MM_SERVO9_OFFSET = MM_SERVO9_OFFSET, // angle offset in fixed point format 1-3|4
DARWIN_MM_SERVO9_OFFSET = MM_SERVO9_OFFSET, // angle offset in fixed point format 1-3|4
DARWIN_MM_SERVO10_OFFSET = MM_SERVO10_OFFSET, // angle offset in fixed point format 1-3|4
DARWIN_MM_SERVO10_OFFSET = MM_SERVO10_OFFSET, // angle offset in fixed point format 1-3|4
DARWIN_MM_SERVO11_OFFSET = MM_SERVO11_OFFSET, // angle offset in fixed point format 1-3|4
DARWIN_MM_SERVO11_OFFSET = MM_SERVO11_OFFSET, // angle offset in fixed point format 1-3|4
DARWIN_MM_SERVO12_OFFSET = MM_SERVO12_OFFSET, // angle offset in fixed point format 1-3|4
DARWIN_MM_SERVO12_OFFSET = MM_SERVO12_OFFSET, // angle offset in fixed point format 1-3|4
DARWIN_MM_SERVO13_OFFSET = MM_SERVO13_OFFSET, // angle offset in fixed point format 1-3|4
DARWIN_MM_SERVO13_OFFSET = MM_SERVO13_OFFSET, // angle offset in fixed point format 1-3|4
DARWIN_MM_SERVO14_OFFSET = MM_SERVO14_OFFSET, // angle offset in fixed point format 1-3|4
DARWIN_MM_SERVO14_OFFSET = MM_SERVO14_OFFSET, // angle offset in fixed point format 1-3|4
DARWIN_MM_SERVO15_OFFSET = MM_SERVO15_OFFSET, // angle offset in fixed point format 1-3|4
DARWIN_MM_SERVO15_OFFSET = MM_SERVO15_OFFSET, // angle offset in fixed point format 1-3|4
DARWIN_MM_SERVO16_OFFSET = MM_SERVO16_OFFSET, // angle offset in fixed point format 1-3|4
DARWIN_MM_SERVO16_OFFSET = MM_SERVO16_OFFSET, // angle offset in fixed point format 1-3|4
DARWIN_MM_SERVO17_OFFSET = MM_SERVO17_OFFSET, // angle offset in fixed point format 1-3|4
DARWIN_MM_SERVO17_OFFSET = MM_SERVO17_OFFSET, // angle offset in fixed point format 1-3|4
DARWIN_MM_SERVO18_OFFSET = MM_SERVO18_OFFSET, // angle offset in fixed point format 1-3|4
DARWIN_MM_SERVO18_OFFSET = MM_SERVO18_OFFSET, // angle offset in fixed point format 1-3|4
DARWIN_MM_SERVO19_OFFSET = MM_SERVO19_OFFSET, // angle offset in fixed point format 1-3|4
DARWIN_MM_SERVO19_OFFSET = MM_SERVO19_OFFSET, // angle offset in fixed point format 1-3|4
DARWIN_MM_SERVO20_OFFSET = MM_SERVO20_OFFSET, // angle offset in fixed point format 1-3|4
DARWIN_MM_SERVO20_OFFSET = MM_SERVO20_OFFSET, // angle offset in fixed point format 1-3|4
DARWIN_MM_SERVO21_OFFSET = MM_SERVO21_OFFSET, // angle offset in fixed point format 1-3|4
DARWIN_MM_SERVO21_OFFSET = MM_SERVO21_OFFSET, // angle offset in fixed point format 1-3|4
DARWIN_MM_SERVO22_OFFSET = MM_SERVO22_OFFSET, // angle offset in fixed point format 1-3|4
DARWIN_MM_SERVO22_OFFSET = MM_SERVO22_OFFSET, // angle offset in fixed point format 1-3|4
DARWIN_MM_SERVO23_OFFSET = MM_SERVO23_OFFSET, // angle offset in fixed point format 1-3|4
DARWIN_MM_SERVO23_OFFSET = MM_SERVO23_OFFSET, // angle offset in fixed point format 1-3|4
DARWIN_MM_SERVO24_OFFSET = MM_SERVO24_OFFSET, // angle offset in fixed point format 1-3|4
DARWIN_MM_SERVO24_OFFSET = MM_SERVO24_OFFSET, // angle offset in fixed point format 1-3|4
DARWIN_MM_SERVO25_OFFSET = MM_SERVO25_OFFSET, // angle offset in fixed point format 1-3|4
DARWIN_MM_SERVO25_OFFSET = MM_SERVO25_OFFSET, // angle offset in fixed point format 1-3|4
DARWIN_MM_SERVO26_OFFSET = MM_SERVO26_OFFSET, // angle offset in fixed point format 1-3|4
DARWIN_MM_SERVO26_OFFSET = MM_SERVO26_OFFSET, // angle offset in fixed point format 1-3|4
DARWIN_MM_SERVO27_OFFSET = MM_SERVO27_OFFSET, // angle offset in fixed point format 1-3|4
DARWIN_MM_SERVO27_OFFSET = MM_SERVO27_OFFSET, // angle offset in fixed point format 1-3|4
DARWIN_MM_SERVO28_OFFSET = MM_SERVO28_OFFSET, // angle offset in fixed point format 1-3|4
DARWIN_MM_SERVO28_OFFSET = MM_SERVO28_OFFSET, // angle offset in fixed point format 1-3|4
DARWIN_MM_SERVO29_OFFSET = MM_SERVO29_OFFSET, // angle offset in fixed point format 1-3|4
DARWIN_MM_SERVO29_OFFSET = MM_SERVO29_OFFSET, // angle offset in fixed point format 1-3|4
DARWIN_MM_SERVO30_OFFSET = MM_SERVO30_OFFSET, // angle offset in fixed point format 1-3|4
DARWIN_MM_SERVO30_OFFSET = MM_SERVO30_OFFSET, // angle offset in fixed point format 1-3|4
DARWIN_MM_SERVO31_OFFSET = MM_SERVO31_OFFSET, // angle offset in fixed point format 1-3|4
DARWIN_MM_SERVO31_OFFSET = MM_SERVO31_OFFSET, // angle offset in fixed point format 1-3|4
DARWIN_WALK_X_OFFSET = WALK_X_OFFSET,
DARWIN_WALK_X_OFFSET = WALK_X_OFFSET,
DARWIN_WALK_Y_OFFSET = WALK_Y_OFFSET,
DARWIN_WALK_Y_OFFSET = WALK_Y_OFFSET,
DARWIN_WALK_Z_OFFSET = WALK_Z_OFFSET,
DARWIN_WALK_Z_OFFSET = WALK_Z_OFFSET,
DARWIN_WALK_ROLL_OFFSET = WALK_ROLL_OFFSET,
DARWIN_WALK_ROLL_OFFSET = WALK_ROLL_OFFSET,
DARWIN_WALK_PITCH_OFFSET = WALK_PITCH_OFFSET,
DARWIN_WALK_PITCH_OFFSET = WALK_PITCH_OFFSET,
DARWIN_WALK_YAW_OFFSET = WALK_YAW_OFFSET,
DARWIN_WALK_YAW_OFFSET = WALK_YAW_OFFSET,
DARWIN_WALK_HIP_PITCH_OFF_L = WALK_HIP_PITCH_OFF,
DARWIN_WALK_HIP_PITCH_OFF_L = WALK_HIP_PITCH_OFF,
DARWIN_WALK_HIP_PITCH_OFF_H = WALK_HIP_PITCH_OFF+1,
DARWIN_WALK_HIP_PITCH_OFF_H = WALK_HIP_PITCH_OFF+1,
DARWIN_WALK_PERIOD_TIME_L = WALK_PERIOD_TIME,
DARWIN_WALK_PERIOD_TIME_L = WALK_PERIOD_TIME,
DARWIN_WALK_PERIOD_TIME_H = WALK_PERIOD_TIME+1,
DARWIN_WALK_PERIOD_TIME_H = WALK_PERIOD_TIME+1,
DARWIN_WALK_DSP_RATIO = WALK_DSP_RATIO,
DARWIN_WALK_DSP_RATIO = WALK_DSP_RATIO,
DARWIN_WALK_STEP_FW_BW_RATIO = WALK_STEP_FW_BW_RATIO,
DARWIN_WALK_STEP_FW_BW_RATIO = WALK_STEP_FW_BW_RATIO,
DARWIN_WALK_FOOT_HEIGHT = WALK_FOOT_HEIGHT,
DARWIN_WALK_FOOT_HEIGHT = WALK_FOOT_HEIGHT,
DARWIN_WALK_SWING_RIGHT_LEFT = WALK_SWING_RIGHT_LEFT,
DARWIN_WALK_SWING_RIGHT_LEFT = WALK_SWING_RIGHT_LEFT,
DARWIN_WALK_SWING_TOP_DOWN = WALK_SWING_TOP_DOWN,
DARWIN_WALK_SWING_TOP_DOWN = WALK_SWING_TOP_DOWN,
DARWIN_WALK_PELVIS_OFFSET = WALK_PELVIS_OFFSET,
DARWIN_WALK_PELVIS_OFFSET = WALK_PELVIS_OFFSET,
DARWIN_WALK_ARM_SWING_GAIN = WALK_ARM_SWING_GAIN,
DARWIN_WALK_ARM_SWING_GAIN = WALK_ARM_SWING_GAIN,
DARWIN_WALK_MAX_VEL = WALK_MAX_VEL,
DARWIN_WALK_MAX_VEL = WALK_MAX_VEL,
DARWIN_WALK_MAX_ROT_VEL = WALK_MAX_ROT_VEL,
DARWIN_WALK_MAX_ROT_VEL = WALK_MAX_ROT_VEL,
DARWIN_HEAD_PAN_P_L = HEAD_PAN_P,// constant in fixed point format 0|16
DARWIN_HEAD_PAN_P_L = HEAD_PAN_P,// constant in fixed point format 0|16
DARWIN_HEAD_PAN_P_H = HEAD_PAN_P+1,
DARWIN_HEAD_PAN_P_H = HEAD_PAN_P+1,
DARWIN_HEAD_PAN_I_L = HEAD_PAN_I,// constant in fixed point format 0|16
DARWIN_HEAD_PAN_I_L = HEAD_PAN_I,// constant in fixed point format 0|16
DARWIN_HEAD_PAN_I_H = HEAD_PAN_I+1,
DARWIN_HEAD_PAN_I_H = HEAD_PAN_I+1,
DARWIN_HEAD_PAN_D_L = HEAD_PAN_D,// constant in fixed point format 0|16
DARWIN_HEAD_PAN_D_L = HEAD_PAN_D,// constant in fixed point format 0|16
DARWIN_HEAD_PAN_D_H = HEAD_PAN_D+1,
DARWIN_HEAD_PAN_D_H = HEAD_PAN_D+1,
DARWIN_HEAD_PAN_I_CLAMP_L = HEAD_PAN_I_CLAMP,// max error in fixed point format 9|7
DARWIN_HEAD_PAN_I_CLAMP_L = HEAD_PAN_I_CLAMP,// max error in fixed point format 9|7
DARWIN_HEAD_PAN_I_CLAMP_H = HEAD_PAN_I_CLAMP+1,
DARWIN_HEAD_PAN_I_CLAMP_H = HEAD_PAN_I_CLAMP+1,
DARWIN_HEAD_TILT_P_L = HEAD_TILT_P,// constant in fixed point format 0|16
DARWIN_HEAD_TILT_P_L = HEAD_TILT_P,// constant in fixed point format 0|16
DARWIN_HEAD_TILT_P_H = HEAD_TILT_P+1,
DARWIN_HEAD_TILT_P_H = HEAD_TILT_P+1,
DARWIN_HEAD_TILT_I_L = HEAD_TILT_I,// constant in fixed point format 0|16
DARWIN_HEAD_TILT_I_L = HEAD_TILT_I,// constant in fixed point format 0|16
DARWIN_HEAD_TILT_I_H = HEAD_TILT_I+1,
DARWIN_HEAD_TILT_I_H = HEAD_TILT_I+1,
DARWIN_HEAD_TILT_D_L = HEAD_TILT_D,// constant in fixed point format 0|16
DARWIN_HEAD_TILT_D_L = HEAD_TILT_D,// constant in fixed point format 0|16
DARWIN_HEAD_TILT_D_H = HEAD_TILT_D+1,
DARWIN_HEAD_TILT_D_H = HEAD_TILT_D+1,
DARWIN_HEAD_TILT_I_CLAMP_L = HEAD_TILT_I_CLAMP,// max error in fixed point format 9|7
DARWIN_HEAD_TILT_I_CLAMP_L = HEAD_TILT_I_CLAMP,// max error in fixed point format 9|7
DARWIN_HEAD_TILT_I_CLAMP_H = HEAD_TILT_I_CLAMP+1,
DARWIN_HEAD_TILT_I_CLAMP_H = HEAD_TILT_I_CLAMP+1,
DARWIN_GRIPPER_LEFT_ID = GRIPPER_LEFT_ID,
DARWIN_GRIPPER_LEFT_ID = GRIPPER_LEFT_ID,
DARWIN_GRIPPER_LEFT_MAX_ANGLE_L = GRIPPER_LEFT_MAX_ANGLE,
DARWIN_GRIPPER_LEFT_MAX_ANGLE_L = GRIPPER_LEFT_MAX_ANGLE,
DARWIN_GRIPPER_LEFT_MAX_ANGLE_H = GRIPPER_LEFT_MAX_ANGLE+1,
DARWIN_GRIPPER_LEFT_MAX_ANGLE_H = GRIPPER_LEFT_MAX_ANGLE+1,
DARWIN_GRIPPER_LEFT_MIN_ANGLE_L = GRIPPER_LEFT_MIN_ANGLE,
DARWIN_GRIPPER_LEFT_MIN_ANGLE_L = GRIPPER_LEFT_MIN_ANGLE,
DARWIN_GRIPPER_LEFT_MIN_ANGLE_H = GRIPPER_LEFT_MIN_ANGLE+1,
DARWIN_GRIPPER_LEFT_MIN_ANGLE_H = GRIPPER_LEFT_MIN_ANGLE+1,
DARWIN_GRIPPER_LEFT_MAX_FORCE_L = GRIPPER_LEFT_MAX_FORCE,
DARWIN_GRIPPER_LEFT_MAX_FORCE_L = GRIPPER_LEFT_MAX_FORCE,
DARWIN_GRIPPER_LEFT_MAX_FORCE_H = GRIPPER_LEFT_MAX_FORCE+1,
DARWIN_GRIPPER_LEFT_MAX_FORCE_H = GRIPPER_LEFT_MAX_FORCE+1,
DARWIN_GRIPPER_RIGHT_ID = GRIPPER_RIGHT_ID,
DARWIN_GRIPPER_RIGHT_ID = GRIPPER_RIGHT_ID,
DARWIN_GRIPPER_RIGHT_MAX_ANGLE_L = GRIPPER_RIGHT_MAX_ANGLE,
DARWIN_GRIPPER_RIGHT_MAX_ANGLE_L = GRIPPER_RIGHT_MAX_ANGLE,
DARWIN_GRIPPER_RIGHT_MAX_ANGLE_H = GRIPPER_RIGHT_MAX_ANGLE+1,
DARWIN_GRIPPER_RIGHT_MAX_ANGLE_H = GRIPPER_RIGHT_MAX_ANGLE+1,
DARWIN_GRIPPER_RIGHT_MIN_ANGLE_L = GRIPPER_RIGHT_MIN_ANGLE,
DARWIN_GRIPPER_RIGHT_MIN_ANGLE_L = GRIPPER_RIGHT_MIN_ANGLE,
DARWIN_GRIPPER_RIGHT_MIN_ANGLE_H = GRIPPER_RIGHT_MIN_ANGLE+1,
DARWIN_GRIPPER_RIGHT_MIN_ANGLE_H = GRIPPER_RIGHT_MIN_ANGLE+1,
DARWIN_GRIPPER_RIGHT_MAX_FORCE_L = GRIPPER_RIGHT_MAX_FORCE,
DARWIN_GRIPPER_RIGHT_MAX_FORCE_L = GRIPPER_RIGHT_MAX_FORCE,
DARWIN_GRIPPER_RIGHT_MAX_FORCE_H = GRIPPER_RIGHT_MAX_FORCE+1,
DARWIN_GRIPPER_RIGHT_MAX_FORCE_H = GRIPPER_RIGHT_MAX_FORCE+1,
DARWIN_SMART_CHARGER_PERIOD_L = SMART_CHARGER_PERIOD, //en ms
DARWIN_SMART_CHARGER_PERIOD_L = SMART_CHARGER_PERIOD, //en ms
DARWIN_SMART_CHARGER_PERIOD_H = SMART_CHARGER_PERIOD+1,
DARWIN_SMART_CHARGER_PERIOD_H = SMART_CHARGER_PERIOD+1,
//RAM
//RAM
DARWIN_TX_LED_CNTRL = 0x0100, // bit 7 | bit 6 | bit 5 | bit 4 | bit 3 | bit 2 | bit 1 | bit 0
DARWIN_TX_LED_CNTRL = 0x0100, // bit 7 | bit 6 | bit 5 | bit 4 | bit 3 | bit 2 | bit 1 | bit 0
// | | | | blink | toggle | value | internally used
// | | | | blink | toggle | value | internally used
@@ -673,7 +673,7 @@ typedef enum {
@@ -673,7 +673,7 @@ typedef enum {
#define GRIPPER_CLOSE_LEFT 0x08
#define GRIPPER_CLOSE_LEFT 0x08
#define SMART_CHARGER_BASE_ADDRESS 0x0247
#define SMART_CHARGER_BASE_ADDRESS 0x0247
#define SMART_CHARGER_MEM_LENGTH 10
#define SMART_CHARGER_MEM_LENGTH 11
#define SMART_CHARGER_EEPROM_BASE 0x0062
#define SMART_CHARGER_EEPROM_BASE 0x0062
#define SMART_CHARGER_EEPROM_LENGTH 2
#define SMART_CHARGER_EEPROM_LENGTH 2
#define SMART_CHARGER_DET 0x01
#define SMART_CHARGER_DET 0x01
Loading