00001 #ifndef CAN_CORE_H_ 00002 #define CAN_CORE_H_ 00003 00004 #include <string> 00005 #include <stdint.h> 00006 #include <stdio.h> 00007 #include "can_drv.h" 00008 #include "tinycan/CanMsg.h" 00009 00010 namespace tinycan { 00011 00012 00013 class Can { 00014 00015 public: 00016 Can(); 00017 ~Can(); 00018 int init(); 00020 int sendMsg(TCanMsg *msg); 00022 int readMsg(TCanMsg *msg); 00024 int buildMsg(TCanMsg *msg, uint8_t id, uint8_t len, char* data); 00026 int printMsg(TCanMsg *msg); 00028 void publishCanMessage(ros::Publisher *pub_message, TCanMsg *msg); 00030 void callbackCanMessage(const tinycan::CanMsg::ConstPtr& msg); 00031 private: 00032 uint32_t device_idx; 00033 }; 00034 } 00035 #endif