Stop in for a cup of coffee
I'm seeing mixed answers on 'programming' requirements. Some say it's a dealer thing to reset. Some say gotta buy a new one and then it is plug and play as it will self program. Some are saying you put the leads to the battery together ( anything from 'just touch them' to 'tie them together overnight' and that is supposed to do a hard reset. I put them together while its out. They are saying my problem is likely a processor problem. So, actually a chance that just having it out and reset could fix it.
Touching the battery cables together with the battery out diffuses the capacitors inside the computer and resets it to a basic level, then you take it out and drive it and it relearns your driving habbits and adjusts accordingly.
Want good grounds from engine to chassis, can even add an additional one. Stray voltage will make your car computer do crazy things, make sure all wiring is well insulated and not chaffing up against some sharp edge, even the high energy spark plug wires feeding back into the system. We are talking mili-volts here, electricity follows the path of least resistance to get back to the battery.
All connections clean and good, not green with corrosion, battery cables clean too. Test your battery want at least 12.5 volts, it is the heart of your whole electrical computer system.
I have found that inside the ECUs the capacitors start to leak over time, drain down on to the boards and now the electricity follows a new path goofing everything up. Rebuilders replace the capacitors, clean the boards, and reseal the boards with a clear sealer when all done.
The hard part is finding the good people to do this work.