Contents Links Search
 

RPN Scripts

RPN Documentation

Submit Script

Conversion
   Conversions
   Convert
   Euro
   Euro_Calculator
   Soundex
Engineering
   Feet_&_Inch
   Units
   Water
Entertainment
   Master_Mind
   Sticks!
Finance
   Annuity
   Euro_Calculator
   TVM_Financial_Functions
Math
   3D_Vectors_v1.2
   Base
   Base_Conversions
   Complex_Arithmetic
   Complex_Math
   Discrete_Math
   EBBases
   Fractions
   Fractions
   Least
   Logs_&_Powers
   Misc
   Regressions
   Scientific
   Scientific_Functions
   Scientific_Programmable
   Simple_Complex_Math
   Standard_Normal_Distribution
   Trig
Misc
   Health
   Husband's_Calculator
Physics
   Angle_of_View
   Depth_of_Field
   Physics_Functions
Time
   Clock
   Julian
   Multiple_Timer
   Stop5Watch
   Stopwatch
   Timer
Utility
   Board_Foot_Calculator
   Calendar_Functions
   Checkbook_II
   MiniG
   Stack_Handling_and_Saving
   WindChill

Stop5Watch
Jann Scheuer - email


summary
5 separate stopwatches in one RPN application

instructions
Application Stop5Watch

by Jann Scheuer, scheuer@coco.ihi.ku.dk


1 Units
Application Stop5Watch consists of two units (i.e. RPN function sets):
Stop5 and Watch5.


2 Description
Application Stop5Watch features five simultaneous stopwatches that may
be used separately or together (i.e. started or stopped by one stroke).

Lap and split time values may be saved in the RPN stack. Time values
are indexed so that the user can see which of the five watches a time
value relates to.

The five stopwatches may be operated by the scroll buttons, but scroll
buttons may also be used normally, i.e. for functions set scrolling.

Stop5Watch also features sorting functions for the time values.


3 Buttons

Unit Stop5

Stop5
Menu for setting default values for Stop5Watch.
Split - show split time values.
Lap - show lap time values.
Off - menu for setting offset value in hundreds of seconds.
Sav - toggles saving of time values.
But - toggles function of scroll buttons.

Watch
Calls the Watch5 unit - the function set for displaying and sorting
the results.

^ ^ ^ ^ ^ - start and stop (at split or lap time value)
each watch.

< - start and stop all watches.

v v v v v - reset each watch.

< - reset all watches.

Up scroll button
Function set scrolling or goto next watch.

Down scroll button
Functions set scrolling or start and stop watch.

Unit Watch5

Stop5
Calls the Stop5 unit.

Watch
Calls the Stop5 unit.

Up
Rotates the stack so that values move upwards.

Dn
Rotates the stack the other way around.

Srt
Sorts the stack, either according to indexes or time values.

Cls
Clears the stack.


4 Comments

Offset values
Offset values (in hundreds of seconds) are subtracted from read-out
time values. Offsets go from 0 to 25 hundreds of a second. Initial
value is 0. The idea behind this is to eliminate whatever time it may
take the user to press the buttons and RPN to execute button functions.

Scroll buttons
The Pilot scroll buttons may either function as normal RPN function set
scrolling buttons, or as stopwatch operating buttons. The startup function
is the normal scrolling function. When "Stop5" and "But" is pressed the
buttons operate the stopwatches (and vice versa). The present mode is
not visible to the user in the display. (If you do not know you have to
try and see what happens.)

Indexed time values
Indexes on time values are only used when time value saving is on. So
if no index appears in time values (in the sixth digit after the comma)
split or lap times are not put on the RPN stack.

Active/Inactive watches
Inactive watches show the value -1. Active watches show 0 or a higher
value, if stop has been pressed. Values for inactive watches are deleted
when Stop5 is closed.

Pilot off
Stop5Watch does not run while Pilot is off.

code
RPN.2.k \ Stop5
[a]1Cr2Cr3Cr4Cr5Cr1Xj;
{k}xk(d1.)Vv#'11'=0(Uhxj4>(1:xj1+)Xj:v#'12'=0(UhTtXfxjCf))Ud;
{o}11111CaUd;
{c}hV{_vhr@g10>!(d1)}Ud;
[f]Vxi(vg@g10>(hk@:d1))vx@0=0(xfvX@0:xfvx@-xh-#'100'/xi(#'10'6nPv*+))
v1+p@xg(xfvX@);
[r]V0vX@1nv1+p@;
[o]{xhUdD'Offset value (s/100)\Compensates reaction time.|<|Ok|>|'
c(1n:d1B:1)xh+Xhxh0<(0Xh)xh#'25'>(#'25'Xh)d1};
"Stop5"
"Stop5"D'^ - start, split or lab \v - reset, < - all
|Split|Lap|Off|Sav|But|Ok|'c(0Xg:1Xg:Co:xi(0:1)Xi:xk(0:1)Xk:);
"Watch"G'Watch5';
~
"^"TtXf1Cf;
"^"TtXf2Cf;
"^"TtXf3Cf;
"^"TtXf4Cf;
"^"TtXf5Cf;
"<"TtXf1Cf2Cf3Cf4Cf5Cf;
~
"v"1Cr;
"v"2Cr;
"v"3Cr;
"v"4Cr;
"v"5Cr;
"<"Ca;

RPN.2.e \ Watch5
[h]#'100'*fb;
[s]Xe{1Xd0Xah1-V{_vxa1+Xaxag@Xbxa1+g@Xcxec(xbxc>:xbxc<:
xbChxcCh>:xbChxcCh<)(0Xdxcxa1+p@xbxa2+p@)}xd(B)};
"Watch5"
"Stop5"G'Stop5';
"Watch"G'Stop5';
~
"Up"hr@;
"Dn"hk@;
~
"Srt"D'Sort order|Asc|Des|Asc-i|Des-i|'
Cs;
"Cls"hV{_vd1};

top
Nth Lab
©1996 - 2001 all rights reserved
August 03, 2001
contact