DIY PROM Do It Yourself PROM chip burning help. No PROM begging. No PROMs for sale. No commercial exchange. Not a referral service.

Newbie Software Question

Thread Tools
 
Search this Thread
 
Old May 9, 2007 | 09:17 PM
  #1  
formula_novice's Avatar
Thread Starter
Senior Member
iTrader: (1)
 
Joined: Sep 2003
Posts: 988
Likes: 0
From: St. Louis, Missouri
Car: 1989 Firebird Formula
Engine: 383 Stealth Ram
Transmission: 700R4
Axle/Gears: 3.73 9 bolt Posi
Newbie Software Question

Hi Everyone,
I've been searching the internet for quite a while now... what I would like to do is write my own diagnostic software. All I want it to do is display the current ECM readings - nothing fancy. However, I can't seem to find any descent source code for such a project. I was wondering if anyone has done this or knows of a URL where I can find source code?

Any info would be appreciated.

Thanks!
Reply
Old May 10, 2007 | 08:47 AM
  #2  
Mangus's Avatar
TGO Supporter
 
Joined: Jan 2000
Posts: 1,861
Likes: 0
From: In your ear. No, the other one.
Car: '89 Trans Am WS6
Engine: 350 TPI
Transmission: T5WC
Axle/Gears: 3.08 posi
Re: Newbie Software Question

First download this and study a few of the files (plain text):
ftp://diy-efi.org/pub/gmecm/ALDLstuff.zip

That contains the datastream information for nearly all GM OBDI vehicles. This is the protocol info that you'll use to communicate with the vehicle.

Communication is via simple RS232 serial I/O - open the port at 8192 for 8192 ALDL connections, and 4800 for 160 baud. 160 baud is a little more complex in that you need to monitor the port bit-by-bit and assemble bytes of the packet yourself. Look for 9 0-bytes (a byte == a bit at 4800 baud) and you've found your start byte. Then grab the next 9 bytes (bits!) from the stream and assemble the first packet (9th bit is a stop), etc.

An example of source code for 8192 can be found here:
http://sourceforge.net/projects/freescan

If you have further questions, feel free to ask them here in this thread.
Reply
Old May 10, 2007 | 10:06 AM
  #3  
formula_novice's Avatar
Thread Starter
Senior Member
iTrader: (1)
 
Joined: Sep 2003
Posts: 988
Likes: 0
From: St. Louis, Missouri
Car: 1989 Firebird Formula
Engine: 383 Stealth Ram
Transmission: 700R4
Axle/Gears: 3.73 9 bolt Posi
Re: Newbie Software Question

Thanks for the info Mangus!

I've looked through the file you sent and my application needs A059.ds.
However, I'm confused about how to actually get the ECU to send the data.

Do you actually send "$80$56$01" to the ECU in order to receive the data stream? Is your 'send request' sent to the ECU at 160 baud?

Thanks again!
Reply
Old May 10, 2007 | 10:24 AM
  #4  
Mangus's Avatar
TGO Supporter
 
Joined: Jan 2000
Posts: 1,861
Likes: 0
From: In your ear. No, the other one.
Car: '89 Trans Am WS6
Engine: 350 TPI
Transmission: T5WC
Axle/Gears: 3.08 posi
Re: Newbie Software Question

No, you're not sending an ASCII string. You'll be sending 4 bytes to request the dump:

0x80, 0x56, 0x01, 0x29 (where 0x29 is the 2's compliment checksum of the previous 3 bytes).

$6E mask, eh? You'll have an additional challenge: $6E spews 160 baud data packets, but has a "listen" window in between in which it listens for your mode 1 dump string. You need to send the message in that window. What I'd recommend is that you listen for the serial data to silence for roughly 20 milliseconds, then send your mode 1 dump request. For $6E you can either grab 160 or 8192 baud data. The mode 1 dump string should be sent at 8192, however, and will initiate and lock the ECM at 8192 baud, at which point 160 baud communication will cease.

Have fun!

Last edited by Mangus; May 10, 2007 at 10:27 AM.
Reply
Related Topics
Thread
Thread Starter
Forum
Replies
Last Post
Bubbajones_ya
Electronics
4
Aug 31, 2015 12:02 PM
R3500
Engine/Drivetrain/Suspension Wanted
6
Aug 24, 2015 09:05 AM
86camaroman201
Tech / General Engine
3
Aug 19, 2015 04:52 PM
redmaroz
LTX and LSX
7
Aug 16, 2015 11:40 PM
86camaroman201
Fabrication
0
Aug 11, 2015 10:39 PM




All times are GMT -5. The time now is 05:56 AM.