ifw
0.0.1-dev
|
#include <shutter.hpp>
Public Member Functions | |
Shutter (const std::string filename, const std::string name, devmgr::common::DataContext &data_ctx) | |
Shutter constructor. More... | |
void | CreateObjects (std::shared_ptr< devmgr::common::IDeviceConfig > config=nullptr) |
Create object instances. More... | |
void | RegisterComm (std::shared_ptr< fcf::common::IComm > comm_if, fcf::common::Dispatcher<> &failure, fcf::common::Dispatcher<> &normal) |
Register a communication interface object. More... | |
virtual void | UpdateStatus () |
Update the status of the shutter device in the OLDB. More... | |
virtual void | Setup (const modif::ReqSetup &setupMsg) |
Executes a setup of the shutter device. More... | |
virtual bool | IsSetupActive (const modif::ReqSetup &setupMsg) const |
Check if last setup message is still active. More... | |
virtual void | Status (const modif::ReqStatus &statusMsg, std::string &buffer) |
Obtain the status of the device. More... | |
virtual void | Status (bool end_acq, const dit::did::Did &dictionary, CCfits::FITS *fits_handle=nullptr) |
Obtain the status of the device. More... | |
virtual std::shared_ptr < devmgr::common::DeviceLcsIf > | GetLcsIf () const |
virtual std::shared_ptr < devmgr::common::IDeviceConfig > | GetConfig () const |
Get a pointer of device configuration. More... | |
Shutter (const std::string filename, const std::string name, devmgr::common::DataContext &data_ctx) | |
Shutter constructor. More... | |
void | CreateObjects (std::shared_ptr< devmgr::common::IDeviceConfig > config=nullptr) |
Create object instances. More... | |
void | RegisterComm (std::shared_ptr< fcf::common::IComm > comm_if, fcf::common::Dispatcher<> &failure, fcf::common::Dispatcher<> &normal) |
Register a communication interface object. More... | |
virtual void | UpdateStatus () |
Update the status of the shutter device in the OLDB. More... | |
virtual void | Setup (const modif::ReqSetup &setupMsg) |
Executes a setup of the shutter device. More... | |
virtual bool | IsSetupActive (const modif::ReqSetup &setupMsg) const |
Check if last setup message is still active. More... | |
virtual void | Status (const modif::ReqStatus &statusMsg, std::string &buffer) |
Obtain the status of the device. More... | |
virtual void | Status (bool end_acq, const dit::did::Did &dictionary, CCfits::FITS *fits_handle=nullptr) |
Obtain the status of the device. More... | |
virtual std::shared_ptr < devmgr::common::DeviceLcsIf > | GetLcsIf () const |
virtual std::shared_ptr < devmgr::common::IDeviceConfig > | GetConfig () const |
Get a pointer of device configuration. More... | |
Shutter (const std::string filename, const std::string name, devmgr::common::DataContext &data_ctx) | |
Shutter constructor. More... | |
void | CreateObjects (std::shared_ptr< devmgr::common::IDeviceConfig > config=nullptr) |
Create object instances. More... | |
void | RegisterComm (std::shared_ptr< fcf::common::IComm > comm_if, fcf::common::Dispatcher<> &failure, fcf::common::Dispatcher<> &normal) |
Register a communication interface object. More... | |
virtual void | UpdateStatus () |
Update the status of the shutter device in the OLDB. More... | |
virtual void | Setup (const modif::ReqSetup &setupMsg) |
Executes a setup of the shutter device. More... | |
virtual bool | IsSetupActive (const modif::ReqSetup &setupMsg) const |
Check if last setup message is still active. More... | |
virtual void | Status (const modif::ReqStatus &statusMsg, std::string &buffer) |
Obtain the status of the device. More... | |
virtual void | Status (bool end_acq, const dit::did::Did &dictionary, CCfits::FITS *fits_handle=nullptr) |
Obtain the status of the device. More... | |
virtual std::shared_ptr < devmgr::common::DeviceLcsIf > | GetLcsIf () const |
virtual std::shared_ptr < devmgr::common::IDeviceConfig > | GetConfig () const |
Get a pointer of device configuration. More... | |
![]() | |
Device (const std::string filename, const std::string name, DataContext &data_ctx) | |
Device abstract class constructor. More... | |
virtual | ~Device () |
Default destructor. More... | |
virtual bool | IsNotReady () const |
Check if device is Standby/NotReady. More... | |
virtual bool | IsReady () const |
Check if device is Standby/Ready. More... | |
virtual bool | IsOperational () const |
Check if device is Operational. More... | |
virtual void | CheckHwFailure () const |
Check if device is in failure state. More... | |
virtual bool | IsDisabling () const |
Check if device is disablig. More... | |
virtual void | Init () |
Executes a Init command. More... | |
virtual void | Enable () |
Executes a Enable command. More... | |
virtual void | Disable () |
Executes a Disable command. More... | |
virtual void | Stop () |
Executes a Stop command. More... | |
virtual void | Reset () |
Executes a Reset command. More... | |
virtual void | HwReset (modif::ReqHwReset &hwResetMsg) |
Executes a hardware reset command. More... | |
virtual void | HwInit (modif::ReqHwInit &hwInitMsg) |
Executes a hardware init command. More... | |
virtual void | HwEnable (modif::ReqHwEnable &hwEnableMsg) |
Executes a hardware enable command. More... | |
virtual void | HwDisable (modif::ReqHwDisable &hwDisableMsg) |
Executes a hardware disable command. More... | |
virtual void | Simulate (const modif::ReqSimulate &msg) |
Executes a Simulat. More... | |
virtual void | StopSim (const modif::ReqStopSim &msg) |
Executes a StopSim. More... | |
virtual void | Ignore (const modif::ReqIgnore &msg) |
Executes a Ignore. More... | |
virtual void | StopIgn (const modif::ReqStopIgn &msg) |
Executes a StopIgn. More... | |
virtual void | StartMonitoring () |
Start device monitoring via OPCUA subscriptions. More... | |
virtual void | StopMonitoring () |
Stop device monitoring. More... | |
virtual std::string | GetName () const |
Get device id. More... | |
Device (const std::string filename, const std::string name, DataContext &data_ctx) | |
Device abstract class constructor. More... | |
virtual | ~Device () |
Default destructor. More... | |
virtual bool | IsNotReady () const |
Check if device is Standby/NotReady. More... | |
virtual bool | IsReady () const |
Check if device is Standby/Ready. More... | |
virtual bool | IsOperational () const |
Check if device is Operational. More... | |
virtual void | CheckHwFailure () const |
Check if device is in failure state. More... | |
virtual bool | IsDisabling () const |
Check if device is disablig. More... | |
virtual void | Init () |
Executes a Init command. More... | |
virtual void | Enable () |
Executes a Enable command. More... | |
virtual void | Disable () |
Executes a Disable command. More... | |
virtual void | Stop () |
Executes a Stop command. More... | |
virtual void | Reset () |
Executes a Reset command. More... | |
virtual void | HwReset (modif::ReqHwReset &hwResetMsg) |
Executes a hardware reset command. More... | |
virtual void | HwInit (modif::ReqHwInit &hwInitMsg) |
Executes a hardware init command. More... | |
virtual void | HwEnable (modif::ReqHwEnable &hwEnableMsg) |
Executes a hardware enable command. More... | |
virtual void | HwDisable (modif::ReqHwDisable &hwDisableMsg) |
Executes a hardware disable command. More... | |
virtual void | Simulate (const modif::ReqSimulate &msg) |
Executes a Simulat. More... | |
virtual void | StopSim (const modif::ReqStopSim &msg) |
Executes a StopSim. More... | |
virtual void | Ignore (const modif::ReqIgnore &msg) |
Executes a Ignore. More... | |
virtual void | StopIgn (const modif::ReqStopIgn &msg) |
Executes a StopIgn. More... | |
virtual void | StartMonitoring () |
Start device monitoring via OPCUA subscriptions. More... | |
virtual void | StopMonitoring () |
Stop device monitoring. More... | |
virtual std::string | GetName () const |
Get device id. More... | |
Device (const std::string filename, const std::string name, DataContext &data_ctx) | |
Device abstract class constructor. More... | |
virtual | ~Device () |
Default destructor. More... | |
virtual bool | IsNotReady () const |
Check if device is Standby/NotReady. More... | |
virtual bool | IsReady () const |
Check if device is Standby/Ready. More... | |
virtual bool | IsOperational () const |
Check if device is Operational. More... | |
virtual void | CheckHwFailure () const |
Check if device is in failure state. More... | |
virtual bool | IsDisabling () const |
Check if device is disablig. More... | |
virtual void | Init () |
Executes a Init command. More... | |
virtual void | Enable () |
Executes a Enable command. More... | |
virtual void | Disable () |
Executes a Disable command. More... | |
virtual void | Stop () |
Executes a Stop command. More... | |
virtual void | Reset () |
Executes a Reset command. More... | |
virtual void | HwReset (modif::ReqHwReset &hwResetMsg) |
Executes a hardware reset command. More... | |
virtual void | HwInit (modif::ReqHwInit &hwInitMsg) |
Executes a hardware init command. More... | |
virtual void | HwEnable (modif::ReqHwEnable &hwEnableMsg) |
Executes a hardware enable command. More... | |
virtual void | HwDisable (modif::ReqHwDisable &hwDisableMsg) |
Executes a hardware disable command. More... | |
virtual void | Simulate (const modif::ReqSimulate &msg) |
Executes a Simulat. More... | |
virtual void | StopSim (const modif::ReqStopSim &msg) |
Executes a StopSim. More... | |
virtual void | Ignore (const modif::ReqIgnore &msg) |
Executes a Ignore. More... | |
virtual void | StopIgn (const modif::ReqStopIgn &msg) |
Executes a StopIgn. More... | |
virtual void | StartMonitoring () |
Start device monitoring via OPCUA subscriptions. More... | |
virtual void | StopMonitoring () |
Stop device monitoring. More... | |
virtual std::string | GetName () const |
Get device id. More... | |
![]() | |
virtual void | CreateObjects (std::shared_ptr< devmgr::common::IDeviceConfig > config=nullptr)=0 |
Create basic objects needed by the device class. More... | |
virtual void | CreateObjects (std::shared_ptr< devmgr::common::IDeviceConfig > config=nullptr)=0 |
Create basic objects needed by the device class. More... | |
virtual void | CreateObjects (std::shared_ptr< devmgr::common::IDeviceConfig > config=nullptr)=0 |
Create basic objects needed by the device class. More... | |
Protected Attributes | |
ShutterControllerData | m_controller_status |
< object containing the status of the controller More... | |
std::shared_ptr< ShutterConfig > | m_config |
Local Control System Interface. More... | |
std::shared_ptr< ShutterLcsIf > | m_lcs_if |
![]() | |
std::string | m_filename |
device configuration filename. More... | |
std::string | m_name |
device ID. More... | |
DataContext & | m_data_ctx |
reference to the data context object. More... | |
fcf::common::Dispatcher | m_failure |
fcf::common::Dispatcher | m_normal |
std::shared_ptr< DeviceConfig > | m_config |
std::shared_ptr< DeviceLcsIf > | m_lcs_if |
Additional Inherited Members | |
![]() | |
bool | IsMsgForMe (const std::string &id) const |
Check if received message id is addressed to me. More... | |
void | UpdateDb (std::vector< std::string > attr_vector) |
Update device database. More... | |
void | SetIgnore (bool flag) |
SetIgnore. More... | |
void | SetSimulation (bool flag) |
SetSimulation. More... | |
void | GetPrefix (const std::vector< std::string > prefix_list, std::string &prefix) |
Get prefix for writing attributes to the DB. More... | |
bool | IsMsgForMe (const std::string &id) const |
Check if received message id is addressed to me. More... | |
void | UpdateDb (std::vector< std::string > attr_vector) |
Update device database. More... | |
void | SetIgnore (bool flag) |
SetIgnore. More... | |
void | SetSimulation (bool flag) |
SetSimulation. More... | |
void | GetPrefix (const std::vector< std::string > prefix_list, std::string &prefix) |
Get prefix for writing attributes to the DB. More... | |
bool | IsMsgForMe (const std::string &id) const |
Check if received message id is addressed to me. More... | |
void | UpdateDb (std::vector< std::string > attr_vector) |
Update device database. More... | |
void | SetIgnore (bool flag) |
SetIgnore. More... | |
void | SetSimulation (bool flag) |
SetSimulation. More... | |
void | GetPrefix (const std::vector< std::string > prefix_list, std::string &prefix) |
Get prefix for writing attributes to the DB. More... | |
The Shutter class.
This class handles the behaviour of a generic shutter device. The Shutter class have two auxiliary objects. One for managing the device configuration and the other one for managing the connection to the device controller running in the Local Control System (LCS). These two objects are created in the class constructor. These objects inherits basic behaviours from their parent classes.
devmgr::shutter::Shutter::Shutter | ( | const std::string | filename, |
const std::string | name, | ||
devmgr::common::DataContext & | data_ctx | ||
) |
Shutter constructor.
[in] | filename | filename of shutter configuration file |
[in] | name | shutter identifier |
[in] | data_ctx | reference to data context object |
devmgr::shutter::Shutter::Shutter | ( | const std::string | filename, |
const std::string | name, | ||
devmgr::common::DataContext & | data_ctx | ||
) |
Shutter constructor.
[in] | filename | filename of shutter configuration file |
[in] | name | shutter identifier |
[in] | data_ctx | reference to data context object |
devmgr::shutter::Shutter::Shutter | ( | const std::string | filename, |
const std::string | name, | ||
devmgr::common::DataContext & | data_ctx | ||
) |
Shutter constructor.
[in] | filename | filename of shutter configuration file |
[in] | name | shutter identifier |
[in] | data_ctx | reference to data context object |
void devmgr::shutter::Shutter::CreateObjects | ( | std::shared_ptr< devmgr::common::IDeviceConfig > | config = nullptr | ) |
Create object instances.
config | Shared pointer to a device config object |
This method creates the instances of the device configuration and LCS interface objects that are needed by the device. If can override the type of the configuration by passing a parameter otherwise it will use the default ShutterConfig.
void devmgr::shutter::Shutter::CreateObjects | ( | std::shared_ptr< devmgr::common::IDeviceConfig > | config = nullptr | ) |
Create object instances.
config | Shared pointer to a device config object |
This method creates the instances of the device configuration and LCS interface objects that are needed by the device. If can override the type of the configuration by passing a parameter otherwise it will use the default ShutterConfig.
void devmgr::shutter::Shutter::CreateObjects | ( | std::shared_ptr< devmgr::common::IDeviceConfig > | config = nullptr | ) |
Create object instances.
config | Shared pointer to a device config object |
This method creates the instances of the device configuration and LCS interface objects that are needed by the device. If can override the type of the configuration by passing a parameter otherwise it will use the default ShutterConfig.
|
virtual |
Get a pointer of device configuration.
Implements devmgr::common::Device.
|
virtual |
Get a pointer of device configuration.
Implements devmgr::common::Device.
|
virtual |
Get a pointer of device configuration.
Implements devmgr::common::Device.
|
virtual |
Implements devmgr::common::Device.
|
virtual |
Implements devmgr::common::Device.
|
virtual |
Implements devmgr::common::Device.
|
virtual |
Check if last setup message is still active.
[in] | setupMsg | setup message associated with the action |
In case an error with the hardware while waiting for the setup to finish, the method will catch the exception and rethrow a new one with more context information.
an | exception if an error ocurrs. |
Implements devmgr::common::Device.
|
virtual |
Check if last setup message is still active.
[in] | setupMsg | setup message associated with the action |
In case an error with the hardware while waiting for the setup to finish, the method will catch the exception and rethrow a new one with more context information.
an | exception if an error ocurrs. |
Implements devmgr::common::Device.
|
virtual |
Check if last setup message is still active.
[in] | setupMsg | setup message associated with the action |
In case an error with the hardware while waiting for the setup to finish, the method will catch the exception and rethrow a new one with more context information.
an | exception if an error ocurrs. |
Implements devmgr::common::Device.
|
virtual |
Register a communication interface object.
[in] | comm_if | shared pointer to the communication interface object |
[in] | failure | dispatcher object for failure events |
[in] | normal | dispatcher object for recovery of failure events. |
This method register a particular communication interface. Most of the devices will use OPCUA but there might be several implementations so with this method one can register an interface that has been created previously and registered in the communication factory.
Implements devmgr::common::Device.
|
virtual |
Register a communication interface object.
[in] | comm_if | shared pointer to the communication interface object |
[in] | failure | dispatcher object for failure events |
[in] | normal | dispatcher object for recovery of failure events. |
This method register a particular communication interface. Most of the devices will use OPCUA but there might be several implementations so with this method one can register an interface that has been created previously and registered in the communication factory.
Implements devmgr::common::Device.
|
virtual |
Register a communication interface object.
[in] | comm_if | shared pointer to the communication interface object |
[in] | failure | dispatcher object for failure events |
[in] | normal | dispatcher object for recovery of failure events. |
This method register a particular communication interface. Most of the devices will use OPCUA but there might be several implementations so with this method one can register an interface that has been created previously and registered in the communication factory.
Implements devmgr::common::Device.
|
virtual |
Executes a setup of the shutter device.
[in] | setupMsg | contains the payload of the setup message. |
an | exception if an error ocurrs. |
Implements devmgr::common::Device.
|
virtual |
Executes a setup of the shutter device.
[in] | setupMsg | contains the payload of the setup message. |
an | exception if an error ocurrs. |
Implements devmgr::common::Device.
|
virtual |
Executes a setup of the shutter device.
[in] | setupMsg | contains the payload of the setup message. |
an | exception if an error ocurrs. |
Implements devmgr::common::Device.
|
virtual |
Obtain the status of the device.
statusMsg | Status message object |
buffer | Buffer where the status will be written |
Implements devmgr::common::Device.
|
virtual |
Obtain the status of the device.
statusMsg | Status message object |
buffer | Buffer where the status will be written |
Implements devmgr::common::Device.
|
virtual |
Obtain the status of the device.
statusMsg | Status message object |
buffer | Buffer where the status will be written |
Implements devmgr::common::Device.
|
virtual |
Obtain the status of the device.
end_acq | Flag to indicate is the end of the acquisition |
dictionary | Reference to the dictionary object |
fits_handle | Pointer to the CCFITS object |
This method will obtain the data from each device and add the corresponding meta-data to the CCfits object. If the end_acq is not true it will just register the start of the acquisition.
Implements devmgr::common::Device.
|
virtual |
Obtain the status of the device.
end_acq | Flag to indicate is the end of the acquisition |
dictionary | Reference to the dictionary object |
fits_handle | Pointer to the CCFITS object |
This method will obtain the data from each device and add the corresponding meta-data to the CCfits object. If the end_acq is not true it will just register the start of the acquisition.
Implements devmgr::common::Device.
|
virtual |
Obtain the status of the device.
end_acq | Flag to indicate is the end of the acquisition |
dictionary | Reference to the dictionary object |
fits_handle | Pointer to the CCFITS object |
This method will obtain the data from each device and add the corresponding meta-data to the CCfits object. If the end_acq is not true it will just register the start of the acquisition.
Implements devmgr::common::Device.
|
virtual |
Update the status of the shutter device in the OLDB.
This method reads the status from the controller and updates the database accordingly.
Implements devmgr::common::Device.
|
virtual |
Update the status of the shutter device in the OLDB.
This method reads the status from the controller and updates the database accordingly.
Implements devmgr::common::Device.
|
virtual |
Update the status of the shutter device in the OLDB.
This method reads the status from the controller and updates the database accordingly.
Implements devmgr::common::Device.
|
protected |
Local Control System Interface.
|
protected |
< object containing the status of the controller
pointer to device config object
|
protected |