Connection parameters

From sigrok
Revision as of 17:30, 30 July 2020 by Gsi (talk | contribs) (USB HID needs an update, add a TODO comment)
Jump to navigation Jump to search

In case a device can not be autodetected or connection to a specific device is required, is is possible to specify the connection explicitly as an driver option, using the "<driver-name>:conn=<connection>" syntax. See the README.devices file for details.

Digital Multimeters

Most multimeters use a serial connection. The corresponding device cables either povide an RS232 connection or an USB connection using an serial to USB-CDC or serial to USB-HID converter chip, see Serial port. Some devices are available with different data cables. RS232 and USB-CDC (Virtual Com Port, VCP) cables use a common driver, USB HID cables need a seperate one. If a device has two drivers, the one for RS232/VCP is typically suffixed with "-ser"

RS232 / Virtual Com Port

conn=<device-path>

<device-path> is an absolute path to the wanted device, e.g. /dev/ttyUSB1 or /dev/ttyACM0.

$ sigrok-cli --driver=uni-t-ut61e-ser:conn=/dev/ttyUSB0 -O analog

USB HID connections

TODO This chapter needs an update. It has not yet caught up with the recent HIDAPI library approach, and conn=hid/ syntax. When in doubt, check the README.devices file -- it's probably more up to date than this wiki page.


When a device driver exclusively supports HID based cables, then it usually accepts USB vendor and product ID pairs, or bus and device addresses:

conn=<vendor-id>.<product-id>

<vendor-id> and <product-id> have to be specifid as 4 hexadecimal digits.

conn=<bus-nr>.<device-address>

<bus-nr> is an integer betwenn 1 and 255, <device-address> is an integer between 1 and 127. The device address changes every time a device is reconnected. Bus number and device address can e.g. be found using lsusb.

$ sigrok-cli --driver=uni-t-ut61e:conn=1a86.e008 -O analog
$ sigrok-cli --driver=uni-t-ut61e:conn=2.12 -O analog

When a device driver supports several different cable types, then a unified form of specifying serial connections can be used instead:

$ sigrok-cli -d uni-t-ut61c:conn=/dev/ttyUSB0 --continuous
$ sigrok-cli -d uni-t-ut61c:conn=hid/ch9325 --continuous

Individual drivers may require that users specify the connection, or may come with builtin defaults and accept user overrides to ease their use.

Devices using SCPI

SCPI has several backends. For all backends but serial the backend name is the first parameter, followed by one or more backend specific parameters.

Serial / Virtual Com Port

Same syntax as for DMMs with serial connection.

conn=<device-path>

$ sigrok-cli --driver=hameg-hmo:conn=/dev/ttyACM0 -O analog --frames 1

USBTMC

Similar syntax as for DMMs with USB HID datacables.

conn=usbtmc/<vendor-id>.<product-id>

conn=usbtmc/<bus-nr>.<device-address>

$ sigrok-cli --driver=hameg-hmo:conn=usbtmc/0aad.0119 -O analog --frames 1

TCP RAW

conn=tcp-raw/<ip-address>/<tcp-port>

$ sigrok-cli --driver=hameg-hmo:conn=tcp-raw/192.168.1.20/5025 -O analog --frames 1

Linux-GPIB

For GPIB devices connected via linux-gpib, use the libgpib prefix, followed by the device name as defined in your gpib.conf file.

$ sigrok-cli --driver=scpi-pps:conn=libgpib/pm2813 -O analog --samples 1

VXI

Devices using a VXI-based network connection can be specified with the vxi prefix, followed by the hostname (or IP address). Optionally, the instrument name can be added with another / and the name; this defaults to inst0.

$ sigrok-cli --driver=scpi-pps:conn=vxi/labps -O analog --samples 1

Vendor specific protocols

Most (all?) devices using a vendor specific protocol use either RS232 or a USB-to-serial converter, thus the connection string is the same as for DMMs with serial connection.