AMS Advanced Air Mobility Sensors UG
Loading...
Searching...
No Matches
CSoftwareComponentPortBase Class Referenceabstract
Inheritance diagram for CSoftwareComponentPortBase:
CSoftwareComponentPort< SImuMeasurement, static_cast< uint8_t >(EPortIds::eImuInput1)> CSoftwareComponentPort< SBarometerMeasurement, static_cast< uint8_t >(EPortIds::ePressureInput1)> CSoftwareComponentPort< SMagneticMeasurement, static_cast< uint8_t >(EPortIds::eMagnetometerInput1)> CSoftwareComponentPort< SMagneticMeasurement, static_cast< uint8_t >(EPortIds::eMagnetometerInput2)> CSoftwareComponentPort< SMagneticMeasurement, static_cast< uint8_t >(EPortIds::eMagnetometerInput3)> CSoftwareComponentPort< SBarometerMeasurement, static_cast< uint8_t >(EPortIds::ePressureInput2)> CSoftwareComponentPort< SBarometerMeasurement, static_cast< uint8_t >(EPortIds::ePressureInput3)> CSoftwareComponentPort< SImuMeasurement, static_cast< uint8_t >(EPortIds::eImuInput2)> CSoftwareComponentPort< SImuMeasurement, static_cast< uint8_t >(EPortIds::eImuInput3)> CSoftwareComponentPort< STimeOfSyncPulse, static_cast< uint8_t >(EPortIds::eSyncPulseTime)> CSoftwareComponentPort< SOutputImuData, static_cast< uint8_t >(EPortIds::eImuOutput)> CSoftwareComponentPort< SMagneticMeasurement, static_cast< uint8_t >(EPortIds::eCompensatedMagnetometerData)> CSoftwareComponentPort< SMagneticHeading, static_cast< uint8_t >(EPortIds::eMagneticHeading)> CSoftwareComponentPort< SMagneticMeasurement, static_cast< uint8_t >(EPortIds::eCompensatedMagnetometerDataInVehicleFrame)> CSoftwareComponentPort< CImuDataAfterMonitor, static_cast< uint8_t >(EPortIds::eImuDataAfterMonitor)> CSoftwareComponentPort< SBarometerMeasurement, static_cast< uint8_t >(EPortIds::eSafePressureData1)> CSoftwareComponentPort< SBarometerMeasurement, static_cast< uint8_t >(EPortIds::eSafePressureData2)> CSoftwareComponentPort< SBarometerMeasurement, static_cast< uint8_t >(EPortIds::eSafePressureData3)> CSoftwareComponentPort< CBahrsFilterOutput, static_cast< uint8_t >(EPortIds::eBahrsFilterOutput1)> CSoftwareComponentPort< CBahrsFilterOutput, static_cast< uint8_t >(EPortIds::eBahrsFilterOutput2)> CSoftwareComponentPort< CBahrsFilterOutput, static_cast< uint8_t >(EPortIds::eBahrsFilterOutput3)> CSoftwareComponentPort< SAttitudeData, static_cast< uint8_t >(EPortIds::eVehicleAttitude1)> CSoftwareComponentPort< SAttitudeData, static_cast< uint8_t >(EPortIds::eVehicleAttitude2)> CSoftwareComponentPort< SAttitudeData, static_cast< uint8_t >(EPortIds::eVehicleAttitude3)> CSoftwareComponentPort< SSafeAttitudeData, static_cast< uint8_t >(EPortIds::eSafeVehicleAttitude)> CSoftwareComponentPort< SSafeVerticalChannelData, static_cast< uint8_t >(EPortIds::eSafeVerticalChannelData)> CSoftwareComponentPort< tPortDataType, uPortId >

Public Member Functions

 CSoftwareComponentPortBase ()
 
 ~CSoftwareComponentPortBase ()
 
 CSoftwareComponentPortBase (CSoftwareComponentPortBase &)=delete
 
 CSoftwareComponentPortBase (CSoftwareComponentPortBase &&)=delete
 
