Cam Sensor question CEL P0012 P0022




The CEL has been coming on every once in a while, typically with a significant change in temp. It stays on a few days and then goes off.
I have been assuming it is a bad gas cap, and was going to have it looked at next time I have a routine service (unless it stayed on longer the a day or two).
I had my ODB reader out to get codes on my other car (Did not think about using it on teh E350 since someone once told me they wre nearly worthless in an MB.)
The CEL has been on the last couple of days (I assume because it has been COLD!) but yesterday it went off (Warmer day, and my wife topped up the tank).
SO I plug in even with no CEL and I get two stored codes.
P0012 and P0022
Intake (A) Camshaft Position Timing - Over-Retarded (Bank 1)
Intake (A) Camshaft Position Timing - Over-Retarded (Bank 2)
As I said, CEL is now off and car is running normal.
P.S. The CEL had been on before the last time I took it for normal service, but I forgot to mention it. They found nothing.
(I would assume they check for codes on a normal service visit. Right?)
Thoughts?




Once I thought about checking the code, I was ready to either see nothing, (since the CEL was off at the time), or seeing a Evap system code, similar to a bad gas cap or plugged charcoal canister, because:
1) The error showed only with drastic temperature changes (Usually from above freezing to well below)
2) It cleared itself after 2 or 3 days
3) It seemed related to when the tank was less then 1/2 full
I guess teh ODB codes are more complete than I thought.
I must have misunderstood what I read.
On that subject, is it worth getting a ODB reader with CAN, or is the added data not worth much more in terms of simple diag?
Does anyone recommend an inexpensive version?
My ODB reader is a "CodeKey" and does a respectable job for $19.



