Scope
|
#include <FPGAAnalogDemultiplexer.h>
Inherits scope::FPGAInterface, and scope::FPGAIO5771.
Public Member Functions | |
FPGAAnalogDemultiplexer () | |
~FPGAAnalogDemultiplexer () | |
void | Initialize (parameters::InputsFPGA *_parameters) override |
double | SetPixeltime (const uint32_t &_area, const double &_pixeltime) override |
double | SetLinetime (const uint32_t &_area, const double &_linetime) override |
void | SetTriggering (const bool &_waitfortrigger) override |
void | SetContinuousAcquisition (const bool &_cont) override |
void | SetRequestedPixels (const uint32_t &_area, const uint32_t &_reqpixels) override |
void | StartAcquisition () override |
void | StopAcquisition () override |
int32_t | ReadPixels (DaqChunk &_chunk, const double &_timeout, bool &_timedout) override |
void | CheckFPGADiagnosis () |
void | SetChannelProps () |
void | ClearFIFOs () |
Public Member Functions inherited from scope::FPGAInterface | |
virtual | ~FPGAInterface () |
virtual void | SetScannerdelay (const uint32_t &_scannerdelay) |
FPGAStatusSafe | CurrentStatus () const |
Public Member Functions inherited from scope::FPGAIO5771 | |
FPGAIO5771 (const uint32_t &_user_command_idle, const uint32_t &_pll_locked, const uint32_t &_configured, const uint32_t &_user_error, const uint32_t &_user_command_status, const uint32_t &_user_command_control, const uint32_t &_user_data_0_control, const uint32_t &_user_data_1_control, const uint32_t &_user_command_commit) | |
void | SetClockSource (NiFpga_Session _session, const uint8_t &_clock_source=0) |
bool | CheckIOModule (NiFpga_Session _session) |
Protected Attributes | |
parameters::InputsFPGAAnalogDemultiplexer * | parameters |
std::array< NiFpga_AnalogDemultiplexerV2_NI5771_TargetToHostFifoU64, 2 > | fifos |
std::array< NiFpga_AnalogDemultiplexerV2_NI5771_ControlU32, 2 > | reqpixels |
NiFpga_AnalogDemultiplexerV2_NI5771_ControlU16 | smplsperpixel |
Protected Attributes inherited from scope::FPGAInterface | |
FPGAStatusSafe | status |
NiFpga_Session | session |
bool | initialized |
Protected Attributes inherited from scope::FPGAIO5771 | |
const uint32_t | user_command_idle_indicator |
const uint32_t | pll_locked_indicator |
const uint32_t | configured_indicator |
const uint32_t | user_error_indicator |
const uint32_t | user_command_status_indicator |
const uint32_t | user_command_control |
const uint32_t | user_data_0_control |
const uint32_t | user_data_1_control |
const uint32_t | user_command_commit_control |
FPGAStatusSafe | iostatus |
Additional Inherited Members | |
Protected Member Functions inherited from scope::FPGAIO5771 | |
void | WaitForIdle (NiFpga_Session _session) |
Wraps an FPGA that does two area demultiplexing and analog integration with the NI 5771 FlexRio adapter module on the NI 7962R FPGA.
Definition at line 18 of file FPGAAnalogDemultiplexer.h.
scope::FPGAAnalogDemultiplexer::FPGAAnalogDemultiplexer | ( | ) |
Load the FPGA bitfile, set the IO module's onboard clock and initialize the acquisition.
Definition at line 8 of file FPGAAnalogDemultiplexer.cpp.
scope::FPGAAnalogDemultiplexer::~FPGAAnalogDemultiplexer | ( | void | ) |
Close FPGA session.
Definition at line 47 of file FPGAAnalogDemultiplexer.cpp.
|
overridevirtual |
Set initial parameters.
Derived classes override this and cast _parameters to the appropriate derived type. Derived functions should check if already initialized.
Reimplemented from scope::FPGAInterface.
Definition at line 53 of file FPGAAnalogDemultiplexer.cpp.
|
overridevirtual |
Sets the time per pixel/dwell time (in seconds)
[in] | _area | for which area |
[in] | _pixeltime | the pixel dwell time in seconds |
Reimplemented from scope::FPGAInterface.
Definition at line 63 of file FPGAAnalogDemultiplexer.cpp.
|
overridevirtual |
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 from scope::FPGAInterface.
Definition at line 80 of file FPGAAnalogDemultiplexer.cpp.
|
overridevirtual |
Sets if the FPGA should wait for a trigger before starting acquisition.
[in] | _waitfortrigger | true if wait for trigger |
Reimplemented from scope::FPGAInterface.
Definition at line 85 of file FPGAAnalogDemultiplexer.cpp.
|
overridevirtual |
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 from scope::FPGAInterface.
Definition at line 89 of file FPGAAnalogDemultiplexer.cpp.
|
overridevirtual |
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 from scope::FPGAInterface.
Definition at line 93 of file FPGAAnalogDemultiplexer.cpp.
|
overridevirtual |
Starts the acquisition on the FPGA.
Reimplemented from scope::FPGAInterface.
Definition at line 98 of file FPGAAnalogDemultiplexer.cpp.
|
overridevirtual |
Stops the acquisition on the FPGA.
Reimplemented from scope::FPGAInterface.
Definition at line 110 of file FPGAAnalogDemultiplexer.cpp.
|
overridevirtual |
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 |
Implements scope::FPGAInterface.
Definition at line 115 of file FPGAAnalogDemultiplexer.cpp.
void scope::FPGAAnalogDemultiplexer::CheckFPGADiagnosis | ( | ) |
Checks the status of the FIFOs on the FPGA.
Definition at line 176 of file FPGAAnalogDemultiplexer.cpp.
void scope::FPGAAnalogDemultiplexer::SetChannelProps | ( | ) |
Set channel properties as baseline cutoff and bitshift.
Definition at line 168 of file FPGAAnalogDemultiplexer.cpp.
void scope::FPGAAnalogDemultiplexer::ClearFIFOs | ( | ) |
Clears the interloop and ToHost FIFOs.
Definition at line 193 of file FPGAAnalogDemultiplexer.cpp.
|
protected |
the parameter set
Definition at line 24 of file FPGAAnalogDemultiplexer.h.
|
protected |
all FIFOs for both areas
Definition at line 27 of file FPGAAnalogDemultiplexer.h.
|
protected |
requested pixels for both areas
Definition at line 30 of file FPGAAnalogDemultiplexer.h.
|
protected |
samples per pixel for both areas
Definition at line 33 of file FPGAAnalogDemultiplexer.h.