TwiceAsNice  2019-02-18
Classes | Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
Laos::WfcLoopService< Type > Class Template Reference

#include <LaosWfcLoopServiceWorker.h>

Inheritance diagram for Laos::WfcLoopService< Type >:
Inheritance graph
Collaboration diagram for Laos::WfcLoopService< Type >:
Collaboration graph

Classes

struct  DeviceAsyncImpl
 
struct  DeviceCmdAsyncImpl
 

Public Member Functions

 WfcLoopService (const Nice::JointPtr &_config)
 
virtual ~WfcLoopService ()
 
virtual void loadMask (Nice::File _maskfile)
 
virtual void setPupil (float _size, Nice::SeqPoint _center)
 
virtual void setMask (Nice::SeqDynamicBitset _mask=Nice::SeqDynamicBitset())
 
virtual Nice::Int startLoop (Nice::U32 _nframes)
 
virtual void resetLoop ()
 
virtual void stopLoop ()
 
virtual void initLoop ()
 
virtual void closeLoop ()
 
virtual void setAndClose ()
 
virtual void setNormalizeMethod (Nice::U16 _normMethod)
 
virtual void enableLinearize (bool _linearize)
 
virtual void setSlopeNormConst (float _normConst)
 
virtual void init ()
 
virtual void deinit ()
 
virtual void activate ()
 
virtual void deactivate ()
 
virtual void idleOnline ()
 
virtual void idleOffline ()
 
virtual void errorOnline ()
 
virtual void errorStandby ()
 
virtual void terminate ()
 Only if you want to wakeup every "CFG.INTERVAL" void Laos::WfcLoopService::idleOnline() { D_LOG ( m_name << " --online idle-> " << state() << "::" << m_config->leaf("STATE")); m_state->set<Basda::ServiceStateMachine>(m_state->get<Basda::ServiceStateMachine>().set("SLEEP", 0)); bool rc = m_stateMachine.timedWaitForNewState ( m_config->getAtNode<Nice::Time> ( "CFG.INTERVAL" ) ); if ( !rc ) m_stateMachine.setIfSettled ( Basda::WORKING ); };. More...
 
virtual void stop ()
 
virtual void abort ()
 
virtual void startRandomPixelGen ()
 
virtual void setLinearisation (Nice::SeqFloat _linVec)
 
virtual void setSlopeOffset (Nice::SeqFloat _slopeOffset)
 
virtual void loadSlopeOffset (Nice::File _slopeOffset)
 
virtual void enableDisturbance (bool _disturb)
 
virtual void send2DM (bool SEND)
 
virtual void toggleSend2DM ()
 
virtual Nice::SeqDynamicBitset getSlopeMask ()
 
 WfcLoopService (const Nice::JointPtr &_config)
 
virtual ~WfcLoopService ()
 
virtual void loadMask (Nice::File _maskfile)
 
virtual void setPupil (float _size, Nice::SeqPoint _center)
 
virtual void setMask (Nice::SeqDynamicBitset _mask=Nice::SeqDynamicBitset())
 
virtual Nice::Int startLoop (Nice::U32 _nframes)
 
virtual void resetLoop ()
 
virtual void stopLoop ()
 
virtual void initLoop ()
 
virtual void closeLoop ()
 
virtual void setAndClose ()
 
virtual void setNormalizeMethod (Nice::U16 _normMethod)
 
virtual void enableLinearize (bool _linearize)
 
virtual void setSlopeNormConst (float _normConst)
 
virtual void init ()
 
virtual void deinit ()
 
virtual void activate ()
 
virtual void deactivate ()
 
virtual void idleOnline ()
 wait for a state change. More...
 
virtual void idleOffline ()
 wait for a state change. More...
 
virtual void errorOnline ()
 set the target state to OFFLINE. More...
 
virtual void errorStandby ()
 set the target state to OFFLINE. More...
 
virtual void terminate ()
 schedule EXIT as the next target state. More...
 
virtual void stop ()
 does nothing. More...
 
virtual void abort ()
 does nothing. More...
 
virtual void startRandomPixelGen ()
 
virtual void setLinearisation (Nice::SeqFloat _linVec)
 
virtual void setSlopeOffset (Nice::SeqFloat _slopeOffset)
 
virtual void loadSlopeOffset (Nice::File _slopeOffset)
 
virtual void enableDisturbance (bool _disturb)
 
virtual void send2DM (bool SEND)
 
virtual void toggleSend2DM ()
 
virtual Nice::SeqDynamicBitset getSlopeMask ()
 
- Public Member Functions inherited from Laos::WfcCommonsServiceWorkerSkeleton
 WfcCommonsServiceWorkerSkeleton (const Nice::JointPtr &_config)
 
virtual ~WfcCommonsServiceWorkerSkeleton ()
 
 WfcCommonsServiceWorkerSkeleton (const Nice::JointPtr &_config)
 
