Skip to content

Commit 2d05e16

Browse files
committed
xpowers lib updates
1 parent ed92647 commit 2d05e16

File tree

3 files changed

+18
-21
lines changed

3 files changed

+18
-21
lines changed

platformio_orig.ini

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ lib_deps_basic =
8282
bblanchon/ArduinoJson @ ^6
8383
makuna/RTC @ ^2.3.5
8484
spacehuhn/SimpleButton
85-
https://github.com/lewisxhe/XPowersLib.git
85+
lewisxhe/XPowersLib @ ^0.1.4
8686
256dpi/MQTT @ ^2.4.8
8787
lib_deps_all =
8888
${common.lib_deps_basic}

src/hal/ttgobeam10.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,10 @@ Reset -> reset device
3636
#define HAS_PMU 1 // has AXP192 chip
3737
#define XPOWERS_CHIP_AXP192 1
3838
#define PMU_INT GPIO_NUM_35 // battery interrupt
39-
#define PMU_CHG_CURRENT XPOWERS_CHG_CUR_1000MA // battery charge current
39+
#define PMU_CHG_CURRENT XPOWERS_AXP192_CHG_CUR_1000MA // battery charge current
4040
// possible values (mA):
4141
// 100/190/280/360/450/550/630/700/780/880/960/1000/1080/1160/1240/1320
42-
#define PMU_CHG_CUTOFF XPOWERS_CHG_VOL_4V2 // battery charge cutoff
42+
#define PMU_CHG_CUTOFF XPOWERS_AXP192_CHG_VOL_4V2 // battery charge cutoff
4343
// possible values (V):
4444
// 4V1/4V15/4V2/4V36
4545

src/power.cpp

Lines changed: 15 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -67,13 +67,11 @@ void AXP192_powerevent_IRQ(void) {
6767
void AXP192_power(pmu_power_t powerlevel) {
6868
switch (powerlevel) {
6969
case pmu_power_off:
70-
pmu.setChargerLedFunction(XPOWER_AXP192_CHGLED_CTRL_MANUAL);
71-
pmu.setChargingLedFreq(XPOWERS_AXP192_CHG_LED_DISABLE);
70+
pmu.setChargingLedMode(XPOWERS_CHG_LED_OFF);
7271
pmu.shutdown();
7372
break;
7473
case pmu_power_sleep:
75-
pmu.setChargerLedFunction(XPOWER_AXP192_CHGLED_CTRL_MANUAL);
76-
pmu.setChargingLedFreq(XPOWERS_AXP192_CHG_LED_FRE_1HZ);
74+
pmu.setChargingLedMode(XPOWERS_CHG_LED_CTRL_CHG);
7775
// we don't cut off DCDC1, because OLED display will then block i2c bus
7876
// pmu.disableDC1(); // OLED off
7977
pmu.disableLDO3(); // gps off
@@ -85,8 +83,7 @@ void AXP192_power(pmu_power_t powerlevel) {
8583
pmu.enableLDO2(); // Lora on T-Beam V1.0/1.1
8684
pmu.enableLDO3(); // Gps on T-Beam V1.0/1.1
8785
pmu.enableDC1(); // OLED on T-Beam v1.0/1.1
88-
pmu.setChargerLedFunction(XPOWER_AXP192_CHGLED_CTRL_MANUAL);
89-
pmu.setChargingLedFreq(XPOWERS_AXP192_CHG_LED_LEVEL_LOW);
86+
pmu.setChargingLedMode(XPOWERS_CHG_LED_ON);
9087
break;
9188
}
9289
}
@@ -115,18 +112,18 @@ void AXP192_init(void) {
115112
ESP_LOGD(TAG, "AXP192 ChipID:0x%x", pmu.getChipID());
116113

117114
// set pmu operating voltages
118-
pmu.setMinSystemVoltage(2700);
119-
pmu.setVbusVoltageLimit(XPOWERS_VBUS_VOL_LIM_4V5);
120-
pmu.disableVbusCurrLimit();
115+
pmu.setSysPowerDownVoltage(2700);
116+
pmu.setVbusVoltageLimit(XPOWERS_AXP192_VBUS_VOL_LIM_4V5);
117+
pmu.setVbusCurrentLimit(XPOWERS_AXP192_VBUS_CUR_LIM_OFF);
121118

122119
// set device operating voltages
123120
pmu.setDC1Voltage(3300); // for external OLED display
124121
pmu.setLDO2Voltage(3300); // LORA VDD 3v3
125122
pmu.setLDO3Voltage(3300); // GPS VDD 3v3
126123

127124
// configure PEK button settings
128-
pmu.setPowerKeyPressOffTime(XPOWERS_AXP192_POWEROFF_4S);
129-
pmu.setPowerKeyPressOnTime(XPOWERS_AXP192_POWERON_128MS);
125+
pmu.setPowerKeyPressOffTime(XPOWERS_POWEROFF_4S);
126+
pmu.setPowerKeyPressOnTime(XPOWERS_POWERON_128MS);
130127

131128
// set battery temperature sensing pin off to save power
132129
pmu.disableTSPinMeasure();
@@ -141,21 +138,21 @@ void AXP192_init(void) {
141138
pinMode(PMU_INT, INPUT_PULLUP);
142139
attachInterrupt(digitalPinToInterrupt(PMU_INT), PMUIRQ, FALLING);
143140
// disable all interrupts
144-
pmu.disableIRQ(XPOWERS_ALL_IRQ);
141+
pmu.disableIRQ(XPOWERS_AXP192_ALL_IRQ);
145142
// clear all interrupt flags
146143
pmu.clearIrqStatus();
147144
// enable the required interrupt function
148-
pmu.enableIRQ(XPOWERS_BAT_INSERT_IRQ | XPOWERS_BAT_REMOVE_IRQ | // BATTERY
149-
XPOWERS_VBUS_INSERT_IRQ | XPOWERS_VBUS_REMOVE_IRQ | // VBUS
150-
XPOWERS_PKEY_SHORT_IRQ | XPOWERS_PKEY_LONG_IRQ | // POWER KEY
151-
XPOWERS_BAT_CHG_DONE_IRQ | XPOWERS_BAT_CHG_START_IRQ // CHARGE
145+
pmu.enableIRQ(XPOWERS_AXP192_BAT_INSERT_IRQ | XPOWERS_AXP192_BAT_REMOVE_IRQ | // BATTERY
146+
XPOWERS_AXP192_VBUS_INSERT_IRQ | XPOWERS_AXP192_VBUS_REMOVE_IRQ | // VBUS
147+
XPOWERS_AXP192_PKEY_SHORT_IRQ | XPOWERS_AXP192_PKEY_LONG_IRQ | // POWER KEY
148+
XPOWERS_AXP192_BAT_CHG_DONE_IRQ | XPOWERS_AXP192_BAT_CHG_START_IRQ // CHARGE
152149
);
153150
#endif // PMU_INT
154151

155152
// set charging parameters according to user settings if we have (see power.h)
156153
#ifdef PMU_CHG_CURRENT
157-
pmu.setChargeCurrent(PMU_CHG_CURRENT);
158-
pmu.setChargerVoltageLimit(PMU_CHG_CUTOFF);
154+
pmu.setChargerConstantCurr(PMU_CHG_CURRENT);
155+
pmu.setChargeTargetVoltage(PMU_CHG_CUTOFF);
159156
pmu.enableCharge();
160157
#endif
161158

0 commit comments

Comments
 (0)