DynExp
Highly flexible laboratory automation for dynamically changing experiments.
DynExpInstr::SmarActData Class Reference
+ Inheritance diagram for DynExpInstr::SmarActData:

Classes

struct  SmarActChannelStatusType
 

Public Member Functions

 SmarActData ()=default
 
virtual ~SmarActData ()=default
 
auto GetChannel () const noexcept
 
auto & GetSmarActChannelStatus () noexcept
 
auto GetSmarActChannelStatus () const noexcept
 
auto GetHomePosition () const noexcept
 
void SetHomePosition (PositionType HomePosition) noexcept
 
- Public Member Functions inherited from DynExpInstr::PositionerStageData
 PositionerStageData ()=default
 
virtual ~PositionerStageData ()=default
 
auto GetCurrentPosition () const noexcept
 Returns Position. More...
 
auto GetVelocity () const noexcept
 Returns Velocity. More...
 
void SetCurrentPosition (PositionType Position) noexcept
 Sets Position to Position. More...
 
void SetVelocity (PositionType Velocity) noexcept
 Sets Velocity to Velocity. More...
 
bool IsMoving () const noexcept
 Returns whether the stage is currently moving (result of IsMovingChild()) More...
 
bool HasArrived () const noexcept
 Returns whether the stage has arrived at its destiny position (result of HasArrivedChild()) More...
 
bool HasFailed () const noexcept
 Returns whether the stage is in an error state, i.e. moving has failed (result of HasFailedChild()) More...
 
bool IsReferenced () const noexcept
 Returns whether a closed-loop positioner knows its position in respect to its zero point (result of IsReferencedChild()) More...
 
- Public Member Functions inherited from DynExp::InstrumentDataBase
 InstrumentDataBase ()
 
virtual ~InstrumentDataBase ()
 
auto GetLastUpdateTime () const
 Getter for LastUpdate. More...
 
auto GetException () const noexcept
 Getter for InstrumentDataBase::InstrumentException. More...
 
void EnqueueTask (std::unique_ptr< TaskBase > &&Task)
 Enqueues a task at the back of an instrument's task queue and notifies the instrument about the new task. More...
 
void EnqueuePriorityTask (std::unique_ptr< TaskBase > &&Task)
 Enqueues a task at the front of an instrument's task queue and notifies the instrument about the new task. More...
 
std::unique_ptr< TaskBasePopTaskFront ()
 Removes a task from the front of an instrument's task queue. More...
 
std::unique_ptr< TaskBasePopTaskBack ()
 Removes a task from the back of an instrument's task queue. More...
 
auto GetTaskFront () noexcept
 Getter for first enqueued task. More...
 
auto GetTaskBack () noexcept
 Getter for last enqueued task. More...
 
size_t GetNumEnqueuedTasks () const noexcept
 Getter for the instrument task queue's length. More...
 
std::unique_ptr< TaskBasePopFinishedTask ()
 Removes a task from the front of an instrument's list of finished tasks. More...
 
size_t GetNumFinishedTasks () const noexcept
 Getter for the length of the instrument's list of finished tasks. More...
 
bool IsQueueClosed () const noexcept
 Determines whether the instrument task queue is closed. More...
 
- Public Member Functions inherited from Util::INonCopyable
 INonCopyable (const INonCopyable &)=delete
 
INonCopyableoperator= (const INonCopyable &)=delete
 

Public Attributes

DynExp::LinkedObjectWrapperContainer< DynExpHardware::SmarActHardwareAdapterHardwareAdapter
 
- Public Attributes inherited from DynExp::InstrumentDataBase
InstrumentBaseOnlyType InstrumentBaseOnly
 Allow exclusive access to some of InstrumentDataBase's private methods to InstrumentBase. More...
 
InstrumenThreadOnlyType InstrumentThreadOnly
 Allow exclusive access to some of InstrumentDataBase's private methods to the instrument thread InstrumentThreadMain(). More...
 

Private Member Functions

void ResetImpl (dispatch_tag< PositionerStageData >) override final
 Refer to DynExp::InstrumentDataBase::Reset(). Using tag dispatch mechanism to ensure that ResetImpl() of every derived class gets called - starting from InstrumentDataBase, descending the inheritance hierarchy. Override in order to reset derived classes. More...
 
virtual void ResetImpl (dispatch_tag< SmarActData >)
 
virtual bool IsMovingChild () const noexcept override
 Returns whether the stage is currently moving (result of IsMovingChild()) More...
 
virtual bool HasArrivedChild () const noexcept override
 Returns whether the stage has arrived at its destiny position (result of HasArrivedChild()) More...
 
virtual bool HasFailedChild () const noexcept override
 Returns whether the stage is in an error state, i.e. moving has failed (result of HasFailedChild()) More...
 
virtual bool IsReferencedChild () const noexcept override
 Returns whether a closed-loop positioner knows its position in respect to its zero point (result of IsReferencedChild()) More...
 

Private Attributes

DynExpHardware::SmarActHardwareAdapter::ChannelType Channel = 0
 
SmarActChannelStatusType SmarActChannelStatus
 
size_t NumFailedStatusUpdateAttempts = 0
 
PositionType HomePosition = 0
 

Friends

class SmarActTasks::InitTask
 
class SmarActTasks::UpdateTask
 

Additional Inherited Members

