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

Added destructors to the CDynamixel and CDynamixelServer classes.

Moved some attributes from the private to the protected section to be used by inherited classes.
parent b32ef64d
No related branches found
No related tags found
No related merge requests found
......@@ -3,7 +3,7 @@ ADD_SUBDIRECTORY(xml)
# edit the following line to add all the source code files of the library
SET(sources dynamixel.cpp dynamixelserver.cpp dynamixelserver_ftdi.cpp dynamixelserver_serial.cpp dynamixelexceptions.cpp dynamixel_slave.cpp dynamixel_slave_ftdi.cpp dynamixel_slave_serial.cpp)
# edit the following line to add all the header files of the library
SET(headers dynamixel.h dynamixelserver.h dynamixelserver_ftdi.h dynamixelserver_serial.h dynamixelexceptions.h dynamixel_common.h dynamixel_slave.h dynamixel_slave_ftdi.h dynamixel_slave_serial.h)
SET(headers dynamixel.h dynamixelserver.h dynamixelserver_ftdi.h dynamixelserver_serial.h dynamixelexceptions.h dynamixel_common.h dynamixel_slave.h dynamixel_slave_ftdi.h dynamixel_slave_serial.h)
INCLUDE_DIRECTORIES(.)
......
......@@ -24,87 +24,87 @@ class CDynamixel
private:
friend class CDynamixelServer;
/**
* \brief
*
* \brief
*
*/
CDynamixelServer *dyn_server;
unsigned char id_register;
/**
* \brief Handle to the communications device
* \brief
*
*/
CComm *comm_dev;
*/
unsigned char baudrate_register;
/**
* \brief
*
* \brief
*
*/
unsigned char node_address;
void set_baudrate(int baudrate);
/**
* \brief mutual exclusion mechanism to access the usb
* \brief
*
*/
CMutex *usb_access;
void sync_packet_v1(unsigned char *data,unsigned int length,int *start);
/**
* \brief Handle to the unique event server
* \brief
*
*/
CEventServer *event_server;
void sync_packet_v2(unsigned char *data,unsigned int length,int *start);
protected:
/**
* \brief data reception event
*
*/
std::string usb_rx_event_id;
/**
* \brief
* \brief
*
*/
unsigned char id_register;
dyn_version_t version;
/**
* \brief
*
* \brief
*
*/
unsigned char baudrate_register;
CDynamixelServer *dyn_server;
/**
* \brief
*
* \brief
*
*/
void set_baudrate(int baudrate);
unsigned char node_address;
/**
* \brief
* \brief Handle to the unique event server
*
*/
void sync_packet_v1(unsigned char *data,unsigned int length,int *start);
CEventServer *event_server;
/**
* \brief
* \brief Handle to the communications device
*
*/
void sync_packet_v2(unsigned char *data,unsigned int length,int *start);
*/
CComm *comm_dev;
/**
* \brief
* \brief mutual exclusion mechanism to access the usb
*
*/
dyn_version_t version;
protected:
CMutex *usb_access;
/**
* \brief
*
*/
void send_instruction_packet_v1(dyn_inst_t inst,unsigned char *data=NULL,unsigned char len=0);
virtual void send_instruction_packet_v1(dyn_inst_t inst,unsigned char *data=NULL,unsigned char len=0);
/**
* \brief
*
*/
void send_instruction_packet_v2(dyn_inst_t inst,unsigned char *data=NULL,unsigned short int len=0);
virtual void send_instruction_packet_v2(dyn_inst_t inst,unsigned char *data=NULL,unsigned short int len=0);
/**
* \brief
*
*/
unsigned char receive_status_packet_v1(unsigned char **data,unsigned char *len);
virtual unsigned char receive_status_packet_v1(unsigned char **data,unsigned char *len);
/**
* \brief
*
*/
unsigned char receive_status_packet_v2(unsigned char **data,unsigned short int *len);
virtual unsigned char receive_status_packet_v2(unsigned char **data,unsigned short int *len);
/**
* \brief
*
......
......@@ -1347,3 +1347,6 @@ void CDynamixelServer::read_bulk(std::vector<unsigned char>& servo_ids,std::vect
}
}
CDynamixelServer::~CDynamixelServer()
{
}
......@@ -50,11 +50,6 @@ const int frequencies[9]={1000000,500000,400000,250000,200000,115200,57600,19200
class CDynamixelServer
{
private:
/**
* \brief
*
*/
CEventServer *event_server;
/**
* \brief
*
......@@ -99,33 +94,38 @@ class CDynamixelServer
* \brief
*
*/
void send_instruction_packet_v1(dyn_inst_t inst,unsigned char *data=NULL,unsigned char len=0,unsigned char id=0xFE);
virtual void send_instruction_packet_v1(dyn_inst_t inst,unsigned char *data=NULL,unsigned char len=0,unsigned char id=0xFE);
/**
* \brief
*
*/
void send_instruction_packet_v2(dyn_inst_t inst,unsigned char *data=NULL,unsigned short int len=0,unsigned char id=0xFE);
virtual void send_instruction_packet_v2(dyn_inst_t inst,unsigned char *data=NULL,unsigned short int len=0,unsigned char id=0xFE);
/**
* \brief
*
*/
unsigned char receive_status_packet_v1(unsigned char **data,unsigned char *len);
virtual unsigned char receive_status_packet_v1(unsigned char **data,unsigned char *len);
/**
* \brief
*
*/
unsigned char receive_status_packet_v2(unsigned char **data,unsigned short int *len);
virtual unsigned char receive_status_packet_v2(unsigned char **data,unsigned short int *len);
/**
* \brief
*
*/
void sync_packet_v1(unsigned char *data,unsigned int length,int *start);
virtual void sync_packet_v1(unsigned char *data,unsigned int length,int *start);
/**
* \brief
*
*/
void sync_packet_v2(unsigned char *data,unsigned int length,int *start);
virtual void sync_packet_v2(unsigned char *data,unsigned int length,int *start);
protected:
/**
* \brief
*
*/
CEventServer *event_server;
/**
* \brief
*
......@@ -243,7 +243,7 @@ class CDynamixelServer
* \brief
*
*/
CDynamixel *get_device(int dev_id,dyn_version_t version=dyn_version1);
virtual CDynamixel *get_device(int dev_id,dyn_version_t version=dyn_version1);
/**
* \brief
*
......@@ -284,6 +284,7 @@ class CDynamixelServer
*
*/
void read_bulk(std::vector<unsigned char>& servo_ids,std::vector<unsigned short int> &start_addr,std::vector<unsigned short int> &length, std::vector< std::vector<unsigned char> >& data,dyn_version_t version=dyn_version2);
virtual ~CDynamixelServer();
};
#endif
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