32#include "../../PmicChargerBase.hpp"
Status getStatus() override
Get the current charger status.
void disableButtonBatteryCharge()
Disable button/coin-cell battery charging (REG 0x18, bit 2).
bool isCharging() override
Check if the charger is actively charging.
uint8_t getChargeHighTempFaultThreshold()
Get charge high-temperature fault threshold (REG 55, VHTF_CHG).
bool isBatteryDetectionEnabled()
Check if battery detection is enabled (REG 0x68, bit 0).
void disableBatteryDetection()
Disable battery detection (REG 0x68, bit 0).
bool setLowTempHysteresis(uint8_t val)
Set low-temperature hysteresis (REG 52, HYSL2H).
void enableBatteryDetection()
Enable battery detection (REG 0x68, bit 0).
bool setChargeLowTempFaultThreshold(uint8_t val)
Set charge low-temperature fault threshold (REG 54, VLTF_CHG).
bool setJeitaCoolVoltageDrop(uint8_t levels)
Set cool-zone voltage drop levels in JEITA.
uint16_t getPreChargeCurrent() override
Get the configured precharge current (REG 0x61, bits 3:0).
bool setJeitaCoolThreshold(uint8_t val)
Set JEITA cool temperature threshold T2 (REG 5B low nibble).
bool setWorkLowTempFaultThreshold(uint8_t val)
Set work low-temperature fault threshold (REG 56, VLTF_WORK).
uint8_t getJeitaWarmVoltageDrop()
Get warm-zone voltage drop levels in JEITA (REG 0x59).
uint8_t getJeitaWarmThreshold()
Get JEITA warm temperature threshold T3 (REG 5B high nibble).
void enableButtonBatteryCharge()
Enable button/coin-cell battery charging (REG 0x18, bit 2).
uint8_t getThermalRegulationThreshold()
Get the thermal regulation threshold (REG 0x65, bits 1:0).
bool setJeitaWarmVoltageDrop(uint8_t levels)
Set warm-zone voltage drop levels in JEITA.
uint8_t getLowTempHysteresis()
Get low-temperature hysteresis (REG 52, HYSL2H).
bool setFastChargeCurrent(uint16_t mA) override
Set the fast-charge current limit (REG 0x62, bits 4:0).
bool setJeitaCoolCurrentReduction(bool reduce)
Set cool-zone current reduction in JEITA.
bool setPreChargeCurrent(uint16_t mA) override
Set the precharge current limit (REG 0x61, bits 3:0).
void setChargeDoneSafetyTimer(uint8_t opt)
Set the charge-done safety timer (REG 0x67, bits 6:4).
uint8_t getWorkLowTempFaultThreshold()
Get work low-temperature fault threshold (REG 56, VLTF_WORK).
bool enableJeita(bool enable)
Enable or disable JEITA temperature standard.
~AXP2101Charger()=default
bool setChargeVoltage(uint16_t mV) override
Set the charge voltage target (REG 0x64, bits 2:0).
bool setHighTempHysteresis(uint8_t val)
Set high-temperature hysteresis (REG 53, HYSH2L).
uint8_t getHighTempHysteresis()
Get high-temperature hysteresis (REG 53, HYSH2L).
bool isJeitaEnabled()
Check if JEITA temperature standard is enabled.
void enableChargeTermination()
Enable charge termination detection (REG 0x63, bit 4).
bool getJeitaCoolCurrentReduction()
Get cool-zone current reduction setting in JEITA (REG 0x59).
uint16_t getButtonBatteryChargeVoltage()
Get the configured button battery charge voltage (REG 0x6A, bits 2:0).
uint8_t getJeitaCoolThreshold()
Get JEITA cool temperature threshold T2 (REG 5B low nibble).
uint8_t getJeitaCoolVoltageDrop()
Get cool-zone voltage drop levels in JEITA (REG 0x59).
bool enableCharging(bool enable) override
Enable or disable battery charging.
uint16_t getChargeVoltage() override
Get the configured charge voltage target (REG 0x64, bits 2:0).
void disableChargeTermination()
Disable charge termination detection (REG 0x63, bit 4).
uint16_t getFastChargeCurrent() override
Get the configured fast-charge current (REG 0x62, bits 4:0).
bool setChargeHighTempFaultThreshold(uint8_t val)
Set charge high-temperature fault threshold (REG 55, VHTF_CHG).
bool isButtonBatteryChargeEnabled()
Check if button battery charging is enabled (REG 0x18, bit 2).
bool setWorkHighTempFaultThreshold(uint8_t val)
Set work high-temperature fault threshold (REG 57, VHTF_WORK).
uint8_t getChargeLowTempFaultThreshold()
Get charge low-temperature fault threshold (REG 54, VLTF_CHG).
bool setJeitaWarmThreshold(uint8_t val)
Set JEITA warm temperature threshold T3 (REG 5B high nibble).
bool setButtonBatteryChargeVoltage(uint16_t millivolt)
Set the button battery charge voltage (REG 0x6A, bits 2:0).
bool getJeitaWarmCurrentReduction()
Get warm-zone current reduction setting in JEITA (REG 0x59).
void setPreChargeSafetyTimer(uint8_t opt)
Set the precharge safety timer (REG 0x67, bits 2:0).
uint8_t getWorkHighTempFaultThreshold()
Get work high-temperature fault threshold (REG 57, VHTF_WORK).
bool setJeitaWarmCurrentReduction(bool reduce)
Set warm-zone current reduction in JEITA.
uint16_t getTerminationCurrent() override
Get the configured termination current (REG 0x63, bits 3:0).
bool setTerminationCurrent(uint16_t mA) override
Set the charge termination current (REG 0x63, bits 3:0).
void setThermalRegulationThreshold(uint8_t opt)
Set the thermal regulation threshold (REG 0x65, bits 1:0).
bool isChargeTerminationEnabled()
Check if charge termination detection is enabled (REG 0x63, bit 4).
Core I2C communication layer for the AXP2101 PMIC.
PMIC charger capability interface.
Charger status structure.