SensorLib 0.5.1
Multi-platform sensor driver library for Arduino, PlatformIO, and ESP-IDF
Loading...
Searching...
No Matches
AXP517Charger.hpp
Go to the documentation of this file.
1
31#pragma once
32
33#include "../../PmicChargerBase.hpp"
34#include "AXP517Core.hpp"
35
43{
44public:
49 explicit AXP517Charger(AXP517Core &core);
50
51 ~AXP517Charger() = default;
52
58 bool enableCharging(bool enable) override;
59
64 bool isCharging() override;
65
73 bool enableBatteryTemperatureProtection(bool enable);
74
77
83 bool setPreChargeCurrent(uint16_t mA) override;
84
89 uint16_t getPreChargeCurrent() override;
90
96 bool setFastChargeCurrent(uint16_t mA) override;
97
102 uint16_t getFastChargeCurrent() override;
103
109 bool setTerminationCurrent(uint16_t mA) override;
110
115 uint16_t getTerminationCurrent() override;
116
123 bool setChargeVoltage(uint16_t mV) override;
124
129 uint16_t getChargeVoltage() override;
130
135 Status getStatus() override;
136
137private:
138
148 bool setCurrentWithStep(uint8_t reg, uint16_t milliamps,
149 uint16_t max, uint16_t step, uint8_t mask);
150
158 uint16_t getCurrentWithStep(uint8_t reg, uint16_t step, uint8_t mask);
159
160 AXP517Core &_core;
161};
@license MIT License
AXP517 battery charger driver.
~AXP517Charger()=default
uint16_t getChargeVoltage() override
Get charge voltage (CV).
uint16_t getPreChargeCurrent() override
Get pre-charge current.
bool setChargeVoltage(uint16_t mV) override
Set charge voltage (CV).
bool enableBatteryTemperatureProtection(bool enable)
Enable or disable TS-pin battery temperature protection.
uint16_t getFastChargeCurrent() override
Get fast charge (constant-current) current.
bool enableCharging(bool enable) override
Enable or disable charging.
Status getStatus() override
Get current charger status (best-effort).
bool setFastChargeCurrent(uint16_t mA) override
Set fast charge (constant-current) current.
bool isCharging() override
Check whether charger is currently charging (best-effort).
bool setTerminationCurrent(uint16_t mA) override
Set termination current.
uint16_t getTerminationCurrent() override
Get termination current.
bool isBatteryTemperatureProtectionEnabled()
Return true when the TS pin can affect charging.
bool setPreChargeCurrent(uint16_t mA) override
Set pre-charge current.
AXP517 low-level core driver.
PMIC charger capability interface.
Charger status structure.