virtual ~WfcCommonsServiceWorkerSkeleton ()
 
- Public Member Functions inherited from Basda::ServiceWorkerSkeleton
const Nice::PropertyPtrcmd ()
 
void setCompletion (const Nice::Completion &_c)
 
void cmdStart (const std::string &_action="")
 
void cmdDone ()
 
void cmdWarning (const std::string &_l)
 
void cmdWarning (const Nice::LoggerObject &_o)
 
void cmdError (const std::string &_l)
 
void cmdError (const Nice::LoggerObject &_o)
 
void cmdError (const Nice::SeqLoggerObject &_oo)
 
void cmdPercent (Nice::Int _v)
 
void cmdAction (Nice::Int _v, const std::string &_s)
 
virtual void cmd (const Nice::Completion &_c)
 
template<typename DataType >
Nice::Completion exec (const Nice::Completion &_c, DataType &_localdata, const DataType &_indata=DataType())
 if currently online, push the state into WORKING More...
 
template<typename DataType >
void execCommand (DataType _cmd)
 
const Nice::PropertyPtrcmd ()
 
void setCompletion (const Nice::Completion &_c)
 
void cmdStart (const std::string &_action="")
 
void cmdDone ()
 
void cmdWarning (const std::string &_l)
 
void cmdWarning (const Nice::LoggerObject &_o)
 
void cmdError (const std::string &_l)
 
void cmdError (const Nice::LoggerObject &_o)
 
void cmdError (const Nice::SeqLoggerObject &_oo)
 
void cmdPercent (Nice::Int _v)
 
void cmdAction (Nice::Int _v, const std::string &_s)
 
virtual void cmd (const Nice::Completion &_c)
 
template<typename DataType >
Nice::Completion exec (const Nice::Completion &_c, DataType &_localdata, const DataType &_indata=DataType())
 
template<typename DataType >
void execCommand (DataType _cmd)
 
- Public Member Functions inherited from Basda::ServiceWorker
const Nice::JointPtrconfig ()
 
Nice::JointPtr cfg ()
 
Nice::JointPtr var ()
 
virtual const std::string & name ()
 
virtual WorkerThreadPtr worker ()
 
virtual Nice::Monitormonitor ()
 
virtual void lock ()
 
virtual void unlock ()
 
bool stateIsSettled ()
 
bool stateHasChanged ()
 
void changeState (Basda::ServiceState _state)
 change state to a new state If the state is the current state, or a negative state, do nothing. Otherwise change the "next" state in the state machine and notify all threads. More...
 
bool tryChangeState (Basda::ServiceState _state, const Nice::Time &_timeout=Nice::Time::seconds(0.0))
 change state to a new state More...
 
void waitForState (Basda::ServiceState _state)
 wait (indefinitely) until the worker has reached a spcifici state More...
 
bool timedWaitForState (Basda::ServiceState _state, const Nice::Time &_timeout)
 wait (indefinitely) until the worker has reached a specific state More...
 
bool changeStateOnlyFromTo (Basda::ServiceState _from, Basda::ServiceState _to)
 wait (indefinitely) until the worker has reached a spcifici state More...
 
Basda::ServiceState state ()
 
Basda::ServiceState stateNow ()
 
Basda::ServiceState stateNext ()
 
Basda::ServiceState stateLast ()
 
bool isTransit ()
 
bool isTerminated ()
 
const Nice::JointPtrconfig ()
 
Nice::JointPtr cfg ()
 
Nice::JointPtr var ()
 
virtual const std::string & name ()
 
virtual WorkerThreadPtr worker ()
 
virtual Nice::Monitormonitor ()
 
virtual void lock ()
 
virtual void unlock ()
 
bool stateIsSettled ()
 
bool stateHasChanged ()
 
void changeState (Basda::ServiceState _state)
 
bool tryChangeState (Basda::ServiceState _state, const Nice::Time &_timeout=Nice::Time::seconds(0.0))
 
void waitForState (Basda::ServiceState _state)
 
bool timedWaitForState (Basda::ServiceState _state, const Nice::Time &_timeout)
 
bool changeStateOnlyFromTo (Basda::ServiceState _from, Basda::ServiceState _to)
 
Basda::ServiceState state ()
 
Basda::ServiceState stateNow ()
 
Basda::ServiceState stateNext ()
 
Basda::ServiceState stateLast ()
 
bool isTransit ()
 
bool isTerminated ()
 

Private Types

typedef Basda::Image< TypeImageType
 
typedef IceUtil::Handle< ImageTypeImageTypePtr
 
typedef Basda::VinoDevice< TypeVinoDeviceType
 
typedef IceUtil::Handle< VinoDeviceTypeVinoDeviceTypePtr
 
