forked from ngscopeclient/scopehal-docs
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsection-transports.tex
97 lines (62 loc) · 3.04 KB
/
section-transports.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
\chapter{Transports}
\label{sec:transports}
\section{gpib}
Not yet implemented: SCPI over GPIB
\section{lan}
SCPI over TCP with no further encapsulation.
This transport takes two arguments: hostname/IP and port number.
If port number is not specified, uses TCP port 5025 (IANA assigned) by default. Note that Rigol oscilloscopes use the
non-standard port 5555, not 5025, so the port number must always be specified when using a Rigol instrument.
Example:
\begin{lstlisting}[language=sh, numbers=none]
glscopeclient myscope:rigol:lan:192.0.2.9:5555
\end{lstlisting}
\section{lxi}
SCPI over LXI VXI-11.
Note that due to the remote procedure call paradigm used by LXI, it is not possible to batch multiple outstanding
requests to an instrument when using this transport. Some instruments may experience reduced performance when using LXI
as the transport.
Example:
\begin{lstlisting}[language=sh, numbers=none]
glscopeclient myscope:tektronix:lxi:192.0.2.9
\end{lstlisting}
\section{null}
This transport does nothing, and is used as a placeholder for development simulations or non-SCPI instruments.
NOTE: Due to limitations of the current command line argument parsing code, an argument must be provided to all transports,
including this one. Since the argument is ignored, any non-empty string may be used.
Example:
\begin{lstlisting}[language=sh, numbers=none]
glscopeclient sim:demo:null:blah
\end{lstlisting}
\section{twinlan}
This transport is used by some Antikernel Labs oscilloscopes, as well as most of the bridge servers used for interfacing
libscopehal with USB oscilloscopes' SDKs. It takes three arguments: hostname/IP and two port numbers.
It uses two TCP sockets on different ports. The first carries SCPI text (as in the ``lan" transport), and the second is
for binary waveform data.
If port numbers are not specified, the SCPI port defaults to the IANA standard of 5025, and the data port defaults to
5026. If the SCPI port but not the data port is specified, the data port defaults to the SCPI port plus one.
\section{uart}
SCPI over RS-232 or USB-UART.
This transport takes two arguments: device path (required) and baud rate (optional). If baud rate is not specified, it
defaults to 115200.
Example:
\begin{lstlisting}[language=sh, numbers=none]
glscopeclient myscope:rigol:uart:/dev/ttyUSB0:115200
\end{lstlisting}
\section{vicp}
SCPI over Teledyne LeCroy Virtual Instrument Control Protocol.
This transport takes two arguments: hostname/IP and port number.
If port number is not specified, uses TCP port 1861 (IANA assigned) by default.
Example:
\begin{lstlisting}[language=sh, numbers=none]
glscopeclient myscope:lecroy:vicp:192.0.2.9
\end{lstlisting}
\section{usbtmc}
SCPI over USB Test \& Measurement Class protocol.
This transport takes one argument: the path to the usbtmc kernel device object.
NOTE: The current implementation of this driver only works on Linux. There is currently no support for USBTMC on
Windows (see scopehal:301)
Example:
\begin{lstlisting}[language=sh, numbers=none]
glscopeclient myscope:siglent:usbtmc:/dev/usbtmc0
\end{lstlisting}