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

#include <PmicLedBase.hpp>

Inheritance diagram for PmicLedBase:
[legend]

Public Types

enum class  OutputType : uint8_t { OpenDrain = 0 , PushPull = 1 }
 
enum class  Mode : uint8_t {
  AUTO = 0 , MANUAL = 1 , BREATH = 2 , DISABLE = 3 ,
  VENDOR = 255
}
 High-level LED operating mode (portable subset). More...
 
enum class  ManualState : uint8_t {
  HiZ = 0 , LEVEL_LOW = 1 , LEVEL_HIGH = 2 , BLINK_1HZ = 3 ,
  BLINK_4HZ = 4 , UNDEFINED = 255
}
 Manual LED state (portable subset). More...
 

Public Member Functions

virtual ~PmicLedBase ()=default
 
virtual bool setOutputType (OutputType type)=0
 Set LED output type.
 
virtual bool setMode (Mode mode)=0
 Set LED operating mode.
 
virtual Mode getMode ()=0
 Get LED operating mode.
 
virtual bool setManualState (ManualState state)=0
 Set manual LED state (only meaningful when Mode::Manual is active).
 
virtual ManualState getManualState ()=0
 Get manual LED state (only meaningful when Mode::Manual is active).
 

Detailed Description

Definition at line 43 of file PmicLedBase.hpp.

Member Enumeration Documentation

◆ ManualState

enum class PmicLedBase::ManualState : uint8_t
strong

Manual LED state (portable subset).

Enumerator
HiZ 
LEVEL_LOW 
LEVEL_HIGH 
BLINK_1HZ 
BLINK_4HZ 
UNDEFINED 

Definition at line 87 of file PmicLedBase.hpp.

◆ Mode

enum class PmicLedBase::Mode : uint8_t
strong

High-level LED operating mode (portable subset).

Enumerator
AUTO 

PMIC controls LED automatically (e.g.

charge indicator). The actual behavior depends on the chip.

MANUAL 

Manual control through registers.

BREATH 

Breath/blink mode controlled by PMIC/hardware (if supported).

DISABLE 

LED is disabled (if supported).

VENDOR 

Unknown/implementation-specific mode.

Definition at line 56 of file PmicLedBase.hpp.

◆ OutputType

enum class PmicLedBase::OutputType : uint8_t
strong
Enumerator
OpenDrain 
PushPull 

Definition at line 48 of file PmicLedBase.hpp.

Constructor & Destructor Documentation

◆ ~PmicLedBase()

virtual PmicLedBase::~PmicLedBase ( )
virtualdefault

Member Function Documentation

◆ getManualState()

virtual ManualState PmicLedBase::getManualState ( )
pure virtual

Get manual LED state (only meaningful when Mode::Manual is active).

Note
This retrieves the current LED behavior (e.g. on/off/Hi-Z).
Return values
Currentmanual state.

Implemented in SY6970Led, BQ25896Led, AXP1xxLed< Regs >, AXP1xxLed< axp192_regs >, AXP1xxLed< axp202_regs >, AXP2101Led, and AXP517Led.

◆ getMode()

virtual Mode PmicLedBase::getMode ( )
pure virtual

Get LED operating mode.

Note
This retrieves the current LED behavior (e.g. auto/manual).
Return values
Currentoperating mode.

Implemented in SY6970Led, BQ25896Led, AXP1xxLed< Regs >, AXP1xxLed< axp192_regs >, AXP1xxLed< axp202_regs >, AXP2101Led, and AXP517Led.

◆ setManualState()

virtual bool PmicLedBase::setManualState ( ManualState  state)
pure virtual

Set manual LED state (only meaningful when Mode::Manual is active).

Note
This controls the LED behavior (e.g. on/off/Hi-Z).
Parameters
stateDesired manual state.
Return values
Trueon success, false on failure.

Implemented in SY6970Led, BQ25896Led, AXP1xxLed< Regs >, AXP1xxLed< axp192_regs >, AXP1xxLed< axp202_regs >, AXP2101Led, and AXP517Led.

◆ setMode()

virtual bool PmicLedBase::setMode ( Mode  mode)
pure virtual

Set LED operating mode.

Note
This controls the LED behavior (e.g. auto/manual).
Parameters
modeDesired operating mode.
Return values
Trueon success, false on failure.

Implemented in SY6970Led, BQ25896Led, AXP1xxLed< Regs >, AXP1xxLed< axp192_regs >, AXP1xxLed< axp202_regs >, AXP2101Led, and AXP517Led.

Referenced by setup().

◆ setOutputType()

virtual bool PmicLedBase::setOutputType ( OutputType  type)
pure virtual

Set LED output type.

Note
This controls the LED driver configuration (open-drain vs push-pull).
Parameters
typeDesired output type.
Return values
Trueon success, false on failure.

Implemented in SY6970Led, BQ25896Led, AXP1xxLed< Regs >, AXP1xxLed< axp192_regs >, AXP1xxLed< axp202_regs >, AXP2101Led, and AXP517Led.


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