diff --git a/src/Dynamixel2Arduino.cpp b/src/Dynamixel2Arduino.cpp index 7eab95b..0007a73 100644 --- a/src/Dynamixel2Arduino.cpp +++ b/src/Dynamixel2Arduino.cpp @@ -885,6 +885,7 @@ const ModelDependencyFuncItemAndRangeInfo_t dependency_ctable_2_0_common[] PROGM #if (ENABLE_ACTUATOR_MX28_PROTOCOL2 \ || ENABLE_ACTUATOR_MX64_PROTOCOL2 \ || ENABLE_ACTUATOR_MX106_PROTOCOL2 \ + || ENABLE_ACTUATOR_XC430 \ || ENABLE_ACTUATOR_XL430 \ || ENABLE_ACTUATOR_XM430 || ENABLE_ACTUATOR_XH430 \ || ENABLE_ACTUATOR_XM540 || ENABLE_ACTUATOR_XH540) @@ -1182,7 +1183,11 @@ static ItemAndRangeInfo_t getModelDependencyFuncInfo(uint16_t model_num, uint8_t break; case MX28_2: + case XC430_W150: + case XC430_W240: + case XXC430_W250: case XL430_W250: + case XXL430_W250: p_common_ctable = dependency_ctable_2_0_common; break; case MX64_2: diff --git a/src/actuator.cpp b/src/actuator.cpp index b405817..3aaf242 100644 --- a/src/actuator.cpp +++ b/src/actuator.cpp @@ -174,6 +174,7 @@ const ModelControlTableInfo_t control_table_2_0[] PROGMEM = { || ENABLE_ACTUATOR_MX64_PROTOCOL2 \ || ENABLE_ACTUATOR_MX106_PROTOCOL2 \ || ENABLE_ACTUATOR_XL430 \ + || ENABLE_ACTUATOR_XC430 \ || ENABLE_ACTUATOR_XM430 || ENABLE_ACTUATOR_XH430 \ || ENABLE_ACTUATOR_XM540 || ENABLE_ACTUATOR_XH540) {ControlTableItem::MODEL_NUMBER, 0, 2}, @@ -248,8 +249,9 @@ const ModelControlTableInfo_t mx64_106_2_control_table[] PROGMEM = { {ControlTableItem::LAST_DUMMY_ITEM, 0, 0} }; -const ModelControlTableInfo_t xl430_control_table[] PROGMEM = { -#if (ENABLE_ACTUATOR_XL430) +const ModelControlTableInfo_t xc430_xl430_control_table[] PROGMEM = { +#if (ENABLE_ACTUATOR_XL430 \ + || ENABLE_ACTUATOR_XC430) {ControlTableItem::PRESENT_LOAD, 126, 2}, #endif {ControlTableItem::LAST_DUMMY_ITEM, 0, 0} @@ -464,9 +466,13 @@ ControlTableItemInfo_t DYNAMIXEL::getControlTableItemInfo(uint16_t model_num, ui p_common_ctable = xl320_control_table; break; + case XC430_W150: + case XC430_W240: + case XXC430_W250: case XL430_W250: + case XXL430_W250: p_common_ctable = control_table_2_0; - p_dep_ctable = xl430_control_table; + p_dep_ctable = xc430_xl430_control_table; break; case XM430_W210: diff --git a/src/actuator.h b/src/actuator.h index b1a0ca8..40b85c4 100644 --- a/src/actuator.h +++ b/src/actuator.h @@ -31,8 +31,14 @@ #define XL320 (uint16_t)350 +#define XC430_W150 (uint16_t)1070 +#define XC430_W240 (uint16_t)1080 +#define XXC430_W250 (uint16_t)1160 + #define XL430_W250 (uint16_t)1060 +#define XXL430_W250 (uint16_t)1090 + #define XM430_W210 (uint16_t)1030 #define XM430_W350 (uint16_t)1020 @@ -176,9 +182,6 @@ enum ControlTableItem{ LAST_DUMMY_ITEM = 0xFF }; - - - namespace DYNAMIXEL{ typedef struct ControlTableItemInfo{ @@ -186,10 +189,8 @@ typedef struct ControlTableItemInfo{ uint8_t addr_length; } ControlTableItemInfo_t; - ControlTableItemInfo_t getControlTableItemInfo(uint16_t model_num, uint8_t control_item); - } // namespace DYNAMIXEL #endif /* DYNAMIXEL_ACTUATOR_H_ */ \ No newline at end of file