This file lists all the important changes to ATS-SDK
[7.5.0] - 2021-5-20
Code samples and documentation for ATS9146.
Code samples and documentation for ATS9353.
Code samples and documentation for ATS9872.
Code samples and documentation for ATS9628.
Default input coupling for ATS9351 C, C#, MATLAB and Python.
Regression introduced in v7.4.0 where `atsapi.py` lists some deprecated
boards, causing the interpreter to issue errors when Python code
samples are started.
Remove no longer supported boards from boardTypeIdToText() in MATLAB samples.
Issue in AlazarSysInfo's Makefile that prevents this code sample from
[7.4.0] - 2020-4-28
Modify MATLAB interface to limit raw pointer usage in calling code and
simplify overall usage of the API. Extensive documentation about the
differences in calling convention between C and MATLAB functions is included
in the ATS-SDK guide's getting started section.
Mark single-port code samples as non-recommended
(internal ref #10)
Replace AXI8870 with AXI9870 everywhere
Issue where Python code samples were using `time.clock()` to measure
wall-clock time instead of `time.time()`.
Change wording of multi-channel entries like "A + B" with "A, B" in the
channel selection parameter of `AlazarBeforeAsyncRead()` in LabVIEW code
samples. This is meant to clarify the meaning of multi-channel acquisitions.
Remove notion of time per tick from code samples because it's board-dependent.
Activate sample interleaving by default on ATS9440. This is necessary for the
board to sustain high data rates with 4 channels active.
Correct SampleToVolts code fragments in programmers guide.
LabVIEW code samples to extract NPT footers
LabVIEW code samples for ATS9371
+/- 200mV input range entry for ATS9625 and ATS9626 LabVIEW code samples.
This helps use digitizers purchased with the alternate input range.
LabVIEW "CreateStreamFile" code samples
Documentation about `AlazarOCTIgnoreBadClock()`.
Document that `AlazarSetParameterUL()` for `SET_ADC_MODE` must be called
Code samples and documentation for ATS9352.
Deploy on Debian.
Issue where the available sample rates in LabVIEW code sample for some boards
did not match the allowed values. Products affected are: ATS860, ATS9360,
ATS9373, ATS9625, ATS9626 and ATS9637.
Issue in the `AlazarSetTriggerOperation examples` section of the programmer's
guide where an example was using wrong arguments in the
`AlazarSetTriggerOperation()` function call.
Issue where, when Python code samples are used with new versions of the ATSApi
library, loading atsapi.py errors out with and "undefined symbol" error for
List of boards that support bandwidth limit in the SDK guide. ATS9870 was
listed erroneously and ATS860 was missing.
Fixed AlazarFreeBuffer being called with arguments in the wrong order in stream
to memory sample codes.
Issue where pthreads library was missing from multithreaded code samples under
Linux, causing linker errors.
Remove U32 cast of samplesPerAcquisition in MATLAB CS code.
Added missing boards to AlazarSysInfo.
Fixed LabVIEW's AlazarBoardsFound.vi function wrapper. It was using the wrong
ATSApi function internally, causing the sub-VI to return erroneous values.
Remove ATSApi.dll from Samples_MATLAB/include
Documentation about `AlazarSetTriggerOperationForScanning()`, which has been
superseded by `AlazarOCTIgnoreBadClock()`.
Remove AlazarEnableFFT from language wrappers.
[7.3.0] - 2019-5-17
ATS9637 code samples
[7.2.4] - 2019-1-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
of `libpointer`s, 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-9-26
Remove double "index" entry in the manual
Erroneous supported external trigger ranges for ATS310 and ATS330
[7.2.1] - 2018-6-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-3-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-8-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 `AlazarInputControl()` with `AlazarInputControlEx()` in all
code samples in C, MATLAB, Python, and C#
`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 `AlazarWrite()` and `AlazarCoprocessorDownloadBuffer()`
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 `Average` and `AverageMultithreaded` sample codes in C.
Bug in generating `Samples_C/ATS9440/DualPort/CS_LSB`
[7.1.4] - 2016-1-8
Function to extract NPT footer
[7.1.3] - 2015-11-3
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
on-FPGA FFT LabVIEW code sample
[7.1.0] - 2015-9-23
AlazarDSP module for on-FPGA FFT support
Error in Python samples that caused `AlazarAbortCapture()` not to be called
[7.0.0] - 2015-8-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-3-2
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.
Move `AlazarSetTriggerOperationForScanning()` under Advanced Topics in guide.
Update `AlazarBeforeAsyncRead()` with new board's information.
Move board-specific data to guide's appendix and make references to that section.
Update `AlazarInputControl()` and add `AlazarInputControlEx()`.
Remove Visual Basic 6 documentation and code samples.
[6.1.0] - 2013-2-11
Support for ATS9360-FIFO.
`AlazarAllocBufferU8()`, `AlazarAllocBuffer16()`, `AlazarFreeBufferU8()`, and
`AlazarFreeBufferU16()` to allocate page aligned buffers.
`GET_FPGA_TEMPERATURE` to `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.
`AlazarCoprocessorDownload()`, `AlazarCoprocessorRegisterWrite()`, and
`AlazarCoprocessorRegisterRead()` for ATS962x user FPGA control.
`ApiNotSupportedInQuadChannelMode`, `ApiFileIoError`, and
`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 `AlazarAllocBufferUx` and `AlazarFreeBufferUx`
to ensure buffer alignment requirements are satisfied.
Bug in MATLAB samples that caused "Undefined function or method
AlazarErrorToText ..." errors.
[6.0.4] - 2012-7-24
Support for ATS9625 and ATS9626
`AlazarGetBoardRevision()` to return PCB revision of PCIE digitizers.
`PACK_MODE`, `GET_CHANNELS_PER_BOARD`, `EXT_TRIGGER_IMPEDANCE`, and
`GET_CPF_DEVICE` parameters for `AlazarGetParameter()`.
Update ATS9440 MATLAB AutoDMA samples to add `ADMA_INTERLEAVE_SAMPLES` flag by
[6.0.3] - 2011-6-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-4-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-2-7
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-1-24
MATLAB sample programs.
[5.8.4] - 2010-12-14
Support for ATS9440
`AlazarSetTriggerOperationForScanning()` and `AlazarConfigureSampleSkipping()`
VB6 sample programs, and update single-ported samples programs to simplify
Move release history to release notes file.
[5.8.3] - 2010-8-18
Support for ATS9325.
`AlazarSetClockSwitchOver()` to configure dummy clock.
`EEC_MODE` to parameter to `AlazarGetParameter()` and `AlazarSetParameter()`.
Update `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-5-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-5-12
C# sample programs
The following API functions: `AlazarForceTriggerEnable()`,
The following `AlazarGetParameter()` values to AlazarCmd.h:
`GET_ASYNC_BUFFERS_PENDING`, `GET_ASYNC_BUFFERS_PENDING_FULL` and
`AUX_OUT_TRIGGER_ENABLE` to `AlazarConfigureAuxIO()`.
[5.8.0] - 2010-1-21
Support for ATS9350.
The following API functions: `AlazarConfigureAuxIO()`,
`AlazarCreateStreamFile()`, `AlazarErrorToText()`, `AlazarReadEx()`.
The following AlazarSetParameter values: `SET_SINGLE_CHANNEL_MODE`.
The following AlazarGetParameter values: `GET_SAMPLES_PER_TIMESTAMP_CLOCK`,
The following AlazarGetParameterUL values: `GET_MAX_PRETRIGGER_SAMPLES`
Synchronous AutoDMA acquisition functions including: `AlazarStartAutoDMA()`,
`AlazarGetNexBuffer()`, `AlazarAbortAutoDma()`, and
Update SDK documentation and sample code.
[5.6.0] - 2008-6-1
ATS-SDK 5.6.0 release