00001 // 00002 // Created by tom on 15/05/16. 00003 // 00004 00005 #ifndef ROBOTICAN_HARDWARE_INTERFACE_GPS_H 00006 #define ROBOTICAN_HARDWARE_INTERFACE_GPS_H 00007 00008 #include <sensor_msgs/NavSatFix.h> 00009 #include <robotican_hardware_interface/Device.h> 00010 #include <robotican_hardware_interface/ros_utils.h> 00011 #include <robotican_hardware_interface/RiCBoardManager.h> 00012 00013 00014 namespace robotican_hardware { 00015 class Gps : public Device { 00016 private: 00017 unsigned int _baudrate; 00018 std::string _frameId; 00019 std::string _topicName; 00020 ros::Publisher _gpsFeedback; 00021 public: 00022 Gps(byte id, TransportLayer *transportLayer, unsigned int baudrate, std::string topicName, 00023 std::string frameId); 00024 virtual void deviceAck(const DeviceAck *ack); 00025 00026 virtual void update(const DeviceMessage *deviceMessage); 00027 00028 virtual void write(); 00029 00030 virtual void buildDevice(); 00031 00032 00033 }; 00034 } 00035 00036 #endif //ROBOTICAN_HARDWARE_INTERFACE_GPS_H