Show EOL distros: 

diagnostics: diagnostic_aggregator | diagnostic_analysis | diagnostic_common_diagnostics | diagnostic_updater | self_test

Package Summary

diagnostic_updater contains tools for easily updating diagnostics. it is commonly used in device drivers to keep track of the status of output topics, device status, etc.

  • Maintainer status: maintained
  • Maintainer: Brice Rebsamen <brice.rebsamen AT gmail DOT com>
  • Author: Kevin Watts, Brice Rebsamen <brice.rebsamen AT gmail DOT com>, Jeremy Leibs, Blaise Gassend
  • License: BSD
  • Source: git https://github.com/ros/diagnostics.git (branch: groovy-devel)
diagnostics: diagnostic_aggregator | diagnostic_analysis | diagnostic_common_diagnostics | diagnostic_updater | self_test

Package Summary

diagnostic_updater contains tools for easily updating diagnostics. it is commonly used in device drivers to keep track of the status of output topics, device status, etc.

  • Maintainer status: maintained
  • Maintainer: Austin Hendrix <namniart AT gmail DOT com>, Brice Rebsamen <brice.rebsamen AT gmail DOT com>
  • Author: Kevin Watts, Brice Rebsamen <brice.rebsamen AT gmail DOT com>, Jeremy Leibs, Blaise Gassend
  • License: BSD
  • Source: git https://github.com/ros/diagnostics.git (branch: indigo-devel)
diagnostics: diagnostic_aggregator | diagnostic_analysis | diagnostic_common_diagnostics | diagnostic_updater | self_test

Package Summary

diagnostic_updater contains tools for easily updating diagnostics. it is commonly used in device drivers to keep track of the status of output topics, device status, etc.

  • Maintainer status: maintained
  • Maintainer: Austin Hendrix <namniart AT gmail DOT com>, Brice Rebsamen <brice.rebsamen AT gmail DOT com>
  • Author: Kevin Watts, Brice Rebsamen <brice.rebsamen AT gmail DOT com>, Jeremy Leibs, Blaise Gassend
  • License: BSD
  • Source: git https://github.com/ros/diagnostics.git (branch: indigo-devel)
diagnostics: diagnostic_aggregator | diagnostic_analysis | diagnostic_common_diagnostics | diagnostic_updater | self_test

Package Summary

diagnostic_updater contains tools for easily updating diagnostics. it is commonly used in device drivers to keep track of the status of output topics, device status, etc.

  • Maintainer status: maintained
  • Maintainer: Guglielmo Gemignani <guglielmo.gemignani AT gmail DOT com>, Austin Hendrix <namniart AT gmail DOT com>
  • Author: Kevin Watts, Brice Rebsamen <brice.rebsamen AT gmail DOT com>, Jeremy Leibs, Blaise Gassend
  • License: BSD
  • Source: git https://github.com/ros/diagnostics.git (branch: indigo-devel)
diagnostics: diagnostic_aggregator | diagnostic_analysis | diagnostic_common_diagnostics | diagnostic_updater | self_test

Package Summary

diagnostic_updater contains tools for easily updating diagnostics. it is commonly used in device drivers to keep track of the status of output topics, device status, etc.

  • Maintainer status: maintained
  • Maintainer: Austin Hendrix <namniart AT gmail DOT com>, Brice Rebsamen <brice.rebsamen AT gmail DOT com>
  • Author: Kevin Watts, Brice Rebsamen <brice.rebsamen AT gmail DOT com>, Jeremy Leibs, Blaise Gassend
  • License: BSD
  • Source: git https://github.com/ros/diagnostics.git (branch: indigo-devel)
diagnostics: diagnostic_aggregator | diagnostic_analysis | diagnostic_common_diagnostics | diagnostic_updater | self_test

Package Summary

diagnostic_updater contains tools for easily updating diagnostics. it is commonly used in device drivers to keep track of the status of output topics, device status, etc.

  • Maintainer status: maintained
  • Maintainer: Guglielmo Gemignani <guglielmo.gemignani AT gmail DOT com>, Austin Hendrix <namniart AT gmail DOT com>
  • Author: Kevin Watts, Brice Rebsamen <brice.rebsamen AT gmail DOT com>, Jeremy Leibs, Blaise Gassend
  • License: BSD
  • Source: git https://github.com/ros/diagnostics.git (branch: indigo-devel)
diagnostics: diagnostic_aggregator | diagnostic_analysis | diagnostic_common_diagnostics | diagnostic_updater | self_test

Package Summary

diagnostic_updater contains tools for easily updating diagnostics. it is commonly used in device drivers to keep track of the status of output topics, device status, etc.

  • Maintainer status: maintained
  • Maintainer: Guglielmo Gemignani <guglielmo.gemignani AT gmail DOT com>, Austin Hendrix <namniart AT gmail DOT com>
  • Author: Kevin Watts, Brice Rebsamen <brice.rebsamen AT gmail DOT com>, Jeremy Leibs, Blaise Gassend
  • License: BSD
  • Source: git https://github.com/ros/diagnostics.git (branch: noetic-devel)

Diagnostic Updater API

diagnostic_updater provides a variety of C++ utilities to assist in integrating diagnostics with your software. Common updater tasks include:

  • publishing the status of a sensor data topic on a device driver
  • reporting that a hardware device is closed
  • reporting an error when a value is out of bounds, e.g. temperature

It also provides a Python API very similar to the C++ API

Examples and Tutorials

A working example of a diagnostic_updater can be found in diagnostic_updater/src/example.cpp. This example goes through some of the most common uses of an updater.

API Stability

The documented C++ API is widely used and should be considered stable.

diagnostic_updater::DiagnosticStatusWrapper

The diagnostic_updater::DiagnosticStatusWrapper class eases the pain of filling out a diagnostic_msgs/DiagnosticStatus message. It handles setting the summary, possibly with printf-type formatting of the message field, and setting of key-value pairs with type-conversion and formatting of the values. It also has facilities for merging multiple diagnostic_msgs/DiagnosticStatus messages without losing information in the status message.

diagnostic_updater::Updater

The diagnostic_updater::Updater class manages a set of diagnostic update functions, and their periodic publication.

diagnostic_updater::DiagnosedPublisher

Monitoring a topic's frequency, a common diagnostics feature, and the validity of its timestamps can be done using pre-packaged diagnostic update functions. A diagnostic_updater::DiagnosedPublisher wraps a Publisher and standard diagnostics that relate to it in a single class.

Topics with expected frequency lower than 1 Hz are supported. However, DiagnosedPublisher will report the diagnostic_updater::TimeStampStatus task in WARNING state for the periods when no message came. If you want to work around this limitation and report the timestamp status as OK in the empty periods, you have to manually create a task of type diagnostic_updater::SlowTimeStampStatus and use it together with a diagnostic_updater::FrequencyStatus task instead of the DiagnosedPublisher.

Wiki: diagnostic_updater (last edited 2022-08-18 22:19:14 by Martin Pecka)