Code:
<ecuparam id="E154" name="Manifold Absolute Pressure Target (4-byte)*" desc="E154-Target value of charge air pressure" target="1">
<ecu id="6144D87107,6144D87207,6144D87307,6144D87407">
<address length="4">0xFF7AA8</address>
</ecu>
<ecu id="6644D87107,6644D87207,6644D87307,6644D87407">
<address length="4">0xFF7BBC</address>
</ecu>
<ecu id="9144D87207">
<address length="4">0xFF7CC0</address>
</ecu>
<conversions>
<conversion units="kPa" storagetype="float" expr="x" format="0.0" gauge_min="-120" gauge_max="280" gauge_step="40" />
<conversion units="hPa" storagetype="float" expr="x*10" format="0" gauge_min="-1200" gauge_max="2800" gauge_step="400" />
<conversion units="bar" storagetype="float" expr="x/100" format="0.00" gauge_min="-1.2" gauge_max="2.8" gauge_step="0.4" />
</conversions>
</ecuparam>
Items below in
italics are optional.
In the example above, an Extended parameter is defined with the
ecuparm element name. The parameter element contains attributes, these are:
- id - this has to be unique (no duplicates) within the entire logger.xml file, if it is not the last id read will clobber any previously defined id
- name - this is the name you will see in the Logger listing. The * denotes this is an extended RAM parameter and not a standard SSM parameter. Sometimes the name ends with (1, 2 or 4-byte)* to indicate the precision of the parameter (4 byte is typically a float value)
- desc - this is a free text description of the parameter. It is visible when you hover the cursor over the entry in the Logger listing
- target - this indicates if the parameter is related to the ECU or TCU or both. 1 - ECU, 2 - TCU, 3 - both
Within the
ecuparm element you need to enclose two more elements,
ecu and
conversions.
For each
ecu element enter an attribute of
id which is a comma separated list of the ECU IDs of the ROMs that the enclosing RAM address applies to.
Within the ecu
address element you have to define the data
length attribute which is the number of bytes to read starting at the RAM address. The
length attribute is only needed if the data length is > 1. There is also an optional
bit attribute used to mask a byte and log only one bit of the raw data. This is used for bit encoded on/off type switches.
The
address element is the least significant 6 bytes of the RAM address.
The
conversions element contains one or more
conversion entries which tells the Logger how to represent the data in the Logger display and in log files. Each
conversion element contains the following attributes:
- units - the units of measure of the data
- storagetype - this is the way the data is represented within the ECU. Possible storage types are: int8, int16, uint8, uint16, int32, float
- expr - this is the mathematical formula used to convert the raw data to a real number for the indicated units of measure. x represents the value the logger gets from the ECU.
- format - this is how the number is presented and how many decimal places will be displayed
- gauge_min - for the Logger Gauges tab this is the minimum value on the dial
- gauge_max - for the Logger Gauges tab this is the maximum value on the dial
- gauge_step - for the Logger Gauges tab this is the number of tick marks between min and max on the dial
If you modify the XML file I suggest using Notepad++ with the XML tools plugin. With that plugin you can use it to check the XML syntax for errors. And when you save the logger.dtd in the same directory as your modified logger.xml file you can use the XML plugin to check the validity of your changes against the DTD file. This ensures you don't pass XML elements and attributes to the Logger that it doesn't support and reports any duplicate entries you may have created on purpose or by accident.