Notices
ECU Flash

status of 2 byte load?

Thread Tools
 
Search this Thread
 
Old Nov 9, 2006, 08:00 PM
  #1  
EvoM Guru
Thread Starter
iTrader: (50)
 
mrfred's Avatar
 
Join Date: Mar 2006
Location: Tri-Cities, WA // Portland, OR
Posts: 9,675
Received 129 Likes on 97 Posts
status of 2 byte load?

I know that Mitsulogger has the ability to read 2 byte load (ala Bez Bashni) using an appropriately modified ROM, but the only person I've seen who has modified a ROM is jcsbanks. Does anyone else have a ROM that has been patched so that the ECU can output 2 byte load?

Also wondering how difficult it is to do the ROM patch. Seems like it would take some sluething to find the section of code that needs to be modified. Can someone provide some info on how difficult this mod would be to do? Maybe a how-to if its not too involved? I'm wondering if the code within the ECU is unique enough that a small program could be written to parse the ROM and make the changes.

Last edited by mrfred; Nov 10, 2006 at 10:31 AM.
Old Nov 10, 2006, 12:53 AM
  #2  
Evolved Member
 
jcsbanks's Avatar
 
Join Date: May 2006
Location: UK
Posts: 2,399
Likes: 0
Received 5 Likes on 4 Posts
My mod was just changing the MUT table, not all the code as I wanted to keep 1 byte logging at the standard baud rate.

Because I was reading the high and low bytes separately, occasionally there was an error when the high byte wrapped around zero. The data in these cases stands out and doesn't reduce the ability to tell what load cell you're in.

I've been thinking about outputting an 8 bit load value that goes to 319.
Old Nov 10, 2006, 07:01 AM
  #3  
EvoM Guru
Thread Starter
iTrader: (50)
 
mrfred's Avatar
 
Join Date: Mar 2006
Location: Tri-Cities, WA // Portland, OR
Posts: 9,675
Received 129 Likes on 97 Posts
Isn't the MUT table in the ROM? Would you be willing to write a tutorial on how to do the mod? Or would you be willing to modify my ROM if I send it to you?
Old Nov 10, 2006, 07:53 AM
  #4  
EvoM Guru
iTrader: (5)
 
MalibuJack's Avatar
 
Join Date: Feb 2003
Location: Royse City, TX
Posts: 10,569
Likes: 0
Received 9 Likes on 9 Posts
John, you should re-post the patch for the most common rom 94170008.. Since it still works fine with the standard baud rate..

I know Bez had a catastrophic hard disk failure and lost a good chunk of his R&D.. He's probably getting himself back together, but he was our largest contributor to the effort so things have come to a halt for a moment. I certainly have had very little time to contribute to the effort directly other than providing support tools for it.
Old Nov 10, 2006, 08:49 AM
  #5  
Evolved Member
 
jcsbanks's Avatar
 
Join Date: May 2006
Location: UK
Posts: 2,399
Likes: 0
Received 5 Likes on 4 Posts
What I did on my IX was to change request ID 00 and 01 to point to the high and low bytes of load, and then log them in Evoscan - scaling is the same as load is on the fuel and timing maps. Below I list a how-to for 94170008:

Using ECUflash you can make a 1D table that alters addresses &H38062 and &H38066. The data type is UINT16. The memory address of load in 94170008 is FFFF895C. So we need to make &H38062 to be &H895C (DECIMAL 35164) and &H38066 to be &H895D (DECIMAL 35165). UINT16 is decimal in ECUflash, so we make &H38062 to be decimal 35164 and &H38066 to be 35165.

88590013/885900014:
&H3EE66=decimal 27458

&H3EE6A=decimal 27459

88590015:
&H3EE86=decimal 27458

&H3EE8A=decimal 27459
Old Nov 10, 2006, 11:25 AM
  #6  
EvoM Guru
Thread Starter
iTrader: (50)
 
mrfred's Avatar
 
Join Date: Mar 2006
Location: Tri-Cities, WA // Portland, OR
Posts: 9,675
Received 129 Likes on 97 Posts
If I could get a bit more guidance, that would be great. I've got the 88590015 ECU. What I've done so far is go into ECUFlash and create two 1D tables that show the contents (in uint16) of addresses &H3EE86 and &H3EE8A. The contents expressed in decimal of those addresses are 27169 and 27168, respectively. Do I change those values to 27458 and 27459, respectively?
Old Nov 10, 2006, 02:38 PM
  #7  
Evolved Member
 
jcsbanks's Avatar
 
Join Date: May 2006
Location: UK
Posts: 2,399
Likes: 0
Received 5 Likes on 4 Posts
Yes, absolutely correct, and I've just double checked all the locations and values for 88590015 from the disassembly for you. Let us know how it works
Old Nov 10, 2006, 03:06 PM
  #8  
EvoM Guru
iTrader: (5)
 
MalibuJack's Avatar
 
Join Date: Feb 2003
Location: Royse City, TX
Posts: 10,569
Likes: 0
Received 9 Likes on 9 Posts
FWIW Bez was in the process of working on a method of reading/modifying any location in the shared memory using a special multi-byte request / response.. This was where he left off..

