]> sigrok.org Git - libsigrok.git/blobdiff - README.devices
output/csv: use intermediate time_t var, silence compiler warning
[libsigrok.git] / README.devices
index 8fc9d7b80aed58ff8e8f749ad1c922f76c850136..7563a57c5e1160a140068e30c3f05c8c234566e5 100644 (file)
@@ -32,6 +32,13 @@ Per-driver firmware requirements
 
 The following drivers/devices require a firmware upload upon connection:
 
+ - asix-omega-rtm-cli: There is no native sigrok support for ASIX OMEGA
+   devices. But the vendor's RTM CLI application can be used in streaming
+   mode, which transparently handles the device detection and firmware
+   download. The firmware ships with the vendor application. See below
+   for details how to make the vendor application available to the sigrok
+   driver.
+
  - asix-sigma: The ASIX SIGMA and SIGMA2 require various firmware files,
    depending on the settings used. These files are available from our
    'sigrok-firmware' repository/project under a license which allows us
@@ -56,6 +63,10 @@ The following drivers/devices require a firmware upload upon connection:
    These can be extracted from the vendor's Windows drivers using a tool
    from our 'sigrok-util' repository/project.
 
+ - kingst-la2016: The Kingst LA series of logic analyzers needs MCU firmware
+   and FPGA netlists. The 'sigrok-util' repository contains a script to
+   extract these files from the vendor software.
+
  - lecroy-logicstudio: The LeCroy LogicStudio requires FPGA bitstream files.
    These can be extracted from the vendor's Windows software using a tool
    from our 'sigrok-util' repository/project.
@@ -98,7 +109,6 @@ The following drivers/devices do not need any firmware upload:
  - atten-pps3xxx
  - baylibre-acme
  - beaglelogic
- - brymen-dmm
  - cem-dt-885x
  - center-3xx (including all subdrivers)
  - chronovu-la
@@ -136,6 +146,7 @@ The following drivers/devices do not need any firmware upload:
  - pce-322a
  - pipistrello-ols
  - rdtech-dps
+ - rigol-dg
  - rigol-ds
  - rohde-schwarz-sme-0x
  - scpi-dmm
@@ -185,11 +196,12 @@ Formal syntax for serial communication:
    conn=hid[/<chip>]/usb=<bus>.<dev>[.<if>]
    conn=hid[/<chip>]/raw=<path>
    conn=hid[/<chip>]/sn=<serno>
+   conn=hid[/<chip>]/iokit=<path>
    chip can be: bu86x, ch9325, cp2110, victor
    path may contain slashes
    path and serno are "greedy" (span to the end of the spec)
  - Bluetooth Classic and Bluetooth Low Energy (BLE):
-   conn=bt/<conn>/<addr>
+   conn=bt/<conn>/<addr>[/param=value]
    conn can be: rfcomm, ble122, nrf51, cc254x
    addr can be "dense" or separated, bt/cc254x/0123456789ab or
      bt/rfcomm/11-22-33-44-55-66 or bt/ble122/88:6b:12:34:56:78
@@ -197,6 +209,8 @@ Formal syntax for serial communication:
      from a string that separates fields by colon, e.g. in the "--driver
      <name>:conn=<spec>" example, that is why the dense form and the use
      of dashes for separation are supported)
+   additional parameter keywords can be: channel, handle_rx, handle_tx,
+     handle_cccd, value_cccd, mtu
 
 Some of the drivers implement a default for the connection. Some of the
 drivers can auto-detect USB connected devices.
@@ -210,6 +224,12 @@ or VXI communication parameters. See these examples:
  $ sigrok-cli --driver <somedriver>:conn=vxi/<ipaddr> ...
  $ sigrok-cli --driver <somedriver>:conn=usbtmc/<bus>.<addr> ...
 
+Individual device drivers _may_ implement additional semantics for the
+conn= specification, which would not apply to other drivers, yet can be
+rather useful for a given type of device.
+
+ $ sigrok-cli --driver <somedriver>:conn=sn=<serno>
+
 
 Specifying serial port parameters
 ---------------------------------
