More support for Scripting a Vehicle implementation
I'm well on the way to finishing bms and vector support in scripted vehicle implementation via the DBC infrastructure. This is the documentation I'm adding into the 'DBC Introduction' page. It's kind of the correct place, but it's going to be common to the other script support for polling.. so maybe I should link to it in a common area. //.ichael DBC Signals <#dbc-signals> DBC Signal names can be used to store values directly into metrics. Eg a signal v_b_soc would be sent to the metric v.b.soc. If the unit name on a signal matches a valid ‘unit code’ or ‘unit label’, then this will be passed on too. For signal names, _ will get translated to a . for looking up metrics (. is still a valid character in a DBC ID). It is also possible to store into a vector by putting a number at the end of the signal id. Eg the signal v_t_pressure_0 would be sent to the first element of the v.t.pressure vector. BMS Targets <#bms-targets> There are also special BMS (battery management) targets that make sure the averages etc are calculated. The format is: bms.*{type}*.*{operation}*[*.* *{index}*]. The *{type}* is either v for voltage or t for temperature. Operation Description Has Index n Total number of cell voltage readings No m Readings per module No r Reset stats Optional c Cell value Yes DBC Examples <#id1> Example Description bms.t.n Set total number of cell temperature readings to incoming value. bms.t.m Set total number of cells per grouping to incoming value. bms.v.r Reset stats for cell voltages (ignore value) bms.v.r.0 Reset stats and set Voltage at index *0* to incoming value bms.t.c.2 Set cell temperature at index *2* to incoming value. bms.v.c.5 Set cell voltage at index *5* to incoming value.
Sounds all reasonable. Regards, Michael Am 04.01.26 um 09:29 schrieb Michael Geddes via OvmsDev:
I'm well on the way to finishing bms and vector support in scripted vehicle implementation via the DBC infrastructure.
This is the documentation I'm adding into the 'DBC Introduction' page.
It's kind of the correct place, but it's going to be common to the other script support for polling.. so maybe I should link to it in a common area. //.ichael
DBC Signals <#dbc-signals>
DBC Signal names can be used to store values directly into metrics. Eg a signal |v_b_soc| would be sent to the metric |v.b.soc|. If the unit name on a signal matches a valid ‘unit code’ or ‘unit label’, then this will be passed on too.
For signal names, |_| will get translated to a |.| for looking up metrics (|.| is still a valid character in a DBC ID).
It is also possible to store into a vector by putting a number at the end of the signal id. Eg the signal |v_t_pressure_0| would be sent to the first element of the |v.t.pressure| vector.
BMS Targets <#bms-targets>
There are also special BMS (battery management) targets that make sure the averages etc are calculated. The format is: bms./{type}/./{operation}/[/.//{index}/].
The /{type}/ is either v for voltage or t for temperature.
Operation
Description
Has Index
n
Total number of cell voltage readings
No
m
Readings per module
No
r
Reset stats
Optional
c
Cell value
Yes
DBC Examples <#id1>
Example
Description
|bms.t.n|
Set total number of cell temperature readings to incoming value.
|bms.t.m|
Set total number of cells per grouping to incoming value.
|bms.v.r|
Reset stats for cell voltages (ignore value)
|bms.v.r.0|
Reset stats and set Voltage at index /0/ to incoming value
|bms.t.c.2|
Set cell temperature at index /2/ to incoming value.
|bms.v.c.5|
Set cell voltage at index /5/ to incoming value.
-- Michael Balzer * Am Rahmen 5 * D-58313 Herdecke Fon 02330 9104094 * Handy 0176 20698926
participants (2)
-
Michael Balzer -
Michael Geddes