Starting an open-source project... suggestions for an OBD2 interface box?
#1
Launching!
Thread Starter
iTrader: (2)
Join Date: Jan 2003
Location: Downtown Chicago
Posts: 265
Likes: 0
Received 0 Likes
on
0 Posts
Starting an open-source project... suggestions for an OBD2 interface box?
I have over a hundred pages of SAE spec documents (J1979, J2180) that I want to use to create an open-source scanning and datalogging program. There are several free programs that I've looked at, but I'm interested in creating something that's designed from the ground-up to cater to the performance crowd.
The next question is, what interface should I use? I know that Scantool.net sells the ElmScan 5, and B&B Electronics (makers of AutoTap) sell the LDV6U-3505. Are there any others that I should look at?
The thing that REALLY interests me about the LDV6U is that it supports the 41.6 Kbps high speed VPW mode -- the mode that's used to write data to the PCM. So in theory, that box could be used for tuning.
Any other suggestions? Thanks!
The next question is, what interface should I use? I know that Scantool.net sells the ElmScan 5, and B&B Electronics (makers of AutoTap) sell the LDV6U-3505. Are there any others that I should look at?
The thing that REALLY interests me about the LDV6U is that it supports the 41.6 Kbps high speed VPW mode -- the mode that's used to write data to the PCM. So in theory, that box could be used for tuning.
Any other suggestions? Thanks!
#5
Launching!
Thread Starter
iTrader: (2)
Join Date: Jan 2003
Location: Downtown Chicago
Posts: 265
Likes: 0
Received 0 Likes
on
0 Posts
That's in the hopper as well.
I want to build it from the ground-up with an abstraction layer (a bit like Linux or NetBSD) so you can write a driver for the interface of your choice and then use the diagnostic software right over it with no modifications. Something like a run-time interface plugin system would be awesome, but I'll have to do some research about how to best implement that.
I want to build it from the ground-up with an abstraction layer (a bit like Linux or NetBSD) so you can write a driver for the interface of your choice and then use the diagnostic software right over it with no modifications. Something like a run-time interface plugin system would be awesome, but I'll have to do some research about how to best implement that.
#6
Launching!
Thread Starter
iTrader: (2)
Join Date: Jan 2003
Location: Downtown Chicago
Posts: 265
Likes: 0
Received 0 Likes
on
0 Posts
ALSO
All of the SAE's specifications (particularly J1979 and J2190) are copyrighted. Are there legal considerations for making an open-source project that implements them?
All of the SAE's specifications (particularly J1979 and J2190) are copyrighted. Are there legal considerations for making an open-source project that implements them?
#7
You are the man. I wish I could help. Some guy was telling me that there was open source software for his evo.. I think that this is true with hondas as well. This is just another reason to force myself to write code (shitty newb code). Good luck.
Trending Topics
#8
Launching!
Thread Starter
iTrader: (2)
Join Date: Jan 2003
Location: Downtown Chicago
Posts: 265
Likes: 0
Received 0 Likes
on
0 Posts
The B&B Electronics LDV6U should arrive sometime this afternoon
As I mentioned earlier, I'm hoping to create an open source scanning program that caters specifically to the LT1 / LS1 performance crowd. The LDV6U does support the high-speed VPW protocol, which suggests that it could be used for tuning. But that's for much later down the road.
Here's the list of features that I'm hoping to implement, in order of priority:
While I do want to make a useful and robust scanning program, it's NOT meant to compete with professional-grade software like AutoTap, EFILive, or HPTuners. Think of it as MySQL versus DB2 / Microsoft SQL Server. Similar software, vastly different scale.
Also, here are some general design notes that I'm thinking of at the moment:
Maybe this evening I'll put up a SourceForge project page. For now, I have some questions:
That's it for now. Watch this thread for updates!
As I mentioned earlier, I'm hoping to create an open source scanning program that caters specifically to the LT1 / LS1 performance crowd. The LDV6U does support the high-speed VPW protocol, which suggests that it could be used for tuning. But that's for much later down the road.
Here's the list of features that I'm hoping to implement, in order of priority:
- Diagnostic trouble codes and definitions
- Emissions readiness monitors
- Ignition parameters
- Fuel parameters
- Airfow / MAP / MAF data
- Datalogging and playback
- Chevy/Pontiac LT1/LS1 style virtual dashboard
- Obligatory DANGER TO MANIFOLD screen
While I do want to make a useful and robust scanning program, it's NOT meant to compete with professional-grade software like AutoTap, EFILive, or HPTuners. Think of it as MySQL versus DB2 / Microsoft SQL Server. Similar software, vastly different scale.
Also, here are some general design notes that I'm thinking of at the moment:
- Front end (GUI) will be done with MFC (possibly .NET)
- Abstraction layer and drivers for specific OBD2 interfaces will be standard C++
- Strong emphasis on portability
- Support for XML log output
Maybe this evening I'll put up a SourceForge project page. For now, I have some questions:
- What should I name this project? My first choices, LS1Scan and OpenScan, are already taken. So are FreeScan and FreeDiag. Suggestions welcome!
- Can anyone give me some input on the legal considerations of the project? There are several open-source OBD2 scan programs out there, but most of them just read codes. Is it copyright infringement if I make a more complete implementation of J1979?
- Does anyone have other scan interfaces such as the ScanTool.net unit that they would be willing to write drivers for? (More on this as I get the code together)
That's it for now. Watch this thread for updates!
#9
Launching!
Thread Starter
iTrader: (2)
Join Date: Jan 2003
Location: Downtown Chicago
Posts: 265
Likes: 0
Received 0 Likes
on
0 Posts
Day 1 of development has proven to be... challenging. I'm still trying to learn my way around Win32 overlapped I/O functions . It'll probably be a couple days before I figure out how to properly communicate with the unit let alone get OBD2 data from it.
Once I figure out the basics I'll post up code for the functions so other owners don't have quite as steep a learning curve.
Once I figure out the basics I'll post up code for the functions so other owners don't have quite as steep a learning curve.
#10
Launching!
Thread Starter
iTrader: (2)
Join Date: Jan 2003
Location: Downtown Chicago
Posts: 265
Likes: 0
Received 0 Likes
on
0 Posts
Made some HUGE progress tonight! I should have a working LDV6u Windows library by the end of the week.
Out of the box, you have to send a string of bytes with a checksum to the LDV in order for it to do stuff. For example, this is how you ask the device for the OBD2 interfaces that it supports:
My library should take the gruntwork out of interfacing with the LDV box. You can interact with it through methods like this:
I'm sure that there are plenty of enthusiasts out there who can program very well but just don't want to deal with the hassle of writing their own library to get stuff done with this thing. Hopefully my library will be a nice spin-off of the larger scantool project.
SourceForge project page coming soon!
Out of the box, you have to send a string of bytes with a checksum to the LDV in order for it to do stuff. For example, this is how you ask the device for the OBD2 interfaces that it supports:
Code:
char msg = {0x1, 0x1, 0x13, 0x00, 0x15}; // Appropriate I/O calls to WriteFile() and ReadFile()
Code:
unsigned char result = LDV6u.issueCommand(GetSupportedInterfaces);
SourceForge project page coming soon!
#11
Launching!
Thread Starter
iTrader: (2)
Join Date: Jan 2003
Location: Downtown Chicago
Posts: 265
Likes: 0
Received 0 Likes
on
0 Posts
Below is a screenshot of a short command-line program that I wrote to test my LDV library:
By tomorrow I'll have about 90% of the LDV6U protocol implemented. Once I finish it later in the week I can start implementing a J1979 library, which is where the REAL fun starts.
I'm still a few weeks away from a point-and-click scan tool, but things are definitely off to a good start.
By tomorrow I'll have about 90% of the LDV6U protocol implemented. Once I finish it later in the week I can start implementing a J1979 library, which is where the REAL fun starts.
I'm still a few weeks away from a point-and-click scan tool, but things are definitely off to a good start.
#14
TECH Resident
iTrader: (3)
Join Date: Nov 2001
Location: Richmond, VA Where fast cars, well......are hard to come by.
Posts: 979
Likes: 0
Received 0 Likes
on
0 Posts
I See Ur Codez!
All in all, he's putting more into trying something new than most everyone else. Sure products exist that do the functions, but it doesn't cost him a thing once he's finished, aside from hardware, and the only limit he has is how many platforms he wants to cover. There's something to be said for pride in your work. I say grats on your progress and hope it works out for you.
All in all, he's putting more into trying something new than most everyone else. Sure products exist that do the functions, but it doesn't cost him a thing once he's finished, aside from hardware, and the only limit he has is how many platforms he wants to cover. There's something to be said for pride in your work. I say grats on your progress and hope it works out for you.
#16
Wow this is moving along quick.. Whats next.. porting to Windows Mobile/CE? .. Oh scanning with my phone!! I should paypal you the $$ for the samsung i730. jk.. my trailblazer stole my wallet.
#17
TECH Resident
iTrader: (3)
Join Date: Nov 2001
Location: Richmond, VA Where fast cars, well......are hard to come by.
Posts: 979
Likes: 0
Received 0 Likes
on
0 Posts
Originally Posted by Blades
Wow this is moving along quick.. Whats next.. porting to Windows Mobile/CE? .. Oh scanning with my phone!! I should paypal you the $$ for the samsung i730. jk.. my trailblazer stole my wallet.