From 1d5bb0ca753662c072ff868c308dec2aca6058d2 Mon Sep 17 00:00:00 2001
From: ferranmafe <darwin@darwin.users.iri.prv>
Date: Thu, 31 Aug 2017 18:54:48 +0200
Subject: [PATCH] Added the enable and disable power functions for the second
 dynamixel bus.

---
 src/cm730_fw.c             | 1 +
 src/darwin_dyn_master_v2.c | 1 +
 src/motion_manager.c       | 4 +++-
 3 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/cm730_fw.c b/src/cm730_fw.c
index 5c1040f..7693bac 100755
--- a/src/cm730_fw.c
+++ b/src/cm730_fw.c
@@ -7,6 +7,7 @@
 #include "darwin_time.h"
 #include "darwin_dyn_slave.h"
 #include "darwin_dyn_master.h"
+#include "darwin_dyn_master_v2.h"
 #include "motion_manager.h"
 #include "action.h"
 #include "action_id.h"
diff --git a/src/darwin_dyn_master_v2.c b/src/darwin_dyn_master_v2.c
index 5c61157..6152125 100755
--- a/src/darwin_dyn_master_v2.c
+++ b/src/darwin_dyn_master_v2.c
@@ -83,6 +83,7 @@ void darwin_dyn_master_v2_init(void)
   /* configure dynamixel master module */
   dyn_master_set_rx_timeout(&darwin_dyn_master_v2,50);
   dyn_master_set_return_level(&darwin_dyn_master_v2,return_all);
+  darwin_dyn_master_v2_disable_power();
 }
 
 inline void darwin_dyn_master_v2_enable_power(void)
diff --git a/src/motion_manager.c b/src/motion_manager.c
index 2e72f34..805fc18 100755
--- a/src/motion_manager.c
+++ b/src/motion_manager.c
@@ -365,6 +365,7 @@ void manager_init(uint16_t period_us)
     
   darwin_dyn_master_disable_power();
 
+  darwin_dyn_master_v2_enable_power();
   // detect the servos connected on the v2 bus
   dyn_master_scan(&darwin_dyn_master_v2,&num,servo_ids); 
   ram_data[DARWIN_MM_NUM_SERVOS]+=num;
@@ -425,7 +426,8 @@ void manager_init(uint16_t period_us)
       default: break;
     }
   }
-  
+
+  darwin_dyn_master_v2_disable_power();
   
   ram_data[DARWIN_MM_PRESENT_SERVOS1]=(present_servos&0x000000FF);
   ram_data[DARWIN_MM_PRESENT_SERVOS2]=((present_servos&0x0000FF00)>>8);
-- 
GitLab