P01 to P59 Swap AC logic OS Patches

They go by many names, P01, P59, VPW, '0411 etc. Also covering E38 and newer here.
Post Reply
RADustin
Posts: 162
Joined: Fri Oct 17, 2014 9:44 am

P01 to P59 Swap AC logic OS Patches

Post by RADustin »

I been working on OS patches for AC system logic and better matching ac system hardware with the logic in the PCM. As contributors of this board have helped me get these patches figured out, I want to post them public. I don't assume these patches will be useful to many, but hopefully will help a few.

Backstory-
I have a 2001 GMC truck that was originally P01. I P59 swapped it in preparation for a turbo motor build as I like DBW, flexfuel and lean cruise. I also swapped to the newer style ac compressor as it has separate lines at the compressor enabling the suction line to be rerouted around the turbo. In swapping the ac compressor and lines, I also wanted to add the ac pressure sensor and factory style efans. I used a P59 2005 wiring harness from a 3/4ton truck (lightly repinned at fuse panel and c100 connector), and swapped to 4L80e at same time. So basically my entire truck under the hood is now 2003+ P59 era.

Problem-
As I knew from doing engine swaps in classic cars, the ac request can be wired discrete on any P59 and it will work. I'm not aware of any hardware or OS restriction as many people say- I've tried a bunch and it always works. So the ac request wasn't an issue, but compressor control is. In a stock P59 truck, the cycling switch is wired to the HVAC controller. I believe the PCM also transmits ac pressure to the HVAC controller as well. Then, the HVAC controller can decide to serial request the ac or not based on if the cycle switch is active or if the pressure is too high. An important note is that the factory truck tunes are set to a max ac pressure of 500psi, which is higher than the blow off on the compressor is set(I know from 2x rough experiences). Using my stock P01 truck HVAC controller doesn't have this functionality, so I needed to have the PCM do this logic.

I know the logic is in the PCM, it's just a matter of getting it to use it all under the same ac type setting. This is because the factory logic in the PCM is basically an if/else statement where if the ac type is set to 3, the ac pressure sensor is not polled. This is a problem as the fans will not run based on ac pressure, and also there is no high pressure shut off if you blow a fan fuse or some other issue. If the ac type is not 3 or 5(no ac), then the ac pressure sensor is read and used. The ac type could be set to 0,1, or 2; but because of that if/else logic the cycling switch will not be utilized and the system will freeze up and under perform.

There are 5 types of ac type that can be set in the OS. I do not see a difference in code between 0-2. The code flow is all the same for either of these types. I will update this info if I find out any different.
0- Serial; this is for a non cycling variable displacement compressor system with serial request.
1- Serial Cycling; this is for a cycling fixed displacement compressor system with serial request. [cycle switch wired to HVAC]
2-Analog; this is for a non cycling variable displacement compressor system with analog request.
3-Analog Cycling; this is for a cycling fixed displacement compressor system with analog request. [cycle switch wired to PCM and mechanical fan]
4-Passive; from what I can tell this is a system that doesn't receive a request but just reacts to ac pressure.
5-no ac

Game Plan-
I first disassembled and commented the code to learn how it works. This is where I found the basic if/else logic. From here I determined the best way to patch the OS was to change a few branch locations to change the if/else logic to just an if statement. Basically the patch makes it where the ac pressure sensor is read for all ac types, 0-4. Ac type 5 jumps the entire ac logic portion of the code as this is the no ac setting.

By removing the else part of the if/else statement, the code now flows to looking at the cycle switch when it is set to analog cycle(ac=3) and *then* looking at the ac pressure sensor(new logic). If the ac type is set to 0-2 or 4, it will skip over the cycle switch logic and just look at the ac pressure sensor, which is the OEM flow.

I have not tested using this patch on a setup that doesn't have an ac pressure sensor. If there isn't a pressure sensor installed, use a factory OS. The efans(1 of them) can still be kicked on with ac request by setting the ac coolant temp variable very low. This is how I limped my truck along as I figured out this patch but there isn't a high pressure cut off- so you'll want to use a high pressure switch and wire it inline of the request wire. I do not condone running the system without a high pressure cut off :D

Solution-
The attached patches can be downloaded. Change the file extension to '.xmlpatch'. I forced them to .txt to upload them.

