Skip to content

Commit b2c2b20

Browse files
committed
Began update pass on documentation
1 parent fb151f3 commit b2c2b20

File tree

4 files changed

+44
-27
lines changed

4 files changed

+44
-27
lines changed

ng-images/empty-window.png

39.7 KB
Loading

section-intro.tex

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,6 @@ \section{Introduction}
66
automation tool for test and measurement equipment. It runs on all major operating systems and can interoperate with a
77
broad and continuously growing range of T\&M products from many vendors.
88

9-
As of this writing, ngscopeclient is under active development but has not had a formal v0.1
10-
release and should be considered alpha quality.
11-
129
This is free software: you are free to change and redistribute it.
1310
There is NO WARRANTY, to the extent permitted by law.
1411

@@ -135,6 +132,18 @@ \subsection{Terminology}
135132
only accept digital waveforms, so analog waveforms must be converted to digital by a thresholding filter before they
136133
can be decoded.
137134

135+
\section{Stability Notes}
136+
137+
The v0.x series of ngscopeclient and libscopehal is under active development. There is no expectation of API or ABI
138+
stability for the backend libraries; method signatures and memory layouts may change at any time.
139+
140+
The .scopesession file format is intended to be strictly upward compatibile; any potential crashes or parsing errors
141+
when opening older datasets in a newer version are due to bugs and should be reported as such.
142+
143+
There is no expectation of downward compatibility. Note that filters may occasionally change port or parameter
144+
configurations during refactoring, which may require some manual reconfiguration of older sessions in order to work
145+
properly.
146+
138147
\section{Revision History}
139148
\begin{itemize}
140149
\item \today: [in progress] Initial draft

section-ng-gettingstarted.tex

Lines changed: 31 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,7 @@ \section{Host System Requirements}
88
Any 64-bit Intel or AMD processor, or Apple Silicon Mac, should be able to run ngscopeclient. If AVX2 and/or AVX512F
99
support is present ngscopeclient will use special optimized versions of some signal processing functions, however
1010
neither instruction set is required. Other (non Apple Silicon) ARM64 platforms may work if a compatible GPU is
11-
available, but have not been tested. 32-bit platforms are not supported due to the significant RAM requirements
12-
(but we won't stop you from trying).
11+
available, but have not been tested. We don't actively test on 32-bit platforms due to the significant RAM requirements.
1312

1413
A mouse with scroll wheel, or touchpad with scroll gesture support, is mandatory to enable full use of the UI. We may
1514
explore alternative input methods for some UI elements in the future.
@@ -20,10 +19,13 @@ \section{Host System Requirements}
2019
\item NVIDIA: Maxwell architecture (GeForce GTX 700 series and newer, February 2014)
2120
\item AMD: GCN based (Radeon HD 7000 and newer, January 2012)
2221
\item Intel: Iris Plus 540 or HD Graphics 520 (Skylake, August 2015)
23-
\item Apple: all Apple Silicon devices (M1 and newer). Newer Intel devices with Metal support should work but support
24-
is not guaranteed.
22+
\item Apple: all Apple Silicon devices (M1 and newer). Newer Intel devices with Metal support should work but have not
23+
been tested.
2524
\end{itemize}
2625

26+
Note that many virtual machine graphics stacks (e.g. VMWare) do not provide Vulkan unless a PCIe passthrough GPU is
27+
being used.
28+
2729
The minimum RAM requirement to launch ngscopeclient is relatively small; however, actual memory consumption is
2830
heavily dependent on workload and can easily reach into the tens of gigabytes when doing complex analysis on many
2931
channels with deep history.
@@ -41,12 +43,34 @@ \section{Host System Requirements}
4143
megapoint waveform will consume 1GB of GPU memory. Intermediate results in multi-step filter pipelines require GPU
4244
memory as well, even if not displayed.
4345

46+
The maximum supported waveform size depends on your Vulkan implementation but is typically $2^32$ bytes (4 GB). This
47+
translates to one gigapoint analog or four gigapoints digital.
48+
4449
\section{Instrument Support}
4550

4651
ngscopeclient uses the libscopehal library to communicate with instruments, so any libscopehal-compatible hardware
4752
should work with ngscopeclient. See the \hyperref[sec:scope-drivers]{Oscilloscope Drivers} section for more details on
4853
which hardware is supported and how to configure specific drivers.
4954

55+
\section{Installation}
56+
57+
\subsection{Official Releases}
58+
59+
Prebuilt binary packages are available for some of our supported platforms.
60+
61+
The latest released binaries can be downloaded from GitHub at (FIXME url here).
62+
63+
\subsection{Development Builds}
64+
65+
If you are feeling adventurous and want to try bleeding-edge code, or are testing a fix at a developer's request,
66+
packages for a limited set of platforms (currently Ubuntu 20.04, 22.04, 24.04, and Windows) are automatically built
67+
each commit as part of the GitHub CI pipeline.
68+
69+
To access development packages, log into GitHub (sorry, development binaries are not available to
70+
anonymous users - this is on GitHub's end and not under our control) and go to
71+
\url{https://github.com/ngscopeclient/scopehal-apps/actions}. Select build-ubuntu or build-windows as appropriate,
72+
click the commit you wish to test, and download the appropriate .msi or .deb package.
73+
5074
\section{Compilation}
5175

5276
ngscopeclient can be compiled on Linux, macOS, and Windows. While the compilation process is generally similar, various
@@ -156,24 +180,6 @@ \subsubsection{Alpine Linux}
156180

157181
If you are using an older stable release (such as CentOS 7), you may need to install some dependencies from source.
158182

159-
160-
\item Install FFTS library:
161-
162-
This installs the library into /usr/local. If you want to install it into a custom prefix, you will need to use
163-
CMAKE\_INSTALL\_PREFIX here and CMAKE\_PREFIX\_PATH when running cmake for scopehal-apps, which are out of scope
164-
for these instructions.
165-
166-
\begin{lstlisting}[language=sh, numbers=none]
167-
cd ~
168-
git clone https://github.com/anthonix/ffts.git
169-
cd ffts
170-
mkdir build
171-
cd build
172-
cmake .. -DENABLE_SHARED=ON
173-
make -j4
174-
sudo make install
175-
\end{lstlisting}
176-
177183
\item Install Vulkan SDK:
178184

179185
In many cases, you can install the SDK components from distro-provided repositories, which is covered above. When
@@ -334,7 +340,7 @@ \subsubsection{Building from source}
334340
ninja -j4
335341
\end{lstlisting}
336342

337-
\item Optional, to build MSI installer:
343+
\item Optional, to build MSI installer:
338344

339345
Download and install WiX Toolset.\\
340346
You can download it from \href{https://github.com/wixtoolset/wix3/releases}{https://github.com/wixtoolset/wix3/releases}\\
@@ -392,6 +398,8 @@ \subsubsection{Building from source}
392398
At the moment, installation scripts are not yet complete.
393399
The binaries can be found in the build directory, such as ngscopeclient in \$HOME/scopehal-apps/build/src/ngscopeclient.
394400

401+
FIXME: document how to build the MSI or do system-wide install
402+
395403
\end{enumerate}
396404

397405
\section{Running ngscopeclient}

section-ng-legal.tex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ \section{Introduction}
88

99
\section{License Agreement}
1010

11-
Copyright (c) 2012-2023 Andrew D. Zonenberg and contributors.
11+
Copyright (c) 2012-2024 Andrew D. Zonenberg and contributors.
1212
All rights reserved.
1313

1414
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the

0 commit comments

Comments
 (0)