Pages: [1] 2
Author Topic: Portable ME7 logging project  (Read 4113 times)
elRey
Hero Member
*****

Karma: +20/-0
Offline Offline

Posts: 530


« on: May 02, 2017, 07:42:06 AM »

Ok, I want to look into building a dedecated logging device around ME7Logger and the Raspberry Pi Zero W running Raspbian Jessie lite. No screen (headless). Something used for data collection while on the track. One button push to start/stop logging, a couple of leds to display status of logging. Either bluetooth or wifi connection to download data and select logging cfg file.

If logging stopped for any reason other than pressing button, it would auto-restart logging to same file again, assuming nothing wrong (no disk space etc).

And later, wireless viewing of data in graph/gauge style via phone either realtime or as playback. <- only as second function, not main purpose of device.

Ideally, it would incorporate the ftdi so there would be no need for a cable.

I have plenty of hardware to build and test. I would like guidence as I try this.

Thanks,
Rey
Logged
prj
Hero Member
*****

Karma: +269/-15
Offline Offline

Posts: 3374


« Reply #1 on: May 02, 2017, 05:13:32 PM »

I think someone posted some python stuff here to do the dynadefine, no?
For a Pi I believe.
Logged
nyet
Administrator
Hero Member
*****

Karma: +385/-44
Offline Offline

Posts: 8817


WWW
« Reply #2 on: May 02, 2017, 05:20:23 PM »

cloned here: https://github.com/nyetwurk/mmll

trichards started the effort. I never got any of it working right.
Logged

ME7.1 tuning guide (READ FIRST)
ECUx Plot
ME7Sum checksum checker/corrrector for ME7.x

Please do not ask me for tunes. I'm here to help people make their own.

Do not PM me technical questions! Please, ask all questions on the forums! Doing so will ensure the next person with the same issue gets the opportunity to learn from your experience.
prj
Hero Member
*****

Karma: +269/-15
Offline Offline

Posts: 3374


« Reply #3 on: May 02, 2017, 05:58:37 PM »

I have some C code I don't mind posting.
I think it has the initial handshake and dynadefine working, but not much else.

Logged
elRey
Hero Member
*****

Karma: +20/-0
Offline Offline

Posts: 530


« Reply #4 on: May 02, 2017, 06:30:23 PM »

Great. Thanks for the info and offers. I'll dive into right now.
Logged
elRey
Hero Member
*****

Karma: +20/-0
Offline Offline

Posts: 530


« Reply #5 on: May 02, 2017, 08:13:41 PM »

Crap, so no ME7Logger for ARM processors at this time. When I read author added a linux port, I assumed it was ready to drop on the Raspberry
pi. Very ignorant of me. The link was an attempt at a rewrite of ME7Logger in python.

If, and I mean IF that mmll is better than being half baked, I'll put some effort into it. But to be honest, I don't know if I could do any better.

prj, is his handshake far off? I don't current have a sniffer.

Thanks,
Rey
Logged
nyet
Administrator
Hero Member
*****

Karma: +385/-44
Offline Offline

Posts: 8817


WWW
« Reply #6 on: May 02, 2017, 08:28:03 PM »

Crap, so no ME7Logger for ARM processors at this time. When I read author added a linux port

There was a binary only arm library floating around, but nobody ever got anything done with it.

I have some C code I don't mind posting.
I think it has the initial handshake and dynadefine working, but not much else.

Better than nothing!

Thanks a ton, prj, I really do appreciate it, even if we don't always see eye to eye on ideological issues Smiley
Logged

ME7.1 tuning guide (READ FIRST)
ECUx Plot
ME7Sum checksum checker/corrrector for ME7.x

Please do not ask me for tunes. I'm here to help people make their own.

Do not PM me technical questions! Please, ask all questions on the forums! Doing so will ensure the next person with the same issue gets the opportunity to learn from your experience.
prj
Hero Member
*****

Karma: +269/-15
Offline Offline

Posts: 3374


« Reply #7 on: May 03, 2017, 03:56:11 AM »

I have not looked at the python project at all.
You don't need to sniff anything either, there are documents that document exactly what to do.

Also there are full logs posted on this forum by setzi62 and some others when ME7Logger was being developed.
It contains exact info on what to do.

