diff --git a/modules/catkin_ws/src/car/include/camera/camera.h b/modules/catkin_ws/src/car/include/camera/camera.h new file mode 100644 index 0000000000000000000000000000000000000000..6d86a30843e89a50392e8b1aa6ac5154c87f1684 --- /dev/null +++ b/modules/catkin_ws/src/car/include/camera/camera.h @@ -0,0 +1,24 @@ +#ifndef CAMERA_H +#define CAMERA_H + +#include <nodelet/nodelet.h> +#include <ros/ros.h> +#include "boost/thread.hpp" + +namespace car +{ + class Camera : public nodelet::Nodelet + { + public: + virtual void onInit(); + Camera(ros::NodeHandle &nh, std::string &name); + Camera(); + ~Camera(); + private: + ros::NodeHandle nh_; + std::string name_; + ros::Publisher camData; + boost::thread main; + }; +} +#endif diff --git a/modules/catkin_ws/src/car/src/camera/camera.cpp b/modules/catkin_ws/src/car/src/camera/camera.cpp new file mode 100644 index 0000000000000000000000000000000000000000..699b1810afb7e56aa1f9ba191b00ffacefe806ca --- /dev/null +++ b/modules/catkin_ws/src/car/src/camera/camera.cpp @@ -0,0 +1,30 @@ +#include <pluginlib/class_list_macros.h> +#include <ros/ros.h> + +#include "camera/camera.h" + +#include "car/camDataMsg.h" + +PLUGINLIB_EXPORT_CLASS(car::Camera, nodelet::Nodelet); + +namespace car +{ + Camera::Camera(ros::NodeHandle &nh, std::string &name) : nh_(nh), name_(name) {} + Camera::Camera() {} + Camera::~Camera() {} + void Camera::onInit() + { + NODELET_INFO("Camera::onInit -- START"); + camData = nh_.advertise<camDataMsg>("camData", 1); + main = boost::thread([this] () { + ros::Rate rate{1}; + while(ros::ok()) { + camDataMsg msg; + camData.publish(msg); + rate.sleep(); + } + }); + + NODELET_INFO("Camera::onInit -- END"); + } +}