diff --git a/include/darwin_registers.h b/include/darwin_registers.h
index a9b994e3cd5ba18ac01f6612fffebf927098724e..d2ce3984760b0afde7554319c78ef15a892ab02e 100644
--- a/include/darwin_registers.h
+++ b/include/darwin_registers.h
@@ -227,117 +227,117 @@ typedef enum {
   DARWIN_IMU_ACCEL_Z_L             = 0x0148,
   DARWIN_IMU_ACCEL_Z_H             = 0x0149,
 
-  DARWIN_MM_NUM_SERVOS             = 0x0128,
-  DARWIN_MM_CNTRL                  = 0x0129, // bit 7 | bit 6 | bit 5 | bit 4 | bit 3 |     bit 2    |      bit 1      |    bit 0
-                                             //       |       |       |       |       | Enable power | Enable balance  | Enable manager
-  DARWIN_MM_MODULE_EN0             = 0x012A, //      bit 7      | bit 6 | bit 5 | bit 4 |      bit 3      | bit 2 | bit 1 | bit 0i
+  DARWIN_MM_NUM_SERVOS             = 0x014A,
+  DARWIN_MM_CNTRL                  = 0x014B, //   bit 7  | bit 6 | bit 5 | bit 4 | bit 3 |     bit 2    |      bit 1      |    bit 0
+                                             // scanning |       |       |       |       | Enable power | Enable balance  | Enable manager
+  DARWIN_MM_MODULE_EN0             = 0x014C, //      bit 7      | bit 6 | bit 5 | bit 4 |      bit 3      | bit 2 | bit 1 | bit 0i
                                              // Enable servo 0  |   assigned module     | Enable servo 1  |   assigned module
                                              //                 |     000 -> none       |
                                              //                 |     001 -> action     |
                                              //                 |     010 -> walk       |
                                              //                 |     011 -> joints     |
-  DARWIN_MM_MODULE_EN1             = 0x012B, //      bit 7      | bit 6 | bit 5 | bit 4 |      bit 3      | bit 2 | bit 1 | bit 0
+  DARWIN_MM_MODULE_EN1             = 0x014D, //      bit 7      | bit 6 | bit 5 | bit 4 |      bit 3      | bit 2 | bit 1 | bit 0
                                              // Enable servo 2  |   assigned module     | Enable servo 3  |   assigned module
-  DARWIN_MM_MODULE_EN2             = 0x012C, //      bit 7      | bit 6 | bit 5 | bit 4 |      bit 3      | bit 2 | bit 1 | bit 0
+  DARWIN_MM_MODULE_EN2             = 0x014E, //      bit 7      | bit 6 | bit 5 | bit 4 |      bit 3      | bit 2 | bit 1 | bit 0
                                              // Enable servo 4  |   assigned module     | Enable servo 5  |   assigned module
-  DARWIN_MM_MODULE_EN3             = 0x012D, //      bit 7      | bit 6 | bit 5 | bit 4 |      bit 3      | bit 2 | bit 1 | bit 0
+  DARWIN_MM_MODULE_EN3             = 0x014F, //      bit 7      | bit 6 | bit 5 | bit 4 |      bit 3      | bit 2 | bit 1 | bit 0
                                              // Enable servo 6  |   assigned module     | Enable servo 7  |   assigned module
-  DARWIN_MM_MODULE_EN4             = 0x012E, //      bit 7      | bit 6 | bit 5 | bit 4 |      bit 3      | bit 2 | bit 1 | bit 0
+  DARWIN_MM_MODULE_EN4             = 0x0150, //      bit 7      | bit 6 | bit 5 | bit 4 |      bit 3      | bit 2 | bit 1 | bit 0
                                              // Enable servo 8  |   assigned module     | Enable servo 9  |   assigned module
-  DARWIN_MM_MODULE_EN5             = 0x012F, //      bit 7      | bit 6 | bit 5 | bit 4 |      bit 3      | bit 2 | bit 1 | bit 0
+  DARWIN_MM_MODULE_EN5             = 0x0151, //      bit 7      | bit 6 | bit 5 | bit 4 |      bit 3      | bit 2 | bit 1 | bit 0
                                              // Enable servo 10 |   assigned module     | Enable servo 11 |   assigned module
-  DARWIN_MM_MODULE_EN6             = 0x0130, //      bit 7      | bit 6 | bit 5 | bit 4 |      bit 3      | bit 2 | bit 1 | bit 0
+  DARWIN_MM_MODULE_EN6             = 0x0152, //      bit 7      | bit 6 | bit 5 | bit 4 |      bit 3      | bit 2 | bit 1 | bit 0
                                              // Enable servo 12 |   assigned module     | Enable servo 13 |   assigned module
-  DARWIN_MM_MODULE_EN7             = 0x0131, //      bit 7      | bit 6 | bit 5 | bit 4 |      bit 3      | bit 2 | bit 1 | bit 0
+  DARWIN_MM_MODULE_EN7             = 0x0153, //      bit 7      | bit 6 | bit 5 | bit 4 |      bit 3      | bit 2 | bit 1 | bit 0
                                              // Enable servo 14 |   assigned module     | Enable servo 15 |   assigned module
-  DARWIN_MM_MODULE_EN8             = 0x0132, //      bit 7      | bit 6 | bit 5 | bit 4 |      bit 3      | bit 2 | bit 1 | bit 0
+  DARWIN_MM_MODULE_EN8             = 0x0154, //      bit 7      | bit 6 | bit 5 | bit 4 |      bit 3      | bit 2 | bit 1 | bit 0
                                              // Enable servo 16 |   assigned module     | Enable servo 17 |   assigned module
-  DARWIN_MM_MODULE_EN9             = 0x0133, //      bit 7      | bit 6 | bit 5 | bit 4 |      bit 3      | bit 2 | bit 1 | bit 0
+  DARWIN_MM_MODULE_EN9             = 0x0155, //      bit 7      | bit 6 | bit 5 | bit 4 |      bit 3      | bit 2 | bit 1 | bit 0
                                              // Enable servo 18 |   assigned module     | Enable servo 19 |   assigned module
-  DARWIN_MM_MODULE_EN10            = 0x0134, //      bit 7      | bit 6 | bit 5 | bit 4 |      bit 3      | bit 2 | bit 1 | bit 0
+  DARWIN_MM_MODULE_EN10            = 0x0156, //      bit 7      | bit 6 | bit 5 | bit 4 |      bit 3      | bit 2 | bit 1 | bit 0
                                              // Enable servo 20 |   assigned module     | Enable servo 21 |   assigned module
-  DARWIN_MM_MODULE_EN11            = 0x0135, //      bit 7      | bit 6 | bit 5 | bit 4 |      bit 3      | bit 2 | bit 1 | bit 0
+  DARWIN_MM_MODULE_EN11            = 0x0157, //      bit 7      | bit 6 | bit 5 | bit 4 |      bit 3      | bit 2 | bit 1 | bit 0
                                              // Enable servo 22 |   assigned module     | Enable servo 23 |   assigned module
-  DARWIN_MM_MODULE_EN12            = 0x0136, //      bit 7      | bit 6 | bit 5 | bit 4 |      bit 3      | bit 2 | bit 1 | bit 0
+  DARWIN_MM_MODULE_EN12            = 0x0158, //      bit 7      | bit 6 | bit 5 | bit 4 |      bit 3      | bit 2 | bit 1 | bit 0
                                              // Enable servo 24 |   assigned module     | Enable servo 25 |   assigned module
-  DARWIN_MM_MODULE_EN13            = 0x0137, //      bit 7      | bit 6 | bit 5 | bit 4 |      bit 3      | bit 2 | bit 1 | bit 0
+  DARWIN_MM_MODULE_EN13            = 0x0159, //      bit 7      | bit 6 | bit 5 | bit 4 |      bit 3      | bit 2 | bit 1 | bit 0
                                              // Enable servo 26 |   assigned module     | Enable servo 27 |   assigned module
-  DARWIN_MM_MODULE_EN14            = 0x0138, //      bit 7      | bit 6 | bit 5 | bit 4 |      bit 3      | bit 2 | bit 1 | bit 0
+  DARWIN_MM_MODULE_EN14            = 0x015A, //      bit 7      | bit 6 | bit 5 | bit 4 |      bit 3      | bit 2 | bit 1 | bit 0
                                              // Enable servo 28 |   assigned module     | Enable servo 29 |   assigned module
-  DARWIN_MM_MODULE_EN15            = 0x0139, //      bit 7      | bit 6 | bit 5 | bit 4 |      bit 3      | bit 2 | bit 1 | bit 0
+  DARWIN_MM_MODULE_EN15            = 0x015B, //      bit 7      | bit 6 | bit 5 | bit 4 |      bit 3      | bit 2 | bit 1 | bit 0
                                              // Enable servo 30 |   assigned module     | Enable servo 31 |   assigned module
-  DARWIN_MM_SERVO0_CUR_POS_L       = 0x013A, // angle in fixed point format 9|7
-  DARWIN_MM_SERVO0_CUR_POS_H       = 0x013B,
-  DARWIN_MM_SERVO1_CUR_POS_L       = 0x013C, // angle in fixed point format 9|7
-  DARWIN_MM_SERVO1_CUR_POS_H       = 0x013D,
-  DARWIN_MM_SERVO2_CUR_POS_L       = 0x013E, // angle in fixed point format 9|7
-  DARWIN_MM_SERVO2_CUR_POS_H       = 0x013F,
-  DARWIN_MM_SERVO3_CUR_POS_L       = 0x0140, // angle in fixed point format 9|7
-  DARWIN_MM_SERVO3_CUR_POS_H       = 0x0141,
-  DARWIN_MM_SERVO4_CUR_POS_L       = 0x0142, // angle in fixed point format 9|7
-  DARWIN_MM_SERVO4_CUR_POS_H       = 0x0143,
-  DARWIN_MM_SERVO5_CUR_POS_L       = 0x0144, // angle in fixed point format 9|7
-  DARWIN_MM_SERVO5_CUR_POS_H       = 0x0145,
-  DARWIN_MM_SERVO6_CUR_POS_L       = 0x0146, // angle in fixed point format 9|7
-  DARWIN_MM_SERVO6_CUR_POS_H       = 0x0147,
-  DARWIN_MM_SERVO7_CUR_POS_L       = 0x0148, // angle in fixed point format 9|7
-  DARWIN_MM_SERVO7_CUR_POS_H       = 0x0149,
-  DARWIN_MM_SERVO8_CUR_POS_L       = 0x014A, // angle in fixed point format 9|7
-  DARWIN_MM_SERVO8_CUR_POS_H       = 0x014B,
-  DARWIN_MM_SERVO9_CUR_POS_L       = 0x014C, // angle in fixed point format 9|7
-  DARWIN_MM_SERVO9_CUR_POS_H       = 0x014D,
-  DARWIN_MM_SERVO10_CUR_POS_L      = 0x014E, // angle in fixed point format 9|7
-  DARWIN_MM_SERVO10_CUR_POS_H      = 0x014F,
-  DARWIN_MM_SERVO11_CUR_POS_L      = 0x0150, // angle in fixed point format 9|7
-  DARWIN_MM_SERVO11_CUR_POS_H      = 0x0151,
-  DARWIN_MM_SERVO12_CUR_POS_L      = 0x0152, // angle in fixed point format 9|7
-  DARWIN_MM_SERVO12_CUR_POS_H      = 0x0153,
-  DARWIN_MM_SERVO13_CUR_POS_L      = 0x0154, // angle in fixed point format 9|7
-  DARWIN_MM_SERVO13_CUR_POS_H      = 0x0155,
-  DARWIN_MM_SERVO14_CUR_POS_L      = 0x0156, // angle in fixed point format 9|7
-  DARWIN_MM_SERVO14_CUR_POS_H      = 0x0157,
-  DARWIN_MM_SERVO15_CUR_POS_L      = 0x0158, // angle in fixed point format 9|7
-  DARWIN_MM_SERVO15_CUR_POS_H      = 0x0159,
-  DARWIN_MM_SERVO16_CUR_POS_L      = 0x015A, // angle in fixed point format 9|7
-  DARWIN_MM_SERVO16_CUR_POS_H      = 0x015B,
-  DARWIN_MM_SERVO17_CUR_POS_L      = 0x015C, // angle in fixed point format 9|7
-  DARWIN_MM_SERVO17_CUR_POS_H      = 0x015D,
-  DARWIN_MM_SERVO18_CUR_POS_L      = 0x015E, // angle in fixed point format 9|7
-  DARWIN_MM_SERVO18_CUR_POS_H      = 0x015F,
-  DARWIN_MM_SERVO19_CUR_POS_L      = 0x0160, // angle in fixed point format 9|7
-  DARWIN_MM_SERVO19_CUR_POS_H      = 0x0161,
-  DARWIN_MM_SERVO20_CUR_POS_L      = 0x0162, // angle in fixed point format 9|7
-  DARWIN_MM_SERVO20_CUR_POS_H      = 0x0163,
-  DARWIN_MM_SERVO21_CUR_POS_L      = 0x0164, // angle in fixed point format 9|7
-  DARWIN_MM_SERVO21_CUR_POS_H      = 0x0165,
-  DARWIN_MM_SERVO22_CUR_POS_L      = 0x0166, // angle in fixed point format 9|7
-  DARWIN_MM_SERVO22_CUR_POS_H      = 0x0167,
-  DARWIN_MM_SERVO23_CUR_POS_L      = 0x0168, // angle in fixed point format 9|7
-  DARWIN_MM_SERVO23_CUR_POS_H      = 0x0169,
-  DARWIN_MM_SERVO24_CUR_POS_L      = 0x016A, // angle in fixed point format 9|7
-  DARWIN_MM_SERVO24_CUR_POS_H      = 0x016B,
-  DARWIN_MM_SERVO25_CUR_POS_L      = 0x016C, // angle in fixed point format 9|7
-  DARWIN_MM_SERVO25_CUR_POS_H      = 0x016D,
-  DARWIN_MM_SERVO26_CUR_POS_L      = 0x016E, // angle in fixed point format 9|7
-  DARWIN_MM_SERVO26_CUR_POS_H      = 0x016F,
-  DARWIN_MM_SERVO27_CUR_POS_L      = 0x0170, // angle in fixed point format 9|7
-  DARWIN_MM_SERVO27_CUR_POS_H      = 0x0171,
-  DARWIN_MM_SERVO28_CUR_POS_L      = 0x0172, // angle in fixed point format 9|7
-  DARWIN_MM_SERVO28_CUR_POS_H      = 0x0173,
-  DARWIN_MM_SERVO29_CUR_POS_L      = 0x0174, // angle in fixed point format 9|7
-  DARWIN_MM_SERVO29_CUR_POS_H      = 0x0175,
-  DARWIN_MM_SERVO30_CUR_POS_L      = 0x0176, // angle in fixed point format 9|7
-  DARWIN_MM_SERVO30_CUR_POS_H      = 0x0177,
-  DARWIN_MM_SERVO31_CUR_POS_L      = 0x0178, // angle in fixed point format 9|7
-  DARWIN_MM_SERVO31_CUR_POS_H      = 0x0179,
-  DARWIN_ACTION_PAGE               = 0x017A,
-  DARWIN_ACTION_CNTRL              = 0x017B, // bit 7 | bit 6 | bit 5 |     bit 4    | bit 3 | bit 2 |   bit 1   |   bit 0
+  DARWIN_MM_SERVO0_CUR_POS_L       = 0x015C, // angle in fixed point format 9|7
+  DARWIN_MM_SERVO0_CUR_POS_H       = 0x015D,
+  DARWIN_MM_SERVO1_CUR_POS_L       = 0x015E, // angle in fixed point format 9|7
+  DARWIN_MM_SERVO1_CUR_POS_H       = 0x015F,
+  DARWIN_MM_SERVO2_CUR_POS_L       = 0x0160, // angle in fixed point format 9|7
+  DARWIN_MM_SERVO2_CUR_POS_H       = 0x0161,
+  DARWIN_MM_SERVO3_CUR_POS_L       = 0x0162, // angle in fixed point format 9|7
+  DARWIN_MM_SERVO3_CUR_POS_H       = 0x0163,
+  DARWIN_MM_SERVO4_CUR_POS_L       = 0x0164, // angle in fixed point format 9|7
+  DARWIN_MM_SERVO4_CUR_POS_H       = 0x0165,
+  DARWIN_MM_SERVO5_CUR_POS_L       = 0x0166, // angle in fixed point format 9|7
+  DARWIN_MM_SERVO5_CUR_POS_H       = 0x0167,
+  DARWIN_MM_SERVO6_CUR_POS_L       = 0x0168, // angle in fixed point format 9|7
+  DARWIN_MM_SERVO6_CUR_POS_H       = 0x0169,
+  DARWIN_MM_SERVO7_CUR_POS_L       = 0x016A, // angle in fixed point format 9|7
+  DARWIN_MM_SERVO7_CUR_POS_H       = 0x016B,
+  DARWIN_MM_SERVO8_CUR_POS_L       = 0x016C, // angle in fixed point format 9|7
+  DARWIN_MM_SERVO8_CUR_POS_H       = 0x016D,
+  DARWIN_MM_SERVO9_CUR_POS_L       = 0x016E, // angle in fixed point format 9|7
+  DARWIN_MM_SERVO9_CUR_POS_H       = 0x016F,
+  DARWIN_MM_SERVO10_CUR_POS_L      = 0x0170, // angle in fixed point format 9|7
+  DARWIN_MM_SERVO10_CUR_POS_H      = 0x0171,
+  DARWIN_MM_SERVO11_CUR_POS_L      = 0x0172, // angle in fixed point format 9|7
+  DARWIN_MM_SERVO11_CUR_POS_H      = 0x0173,
+  DARWIN_MM_SERVO12_CUR_POS_L      = 0x0174, // angle in fixed point format 9|7
+  DARWIN_MM_SERVO12_CUR_POS_H      = 0x0175,
+  DARWIN_MM_SERVO13_CUR_POS_L      = 0x0176, // angle in fixed point format 9|7
+  DARWIN_MM_SERVO13_CUR_POS_H      = 0x0177,
+  DARWIN_MM_SERVO14_CUR_POS_L      = 0x0178, // angle in fixed point format 9|7
+  DARWIN_MM_SERVO14_CUR_POS_H      = 0x0179,
+  DARWIN_MM_SERVO15_CUR_POS_L      = 0x017A, // angle in fixed point format 9|7
+  DARWIN_MM_SERVO15_CUR_POS_H      = 0x017B,
+  DARWIN_MM_SERVO16_CUR_POS_L      = 0x017C, // angle in fixed point format 9|7
+  DARWIN_MM_SERVO16_CUR_POS_H      = 0x017D,
+  DARWIN_MM_SERVO17_CUR_POS_L      = 0x017E, // angle in fixed point format 9|7
+  DARWIN_MM_SERVO17_CUR_POS_H      = 0x017F,
+  DARWIN_MM_SERVO18_CUR_POS_L      = 0x0180, // angle in fixed point format 9|7
+  DARWIN_MM_SERVO18_CUR_POS_H      = 0x0181,
+  DARWIN_MM_SERVO19_CUR_POS_L      = 0x0182, // angle in fixed point format 9|7
+  DARWIN_MM_SERVO19_CUR_POS_H      = 0x0183,
+  DARWIN_MM_SERVO20_CUR_POS_L      = 0x0184, // angle in fixed point format 9|7
+  DARWIN_MM_SERVO20_CUR_POS_H      = 0x0185,
+  DARWIN_MM_SERVO21_CUR_POS_L      = 0x0186, // angle in fixed point format 9|7
+  DARWIN_MM_SERVO21_CUR_POS_H      = 0x0187,
+  DARWIN_MM_SERVO22_CUR_POS_L      = 0x0188, // angle in fixed point format 9|7
+  DARWIN_MM_SERVO22_CUR_POS_H      = 0x0189,
+  DARWIN_MM_SERVO23_CUR_POS_L      = 0x018A, // angle in fixed point format 9|7
+  DARWIN_MM_SERVO23_CUR_POS_H      = 0x018B,
+  DARWIN_MM_SERVO24_CUR_POS_L      = 0x018C, // angle in fixed point format 9|7
+  DARWIN_MM_SERVO24_CUR_POS_H      = 0x018D,
+  DARWIN_MM_SERVO25_CUR_POS_L      = 0x018E, // angle in fixed point format 9|7
+  DARWIN_MM_SERVO25_CUR_POS_H      = 0x018F,
+  DARWIN_MM_SERVO26_CUR_POS_L      = 0x0190, // angle in fixed point format 9|7
+  DARWIN_MM_SERVO26_CUR_POS_H      = 0x0191,
+  DARWIN_MM_SERVO27_CUR_POS_L      = 0x0192, // angle in fixed point format 9|7
+  DARWIN_MM_SERVO27_CUR_POS_H      = 0x0193,
+  DARWIN_MM_SERVO28_CUR_POS_L      = 0x0194, // angle in fixed point format 9|7
+  DARWIN_MM_SERVO28_CUR_POS_H      = 0x0195,
+  DARWIN_MM_SERVO29_CUR_POS_L      = 0x0196, // angle in fixed point format 9|7
+  DARWIN_MM_SERVO29_CUR_POS_H      = 0x0197,
+  DARWIN_MM_SERVO30_CUR_POS_L      = 0x0198, // angle in fixed point format 9|7
+  DARWIN_MM_SERVO30_CUR_POS_H      = 0x0199,
+  DARWIN_MM_SERVO31_CUR_POS_L      = 0x019A, // angle in fixed point format 9|7
+  DARWIN_MM_SERVO31_CUR_POS_H      = 0x019B,
+  DARWIN_ACTION_PAGE               = 0x019C,
+  DARWIN_ACTION_CNTRL              = 0x019D, // bit 7 | bit 6 | bit 5 |     bit 4    | bit 3 | bit 2 |   bit 1   |   bit 0
                                              //       |       |       | page running |       |       | stop page | start page
-  DARWIN_WALK_CNTRL                = 0x017C, // bit 7 | bit 6 | bit 5 |  bit 4  | bit 3 | bit 2 |     bit 1    |    bit 0
+  DARWIN_WALK_CNTRL                = 0x019E, // bit 7 | bit 6 | bit 5 |  bit 4  | bit 3 | bit 2 |     bit 1    |    bit 0
                                              // current phase           walking                   stop walking   start walking
-  DARWIN_WALK_STEP_FW_BW           = 0x017D,
-  DARWIN_WALK_STEP_LEFT_RIGHT      = 0x017E,
-  DARWIN_WALK_STEP_DIRECTION       = 0x017F
+  DARWIN_WALK_STEP_FW_BW           = 0x019F,
+  DARWIN_WALK_STEP_LEFT_RIGHT      = 0x01A0,
+  DARWIN_WALK_STEP_DIRECTION       = 0x01A1
 } darwin_registers;
 
 #define      GPIO_BASE_ADDRESS       0x0100
