For several years on my Electrons (now OS 3.3.1) I’ve been using
FuelGauge fuel;
volts = fuel.getVCell();
SoC = fuel.getSoC();
This winter, after some cold weather (< -10C), the SoC reading has been stuck for over 3 weeks at a very low, but not constant, level (~35%). Because I use SoC to set the sleep time (using SLEEP_MODE_DEEP), my reporting of data is now only a couple times a day. The electron is inaccessible ‘till spring and for now I can live with a low reporting rate, but I’m very curious why SoC stays low, yet getVCell has increased and now reports voltages from 3.85 to 4.01 . I thought SoC was just a calculation based on the volts. So why, for a week now, has volts from getVCell risen to a normal range that I would expect to generate a SoC of ~70 to 90% yet SoC from getSoC stays around 35% .
I know I am abusing the LiPo battery (the one that came with Electron) with the cold but my question is about the calculation of SoC from volts and why volts would increase to around 4.0v but SoC would stay around ~35% ?
thanks, john