Making the faulty HP-50g alarm function predictable and useful
|
09-29-2024, 10:04 AM
(This post was last modified: 09-29-2024 02:00 PM by Johnny Shek.)
Post: #11
|
|||
|
|||
RE: Making the faulty HP-50g alarm function predictable and useful
UPDATE:
To conduct boundary testing for this black box is something like a trial-and-error exercise based on only a few observed patterns of the calculator’s behaviour. The tests are not exhaustive too. Sometimes, previous findings become invalid in later tests and changes should be made. Certain tests should be conducted again to verify if these changes work fine. Tests on the ’59 minute rule’ gave disappointing results. Being carried by control alarms, desired alarms set for hh:59:ss did not wake up as expected at times. Besides, they might cause an alarm just below it to fail. However, replacing hh:59:ss with hh:58 could work. A preliminary test of 30 entries after doing such change to 2 entries also worked. Therefore, the ’59 minute rule’ should be changed to the ’58 minute rule’. Based on the observations of previous tests, 3 rules might avoid irregularities: 1. The maximum span for a desired alarm from its creation time is 58 minutes*. 2. Avoid setting an alarm for hh:59:ss. 3. Any 2 alarms should have their preset times at least 4 minutes apart if they are under 2 neighbouring integer hours. * A desired appointment alarm with a repeat interval might fail to wake up if it is set for more than 58 minutes from its creation time. However, other desired alarms with or without a repeat interval can be set with an extended maximum span of 58 minutes 59 seconds. If you use a control alarm set for 12:00:00 to carry a desired appointment alarm with a repeat interval, the maximum time for the desired alarm is 12:58:00. If you want to set a desired alarm right now, the maximum time for the desired alarm is the time obtained by adding 58 minutes 59 seconds to the current time. If a desired alarm set for 12:56 co-exists with other alarms, the others should be set for 4 minutes later. In this case, the nearest alarm can be set for 13:00 as they are under 2 neighbouring integer hours, 12:00:00 and 13:00:00. In actual operation, there might be more than one approach to set an alarm. Suppose you want to set a repeat alarm for 07:00 (approximately) every morning. Assume that there is no intervention from the user, alarms or programs. Approach 1: Use a control alarm set for 06:00:00 to carry a desired appointment alarm set for 06:58 with a repeat interval of 1 day. Taking the 1 minute delay into account, the desired alarm will wake up at 06:59. I just copy the action from the above reply and make some modifications below. « DATE TIME IP .58 + 2. →LIST DUP { « DELALARM -44 CF ACK OFF » } + STOALARM SWAP { “GOOD MORNING!” } + STOALARM 3. DROPN OFF » I have also updated the action from the above reply accordingly. Approach 2: Set a desired alarm for 07:00 normally. It will wake up at 07:01. Approach 3: A control alarm set for 06:00:00 is used to carry a desired appointment alarm set for 06:58:59. It will wake up at 06:59:59, which is just 1 second shy of 07:00. « DATE TIME IP .5859 + { “GOOD MORNING!” } + + STOALARM DROP2 OFF » However, you need to include a control alarm set normally for non-busy hours, say 03:00:00, with the following action and a repeat interval of 1 day to acknowledge all appointment alarms every day. « -44 CF ACKALL DROP OFF» Don’t set a desired alarm for 06:59 to expect it to wake up at 07:00. It might fail! More boundary conditions will be explored. A forthcoming program will also be developed to steer away from irregularity-prone situations. Stay tuned! |
|||
« Next Oldest | Next Newest »
|
User(s) browsing this thread: 2 Guest(s)