Command Line Interface - MyLab-odyssey/ED4scan GitHub Wiki
ED4scan uses a Command Line Interface (CLI) to navigate through different diagnostic readouts. Beside data of the BMS you can get info about the charging system (OBC) and the telecommunication unit (TCU) . See a complete description of the parameters here.
When the CAN-Bus is connected the system will start a standard query and will show results on a welcome splash screen.
When the command prompt is displayed CMD >>
, use the terminal (IDE serial monitor) to enter commands for further readouts.
The commands consist of the submenu, the desired command and some optional parameters like:
bms all
to enter theBMS>>
submenu and run theall
subcommand.log on 10
to activate logging, with an interval of 10 seconds.
See ?
for a list (not complete) of useful commands. The list is sensitive to the active submenu.
- In every submenu you can enter a complete command like:
obc t
to switch to the other submenu and get the requested readout. - The input is not case sensitive.
- Please set the terminal to CR (carriage return) for a new line. Otherwise the command will be ignored!
Commands
Command | Description |
---|---|
? | get a list of the available commands. |
If you are tight on memory, set the HELP constant to zero (in ED4scan.h) | |
bms | enter the bms submenu |
obc | submenu for on-board charger |
tcu | submenu for the telecommunication unit |
all | run all available tests in sequence |
set | config some options, see list |
log | start / stop logging of data and optional interval [t] in seconds |
info | show some config data and logging status |
# | show real time data (like splash screen) |
.. | go back to main menu |
BMS >>
)
BMS submenu (Prompt Command | Description |
---|---|
all | get all available datasets |
v | get voltage values |
t | get temperatures |
The BMS has some more command options, that will require the BMS keyword before the subcommand. See list and follow links for details:
Command | Description |
---|---|
bms ocv | Get the BMS internal OCV lookup table |
bms soh | Display State of Health of the battery |
bms res | Get resistance values of the cells |
bms log | Output calibration log of BMS |
OBC >>
)
OBC submenu (Prompt This menu is currently only active, when the standard 7kW charger (On-Board Charger) is detected.
Command | Description |
---|---|
all | get all available datasets |
v | get voltage, current and charger status |
t | get temperatures |
obc log | get charging log (ten entries) |
TCU >>
)
TCU submenu (Prompt Command | Description |
---|---|
all | get all available datasets |
SET Command
Command and Default Option | Description |
---|---|
set cap_mode [1/2] | configure display of cell capacities: [1] for dSOC mode, [2] for continuous mode (CONT) |
set cv [on/off] | control output of individual Cell Voltages / capacities |
set ecu_list [on/off] | show ECU HW-/SW-revision and ID with info CMD |
CMD option: [-yes] | YOU ACCEPT ALL CONSEQUENCES AND THE USAGE IS SOLELY AT YOUR OWN RISK: |
LOSS OF WARRANTY, DAMAGE(s), VIOLATION OF REGULATIVE RULES | |
NO LIABILITY FOR THIS SOFTWARE - SEE LICENSE STATEMENT! |
Logging data
Command | Description |
---|---|
on | start logging |
on [t] | set logging interval in seconds and start |
off | stop logging |
off [t] | set logging interval in seconds without starting |
log | show info of log status |
Appendix:
BMS OCV
With the bms ocv
command you get the readout of the OCV lookup table stored in the BMS. You find a plot of the OCV and related capacity here.
---->>OCV Lookup<<-----------------------
# ; mV
01; 2035
02; 3064
03; 3312
04; 3380
05; 3427
06; 3476
07; 3516
08; 3545
09; 3569
10; 3590
11; 3611
12; 3634
13; 3668
14; 3721
15; 3775
16; 3833
17; 3898
18; 3964
19; 4030
20; 4101
21; 4173
BMS SOH
bms soh
will show State of Health data of the battery. These are additional readouts and should correlate to the other BMS capacity data.
---->>Battery SOH<<----------------------
SOH : 100.0 %, 57.167 Ah
BMS RES
Using the bms res
command the internal resistance measurements of the individual cells are displayed. Those values are not the actual cell resistance in mOhm, but may be normalized to e.g. 20°C or another reference point. The first value (00
) seems to be related to the median of the cell values (or some sort of weighted value?).
---->>Cell Resistance<<------------------
# ; Ri
00; 1.0698
01; 1.0721
02; 1.0641
03; 1.0825
...
93; 1.0725
94; 1.0459
95; 1.0564
96; 1.0420
BMS LOG
The bms log
command will print the calibration points from charging activities. The values are stored in a ring buffer. Not all values are currently plausible!
So we get following data:
03; 0; 100; 99; 0; 0; 10; 7; C0
that we can read as follows:
Parameter | Possible Intent |
---|---|
03 |
the line number from the readout memory (5 blocks) |
0 |
some sort of status value in the range 0, 1, 2 |
100 |
SOC before measurement / calibration |
99 |
SOC point (calibrated value) |
0;0 |
unknown |
10;7 |
seems to be temperatues in °C |
C0 |
status flags in HEX |
00; 2; 95; 95; 0; 0; 10; 10; C0
01; 0; 100; 100; 0; 0; 10; 10; C0
02; 0; 100; 100; 0; 0; 10; 10; C0
03; 0; 100; 99; 0; 0; 10; 7; C0
04; 0; 96; 96; 0; 0; 7; 7; C0
05; 0; 93; 93; 0; 0; 8; 8; C0
06; 0; 81; 81; 0; 0; 11; 11; C0
07; 0; 69; 69; 0; 0; 14; 13; C0
08; 0; 65; 65; 0; 0; 14; 14; C0
09; 0; 60; 60; 0; 0; 15; 6; C0
10; 0; 60; 60; 0; 0; 6; 7; C0
11; 0; 56; 56; 0; 0; 8; 8; C0
12; 0; 52; 52; 0; 0; 8; 8; C0
13; 0; 48; 48; 0; 0; 9; 9; C0
OBC LOG
obc log
will display the last ten (#0 - #9) charge-log entries. The last one (#9) is the latest charge done.
---->>OBC Log<<--------------------------
#; km; kW; t/min; SOC%; degC; State; Flag
0; 9176; 3.7; 14; 100; 25; 0; 0
...
9; 9234; 7.0; 4; 52; 19; 1; 0
Parameter | Possible Intent |
---|---|
State |
|
0 |
normal full charge - okay |
1 |
charge stopped by user - okay |
Flag |
some sort of additional status flag printed in HEX |