Page 26 of 40 FirstFirst ... 161718192021222324252627282930313233343536 ... LastLast
Results 626 to 650 of 986

Thread: E46 Can bus project.

  1. #626
    Join Date
    Nov 2005
    Location
    Kilmarnock, VA
    Posts
    1,873
    My Cars
    E53, E90, Triumph GT6
    Makes sense now. Thanks.

  2. #627
    Join Date
    Jul 2007
    Location
    Philadelphia, PA
    Posts
    5,660
    My Cars
    2005 M3 & 2004 330i
    Regarding DME4 / ARBID 545:

    ARBID: 0x545 (DME4),

    -B0 Check engine light (binary 10), Cruise light (binary 1000), EML (binary 10000), Check gas cap 2002+ cars (hex 40).
    -B1 Fuel consumption LSB
    -B2 Fuel consumption MSB. Values just cycle from 0 to FFFF then start over at zero. Fuel consumiption is the rate of change.
    -B3 Overheat light (binary 1000, Hex 08), oil level 2002+ cars, (binary 0010, hex 02), oil level error (binary 0100), oil level error AND motor = S62 (binary 0001), RPM Warning Field bits 4, 5, 6*
    -B4 Oil Temp [Temp in C = hex2dec(byte04) - 48]
    -B5 Charge light, 2002+ cars (Binary 0001)
    -B6 Possibly CSL Oil Level (unsure of format yet, will investigate; only available on E46 cluster if OELNIVEAU_M3 is set to aktiv via NCS)
    -B7 TDME_RDKS != 0 (some status byte for the DME temperature; I don't think RDKS = TPMS in this context).

    Bolded the bits I added.

    RPM Warning Field dependent on cluster type

    E46 M3 Cluster
    LED Value (dec) Value (bin) Left shift
    7500 0 000 #000####
    7000 1 001 #001####
    6500 2 010 #010####
    6000 3 011 #011####
    5500 4 100 #100####
    5000 5 101 #101####
    4500 6 110 #110####
    4000 7 111 #111####


    E39 M5 / E53 X5 4.6is Cluster
    LED Value (dec) Value (bin) Left shift
    6500 0 000 #000####
    5500 1 001 #001####
    5000 2 010 #010####
    4500 3 011 #011####
    4000 4 100 #100####


    I'm not sure why there is an extra bit set if there's an oil level error detected with an S62. I'm also not sure if that extra bit applies to M62s

  3. #628
    Join Date
    Feb 2015
    Location
    Norway
    Posts
    7
    My Cars
    00 540IAT, 93 530D
    Hiya
    Newbie here.
    Have some questions regarding canbus.
    Have transplanted a M57d30 engine into a E34 which have no canbus system.
    Engine is running and i have oil and alternator light sorted. problem is temp,glow light,rpm,cruise and ac is controlled/activated via canbus.
    temp,glowlight and rpm is obviously going to dashboard and ac to heater control.

    so what i need is something to convert E38 cansignal into analog signals.
    Anybody out there that could point me in the right direction.

    Cheers
    Geir

  4. #629
    Join Date
    Nov 2005
    Location
    Kilmarnock, VA
    Posts
    1,873
    My Cars
    E53, E90, Triumph GT6
    Quote Originally Posted by TerraPhantm View Post
    Bolded the bits I added.
    Great stuff. I'll add that information to the data on post 1 when I get a min.

    Quote Originally Posted by pectel View Post
    Hiya
    Newbie here.
    Have some questions regarding canbus.
    Have transplanted a M57d30 engine into a E34 which have no canbus system.
    Engine is running and i have oil and alternator light sorted. problem is temp,glow light,rpm,cruise and ac is controlled/activated via canbus.
    temp,glowlight and rpm is obviously going to dashboard and ac to heater control.

    so what i need is something to convert E38 cansignal into analog signals.
    Anybody out there that could point me in the right direction.

    Cheers
    Geir
    Hej Geir,

    Welcome to the party. What you would like to do sounds possible. But I'm not sure there is a solution readily available. I'm not familiar with the M57d30. Does it run the same Can Bus structure as the E46 or is more like the E90?

    I would envision a module that would listen to the M57d30 can bus stream then translate that to analog outputs that could be connected to whatever you want. Basically my "analog can" module in reverse. Might take some playing to get the RPM output right.

    Thaniel

  5. #630
    Join Date
    Feb 2015
    Location
    Norway
    Posts
    7
    My Cars
    00 540IAT, 93 530D
    Hi and thanks for the reply.
    If im not mistaken i think the E38,E39 and E46 shares the same canbus protocol/structure.
    Have already played with the dashboard to simulate can signals but building a converter is way beyond my electrical/programming skills

    Have seen converters built by racelogic but they are 8-900 USD at least and im not sure how they will work.
    i know there are companies that supplies wiring looms for the M57 engine but they only output oil,charge and a TD signal that will not work with unless you have a programable dash

    Cheers
    Geir

  6. #631
    Join Date
    Nov 2005
    Location
    Kilmarnock, VA
    Posts
    1,873
    My Cars
    E53, E90, Triumph GT6
    Quote Originally Posted by pectel View Post
    Hi and thanks for the reply.
    If im not mistaken i think the E38,E39 and E46 shares the same canbus protocol/structure.
    Have already played with the dashboard to simulate can signals but building a converter is way beyond my electrical/programming skills

    Have seen converters built by racelogic but they are 8-900 USD at least and im not sure how they will work.
    i know there are companies that supplies wiring looms for the M57 engine but they only output oil,charge and a TD signal that will not work with unless you have a programable dash

    Cheers
    Geir
    Sorry i'm no help on recommending premade solutions. All or more $ than I care to spend on a whim just to play with. But if you can get the data from your engine into an arduino it should not be too much trouble to get it out. Feel free to e-mail me or PM me your e-mail and we can discuss details. If you like,

    Thaniel

  7. #632
    Join Date
    Jul 2007
    Location
    Philadelphia, PA
    Posts
    5,660
    My Cars
    2005 M3 & 2004 330i
    Hey Thaniel,

    Do you have any thoughts about modifying data on a message? I imagine you'd have to have the device sitting in between the target module and the can-bus.

    Just trying to think of ways to add the oil temp lights to DMEs that never supported that feature.

  8. #633
    Join Date
    Nov 2005
    Location
    Kilmarnock, VA
    Posts
    1,873
    My Cars
    E53, E90, Triumph GT6
    Quote Originally Posted by TerraPhantm View Post
    Hey Thaniel,

    Do you have any thoughts about modifying data on a message? I imagine you'd have to have the device sitting in between the target module and the can-bus.

    Just trying to think of ways to add the oil temp lights to DMEs that never supported that feature.
    Hello TerraPhantm

    Yes I actually played with this for a little while then got distracted. What you are describing is totally feasable. I

    What we did was put a "gateway" version of my module between the DME and the rest of the car. Actually did this on a complete (minus the engine) project car. Then had a program just pass the messages between the DME to the car. Using that I could limit which messages from the DME got to the car and vice versa. We used it in attempts to isolate which missing messages would cause "can bus errors" to appear in the different modules etc. Seems like we also tested urning the MIL light out by replacing that byte in the message before passing to the car. I've not spent anymore time messing with it. BUT yes it appears a message could be intercepted modified or replaced easy enough.

    I had intended to do more of this on my bench test setup. But i've not gotten my RPM input to my bench DME working yet. And we've gotten distracted on other projects (buidling our own VPW interface among others).

  9. #634
    Join Date
    Nov 2004
    Location
    Joshua, TX
    Posts
    1,684
    My Cars
    E36/8,E36/7,E36,E30,E23
    Quote Originally Posted by Thaniel View Post
    I would envision a module that would listen to the M57d30 can bus stream then translate that to analog outputs that could be connected to whatever you want. Basically my "analog can" module in reverse. Might take some playing to get the RPM output right.
    There is a pre-built box that can do this. It is the Race Capture Pro. It can be had for ~$500. The unit is actually designed for racing data acquisition, but can be used for a lot of automotive automation and translation projects. It can read and write Can Bus messages, it has analog inputs and outputs, digital I/O, and PWM In/Out. Do racing data loging it also has accelerators, 50Hz (that's not a typo) GPS, gyro sensors, cellular telemetry, and other goodies. On the can bus front, it has two separate can bus interfaces. This allows you to do translations between to independent buses. You can manipulate the data going in and out of the Race Capture Pro using the Lua scripting language.

    Using Lua, you can see a message on the can bus and change the voltage on an analog output to a corresponding value. You could could of course do the opposite as well, such as have a 12V button that when pressed would send an appropriate can bus message to activate a device listening on the bus. This makes the little Race Capture Pro a powerful device.

    I found this thread because I am currently working on capturing, logging, and displaying can bus data from a 2003 MINI Cooper S (R53) using the Race Capture Pro. Apparently BMW used a lot of the same messaging in the E46 and the R53. This thread is proving to be most helpful. Thank you to all of you for taking the time to document your discoveries!

    -bj

    2002 M Coupe | 2000 M Roadster w/ LS | 1998 328i w/ S54 | 1987 325is w/ M52 | 1985 735i Turbo

  10. #635
    Join Date
    Dec 2014
    Location
    Berkeley, CA
    Posts
    78
    My Cars
    2001 BMW M Coupe
    I'm also working on CAN integration on my Race Capture/Pro, into an S54 Clownshoe. I did a bunch of logging last night, and the vast majority of the messages documented in this thread are present in the Coupe.

    A huge thank you to everyone in this thread who has blazed a trail on decoding the internal CAN.

    One of the RCP developers has an E46 330i, so early 2000's BMW CAN should be pretty well documented and supported by the time we're done.

    On the S54 Coupe, so far I can say that the following are the same:
    0x153 VSS
    0x1f5 Steering Angle
    0x316 RPM
    0x329 (throttle only in byte 5 - haven't tested cruise control)
    0x545 (I do see a version of the M3 tach lights, even though the cluster doesn't have them)
    0x610 VIN
    0x613 Fuel Level
    0x615 is present, but byte 3 is always 0xff. OAT must be on the bus because the dashboard gauge is driven from a little box that lives on CAN, but that's not it.

    I'm getting 0x1f0 data, but I'm not sure yet if it's wheel speed. More logging to be done.

    I don't get 0x1f5 on this car, (brake pressure), but I do get 0x1f3, which I don't think we've deciphered yet. I'm hoping that's more data from the DSC. The wiring diagram indicates that this car is DSC III, not Mk60.

    Thanks again everyone!

    -Zandr

  11. #636
    Join Date
    Nov 2004
    Location
    Joshua, TX
    Posts
    1,684
    My Cars
    E36/8,E36/7,E36,E30,E23
    Quote Originally Posted by Zandr View Post
    I'm also working on CAN integration on my Race Capture/Pro, into an S54 Clownshoe.
    That's awesome. I have a S54 Clown Shoe that is becoming a full race car. The power train is being completely replaced and I will be using a Link G4 ECU with Can bus for that project.


    Quote Originally Posted by Zandr View Post
    The wiring diagram indicates that this car is DSC III, not Mk60.
    The S54 M Coupe has a MK20 which is identical to the early E46 M3's. I don't belive there is nearly as much can bus data for the Mk20 vs. the Mk60. I think there is a single wheel speed sensor that reports on can bus and that's about it. You should see torque request information and steering angle on the can bus, though.

    Although I've ditched the MSS54 ECU, I am retaining the Mk20 ABS/DSC system. I intend to pull wheel speed off of can bus and possibly emulate the torque request messages to control traction control. I have this idea to report the torque information lower to decrease the intervention and use traction control only in wet conditions. I will also be pulling steering angle from the can bus in my car.

    First I have to get my NASA TTC time trial MINI completed. I'm heading out to the shop now to try and begin logging some can data. Good luck with your project Zandar! Be sure to keep up updated. I will be interested to see how your project takes shape.

    -bj

    2002 M Coupe | 2000 M Roadster w/ LS | 1998 328i w/ S54 | 1987 325is w/ M52 | 1985 735i Turbo

  12. #637
    Join Date
    Nov 2004
    Location
    Joshua, TX
    Posts
    1,684
    My Cars
    E36/8,E36/7,E36,E30,E23
    Tonight I wired in the race keeper and wrote a Lua script to log all the can data to a comma delimited output. I didn't drive or even start the car. I just cycled the ignition on.

    I logged 14 unique addresses. So far, it seems that most everything lines up. I hope to make more progress over the next few days.

    -bj

    2002 M Coupe | 2000 M Roadster w/ LS | 1998 328i w/ S54 | 1987 325is w/ M52 | 1985 735i Turbo

  13. #638
    Join Date
    Nov 2004
    Location
    Joshua, TX
    Posts
    1,684
    My Cars
    E36/8,E36/7,E36,E30,E23
    Quote Originally Posted by Thaniel View Post
    ARBID: 0x613 also sent from the instrument cluster if 0x615 is acknowleged.
    -B2 is fuel level. Full being hex 39 Fuel light comes on at hex 8. Then values jump to hex 87 (or so) and then go down to hex 80 being empty.
    Thaniel,

    How confident are you in the full value being 39? I ask because I did some testing on it today on my R53. When the tank was full and the gauge showed full the value was hex 30. Now this is the MINI, but looking at the implementation for can bus data capture from the AiM system, it shows using the same configuration for the R53 and the E46. Thus, these have to be very closely related.

    EDIT:​ I am beginning to think that fuel level is reported in Liters not as a percentage. This would account for the differences between the E46 and the R53. 48 is close to the 50L fuel capcity. Maybe 48 is the maximum level it can measure? I know the float stops before the top of the tank.


    Just to document it--I believe the following vehicles share the same can bus data format:
    • BMW E46
    • BMW E46 M3
    • BMW Z3 (2001+)
    • BMW MZ3 (2001+)
    • BMW Z4 (non-M only)
    • MINI R50
    • MINI R53


    I can't be sure, but based on what I know about interchange from these cars and various versions of documentation from AiM I think this is correct:

    Sources:


    Note: Although the Z3 isn't listed anywhere I am 100% certain that in the 2001+ cars they were updated to E46 systems and as such the E46 items will work on these cars.

    According the the AiM docs here are the supported channels:
    • RPM
    • Speed
    • Pedal position
    • Brake switch
    • Brake pressure
    • Clutch switch
    • Steering angle
    • Engine coolant temperature
    • Oil temperature
    • Gearbox oil temperature
    • Ambient air temperature
    • Fuel level
    • Turbo RPM
    • Engine moment
    • Torque value
    • Electro valve state
    • Full load alternator
    • Front left wheel speed
    • Front right wheel speed
    • Rear left wheel speed
    • Rear right wheel speed
    • ASC Switch
    • Malfunction indication lamp
    • DSC switch
    • ABS Failure


    Now, not all these channels will necessarily be implemented on all models and may only work with some options (like my ACS equiped MINI doesn't have steering angle or brake pressure, but DSC equipped MINIs do). Obviously, what AiM is collecting isn't comprehensive. I am certain that other data has been/will be discovered beyond these items, but the important thing is that for these items listed by AiM the address and byte location will be the same.

    -bj
    Last edited by loftygoals; 02-24-2015 at 01:43 AM.

    2002 M Coupe | 2000 M Roadster w/ LS | 1998 328i w/ S54 | 1987 325is w/ M52 | 1985 735i Turbo

  14. #639
    Join Date
    Jul 2007
    Location
    Philadelphia, PA
    Posts
    5,660
    My Cars
    2005 M3 & 2004 330i
    Liters makes sense. I bet if you read the full value on an x5 (e53) or 7-series (e38), the value would be even higher

  15. #640
    Join Date
    Nov 2005
    Location
    Kilmarnock, VA
    Posts
    1,873
    My Cars
    E53, E90, Triumph GT6
    Quote Originally Posted by loftygoals View Post
    Thaniel,

    How confident are you in the full value being 39?
    EDIT:​ I am beginning to think that fuel level is reported in Liters not as a percentage. This would account for the differences between the E46 and the R53. 48 is close to the 50L fuel capcity. Maybe 48 is the maximum level it can measure? I know the float stops before the top of the tank.
    The way the data was collected was the following.

    The IKE was put into test mode to display the fuel amount (yes in liters) on the LCD display on the IKE. The resistance for the fuel level senders altered. The reading on the LCD and Can bus captured and recorded. Confidence is high that the can bus vs IKE measurements matched 100%. Sorry my note wasn't clear that the values in the IKE are reading liters. Though the IKE internal calculations are all 100% metric. Any displaying in imperial units is done purely for our benefit :-)

    Oh on the list of potentially similar can bus systems. I'd add the X3 and possibly the Land Rover discovery II. Been told the Discovery II has many of the BMW systems in it. Maybe the X5? Oh and some of the E39 messages are the same. The can bus data is more of a slow morphing from it beginning each year to year for quite some time. The older messages seem to be carried forward and more messages added. For the most part. Then there was a big revision change in the E90 and similar models. That's why the can revision # on modules is important when replacing them. But as much as possible it appears they made things backwards compatible. For instance. Older E46's use a separate wire to turn on some of the lights on the dash. The newer E46s use can bus. I found that on the newer E46 clusters I could turn the light on and off using either method. So it appears that I could take the newer cluster and put it in an older and maintain all the functions. But not vice versa. Probably stuff you guys already know.

    Thaniel.

    - - - Updated - - -

    Quote Originally Posted by loftygoals View Post



    I can't be sure, but based on what I know about interchange from these cars and various versions of documentation from AiM I think this is correct:

    Sources:


    Note: Although the Z3 isn't listed anywhere I am 100% certain that in the 2001+ cars they were updated to E46 systems and as such the E46 items will work on these cars.

    According the the AiM docs here are the supported channels:
    • RPM
    • Speed
    • Pedal position
    • Brake switch
    • Brake pressure
    • Clutch switch
    • Steering angle
    • Engine coolant temperature
    • Oil temperature
    • Gearbox oil temperature
    • Ambient air temperature
    • Fuel level
    • Turbo RPM
    • Engine moment
    • Torque value
    • Electro valve state
    • Full load alternator
    • Front left wheel speed
    • Front right wheel speed
    • Rear left wheel speed
    • Rear right wheel speed
    • ASC Switch
    • Malfunction indication lamp
    • DSC switch
    • ABS Failure

    Those documents appear to be referencing OBDII messages or "channels". Can bus data stream and what is available over OBDII are NOT the same. We can also extract information over the Diagnositc bus (like inpa does) But neither of those two diagnostic protocols guarantees that the information is broad cast via can bus. Though some of the information is.

    OBDII is a totally query and respond setup. Not a data stream. And in the E46 OBDII is not on the can bus at all. It's done on the TXDII bus using ISO protocol. It's not hard to access but it's something totally different.

    Thaniel

  16. #641
    Join Date
    Jul 2007
    Location
    Philadelphia, PA
    Posts
    5,660
    My Cars
    2005 M3 & 2004 330i
    Quote Originally Posted by Thaniel View Post
    Older E46's use a separate wire to turn on some of the lights on the dash. The newer E46s use can bus.
    What module sends that signal? E46 LSZ doesn't sit on the can-bus. And I'm 99% sure my 2005 M3 has the separate wire to turn on the lights

    Edit: Never mind, I misunderstood. I thought you were talking about the dash lights in general
    Last edited by TerraPhantm; 02-24-2015 at 02:57 PM.

  17. #642
    Join Date
    Nov 2005
    Location
    Kilmarnock, VA
    Posts
    1,873
    My Cars
    E53, E90, Triumph GT6
    Yah. Sorry I wasn't very clear. The charge light, Oil pressure light and cruise light were the ones I was thinking of.

  18. #643
    Join Date
    Mar 2008
    Location
    Yonkers, NY
    Posts
    144
    My Cars
    2004 BMW 330i SMG
    Yes, the fuel level is definitely in Liters..I thought we figured that out already. The 0x80 mask is for low fuel light. (as it's 0A,09,08, then 87, 86, 85...80)

    Nothing new to report here at the moment. Working on getting cam control tamed.

    0x1F5 is Steering Angle Sensor, not Brake Pressure. I don't get brake pressure on my car either, even though it shows in INPA.

    -Matt

  19. #644
    Join Date
    Nov 2004
    Location
    Joshua, TX
    Posts
    1,684
    My Cars
    E36/8,E36/7,E36,E30,E23
    Quote Originally Posted by Thaniel View Post
    Those documents appear to be referencing OBDII messages or "channels".

    Nope, have a look again. They clearly describe how to tap the CAN Bus wiring on the E46 and MINI Cooper.


    The term "channel" is used not in reference to the vehicle, but because in a data acquisition software each data element is called a channel. Examples: Lateral G Forces, Oil Pressure, Lap Time, Speed, Gear, GPS Time, RPM


    Quote Originally Posted by Thaniel View Post
    Can bus data stream and what is available over OBDII are NOT the same.

    Yep, I'm fully aware of the differences: OBD2 and Diagnostic information isn't avialable on these cars via can bus, only K-Line. Since they are only tapping into can bus, all of the data elements listed should be available. Don't let the "turbo RPM" fool you into thinking this is a generic list of elements, either. In Europe the E46 320d was a turbo diesel, thus it makes sense that turbo RPM might be available on the E46.


    My point is AiM pulls all of this data from the E46 can bus. There are a few items listed that haven't been identified in this thread, so there are still a few discoveries to be made.

    -bj

    2002 M Coupe | 2000 M Roadster w/ LS | 1998 328i w/ S54 | 1987 325is w/ M52 | 1985 735i Turbo

  20. #645
    Join Date
    Nov 2005
    Location
    Kilmarnock, VA
    Posts
    1,873
    My Cars
    E53, E90, Triumph GT6
    Quote Originally Posted by loftygoals View Post
    Nope, have a look again. They clearly describe how to tap the CAN Bus wiring on the E46 and MINI Cooper.
    I didn't read them in detail. I was looking at this one http://www.aim-sportline.com/downloa...NI_101_eng.pdf Which is only OBDII. Sounds like you understand the difference. Keep after it :-)

    - - - Updated - - -

    Quote Originally Posted by mdrobnak View Post
    Nothing new to report here at the moment. Working on getting cam control tamed.
    Nothing new from me either. The bit I've been doing has been creating a VPW interface. So doesn't really apply here. Well that and converting my 1949 tractors electrics over to something about 50+ years more modern :-)

  21. #646
    Join Date
    Dec 2014
    Location
    Berkeley, CA
    Posts
    78
    My Cars
    2001 BMW M Coupe
    Quote Originally Posted by mdrobnak View Post
    0x1F5 is Steering Angle Sensor, not Brake Pressure. I don't get brake pressure on my car either, even though it shows in INPA.
    Sorry, typo on my part. I meant 0x1f8.

    Off to Buttonwillow tomorrow and I'll be logging VSS, RPM, Steering, Clutch, Brake, Fuel, Oil and Coolant temps and maybe wheel speed. Not bad for a couple of posi-taps.

    FWIW, I think the easiest place to tap in on the M Coupe is at the Steering Angle Sensor. Drop the knee bolster and the wires are right there.

  22. #647
    Join Date
    Jul 2007
    Location
    Philadelphia, PA
    Posts
    5,660
    My Cars
    2005 M3 & 2004 330i
    Quote Originally Posted by loftygoals View Post
    Yep, I'm fully aware of the differences: OBD2 and Diagnostic information isn't avialable on these cars via can bus, only K-Line.
    Actually that's not really true. I wired up my E46's CAN-bus to my D-CAN cable and put the cable in D-CAN mode, and I was able to diagnose (and code) modules over the can-bus. Only the can-enabled devices (DME, KMB, MK60, and LWS) were diagnosable. The DME quickly stopped broadcasting over the CAN-bus, complaining of "too many messages", but diagnostics continued to work.

    Not sure there is any real use to diagnosing modules over the CAN-bus on older cars. I think the MK60 module has some flash routines that are only accessible over CAN, which is why I started messing with this in the first place.

  23. #648
    Join Date
    Mar 2008
    Location
    Yonkers, NY
    Posts
    144
    My Cars
    2004 BMW 330i SMG
    Ok TerraPhantm, I need your detective work again.

    It seems that Byte 0 of 0x329 is the key to making the DSC happy, unfortunately - the byte we know least about.

    I've narrowed it down to the fact that the rolling counter does not start until the IKE comes online.

    I have isolated the DME onto it's own bus on the Motec, and the Motec is outputting 0x316, 0x329, and 0x545 onto the main bus.
    I put a "debug" flag onto the transmit function that I could turn on and off for bytes I thought might be a problem. If the flag is on, I just copy the bytes from the DME bus to the main and transmission buses. With the debug flag off for all of the bytes, my rolling code algorithm isn't good enough to make the DSC happy. I turned them all on except for byte 0, and still no go. I cycled the ignition, still no go. Finally I turned on the debug flag for byte 0, and the DSC symbol went away. I turned the rest of the flags to off, and everything continued to work after another ignition cycle. Within 3 seconds of putting byte 0 back to my algorithm, the DSC light turned on.

    So, byte 0 is definitely important. Hopefully you can shed some light as to what on earth it's really for.

    -Matt

  24. #649
    Join Date
    Nov 2005
    Location
    Kilmarnock, VA
    Posts
    1,873
    My Cars
    E53, E90, Triumph GT6
    Quote Originally Posted by TerraPhantm View Post
    Actually that's not really true. I wired up my E46's CAN-bus to my D-CAN cable and put the cable in D-CAN mode, and I was able to diagnose (and code) modules over the can-bus. Only the can-enabled devices (DME, KMB, MK60, and LWS) were diagnosable. The DME quickly stopped broadcasting over the CAN-bus, complaining of "too many messages", but diagnostics continued to work.

    Not sure there is any real use to diagnosing modules over the CAN-bus on older cars. I think the MK60 module has some flash routines that are only accessible over CAN, which is why I started messing with this in the first place.
    There are lots of modules that aren't connected to all the buses. When a message is sent on a bus they are not connected to then it is re broadcast on another. So yes diagnostic messages can be on Can and I bus. It can be helpful in finding new messages to watch the other buses while asking for things on the Dbus. But the "D bus" is a specific set of physical wires.

    - - - Updated - - -

    Quote Originally Posted by mdrobnak View Post
    It seems that Byte 0 of 0x329 is the key to making the DSC happy, unfortunately - the byte we know least about.

    I've narrowed it down to the fact that the rolling counter does not start until the IKE comes online.
    I had wondered if the rolling counter was like the toggle bit in the cruise control setup. Seems we just have to get the timing down right. Does it always start at the same spot in the sequence and right when tie IKE is turned on? I may have to do some playing.

    Thaniel

  25. #650
    Join Date
    Jun 2010
    Location
    Bay Area, California
    Posts
    1,305
    My Cars
    325iT, 540iT
    Unsure how interesting this is to anyone, but I went the non-Arduino route for my CAN interface. I've sunk a fair amount of money into a modular test bench and used a bunch of stuff I've got laying around, and the latest piece was a USB-CAN adapter. The modular bit means I added a few new blocks, wired the CAN wires from the IKE connector, and presto. CAN from the computer to the IKE (with the DME coming whenever I get some DME pigtails).

    For the test rig I used:

    * 1 meter long EN 50022 DIN rail (35x7.5mm)
    * Lots of Weidmuller W-series parts incuding: single level and dual level feed through modular terminal blocks, end plates and caps, labels and some jumpers -- these are pricey from Digikey but lots of surplus is available for cheaper on eBay
    * Waytek's house brand wire strippers and ratcheting crimp tool (rebranded Pressmaster units, I love these things)
    * A couple toggle switches for the power (DigiKey P/N forthcoming)
    * OBD2 housing + pins (DigiKey P/N...)
    * Cheapie bench PSU (~5A, BK Precision)
    * Cheapie banana jack leads (Mouser P/N...)
    * Pigtails from an E39 IKE and a DME
    * That fabric tape that Benz uses

    With this I get something that's a bit bulky, but lets me hook up a cluster to my computer easily, lets me easily connect sensors (real or fake), distribute power, ground, add other bits from the car, etc. Plus it's easy to move around. After adding a bunch more blocks and a few wires I've got the DME hooked up and decided to go for CAN as well. As it turns out, VW developed a great CAN API for Linux (SocketCAN) that extends the common application level network API (Berkeley sockets). You can send packets from the command line as well as sniff traffic without having to write code (although the C API is familiar to anyone who's had to do any networking type stuff).

    For the CAN stuff I used:

    * Female DB-9 connector w/ 6 meter leads (DigiKey P/N...)
    * VSCOM CAN-USB device ($$$)

    After wiring it up (CAN low is pin 2, CAN high is pin 7 as is common) and following the VSCOM instructions (ensuring that speed 6 was selected) everything just works (Ubuntu 14.04). The cansniffer tool will monitor the bus and list the latest packet sent with a given ID. The nifty part is that it will highlight the changed bytes in red when a new packet comes in. You can definitely find cheaper things, but this the convenience factor here is nice (no assembly required).

    Sending stuff out via the command line works, but doing it via a small C (eventually Ruby) program allows for better control over timing.

    For more devious purposes I picked up an ODroid C1 ($35 ARM SBC, comparable to the Pi but beefier).
    Last edited by blarf; 03-05-2015 at 11:09 PM.

Page 26 of 40 FirstFirst ... 161718192021222324252627282930313233343536 ... LastLast

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •