@@ -60,7 +60,7 @@ void SmartServoClass::writeCmd(uint8_t const id, SmartServoOperation const instr
6060void SmartServoClass::writeByteCmd (uint8_t const id, uint8_t const address, uint8_t const data) {
6161 _txPacket.id = id;
6262 _txPacket.length = 2 +2 ;
63- _txPacket.instruction = toVal (SmartServoOperation::WRITE);
63+ _txPacket.instruction = CMD (SmartServoOperation::WRITE);
6464 _txPacket.payload [0 ]=address;
6565 _txPacket.payload [1 ]=data;
6666 sendPacket ();
@@ -69,7 +69,7 @@ void SmartServoClass::writeByteCmd(uint8_t const id, uint8_t const address, uint
6969void SmartServoClass::writeWordCmd (uint8_t const id, uint8_t const address, uint16_t const data) {
7070 _txPacket.id = id;
7171 _txPacket.length = 2 +3 ;
72- _txPacket.instruction = toVal (SmartServoOperation::WRITE);
72+ _txPacket.instruction = CMD (SmartServoOperation::WRITE);
7373 _txPacket.payload [0 ]=address;
7474 _txPacket.payload [1 ]=data>>8 ;
7575 _txPacket.payload [2 ]=data;
@@ -93,7 +93,7 @@ void SmartServoClass::receiveResponse(int const howMany) {
9393int SmartServoClass::readBuffer (uint8_t const id, uint8_t const address,uint8_t const len) {
9494 _txPacket.id = id;
9595 _txPacket.length = 2 +2 ;
96- _txPacket.instruction = toVal (SmartServoOperation::READ);
96+ _txPacket.instruction = CMD (SmartServoOperation::READ);
9797 _txPacket.payload [0 ]=address;
9898 _txPacket.payload [1 ]=len;
9999 sendPacket ();
@@ -171,8 +171,8 @@ int SmartServoClass::begin() {
171171 _txPacket.header [1 ] = 0xff ;
172172 _RS485.begin (115200 , 0 , 90 );
173173 _RS485.receive ();
174- writeByteCmd (BROADCAST, toVal (SmartServoRegister::SERVO_MOTOR_MODE), 1 );
175- writeByteCmd (BROADCAST, toVal (SmartServoRegister::TORQUE_SWITCH) ,1 );
174+ writeByteCmd (BROADCAST, REG (SmartServoRegister::SERVO_MOTOR_MODE), 1 );
175+ writeByteCmd (BROADCAST, REG (SmartServoRegister::TORQUE_SWITCH) ,1 );
176176 _positionMode = PositionMode::IMMEDIATE;
177177 return 0 ;
178178 } else {
@@ -186,7 +186,7 @@ void SmartServoClass::setPosition(uint8_t const id, float const angle, uint16_t
186186 _targetPosition[id] = angleToPosition (angle);
187187 _targetSpeed[id] = speed;
188188 if (_positionMode==PositionMode::IMMEDIATE) {
189- writeWordCmd (id, toVal (SmartServoRegister::TARGET_POSITION_H), angleToPosition (angle));
189+ writeWordCmd (id, REG (SmartServoRegister::TARGET_POSITION_H), angleToPosition (angle));
190190 }
191191 }
192192 mutex.unlock ();
@@ -196,24 +196,24 @@ float SmartServoClass::getPosition(uint8_t const id) {
196196 mutex.lock ();
197197 float ret = -1 ;
198198 if (id<MAX_MOTORS) {
199- ret = positionToAngle (readWordCmd (id, toVal (SmartServoRegister::POSITION_H)));
199+ ret = positionToAngle (readWordCmd (id, REG (SmartServoRegister::POSITION_H)));
200200 }
201201 mutex.unlock ();
202202 return ret;
203203}
204204
205205void SmartServoClass::center (uint8_t const id, uint16_t const position) {
206206 mutex.lock ();
207- writeWordCmd (id, toVal (SmartServoRegister::CENTER_POINT_ADJ_H), position);
207+ writeWordCmd (id, REG (SmartServoRegister::CENTER_POINT_ADJ_H), position);
208208 mutex.unlock ();
209209}
210210
211211void SmartServoClass::synchronize () {
212212 mutex.lock ();
213213 _txPacket.id = 0xFE ;
214214 _txPacket.length = (4 +1 )*MAX_MOTORS +4 ;
215- _txPacket.instruction = toVal (SmartServoOperation::SYNC_WRITE);
216- _txPacket.payload [0 ] = toVal (SmartServoRegister::TARGET_POSITION_H);
215+ _txPacket.instruction = CMD (SmartServoOperation::SYNC_WRITE);
216+ _txPacket.payload [0 ] = REG (SmartServoRegister::TARGET_POSITION_H);
217217 _txPacket.payload [1 ] = 4 ;
218218 int index = 2 ;
219219
@@ -230,92 +230,92 @@ void SmartServoClass::synchronize() {
230230
231231void SmartServoClass::setTorque (bool const torque) {
232232 mutex.lock ();
233- writeByteCmd (BROADCAST, toVal (SmartServoRegister::TORQUE_SWITCH), torque ? 1 : 0 );
233+ writeByteCmd (BROADCAST, REG (SmartServoRegister::TORQUE_SWITCH), torque ? 1 : 0 );
234234 mutex.unlock ();
235235}
236236
237237void SmartServoClass::setTorque (uint8_t const id, bool const torque) {
238238 mutex.lock ();
239- writeByteCmd (id, toVal (SmartServoRegister::TORQUE_SWITCH), torque ? 1 : 0 );
239+ writeByteCmd (id, REG (SmartServoRegister::TORQUE_SWITCH), torque ? 1 : 0 );
240240 mutex.unlock ();
241241}
242242
243243void SmartServoClass::setTime (uint8_t const id, uint16_t const time) {
244244 mutex.lock ();
245- writeWordCmd (id, toVal (SmartServoRegister::RUN_TIME_H), time);
245+ writeWordCmd (id, REG (SmartServoRegister::RUN_TIME_H), time);
246246 mutex.unlock ();
247247}
248248
249249void SmartServoClass::setMaxTorque (uint16_t const torque) {
250250 mutex.lock ();
251- writeWordCmd (BROADCAST, toVal (SmartServoRegister::MAX_TORQUE_H), torque);
251+ writeWordCmd (BROADCAST, REG (SmartServoRegister::MAX_TORQUE_H), torque);
252252 mutex.unlock ();
253253}
254254
255255void SmartServoClass::setMaxTorque (uint8_t const id, uint16_t const torque) {
256256 mutex.lock ();
257- writeWordCmd (id+1 , toVal (SmartServoRegister::MAX_TORQUE_H), torque);
257+ writeWordCmd (id+1 , REG (SmartServoRegister::MAX_TORQUE_H), torque);
258258 mutex.unlock ();
259259}
260260
261261void SmartServoClass::setID (uint8_t const id) {
262262 mutex.lock ();
263- writeByteCmd (BROADCAST, toVal (SmartServoRegister::ID), id);
263+ writeByteCmd (BROADCAST, REG (SmartServoRegister::ID), id);
264264 mutex.unlock ();
265265}
266266
267267void SmartServoClass::engage (uint8_t const id) {
268268 mutex.lock ();
269- writeByteCmd (id, toVal (SmartServoRegister::TORQUE_SWITCH), 0x1 );
269+ writeByteCmd (id, REG (SmartServoRegister::TORQUE_SWITCH), 0x1 );
270270 mutex.unlock ();
271271}
272272
273273void SmartServoClass::disengage (uint8_t const id) {
274274 mutex.lock ();
275- writeByteCmd (id, toVal (SmartServoRegister::TORQUE_SWITCH), 0 );
275+ writeByteCmd (id, REG (SmartServoRegister::TORQUE_SWITCH), 0 );
276276 mutex.unlock ();
277277}
278278
279279bool SmartServoClass::isEngaged (uint8_t const id) {
280280 mutex.lock ();
281- int ret = readByteCmd (id, toVal (SmartServoRegister::TORQUE_SWITCH));
281+ int ret = readByteCmd (id, REG (SmartServoRegister::TORQUE_SWITCH));
282282 mutex.unlock ();
283283 return ret != 0 ;
284284}
285285
286286void SmartServoClass::setStallProtectionTime (uint8_t const time) {
287287 mutex.lock ();
288- writeByteCmd (BROADCAST, toVal (SmartServoRegister::STALL_PROTECTION_TIME), time);
288+ writeByteCmd (BROADCAST, REG (SmartServoRegister::STALL_PROTECTION_TIME), time);
289289 mutex.unlock ();
290290}
291291
292292void SmartServoClass::setStallProtectionTime (uint8_t const id, uint8_t const time) {
293293 mutex.lock ();
294- writeByteCmd (id, toVal (SmartServoRegister::STALL_PROTECTION_TIME), time);
294+ writeByteCmd (id, REG (SmartServoRegister::STALL_PROTECTION_TIME), time);
295295 mutex.unlock ();
296296}
297297
298298void SmartServoClass::setMinAngle (float const angle) {
299299 mutex.lock ();
300- writeByteCmd (BROADCAST, toVal (SmartServoRegister::MIN_ANGLE_LIMIT_H), angleToPosition (angle));
300+ writeByteCmd (BROADCAST, REG (SmartServoRegister::MIN_ANGLE_LIMIT_H), angleToPosition (angle));
301301 mutex.unlock ();
302302}
303303
304304void SmartServoClass::setMinAngle (uint8_t const id, float const angle) {
305305 mutex.lock ();
306- writeByteCmd (id, toVal (SmartServoRegister::MIN_ANGLE_LIMIT_H), angleToPosition (angle));
306+ writeByteCmd (id, REG (SmartServoRegister::MIN_ANGLE_LIMIT_H), angleToPosition (angle));
307307 mutex.unlock ();
308308}
309309
310310void SmartServoClass::setMaxAngle (float const angle) {
311311 mutex.lock ();
312- writeByteCmd (BROADCAST, toVal (SmartServoRegister::MAX_ANGLE_LIMIT_H), angleToPosition (angle));
312+ writeByteCmd (BROADCAST, REG (SmartServoRegister::MAX_ANGLE_LIMIT_H), angleToPosition (angle));
313313 mutex.unlock ();
314314}
315315
316316void SmartServoClass::setMaxAngle (uint8_t const id, float const angle) {
317317 mutex.lock ();
318- writeByteCmd (id, toVal (SmartServoRegister::MAX_ANGLE_LIMIT_H), angleToPosition (angle));
318+ writeByteCmd (id, REG (SmartServoRegister::MAX_ANGLE_LIMIT_H), angleToPosition (angle));
319319 mutex.unlock ();
320320}
321321
0 commit comments