Scope
|
#include <FPGAInterface.h>
Inherited by scope::FPGAAnalogDemultiplexer, scope::FPGAAnalogDemultiplexerResonance, scope::FPGAAnalogIntegrator, scope::FPGADigitalDemultiplexer, scope::FPGANoiseOutput, scope::FPGAPhotonCounter, scope::FPGAResonanceScanner, and scope::FPGAResonanceScannerNI5771.
Public Member Functions | |
virtual | ~FPGAInterface () |
virtual void | Initialize (parameters::InputsFPGA *_parameters) |
virtual double | SetPixeltime (const uint32_t &_area, const double &_pixeltime) |
virtual double | SetLinetime (const uint32_t &_area, const double &_linetime) |
virtual void | SetTriggering (const bool &_waitfortrigger) |
virtual void | SetContinuousAcquisition (const bool &_cont) |
virtual void | SetRequestedPixels (const uint32_t &_area, const uint32_t &_reqpixels) |
virtual void | StartAcquisition () |
virtual int32_t | ReadPixels (DaqChunk &_chunk, const double &_timeout, bool &_timedout)=0 |
virtual void | StopAcquisition () |
virtual void | SetScannerdelay (const uint32_t &_scannerdelay) |
FPGAStatusSafe | CurrentStatus () const |
Protected Attributes | |
FPGAStatusSafe | status |
NiFpga_Session | session |
bool | initialized |
Abstract base class for FPGA classes.
Definition at line 18 of file FPGAInterface.h.
|
virtual |
Ends the FPGA program.
Definition at line 14 of file FPGAInterface.cpp.
|
inlinevirtual |
Set initial parameters.
Derived classes override this and cast _parameters to the appropriate derived type. Derived functions should check if already initialized.
Reimplemented in scope::FPGADigitalDemultiplexer, scope::FPGANoiseOutput, scope::FPGAAnalogDemultiplexer, scope::FPGAAnalogDemultiplexerResonance, scope::FPGAPhotonCounter, scope::FPGAResonanceScanner, scope::FPGAAnalogIntegrator, and scope::FPGAResonanceScannerNI5771.
Definition at line 38 of file FPGAInterface.h.
|
inlinevirtual |
Sets the time per pixel/dwell time (in seconds)
[in] | _area | for which area |
[in] | _pixeltime | the pixel dwell time in seconds |
Reimplemented in scope::FPGADigitalDemultiplexer, scope::FPGANoiseOutput, scope::FPGAAnalogDemultiplexer, scope::FPGAAnalogDemultiplexerResonance, scope::FPGAPhotonCounter, scope::FPGAResonanceScanner, scope::FPGAAnalogIntegrator, and scope::FPGAResonanceScannerNI5771.
Definition at line 44 of file FPGAInterface.h.
|
inlinevirtual |
Sets the time per line (in seconds) for the generation of the line clock (if implemented)
[in] | _area | for which area |
[in] | _linetime | the line time in seconds |
Reimplemented in scope::FPGADigitalDemultiplexer, scope::FPGANoiseOutput, scope::FPGAAnalogDemultiplexer, scope::FPGAAnalogDemultiplexerResonance, scope::FPGAPhotonCounter, scope::FPGAResonanceScanner, scope::FPGAAnalogIntegrator, and scope::FPGAResonanceScannerNI5771.
Definition at line 50 of file FPGAInterface.h.
|
inlinevirtual |
Sets if the FPGA should wait for a trigger before starting acquisition.
[in] | _waitfortrigger | true if wait for trigger |
Reimplemented in scope::FPGADigitalDemultiplexer, scope::FPGANoiseOutput, scope::FPGAAnalogDemultiplexer, scope::FPGAAnalogDemultiplexerResonance, scope::FPGAPhotonCounter, scope::FPGAResonanceScanner, scope::FPGAAnalogIntegrator, and scope::FPGAResonanceScannerNI5771.
Definition at line 54 of file FPGAInterface.h.
|
inlinevirtual |
Sets if the FPGA should acquire data continuously or acquire the number of pixels per channel set with SetRequestedPixels.
[in] | _cont | yes or no |
Reimplemented in scope::FPGADigitalDemultiplexer, scope::FPGANoiseOutput, scope::FPGAAnalogDemultiplexer, scope::FPGAAnalogDemultiplexerResonance, scope::FPGAPhotonCounter, scope::FPGAResonanceScanner, scope::FPGAAnalogIntegrator, and scope::FPGAResonanceScannerNI5771.
Definition at line 58 of file FPGAInterface.h.
|
inlinevirtual |
Sets the number of pixels per channel the FPGA should acquire, set to -1 for live scanning.
[in] | _area | for which area |
[in] | _reqpixels | number of pixels the FPGA should acquire before automatically stopping acquisition |
Reimplemented in scope::FPGADigitalDemultiplexer, scope::FPGANoiseOutput, scope::FPGAAnalogDemultiplexer, scope::FPGAAnalogDemultiplexerResonance, scope::FPGAPhotonCounter, scope::FPGAResonanceScanner, scope::FPGAAnalogIntegrator, and scope::FPGAResonanceScannerNI5771.
Definition at line 63 of file FPGAInterface.h.
|
inlinevirtual |
Starts the acquisition on the FPGA.
Reimplemented in scope::FPGADigitalDemultiplexer, scope::FPGANoiseOutput, scope::FPGAAnalogDemultiplexer, scope::FPGAAnalogDemultiplexerResonance, scope::FPGAPhotonCounter, scope::FPGAResonanceScanner, scope::FPGAAnalogIntegrator, and scope::FPGAResonanceScannerNI5771.
Definition at line 66 of file FPGAInterface.h.
|
pure virtual |
Read only pixels from the FPGA FIFO.
[in,out] | _chunk | the daq chunk to read into, inside _chunk is information about the area for wich to retrieve, the number of pixels per channel to read, and the number of channels |
[in] | _timeout | time out for reading in seconds |
[out] | _timedout | set to true if reading timed out |
Implemented in scope::FPGADigitalDemultiplexer, scope::FPGAAnalogDemultiplexer, scope::FPGAAnalogDemultiplexerResonance, scope::FPGANoiseOutput, scope::FPGAPhotonCounter, scope::FPGAResonanceScanner, scope::FPGAAnalogIntegrator, and scope::FPGAResonanceScannerNI5771.
|
inlinevirtual |
Stops the acquisition on the FPGA.
Reimplemented in scope::FPGADigitalDemultiplexer, scope::FPGANoiseOutput, scope::FPGAAnalogDemultiplexer, scope::FPGAAnalogDemultiplexerResonance, scope::FPGAPhotonCounter, scope::FPGAResonanceScanner, scope::FPGAAnalogIntegrator, and scope::FPGAResonanceScannerNI5771.
Definition at line 78 of file FPGAInterface.h.
|
inlinevirtual |
Sets the scanner delay on the FPGA (used currently for resonance scanners only)
Reimplemented in scope::FPGAResonanceScanner.
Definition at line 81 of file FPGAInterface.h.
|
inline |
Definition at line 84 of file FPGAInterface.h.
|
protected |
current FPGA status.
We need the Safe (non-throwing) version here, because exceptions can crash (total computer freeze) the NI FPGA library during debug runs (probably a problem with the stack unwindinw?).
Definition at line 23 of file FPGAInterface.h.
|
protected |
NI FPGA session handle.
Definition at line 26 of file FPGAInterface.h.
|
protected |
true if already initialized
Definition at line 29 of file FPGAInterface.h.