@@ -382,6 +382,7 @@ typedef enum {
 #define      MANAGER_ENABLE          0x01
 #define      MANAGER_EN_BAL          0x02
 #define      MANAGER_EN_PWR          0x04
+#define      MANAGER_SCANNING        0x80
 #define      MANAGER_EVEN_SER_EN     0x80
 #define      MANAGER_EVEN_SER_MOD    0x70
 #define      MANAGER_ODD_SER_EN      0x08
diff --git a/src/cm730_fw.c b/src/cm730_fw.c
index 5679db03820b8b854ea451224f6aebedf1258039..272785af5a7afbfed7e541edbe7e52dd917aa739 100755
--- a/src/cm730_fw.c
+++ b/src/cm730_fw.c
@@ -35,6 +35,7 @@ int main(void)
   EE_ReadVariable(MM_PERIOD_OFFSET+1,&eeprom_data);
   period+=((eeprom_data&0x00FF)<<8);
   manager_init(period);
+  gpio_set_led(LED_4);
 
   while(1);/* main function does not return */
 }
diff --git a/src/darwin_dyn_master.c b/src/darwin_dyn_master.c
index d55b13c8a87d614617273bd9aaf3bdad3af9671d..23c7525f167bf41e05fc372fc4136d29ed94b684 100755
--- a/src/darwin_dyn_master.c
+++ b/src/darwin_dyn_master.c
@@ -1,6 +1,7 @@
 #include "darwin_dyn_master.h"
 #include "darwin_time.h"
 #include "usart1.h"
