diff --git a/comm/include/comm.h b/comm/include/comm.h
index 65c8ade007e42b6ba50b511563bd9f4e18a006b8..d8dd28ad8d8877431860df44f801601ce880b767 100644
--- a/comm/include/comm.h
+++ b/comm/include/comm.h
@@ -712,7 +712,7 @@ comm_error comm_is_receive_done(TComm *dev);
  * \return the error of the last operation or COMM_BUSY if the operation
  *         is still in progress.
  */
-inline unsigned char comm_get_error(TComm *dev)
+static inline unsigned char comm_get_error(TComm *dev)
 {
   return dev->error;
 }
@@ -729,7 +729,7 @@ inline unsigned char comm_get_error(TComm *dev)
  *        behavior is unpredictable. 
  * \param error identifier of the error to be set
  */
-inline void comm_set_error(TComm *dev, unsigned char error)
+static inline void comm_set_error(TComm *dev, unsigned char error)
 {
   dev->error=error;
 }
diff --git a/dynamixel_base/include/dynamixel.h b/dynamixel_base/include/dynamixel.h
index 29b35c00bcd38f3de34e17a61442c7e40297be3e..2b06e605e40e14a2ec8821a79cb50d0acd84f076 100755
--- a/dynamixel_base/include/dynamixel.h
+++ b/dynamixel_base/include/dynamixel.h
@@ -23,7 +23,7 @@ void dyn_copy_packet(unsigned char *source, unsigned char *destination);
  * \brief
  *
  */
-inline unsigned char dyn_get_id(unsigned char *packet)
+static inline unsigned char dyn_get_id(unsigned char *packet)
 {
   return packet[DYN_ID_OFF];
 }
@@ -31,7 +31,7 @@ inline unsigned char dyn_get_id(unsigned char *packet)
  * \brief
  *
  */
-inline unsigned char dyn_get_length(unsigned char *packet)
+static inline unsigned char dyn_get_length(unsigned char *packet)
 {
   return packet[DYN_LENGTH_OFF];
 }
@@ -39,7 +39,7 @@ inline unsigned char dyn_get_length(unsigned char *packet)
  * \brief
  *
  */
-inline TDynInstruction dyn_get_instruction(unsigned char *packet)
+static inline TDynInstruction dyn_get_instruction(unsigned char *packet)
 {
   return (TDynInstruction)packet[DYN_INST_OFF];
 }
