MCPcopy Create free account
hub / github.com/MapIV/eagleye / distance_topic_checker

Function distance_topic_checker

eagleye_rt/src/monitor_node.cpp:304–327  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

302 stat.summary(level, msg);
303}
304void distance_topic_checker(diagnostic_updater::DiagnosticStatusWrapper & stat)
305{
306 rclcpp::Time ros_clock(distance.header.stamp);
307 auto distance_time = ros_clock.seconds();
308
309 int8_t level = diagnostic_msgs::msg::DiagnosticStatus::OK;
310 std::string msg = "OK";
311
312 if (distance_time_last == distance_time) {
313 level = diagnostic_msgs::msg::DiagnosticStatus::WARN;
314 msg = "not subscribed to topic";
315 }
316 else if (!std::isfinite(distance.distance)) {
317 level = diagnostic_msgs::msg::DiagnosticStatus::ERROR;
318 msg = "invalid number";
319 }
320 else if (!distance.status.enabled_status) {
321 level = diagnostic_msgs::msg::DiagnosticStatus::WARN;
322 msg = "estimates have not started yet";
323 }
324
325 distance_time_last = distance_time;
326 stat.summary(level, msg);
327}
328void heading_1st_topic_checker(diagnostic_updater::DiagnosticStatusWrapper & stat)
329{
330 rclcpp::Time ros_clock(heading_1st.header.stamp);

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected