OBDX Development - Developer Tools and Suggestions
Re: OBDX Development - Developer Tools and Suggestions
We are still progressing along the remote J2534 API train.
We have it communicating with basic commands currently along with validating client/host sessions ect. Extremely close now!
We have it communicating with basic commands currently along with validating client/host sessions ect. Extremely close now!
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
- antus
- Site Admin
- Posts: 8253
- Joined: Sat Feb 28, 2009 8:34 pm
- cars: TX Gemini 2L Twincam
TX Gemini SR20 18psi
Datsun 1200 Ute
Subaru Blitzen '06 EZ30 4th gen, 3.0R Spec B - Contact:
Re: OBDX Development - Developer Tools and Suggestions
Damn what a cool thing, love it!
Have you read the FAQ? For lots of information and links to significant threads see here: http://pcmhacking.net/forums/viewtopic.php?f=7&t=1396
Re: OBDX Development - Developer Tools and Suggestions
Thanks!antus wrote:Damn what a cool thing, love it!
So far it seems to be working quite smoothly, hence have gone above and beyond to try keep the UI easy to follow.
Its now a slightly simpler design: I hooked up my PC to my phones hotspot, and the round trip from me to the client and back through the server was around 210ish ms.
This ends up around 105ish ping which I think is pretty incredible to a server on the other side of Aus over cellular.
Anyways, todays job is to try have have some J2534 applications load up data from some parts and get to their calibration screens.
If successful, this means we are ready to do some full flashes!
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
Re: OBDX Development - Developer Tools and Suggestions
Thinking about it all... J2534 devs could maximise throughput by queueing up messages to send in one request.
For instance queue up 100 requests which may be used to read an ECUs memory, and send the received data back as it comes in.
This would mean 100x less requests made to the client. With an average of 110ms, that would be around 10seconds saving time. It would actually end up being even more then that as there would be no wasted time between requests on the client side.
This could then be extended to a queue of J2534 commands to be run all in a row. Infact, could request Open, Connect, SetFilter, IOCtrl, WriteMsg and ReadMsg all in one transmit from the host to the client.
Basically, a dev could almost upload and entire flash routine in a single hit, and then just monitor the responses back for each command. The only time where interaction would be needed is obviously when seeing an error code or calculating something from read code specifically (Even that could be automated technically).
For instance queue up 100 requests which may be used to read an ECUs memory, and send the received data back as it comes in.
This would mean 100x less requests made to the client. With an average of 110ms, that would be around 10seconds saving time. It would actually end up being even more then that as there would be no wasted time between requests on the client side.
This could then be extended to a queue of J2534 commands to be run all in a row. Infact, could request Open, Connect, SetFilter, IOCtrl, WriteMsg and ReadMsg all in one transmit from the host to the client.
Basically, a dev could almost upload and entire flash routine in a single hit, and then just monitor the responses back for each command. The only time where interaction would be needed is obviously when seeing an error code or calculating something from read code specifically (Even that could be automated technically).
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
- antus
- Site Admin
- Posts: 8253
- Joined: Sat Feb 28, 2009 8:34 pm
- cars: TX Gemini 2L Twincam
TX Gemini SR20 18psi
Datsun 1200 Ute
Subaru Blitzen '06 EZ30 4th gen, 3.0R Spec B - Contact:
Re: OBDX Development - Developer Tools and Suggestions
You are almost describing TCP data connections, and TCP Window size where the packets keep going out, and can get up to <window size> ahead of the Acks coming back. And if a packet is dropped the receiver can say resend from packet X. The routers don't need to cache packets of up to <window size> count, thats in the client PC network stack so does cost memory for each connection. And window size is self scaling to limits that can be configured for longer / more laggy connections. Like anything I guess there are ways, and things that could be done but J2534 is complicated enough without making it more complicated where this was never an envisaged use case.
Have you read the FAQ? For lots of information and links to significant threads see here: http://pcmhacking.net/forums/viewtopic.php?f=7&t=1396
Re: OBDX Development - Developer Tools and Suggestions
Thats right, this is way out of the scope of what J2534 was suppose to do. But, if theres one thing I have learnt when dealing with J2534 and developers, is they are always looking to push things to the edge as they have been so limited for so long.
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
- antus
- Site Admin
- Posts: 8253
- Joined: Sat Feb 28, 2009 8:34 pm
- cars: TX Gemini 2L Twincam
TX Gemini SR20 18psi
Datsun 1200 Ute
Subaru Blitzen '06 EZ30 4th gen, 3.0R Spec B - Contact:
Re: OBDX Development - Developer Tools and Suggestions
Damn right, thats pretty much what pcmhacking is all about! And now that J2534 has moved beyond factory tools to the wider aftermarket, internet connectivity is widely available remote access makes a lot of sense.
Have you read the FAQ? For lots of information and links to significant threads see here: http://pcmhacking.net/forums/viewtopic.php?f=7&t=1396
- oldtinfords
- Posts: 27
- Joined: Sun Jun 25, 2017 8:22 pm
Re: OBDX Development - Developer Tools and Suggestions
Looks great! I can't wait to try it
Re: OBDX Development - Developer Tools and Suggestions
Thats it!antus wrote:Damn right, thats pretty much what pcmhacking is all about! And now that J2534 has moved beyond factory tools to the wider aftermarket, internet connectivity is widely available remote access makes a lot of sense.
I have started putting together a little 'advanced' menu that can allow setting up the tool to do automatic tester present messages and things like that. So even if dealership software does not enable this, it could be controlled manually by the tool itself meaning any big latency will not cause a problem
I left my phone hot spot to my computer for a bit over an hour, and the average ping was around 100ms to a server in sydney (from WA) while it did a constant back and forth between client and host. The highest round trip time was 280ms, where the average was around 205ish. This is obviously in the middle of suburbia where reception is strong though. I don't expect people to be using cellular, but in the event a customer is using cellular, its nice to be prepared.
While the latency testing was going on, I carried on with ensuring credentials were never stored (token base) and finalised the UI design. This will likely be the final setup of the UI which I am happy with. Everything from here onwards is in the backend of the application/server to make it as seamless as possible.
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
Re: OBDX Development - Developer Tools and Suggestions
I see it now, a new generation of keyboard tuners relaxing on their yachts in some exotic bay satellite tuning with their youtube education.
I gotta admit though what you are doing is extremely cool out of the box thinking ...
I just don't like the down side of it, it's gonna get used, misused and abused!
But it is what it is and it's where this new world is ...
-Enjoy
I gotta admit though what you are doing is extremely cool out of the box thinking ...
I just don't like the down side of it, it's gonna get used, misused and abused!
But it is what it is and it's where this new world is ...
-Enjoy
Intelligence is in the details!
It is easier not to learn bad habits, then it is to break them!
If I was here to win a popularity contest, their would be no point, so I wouldn't be here!
It is easier not to learn bad habits, then it is to break them!
If I was here to win a popularity contest, their would be no point, so I wouldn't be here!