OBDX Development - Developer Tools and Suggestions

Programs / Tools / Scripts
User avatar
Tazzi
Posts: 3431
Joined: Thu May 17, 2012 8:53 pm
cars: VE SS Ute
Location: WA
Contact:

Re: OBDX Development - Developer Tools and Suggestions

Post by Tazzi »

MAUI template about to be uploaded!
Everything fell into line yesterday while testing and now have USB, BLE and classic bluetooth all working.

On an Android device, supported protocols currently are:
- USB
- Classic Bluetooth
- BLE

On an iPhone device, supported protocols currently are:
- BLE


Couple things to note on BLE:
1) Some android phones seem to allow updating the maximum transmission size (MTU) as my work phone allows going from 20bytes to 200bytes. Whereas the iphone seems to be fixed on 20bytes only.
2) The core currently will not split up arrays that are larger then the assigned MTU, this means anything larger then the MTU will fail to send. This will be addressed in an update.
3) BLE is not fast when dealing with large chunks. It is not suitable for reflashing situations.

WIFI is the next to attack (Again) after initial release.
It works fine on Android devices using basic .net socket libraries, but I will assume it is still failing on an iPhone. There have been several updates to the MAUI since last attempting, so there may have been a fix. Assuming not, I will need to create the wifi library in native iOS Swift code, then pInvoke the functions in MAUI.
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: 3431
Joined: Thu May 17, 2012 8:53 pm
cars: VE SS Ute
Location: WA
Contact:

Re: OBDX Development - Developer Tools and Suggestions

Post by Tazzi »

The plot thickens.
I now have 4 devs using MAUI on iOS which are able to connect via wifi on multiple iphones.

But I still cannot between 4 iphones that I have here.
It cannot be a permission issue since the phone displays the permission request.
It cannot be an iOS dev account permission, since the exact same account and permissions allowed are used on both MAUI IDE and iOS IDE, yet only the MAUI IDE causes the failed connection.

I am also using two different iOS developer accounts, both result in the same problem.

So... might be worth just adding wifi support and seeing if anyone else gets the same wifi issue, or if it is just me. :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: 3431
Joined: Thu May 17, 2012 8:53 pm
cars: VE SS Ute
Location: WA
Contact:

Re: OBDX Development - Developer Tools and Suggestions

Post by Tazzi »

For the devs that have asked about having the J2534 installers on git, here you go!

https://github.com/OBDXPro/J2534

Each installer can be downloaded individually like so: https://github.com/OBDXPro/J2534/raw/ma ... .0.1.4.exe

Or if targeting a specific release/commit, you can put a permanent download link to a specific release like so: https://github.com/OBDXPro/J2534/raw/ef ... .0.1.4.exe

All releases have the installer and DLL EV certificate signed.
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: 3431
Joined: Thu May 17, 2012 8:53 pm
cars: VE SS Ute
Location: WA
Contact:

Re: OBDX Development - Developer Tools and Suggestions

Post by Tazzi »

OBDX Windows will get some more templates in the coming days.
Common requests have been:
1) How to read a VIN from a GM canbus ECU
2) How to use SW CAN and MSCAN with the OBDX GT/FT
3) How to use periodic frames
4) How to process incoming frames based on interrupt/event
5) How to monitor all traffic in the car (full open all filters)
6) How to set multiple filters

I have also been requested for alot of things related to windows UI examples for doing things like adding tabs ect. Since these are not OBDX tool usage requests, these kinds of templates will not be provided since examples of UI options can be found online.
Some good UI elements for devs looking to make professional looking apps is from devcomponents and also devexpress. These are paid plugins, but are definitely worth it. OBDX uses devepress.

Examples of the above will also be made for MAUI as well, since it is basically copy/paste between windows and MAUI.

I did find a good MAUI plugin called Sharpnado.tabs which allows for very customizable tabs. This will be perfect in the MAUI examples to split up the home screen that I have created to allow making a news/scantool/vehicle tab to flick between on the home screen.

Do keep the requests coming through!
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: 3431
Joined: Thu May 17, 2012 8:53 pm
cars: VE SS Ute
Location: WA
Contact:

Re: OBDX Development - Developer Tools and Suggestions

Post by Tazzi »

MAUI template is (finally) up, had to make a few small alterations for things spotted by early testers.
https://github.com/OBDXPro/OBDX-Templates

This MAUI example does the same as the windows in terms of connecting to an OBDX Pro Scantool, setting CANbus protocol and communicating to the ECU.
The default connection is set to BLE, this will work on iphones and androids.

