Most of this was tipped to me by acamus from the EVO world. A big thanx to him.
Poor man way to search for CEL port:
here's the first step for an 06 STI:
1.-
sh7058 Hardware manual2.- Ecuflash
3.- MY06 STI manual
4.- IDAPro
5.- Copy of you ROM.
6.- Romraider
Steps:
1.- Locate a dummy SSM query:
You need to get to a point where the you can "see" SSM routine in your ROM in IDAPro. The procedure is well described here:
viewtopic.php?f=25&t=6303. I have choosen SsmGet_Roughness_Monitor_Cylinder_3_P69 for NO particular reason other than it seems to return an int.
2.- Find which ports is being exercised on a MIL/CEL event:
The sh7058 has a list of i/o ports available for developer. Some are 16 bits multiplexed.
We will try 0xFFFFF754 which port E. Yes, you might need to test other port if you are not successful.
3.- ecuflash trick:
The goal is to reroute the SSM routine (SsmGet_Roughness_Monitor_Cylinder_3_P69) to the port address we want to look at using ecuflash
add those line to the A2zje11j xml of:
<scaling name="uint16" units="units" toexpr="x" frexpr="x" format="%x"
min="0" max="65535" inc="1" storagetype="uint16" endian="big"/>
<table name="P69 value" address="44564" type="2D" level="1" scaling="uint16">
<table name="X" type="Static X Axis" elements="2">
<data>Hi</data>
<data>Lo</data>
</table>
</table>
5.- flash new image to the car.
6.- Connect romraider to the car and select Roughness monitor 3. Write down value (A). Get out of the car and disconnect the MAF. Check for a CEL light in the dash. Write down value (B). If the value B is different from A, you may have found the correct PORT for your ECU. Reset ecu and repeat with another sensor.
IF THAT DOESNT WORK, TRY ANOTHER PORT ADDRESS LISTED IN THE SH MANUAL. YOU WILL NEED TO REFLASH YOUR ECU.
CEL port will change by MY I guess. The next step is to write insert a routine in code to exercise that port on whatever even you want.
Mart