AdjustClock

Comfortable adjustment and calibration of the HP49 clock


The 48/49 clock is not very exact. Temperature and several other environement conditions may affect it. With AdjustCk, time can easily be adjusted to run in a nearly absolute precise manner. Permanently growing deviation is balanced with some silently running Automated Adjustment Alarm (AAA) which keeps the drift from real time inside a small interval. One may use AdjustCk also as a mere graphic time setter. This as well as switching Day-light Saving Time (DST, i.e., Summer or Winter time), time zone adaption and all calibration manipulation is easily made in a graphic environement on a running analog clock. Load and attach the small library AdjustCk.lib as usual with ON&C. It appends itself to the TIME choose box. Convince yourself by pressing TIME (rightshift 9).
NEW in Version 1.2003
Graphic time setting facilities extended. This html document replaces the former AdjustCk.txt.

NEW in vers 4.2002
AAA simplified, DST can also be done during calibration or time zone change. Command AlmBr (Alarm Browser) added

NEW in vers 3.2002
Iterative calibration enabled


ABBREVIATIONS: LS = LeftShift key,  RS = RightShift key.

The AdjCk screen The first command AdjCk sets the left-hand screen with a lot of instructions next to the running clock. These are as follows: pressing the LEFTarrow or RIGHTarrow key in sequence, you see jumping the sec-finger, not noticed if hitting UParrow or DOWNarrow because these change time only in steps of 0.1_s. Similarly the minute-finger jumps when pressing + or - as it should be according to the instruction on the screen. Finally, the hour-finger jumps when pressing RS or LS. These shift keys are particularly useful for switching DST or travelling into another time zone. All above time settings are immediately executed on the internal clock. Doing it for control or just for fun has no effect if afterwards the manipulation is reversed. Do not anxious and try first all possibilities. AdjCl is robust and protects itself against any unintended key press. Clearly, the exact time is easily copied from any precise clock inside this graphic environement. This setting reaches a precision of 0.1_s which can hardly be achieved with any other method. One usually leaves the AdjCk environement with CANCEL.

The above time setting procedure is also an important step towards calibration. This means setting the right parameter for an adjustment program which is automatially executed every night. For doing so we first fix some time point as long as the HP49-time and real time are still running synchroneously by pressing STO as indicated in the screen. You will be asked whether FxT should be set or not. This question does not interrupts the internal clock's run. Answering YES creates or overwrites FxT in the Hidden directory. FxT just codes the very moment at which the answer YES occurred. RcFxT recalls date & time in FxT. As long as it is not yet set RcFxT simply beeps. As soon as a time drift is noticable (normally after one or several days) the timing procedure should be repeated. Touching the arrow or the +,- keys is recorded so that the drift from the correct time can precisely be computed. Leaving the screen with ENTER creates some silent alarm (AAA) which from the next day on will run every night at 3:14:15 am, correcting the clock as explained below. If FxT is not set or no adjustment was made in AdjCk, ENTER asks for doing it. Changing the hour time with RS or LS is irrelevant here because this does not concern calibration. The shift keys automatically update an existing FxT in such a way that CurrentTime minus FxT remains constant. Thus, you can trustfully switch DST or adapt the hour time if travelling into another time zone in the middle of a calibration process.

Editing an AAA If there is already an AAA and nevertheless some further adjustment is necessary after some time, one may press ENTER again (repeated calibration). Instead of "AAA created" you see then the message "AAA improved". This should be done at about the same hour as the first calibration was finished because drift from real time is then minimal. Another FxT need not be set. Once the clock run has been stabilized, FxT may be purged with the command PuFxT. AAA does not refer to it. Clearly, also AAA can be purged in the alarm browser which is conveniently launched with the command AlmBr. You identify AAA in the alarm browser at once. If edited it looks similar as in the screen. In the Message field appears a real which we call dat (daily adjustment ticks, the head of a small SysRPL program running AAA with neglectable power consumption). Time units of AdjCk are ticks (1_s = 8192 ticks). Let span denote the time intervall from FxT till now in ticks. Further, let tday denote the number of ticks per day and let drift be the deviation of 49-clock from real time in the time interval span. Then dat is computed by the formula

dat = (tday * drift)/span.

EXAMPLE. Assume the clock is slow about 1_s per day. Then dat is approximately 8000. If calibration is finished by pressing ENTER in AdjCK in the morning, the clock will be very accurate in the morning. It tends to be slightly slow towards evening. After 3 am the next day when most people are sleeping it reaches the delay maximum but then it is suddenly slightly fast. It is easily seen that if a calibration is finished around 3 pm, maximal positive and negative drift are about the same (+- 0.5_s).

Theoretically one could run an AAA several times a day but that may bother other business of the calculator. Keep in mind that not only the clock but also each calibration procedure depends somewhat on environement conditions. If you are not satified with the calibration effect, create a new AAA. When having created FxT and doing some unprecise adjustment shortly after it, the computed drift is probably too large since FxT is too fresh. In such a case you'll see the message "drift too large" and no AAA is created. This message also appears if AdjCk detects a dat greater than 45_s (= 368640 ticks). This is rather unlikely and probably means that your unit is defect.

AdjustCk is not affected by any flags nor does it affect these, the stack, or the content of PICT. Only CANCEL, ENTER, STO, +, -, LS, RS and the arrow keys are active in the AdjCk environement. If something unusual occurred which may affect the 49-clock during calibration, e.g. a system crash, a new calibration is avoidable only if a reasonably fresh HOME backup is available. FxT should not be too old for various reason, not older than a battery life time, say.

HINT for those who want to know everything: Fxt is file '\198' in the Hidden directory. AAA execution at 3:14:15 am derives from the decimal representation of the real pi = 3.1415...


Wolfgang Rautenberg - raut@math.fu-berlin.de   www.math.fu-berlin.de/usr/raut
Thanks to Heiko Arnemann and Otto Praxl for beta-testing.