00001 #ifndef CDXLROSPACKETHANDLER_H_ 00002 #define CDXLROSPACKETHANDLER_H_ 00003 00004 #include <ros/ros.h> 00005 #include <threemxl/platform/hardware/dynamixel/CDxlPacketHandler.h> 00006 00007 class CDxlROSPacketHandler : public CDxlPacketHandler 00008 { 00009 protected: 00010 ros::NodeHandle nh_; 00011 ros::ServiceClient sendto_service_; 00012 ros::ServiceClient recv_service_; 00013 ros::Publisher flush_pub_; 00014 00015 int initialized_; 00016 int socket_; 00017 int last_error_; 00018 00019 public: 00020 CDxlROSPacketHandler(const char *path); 00021 int init(); 00022 int sendPacket(CDxlPacket *packet, bool replyExpected); 00023 int receivePacketWait(CDxlStatusPacket *packet, int seconds, int microseconds); 00024 int getLastError(); 00025 }; 00026 00027 #endif /* CDXLROSPACKETHANDLER_H_ */