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 the BMS>> submenu and run the all 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 submenu (Prompt BMS >> )

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 submenu (Prompt OBC >> )

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 submenu (Prompt TCU >> )

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