typedef WfcLoopDevice< TypeWfcLoopDeviceType
 
typedef IceUtil::Handle< WfcLoopDeviceTypeWfcLoopDeviceTypePtr
 
typedef WfcIfServiceWorker< TypeWfcIfType
 
typedef IceUtil::Handle< WfcIfTypeWfcIfServiceWorkerPtr
 
typedef std::vector< float > SeqLoopType
 
typedef Basda::Image< TypeImageType
 
typedef IceUtil::Handle< ImageTypeImageTypePtr
 
typedef Basda::VinoDevice< TypeVinoDeviceType
 
typedef IceUtil::Handle< VinoDeviceTypeVinoDeviceTypePtr
 
typedef WfcLoopDevice< TypeWfcLoopDeviceType
 
typedef IceUtil::Handle< WfcLoopDeviceTypeWfcLoopDeviceTypePtr
 
typedef WfcIfServiceWorker< TypeWfcIfType
 
typedef IceUtil::Handle< WfcIfTypeWfcIfServiceWorkerPtr
 
typedef std::vector< float > SeqLoopType
 

Private Member Functions

void initNodes ()
 
void takeAndStoreImage (Nice::File _file, Nice::U16 _num)
 
void printerror (int status)
 
void createFlat (Basda::Image< float > &_image)
 
void initNodes ()
 
void takeAndStoreImage (Nice::File _file, Nice::U16 _num)
 
void printerror (int status)
 
void createFlat (Basda::Image< float > &_image)
 

Private Attributes

DeviceAsyncImpl m_deviceAsync
 
DeviceCmdAsyncImpl m_deviceCmdAsync
 
Nice::Monitor m_monitor
 
Nice::Mutex m_mutex
 
VinoDeviceTypePtr m_deviceCamera
 
WfcLoopDeviceTypePtr m_deviceLoop
 
Laos::XineticsCoreDevicePtr m_deviceDM
 
WfcIfServiceWorkerPtr m_wfcIf
 
Basda::VinoCameraFitsWriterServiceWorkerInterfacePtr m_serviceWriter
 
Basda::VinoCameraCtrlServiceWorkerInterfacePtr m_serviceCam
 

Additional Inherited Members

- Protected Types inherited from Basda::ServiceWorker
typedef void(ServiceWorker::* ServiceWorkerMemFn) ()
 
typedef Branch BranchTable[6][6]
 
typedef IceUtil::Handle< WorkerThreadWorkerThreadPtr
 
typedef void(ServiceWorker::* ServiceWorkerMemFn) ()
 
typedef Branch BranchTable[6][6]
 
typedef IceUtil::Handle< WorkerThreadWorkerThreadPtr
 
- Protected Member Functions inherited from Laos::WfcCommonsServiceWorkerSkeleton
const char * loadMaskNode ()
 
void loadMaskInit (Nice::File _maskfile)
 
const char * setMaskNode ()
 
void setMaskInit (Nice::SeqDynamicBitset _mask)
 
const char * startLoopNode ()
 
void startLoopInit (Nice::U32 _nframes)
 
const char * stopLoopNode ()
 
const char * resetLoopNode ()
 
const char * initLoopNode ()
 
const char * closeLoopNode ()
 
const char * setAndCloseNode ()
 
const char * setNormalizeMethodNode ()
 
void setNormalizeMethodInit (Nice::U16 _normmethod)
 
const char * setSlopeOffsetNode ()
 
void setSlopeOffsetInit (Nice::SeqFloat _slopeoffset)
 
const char * loadSlopeOffsetNode ()
 
void loadSlopeOffsetInit (Nice::File _slopeoffset)
 
const char * enableLinearizeNode ()
 
void enableLinearizeInit (bool _linearize)
 
const char * setSlopeNormConstNode ()
 
void setSlopeNormConstInit (float _normconst)
 
const char * setLinearisationNode ()
 
void setLinearisationInit (Nice::SeqFloat _linvec)
 
const char * startRandomPixelGenNode ()
 
const char * enableDisturbanceNode ()
 
void enableDisturbanceInit (bool _disturb)
 
const char * send2DMNode ()
 
void send2DMInit (bool _send)
 
const char * toggleSend2DMNode ()
 
const char * getSlopeMaskNode ()
 
virtual void work ()
 
const char * loadMaskNode ()
 
void loadMaskInit (Nice::File _maskfile)
 
const char * setMaskNode ()
 
void setMaskInit (Nice::SeqDynamicBitset _mask)
 
const char * startLoopNode ()
 
void startLoopInit (Nice::U32 _nframes)
 
const char * stopLoopNode ()
 
const char * resetLoopNode ()
 
const char * initLoopNode ()
 
const char * closeLoopNode ()
 
const char * setAndCloseNode ()
 
const char * setNormalizeMethodNode ()
 