- Public Types inherited from DynExpInstr::PositionerStageData
using PositionType = signed long long
 Numeric type to store the stage positions. More...
 
- Public Types inherited from DynExp::InstrumentDataBase
using TaskQueueType = std::list< std::unique_ptr< TaskBase > >
 Type of an instrument task queue owning the tasks within. More...
 
using TaskQueueIteratorType = TaskQueueType::const_iterator
 Const iterator type to elements of TaskQueueType. More...
 
- Protected Member Functions inherited from Util::ISynchronizedPointerLockable
 ISynchronizedPointerLockable ()
 
 ~ISynchronizedPointerLockable ()
 Object should never be destroyed before completely unlocked. More...
 
- Protected Member Functions inherited from Util::INonCopyable
constexpr INonCopyable ()=default
 
 ~INonCopyable ()=default
 

Detailed Description

Definition at line 116 of file SmarAct.h.

Constructor & Destructor Documentation

◆ SmarActData()

DynExpInstr::SmarActData::SmarActData ( )
default

◆ ~SmarActData()

virtual DynExpInstr::SmarActData::~SmarActData ( )
virtualdefault

Member Function Documentation

◆ GetChannel()

auto DynExpInstr::SmarActData::GetChannel ( ) const
inlinenoexcept

Definition at line 150 of file SmarAct.h.

◆ GetHomePosition()

auto DynExpInstr::SmarActData::GetHomePosition ( ) const
inlinenoexcept

Definition at line 156 of file SmarAct.h.

◆ GetSmarActChannelStatus() [1/2]

auto DynExpInstr::SmarActData::GetSmarActChannelStatus ( ) const
inlinenoexcept

Definition at line 154 of file SmarAct.h.

◆ GetSmarActChannelStatus() [2/2]

auto& DynExpInstr::SmarActData::GetSmarActChannelStatus ( )
inlinenoexcept

Definition at line 153 of file SmarAct.h.

◆ HasArrivedChild()

virtual bool DynExpInstr::SmarActData::HasArrivedChild ( ) const
inlineoverrideprivatevirtualnoexcept

Returns whether the stage has arrived at its destiny position (result of HasArrivedChild())

Implements DynExpInstr::PositionerStageData.

Definition at line 166 of file SmarAct.h.

◆ HasFailedChild()

virtual bool DynExpInstr::SmarActData::HasFailedChild ( ) const
inlineoverrideprivatevirtualnoexcept

Returns whether the stage is in an error state, i.e. moving has failed (result of HasFailedChild())

Implements DynExpInstr::PositionerStageData.

Definition at line 167 of file SmarAct.h.

◆ IsMovingChild()

virtual bool DynExpInstr::SmarActData::IsMovingChild ( ) const
inlineoverrideprivatevirtualnoexcept

Returns whether the stage is currently moving (result of IsMovingChild())

Implements DynExpInstr::PositionerStageData.

Definition at line 165 of file SmarAct.h.

◆ IsReferencedChild()

virtual bool DynExpInstr::SmarActData::IsReferencedChild ( ) const
inlineoverrideprivatevirtualnoexcept

Returns whether a closed-loop positioner knows its position in respect to its zero point (result of IsReferencedChild())

Reimplemented from DynExpInstr::PositionerStageData.

Definition at line 168 of file SmarAct.h.

◆ ResetImpl() [1/2]

void DynExpInstr::SmarActData::ResetImpl ( dispatch_tag< PositionerStageData )
finaloverrideprivatevirtual

Refer to DynExp::InstrumentDataBase::Reset(). Using tag dispatch mechanism to ensure that ResetImpl() of every derived class gets called - starting from InstrumentDataBase, descending the inheritance hierarchy. Override in order to reset derived classes.

Reimplemented from DynExpInstr::PositionerStageData.

Definition at line 154 of file SmarAct.cpp.

◆ ResetImpl() [2/2]

virtual void DynExpInstr::SmarActData::ResetImpl ( dispatch_tag< SmarActData )
inlineprivatevirtual

Definition at line 163 of file SmarAct.h.

◆ SetHomePosition()

void DynExpInstr::SmarActData::SetHomePosition ( PositionType  HomePosition)
inlinenoexcept

Definition at line 157 of file SmarAct.h.

Friends And Related Function Documentation

◆ SmarActTasks::InitTask

friend class SmarActTasks::InitTask
friend

Definition at line 118 of file SmarAct.h.

◆ SmarActTasks::UpdateTask

friend class SmarActTasks::UpdateTask
friend

Definition at line 119 of file SmarAct.h.

Member Data Documentation

◆ Channel

DynExpHardware::SmarActHardwareAdapter::ChannelType DynExpInstr::SmarActData::Channel = 0
private

Definition at line 170 of file SmarAct.h.

◆ HardwareAdapter

Definition at line 159 of file SmarAct.h.

◆ HomePosition

PositionType DynExpInstr::SmarActData::HomePosition = 0
private

Definition at line 174 of file SmarAct.h.

◆ NumFailedStatusUpdateAttempts

size_t DynExpInstr::SmarActData::NumFailedStatusUpdateAttempts = 0
private

Definition at line 173 of file SmarAct.h.

◆ SmarActChannelStatus

SmarActChannelStatusType DynExpInstr::SmarActData::SmarActChannelStatus
private

Definition at line 172 of file SmarAct.h.


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