What you learn working on a Chevy will work on just about every other Chevy. Recently, one of the fleet trucks we service had a TPS code with failsafe (power derate). It's an 8.1 in a Kodiak. We found the sensor to be bad and replaced it with an aftermarket unit. It worked for a day or two, then back to it's old game, but this time there's no moving it out of the yard once it warms up. Me thinking Closed/Open loop issue and go right to the O2 sensors. Well, they're frozen at .860. Full rich. Exhaust smells very lean. Fuel trims showing -25 LT and ST both, and on both sides. If I clear the codes, it runs well and stays running as long as I don't go to idle. Hit idle, and it's back to the previous situation.
Having issues with aftermarket parts from time to time, I disconnected the O2 sensors and the truck ran down the road fairly well. I ordered factory O2 sensors. I also ordered a factory TPS, which is the whole body and sensor for $10 more than the aftermarket sensor that didn't work. In go the new sensors and here comes the flat on it's ass after warmup situation again. But this time, the sensors are working and the exhaust is more in line with what it should be. A single code remains. TPS. In goes the new throttle body and voila! Perfection! Fuel trims near zero up and down, truck runs like a racecar and it's back on the road.
Lesson learned. We have 60 of these and expect the usual problems with the crank sensor, intake gasket, wrong plugs and gap. Buy the factory O2 sensors. Especially buy the factory TPS. And use irridium plugs, gapped to .045. Save some time and have more fun. Even save money. I hate the dealers, but there's some stuff that won't work in aftermarket.
My Tahoe had the dreaded P0300 code. It would run rich and flash the light. Replaced the left side upstream O2 sensor and problem solved. You need to learn how to read the datastream to diagnose fuel problems. Example: O2 sensor showing full rich when the engine isn't will result in the computer pulling the pulses at the injector, effectively taking a stoichiometric mixture full lean. Read the O2 sensor voltage. If it's not going high low (over .45 then under .45), it will be frozen in one place. That's a bad sensor. It's telling the computer false info. The computer is blind, it only knows what it's told. It reacts to what it's told. Even if the info is false. MAF low flow code isn't a Maf issue. It's an airflow issue. Why? Too rich will quench combustion and reduce vacuum. A plugged cat will slow exhaust leaving the system. You have to find which.
Just a few ideas to help. The brain fades.