AMS Advanced Air Mobility Sensors UG
Loading...
Searching...
No Matches
CAttitudeMonitorSwc Class Reference
Inheritance diagram for CAttitudeMonitorSwc:
CSoftwareComponent< CAttitudeMonitorSwc, 1U >

Public Member Functions

void Init () override
 
bool IsInitialized () override
 
void Run ()
 Run attitude monitor.
 
- Public Member Functions inherited from CSoftwareComponent< CAttitudeMonitorSwc, 1U >
 CSoftwareComponent (CSoftwareComponent &)=delete
 
 CSoftwareComponent (CSoftwareComponent &&)=delete
 
CSoftwareComponentoperator= (const CSoftwareComponent &orOther)=delete
 
CSoftwareComponentoperator= (CSoftwareComponent &&orOther)=delete
 
virtual void Init ()=0
 
virtual bool IsInitialized ()=0
 

Private Member Functions

 CAttitudeMonitorSwc (CAttitudeMonitorSwc &)=delete
 
 CAttitudeMonitorSwc (CAttitudeMonitorSwc &&)=delete
 
CAttitudeMonitorSwcoperator= (const CAttitudeMonitorSwc &orOther)=delete
 
CAttitudeMonitorSwcoperator= (CAttitudeMonitorSwc &&orOther)=delete
 
 CAttitudeMonitorSwc ()=default
 
 ~CAttitudeMonitorSwc ()=default
 

Static Private Member Functions

static CAttitudeMonitorSwcgetInstanceImpl (unsigned uInstanceIndex)
 
static bool isAttitudeDataSafe (NFusionLibCommon::ESensorId eSensorId, const NAttitudeMonitorApi::COutputData &korMonitorOutput)
 Check if attitude dataset from a specified source is safe. A dataset is safe if one of the following is fulfilled for both roll and pitch signals.
 
static SSafeAttitudeData convertAttitudeToSafeAttitude (const SAttitudeData &korAttitude, CSerialProtocol::ESignalHealthInfo eHealth)
 A helper function for converting related types. If input attitude is marked invalid, then the function returns safe attitude with health status "unavailable". Otherwise the function copies data fields from the input attitude object to the output safe attitude object and sets the health status to provided value.
 
static SSafeAttitudeData computeUnsafeAttitudeOutput (const NAttitudeMonitorApi::COutputData &korMonitorOutput)
 Construct attitude output when no safe data is available. The function will set health status to "integrity risk", assign large standard deviations for roll and pitch, and populate roll and pitch fields with any valid data from the monitor output struct.
 
static void populateRedundantInputDataObject (const SAttitudeData &korAttitudeData, NFusionLibCommon::ESensorId eSensorId, NAttitudeMonitorApi::CRedundantInputData &orRedundantInputData)
 A helper function to populate redundant input data object.
 

Friends

class CSoftwareComponent< CAttitudeMonitorSwc, 1U >
 

Additional Inherited Members

- Static Public Member Functions inherited from CSoftwareComponent< CAttitudeMonitorSwc, 1U >
static CAttitudeMonitorSwcGetInstance (unsigned uInstanceIndex=0U)
 
- Static Public Attributes inherited from CSoftwareComponent< CAttitudeMonitorSwc, 1U >
static constexpr unsigned skuInstanceCount_
 
- Protected Member Functions inherited from CSoftwareComponent< CAttitudeMonitorSwc, 1U >
 CSoftwareComponent ()=default
 
 ~CSoftwareComponent ()=default
 

Constructor & Destructor Documentation

◆ CAttitudeMonitorSwc() [1/3]

CAttitudeMonitorSwc::CAttitudeMonitorSwc ( CAttitudeMonitorSwc )
privatedelete

◆ CAttitudeMonitorSwc() [2/3]

CAttitudeMonitorSwc::CAttitudeMonitorSwc ( CAttitudeMonitorSwc &&  )
privatedelete

◆ CAttitudeMonitorSwc() [3/3]

CAttitudeMonitorSwc::CAttitudeMonitorSwc ( )
privatedefault

◆ ~CAttitudeMonitorSwc()

CAttitudeMonitorSwc::~CAttitudeMonitorSwc ( )
privatedefault

Member Function Documentation

◆ computeUnsafeAttitudeOutput()

SSafeAttitudeData CAttitudeMonitorSwc::computeUnsafeAttitudeOutput ( const NAttitudeMonitorApi::COutputData korMonitorOutput)
staticprivate

Construct attitude output when no safe data is available. The function will set health status to "integrity risk", assign large standard deviations for roll and pitch, and populate roll and pitch fields with any valid data from the monitor output struct.

◆ convertAttitudeToSafeAttitude()

SSafeAttitudeData CAttitudeMonitorSwc::convertAttitudeToSafeAttitude ( const SAttitudeData korAttitude,
CSerialProtocol::ESignalHealthInfo  eHealth 
)
staticprivate

A helper function for converting related types. If input attitude is marked invalid, then the function returns safe attitude with health status "unavailable". Otherwise the function copies data fields from the input attitude object to the output safe attitude object and sets the health status to provided value.

◆ getInstanceImpl()

CAttitudeMonitorSwc & CAttitudeMonitorSwc::getInstanceImpl ( unsigned  uInstanceIndex)
staticprivate

◆ Init()

void CAttitudeMonitorSwc::Init ( )
overridevirtual

Initialize the software component.

Implements CSoftwareComponent< CAttitudeMonitorSwc, 1U >.

◆ isAttitudeDataSafe()

bool CAttitudeMonitorSwc::isAttitudeDataSafe ( NFusionLibCommon::ESensorId  eSensorId,
const NAttitudeMonitorApi::COutputData korMonitorOutput 
)
staticprivate

Check if attitude dataset from a specified source is safe. A dataset is safe if one of the following is fulfilled for both roll and pitch signals.

  1. Fault detection is available AND the monitor did not raise an alarm
  2. An alarm was raised, fault isolation is available AND succeeded, the query sensor is NOT faulty.

The function asserts if the query sensor is not supported by the monitor (configuration issue).

Parameters
eSensorIdQuery sensor ID.
korMonitorOutputResult of fault detection and isolation.
Returns
True if the measurement is safe, false otherwise.

◆ IsInitialized()

bool CAttitudeMonitorSwc::IsInitialized ( )
overridevirtual

Get initialization status of the software component.

Returns
True – the component is initialized, false otherwise.

Implements CSoftwareComponent< CAttitudeMonitorSwc, 1U >.

◆ operator=() [1/2]

CAttitudeMonitorSwc & CAttitudeMonitorSwc::operator= ( CAttitudeMonitorSwc &&  orOther)
privatedelete

◆ operator=() [2/2]

CAttitudeMonitorSwc & CAttitudeMonitorSwc::operator= ( const CAttitudeMonitorSwc orOther)
privatedelete

◆ populateRedundantInputDataObject()

void CAttitudeMonitorSwc::populateRedundantInputDataObject ( const SAttitudeData korAttitudeData,
NFusionLibCommon::ESensorId  eSensorId,
NAttitudeMonitorApi::CRedundantInputData orRedundantInputData 
)
staticprivate

A helper function to populate redundant input data object.

Parameters
korAttitudeDataReference to an attitude data structure.
eSensorIdID of the sensor that the measurement originates from.
orRedundantInputDataReference to an object being populated.

◆ Run()

void CAttitudeMonitorSwc::Run ( )

Run attitude monitor.

Friends And Related Function Documentation

◆ CSoftwareComponent< CAttitudeMonitorSwc, 1U >

friend class CSoftwareComponent< CAttitudeMonitorSwc, 1U >
friend

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