Software On ELM Street - OBD2 Software Development

Programs / Tools / Scripts
User avatar
Jayme
Posts: 2585
Joined: Sun Mar 01, 2009 8:59 am
Location: North Coast, NSW

Re: ELM327 Software Development

Post by Jayme »

for my AVT adx, to get SAE rpm I send "0x68 0x6A 0xF1 0x01 0x0C "
and I get back "0x00 0x48 0x6B 0x10 0x41 0x0C XX XX" where XX XX is the rpm
User avatar
Tazzi
Posts: 3552
Joined: Thu May 17, 2012 8:53 pm
cars: VE SS Ute
Location: WA
Contact:

Re: ELM327 Software Development

Post by Tazzi »

Jayme wrote:for my AVT adx, to get SAE rpm I send "0x68 0x6A 0xF1 0x01 0x0C "
and I get back "0x00 0x48 0x6B 0x10 0x41 0x0C XX XX" where XX XX is the rpm
mmm... its that 0x00.. that might be throwing it off, I have the serial port discard null bytes... lets turn that off..
Alright, So Iv set the elm to the same header 68,6A,F1 and Im sending the same request 01,0C.. no reason it shouldnt work!.

Have updated with a few changes.. Hopefully this is the one.

*Did quick test with some emulators,

Code: Select all

[08:27:27:811]   Getting Engine Data...
[08:27:27:815]   Requesting Engine RPM: 01 0C..
[08:27:27:835]   ELM Sent: 00 48 6B 10 41 0C 01 01
[08:27:27:837]   Engine RPM Found: 00 48 6B 10 41 0C 01 01
[08:27:27:838]   Checking ELM Status..
[08:27:27:838]   ELM is Idle
Seemed to happily pick it up with or without the initial 00, also with or without null bytes discard enabled. Sooo Im lost to why its not picking it up on real cable.
Last edited by Tazzi on Tue Jul 21, 2015 9:37 am, edited 1 time in total.
Your Local Aussie Reverse Engineer
Contact for Software/Hardware development and Reverse Engineering
Site:https://www.envyouscustoms.com
Mob:+61406 140 726
Image
Charlescrown
Posts: 1959
Joined: Sat Aug 06, 2011 7:58 am
cars: V8 VR Commodore BT1
LB Lancer 2L turbo & Delco
Starion TBI with Delco
Mitsubishi Lancer EVO4 track car
NA MX5
3 vintage motor bikes
Location: Padstow NSW

Re: ELM327 Software Development

Post by Charlescrown »

Halleluiah finally got it too link. Version 7 and 9 both work. I do have to have the plug connected to the car with ignition on. Baud rate must be set to 115200.
User avatar
Tazzi
Posts: 3552
Joined: Thu May 17, 2012 8:53 pm
cars: VE SS Ute
Location: WA
Contact:

Re: ELM327 Software Development

Post by Tazzi »

Charlescrown wrote:Halleluiah finally got it too link. Version 7 and 9 both work. I do have to have the plug connected to the car with ignition on. Baud rate must be set to 115200.
Wooohoooooo!!!!! Great to hear.
Might put a little notice box to inform user to ensure cables plugged into obd port and ignition is on.

Anychance you tried the "Read Engine data" section? Should pull up Revs and Temp..
Although.. I suspect it may error/crash when revs are 0.. lol since it will be attempting to divide 0 by 4.. (required revs conversion).. meh.. see how it goes.
Your Local Aussie Reverse Engineer
Contact for Software/Hardware development and Reverse Engineering
Site:https://www.envyouscustoms.com
Mob:+61406 140 726
Image
Charlescrown
Posts: 1959
Joined: Sat Aug 06, 2011 7:58 am
cars: V8 VR Commodore BT1
LB Lancer 2L turbo & Delco
Starion TBI with Delco
Mitsubishi Lancer EVO4 track car
NA MX5
3 vintage motor bikes
Location: Padstow NSW

