<> == Deprecated == (!) '''[[rx]] packages are replaced by [[rqt]], which is available for fuerte and later.''' [[rqt_console]] is a replacement. == Overview == `rxconsole` is a viewer in the [[rxtools]] package that displays messages being published to [[rosout]]. It collects messages over time, and lets you view them in more detail, as well as allowing you to filter messages by severity and text. Sending messages to `rxconsole` is done differently in each client library: [[roscpp/Overview/Logging|C++]], [[rospy/Overview/Logging|Python]] {{attachment:rxconsole_main.png|main|width=768}} == Usage == Assuming you have ROS installed, you can invoke `rxconsole` by just typing: {{{ rxconsole }}} == Message List == {{attachment:message_list.png|message list|width=768}} The list view shows all of the messages, updating in real time as they arrive. The list displays all the information in the <> message broadcast on [[rosout]]: '''Message''' The message specified by the user, e.g. in the screenshot above "hello world..." '''Severity''' The severity level of the message, e.g. Debug, Info, etc. '''Node''' The name of the node which broadcast the message '''Time''' The time at which the message was broadcast '''Topics''' The topics advertised by the node broadcasting the message '''Location''' Combines the file, function and line using colons, e.g. `/u/jfaust/ros/base/pkgs/ros_tutorials/roscpp_tutorials/talker/talker.cpp:main:92` There are two operations you can use on the items in the list. A ''double click'' will bring up all the information about that message in a separate box: {{attachment:message_popup.png}} A ''right click'' will pop up a menu allowing you to filter the list based on some aspect of the selected message: {{attachment:list_rightclick.png}} == Filtering == You can filter the message list in two ways, by severity and by text. === Severity === {{attachment:severity.png}} Filtering by severity allows you to exclude items of a specific severity. Unchecking any of the boxes will exclude items of that severity from the list. === Text === {{attachment:multiple_filters.png|filters|width=768}} Filtering by text allows you to include or exclude items based on a textual pattern you specify. The {{attachment:green_plus.png}} button allows you to add filters, and the {{attachment:red_minus.png}} next to each filter allows you to remove it. Let's look at each of the options in the filters, in order from left to right: '''Enabled''' Allows you to disable this filter without removing it entirely '''Text Box''' This is where you tell the filter what text to use '''Include/Exclude''' This determines the type of the filter. If the filter is of type ''Include'', only messages which match the specified text will be included in the list. If the filter is of type ''Exclude'', messages which match the text will not appear in the list. '''Regex''' Allows you to use a regular expression in the filter text. If this is not checked, standard wildcard characters are allowed (* and ?). An invalid regular expression will be highlighted in red. '''From''' Allows you to specify which fields of the message should be matched against. Only ''Message'', ''Node'', ''Location'' and ''Topics'' are allowed. Filters are applied in order, and every filter must be "passed" in order for a message to appear in the list. An ''Include'' filter passes if the message matches the text. An ''Exclude'' filter passes if the message does not match the text. == Setup == {{attachment:setup.png}} The setup dialog (accessed through the `Setup` button) allows you to specify a few options related to the messages: '''Topic''' Allows you to specify the topic to receive the messages on. Defaults to `/rosout_agg`, which is the aggregated stream coming from the [[rosout]] node (automatically started by [[roscore]]). If you are not running a [[rosout]] node you can change this the `/rosout` '''Buffer Size''' This is the number of messages to keep before throwing away old ones. Defaults to `20,000`. Changing this will effect the responsiveness of filtering. == Logger Levels == {{attachment:logger_levels.png}} The `Levels...` button pops up an [[rxloggerlevel]] frame, which allows you to change [[roscpp]] nodes' logger levels at runtime. == Tutorials == See the [[rospy_tutorials/Tutorials/Logging]] page. It will help you use [[rosout]] to publish error, info and debug messages and view them in rxconsole.