Android CAN Monitoring App

Mitsubishi i-MiEV Forum

Help Support Mitsubishi i-MiEV Forum:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.
@gary: what you send has the right structure,
but I must adapt the app to receive a regular flow from another app instead of a BT can interface.

the yellow number at bottom center is the fps (used frames /sec) counter. nominal values are 170 for the main app and 100 for the batt app.

regarding BT speed, AFAIK , the bps are important only in your dev, the bt interfaces will sync automatically.

edit: I will try a variant, but I need some logs (the dropbox links from jjlink are dead, the weather here is bad and I don't feel like making logs now).
 
The "short" CAN log that you sent to me is one that
I have been using for testing.

Did you send a link in a PM to me?

I am willing to post some iON and some iMiEV logs
on my web site, if I have permission from the "owner".
 
Using the delay-between-messages feature, you should be able
to slow down the message rate to one that your app can handle.

If you add a checkbox, or setup option,or another startup
question to your app, to allow the user to bypass the setup
of the OBDLink, then that might be easiest.

If your app is sending AT commands, and waiting for the
responses, I might be able to receive those commands
in CAN-Do, and send the correct responses. Of course,
I would need to know the right answers, but I should be
able to get those from my OBDLink SX, right?

If I do it correctly, I would even get the list of filters that
you are using. What is the maximum number of filters?

Thanks for your continued help, Gary
 
hello

I made a test with a variant of my app from the last log from jjlink.

it will work: using cando, I could send data & receive them from android, but what you are sending is mixed.

I receive well formed frames ,
the ID are OK
but the bytes are wrong
look at this example:
here is the original : (spaces are added for clarity)
412 FF FF 00 39 79 00 01 12
here is what I receive:
412 0F 0F 00 03 07 00 01 01

it seems the first part of each byte is lost
 
garygid said:
...
If you add a checkbox, or setup option,or another startup
question to your app, to allow the user to bypass the setup
of the OBDLink, then that might be easiest. ...

it was solved like this:
the app checks if exists "simult.txt" in the log folder
if yes , it bypasses the init sequence.
"simul.txt" contains a magic sentence : "please, say hello to Gary" (no that's a joke)
 
Fixed the wrong-data:
www.wwwsite.com/puzzles/cando/CAN-Do-v200.zip

Is your app (that looks for the simul.txt file) available?

I was just getting the comands that your program sends
out to do the OBDLink Setup.
 
the app checking "simul.txt" is here

it was really tested, and I just removed now all the debugging (quite heavy load).

just add a file named simul.txt in folder BT_CAN.


I will check tomorrow with cando200
 
cando200 tested with canion42: OK (but the FPS is too slow, even using 1mS delay, I get max 62 fps).

this was tested on my main pc using a very cheap usb_BT adapter.
I will test on a laptop with a probably better BT adapter.

regarding SoC instead of Alt , I agree.

also, I imagine to make a panel for the ongoing trip, showing:
Time
Distance
Avg Speed
WH used
Avg WH/KM

this panel would take the place of the graph when touching the graph, and viceversa.

simulation mode:
I imagine, when starting the app, to show in the middle of the screen, a panel with 2 buttons "Real" & "Replay",
if no action within 5 sec, it would activate "real" and disappear.

comments are most welcome...
 
magnifique !!!

I used your CaniOn42 (and a simul.txt file in BT_CAN) and then
sent OBDLink-format log messages from CAN-Do v200 via a
BT dongle (BTD-V201) ... and watched the data on my Android tablet.

Way COOL, my first real success with BT.

The Send Delay in CAN-Do can be reduced to zero.

Thanks, for sharing this nice experience, mon ami :D
 
I would like to try the Android cell-voltage App
with a "simul" mode, if possible, please.

A third mode for demonstrations would be a "local"
or "playback" mode, where a local CAN-Do Log file is
read by the App, instead of reading from Bluetooth.

The local mode would be good for testing, and great
for showing others what you have accomplished.
 
The CAN-Do ".can" log file has 12 bytes per Message.

1. 2 bytes for a seconds and milliseconds time-stamp
2. 2 bytes for the MsgID and "N"
3. 8 bytes for the data

The time-stamp is Seconds * 1024 + milliseconds, where
the seconds are 0 through 59, and the ms are 0 through 999.

The next two bytes are 4 nibbles (LL NH) , where the
MsgID is HLL and the N is the number of data bytes
that are actually used. Usually N is 0 through 8, but
it can be 0xF for Pseudo-Messages, which all have
8 data bytes.

A typical Pseudo-Message is the Date-Time message
that CAN-Do inserts once a minute.

When the message data was less than 8 bytes,
CAN-Do fills the remaining bytes with 0xFF, so
that the Log records are easier to read.

So, just read 12 bytes, check the third for the low
order byte of the MsgID that you want. If it is,
then check the low nibble of the 4th byte.
But, you already knew that, right? :D :D
 
ok
I will do that
a) adapt for replay cell app will be easy.
b) read a local file should be not too difficult also.
can you prepare one containing only:
298
346
373
374
412
6Ex family
 
I made another variant here
it allows also the replay using the simul.txt file.

when touching the graph, we get this:
ionxxx.png


when touching again the center panel, we switch back to the graph

the calc distance is made by integration from Motor_RPM, using an experimental factor.

@john : could you check if this app is stable & accurate ?
the fps should be 180.
if yes, it will be possible to adapt from metric system to miles for instance.

ps: the actual layout is just a trial.
 
I am thinking that I will use the list of MsgIDs on the right side
of the Main screen, allowing the user to single-click to select a
MsgID, and double-click to list a single MsgID's log messages.

I will add a button to list the messages from all the selected
MsgIDs. Thus, one might select 6E1, 6E2, 6E3, and 6E4 and then
list just those messages. That should be a helpful function
when groups of MsgIDs are related, or for a Request and a
Response.

Then, I will use the same selected MsgIDs to decide which
messages to Send via the "simulation" (Bluetooth) connection.

Yes, I should put that list of selected MsgIDs into the INI File,
(after I get the multi-MsgID Listing and Sending both working).

Does that sound workable?
Thanks, Gary
 
1. For readability, you might add a space or two before the entry,
Time, Distance, etc. in the alternate center "table".

2. On my 8-inch Vizio Android tablet, the VALUES on the left-side
list, below the top Speed value, do not appear to scale up as large
on my screen as they appear on your picture above. These font
sizes did not scale up in previous versions either.

Cheers, Gary
 
priusfan said:
I made another variant here
it allows also the replay using the simul.txt file.

when touching the graph, we get this:


when touching again the center panel, we switch back to the graph

the calc distance is made by integration from Motor_RPM, using an experimental factor.

@john : could you check if this app is stable & accurate ?
the fps should be 180.
if yes, it will be possible to adapt from metric system to miles for instance.

ps: the actual layout is just a trial.


The fps is usually around 178 or over 180, however once in a while it drops all the way down to zero and the app appears to hang. I press the stop button, and after a while it lights up, but it takes a long while then it closes the app. So its not really stable at this point.
 
Back
Top