SensorLib 0.5.0
Multi-platform sensor driver library for Arduino, PlatformIO, and ESP-IDF
Loading...
Searching...
No Matches
ComplexDeviceWithHal Class Reference

#include <ComplexDeviceWithHal.hpp>

Inheritance diagram for ComplexDeviceWithHal:
[legend]

Public Member Functions

bool begin (CommInterface interface, SensorCommCustom::CustomCallback callback, SensorCommCustomHal::CustomHalCallback hal_callback, uint8_t addr=0)
 Initialize the sensor using custom callback interface.
 
- Public Member Functions inherited from DeviceBeginCommon
virtual ~DeviceBeginCommon ()
 
uint8_t getAddress () const
 
uint8_t getInterface () const
 
- Public Member Functions inherited from SensorCommWrapper
 SensorCommWrapper ()=default
 
int readReg (uint8_t reg) const
 
int readRegBuff (uint8_t reg, uint8_t *buf, size_t len) const
 
int readBuff (uint8_t *buf, size_t len) const
 
int writeReg (uint8_t reg, uint8_t val)
 
int writeRegBuff (uint8_t reg, uint8_t *buf, size_t len)
 
int writeBuff (uint8_t *buf, size_t len)
 
int writeThenRead (const uint8_t *write_buffer, size_t write_len, uint8_t *read_buffer, size_t read_len)
 
bool setRegBit (uint8_t reg, uint8_t bit)
 
bool clrRegBit (uint8_t reg, uint8_t bit)
 
bool getRegBit (uint8_t reg, uint8_t bit)
 
int updateBits (uint8_t reg, uint8_t mask, uint8_t value_shifted)
 
void setAddress (uint8_t address)
 
void setAck (bool enable)
 
- Public Member Functions inherited from SensorCommInterface
virtual ~SensorCommInterface ()=default
 

Protected Member Functions

bool ensureValid () const override
 Ensure the communication interface is valid.
 
- Protected Member Functions inherited from DeviceBeginCommon
 DeviceBeginCommon ()=default
 
virtual bool initImpl (uint8_t param)=0
 
virtual SensorCommBasegetComm () const override
 
virtual void beforeBegin ()
 
virtual void afterCommReady ()
 
virtual void afterInitSuccess (uint8_t param)
 
virtual void onBeginFail ()
 
bool fail ()
 
void clearCommState ()
 
template<typename CreateComm >
bool beginLifecycle (uint8_t addr, uint8_t iface, uint8_t initParam, CreateComm createComm)
 

Additional Inherited Members

- Protected Attributes inherited from DeviceBeginCommon
std::unique_ptr< SensorCommBasecomm
 
std::unique_ptr< SensorHalhal
 
std::unique_ptr< SensorCommStaticstaticComm
 
uint8_t _addr = 0
 
uint8_t _iface = COMM_CUSTOM
 

Detailed Description

Definition at line 34 of file ComplexDeviceWithHal.hpp.

Member Function Documentation

◆ begin()

bool ComplexDeviceWithHal::begin ( CommInterface  interface,
SensorCommCustom::CustomCallback  callback,
SensorCommCustomHal::CustomHalCallback  hal_callback,
uint8_t  addr = 0 
)
inline

Initialize the sensor using custom callback interface.

Note
Suitable for other platforms not covered by standard implementations.
Parameters
interfaceCommunication interface type (COMM_SPI or COMM_I2C).
callbackRegister read/write callback function.
hal_callbackPlatform digital IO and delay callback function.
addrDevice address,if use I2C interface
Returns
True if initialization is successful, false otherwise.

Definition at line 127 of file ComplexDeviceWithHal.hpp.

References DeviceBeginCommon::beginLifecycle(), DeviceBeginCommon::comm, DeviceBeginCommon::hal, and hal_callback().

Referenced by __attribute__(), beginPower(), and setup().

◆ ensureValid()

bool ComplexDeviceWithHal::ensureValid ( ) const
inlineoverrideprotectedvirtual

Ensure the communication interface is valid.

Returns
True if valid, false otherwise.

Reimplemented from DeviceBeginCommon.

Definition at line 142 of file ComplexDeviceWithHal.hpp.

References DeviceBeginCommon::comm, and DeviceBeginCommon::hal.


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