onboardapi  9.10.0
by Rheinmetall
M_MultiMount::IService Class Reference
Inheritance diagram for M_MultiMount::IService:
M_KinematicChain::IService

Public Member Functions

virtual ~IService ()
 
virtual void ConfigInputSource (bool IsClientIdFilterEnabled, M_Common::StringListType const &ClientIds)
 
virtual void ConfigAssignmentInputSource (bool IsAssignmentClientIdFilterEnabled, M_Common::StringListType const &AssignmentClientIds)
 
virtual void ConfigSlavedDevice (M_Common::LongOptionalType const &DeviceId)
 
virtual void ConfigLeadingDevice (M_Common::LongOptionalType const &DeviceId)
 
virtual void CmdMode (M_Common::OperationModeType const &Mode)
 
virtual void CmdAutoDriftCompensation (bool IsEnabled)
 
virtual void CmdManualDriftCompensation (M_KinematicChain::AxisRotationListType const &AxisRotations, bool IsRelative)
 
virtual void CmdAllowExternalDriftCompensation (bool IsAllowed)
 
virtual void NotifyAssignment (std::string const &InputSourceClientId, M_Common::PositionType const &Position, M_Common::LinearVelocityOptionalType const &Velocity, M_KinematicChain::AxisRotationType const &AxisRotation)
 
- Public Member Functions inherited from M_KinematicChain::IService
virtual void ConfigAxisRotationConstraints (M_KinematicChain::AxisRotationConstraintsListType const &AxisRotationConstraints)
 
virtual void NotifyAxisRotations (std::string const &InputSourceClientId, M_KinematicChain::AxisRotationListType const &AxisRotations)
 
virtual void ConfigStoreAxisRotations (std::string const &KeyDatasetId, M_KinematicChain::AxisRotationListType const &AxisRotations, bool IsRemoved)
 
virtual void CmdDeleteStoredAxisRotations (std::string const &DatasetId)
 
virtual void CmdApplyStoredAxisRotation (std::string const &DatasetId)
 

Detailed Description

Mount Service interface. Contains operations that a client can command the Mount Service to perform.

Constructor & Destructor Documentation

◆ ~IService()

M_MultiMount::IService::~IService ( )
virtual

Reimplemented from M_KinematicChain::IService.

Member Function Documentation

◆ CmdAllowExternalDriftCompensation()

void M_MultiMount::IService::CmdAllowExternalDriftCompensation ( bool  IsAllowed)
virtual

Command to allow external sources to set drift compensation.

Parameters
IsAllowedIndicates whether external drift compensation is allowed.

◆ CmdAutoDriftCompensation()

void M_MultiMount::IService::CmdAutoDriftCompensation ( bool  IsEnabled)
virtual

Command to the Mount service to enable or disable automatic drift compensation correction. This is used to correct a drifting Mount platform. It uses offset values automatically determined by the Mount platform.

Parameters
IsEnabledIndicates if drift compensation should be enabled (true) or disabled (false). True = Enable drift compensation False = Disable drift compensation

◆ CmdManualDriftCompensation()

void M_MultiMount::IService::CmdManualDriftCompensation ( M_KinematicChain::AxisRotationListType const &  AxisRotations,
bool  IsRelative 
)
virtual

Command to manually set the specified drift compensation offset. This is used to set the offset values to correct a drifting Mount.

Parameters
AxisRotationsAxis rotations specifying the offset
IsRelativeIndicates if the provided axis rotations are relative to the currently used Drift compensation (true) or absolute rate value replacing currently used Drift compensation. True = Relative to the currently used Drift compensation False = Absolute rate value replacing currently used Drift compensation

◆ CmdMode()

void M_MultiMount::IService::CmdMode ( M_Common::OperationModeType const &  Mode)
virtual

Command to set mode of control and stabilisation for a Mount platform.

Note: The Mount will use stored data from previously provided config calls when required as parameters for the specified Mode.

Parameters
ModeMode of control and stabilisation for a Mount platform.

◆ ConfigAssignmentInputSource()

void M_MultiMount::IService::ConfigAssignmentInputSource ( bool  IsAssignmentClientIdFilterEnabled,
M_Common::StringListType const &  AssignmentClientIds 
)
virtual

Determine source for assignment inputs.

Note: Input data should only be handled by the mount from the configured clients. Input data from other clients should be ignored. If a filter is disabled, all inputs are allowed. If a filter is enabled, all inputs in the according list are allowed (white list). (Therefore, an enabled filter in combination with an empty list inhibits all input.)

Parameters
IsAssignmentClientIdFilterEnabledIndicates whether the mount should filter assignment client ID input.
AssignmentClientIdsList of client IDs from which to accept data via NotifyAssignment().

◆ ConfigInputSource()

void M_MultiMount::IService::ConfigInputSource ( bool  IsClientIdFilterEnabled,
M_Common::StringListType const &  ClientIds 
)
virtual

Determine source for inputs.

Note: Input data should only be handled by the mount from the configured clients. Input data from other clients should be ignored. If a filter is disabled, all inputs are allowed. If a filter is enabled, all inputs in the according list are allowed (white list). (Therefore, an enabled filter in combination with an empty list inhibits all input.)

Parameters
IsClientIdFilterEnabledIndicates whether the mount should filter client ID input.
ClientIdsList of client IDs from which to accept data via NotifyAxisRotation().

◆ ConfigLeadingDevice()

void M_MultiMount::IService::ConfigLeadingDevice ( M_Common::LongOptionalType const &  DeviceId)
virtual

Configure the internal device that the MultiMount shall be slaved to. If value is not present, no leading device shall be used to slave to.

Note: This should be stored and used when in "Slaved_To_Leading_Device" Control Mode.

Parameters
DeviceIdDevice to be slaved to over an internal interface. Not present means that no leading device shall be used to slave to.

◆ ConfigSlavedDevice()

void M_MultiMount::IService::ConfigSlavedDevice ( M_Common::LongOptionalType const &  DeviceId)
virtual

Configure the internal device that shall be slaved to the MultiMount. If value is not present, no slaving device shall be used.

Parameters
DeviceIdDevice to slave over an internal interface. Not present means that no slaving device shall be used.

◆ NotifyAssignment()

void M_MultiMount::IService::NotifyAssignment ( std::string const &  InputSourceClientId,
M_Common::PositionType const &  Position,
M_Common::LinearVelocityOptionalType const &  Velocity,
M_KinematicChain::AxisRotationType const &  AxisRotation 
)
virtual

Designate the mount to a position for an assignment. The mount will follow the object automatically between updates by using the provided object velocity.

Note: This operation shall be called only if the InputSourceClientId matches with the MountStatusType.InputSourceClientId of ReportMountStatus().

Parameters
InputSourceClientIdThe client name of the calling instance associated with the assignment
PositionAssignment position.
VelocityAssignment velocity.
AxisRotationAxis rotation to set additional motion constraints for the mount axis.