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

PMIC Base Abstract Class. More...

#include <PmicBase.hpp>

Inheritance diagram for PmicBase:
[legend]

Public Member Functions

virtual ~PmicBase ()=default
 Virtual destructor.
 
virtual bool begin (SensorCommCustom::CustomCallback callback, SensorCommCustomHal::CustomHalCallback hal_cb, uint8_t addr)=0
 Initialize PMIC with custom communication callback.
 
virtual void end ()=0
 Deinitialize PMIC and release resources.
 
virtual PmicCapability::Capability getCapabilities () const =0
 Get PMIC capabilities.
 
virtual const PmicConfiggetConfig () const =0
 Get static PMIC configuration.
 
virtual PmicPowerBasegetPower ()=0
 Get power management interface.
 
virtual PmicChargerBasegetCharger ()
 Get charger interface.
 
virtual PmicAdcBasegetAdc ()=0
 Get ADC interface.
 
virtual PmicGpioBasegetGpio ()
 Get GPIO interface.
 
virtual PmicLedBasegetLed ()=0
 Get LED interface.
 
virtual PmicChannelBasegetChannel ()
 Get power output channel interface.
 
virtual PmicIrqBasegetIrq ()
 Get interrupt interface.
 
virtual const char * getChipName () const =0
 Get PMIC device name.
 

Detailed Description

PMIC Base Abstract Class.

This class defines the interface that all PMIC implementations must provide. It handles initialization, provides access to sub-modules, and reports capabilities.

Definition at line 129 of file PmicBase.hpp.

Constructor & Destructor Documentation

◆ ~PmicBase()

virtual PmicBase::~PmicBase ( )
virtualdefault

Virtual destructor.

Member Function Documentation

◆ begin()

virtual bool PmicBase::begin ( SensorCommCustom::CustomCallback  callback,
SensorCommCustomHal::CustomHalCallback  hal_cb,
uint8_t  addr 
)
pure virtual

Initialize PMIC with custom communication callback.

Parameters
callbackCustom communication callback for read/write operations
hal_cbPlatform digital IO and delay callback function.
addrDevice address
Returns
true on success, false on failure

Implemented in PmicSY6970, PmicBQ25896, PmicAXP192, PmicAXP202, PmicAXP2101, and PmicAXP517.

◆ end()

virtual void PmicBase::end ( )
pure virtual

Deinitialize PMIC and release resources.

Implemented in PmicSY6970, PmicBQ25896, PmicAXP192, PmicAXP202, PmicAXP2101, and PmicAXP517.

◆ getAdc()

virtual PmicAdcBase & PmicBase::getAdc ( )
pure virtual

Get ADC interface.

Returns
Reference to ADC interface
Note
Returns reference to ADC implementation
See also
PmicAdcBase

Implemented in PmicSY6970, PmicBQ25896, PmicAXP192, PmicAXP202, PmicAXP2101, and PmicAXP517.

Referenced by loop().

◆ getCapabilities()

virtual PmicCapability::Capability PmicBase::getCapabilities ( ) const
pure virtual

Get PMIC capabilities.

Returns
Bitmask of supported capabilities
See also
PmicCapability::Capability enum for available capability flags

Implemented in PmicSY6970, PmicBQ25896, PmicAXP192, PmicAXP202, PmicAXP2101, and PmicAXP517.

Referenced by setup().

◆ getChannel()

virtual PmicChannelBase * PmicBase::getChannel ( )
inlinevirtual

Get power output channel interface.

Returns
Pointer to channel interface, nullptr if not supported
Note
Provides unified DCDC/LDO channel control
See also
PmicChannelBase

Reimplemented in PmicAXP192, PmicAXP202, and PmicAXP2101.

Definition at line 253 of file PmicBase.hpp.

◆ getCharger()

virtual PmicChargerBase * PmicBase::getCharger ( )
inlinevirtual

Get charger interface.

Returns
Pointer to charger interface, nullptr if not supported
Note
Returns nullptr if CHARGER capability is not present
See also
getCapabilities()

Reimplemented in PmicSY6970, PmicBQ25896, PmicAXP192, PmicAXP202, PmicAXP2101, and PmicAXP517.

Definition at line 211 of file PmicBase.hpp.

Referenced by loop(), and setup().

◆ getChipName()

virtual const char * PmicBase::getChipName ( ) const
pure virtual

Get PMIC device name.

Returns
C-string containing device name (e.g., "BQ25896", "SY6970")

Implemented in PmicSY6970, PmicBQ25896, PmicAXP192, PmicAXP202, PmicAXP2101, and PmicAXP517.

Referenced by loop(), and setup().

◆ getConfig()

virtual const PmicConfig & PmicBase::getConfig ( ) const
pure virtual

Get static PMIC configuration.

Returns
Const reference to a static PmicConfig struct.

Implemented in PmicSY6970, PmicBQ25896, PmicAXP192, PmicAXP202, PmicAXP2101, and PmicAXP517.

◆ getGpio()

virtual PmicGpioBase * PmicBase::getGpio ( )
inlinevirtual

Get GPIO interface.

Returns
Pointer to GPIO interface, nullptr if not supported
Note
GPIO support is optional across PMICs. Callers should check for nullptr before use and/or verify capability flags.

Reimplemented in PmicAXP192, PmicAXP202, and PmicAXP517.

Definition at line 232 of file PmicBase.hpp.

◆ getIrq()

virtual PmicIrqBase * PmicBase::getIrq ( )
inlinevirtual

Get interrupt interface.

Returns
Pointer to interrupt interface, nullptr if not supported
Note
This accessor uses the "getXxx" style intentionally because IRQ support is optional across PMICs. Callers should check for nullptr before use (similar to getCharger()).
Chip-specific drivers may additionally expose irq() returning a concrete IRQ type (for chip-specific helper APIs). Use getIrq() when working through a PmicBase pointer/reference.

Reimplemented in PmicAXP192, PmicAXP202, PmicAXP2101, and PmicAXP517.

Definition at line 270 of file PmicBase.hpp.

◆ getLed()

virtual PmicLedBase & PmicBase::getLed ( )
pure virtual

Get LED interface.

Returns
Reference to LED interface
Note
Returns reference to LED implementation
See also
PmicLedBase

Implemented in PmicSY6970, PmicBQ25896, PmicAXP192, PmicAXP202, PmicAXP2101, and PmicAXP517.

Referenced by setup().

◆ getPower()

virtual PmicPowerBase & PmicBase::getPower ( )
pure virtual

Get power management interface.

Returns
Reference to power interface

Implemented in PmicSY6970, PmicBQ25896, PmicAXP192, PmicAXP202, PmicAXP2101, and PmicAXP517.

Referenced by loop(), and setup().


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