Alarm

A small and comfortable alarm manager for the HP49/HP49+

For people bored by the slow alarm setting in these calculators. First of all, alarm setting is made fast and comfortable. Secondly, one can create alarms which repeat after 1, 2, or 3 years at precisely the same day and time, to remind on birthdays or other annual terms. This is impossible with the built-in tools. There is also a nice cuckoo alarm included  to let the cuckoo call at desired hours, and a count-down which is the ideal program for STARTOFF. Alarms created with SetA clear flag -56 (beep is enabled). The commands iteself are not affected by flags exept for Date&Time display. The library Alarm may be stored in any port. Version 6.2003 is tested under ROM 19-6 and remains in the package (Alarm6). Version 7.2003 is tested in ROM 1.22 on the HP49+. It  will run on the HP49 as soon as it gets a new ROM >19-6 (CntDwn uses the new header).



What is new?

Version 7.2003: PuOAs replaced by the command CntDn (Count-Down) which needs  ROM 1.22.

Version 6.2003: Cuckoo alarms have smaller size in the alarm list.

Version 5.2003: Alarm interruption more safe on the HP49+. This document slightly improved.

Version 4.2203: Number of times the alarm sound is repeated can be set in the SetA dialog box individually for each alarm. command

Version 3.2003:  replaces the library Alarm24 v. 1.2003. More comfort. Is now independent on the date flag -42.


Alarm has six commands as follows:   SetA   CkA   Cuco   CntDn   Aview   Abox.
 

SetA launches a comfortable dialog screen for alarm setting commented. Assign it to a key (e.g. to LS-hold TIME 74.31), or integrate the menu in the builtin TIME box, easily realized with Appsman..

CkA checks the current alarm sound and is the first you should try at all. Default is a Cuckoo alarm which repeats 7 times. Since this alarm is not in the alarm list, it displays "Nonexistent Alarm". But it behaves exactly the way as all alarm created with SetA. In partícular, it can be interrupted with any key. The calculator turns off, no matter whether the alarm is interrupted or not The default sound will be replaced by your own wake-up melody if it exists in the current path in the variable 'Ä' (character 196, A umlaut, on key ALPHA A ALPHA LS 9). Even distinct alarms in different directories are possible. The unusual name Ä was choosen because it is not checked whether it contains a sound. This package includes the sound  b  a  c  h  under the name Abach, the final theme from Bach's Die Kunst der Fuge. Store it into 'Ä' and press CkA. Any self-composed alarm must respect the stack, also if interrupted. Otherwise you risk a crash.

Cuco sets a cuckoo alarm at desired  hours to remind on dinner time, say. Just put a list of reals or zints in the stack which correspond to the desired hours and press Cuco. Then the cuckoo calls for verification h times, where h is the nearest whole hour to the moment where Cuco is pressed. After that Cuco calls the first time at the hour which is the head of your list. For instance, with the list { 8 12 18 } the cuckoo calls daily at 8 am, at 12 pm and at 6 pm only. If  this alarm is set after 8 am, the cucko starts calling at 8 am the next day. If alarm setting is done before 12 pm and you want listen to it already the same day, choose the equivalent argument list { 12 18  8 }. Cuco can be interrupted with any key. Numbers in the argument list should be < 24, in clockwise but not necessarily ascending order. Cuco represents a new type of alarms with variable repeat time. It purges itself and sets a new cuckoo alarm at a time computed from the argument list.

CntDn displays the count-down numbers 9,...0 in steps of 1 second in the Header after having quickly made a garbage collection, and then turns the calculator off. It can be interrupted with any key. If this is CANCEL, the calculator turns off immediately, otherwise the count-down will simply be aborted. This is ideal for STARTOFF, a reserved variable which runs each time when the calculator turns off, either by itself but only after 5 minutes, or after the time coded in the reserved variable TOFF. A good time is 40 seconds which means to have # 50000h in TOFF. Store the command CntDn in STARTOFF. If then the calculator is ON but idle, STARTOFF runs CountDwn to announce a TurnOff. Its run may be interrupted at any moment. The most useful feature of CntDn is that spontaneous garbage collection in future applications will be avoided. CntDn is not run in edit mode (while programming, say) because then more time is needed, in general.

Aview pages through all alarms with the menu key OK. For each alarm it displays the alarm number, its Date and Time of creation, and the date when it will be repeated.Aview scrAview  of the alarm made by Aset from the dialog screen below This is particularly useful for alarms with long repeat intervals. The builtin Alarm browser displays the repeat time of one year, say, as 52...WEEKS which is not very imformative. To be sure that this alarm will  repeat at the right date just use Aview. The picture shows the Aview screen of an alarm made with Aset for the 27th of February 2003 and a one-year repetition. It shows that alarm repeation will indeed take place on the 27th February in the next year.The message "Past due alarm"  in Aview has to be understood in a more general sense. It includes also all kinds of control  alarms which do not run anymore. Important: if alarm setting is made the 29th of February with 1, 2, or 3 years repetition, the alarm repeats 1, 2 or 3 years later at the 1st of March (birthday rule).

Abox sets the builtin alarm brower for information.etc. The users should be familiar with it.

The SetA dialog screen

"What" in the Alarm's dialog box may get some text but may also be skipped  - mandatory are only Date and Time of the alarm. Anything which is not a string in the black field under "What" will be ignored. If it is skipped or ignored, the alarm time will be displayed if the calculator is turned on after ending an alarm.SetA Dialog screen capture If you go to a meeting at 10:15 and did set the Alarm time for this earlier, "What" should at least contain "10:15 meet" but this is up to you. The Date field must be given the alarm date as a real. in the HP49 DATE format which depends on  flag -42. For instance,  27.2  means the 27th of February of the current year, 2003 say, as in the screen-shot (flag -42 set, European date format). Typing 27.02 or 27.022003 is not necessary - only January must be encoded by 01 since, e.g., 3.1 will be read as 3.10 (3rd of October). In the US-date format which is recognized in the headline one has to write 2.27 under Date if the current year is meant. Clearly, an alarm setting for a date byond the 31th of December must contain full date information. Thus, writing 27.022004 or 2.272004  (flag -42 clear) under Date will realize the alarm in 2004. Time must get the alarm time, written as a real hh.mm or even hh.mmss. Instead of 19.15 you may also print 7.15P. This appears as { 7.15 P }in the Time field. The P just adds 12 hours whenever the time in front is smaller 12.

The  "Repeat" is particularly comfortable. Either skip it or put a number into the edit line and right after it one of the letters M, H, D, W, Y (for Minutes, Hours, Days, Weeks, Years). E.g., if 2M is printed then {2. M} appears in the black field and the alarm will repeat after 2 minutes. With input .5M, the alarm repeats after 30 sec. If nY is the input, { n. Y } appears in the Repeat field as in the screen-shot for n=1. The HP49 creates the list { 1. Y } from the quickly printed 1Y provided Y is not a global variable on the path (if it is you have to print 2'Y instead of 2Y). The screen-shot example was made at the date displayed in the header. From that date on it will announce "W's birthday" every year at the same date, the 27th of February. In the general case, the alarm repeats after n years with identical date and time. Admissable are n = 1, 2, 3. Other reals may result in a non-intended alarm.

Th little 7 after the Repeat field can be replaced by any number. This will be the number of the alarm sound repetions for the alarm you are going to make. For instance,  pressing on 5 and  OK overwrites 7 by 5. Thus, the cuckoo or another sound would repeat 5 times for this alarm.


Wolfgang Rautenberg - raut@math.fu-berlin.de - www.math.fu-berlin.de/~raut

(document last updated 2003-10-27)