void setNormalizeMethodInit (Nice::U16 _normmethod)
 
const char * setSlopeOffsetNode ()
 
void setSlopeOffsetInit (Nice::SeqFloat _slopeoffset)
 
const char * loadSlopeOffsetNode ()
 
void loadSlopeOffsetInit (Nice::File _slopeoffset)
 
const char * enableLinearizeNode ()
 
void enableLinearizeInit (bool _linearize)
 
const char * setSlopeNormConstNode ()
 
void setSlopeNormConstInit (float _normconst)
 
const char * setLinearisationNode ()
 
void setLinearisationInit (Nice::SeqFloat _linvec)
 
const char * startRandomPixelGenNode ()
 
const char * enableDisturbanceNode ()
 
void enableDisturbanceInit (bool _disturb)
 
const char * send2DMNode ()
 
void send2DMInit (bool _send)
 
const char * toggleSend2DMNode ()
 
const char * getSlopeMaskNode ()
 
virtual void work ()
 
- Protected Member Functions inherited from Basda::ServiceWorkerSkeleton
 ServiceWorkerSkeleton (const Nice::JointPtr &_config)
 
 ServiceWorkerSkeleton (const Nice::JointPtr &_config)
 
- Protected Member Functions inherited from Basda::ServiceWorker
 ServiceWorker (const Nice::JointPtr &_jointPtr)
 ctor More...
 
virtual ~ServiceWorker ()
 dtor Does nothing (in this base class) More...
 
void triggerState (const Basda::ServiceStateMachine &_state)
 change state to a new state More...
 
void sendStateStatus (const std::string &_action, int _percent)
 
void setState (Basda::ServiceState _next)
 
virtual void waitForNewState ()
 
virtual bool timedWaitForNewState (const Nice::Time &_timeout)
 
virtual void preinit ()
 
virtual void packin ()
 schedule ONLINE as the next target state. More...
 
virtual void errorOffline ()
 set the target state to OFFLINE. More...
 
virtual void errorWorking ()
 set the target state to OFFLINE. More...
 
virtual void idleStandby ()
 wait for a state change. More...
 
 ServiceWorker (const Nice::JointPtr &_jointPtr)
 
virtual ~ServiceWorker ()
 
void triggerState (const Basda::ServiceStateMachine &_state)
 
void sendStateStatus (const std::string &_action, int _percent)
 
void setState (Basda::ServiceState _next)
 
virtual void waitForNewState ()
 
virtual bool timedWaitForNewState (const Nice::Time &_timeout)
 
virtual void preinit ()
 
virtual void packin ()
 
virtual void errorOffline ()
 
virtual void errorWorking ()
 
virtual void idleStandby ()
 
- Protected Attributes inherited from Basda::ServiceWorkerSkeleton
Nice::Completion m_completion
 
Nice::I64 m_id
 
Nice::PropertyPtr m_cmd
 
- Protected Attributes inherited from Basda::ServiceWorker
Nice::JointPtr m_config
 
Nice::PropertyPtr m_state
 
std::string m_name
 
- Static Protected Attributes inherited from Basda::ServiceWorker
static BranchTable s_stateTable
 A table which tells which state should go via which intermediate state to a target state. The 6 states are SHUTDOWN, OFFLINE, STANDBY, ONLINE, WORKING and ERROR. The principles are that. More...
 

Member Typedef Documentation

◆ ImageType [1/2]

template<typename Type = Nice::U16>
typedef Basda::Image<Type> Laos::WfcLoopService< Type >::ImageType
private

◆ ImageType [2/2]

template<typename Type = Nice::U16>
typedef Basda::Image<Type> Laos::WfcLoopService< Type >::ImageType
private

◆ ImageTypePtr [1/2]

template<typename Type = Nice::U16>
typedef IceUtil::Handle<ImageType> Laos::WfcLoopService< Type >::ImageTypePtr
private

◆ ImageTypePtr [2/2]

template<typename Type = Nice::U16>
typedef IceUtil::Handle<ImageType> Laos::WfcLoopService< Type >::ImageTypePtr
private

◆ SeqLoopType [1/2]

template<typename Type = Nice::U16>
typedef std::vector<float> Laos::WfcLoopService< Type >::SeqLoopType
private

◆ SeqLoopType [2/2]

template<typename Type = Nice::U16>
typedef std::vector<float> Laos::WfcLoopService< Type >::SeqLoopType
private

◆ VinoDeviceType [1/2]

template<typename Type = Nice::U16>
typedef Basda::VinoDevice<Type> Laos::WfcLoopService< Type >::VinoDeviceType
private

◆ VinoDeviceType [2/2]

template<typename Type = Nice::U16>
typedef Basda::VinoDevice<Type> Laos::WfcLoopService< Type >::VinoDeviceType
private

◆ VinoDeviceTypePtr [1/2]

