Some of the products by Zubax Robotics are equipped with a command line interface (CLI) exposed over a serial port (either a physical UART/RS232, or a virtual serial port over USB, or both) that provides access to device’s internal command shell. This page documents the properties that are shared by CLI-enabled Zubax products.
Normally you would want to read this article in the context of some particular product. Note that if there is a disagreement between this article and the documentation for a specific product, the product documentation should take precedence.
The USB device's vendor name is reported as
"Zubax Robotics" or
"Zubax". Products that feature a USB CLI use the standard profile USB CDC ACM, also known as VCP or "virtual serial port". USB devices of this class are presented by host OS as a regular serial port, e.g.
COMx on Windows,
/dev/ttyACMx on Linux.
Note that virtual serial ports are mostly indifferent to the settings of the physical layer, such as baud rate, parity, word size, etc, so when accessing a USB command shell they need not be configured explicitly, unless the documentation specific to your product instructs you otherwise.
USB CDC ACM devices can be used out of the box, without the need to install special drivers, with all major operating systems.
Certain products have a physical serial port interface either alongside USB or instead of it. Unless specified otherwise in the product-specific documentation, the physical serial port has the following settings:
|Number of stop bits||1|
Certain products allow the user to change the parameters of the serial port. Even if that is the case, by default all serial ports will be configured as shown above.
Command line interface
The common CLI parameters are shown below. These are used by default by the vast majority of other hardware products in the industry, as well as by CLI client software such as picocom, minicom, PuTTY, and so on.
|Line ending||CR+LF (|
|Remote line editing||Enabled|
Identifying the connected device
All products by Zubax Robotics equipped with a command-line interface have one common CLI command:
zubax_id. When executed without arguments, it prints a set of device's properties as a flat YAML dictionary (a list of colon-separated key/value pairs). Some of the properties are standard and are guaranteed to be reported by any Zubax product, they are documented below.
|Reversed internet domain name suffixed with the product name in lowercase.|
|Human-readable product name. This name is typically used by humans when referring to the product.|
|Software version string in the format |
|Hardware version string in the format |
|Globally unique 128-bit ID of the product encoded in Base64.|
Most products also report additional properties. Some of them are documented in the following table.
Software version commit identifier from the version control system (VCS) that this version of the software was built from.
For example, short git commit hash.
|The date when the current software was built in a human-friendly format.|
|When the device is running the bootloader for purposes of upgrading its software, this field contains the version number of the bootloader.|
|Same as |
|Same as |
Used to indicate special operating modes. Possible values:
Certificate of authenticity (CoA) encoded in Base64. The CoA is at most 128 bytes (1024 bits) long.
If this field is missing from the output, that means that the CoA is not installed.
Note that the reported properties are specific to the device, not to the interface, which means that the properties such as
product_id, version information, etc., will be reported identically via other supported interfaces, e.g. UAVCAN.
ChibiOS/RT Shell ch> zubax_id product_id : 'com.zubax.gnss' product_name : 'Zubax GNSS' sw_version : '4.0' sw_vcs_commit: 266365646 sw_build_date: Apr 9 2017 hw_version : '2.2' hw_unique_id : 'NP/TBUNXMDQ5RCJDAAAAAA==' hw_signature : 'sqKqz6bJCimo3/oy/x3sAbTkwRYA9LaubgUycJwKdxGVtqrqGBRfbQkllBhHaU5l+RIDRqKnxQVSzU7 QIeGuScK3RDfrAT3ke42i+MlTh20+mr+TRV2T9YAu/2q6pq0rSYnbYRqncA1WyGhrGtlEav/K4svfL/jgwNxfE3d/YiI=' ch>
Refer to your product's documentation page for the complete list of product-specific properties and their values.