42#include "../../../SensorBuildOpt.h"
43#if !SENSORLIB_EXCLUDE_PMIC_SY6970
45#include "../../PmicBase.hpp"
46#include "../../PmicPowerBase.hpp"
47#include "../../PmicAdcBase.hpp"
60static constexpr uint8_t SY6970_SLAVE_ADDRESS = 0x6A;
72 PmicSY6970() : _core(), _charger(_core), _power(_core), _adc(_core), _led(_core) {}
83 bool begin(TwoWire &wire, uint8_t addr,
int sda = -1,
int scl = -1)
85 return _core.
begin(wire, addr, sda, scl);
87#elif defined(ESP_PLATFORM)
88#if defined(SENSORLIB_USE_I2C_LEGACY)
97 bool begin(i2c_port_t port_num, uint8_t addr,
int sda = -1,
int scl = -1)
99 return _core.
begin(port_num, addr, sda, scl);
110 bool begin(i2c_master_bus_handle_t handle, uint8_t addr)
112 return _core.
begin(handle, addr);
131 return _core.
begin(callback, hal_cb, addr);
268 .chargeCurrentMin = 0,
269 .chargeCurrentMax = 5056,
270 .chargeCurrentStep = 64,
271 .chargeCurrentSteps = 80,
bool begin(SensorCommCustom::CustomCallback cb, SensorCommCustomHal::CustomHalCallback hal_cb, uint8_t addr)
Initialize the sensor using custom callback interface.
PMIC Base Abstract Class.
PMIC charger capability interface.
PmicChargerBase * getCharger() override
Get charger interface (base class pointer)
bool begin(SensorCommCustom::CustomCallback callback, SensorCommCustomHal::CustomHalCallback hal_cb, uint8_t addr)
Initialize using custom I2C callback.
const PmicConfig & getConfig() const override
Get device name.
PmicCapability::Capability getCapabilities() const override
Get supported PMIC capabilities.
PmicSY6970()
Construct SY6970 PMIC interface.
SY6970Charger & charger()
Get charger interface.
PmicPowerBase & getPower() override
Get power management interface.
SY6970Core & core()
Get core interface (mutable)
const SY6970Core & core() const
Get core interface (const)
PmicAdcBase & getAdc() override
Get ADC interface.
void end()
Deinitialize and release resources.
PmicLedBase & getLed() override
Get LED interface.
const char * getChipName() const override
Get PMIC device name.
void end()
Deinitialize and release resources.
SY6970 LED/STAT Pin Control.
uint32_t(*)(Operation op, void *param1, void *param2) CustomHalCallback
bool(*)(uint8_t addr, uint8_t reg, uint8_t *buf, size_t len, bool writeReg, bool isWrite) CustomCallback
@ PmicSupportCharger
Battery charger support.
@ PmicSupportPower
Power management (input limits, boost, etc.)
@ PmicSupportAdc
Analog-to-Digital converter for monitoring.
PMIC static configuration data.
const char * chipName
e.g. "AXP2101"