Thanks for the report – you’re right, this is an EC firmware bug in Google’s initial implementation (since fixed on newer boards). When the battery went above the max charge limit, the EC switched into an active-discharge mode and stayed there until the battery fell below the min limit, so on AC it would drain all the way down (e.g. 80% → 20%) before charging again.
This is now fixed with updated ECRW firmware: the EC now charges up to the max limit and then holds there, with the system running from AC. It only discharges if the battery is above the max, such as right after you lower the limit, and it resumes charging if the battery drops below the min.
I flashed and tried testing, but the battery decided to recalibrate itself while I was discharging and charging. It jumped from 30% to 5% then from 71% to 100% despite 80% being set as the max limit.
It discharged itself down to 80% after this and didn’t discharge under 80%, which suggests it’s working better, but I’ll give it another try without calibration interfering.
Upper limit works as intended, but the lower limit seems to be ignored. With the lower limit set to 20%, I discharged to 30%, plugged in and it began charging the battery
I can confirm both the upper and lower limits work correct now. Thanks!
Could you add more control for the upper/lower limits? It only has options for 0/10/20 and 80/90/100 for the limits. For example, I’d like to be able to set it to 40/50 for predominantly AC usage.