Announcement

Collapse
No announcement yet.

SMG CAN Bus Decoding

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

    #31
    Hello guys,

    in the moment I'm playing around with instument cluster from E46 M3. I'm able to control all the gauges over CAN except SMG gears display. I think my problem is CRC for displaying the gears... I'm not calculating this at the moment.

    Does anyone have a LogFile from the E46 M3 or E46 with a SMG transmission that contains the CAN ID 0x43F?

    Thank you very much!

    Comment


      #32
      Originally posted by HeinrichG_V12 View Post
      Hello guys,

      in the moment I'm playing around with instument cluster from E46 M3. I'm able to control all the gauges over CAN except SMG gears display. I think my problem is CRC for displaying the gears... I'm not calculating this at the moment.

      Does anyone have a LogFile from the E46 M3 or E46 with a SMG transmission that contains the CAN ID 0x43F?

      Thank you very much!
      There is no CRC. If you look at my post above the first byte of 43F is the gear. In that first byte the upper half is whether the gear is engaged or not, the second half is the actual gear number. 0 is neutral and 7 is reverse.

      I have all this in my racecapture and its working great.

      Comment


        #33
        eacmen Hmm, strange thing...

        Check this out: https://www.ms4x.net/index.php?title..._ID_0x43F_EGS1 (scroll down to SMG2 0x43F). If I'm using this description of 0x43F is all okay, except gear display, the rest (drivelogic, programm and stuff) is perfect.

        I've also tried to send your three messages over CAN to the cluster and the behaviour is the same, gear is not displayed.

        Comment


          #34
          Originally posted by HeinrichG_V12 View Post
          eacmen Hmm, strange thing...

          Check this out: https://www.ms4x.net/index.php?title..._ID_0x43F_EGS1 (scroll down to SMG2 0x43F). If I'm using this description of 0x43F is all okay, except gear display, the rest (drivelogic, programm and stuff) is perfect.

          I've also tried to send your three messages over CAN to the cluster and the behaviour is the same, gear is not displayed.
          Not sure why the cluster isn't working? There might be other CAN messages required to enable SMG in the cluster when it turns on.

          Obviously my log above is in decimal format so you'll need to convert to binary.

          Comment


            #35
            eacmen Yes, it's really strange. I've saw this thing with "alive counter" and then "checksum" in the massage by rev eng of PT-CAN of my E66... but in E46?

            Of course I've converted them to hex

            Here is how my 0x43F message looks like:

            Click image for larger version

Name:	grafik.png
Views:	297
Size:	2.6 KB
ID:	235698

            And here is the cluster:

            Click image for larger version

Name:	grafik.png
Views:	273
Size:	538.6 KB
ID:	235699

            Comment


              #36
              0x43F 0x61 0x01 0x26 0x5B 0x7E 0x84 0xE4 0xFE
              0x43F 0x61 0x01 0x46 0xB5 0x7E 0x84 0xE4 0xFE
              …under construction.

              Comment


                #37
                Hello S54B32

                Thank you for the both messages. Are these two messages consecutive or were there messages sent in between?

                I've tested the two messages, no gear indicator to be seen.

                Comment


                  #38
                  Didn‘t remember, they where recorded some time ago, when I reverse engineered that message, before this info from robin was published on his page.

                  take a look at Byte3 and the Counter variable. I think you start at 0 and increase every time you send the message, to calculate the CRC. But I’m not sure if you gearbox controller is able to do this.

                  Edit: take a look at post #14, I uploaded there a short log file
                  …under construction.

                  Comment


                    #39
                    Originally posted by S54B32 View Post
                    take a look at Byte3 and the Counter variable. I think you start at 0 and increase every time you send the message, to calculate the CRC.
                    At the moment I'm just increment counter signal, without calculation CRC. (I forgot how to do this in CANoe).

                    But if I send always the same message (yours) it should be okay, as long as I do not change any data in the message.

                    Originally posted by S54B32 View Post
                    But I’m not sure if you gearbox controller is able to do this.
                    After the message definition on mx4x.net he does.

                    But: I' not using a gearbox controller, but CAN hardware (Vector CANCardXL) with Vector CANoe for the rest bus simulation.

                    Originally posted by S54B32 View Post
                    Edit: take a look at post #14, I uploaded there a short log file
                    Which format is the logfile?

                    Comment


                      #40
                      It‘s just a text document with logged canbus values.

                      you need to calculate CRC! And CRC includes the counter, so if the cluster assume let’s say at least 2 valid (CRC and data is ok) messages before display anything, I doubt you will get it working. But this is just guessing.
                      …under construction.

                      Comment


                        #41
                        Okay, so I'll look forward to calcule CHECKSUM and send them together with the rest of message.
                        I'll be in touch

                        Comment


                          #42

                          I will share. Maybe helpful for you!

                          Comment


                            #43
                            Ist pretty similar to my message:

                            Click image for larger version  Name:	grafik.png Views:	0 Size:	69.4 KB ID:	236526
                            Your Byte3 isn't right, here you have two signals:
                            • COUNTER ( 0x00 to 0xF)
                            • CHECKSUM (COUNTER and DISP_INFO)
                            with 4 bits each. But the order is unknow. I thing lower nibble COUNTER and upper nibble is CHECKSUM, but we will see
                            Last edited by HeinrichG_V12; 10-04-2023, 09:45 AM.

                            Comment


                              #44
                              Got it. I only needed such info so my AIM dash could pick up gear and drivelogic.

                              Comment


                                #45
                                Originally posted by nickpiper12 View Post

                                I will share. Maybe helpful for you!
                                Wow where did you get this info? I need to add more PIDs to my logger now!

                                Comment

                                Working...
                                X