Show EOL distros:
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.
- Author: Jeremy Leibs, Blaise Gassend
- License: BSD
- Repository: ros-pkg
- Source: svn https://code.ros.org/svn/ros-pkg/stacks/diagnostics/tags/diagnostics-1.4.0
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.
- Author: Jeremy Leibs, Blaise Gassend
- License: BSD
- Source: svn https://code.ros.org/svn/ros-pkg/stacks/diagnostics/trunk
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.
- Author: Jeremy Leibs, Blaise Gassend, Brice Rebsamen
- License: BSD
- Source: git https://github.com/ros/diagnostics.git (branch: diagnostics-1.7.0)
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)
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)
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)
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)
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)
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)
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)
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.