CSoftwareComponentPortBaseoperator= (const CSoftwareComponentPortBase &orOther)=delete
 
CSoftwareComponentPortBaseoperator= (CSoftwareComponentPortBase &&orOther)=delete
 
bool Init ()
 
bool IsPortReady () const
 
bool Lock ()
 
void Unlock ()
 Unlock the port.
 
virtual uint8_t GetId () const =0
 Get port unique identifier.
 

Protected Types

using osStaticMutexDef_t = StaticSemaphore_t
 

Protected Attributes

bool bPortReady_ {false}
 The flag to indicate if the port has been initialized successfully.
 
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.
 

Static Protected Attributes

static constexpr uint32_t skuPortReadTimeout { 1U }
 Timeout for port read operation (in FreeRTOS ticks)
 
static constexpr uint32_t skuPortWriteTimeout { 1U }
 Timeout for port write operation (in FreeRTOS ticks)
 
static constexpr uint32_t skuPortLockTimeout { 1U }
 Timeout for port write operation (in FreeRTOS ticks)
 

Member Typedef Documentation

◆ osStaticMutexDef_t

using CSoftwareComponentPortBase::osStaticMutexDef_t = StaticSemaphore_t
protected

Constructor & Destructor Documentation

◆ CSoftwareComponentPortBase() [1/3]

CSoftwareComponentPortBase::CSoftwareComponentPortBase ( )
explicit

◆ ~CSoftwareComponentPortBase()

CSoftwareComponentPortBase::~CSoftwareComponentPortBase ( )

◆ CSoftwareComponentPortBase() [2/3]

CSoftwareComponentPortBase::CSoftwareComponentPortBase ( CSoftwareComponentPortBase )
delete

◆ CSoftwareComponentPortBase() [3/3]

CSoftwareComponentPortBase::CSoftwareComponentPortBase ( CSoftwareComponentPortBase &&  )
delete

Member Function Documentation

◆ GetId()

virtual uint8_t CSoftwareComponentPortBase::GetId ( ) const
pure virtual

Get port unique identifier.

Implemented in CSoftwareComponentPort< tPortDataType, uPortId >, CSoftwareComponentPort< SImuMeasurement, static_cast< uint8_t >(EPortIds::eImuInput1)>, CSoftwareComponentPort< SBarometerMeasurement, static_cast< uint8_t >(EPortIds::ePressureInput1)>, CSoftwareComponentPort< SMagneticMeasurement, static_cast< uint8_t >(EPortIds::eMagnetometerInput1)>, CSoftwareComponentPort< SMagneticMeasurement, static_cast< uint8_t >(EPortIds::eMagnetometerInput2)>, CSoftwareComponentPort< SMagneticMeasurement, static_cast< uint8_t >(EPortIds::eMagnetometerInput3)>, CSoftwareComponentPort< SBarometerMeasurement, static_cast< uint8_t >(EPortIds::ePressureInput2)>, CSoftwareComponentPort< SBarometerMeasurement, static_cast< uint8_t >(EPortIds::ePressureInput3)>, CSoftwareComponentPort< SImuMeasurement, static_cast< uint8_t >(EPortIds::eImuInput2)>, CSoftwareComponentPort< SImuMeasurement, static_cast< uint8_t >(EPortIds::eImuInput3)>, CSoftwareComponentPort< STimeOfSyncPulse, static_cast< uint8_t >(EPortIds::eSyncPulseTime)>, CSoftwareComponentPort< SOutputImuData, static_cast< uint8_t >(EPortIds::eImuOutput)>, CSoftwareComponentPort< SMagneticMeasurement, static_cast< uint8_t >(EPortIds::eCompensatedMagnetometerData)>, CSoftwareComponentPort< SMagneticHeading, static_cast< uint8_t >(EPortIds::eMagneticHeading)>, CSoftwareComponentPort< SMagneticMeasurement, static_cast< uint8_t >(EPortIds::eCompensatedMagnetometerDataInVehicleFrame)>, CSoftwareComponentPort< CImuDataAfterMonitor, static_cast< uint8_t >(EPortIds::eImuDataAfterMonitor)>, CSoftwareComponentPort< SBarometerMeasurement, static_cast< uint8_t >(EPortIds::eSafePressureData1)>, CSoftwareComponentPort< SBarometerMeasurement, static_cast< uint8_t >(EPortIds::eSafePressureData2)>, CSoftwareComponentPort< SBarometerMeasurement, static_cast< uint8_t >(EPortIds::eSafePressureData3)>, CSoftwareComponentPort< CBahrsFilterOutput, static_cast< uint8_t >(EPortIds::eBahrsFilterOutput1)>, CSoftwareComponentPort< CBahrsFilterOutput, static_cast< uint8_t >(EPortIds::eBahrsFilterOutput2)>, CSoftwareComponentPort< CBahrsFilterOutput, static_cast< uint8_t >(EPortIds::eBahrsFilterOutput3)>, CSoftwareComponentPort< SAttitudeData, static_cast< uint8_t >(EPortIds::eVehicleAttitude1)>, CSoftwareComponentPort< SAttitudeData, static_cast< uint8_t >(EPortIds::eVehicleAttitude2)>, CSoftwareComponentPort< SAttitudeData, static_cast< uint8_t >(EPortIds::eVehicleAttitude3)>, CSoftwareComponentPort< SSafeAttitudeData, static_cast< uint8_t >(EPortIds::eSafeVehicleAttitude)>, and CSoftwareComponentPort< SSafeVerticalChannelData, static_cast< uint8_t >(EPortIds::eSafeVerticalChannelData)>.

