|
DynExp
Highly flexible laboratory automation for dynamically changing experiments.
|
#include <SmarAct.h>
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. | |
| auto | GetVelocity () const noexcept |
| Returns Velocity. | |
| void | SetCurrentPosition (PositionType Position) noexcept |
Sets Position to Position. | |
| void | SetVelocity (PositionType Velocity) noexcept |
Sets Velocity to Velocity. | |
| bool | IsMoving () const noexcept |
Returns whether the stage is currently moving (result of IsMovingChild()) | |
| bool | HasArrived () const noexcept |
Returns whether the stage has arrived at its destiny position (result of HasArrivedChild()) | |
| bool | HasFailed () const noexcept |
Returns whether the stage is in an error state, i.e. moving has failed (result of HasFailedChild()) | |
| bool | IsReferenced () const noexcept |
Returns whether a closed-loop positioner knows its position in respect to its zero point (result of IsReferencedChild()) | |
Public Member Functions inherited from DynExp::InstrumentDataBase | |
| InstrumentDataBase () | |
| virtual | ~InstrumentDataBase () |
| auto | GetLastUpdateTime () const |
| Getter for LastUpdate. | |
| auto | GetException () const noexcept |
| Getter for InstrumentDataBase::InstrumentException. | |
| 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. | |
| 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. | |
| std::unique_ptr< TaskBase > | PopTaskFront () |
| Removes a task from the front of an instrument's task queue. | |
| std::unique_ptr< TaskBase > | PopTaskBack () |
| Removes a task from the back of an instrument's task queue. | |
| auto | GetTaskFront () noexcept |
| Getter for first enqueued task. | |
| auto | GetTaskBack () noexcept |
| Getter for last enqueued task. | |
| size_t | GetNumEnqueuedTasks () const noexcept |
| Getter for the instrument task queue's length. | |
| std::unique_ptr< TaskBase > | PopFinishedTask () |
| Removes a task from the front of an instrument's list of finished tasks. | |
| size_t | GetNumFinishedTasks () const noexcept |
| Getter for the length of the instrument's list of finished tasks. | |
| bool | IsQueueClosed () const noexcept |
| Determines whether the instrument task queue is closed. | |
Public Member Functions inherited from Util::INonCopyable | |
| INonCopyable (const INonCopyable &)=delete | |
| INonCopyable & | operator= (const INonCopyable &)=delete |
Public Attributes | |
| DynExp::LinkedObjectWrapperContainer< DynExpHardware::SmarActHardwareAdapter > | HardwareAdapter |
Public Attributes inherited from DynExp::InstrumentDataBase | |
| InstrumentBaseOnlyType | InstrumentBaseOnly |
Allow exclusive access to some of InstrumentDataBase's private methods to InstrumentBase. | |
| InstrumenThreadOnlyType | InstrumentThreadOnly |
Allow exclusive access to some of InstrumentDataBase's private methods to the instrument thread InstrumentThreadMain(). | |
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. | |
| virtual void | ResetImpl (dispatch_tag< SmarActData >) |
| virtual bool | IsMovingChild () const noexcept override |
Returns whether the stage is currently moving (result of IsMovingChild()) | |
| virtual bool | HasArrivedChild () const noexcept override |
Returns whether the stage has arrived at its destiny position (result of HasArrivedChild()) | |
| virtual bool | HasFailedChild () const noexcept override |
Returns whether the stage is in an error state, i.e. moving has failed (result of HasFailedChild()) | |
| virtual bool | IsReferencedChild () const noexcept override |
Returns whether a closed-loop positioner knows its position in respect to its zero point (result of IsReferencedChild()) | |
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. | |
Public Types inherited from DynExp::InstrumentDataBase | |
| using | TaskQueueType = std::list< std::unique_ptr< TaskBase > > |
| Type of an instrument task queue owning the tasks within. | |
| using | TaskQueueIteratorType = TaskQueueType::const_iterator |
Const iterator type to elements of TaskQueueType. | |
Protected Member Functions inherited from Util::ISynchronizedPointerLockable | |
| ISynchronizedPointerLockable () | |
| ~ISynchronizedPointerLockable () | |
| Object should never be destroyed before completely unlocked. | |
Protected Member Functions inherited from Util::INonCopyable | |
| constexpr | INonCopyable ()=default |
| ~INonCopyable ()=default | |
|
default |
|
virtualdefault |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlineoverrideprivatevirtualnoexcept |
Returns whether the stage has arrived at its destiny position (result of HasArrivedChild())
Implements DynExpInstr::PositionerStageData.
|
inlineoverrideprivatevirtualnoexcept |
Returns whether the stage is in an error state, i.e. moving has failed (result of HasFailedChild())
Implements DynExpInstr::PositionerStageData.
|
inlineoverrideprivatevirtualnoexcept |
Returns whether the stage is currently moving (result of IsMovingChild())
Implements DynExpInstr::PositionerStageData.
|
inlineoverrideprivatevirtualnoexcept |
Returns whether a closed-loop positioner knows its position in respect to its zero point (result of IsReferencedChild())
Reimplemented from DynExpInstr::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.
|
inlineprivatevirtual |
|
inlinenoexcept |
|
friend |
|
friend |
|
private |
| DynExp::LinkedObjectWrapperContainer<DynExpHardware::SmarActHardwareAdapter> DynExpInstr::SmarActData::HardwareAdapter |
|
private |
|
private |
|
private |