-
Notifications
You must be signed in to change notification settings - Fork 12
Bump 1.4.8 #55
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bump 1.4.8 #55
Changes from all commits
eb407cb
98be8ba
39ec66e
820bd44
6e9a7bc
e4e8544
d7f8428
710eab9
f519f98
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -49,6 +49,23 @@ jobs: | |
| with: | ||
| required-ros-distributions: ${{ matrix.ros_distribution }} | ||
|
|
||
| - name: Check and Install ROS dependencies | ||
| shell: bash | ||
| run: | | ||
| set -e | ||
| source /opt/ros/${{ matrix.ros_distribution }}/setup.bash | ||
| echo "--- Updating rosdep definitions ---" | ||
| rosdep update | ||
| echo "--- Installing system dependencies for ROS 2 ${{ matrix.ros_distribution }} ---" | ||
| rosdep install --from-paths ros_ws/src --ignore-src -y -r --rosdistro ${{ matrix.ros_distribution }} | ||
| echo "--- Performing rosdep check for ROS 2 ${{ matrix.ros_distribution }} ---" | ||
| if rosdep check --from-paths ros_ws/src --ignore-src --rosdistro ${{ matrix.ros_distribution }}; then | ||
| echo "--- rosdep check passed ---" | ||
| else | ||
| echo "--- rosdep check failed: Missing system dependencies or unresolvable keys. ---" | ||
| exit 1 | ||
| fi | ||
|
|
||
| - name: Build and Test | ||
| uses: ros-tooling/[email protected] | ||
| with: | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,21 @@ | ||
| [type info] | ||
| name value | ||
| value_of_zero_radian_position 0 | ||
| value_of_max_radian_position 740 | ||
| value_of_min_radian_position -740 | ||
| min_radian -1.099 | ||
| max_radian 1.099 | ||
| velocity_unit 0.114 | ||
|
|
||
| [control table] | ||
| Address Size Data Name | ||
| 72 1 Hardware Error Status | ||
| 73 1 Moving | ||
| 74 2 Present Current | ||
| 76 4 Present Velocity | ||
| 80 4 Present Position | ||
| 84 4 Position Trajectory | ||
| 200 1 Torque Enable | ||
| 202 2 Goal Current | ||
| 204 4 Goal Velocity | ||
| 208 4 Goal Position |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -1834,6 +1834,20 @@ DxlError Dynamixel::SetDxlValueToSyncWrite() | |
| int16_t goal_current = dxl_info_.ConvertEffortToCurrent(ID, data); | ||
| 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_[comm_id].item_size.at(item_index) == 4) { | ||
| int32_t value = static_cast<int32_t>(data); | ||
| param_write_value[added_byte + 0] = DXL_LOBYTE(DXL_LOWORD(value)); | ||
| param_write_value[added_byte + 1] = DXL_HIBYTE(DXL_LOWORD(value)); | ||
| param_write_value[added_byte + 2] = DXL_LOBYTE(DXL_HIWORD(value)); | ||
| param_write_value[added_byte + 3] = DXL_HIBYTE(DXL_HIWORD(value)); | ||
| } else if (indirect_info_write_[comm_id].item_size.at(item_index) == 2) { | ||
| int16_t value = static_cast<int16_t>(data); | ||
| param_write_value[added_byte + 0] = DXL_LOBYTE(value); | ||
| param_write_value[added_byte + 1] = DXL_HIBYTE(value); | ||
| } else if (indirect_info_write_[comm_id].item_size.at(item_index) == 1) { | ||
| param_write_value[added_byte] = static_cast<uint8_t>(data); | ||
| } | ||
| } | ||
|
Comment on lines
+1837
to
1851
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This block of code for packing data into the write buffer is duplicated in } else {
switch (indirect_info_write_[comm_id].item_size.at(item_index)) {
case 4: {
int32_t value = static_cast<int32_t>(data);
param_write_value[added_byte + 0] = DXL_LOBYTE(DXL_LOWORD(value));
param_write_value[added_byte + 1] = DXL_HIBYTE(DXL_LOWORD(value));
param_write_value[added_byte + 2] = DXL_LOBYTE(DXL_HIWORD(value));
param_write_value[added_byte + 3] = DXL_HIBYTE(DXL_HIWORD(value));
break;
}
case 2: {
int16_t value = static_cast<int16_t>(data);
param_write_value[added_byte + 0] = DXL_LOBYTE(value);
param_write_value[added_byte + 1] = DXL_HIBYTE(value);
break;
}
case 1: {
param_write_value[added_byte] = static_cast<uint8_t>(data);
break;
}
}
} |
||
| added_byte += indirect_info_write_[comm_id].item_size.at(item_index); | ||
| } | ||
|
|
@@ -2053,6 +2067,20 @@ DxlError Dynamixel::SetDxlValueToBulkWrite() | |
| int16_t goal_current = dxl_info_.ConvertEffortToCurrent(ID, data); | ||
| 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_[comm_id].item_size.at(item_index) == 4) { | ||
| int32_t value = static_cast<int32_t>(data); | ||
| param_write_value[added_byte + 0] = DXL_LOBYTE(DXL_LOWORD(value)); | ||
| param_write_value[added_byte + 1] = DXL_HIBYTE(DXL_LOWORD(value)); | ||
| param_write_value[added_byte + 2] = DXL_LOBYTE(DXL_HIWORD(value)); | ||
| param_write_value[added_byte + 3] = DXL_HIBYTE(DXL_HIWORD(value)); | ||
| } else if (indirect_info_write_[comm_id].item_size.at(item_index) == 2) { | ||
| int16_t value = static_cast<int16_t>(data); | ||
| param_write_value[added_byte + 0] = DXL_LOBYTE(value); | ||
| param_write_value[added_byte + 1] = DXL_HIBYTE(value); | ||
| } else if (indirect_info_write_[comm_id].item_size.at(item_index) == 1) { | ||
| param_write_value[added_byte] = static_cast<uint8_t>(data); | ||
| } | ||
| } | ||
|
Comment on lines
+2070
to
2084
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. |
||
| added_byte += indirect_info_write_[comm_id].item_size.at(item_index); | ||
| } | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The
Indirect Address Writeat address112conflicts withIndirect Addressat the same address on line 20. Similarly,Indirect Data Writeat address816on line 37 conflicts withIndirect Dataat the same address on line 35. Verify the correct addresses for these new items and ensure there are no address conflicts.