From 5f8162488e005b2ccc0a324d8c16a8bf5505fa36 Mon Sep 17 00:00:00 2001 From: Sergi Hernandez Juan <shernand@iri.ucp.edu> Date: Sun, 22 Mar 2020 13:05:16 +0100 Subject: [PATCH] Solved a bug when reading the current position of servos with protocol 1 or specific models. --- dynamixel_manager/src/modules/motion_manager.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dynamixel_manager/src/modules/motion_manager.c b/dynamixel_manager/src/modules/motion_manager.c index cfc7a2d..e56fd5d 100644 --- a/dynamixel_manager/src/modules/motion_manager.c +++ b/dynamixel_manager/src/modules/motion_manager.c @@ -97,7 +97,7 @@ void mmanager_compute_targets(TMotionManager *mmanager) angle=(mmanager->servo_values[i].target_angle>>9)+offsets[i]+(mmanager->servo_values[i].offset<<3); //>>16 from the action codification, <<7 from the manager codification mmanager->servo_values[i].target_value=mmanager_angle_to_value(mmanager,i,angle); - if(mmanager->servo_configs[i]->protocol_ver==1 || mmanager->servo_configs[i]->model!=29 || mmanager->servo_configs[i]->model!=310 || mmanager->servo_configs[i]->model!=320 || mmanager->servo_configs[i]->model!=360)// get the target value as the feedback + if(mmanager->servo_configs[i]->protocol_ver==1 || (mmanager->servo_configs[i]->model!=29 && mmanager->servo_configs[i]->model!=310 && mmanager->servo_configs[i]->model!=320 && mmanager->servo_configs[i]->model!=360))// get the target value as the feedback { mmanager->memory->data[mmanager->ram_base_address+MM_CURRENT_ANGLES_OFFSET+i*2]=angle&0x00FF; mmanager->memory->data[mmanager->ram_base_address+MM_CURRENT_ANGLES_OFFSET+i*2+1]=(angle>>8)&0x00FF; -- GitLab