AlazarHyperDisp#

Function Syntax#

RETURN_CODE AlazarHyperDisp(HANDLE handle, void *buffer, U32 bufferSize, U8 *viewBuffer, U32 viewBufferSize, U32 numOfPixels, U32 option, U32 channelSelect, U32 record, long transferOffset, U32 *error)#

Enable the on-board FPGA to process records acquired to on-board memory, and transfer the processed data to host memory.

HyperDisp processing enables the on-board FPGA to divide a record acquired to on-board memory into intervals, find the minimum and maximum sample values during each interval, and transfer an array of minimum and maximum sample values to a buffer in host memory. This allows the acquisition of relatively long records to on-board memory, but the transfer of relatively short, processed records to a buffer in host memory.

For example, it would take an ATS860-256M about ~2.5 seconds to transfer a 250,000,000 sample record from on-board memory, across the PCI bus, to a buffer in host memory. With HyperDisp enabled, it would take the on-board FPGA a fraction of a second to process the record and transfer a few hundred samples from on-board memory, across the PCI bus, to a buffer in host memory.

Note

This function is part of the single-port data acquisition API. It cannot be used with the dual-port AutoDMA APIs.

Parameters:
  • handle[in] Board handle

  • buffer[in] Reserved (Set to NULL)

  • bufferSize[in] Number of samples to process

  • viewBuffer[out] Buffer to receive processed data

  • viewBufferSize[in] Size of processed data buffer in bytes

  • numOfPixels[in] Number of HyperDisp points

  • option[in] Processing mode. Pass 1 to enable HyperDisp processing.

  • channelSelect[in] Channel to process

  • record[in] Record to process (1-indexed)

  • transferOffset[in] The offset, in samples, of first sample to process relative to the trigger position in record.

  • error[out] Pointer to value to receive a result code.

Returns:

ApiSuccess upon success, or an error code. See RETURN_CODE for more detailed information.