I'm currently using this small work-around to differenciate the power source between battery and USB.
It basically involves monitoring the voltage after initializing M5.BatteryADCBegin() (via M5.getBatteryVoltage() to be more precise). Measuring a voltage over 4200 mV (empirically evaluated!) indicates most of the time a USB-usage. Under that value, there are high chances that the device is on battery.
So far, this work-around is doing its job pretty well for me.
I hope it might help!
Posts made by Tbob
RE: M5Paper Shutdown() / Deep Sleep / Wakeup