What on earth is in that control software since it take 20-30 man years to write?
I mean, charging profile based on input variables such as temperature, total capacity, current capacity, health, available power ect. And then for discharging.
The battery and it's controller ought to be a black box you can either feed power or request power from, and query for data. Either I'm missing something fundamental, or the SW stack is a mess.