template<typename Type = Nice::U16>
typedef IceUtil::Handle<VinoDeviceType> Laos::WfcLoopService< Type >::VinoDeviceTypePtr
private

◆ VinoDeviceTypePtr [2/2]

template<typename Type = Nice::U16>
typedef IceUtil::Handle<VinoDeviceType> Laos::WfcLoopService< Type >::VinoDeviceTypePtr
private

◆ WfcIfServiceWorkerPtr [1/2]

template<typename Type = Nice::U16>
typedef IceUtil::Handle<WfcIfType> Laos::WfcLoopService< Type >::WfcIfServiceWorkerPtr
private

◆ WfcIfServiceWorkerPtr [2/2]

template<typename Type = Nice::U16>
typedef IceUtil::Handle<WfcIfType> Laos::WfcLoopService< Type >::WfcIfServiceWorkerPtr
private

◆ WfcIfType [1/2]

template<typename Type = Nice::U16>
typedef WfcIfServiceWorker<Type> Laos::WfcLoopService< Type >::WfcIfType
private

◆ WfcIfType [2/2]

template<typename Type = Nice::U16>
typedef WfcIfServiceWorker<Type> Laos::WfcLoopService< Type >::WfcIfType
private

◆ WfcLoopDeviceType [1/2]

template<typename Type = Nice::U16>
typedef WfcLoopDevice<Type> Laos::WfcLoopService< Type >::WfcLoopDeviceType
private

◆ WfcLoopDeviceType [2/2]

template<typename Type = Nice::U16>
typedef WfcLoopDevice<Type> Laos::WfcLoopService< Type >::WfcLoopDeviceType
private

◆ WfcLoopDeviceTypePtr [1/2]

template<typename Type = Nice::U16>
typedef IceUtil::Handle<WfcLoopDeviceType> Laos::WfcLoopService< Type >::WfcLoopDeviceTypePtr
private

◆ WfcLoopDeviceTypePtr [2/2]

template<typename Type = Nice::U16>
typedef IceUtil::Handle<WfcLoopDeviceType> Laos::WfcLoopService< Type >::WfcLoopDeviceTypePtr
private

Constructor & Destructor Documentation

◆ WfcLoopService() [1/2]

template<typename Type >
Laos::WfcLoopService< Type >::WfcLoopService ( const Nice::JointPtr _config)

Parameters
_config

◆ ~WfcLoopService() [1/2]

template<typename Type = Nice::U16>
virtual Laos::WfcLoopService< Type >::~WfcLoopService ( )
inlinevirtual

◆ WfcLoopService() [2/2]

template<typename Type = Nice::U16>
Laos::WfcLoopService< Type >::WfcLoopService ( const Nice::JointPtr _config)

◆ ~WfcLoopService() [2/2]

template<typename Type = Nice::U16>
virtual Laos::WfcLoopService< Type >::~WfcLoopService ( )
inlinevirtual

Member Function Documentation

◆ abort() [1/2]

template<typename Type >
void Laos::WfcLoopService< Type >::abort ( void  )
virtual

Reimplemented from Basda::ServiceWorkerSkeleton.

◆ abort() [2/2]

template<typename Type = Nice::U16>
virtual void Laos::WfcLoopService< Type >::abort ( void  )
virtual

does nothing.


Reimplemented from Basda::ServiceWorkerSkeleton.

◆ activate() [1/2]

template<typename Type = Nice::U16>
virtual void Laos::WfcLoopService< Type >::activate ( )
virtual

Implements Basda::ServiceWorker.

◆ activate() [2/2]

template<typename Type >
void Laos::WfcLoopService< Type >::activate ( )
virtual

Implements Basda::ServiceWorker.

◆ closeLoop() [1/2]

template<typename Type = Nice::U16>
virtual void Laos::WfcLoopService< Type >::closeLoop ( )
inlinevirtual

◆ closeLoop() [2/2]

template<typename Type = Nice::U16>
virtual void Laos::WfcLoopService< Type >::closeLoop ( )
inlinevirtual

◆ createFlat() [1/2]

template<typename Type = Nice::U16>
void Laos::WfcLoopService< Type >::createFlat ( Basda::Image< float > &  _image)
private

◆ createFlat() [2/2]

template<typename Type = Nice::U16>
void Laos::WfcLoopService< Type >::createFlat ( Basda::Image< float > &  _image)
private

◆ deactivate() [1/2]

template<typename Type >
void Laos::WfcLoopService< Type >::deactivate ( )
virtual

Implements Basda::ServiceWorker.

◆ deactivate() [2/2]

template<typename Type = Nice::U16>
virtual void Laos::WfcLoopService< Type >::deactivate ( )
virtual

Implements Basda::ServiceWorker.

◆ deinit() [1/2]

