Change Log
This file documents all important changes to the ATS drivers.
[6.7.2] - 2019-11-7
Changed
- Re-release of version v6.7.1. This is necessary because v6.7.1 drivers do not
indicate the correct version number once installed.
[6.7.1] - 2019-11-6
Added
- Initial release of Windows driver for ATS9146.
- Initial release of Linux driver for ATS9146.
- Initial release of Linux driver for ATS9453.
Fixed
- Fixes bug in ATS9371 driver that caused corruption of DMA data and blue
screen in certain configurations.
[6.7.0] - 2019-6-26
Fixed
- Solve issue with Windows 10 v1903 (May 2019 Update) that caused "ApiFailed"
errors upon starting acquisitions.
[6.6.4] - 2019-6-13
Added
- Initial release of Linux driver for ATS9352.
[6.6.3] - 2019-6-4
Changed
[6.5.3] - 2019-2-12
Fixed
- Unable to control input channels I to P.
[6.5.1] - 2018-12-20
Fixed
- Issue where 32-bit applications would not work correctly on 64-bit systems.
[6.5.0] - 2018-11-13
Added
- Support for fast buffer lock
- Support for power monitor API
- Initial release of Windows driver for ATS9000
[6.4.1] - 2018-11-12
Changed
- No change in the driver for this release
[6.3.0] - 2018-9-24
Fixed
- Issue where the driver does not start on some systems because of signature
requirements
- Issue where the version number of the driver was incorrectly reported as 0.0.0
- Fix external trigger TTL range
[6.1.4] - 2018-9-17
Added
- Initial release of Windows driver for ATS9453.
[6.1.3] - 2018-7-23
Added
- Initial release of Windows driver for ATS9352
[6.1.2] - 2018-5-16
Fixed
- Remove bug in 6.1.0 that caused computer crash when setting setting up the acquisition
[6.1.1] - 2018-4-27
Added
- Initial release of Windows driver for ATS9130.
- Initial release of Linux driver for ATS9371.
- Initial release of Linux driver for ATS9120.
- Initial release of Linux driver for ATS9130.
Changed
- Fix an issue where installation would not work properly on updated Windows 7
systems.
- Deprecate Windows 7 SP0
[6.1.0] - 2018-4-17
Added
[6.0.4] - 2018-4-12
Added
- Initial release of Windows driver for ATS9637.
- Initial release of Linux driver for ATS9637.
[6.0.3] - 2018-3-2
Added
- Support for Windows silent installation.
[6.0.1] - 2017-12-13
Added
- Initial release of Windows driver for ATS9120.
- Initial release of Windows driver for ATS9371.
[6.0.0] - 2017-8-2
Added
- Support for Windows 10 Signature Enforcement mode. In computers where this
mode is active, versions of this driver before 6.0.0 will not install
correctly. Instead, a window titled "Windows requires a digitally signed
driver" will appear during or shortly after the installation process.
Fixed
- Issue that could cause long streaming data transfers, such as Stream to Memory
in AlazarDSO, to stall on recent Windows 10 versions.
Changed
- Hardened driver to protect against user applications not cleaning-up DMA
transfers. In previous versions, if user terminated their acquisition without
calling `AlazarAbortAsyncRead()` (e.g. by pressing `Ctrl-C` during
development), DMA driver would lock up and a shut down cycle was required
before further acquisitions could be made.
[5.10.25] - 2017-7-26
Fixed
- Issue where EEPROM writes would not have any effect.
[5.10.24] - 2017-4-17
Fixed
- Bug in AlazarSetCaptureClock that resulted in false PLLNotLocked errors
- Bug that caused driver to crash and cause kernel Oops on some systems.
- Kernel memory management issues that cause the driver to crash with paging
requests error on some systems.
Changed
- Modify ADC initialization procedure for DES mode with internal clock. This
makes the initialization process more robust.
[5.10.23] - 2017-2-28
Fixed
- Bug that would cause the PCIe speed and width to be displayed wrong with
ATSApi DLL v5.10.20 and above.
- Bug that could cause the driver to crash and cause kernel Oops in some
systems.
[5.10.22] - 2016-12-21
Added
- Initial release of Linux driver for ATS9416.
Changed
- Update FPGA version to 47.00
- Update FPGA version to 44.01
- Modify ADC initialization procedure for DES mode with internal clock. This
makes the initialization process more robust.
[5.10.15] - 2016-7-29
Fixed
- Bug in 9416 where records where shifted in multi-channel acquisition
[5.10.14] - 2016-7-22
Fixed
- Bug where Windows XP computer would restart when asked to power off
[5.10.10] - 2016-6-7
Added
- Support for hibernation to ATS9416
[5.10.9] - 2016-5-30
Changed
- Update the coprocessor loading order
[5.10.4] - 2015-11-13
Added
- Extend OCT ignore bad clock support to ATS9373
[5.10.2] - 2015-10-14
Added
- Enable record footers in ATS9373 with FPGA version 25.03 and above.
[5.9.27] - 2015-8-10
Added
- Extend NPT record footer support to ATS9360.
[5.9.25] - 2015-6-5
Added
- Support for system sleep and hibernation. The driver aborts DMA transfers with
error 559 (`ApiPowerDown`) if the system enters a low power state.
- Support for resuming from sleep and hibernation states, and Windows 8 "fast
start-up". The driver aborts DMA transfers with error 559 (`ApiPowerDown`)
when the system enters a low power state.
- Add support for record footers in NPT mode. This option requires FPGA v43.12 or later.
Fixed
- Bug where ATS9626 HC default coprocessor is not downloaded
Changed
- Read the DAC clock phase from the EEPROM
- Adds the fundations for state saving/restoring
- Memory init routine resets capture
[5.9.24] - 2015-3-10
Added
- Support for ADC DCLKDESIQ mode.
- Support for DCLK phase adjust option.
- Partial solution for DMA lockup issue
Fixed
- Bug when reading CPLD version.
[5.9.23] - 2015-2-18
Added
- Support for resuming from low power states.
- Support Nova board; increase memory detection time-out to 6 sec for Nova.
Fixed
- Bug introduced in v5.9.21 that might cause `AlazarBeforeAsyncRead()` to return
`ApiInvalidOffset` in NPT mode.
- Bug introduced in v5.9.21 that caused `AlazarBeforeAsyncRead()` to return `ApiInvalidSize`.
- Update driver to cache ADC writes. This resolves a problem configuring dual-edge sampling mode.
- Update DLL to reset cached pre-trigger sample data after each call to
`AlazarBeforeAsyncRead()`. This fixes a problem introduced in driver v5.9.21
that caused `AlazarWaitAsyncBufferComplete()` to return `ApiWaitTimeout` when
the on-FPGA FFT was enabled.
Changed
- Update serial number.
- Update driver to cache ADC writes. This resolves a problem configuring
dual-edge sampling mode.
[5.9.22] - 2014-11-18
Added
- Initial release of Windows driver for ATS9416.
Changed
- Update `AlazarBeforeAsyncRead()` to ignore `ADMA_INTERLEAVE_SAMPLES` flag in
single channel mode
- Update `AlazarBeforeAsyncRead()` to force `ADMA_FIFO_ONLY_STREAMING` in NPT,
traditional, and continuous streaming modes
- Update `AlazarBeforeAsyncRead()` to support pre-trigger samples in NPT mode.
- Update driver to not perform ADC SPI reads
[5.9.21] - 2014-10-28
Added
- Initial release of Windows driver for ATS9370.
- Initial release of Windows driver for ATS9373.
- Initial release of Linux driver for ATS9373.
- Support for internal 10 MHz PLL clock source
Fixed
- `AlazarGetCpldVersion()` to return 8-bit major and minor values
- Driver timer callback bug that might cause a stop error on system shut-down.
- Bug that might cause a crash on system shut-down because a timer callback
error.
Changed
- Update driver to select default CPF download based on user major and minor
versions.
- Update memory detection code.
- Modify VCO charge pump settings
[5.9.20] - 2014-7-15
Added
- Support for advanced 10 MHz PLL external clock, and internal 10 MHz PLL.
Changed
- Update `AlazarSetCaptureClock()` to support `INTERNAL_CLOCK_10MHz_REF`.
- Update `AlazarSetParameterUL()` to allow `SET_ADC_MODE` to control dual edge
sampling.
[5.9.19] - 2014-7-9
Fixed
- `AlazarSetCaptureClock()` to disable dual-edge sampling in external clock mode.
Changed
- Update `AlazarGetCPLDVersion()` to return 8-bit major and minor versions.
- Update `AlazarSetCaptureClock()` to support internal sample rates greater than
2 GS/s.
[5.9.18] - 2014-5-6
Changed
- Update driver to set +5V sensor high limit to +5.3V.
[5.9.17] - 2014-2-20
Changed
- Update `AlazarBeforeAsyncRead()` to support FFT data from FPGA 20.10 and
higher.
- Update `AlazarBeforeAsyncRead()` to return `ApiUnsupportedFunction` if called
without `ADMA_FIFO_ONLY_STREAMING` flag.
- Update driver memory detection code
- Update inf to support CPF DMA download from 32-bit applications under 64-bit
Windows.
Added
- Support for CPF DMA download from 32-bit applications under 64-bit Windows
[5.9.16] - 2013-11-14
Added
- Support for 3600 MS/s, 3000 MS/s, and 2400 MS/s internal sample rates on
boards with 2 GHz ADCs.
Fixed
- Bug that intermittently caused `AlazarRead()` to return unexpected data on
64-bit systems with more than about 3GB of physical memory.
Changed
- Update memory detection code to perform MPFE reset and increase number of
retries.
- `AlazarBeforeAsyncRead()` to not perform FIFO reset before start of
acquisition.
[5.9.15] - 2013-10-13
Added
- Support for 2 GHz ADCs and dual-edge sampling.
[5.9.14] - 2013-4-2
Fixed
- Bug that might cause `AlazarAbortAsyncRead()` to fail.
Changed
- Update driver and DLL so that the driver, rather than DLL, initializes the DMA
descriptor list common buffer.
- Change default external clock level from 50% to 58%.
- Change `AlazarGetParameter()` `GET_SAMPLES_PER_TIMESTAMP_CLOCK` return value
from 2 to 8 samples.
- Update `AlazarResetTimestamp()` to support ATS9870.
[5.9.13] - 2013-3-26
Added
- Support for sample skipping with FPGA version 8.3 or later.
Fixed
- Bug that caused the mounting bracket LED to not work correctly.
[5.9.12] - 2013-2-21
Fixed
- Bug that caused a blue screen error if an application queued more DMA buffers
than the operating system had resources to map. The maximum size is
approximately 256 MB on 64-bit Windows 7, but may vary with operating system
version and the amount of available physical memory.
- Bug on 64-bit operating systems with more than 4 GB of memory that caused
AlazarPostAsyncBuffer to return ApiAccessDenied if the virtual address of a
user buffer was above 2^32.
- Fix a bug in `AlazarSetParameter()` `PACK_MODE` that caused
`PACK_8_BITS_PER_SAMPLE` to not work correctly.
Changed
- Update `AlazarBeforeAsyncRead()` and `AlazarWaitNextAsyncBufferComplete()` to
work correctly when the driver allocates DMA buffers (`ADMA_ALLOC_BUFFERS`
set), and 8-bit data packing mode is enabled.
[5.9.11] - 2013-2-4
Added
- Initial release of Windows driver for ATS9360.
- Initial release of Linux driver for ATS9360.
[5.9.10] - 2013-1-24
Added
- `GET_FPGA_TEMPERATURE` to `AlazarGetParameter()` to get the FPGA temperature
in degrees C as a long integer value.
Fixed
- Fix driver so that 32-bit applications running under 64-bit Windows can call
`AlazarCoprocessorRegisterRead()`, `AlazarCoprocessorRegisterWrite()`, and
`AlazarCoprogressorDownload()`.
[5.9.9] - 2012-11-22
Added
- Support for +/- 200 mV alternate input range.
- Support for ATS9870 50 MHz sampling rate.
- `AlazarGetBoardRevision()` to get board revision information of PCIe boards.
- `GET_FPGA_TEMPERATURE` to `AlazarGetParmaterUL()`.
Fixed
- Bug with trigger delay at 250 MS/s.
- Bug AUX IO trigger enable in dual-channel NPT mode where half the desired
number of records per trigger enable were captured.
- Bug that caused `AlazarInputControl()` to return `ApiFailed` when
`INPUT_RANGE_HIFI` was selected.
- Bug that resulted in a ~200 mV offset on CH A when TTL external trigger range
was selected.
- Updates the FPGA to version 23 to fix a bug with trigger delay at 250 MS/s.
Changed
- Speed up memory detection
[5.9.8] - 2012-10-29
Added
- `AlazarConfigureRecordAverage()` for FPGA record averaging.
[5.9.7] - 2012-10-24
Added
- Support undisturbed pacer output with FPGA 18.13 or later.
- Add alternate input range mode to support +/- 500 mV
- Update driver to support undisturbed pacer output with FPGA 18.13 or later.
- Alternate input range mode to support +/- 500 mV.
Fixed
- Bug with AUX IO trigger enable in NPT mode where one record per trigger enable
was captured, rather than "records per buffer" records.
- Updates ATSApi.dll to fix a bug with AUX IO trigger enable in
dual-channel NPT mode where half the desired number of records per trigger
enable were captured.
- Updates the FPGA to version 22 to fix a bug with AUX IO trigger
enable in NPT mode where one record per trigger enable was captured, rather
than "records per buffer" records.
[5.9.6] - 2012-7-31
Added
- Support for advanced 10 MHz PLL option
- Support for +/- 200 mV input range.
- Support for advanced 10 MHz PLL option
- Support for +/- 200 mV input range
Changed
- Update driver to add support for advanced 10 MHz PLL option
- Update driver to improve memory detection
- Update DLL to add `GET_FPGA_TEMPERATURE` to `AlazarGetPaarmaterUL()` to return
FPGA temperature.
- Update DLL to log calls to `AlazarClose()` in AlazarApi.log
- Improve memory detection
- Special build to generate 62.5 MHz clock
[5.9.5] - 2012-6-24
Added
- Add AlazarGetBoardRevision() to get revision number of PCIe boards.
- Add `GET_FPGA_TEMPERATURE` to AlazarGetParameterUL().
Fixed
- Fix 10 MHz external clock mode and a memory detection bug.
Changed
- Update driver to fix 10 MHz external clock mode and a memory detection bug.
[5.9.4] - 2012-6-11
Added
- Support for optional +/-250 mV input range.
- Support CPF DMA download from 32-bit applications under 64-bit Windows.
Fixed
- Bug that caused the on-board memory to not be detected the second time that
the driver was loaded.
Changed
- Install coprocessor FPGA version 5.3 by default.
- Change `AlazarCoprocessorDownloadBuffer()` to abort in-progress DMA transfers
before starting a new CPF DMA transfer.
[5.9.3] - 2012-6-1
Added
- Install single time-domain coprocessor v5.3 as default coprocessor FPGA image.
Fixed
- Fixes an error that resulted in the FPGA images not being
installed to the "SysWOW64\Drivers" directory. As a result, 32-bit
applications under 64-bit Windows got a "no boards found" error while 64-bit
applications worked fine.
Changed
- Install single time-domain coprocessor v5.3 as default coprocessor FPGA image
[5.9.2] - 2012-4-11
Added
- Add `AlazarGetBoardRevision()` to get board revision information of PCIE boards.
Fixed
- Problem that caused a blue screen error on a system because of a conflict with
anti-virus software.
- Fix signal inversion issue.
Changed
- Modify `AlazarInputControl()` to always setup board for +- 400 mV range, even
if an applicaiton requests some other input input range.
[5.9.1] - 2012-3-19
Added
- Support for 200 MS/s internal sample rate.
- Update DpInst.exe to support installation under Korean Windows
- Fix problems 100 MS/s and lower internal sample rates.
Fixed
- Problems at 100 MS/s and lower internal sample rates
[5.9.0] - 2012-2-23
Added
- Initial release of Windows driver for ATS9625.
- Initial release of Windows driver for ATS9626.
- Initial release of Linux driver for ATS9625.
- Initial release of Linux driver for ATS9626.
Changed
- Update DpInst.exe to support installation in Korean language.
[5.8.10] - 2011-9-9
Changed
- Update driver to allow two or more application threads to access a board's
registers at the same time.
[5.8.9] - 2011-8-9
Added
- Support for `AlazarSetExternalClockLevel()`.
- Support for slow external clock mode on ATS9351.
Changed
- ATS860 FPGA A8110021.ali that supports all clock rates from 25 MHz up to
200MHz with zero jitter.
[5.8.7] - 2011-7-27
Fixed
- Bugs that resulted in the digitizer not working correctly when in PC's with
3.4 GHz or greater processors, such as the Intel Core i7-2600K. The symptoms
of this problem included intermittent DC offset errors on input channels and
the failure of the on-board memory detection causing PCI Express boards to be
reported as a FIFO-Only.
[5.8.6] - 2011-7-20
Fixed
- Includes FPGA version 44.0 image files A6110244.ali and A6210244.ali, which
fixes a bug in triggered streaming AutoDMA with small DMA buffers that
resulted in incorrect data.
[5.8.5] - 2011-7-18
Added
- Support 64-bit Windows systems (XP, Vista, 7) with 4GB or more of memory.
Fixed
- Bug that resulted in 2 or 3 AutoDMA buffers to be captured per trigger enable
pulse. This fix requires ATS9440 FPGA 4.03 or later.
- Bug that would generate an `ApiPllNotLocked` error in external clock mode if
`AlazarSetCaptureClock()` was called with `SAMPLE_RATE_180_MSPS` or
`SAMPLE_RATE_160MSPS`, rather than `SAMPLE_RATE_USER_DEF`.
Changed
- Updates (ATSApi.dll) serial number family codes.
[5.8.4] - 2011-6-3
Added
- Support for TTL external trigger mode introduced in ATS9325 hardware version 1.5.
- Allows a programmer to use `GET_CHANNELS_PER_BOARD` parameter to obtain the
number of maximum input channels per board from AlazarGetParameter function.
Changed
- Changes default state of external trigger relay for v1.1 boards.
[5.8.3] - 2011-5-2
Added
- Initial release of Windows driver for ATS9351.
- Initial release of Linux driver for ATS9350.
Fixed
- Bug introduced in v5.8.1 that caused independent boards to sample at 1 GS/s
when any internal sample rate was selected.
[5.8.1] - 2011-3-16
Added
- Support for ATS9870 Master/Slave board configurations.
Fixed
- Bug that causes `AlazarSetCaptureClock()` to return `ApiInvalidData` when 10
MHz external PLL mode was selected.
[5.8.0] - 2010-10-1
Added
- Initial release of Windows driver for ATS9325.
- Initial release of Windows driver for ATS9440.
- Initial release of Linux driver for ATS9440.
Changed
- Automatically enables software SPI if FW version is 15.0 or greater.
[5.7.20] - 2010-9-23
Added
- Supports 50 or 300 ohm external trigger impedance with hardware revision 1.3.
- `SET_EXT_TRIG_IMPEDANCE` to `AlazarSetParameter()` to control external trigger
impedance.
Fixed
- Bug introduced in version 5.7.18 of the DLL (ATSApi.dll) that might generate
an `ApiDmaInProgress` error from `AlazarReadEx()` if it was called after
calling `AlazarAbortAsyncRead()`.
- Bug in the DLL (ATSApi.dll) that would cause `AlazarBeforeAsyncRead()` to
return `ApiLockAndProbePagesFailed` if the `ADMA_ALLOC_BUFFERS` flag was set
and the number of buffers was increased since the last call to
`AlazarBeforeAsyncRead()`.
[5.7.19] - 2010-8-20
Added
- `AlazarSetTriggerOperationForScanning()` for OCT applications using external
clock and trigger inputs where the external clock signal becomes unsuitable to
drive the digitizer between scan lines. Use this option to delay start of an
acquisition until an external trigger event when the clock is stable.
[5.7.17] - 2010-8-11
Fixed
- Bug that resulted in incorrect sample rates on the slaves of an ATS9350
Master/Slave configuration.
[5.7.16] - 2010-8-10
Added
- Support for ATS9350 Master/Slave configuration.
- Change `AlazarSetCaptureClock()` to add support for selecting rising or
falling edge of external clock inputs.
[5.7.15] - 2010-7-20
Fixed
- Bug where LED 13 lights up on driver download.
[5.7.14] - 2010-6-22
Added
- `AlazazarSetClockSwitchOver()` which allows scanning applications using an
external clock input to switch to an internal "dummy" clock during re-trace
intervals if the external clock signal is not suitable to drive the ADCs
during re-trace internvals.
- Allows driver to control SPI communication with VCO only when FPGA versions
14.9, 14.10 or 14.11 are installed.
[5.7.13] - 2010-6-17
Added
- Allows driver to control SPI communication with VCO when FPGA version 14.9 or
later is installed.
- Version 5.7.13 allows driver to control SPI communication with VCO when FPGA
version 14.9 or later is installed.
[5.7.12] - 2010-5-20
Fixed
- ATS460-8M bug that resulted in ApiBufferOverflow errors in streaming AutoDMA
modes when the number of samples per AutoDMA buffer was 4M or greater.
- Bug that caused `AlazarHyperDisp()` to return `ApiUnsupportedFunction` even if
supported by the firmware.
- Bug that resulted in `ApiBufferOverflow` errors in streaming AutoDMA modes
when the number of samples per AutoDMA buffer was 4M or greater.
- Bug that caused AlazarHyperDisp to return ApiUnsupportedFunction even if
supported by the firmware.
Changed
- Change VCO parameters in the ATS9350.sys file to reduce spurious noise levels.
[5.7.11] - 2010-4-21
Fixed
- Bug in version 5.7.10, where the driver installation program installed an
incorrect version of the FPGA image. Version 5.7.11 installs the correct FPGA
image A6110242.ali.
Added
- Support to `AlazarGetNextAsyncBuffer()` with the `ADMA_GET_PROCESSED` flag to
return an array 32-bit signed data from ATS9870 boards with autocorrelation
firmware.
Changed
- Installs the FPGA image A6110242.ali.
[5.7.10] - 2010-3-31
Added
- `AlazarErrorToText()` to convert return code to strings.
- `AlazarSetExternalClockLevel()` function to allow setting the external clock
comparator level. This function replaces using `AlazarSetParameterUL()` with
the `SEND_DAC` parameter.
Fixed
- Bug where `AlazarStartCapture()` may return `ApiNotSuppotedInDualChannel` Mode
with Continuous AutoDMA transfers.
- Bug affecting stability in "10 MHz PLL" external clock mode.
Changed
- `AlazarHyperDisp()` to support ATS9462.
- `AlazarHyperDispEx()` to work with 64-bit transfer offsets.
- `AlazarHyperDispEx()` to check FPGA version of PCIe devices for HyperDisp support
and retun `ApiUnsupportedCommand` if it is not available with the FPGA version.
The ATS9350 requires FPGA version 13.6.
The ATS9462 requires FPGA version 33.1.
The ATS9870 requires FPGA version 34.13.
[5.7.8] - 2010-2-1
Added