Mitsubishi Logger proof of concept code WORKS!
The portion you see was fairly easy... once you calculate load, you can easily find the location in a simple grid.. Its extracting the data from the rom to fill in the axis values, the injector scaling values, etc, that is the hard part.. Plus I have quite a bit of real work to do outside of the logger project.. but I'm hoping I can get a beta out there to select users in a week or two.
Originally Posted by MalibuJack
The portion you see was fairly easy... once you calculate load, you can easily find the location in a simple grid.. Its extracting the data from the rom to fill in the axis values, the injector scaling values, etc, that is the hard part.. Plus I have quite a bit of real work to do outside of the logger project.. but I'm hoping I can get a beta out there to select users in a week or two.
Again, awesome work. I would love to try out the beta. I was serious on my offer before in this thread. PM me your favorite brew and addy and I will send it out.
LOL the brew isn't necessary.. 
But I'll be compiling my beta list next week.. I'll post a message when I'm ready and how many slots I have open.. The reason I don't want to do a wide beta right now is the sheer amount of e-mail volume I get as it is, and the amount of problems I may have to work through with the software, I'd much rather only deal with a few people to start.. If it gets distributed wider, the problem reports become unmanagable and become duplicated anyway..

But I'll be compiling my beta list next week.. I'll post a message when I'm ready and how many slots I have open.. The reason I don't want to do a wide beta right now is the sheer amount of e-mail volume I get as it is, and the amount of problems I may have to work through with the software, I'd much rather only deal with a few people to start.. If it gets distributed wider, the problem reports become unmanagable and become duplicated anyway..
Originally Posted by Rob W.
I'm sure just about all of us who frequent this forum would be happy (thrilled, actually) to beta test.
Do you plan to add support for AEM UEGO? Just curious.
Do you plan to add support for AEM UEGO? Just curious.
Everything outside of the basic logging, dashboard and map tracing features will be using external modules and being called from scripts within the program.. so if it doesnt exist, someone can easily add it if I didnt.. Doing this allows for much less overhead, and operates on several threads (though .NET is much better when doing multithreaded operations, its not perfect)
All of these different units have slightly different sampling rates.. so I want to create a module that samples at the fastest rate possible, and always has a value available to the software thats updated at the native rate of the wideband.
I also plan on supporting other external loggers, and data aquisition devices that you might not expect.. But I won't even entertain those until I have a beta out there.
When the time comes that you are interested in adding a module for the AEM, please let me know. I'd be willing to send my unit to you for temporary bench test purposes.
I'm sure you'll be plenty busy with the other stuff for awhile, but like I said.. just let me know.
I'm sure you'll be plenty busy with the other stuff for awhile, but like I said.. just let me know.
You should see some of the cool modules I had built for my Utec Dashboard that were never released that I'm planning on converting.. a GPS tool (plots track points and can count laps, its also a basic timing program), a video recorder tool, records in-car video with data log data overlaid.. The advantage is starting all of these apps programmatically at the same time means the data is all in sync..
There is a legitimate reason I chose the TurboXS Tuner Pro though.. It has several inputs, two of which I use are EGT and Boost, that can be logged in the program.. Basically when I make a call to the modules I build, it will return a collection (a fancy array basically) of items that will go into the log.. For the Tuner Pro, it would be AFR, Boost, etc.. For other devices it would return other things.. But the module just needs to be in the same location as the program and configured.. Just working out the way to make it work and load correctly.. Then I'll publish specs for it and anyone can create an addon.
There is a legitimate reason I chose the TurboXS Tuner Pro though.. It has several inputs, two of which I use are EGT and Boost, that can be logged in the program.. Basically when I make a call to the modules I build, it will return a collection (a fancy array basically) of items that will go into the log.. For the Tuner Pro, it would be AFR, Boost, etc.. For other devices it would return other things.. But the module just needs to be in the same location as the program and configured.. Just working out the way to make it work and load correctly.. Then I'll publish specs for it and anyone can create an addon.
Oh yah, someone mentioned an LCD Display.. I wrote a module for the UTEC dashboard that displayed a portion of its logger output on a Matrix Orbital display and took some input from the switch inputs on the VFD.. Its not very useful unless you have an in-car computer.. I discontinued developing the module when I got a portable touch screen display as a gift..
But, this is all in the future, since I am now developing a flash disk media (video) player (Embedded system) that updates its content over a broadband connection.. So its my primary focus for the next 2 weeks.
But, this is all in the future, since I am now developing a flash disk media (video) player (Embedded system) that updates its content over a broadband connection.. So its my primary focus for the next 2 weeks.
Sample Log using randomly generated values from 0-255... I have a demo mode so I can get all the calcs in..
Code:
LogID,LogEntryDate,LogEntryTime,RPM,AccelEnrich,CoolantTemp,FuelTrim_High,FuelTrim_Low,FuelTrim_Middle,InjPulseWidth,AFRMAP,O2FeedbackTrim,O2Sensor,TPS,AirFlow,AirTemp,Baro,ISCSteps,KnockSum,TimingAdv,Battery,EGRTemp,OCTNumber,MDP,Speed,Load 0,2006-9-26,15:7:58.512,5593,53.33,0.77,193,3.51,4.31,660.45,-32.91,100.5,95,245,1.03,-55.7,92,166.25,242.33,-5.74 1,2006-9-26,15:7:58.621,406,59.22,17.15,71,4.10,58.82,1578.79,-46.48,28.5,177,249,9.97,524.8,254,215,4.97,-15.61 2,2006-9-26,15:7:58.730,4562,9.80,19.2,97,4.70,97.65,641.58,122.65,20,41,164,7.70,109,83,201.25,64.62,-11.42 3,2006-9-26,15:7:58.840,1468,58.04,51.2,96,4.56,63.14,1006.4,81.93,12,143,177,15.54,584.2,138,291.25,135.46,-11.54 4,2006-9-26,15:7:58.949,5375,50.20,17.41,14,4.86,5.88,622.71,98.64,62,39,120,11.73,225.1,39,298.75,206.30,-79.15 5,2006-9-26,15:7:59.59,4031,38.82,38.91,212,1.03,7.06,163.54,108.03,16,0,136,10.12,30.7,20,60,214.99,-5.23 6,2006-9-26,15:7:59.168,3593,35.69,5.63,193,2.28,49.02,327.08,108.03,12,150,43,1.76,292.6,69,277.5,237.36,-5.74 7,2006-9-26,15:7:59.277,2156,67.06,51.46,75,2.38,25.10,540.94,184.24,61.5,52,220,14.07,-39.5,84,172.5,24.85,-14.77 8,2006-9-26,15:7:59.387,5031,40.78,22.53,38,1.07,99.22,207.57,188.42,44,139,235,7.55,14.5,210,213.75,228.66,-29.16 9,2006-9-26,15:7:59.496,7937,33.73,27.39,138,2.67,42.75,811.41,135.18,78.5,124,173,6.89,389.8,74,47.5,167.77,-8.03 10,2006-9-26,15:7:59.605,1750,58.43,44.54,190,3.88,16.08,1289.45,142.48,121.5,16,15,7.04,279.1,30,36.25,54.68,-5.83
And the XML File sample...
Code:
<MitsubishiLogger> <config>test</config> <ECUItems> <Request LogReference="RPM" RequestID="21" Eval="31.25*x" Unit="rpm" Logged="y" /> <Request LogReference="AccelEnrich" RequestID="1D" Eval="100*x / 255" Unit="%" Logged="y"/> <Request LogReference="CoolantTemp" RequestID="07" Eval="((-1.468*x+139.74)*1.8)+32" Unit="deg F" Notes="-2.7x + 287 F ((-2.7x+287)-32)/1.8" Logged="y" /> <Request LogReference="FuelTrim_High" RequestID="0E" Eval="0.78125*x" Unit="%" Logged="y" /> <Request LogReference="FuelTrim_Low" RequestID="0C" Eval="0.78125*x" Unit="%" Logged="y" /> <Request LogReference="FuelTrim_Middle" RequestID="0D" Eval="0.78125*x" Unit="%" Logged="y" /> <Request LogReference="ECULoad" RequestID="1C" Eval="5*x/8" Unit="%" Logged="y" /> <Request LogReference="InjPulseWidth" RequestID="29" Eval="0.256*x" Unit="ms" Logged="y" /> <Request LogReference="AFRMAP" RequestID="32" Eval="x" Unit="afrmap" Logged="y" /> <Request LogReference="O2FeedbackTrim" RequestID="0F" Eval="0.78125*x" Unit="%" Logged="y" /> <Request LogReference="O2Sensor" RequestID="13" Eval="0.0195*x" Unit="V" Logged="y" /> <Request LogReference="TPS" RequestID="17" Eval="100*x / 255" Unit="%" Logged="y" /> <Request LogReference="AirFlow" RequestID="1A" Eval="6.29*x" Unit="Hz" Logged="y" /> <Request LogReference="AirTemp" RequestID="3A" Eval="((-0.58*x+90.96)*1.8)+32" Unit="deg F" Notes="-0.35x+58 For deg F ((x-34)*1.8)+32" Logged="y" /> <Request LogReference="Baro" RequestID="15" Eval="x/2" Unit="kPa" Notes="0.00486*x Bar" Logged="y" /> <Request LogReference="ISCSteps" RequestID="16" Eval="x" Unit="steps" Logged="y" /> <Request LogReference="KnockSum" RequestID="26" Eval="x" Unit="count" Logged="y" /> <Request LogReference="TimingAdv" RequestID="06" Eval="x-20" Unit="deg" Logged="y" /> <Request LogReference="Battery" RequestID="14" Eval="0.0733*x" Unit="V" Logged="y" /> <Request LogReference="EGRTemp" RequestID="12" Eval="-2.7*x + 597.7" Unit="deg F" Logged="y" /> <Request LogReference="OCTNumber" RequestID="27" Eval="x" Unit="Trim" Logged="y" /> <Request LogReference="MDP" RequestID="38" Eval="1.25*x" Unit="%" Logged="y" /> <Request LogReference="Speed" RequestID="2F" Eval="(2*x)*0.621371192" Unit="MPH" Logged="y"/> <!-- Place all Complex requests below this line --> <Request LogReference="Load" RequestID="FF" Eval="5*InjectorScale*(InjectorPulseWidth-InjectorLatency)/AFRMAP" Unit="Site" Logged="y" /> </ECUItems> </MitsubishiLogger>