@@ -274,6 +294,33 @@ rules shipped by the system will be broken.
 Please consult the udev docs for details.
 
 
+Assigning drivers to devices (Windows, Zadig)
+---------------------------------------------
+
+On Windows systems it may be necessary to assign drivers to devices
+before libusb based applications can access them. It may be necessary
+to re-run this driver assignment after firmware upload in case the
+device changes its USB identification as a consequence of loading the
+firmware image.
+
+The https://sigrok.org/wiki/Windows wiki page discusses this subject,
+and other platform specific aspects.
+
+
+Non-default drivers for commodity chips
+---------------------------------------
+
+Some vendors include common USB chips in their products yet assign device
+specific VID:PID pairs. Which results in the necessity for extra steps
+before the serial port can be used:
+
+- GW Instek VCP, found in GDM-8000 and probably other meters: Install the
+  vendors Windows driver to get access to a COM port. Or force the driver
+  assignment on Linux:
+    # modprobe cp210x
+    # echo 2184 0030 > /sys/bus/usb-serial/drivers/cp210x/new_id
+
+
 Cypress FX2 based devices
 -------------------------
 
@@ -319,19 +366,27 @@ Examples (sigrok-cli):
 
  $ sigrok-cli --driver uni-t-ut61e-ser:conn=/dev/ttyUSB0 ...
  $ sigrok-cli --driver voltcraft-vc820-ser:conn=/dev/ttyS0 ...
