Change Log

This file lists all the important changes to ATS-SDK

[7.4.0] - 2020-4-28

Changed

  • 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. board.
  • 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.

Added

  • 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 before `AlazarSetCaptureClock()`.
  • Code samples and documentation for ATS9352.
  • Added AlazarGetFPGAVersion
  • Deploy on Debian.

Fixed

  • 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 `AlazarDSPOutputSnoopStatus()`
  • 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

Removed

  • Documentation about `AlazarSetTriggerOperationForScanning()`, which has been superseded by `AlazarOCTIgnoreBadClock()`.
  • Remove AlazarEnableFFT from language wrappers.

[7.3.0] - 2019-5-17

Added

  • ATS9637 code samples

[7.2.4] - 2019-1-22

Added

  • ATS9130 code samples
  • Traditional AutoDMA code samples for ATS9120

[7.2.3] - 2018-12-20

Removed

  • Support for LabVIEW 7.1. The oldest supported LabVIEW version is now 2009.

Fixed

  • 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 samples correctly.
  • Issue with LabVIEW code samples where running on-FPGA applications with LabVIEW 2018 would cause "error 1097" messages.

Changed

  • Sign installer with 256-bit signature.

[7.2.2] - 2018-9-26

Fixed

  • Remove double "index" entry in the manual
  • Erroneous supported external trigger ranges for ATS310 and ATS330

[7.2.1] - 2018-6-19

Fixed

  • Issue where the buffer layout wasn't documented properly in some MATLAB code samples.
  • LabVIEW code samples for ATS9120
  • MATLAB code samples default values for ATS9120

Changed

  • Various modifications in the ATS-SDK guide.

[7.2.0] - 2018-3-26

Changed

  • 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

Added

  • 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

Fixed

  • Issue with the number of samples allocated and written in on-FPGA mode in Labview.
  • 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

Changed

  • 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#

Added

  • 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

Removed

  • Non-exported functions `AlazarWrite()` and `AlazarCoprocessorDownloadBuffer()` from AlazarApi.h

Fixed

  • 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

Added

  • Function to extract NPT footer

[7.1.3] - 2015-11-3

Changed

  • Update the DMABuffer Python API to use ctypes

[7.1.2] - 2015-10-16

Added

  • OCT Ignore Bad Clock feature

[7.1.1] - 2015-10-6

Added

  • Document AlazarFFTSetWindowFunction
  • on-FPGA FFT LabVIEW code sample

[7.1.0] - 2015-9-23

Added

  • AlazarDSP module for on-FPGA FFT support

Fixed

  • Error in Python samples that caused `AlazarAbortCapture()` not to be called

[7.0.0] - 2015-8-11

Added

  • LabVIEW support to ATS-SDK
  • Support for ATS9373 and ATS9416
  • `AlazarConfigureLSB()` documentation
  • Data packing and DES support and documentation

Changed

  • Various small changes in the documentation

[6.2.0] - 2015-3-2

Added

  • Code samples for ATS9373, ATS9360 and remove ATS9360_FIFO
  • External Clock Issues for OCT Applications section to guide.

Changed

  • 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()`.

Removed

  • Remove Visual Basic 6 documentation and code samples.

[6.1.0] - 2013-2-11

Added

  • 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.

Changed

  • Update MATLAB samples to call `AlazarAllocBufferUx` and `AlazarFreeBufferUx` to ensure buffer alignment requirements are satisfied.

Fixed

  • Bug in MATLAB samples that caused "Undefined function or method AlazarErrorToText ..." errors.

[6.0.4] - 2012-7-24

Added

  • 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()`.

Changed

  • Update ATS9440 MATLAB AutoDMA samples to add `ADMA_INTERLEAVE_SAMPLES` flag by default.

[6.0.3] - 2011-6-16

Added

  • Support for the ATS9351 and ATS9850.

Changed

  • 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

Changed

  • Update MATLAB sample code to add support for 32- and 64-bit MATLAB 2009a and later.
  • Update ATS-SDK Guide section 2.3.4 "AUX I/O" for the ATS9440.
  • Update ATS-SDK Guide section 2.3.4.5 "Digital input" to fix an error describing the AUX I/O digital input configuration.

[6.0.1] - 2011-2-7

Added

  • Single- and multi-threaded C/C++ samples that demonstrate how to average data from continuous and no-pretrigger dual-ported AutoDMA mode streaming acquisitions.
  • 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.

Changed

  • 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

Added

  • MATLAB sample programs.

[5.8.4] - 2010-12-14

Added

  • Support for ATS9440
  • `AlazarSetTriggerOperationForScanning()` and `AlazarConfigureSampleSkipping()` API functions.
  • VB6 sample programs, and update single-ported samples programs to simplify code.

Changed

  • Move release history to release notes file.

[5.8.3] - 2010-8-18

Added

  • Support for ATS9325.
  • `AlazarSetClockSwitchOver()` to configure dummy clock.
  • `EEC_MODE` to parameter to `AlazarGetParameter()` and `AlazarSetParameter()`.

Changed

  • Update `AlazarConfigureAuxIO()` description in function reference.
  • Expand description of `AlazarSetCaptureClock()` decimation parameter in section 2.3.1.4 "10 MHz PLL".
  • Expand description of `AlazarInputControl()` to include board specific input ranges.

[5.8.2] - 2010-5-28

Changed

  • Update ATS-SDK Guide to add section describing buffer size and alignment requirements.

Fixed

  • 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

Added

  • C# sample programs
  • The following API functions: `AlazarForceTriggerEnable()`, `AlazarSetExternalClockLevel()`.
  • The following `AlazarGetParameter()` values to AlazarCmd.h: `GET_ASYNC_BUFFERS_PENDING`, `GET_ASYNC_BUFFERS_PENDING_FULL` and `GET_ASYNC_BUFFERS_PENDING_EMPTY`
  • `AUX_OUT_TRIGGER_ENABLE` to `AlazarConfigureAuxIO()`.

[5.8.0] - 2010-1-21

Added

  • 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`, `GET_RECORDS_CAPTURED`.
  • The following AlazarGetParameterUL values: `GET_MAX_PRETRIGGER_SAMPLES`

Deprecated

  • Synchronous AutoDMA acquisition functions including: `AlazarStartAutoDMA()`, `AlazarGetNexBuffer()`, `AlazarAbortAutoDma()`, and `AlazarGetAutoDMAHeaderTimeStamp()`.

Changed

  • Update SDK documentation and sample code.

[5.6.0] - 2008-6-1

Added

  • ATS-SDK 5.6.0 release

We use cookies to operate this website, improve its usability, and track visits. If you wish to disable cookies, please do so in your browser settings. By continuing to use this website, you agree to the use of cookies in accordance with our Privacy Policy.