Custom variables can be added by clicking
Add custom… in the selection after performing an init with a licensed advanced protocol by loading a specially formatted file.
This is advanced functionality for developers only and is provided AS IS without any support.
The format for each row is as follows:
Please note, it is not a CSV file - it is just a file with line break separated lines which contain semicolon separated elements. The only processing that is done is splitting by line breaks and semicolons and trimming the whitespace of each element. Quotes and escapes are not supported, so you can not use semicolon inside descriptions.
You can leave the description row at the top of the file, any lines where the
ID is equal to “ID” are ignored. Blank lines are also ignored.
ID - The ID is the unique identifier. If a variable with a such ID already exists in the list, it will be replaced. The ID is shown when measuring. Keep in mind that translation also works by ID, a good idea is to prefix your IDs with something unique.
Description - Any description of your choosing. Can be seen in the selection dialog, can also be searched/filtered.
Unit - The unit for the measurement.
Type - The data type of the measurement. Applied after endianness conversion. Please refer to the following table:
Bitmask - The bitmask in hexadecimal (e.g.
0x40). The converted data type is ANDed with this bitmask and the result is right shifted until the first set LSB of the bitmask. Can be left blank or set as 0x0 if no bitmask is needed.
HiLo - Either
0, defines the byte order of the variable.
A, B, C, D - Coefficients and offsets for the linearization formula to convert the internal value to the physical value. The values are expressed as floats with dot (
.) as the decimal separator.
The formula is as follows:
phys = (
int * A - B) / (C -
int * D)
int is the internal value from ECU and
phys is the physical converted value.
Decimals - Specifies how many digits after decimal point the physical value should be rounded to.
Address - The hexadecimal address of the variable to read. E.g.
0xD0002000. Please note that these are not bounds checked, specifying addresses outside the valid address range will cause an ECU reset!
If you have a
COMPU_METHOD with a
COEFFS parameter, the
A B C D mapping is as follows:
COEFFS - C B - D A
Epm_nEng on a TriCore ECU at address
0xD0001234 would be specified as follows:
Max column will show as 0 in the list, as it is not calculated - this has no effect on measuring or logging.