template<typename Type >
void Laos::WfcLoopService< Type >::deinit ( )
virtual

Implements Basda::ServiceWorker.

◆ deinit() [2/2]

template<typename Type = Nice::U16>
virtual void Laos::WfcLoopService< Type >::deinit ( )
virtual

Implements Basda::ServiceWorker.

◆ enableDisturbance() [1/2]

template<typename Type >
void Laos::WfcLoopService< Type >::enableDisturbance ( bool  _disturb)
virtual

Parameters
_disturb

Implements Laos::WfcCommonsServiceWorkerSkeleton.

◆ enableDisturbance() [2/2]

template<typename Type = Nice::U16>
virtual void Laos::WfcLoopService< Type >::enableDisturbance ( bool  _disturb)
virtual

◆ enableLinearize() [1/2]

template<typename Type = Nice::U16>
virtual void Laos::WfcLoopService< Type >::enableLinearize ( bool  _linearize)
virtual

◆ enableLinearize() [2/2]

template<typename Type >
void Laos::WfcLoopService< Type >::enableLinearize ( bool  _linearize)
virtual

Parameters
_linearize

Implements Laos::WfcCommonsServiceWorkerSkeleton.

◆ errorOnline() [1/2]

template<typename Type >
void Laos::WfcLoopService< Type >::errorOnline ( )
virtual

Reimplemented from Basda::ServiceWorker.

◆ errorOnline() [2/2]

template<typename Type = Nice::U16>
virtual void Laos::WfcLoopService< Type >::errorOnline ( )
virtual

set the target state to OFFLINE.


Reimplemented from Basda::ServiceWorker.

◆ errorStandby() [1/2]

template<typename Type >
void Laos::WfcLoopService< Type >::errorStandby ( )
virtual

Reimplemented from Basda::ServiceWorker.

◆ errorStandby() [2/2]

template<typename Type = Nice::U16>
virtual void Laos::WfcLoopService< Type >::errorStandby ( )
virtual

set the target state to OFFLINE.


Reimplemented from Basda::ServiceWorker.

◆ getSlopeMask() [1/2]

template<typename Type >
Nice::SeqDynamicBitset Laos::WfcLoopService< Type >::getSlopeMask ( )
virtual

◆ getSlopeMask() [2/2]

template<typename Type = Nice::U16>
virtual Nice::SeqDynamicBitset Laos::WfcLoopService< Type >::getSlopeMask ( )
virtual

◆ idleOffline() [1/2]

template<typename Type = Nice::U16>
virtual void Laos::WfcLoopService< Type >::idleOffline ( )
virtual

wait for a state change.


Reimplemented from Basda::ServiceWorker.

◆ idleOffline() [2/2]

template<typename Type >
void Laos::WfcLoopService< Type >::idleOffline ( )
virtual

Reimplemented from Basda::ServiceWorker.

◆ idleOnline() [1/2]

template<typename Type >
void Laos::WfcLoopService< Type >::idleOnline ( )
virtual

Reimplemented from Basda::ServiceWorker.

◆ idleOnline() [2/2]

template<typename Type = Nice::U16>
virtual void Laos::WfcLoopService< Type >::idleOnline ( )
virtual

wait for a state change.


Reimplemented from Basda::ServiceWorker.

◆ init() [1/2]

template<typename Type >
void Laos::WfcLoopService< Type >::init ( )
virtual

Implements Basda::ServiceWorker.

◆ init() [2/2]

template<typename Type = Nice::U16>
virtual void Laos::WfcLoopService< Type >::init ( )
virtual

Implements Basda::ServiceWorker.

◆ initLoop() [1/2]

template<typename Type >
void Laos::WfcLoopService< Type >::initLoop ( )
virtual

◆ initLoop() [2/2]

template<typename Type = Nice::U16>
virtual void Laos::WfcLoopService< Type >::initLoop ( )
virtual

◆ initNodes() [1/2]

template<typename Type = Nice::U16>
void Laos::WfcLoopService< Type >::initNodes ( )
private

◆ initNodes() [2/2]

template<typename Type >
void Laos::WfcLoopService< Type >::initNodes ( )
private

◆ loadMask() [1/2]

template<typename Type = Nice::U16>
virtual void Laos::WfcLoopService< Type >::loadMask ( Nice::File  _maskfile)
virtual

◆ loadMask() [2/2]

template<typename Type >
void Laos::WfcLoopService< Type >::loadMask ( Nice::File  _maskfile)
virtual

Parameters
_masfile

Implements Laos::WfcCommonsServiceWorkerSkeleton.

◆ loadSlopeOffset() [1/2]

template<typename Type = Nice::U16>
virtual void Laos::WfcLoopService< Type >::loadSlopeOffset ( Nice::File  _slopeOffset)
virtual

◆ loadSlopeOffset() [2/2]

