diagnostic_updater
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.
README
General information about this repository, including legal information, build instructions and known issues/limitations, are given in README.md in the repository root.
The diagnostic_updater package
This package is used to implement the collection of diagnostics information.
Overview
It can for example update the state of sensors or actors of the robot. Common tasks include
Publish the status of a sensor topic from a device driver
Report that a hardware device is closed
Send an error if a value is out bounds (e.g. temperature)
Example
The file example.cpp contains an example of how to use the diagnostic_updater.
C++ and Python API
The main classes are:
DiagnosticStatusWrapper
This class is used to create a diagnostic message. It simplifies the creation of the message by providing methods to set the level, name, message and values. There is also the possibility to merge multiple DiagnosticStatusWrapper into one.
Updater
This class is used to collect the diagnostic messages and to publish them.
DiagnosedPublisher
A ROS publisher with included diagnostics. It diagnoses the frequency of the published messages.