From abc78d1169a5968abbf1a609ebb4c8506b04eb89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karol=20Pieni=C4=85cy?= Date: Fri, 21 Jul 2023 11:55:26 +0200 Subject: [PATCH] libraries: fix delay after subsequent Robotis servo detections This fix probably reflects the original intention of the code author, because without it delays set in detect_servos() are ignored. Without this fix Dynamixel XC330-T288-T does not start and enters something like a "soft bricked" state (no errors reported, but not responding to any commands). This adds a delay after ping messages so that servos have time to respond to the pings and are ready to be configured further. --- libraries/AP_RobotisServo/AP_RobotisServo.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/libraries/AP_RobotisServo/AP_RobotisServo.cpp b/libraries/AP_RobotisServo/AP_RobotisServo.cpp index e4dc7eddff..5261b1615d 100644 --- a/libraries/AP_RobotisServo/AP_RobotisServo.cpp +++ b/libraries/AP_RobotisServo/AP_RobotisServo.cpp @@ -373,6 +373,7 @@ void AP_RobotisServo::update() if (detection_count < DETECT_SERVO_COUNT) { detection_count++; detect_servos(); + return; } if (servo_mask == 0) {