Scope
scope::InputsFPGA Class Reference

#include <InputsFPGA.h>

Inherits scope::Inputs.

Public Member Functions

 InputsFPGA (const uint32_t &_area, parameters::InputsFPGA *_inputparams, const parameters::Scope &_params)
 
void Start () override
 
void Stop () override
 
int32_t Read (DaqChunk &_chunk, bool &_timedout, const double &_timeout) override
 
- Public Member Functions inherited from scope::Inputs
 Inputs (const uint32_t &_area)
 
virtual uint32_t RequestedSamples () const
 
virtual uint32_t StandardChunkSize () const
 

Protected Attributes

ScopeController scope_controller
 
double laserpulsesperpixel
 
- Protected Attributes inherited from scope::Inputs
const uint32_t area
 
uint32_t requested_samples
 

Private Member Functions

 InputsFPGA (const InputsFPGA &i)
 
InputsFPGA operator= (const InputsFPGA &i)
 

Detailed Description

Wraps hardware connection for signal input from PMTs using an NI FPGA.


Keep in mind to start the FPGA last, since it provides the sample clock for all other tasks.

Definition at line 24 of file InputsFPGA.h.

Constructor & Destructor Documentation

scope::InputsFPGA::InputsFPGA ( const InputsFPGA i)
private

disable copy

scope::InputsFPGA::InputsFPGA ( const uint32_t &  _area,
parameters::InputsFPGA _inputparams,
const parameters::Scope _params 
)
Postcondition
_params.areas[a].daq.pixeltime is set to the pixeltime coerced by the FPGA. Since the FPGA provides the sample clock for the DAQmx output via PXI_Trig1, this is merely cosmetic.

Definition at line 25 of file InputsFPGA.cpp.

Member Function Documentation

InputsFPGA scope::InputsFPGA::operator= ( const InputsFPGA i)
private

disable assignment

void scope::InputsFPGA::Start ( )
overridevirtual

Start task.

Implements scope::Inputs.

Definition at line 73 of file InputsFPGA.cpp.

void scope::InputsFPGA::Stop ( )
overridevirtual

Stops task.

Implements scope::Inputs.

Definition at line 79 of file InputsFPGA.cpp.

int32_t scope::InputsFPGA::Read ( DaqChunk _chunk,
bool &  _timedout,
const double &  _timeout 
)
overridevirtual

Reads one chunk of samples for one area.

Parameters
[in,out]_chunkchunk to fill with the read data
[out]_timedouttrue if read timed out
[in]_timeouttimeout in seconds after which to return even if not enough samples were read
Returns
the number of samples per channel actually read

Implements scope::Inputs.

Definition at line 85 of file InputsFPGA.cpp.

Member Data Documentation

ScopeController scope::InputsFPGA::scope_controller
protected

our ScopeController here

Definition at line 29 of file InputsFPGA.h.

double scope::InputsFPGA::laserpulsesperpixel
protected

how many laser pulses arrive per pixel, photon counts are normalized to the number of laser pulses

Definition at line 32 of file InputsFPGA.h.


The documentation for this class was generated from the following files: