Announcement

Collapse
No announcement yet.

my OBD II Software

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

  • my OBD II Software

    Because of the software I found is not very usable at my carPC, I designed my own software, with an interface bigger.

    The software uses the elm interface.

    It's multithread: the principal thread reads from the interface, another thread writes to the port, another display the vehicle speed, and other display the motor speed.

    There are two pieces of software: one is the principal, to display the info and the other one is to config the software.

    The software is customizable: always displays the vehicle speed and the motor speed, and the other info are the pids the user wants to display. The color of the text and the background color are customizable, so the font size of the pid's.

    Also, the program is multilanguage, I have the spanish and the english languages, but other are simply to add. Within the file idiomas.ini we put the languages we support, and we have some files with the name of the language and some diferent extensions with the infos (.conf, .obd and .pids). Also we have the file settings.ini to configure some settings, but is better to use OBDConfig.exe to fill that file. With that, we can configure the pids we want to display (the interface supports until 10 pid's). Also we can use it to read from the interface the pids supported by our car.

    Because my car only support some pid's, I can't know the format for the other pid's (number of response bytes and how to convert to a number -%, temperature, ...) so I display in byte format.

    The software also display if the MIL light is active and the diagnostic trouble codes present (DTC's).

    We can configure some timeouts to suit to our car and there a debug mode to display the raw responses, so we can adjust the timeouts.

    You can download from: http://212.145.142.35/bp/obd.nsf/obd2.zip

    You need the .NET framework to use it, and you also need to register the NetComm.OCX (regsvr32 netcomm.ocx).

    More info about pids at mode 01 (the only we read) and other modes like the 09 will be wellcome.

    Regards

  • #2
    I wrote a multithreaded OBD II plugin a while back for the ELM that includes a bunch of utility functions for decoding all the standard mode 1 PIDs. Its open source and *gasp* actually commented, so you can see how they are decoded into human readable strings. Download the OBDII SDK from here: http://www.digitalwheelz.com/UbiquityV_Developer.htm
    StreetDeck.com Developer (I am Chuck)
    Get StreetDeck at http://www.streetdeck.com
    The Official StreetDeck Forums have moved, please visit us at http://www.streetdeck.com/forum for official support for Streetdeck.

    Comment


    • #3
      Ok, thanks for the info, so i can complete my program

      regards

      Comment


      • #4
        I'm working in make it skinnable, in a few days I finish it

        regards

        Comment


        • #5
          Which devices does it work with?
          -Jesus- King of Kings Lord of Lords

          Comment


          • #6
            it uses the elm interface

            regards

            Comment


            • #7
              would you consider making it a DLL interface? That way a lot of us, including front end developers would be able to tightly integrate it.

              I got somethign similar working, just about but my MPG calculations seem to be a bit out!
              Ford Focus MP3 : www.stevieg.org/carpc Blog Updated 29 January 2009!
              Car PC Status: Complete - Undergoing Software Redevelopment

              Comment


              • #8
                ...and re-consider that deadly .NET dependancy. Or at least list only those DLL's it really depends on.

                EDIT: Looking at all the avatars I have strange feeling we have been watched...

                Comment


                • #9
                  It may be posible to make a dll, but the software itself is a frontend, the interface is the serial conection. It's a simply connect to to the serial port and request a info and read the response.

                  But I see dificult to manage from outside (with a dll), because of the timings and the async read of the responses.

                  regards

                  Comment

                  Working...
                  X