|
ifw-fcf
2.0.0
|
Adc Local Control System (LCS) Interface (IF) class. More...
#include <adcLcsIf.hpp>
Public Member Functions | |
| AdcLcsIf (std::shared_ptr< AdcConfig > config, fcf::devmgr::common::DataContext &data_ctx) | |
| adcLcsIf constructor. More... | |
| virtual | ~AdcLcsIf () |
| Default destructor. More... | |
| virtual void | Init () |
| Executes the Init RPC. More... | |
| void | MoveAbs (int axis_id, double position, double velocity) |
| Executes the MoveAbs RPC. More... | |
| void | MoveRel (int axis_id, double position, double velocity) |
| Executes the MoveRel RPC. More... | |
| void | MoveVel (int axis_id, double velocity) |
| Executes the MoveVel RPC. More... | |
| bool | IsMoving () |
| Check if motor is moving. More... | |
| bool | IsStandstill () |
| Check if motor is on. More... | |
| bool | IsTracking () |
| Check if adc is tracking. More... | |
| void | ReadConfig () |
| Read the configuration. More... | |
| std::string | GetMotorMapValue (std::string motor, std::string category, std::string key) |
| void | MoveAngle (double angle) |
| Move adc to a position angle. More... | |
| void | StartTrack (double angle) |
| Start ADC tracking. More... | |
| void | StopTrack () |
| StopTrack. More... | |
| virtual void | ReadStatus (AdcControllerData &status) |
| Read status from the controller. More... | |
| void | StartTrackMonitoring () |
| void | StopMonitoring () |
| Stop monitoring of controller attributes. More... | |
| void | StopTrackMonitoring () |
| void | Listener (fcf::common::VectorVariant ¶ms) |
| Callback to manage changes on the monitored items. More... | |
| virtual std::string | GetRpcError (const short error_code) const |
Public Member Functions inherited from fcf::devmgr::common::DeviceLcsIf | |
| DeviceLcsIf (std::shared_ptr< IDeviceConfig > config, DataContext &data_ctx) | |
| DeviceLcsIf constructor. More... | |
| virtual void | RegisterComm (std::shared_ptr< fcf::common::IComm > comm_if, fcf::common::Dispatcher<> &failure, fcf::common::Dispatcher<> &normal) |
| Register a communication interface. More... | |
| virtual void | Connect () |
| Connect to the controller or simulator. More... | |
| virtual void | Disconnect () |
| Disconnect from the controller of simulator. More... | |
| virtual void | ReadConfig (const std::vector< std::string > &stat_map_vector, const std::vector< std::string > &rpc_map_vector) |
| Read the configuration. More... | |
| virtual bool | IsNotReady () |
| Check if controller is in Standby/NotReady state. More... | |
| virtual bool | IsReady () |
| Check if controller is in Standby/Ready state. More... | |
| virtual bool | IsDisabling () |
| Check if controller is in Disabling state. More... | |
| virtual bool | IsOperational () |
| Check if controller is in Operational. More... | |
| virtual bool | IsHwFailure () |
| Check if controller is in Hardware Failure. More... | |
| virtual void | Enable () |
| Executes the Enable RPC. More... | |
| virtual void | Disable () |
| Executes the Disable RPC. More... | |
| virtual void | Stop () |
| Executes the Stop RPC. More... | |
| virtual void | Reset () |
| Executes the Reset RPC. More... | |
| virtual void | StartMonitoring () |
| Start monitoring of controller attributes. More... | |
| virtual std::string | GetHwError (int &error_code, const bool update=false) |
| Get error message. More... | |
| std::string | GetMapValue (std::string category, std::string key) |
| Get mapping valLampConfigue. More... | |
| fcf::common::Dispatcher < fcf::common::VectorVariant & > & | GetDispatcher () |
| bool | IsConfigLoaded () const |
| Check if configuration was loaded. More... | |
| bool | IsConnected () const |
| Check is the communication was established. More... | |
| virtual std::shared_ptr < IDeviceConfig > | GetDeviceConfig () |
| Get a pointer of device configuration. More... | |
Protected Member Functions | |
| void | LoadConfig () |
| Load the YAML configuration. More... | |
Protected Member Functions inherited from fcf::devmgr::common::DeviceLcsIf | |
| void | LoadConfig () |
| Load the YAML configuration. More... | |
| void | ExecuteRpc (const std::string &obj, const std::string &proc, fcf::common::VectorVariant &attr_list) |
| int | ReadErrorCode () |
| void | GetStates (int &state, int &substate) |
| Get states (state and substate) of the controller. More... | |
| void | StoreUaNames (const std::vector< std::pair< std::string, unsigned int >> &ualist) |
| StoreUaNames. More... | |
| void | StoreAttribute (const std::string key, const fcf::common::Variant &value, int attribute) |
| Store the updated into the DB. More... | |
Protected Attributes | |
| std::vector< std::string > | m_monitor_track_vector |
| Special monitor vector of attributes to be monitored only in tracking mode. More... | |
| std::unordered_map < std::string, std::unique_ptr < rad::cii::Publisher < fcfif::MotorPositionTopic > > > | m_motor_publisher_map |
| std::unique_ptr < rad::cii::Publisher < TOPIC_TYPE > > | m_publisher |
Protected Attributes inherited from fcf::devmgr::common::DeviceLcsIf | |
| YAML::Node | m_config_node |
| YAML node for the device mapping file. More... | |
| std::shared_ptr < fcf::common::IComm > | m_comm |
| Shared pointer to the communication object. More... | |
| std::shared_ptr< IDeviceConfig > | m_config |
| Shared pointer to the device config object. More... | |
| fcf::common::Dispatcher < fcf::common::VectorVariant & > | m_dispatcher |
| Dispatcher for managing subscription events. More... | |
| fcf::common::Dispatcher | m_failure |
| Dispatcher for managing failures in the communication. More... | |
| fcf::common::Dispatcher | m_normal |
| Dispatcher for managing recovery of communication failures. More... | |
| short | m_state |
| Actual controller state. More... | |
| short | m_substate |
| Actual controller substate. More... | |
| bool | m_config_loaded |
| Flag indicating whether the configuration was successfully loaded. More... | |
| bool | m_connected |
| Flag indicating whether the LCS is connected. More... | |
| devmgr::common::DataContext & | m_data_ctx |
| std::string | m_lcs_prefix |
| Store the prefix for storing keys in the database. More... | |
| elt::mal::Mal::Properties | m_mal_properties |
| std::string | m_pub_endpoint |
| std::unordered_map < std::string, short > | m_ua_status_map |
| std::vector< std::string > | m_ua_monitor_vector |
| std::unordered_map< short, std::string > | m_hw_errors |
Additional Inherited Members | |
Public Types inherited from fcf::devmgr::common::DeviceLcsIf | |
| enum | { STAT_LOCAL = 1, STAT_ERROR = 2, STAT_HW_STATUS = 3, STAT_STATE = 4, STAT_SUBSTATE = 5 } |
Adc Local Control System (LCS) Interface (IF) class.
This class manages the Adc connection to the LCS encapsulating all basic communication with the controller or the simulator.
Each RPC call is synchronous but it only starts the action in the controller. The controller will return successfully if the action can be started, not that the action was completed.
The completion of the action must be monitored by reading the status of the controller but this is out of the scope of this class.
| fcf::devmgr::adc::AdcLcsIf< TOPIC_TYPE >::AdcLcsIf | ( | std::shared_ptr< AdcConfig > | config, |
| fcf::devmgr::common::DataContext & | data_ctx | ||
| ) |
adcLcsIf constructor.
| [in,out] | config | Shared pointer to the device configuration. |
| [in,out] | data_ctx | Reference to the data context object. |
|
inlinevirtual |
Default destructor.
| std::string fcf::devmgr::adc::AdcLcsIf< TOPIC_TYPE >::GetMotorMapValue | ( | std::string | motor, |
| std::string | category, | ||
| std::string | key | ||
| ) |
|
virtual |
| error_code | Error code |
Implements fcf::devmgr::common::DeviceLcsIf.
|
virtual |
Executes the Init RPC.
| an | exception if an error ocurrs. |
Reimplemented from fcf::devmgr::common::DeviceLcsIf.
| bool fcf::devmgr::adc::AdcLcsIf< TOPIC_TYPE >::IsMoving | ( | ) |
Check if motor is moving.
| bool fcf::devmgr::adc::AdcLcsIf< TOPIC_TYPE >::IsStandstill | ( | ) |
Check if motor is on.
| bool fcf::devmgr::adc::AdcLcsIf< TOPIC_TYPE >::IsTracking | ( | ) |
Check if adc is tracking.
|
virtual |
Callback to manage changes on the monitored items.
| [in] | params | Vector containing the list of atributes that have changed |
This method implement the actions associated to the events originated from the monitoring of attributes.
This method is storing in the database the values that have changed. It also publish the events for the clients via zeroMQ.
Implements fcf::devmgr::common::DeviceLcsIf.
|
protected |
Load the YAML configuration.
| rad::Exception | in case of error |
| void fcf::devmgr::adc::AdcLcsIf< TOPIC_TYPE >::MoveAbs | ( | int | axis_id, |
| double | position, | ||
| double | velocity | ||
| ) |
Executes the MoveAbs RPC.
| an | exception if an error ocurrs. |
This RPC call make the motor move in absolute user units.
| void fcf::devmgr::adc::AdcLcsIf< TOPIC_TYPE >::MoveAngle | ( | double | angle | ) |
Move adc to a position angle.
| angle | target position angle. |
| void fcf::devmgr::adc::AdcLcsIf< TOPIC_TYPE >::MoveRel | ( | int | axis_id, |
| double | position, | ||
| double | velocity | ||
| ) |
Executes the MoveRel RPC.
| an | exception if an error ocurrs. |
This RPC call make the motor move in relative user units.
| void fcf::devmgr::adc::AdcLcsIf< TOPIC_TYPE >::MoveVel | ( | int | axis_id, |
| double | velocity | ||
| ) |
Executes the MoveVel RPC.
| axis_id | Axis identifier. |
| velocity | Speed in which the motor will be moved. |
| an | exception if an error ocurrs. |
This RPC call make the motor move in velocity mode.
| void fcf::devmgr::adc::AdcLcsIf< TOPIC_TYPE >::ReadConfig | ( | ) |
Read the configuration.
This class reads the mapping configuration of the device.
|
virtual |
Read status from the controller.
| status | structure containing the status of the controller. |
| void fcf::devmgr::adc::AdcLcsIf< TOPIC_TYPE >::StartTrack | ( | double | angle | ) |
Start ADC tracking.
| angle | offset position angle. |
| void fcf::devmgr::adc::AdcLcsIf< TOPIC_TYPE >::StartTrackMonitoring | ( | ) |
|
virtual |
Stop monitoring of controller attributes.
This method will inform the communication interface to stop monitoring the Adc attributes.
Reimplemented from fcf::devmgr::common::DeviceLcsIf.
| void fcf::devmgr::adc::AdcLcsIf< TOPIC_TYPE >::StopTrack | ( | ) |
StopTrack.
| void fcf::devmgr::adc::AdcLcsIf< TOPIC_TYPE >::StopTrackMonitoring | ( | ) |
|
protected |
Special monitor vector of attributes to be monitored only in tracking mode.
|
protected |
|
protected |
1.8.5