Skip to content

Commit 7ce2ba4

Browse files
committed
Instead of pinging every servo each second ping them sequentially.
1 parent 00bc5d4 commit 7ce2ba4

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

src/Braccio++.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -342,15 +342,15 @@ void BraccioClass::setMotorConnectionStatus(int const id, bool const is_connecte
342342

343343
void BraccioClass::motorConnectedThreadFunc()
344344
{
345+
int next_id_to_be_pinged = SmartServoClass::MIN_MOTOR_ID;
346+
345347
for (;;)
346348
{
347349
if (isPingAllowed())
348350
{
349-
for (int id = SmartServoClass::MIN_MOTOR_ID; id <= SmartServoClass::MAX_MOTOR_ID; id++)
350-
{
351-
bool const is_connected = (_servos.ping(id) == 0);
352-
setMotorConnectionStatus(id, is_connected);
353-
}
351+
bool const is_connected = (_servos.ping(next_id_to_be_pinged) == 0);
352+
setMotorConnectionStatus(next_id_to_be_pinged, is_connected);
353+
next_id_to_be_pinged = (next_id_to_be_pinged < SmartServoClass::MAX_MOTOR_ID) ? next_id_to_be_pinged + 1 : SmartServoClass::MIN_MOTOR_ID;
354354

355355
for (int id = SmartServoClass::MIN_MOTOR_ID; id <= SmartServoClass::MAX_MOTOR_ID; id++) {
356356
if (connected(id))

0 commit comments

Comments
 (0)