From memory it's:
1. Wake it up
2. Negotiate comm timings/speed (it's important here, to get fast rates).
3. Initiate development session
4. Search for a certain pattern in RAM using ReadMemoryByAddress
5. Use WriteMemoryByAddress to modify the dynadefine pointer
6. Use WriteMemoryByAddress to dump the array of values logged at dynadefine pointer.
7. Repeatedly run the read by identifier command and parse the data.

This is if you need more than a certain amount of values.
If you don't need a lot of them, you can just dynadefine by protocol without the writememory hack. I think it takes up to 20 variables by default in the first identifier? Or maybe 10?

Look at the MED9 FR, it tells you exactly how to do all this.
Then get ECU on bench and just play with it.
Logged
elRey
Hero Member
*****

Karma: +20/-0
Offline Offline

Posts: 530


« Reply #8 on: May 03, 2017, 06:01:32 AM »

Perfect. thank you. I read some of those first steps in a k-line bus pdf. I just hope python on a rpi is stable enough (timing wise) for a solid connection/read session.
Logged
prj
Hero Member
*****

Karma: +269/-15
Offline Offline

Posts: 3374


« Reply #9 on: May 03, 2017, 08:17:54 AM »

No one is stopping you from writing it in C.
Logged
nyet
Administrator
Hero Member
*****

Karma: +385/-44
Offline Offline

Posts: 8817


WWW
« Reply #10 on: May 03, 2017, 09:30:19 AM »

I would ditch the python and do it all in C as well.
Logged

ME7.1 tuning guide (READ FIRST)
ECUx Plot
ME7Sum checksum checker/corrrector for ME7.x

Please do not ask me for tunes. I'm here to help people make their own.

Do not PM me technical questions! Please, ask all questions on the forums! Doing so will ensure the next person with the same issue gets the opportunity to learn from your experience.
nyet
Administrator
Hero Member
*****

Karma: +385/-44
Offline Offline

Posts: 8817


WWW
« Reply #11 on: May 03, 2017, 09:33:22 AM »

Also, I would make it compatible with ME7Info output and ME7L config files.

I am willing to test and make sure it compiles on a x86/amd64 linux machine with a ftdi cable.

I do not have a working pi floating around atm.

If you get basic code working, I will definitely help.
Logged

ME7.1 tuning guide (READ FIRST)
ECUx Plot
ME7Sum checksum checker/corrrector for ME7.x

Please do not ask me for tunes. I'm here to help people make their own.

Do not PM me technical questions! Please, ask all questions on the forums! Doing so will ensure the next person with the same issue gets the opportunity to learn from your experience.
prj
Hero Member
*****

Karma: +269/-15
Offline Offline

Posts: 3374


« Reply #12 on: May 03, 2017, 10:04:07 AM »

The reason it makes better sense in C, is that it is a lot easier to write stuff in C that interacts with raw data and hardware.
You can strongly type everything and so on. Python will be a giant hack for something like this IMO.
Logged
nyet
Administrator
Hero Member
*****

Karma: +385/-44
Offline Offline

Posts: 8817


WWW
« Reply #13 on: May 03, 2017, 10:09:33 AM »

Also, ME7Sum has some pattern matching functions in C applicable to ME7 which might help. Granted, it is oriented to flash contents and not RAM contents, but the principle is the same.
Logged

ME7.1 tuning guide (READ FIRST)
ECUx Plot
ME7Sum checksum checker/corrrector for ME7.x

Please do not ask me for tunes. I'm here to help people make their own.

Do not PM me technical questions! Please, ask all questions on the forums! Doing so will ensure the next person with the same issue gets the opportunity to learn from your experience.
nyet
Administrator
Hero Member
*****

Karma: +385/-44
Offline Offline

Posts: 8817


WWW
« Reply #14 on: May 03, 2017, 10:11:19 AM »

http://nefariousmotorsports.com/forum/index.php?topic=4212.msg49441#msg49441
Logged

ME7.1 tuning guide (READ FIRST)
ECUx Plot
ME7Sum checksum checker/corrrector for ME7.x

Please do not ask me for tunes. I'm here to help people make their own.

Do not PM me technical questions! Please, ask all questions on the forums! Doing so will ensure the next person with the same issue gets the opportunity to learn from your experience.
Pages: [1] 2
  Print  
 
Jump to:  

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines Page created in 0.021 seconds with 16 queries. (Pretty URLs adds 0.001s, 0q)