MHD Logging

From B58 Wiki

MHD's logger has a useful feature which allows you to add custom logging parameters, which we explain below.

To use this feature, you need the a2l file for your DME (see Resources for getting started).

The basic process is as follows

  • Create a $prg_UserChannels.xml file where $prg is the value of Current PRG (hex) as shown by MHD flasher when you list the DME software versions. For example 00003076501103_UserChannels.xml
  • The file follows a format as follows
<?xml version="1.0" standalone="yes"?>
<ActualValues>
  <ActualValue 
    ReqBlock="$hex-address"       # ECU Address from A2L
    Size="$size-in-bytes"         # Size (e.g. BYTE=1, WORD=2, LONG=4)
    DataA="$x-coefficient"        # RAT_FUNC coeff F / coeff B
    DataB="$constant"             # RAT_FUNC coeff C / coeff B
    Prefix="$digits"              # First two digits of MEMORY_SEGMENT containing this var
    Units="$units"                # text string describing the units
    RoundingDigits="$dec-places"  # decimal places for guages
    Signed="$1-if-signed">        # skip if UBYTE, UWORD, or ULONG, otherwise use Signed="1"

    <Text xml:lang="en">$channel-name</Text> # name of the channel
  </ActualValue>
</ActualValues>


Here's an example for Dzwt, the temperature correction component of an overall timing correction, for version R1C9J8B3B:

<ActualValue ReqBlock="51801f12" Size="2" DataA="0.1" DataB="0.0" Prefix="51" Units="°" RoundingDigits="1" Signed="1">
  <Text xml:lang="en">Dzwt</Text>
</ActualValue>

The following shows the relevant A2L blocks for getting the required information:

/begin MEASUREMENT

/begin MEASUREMENT

    Dzwt
    "Temperaturkorrektur ZW-Klopfgrenze"
    SWORD
    juwcFuc_Dtmczic_mCgfamd_q__aa0o
    1
    100.
    -3276.8
    3276.7
    FORMAT "%6.1"
    ECU_ADDRESS 0x51801F12


/end MEASUREMENT

...

/begin  COMPU_METHOD

    juwcFuc_Dtmczic_mCgfamd_q__aa0o
    "juwcFuc_Dtmczic_mCgfamd_q__aa0o"
    RAT_FUNC
    "%6.3"
    "°"

    COEFFS 0. 10. 0. 0. 0. 1.

/end COMPU_METHOD
  • Finally, copy the user channels file to your phone and import it into MHD: