Zed Diagnostic Software - roll your own

Discussion in 'Non Technical' started by Vader, Jun 23, 2009.

  1. Vader

    Vader Just another guy

    Mods, feel free to move this post, however it is very much zed related, just not in the normal sense.

    I'm willing to spend the time and effort to develop an open source Library for Zed Diagnostics.

    Basically I am frustrated by the fact that there seems to be a few good programs out there, but we cannot interface to them. OBD Scan Tech, ConZult Free, CalumTech etc etc. They are essentially standalone.

    I know there are people that frequent this board that can assist me, though I do not know if they (you?) are willing to assist in this.

    The target system will be:
    Windows XP and above, including Server platforms
    .NET Framework 2.0, 3.0 and 3.5 (possibly 4.0).

    Please don't ask about Linux. This forum is not the place to start that flame war (again). This is a Windows project for the Zed.

    My development environment is Visual Studio 2008 SP1 on Vista 64 SP 1. I will be using Visual Basic .Net 2008. I have laptops, PDA's, PC's, a Consult cable, even a 240V inverter in the zed.

    I am a Computer Programmer in my day job, and am an Electronics Tradesman, so this should not be too difficult, so long as I can get assistance from those in the know.

    I have an Aus delivered 93 NA 2+2.

    The aim of this project is to provide the community with a software platform that can be used by anything (including Excel, Word, VB.Net) to talk to your zed.

    I want to be able to have an all-in-one diagnostic\navigation\music system in my car. This project is integral to achieving this goal. I believe others would want this also.

    If you would prefer to discuss via PM, please feel free.
  2. EvZ

    EvZ 1BAD300

    So what exactly did you have in mind?

    • Open source
    • Collaborative effort
    My thoughts:

    • Framework 2.0 is sufficient. It came with serial port classes and generics. The only thing that targeting 3+ will do is elimate some potential users
    • The protocol is essentially 'open' thanks to people at PLM(?) and others so most of the hard detective work has already been done
    • Use C# :)
    How I could help:

    • I have 2 spare ECU's and a breakout connector. Apparently the ECU can be started on the bench making development easier than continually running to the car to test.
    • I'm a software engineer with extensive knowledge of dot net, serial comms and class design.
    • I've alread got a dot net library skeleton, that abstracts the ECU and the things that it does. It doesn't actually do anything at the moment, it's just a skeleton.

    Good idea, hope it goes ahead,

  3. Vader

    Vader Just another guy

    Evan, sounds like you may already be a few steps ahead of me?

    I'm interested in collaborative as this can turn out to be a big job for one person.

    I have a spare NA Manual ECU sitting here. no sensors or anything though.

    I mentioned 3.0 because thats what Vista has. We have standardised on 3.5 at work. I already write VB, but will do C# if I have to. Regardless, we can use both if we split the work into separate projects, and concentrate on Class design\interoperability (initially).

  4. IB

    IB ?????

    If you're doing something ZED specific, how about making it talk to other onboard computers HiCAS, ABS, Climate Control, Auto, Cruise? Only the expensive ConZult seems to access these.
  5. Madcow

    Madcow Active Member

    I second this, i got electonic HI cas and cant really check it without freeware versions.

    about to PM you.
  6. Vader

    Vader Just another guy

    Further info

    Ok, I think I may have 'some' interest in this project :eek:

    Basically this is the issue:

    I have a zed (duh). I want to put a laptop into it and get GPS, Music and diagnostics all running at the same time.

    I don't want a separate program that only does one at a time eg ECUTalk or Conzult.

    It must be an application that can play music, and give info like current track name, current track artist etc, as well as my current location on a moving map (ie GPS info like LAT, LONG, SOG, COG, Altitude, Speed, Time etc), but if I have an intermittent (or other!) issue with my car, I want to see an error or warning icon on top of the map, plus text like "LH O2 sensor failure". If it also makes sense to plot info like Outside temperature, Inside temperature, Current gear, Hicas info, then that should all be available at a glance.

    If I want to get further info, I should be able to select it (the track, the warning icon, the destination, whatever) and another window comes up with the information requested.

    I don't think there is anything that does this. And I can't afford to buy it if there was. But with assistance, I can write it.

    And for at least the first few versions, everyone can test and use it for free. That way they can provide feedback, and we can add features and fix bugs.

    And then finally, if all the people that have worked on it agree, we could (ie, this is NOT a pre-condition) sell it. I don't even know if I would want this, I just don't want to discount it.

    Anyway, that's a long way off. For the foreseeable future, this will be a free offering.

    The key to the whole thing is that I want to build modules (Classes and Assemblies in developer terms) that allow you to connect to them and they will do all the hard work for you, and just give you back the info you have asked for. If that info is current inside temperature, or current speed or whatever, you don't and shouldn't care how the information was retrieved, you just need it.

    Hopefully that answers some queries.
  7. Gazza

    Gazza Active Member

    This is a top idea. I was seriously considering taking this on myself a few years ago when I had a working copy of "mathlab & simulink" and a desire to use it. I procrastinated for too long and finally decided it was going to be too much effort to do by myself, but even recently Ive been thinking about the possibilities.
  8. p5yk3r

    p5yk3r el8 haqur

    interested in helping you out on this one, i do some vb.net as well and have been thinking about coding something similar for some time.
    i was thinking about a program with a 'configurable dashboard' sort of thing, allowing you to add and remove gauges for various ecu readouts and statistics like 0-100 and 1/4 mile times, speed vs time graphs etc. etc.
  9. vbevan

    vbevan Active Member

    I'm going to keep poking my girlfriend to get her to help. She's doing work with WPF at the moment, maybe I can get her to make some funky animated crap lol.
  10. lovmyzed

    lovmyzed Member

    the speed is not updated frequently enough for this feature.
  11. EvZ

    EvZ 1BAD300

    Keep poking away :) but we're getting a bit ahead of ourselves here. I thought that the original project was to produce a library that could then be used by things like WPF displays. After all if there's no data, there's nothing for Windows to present.

    4. WPF Display | Win Forms Display | Other
    3. Application Logic | Logging
    2. Ecu Abstraction
    1. Serial Comms

    At the moment we're still only thinking about working on levels 1 & 2.

  12. Vader

    Vader Just another guy

    Great idea. We will need her assistance to get the AVI portion working.

    Did I forget to mention movies as well as music?
  13. Vader

    Vader Just another guy

    Agreed. However, the more people that get excited about this, the better the chance of getting more assistance :biggrin:
  14. Vader

    Vader Just another guy

    How often does it occur, and where did you get the info?

    I'm not doubting you, I just want to know where this info is at (or it simply a case of knowing 9600 bd isn't fast enough to transfer all the requested data?)
  15. EvZ

    EvZ 1BAD300

    Ooops. :eek:

  16. lovmyzed

    lovmyzed Member

    have a look in dr300zx (menu Performance->Acceleration Test), it has speed -> speed (ie. 0->100) tests, you can see how course the data is or just hook up a hex terminal app (vbTerm is ok) put it into the mode that dumps speed, you'll notice as u drive the granularity of updates is shite.

    the baud rate is not the problem, 9600 baud is sufficient for the sort of timings you need, because you just request the speed data, it is the ecu not updating the speed as often as it reports it, it just repeats the same speed for a block of time. I don't remember the block of time off my head, but it definitely doesn't allow you to do anything useful with it.

    of course i could have been mad when i looked at it all, but i don't think so.

    hope this helps.
  17. swampman

    swampman 89 Z31 2+2

    Sorry I know this isn't 100% specific to the topic, please don't flame me. But i'm wondering what are the exact diagnostic wires from the ECU pins. I have the ECU, loom and sensors on my vg30det, but I don't think it came with the diagnostic port, is the port on the engine loom yes? near the ECU? But more importantly the ecu pins. Sorry and thanks. :p

    My brother is a computer programmer freak but it would be an area i'ld be interested in getting into in the future.
  18. Vader

    Vader Just another guy

  19. swampman

    swampman 89 Z31 2+2

    Receive (control unit data reception / #21 / #21 White
    Transmit (date sent from control unit) / #22 / #22 Blue
    Clock (sychronization signal) / #31 / #31 Orange
    Monitor and check lamp / #32 / #32 Yellow/Green
    Check (diagnosis activation) / #47 / #47 Blue/White

    Wou;d that be right with the z32?

    Last edited: Jun 24, 2009
  20. Kabir

    Kabir Well-Known Member


Share This Page