Go to the documentation of this file.00001
00009
00010
00011
00012
00013 #include <ros/ros.h>
00014 #include <string>
00015 #include "talker.hpp"
00016 #include <std_msgs/String.h>
00017 #include <sstream>
00018
00019
00020
00021
00022
00023 Talker::Talker(int argc, char** argv ) :
00024 QNode(argc,argv,"qtalker")
00025 {}
00026
00027 void Talker::ros_comms_init() {
00028 ros::NodeHandle n;
00029 chatter_publisher = n.advertise<std_msgs::String>("chatter", 1000);
00030 }
00031
00032 void Talker::run() {
00033 ros::Rate loop_rate(1);
00034 int count = 0;
00035 while ( ros::ok() ) {
00036 std_msgs::String msg;
00037 std::stringstream ss;
00038 ss << "hello world " << count;
00039 msg.data = ss.str();
00040 ROS_INFO("%s", msg.data.c_str());
00041
00042 this->logging.insertRows(0,1);
00043 std::stringstream logging_msg;
00044 logging_msg << "[ INFO] [" << ros::Time::now() << "]: " << msg.data;
00045 QVariant new_row(QString(logging_msg.str().c_str()));
00046 logging.setData(logging.index(0),new_row);
00047
00048 chatter_publisher.publish(msg);
00049 ros::spinOnce();
00050 loop_rate.sleep();
00051 ++count;
00052 }
00053 std::cout << "Ros shutdown, proceeding to close the gui." << std::endl;
00054 Q_EMIT rosShutdown();
00055 }