Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: ngscopeclient/scopehal-docs
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 755d5800ee7b
Choose a base ref
...
head repository: ngscopeclient/scopehal-docs
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 708a7439854a
Choose a head ref
  • 1 commit
  • 14 files changed
  • 1 contributor

Commits on Oct 2, 2020

  1. Copy the full SHA
    708a743 View commit details
Binary file modified images/capture-icons.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/clear-button.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/fullscreen-button.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified images/history-button.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified images/opacity-slider.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/refresh-button.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/timebase-properties-freq.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified images/timebase-properties.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified images/timeline.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified images/toolbar.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
13 changes: 13 additions & 0 deletions section-decodes.tex
Original file line number Diff line number Diff line change
@@ -348,6 +348,13 @@ \section{DRAM Trcd}
\pagebreak
\section{DRAM Trfc}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\pagebreak
\section{Duty Cycle}

Calculates the duty cycle of a bimodal waveform. The duty cycle is defined as the percentage of time spent in the high
state divided by the period.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\pagebreak
\section{DVI}
@@ -582,6 +589,12 @@ \subsection{Output Signal}
This filter outputs an analog waveform with one sample for each sample in the input, containing the difference of the
two input waveforms.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\pagebreak
\section{Tachometer}

Converts pulses from a tachometer to shaft speed

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\pagebreak
\section{Threshold}
56 changes: 53 additions & 3 deletions section-mainwindow.tex
Original file line number Diff line number Diff line change
@@ -23,9 +23,12 @@ \subsection{File}

\subsection{Setup}

This menu allows instrument settings to be configured. Currently there's not much here.
\textbf{Instrument Sync}: Synchronizes two or more instruments under a single glscopeclient instance. TODO: more
complete documentation

TODO: Document scope sync wizard, trigger dialog, and halt conditions
\textbf{Trigger}: Configures trigger settings

\textbf{Halt Conditions}: Makes glscopeclient pause when a waveform meeting certain conditions is acquired

\subsection{View}

@@ -49,6 +52,14 @@ \subsection{Add}

This menu allows a new waveform view to be created for any channel on a connected instrument.

\subsection{Window}

This menu provides access to pop-up windows such as protocol analyzers which were closed.

\subsection{Help}

\textbf{About}: Displays program version and copyright information

\section{Toolbar}

The toolbar contains buttons and controls for the most frequently used actions.
@@ -75,7 +86,7 @@ \subsection{Capture buttons}
\label{capturebuttons}
\end{figure}

\subsection{History button}
\subsection{History}

The history button (Fig. \ref{historybutton}) toggles display of the \hyperref[sec:history]{waveform history view}.

@@ -86,6 +97,45 @@ \subsection{History button}
\label{historybutton}
\end{figure}

\subsection{Refresh Settings}

In order to improve performance, glscopeclient caches many instrument settings locally rather than constantly querying
the instrument for the current timebase, trigger configuration, etc. If settings are changed on the instrument while
glscopeclient is running, glscopeclient may not be aware of these changes.

The Refresh Settings button (Fig. \ref{refreshbutton}) clears all cached instrument configuration and updates
glscopeclient with the current instrument settings.

\begin{figure}[h]
\centering
\includegraphics[height=1cm]{images/refresh-button.png}
\caption{Refresh Settings button}
\label{refreshbutton}
\end{figure}

\subsection{Clear Sweeps}

The Clear Sweeps button (Fig. \ref{clearbutton}) clears all persistence waveforms, accumulated eye pattern / waterfall
data, and statistics. Waveforms saved in history are not deleted.

\begin{figure}[h]
\centering
\includegraphics[height=1cm]{images/clear-button.png}
\caption{Clear Sweeps button}
\label{clearbutton}
\end{figure}

\subsection{Fullscreen}

The Fullscreen button (Fig. \ref{fullscreenbutton}) switches glscopeclient between normal and full-screen mode.

\begin{figure}[h]
\centering
\includegraphics[height=1cm]{images/fullscreen-button.png}
\caption{Fullscreen button}
\label{fullscreenbutton}
\end{figure}

