The AlazarTech SDK allows you to create applications that configure and acquire
data from AlazarTech PCI/PCIe digitizer boards using functions exported by
AlazarTech device drivers. It includes: a programmer's guide and reference
manual, header and library files, and sample code. Installation The ATS-SDK for
Windows requires a PC running 32- or 64-bit versions of Windows 2000 or later
with about 40 MB of free disk space.
To install the ATS-SDK, double-click on the ATS-SDK setup program and follow its
instructions. By default, the setup program creates a directory named
"C:\AlazarTech\ATS-SDK<Version>", and installs all ATS-SDK files to this
To uninstall the ATS-SDK, open the "Add and Remove Programs" Control Panel
applet, select the ATS-SDK, and click on the "Uninstall" button.
The ATS-SDK for Windows includes sample code for the following programming
- C/C++ samples for Microsoft Visual C++ 6, Visual C++ 2008 or later.
- C# samples for Microsoft Visual C # 2008 or later.
- MATLAB samples for MATLAB R2006a or later.
- VB samples for Microsoft Visual Basic 6.
You must install the drivers for your AlazarTech digitizer board on your
computer to run the sample programs.
You should connect a 1 KHz, +/-500 mV signal (1 Vpp) to CH A of your digitizer
before running the sample programs. If a digitizer requires a trigger input, the
sample code configures it to trigger when a signal connected to CH A rises above
0V. If a trigger input is required but no trigger signal is supplied, the sample
code will report an acquisition timeout error.
This file lists all the important changes to ATS-SDK
[7.3.0] - 2019-05-17
[7.2.4] - 2019-01-22
- ATS9130 code samples
- Traditional AutoDMA code samples for ATS9120
[7.2.3] - 2018-12-20
- Support for LabVIEW 7.1. The oldest supported LabVIEW version is now 2009.
- Issue in the Makefile of the code samples where the ordering of options passed
to the compiler is not correct. This can cause "undefined references" errors
with some compilers.
- Issue with AlazarInputControlEx.vi where the "call library node" function
would emit the following error: "The function name specified for this node
cannot be found in the library"
- AlazarDSPGetModules calls in MATLAB code samples. Some places used
0 in lieu
libpointers, which would cause some versions of MATLAB to not run code
- Issue with LabVIEW code samples where running on-FPGA applications with
LabVIEW 2018 would cause "error 1097" messages.
- Sign installer with 256-bit signature.
[7.2.2] - 2018-09-26
- Remove double "index" entry in the manual
- Erroneous supported external trigger ranges for ATS310 and ATS330
[7.2.1] - 2018-06-19
- Issue where the buffer layout wasn't documented properly in some MATLAB code
- LabVIEW code samples for ATS9120
- MATLAB code samples default values for ATS9120
- Various modifications in the ATS-SDK guide.
[7.2.0] - 2018-03-26
- Rename sample files to a meaningful name
- Reformatted the SDK guide
- Update AlazarSysInfo code sample with latest boards
- Make BinToText8 cross-platform
- Make BinToText16 cross-platform
- Call AlazarAllocBufferU16Ex and U8Ex instead of valloc
- Python support for DIS DSP module
- Code samples for ATS9120 and ATS9371
- Missing functions in the Python wrapper
- In AlazarApi.cs, error codes added (603, 604, 609)
- In AlazarApi.cs, board types added (AXI8870, ATS9637, ATS9120, ATS9371)
- In AlazarApi.cs and AlazarDSP.cs, functions removed and added to match API
- Samples in CSharp: different clock configuration for each board type
- Samples in CSharp: NPT_Scan, AR_Volts, NPT_Volts, TR_Volts
- Issue with the number of samples allocated and written in on-FPGA mode in
- Issue in Python code samples where
DMABuffer memory would leak.
- Issue in Python code samples where data files would be opened in text mode.
This could lead to corrupt data written to disk on some versions of Python.
- Type of HANDLE in ATSApi Python wrapper
- Encoding of file name in CreateStreamFile.vi
[7.1.5] - 2016-08-10
- Requires driver v5.10.14 or above
- Move input range to 1V for ATS9416 in code samples
- Set input coupling to DC for ATS9626 in code samples
- Make default sample rate used in samples codes the highest possible
- Use Hanning windows as default for FFT sample codes
- Replaced call to
AlazarInputControlEx() in all
code samples in C, MATLAB, Python, and C#
- Doxygen documentation
AlazarDSPGetParameterU32(), a generic interface to retrieve U32-typed DSP parameters
- FFT background subtraction feature, with the following functions:
AlazarFFTGetMaxTriggerRepeatRate() to get the maximum trigger repeat rate
that the FFT engine can support without overflow
AlazarFFTSetScalingAndSlicing() to set internal scaling and slicing
parameters in the FFT module
- Sample VIs for ATS9350, ATS9351, ATS9360, and ATS9373 for on FPGA FFT, for all
3 output formats (U8, U16, and float)
- AlazarDSPGetBufferU8/U16/Float.vi and AlazarDSPGetNextBufferU8/U16/Float.vi
- MATLAB sample code for NPT Master/Slave mode for all board types
- on-FPGA FFT sample codes for MATLAB, Python and C#, for supported boards
(ATS9350, ATS9351, ATS9360 and ATS9373)
- on-FPGA FFT sample codes for C, for ATS9351
- Non-exported functions
- Bug in on FPGA FFT VIs to use DSP handle wherever required
- Bug in "Continuous streaming" and "Triggered streaming" VIs in setting records
per buffer and record count
- Bug in python code samples concerning the data type for boards above 8-bit
being derived wrong
- Error in channels definition in AlazarDefs.m
- Bug in generating
AverageMultithreaded sample codes in C.
- Bug in generating
[7.1.4] - 2016-01-08
- Function to extract NPT footer
[7.1.3] - 2015-11-03
- Update the DMABuffer Python API to use ctypes
[7.1.2] - 2015-10-16
- OCT Ignore Bad Clock feature
[7.1.1] - 2015-10-6
- Document AlazarFFTSetWindowFunction
- on-FPGA FFT LabVIEW code sample
[7.1.0] - 2015-09-23
- AlazarDSP module for on-FPGA FFT support
- Error in Python samples that caused
AlazarAbortCapture() not to be called
[7.0.0] - 2015-08-11
- LabVIEW support to ATS-SDK
- Support for ATS9373 and ATS9416
- Data packing and DES support and documentation
- Various small changes in the documentation
[6.2.0] - 2015-03-02
- Code samples for ATS9373, ATS9360 and remove ATS9360_FIFO
- External Clock Issues for OCT Applications section to guide.
- Update 10Mhz PLL documentation for ATS9416, ATS9373 and AXI9870.
- Move ATS9350/ATS9351 Advanced 10MHz PLL under Advanced Topics in guide.
- Update External Trigger Data Source in guide.
AlazarSetTriggerOperationForScanning() under Advanced Topics in guide.
AlazarBeforeAsyncRead() with new board's information.
- Move board-specific data to guide's appendix and make references to that section.
AlazarInputControl() and add
- Remove Visual Basic 6 documentation and code samples.
[6.1.0] - 2013-02-11
- Support for ATS9360-FIFO.
AlazarFreeBufferU16() to allocate page aligned buffers.
AlazarGetParameter() to read current FPGA
temperature of PCIe digitizers.
- "Advanced 10 MHz PLL" mode to ATS-SDK Guide.
AlazarConfigureRecordAverage() for FPGA record average with the ATS9870 with FPGA 180 or above.
AlazarCoprocessorRegisterRead() for ATS962x user FPGA control.
ApiInvalidClockFrequency to ATS-SDK error reference, and move error
reference after function reference.
- A glossary section to ATS-SDK Guide.
STOS_OPTION_DEFER_START_CAPTURE constant to MATLAB, C# and VB SDKs.
- brief instructions for C++/CLI and VB.NET developers to access ATSApi.dll
though a reference to AlazarApiNet.dll.
- Update MATLAB samples to call
to ensure buffer alignment requirements are satisfied.
- Bug in MATLAB samples that caused "Undefined function or method
AlazarErrorToText ..." errors.
[6.0.4] - 2012-07-24
- Support for ATS9625 and ATS9626
AlazarGetBoardRevision() to return PCB revision of PCIE digitizers.
GET_CPF_DEVICE parameters for
- Update ATS9440 MATLAB AutoDMA samples to add
ADMA_INTERLEAVE_SAMPLES flag by
[6.0.3] - 2011-06-16
- Support for the ATS9351 and ATS9850.
- Update ATS-SDK Guide section 3.3.4 AsyncRead to fix a typo where the
BytesToRead parameter was repeated.
[6.0.2] - 2011-04-28
- Update MATLAB sample code to add support for 32- and 64-bit MATLAB 2009a and
- Update ATS-SDK Guide section 2.3.4 "AUX I/O" for the ATS9440.
- Update ATS-SDK Guide section 18.104.22.168 "Digital input" to fix an error
describing the AUX I/O digital input configuration.
[6.0.1] - 2011-02-07
- Single- and multi-threaded C/C++ samples that demonstrate how to average
data from continuous and no-pretrigger dual-ported AutoDMA mode streaming
- C/C++ projects for Microsoft Visual C++ Express 2008 and later that target
32-bit platforms only. Note that projects with "_x64" in their filenames
support both 32- and 64-bit built targets, but require build tools that
support 64-bit cross-compilation, such as Visual C++ Professional 2008 and
later. Visual C++ Express editions do not include 64-bit cross-compilers, so
will fail to open these projects.
- Modify all C/C++ projects to generate output .exe files whose filenames have
the same base as the project name. For example, AcqToDisk.vcproj generates
AcqToDisk.exe. Visual C++ Express 2010 generates a warning otherwise.
[6.0.0] - 2011-01-24
[5.8.4] - 2010-12-14
- Support for ATS9440
- VB6 sample programs, and update single-ported samples programs to simplify
- Move release history to release notes file.
[5.8.3] - 2010-08-18
- Support for ATS9325.
AlazarSetClockSwitchOver() to configure dummy clock.
EEC_MODE to parameter to
AlazarConfigureAuxIO() description in function reference.
- Expand description of
AlazarSetCaptureClock() decimation parameter in
section 22.214.171.124 "10 MHz PLL".
- Expand description of
AlazarInputControl() to include board specific input
[5.8.2] - 2010-05-28
- Update ATS-SDK Guide to add section describing buffer size and alignment
- Lib files to include API functions added with 5.8.1 release.
- Error in
AlazarSetExternalClockLevel() description in function reference.
[5.8.1] - 2010-05-12
- C# sample programs
- The following API functions:
- The following
AlazarGetParameter() values to AlazarCmd.h:
[5.8.0] - 2010-01-21
- Support for ATS9350.
- The following API functions:
- The following AlazarSetParameter values:
- The following AlazarGetParameter values:
- The following AlazarGetParameterUL values:
- Synchronous AutoDMA acquisition functions including:
- Update SDK documentation and sample code.
[5.6.0] - 2008-06-01