I posted the link to that code a few posts up...
Printable View
Dave, is that bin you posted set up with 93V8S10's fan code, or the version posted up by Six shooter?
I tried it with my test bench. I looked at it first with 93V8S10's fan controll XDF, and the temps were set all strange, so I changed them to lower them down some. I ran the test and the light simulating the fan came on and went off, but not at the temps I had programmed into the bin. But then I thought, maybe you have six shooters fan code.
Just to be clear, I didn't write that code, I just use it. It was helo from fullsizechevy.com
Haven't had any time but did find the code Six posted and then the origanal thread on Full Size(advertisments and attachment coverups).com
Code:;## HEX PATCH (Tested with BJYM_0D_95GMC.bin on 8625 PCM)
;##
;## Don't forget to change x7c6f, then open&save with TunerPro to reset the checksum.
;
;##x7000
;
; 19 b9 b1 aa 2d 0f (Adjust values to suit your needs)
;
;##x7020
; ce 70 00 12 44 10 3b 13 4f 80 37 96 a2 a1 03 23
; 31 b6 02 51 81 00 26 68 12 52 08 36 96 a2 a1 01
; 22 11 12 4d 01 06 96 a2 a1 02 23 52 b6 02 a7 a1
; 00 22 4b 14 52 08 a6 05 b7 02 51 a6 04 b7 02 50
; 20 56 15 46 04 15 52 08 4f b7 02 50 4f b7 02 51
; 20 60 96 a2 a1 01 22 2a b6 02 a7 a1 00 22 2d 12
; 4d 01 1f 96 a2 a1 02 23 07 b6 02 50 26 2a 20 1c
; 13 46 04 24 15 46 04 a6 05 b7 02 51 20 1a 20 32
; 20 16 14 46 04 a6 04 b7 02 50 20 0c 13 46 04 b2
; 15 46 04 a6 05 b7 02 51 d6 02 c4 f0 26 14 b6 02
; 50 27 04 4a b7 02 50 b6 02 51 27 04 4a b7 02 51
; 20 00 cc f0 ff 12 46 04 03 cc f0 00 fd 3f da cc
; 7f ff 12 52 08 03 cc 70 00 fd 3f d4 39 00 00 00
;##x7c6f
; 70 20 (replace D3 99 - JSR call to efan subroutine entry point)
;
;### START OF DUAL-SPEED EFAN PATCH (Sep 3, 2011 -helo)
ORG $7000
;FAN Calibrations:
L7000 FCB $19 ; High MPH Fan Cutoff (25 MPH)
L7001 FCB $B9 ; Coolant Temperature Very High Value Enable (210 deg F)
L7002 FCB $B1 ; Coolant Temperature High Value Enable (199 deg F)
L7003 FCB $AA ; Coolant Temperature Low Value Disable (190 deg F)
L7004 FCB $2D ; Minimum Fan Run "MFR" Time (~45 Seconds)
L7005 FCB $0F ;## Minimum Change Of State "MCOS" Time (~15 seconds)
;## CONVERSION
;## TEMP*CTS = ((TEMP*F) + 40) / 1.35
;##
;## 0xB1=177=((199)+40)/1.35
ORG $7020
LEFAN00 LDX #$7000 ; Start of fan Calibrations
BRSET L0044,#$10,LEFANALLOFF ;Status word, bra if b4==1, shutting down, turn off fan
BRCLR L004F,#$80,LEFANALLOFF ;Status word, bra if b7==0, engine off, turn off fan
; Check CTS Low value
LDAA L00A2 ; Load Coolant Temperature
CMPA 3,X ; Compare to Coolant Temperature
BLS LEFANALLOFF ; Turn off when CTS is below "low" temp threshold
; Check MCOS
LDAA L0251 ; Load MCOS Timer Variable
CMPA #$00
BNE LEFANNOPTIMER ; If MCOS > 0, Skip to timer decrement
BRSET L0052,#$08,LEFANISON00 ; If Fan ON, Skip to "Load MFR Timer Variable"
;# Here if Fan is OFF. See if it should be turned on.
; CTS very high. Ignore MPH check & turn fan ON when CTS is very high.
LDAA L00A2 ; Load Coolant Temperature
CMPA 1,X ; Compare to Coolant Temperature Very High Value
BHI LEFANLOW ; Go to "Turn On Fan" if Higher
; A/C
BRSET L004D,#$01,LEFANMPH ; If A/C is On, Go To "Load MPH"
; CTS
LDAA L00A2 ; Load Coolant Temperature
CMPA 2,X ; Compare to Coolant Temperature High Value Enable
BLS LEFANNOPEND
; mph
LEFANMPH LDAA L02A7 ; LOAD MPH
CMPA 0,X ; Compare to High MPH Fan Cutoff
BHI LEFANNOPEND ; Go to "End" if Higher
; FAN ON
LEFANLOW BSET L0052,#$08 ; TURN ON FAN
LDAA 5,X ; Load MCOS timer
STAA L0251 ; Save MCOS
LDAA 4,X ; Load MFR Timer
STAA L0250 ; Save MFR Timer
BRA LEFANTIMER ; Jump to timer decrement
;
LEFANALLOFF BCLR L0046,#$04 ; TURN OFF HIGH SPEED OUTPUT
BCLR L0052,#$08 ; TURN OFF FAN
CLRA
STAA L0250 ; Clear MFR Timer
CLRA
STAA L0251 ; Clear MCOS Timer
BRA LEFANEND ; "End"
;
LEFANISON00 LDAA L00A2 ; Load Coolant Temperature
CMPA 1,X ; Compare to Coolant Temperature Very High Value
BHI LEFANHIGH ; Go to "High Speed Desired"
LDAA L02A7 ; Load MPH
CMPA 0,X ; Compare to High MPH Fan Cutoff
BHI LEFANOFF ; Go To "Turn off Fan" if Higher
BRSET L004D,#$01,LEFANHIGH ;If A/C is On, high speed preferred
LDAA L00A2 ; Load Coolant Temperature
CMPA 2,X ; Compare to Coolant Temp High Value
BLS LEFANISON01 ; Determine if fan should remain on.
LDAA L0250 ; Load MFR Timer
BNE LEFANTIMER ; >0, go to decrement timer
BRA LEFANOFF ; Turn off fan if timer reached 0.
;## Fan is ON, low speed desired
LEFANISON01 BRCLR L0046,#$04,LEFANTIMER ; Not on high speed, go to timer decrement
BCLR L0046,#$04 ; Turn off high speed output
LDAA 5,X ; Load MCOS timer
STAA L0251 ; Save MCOS
BRA LEFANTIMER ; Go to timer decrement
;## Lazy double branch (I hit the 128 byte limit!! =)
LEFANNOPEND BRA LEFANEND
LEFANNOPTIMER BRA LEFANTIMER
;
LEFANHIGH BSET L0046,#$04 ; Turn on high speed output.
LDAA 4,X ; Load MFR Timer
STAA L0250 ; Save MFR Timer
BRA LEFANTIMER ; Go to timer decrement
;
;TURN FAN OFF (or High->Low)
LEFANOFF BRCLR L0046,#$04,LEFANALLOFF ; If High speed is off, turn fan off now.
BCLR L0046,#$04 ; Turn off high speed output
LDAA 5,X ; Load MCOS timer
STAA L0251 ; Save MCOS
;
LEFANTIMER LDAB L0002 ; Load Loop Counter
ANDB #$F0 ; Mask First 4 Bits
BNE LEFANEND ; Skip To end if no Decrement of Timer Needed
LDAA L0250 ; Load MFR Timer Variable
BEQ LEFANTIME1 ; Don't decrement when 0
DECA ; Decrease MFR Timer by 1
STAA L0250 ; Save MFR Timer to L0150
LEFANTIME1 LDAA L0251 ; Load MCOS Timer Variable
BEQ LEFANTIME2 ; Don't decrement when 0
DECA ; Decrease MCOS Timer Variable
STAA L0251
LEFANTIME2 BRA LEFANEND
;
LEFANEND LDD #$F0FF ; Turn pin ON
BRSET L0046,#$04,LEFANAIR ;Bra if fan currently on
LDD #$F000 ; AIR output 0% DC (OFF)
LEFANAIR STD L3FDA ; Output to AIR bypass solenoid (E7)
;
;# Output to E3 is only required for 0D_MAF. Stock $0d bins will take care of this
;## at LCBB2-LCBD9. Safe to leave enabled (simply a redundant output on L3FD4).
LDD #$7FFF
BRSET L0052,#$08,LEFANCPI ;Bra if fan currently on (low)
LDD #$7000
LEFANCPI STD L3FD4 ; Output to E3 (CPI tuning valve, a/c output pin)
;##
RTS ; Return
Mark, the link to the FSC thread was posted in the thread that I posted here....
Well I spent the past couple days playing with the hex editor, figuring out where the addresses are, finding where the stuff is supposed to go, etc.. So I figured I would give it a try myself. I could not get copy and paste to work, so I ended up having my girlfriend read off the values to me while I typed them in manually. I saved it, burnt it to a chip and tried it. Same thing as the bin that was patched by marks XDF, everything jumps all over the place, fuel pump/relay click on and off fast.
So either we are entering in something wrong, missing something, or there is something wrong with this code. I compared the bin I manually entered to the one I patched with marks XDF, and everything was the same except for the checksum.
I guess I am going to try the FSC code next.
Well I went back and double checked everything and it appears everything is entered in like its supposed to be, unless I am just overlooking something. So without the author here to help, I am just going to have to give up for now on this code. Its just way to over my head trying to figure out whats wrong with it.
So I figure I would give the FSC code that six shooter posted up a try. Started with my bin, had my girlfriend read off the values as I typed them in, saved, burnt to a chip and gave it a try in my test harness. No jumpy data or fp/relay. TP connected fine, ran the dizzy and used a heat gun on the CTS. My noid light (simulating the fan) came on when it should, went back off as it should too. Seems that code works fine.
I finish up the wiring on my jeep and go for a spin. Fan cycles on and off and seems to work as advertised. So I now have a working E-fan controlled by my PCM.
Would kinda like to figure out whats wrong, or what I did wrong with 93V8S10's code. It has some nice features, like the ability of soft start and a second fan. But its over my head and would take someone smater than me.
Since you typed in in and had same results as my patch method, I'd say there's something wrong with the code?
Glad you got the other one working!
Were the E fan XDF parameters I added to the $0D XDF any help with old/first E fan code.
No, I was about to post up about adding the parameters to the XDF.
On the FSC code, some of the addresses are the same, but what they are/do is different. So we probably want to delete them from your XDF, or change them and the patch to the FSC code instead untill we can figure out what's wrong 93V8S10's code.
I can add the items to my XDF, but it has been so long since I have added a new parameter I need a refresher to do it. Copy and paste I can do fine, but adding a completely new one I have forgotton. I know how to add it, title it, discribe it, and enter the address. But its what I put for size and output type, and if I need to put anything in the conversion tab, and if I do, what I need to enter into the conversion.
Here are the items listed on the FSC code that need to be added:
Calibrations:
L7000 19 db High MPH Fan Cutoff (25 MPH)
L7001 B9 db Coolant Temperature Very High Value Enable (210 deg F)
L7002 B1 db Coolant Temperature High Value Enable (199 deg F)
L7003 AA db Coolant Temperature Low Value Disable (190 deg F)
L7004 2D db Minimum Fan Run "MFR" Time (45 Seconds)
Anyway to change coding to also use fan #2 output as engine temp instead of trans temp? Im wanting 2 temp settings cause my fans have low and high. Very efficient as on colder days the temp is consistent on low.
I don't see it in the instructions how to change the transmission fan to 2 engine fans. Looking in tunerpro rt i see some scalers and flags I don't see option to change this.