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

AXP517 battery charger driver. More...

#include <AXP517Charger.hpp>

Inheritance diagram for AXP517Charger:
[legend]

Public Member Functions

 AXP517Charger (AXP517Core &core)
 Construct an AXP517 charger driver.
 
 ~AXP517Charger ()=default
 
bool enableCharging (bool enable) override
 Enable or disable charging.
 
bool isCharging () override
 Check whether charger is currently charging (best-effort).
 
bool setPreChargeCurrent (uint16_t mA) override
 Set pre-charge current.
 
uint16_t getPreChargeCurrent () override
 Get pre-charge current.
 
bool setFastChargeCurrent (uint16_t mA) override
 Set fast charge (constant-current) current.
 
uint16_t getFastChargeCurrent () override
 Get fast charge (constant-current) current.
 
bool setTerminationCurrent (uint16_t mA) override
 Set termination current.
 
uint16_t getTerminationCurrent () override
 Get termination current.
 
bool setChargeVoltage (uint16_t mV) override
 Set charge voltage (CV).
 
uint16_t getChargeVoltage () override
 Get charge voltage (CV).
 
Status getStatus () override
 Get current charger status (best-effort).
 
- Public Member Functions inherited from PmicChargerBase
virtual ~PmicChargerBase ()=default
 Virtual destructor.
 

Additional Inherited Members

- Public Types inherited from PmicChargerBase
enum class  ChargingStatus : uint8_t {
  NO_CHARGING = 0 , PRE_CHARGE = 1 , FAST_CHARGE = 2 , TERMINATION = 3 ,
  UNKNOWN = 0xFF
}
 Charging status enumeration. More...
 

Detailed Description

AXP517 battery charger driver.

Provides charge enable, charge-current configuration, charge-voltage configuration, termination-current configuration, and coarse charger status.

Definition at line 42 of file AXP517Charger.hpp.

Constructor & Destructor Documentation

◆ AXP517Charger()

AXP517Charger::AXP517Charger ( AXP517Core core)
explicit

Construct an AXP517 charger driver.

Parameters
coreShared AXP517 register transport.

Definition at line 37 of file AXP517Charger.cpp.

◆ ~AXP517Charger()

AXP517Charger::~AXP517Charger ( )
default

Member Function Documentation

◆ enableCharging()

bool AXP517Charger::enableCharging ( bool  enable)
overridevirtual

Enable or disable charging.

Parameters
enabletrue to enable charging, false to disable it.
Return values
trueon success, false on register access failure.

Implements PmicChargerBase.

Definition at line 42 of file AXP517Charger.cpp.

References axp517_regs::ctrl::MODULE_EN1, and SensorCommWrapper::updateBits().

◆ getChargeVoltage()

uint16_t AXP517Charger::getChargeVoltage ( )
overridevirtual

Get charge voltage (CV).

Returns
Charge voltage in millivolts, or 0 on register access failure.

Implements PmicChargerBase.

Definition at line 108 of file AXP517Charger.cpp.

References axp517_regs::chg::CV_CHG_VOLTAGE, and SensorCommWrapper::readReg().

◆ getFastChargeCurrent()

uint16_t AXP517Charger::getFastChargeCurrent ( )
overridevirtual

Get fast charge (constant-current) current.

Returns
Fast charge current in milliamps, or 0 on register access failure.

Implements PmicChargerBase.

Definition at line 67 of file AXP517Charger.cpp.

References axp517_regs::chg::ICC_SETTING.

◆ getPreChargeCurrent()

uint16_t AXP517Charger::getPreChargeCurrent ( )
overridevirtual

Get pre-charge current.

Returns
Pre-charge current in milliamps, or 0 on register access failure.

Implements PmicChargerBase.

Definition at line 57 of file AXP517Charger.cpp.

References axp517_regs::chg::IPRECHG_ITRICHG.

◆ getStatus()

AXP517Charger::Status AXP517Charger::getStatus ( )
overridevirtual

Get current charger status (best-effort).

Returns
Charger status mapped to the common PMIC status enum.

< 000: tri_charge 001: pre_charge 010: constant charge(CC) 011: constant voltage(CV) 100: charge done 101: not charging 11X: Reserved

Implements PmicChargerBase.

Definition at line 129 of file AXP517Charger.cpp.

References PmicChargerBase::Status::online, SensorCommWrapper::readRegBuff(), and axp517_regs::bmu::STATUS0.

Referenced by isCharging(), isVbusPresentNow(), readStatusSnapshot(), and setup().

◆ getTerminationCurrent()

uint16_t AXP517Charger::getTerminationCurrent ( )
overridevirtual

Get termination current.

Returns
Termination current in milliamps, or 0 on register access failure.

Implements PmicChargerBase.

Definition at line 77 of file AXP517Charger.cpp.

References axp517_regs::chg::ITERM_CTRL.

◆ isCharging()

bool AXP517Charger::isCharging ( )
overridevirtual

Check whether charger is currently charging (best-effort).

Return values
trueif charging, false otherwise.

Implements PmicChargerBase.

Definition at line 47 of file AXP517Charger.cpp.

References PmicChargerBase::Status::charging, and getStatus().

◆ setChargeVoltage()

bool AXP517Charger::setChargeVoltage ( uint16_t  mV)
overridevirtual

Set charge voltage (CV).

Parameters
mVDesired voltage in millivolts, range 3600-5000mV. Allowed values: 3600, 3800, 4000, 4100, 4200, 4350, 4400, 5000.
Return values
trueon success, false on register access failure.

Implements PmicChargerBase.

Definition at line 82 of file AXP517Charger.cpp.

References axp517_regs::chg::CV_CHG_VOLTAGE, SensorCommWrapper::readReg(), and SensorCommWrapper::writeReg().

◆ setFastChargeCurrent()

bool AXP517Charger::setFastChargeCurrent ( uint16_t  mA)
overridevirtual

Set fast charge (constant-current) current.

Parameters
mADesired current in milliamps, range 0-5120mA, steps 64mA.
Return values
trueon success, false on register access failure.

Implements PmicChargerBase.

Definition at line 62 of file AXP517Charger.cpp.

References axp517_regs::chg::ICC_SETTING.

◆ setPreChargeCurrent()

bool AXP517Charger::setPreChargeCurrent ( uint16_t  mA)
overridevirtual

Set pre-charge current.

Parameters
mADesired current in milliamps, range 0-960mA, steps 64mA.
Return values
trueon success, false on register access failure.

Implements PmicChargerBase.

Definition at line 52 of file AXP517Charger.cpp.

References axp517_regs::chg::IPRECHG_ITRICHG.

◆ setTerminationCurrent()

bool AXP517Charger::setTerminationCurrent ( uint16_t  mA)
overridevirtual

Set termination current.

Parameters
mADesired current in milliamps, range 0-960mA, steps 64mA.
Return values
trueon success, false on register access failure.

Implements PmicChargerBase.

Definition at line 72 of file AXP517Charger.cpp.

References axp517_regs::chg::ITERM_CTRL.


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