update soc calculation