template<typename Type >
void Laos::WfcLoopService< Type >::loadSlopeOffset ( Nice::File  _slopeOffset)
virtual

Parameters
_slopeOffset

Implements Laos::WfcCommonsServiceWorkerSkeleton.

◆ printerror() [1/2]

template<typename Type = Nice::U16>
void Laos::WfcLoopService< Type >::printerror ( int  status)
private

◆ printerror() [2/2]

template<typename Type >
void Laos::WfcLoopService< Type >::printerror ( int  status)
private

Parameters
status

◆ resetLoop() [1/2]

template<typename Type = Nice::U16>
virtual void Laos::WfcLoopService< Type >::resetLoop ( )
virtual

◆ resetLoop() [2/2]

template<typename Type >
void Laos::WfcLoopService< Type >::resetLoop ( )
virtual

◆ send2DM() [1/2]

template<typename Type = Nice::U16>
virtual void Laos::WfcLoopService< Type >::send2DM ( bool  SEND)
virtual

◆ send2DM() [2/2]

template<typename Type >
void Laos::WfcLoopService< Type >::send2DM ( bool  _send)
virtual

Parameters
_send

Implements Laos::WfcCommonsServiceWorkerSkeleton.

◆ setAndClose() [1/2]

template<typename Type = Nice::U16>
virtual void Laos::WfcLoopService< Type >::setAndClose ( )
virtual

◆ setAndClose() [2/2]

template<typename Type >
void Laos::WfcLoopService< Type >::setAndClose ( )
virtual

Parameters
_config

Implements Laos::WfcCommonsServiceWorkerSkeleton.

◆ setLinearisation() [1/2]

template<typename Type = Nice::U16>
virtual void Laos::WfcLoopService< Type >::setLinearisation ( Nice::SeqFloat  _linVec)
virtual

◆ setLinearisation() [2/2]

template<typename Type >
void Laos::WfcLoopService< Type >::setLinearisation ( Nice::SeqFloat  _linVec)
virtual

Parameters
_linVec

Implements Laos::WfcCommonsServiceWorkerSkeleton.

◆ setMask() [1/2]

template<typename Type = Nice::U16>
virtual void Laos::WfcLoopService< Type >::setMask ( Nice::SeqDynamicBitset  _mask = Nice::SeqDynamicBitset())
virtual

◆ setMask() [2/2]

template<typename Type >
void Laos::WfcLoopService< Type >::setMask ( Nice::SeqDynamicBitset  _mask = Nice::SeqDynamicBitset())
virtual

Parameters
_mask

Implements Laos::WfcCommonsServiceWorkerSkeleton.

◆ setNormalizeMethod() [1/2]

template<typename Type = Nice::U16>
virtual void Laos::WfcLoopService< Type >::setNormalizeMethod ( Nice::U16  _normMethod)
virtual

◆ setNormalizeMethod() [2/2]

template<typename Type >
void Laos::WfcLoopService< Type >::setNormalizeMethod ( Nice::U16  _normMethod)
virtual

Parameters
_normMethod

Implements Laos::WfcCommonsServiceWorkerSkeleton.

◆ setPupil() [1/2]

template<typename Type = Nice::U16>
virtual void Laos::WfcLoopService< Type >::setPupil ( float  _size,
Nice::SeqPoint  _center 
)
virtual

◆ setPupil() [2/2]

template<typename Type >
void Laos::WfcLoopService< Type >::setPupil ( float  _size,
Nice::SeqPoint  _center 
)
virtual

Parameters
_center

◆ setSlopeNormConst() [1/2]

template<typename Type = Nice::U16>
virtual void Laos::WfcLoopService< Type >::setSlopeNormConst ( float  _normConst)
virtual

◆ setSlopeNormConst() [2/2]

template<typename Type >
void Laos::WfcLoopService< Type >::setSlopeNormConst ( float  _normConst)
virtual

Parameters
_normConst

Implements Laos::WfcCommonsServiceWorkerSkeleton.

◆ setSlopeOffset() [1/2]

template<typename Type >
void Laos::WfcLoopService< Type >::setSlopeOffset ( Nice::SeqFloat  _slopeOffset)
virtual

Parameters
_slopeOffset

Implements Laos::WfcCommonsServiceWorkerSkeleton.

◆ setSlopeOffset() [2/2]

template<typename Type = Nice::U16>
virtual void Laos::WfcLoopService< Type >::setSlopeOffset ( Nice::SeqFloat  _slopeOffset)
virtual

◆ startLoop() [1/2]

template<typename Type >
Nice::Int Laos::WfcLoopService< Type >::startLoop ( Nice::U32  _nframes)
virtual

Parameters
_nframes
Returns

Implements Laos::WfcCommonsServiceWorkerSkeleton.

◆ startLoop() [2/2]

