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

The class implements the BMM150 Driver. The driver adjusts the sensor BMM150. More...

Inheritance diagram for CBmm150Driver:
CSoftwareComponent< CBmm150Driver, 2U >

Classes

struct  STrimRegData
 Structure of BMM150 compensation trim parameters. More...
 

Public Types

enum class  EBmmIds : uint8_t { eInvalid = 0 , eBmm1 , eBmm2 }
 BMM150 chips supported by the driver. More...
 

Public Member Functions

void Init () override
 
bool IsInitialized () override
 Check BMM150 sensor is initialized.
 
void Bmm150ReadMagData (void)
 Read Magnetic data from BMM150 Sensor.
 
- Public Member Functions inherited from CSoftwareComponent< CBmm150Driver, 2U >
 CSoftwareComponent (CSoftwareComponent &)=delete
 
 CSoftwareComponent (CSoftwareComponent &&)=delete
 
CSoftwareComponentoperator= (const CSoftwareComponent &orOther)=delete
 
CSoftwareComponentoperator= (CSoftwareComponent &&orOther)=delete
 
virtual void Init ()=0
 
virtual bool IsInitialized ()=0
 

Static Public Attributes

static constexpr int16_t skiOvrflwAdcValXYaxisFlip_ { -4096 }
 
static constexpr int16_t skiOvrflwAdcValZaxisHall_ { -16384 }
 
static constexpr int16_t skiNegSaturationZaxis_ { -32767 }
 
static constexpr int16_t skiPosSaturationZaxis_ { 32767 }
 
static constexpr int32_t skiOvrflwOutput_ { -32768 }
 
- Static Public Attributes inherited from CSoftwareComponent< CBmm150Driver, 2U >
static constexpr unsigned skuInstanceCount_
 

Private Member Functions

 CBmm150Driver (CBmm150Driver &)=delete
 
 CBmm150Driver (CBmm150Driver &&)=delete
 
CBmm150Driveroperator= (const CBmm150Driver &orOther)=delete
 
CBmm150Driveroperator= (CBmm150Driver &&orOther)=delete
 
 CBmm150Driver ()=delete
 
 CBmm150Driver (EBmmIds eBmmId)
 Creates a driver instance for the specified BMM150 chip.
 
 ~CBmm150Driver ()=default
 
bool readFromAddr (uint8_t uRegAddr, uint8_t *upRegData, uint8_t uSize)
 Read BMM150 sensor registers.
 
bool writeRegister (uint8_t uRegAddr, uint8_t *upRegData)
 write to BMM150 sensor registers
 
bool setNormalOperationMode (void)
 Set BMM150 sensor Normal operating mode.
 
bool setPresetConfig (uint8_t uXYRep, uint8_t uZRep, uint8_t uODR)
 Set BMM150 sensor preset configuration.
 
bool readTrimRegisters (void)
 Read the trim registers of the sensor.
 
int16_t compensateX (int16_t iMagDataX, uint16_t uDataRHall)
 compensate magnetic data of x axis
 
int16_t compensateY (int16_t iMagDataY, uint16_t uDataRHall)
 compensate magnetic data of y axis
 
int16_t compensateZ (int16_t iMagDataZ, uint16_t uDataRHall)
 compensate magnetic data of z axis
 

Static Private Member Functions

static CBmm150DrivergetInstanceImpl (unsigned uInstanceIndex)
 

Private Attributes

STrimRegData oTrimRegData_
 compensation trim parameters
 
uint8_t uSensorStatus_ = 0
 Sensor status after initialization.
 
const EBmmIds keSensorId_
 ID of the sensor corresponding to the driver instance.
 

Friends

class CSoftwareComponent< CBmm150Driver, 2U >
 

Additional Inherited Members

- Static Public Member Functions inherited from CSoftwareComponent< CBmm150Driver, 2U >
static CBmm150DriverGetInstance (unsigned uInstanceIndex=0U)
 
- Protected Member Functions inherited from CSoftwareComponent< CBmm150Driver, 2U >
 CSoftwareComponent ()=default
 
 ~CSoftwareComponent ()=default
 

Detailed Description

The class implements the BMM150 Driver. The driver adjusts the sensor BMM150.

Member Enumeration Documentation

◆ EBmmIds

enum class CBmm150Driver::EBmmIds : uint8_t
strong

BMM150 chips supported by the driver.

Enumerator
eInvalid 

Invalid BMM chip.

eBmm1 

The first BMM150.

eBmm2 

The second BMM150.

Constructor & Destructor Documentation

◆ CBmm150Driver() [1/4]

CBmm150Driver::CBmm150Driver ( CBmm150Driver )
privatedelete