This is going to be an interesting new development if he can get back up to speed soon. What this means is you can use a single request to look at any byte(s) in memory..

Only I don't have all the information of what items are where in the shared memory (ram)

So it basically suppliments what JCSBanks posted... Only since the work that Bez has been doing uses multiple bytes for requests and responses, he also includes a faster baud rate (which is what the baud rate feature is for in Mitsulogger)
Old Nov 10, 2006, 03:08 PM
  #9  
EvoM Guru
iTrader: (5)
 
MalibuJack's Avatar
 
Join Date: Feb 2003
Location: Royse City, TX
Posts: 10,569
Likes: 0
Received 9 Likes on 9 Posts
JCSBank's method doesnt use the 2byte response, but only remaps two requestID's to a different portion of memory where the full load (word, 2 bytes) is stored, you still have to put the results together to create a load value.. but its really easy to do in mitsulogger and should also work with Evoscan.
Old Nov 10, 2006, 03:11 PM
  #10  
EvoM Guru
Thread Starter
iTrader: (50)
 
mrfred's Avatar
 
Join Date: Mar 2006
Location: Tri-Cities, WA // Portland, OR
Posts: 9,675
Received 129 Likes on 97 Posts
Awesome. Thank you. Sure is simple enough to do. Seems that the hard part was you guys figuring out where to make the changes. :-)

I've got just a few more questions now. I will be logging ID 00 and 01. These will come out as decimal values correct? And then to get the actual load, I'll have to combine them into a 2-byte value and scale that combined value?
Old Nov 10, 2006, 03:23 PM
  #11  
EvoM Guru
iTrader: (5)
 
MalibuJack's Avatar
 
Join Date: Feb 2003
Location: Royse City, TX
Posts: 10,569
Likes: 0
Received 9 Likes on 9 Posts
yeah in Mitsulogger the result will probably be Integer by default..

However when you create the entry, use the formula as 'x'

Then in a custom request (the 'FF' entries) you have to put the two values together again (lsb and msb) and then that goes within the same formula used for the 1C load value.. I think that should work.
Old Nov 10, 2006, 03:27 PM
  #12  
EvoM Guru
iTrader: (5)
 
MalibuJack's Avatar
 
Join Date: Feb 2003
Location: Royse City, TX
Posts: 10,569
Likes: 0
Received 9 Likes on 9 Posts
**IF** you use the function to leave it in hex as a result (look at the requestID's in the XML file for the demo 2byte ones) You'll see you can output in hex.. That might be easier because you can then do a DEC("&h" & MSB & LSB) As long as the hex output is "proper" 00-FF, concatinating the two together will create a word (for example 00 and 01 would be 0001) the result should be a decimal value representing the word..

As you can see, Mitsulogger has alot more power than any of us are currently using..

If you get an error, its probably the "&h" ... XML honors the escaping of characters and quotes, if you throw the error, use the appropriate escape codes for generating a quote character and Ampersand character in HTML (look it up in google if you need to) This is the only problem with using XML for definitions. The same thing happens if your trying to create boolean multiplier results, for instance determining what gear your in..

ie: (x>2)*5 ....the result would be either 0 or 5, 0 if its less than or equal 2, and 5 if its greater than 2.. (x>2) is boolean math and its result will usually be 0 or 1.. I use a formula similar to this to determine what gear the car is in... you can figure out the rest.. HOWEVER, XML chokes on the > character, so you have to replace it with >

http://www.dragonwinds.com/resources/html-codes.shtml here's a quick reference so you know what I mean... Not every character chokes the XML processor, but if you do get a strange error.. this is usually what caused it.

Last edited by MalibuJack; Nov 10, 2006 at 03:36 PM.
Old Nov 10, 2006, 04:21 PM
  #13  
EvoM Guru
Thread Starter
iTrader: (50)
 
mrfred's Avatar
 
Join Date: Mar 2006
Location: Tri-Cities, WA // Portland, OR
Posts: 9,675
Received 129 Likes on 97 Posts
Originally Posted by jcsbanks
... Let us know how it works
Will do. Its going to be about two weeks though. I've got the car on jackstands to perform some mods (DP, HFC, and a few other things).
Old Nov 10, 2006, 04:25 PM
  #14  
EvoM Guru
Thread Starter
iTrader: (50)
 
mrfred's Avatar
 
Join Date: Mar 2006
Location: Tri-Cities, WA // Portland, OR
Posts: 9,675
Received 129 Likes on 97 Posts
Originally Posted by MalibuJack
... here's a quick reference so you know what I mean...
Thanks. Maybe I'll log some data with the car on jackstands just so I can see what data gets spit out. Then I can work oug how I want to manipulate it.
Old Nov 11, 2006, 03:46 AM
  #15  
Evolved Member
 
jcsbanks's Avatar
 
Join Date: May 2006
Location: UK
Posts: 2,399
Likes: 0
Received 5 Likes on 4 Posts
The conversion is ((256*requestID00)+requestID01)*10/32.


Quick Reply: status of 2 byte load?



All times are GMT -7. The time now is 04:14 PM.