AMS Advanced Air Mobility Sensors UG
Loading...
Searching...
No Matches
CPressureCompensator Class Reference

The class implements a SW component that applies pressure offsets to barometer measurements. More...

Inheritance diagram for CPressureCompensator:
CSoftwareComponent< CPressureCompensator, 3U >

Public Types

enum class  ESensorId : uint8_t { ePressureInput1 = 0U , ePressureInput2 = 1U , ePressureInput3 = 2U }
 Pressure sensor ID for compensator instances. More...

Public Member Functions

void Init () override
bool IsInitialized () override
void CompensateMeasurements ()
 Apply pressure offsets to barometer measurements.
Public Member Functions inherited from CSoftwareComponent< CPressureCompensator, 3U >
 CSoftwareComponent (CSoftwareComponent &)=delete
CSoftwareComponentoperator= (const CSoftwareComponent &orOther)=delete

Private Member Functions

 CPressureCompensator (CPressureCompensator &)=delete
 CPressureCompensator (CPressureCompensator &&)=delete
CPressureCompensatoroperator= (const CPressureCompensator &orOther)=delete
CPressureCompensatoroperator= (CPressureCompensator &&orOther)=delete
 CPressureCompensator (ESensorId eSensorId)
 Create a compensator for a specific pressure sensor.
 ~CPressureCompensator ()=default
bool readPressureDataPort (SBarometerMeasurement &orInput) const
 Read pressure data from the input port.
void writePressureDataPort (const SBarometerMeasurement &orOutput) const
 Write pressure data to the compensated output port.

Static Private Member Functions

static CPressureCompensatorgetInstanceImpl (unsigned uInstanceIndex)
static constexpr uint32_t toIndex (ESensorId eSensorId)
 Convert sensor ID to a zero-based index.

Private Attributes

const ESensorId keSensorId_
 Pressure sensor ID assigned to this instance.
bool bIsInitialized_ { false }
 True – SWC is initialized, false otherwise.
float fPressureOffsetPa_ { 0.0F }
 Pressure offset in Pascals.

Friends

class CSoftwareComponent< CPressureCompensator, 3U >

Additional Inherited Members

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

Detailed Description

The class implements a SW component that applies pressure offsets to barometer measurements.

Member Enumeration Documentation

◆ ESensorId

enum class CPressureCompensator::ESensorId : uint8_t
strong

Pressure sensor ID for compensator instances.

Enumerator
ePressureInput1 
ePressureInput2 
ePressureInput3 

Constructor & Destructor Documentation

◆ CPressureCompensator() [1/3]

CPressureCompensator::CPressureCompensator ( CPressureCompensator & )
privatedelete

◆ CPressureCompensator() [2/3]

CPressureCompensator::CPressureCompensator ( CPressureCompensator && )
privatedelete

◆ CPressureCompensator() [3/3]

CPressureCompensator::CPressureCompensator ( ESensorId eSensorId)
explicitprivate

Create a compensator for a specific pressure sensor.

Parameters
eSensorIdPressure sensor ID.

◆ ~CPressureCompensator()

CPressureCompensator::~CPressureCompensator ( )
privatedefault

Member Function Documentation

◆ CompensateMeasurements()

void CPressureCompensator::CompensateMeasurements ( )

Apply pressure offsets to barometer measurements.

◆ getInstanceImpl()

CPressureCompensator & CPressureCompensator::getInstanceImpl ( unsigned uInstanceIndex)
staticprivate

◆ Init()

void CPressureCompensator::Init ( )
overridevirtual

Initialize the software component.

Implements CSoftwareComponent< CPressureCompensator, 3U >.

◆ IsInitialized()

bool CPressureCompensator::IsInitialized ( )
overridevirtual

Get initialization status of the software component.

Returns
True – the component is initialized, false otherwise.

Implements CSoftwareComponent< CPressureCompensator, 3U >.

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

◆ readPressureDataPort()

bool CPressureCompensator::readPressureDataPort ( SBarometerMeasurement & orInput) const
private

Read pressure data from the input port.

Parameters
orInputPressure measurement read from the port.
Returns
True if read succeeded.

◆ toIndex()

constexpr uint32_t CPressureCompensator::toIndex ( ESensorId eSensorId)
inlinestaticconstexprprivate

Convert sensor ID to a zero-based index.

Parameters
eSensorIdPressure sensor ID.
Returns
Zero-based index.

◆ writePressureDataPort()

void CPressureCompensator::writePressureDataPort ( const SBarometerMeasurement & orOutput) const
private

Write pressure data to the compensated output port.

Parameters
orOutputPressure measurement to write.

◆ CSoftwareComponent< CPressureCompensator, 3U >

friend class CSoftwareComponent< CPressureCompensator, 3U >
friend

Member Data Documentation

◆ bIsInitialized_

bool CPressureCompensator::bIsInitialized_ { false }
private

True – SWC is initialized, false otherwise.

◆ fPressureOffsetPa_

float CPressureCompensator::fPressureOffsetPa_ { 0.0F }
private

Pressure offset in Pascals.

◆ keSensorId_

const ESensorId CPressureCompensator::keSensorId_
private

Pressure sensor ID assigned to this instance.


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