◆ CBmm150Driver() [2/4]

CBmm150Driver::CBmm150Driver ( CBmm150Driver &&  )
privatedelete

◆ CBmm150Driver() [3/4]

CBmm150Driver::CBmm150Driver ( )
privatedelete

◆ CBmm150Driver() [4/4]

CBmm150Driver::CBmm150Driver ( EBmmIds  eBmmId)
private

Creates a driver instance for the specified BMM150 chip.

Parameters
eBmmId

◆ ~CBmm150Driver()

CBmm150Driver::~CBmm150Driver ( )
privatedefault

Member Function Documentation

◆ Bmm150ReadMagData()

void CBmm150Driver::Bmm150ReadMagData ( void  )

Read Magnetic data from BMM150 Sensor.

◆ compensateX()

int16_t CBmm150Driver::compensateX ( int16_t  iMagDataX,
uint16_t  uDataRHall 
)
private

compensate magnetic data of x axis

◆ compensateY()

int16_t CBmm150Driver::compensateY ( int16_t  iMagDataY,
uint16_t  uDataRHall 
)
private

compensate magnetic data of y axis

◆ compensateZ()

int16_t CBmm150Driver::compensateZ ( int16_t  iMagDataZ,
uint16_t  uDataRHall 
)
private

compensate magnetic data of z axis

◆ getInstanceImpl()

CBmm150Driver & CBmm150Driver::getInstanceImpl ( unsigned  uInstanceIndex)
staticprivate

◆ Init()

void CBmm150Driver::Init ( void  )
overridevirtual

Initialize the software component.

Implements CSoftwareComponent< CBmm150Driver, 2U >.

◆ IsInitialized()

bool CBmm150Driver::IsInitialized ( void  )
overridevirtual

Check BMM150 sensor is initialized.

Returns
true if initialized else return false

Implements CSoftwareComponent< CBmm150Driver, 2U >.

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

◆ readFromAddr()

bool CBmm150Driver::readFromAddr ( uint8_t  uRegAddr,
uint8_t *  upRegData,
uint8_t  uSize 
)
private

Read BMM150 sensor registers.

Parameters
uRegAddr- Address of Sensor register
upRegData- Array of data from sensor register
uSize- Number of register data bytes to be read
Returns
true on success else false

◆ readTrimRegisters()

bool CBmm150Driver::readTrimRegisters ( void  )
private

Read the trim registers of the sensor.

◆ setNormalOperationMode()

bool CBmm150Driver::setNormalOperationMode ( void  )
private

Set BMM150 sensor Normal operating mode.

Returns
true on success else false

◆ setPresetConfig()

bool CBmm150Driver::setPresetConfig ( uint8_t  uXYRep,
uint8_t  uZRep,
uint8_t  uODR 
)
private

Set BMM150 sensor preset configuration.

Parameters
uXYRep- set xy repetitions
uZRep- set z repetitions
uODR- set operating data rate
Returns
true on success else false number

◆ writeRegister()

bool CBmm150Driver::writeRegister ( uint8_t  uRegAddr,
uint8_t *  upRegData 
)
private

write to BMM150 sensor registers

Parameters
uRegAddr- Address of Sensor register
upRegData- Array of data to be written to sensor registers
Returns
true on success else false

Friends And Related Function Documentation

◆ CSoftwareComponent< CBmm150Driver, 2U >

friend class CSoftwareComponent< CBmm150Driver, 2U >
friend

Member Data Documentation

◆ keSensorId_

const EBmmIds CBmm150Driver::keSensorId_
private

ID of the sensor corresponding to the driver instance.

◆ oTrimRegData_

STrimRegData CBmm150Driver::oTrimRegData_
private

compensation trim parameters

◆ skiNegSaturationZaxis_

constexpr int16_t CBmm150Driver::skiNegSaturationZaxis_ { -32767 }
staticconstexpr

◆ skiOvrflwAdcValXYaxisFlip_

constexpr int16_t CBmm150Driver::skiOvrflwAdcValXYaxisFlip_ { -4096 }
staticconstexpr

◆ skiOvrflwAdcValZaxisHall_

constexpr int16_t CBmm150Driver::skiOvrflwAdcValZaxisHall_ { -16384 }
staticconstexpr

◆ skiOvrflwOutput_

constexpr int32_t CBmm150Driver::skiOvrflwOutput_ { -32768 }
staticconstexpr

◆ skiPosSaturationZaxis_

constexpr int16_t CBmm150Driver::skiPosSaturationZaxis_ { 32767 }
staticconstexpr

◆ uSensorStatus_

uint8_t CBmm150Driver::uSensorStatus_ = 0
private

Sensor status after initialization.


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