Update XPowersLib
This commit is contained in:
parent
70a72230c6
commit
bfef36275a
7 changed files with 127 additions and 43 deletions
47
lib/XPowersLib/Kconfig
Normal file
47
lib/XPowersLib/Kconfig
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
menu "XPowersLib Configuration"
|
||||
|
||||
choice PMU_Type
|
||||
prompt "XPowers chip type"
|
||||
default XPOWERS_CHIP_AXP2102 if IDF_TARGET_ESP32
|
||||
default XPOWERS_CHIP_AXP192
|
||||
help
|
||||
Defines the default peripheral for xpowers example
|
||||
|
||||
config XPOWERS_CHIP_AXP2102
|
||||
bool "Xpowers AXP2101"
|
||||
config XPOWERS_CHIP_AXP192
|
||||
bool "Xpowers AXP192"
|
||||
endchoice
|
||||
|
||||
config I2C_MASTER_PORT_NUM
|
||||
int "PMU I2C Port Number"
|
||||
default 1
|
||||
help
|
||||
Port number for I2C Master device.
|
||||
|
||||
config I2C_MASTER_FREQUENCY
|
||||
int "Master Frequency"
|
||||
default 100000
|
||||
help
|
||||
I2C Speed of Master device.
|
||||
|
||||
config PMU_I2C_SCL
|
||||
int "PMU SCL GPIO Num"
|
||||
default 22
|
||||
help
|
||||
GPIO number for I2C PMU clock line.
|
||||
|
||||
config PMU_I2C_SDA
|
||||
int "PMU SDA GPIO Num"
|
||||
default 21
|
||||
help
|
||||
GPIO number for I2C PMU data line.
|
||||
|
||||
config PMU_INTERRUPT_PIN
|
||||
int "PMU Interrupt Pin"
|
||||
default 35
|
||||
help
|
||||
PMU interrupt pin.
|
||||
|
||||
|
||||
endmenu
|
||||
|
|
@ -845,16 +845,16 @@ class AXP2101(I2CInterface):
|
|||
def disableOverTemperaturePowerOff(self) -> None:
|
||||
super().clrRegisterBit(_AXP2101_PWROFF_EN, 2)
|
||||
|
||||
def enablePwrOnOverVolOffLevelPowerOff(self) -> None:
|
||||
def enableLongPressShutdown(self) -> None:
|
||||
super().setRegisterBit(_AXP2101_PWROFF_EN, 1)
|
||||
|
||||
def disablePwrOnOverVolOffLevelPowerOff(self) -> None:
|
||||
def disableLongPressShutdown(self) -> None:
|
||||
super().clrRegisterBit(_AXP2101_PWROFF_EN, 1)
|
||||
|
||||
def enablePwrOffSelectFunction(self) -> None:
|
||||
def setLongPressRestart(self) -> None:
|
||||
super().setRegisterBit(_AXP2101_PWROFF_EN, 0)
|
||||
|
||||
def disablePwrOffSelectFunction(self) -> None:
|
||||
def setLongPressPowerOFF(self) -> None:
|
||||
super().clrRegisterBit(_AXP2101_PWROFF_EN, 0)
|
||||
|
||||
#!REG 23H
|
||||
|
|
|
|||
|
|
@ -269,10 +269,10 @@ enablePwrSourcePullDown KEYWORD2
|
|||
disablePwrSourcePullDown KEYWORD2
|
||||
enableOverTemperatureLevel2PowerOff KEYWORD2
|
||||
disableOverTemperaturePowerOff KEYWORD2
|
||||
enablePwrOnOverVolOffLevelPowerOff KEYWORD2
|
||||
disablePwrOnOverVolOffLevelPowerOff KEYWORD2
|
||||
enablePwrOffSelectFunction KEYWORD2
|
||||
disablePwrOffSelectFunction KEYWORD2
|
||||
enableLongPressShutdown KEYWORD2
|
||||
disableLongPressShutdown KEYWORD2
|
||||
setLongPressRestart KEYWORD2
|
||||
setLongPressPowerOFF KEYWORD2
|
||||
enableDCHighVoltageTurnOff KEYWORD2
|
||||
disableDCHighVoltageTurnOff KEYWORD2
|
||||
enableDC5LowVoltageTurnOff KEYWORD2
|
||||
|
|
|
|||
|
|
@ -1,30 +1,32 @@
|
|||
{
|
||||
"name": "XPowersLib",
|
||||
"version": "0.1.4",
|
||||
"description": "Arduino,CircuitPython,Micropython library for x-powers power management series",
|
||||
"keywords": "AXP192 AXP202 AXP2101 x-powers",
|
||||
"authors": [{
|
||||
"name": "LewisHe",
|
||||
"url": "https://github.com/lewisxhe",
|
||||
"maintainer": true
|
||||
}],
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/lewisxhe/XPowersLib.git"
|
||||
},
|
||||
"homepage": "https://github.com/lewisxhe/XPowersLib",
|
||||
"export": {
|
||||
"include": [
|
||||
"LICENSE",
|
||||
"library.json",
|
||||
"library.properties",
|
||||
"README.md",
|
||||
"keywords.txt",
|
||||
"src/*",
|
||||
"examples/*"
|
||||
]
|
||||
},
|
||||
"frameworks": ["arduino", "espidf"],
|
||||
"platforms": "esp32",
|
||||
"headers": "XPowersLib.h"
|
||||
}
|
||||
"name": "XPowersLib",
|
||||
"version": "0.1.5",
|
||||
"description": "Arduino,CircuitPython,Micropython library for x-powers power management series",
|
||||
"keywords": "AXP192 AXP202 AXP2101 x-powers",
|
||||
"authors": [
|
||||
{
|
||||
"name": "LewisHe",
|
||||
"url": "https://github.com/lewisxhe",
|
||||
"maintainer": true
|
||||
}
|
||||
],
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/lewisxhe/XPowersLib.git"
|
||||
},
|
||||
"homepage": "https://github.com/lewisxhe/XPowersLib",
|
||||
"export": {
|
||||
"include": [
|
||||
"LICENSE",
|
||||
"library.json",
|
||||
"library.properties",
|
||||
"README.md",
|
||||
"keywords.txt",
|
||||
"src/*",
|
||||
"examples/*"
|
||||
]
|
||||
},
|
||||
"frameworks": ["arduino", "espidf"],
|
||||
"platforms": "esp32",
|
||||
"headers": "XPowersLib.h"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
name=XPowersLib
|
||||
version=0.1.4
|
||||
version=0.1.5
|
||||
author=Lewis He
|
||||
maintainer=Lewis He <lewishe@outlook.com>
|
||||
sentence=Arduino,CircuitPython,Micropython library for x-powers power management series
|
||||
|
|
|
|||
|
|
@ -796,22 +796,26 @@ public:
|
|||
clrRegisterBit(XPOWERS_AXP2101_PWROFF_EN, 2);
|
||||
}
|
||||
|
||||
void enablePwrOnOverVolOffLevelPowerOff()
|
||||
// CHANGE: void enablePwrOnOverVolOffLevelPowerOff()
|
||||
void enableLongPressShutdown()
|
||||
{
|
||||
setRegisterBit(XPOWERS_AXP2101_PWROFF_EN, 1);
|
||||
}
|
||||
|
||||
void disablePwrOnOverVolOffLevelPowerOff()
|
||||
// CHANGE: void disablePwrOnOverVolOffLevelPowerOff()
|
||||
void disableLongPressShutdown()
|
||||
{
|
||||
clrRegisterBit(XPOWERS_AXP2101_PWROFF_EN, 1);
|
||||
}
|
||||
|
||||
void enablePwrOffSelectFunction()
|
||||
//CHANGE: void enablePwrOffSelectFunction()
|
||||
void setLongPressRestart()
|
||||
{
|
||||
setRegisterBit(XPOWERS_AXP2101_PWROFF_EN, 0);
|
||||
}
|
||||
|
||||
void disablePwrOffSelectFunction()
|
||||
//CHANGE: void disablePwrOffSelectFunction()
|
||||
void setLongPressPowerOFF()
|
||||
{
|
||||
clrRegisterBit(XPOWERS_AXP2101_PWROFF_EN, 0);
|
||||
}
|
||||
|
|
@ -1342,6 +1346,35 @@ public:
|
|||
: clrRegisterBit(XPOWERS_AXP2101_DC_FORCE_PWM_CTRL, 7);
|
||||
}
|
||||
|
||||
void enableCCM()
|
||||
{
|
||||
setRegisterBit(XPOWERS_AXP2101_DC_ONOFF_DVM_CTRL, 6);
|
||||
}
|
||||
|
||||
void disableCCM()
|
||||
{
|
||||
clrRegisterBit(XPOWERS_AXP2101_DC_ONOFF_DVM_CTRL, 6);
|
||||
}
|
||||
|
||||
bool isEanbleCCM()
|
||||
{
|
||||
return getRegisterBit(XPOWERS_AXP2101_DC_ONOFF_DVM_CTRL, 6);
|
||||
}
|
||||
|
||||
enum DVMRamp {
|
||||
XPOWERS_AXP2101_DVM_RAMP_15_625US,
|
||||
XPOWERS_AXP2101_DVM_RAMP_31_250US,
|
||||
};
|
||||
|
||||
//args:enum DVMRamp
|
||||
void setDVMRamp(uint8_t opt)
|
||||
{
|
||||
if (opt > 2)return;
|
||||
opt == 0 ? clrRegisterBit(XPOWERS_AXP2101_DC_ONOFF_DVM_CTRL, 5) : setRegisterBit(XPOWERS_AXP2101_DC_ONOFF_DVM_CTRL, 5);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Power control DCDC1 functions
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -22,7 +22,9 @@ typedef XPowersAXP192 XPowersPMU;
|
|||
#include "XPowersAXP2101.tpp"
|
||||
typedef XPowersAXP2101 XPowersPMU;
|
||||
#else
|
||||
#error "Please define power management chip model"
|
||||
#include "XPowersAXP192.tpp"
|
||||
// #include "XPowersAXP202.tpp"
|
||||
#include "XPowersAXP2101.tpp"
|
||||
#endif
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue