Difference between revisions of "Sigrok-cli"

From sigrok
Jump to navigation Jump to search
m
Line 1: Line 1:
The sigrok '''command-line frontend''' <tt>sigrok-cli</tt>  cannot display graphical output, but is still sufficient to run through the whole process of hardware initialization, acquisition, protocol analysis and saving the session. It can display samples on standard output or save them in various file formats.
<pre>
NAME
      sigrok-cli - Command-line client for the sigrok logic analyzer software


It is useful for running on remote or embedded systems, netbooks, PDAs, and for various other use-cases. It can display samples on standard output or save them in various file formats.
SYNOPSIS
      sigrok-cli [-VDdptoIfh] [-V|--version] [-D|--list-devices] [-d|--device
      devid]    [-p|--probes    probelist]    [-t|--triggers    triggerlist]
      [-o|--device-option  devopt]  [-I|--input-file  filename]  [-f|--format
      formatname]  [--time  ms]  [--samples   numsamples]  [--continuous]
      [-h|--help]


== Usage ==
DESCRIPTION
Usage:
      sigrok-cli is  a  cross-platform  command  line utility for the sigrok
$ '''sigrok-cli [Arguments]'''
      logic analyzer software.


== Arguments ==
      The command-line frontend for sigrok cannot display  graphical  output,
      but  is  still  sufficient to run through the whole process of hardware
      initialization, acquisition, protocol analysis and saving the session.


=== Informational ===
      It is useful for running on remote or embedded systems, netbooks, PDAs,
      and  for  various  other  use-cases. It can display samples on standard
      output or save them in various file formats.


* '''-H, --list-hw-plugins'''
OPTIONS
Output a list of all available hardware plugins.
      -V, --version
              Show version, driver and module information.


* '''-D, --list-devices'''
      -D, --list-devices
List devices found on the system.
              List all logic analyzer devices found on the system.


* '''-A, --list-analyzer-plugins'''
      -d, --device <devid>
Output a list of all available protocol analysis plugins.
              The device to use for acquisition, specified by ID  as  reported
              by --list-devices.


* '''-V, --version'''
      -p, --probes <probelist>
Show version.
              A comma-separated list of probes to be used in the session.


=== Session control ===
              The  default is to use all the probes available on a device. You
              can name a probe like this: 1=CLK.  A range of probes  can  also
              be given, in the form 1-5.


* '''-L, --load-session-file <filename>'''
              Example:
Session file to load previously acquired data from. Any devices or protocols listed in the file will be reused, unless overridden by other commandline arguments.


* '''-S, --save-session-file <filename>'''
              $ sigrok-cli --samples 100 --probes 1=CLK,2-4,7
Save session to file.
              CLK:11111111 11111111 11111111 11111111 [...]
                2:11111111 11111111 11111111 11111111 [...]
                3:11111111 11111111 11111111 11111111 [...]
                4:11111111 11111111 11111111 11111111 [...]
                7:11111111 11111111 11111111 11111111 [...]


* '''--time <ms>'''
              The  comma-separated  list is processed from left to right, i.e.
Sample for <ms> milliseconds, then quit. You can optionally follow the number by '''s''' to state the number of seconds to sample instead. For example, '''2s''' will sample for two seconds.
              items farther to the right override previous items. For example
              1=CS,1=MISO will set the name of probe 1 to MISO.


* '''--samples <num>'''
              Also,  while  5=MOSI,6=MISO will only select probes 5 and 6, and
Acquire <num> samples, then quit. The number of samples may also be specified with a "k", "m" or "g" suffix, e.g. "1k" is equivalent to "1000".
              set  their  names  to  MISO  and  MOSI,  the  command  line
              5=MOSI,6=MISO,1-8  will select probes 1-8 (including 5 and 6, of
              course), but the names specified for probes  5  and  6  will  be
              reset to the defaults by the 1-8 probe selection.


* '''-d, --device <string>'''
      -t, --triggers <triggerlist>
