- I tried catching the time in a global variable with ticks_ms() in the callback and then waiting for the main loop to detect that 100ms had transpired since the global time had been saved in the callback, but I get messy results that way, presumably because the main loop isn't running consistently.
- I noticed that machine.RTC is documented to have an alarm feature, which as it is described seems like precisely what I'm looking for, but despite the docs' claim, machine.RTC clearly has no such alarm. It just isn't there. This wasn't documented under a specific hardware subsection; it's in the general MicroPython section, but 1.14 on a PyBoard doesn't have a machine.RTC.alarm. Admittedly, pyb.RTC doesn't have an alarm and perhaps that's what I get even if I import machine. But that leaves me without this option, one way or the other.
- So then I tried creating a Timer object, which feels like major overkill for this task, since I don't need a regularly repeating timer. I just need a single-use delay call, but I tried anyway, but in retrospect it was obvious that this was going to fail since I can't allocate the Timer in the pin-rise callback, obviously. I should have realized that.
Thanks.