hlcc 2.0.0-beta2+pre1
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
hlcc::eltpk::CommandsImpl Class Reference

#include <commandsImpl.hpp>

Inheritance diagram for hlcc::eltpk::CommandsImpl:

Public Types

template<class T >
using future = elt::mal::future< T >
 

Public Member Functions

 CommandsImpl (rad::SMAdapter &sm, DataContext &data)
 
virtual ~CommandsImpl ()
 
std::string GetMsTrackCtrAppName ()
 
std::string GetPfsGpCmdsAppName ()
 
template<typename INTERFACE_TYPE >
bool ConnectLsv (std::string lsv_name, hlcc::cpputil::Requestor< INTERFACE_TYPE > &requestor)
 
elt::mal::future< std::string > SetTargetAltAzPos (const std::shared_ptr< ccsinsif::AltAz > &axes_position) override
 
elt::mal::future< std::string > SetTargetRaDec (const std::shared_ptr<::ccsinsif::PresetArgs > &preset_args) override
 
::elt::mal::future< std::string > SkyOffset (const std::shared_ptr<::ccsinsif::OffsetSkyArgs > &offset_args) override
 
virtual elt::mal::future< std::string > SetObservingWavelength (double wavelength) override
 

Detailed Description

This class implements the ICD-generated server interface. It feeds events to the eltpk state machine and, if configured, also immediately forwards calls to the LSVs.

Member Typedef Documentation

◆ future

template<class T >
using hlcc::eltpk::CommandsImpl::future = elt::mal::future<T>

Constructor & Destructor Documentation

◆ CommandsImpl()

hlcc::eltpk::CommandsImpl::CommandsImpl ( rad::SMAdapter &  sm,
DataContext data 
)
inlineexplicit

◆ ~CommandsImpl()

virtual hlcc::eltpk::CommandsImpl::~CommandsImpl ( )
inlinevirtual

Member Function Documentation

◆ ConnectLsv()

template<typename INTERFACE_TYPE >
bool hlcc::eltpk::CommandsImpl::ConnectLsv ( std::string  lsv_name,
hlcc::cpputil::Requestor< INTERFACE_TYPE > &  requestor 
)
inline

Called on demand, before making a call to a method of an LSV. This avoids failures when LSVs are not started yet, or not at all, and ensures latest config gets used.

Returns
true if the connection is established. TODO remove this copy

◆ GetMsTrackCtrAppName()

std::string hlcc::eltpk::CommandsImpl::GetMsTrackCtrAppName ( )
inline

Returns the LSV application name, as configured in the yaml file. Depending on the config flag "simulate_lsv_ms", it returns the HLCC simulator from trksim, or the real MS LSV tracking application. Names must match with the instances configured in the yaml config file. Both applications must implement interface msif::TrackCmdsAsync.

◆ GetPfsGpCmdsAppName()

std::string hlcc::eltpk::CommandsImpl::GetPfsGpCmdsAppName ( )
inline

Returns the LSV application name, as configured in the yaml file. Depending on the config flag "simulate_lsv_pfs", it returns the HLCC python simulator, or the real PFS LSV tracking application. Names must match with the instances configured in the yaml config file. Both applications must implement interface pfsif::GpCmdsAsync.

◆ SetObservingWavelength()

virtual elt::mal::future< std::string > hlcc::eltpk::CommandsImpl::SetObservingWavelength ( double  wavelength)
inlineoverridevirtual

◆ SetTargetAltAzPos()

elt::mal::future< std::string > hlcc::eltpk::CommandsImpl::SetTargetAltAzPos ( const std::shared_ptr< ccsinsif::AltAz > &  axes_position)
inlineoverride

◆ SetTargetRaDec()

elt::mal::future< std::string > hlcc::eltpk::CommandsImpl::SetTargetRaDec ( const std::shared_ptr<::ccsinsif::PresetArgs > &  preset_args)
inlineoverride

◆ SkyOffset()

::elt::mal::future< std::string > hlcc::eltpk::CommandsImpl::SkyOffset ( const std::shared_ptr<::ccsinsif::OffsetSkyArgs > &  offset_args)
inlineoverride

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