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

Public Member Functions

void Init () override
 
bool IsInitialized () override
 
void Run ()
 Run vertical channel monitor.
 
- Public Member Functions inherited from CSoftwareComponent< CVerticalChannelMonitorSwc, 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

 CVerticalChannelMonitorSwc (CVerticalChannelMonitorSwc &)=delete
 
 CVerticalChannelMonitorSwc (CVerticalChannelMonitorSwc &&)=delete
 
CVerticalChannelMonitorSwcoperator= (const CVerticalChannelMonitorSwc &orOther)=delete
 
CVerticalChannelMonitorSwcoperator= (CVerticalChannelMonitorSwc &&orOther)=delete
 
 CVerticalChannelMonitorSwc ()=default
 
 ~CVerticalChannelMonitorSwc ()=default
 
SSafeVerticalChannelData convertVerticalChannelDataToSafeVerticalChannelData (const SVerticalChannelData &korVerticalChannelData, CSerialProtocol::ESignalHealthInfo eHealth)
 A helper function for converting related types. If input vertical channel data is marked invalid, then the function returns safe vertical channel data with health status "unavailable". Otherwise the function copies data fields from the input vertical channel data object to the output safe vertical channel data object and sets the health status to provided value.
 

Static Private Member Functions

static CVerticalChannelMonitorSwcgetInstanceImpl (unsigned uInstanceIndex)
 
static SVerticalChannelData pickVerticalChannelDataFromFilterState (const CBahrsFilterOutput &korFilterOutput)
 Pick vertical channel data from BAHRS filter output.
 
static void populateRedundantInputDataObject (const SVerticalChannelData &korVerticalChannelData, NFusionLibCommon::ESensorId eSensorId, NVerticalChannelMonitorApi::CRedundantInputData &orRedundantInputData)
 A helper function to populate redundant input data object.
 
static bool isDatasetSafe (NFusionLibCommon::ESensorId eSensorId, const NVerticalChannelMonitorApi::COutputData &korMonitorOutput)
 A helper method to check if vertical channel data from the query sensor is safe. A dataset is safe if one of the following is fulfilled for both height and downwards velocity.
 
static SSafeVerticalChannelData computeUnsafeVerticalChannelOutput (const NVerticalChannelMonitorApi::COutputData &korMonitorOutput)
 Construct vertical channel output when no safe data is available. The function will set health status to "integrity risk" and populate vertical channel data fields with any valid data from the monitor output struct.
 

Friends

class CSoftwareComponent< CVerticalChannelMonitorSwc, 1U >
 

Additional Inherited Members

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

Constructor & Destructor Documentation

◆ CVerticalChannelMonitorSwc() [1/3]

CVerticalChannelMonitorSwc::CVerticalChannelMonitorSwc ( CVerticalChannelMonitorSwc )
privatedelete

◆ CVerticalChannelMonitorSwc() [2/3]

CVerticalChannelMonitorSwc::CVerticalChannelMonitorSwc ( CVerticalChannelMonitorSwc &&  )
privatedelete

◆ CVerticalChannelMonitorSwc() [3/3]

CVerticalChannelMonitorSwc::CVerticalChannelMonitorSwc ( )
privatedefault

◆ ~CVerticalChannelMonitorSwc()

CVerticalChannelMonitorSwc::~CVerticalChannelMonitorSwc ( )
privatedefault

Member Function Documentation

◆ computeUnsafeVerticalChannelOutput()

SSafeVerticalChannelData CVerticalChannelMonitorSwc::computeUnsafeVerticalChannelOutput ( const NVerticalChannelMonitorApi::COutputData korMonitorOutput)
staticprivate

Construct vertical channel output when no safe data is available. The function will set health status to "integrity risk" and populate vertical channel data fields with any valid data from the monitor output struct.

◆ convertVerticalChannelDataToSafeVerticalChannelData()

SSafeVerticalChannelData CVerticalChannelMonitorSwc::convertVerticalChannelDataToSafeVerticalChannelData ( const SVerticalChannelData korVerticalChannelData,
CSerialProtocol::ESignalHealthInfo  eHealth 
)
private

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

◆ getInstanceImpl()

CVerticalChannelMonitorSwc & CVerticalChannelMonitorSwc::getInstanceImpl ( unsigned  uInstanceIndex)
staticprivate

◆ Init()

void CVerticalChannelMonitorSwc::Init ( )
overridevirtual

Initialize the software component.

Implements CSoftwareComponent< CVerticalChannelMonitorSwc, 1U >.

◆ isDatasetSafe()

bool CVerticalChannelMonitorSwc::isDatasetSafe ( NFusionLibCommon::ESensorId  eSensorId,
const NVerticalChannelMonitorApi::COutputData korMonitorOutput 
)
staticprivate

A helper method to check if vertical channel data from the query sensor is safe. A dataset is safe if one of the following is fulfilled for both height and downwards velocity.

  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.
Parameters
eSensorIdQuery sensor ID.
korMonitorOutputReference to fault detection and isolation results.
Returns
True if height and velocity signals are safe, false otherwise.

◆ IsInitialized()

bool CVerticalChannelMonitorSwc::IsInitialized ( )
overridevirtual

Get initialization status of the software component.

Returns
True – the component is initialized, false otherwise.

Implements CSoftwareComponent< CVerticalChannelMonitorSwc, 1U >.

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

◆ pickVerticalChannelDataFromFilterState()

SVerticalChannelData CVerticalChannelMonitorSwc::pickVerticalChannelDataFromFilterState ( const CBahrsFilterOutput korFilterOutput)
staticprivate

Pick vertical channel data from BAHRS filter output.

Parameters
korFilterOutputBAHRS filter output
Returns
Vertical channel data

◆ populateRedundantInputDataObject()

void CVerticalChannelMonitorSwc::populateRedundantInputDataObject ( const SVerticalChannelData korVerticalChannelData,
NFusionLibCommon::ESensorId  eSensorId,
NVerticalChannelMonitorApi::CRedundantInputData orRedundantInputData 
)
staticprivate

A helper function to populate redundant input data object.

Parameters
korVerticalChannelDataReference to vertical channel data object.
eSensorIdID of the sensor that the data originates from.
orRedundantInputDataReference to an object being populated.

◆ Run()

void CVerticalChannelMonitorSwc::Run ( )

Run vertical channel monitor.

Friends And Related Function Documentation

◆ CSoftwareComponent< CVerticalChannelMonitorSwc, 1U >

friend class CSoftwareComponent< CVerticalChannelMonitorSwc, 1U >
friend

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