From 6d473aebc0af2eb1ed232c814c682446b6602f11 Mon Sep 17 00:00:00 2001 From: Sergi Hernandez Juan <shernand@iri.upc.edu> Date: Thu, 23 Jan 2020 22:03:16 +0100 Subject: [PATCH] Solved a bug in the sync write start address. Updated the test example. --- dynamixel_manager/src/modules/motion_manager.c | 2 +- dynamixel_manager/test/dyn_man_test.c | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/dynamixel_manager/src/modules/motion_manager.c b/dynamixel_manager/src/modules/motion_manager.c index 678880e..256ba55 100644 --- a/dynamixel_manager/src/modules/motion_manager.c +++ b/dynamixel_manager/src/modules/motion_manager.c @@ -126,7 +126,7 @@ void mmanager_setup(TMotionManager *mmanager) if(mmanager->servo_configs[i]->pid==1) start_address=mmanager->servo_configs[i]->registers[pos_pid_i].address; else - start_address=mmanager->servo_configs[i]->registers[cw_comp_margin].address; + start_address=mmanager->servo_configs[i]->registers[cw_comp_slope].address; } } } diff --git a/dynamixel_manager/test/dyn_man_test.c b/dynamixel_manager/test/dyn_man_test.c index ba63511..b22b50d 100644 --- a/dynamixel_manager/test/dyn_man_test.c +++ b/dynamixel_manager/test/dyn_man_test.c @@ -97,6 +97,12 @@ void dyn_master_scan(TDynamixelMaster *master,unsigned char *num,unsigned char * } } +unsigned char dyn_master_read_table(TDynamixelMaster *master,unsigned char id,unsigned short int address,unsigned short int length,unsigned char *data) +{ + if(length==2) + dyn_master_read_word(master,id,address,(unsigned short int *)data); +} + unsigned char dyn_master_read_word(TDynamixelMaster *master,unsigned char id,unsigned short int address,unsigned short int *data) { if(master==&dyn_master1) @@ -192,7 +198,7 @@ unsigned char dyn_master_start_sync_write(TDynamixelMaster *master,unsigned char // for(i=0;i<length;i++) // printf(" 0x%x\n",data[j][i]); // } - if(master==&dyn_master1 && address==P_CW_COMPLIANCE_SLOPE && length==4) + if(master==&dyn_master1 && address==ax_reg[cw_comp_slope].address && length==4) { for(i=0;i<num;i++) printf("%d,",data[i][2]+(data[i][3]<<8)); -- GitLab