|
onboardapi
9.10.0
by Rheinmetall
|
Public Member Functions | |
| virtual | ~IService () |
| virtual void | ConfigMaximumRate (M_Common::AngleRateDegreesPerSecOptionalType const &AzimuthRate, M_Common::AngleRateDegreesPerSecOptionalType const &ElevationRate) |
| virtual void | ConfigInputSource (bool IsClientIdFilterEnabled, M_Common::StringListType const &ClientIds) |
| virtual void | ConfigTgtAssignmentInputSource (bool IsTgtAssignmentClientIdFilterEnabled, M_Common::StringListType const &TgtAssignmentClientIds) |
| virtual void | ConfigTgtAssignmentSearchInputSource (bool IsTgtAssignmentSearchClientIdFilterEnabled, M_Common::StringListType const &TgtAssignmentSearchClientIds) |
| virtual void | ConfigTgtAssignmentSearchPattern (M_Mount::TgtAssignmentSearchPatternType const &SearchPatternParams) |
| virtual void | ConfigLeadingDevice (M_Common::LongOptionalType const &DeviceId) |
| virtual void | ConfigSlavedDevice (M_Common::LongOptionalType const &DeviceId) |
| virtual void | ConfigSlewLimits (M_Mount::AngularLimitType const &SlewLimits) |
| virtual void | ConfigStorePosition (std::string const &KeyId, M_Common::AngleDegreesType Azimuth, M_Common::AngleDegreesType Elevation, bool IsRemoved) |
| virtual void | CmdMoveToStoredPosition (std::string const &Id) |
| virtual void | CmdMode (M_Mount::ModeCommand::Type Mode) |
| virtual void | CmdTgtAssignmentSearchAction (M_Mount::TgtAssignmentSearchCmdKind::Type Action) |
| virtual void | CmdAutoDriftCompensation (bool IsEnabled) |
| virtual void | CmdManualDriftCompensation (M_Common::AngleRateDegreesPerSecType OffsetAzimuthRate, M_Common::AngleRateDegreesPerSecType OffsetElevationRate, bool IsRelative) |
| virtual void | CmdAllowExternalDriftCompensation (bool IsAllowed) |
| virtual void | CmdHorizontalAiming (bool IsEnabled) |
| virtual void | CmdSetOperationalModeRateAid (bool Activate) |
| virtual void | NotifyAngle (std::string const &InputSourceClientId, M_Common::AngleDegreesType Azimuth, M_Common::AngleDegreesType Elevation, M_Mount::MountAngleParamsType const &AngleParams) |
| virtual void | NotifyTgtAssignment (std::string const &InputSourceClientId, M_Common::PositionType const &Position, M_Common::LinearVelocityOptionalType const &Velocity, M_Common::TimeType const &Timestamp, M_Mount::MountAngleParamsType const &AngleParams) |
| virtual void | NotifyRateRelative (std::string const &InputSourceClientId, M_Common::AngleRateDegreesPerSecType AzimuthRate, M_Common::AngleRateDegreesPerSecType ElevationRate) |
| virtual void | NotifyRateAbsolute (std::string const &InputSourceClientId, M_Common::AngleRateDegreesPerSecType AzimuthRate, M_Common::AngleRateDegreesPerSecType ElevationRate) |
| virtual void | NotifyRateScaled (std::string const &InputSourceClientId, M_Mount::ScaledRateOptionalType const &ScaledRate) |
Mount Service interface. Contains operations that a client can command the Mount Service to perform.
|
virtual |
|
virtual |
Command to allow external sources to set drift compensation.
| IsAllowed | Indicates whether external drift compensation is allowed. |
|
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.
| IsEnabled | Indicates if drift compensation should be enabled (true) or disabled (false). True = Enable drift compensation False = Disable drift compensation |
|
virtual |
Command to aim perfectly aligned with the horizon line by compensating vehicle attitude.
| IsEnabled | Indicates whether horizontal aiming should be enabled (true) or disabled (false). |
|
virtual |
Command to manually set the specified drift compensation offset. This is used to set the offset values to correct a drifting Mount.
| OffsetAzimuthRate | Azimuth rate offset in degrees. |
| OffsetElevationRate | Elevation rate offset in degrees. |
| IsRelative | Indicates if the provided rate values 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 |
|
virtual |
Command to set mode of control and stabilization for a Mount platform.
Note: The Mount will use stored data from previously provided config calls when required as parameters for the specified Mode.
| Mode | Mode of control and stabilization for a Mount platform. |
|
virtual |
Move to an earlier assigned or persistently stored mount position, identified by a string key.
| Id | Identifies the stored position to be moved to |
|
virtual |
Sets operational mode RateAid calculation.
| Activate | Activate the RateAid calculation (true) or deacivate (false). |
|
virtual |
Control Target Assignment search action.
Note: Command is only processed when the Mount is in the "Target_Assignment" Control Mode.
| Action | Type of action to perform. |
|
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.)
| IsClientIdFilterEnabled | Indicates whether the mount should filter client ID input. |
| ClientIds | List of client IDs to accept data (angles, rates) input from. |
The following calls should only be handled from the specified clients:
|
virtual |
Configure the internal device that the Mount 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.
| DeviceId | Device to be slaved to over an internal interface. Not present means that no leading device shall be used to slave to. |
|
virtual |
Configure the maximum rate of movement for a Mount platform (angular velocity soft limits).
| AzimuthRate | Maximum azimuth rate in degrees per second. Not present means no limit. |
| ElevationRate | Maximum elevation rate in degrees per second. Not present means no limit. |
|
virtual |
Configure the internal device that shall be slaved to the Mount. If value is not present, no slaving device shall be used.
| DeviceId | Device to slave over an internal interface. Not present means that no slaving device shall be used. |
|
virtual |
Configure the azimuth/elevation slew limits. If slew limitation is specified the Mount service uses the provided limits, otherwise the hard limits of the Mount will be used.
| SlewLimits | Angular slew limits for Mount which can change during runtime. Note: Setting the limit to not present deactivates the limit. |
|
virtual |
Store a mount position, identified by a string key. This is meant to quickly access positions of interest for later use.
| KeyId | Identifies the position to be stored. |
| Azimuth | Azimuth [deg]. |
| Elevation | Elevation [deg]. |
| IsRemoved | Indicates if the service should delete a stored position (true) or not (false). After this has been set to true, the position will no longer be available to late joiners. |
|
virtual |
Determine source for target 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.)
| IsTgtAssignmentClientIdFilterEnabled | Indicates whether the mount should filter target assignment client ID input. |
| TgtAssignmentClientIds | List of client IDs from which target assignment notifies shall are processed. |
The following calls should only be handled from the specified clients:
|
virtual |
Determine source for target assignment search 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.)
| IsTgtAssignmentSearchClientIdFilterEnabled | Indicates whether the mount should filter target assignment search client ID input. |
| TgtAssignmentSearchClientIds | List of client IDs from which rates shall be processed in manual search mode. |
The following calls should only be handled from the specified clients when the mount is in mode "Target_Assignment" and TgtAssignmentSearchState = "Manual_Search".
|
virtual |
Configure the search area around the Target Assignment position.
Note: This should be stored and used when searching around a position in provided "NotifyTgtAssignmentCart" or "NotifyTgtAssignmentSphere" in "Target_Assignment" Control Mode.
| SearchPatternParams | Search pattern parameters. |
|
virtual |
Notify the Mount to turn to a position angle in degrees.
Note: This operation shall be called only if the InputSourceClientId matches with the MountStatusType.InputSourceClientId of ReportMountStatus().
| InputSourceClientId | The client name of the calling instance associated with the position angle |
| Azimuth | Azimuth in degrees. |
| Elevation | Elevation in degrees. |
| AngleParams | Parameters to tune how the Mount should be commanded into position. Note: This indicates, among other things, what the above position is relative to. |
|
virtual |
Command to set absolute rate of movement for a Mount platform. A value of 0 stops the Mount from moving. A negative value moves the Mount in the other direction.
Note: This is implemented as a notify call in order to always contain the latest value from a client. Note: This operation shall be called only if the InputSourceClientId matches with the MountStatusType.InputSourceClientId of ReportMountStatus().
| InputSourceClientId | The client name of the calling instance associated with the absolute rate |
| AzimuthRate | Azimuth rate in degrees per second. |
| ElevationRate | Elevation rate in degrees per second. |
|
virtual |
Command to set relative rate of movement for a Mount platform. A value of 0 keeps the current Mount movement. A positive value speeds up or negative value slows down the Mount movement in one direction. A negative value speeds up or a positive value slows down the movement in the opposite direction.
Note: This is implemented as a notify call in order to always contain the latest value from a client. Note: This operation shall be called only if the InputSourceClientId matches with the MountStatusType.InputSourceClientId of ReportMountStatus().
| InputSourceClientId | The client name of the calling instance associated with the absolute rate |
| AzimuthRate | Azimuth rate in degrees per second. |
| ElevationRate | Elevation rate in degrees per second. |
|
virtual |
Provides the Mount with normed rate of movement. This sets the rate of movement normed to the maximum possible rate of the Mount. A value of 0 stops the Mount from moving. A value of 1 or -1 moves the Mount at the maximum rate. A negative value moves the Mount in the opposite direction.
Note: This is implemented as a notify call in order to always contain the latest value from a client. This can then correspond to an output report from a joystick.
Note: This operation shall be called only if the InputSourceClientId matches with the MountStatusType.InputSourceClientId of ReportMountStatus().
| InputSourceClientId | The client name of the calling instance associated with the scaled rate |
| ScaledRate | Rate of movement normed to the maximum possible rate of the Mount. Note: Not present indicates no rate (similar to setting a rate of 0) |
|
virtual |
Designate the Mount to position for a target 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().
| InputSourceClientId | The client name of the calling instance associated with the assignment |
| Position | Target position. |
| Velocity | Target velocity. |
| Timestamp | Timestamp of target data. |
| AngleParams | Parameters to tune how the Mount should be commanded into position. Note: This indicates, among other things, what the above position is relative to. |