Skip to content

Commit ffa2564

Browse files
authored
Update Power_capabilities.md
1 parent 0531f38 commit ffa2564

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

docs/Power_capabilities.md

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,21 @@ that can be accessed on the I2C bus at address 0x75. Access is possible via M5.
1616
- **Can it tell if it is running on external versus battery power?** If `isCharging()` or `isChargeFull()` true, probably on external power.
1717
- **Can it detect the rate of charge or discharge?** *probably not, but inference can probably be made by comparing `isChargeFull()` to the charge full current cutoff*
1818
- **Can it tell if a battery is present or absent?** *possibly, but not formally... an absent battery seems to always be reported as "charging", having a level of "100%", and never becomes "charge full"*
19-
- **Can it tell the state of charge of the battery?** Yes, using `getBatteryLevel()`, which returns one of: 0, 25, 50, 75, 100 (representing a percentage), or -1 (if unable to read)
19+
- **Can it tell the state of charge of the battery?** Yes, using `getBatteryLevel()`, which returns one of:
20+
0, 25, 50, 75, 100 (representing a percentage), or -1 (if unable to read)
2021
- **Can it read its battery voltage?** Not possible to read the voltage level directly, only the approximate percentage of 0/25/50/75/100.
2122
- **Can communication with the IP5306 power controller be tested and confirmed?** Yes, with `canControl()`
23+
- **Where does the IP5306 power controller get its own power?** Only from either the battery or the USB port. The 5V connection on the M5Stack
24+
Core/Basic/Gray controller is not a power *source* for the IP5306 chip and is considered downstream from the chip (i.e. the *output*). If the M5Stack controller
25+
is being powered through the 5V pin (for example, through a base or some other accessory), this power is not an *input* to the IP5306 chip,
26+
and will not charge the battery. The IP5306 will shut down under this condition to minimize battery drain, unless configured not to.
27+
When the chip is shut down, it will not respond to I2C communication
28+
(for example, `getBatteryLevel()` will return -1)
2229
- **What other capabilities?** *(to be answered -- translation of Chinese-language datasheet is difficult to understand)*
2330
- *auto shutoff settings - voltage low for how long causes a shutoff*
2431
- *inhibit the power button, report it as an event?*
2532
- *setting the charging voltage and current*
2633
- *distinguish between a software/hardware/watchdog/sleep/poweron reset*
2734
- *maintain any of the settings across power cycles and/or complete loss of all power*
2835
- *how does setAutoBootOnLoad() work? when enabled, it seems the device can be powered back on simply by connecting a load -- such as
29-
connecting another M5Stack controller to be powered from PORTA -- if done before the shutdown_8s time expires*
36+
connecting another M5Stack controller to be powered from PORT_A -- if done before the shutdown_8s time expires*

0 commit comments

Comments
 (0)