Skip to content
Snippets Groups Projects
Commit 5cd2c4a2 authored by Sergi Hernandez's avatar Sergi Hernandez
Browse files

Added the relay feature (working in simulation).

parent a5f23484
No related branches found
No related tags found
No related merge requests found
#include "darwin_dyn_slave.h" #include "darwin_dyn_slave.h"
#include "darwin_dyn_master.h"
#include "darwin_time.h" #include "darwin_time.h"
#include "usart3.h" #include "usart3.h"
#include "eeprom.h" #include "eeprom.h"
...@@ -15,6 +16,9 @@ TScheduler *darwin_dyn_slave_sch; ...@@ -15,6 +16,9 @@ TScheduler *darwin_dyn_slave_sch;
/* memory module */ /* memory module */
TMemory *darwin_dyn_slave_memory; TMemory *darwin_dyn_slave_memory;
extern TDynamixelMaster *darwin_master;
extern TDynamixelMaster *darwin_master2;
/* eeprom data */ /* eeprom data */
dyn_slave_control_eeprom_data(example_dyn_slave,".eeprom",EEPROM_DYN_SLAVE_BASE_ADDRESS1,EEPROM_DYN_SLAVE_BASE_ADDRESS2,DARWIN_DEVICE_MODEL,DARWIN_FIRMWARE_VERSION,DARWIN_DEVICE_ID,DEFAULT_BAUDRATE,DEFAULT_RETURN_DELAY,DEFAULT_RETURN_LEVEL); dyn_slave_control_eeprom_data(example_dyn_slave,".eeprom",EEPROM_DYN_SLAVE_BASE_ADDRESS1,EEPROM_DYN_SLAVE_BASE_ADDRESS2,DARWIN_DEVICE_MODEL,DARWIN_FIRMWARE_VERSION,DARWIN_DEVICE_ID,DEFAULT_BAUDRATE,DEFAULT_RETURN_DELAY,DEFAULT_RETURN_LEVEL);
...@@ -37,6 +41,17 @@ void darwin_on_ping(void) ...@@ -37,6 +41,17 @@ void darwin_on_ping(void)
{ {
} }
unsigned char darwin_on_relay(TDynVersion version,unsigned char *inst_pkt,unsigned char *status_pkt)
{
unsigned char error;
error=dyn_master_relay(darwin_master,version,inst_pkt,status_pkt);
if(error!=DYN_SUCCESS)
error=dyn_master_relay(darwin_master2,version,inst_pkt,status_pkt);
return error;
}
// public functions // public functions
uint8_t darwin_dyn_slave_init(TMemory **memory,TScheduler *scheduler) uint8_t darwin_dyn_slave_init(TMemory **memory,TScheduler *scheduler)
{ {
...@@ -78,6 +93,7 @@ uint8_t darwin_dyn_slave_init(TMemory **memory,TScheduler *scheduler) ...@@ -78,6 +93,7 @@ uint8_t darwin_dyn_slave_init(TMemory **memory,TScheduler *scheduler)
status=dyn_slave_init(&darwin_dyn_slave,&darwin_dyn_slave_comm,scheduler,SCHED_CH1,DYN_VER2); status=dyn_slave_init(&darwin_dyn_slave,&darwin_dyn_slave_comm,scheduler,SCHED_CH1,DYN_VER2);
darwin_dyn_slave.set_baudrate=usart3_set_baudrate; darwin_dyn_slave.set_baudrate=usart3_set_baudrate;
darwin_dyn_slave.on_relay=darwin_on_relay;
dyn_slave_add_device(&darwin_dyn_slave,&darwin_dyn_slave_device); dyn_slave_add_device(&darwin_dyn_slave,&darwin_dyn_slave_device);
return status; return status;
......
Subproject commit c3575a6117c3a0bdac5d242d89eba6fa264c3938 Subproject commit 188e1f8bda9d26ef613378a93087ce29d528c755
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment