Pages: [1] 2 3
Author Topic: ME7 Logger + Innovate LC1  (Read 43614 times)
Jason
Hero Member
*****

Karma: +38/-0
Offline Offline

Posts: 500


Breaks everything!


« on: November 04, 2011, 11:45:50 AM »

I whipped this up last night because I was tired of using a gopro to "datalog" my AFR to RPM.  I am also too cheap to buy all the additional innovate boxes and wire them up.

It's still got a few UI bugs (and occasional issues passing ^C to the stdin to stop logging).  Most of the options are hard coded, but I will fix that soon and have something out within the next week or so.

1) It samples lambda from the LC1 at 12hz, which is a limitation of the LC1.

2) It fires up setzi's ME7 logger using the Mark P style layout and goes into a "standby" mode where it reads the stdout of setzi's ME7 logger in real time.  In my test I was sampling at 47hz.  (during this time, setzi's logger is still writing its own file to the disk.)

3) Next, it monitors the output in "standby" mode.  If the accelerator pedal position goes over 90% it takes the output from stdout, appends the LC1 data, and adds an additional microsecond precision timestamp to debug potential timing issues/drift.  It then writes this to a separate log file.  Later, you just copy the values of the logged lambda field, and paste them over the calculated lambda field, and then dump them into the spreadsheet to view the purty graphs.  No using conditional formatting in excel to find your WOT runs, and no nearly driving off the road trying to log by yourself.  I will additionally be adding a feature to use WOT as a trigger, and then continue recording for X seconds after you lift - this way you can do a multigear capture as well.

Also, I have tested the accuracy of the samples and with an hour of simulated logging, I detected an approximate 20ms drift in "favor" of my app, which means that it is logging the current known lambda at every sample output and there is no deviation.  I am guessing this is because setzi's logger uses a less precise method of calculating the elapsed time?  I am using kernel32.dll's QueryPerformanceCounter to calculate the elapsed time.

Anyway, here is a quick video showing how it works at idle.

http://www.youtube.com/watch?v=nN8gkkslpaA



edit------------------------------

Demons and bugs ahead...  I only spent a few hours on this and there are probably some annoying bugs.  The installer is probably broken.  The app probably won't start.  If it does, it won't log.  Hell, I don't know - every machine is different, and bugs are inevitable.  If you find some, let me know.  I only wrote this for my own personal use, but I think it may be useful to others.

Here is what you need to know to install and use this.

First, I am providing this free of charge.  Second, by downloading, installing, and using this you agree that I am not responsible for any damages that may result from its use.  You run this tool AT YOUR OWN RISK.

Additionally I'd like to thank setzi for his logger, and the community for their support.

Requirements:

Windows 7 (x86/x64) with .net framework 4.0  (installer will prompt if you don't have it)  It may work in XP - if it does let me know.

Innovate's LogWorks 3 installed.  Stupid, I know.  No matter what I've tried I can't get my installer to package everything it needs, so the easiest way to deal with this is to just install LogWorks 3, which happens to include the SDK and the calibration/setup tool.  Make sure your LC-1's lambda multiplier is also set correctly to your fuel.
http://www.innovatemotorsports.com/support/downloads/LogWorks3Setup.exe

setzi62's ME7 logger from here:
http://nefariousmotorsports.com/forum/index.php/topic,837.0title,.html
Note that I wrote this for the ORIGINAL RELEASE.  I will test the latest version and report back.  For now, I know that ME7Logger_DIST_29072011_v1.06.zip is tested and working.  Here is a DIRECT LINK:  

Next, you will need the mark_p_style.cfg that Complacentsee put together.
http://nefariousmotorsports.com/forum/index.php/topic,837.msg7177.html#msg7177

Last, download and install my logger.  I attached it here.

First, I would recommend to start this app with your cables already connected.  Remember which USB port you use for your LC1 and VAG-KKL cable.  The port numbers will change if you move the devices to different ports.  This will generally be annoying.  I do my best to properly locate the LC-1, but there are a limited number of scenarios I can simulate.

You will need to set some default options.  First, your LC1 should be detected, but if it's not, select the proper port, and the proper channel to use.  You may have to hit the rescan button.  And wait until the second coming of Christ for it to refresh.  Sorry... it's just how lame their SDK is.

On the main screen:

"Display as lambda" - duh - if you need an explanation... erm... uh...
"Change Colors" - This simply changes the display background color on stoich.  Red for lean, Green for rich.
"Smooth output" - one of my LC1's is older than the other and will sometimes offer jittery output.  This takes a 3 sample rolling average, resulting in a ~25ms latency with respect to current conditions.  This affects the log output as well.  Unchecked is pure and realtime data logged AND displayed.

"% Throttle Trigger" - this watches your pedal position.  Once your pedal position is >= this variable, it will start logging.

"Log Trailing (samples") - this specifies how many additional samples to capture when your pedal position is LESS than the trigger.  This can be handy for multigear runs as logging won't be interrupted on gear changes.

