ifw  0.0.1-dev
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
sensor.hpp
Go to the documentation of this file.
1 
10 #ifndef DEVMGR_DEVICE_SENSOR_HPP
11 #define DEVMGR_DEVICE_SENSOR_HPP
12 
13 #include <fcf/common/dispatcher.hpp>
14 
15 #include <devmgr/common/device.hpp>
16 #include <devmgr/common/iDeviceConfig.hpp>
17 #include <devmgr/devices/sensorConfig.hpp>
18 #include <devmgr/devices/sensorLcsIf.hpp>
19 #include <devmgr/common/dataContext.hpp>
20 
21 namespace devmgr {
22  namespace sensor {
23 
42  class Sensor : public devmgr::common::Device {
43 
44  public:
51  Sensor(const std::string& filename,
52  const std::string& name,
53  devmgr::common::DataContext& data_ctx);
54 
66  void CreateObjects(std::shared_ptr<devmgr::common::IDeviceConfig> config = nullptr);
67 
83  void RegisterComm(std::shared_ptr<fcf::common::IComm> comm_if,
84  fcf::common::Dispatcher<>& failure,
85  fcf::common::Dispatcher<>& normal);
86 
92  virtual bool IsDisabling() const;
93 
101  virtual void Setup(const modif::ReqSetup& setupMsg);
102 
115  virtual bool IsSetupActive(const modif::ReqSetup& setupMsg) const;
116 
122  virtual void Status(const modif::ReqStatus& statusMsg, std::string& buffer);
123 
134  virtual void Status(bool end_acq,
135  const dit::did::Did& dictionary,
136  CCfits::FITS* fits_handle = nullptr);
137 
144  virtual void UpdateStatus();
145 
150  virtual std::shared_ptr<devmgr::common::DeviceLcsIf> GetLcsIf() const;
151 
157  virtual std::shared_ptr<devmgr::common::IDeviceConfig> GetConfig() const;
158 
159  protected:
161  SensorControllerData m_controller_status;
162  fcf::common::VectorVariant m_sensor_list;
164  std::shared_ptr<SensorConfig> m_config;
165 
166  // Local Control System Interface
167  std::shared_ptr<SensorLcsIf> m_lcs_if;
168  };
169  }
170 }
171 
172 
173 #endif //DEVMGR_DEVICE_SENSOR_HPP
void RegisterComm(std::shared_ptr< fcf::common::IComm > comm_if, fcf::common::Dispatcher<> &failure, fcf::common::Dispatcher<> &normal)
Register a communication interface object.
Definition: sensor.cpp:94
virtual bool IsDisabling() const
Check if sensor is disablig.
Definition: sensor.cpp:116
std::shared_ptr< SensorConfig > m_config
Definition: sensor.hpp:164
Definition: device.hpp:32
Definition: requests.pb.h:5446
fcf::common::VectorVariant m_sensor_list
pointer to device config object
Definition: sensor.hpp:162
virtual bool IsSetupActive(const modif::ReqSetup &setupMsg) const
Check if last setup message is still active.
Definition: sensor.cpp:130
std::shared_ptr< SensorLcsIf > m_lcs_if
Definition: sensor.hpp:167
void CreateObjects(std::shared_ptr< devmgr::common::IDeviceConfig > config=nullptr)
Create object instances.
virtual void UpdateStatus()
Update the status of the Sensor device in the OLDB.
Definition: sensor.cpp:140
SensorControllerData m_controller_status
&lt; object containing the status of the controller
Definition: sensor.hpp:161
virtual void Status(const modif::ReqStatus &statusMsg, std::string &buffer)
Obtain the status of the device.
Definition: sensor.cpp:195
Definition: dataContext.hpp:73
Sensor(const std::string &filename, const std::string &name, devmgr::common::DataContext &data_ctx)
Sensor constructor.
Definition: sensor.cpp:29
virtual std::shared_ptr< devmgr::common::DeviceLcsIf > GetLcsIf() const
Definition: sensor.cpp:104
Data Interface Dictionary class.
Definition: Did.hpp:25
virtual std::shared_ptr< devmgr::common::IDeviceConfig > GetConfig() const
Get a pointer of device configuration.
Definition: sensor.cpp:110
Definition: requests.pb.h:1584
virtual void Setup(const modif::ReqSetup &setupMsg)
Executes a setup of the sensor device.
Definition: sensor.cpp:123
optional string name
Definition: topics.proto:50