OBDX Development - Developer Tools and Suggestions
Re: OBDX Development - Developer Tools and Suggestions
We have success (kinda!).
I can now successfully connect via WIFI to the OBDX cables in MAUI by using the custom library I have built from IOS directly.
Now.. whats the catch? Well.. its only working if using Visual Studio on a MAC
I have not yet found a solution to compiling the code using the correct Microsoft.iOS.SDK as per a previous message. So it does work.. but... I need to somehow make the MAC VS compile using the SDK version used on windows, or somehow edit the DLL version to use the same as windows (Which may cause more problems).
Im just happy it works, and its proven a point that the factory socket implementation with microsoft does have some sort of flaw.
I can now successfully connect via WIFI to the OBDX cables in MAUI by using the custom library I have built from IOS directly.
Now.. whats the catch? Well.. its only working if using Visual Studio on a MAC
I have not yet found a solution to compiling the code using the correct Microsoft.iOS.SDK as per a previous message. So it does work.. but... I need to somehow make the MAC VS compile using the SDK version used on windows, or somehow edit the DLL version to use the same as windows (Which may cause more problems).
Im just happy it works, and its proven a point that the factory socket implementation with microsoft does have some sort of flaw.
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
Bit of late night research..
Came across this: https://github.com/xamarin/xamarin-macios/issues/17418
This is the exact problem I am coming across.
End result has basically indicated that developers will need to use a Mac if dealing with iOS library bindings.
Basically this means devs that want to use the WIFI connection with OBDX will have to build on a MAC. It also means I will need to make a dedicated template for iOS wifi since I cannot have the iOS library binding referenced in the windows visual studio templates since it results in it failing to build and run.
I’m not thrilled about the requirement of a Mac, but, it’s at least a solution for now.
Came across this: https://github.com/xamarin/xamarin-macios/issues/17418
This is the exact problem I am coming across.
End result has basically indicated that developers will need to use a Mac if dealing with iOS library bindings.
Basically this means devs that want to use the WIFI connection with OBDX will have to build on a MAC. It also means I will need to make a dedicated template for iOS wifi since I cannot have the iOS library binding referenced in the windows visual studio templates since it results in it failing to build and run.
I’m not thrilled about the requirement of a Mac, but, it’s at least a solution for 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
-
- Posts: 397
- Joined: Wed Jul 05, 2017 8:30 am
- cars: 2001 Pontiac Grand AM SE
LD9 2.4l I4, 4T40E
2005 Chevrolet Venture
LA1 3400 V6, 4T65E - Location: North TX, USA
Re: OBDX Development - Developer Tools and Suggestions
Looks like one more example of Apple's "Walled Garden" approach to their hardware and software development!
Mike
Mike
Re: OBDX Development - Developer Tools and Suggestions
Yeah kinda. Microsoft’s setup for it doesn’t help since they release a different SDK on the windows and MAC visual studio releases, which results in it being basically impossible to have both on the same version which is needed to even attempt running any of this on windows.MudDuck514 wrote:Looks like one more example of Apple's "Walled Garden" approach to their hardware and software development!
Mike
Basically.. even if I get it to run on windows… as soon as visual studio does its next update.. it will break the dll support and require it being updated again.
Now that I have proof that it fixed the socket connection, I’m wondering if that will encourage Microsoft to check their socket implementation in Maui.
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
Have had a bit more play with it today, and its definitely able to write data over a wifi socket now and also read new data in!
I going to mark the WIFI problem as solved now, the only down fall being the entire project will need to be loaded in Visual Studio MAC to run until microsoft consolidates both windows and Mac to use the same SDKs.
I honestly can't express how happy I am to see this working, I have been chasing this down for quite some months now!
With that now sorted, I can begin to look at migrating OBDXplorer onto phone apps too.
Before that, OBDXplorer does have a few patches to complete including fixing the units selection, adding a favorite's list and adding the framework of a histogram.
I going to mark the WIFI problem as solved now, the only down fall being the entire project will need to be loaded in Visual Studio MAC to run until microsoft consolidates both windows and Mac to use the same SDKs.
I honestly can't express how happy I am to see this working, I have been chasing this down for quite some months now!
With that now sorted, I can begin to look at migrating OBDXplorer onto phone apps too.
Before that, OBDXplorer does have a few patches to complete including fixing the units selection, adding a favorite's list and adding the framework of a histogram.
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
Awesome shite bro,
I'm still old school and love cables but I can feel your smile from here. Accomplishing something as big as this is awesome. Good on you
I'm still old school and love cables but I can feel your smile from here. Accomplishing something as big as this is awesome. Good on you
Re: OBDX Development - Developer Tools and Suggestions
I am still quite partial to wired connections too.In-Tech wrote:Awesome shite bro,
I'm still old school and love cables but I can feel your smile from here. Accomplishing something as big as this is awesome. Good on you
But it also depends on what the wireless option is being used for. I personally would never release an application that flashes anything that requires more then 5minutes via wireless simple due to knowing what my client base is like. When doing small changes like turning options on/off or reconfigurations, this typically completes in milliseconds which no risk of failing midway, where-as the full OS/Cal updates have a chance of being paused midway thus resulting in problems
Another good test is putting OBDXplorer onto the app since this has to process alot of live data fast, so it will be easy to tell looking at the PID per second to where it caps out.
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
Update to the FT and GT J2534 APIs which alter the timeout in the PassThruWrite command.
I have begun adding back in the debug logging into the APIs, just setting up the structure so that it adds all data to a queue which will then be processed by a background thread that will be signaled by the event to begin processing.
I have also added a OBDX MAUI template 2 which allows selecting between HSCAN, MSCAN, GMLAN, VPW and ALDL. This demonstration gives a basic overview of how to select the protocol and also set the correct filter for it.
I have begun adding back in the debug logging into the APIs, just setting up the structure so that it adds all data to a queue which will then be processed by a background thread that will be signaled by the event to begin processing.
I have also added a OBDX MAUI template 2 which allows selecting between HSCAN, MSCAN, GMLAN, VPW and ALDL. This demonstration gives a basic overview of how to select the protocol and also set the correct filter for it.
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
OBDX MAUI template 3 is uploaded, this is demonstrating using the modified J2534 standard so that J2534 devs can port across easier.
I say modified since the functions are made async, meaning you cannot use references (ref/out) in functions thus these variables must be part of the return. For this I am using a tuple which allows returning multiple variables at once. Overall, its not a huge change from the standard so its not too much of an edit to move dedicated J2534 routines to the MAUI app. I personally moved my own stuff for GM BCM flashing in about 20minutes
Next few templates are going to be demonstrating setting periodic frames, using the automatic frame detection/response and demonstrating how to stream raw OBD data to a scrolling box.
OBDXplorer is getting its first tastes of histogram. I am still kinda learning how they work, but we will have a variety of hard coded options, and eventually will add the ability to define custom ones. The biggest part here is the histogram needs to ensure specific PIDs have been selected for it to work, and if those PIDs are not available, then it should prevent showing those histogram options, which is what I am working on currently.
I say modified since the functions are made async, meaning you cannot use references (ref/out) in functions thus these variables must be part of the return. For this I am using a tuple which allows returning multiple variables at once. Overall, its not a huge change from the standard so its not too much of an edit to move dedicated J2534 routines to the MAUI app. I personally moved my own stuff for GM BCM flashing in about 20minutes
Next few templates are going to be demonstrating setting periodic frames, using the automatic frame detection/response and demonstrating how to stream raw OBD data to a scrolling box.
OBDXplorer is getting its first tastes of histogram. I am still kinda learning how they work, but we will have a variety of hard coded options, and eventually will add the ability to define custom ones. The biggest part here is the histogram needs to ensure specific PIDs have been selected for it to work, and if those PIDs are not available, then it should prevent showing those histogram options, which is what I am working on currently.
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
Probably the most productive day I have had in a while!
OBDXplorer now has:
1) Favorite's list to for quick PID selection
2) Histogram with pre-made selections
3) user definable parameters
This will then be the end of the basic layout design, which is the current 'tab based' setup.
Next to finish is the professional layout design which will allow for a graph, list, dash and histograms to popout onto a new form.
This will allow end users to setup the way they like and have multiple all at once.
Still lots to add including replay ability and external sensor logging!
OBDXplorer now has:
1) Favorite's list to for quick PID selection
2) Histogram with pre-made selections
3) user definable parameters
This will then be the end of the basic layout design, which is the current 'tab based' setup.
Next to finish is the professional layout design which will allow for a graph, list, dash and histograms to popout onto a new form.
This will allow end users to setup the way they like and have multiple all at once.
Still lots to add including replay ability and external sensor logging!
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