Timer.Alarm nested in another Timer.Alarm possible?
-
Hi.
I am able to use the Timer.Alarm() without any problems normally.
But i run into problems when i have a Timer.Alarm() nested inside of a method that is called by another Timer.Alarm().
I am creating a program, which is supposed to use lightsleep mode until a wakeup from the accelerometer.
The program has two Timer.Alarms running in main() which starts when it wakes up. One of these runs a method which initiates yet another alarm to take measurements from the accelerometer. But it seems this alarm is never activated. So is this sort of "nesting" of Timer.Alarms not possible / bad practice, and what is the alternatives?
I am posting a example here, i hope it is understandable without you needing the whole of my main().
#Initial Alarm activity_alarm = Timer.Alarm(lambda y: timer_sampler(), s = 1, periodic = True) #The method that the activity_alarm uses, which starts yet another alarm (ignore the prints for debugging) def timer_sampler(): print("Entering timer_sampler() method!") global is_active acc.set_odr(6) acc.set_full_scale(3) acc.enable_activity_interrupt(126, 10) if acc.activity(): print("There is activity in timer_sampler() method!") if is_active == False: is_active = True print("Starting ALARM!!") alarm = Timer.Alarm(lambda x: sample(), ms = 10, periodic = True) #elif not acc.activity(): print("There is now NO activity in timer_sampler() method!") if is_active == True: is_active = False alarm.cancel() -
did you get it to work .
My timer only works once then stops , Even if the periodic = true -
@railmonitor You do not need the lamda function for setting the callback. Simply giving the name of the callback function is sufficient.
Timer.Alarm(timer_sampler, s = 1, periodic = True)
Obviously, the function timer_sampler has to be placed in your script before using if for the alarm callback notification, and the callback has to have a single argument, the alarm object.
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login