It took me a while to understand the other ISR(? void functions). I kept think how the heck is this doing three freaking loops at the same time. About and hour ago it clicked. Only the void loop is looping, the other two ISR(?) are running once (independently, I get that) and calling each other perpetuating a loop only if the interrupt triggers a falling condition. I kept thinking the loops where piling up or something.
I feel like such a schmuck but it has been a while for fresh coding and never involving interrupts.
I understand your code and need to try it. I had already realized the need for long’s.
This is pretty fun, I do like the logic part of it. I couldn’t work out how to get the two different times in the same ISR(?) your solution makes total sense.
So how does the time work (micros), is there ever a need to zero it out? I mean 8 hours or run time could result in a giant number. Will it roll over at some point? I kept trying to loop it and zero it out each loop.
This is weird that I have questions but not the right language to ask it in. Fascinating, really, I feel like I am on a bus in a foreign country and don’t know the language. I know what I want just not how to ask properly. Each little piece of info is a minor triumph.