September 24, 2009

More logging, less tuning

Filed under: Uncategorized — NefMoto @ 11:27 am

Sorry for the long time since the last update. This website is done in my free time outside of work, so sometimes it can be hard to do updates and work on software.

My house has not had a drive way for the last two weeks, and the sidewalk outside my house has also been blocked. This is all because my driveway is being replaced; yay! But this means I haven’t been able to do much in the car; boo! So I haven’t had a chance to devote any time to developing my base tuning for the larger MAF and injectors.

But, what I have had time to do is improve my KWP2000 communication system and do a lot of data logging optimization. My KWP2000 system is now much more robust and is much better at recovering from errors. Also you can now connect, disconnect, and do multiple operations without having to restart the program. Previously I had some problems with the system not cleaning everything up once and operation was complete, and this prevented you from running another operation. What this means is I can now edit maps, reflash my engine computer, and then run the data logger, and repeat endlessly, without having to restart the program. This greatly speeds up tuning iteration. 🙂

As for data logging I have found some ways to optimize the communication protocol. Currently on my 2Ghz dual core machine with 1G of RAM running Windows Vista I am able to read 17 times a second with 254 bytes for each read. In my real world tests logging things like RPM, load, boost, misfires, knock retard, knock voltages, I was able to read about 70 values a second. Since I read blocks of 254 bytes each time, when values are next to each other in RAM I can read them all out as one read. So for instance all six knock voltages get read as one read operation. APR ECU Explorer claims to read 18 samples per second, but they don’t specify if they read individual values or blocks of memory each time.

I spent a little time this morning going over the timing calculations in the KWP2000 protocol assembly code for the ME7. I have some ideas on how I can make ECU communication faster, but currently I doubt will ever be able to do more than 40 reads per second, based on what I found in the assembly code.

A nice side effect of the KWP2000 communications optimizations I did for data logging, is that they will also work for my ECU flashing and reading operations. Currently I can reflash an ECU with an updated file in 47 seconds, with my current optimizations I should be able to get that down to around 25 seconds I think.

There has been some discussion in the forums about Anti Lag Systems (ALS), No Lift Shifting, and Launch Control. The goal of the discussion is to define the best way to implement this in the ME7, and then when I have time, I can get to writing it for everyone. So if you have time, please throw in your two cents in the thread: Launch Control, Anti Lag, and No Lift Shifting with the ME7

If there is any info you want to see posted in the forum, or if you have some specific questions, just contact me and I will get the info posted.

No Comments »

No comments yet.

RSS feed for comments on this post. TrackBack URL

Leave a comment

You must be logged in to post a comment.

Powered by WordPress