Thanks
It is a DC adapter.
The delay routine uses a hardware timer, and current delay is started from where the previous ended.
Thus code run-time does not affect the delay time.
All delays in the loops adds up to the required 4.5 seconds per step, and I have not seen any inaccuracy yet.
We will see how good it is over long time