Pump Timer

GoForSmoke:
Anyone? Do I have that wrong? This is Nick's code and I expect it's been thoroughly checked.

I think the idea is that the button triggers an interrupt which wakes the processor, so when this function is called we know the button is pressed or has been pressed recently. What it does is wait for the button to be released and have remained released for the debounce duration.