Go to the documentation of this file.
36 , data_available_(false)
41 data_handle_ = std::make_shared<visionary::SafeVisionaryData>();
47 bool waiting_for_connection =
true;
48 while (waiting_for_connection)
53 waiting_for_connection =
false;
58 ROS_INFO_STREAM(
"No UDP packages received until now. Please make sure that your sensor is "
59 "connected and correctly configured.");
94 ROS_DEBUG_STREAM(
"UDP stream was incomplete. Skipping frame and waiting for new data.");
106 visionary::SafeVisionaryData frame_data;
116 std::this_thread::sleep_for(std::chrono::microseconds(10));
std::shared_ptr< visionary::SafeVisionaryData > data_handle_
void publishThread()
Thread for publishing sensor data.
#define ROS_DEBUG_STREAM(args)
std::unique_ptr< std::thread > publish_thread_ptr_
void receiveThread()
Thread for receiving sensor data.
boost::lockfree::spsc_queue< visionary::SafeVisionaryData, boost::lockfree::capacity< 10 > > spsc_queue_
#define ROS_INFO_STREAM(args)
std::unique_ptr< std::thread > receive_thread_ptr_
CompoundPublisher compound_publisher_
std::shared_ptr< visionary::SafeVisionaryDataStream > data_stream_
void stop()
Stops the driver functionality.
T param(const std::string ¶m_name, const T &default_val) const
void run()
Starts the driver functionality.
void publish(const std_msgs::Header &header, visionary::SafeVisionaryData &frame_data)
Publish once with all registered publishers.
std::atomic< bool > data_available_