Re: ELM327 Software Development

Post by Charlescrown »

Yes I did but nothing so it looks like that's the next step. I am using it on a Hyundai I30 CRDI but it should still read all the generic stuff. I also have access to many OBD2 cars including Holden when the time is needed for further playing around. I have a commercial program that can identify all the PID's? and then you can add gauges/graphs etc but I have had little time to play with it so I don't know just how far it can go but like I said Holden have a specific code for the oil pressure switch which I haven't been able to read with any software I have.
And I did start the car to try and read RPM but nothing.
User avatar
Tazzi
Posts: 3552
Joined: Thu May 17, 2012 8:53 pm
cars: VE SS Ute
Location: WA
Contact:

Re: ELM327 Software Development

Post by Tazzi »

Ah alright... daaaaaaaamit. Am obviously doing something wrong.
I was fairly certain it ends the message with a carriage return.. It does for all the elm327 commands. The only thing that doesnt is the ">" character where the elm just sends it on its own without any carraige return so it can only be picked up if reading from the port byte by byte.
Maybe thats the same with the data requests and doesnt do a carriage return..may have to try pick it up byte by byte.

Might have to ask delcowizard nicely to attempt reading something with the serialport monitor running to capture whats happening in my software and other software!

Graphs,charts ect all easy stuff to do. Making little gauges/dials on the other hand is a bit more difficult. That might be a project on its own, converting speed to dial rotation to match a value... that'll be some interesting mathematics there! All in good time!
Your Local Aussie Reverse Engineer
Contact for Software/Hardware development and Reverse Engineering
Site:https://www.envyouscustoms.com
Mob:+61406 140 726
Image
User avatar
delcowizzid
Posts: 5631
Joined: Sat Feb 28, 2009 8:38 pm
Location: Wellington NZ
Contact:

Re: ELM327 Software Development

Post by delcowizzid »

ill see about heading out to the VT tomorrow for some testing
If Its Got Gas Or Ass Count Me In.if it cant be fixed with a hammer you have an electrical problem
User avatar
Jayme
Posts: 2585
Joined: Sun Mar 01, 2009 8:59 am
Location: North Coast, NSW

Re: ELM327 Software Development

Post by Jayme »

haha suddenly the AVT protocol seems super easy to work with. first byte is the total num of bytes in the packet :)
User avatar
Tazzi
Posts: 3552
Joined: Thu May 17, 2012 8:53 pm
cars: VE SS Ute
Location: WA
Contact:

Re: ELM327 Software Development

Post by Tazzi »

Jayme wrote:haha suddenly the AVT protocol seems super easy to work with. first byte is the total num of bytes in the packet :)
*Sigh* Why cant the elm have something nice like that..

Well.. Its *suppose* to have a carriage return.. But I also read that it I can determine the end of a message by keeping the linefeed on so. ATS1, which means it ends with a carriage return AND a newline (I think). So, I should look for a newline return when doing engine commands maybe??

Or, I can read byte by byte until I find either the hex representation of "newline" or hex rep of ">" which means elm idle?.


Really cant be sure whats going on without seeing another application read and a comparison of my own app.
..Annoys me that the elm protocol *seems* easier then ALDL.. but requires a bit of dicking around to get working.

Charles, got a I30 here as well, Guess I can try and communicate with that, no clue where the diagnostic port is on that, never looked to be honest.
Your Local Aussie Reverse Engineer
Contact for Software/Hardware development and Reverse Engineering
Site:https://www.envyouscustoms.com
Mob:+61406 140 726
Image
VX L67 Getrag
Posts: 2959
Joined: Sun Aug 02, 2009 9:16 pm
Location: Bayside, Melbourne, Victoria
Contact:

Re: ELM327 Software Development

Post by VX L67 Getrag »

I can try it here, but don't have any OBDII cars but I do have a bench pcm I can test on E55 Alloytec, I've just been super busy burning candle at both ends & haven't had a chance!
Post Reply