| 297 | } |
| 298 | |
| 299 | int |
| 300 | main(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 | } |
nothing calls this directly
no test coverage detected