OK. Given that then I see a few issues:
-
In loop() you call CheckForTimeDone() within the conditional that checks for a button press. The problem is that ButtonResponse() sets the buttonIsPressed to false so once you call that you never call CheckForTimeDone() again.
-
CheckForTimeDone() never sets interruptCounter to false because you return before that line of code is executed:
bool CheckForTimeDone() {
if (interruptCounter) {
return true;
interruptCounter = false;
}
else
return false;
}
- In general, you have an unnecessary number of small functions that make your code hard to read.