The device to use for acquisition, specified by ID as report by '''--list-devices'''.
              A  comma-separated  list  of  triggers  to use, of  the  form
              <probe>=<trigger>. You can use the name or number of the probe,
              and the trigger itself is a series of characters:


* '''-p --probes <string>'''
              0 or 1: A low or high value on the pin.
A comma-separated list of probes to be used in the session. The default is to use all the probes available on a device. You can name a probe, like this: '''1=CLK'''. A range of probes can also be given, in the form '''1-5'''. Thus a probe list given as '''1=CLK,2-4,7''' will give output like this:
              r  or  f: A rising or falling value on the pin. An r effectively
              corresponds to 01.
              c: Any kind of change on a pin.


  CLK:11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111
              Not every device supports all of these trigger types. Use the -d
  2:11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111
              <device-id>  argument  (with  no  other arguments) to see which
  3:11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111
              triggers your device supports.
  4:11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111
  7:11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111


* '''-t, --triggers <string>'''
      -o, --device-option <devopt>
A comma-separated list of triggers to use, of the form '''<probe>=<trigger>'''. You can use the name or number of the probe, and the trigger itself is a series of characters:
              Set a device-specific option. The argument  takes  the  form  of
              option=value.  A common option is samplerate, with the argument
              being the samplerate in Hz. You can also specify the sample rate
              in kHz, MHz or GHz. The following are all equivalent:


:* '''0 or 1''': A low or high value on the pin.
              sigrok-cli --samples 100 -o samplerate=1000000
:* '''r or f''': A rising or falling value on the pin. An '''r''' effectively corresponds to '''01'''.
              sigrok-cli --samples 100 -o samplerate=1m
:* '''c''': Any kind of change on a pin.
              sigrok-cli --samples 100 -o "samplerate=1 MHz"


Not every device supports all of these trigger types. Use the '''-d <device-id>''' argument (with no other arguments) to see which triggers your device supports.
              The  --device-option  argument can  be  used  multiple times as
              needed.


* '''-a, --analyzers <string>'''
      -I, --input-file <filename>