iOS does also have the option for Wifi, so far other developers have indicated it is working for them, but it does not personally work for me.
One thing to note for iOS is you cannot 'scan' for wifi connections available for OBDX tools, it will always return stating a tool is available and will try open a socket on the required IP/port address.

I will be following this tutorial shortly to bring over the ios wifi socket connection. Its the same process windows follows to create the base .netcore libraries, so it should work without a problem. Doing this will at least eliminate the chance of it failing for others too: https://learn.microsoft.com/en-us/xamar ... bs=windows
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: 3431
Joined: Thu May 17, 2012 8:53 pm
cars: VE SS Ute
Location: WA
Contact:

Re: OBDX Development - Developer Tools and Suggestions

Post by Tazzi »

6trillion errors later while trying to follow microsofts binding guides... and... we managed to compile and run the demo files.

It really should not have been that hard, but as always, theres things that have changed which result in examples no longer working so a bit of hackery is needed to get it running.

Things to note when following the example:
1) Everything has be set as public so it is accessible
2) You must make sure you set the targeting point to at least the minimum that Xcode is currently supporting (11 for me).
3) Must compile the using visual studio on MAC, you cannot compile on Visual Studio Windows since it then asks to be paired with a MAC to compile correctly. It does compile, but theres no objects inside of the DLL to use.

From here, I am going to introduce the required native objects to create a socket connection. I will first start with making the socket object and trying to open the connection.
If it returns back successful, then we know we are onto a winner!
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
Gatecrasher
Posts: 274
Joined: Sat Apr 25, 2020 6:09 am

Re: OBDX Development - Developer Tools and Suggestions

Post by Gatecrasher »

You're a legend. Tazzi. I hope you know that.
DethRattles
Posts: 174
Joined: Wed Apr 05, 2023 11:38 am
cars: 2004 Grand am gt

Re: OBDX Development - Developer Tools and Suggestions

Post by DethRattles »

Definitely a legend, i'd like to know how to get tech2 running on the obdx pro vt if at all possible. I have tech 2 running because of my dxdiag nano. I'd love to write in my 2004 Pontiac Grand Am GT and would like some suggestions on how what all fuses to pull to make that possible. I tried the radio but it would be nice if you had a support page that told of what to remove from each car to make writing possible. Do you have a support thread on here by chance yet?
User avatar
Tazzi
Posts: 3431
Joined: Thu May 17, 2012 8:53 pm
cars: VE SS Ute
Location: WA
Contact:

Re: OBDX Development - Developer Tools and Suggestions

Post by Tazzi »

The OBDX Pro VT does work with Tech2win. You have to install the required Tech2win D-PDU api from the OBDX Pro downloads page.

I think I had some success today with porting the native socket code. It at least compiled and when running it in the iPhone, it say it connected successfully. I basically just made it return a 0 for failed and 1 for success if the native library indicated successful connection. I unfortunately don’t know if it actually did since I don’t have a debug running on the OBDX Pro tool currently, but I’ll be able to test sending data tomorrow to see if it picks it up as the blue flashed led will go solid if it does actually receive anything.

Assuming it all works, I will only need to add the functions for checking connection status, open/close, read data and write data.
Your Local Aussie Reverse Engineer
Contact for Software/Hardware development and Reverse Engineering
Site:https://www.envyouscustoms.com
Mob:+61406 140 726
Image
DethRattles
Posts: 174
Joined: Wed Apr 05, 2023 11:38 am
cars: 2004 Grand am gt

Re: OBDX Development - Developer Tools and Suggestions

Post by DethRattles »

Tazzi wrote:The OBDX Pro VT does work with Tech2win. You have to install the required Tech2win D-PDU api from the OBDX Pro downloads page.

I think I had some success today with porting the native socket code. It at least compiled and when running it in the iPhone, it say it connected successfully. I basically just made it return a 0 for failed and 1 for success if the native library indicated successful connection. I unfortunately don’t know if it actually did since I don’t have a debug running on the OBDX Pro tool currently, but I’ll be able to test sending data tomorrow to see if it picks it up as the blue flashed led will go solid if it does actually receive anything.

Assuming it all works, I will only need to add the functions for checking connection status, open/close, read data and write data.
I downloaded the tech2 win from your site but tech2win is blank when it comes to choose interface..what should i do? running windows 11, my dxdiag nano worked with it but i'm planning on selling it if tech2win works. Also obdxexplorer closes out when i choose Fahrenheit in engine coolant live data and hit start.
Post Reply