Currently we use DAQmxWriteAnalogF64() and DAQmxReadAnalogF64() for scan waveform output and detector signal input. This should be changed to use DAQmxWriteBinaryU16() and DAQmxReadBinaryU16().
For scan waveform generation, we want control over exact DAC units so that we can generate the linear trace with equal (voltage) spacing.
For signal input, we want to use the raw ADC units to produce our 16-bit image, because applying scaling (voltage calibration) can result in histogram artifacts.
The 16-bit I/O functions bypass the NI DAQ voltage calibration, but we do not benefit from exact voltage measurements for either input or output.
Currently we use
DAQmxWriteAnalogF64()andDAQmxReadAnalogF64()for scan waveform output and detector signal input. This should be changed to useDAQmxWriteBinaryU16()andDAQmxReadBinaryU16().For scan waveform generation, we want control over exact DAC units so that we can generate the linear trace with equal (voltage) spacing.
For signal input, we want to use the raw ADC units to produce our 16-bit image, because applying scaling (voltage calibration) can result in histogram artifacts.
The 16-bit I/O functions bypass the NI DAQ voltage calibration, but we do not benefit from exact voltage measurements for either input or output.