A string listing the sequence of protocol analysis plugins the signal should go through. Each element of the sequence consists of the plugin's name, with a pipe ('''|''') symbol separating the elements.
              Load input from a file instead of a device.


=== Session options ===
      -f, --format <formatname>
              Set the output format to use.


* '''-o, --device-option <option string>'''
              Supported formats currently include bits,  hex,  ascii,  binary,
Set a device-specific option. The argument takes the form of '''option=value'''. Currently the only option supported is '''samplerate''', with the argument being the samplerate in Hz. You can also specify the sample rate in KHz, MHz or GHz. The following are all equivalent:
              vcd, ols, gnuplot, and analog.


  $ sigrok-cli --samples 100 -o samplerate=1000000
              The bits or hex formats, for an ASCII bit display or ASCII hexa‐
  $ sigrok-cli --samples 100 -o samplerate=1m
              decimal display, can be optionally followed by a length argument
$ sigrok-cli --samples 100 -o "samplerate=1 MHz"
              specifying  the number of samples (in bits). Thus hex128 would
              display 128 bits per line, in hexadecimal:


The '''--device-option'''' argument can be used multiple times as needed.
              1:ffff ffff ffff ffff ffff ffff ffff ffff
              2:ff00 ff00 ff00 ff00 ff00 ff00 ff00 ff00


* '''-f, --format <format>'''
              The lines always start  with  the probe  number  (or name, if
Set the output format to use. Supported formats currently include '''bits''', '''hex''', '''binary''', '''vcd''', and '''gnuplot'''. The '''bits''' or '''hex''' formats, for an ASCII bit display or hexadecimal display, optionally followed by a length argument specifying the number of samples (in bits). Thus '''hex128''' would display 128 bits per line, in hexadecimal:
              defined), followed by a colon. If no format is specified, it
              defaults to bits64, like this:


1:ffff ffff ffff ffff ffff ffff ffff ffff
              1:11111111 11111111 11111111 11111111 [...]
2:ff00 ff00 ff00 ff00 ff00 ff00 ff00 ff00
              2:11111111 00000000 11111111 00000000 [...]


The lines always start with the probe number (or name, if defined), followed by a colon. If no format is specified, it defaults to 'bits64', like this:
      --time <ms>
              Sample for <ms> milliseconds, then quit. You can optionally fol‐
              low  the number by s to state the number of seconds to sample
              instead. For example, --time 2s will sample for two seconds.


  1:11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111
      --samples <numsamples>
  2:11111111 00000000 11111111 00000000 11111111 00000000 11111111 00000000
              Acquire <numsamples> samples, then quit.
 
      --continuous
              Sample continuously until stopped. Not all devices support this.
 
      -h, --help
              Show a help text and exit.
 
EXAMPLES
      In order to get exactly 100 samples from the (only) detected logic ana‐
      lyzer hardware, run the following command:
 
        sigrok-cli --samples 100
 
      If you want to sample data for 3 seconds, use:
 
        sigrok-cli --time 3000
 
      Alternatively, you can also use:
 
        sigrok-cli --time 3s
 
      To  capture data from 4 probes lasting 100ms at 10 MHz starting at the
      trigger condition 1:high, 2:rising, 3:low, 4:high, use:
 
        sigrok-cli -f bits -p 1-4 --time 100 -o samplerate=10m \
                    --wait-trigger --triggers 1=1,2=r,3=0,4=1
 
EXIT STATUS
      sigrok-cli exits with 0 on success, 1 on most failures.
 
SEE ALSO
      sigrok-gui(1)
 
BUGS
      Please report any bugs  on  the  sigrok-devel  mailing  list  (sigrok-
      devel@lists.souceforge.net).
 
LICENSE
      sigrok-cli  is  covered  by  the GNU General Public License (GPL). Some
      portions are licensed under the "GPL v2 or later", some under  "GPL  v3
      or later".
 
AUTHORS
      Please see the individual source code files.
 
      This  manual  page was written by Uwe Hermann <uwe@hermann-uwe.de>.  It
      is licensed under the terms of the GNU GPL (version 2 or later).
 
 
</pre>

Revision as of 11:00, 20 January 2011

NAME
       sigrok-cli - Command-line client for the sigrok logic analyzer software

SYNOPSIS
       sigrok-cli [-VDdptoIfh] [-V|--version] [-D|--list-devices] [-d|--device
       devid]    [-p|--probes    probelist]    [-t|--triggers     triggerlist]
       [-o|--device-option  devopt]  [-I|--input-file  filename]  [-f|--format
       formatname]   [--time   ms]   [--samples   numsamples]   [--continuous]
       [-h|--help]

DESCRIPTION
       sigrok-cli  is  a  cross-platform  command  line utility for the sigrok
       logic analyzer software.

       The command-line frontend for sigrok cannot display  graphical  output,
       but  is  still  sufficient to run through the whole process of hardware
       initialization, acquisition, protocol analysis and saving the session.

       It is useful for running on remote or embedded systems, netbooks, PDAs,
       and  for  various  other  use-cases. It can display samples on standard
       output or save them in various file formats.

OPTIONS
       -V, --version
              Show version, driver and module information.

       -D, --list-devices
              List all logic analyzer devices found on the system.

       -d, --device <devid>
              The device to use for acquisition, specified by ID  as  reported
              by --list-devices.

       -p, --probes <probelist>
              A comma-separated list of probes to be used in the session.

              The  default is to use all the probes available on a device. You
              can name a probe like this: 1=CLK.  A range of probes  can  also
              be given, in the form 1-5.

              Example:

               $ sigrok-cli --samples 100 --probes 1=CLK,2-4,7
               CLK:11111111 11111111 11111111 11111111 [...]
                 2:11111111 11111111 11111111 11111111 [...]
                 3:11111111 11111111 11111111 11111111 [...]
                 4:11111111 11111111 11111111 11111111 [...]
                 7:11111111 11111111 11111111 11111111 [...]

              The  comma-separated  list is processed from left to right, i.e.
              items farther to the right override previous items. For  example
              1=CS,1=MISO will set the name of probe 1 to MISO.

              Also,  while  5=MOSI,6=MISO will only select probes 5 and 6, and
              set  their  names  to  MISO   and   MOSI,   the   command   line
              5=MOSI,6=MISO,1-8  will select probes 1-8 (including 5 and 6, of
              course), but the names specified for probes  5  and  6  will  be
              reset to the defaults by the 1-8 probe selection.

       -t, --triggers <triggerlist>
              A   comma-separated  list  of  triggers  to  use,  of  the  form
              <probe>=<trigger>.  You can use the name or number of the probe,
              and the trigger itself is a series of characters:

              0 or 1: A low or high value on the pin.
              r  or  f: A rising or falling value on the pin. An r effectively
              corresponds to 01.
              c: Any kind of change on a pin.

              Not every device supports all of these trigger types. Use the -d
              <device-id>  argument  (with  no  other  arguments) to see which
              triggers your device supports.

       -o, --device-option <devopt>
              Set a device-specific option. The argument  takes  the  form  of
              option=value.   A common option is samplerate, with the argument
              being the samplerate in Hz. You can also specify the sample rate
              in kHz, MHz or GHz. The following are all equivalent:

               sigrok-cli --samples 100 -o samplerate=1000000
               sigrok-cli --samples 100 -o samplerate=1m
               sigrok-cli --samples 100 -o "samplerate=1 MHz"

              The  --device-option  argument  can  be  used  multiple times as
              needed.

       -I, --input-file <filename>
              Load input from a file instead of a device.

       -f, --format <formatname>
              Set the output format to use.

              Supported formats currently include bits,  hex,  ascii,  binary,
              vcd, ols, gnuplot, and analog.

              The bits or hex formats, for an ASCII bit display or ASCII hexa‐
              decimal display, can be optionally followed by a length argument
              specifying  the  number  of samples (in bits). Thus hex128 would
              display 128 bits per line, in hexadecimal:

               1:ffff ffff ffff ffff ffff ffff ffff ffff
               2:ff00 ff00 ff00 ff00 ff00 ff00 ff00 ff00

              The lines always start  with  the  probe  number  (or  name,  if
              defined),  followed  by  a  colon. If no format is specified, it
              defaults to bits64, like this:

               1:11111111 11111111 11111111 11111111 [...]
               2:11111111 00000000 11111111 00000000 [...]

       --time <ms>
              Sample for <ms> milliseconds, then quit. You can optionally fol‐
              low  the  number  by  s to state the number of seconds to sample
              instead. For example, --time 2s will sample for two seconds.

       --samples <numsamples>
              Acquire <numsamples> samples, then quit.

       --continuous
              Sample continuously until stopped. Not all devices support this.

       -h, --help
              Show a help text and exit.

EXAMPLES
       In order to get exactly 100 samples from the (only) detected logic ana‐
       lyzer hardware, run the following command:

         sigrok-cli --samples 100

       If you want to sample data for 3 seconds, use:

         sigrok-cli --time 3000

       Alternatively, you can also use:

         sigrok-cli --time 3s

       To  capture  data from 4 probes lasting 100ms at 10 MHz starting at the
       trigger condition 1:high, 2:rising, 3:low, 4:high, use:

         sigrok-cli -f bits -p 1-4 --time 100 -o samplerate=10m \
                    --wait-trigger --triggers 1=1,2=r,3=0,4=1

EXIT STATUS
       sigrok-cli exits with 0 on success, 1 on most failures.

SEE ALSO
       sigrok-gui(1)

BUGS
       Please report any  bugs  on  the  sigrok-devel  mailing  list  (sigrok-
       devel@lists.souceforge.net).

LICENSE
       sigrok-cli  is  covered  by  the GNU General Public License (GPL). Some
       portions are licensed under the "GPL v2 or later", some under  "GPL  v3
       or later".

AUTHORS
       Please see the individual source code files.

       This  manual  page was written by Uwe Hermann <uwe@hermann-uwe.de>.  It
       is licensed under the terms of the GNU GPL (version 2 or later).