From dca2bc06a316c3a49ecd8e48c3bdda229f38e90d Mon Sep 17 00:00:00 2001
From: Sergi Hernandez Juan <shernand@iri.upc.edu>
Date: Tue, 10 Mar 2020 16:41:24 +0100
Subject: [PATCH] Minor changes.

---
 dynamixel_manager/src/dyn_manager.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/dynamixel_manager/src/dyn_manager.c b/dynamixel_manager/src/dyn_manager.c
index ebf5509..59076d3 100644
--- a/dynamixel_manager/src/dyn_manager.c
+++ b/dynamixel_manager/src/dyn_manager.c
@@ -394,7 +394,6 @@ void dyn_manager_scan(TDynManager *manager)
     }
   }
   manager->memory->data[manager->ram_base_address+DYN_MANAGER_NUM_DEVICES_OFFSET]=manager->num_devices;
-  manager->memory->data[manager->ram_base_address+DYN_MANAGER_CONTROL_OFFSET]&=(~DYN_MANAGER_SCANNING);
   manager->memory->data[manager->ram_base_address+DYN_MANAGER_PRESENT_DEVICES]=manager->present_devices&0x000000FF;
   manager->memory->data[manager->ram_base_address+DYN_MANAGER_PRESENT_DEVICES+1]=(manager->present_devices>>8)&0x000000FF;
   manager->memory->data[manager->ram_base_address+DYN_MANAGER_PRESENT_DEVICES+2]=(manager->present_devices>>16)&0x000000FF;
@@ -1049,6 +1048,7 @@ void dyn_manager_loop(TDynManager *manager)
   }
 
   // send all the commands
+  std::cout << "start loop" << std::endl;
   dyn_manager_lock(manager);
   do{
     for(i=0;i<manager->num_masters;i++)
@@ -1109,6 +1109,7 @@ void dyn_manager_loop(TDynManager *manager)
                                    dyn_master_start_sync_read(manager->masters[i],sync_op[i]->num_devices,sync_op[i]->ids,sync_op[i]->address,sync_op[i]->length,sync_op[i]->data);
                                  else
                                    dyn_master_start_sync_write(manager->masters[i],sync_op[i]->num_devices,sync_op[i]->ids,sync_op[i]->address,sync_op[i]->length,sync_op[i]->data);
+                                 usleep(300);
                                  states[i]=wait_sync_ops;
                                  sync_op_period_count[current_sync_op[i]]=0;
                                }
@@ -1148,6 +1149,7 @@ void dyn_manager_loop(TDynManager *manager)
                                    dyn_master_start_bulk_read(manager->masters[i],bulk_op[i]->num_devices,bulk_op[i]->ids,bulk_op[i]->address,bulk_op[i]->length,bulk_op[i]->data);
                                  else
                                    dyn_master_start_bulk_write(manager->masters[i],bulk_op[i]->num_devices,bulk_op[i]->ids,bulk_op[i]->address,bulk_op[i]->length,bulk_op[i]->data);
+                                 usleep(300);
                                  states[i]=wait_bulk_ops;
                                  bulk_op_period_count[current_bulk_op[i]]=0;
                                }
@@ -1165,7 +1167,7 @@ void dyn_manager_loop(TDynManager *manager)
                             if(done==DYN_BUSY)
                               states[i]=wait_bulk_ops;
                             else
-                            {
+                            { 
                               if(bulk_op[i]->common.repetitions>0 && bulk_op[i]->common.repetitions!=0xFF)
                                 bulk_op[i]->common.repetitions--;
                               if(bulk_op[i]->common.repetitions==0)// remove operation from list 
@@ -1178,9 +1180,10 @@ void dyn_manager_loop(TDynManager *manager)
         case ops_done: states[i]=ops_done;
                        break;
       }
-    } 
+    }
   }while(loop_done>0);
   dyn_manager_unlock(manager);
+  std::cout << "loop done" << std::endl;
 
   // execute the pre_process functions for all modules
   for(i=0;i<manager->num_modules;i++)
-- 
GitLab