mmll runs under Python 2. It's FTDI-only and you’ll need pylibftdi (as well as libftdi) installed before running it.
This early-alpha code is for those who want to log from non-windows environments or who want to poke around with Python code that talks directly to the ECU using KWP2000. It's not for those who expect anything other than a hobby-quality attempt. Feel free to let me know what's broken or better yet, submit your own tweaks. However, don't expect any "support" on this as I only work on it when I can.
It's seriously buggy, poorly programmed, non-standard, rough around the edges, and cobbled together from a few dozen different examples and recipes. I’m sure that if I knew more about python or programming in general I could’ve achieved the same results with half the code. But hey, it’s a start!
Also, it’s a complete hack. I started with raw captures of the serial traffic from ME7L and I tried to pick out what’s going on from a KWP2000 point of view. The info I had was skimpy and there are a few parts where I really don’t know how it works. So far, I’ve only coded in support for baud rates of 19200, 38400, 56000, and 57600. Also it’s only HM0.
It's not particularly fast, the logging maxes out at about 25 records per second (of 40 logging values each) on my Raspberry Pi at 57600. I also tested it on an older Gentoo box I have. I doubt it would work on Windows in its current form.
On the good side, I made it compatible with the ME7L cfg and ecu files. Just drop the cfg and ecu files in the same directory as mmll.py and point it to the cfg. For example:
mmll.py –c config.cfg –o logoutput.csv
Finally, the output is also “cloned” from the ME7L output so it’s already compatible with ECUxPlot.
Here’s the command line:
usage: mmll.py [-h] -c CONFIGFILE [-o OUTPUTFILE] [-d {0,1,2,3,4}]
optional arguments:
-h, --help show this help message and exit
-c CONFIGFILE, --configfile CONFIGFILE
The logging config file
-o OUTPUTFILE, --outputfile OUTPUTFILE
The desired output log file - No entry outputs log
data to STDOUT
-d {0,1,2,3,4}, --debug {0,1,2,3,4}
Increase the Debug Level (experimental and currently broken)
Here's the link:
https://github.com/trichard3000/mmllHave fun!