Scope
|
#include <DaqController.h>
Inherits scope::BaseController< SCOPE_NAREAS >.
Classes | |
class | Impl |
Public Member Functions | |
DaqController (std::array< SynchronizedQueue< ScopeMessage< SCOPE_DAQCHUNKPTR_T >>, SCOPE_NAREAS > *const _oqueues, const parameters::Scope &_parameters) | |
~DaqController () | |
void | OnlineParameterUpdate (const parameters::Area &_areaparameters) |
void | AbortOnlineParameterUpdate (const uint32_t &_area) |
void | ZeroGalvoOutputs () |
void | SetScannerVector (const uint32_t &_area, ScannerVectorFrameBasicPtr _sv) |
void | OpenCloseShutter (const uint32_t &_area, const bool &_open) |
bool | GetShutterState (const uint32_t &_area) const |
void | TurnOnOffSwitchResonance (const uint32_t &_area, const bool &_on) |
bool | GetSwitchResonanceState (const uint32_t &_area) const |
Public Member Functions inherited from scope::BaseController< SCOPE_NAREAS > | |
virtual | ~BaseController () |
Impl * | Pimpl () const |
void | Start (const parameters::Scope &_parameters) |
void | StopAll () |
ControllerReturnStatus | WaitForAll (const int32_t &_wait_time=-1) |
Protected Member Functions | |
DaqController (DaqController &other) | |
DaqController & | operator= (DaqController &other) |
DaqController (Impl *) | |
Impl *const | Pimpl () const |
Protected Member Functions inherited from scope::BaseController< SCOPE_NAREAS > | |
BaseController (Impl *const _pimpl) | |
Additional Inherited Members | |
Protected Attributes inherited from scope::BaseController< SCOPE_NAREAS > | |
Impl *const | pimpl |
The DaqController controls the data acquisition hardware, both outputs for scanners as well as input from PMTs.
Uses the pimpl pattern to hide the implementation
When working with National Instruments DAQmx library:
See http://www.ni.com/white-paper/6411/en#toc5 for DAQmx thread-safety
=> "You can execute two different analog inputs from two different boards from separate threads within the same program,
and they both run simultaneously without blocking"
Definition at line 32 of file DaqController.h.
|
protected |
disable copy
|
explicitprotected |
To implant a DaqController::Impl pointer into the BaseController's BaseController::Impl pointer.
Definition at line 16 of file DaqController.cpp.
scope::DaqController::DaqController | ( | std::array< SynchronizedQueue< ScopeMessage< SCOPE_DAQCHUNKPTR_T >>, SCOPE_NAREAS > *const | _oqueues, |
const parameters::Scope & | _parameters | ||
) |
Connect queues and get scanner vector and parameters.
Definition at line 7 of file DaqController.cpp.
scope::DaqController::~DaqController | ( | ) |
Stops all.
Definition at line 11 of file DaqController.cpp.
|
protected |
disable assignment
|
protected |
Definition at line 20 of file DaqController.cpp.
void scope::DaqController::OnlineParameterUpdate | ( | const parameters::Area & | _areaparameters | ) |
Changes daq parameters during live scan.
Calls DaqController::Impl::OnlineParameterUpdate.
Definition at line 24 of file DaqController.cpp.
void scope::DaqController::AbortOnlineParameterUpdate | ( | const uint32_t & | _area | ) |
Aborts a potentially currently running online update.
Calls DaqController::Impl::AbortOnlineParametersUpdate.
Definition at line 28 of file DaqController.cpp.
void scope::DaqController::ZeroGalvoOutputs | ( | ) |
Sets all galvos to zero position, needed for microscope alignment.
Calls DaqController::Impl::ZeroGalvoOutputs.
Definition at line 32 of file DaqController.cpp.
void scope::DaqController::SetScannerVector | ( | const uint32_t & | _area, |
ScannerVectorFrameBasicPtr | _sv | ||
) |
Sets a scanner vector.
Only called on startup. Calls DaqController::Impl::SetScannerVector
Definition at line 36 of file DaqController.cpp.
void scope::DaqController::OpenCloseShutter | ( | const uint32_t & | _area, |
const bool & | _open | ||
) |
Opens/closes the shutter.
Calls DaqController::Impl::OpenCloseShutter
Definition at line 40 of file DaqController.cpp.
bool scope::DaqController::GetShutterState | ( | const uint32_t & | _area | ) | const |
Definition at line 44 of file DaqController.cpp.
void scope::DaqController::TurnOnOffSwitchResonance | ( | const uint32_t & | _area, |
const bool & | _on | ||
) |
Turns the resonance scanner relay on and off.
Calls DaqControllerImpl::TurnOnOffSwitchResonance
Definition at line 48 of file DaqController.cpp.
bool scope::DaqController::GetSwitchResonanceState | ( | const uint32_t & | _area | ) | const |
Definition at line 52 of file DaqController.cpp.