Post Reply 
Making the faulty HP-50g alarm function predictable and useful
08-24-2024, 06:58 AM (This post was last modified: 09-29-2024 09:26 AM by Johnny Shek.)
Post: #6
RE: Making the faulty HP-50g alarm function predictable and useful
UPDATE:

24 entries were my estimated maximum number of entries allowed by the calculator. However, this ‘limit’ was surpassed by 25 entries for an old test using the new method and a new 2-cycle test of all 25 entries each having a non-integer alarm time and a repeat interval of 1 day.

A further attempt of 30 entries suffered a setback! Based on the previous 25 entries, I added 2 entries on the top and 3 entries on the bottom. In the earliest 1.5 cycles, everything seemed to work fine before I started to revise a few times the action of each control alarm that carried an appointment alarm. It was found that 3 entries failed to wake up. This was also the first time an alarm with integer hour did not execute properly. In both cases, there was a desired alarm that would come due at hh:59. Plus 1 minute delay, it did come due at hh+1:00. It in turn triggered indirectly control alarms that would come due at hh+1:00. Unexpectedly, they could not execute! After performing a factory reset by pressing ON-F1-F6-NO, I re-created nearly the same set of those 30 entries from scratch except a corrected digit in the minute part of the desired alarm of the last entry. 2 of the 3 entries worked again but not all. I suspected that some memory problems might have occurred.

I had to go back to 25 entries where those 3 entries had once worked. After performing another factory reset, I created them one by one each having a revised action yet the same alarm time from scratch. 3 cycles were completed successfully. It appears that 30 entries would be too many for the calculator. I will begin at 29 entries and decrease the number one by one until I find the maximum number of entries without causing any irregularity.

Apparently, the use of a control alarm to carry a desired alarm seems to make the faulty alarm feature predictable and useful. My focus will turn to the test of boundary scenarios.

It is time to summarise some information at this stage.

Make sure the ROM version is 2.15. The STARTOFF variable that stores a program « OFF » should be ready before using the following actions. No matter what the alarm is, it will come due with 1 minute delay. One of the exceptions is that other alarms trigger it at its entered alarm time. Practically, it is very rare for 2 alarms to be set so close that an alarm will trigger another. However, it should be avoided. See the example in the 2nd paragraph.

For a desired alarm having an integer alarm time or having an alarm time within 59 minutes from its creation time, set it as usual. If the desired alarm has a non-integer time, always create a control alarm with an integer time that is the hour part of the desired alarm and use it to carry the desired alarm. To make the actions look more consistent, I replaced the more hard-coded yet shorter hh.mm with a code segment “TIME IP .mm +” and probably a + sign.

Here are some examples without a repeat interval.

Control alarm set for 10:00:00 with the following action to carry an appointment alarm set for 10:20:

« DELALARM DATE TIME IP .2 + { “M2” } + + STOALARM DROP OFF »

Control alarm set for 6:00:00 with the following action to carry another control alarm set for 6:50:

« DELALARM DATE TIME IP .5 + { « DATE TIME 2. →LIST SWAP DROP OFF » } + + STOALARM DROP OFF »

In the previous reply, 2 actions were shown each having a repeat interval of 1 day. Now their less hard-coded versions are ready to accept an integer repeat interval in hours, days or weeks.

Control alarm set for 10:00:00 with the following action to carry an appointment alarm set for 10:58:

« DATE TIME IP .58 + 2. →LIST DUP { « DELALARM -44 CF ACK OFF » } + STOALARM SWAP { “GOOD MORNING!” } + STOALARM 3. DROPN OFF »

Control alarm set for 5:00:00 with the following action to carry another control alarm set for 5:30:

« DATE TIME IP .3 + { « DELALARM DATE TIME 2. →LIST OFF » } + + STOALARM DROP2 OFF »

There will be cases that the repeat interval is in minutes, seconds or any unit in non-integer values. As it is not straightforward to handle such cases, programs should be developed. If you feel that the above actions are too tedious to enter, programs will also be developed to simplify entry. They will be posted here later.

Stay tuned!
Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
RE: Making the faulty HP-50g alarm function predictable and useful - Johnny Shek - 08-24-2024 06:58 AM



User(s) browsing this thread: 2 Guest(s)