HLCC Documentation 2.2.0
Loading...
Searching...
No Matches
Public Member Functions | List of all members
hlcc::trksim::ActionsTrackCmds Class Reference

#include <actionsTrackCmds.hpp>

Inheritance diagram for hlcc::trksim::ActionsTrackCmds:

Public Member Functions

 ActionsTrackCmds (rad::Application &appl, ActionMgr &action_mgr, DataContext &data)
 
void Initialize () override
 
void Configure (const std::vector< std::string > &keys) override
 
void Preset (scxml4cpp::Context *c)
 
void SkyOffset (scxml4cpp::Context *c)
 
void VelocityOffset (scxml4cpp::Context *c)
 
void MovingTo (scxml4cpp::Context *c)
 
void SetPointingPosition (scxml4cpp::Context *c)
 
void SetPointingOffset (scxml4cpp::Context *c)
 
void StopInit (scxml4cpp::Context *c)
 
void StopMoving (scxml4cpp::Context *c)
 
void SetObservingWavelength (scxml4cpp::Context *c)
 
void TrsBadHealthGoIdle (scxml4cpp::Context *c)
 
void LoadConfiguration (scxml4cpp::Context *c)
 
 ActionsTrackCmds (const ActionsTrackCmds &)=delete
 
ActionsTrackCmdsoperator= (const ActionsTrackCmds &)=delete
 Disable copy constructor.
 

Detailed Description

This class contains the implementation of the actions related to PS control.

Constructor & Destructor Documentation

◆ ActionsTrackCmds() [1/2]

hlcc::trksim::ActionsTrackCmds::ActionsTrackCmds ( rad::Application & appl,
ActionMgr & action_mgr,
DataContext & data )

Constructor.

Parameters
[in]applReference to the rad-app application.
[in]action_mgrReference to ActionMgr
[in]dataData shared within the application among actions and activities.

◆ ActionsTrackCmds() [2/2]

hlcc::trksim::ActionsTrackCmds::ActionsTrackCmds ( const ActionsTrackCmds & )
delete

Member Function Documentation

◆ Configure()

void hlcc::trksim::ActionsTrackCmds::Configure ( const std::vector< std::string > & keys)
override

Method invoked when SetConfig or LoadConfig command is received to re-configure this class attributes.

Parameters
keysModified parameters. Empty vector means all params have changed.

◆ Initialize()

void hlcc::trksim::ActionsTrackCmds::Initialize ( )
override

Method invoked when Init command is received to re-initialize this class attributes.

◆ LoadConfiguration()

void hlcc::trksim::ActionsTrackCmds::LoadConfiguration ( scxml4cpp::Context * c)

Implementation of the LoadConfiguration action. This action:

  • Loads the configuration from local default configuration file. This gets called after reset command, and overwrites overlapping previous config changes.
  • Applies command line options
  • updates Oldb
Parameters
[in]cContext containing the last event received by the State Machine.

◆ MovingTo()

void hlcc::trksim::ActionsTrackCmds::MovingTo ( scxml4cpp::Context * c)

Implementation of the SetTargetAltAz action.

Parameters
[in]cContext containing the last event received by the State Machine.

◆ operator=()

ActionsTrackCmds & hlcc::trksim::ActionsTrackCmds::operator= ( const ActionsTrackCmds & )
delete

Disable copy constructor.

◆ Preset()

void hlcc::trksim::ActionsTrackCmds::Preset ( scxml4cpp::Context * c)

Implementation of the Preset action.

Parameters
[in]cContext containing the last event received by the State Machine.

◆ SetObservingWavelength()

void hlcc::trksim::ActionsTrackCmds::SetObservingWavelength ( scxml4cpp::Context * c)

Implementation of the SetObservingWavelength action. This action:

  • Set the current wavelength at which the instrument defines the pointing origin in [m].
  • replies back for the originator of the request with the success of the operation.
Parameters
[in]cContext containing the last event received by the State Machine.

◆ SetPointingOffset()

void hlcc::trksim::ActionsTrackCmds::SetPointingOffset ( scxml4cpp::Context * c)

Implementation of the SetPointingOffset action.

Parameters
[in]cContext containing the last event received by the State Machine.

◆ SetPointingPosition()

void hlcc::trksim::ActionsTrackCmds::SetPointingPosition ( scxml4cpp::Context * c)

Implementation of the SetPointingPosition action.

Parameters
[in]cContext containing the last event received by the State Machine.

◆ SkyOffset()

void hlcc::trksim::ActionsTrackCmds::SkyOffset ( scxml4cpp::Context * c)

Implementation of the Offset action.

Parameters
[in]cContext containing the last event received by the State Machine.

◆ StopInit()

void hlcc::trksim::ActionsTrackCmds::StopInit ( scxml4cpp::Context * c)

Implementation of the ActionsInit.Stop action. This action:

  • replies back for the originator of the SetTargetAltAz request with the current configuration.
  • writes the new target coordinate into the DataContext.
    Parameters
    [in]cContext containing the last event received by the State Machine.

◆ StopMoving()

void hlcc::trksim::ActionsTrackCmds::StopMoving ( scxml4cpp::Context * c)

Impl of SM ActionsStopMoving, which is called when EventsStd.Stop event is sent in any of the On::Operational states.

◆ TrsBadHealthGoIdle()

void hlcc::trksim::ActionsTrackCmds::TrsBadHealthGoIdle ( scxml4cpp::Context * c)

Implementation of the TrsBadHealthGoIdle action.

Our SM, when in states "On::Operational::Presetting" or "On::Operational::Tracking", calls this action for a "TrsEvents.HealthBad" event. If SCXML and our stack of tools would support running 2 actions for 1 event, we could define the SM to run actions "ActionsApp.TrsHealth" and "ActionsStopMoving". But instead we run this separate action that combines them into one.

Another note on SM design: With our estimator-driven design, it does not help to add target="On::Operational::Idle" to the "HealthBad" event in states Presetting and Tracking. Without disabling the RA/DEC target (which the stop action does, and we also do here in TrsBadHealthGoIdle), the estimator would immediately produce "EstimatedStateIsTrackingUnexpected" and thus bring the SM back from Idle to Tracking.

Parameters
[in]cContext containing the last event received by the State Machine.

◆ VelocityOffset()

void hlcc::trksim::ActionsTrackCmds::VelocityOffset ( scxml4cpp::Context * c)

Implementation of the VelocityOffset action.

Parameters
[in]cContext containing the last event received by the State Machine.

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