|
SensorLib 0.5.0
Multi-platform sensor driver library for Arduino, PlatformIO, and ESP-IDF
|
AXP517 battery charger driver. More...
#include <AXP517Charger.hpp>
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... | |
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.
|
explicit |
Construct an AXP517 charger driver.
| core | Shared AXP517 register transport. |
Definition at line 37 of file AXP517Charger.cpp.
|
default |
|
overridevirtual |
Enable or disable charging.
| enable | true to enable charging, false to disable it. |
| true | on 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().
|
overridevirtual |
Get charge voltage (CV).
Implements PmicChargerBase.
Definition at line 108 of file AXP517Charger.cpp.
References axp517_regs::chg::CV_CHG_VOLTAGE, and SensorCommWrapper::readReg().
|
overridevirtual |
Get fast charge (constant-current) current.
Implements PmicChargerBase.
Definition at line 67 of file AXP517Charger.cpp.
References axp517_regs::chg::ICC_SETTING.
|
overridevirtual |
Get pre-charge current.
Implements PmicChargerBase.
Definition at line 57 of file AXP517Charger.cpp.
References axp517_regs::chg::IPRECHG_ITRICHG.
|
overridevirtual |
Get current charger status (best-effort).
< 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().
|
overridevirtual |
Get termination current.
Implements PmicChargerBase.
Definition at line 77 of file AXP517Charger.cpp.
References axp517_regs::chg::ITERM_CTRL.
|
overridevirtual |
Check whether charger is currently charging (best-effort).
| true | if charging, false otherwise. |
Implements PmicChargerBase.
Definition at line 47 of file AXP517Charger.cpp.
References PmicChargerBase::Status::charging, and getStatus().
|
overridevirtual |
Set charge voltage (CV).
| mV | Desired voltage in millivolts, range 3600-5000mV. Allowed values: 3600, 3800, 4000, 4100, 4200, 4350, 4400, 5000. |
| true | on 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().
|
overridevirtual |
Set fast charge (constant-current) current.
| mA | Desired current in milliamps, range 0-5120mA, steps 64mA. |
| true | on success, false on register access failure. |
Implements PmicChargerBase.
Definition at line 62 of file AXP517Charger.cpp.
References axp517_regs::chg::ICC_SETTING.
|
overridevirtual |
Set pre-charge current.
| mA | Desired current in milliamps, range 0-960mA, steps 64mA. |
| true | on success, false on register access failure. |
Implements PmicChargerBase.
Definition at line 52 of file AXP517Charger.cpp.
References axp517_regs::chg::IPRECHG_ITRICHG.
|
overridevirtual |
Set termination current.
| mA | Desired current in milliamps, range 0-960mA, steps 64mA. |
| true | on success, false on register access failure. |
Implements PmicChargerBase.
Definition at line 72 of file AXP517Charger.cpp.
References axp517_regs::chg::ITERM_CTRL.