<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div dir="ltr"></div><div dir="ltr"><br></div><div dir="ltr">Unfortunately, not in order.</div><div dir="ltr"><br></div><div dir="ltr">I guess I will have to ‘learn’ by listening for a while, and then build a mapping array before calling the bms set functions.</div><div dir="ltr"><br></div><div dir="ltr">I wonder if this is a general problem (vehicle_bms) or something specific to just these vehicles?</div><div dir="ltr"><br></div><div dir="ltr"><div dir="ltr"></div><blockquote type="cite">On 12 Nov 2022, at 10:07 PM, Michael Balzer <dexter@expeedo.de> wrote:<br><br></blockquote></div><blockquote type="cite"><div dir="ltr">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
If brick index numbers are normally coming sequentially, a simple
approach would be to fill cell readings sequentially based on just
checking the new brick index is higher than the one received before.<br>
<br>
To autodetect the layout, use Michael's new
CheckChangeCellArrangement calls to let the cell array grow for
every new highest brick number received. Once the first complete
brick sequence is received, the BMS cell layout should match the
actual battery layout.<br>
<br>
A better option able to handle sparse frames: collect the brick
index keys in a std::set or sorted array, use the key index to
address the cells in the BMS, and for auto detection let the cell
layout grow with the set size.<br>
<br>
Regards,<br>
Michael<br>
<br>
<br>
<div class="moz-cite-prefix">Am 12.11.22 um 14:12 schrieb Michael
Geddes:<br>
</div>
<blockquote type="cite" cite="mid:CAH0p7uLS_p7S-ZXCOs_ffexnMn+rTo8Dj1T_sUo_MH62SX_NXQ@mail.gmail.com">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<div dir="auto">I did have some code that handled this kind of
stuff... But it was over complicated.. There's a new function
that allows you to set the new size that the ioniq 5 code
uses... But a similar function could be added that just
compresses what is there as well.
<div dir="auto"><br>
</div>
<div dir="auto">Michael </div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Sat, 12 Nov 2022, 9:02 pm
Mark Webb-Johnson, <<a href="mailto:mark@webb-johnson.net" moz-do-not-send="true" class="moz-txt-link-freetext">mark@webb-johnson.net</a>>
wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
The original Model S had a fairly simple to decode CAN bus
message 0x6f2 with the first byte in range 0..1f and each
message encoding 3 battery bricks, for a total of 96 bricks.<br>
<br>
However, things have now got more complicated. A 75kWh Model
X, and a replacement pack for a 85kWh Model S, contain
cut-down packs with modules missing, so 0x6f2 only contains 28
messages, for 84 bricks, with bricks #15, #16, #17 and #31
missing from the message.<br>
<br>
When we feed this into BmsSetCell… calls, the OVMS BMS support
code sees the missing bricks, assumes things are missing, and
refuses to give an output.<br>
<br>
So my (hopefully simple) question, is how to tell it the brick
arrangement? Or how to deal with these missing bricks?<br>
<br>
Regards, Mark.<br>
<br>
_______________________________________________<br>
OvmsDev mailing list<br>
<a href="mailto:OvmsDev@lists.openvehicles.com" target="_blank" rel="noreferrer" moz-do-not-send="true" class="moz-txt-link-freetext">OvmsDev@lists.openvehicles.com</a><br>
<a href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" rel="noreferrer noreferrer" target="_blank" moz-do-not-send="true" class="moz-txt-link-freetext">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a><br>
</blockquote>
</div>
<br>
<fieldset class="moz-mime-attachment-header"></fieldset>
<pre class="moz-quote-pre" wrap="">_______________________________________________
OvmsDev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:OvmsDev@lists.openvehicles.com">OvmsDev@lists.openvehicles.com</a>
<a class="moz-txt-link-freetext" href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a>
</pre>
</blockquote>
<br>
<pre class="moz-signature" cols="72">--
Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal
Fon 02333 / 833 5735 * Handy 0176 / 206 989 26</pre>
<span>_______________________________________________</span><br><span>OvmsDev mailing list</span><br><span>OvmsDev@lists.openvehicles.com</span><br><span>http://lists.openvehicles.com/mailman/listinfo/ovmsdev</span><br></div></blockquote></body></html>