MCPcopy Create free account
hub / github.com/OpenPTrack/open_ptrack_v2 / main

Function main

opt_utils/apps/ros2udp_converter.cpp:299–348  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

297}
298
299int
300main(int argc, char **argv)
301{
302 // Initialization:
303 ros::init(argc, argv, "ros2udp_converter");
304 ros::NodeHandle nh("~");
305
306 // Read input parameters:
307 nh.param("udp/port", udp_port, 21234);
308 nh.param("udp/hostip", hostip, std::string("127.0.0.1"));
309 nh.param("udp/buffer_length", udp_buffer_length, 2048);
310 nh.param("json/indent_size", json_indent_size, 0);
311 nh.param("json/newline", json_newline, false);
312 nh.param("json/spacing", json_spacing, false);
313 nh.param("json/use_tabs", json_use_tabs, false);
314 nh.param("json/heartbeat_interval", heartbeat_interval, 0.25);
315
316 facetracksflag = 0;
317
318 // ROS subscriber:
319 ros::Subscriber tracking_sub = nh.subscribe<opt_msgs::TrackArray>
320 ("input_topic", 1, trackingCallback);
321 ros::Subscriber alive_ids_sub = nh.subscribe<opt_msgs::IDArray>
322 ("alive_ids_topic", 1, aliveIDsCallback);
323 ros::Subscriber people_tracks_sub = nh.subscribe<opt_msgs::TrackArray>("people_tracks_topic", 1, peopleTracksCallback);
324 ros::Subscriber people_names_sub = nh.subscribe<opt_msgs::NameArray>("people_names_topic", 1, peoplenamesCallback);
325
326 // Initialize UDP parameters:
327 char buf[0];
328 udp_data.si_port_ = udp_port; // port
329 udp_data.si_retry_ = 1;
330 udp_data.si_num_byte_ = udp_buffer_length; // number of bytes to write (2048 -> about 30 tracks)
331 udp_data.pc_pck_ = buf; // buffer where the message is written
332 udp_data.si_timeout_ = 4;
333 udp_data.sj_addr_ = Inet_AtoN(hostip.c_str());
334
335 /// Create object for UDP messaging:
336 udp_messaging = open_ptrack::opt_utils::UDPMessaging(udp_data);
337
338 /// Create client socket:
339 udp_messaging.createSocketClientUDP(&udp_data);
340
341 // Execute callbacks:
342 ros::spin();
343
344 // Close socket:
345 udp_messaging.closeSocketUDP(&udp_data);
346
347 return 0;
348}

Callers

nothing calls this directly

Calls 4

UDPMessagingClass · 0.85
createSocketClientUDPMethod · 0.80
closeSocketUDPMethod · 0.80
Inet_AtoNFunction · 0.70

Tested by

no test coverage detected