README.TXT MultiTimer for the Psion 3a handheld computer Created 1995 by Erik Johansen Version 1.00 - Released December 1995 / January 1996 DESCRIPTION Many a time have I longed for a timer program for the Psion. I have tried out most available timer programs and none have matched my needs. Most timers can have only one counter, and require the time length to be retyped every time restarted. With MultiTimer things work a bit different. Only one counter (the first counter to expire) is visible at a time. But still up to 30 timers/jobs can be active at a time. MultiTimer does its work the same way as a multitasking scheduler. [This is still not perfect. Menus and dialogs temporarily stops the scheduler - so remember to exit dialogs] Up to 255 functions can be predefined (one for each ascii key combination). A 'timer' is started by pressing the associated key. F.ex.: If the 'b' function is defined as 'W(28) B W(28) B', every time the 'b' key is pressed a new job shows up, first waiting 28 seconds, giving a beep, waits another 28 seconds and gives another beep. This function I often use as a Waffle Timer when baking waffles. Internal functions that require parameters will prompt if a function name is typed directly from keyboard. For example press the 'W' key and you will be prompted for the wait time. Furthermore 'W' defaults to adding a 'B' bell when started from the keyboard. Jobs can be stopped/killed by placing the cursor over the job in the rightmost column and pressing delete. Tha last one killed can be inserted (restarted) by pressing Psion-I. Some examples of often used functions are: W(2h30m)S(Parking) Remember to put a coin in the parking meter after 2 hours 30 min h: W(:00) B W(:30) B h Forever: beep every half hour W(19:30) V(s) W(20:00) V(S) Turn off all sounds from 19:30 to 20:00 FUNCTIONS Built-in functions are in uppercase to make it easier to define true one-key user definitions. Function Example(s) Description ---------------- -------------------- ------------------------------ A(Time,Message) A(12:30,Hello) Schedule a regular alarm at specified time. B B Beep/Bleep 3 tone sound D(PhoneNumber) D(1,555 1234) Dials the phone number using D(*2# *3212#) touch tone dial codes. M(MacroName) M(\macro\mco\Hangup.mco) Calls macro system (Tom Dolbilin) N(Notes/Tones) N(3abcdefg) Plays the notes represented N(wow wow) by letters: N(20z) Tone length in 1/20 sec for N(25gjgjgj) notes follwing. N(5abk log) a-z Notes to play N(10bac8 d d) freq=440+2**(n%/12) n%=3,5,8,10,12 skipped. Silence (freq=0) Includes the function definition specified by that character. The definition should not include N() N(10y y y 20y 10y 20y 10y y) O(Commands) O(Commands) Starts a new process with a O(W(:00)S(bell)) definition that is not bound to a key. This is the same as the &() function. Can be used in a definiton to start parallel functions. P(Options) P Power off (unconditionally) Currently all options are ignored. [Planned: P(?) off after alarm caused Psion to turn on. P(n) set auto switch off time] R(Commands) R25(S(Wroom)) Repeat sequence of commands number of times S(SoundFile,Time) S(Wroom) Plays the specified sound S(Wroom,30) Internal sounds can be S1 or S(1) specified as 1/2/3 The optional time parameter limits the sound to x/20 sec. T T Start/Stop Stopwatch The Stopwatch timer has lower priority than all alarms and is only shown when no other timers are active. The stopwatch can be used as a simple flag to synchronize two jobs. First job starts the timer, Second job makes both jobs continue. V(Volume control) V(3) Sets volume of Psion sounds V(s) s/S Sound system (all) off/on V(5KBNa) k/K Keyboard click off/on b/B Beep off/on a/A Alarms off/on c/C Low/High Click (keyboard) n/N Low/High Notes (Beep) 1-5 Sound level W(Time) W(1/jun/) Wait until time specified W(tomorrow) The Psion is automatically W(3m) turned on when the timer expires W200 If no other commands follow the W(12:00) Wait function, then a Beep is automatically added. W(mon thu fri 12:30) <= Absolute time W(1d 10h 30m 10s) <= Relative time W(//1995) = 1/jan/1995 00:00:00 W(25/12 18: 19:30) = 25/dec/1995 18:30:00 or 19:30:00 W(oct) = October (next match) W(1/ 2/ 3/ mon) = next monday that is 1st-3rd day of the month FunctionName a Call/include definition of k other function. "Comment" "Good morning" Print text at bottom right for a few seconds. &(Commands) &(W(:30)B)&(W(:00)B) Starts a parallel job Ignored Psion combination keys Psion-A Save as Psion-C Copy Psion-D Delete Psion-E Edit Psion-I Insert Psion-J Jump to Psion-M Merge file Psion-N New file Psion-O Open file Psion-R Repaint screen Psion-S Save Psion-W Who did this? Psion-X Exit Other keys ESC During sound: Stop sound. Otherwise return to system screen. DEL Delete definition / Kill job (use Psion-I to reinsert) MENU Gives menu of the above functions HELP Gives a few help screens ENTER Edit function definition Cursor keys behave differently depending on the what field the cursor is in Input field: DOWN moves to Function Definiton field Definition field: UP/DOWN moves between definitions (scrolls) LEFT moves to Input field RIGHT moves to Active Job field Active job field: UP/DOWN moves between jobs LEFT moves to Function Definition field INSTALLATION Copy MULTITIM.OPA into an \APP\ directory and install Multitim from the system screen (Psion-I), and you should be ready to run. \OPL\MULTITIM.OPL and \OPD\MULTITIM.PIC are only needed if you want to recompile the program. AVAILABILITY New versions will be announced by mail to registered users and on my psion home page at http://www.it.dtu.dk/~ej/psion.html ftp://ftp.frontiernet.net/pub/psion/utils/multitim.zip ftp://src.doc.ic.ac.uk/packages/psion/icdoc/utils/multitim.zip ftp://ftp.it.dtu.dk/pub/ej/psion/multitimer/mt100.zip comp.binaries.psion newsgroup and archives REGISTRATION Multitimer is shareware You have a 30 days test period. After that you are required to send a $10 ShareWare fee (in any currency - no coins, please) to Erik Johansen Danish Technical University Department of Information Technology Building 344/345 2800 Lyngby Denmark Please include your Name and E-mail address. When your registration has been processed, you will receive the newest version by mail (uuencoded zip file). Your address will be added to a mailing list for registered users. New versions of Multitimer will be announced on the mailing list. I am currently working on setting up WWW access for registered users to download the most recent versions. Here are just some of the features that are planned in the next version, only available to registered users: * Edit/Modification of jobs after queueing. This makes it easy to just press W