3 #include "helpers/FPGAException.h"
44 virtual double SetPixeltime(
const uint32_t& _area,
const double& _pixeltime) {
return _pixeltime; }
50 virtual double SetLinetime(
const uint32_t& _area,
const double& _linetime) {
return _linetime; }
75 virtual int32_t
ReadPixels(
DaqChunk& _chunk,
const double& _timeout,
bool& _timedout) = 0;
Abstract base class for FPGA classes.
virtual void SetScannerdelay(const uint32_t &_scannerdelay)
Sets the scanner delay on the FPGA (used currently for resonance scanners only)
virtual int32_t ReadPixels(DaqChunk &_chunk, const double &_timeout, bool &_timedout)=0
Read only pixels from the FPGA FIFO.
virtual double SetPixeltime(const uint32_t &_area, const double &_pixeltime)
Sets the time per pixel/dwell time (in seconds)
virtual ~FPGAInterface()
Ends the FPGA program.
virtual void StartAcquisition()
Starts the acquisition on the FPGA.
virtual void SetContinuousAcquisition(const bool &_cont)
Sets if the FPGA should acquire data continuously or acquire the number of pixels per channel set wit...
virtual void StopAcquisition()
Stops the acquisition on the FPGA.
A DaqChunk contains data from all channels sequentially.
bool initialized
true if already initialized
FPGAStatusSafe CurrentStatus() const
FPGAStatusSafe status
current FPGA status.
virtual void SetRequestedPixels(const uint32_t &_area, const uint32_t &_reqpixels)
Sets the number of pixels per channel the FPGA should acquire, set to -1 for live scanning...
virtual double SetLinetime(const uint32_t &_area, const double &_linetime)
Sets the time per line (in seconds) for the generation of the line clock (if implemented) ...
virtual void Initialize(parameters::InputsFPGA *_parameters)
Set initial parameters.
virtual void SetTriggering(const bool &_waitfortrigger)
Sets if the FPGA should wait for a trigger before starting acquisition.
NiFpga_Session session
NI FPGA session handle.