The SoC function is not described in detail because it is - unavoidably - rather crude. All it does is consider the pack fully charged at some higher set voltage and fully discharged at some lower set voltage, with the added bonus of ignoring the pack voltage above a set current draw ("battery current SoC hold"). This crude form of SoC gauge works ok with lead-acid packs but not so much with lithium, we've found through testing, so we will likely remove it from future code versions (after all, we only have so much memory to work with in the controller).I see from p13 of the manual that "Battery Pack Voltage, Motor Current, Motor Power and estimated State of Charge" can be output as a 12V 60Hz square wave with duty cycle varying from 0 to 100%.
I would instead consider the SoC gauge made by fellow member dimitri as it counts amp-hours and being an independent device can monitor both directions (charging and discharging), while the current sensor inside the Soliton1 can only monitor discharge current (hence why we don't use it to count amp-hours).
That particular meter output option was dropped because it was deemed superfluous/redundant. Guess I need to add that to my list of things to update in the manual...How is the Battery Pack Voltage output enabled (I can't see this on the web interface).
Right now 100% corresponds to a hard-coded maximum (e.g. - 1000A for motor or battery current, regardless of what you set in the web interface). You can easily change the scaling in the external resistors that match your meter so we don't see any reason to alter that behavior in code (especially since it would consume a few more precious bytes of space to do so).What does 100% duty cycle correspond to in each case?
e.g. Is 100% Motor Current 1000A? or the configured maximum?
The Soliton1 is factory calibrated and can't be altered by the end-user.What is the procedure for calibrating this?
What does "Battery current SoC hold" do?