OBDX Development - Developer Tools and Suggestions

Programs / Tools / Scripts
User avatar
Tazzi
Posts: 3626
Joined: Thu May 17, 2012 10:53 am
cars: VE SS Ute
Location: WA

Re: OBDX Development - Developer Tools and Suggestions

Post by Tazzi »

Gampy wrote:I just don't like the down side of it, it's gonna get used, misused and abused!
Its always a constant battle to prevent mis-use on anything. I am just hoping that people will follow the reputation of a technician rather then who ever is just cheapest (Although this is bound to happen).

At least this is providing a more stable and reliable platform to work off. I am using fast and reliable servers/tech to pull this off... so theres no half assed shit here.

I have already been contacted by shops which do 'remote tunes'. What makes this difference is live/instantaneous feedback, that allows a more tailored tuning experience. Along with not requiring expensive tools either!
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
Tazzi
Posts: 3626
Joined: Thu May 17, 2012 10:53 am
cars: VE SS Ute
Location: WA

Re: OBDX Development - Developer Tools and Suggestions

Post by Tazzi »

Such a good feeling to see this working! There’s at least 30+k lines of code running just it handle all the j2534 commands and obdx command set. This is small in compared to say, obdxplorer, but, this is doing something that’s far more complex.

I’ll get a video hopefully this week flashing an ECM or BCM over the web.

Currently the API is setup to only expect the OBDX Pro GT, but will update the API to suit the GT, FT, VX and VT over the coming days.

Currently the Programmers interface pops up after the j2534 program executed the PassThruOpen command which should be the first command any j2534 application runs.

Once the programmer screen is open, this is where the clients ID can be entered to start. Once connected, this screen remains open to allow using the inbuilt chat option to communicate with the client.

One thing I need to sort out is an automated way to test ping prior to connecting to the socket server.

*Edit
Just found a perfect free service online to test ping!
This site allows testing each servers ping: https://www.azurespeed.com/Azure/Latency

Looking at the network requests made, we see the following:
https://s3australiaeast.blob.core.windo ... -test.json
https://s8centralus.blob.core.windows.n ... -test.json
https://s8eastus.blob.core.windows.net/ ... -test.json

I was planning to do the same with serverless apps, but.. since this already exists and free, might as well use it! :thumbup:
Your Local Aussie Reverse Engineer
Contact for Software/Hardware development and Reverse Engineering
Site:https://www.envyouscustoms.com
Mob:+61406 140 726
Image
In-Tech
Posts: 785
Joined: Mon Mar 09, 2020 6:35 am
Location: California

Re: OBDX Development - Developer Tools and Suggestions

Post by In-Tech »

A bit off topic, remote diagnostics is just as useful as remote tuning. A race engine I tuned on the dyno a week ago Saturday/Sunday/Monday got to the races last weekend and without being there, we got it fixed because he was able to send me logs :thumbup:
Winner.jpeg
You do not have the required permissions to view the files attached to this post.
User avatar
Tazzi
Posts: 3626
Joined: Thu May 17, 2012 10:53 am
cars: VE SS Ute
Location: WA

Re: OBDX Development - Developer Tools and Suggestions

Post by Tazzi »

In-Tech wrote:A bit off topic, remote diagnostics is just as useful as remote tuning. A race engine I tuned on the dyno a week ago Saturday/Sunday/Monday got to the races last weekend and without being there, we got it fixed because he was able to send me logs :thumbup:
Thats amazing! Its success stories like these which motivate me further :D
Your Local Aussie Reverse Engineer
Contact for Software/Hardware development and Reverse Engineering
Site:https://www.envyouscustoms.com
Mob:+61406 140 726
Image
oldtinfords
Posts: 49
Joined: Sun Jun 25, 2017 10:22 am

Re: OBDX Development - Developer Tools and Suggestions

Post by oldtinfords »

Tazzi wrote: I’ll get a video hopefully this week flashing an ECM or BCM over the web.

Currently the API is setup to only expect the OBDX Pro GT, but will update the API to suit the GT, FT, VX and VT over the coming days.
If you're wanting to test programming a BA Falcon PCM on the bench remotely when the FT API is ready, let me know & we can work something out.
I've got a couple of old PCM's sitting there & the OBDX Pro FT. Could also connect up a few other modules.
User avatar
Tazzi
Posts: 3626
Joined: Thu May 17, 2012 10:53 am
cars: VE SS Ute
Location: WA

Re: OBDX Development - Developer Tools and Suggestions

Post by Tazzi »

