Announcement

Collapse
No announcement yet.

MSS54 LCAN K_CANMESSx = 1 DBC

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    MSS54 LCAN K_CANMESSx = 1 DBC

    Hi everyone,
    I’ve taken a look at the MSS54 and almost completely disassembled the LCAN. Attached is the CAN DBC file for K_CANMESSx = 1 and 0x7xx IDs; it contains a lot of useful data. The 0x70x IDs (K_CANSEGMx = 1) are incomplete. The DBC is in German, so use a translator :-)

    Happy logging!​
    Attached Files

    #2
    Nice work - it's worth noting as well that MESS1 and MESS2 have a different payload if the DME is in test bench mode:

    MESS1 (cfg.betriebsmode == 1)
    Code:
    Byte 0: n40
    Byte 1: rf
    Byte 2: mil_st
    Byte 3: pwg
    Byte 4: zustand_motor
    Byte 5: ti_vorst
    Byte 6: ti1
    Byte 7: ti5​
    MESS2 (cfg.betriebsmode == 1)
    Code:
    Byte 0: tz0
    Byte 1: tz1
    Byte 2: tz2
    Byte 3: tz3
    Byte 4: tz4
    Byte 5: tz5
    Byte 6: kr_dtz_sum
    Byte 7: ka_dtz_sum;

    For SEGM1 byte 7 is multiplexed:

    SEGM1
    Code:
    Byte 0: Cylinder number (lu_zyl + 1)
    Byte 1: lu_sta LSB
    Byte 2: lu_sta MSB
    Byte 3: lu_dyn LSB
    Byte 4: lu_dyn MSB
    Byte 5: lu_kru LSB
    Byte 6: lu_kru MSB
    Byte 7, Cylinder 1: tz_zkue_diag
    Byte 7, Cylinder 2: n40
    Byte 7, Cylinder 3: lu_st
    Byte 7, Cylinder 4: rf >> 3
    Byte 7, Cylinder 5: lu_kru_tp (capped at 255)
    Byte 7, Cylinder 6: lu_idle_trigger
    Likewise for SEGM2

    SEGM2
    Code:
    Byte 0: Cylinder number (lu_zyl + 1)
    Byte 1: lu[lu_zyl] LSB
    Byte 2: lu[lu_zyl] MSB
    Byte 3: lu_ts LSB
    Byte 4: lu_ts MSB
    Byte 5: lu_schwelle LSB
    Byte 6: lu_schwelle MSB
    Byte 7, Cylinder 1: lu_merk_ti_done
    Byte 7, Cylinder 2: n40
    Byte 7, Cylinder 3: lu_st
    Byte 7, Cylinder 4: rf >> 3
    Byte 7, Cylinder 5: v (capped at 255)
    Byte 7, Cylinder 6: lu_aus_zyl
    2005 ///M3 SMG Coupe Silbergrau Metallic/CSL bucket seats/CSL airbox/CSL console/6 point RACP brace/Apex ARC-8s
    Build Thread | Community Patch | MSS54 DS2 Tool

    Comment


      #3
      Awesome. I've set a byte in my DME to log knock over CAN, which nets the following:

      0x700 & 0x701
      byte 0 = sounds like you've got cylinder ID right, where 0x700 is cyls 1-3 and 0x701 is cyls 4-6
      byte 1 is knock retard for that cylinder - to get into degrees, divide by 10
      bytes 2-3 are little endian u16 knock amplitude for that cylinder. I'm not sure what this scaling should be, I don't scale it for my uses
      byte 4 seems to be a smoothed knock value
      bytes 5+ I'm not sure

      Hope this helps, as I don't have an SMG to test or validate against and I'm not sure if they're the same. On the left side of this image you can see how I sanitize these values by cylinder and datalog them continuously.
      Click image for larger version

Name:	full log view.png
Views:	4
Size:	346.3 KB
ID:	368071
      ‘02 332iT / 6 | ‘70 Jaguar XJ6 electric conversion

      Comment


        #4
        Originally posted by Bry5on View Post
        Awesome. I've set a byte in my DME to log knock over CAN, which nets the following:

        0x700 & 0x701
        byte 0 = sounds like you've got cylinder ID right, where 0x700 is cyls 1-3 and 0x701 is cyls 4-6
        byte 1 is knock retard for that cylinder - to get into degrees, divide by 10
        bytes 2-3 are little endian u16 knock amplitude for that cylinder. I'm not sure what this scaling should be, I don't scale it for my uses
        byte 4 seems to be a smoothed knock value
        bytes 5+ I'm not sure

        Hope this helps, as I don't have an SMG to test or validate against and I'm not sure if they're the same. On the left side of this image you can see how I sanitize these values by cylinder and datalog them continuously.
        Click image for larger version

Name:	full log view.png
Views:	4
Size:	346.3 KB
ID:	368071
        Correct me if I'm wrong but I think you're talking about 0x700 and 0x701 on the Master CAN bus yeah? What Niklas is refering to is messages on the Slave (SMG) CAN bus, which happen to use the same 0x700 and 701 ARBIDs but have different contents (Misfire detection).
        2005 ///M3 SMG Coupe Silbergrau Metallic/CSL bucket seats/CSL airbox/CSL console/6 point RACP brace/Apex ARC-8s
        Build Thread | Community Patch | MSS54 DS2 Tool

        Comment


          #5
          Originally posted by karter16 View Post

          Correct me if I'm wrong but I think you're talking about 0x700 and 0x701 on the Master CAN bus yeah? What Niklas is refering to is messages on the Slave (SMG) CAN bus, which happen to use the same 0x700 and 701 ARBIDs but have different contents (Misfire detection).
          Whoops. Yeah, color me an SMG newbie then.
          ‘02 332iT / 6 | ‘70 Jaguar XJ6 electric conversion

          Comment

          Working...
          X