Skip to content

Commit 4e9fb31

Browse files
committed
fix: Ensure Dynamixel torque is disabled for all motors, even if some fail
1 parent f2a7e3c commit 4e9fb31

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

src/dynamixel/dynamixel.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -300,18 +300,19 @@ DxlError Dynamixel::DynamixelEnable(std::vector<uint8_t> id_arr)
300300

301301
DxlError Dynamixel::DynamixelDisable(std::vector<uint8_t> id_arr)
302302
{
303+
DxlError result = DxlError::OK;
303304
for (auto it_id : id_arr) {
304305
if (torque_state_[it_id] == TORQUE_ON) {
305306
if (WriteItem(it_id, "Torque Enable", TORQUE_OFF) < 0) {
306307
fprintf(stderr, "[ID:%03d] Cannot write \"Torque Off\" command!\n", it_id);
307-
return DxlError::ITEM_WRITE_FAIL;
308+
result = DxlError::ITEM_WRITE_FAIL;
308309
} else {
309310
torque_state_[it_id] = TORQUE_OFF;
310311
fprintf(stderr, "[ID:%03d] Torque OFF\n", it_id);
311312
}
312313
}
313314
}
314-
return DxlError::OK;
315+
return result;
315316
}
316317

317318
DxlError Dynamixel::SetOperatingMode(uint8_t dxl_id, uint8_t dynamixel_mode)

0 commit comments

Comments
 (0)