/* * PortHandler.h * * Created on: 2016. 1. 26. * Author: zerom */ #ifndef DYNAMIXEL_SDK_INCLUDE_DYNAMIXEL_SDK_PORTHANDLER_H_ #define DYNAMIXEL_SDK_INCLUDE_DYNAMIXEL_SDK_PORTHANDLER_H_ #include "RobotisDef.h" namespace ROBOTIS { class PortHandler { public: static const int DEFAULT_BAUDRATE = 1000000; static PortHandler *GetPortHandler(const char *port_name); bool is_using; float default_protocol; virtual ~PortHandler() { } virtual bool OpenPort() = 0; virtual void ClosePort() = 0; virtual void ClearPort() = 0; virtual void SetPortName(const char* port_name) = 0; virtual char *GetPortName() = 0; virtual bool SetBaudRate(const int baudrate) = 0; virtual int GetBaudRate() = 0; virtual int GetBytesAvailable() = 0; virtual int ReadPort(UINT8_T *packet, int length) = 0; virtual int WritePort(UINT8_T *packet, int length) = 0; virtual void SetPacketTimeout(UINT16_T packet_length) = 0; virtual void SetPacketTimeout(double msec) = 0; virtual bool IsPacketTimeout() = 0; }; } #endif /* DYNAMIXEL_SDK_INCLUDE_DYNAMIXEL_SDK_PORTHANDLER_H_ */