A rozwiązanie bazujące na timerze programowym nie załatwiło by sprawy?
W momecie, kiedy budzik się opala użytkownik dostaje do wyboru - drzemka albo wyłączenie budzika.
Drzemka odpala timer programowy na zadanych czas (np. 10 minut). W obsłudze timera uruchamiamy ponownie tą samą rutynę, która jest dla standardowego budzenia.
Wyłączenie drzemki polegałoby po prostu na zatrzymaniu / wyłączeniu biegnącego timera.
Plus jest taki, że można spokojnie mieć kilka drzemek uruchomionych niezależnie (mając kilka niezależnych timerów). Pewnym minusem może być niedokładność takiego timera, ale w ciągu paru minut nie powinien za bardzo się rozjechać.
Rozwiązanie byłoby podobne do tego co wrzuciłem innemu koledze w
tym wątku (są tam załączone źródła - można się częstować)