The patches work within universal patcher for P59 OS 7603 and 2618. Apply the patch and fix the checksums, it's super easy to do. Ensure to flash the file with OS info. Leave ac type set to 3 so it cycles. Make sure to tune the proper PCM variables like high pressure cutoff psi plus all the other ac pressure based fan settings. Min ac off time may need to be adjusted as I think I'm cycling a little fast, but I haven't logged my friends 2006 truck yet to see how long factory setups cycle. I'll try to work with the owners of the 7603 and 2618 XDFs to have these settings in them.

Any questions just ask and I'll try to answer.
Attachments
P59 7603 AC Pressure Sensor Analog Cycling Patch v1.txt
(1.05 KiB) Downloaded 148 times
P59 2618 AC Pressure Sensor Analog Cycling Patch v1.txt
(1.05 KiB) Downloaded 138 times
qwikv6
Posts: 1
Joined: Thu May 13, 2021 4:34 pm
cars: 1991 gmc syclone #1369
1998 corvette(motor untouched until now)
2006 gmc sierra crew cab 2wd(lowered 2/3, mild cam, long tubes, dual 3" xpipe exhaust, 4l80e swap, circle d converter, 2pc driveshaft conversion, 3.73's)

Re: P01 to P59 Swap AC logic OS Patches

Post by qwikv6 »

i did a p59 swap in my 98 corvette and have had ac issues ever since. i have the dual climate control type and if i use the a/c button it flashes and goes off(just like if it was low on r134a), pressure sensor readings are from 1.8-4.5v. it will turn the ac compressor on if i use the auto button and turn the temps down on the hvac unit(but the a/c light never turns on) thats how i know my pressure sensor is reading correct. I havent dug into my pcm wiring since i did the swap but im prtty sure everything is correct or the compressor wouldnt work at all....from what you wrote it sounds like your patch may be the answer to my problems, or is there something i may have missed along the way?
User avatar
antus
Site Admin
Posts: 8237
Joined: Sat Feb 28, 2009 8:34 pm
cars: TX Gemini 2L Twincam
TX Gemini SR20 18psi
Datsun 1200 Ute
Subaru Blitzen '06 EZ30 4th gen, 3.0R Spec B
Contact:

Re: P01 to P59 Swap AC logic OS Patches

Post by antus »

Thanks for the patch! Ive added .xmlpatch to the list of allowed extensions, so they can be uploaded as is from now.
Have you read the FAQ? For lots of information and links to significant threads see here: http://pcmhacking.net/forums/viewtopic.php?f=7&t=1396
RADustin
Posts: 162
Joined: Fri Oct 17, 2014 9:44 am

Re: P01 to P59 Swap AC logic OS Patches

Post by RADustin »

qwikv6 wrote:i did a p59 swap in my 98 corvette and have had ac issues ever since. i have the dual climate control type and if i use the a/c button it flashes and goes off(just like if it was low on r134a), pressure sensor readings are from 1.8-4.5v. it will turn the ac compressor on if i use the auto button and turn the temps down on the hvac unit(but the a/c light never turns on) thats how i know my pressure sensor is reading correct. I havent dug into my pcm wiring since i did the swap but im prtty sure everything is correct or the compressor wouldnt work at all....from what you wrote it sounds like your patch may be the answer to my problems, or is there something i may have missed along the way?
This patch is mostly for cycling issues depending on hardware, and your corvette doesn't cycle- so I don't think this is your fix. Does your car request ac over serial or is it discrete? If its discrete I would probe that wire and see if it's commanding ac correctly. Sounds like a controller issue.

This patch is most useful on trucks with efan swaps. I need to also make patches for the two popular P01 OSs as I think those might actually be most useful for 99-02 truck guys that go efan with pressure sensor. I'll do this soon.
RADustin
Posts: 162
Joined: Fri Oct 17, 2014 9:44 am

Re: P01 to P59 Swap AC logic OS Patches

Post by RADustin »

antus wrote:Thanks for the patch! Ive added .xmlpatch to the list of allowed extensions, so they can be uploaded as is from now.
thanks. I'm glad to finally give something back here- even if it's not the most useful thing to everyone lol.
Post Reply