+#include "ram.h"
 
 #define ENABLE_RX_EN_GPIO_CLK      __GPIOB_CLK_ENABLE()
 #define RX_EN_PIN                  GPIO_PIN_5
@@ -94,10 +95,12 @@ void darwin_dyn_master_init(void)
 inline void darwin_dyn_master_enable_power(void)
 {
   HAL_GPIO_WritePin(POWER_GPIO_PORT,POWER_PIN,GPIO_PIN_SET);
+  ram_data[DARWIN_MM_CNTRL]|=MANAGER_EN_PWR;
 }
 
 inline void darwin_dyn_master_disable_power(void)
 {
   HAL_GPIO_WritePin(POWER_GPIO_PORT,POWER_PIN,GPIO_PIN_RESET);
+  ram_data[DARWIN_MM_CNTRL]&=(~MANAGER_EN_PWR);
 }
 
diff --git a/src/motion_manager.c b/src/motion_manager.c
index 4857ef925fab6881334dbfbf3eabb408ad5d7c35..a19992252053b04f9698dadf168f10ba28d9e38c 100755
--- a/src/motion_manager.c
+++ b/src/motion_manager.c
@@ -183,6 +183,7 @@ void manager_init(uint16_t period_us)
   /* initialize the dynamixel master module for the servos */
   darwin_dyn_master_init();
 
+  ram_data[DARWIN_MM_CNTRL]|=MANAGER_SCANNING;
   // enable power to the servos
   darwin_dyn_master_enable_power();
   HAL_Delay(1000);
@@ -296,6 +297,7 @@ void manager_init(uint16_t period_us)
     }
   }
   darwin_dyn_master_disable_power();
+  ram_data[DARWIN_MM_CNTRL]&=(~MANAGER_SCANNING);
 
   /* configure timer */
   ENABLE_MANAGER_TIMER_CLK;
@@ -304,6 +306,7 @@ void manager_init(uint16_t period_us)
   MANAGER_TIM_Handle.Init.Prescaler = 72;
   MANAGER_TIM_Handle.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
   MANAGER_TIM_Handle.Init.CounterMode = TIM_COUNTERMODE_UP;
+  HAL_TIM_Base_Init(&MANAGER_TIM_Handle);
   HAL_NVIC_SetPriority(MANAGER_TIMER_IRQn, 2, 1);
   HAL_NVIC_EnableIRQ(MANAGER_TIMER_IRQn);
   /* use the internal clock */