\subsection{Opacity slider}

The opacity slider (Fig. \ref{opacityslider}) controls the alpha/opacity used to display intensity-graded waveforms.
32 changes: 23 additions & 9 deletions section-timeline.tex
Original file line number Diff line number Diff line change
@@ -4,30 +4,44 @@ \chapter{Timeline}
all accompanying waveform views in the group) may be zoomed by scrolling with the mouse wheel, or panned by dragging
with the left mouse button.

Unlike classical oscilloscope user interfaces, there is \emph{no relationship} between the timeline scale/position and
the duration of the acquisition. It is possible to zoom or scroll beyond the end of the acquisition (displaying empty
background with no signal) or have a deep capture in which nearly all acquired data is offscreen.
Unlike classical oscilloscope user interfaces, there is \emph{no relationship} between the timeline scale or position
and the duration of the acquisition. It is possible to zoom or scroll beyond the end of the acquisition (displaying
empty background with no signal) or have a deep capture in which nearly all acquired data is offscreen.

Note that the timeline may occasionally show units other than time. For example, an ``eye width" measurement has X axis
units of voltage and Y axis units of time, and a spectrum analyzer channel has X axis units of frequency.


\begin{figure}[h]
\centering
\includegraphics[width=13cm]{images/timeline.png}
\includegraphics[width=14cm]{images/timeline.png}
\caption{The timeline}
\label{timeline}
\end{figure}

TODO: talk about how to set trigger offset within acquisition, once implemented (scopehal:21, scopehal-apps:12)
The position of the trigger event is marked by a downward-pointing arrow on the timeline, color coded to match the
channel selected as the primary trigger source. The trigger arrow cannot be interacted with currently, but in the future
(scopehal-apps:173) it will be draggable to adjust the trigger position.

Double-clicking on the timeline brings up the timebase properties dialog (Fig. \ref{timebase-properties}), which allows
the sample rate and memory depth to be configured. If multiple instruments are connected, a separate tab appears in the
dialog for each instrument.

\begin{figure}[h]
\centering
\includegraphics[width=5cm]{images/timebase-properties.png}
\caption{Timebase properties dialog}
\includegraphics[width=9cm]{images/timebase-properties.png}
\caption{Timebase properties (time domain)}
\label{timebase-properties}
\end{figure}

If the instrument is a spectrum analyzer, or has frequency-domain analysis capability (such as the Tektronix MSO5 and
MSO6 oscilloscopes), the timebase properties dialog will have a second page (Fig. \ref{timebase-properties-freq}) for
setting the span and resolution bandwidth for frequency-domain channels. Center frequency is often a per-channel
adjustment, so it is configured from the channel properties dialog rather than timebase properties.

Note that the timeline may occasionally show units other than time. For example, an ``eye width" measurement has X axis
units of voltage and Y axis units of time.
\begin{figure}[h]
\centering
\includegraphics[width=9cm]{images/timebase-properties-freq.png}
\caption{Timebase properties (frequency domain)}
\label{timebase-properties-freq}
\end{figure}
8 changes: 1 addition & 7 deletions section-waveformgroups.tex
Original file line number Diff line number Diff line change
@@ -13,7 +13,7 @@ \chapter{Waveform Groups}
\label{single-group}
\end{figure}

As you add protocol decodes or look at different parts of a waveform, it may be necessary to create additional waveform
As you add protocol decodes or look at different parts of a waveform, it may be helpful to create additional waveform
groups. Typical reasons for creating additional groups include:

\begin{itemize}
@@ -22,12 +22,6 @@ \chapter{Waveform Groups}
\item Viewing signals with incompatible horizontal units. For example, a FFT has horizontal units of frequency while an
analog waveform has horizontal units of time. Eye patterns also have horizontal units of time, but are always displayed
as two UIs wide and cannot be zoomed.
\footnote
{
It is currently possible to place signals with incompatible horizontal units in the same group. This may lead to
confusion; a future software release will likely force creation of a new group if a protocol decode is incompatible
with the parent trace's time scale.
}
\end{itemize}

\section{Managing Groups}