Since the charge voltage with JEITA will be lower at warm temperature, you have to decide if you want to display the lower charge state to the end user or if you want to mask it. If you want to mask it and still show 100%, then there are two options:
Simple:
Calculate a new SOC based on the known charge state difference by user_SOC = FG_SOC/scale_factor.
Example: changing from 40 – 50 deg, the charge voltage will be lower, and SOC will only go to 85%, then divide the FG SOC by 0.85 to get the user displayed SOC. The benefit is that the model stays the same, and you could put this into effect when you change the charger voltage to a lower setting.
Complex:
Store two models, one for normal charging and one for warm charging. Update the model on temperature transition.
No scaling is required on host side since the fuel gauge will calculate the SOC directly.
More complex software is needed to switch the models.
More validation is required to check the accuracy of both models from customer side.
We highly recommend option 1 because it is very straight forward to implement and test out. In either case, we do not need to recharacterize the cell, but for option 2, we will need to generate a scaled model which reports 100% at a lower VFOCV value.