template<typename Type = Nice::U16>
virtual Nice::Int Laos::WfcLoopService< Type >::startLoop ( Nice::U32  _nframes)
virtual

◆ startRandomPixelGen() [1/2]

template<typename Type = Nice::U16>
virtual void Laos::WfcLoopService< Type >::startRandomPixelGen ( )
inlinevirtual

◆ startRandomPixelGen() [2/2]

template<typename Type = Nice::U16>
virtual void Laos::WfcLoopService< Type >::startRandomPixelGen ( )
inlinevirtual

◆ stop() [1/2]

template<typename Type = Nice::U16>
virtual void Laos::WfcLoopService< Type >::stop ( )
virtual

does nothing.


Reimplemented from Basda::ServiceWorkerSkeleton.

◆ stop() [2/2]

template<typename Type >
void Laos::WfcLoopService< Type >::stop ( )
virtual

Reimplemented from Basda::ServiceWorkerSkeleton.

◆ stopLoop() [1/2]

template<typename Type = Nice::U16>
virtual void Laos::WfcLoopService< Type >::stopLoop ( )
virtual

◆ stopLoop() [2/2]

template<typename Type >
void Laos::WfcLoopService< Type >::stopLoop ( )
virtual

Parameters
_config

Implements Laos::WfcCommonsServiceWorkerSkeleton.

◆ takeAndStoreImage() [1/2]

template<typename Type = Nice::U16>
void Laos::WfcLoopService< Type >::takeAndStoreImage ( Nice::File  _file,
Nice::U16  _num 
)
private

◆ takeAndStoreImage() [2/2]

template<typename Type = Nice::U16>
void Laos::WfcLoopService< Type >::takeAndStoreImage ( Nice::File  _file,
Nice::U16  _num 
)
private

◆ terminate() [1/2]

template<typename Type >
void Laos::WfcLoopService< Type >::terminate ( )
virtual

Only if you want to wakeup every "CFG.INTERVAL" void Laos::WfcLoopService::idleOnline() { D_LOG ( m_name << " --online idle-> " << state() << "::" << m_config->leaf("STATE")); m_state->set<Basda::ServiceStateMachine>(m_state->get<Basda::ServiceStateMachine>().set("SLEEP", 0)); bool rc = m_stateMachine.timedWaitForNewState ( m_config->getAtNode<Nice::Time> ( "CFG.INTERVAL" ) ); if ( !rc ) m_stateMachine.setIfSettled ( Basda::WORKING ); };.


Reimplemented from Basda::ServiceWorker.

◆ terminate() [2/2]

template<typename Type = Nice::U16>
virtual void Laos::WfcLoopService< Type >::terminate ( )
virtual

schedule EXIT as the next target state.


Reimplemented from Basda::ServiceWorker.

◆ toggleSend2DM() [1/2]

template<typename Type = Nice::U16>
virtual void Laos::WfcLoopService< Type >::toggleSend2DM ( )
virtual

◆ toggleSend2DM() [2/2]

template<typename Type >
void Laos::WfcLoopService< Type >::toggleSend2DM ( )
virtual

Member Data Documentation

◆ m_deviceAsync

template<typename Type = Nice::U16>
DeviceAsyncImpl Laos::WfcLoopService< Type >::m_deviceAsync
private

◆ m_deviceCamera

template<typename Type = Nice::U16>
VinoDeviceTypePtr Laos::WfcLoopService< Type >::m_deviceCamera
private

◆ m_deviceCmdAsync

template<typename Type = Nice::U16>
DeviceCmdAsyncImpl Laos::WfcLoopService< Type >::m_deviceCmdAsync
private

◆ m_deviceDM

template<typename Type = Nice::U16>
Laos::XineticsCoreDevicePtr Laos::WfcLoopService< Type >::m_deviceDM
private

◆ m_deviceLoop

template<typename Type = Nice::U16>
WfcLoopDeviceTypePtr Laos::WfcLoopService< Type >::m_deviceLoop
private

◆ m_monitor

template<typename Type = Nice::U16>
Nice::Monitor Laos::WfcLoopService< Type >::m_monitor
private

◆ m_mutex

template<typename Type = Nice::U16>
Nice::Mutex Laos::WfcLoopService< Type >::m_mutex
private

◆ m_serviceCam

template<typename Type = Nice::U16>
Basda::VinoCameraCtrlServiceWorkerInterfacePtr Laos::WfcLoopService< Type >::m_serviceCam
private

◆ m_serviceWriter

template<typename Type = Nice::U16>
Basda::VinoCameraFitsWriterServiceWorkerInterfacePtr Laos::WfcLoopService< Type >::m_serviceWriter
private

◆ m_wfcIf

template<typename Type = Nice::U16>
WfcIfServiceWorkerPtr Laos::WfcLoopService< Type >::m_wfcIf
private

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