@@ -81,7 +81,7 @@ void dyn_init_read_packet(unsigned char *packet,unsigned char id,unsigned char a
  * \brief
  *
  */
-inline unsigned char dyn_get_read_length(unsigned char *packet)
+static inline unsigned char dyn_get_read_length(unsigned char *packet)
 {
   return packet[DYN_DATA_OFF+1];
 }
@@ -89,7 +89,7 @@ inline unsigned char dyn_get_read_length(unsigned char *packet)
  * \brief
  *
  */
-inline unsigned char dyn_get_read_address(unsigned char *packet)
+static inline unsigned char dyn_get_read_address(unsigned char *packet)
 {
   return packet[DYN_DATA_OFF];
 }
@@ -103,7 +103,7 @@ void dyn_init_write_packet(unsigned char *packet,unsigned char id,unsigned char
  * \brief
  *
  */
-inline unsigned char dyn_get_write_address(unsigned char *packet)
+static inline unsigned char dyn_get_write_address(unsigned char *packet)
 {
   return packet[DYN_DATA_OFF];
 }
@@ -111,7 +111,7 @@ inline unsigned char dyn_get_write_address(unsigned char *packet)
  * \brief
  *
  */
-inline unsigned char dyn_get_write_length(unsigned char *packet)
+static inline unsigned char dyn_get_write_length(unsigned char *packet)
 {
   return packet[DYN_LENGTH_OFF]-3;
 }
@@ -130,7 +130,7 @@ void dyn_init_reg_write_packet(unsigned char *packet,unsigned char id,unsigned c
  * \brief
  *
  */
-inline unsigned char dyn_get_reg_write_address(unsigned char *packet)
+static inline unsigned char dyn_get_reg_write_address(unsigned char *packet)
 {
   return packet[DYN_DATA_OFF];
 }
@@ -138,7 +138,7 @@ inline unsigned char dyn_get_reg_write_address(unsigned char *packet)
  * \brief
  *
  */
-inline unsigned char dyn_get_reg_write_length(unsigned char *packet)
+static inline unsigned char dyn_get_reg_write_length(unsigned char *packet)
 {
   return packet[DYN_LENGTH_OFF]-3;
 }
@@ -208,7 +208,7 @@ void dyn_init_status_packet(unsigned char *packet,unsigned char id,TDynError err
  * \brief
  *
  */
-inline TDynError dyn_get_status_error(unsigned char *packet)
+static inline TDynError dyn_get_status_error(unsigned char *packet)
 {
   return (TDynError)packet[DYN_ERROR_OFF];
 }
@@ -222,7 +222,7 @@ unsigned char dyn_get_read_status_data(unsigned char *packet,unsigned char *data
  * \brief
  *
  */
-inline unsigned char dyn_get_read_status_id(unsigned char *packet)
+static inline unsigned char dyn_get_read_status_id(unsigned char *packet)
 {
   return packet[DYN_ID_OFF];
 }
diff --git a/dynamixel_base/include/dynamixel2.h b/dynamixel_base/include/dynamixel2.h
index f4303061ff52d4fde5b34c664ebad18f47cadd41..8b6b3d440aecb4321f5a5d6beedc4a15841431f8 100644
--- a/dynamixel_base/include/dynamixel2.h
+++ b/dynamixel_base/include/dynamixel2.h
@@ -24,7 +24,7 @@ void dyn2_copy_packet(unsigned char *source, unsigned char *destination);
  * \brief
  * 
  */
-inline unsigned char dyn2_get_id(unsigned char *packet)
+static inline unsigned char dyn2_get_id(unsigned char *packet)
 {
   return packet[DYN2_ID_OFF];
 }
@@ -32,7 +32,7 @@ inline unsigned char dyn2_get_id(unsigned char *packet)
  * \brief
  * 
  */
-inline unsigned short int dyn2_get_length(unsigned char *packet)
+static inline unsigned short int dyn2_get_length(unsigned char *packet)
 {
   return (packet[DYN2_LENGTH_OFF]+packet[DYN2_LENGTH_OFF+1]*256);
 }
@@ -40,7 +40,7 @@ inline unsigned short int dyn2_get_length(unsigned char *packet)
  * \brief
  * 
  */
-inline TDynInstruction dyn2_get_instruction(unsigned char *packet)
+static inline TDynInstruction dyn2_get_instruction(unsigned char *packet)
 {
   return (TDynInstruction)packet[DYN2_INST_OFF];
 }
@@ -82,7 +82,7 @@ void dyn2_init_read_packet(unsigned char *packet,unsigned char id,unsigned short
  * \brief
  * 
  */
-inline unsigned short int dyn2_get_read_length(unsigned char *packet)
+static inline unsigned short int dyn2_get_read_length(unsigned char *packet)
 {
   return (packet[DYN2_DATA_OFF+2]+packet[DYN2_DATA_OFF+3]*256);
 }
@@ -90,7 +90,7 @@ inline unsigned short int dyn2_get_read_length(unsigned char *packet)
  * \brief
  * 
  */
-inline unsigned short int dyn2_get_read_address(unsigned char *packet)
+static inline unsigned short int dyn2_get_read_address(unsigned char *packet)
 {
   return (packet[DYN2_DATA_OFF]+packet[DYN2_DATA_OFF+1]*256);
 }
@@ -104,7 +104,7 @@ void dyn2_init_write_packet(unsigned char *packet,unsigned char id,unsigned shor
  * \brief
  * 
  */
-inline unsigned short int dyn2_get_write_address(unsigned char *packet)
+static inline unsigned short int dyn2_get_write_address(unsigned char *packet)
 {
   return (packet[DYN2_DATA_OFF]+packet[DYN2_DATA_OFF+1]*256);
 }
@@ -112,7 +112,7 @@ inline unsigned short int dyn2_get_write_address(unsigned char *packet)
  * \brief
  * 
  */
-inline unsigned short int dyn2_get_write_length(unsigned char *packet)
+static inline unsigned short int dyn2_get_write_length(unsigned char *packet)
 {
   return (packet[DYN2_LENGTH_OFF]+packet[DYN2_LENGTH_OFF+1]*256)-5;
 }
@@ -131,7 +131,7 @@ void dyn2_init_reg_write_packet(unsigned char *packet,unsigned char id,unsigned
  * \brief
  * 
  */
-inline unsigned short int dyn2_get_reg_write_address(unsigned char *packet)
+static inline unsigned short int dyn2_get_reg_write_address(unsigned char *packet)
 {
   return (packet[DYN2_DATA_OFF]+packet[DYN2_DATA_OFF+1]*256);
 }
@@ -139,7 +139,7 @@ inline unsigned short int dyn2_get_reg_write_address(unsigned char *packet)
  * \brief
  * 
  */
-inline unsigned short int dyn2_get_reg_write_length(unsigned char *packet)
+static inline unsigned short int dyn2_get_reg_write_length(unsigned char *packet)
 {
   return (packet[DYN2_LENGTH_OFF]+packet[DYN2_LENGTH_OFF+1]*256)-5;
 }
@@ -231,7 +231,7 @@ void dyn2_init_status_packet(unsigned char *packet,unsigned char id,TDynError er
  * \brief
  * 
  */
-inline TDynError dyn2_get_status_error(unsigned char *packet)
+static inline TDynError dyn2_get_status_error(unsigned char *packet)
 {
   return (TDynError)packet[DYN2_DATA_OFF];
 }
@@ -245,7 +245,7 @@ unsigned short int dyn2_get_read_status_data(unsigned char *packet,unsigned char
  * \brief
  * 
  */
-inline unsigned char dyn2_get_read_status_id(unsigned char *packet)
+static inline unsigned char dyn2_get_read_status_id(unsigned char *packet)
 {
   return packet[DYN2_ID_OFF];
 }
diff --git a/dynamixel_base/include/dynamixel_master.h b/dynamixel_base/include/dynamixel_master.h
index f1fdf2e6fed4c8daa094bb9f2324ba1191768ff4..3c7f0470418d0303be47617347f68b0ed145fb4c 100644
--- a/dynamixel_base/include/dynamixel_master.h
+++ b/dynamixel_base/include/dynamixel_master.h
@@ -100,7 +100,7 @@ void dyn_master_init(TDynamixelMaster *master,TComm *dev,TDynVersion version);
  * \brief
  *
  */
-inline void dyn_master_set_rx_timeout(TDynamixelMaster *master,unsigned short int timeout_ms)
+static inline void dyn_master_set_rx_timeout(TDynamixelMaster *master,unsigned short int timeout_ms)
 {
   if(master!=0x00000000)
     master->rx_timeout_ms=timeout_ms;
@@ -109,7 +109,7 @@ inline void dyn_master_set_rx_timeout(TDynamixelMaster *master,unsigned short in
  * \brief
  *
  */
-inline void dyn_master_set_return_level(TDynamixelMaster *master,return_level_t level)
+static inline void dyn_master_set_return_level(TDynamixelMaster *master,return_level_t level)
 {
   if(master!=0x00000000)
     master->return_level=level;
@@ -118,7 +118,7 @@ inline void dyn_master_set_return_level(TDynamixelMaster *master,return_level_t
  * \brief
  *
  */
-inline return_level_t dyn_master_get_return_level(TDynamixelMaster *master)
+static inline return_level_t dyn_master_get_return_level(TDynamixelMaster *master)
 {
   if(master!=0x00000000)
     return master->return_level;
diff --git a/dynamixel_base/include/dynamixel_slave.h b/dynamixel_base/include/dynamixel_slave.h
index 067ad7ee7fd164a9c212ccf8502eae5e534ccd31..c680e17aff39e41b2d9005eb3136cff4f7d4e180 100644
--- a/dynamixel_base/include/dynamixel_slave.h
+++ b/dynamixel_base/include/dynamixel_slave.h
@@ -126,7 +126,7 @@ unsigned char dyn_slave_add_device(TDynamixelSlave *slave, TDynamixelSlaveDevice
  * \brief
  *
  */
-inline void dyn_slave_set_baudrate(TDynamixelSlave *slave,unsigned int baudrate)
+static inline void dyn_slave_set_baudrate(TDynamixelSlave *slave,unsigned int baudrate)
 {
   if(slave!=0x00000000)
     slave->set_baudrate(slave->comm_dev,baudrate);
@@ -135,7 +135,7 @@ inline void dyn_slave_set_baudrate(TDynamixelSlave *slave,unsigned int baudrate)
  * \brief
  *
  */
-inline void dyn_slave_set_rx_timeout(TDynamixelSlave *slave,unsigned short int timeout_ms)
+static inline void dyn_slave_set_rx_timeout(TDynamixelSlave *slave,unsigned short int timeout_ms)
 {
   if(slave!=0x00000000)
     slave->rx_timeout_ms=timeout_ms;
@@ -144,7 +144,7 @@ inline void dyn_slave_set_rx_timeout(TDynamixelSlave *slave,unsigned short int t
  * \brief
  *
  */
-inline TDynVersion dyn_slave_get_version(TDynamixelSlave *slave)
+static inline TDynVersion dyn_slave_get_version(TDynamixelSlave *slave)
 {
   if(slave!=0x00000000)
     return slave->version;
@@ -155,7 +155,7 @@ inline TDynVersion dyn_slave_get_version(TDynamixelSlave *slave)
  * \brief
  *
  */
-inline void dyn_slave_start(TDynamixelSlave *slave)
+static inline void dyn_slave_start(TDynamixelSlave *slave)
 {
   scheduler_enable_channel(slave->scheduler,slave->sch_channel);
 }
@@ -163,7 +163,7 @@ inline void dyn_slave_start(TDynamixelSlave *slave)
  * \brief
  *
  */
-inline void dyn_slave_stop(TDynamixelSlave *slave)
+static inline void dyn_slave_stop(TDynamixelSlave *slave)
 {
   scheduler_disable_channel(slave->scheduler,slave->sch_channel);
 }
diff --git a/dynamixel_base/include/dynamixel_slave_device.h b/dynamixel_base/include/dynamixel_slave_device.h
index 34b28e1daf6fef7d317a3b7de74e66767baa7920..aa7617bd3597beff62bb39baa10c2740aa500e8b 100644
--- a/dynamixel_base/include/dynamixel_slave_device.h
+++ b/dynamixel_base/include/dynamixel_slave_device.h
@@ -132,7 +132,7 @@ unsigned char dyn_slave_device_init(TDynamixelSlaveDevice *device,unsigned char
  * \brief
  *
  */
-inline void dyn_slave_device_set_address(TDynamixelSlaveDevice *device,unsigned char address)
+static inline void dyn_slave_device_set_address(TDynamixelSlaveDevice *device,unsigned char address)
 {
   if(device!=0x00000000)
     device->address=address;
@@ -141,7 +141,7 @@ inline void dyn_slave_device_set_address(TDynamixelSlaveDevice *device,unsigned
  * \brief
  *
  */
-inline unsigned char dyn_slave_device_get_address(TDynamixelSlaveDevice *device)
+static inline unsigned char dyn_slave_device_get_address(TDynamixelSlaveDevice *device)
 {
   if(device!=0x00000000)
     return device->address;
@@ -152,7 +152,7 @@ inline unsigned char dyn_slave_device_get_address(TDynamixelSlaveDevice *device)
  * \brief
  *
  */
-inline void dyn_slave_device_set_return_delay(TDynamixelSlaveDevice *device,unsigned char delay)
+static inline void dyn_slave_device_set_return_delay(TDynamixelSlaveDevice *device,unsigned char delay)
 {
   if(device!=0x00000000)
     device->return_delay=delay;
@@ -161,7 +161,7 @@ inline void dyn_slave_device_set_return_delay(TDynamixelSlaveDevice *device,unsi
  * \brief
  *
  */
-inline unsigned char dyn_slave_device_get_return_delay(TDynamixelSlaveDevice *device)
+static inline unsigned char dyn_slave_device_get_return_delay(TDynamixelSlaveDevice *device)
 {
   if(device!=0x00000000)
     return device->return_delay;
@@ -172,7 +172,7 @@ inline unsigned char dyn_slave_device_get_return_delay(TDynamixelSlaveDevice *de
  * \brief
  *
  */
-inline void dyn_slave_device_set_return_level(TDynamixelSlaveDevice *device,return_level_t level)
+static inline void dyn_slave_device_set_return_level(TDynamixelSlaveDevice *device,return_level_t level)
 {
   if(device!=0x00000000)
     device->return_level=level;
@@ -181,7 +181,7 @@ inline void dyn_slave_device_set_return_level(TDynamixelSlaveDevice *device,retu
  * \brief
  *
  */
-inline return_level_t dyn_slave_device_get_return_level(TDynamixelSlaveDevice *device)
+static inline return_level_t dyn_slave_device_get_return_level(TDynamixelSlaveDevice *device)
 {
   if(device!=0x00000000)
     return device->return_level;
@@ -202,7 +202,7 @@ unsigned char dyn_v2_slave_loop(TDynamixelSlaveDevice *device,unsigned char *rx_
  * \brief
  *
  */
-inline TMemory *dyn_slave_device_get_memory(TDynamixelSlaveDevice *device)
+static inline TMemory *dyn_slave_device_get_memory(TDynamixelSlaveDevice *device)
 {
   return &device->memory;
 }
diff --git a/dynamixel_manager/include/dyn_manager.h b/dynamixel_manager/include/dyn_manager.h
index 948c040cb0bb4e0ae4dd4083bc276cc1881fd925..24f77938df9fd8e7ba0e8f56c07e804094a1b06f 100644
--- a/dynamixel_manager/include/dyn_manager.h
+++ b/dynamixel_manager/include/dyn_manager.h
@@ -126,14 +126,26 @@ typedef struct{
 // public functions
 unsigned char dyn_manager_init(TDynManager *manager,TMemory *memory,unsigned short int eeprom_base_address,unsigned short int ram_base_address);
 void dyn_manager_set_period(TDynManager *manager,unsigned short int period_us);
-unsigned short int dyn_manager_get_period(TDynManager *manager);
+static inline unsigned short int dyn_manager_get_period(TDynManager *manager)
+{
+  return manager->period_us;
+}
 void dyn_manager_scan(TDynManager *manager);
 void dyn_manager_add_master(TDynManager *manager,TDynamixelMaster *master);
-unsigned char dyn_manager_get_num_masters(TDynManager *manager);
+static inline unsigned char dyn_manager_get_num_masters(TDynManager *manager)
+{
+  return manager->num_masters;
+}
 TDynamixelMaster *dyn_manager_get_device_master(TDynManager *manager,unsigned char device_id);
-unsigned short int dyn_manager_get_device_model(TDynManager *manager,unsigned char device_id);
+static inline unsigned short int dyn_manager_get_device_model(TDynManager *manager,unsigned char device_id)
+{
+  return manager->devices[device_id].model;
+}
 void dyn_manager_add_module(TDynManager *manager,struct TDynModule *module);
-unsigned char dyn_manager_get_num_modules(TDynManager *manager);
+static inline unsigned char dyn_manager_get_num_modules(TDynManager *manager)
+{
+  return manager->num_modules;
+}
 void dyn_manager_delete_op(TDynManager *manager,OP_HANDLE *op);
 void dyn_manager_set_op_period(TDynManager *manager,OP_HANDLE *op,unsigned char period_count);
 unsigned char dyn_manager_get_op_period(TDynManager *manager,OP_HANDLE *op);
diff --git a/dynamixel_manager/include/dyn_module.h b/dynamixel_manager/include/dyn_module.h
index 979b248243012a7e660a96060d3161db98a5437b..8620ebe0c9590c6e1e6a64c08a7f94d4e85ae2c9 100644
--- a/dynamixel_manager/include/dyn_module.h
+++ b/dynamixel_manager/include/dyn_module.h
@@ -33,16 +33,34 @@ typedef struct TDynModule{
 
 //public functions
 unsigned char dyn_module_init(TDynModule *module);
-inline void dyn_module_enable(TDynModule *module);
-inline void dyn_module_disable(TDynModule *module);
-inline unsigned char dyn_module_is_enabled(TDynModule *module);
+static inline void dyn_module_enable(TDynModule *module)
+{
+  module->enabled=0x01;
+}
+static inline void dyn_module_disable(TDynModule *module)
+{
+  module->enabled=0x00;
+}
+static inline unsigned char dyn_module_is_enabled(TDynModule *module)
+{
+  return module->enabled;
+}
 void dyn_module_add_model(TDynModule *module,unsigned short int model);
-inline unsigned char dyn_module_get_num_models(TDynModule *module);
+static inline unsigned char dyn_module_get_num_models(TDynModule *module)
+{
+  return module->num_models;
+}
 void dyn_module_add_device(TDynModule *module,unsigned char id, unsigned short int model);
-inline unsigned char dyn_module_get_num_assigned_devices(TDynModule *module);
+static inline unsigned char dyn_module_get_num_assigned_devices(TDynModule *module)
+{
+  return module->num_assigned_ids;
+}
 unsigned char dyn_module_device_is_assigned(TDynModule *module,unsigned char id);
 void dyn_module_set_period(TDynModule *module,unsigned char period);
-inline unsigned char dyn_module_get_period(TDynModule *module);
+static inline unsigned char dyn_module_get_period(TDynModule *module)
+{
+  return module->period_count;
+}
 
 #ifdef __cplusplus
   }
diff --git a/dynamixel_manager/include/modules/motion_manager.h b/dynamixel_manager/include/modules/motion_manager.h
index 0fb76186cc463713527513de08ec4595972fe1c1..cc92077872c2152dfdd1c5637b077b3139840913 100644
--- a/dynamixel_manager/include/modules/motion_manager.h
+++ b/dynamixel_manager/include/modules/motion_manager.h
@@ -56,16 +56,33 @@ typedef struct {
 }TMotionManager;  
 
 unsigned char mmanager_init(TMotionManager *mmanager,TMemory *memory,unsigned short int ram_base_address,unsigned short int eeprom_base_address);
-TDynModule *mmanager_get_dyn_module(TMotionManager *mmanager);
-void mmanager_enable_balance(TMotionManager *mmanager);
-void mmanager_disable_balance(TMotionManager *mmanager);
-unsigned char mmanager_is_balance_enabled(TMotionManager *mmanager);
+static inline TDynModule *mmanager_get_dyn_module(TMotionManager *mmanager)
+{
+  return &mmanager->dyn_module;
+}
+static inline void mmanager_enable_balance(TMotionManager *mmanager)
+{
+  if(mmanager->balance!=0x00000000)
+    mmanager->balance_enabled=0x01;
+}
+static inline void mmanager_disable_balance(TMotionManager *mmanager)
+{
+  mmanager->balance_enabled=0x00;
+}
+static inline unsigned char mmanager_is_balance_enabled(TMotionManager *mmanager)
+{
+  return mmanager->balance_enabled;
+}
 void mmanager_set_module(TMotionManager *mmanager,unsigned char servo_id,TModules module);
 TModules mmanager_get_module(TMotionManager *mmanager,unsigned char servo_id);
 void mmanager_enable_servo(TMotionManager *mmanager,unsigned char servo_id);
 void mmanager_disable_servo(TMotionManager *mmanager,unsigned char servo_id);
 unsigned char mmanager_is_servo_enabled(TMotionManager *mmanager,unsigned char servo_id);
-void mmanager_set_offset(TMotionManager *mmanager,unsigned char servo_id,char offset);
+static inline void mmanager_set_offset(TMotionManager *mmanager,unsigned char servo_id,char offset)
+{
+  if(servo_id<DYN_MANAGER_MAX_NUM_DEVICES)
+    mmanager->servo_values[servo_id].offset=offset;
+}
 void mmanager_add_module(TMotionManager *mmanager,struct TMotionModule *module);
 
 #ifdef __cplusplus
diff --git a/dynamixel_manager/src/dyn_module.c b/dynamixel_manager/src/dyn_module.c
index e63ddca2243621506df9eea07d62a18d4fe0a49d..e61cd7c22c200c882319581bf13bc111d5a79f92 100644
--- a/dynamixel_manager/src/dyn_module.c
+++ b/dynamixel_manager/src/dyn_module.c
@@ -23,21 +23,6 @@ unsigned char dyn_module_init(TDynModule *module)
   return 0x01;
 }
 
-void dyn_module_enable(TDynModule *module)
-{
-  module->enabled=0x01;
-}
-
-void dyn_module_disable(TDynModule *module)
-{
-  module->enabled=0x00;
-}
-
-unsigned char dyn_module_is_enabled(TDynModule *module)
-{
-  return module->enabled;
-}
-
 void dyn_module_add_model(TDynModule *module,unsigned short int model)
 {
   unsigned char i;
@@ -52,11 +37,6 @@ void dyn_module_add_model(TDynModule *module,unsigned short int model)
   }
 }
 
-unsigned char dyn_module_get_num_models(TDynModule *module)
-{
-  return module->num_models;
-}
-
 void dyn_module_add_device(TDynModule *module,unsigned char id, unsigned short int model)
 {
   unsigned char i;
@@ -74,11 +54,6 @@ void dyn_module_add_device(TDynModule *module,unsigned char id, unsigned short i
   }
 }
 
-unsigned char dyn_module_get_num_assigned_devices(TDynModule *module)
-{
-  return module->num_assigned_ids;
-}
-
 unsigned char dyn_moudle_device_is_assigned(TDynModule *module,unsigned char id)
 {
   if(id<DYN_MANAGER_MAX_NUM_DEVICES)
@@ -94,10 +69,3 @@ void dyn_module_set_period(TDynModule *module,unsigned char period)
   else
     module->period_count=period;
 }
-
-unsigned char dyn_module_get_period(TDynModule *module)
-{
-  return module->period_count;
-}
-
-
diff --git a/dynamixel_manager/src/modules/motion_manager.c b/dynamixel_manager/src/modules/motion_manager.c
index e7868622ddd49a8481a8baf9a369e79daf627f15..1a4363bd5dddff54b116de15062642c894bb49e9 100644
--- a/dynamixel_manager/src/modules/motion_manager.c
+++ b/dynamixel_manager/src/modules/motion_manager.c
@@ -343,27 +343,6 @@ unsigned char mmanager_init(TMotionManager *mmanager,TMemory *memory,unsigned sh
   return 0x01;
 }
 
-TDynModule *mmanager_get_dyn_module(TMotionManager *mmanager)
-{
-  return &mmanager->dyn_module;
-}
-
-void mmanager_enable_balance(TMotionManager *mmanager)
-{
-  if(mmanager->balance!=0x00000000)
-    mmanager->balance_enabled=0x01;
-}
-
-void mmanager_disable_balance(TMotionManager *mmanager)
-{
-  mmanager->balance_enabled=0x00;
-}
-
-unsigned char mmanager_is_balance_enabled(TMotionManager *mmanager)
-{
-  return mmanager->balance_enabled;
-}
-
 void mmanager_set_module(TMotionManager *mmanager,unsigned char servo_id,TModules module)
 {
   if(servo_id<DYN_MANAGER_MAX_NUM_DEVICES)
@@ -429,12 +408,6 @@ unsigned char mmanager_is_servo_enabled(TMotionManager *mmanager,unsigned char s
     return 0x00;
 }
 
-void mmanager_set_offset(TMotionManager *mmanager,unsigned char servo_id,char offset)
-{
-  if(servo_id<DYN_MANAGER_MAX_NUM_DEVICES)
-    mmanager->servo_values[servo_id].offset=offset;
-}
-
 void mmanager_add_module(TMotionManager *mmanager,TMotionModule *module)
 {
   if(module->id!=MM_NONE)
diff --git a/memory/include/ram.h b/memory/include/ram.h
index ef2325be11b6a051e479edb100e92ec326d1f876..2b6696a7820622e7025238d5e9ec6efed3eac4b0 100644
--- a/memory/include/ram.h
+++ b/memory/include/ram.h
@@ -14,11 +14,11 @@ extern "C" {
 #define      RAM_BAD_ACCESS   -4
 
 unsigned char ram_init(TMemory *memory);
-inline void ram_read_byte(TMemory *memory,unsigned short int address, unsigned char *data)
+static inline void ram_read_byte(TMemory *memory,unsigned short int address, unsigned char *data)
 {
   (*data)=memory->data[address];
 }
-inline void ram_read_word(TMemory *memory,unsigned short int address, unsigned short int *data)
+static inline void ram_read_word(TMemory *memory,unsigned short int address, unsigned short int *data)
 {
   (*data)=memory->data[address];
   (*data)+=memory->data[address+1]*256;
@@ -29,7 +29,7 @@ unsigned char ram_clear_bit(TMemory *memory,unsigned short int address, unsigned
 unsigned char ram_write_byte(TMemory *memory,unsigned short int address, unsigned char data);
 unsigned char ram_write_word(TMemory *memory,unsigned short int address, unsigned short int data);
 unsigned char ram_write_table(TMemory *memory,unsigned short int address, unsigned short int length,unsigned char *data);
-inline unsigned char ram_in_range(unsigned short int reg,unsigned short int address,unsigned short int length)
+static inline unsigned char ram_in_range(unsigned short int reg,unsigned short int address,unsigned short int length)
 {
   if(reg>=address && reg<(address+length))
     return 0x01;
diff --git a/utils/include/buffer.h b/utils/include/buffer.h
index f5ab293d36c92023f8feaee8a5c7e36de6f67550..ab6a770ca44e131a7bab9523ecc2c4f7f4d8da22 100644
--- a/utils/include/buffer.h
+++ b/utils/include/buffer.h
@@ -98,7 +98,7 @@ typedef struct
  *        memory is not pre-allocated before calling this function, its 
  *        behavior is unpredictable.
  */
-inline void buffer_init(TBuffer *buffer)
+static inline void buffer_init(TBuffer *buffer)
 {
   buffer->wr_ptr=0x00000000;
   buffer->rd_ptr=0x00000000;
@@ -116,7 +116,7 @@ inline void buffer_init(TBuffer *buffer)
  *        memory is not pre-allocated before calling this function, its 
  *        behavior is unpredictable.
  */
-inline void buffer_flush(TBuffer *buffer)
+static inline void buffer_flush(TBuffer *buffer)
 {
   buffer->wr_ptr=buffer->rd_ptr;
   buffer->num_data=0;
@@ -136,7 +136,7 @@ inline void buffer_flush(TBuffer *buffer)
  * \return the number of bytes in the buffer. This is a number between 0 and
  *         MAX_BUFFER_LENGTH.
  */
-inline unsigned short int buffer_get_num_data(TBuffer *buffer)
+static inline unsigned short int buffer_get_num_data(TBuffer *buffer)
 {
   return buffer->num_data;
 }
diff --git a/utils/include/stm32_time.h b/utils/include/stm32_time.h
index f45ac7bdfd8603e534e8febbfd34068b1add4df1..1947809808ce668dc86c4d6dcbf4850d5b650d7d 100644
--- a/utils/include/stm32_time.h
+++ b/utils/include/stm32_time.h
@@ -129,7 +129,7 @@ unsigned char time_is_timeout(TTime *time);
  *        memory is not pre-allocated before calling this function, its 
  *        behavior is unpredictable.
  */
-inline void time_cancel_timeout(TTime *time)
+static inline void time_cancel_timeout(TTime *time)
 {
   time->target_time=(unsigned long long int)-1;
 }