oldtinfords wrote: If you're wanting to test programming a BA Falcon PCM on the bench remotely when the FT API is ready, let me know & we can work something out.
I've got a couple of old PCM's sitting there & the OBDX Pro FT. Could also connect up a few other modules.
Sweet, the more the merrier.
Ill be doing a bunch of tests on my bench but bouncing off a server on the eastern states, so I should be able to thoroughly test before getting someone to hookup on their end.
But it will be a good test to see how you interact with the actual OBDX Pro Remote Client application.

The main tests I want to do for the FT will be using FJDS and also PCMTec. If I am able to read/write using both of those, then that is a massive win.
Your Local Aussie Reverse Engineer
Contact for Software/Hardware development and Reverse Engineering
Site:https://www.envyouscustoms.com
Mob:+61406 140 726
Image
oldtinfords
Posts: 49
Joined: Sun Jun 25, 2017 10:22 am

Re: OBDX Development - Developer Tools and Suggestions

Post by oldtinfords »

Tazzi wrote:
oldtinfords wrote: If you're wanting to test programming a BA Falcon PCM on the bench remotely when the FT API is ready, let me know & we can work something out.
I've got a couple of old PCM's sitting there & the OBDX Pro FT. Could also connect up a few other modules.
Sweet, the more the merrier.
Ill be doing a bunch of tests on my bench but bouncing off a server on the eastern states, so I should be able to thoroughly test before getting someone to hookup on their end.
But it will be a good test to see how you interact with the actual OBDX Pro Remote Client application.

The main tests I want to do for the FT will be using FJDS and also PCMTec. If I am able to read/write using both of those, then that is a massive win.
Cool. Being able to use FJDS & PCMTec with the remote client will be very handy. I've got both.

PCMtec have just added download links for the OBDX cable test group.
You do not have the required permissions to view the files attached to this post.
User avatar
Tazzi
Posts: 3626
Joined: Thu May 17, 2012 10:53 am
cars: VE SS Ute
Location: WA

Re: OBDX Development - Developer Tools and Suggestions

Post by Tazzi »

oldtinfords wrote:Cool. Being able to use FJDS & PCMTec with the remote client will be very handy. I've got both.

PCMtec have just added download links for the OBDX cable test group.
Excellent! Great to see!

I am almost certain I am going to piss off some more big companies. I had multiple screen shots sent to me today of a company offering a remote programming tool and charging $95-150usd per remote programming session.

Our licensing will be per scantool per year. So getting an entire year worth of remote capabilities would make itself worth while after using it once :lol:
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
Tazzi
Posts: 3626
Joined: Thu May 17, 2012 10:53 am
cars: VE SS Ute
Location: WA

Re: OBDX Development - Developer Tools and Suggestions

Post by Tazzi »

Damn I really geek out when I do some cool programming routines 8-) :lol:
The J2534 DLLs are basically unmanaged libraries where you p/invoke the functions to be able to use them.
What happens here, is the actual J2534 DLL isn't consumed in a normal manner, and can struggle to work out 'where' any of its external dependencies may be.

For example, I required several files not part of the standard .netframework library, so when these DLLs are to be used, it does not know where to look for the DLL and will throw an error saying it cannot find it and crashing the application.

The solution sounds kinda obvious, but its not something thats very documented or used for that matter. Basically the application can be setup to capture the error in an event which offers the chance to load the required dependency in. Which this ability, we can store our required dependency DLL as an embedded resource and then load manually. What makes this cool, is the fact that every single DLL used could be stored internally which ensures that no missing DLLs ever occur (antivirus deleting or file moved).

Anyways, it is a big step forward here. The OBDX Pro Remote Programmer panel is less fancy then the client one, but this was simply due to trying to reduce the resources I needed to consume from the above issue.
I have tried to keep this as simple as humanly possible, there is literally 4 steps:
1) Enter client session ID to connect
2) License scantool if you have not already
3) When ready to proceed with the J2534 software, click the giant button labelled "click to proceed with J2534 Application Session".

I have added the last step so that a programmer can provide instructions to a client first before proceeding with the session such as turn ignition off/on, or inform them if their battery voltage is too low.
Otherwise situations such as a custom not having the ignition on can occur.
Remote6.png
You do not have the required permissions to view the files attached to this post.
Your Local Aussie Reverse Engineer
Contact for Software/Hardware development and Reverse Engineering
Site:https://www.envyouscustoms.com
Mob:+61406 140 726
Image
oldtinfords
Posts: 49
Joined: Sun Jun 25, 2017 10:22 am

Re: OBDX Development - Developer Tools and Suggestions

Post by oldtinfords »

It's awesome how quickly you're advancing the whole remote client & remote programming capability :o