◆ Init()

bool CSoftwareComponentPortBase::Init ( )
inline

Initialize the port. The function creates the required mutex object.

Returns
True – success, false – failure.

◆ IsPortReady()

bool CSoftwareComponentPortBase::IsPortReady ( ) const
inline

◆ Lock()

bool CSoftwareComponentPortBase::Lock ( )

Lock the port for exclusive access.

Returns
True – success, false – failure.

◆ operator=() [1/2]

CSoftwareComponentPortBase & CSoftwareComponentPortBase::operator= ( const CSoftwareComponentPortBase orOther)
delete

◆ operator=() [2/2]

CSoftwareComponentPortBase & CSoftwareComponentPortBase::operator= ( CSoftwareComponentPortBase &&  orOther)
delete

◆ Unlock()

void CSoftwareComponentPortBase::Unlock ( )

Unlock the port.

Member Data Documentation

◆ bPortReady_

bool CSoftwareComponentPortBase::bPortReady_ {false}
protected

The flag to indicate if the port has been initialized successfully.

◆ pMutexHandle_

osMutexId_t CSoftwareComponentPortBase::pMutexHandle_
protected

Mutex handle.

◆ skuPortLockTimeout

constexpr uint32_t CSoftwareComponentPortBase::skuPortLockTimeout { 1U }
staticconstexprprotected

Timeout for port write operation (in FreeRTOS ticks)

◆ skuPortReadTimeout

constexpr uint32_t CSoftwareComponentPortBase::skuPortReadTimeout { 1U }
staticconstexprprotected

Timeout for port read operation (in FreeRTOS ticks)

◆ skuPortWriteTimeout

constexpr uint32_t CSoftwareComponentPortBase::skuPortWriteTimeout { 1U }
staticconstexprprotected

Timeout for port write operation (in FreeRTOS ticks)

◆ sMutexAttributes_

const osMutexAttr_t CSoftwareComponentPortBase::sMutexAttributes_ { NULL, 0, &sMutexControlBlock_, sizeof(sMutexControlBlock_) }
protected

A structure with mutex attributes required for creation.

◆ sMutexControlBlock_

osStaticMutexDef_t CSoftwareComponentPortBase::sMutexControlBlock_
protected

Memory reserved for the mutex control block.


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