-
-When using any of the UT-D04 USB/HID cables you have to use the respective
-driver _without_ the '-ser' drivername suffix (internally all of these models
-are handled by the 'uni-t-dmm' driver).
-
-You also need to specify the USB vendor/device IDs of the cable.
-Autodetection is not possible here, since various other products use the
-USB VID/PID of those cables too, and there is no way to distinguish them.
-
-Since the UT-D04 cables are USB based (but don't use a USB-to-serial chip)
-there is no need to specify a serial port via 'conn', of course.
-However, the user running the frontend does also need to have permissions
-to access the respective USB device (see above).
+ $ sigrok-cli --driver uni-t-ut61e-ser:conn=hid/cp2110
+
+Using any of the UT-D04 et al USB/HID cables can be done in two different
+ways: Use transparent serial over HID support in libsigrok, by giving the
+-ser driver a conn=hid/... serial port spec. This re-uses the 'serial-dmm'
+driver, results in better coverage of these code paths, and reduces
+maintenance overhead. Or by running non-ser drivers and passing USB
+specific connection details. When the driver _without_ the '-ser' suffix
+is used, the models are handled by the 'uni-t-dmm' driver. These duplicate
+drivers only exist for historical reasons, the redundancy may result in
+differences of behaviour between the two implementations. When in doubt,
+check if the '-ser' driver works for you.
+
+In the USB specific driver case you need to specify the cable's vendor
+and product IDs. Autodetection is not possible here, since various other
+products use the USB VID/PID of those cables too, and there is no way to
+distinguish them. The sigrok software errs on the safe side, and won't
+communicate to serial ports unless explicitly instructed by the user.
+
+The user running the frontend does also need to have permissions to
+access the respective USB device (see above).
 
 Examples (sigrok-cli):
 
@@ -362,6 +417,18 @@ See also: http://erste.de/UT61/index.html
   done
 
 
+UNI-T UT-D04 cable issue on Windows
+-----------------------------------
+
+There have been reports that CH9325 based cables are not detected on
+Windows out of the box when they are assigned to libwdi drivers. Though
+they may be usable in that case when the USB address is manually specified.
+This can happen when some "USB to serial" driver is assigned which does not
+provide a genuine COM port that enumerates naturally. Manually assigning a
+"USB input device" driver can improve HIDAPI compatibility and make the
+cable show up in sigrok's serial port enumeration.
+
+
 Enabling multimeter / data logger measurement output
 ----------------------------------------------------
 
@@ -389,7 +456,11 @@ a short list for convenience:
       'SI232 online' (28-29S) or 'SI232 store' (22-26x). The interface must
       be configured to the same baud rate as the host (default 9600).
       Multimeter and interface must be configured to the same address.
+ - GW Instek GDM-397: Press the "REL/RS232C (USB)" button for roughly 1 second.
+ - GW Instek VCP: See the discussion on manual driver assignment to common
+   USB to UART chips with non-default USB identification.
  - MASTECH MS6514: Press the "Setup/PC-Link" button for roughly 3 seconds.
+ - Meterman 38XR: Press the "RS232" button.
  - Metrix MX56C: Press the PRINT button to have the meter send acquisition
    data via IR. Hold the PRINT button to adjust the meter's transmission
    interval.
@@ -413,6 +484,64 @@ a short list for convenience:
  - Voltcraft VC-870: Press the "REL/PC" button for roughly 1 second.
 
 
+ASIX OMEGA in RTM CLI mode
+--------------------------
+
+The asix-sigma driver can detect the Omega devices' presence, but does
+not support their protocol and emits a diagnostics message. The firmware
+image is not available for distribution, and information on the protocol
+is not available. That's why native support is in some distant future.
+Yet basic operation of Omega devices is available by using the vendor's
+command line application for real time mode (RTM CLI).
+
+The vendor application targets Windows (on x86), but also executes on
+Linux when 32bit libraries for FTDI communication are provided. The
+user manual discusses the installation. The sigrok asix-omega-rtm-cli
+driver uses the vendor provided omegartmcli.exe binary to configure the
+device for streaming, and to acquire sample data.
+
+Either make an "omegartmcli" executable available in PATH. This can be
+the vendor's executable or some wrapper around it or a symlink to it.
+Or specify the executable's location in the OMEGARTMCLI environment
+variable. The sigrok driver accepts an optional serial number (six or
+eight hex digits) to select one out of several connected devices.
+
+  (optional)
+  $ export "OMEGARTMCLI=$HOME/.wine/drive_c/progx86/ASIX/SIGMA/omegartmcli.exe"
+
+  (optional)
+  $ OMEGASN=":conn=sn=a6030123"
+
+  (example use)
+  $ sigrok-cli -d asix-omega-rtm-cli${OMEGASN} --show
+  $ sigrok-cli -d asix-omega-rtm-cli${OMEGASN} -o capture.sr --time 10s
+  $ sigrok-cli -d asix-omega-rtm-cli${OMEGASN} -o capture.sr --samples 100m
+  $ pulseview  -d asix-omega-rtm-cli${OMEGASN}
+
+The RTM mode of operation samples 16 channels at a fixed rate of 200MHz.
+Hardware triggers are not available in this mode. Glib should handle
+platform specific details of external process execution, but the driver
+was only tested on Linux so far. Acquisition start in sigrok applications
+may take some time before sample data becomes available (roughly one
+second here on a slow machine). This is an implementation detail of the
+RTM CLI approach including execution under wine.
+
+The reliability of that setup in the presence of fast changing input
+signals is yet to get determined. It's assumed that slow input signals
+are operational. It's essential that the _average_ rate of changes in
+the input signal in combination with the hardware compression are such
+that the FTDI FIFO can communicate all involved data via USB2.0 to the
+application. Intermediate bursts of rapid changes shall not be an issue
+given the Omega devices' deep memory which RTM uses for buffering.
+
+Native support for the Asix Omega devices depends on the availability of
+a protocol description and use of the protocol depends on the firmware's
+availability at the user's site. Which then would allow to capture to
+DRAM at high rates without the communication bottleneck, before the data
+gets communicated to the PC after the acquisition has completed. Compare
+the native sigrok support for Asix Sigma.
+
+
 ChronoVu LA8/LA16 USB VID/PIDs
 ------------------------------
 
@@ -453,6 +582,16 @@ Example:
  $ sigrok-cli --driver ols:conn=/dev/ttyACM0 ...
 
 
+JTAGulator
+----------
+
+The Grand Idea Studio JTAGulator also implements the SUMP protocol and
+thus is covered by the OLS driver. See the vendor's wiki on details how
+to enable the Logic Analyzer mode of operation.
+
+  https://github.com/grandideastudio/jtagulator/wiki/Logic-Analyzer
+
+
 Mooshimeter
 -----------