From b1d8a2835aa8342b0e07f2af1f384e1b28397c91 Mon Sep 17 00:00:00 2001 From: Wonho Yun Date: Thu, 10 Apr 2025 11:12:16 +0900 Subject: [PATCH 1/6] Modified print type error Signed-off-by: Wonho Yun --- src/dynamixel/dynamixel.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/dynamixel/dynamixel.cpp b/src/dynamixel/dynamixel.cpp index 6f89c57..cb4d783 100644 --- a/src/dynamixel/dynamixel.cpp +++ b/src/dynamixel/dynamixel.cpp @@ -965,7 +965,7 @@ DxlError Dynamixel::ProcessReadCommunication( dxl_comm_result = group_sync_read->txPacket(); if (dxl_comm_result != COMM_SUCCESS) { fprintf( - stderr, "SyncRead Tx Fail [Dxl Size : %d] [Error code : %d]\n", + stderr, "SyncRead Tx Fail [Dxl Size : %ld] [Error code : %d]\n", read_data_list_.size(), dxl_comm_result); return DxlError::SYNC_READ_FAIL; } @@ -973,7 +973,7 @@ DxlError Dynamixel::ProcessReadCommunication( dxl_comm_result = group_bulk_read->txPacket(); if (dxl_comm_result != COMM_SUCCESS) { fprintf( - stderr, "BulkRead Tx Fail [Dxl Size : %d] [Error code : %d]\n", + stderr, "BulkRead Tx Fail [Dxl Size : %ld] [Error code : %d]\n", read_data_list_.size(), dxl_comm_result); return DxlError::BULK_READ_FAIL; } @@ -989,7 +989,7 @@ DxlError Dynamixel::ProcessReadCommunication( dxl_comm_result = group_sync_read->rxPacket(); if (dxl_comm_result != COMM_SUCCESS) { fprintf( - stderr, "SyncRead Rx Fail [Dxl Size : %d] [Error code : %d]\n", + stderr, "SyncRead Rx Fail [Dxl Size : %ld] [Error code : %d]\n", read_data_list_.size(), dxl_comm_result); return DxlError::SYNC_READ_FAIL; } @@ -997,7 +997,7 @@ DxlError Dynamixel::ProcessReadCommunication( dxl_comm_result = group_bulk_read->rxPacket(); if (dxl_comm_result != COMM_SUCCESS) { fprintf( - stderr, "BulkRead Rx Fail [Dxl Size : %d] [Error code : %d]\n", + stderr, "BulkRead Rx Fail [Dxl Size : %ld] [Error code : %d]\n", read_data_list_.size(), dxl_comm_result); return DxlError::BULK_READ_FAIL; } From ebce0be865f093c0a2a60f0adbe9e0b55ee8cc7d Mon Sep 17 00:00:00 2001 From: Wonho Yun Date: Thu, 10 Apr 2025 11:14:56 +0900 Subject: [PATCH 2/6] Modified the error about unused id Signed-off-by: Wonho Yun --- .../dynamixel/dynamixel_info.hpp | 4 ++-- src/dynamixel/dynamixel.cpp | 8 +++----- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/include/dynamixel_hardware_interface/dynamixel/dynamixel_info.hpp b/include/dynamixel_hardware_interface/dynamixel/dynamixel_info.hpp index a7dc825..106304d 100644 --- a/include/dynamixel_hardware_interface/dynamixel/dynamixel_info.hpp +++ b/include/dynamixel_hardware_interface/dynamixel/dynamixel_info.hpp @@ -86,9 +86,9 @@ class DynamixelInfo {return static_cast(effort / dxl_info_[id].torque_constant);} inline double ConvertCurrentToEffort(uint8_t id, int16_t current) {return static_cast(current * dxl_info_[id].torque_constant);} - inline double ConvertValueRPMToVelocityRPS(uint8_t id, int32_t value_rpm) + inline double ConvertValueRPMToVelocityRPS(int32_t value_rpm) {return static_cast(value_rpm * 0.01 / 60.0 * 2.0 * M_PI);} - inline int32_t ConvertVelocityRPSToValueRPM(uint8_t id, double vel_rps) + inline int32_t ConvertVelocityRPSToValueRPM(double vel_rps) {return static_cast(vel_rps * 100.0 * 60.0 / 2.0 / M_PI);} }; diff --git a/src/dynamixel/dynamixel.cpp b/src/dynamixel/dynamixel.cpp index cb4d783..a628fec 100644 --- a/src/dynamixel/dynamixel.cpp +++ b/src/dynamixel/dynamixel.cpp @@ -1027,9 +1027,7 @@ DxlError Dynamixel::ProcessReadData( id, static_cast(dxl_getdata)); } else if (item_names[item_index] == "Present Velocity") { - *data_ptrs[item_index] = dxl_info_.ConvertValueRPMToVelocityRPS( - id, - static_cast(dxl_getdata)); + *data_ptrs[item_index] = dxl_info_.ConvertValueRPMToVelocityRPS(static_cast(dxl_getdata)); } else if (item_names[item_index] == "Present Current") { *data_ptrs[item_index] = dxl_info_.ConvertCurrentToEffort( id, @@ -1173,7 +1171,7 @@ DxlError Dynamixel::SetDxlValueToSyncWrite() param_write_value[added_byte + 0] = DXL_LOBYTE(goal_current); param_write_value[added_byte + 1] = DXL_HIBYTE(goal_current); } else if (indirect_info_write_[ID].item_name.at(item_index) == "Goal Velocity") { - int16_t goal_velocity = dxl_info_.ConvertVelocityRPSToValueRPM(ID, data); + int16_t goal_velocity = dxl_info_.ConvertVelocityRPSToValueRPM(data); param_write_value[added_byte + 0] = DXL_LOBYTE(DXL_LOWORD(goal_velocity)); param_write_value[added_byte + 1] = DXL_HIBYTE(DXL_LOWORD(goal_velocity)); param_write_value[added_byte + 2] = DXL_LOBYTE(DXL_HIWORD(goal_velocity)); @@ -1288,7 +1286,7 @@ DxlError Dynamixel::SetDxlValueToBulkWrite() param_write_value[added_byte + 0] = DXL_LOBYTE(goal_current); param_write_value[added_byte + 1] = DXL_HIBYTE(goal_current); } else if (indirect_info_write_[ID].item_name.at(item_index) == "Goal Velocity") { - int32_t goal_velocity = dxl_info_.ConvertVelocityRPSToValueRPM(ID, data); + int32_t goal_velocity = dxl_info_.ConvertVelocityRPSToValueRPM(data); param_write_value[added_byte + 0] = DXL_LOBYTE(DXL_LOWORD(goal_velocity)); param_write_value[added_byte + 1] = DXL_HIBYTE(DXL_LOWORD(goal_velocity)); param_write_value[added_byte + 2] = DXL_LOBYTE(DXL_HIWORD(goal_velocity)); From 99e1702c339ce884e962302701e96cc9058635ed Mon Sep 17 00:00:00 2001 From: Wonho Yun Date: Thu, 10 Apr 2025 16:37:13 +0900 Subject: [PATCH 3/6] Added switch's default option Signed-off-by: Wonho Yun --- src/dynamixel/dynamixel.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/dynamixel/dynamixel.cpp b/src/dynamixel/dynamixel.cpp index a628fec..424a0c3 100644 --- a/src/dynamixel/dynamixel.cpp +++ b/src/dynamixel/dynamixel.cpp @@ -635,6 +635,8 @@ std::string Dynamixel::DxlErrorToString(DxlError error_num) return "DLX_HARDWARE_ERROR"; case DXL_REBOOT_FAIL: return "DXL_REBOOT_FAIL"; + default: + return "UNKNOWN_ERROR"; } } From 32b08ab8a9659d111c2af541ad60784ccdb1c1f4 Mon Sep 17 00:00:00 2001 From: Wonho Yun Date: Thu, 10 Apr 2025 16:40:37 +0900 Subject: [PATCH 4/6] Modified unused parameters adding maybe_unused Signed-off-by: Wonho Yun --- src/dynamixel_hardware_interface.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/dynamixel_hardware_interface.cpp b/src/dynamixel_hardware_interface.cpp index 21e75fc..091e7fd 100644 --- a/src/dynamixel_hardware_interface.cpp +++ b/src/dynamixel_hardware_interface.cpp @@ -376,13 +376,13 @@ DynamixelHardware::export_command_interfaces() } hardware_interface::CallbackReturn DynamixelHardware::on_activate( - const rclcpp_lifecycle::State & previous_state) + [[maybe_unused]] const rclcpp_lifecycle::State & previous_state) { return start(); } hardware_interface::CallbackReturn DynamixelHardware::on_deactivate( - const rclcpp_lifecycle::State & previous_state) + [[maybe_unused]] const rclcpp_lifecycle::State & previous_state) { return stop(); } @@ -440,7 +440,7 @@ hardware_interface::CallbackReturn DynamixelHardware::stop() } hardware_interface::return_type DynamixelHardware::read( - const rclcpp::Time & time, const rclcpp::Duration & period) + [[maybe_unused]] const rclcpp::Time & time, const rclcpp::Duration & period) { double period_ms = period.seconds() * 1000; if (dxl_status_ == REBOOTING) { @@ -503,7 +503,7 @@ hardware_interface::return_type DynamixelHardware::read( return hardware_interface::return_type::OK; } hardware_interface::return_type DynamixelHardware::write( - const rclcpp::Time & time, const rclcpp::Duration & period) + [[maybe_unused]] const rclcpp::Time & time, const rclcpp::Duration & period) { if (dxl_status_ == DXL_OK || dxl_status_ == HW_ERROR) { dxl_comm_->WriteItemBuf(); @@ -1051,7 +1051,7 @@ void DynamixelHardware::set_dxl_data_srv_callback( } void DynamixelHardware::reboot_dxl_srv_callback( - const std::shared_ptr request, + [[maybe_unused]] const std::shared_ptr request, std::shared_ptr response) { if (CommReset()) { From 85b2763f36c5f21e9b522927bae35eeb26ea19b2 Mon Sep 17 00:00:00 2001 From: Wonho Yun Date: Thu, 10 Apr 2025 17:26:18 +0900 Subject: [PATCH 5/6] Modified version Signed-off-by: Wonho Yun --- CHANGELOG.rst | 5 +++++ package.xml | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index fdbacb8..4427334 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -2,6 +2,11 @@ Changelog for package dynamixel_hardware_interface ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +1.4.3 (2025-04-10) +------------------ +* Fixed build errors +* Contributors: Wonho Yun + 1.4.2 (2025-04-05) ------------------ * Added OM-Y dynamixel model files diff --git a/package.xml b/package.xml index d1ce6aa..08d8def 100644 --- a/package.xml +++ b/package.xml @@ -2,7 +2,7 @@ dynamixel_hardware_interface - 1.4.2 + 1.4.3 ROS 2 package providing a hardware interface for controlling Dynamixel motors via the ROS 2 control framework. From cdb4d7069e40463c37dbef39c38197d477de4c8f Mon Sep 17 00:00:00 2001 From: Wonho Yun Date: Thu, 10 Apr 2025 17:47:20 +0900 Subject: [PATCH 6/6] Modified Lint Signed-off-by: Wonho Yun --- src/dynamixel/dynamixel.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/dynamixel/dynamixel.cpp b/src/dynamixel/dynamixel.cpp index 424a0c3..f80fd69 100644 --- a/src/dynamixel/dynamixel.cpp +++ b/src/dynamixel/dynamixel.cpp @@ -1029,7 +1029,8 @@ DxlError Dynamixel::ProcessReadData( id, static_cast(dxl_getdata)); } else if (item_names[item_index] == "Present Velocity") { - *data_ptrs[item_index] = dxl_info_.ConvertValueRPMToVelocityRPS(static_cast(dxl_getdata)); + *data_ptrs[item_index] = + dxl_info_.ConvertValueRPMToVelocityRPS(static_cast(dxl_getdata)); } else if (item_names[item_index] == "Present Current") { *data_ptrs[item_index] = dxl_info_.ConvertCurrentToEffort( id,