"Log Options" button launches the options screen.

Set the path to the ME7Logger.exe

Paste in your command line arguments.  By default, mine are:

 -p COM8 -r -R -o c:\ME7log.log c:\ME7Logger_DIST_29072011_v1.06\logs\mark_p_style.cfg

"ME7log.log" is the unparsed ME7 output.  Ignore it unless you need to look at all the raw data, minus the lambda logging"

Next, set your combined log path.  This is the file that will contain the ME7 Logger output, with the lambda values and timestamp appended.  It will also contain ONLY the samples received during the WOT trigger.

"Insert a timestamp separator before each throttle triggered log" will insert a timestamp in the combined log.  This is handy for seeing when your sessions start/stop.

The parsing options should be default unless you are using a custom layout.  If you don't know what I'm talking about, ignore this.  I determine throttle position by reading the value associated with the pedal position.  The position is 0 based and simply the first character of the throttle pedal position in your log output.  The number of characters to parse should be 2 - you can determine this from looking at logs you take manually.  Again, this is only something to mess with if you aren't using the mark p style...

"Initial samples to discard" basically captures the initial output with useful debug info, which can be later viewed on the main screen by clicking "debug window".

When you are done, click "stop logging".  This will send a control-c to the logger and GRACEFULLY exit.  If you don't do this, you will need to restart the application AND restart your car.

Youtube explanation/example:

http://www.youtube.com/watch?v=kjEs-YMCyJY
« Last Edit: November 06, 2011, 02:54:28 PM by Jason » Logged
s5fourdoor
Hero Member
*****

Karma: +33/-3
Offline Offline

Posts: 617


« Reply #1 on: November 04, 2011, 04:39:23 PM »

dude.  i need this.  NOW!  Smiley

i have my lc1 wired into their garbage ot-2.  man that thing is a total piece of trash, but i love the lc1.  please advise...  i'd gladly beta-test this.  i'm have a 1/3-time role of software developer at my job, so i can give you actual feedback...
Logged
Tony@NefMoto
Administrator
Hero Member
*****

Karma: +130/-4
Offline Offline

Posts: 1389


2001.5 Audi S4 Stage 3


« Reply #2 on: November 04, 2011, 05:10:53 PM »

Cool stuff. Which API are you using for grabbing the LC1 data?

I looked at the Innovate SDK a long time ago, and decided it looked like a pain to use.
Logged

Remember you have to log in if you want to see the file attachments!
Info or questions, please add to the wiki: http://www.nefariousmotorsports.com/wiki
Follow NefMoto developments on Twitter: http://twitter.com/nefmoto
Jason
Hero Member
*****

Karma: +38/-0
Offline Offline

Posts: 500


Breaks everything!


« Reply #3 on: November 04, 2011, 05:15:28 PM »

Yeah, to be quite honest, their SDK is total crap.  Thanks for the VB6 example, dbags, that really helps me a lot...  It also takes about 5-6 seconds to initialize.

Tony, if I have time this weekend I'll clean things up and send you the class wrapper if you're interested in integrating it with your logger.
Logged
Jason
Hero Member
*****

Karma: +38/-0
Offline Offline

Posts: 500


Breaks everything!


« Reply #4 on: November 06, 2011, 02:33:28 PM »

Initial post updated with all the info you need to know.

