52 Serial.println(
"\n=== AXP192 Basic Example ===\n");
55 Serial.println(
"Failed to init AXP192!");
56 while (1) delay(1000);
58 Serial.println(
"AXP192 initialized");
61 Serial.println(
"\n--- Channel Test ---");
66 Serial.print(
"DCDC1: ");
68 Serial.println(
" mV");
73 Serial.print(
"DCDC3: ");
75 Serial.println(
" mV");
77 Serial.print(
"Total channels: ");
85 Serial.print(info.name);
87 Serial.print(info.minMillivolt);
89 Serial.print(info.maxMillivolt);
91 Serial.print(
" Step: ");
92 Serial.print(info.stepMillivolt);
93 Serial.println(
" mV");
96 Serial.println(
"\n--- Charger Test ---");
102 charger->setFastChargeCurrent(500);
103 charger->enableCharging(
true);
104 Serial.print(
"CV: ");
105 Serial.print(charger->getChargeVoltage());
106 Serial.println(
" mV");
107 Serial.print(
"ICC: ");
108 Serial.print(charger->getFastChargeCurrent());
109 Serial.println(
" mA");
112 Serial.println(
"\n--- ADC Test ---");
130 Serial.println(
"\n=== Setup Complete ===\n");
135 static uint32_t lastPrint = 0;
137 if (millis() - lastPrint > 2000) {
138 lastPrint = millis();
140 Serial.println(
"\n--- Status ---");
145 Serial.print(
"Charging: ");
146 Serial.println(status.charging ?
"Yes" :
"No");
147 Serial.print(
"Vbus: ");
148 Serial.println(status.vbusPresent ?
"Present" :
"Absent");
154 Serial.print(
"VBUS: ");
156 Serial.println(
" mV");
159 Serial.print(
"VBUS: ");
161 Serial.println(
" mA");
164 Serial.print(
"VBAT: ");
166 Serial.println(
" mV");
169 Serial.print(
"IBAT: ");
171 Serial.println(
" mA");
174 Serial.print(
"TEMP: ");
176 Serial.println(
" C");
179 Serial.print(
"VSYS: ");
181 Serial.println(
" mV");
static constexpr uint8_t CH_DCDC1
static constexpr uint8_t CH_DCDC3
bool setMode(Mode mode) override
Set LED operating mode.
bool setManualState(ManualState state) override
Set the LED state in manual mode.
AXP192 PMIC Unified Interface.
bool begin(SensorCommCustom::CustomCallback callback, SensorCommCustomHal::CustomHalCallback hal_cb, uint8_t addr)
Initialise the AXP192 with custom communication callbacks.
AXP1xxLed< axp192_regs > & led()
Access the LED module.
PmicChargerBase * getCharger() override
Access the charger interface.
PmicChannelBase * getChannel() override
Access the power channel control interface.
AXP192Adc & adc()
Access the chip-specific ADC interface.
@ DIE_TEMPERATURE
Die temperature.
@ BAT_VOLTAGE
Battery voltage.
@ BAT_TEMPERATURE
Battery temperature.
@ BAT_CURRENT
Battery current.
@ VBUS_CURRENT
VBUS current.
@ VBUS_VOLTAGE
VBUS voltage.
@ VSYS_VOLTAGE
VSYS voltage.
virtual uint16_t getVoltage(uint8_t channel)=0
Get the current output voltage of a channel.
virtual bool setVoltage(uint8_t channel, uint16_t mV)=0
Set the output voltage of a channel.
virtual uint8_t count() const =0
Get the number of power output channels available on this PMIC.
virtual bool enable(uint8_t channel, bool enable)=0
Enable or disable a power output channel.
virtual Info getInfo(uint8_t channel) const =0
Get static metadata for a specific channel.
virtual bool setChargeVoltage(uint16_t mV)=0
Set charge voltage (CV mode voltage)
virtual Status getStatus()=0
Get current charger status.
@ MANUAL
Manual control through registers.
bool enableChannels(uint32_t mask) override
Enable one or more ADC channels.