Skip to content

Commit 135893f

Browse files
committed
Move check of torque limits inside of SmartServoClass.
1 parent 6188939 commit 135893f

File tree

4 files changed

+9
-20
lines changed

4 files changed

+9
-20
lines changed

src/Braccio++.cpp

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -215,14 +215,6 @@ void BraccioClass::positions(float & a1, float & a2, float & a3, float & a4, flo
215215
a6 = _servos.getPosition(6);
216216
}
217217

218-
void BraccioClass::setMaxTorque(int const id, uint16_t const max_torque)
219-
{
220-
if (max_torque > SmartServoClass::TORQUE_MAX)
221-
_servos.setMaxTorque(SmartServoClass::TORQUE_MAX);
222-
else
223-
_servos.setMaxTorque(max_torque);
224-
}
225-
226218
int BraccioClass::getKey() {
227219
if (isJoystickPressed_LEFT()) {
228220
return 1;

src/Braccio++.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,8 +80,8 @@ class BraccioClass
8080
void positions(float * buffer);
8181
void positions(float & a1, float & a2, float & a3, float & a4, float & a5, float & a6);
8282

83-
void setMaxTorque(int const id, uint16_t const max_torque);
84-
inline void setMaxTorque(uint16_t const max_torque) { setMaxTorque(SmartServoClass::BROADCAST, max_torque); }
83+
inline void setMaxTorque(uint16_t const max_torque) { _servos.setMaxTorque(max_torque); }
84+
inline void setMaxTorque(int const id, uint16_t const max_torque) { _servos.setMaxTorque(id, max_torque); }
8585

8686
inline void speed(speed_grade_t const speed_grade) { _servos.setTime(speed_grade); }
8787
inline void speed(int const id, speed_grade_t const speed_grade) { _servos.setTime(id, speed_grade); }

src/lib/motors/SmartServo.cpp

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -274,16 +274,14 @@ void SmartServoClass::setTime(uint8_t const id, uint16_t const time)
274274
writeWordCmd(id, REG(SmartServoRegister::RUN_TIME_H), time);
275275
}
276276

277-
void SmartServoClass::setMaxTorque(uint16_t const torque)
277+
void SmartServoClass::setMaxTorque(uint8_t const id, uint16_t const max_torque)
278278
{
279279
mbed::ScopedLock<rtos::Mutex> lock(_mtx);
280-
writeWordCmd(BROADCAST, REG(SmartServoRegister::MAX_TORQUE_H), torque);
281-
}
282280

283-
void SmartServoClass::setMaxTorque(uint8_t const id, uint16_t const torque)
284-
{
285-
mbed::ScopedLock<rtos::Mutex> lock(_mtx);
286-
writeWordCmd(id, REG(SmartServoRegister::MAX_TORQUE_H), torque);
281+
if (max_torque > TORQUE_MAX)
282+
writeWordCmd(id, REG(SmartServoRegister::MAX_TORQUE_H), TORQUE_MAX);
283+
else
284+
writeWordCmd(id, REG(SmartServoRegister::MAX_TORQUE_H), max_torque);
287285
}
288286

289287
void SmartServoClass::setID(uint8_t const id)

src/lib/motors/SmartServo.h

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,8 @@ class SmartServoClass
5656

5757
void setTorque(uint8_t const id, bool const torque);
5858

59-
void setMaxTorque(uint16_t const torque);
60-
61-
void setMaxTorque(uint8_t const id, uint16_t const torque);
59+
void setMaxTorque(uint8_t const id, uint16_t const max_torque);
60+
inline void setMaxTorque(uint16_t const max_torque) { setMaxTorque(BROADCAST, max_torque); }
6261

6362
void setID(uint8_t const id);
6463

0 commit comments

Comments
 (0)