Software On ELM Street - OBD2 Software Development
Re: ELM327 Software Development
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
and I get back "0x00 0x48 0x6B 0x10 0x41 0x0C XX XX" where XX XX is the rpm
Re: ELM327 Software Development
mmm... its that 0x00.. that might be throwing it off, I have the serial port discard null bytes... lets turn that off..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
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
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

Contact for Software/Hardware development and Reverse Engineering
Site:https://www.envyouscustoms.com
Mob:+61406 140 726

-
- 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
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.
Re: ELM327 Software Development
Wooohoooooo!!!!! Great to hear.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.
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

Contact for Software/Hardware development and Reverse Engineering
Site:https://www.envyouscustoms.com
Mob:+61406 140 726

-
- 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
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.
And I did start the car to try and read RPM but nothing.
Re: ELM327 Software Development
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!
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

Contact for Software/Hardware development and Reverse Engineering
Site:https://www.envyouscustoms.com
Mob:+61406 140 726

- delcowizzid
- Posts: 5631
- Joined: Sat Feb 28, 2009 8:38 pm
- Location: Wellington NZ
- Contact:
Re: ELM327 Software Development
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
Re: ELM327 Software Development
haha suddenly the AVT protocol seems super easy to work with. first byte is the total num of bytes in the packet 

Re: ELM327 Software Development
*Sigh* Why cant the elm have something nice like that..Jayme wrote:haha suddenly the AVT protocol seems super easy to work with. first byte is the total num of bytes in the packet
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

Contact for Software/Hardware development and Reverse Engineering
Site:https://www.envyouscustoms.com
Mob:+61406 140 726

-
- Posts: 2959
- Joined: Sun Aug 02, 2009 9:16 pm
- Location: Bayside, Melbourne, Victoria
- Contact:
Re: ELM327 Software Development
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!