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

Public Member Functions

void Init () override
 
bool IsInitialized () override
 
void SetImuInput ()
 A wrapper around CBahrs::SetInput(). Has mutex protection.
 
void SetPressureInput ()
 A wrapper around CBahrs::SetInput(). Has mutex protection.
 
void Step (uint64_t uTimestampUs)
 A wrapper arounf CBahrs::Step().
 
- Public Member Functions inherited from CSoftwareComponent< CBahrsFilterSwc, 3U >
 CSoftwareComponent (CSoftwareComponent &)=delete
 
 CSoftwareComponent (CSoftwareComponent &&)=delete
 
CSoftwareComponentoperator= (const CSoftwareComponent &orOther)=delete
 
CSoftwareComponentoperator= (CSoftwareComponent &&orOther)=delete
 
virtual void Init ()=0
 
virtual bool IsInitialized ()=0
 

Private Types

typedef StaticSemaphore_t osStaticMutexDef_t
 

Private Member Functions

 CBahrsFilterSwc (CBahrsFilterSwc &)=delete
 
 CBahrsFilterSwc (CBahrsFilterSwc &&)=delete
 
CBahrsFilterSwcoperator= (const CBahrsFilterSwc &orOther)=delete
 
CBahrsFilterSwcoperator= (CBahrsFilterSwc &&orOther)=delete
 
 CBahrsFilterSwc (uint32_t uInstanceIndex)
 The constructor creates a mutex for shared BAHRS filter data.
 
 ~CBahrsFilterSwc ()=default
 
bool readImuDataPort (SImuMeasurement &orImuData, NFusionLibCommon::ESensorId &erSensorId) const
 Read IMU data from input port. Selects input port based on SWC instance index.
 
bool readPressureDataPort (SBarometerMeasurement &orPressureData, NFusionLibCommon::ESensorId &erSensorId) const
 Read pressure data from input port. Selects input port based on SWC instance index.
 
void writeOutputToPort (const CBahrsFilterOutput &korFilterOutput) const
 Write BAHRS filter output to RTE port. Selects output port based on SWC instance index.
 

Static Private Member Functions

static CBahrsFilterSwcgetInstanceImpl (unsigned uInstanceIndex)
 

Private Attributes

const uint32_t kuInstanceIndex_
 Index of the component instance.
 
osMutexId_t pMutexHandle_
 Mutex handle.
 
osStaticMutexDef_t sMutexControlBlock_
 Memory reserved for the mutex control block.
 
const osMutexAttr_t sMutexAttributes_ { NULL, 0, &sMutexControlBlock_, sizeof(sMutexControlBlock_) }
 A structure with mutex attributes required for creation.
 

Friends

class CSoftwareComponent< CBahrsFilterSwc, 3U >
 

Additional Inherited Members

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

Member Typedef Documentation

◆ osStaticMutexDef_t

typedef StaticSemaphore_t CBahrsFilterSwc::osStaticMutexDef_t
private

The typedef copied from a CMSIS_OS header.

Constructor & Destructor Documentation

◆ CBahrsFilterSwc() [1/3]

CBahrsFilterSwc::CBahrsFilterSwc ( CBahrsFilterSwc )
privatedelete

◆ CBahrsFilterSwc() [2/3]

CBahrsFilterSwc::CBahrsFilterSwc ( CBahrsFilterSwc &&  )
privatedelete

◆ CBahrsFilterSwc() [3/3]

CBahrsFilterSwc::CBahrsFilterSwc ( uint32_t  uInstanceIndex)
private

The constructor creates a mutex for shared BAHRS filter data.

Parameters
uInstanceIndexInstance index of the software component.

◆ ~CBahrsFilterSwc()

CBahrsFilterSwc::~CBahrsFilterSwc ( )
privatedefault

Member Function Documentation

◆ getInstanceImpl()

CBahrsFilterSwc & CBahrsFilterSwc::getInstanceImpl ( unsigned  uInstanceIndex)
staticprivate

◆ Init()

void CBahrsFilterSwc::Init ( )
overridevirtual

Initialize the software component.

Implements CSoftwareComponent< CBahrsFilterSwc, 3U >.

◆ IsInitialized()

bool CBahrsFilterSwc::IsInitialized ( )
overridevirtual

Get initialization status of the software component.

Returns
True – the component is initialized, false otherwise.

Implements CSoftwareComponent< CBahrsFilterSwc, 3U >.

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

◆ readImuDataPort()

bool CBahrsFilterSwc::readImuDataPort ( SImuMeasurement orImuData,
NFusionLibCommon::ESensorId erSensorId 
) const
private

Read IMU data from input port. Selects input port based on SWC instance index.

Parameters
orImuDataReference to IMU data object to be populated.
erSensorIdID of the sensor used as input source.

◆ readPressureDataPort()

bool CBahrsFilterSwc::readPressureDataPort ( SBarometerMeasurement orPressureData,
NFusionLibCommon::ESensorId erSensorId 
) const
private

Read pressure data from input port. Selects input port based on SWC instance index.

Parameters
orPressureDataReference to pressure data object to be populated.
erSensorIdID of the sensor used as input source.

◆ SetImuInput()

void CBahrsFilterSwc::SetImuInput ( )

A wrapper around CBahrs::SetInput(). Has mutex protection.

◆ SetPressureInput()

void CBahrsFilterSwc::SetPressureInput ( )

A wrapper around CBahrs::SetInput(). Has mutex protection.

◆ Step()

void CBahrsFilterSwc::Step ( uint64_t  uTimestampUs)

A wrapper arounf CBahrs::Step().

Parameters
uTimestampUsTime of the API call in microseconds.

◆ writeOutputToPort()

void CBahrsFilterSwc::writeOutputToPort ( const CBahrsFilterOutput korFilterOutput) const
private

Write BAHRS filter output to RTE port. Selects output port based on SWC instance index.

Parameters
korFilterOutputFilter output data to write.

Friends And Related Function Documentation

◆ CSoftwareComponent< CBahrsFilterSwc, 3U >

friend class CSoftwareComponent< CBahrsFilterSwc, 3U >
friend

Member Data Documentation

◆ kuInstanceIndex_

const uint32_t CBahrsFilterSwc::kuInstanceIndex_
private

Index of the component instance.

◆ pMutexHandle_

osMutexId_t CBahrsFilterSwc::pMutexHandle_
private

Mutex handle.

◆ sMutexAttributes_

const osMutexAttr_t CBahrsFilterSwc::sMutexAttributes_ { NULL, 0, &sMutexControlBlock_, sizeof(sMutexControlBlock_) }
private

A structure with mutex attributes required for creation.

◆ sMutexControlBlock_

osStaticMutexDef_t CBahrsFilterSwc::sMutexControlBlock_
private

Memory reserved for the mutex control block.


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