I added to Battery Total Voltage parameter to http://www.myoutlanderphev.com/forum/viewtopic.php?f=10&t=1796&p=19568#p19568
BTW: I already have a solution that retrieves various parameters from various ECU's and transforms that into a dashboard. It is even capable of storing the captured data into a CSV file (in its original HEX format), so you can later analyse it (never done that yet ;-) ). Problem is: as I had no idea how to build an Android or iOS app, I took a huge detour in getting there, making it virtually impossible to share the solution as such.
I have bought a Raspberry PI and installed a home made multi threaded Java application, a web server and some other stuff. One thread of the Java program continuously reads data from the OBDII dongle and stores the data in a shared location in memory. The other thread services requests for data from a web page on my iPhone, by getting the data from the shared memory location and sending it to the web page using Web Sockets.
The reason for doing so, is that (in theory) you get a beter overall performance. With a single thread, you send a request, wait for the OBDII dongle to respond, send the response to the phone, wait for the phone to process the data and come up with a new request. Waiting periods are sequential. With my solution, waiting periods are in parallel.
The two threads work together, in the sense that only data that was requested by the web page will be requested from the OBDII dongle. That way, you do not have to read out all ECU’s in every sweep, and refresh time is dramatically reduced (now between 0.5 and 1 second for a decent dashboard).
The Java application uses two config CSV files, one with addresses of various ECU's and the other with the various parameters that I have been able to identify so far. So, it is rather flexible.
Existing solutions, like DashCmd or TorquePRO will not do it, for two reasons:
- They cannot handle setting up the necessary flow control for the PHEV ECU's
- The different ECU's use the same mode and pit for their requests and responses. Requests 1201 and 1202 are valid for all of them. But DashCmd and TorquePRO cannot tell the responses apart, as they ignore the sender address. So, these apps could not tell the RPM of the front E-motor apart from the RPM of the rear E-motor.
I think existing solutions could work if there was a man-in-the-middle that captures and manipulates traffic between the app and the OBDII dongle. It would have to insert ATFCSH commands to configure flow control, whenever another ECU is targeted by the app, and it would have to remap the 1201 and 1202 request numbers. But even then, I think it will be to slow due to the sequential waiting times.
I think it would be absolutely great if somebody (gwatpe?) could pick up my stuff and transform it into an app (iPhone, Android, or whatever) that doesn’t require a Raspberry PI as an extra component. If gwatpe or somebody else wants to have a shot at it, let me know, and I’ll share as much as possible / time allows, but via email as that works much better, I think.