SVX Network Forums Live Chat! SVX or Subaru Links Old Lockers Photo Post How-To Documents Message Archive SVX Shop Search |
IRC users: |
#61
|
||||
|
||||
with apologies to the non-geeks...
Quote:
Quote:
Quote:
Code:
e796 ce c9 04 ldx 0xC904 // Vehicle speed table for power to normal switching e799 96 18 ldaa (0x0018) // Vehicle Speed (don't know how to convert to mph) e79b 5f clrb // b=0 e79c a1 00 cmpa (X+0x00) // Compare speed to first entry in table (1E) e79e 23 0b bls [0xE7AB] // if speed <= 1E goto e7ab e7a0 5c incb // b=b+1 e7a1 a1 01 cmpa (X+0x01) // Compare speed to 2nd entry in table (3C) e7a3 23 06 bls [0xE7AB] // if speed <= 3C goto e7ab e7a5 5c incb // b=b+1 e7a6 a1 02 cmpa (X+0x02) // Compare speed to 3rd entry in table (5A) e7a8 23 01 bls [0xE7AB] // if speed <= 5A goto e7ab e7aa 5c incb // b=b+1 Code:
e7af 58 aslb // b=b*2 (each item in the table is two bytes) e7b0 ce c9 17 ldx 0xC917 // Throttle opening table e7b3 3a abx // add b to x (ie. add index to start of table) e7b4 96 4c ldaa (0x004C) // Throttle opening e7b6 a1 00 cmpa (X+0x00) // compare to threshold from table (02,02,03,04) e7b8 25 05 bcs [0xE7BF] // if throttle < threshold goto e7bf e7ba a6 01 ldaa (X+0x01) // get timeout from table (4B,4B,32,19) e7bc 97 c1 staa (0x00C1) // Set power mode timer to timeout from table e7be 39 rts // exit Code:
e7bf 5f clrb // b=0 e7c0 96 c1 ldaa (0x00C1) // power mode timer e7c2 26 17 bne [0xE7DB] // if timer >0 goto e7db e7c4 d7 5a stab (0x005A) // set current map=b e7c6 39 rts // exit <snip> e7db 5c incb // b=b+1 e7dc d7 5a stab (0x005A) // set current map=b e7de 39 rts // exit Quote:
__________________
Subaru ECU and TCU Website 1992 Alcyone SVX Version L 1992 Alcyone SVX Version L 1994 Alcyone SVX S40-II 2004 Subaru Legacy 2.5 SE Sports Tourer 1996 Subaru Legacy 2.2 GX Wagon 1988 Subaru Justy J12 SL-II Last edited by b3lha; 05-28-2007 at 08:25 AM. |
#62
|
||||
|
||||
That sounds good Phil. Keep us posted.
Your subroutine may work if you get it to iterate at faster than the 1/25 secs the calculations are made from. I hope you get it to work, so you can re-programme my UK TCU at the JAE.. I'll buy you a pint and a vegetarian burger. Joe
__________________
Black Betty [Bam a Lam!] '93 UK spec, still languishing Betty Jersey Girl Silver '92 UK [Channel Isles] 40K Jersey Girl @ Mersea Candy Purple Honda Blackbird Plum Dangerous White X2 RVR Mitsubishi 1800GDI. Vantastic 40,000 miles Jersey Girl |
#63
|
||||
|
||||
Quote:
That's not my subroutine. That's the code in the TCU. I was trying to illustrate how it works. Actually, if you think about it. I can set the timer to the maximum possible value of 255. That should give me 10 seconds before I have to worry about resetting it again. There is no chance of being able to reset a variable every iteration. The protocol can only manage about 4 or 5 commands a second and it takes two commands to write a byte of data to memory. At the moment, reprogramming is not on the cards. The only way this is going to work is to have a laptop in the car constantly sending data to the TCU to reset the timer. </geek>
__________________
Subaru ECU and TCU Website 1992 Alcyone SVX Version L 1992 Alcyone SVX Version L 1994 Alcyone SVX S40-II 2004 Subaru Legacy 2.5 SE Sports Tourer 1996 Subaru Legacy 2.2 GX Wagon 1988 Subaru Justy J12 SL-II Last edited by b3lha; 05-28-2007 at 08:52 AM. |
#64
|
||||
|
||||
IT WORKS!
I just did a little road test. I can't (yet) make the power mode come on with software. But I CAN stop it from turning off. I setup my laptop to continuously reset the timer to 10 seconds. Then I gave the throttle a little tap to turn the power mode on....and it stayed on! I drove around for 15 minutes or so with the power mode on then I stopped the laptop from sending the reset sequence. 10 seconds later, exactly as predicted, the timer ran out and the power mode turned off. Of course, this is pointless on my JDM car, which has a power button anyway. But it might be a useful trick on Euro and USA cars. I think it's a better way than messing with the TPS signal which might be used for other things elsewhere in the TCU. The disadvantage is that you need a laptop in your car. It is actually quite simple to do, once you know how: Step 1: Send the command to read the value of the power mode timer ("4500C100') Step 2: Send the command to write 255 to the power mode timer ("AA00C1FF") Step 3: Goto step 1
__________________
Subaru ECU and TCU Website 1992 Alcyone SVX Version L 1992 Alcyone SVX Version L 1994 Alcyone SVX S40-II 2004 Subaru Legacy 2.5 SE Sports Tourer 1996 Subaru Legacy 2.2 GX Wagon 1988 Subaru Justy J12 SL-II Last edited by b3lha; 05-28-2007 at 11:21 AM. |
#65
|
||||
|
||||
Super!!
Now, stage 2. How do we impose this programme on the TCU without having a laptop in the cabin all the time. Answers on a postcard.......
__________________
Black Betty [Bam a Lam!] '93 UK spec, still languishing Betty Jersey Girl Silver '92 UK [Channel Isles] 40K Jersey Girl @ Mersea Candy Purple Honda Blackbird Plum Dangerous White X2 RVR Mitsubishi 1800GDI. Vantastic 40,000 miles Jersey Girl |
#66
|
||||
|
||||
Quote:
I'm just curious... wondering if duplicating the signal of the power switch on a USDM car would even work. I know we don't have a switch, but maybe we'll get lucky and our TCU will still accept the signal... Hmm. Excellent work, though. It's been very cool watching you figure these things out. Hopefully we'll get EDM and USDM applications once you're done fiddling with your Japanese car, hahaha. |
#67
|
||||
|
||||
code apologies once more.
Quote:
When you push the power button, bit 6 of memory location 0011 in the TCU changes from 0 to 1. That's all, everything else is done in software. The software handles it like this: Code:
e77f 13 11 40 04 brclr (0x0011), 0x40, [0xE787] // if powerswitch=0 goto e787 e783 c6 02 ldab 0x02 // set b=2 e785 20 55 bra [0xE7DC] // goto e7dc <snip> e7dc d7 5a stab (0x005A) // set current map=b e7de 39 rts // exit This current map variable at location 005A governs which shift map is used. If it is greater than 0 then the TCU will use the power shift map instead of the normal shift map. IF the USDM TCU contains the above lines of code (it might well do) then connecting a switch to pin a4 of the TCU will allow you to switch power mode on and off just like a JDM model. Otherwise, you're stuck with the timer frig method that I just invented or the TPS trick from Terry McLane's original SVX FAQ. The only way to know for sure is for somebody either to wire up a switch and try it, or download the code from a USDM TCU so I can have a look at it. Once I've progressed things a bit further, I'll try and get my hands on a USDM TCU.
__________________
Subaru ECU and TCU Website 1992 Alcyone SVX Version L 1992 Alcyone SVX Version L 1994 Alcyone SVX S40-II 2004 Subaru Legacy 2.5 SE Sports Tourer 1996 Subaru Legacy 2.2 GX Wagon 1988 Subaru Justy J12 SL-II Last edited by b3lha; 05-28-2007 at 04:49 PM. |
#68
|
||||
|
||||
It's hilarious; I can keep up with the code jargon but when it comes to the details on the car I totally falter. Which pin is A4? I'll be working on the car for a bit, and a switch isn't that hard to come by. May as well test out your theory.
|
#69
|
||||
|
||||
postcard
Quote:
I wonder if LAN's ECU memory adapter would work in the TCU? It might just need to be loaded with a modified TCU software. Or there is another way: If you can tap out RS232 protocol on a morse key at 1953 bits per second. While Driving.
__________________
Subaru ECU and TCU Website 1992 Alcyone SVX Version L 1992 Alcyone SVX Version L 1994 Alcyone SVX S40-II 2004 Subaru Legacy 2.5 SE Sports Tourer 1996 Subaru Legacy 2.2 GX Wagon 1988 Subaru Justy J12 SL-II Last edited by b3lha; 05-28-2007 at 01:02 PM. |
#70
|
||||
|
||||
Quote:
__________________
Subaru ECU and TCU Website 1992 Alcyone SVX Version L 1992 Alcyone SVX Version L 1994 Alcyone SVX S40-II 2004 Subaru Legacy 2.5 SE Sports Tourer 1996 Subaru Legacy 2.2 GX Wagon 1988 Subaru Justy J12 SL-II Last edited by b3lha; 05-28-2007 at 04:50 PM. |
#71
|
||||
|
||||
Quote:
We know from how they behave that there are at least two types of TCU. For simplicity I will call them the Euro type and the Japanese type. The Euro type covers those markets that get the full-time [as in not rear assist] 4wd gearbox, same as the Japanese get. What is common to these markets is the fact that the TCU software inside delivers power mode on demand only, and also both speed sensors are in the gearbox. The Japanese type has a different type of speed sensor 1, which is driven by the differential on front. This is the same input method as on your US system also. The fact that your US gearbox uses the same speed sensor 1 circuitry as the Japanese box may indicate that your software inside your TCU is similar to that of the native Japanese box. There is no guarantee it is the same, just hard to figure why they would bother to make two types of software, when one would work just as well for both markets. US TCU control wiring Hold a minute; Phil, can you please recheck your notes of when you traced the JDM control wire for grounding Pin 4? The plugs into the TCU are black, not yellow. Yellow connectors go to the ECU Pin 4 of B59, a 22 pin yellow connector plugs into the ECU. If this is the control pin, then it is controlling it [power mode] through the ECU. I had thought you might be talking about pin 4 of B66, which is a 20 pin black connector plugging into the TCU. Pin 4 of this block is also not in use on the US control circuit, see the pdf above. We need to know which one is earthed by your JDM console switch before we proceed with any experimentation. Joe
__________________
Black Betty [Bam a Lam!] '93 UK spec, still languishing Betty Jersey Girl Silver '92 UK [Channel Isles] 40K Jersey Girl @ Mersea Candy Purple Honda Blackbird Plum Dangerous White X2 RVR Mitsubishi 1800GDI. Vantastic 40,000 miles Jersey Girl |
#72
|
||||
|
||||
Quote:
But they didn't write each version from scratch. I'll bet they started with a base software for a Legacy and tweaked it for the SVX and then tweaked it some more for each market. I would expect to see a lot of similarities between the different versions. Quote:
It's wired like the Aussie/Euro version, except change the word "economy" to "power" and chop off the circle-A connection that triggers the Econ light. Sorry for leading you astray, Nomake. http://www.subaru-svx.net/photos/files/oab_au/13732.jpg
__________________
Subaru ECU and TCU Website 1992 Alcyone SVX Version L 1992 Alcyone SVX Version L 1994 Alcyone SVX S40-II 2004 Subaru Legacy 2.5 SE Sports Tourer 1996 Subaru Legacy 2.2 GX Wagon 1988 Subaru Justy J12 SL-II Last edited by b3lha; 05-28-2007 at 04:35 PM. |
#73
|
||||
|
||||
Joe,
You have suggested that the US and JDM utilises basically the same TCU. Whereas the JDM and the US are the same. Your reasoning being based on different locations for the speed sensors involved. I had great difficulty putting to rights. incorrect information published by Harvey regarding the operation of solenoid valve “C” and the US clutch arrangement. In the process of this rather torrid exercise, it was established that the US system utilises a normally closed “C” to operate the centre clutch, whereas the JDM and Euro systems use a normally open solenoid. As a result of this arrangement, the same TCU could be used for both systems. This would appear logical and confirmed by the different solenoid configurations, as is used to operate clutch, or alternatively centre differential as are involved. On the basis of this, it would seem illogical to propose that there is a difference between the JDM and Euro systems, when the only requirement is the provision of a manual switch, for power mode in the JDM system. This surely would not involve extensive circuit or software changes.
__________________
Trevor, New Zealand. As a child, on cold mornings I gladly stood in cowpats to warm my bare feet, but I detest bull$hit! |
#74
|
||||
|
||||
FORGET ALL THAT!
I just ran an experiment on my car... and it was a SUCCESS!!! I'll provide pics at the end, but for now I'll just explain what I did. I pulled the harness out of the bottom of the TCU, sure enough position 4 was missing a wire. So I took a piece of wire from my tranny resistor project, coiled it up, and put it in through the back of the harness, then put the harness back into the computer. As for ground, I rememebred that the ECU goes into diagnostic mode when you ground pin 2 on the harness... and to do that you put the end of that blue wire in it. So I coiled up one of the blue wires with the end of my wire. Starting the car saw no change, backing out of the driveway was no different... but damn. I put it in Drive and the POWER light came on and just... it just WENT. Holy crap. I did a test drive around the block and it was just so solid. Having POWER mode on like that is just such a cool feeling. So I have confirmed that grounding pin A4 on the TCU does in fact grant you unlimited POWER mode whether you have a JDM car or a USDM one. Can't comment on the UK ones, but my thought is this: if they just didn't put in the switch in the USDM TCU, then why would the TCU in the EDM models be different? It's so much easier to just reverse the switch function! If the "POWER" switch on JDM models grounds A4, then why can't the "ON" position for the Economy switch just be an open circuit for pin A4, and the "OFF" position be ground? Dunno. Anyway, it felt awesome, that was a very cool experiment. I'll have to rig up something more permanent real soon. |
#75
|
||||
|
||||
Quote:
Quote:
Thanks for helping out with the research. You've made an important discovery that needs to go in a howto or something. Now you know why I keep the power button on ALL THE TIME!!!
__________________
Subaru ECU and TCU Website 1992 Alcyone SVX Version L 1992 Alcyone SVX Version L 1994 Alcyone SVX S40-II 2004 Subaru Legacy 2.5 SE Sports Tourer 1996 Subaru Legacy 2.2 GX Wagon 1988 Subaru Justy J12 SL-II Last edited by b3lha; 05-28-2007 at 04:57 PM. |
|
|