Additionally, the excel doc posted with the Mark P style config is screwy and displays erroneous values.  I realized it's actually the spreadsheet, not the log to blame.  So I'm going to try to fix the spreadsheet.
« Last Edit: November 06, 2011, 02:39:40 PM by Jason » Logged
iznogoud
Full Member
***

Karma: +13/-0
Offline Offline

Posts: 104

Learning junkie


« Reply #5 on: November 06, 2011, 08:54:31 PM »

Good work!

I like the large letters for real-time display. But I think you should be able to switch to a graphical dial. One's mind processes that a lot better when in real-time.
Logged

Audi S4 B5 2000 6sp Cactus Green
Audi A4 B6 Avant 1.8T 2001.5 5sp Santorin Blue
Jason
Hero Member
*****

Karma: +38/-0
Offline Offline

Posts: 500


Breaks everything!


« Reply #6 on: November 06, 2011, 08:58:05 PM »

Yeah, I was contemplating doing that, but didn't get around to finding a decent charting control.

As an aside, I noticed my LC-1's gauge reads about .3 AFR too rich.  I know the logger is correct because I verified it against the LC-1 programmer.
Logged
Tony@NefMoto
Administrator
Hero Member
*****

Karma: +130/-4
Offline Offline

Posts: 1389


2001.5 Audi S4 Stage 3


« Reply #7 on: November 08, 2011, 05:37:13 PM »

Yeah, to be quite honest, their SDK is total crap.  Thanks for the VB6 example, dbags, that really helps me a lot...  It also takes about 5-6 seconds to initialize.

Tony, if I have time this weekend I'll clean things up and send you the class wrapper if you're interested in integrating it with your logger.

What language are you working in?

I auto-generated a C# wrapper for their VB stuff a long time ago, and then I lost interest.
Logged

Remember you have to log in if you want to see the file attachments!
Info or questions, please add to the wiki: http://www.nefariousmotorsports.com/wiki
Follow NefMoto developments on Twitter: http://twitter.com/nefmoto
Jason
Hero Member
*****

Karma: +38/-0
Offline Offline

Posts: 500


Breaks everything!


« Reply #8 on: November 08, 2011, 06:45:18 PM »

C#...  basically it enumerates the ports, sets the active port, and then raises an event when data is received.  Currently I'm trying to figure out why I get some rather erroneous values returned in free air.  Not a huge deal because it works fine for wot fueling.
Logged
FlyboyS4
Full Member
***

Karma: +20/-1
Offline Offline

Posts: 215


WWW
« Reply #9 on: February 13, 2012, 06:31:40 PM »

Just as an FYI, I tried using this on WinXP with my LM-1 and didn't have any success getting it to run.  I wasn't optimistic about the chances of it working with the setup I have, but thought I'd try.
Logged
Jason
Hero Member
*****

Karma: +38/-0
Offline Offline

Posts: 500


Breaks everything!


« Reply #10 on: February 13, 2012, 07:12:49 PM »

Did you have issues with the installer or issues with it running?  Any particular error messages?
Logged
FlyboyS4
Full Member
***

Karma: +20/-1
Offline Offline

Posts: 215


WWW
« Reply #11 on: February 18, 2012, 08:10:54 PM »

It installed fine, it ran into a problem once I tried logging.  I'll go back and set up to try and log with it again and let you know what error message comes up.
Logged
zadeluca
Newbie
*

Karma: +0/-0
Offline Offline

Posts: 8


« Reply #12 on: June 21, 2012, 12:15:30 PM »

This may not be the best place to ask, but has anyone used the LC-1's "simulated narrowband" output (Analog 1 I think) to feed the ECU? I have one of these sitting on a shelf on my garage and I would like to install it, but do not want to pull a downpipe to have an additional bung added. Thanks!
Logged
Rick
Hero Member
*****

Karma: +62/-4
Offline Offline

Posts: 704


« Reply #13 on: June 21, 2012, 04:35:29 PM »

There should be a boss for where the rear 02's are/were
Logged
zadeluca
Newbie
*

Karma: +0/-0
Offline Offline

Posts: 8


« Reply #14 on: June 28, 2012, 06:03:47 AM »

Yea, I have to get the rears coded out first, working on that...
Logged
Pages: [1] 2 3
  Print  
 
Jump to:  

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