DELAY SHELL GUIDE(C) Copyright 1991, by Rijksuniversiteit Leiden


User's Guide
Reference Guide

DELAY SHELL GUIDE

Version: 1.6
Date: 7 October 1997
Author: P.C. Jonkers

Huygens Laboratorium
Rijksuniversiteit Leiden




Table of Contents User's Guide. . . . . . . . . . . . . . . . . . 5 Introduction. . . . . . . . . . . . . . . . 7 Hardware. . . . . . . . . . . . . . . . . . 9 General . . . . . . . . . . . . . . . . 9 Rulbus rack . . . . . . . . . . . . . . 9 Rulbus monitor. . . . . . . . . . . . . 9 Fan Out 12 x 50 Ohm . . . . . . . . . . 9 Interval Timer. . . . . . . . . . . . . 9 High Resolution Delay . . . . . . . . 10 Software. . . . . . . . . . . . . . . . . 11 General . . . . . . . . . . . . . . . 11 Installation. . . . . . . . . . . . . 11 Interval Timer. . . . . . . . . . . . 11 High Resolution Delay . . . . . . . . 12 Reference Guide . . . . . . . . . . . . . . . 15 Section 1. Commands. . . . . . . . . . . 17 intro(1). . . . . . . . . . . . . . . 19 alias(1). . . . . . . . . . . . . . . 21 delay_sh(1) . . . . . . . . . . . . . 22 echo(1) . . . . . . . . . . . . . . . 26 exit(1) . . . . . . . . . . . . . . . 27 help(1) . . . . . . . . . . . . . . . 28 history(1). . . . . . . . . . . . . . 29 hrdclock(1) . . . . . . . . . . . . . 30 hrdcontrol(1) . . . . . . . . . . . . 31 hrddevice(1). . . . . . . . . . . . . 32 hrdedge(1). . . . . . . . . . . . . . 33 hrdload(1). . . . . . . . . . . . . . 34 hrdstep(1). . . . . . . . . . . . . . 35 hrdtime(1). . . . . . . . . . . . . . 36 itdevice(1) . . . . . . . . . . . . . 37 itrdcount(1). . . . . . . . . . . . . 38 itrdmode(1) . . . . . . . . . . . . . 39 itwrcount(1). . . . . . . . . . . . . 40 pause(1). . . . . . . . . . . . . . . 41 prompt(1) . . . . . . . . . . . . . . 42 rack(1) . . . . . . . . . . . . . . . 43 repeat(1) . . . . . . . . . . . . . . 44 run(1). . . . . . . . . . . . . . . . 45 test(1) . . . . . . . . . . . . . . . 46 time(1) . . . . . . . . . . . . . . . 47 unalias(1). . . . . . . . . . . . . . 48 version(1). . . . . . . . . . . . . . 49 !(1). . . . . . . . . . . . . . . . . 50 Section 2. System Calls. . . . . . . . . 51 intro(2). . . . . . . . . . . . . . . 53 Section 3. C Runtime Library . . . . . . 55 intro(3). . . . . . . . . . . . . . . 57 Section 4. File Formats. . . . . . . . . 59 intro(4). . . . . . . . . . . . . . . 61 delay_sh.hlp(4) . . . . . . . . . . . 63 delay_sh.pro(4) . . . . . . . . . . . 64 delay_sh.usr(4) . . . . . . . . . . . 65 rulbus.sys(4) . . . . . . . . . . . . 66



DELAY SHELL GUIDE(C) Copyright 1991, by Rijksuniversiteit Leiden User's Guide



Introduction This guide contains all nescessary information to program a delay configuration consisting of a RULBUS rack with RB9102 and RB9006 units. RB9102 is an Interval Timer (IT), that can generate four different waveforms with a programmable frequency. RB9006 is a High Resolution Delay (HRD), that generates trigger pulses. The delay of the pulses can be programmed. To operate a configuration using those units you need a number of devices. At first a computer running under DOS that is connected by means of a RULBUS interface and RULBUS flatcable to a RULBUS rack. In the 19'' RULBUS rack you can slide cassettes with different RULBUS cards. Aside of the RB9006 and RB9102 units you will also need a RULBUS monitor in your rack to monitor the bus activity and the power supplies. Furthermore, to be able to derive all clock signals from one master clock oscillator (to reduce jitter), a FAN-OUT 12x50 ohm (RB9101) has been developed, this card supplies you with twelve identical output signals which are the same as the input signal. The guide consists of two parts; the user's guide and the reference guide. The user's guide gives information about the usage of the entire configuration. Hardware as well as software operation will be discussed. From the user's guide you will be able to learn how to operate the DELAY_SH program and how to use RULBUS RB9102 and RB9006 units. The reference guide contains descriptions of each of the DELAY SHELL commands. A brief synopsis will give you all nescessary information on how to use a certain command. A more extensive description explains exactly how the command works and what options you have in using it. All DELAY SHELL commands as well as all general commands that can be used are described.



Hardware General The hardware mainly consists of two different RULBUS units: RB9102 and RB9006. The RB9102 unit is an Interval Timer and the RB9006 is a High Resolution Delay. To operate a delay configuration using those units, a number of hardware devices are nescessary. To program the devices you need a computer running DOS, with a RULBUS interface card. The computer must be linked to a RULBUS rack by means of a RULBUS flatcable. The RULBUS rack is a 19 inch rack in which you can slide cassettes with different RULBUS cards. In the RULBUS rack there have to be a number of devices. At first, the RULBUS monitor, a RULBUS card that displays the status of the rack, and the RULBUS power supplies. Also you will need an Interval Timer (IT) unit and (several) High Resolution Delay's (HRD). To be able to use multiple High Resolution Delay's, a Fan Out 12x50 ohm has been developed, which (in case of more delay cards) also has to be installed in your RULBUS rack. Rulbus rack The rulbus rack is a 19 inch rack in which you can slide cartridges containing one or more eurocards. At the back of the rack there is a rulbus flatcable to connect the rulbus cards to the power supply and the computer. Rulbus monitor The rulbus monitor is a rulbus card that is present in every rulbus rack. It monitors the bus activity. It tests the power supply voltages and indicates by means of a LED if they deviate more than five percent of the nominal values (+5V, +15V, -15V). Also the rulbus monitor detects if the bus address is not $FF; then it will indicate 'RULBUS active' by means of another LED. A third LED indicates a RULBUS interrupt. Fan Out 12 x 50 Ohm The Fan Out 12 x 50 Ohm (RB9101) can be used to simply multiply the number of clock signals available. It has one input and twelve identical outputs that are capable of driving 50 ohm loads. Using this device makes it possible to derive all clock signals for the configuration from one master clock oscillator. This is very important to eliminate most jitter. Interval Timer The Interval Timer (IT) divides an incoming signal by a software programmable divisor. The division is done in three steps; the input signal can be used directly, or you can already divide it by 2, 4, 8, or 16 using the prescaler that is present on the Interval Timer card. This is done by setting a jumper on the card. Also by one of these jumpers you can choose to use the RULBUS 4 MHz clock instead of an external clock. Then the signal proceeds to counter0, counter0 divides the incoming signal, and the outcoming signal of counter0 is the input for both counter1 and counter2. Counter1 and counter2 then independently divide the signal that the counters get from counter0. So the signal at the outputs out1a, out1b and out1c of the Interval Timer will be the input signal divided by cr0 and cr1. The signal at out2a, out2b and out2c will be the input signal divided by cr0 and cr2. All three counters can be programmed independently. The Interval Timer has four operating modes, each generating their own output waveform. The available operating modes are: interrupt, rate, square and strobe. Counter0 however should always operate as a rate generator because its output functions as the cr1 and cr2 input (clock) signal. High Resolution Delay The High Resolution Delay (HRD) is used to generate trigger pulses. It consists of a low resolution delay generator followed by two high resolution delay's in parallel. The low resolution part consists of a 16-bit downcounter that obtains its clock signal directly from the clock input. Counting is started with a pulse on the trigger input. When the counter reaches zero, it generates a pulse at the sync output and triggers the high resolution delay generators. The counter value can be programmed in the 16-bit cr-register. The high resolution delay generators consist of a Digital Programmable Delay Generator ic (AD9500). The trigger pulse (from the sync output) starts a linear ramp that is compared with a reference voltage. When the ramp reaches the reference voltage, the High Resolution Delay generates an output pulse on the out1a,b or out2a,b outputs. The reference voltage is programmed in the 8- bit dg1- or dg2-register. To avoid most jitter it is important that the High Resolution Delay's clock and trigger signals are synchronized. This can be achieved by deriving the trigger signal from the clock generator used by the HRD. Because the frequency of the trigger signal is much lower than the clock frequency, the trigger signal is generated by the Interval Timer, which can divide the incoming clock signal to obtain a relatively low-frequency trigger signal. To use the HRD and the Interval Timer devices together, you should connect the clock output of the external clock to the HRD clock input as well as the Interval Timer's in input. The Interval Timer's output should be used as trigger input for the High Resolution Delay. The High Resolution Delay has two outputs that can independently be programmed. Each output is available twice. The total delay consists of the low resolution delay added to the high resolution delay. The low resolution delay can be programmed in the cr-register and depends on the clock frequency. The high resolution delay can be programmed in the two dg-registers (DG1, DG2) and is determined by certain components used in the HRD. The active edge of all in- and outputs can be programmed in the ctl (control) register.

Software General The driver software to program both the Interval Timer as well as the High Resolution Delay, has been combined in the so-called DELAY SHELL (delay_sh). The Delay shell contains a number of commands that can be used to program both RULBUS devices. In addition to that, there are a number of general commands that may be useful to the user. If the Delay shell is started, the delay_sh.pro profile will be run. Default, a brief explanation of the shell will appear, followed by a list of all commands and a prompt. All Interval Timer related commands begin with IT, and similarly all commands of the High Resolution Delay start with HRD. The exact description of each command is given in the Delay shell reference guide. A general procedure to program both devices will be described here. Installation The Delay shell 1.6 diskette has the following directory structure: \lib \shell \sou To install the Delay_sh program, go to the root directory and type: install directoryPathname This will copy the delay_sh program and its associated files (delay_sh.pro, delay_sh.hlp and delay_sh.usr) to the specified drive, directory. If the destination directory does not yet exist, it will be created. To run the program go to the \shell directory and type: delay_sh This will execute the Delay shell. Interval Timer Always start to program the Interval Timer(s) before the High Resolution Delay('s). To program the Interval Timer you have four commands. Only two are needed to actually program the counters. The other commands are just useful tools to give you certain information about the device. To program the IT (Interval Timer), first select the desired device number with the itdevice command. Default this value is 0. Next you can program the three Interval Timer counters. Start with cr0, then program cr1 and cr2. The itwrcount command is used to do so. If you finished this, the Interval Timer is programmed and working. The two remaining commands (itrdcount, itrdmode) can be used to get information on the current operating mode or counting value of each of the IT counters. Reading the registers 'on the fly' will not affect the counting procedure. High Resolution Delay To program the High Resolution Delay there are seven commands. Like with the Interval Timer, you should start to select the desired device number with the hrddevice command. Default this value is 0. Then you can start supplying the software driver with the nescessary information on the used clock frequency (with the hrdclock command) and the used HRD's high resolution steptime (usually 1 nsec) by means of the hrdstep command. Then, you can set the desired active edge of all in- and outputs. This can be done either by setting a bitmask (command: hrdcontrol), or by a list of names and polarities with the hrdedge command. Next you can program the desired delay times for the low resolution cr-register and the high resolution dg-registers. You can directly load the registers (and calculate yourself what the delay time will be) by means of the hrdload command. Or you can use the hrdtime command to program the registers by setting a delay time in seconds. After doing this, the HRD will have been programmed.



DELAY SHELL GUIDE(C) Copyright 1991, by Rijksuniversiteit Leiden Reference Guide



Section 1. Commands



intro(1) Delay shell guide intro(1) NAME intro - introduction to section 1 (commands) DESCRIPTION Section 1 describes the commands of the Delay shell.



alias(1) Delay shell guide alias(1) NAME alias - define or display alias SYNOPSIS alias [-h] [name[=value] ...] -h : display help name : name of new command value: a command line DESCRIPTION alias creates or displays command aliases. The shell checks for the first word of a command in the list of currently defined aliases. If a match is found, the shell replaces the alias with its associated string value. The result is a new commandline that might begin with a built-in command or an external command. The new commandline will not be checked for aliases again. If alias is called without parameters, it displays all the currently defined aliases and their associated values. If only name is specified, alias displays name and its associated value. If alias is called with parameters of the form name=value, it creates an alias for each name with the given string value. If value contains spaces, the entire expression should be included in quotation marks. If the -h option is specified, alias displays a help message. alias : show list of all defined commands alias -h : display help alias name : diplay the definition (value) of the specified command alias name=value: define a new command EXAMPLE alias "dir=dir/w" alias "hrdinfo=echo HRD settings:; hrddevice; hrdtime" SEE ALSO history(1), unalias(1)

delay_sh(1) Delay shell guide delay_sh(1) NAME delay_sh - High Resolution Delay & Interval Timer shell SYNOPSIS delay_sh [-c cmdstring] [scriptfile [arg ...]] cmdstring : a Delay shell command scriptfile: a Delay shell scriptfile DESCRIPTION The description of the Delay shell is divided in the following subsections: Options and Invocation, Command Syntax, Command Execution, Quoting, Parameter Substitution, Filename Generation, Redirection, Variables and Internal Commands. The order of subsections dealing with substitution or interpretation of input reflects the order in which the shell performs those substitutions and interpretations. Because much of the functionality of the shell is found in built-in commands, some features of the shell are documented only in the specific pages for that built-in command. Options and Invocation This shell is intended as an extra shell around the DOS command interpreter command.com. The shell can work in either interactive or script interpreting mode. When the shell starts in interactive mode, it begins by executing the file specified by the environment variable '$RULSHL_PRO' if it is set, or else the file 'delay_sh.pro' if it exists. The shell does not complain if any of these files cannot be found. If there is at least one argument, the first such argument is taken as the name of a shell command file (shellscript) to execute. Subsequent arguments are assigned to the positional parameters which usually serve as arguments to shell command files. See Parameter Substitution for information about positional parameters. If no options are given, the shell starts interpreting the commands entered on the commandline. The shell understands the following options on the commandline: -c cmdstring Executes the one argument cmdstring as if it where an inputline to the shell and then exits. This is used by programs or batchfiles that wish to call the shell for a single command. Command Syntax The shell implements a simple command syntax that allows to control the execution and combination of individual commands. When the shell scans its input, the following characters are always treated specially: ; < > space tab new-line

Because these characters normally delimit arguments, they must be quoted to be included in an argument (see Quoting below). A simple command is a list of arguments separated by whitespace (blanks or tabs). An argument with an unescaped '#' introduces a comment, and input up to the next new-line is discarded. A command may be one of the following: command:simple command command; command command; ';' is the sequential execution operator. The second command is executed only after the first command has completed. Command Execution External commands undergo the normal DOS path search. Quoting In order to override the special meaning of certain special characters, several quoting mechanisms are provided in the shell. In general the special meaning of any character can be turned off with a preceding backslash '\'. This escape mechanism however, can get cumbersome, and you have to know which characters need to be escaped. As an alternative, the most stringent quoting mechanism is to surround the entire command argument with apostrophe (single quote) characters. You can also surround arguments with quotation (double quote) characters. This shell makes no distinction between both types of quotation. Inside quotations, no command substitutions are made. Everything between quotation marks is within one command argument. Parameter Substitution The parameters listed below and variables in the environment space, defined before the shell started may be expanded into the argument list of any command before execution. A variable or parameter is expanded by putting '$' in front of the name or the symbol, as in: command $environment_variable The following parameters are built-in to the shell: # Expands to the number of positional parameters. d A single digit d expands to the dth positional parameter, or null string if that parameter is not set. ? Expands to the exit status of the last command executed. Filename Generation No special filename generation takes place in this shell.

Redirection Typically, commands running under the Delay shell make use of three standard input/output streams: - standard input (0) - standard output (1) - standard error (2) The number shown after the name of each stream above, is the file descriptor number associated with that stream. Normally all three of these file descriptors will represent the user's terminal. However it is possible to redirect these file descriptors to or from another file (so that I/O on the associated streams takes place on the file instead of the terminal). In fact, you can redirect the I/O streams associated with the file descriptors '0' and '1', using the following commandline constructs: name Tells the shell to use the file name as standard output (file descriptor 1). The file will be created if it does not already exist. Output written to the file will overwrite the current contents of the file (if any). >>name Is the same as >name except that output is appended to the current contents of the file (if any). The scope of redirection is limited to a simple command. Variables Within the Delay shell, the DOS environment variables are available through the '$var' variable expansion. It is not possible to set variables in the shell. The following are variables that the shell understands: RULSHL_PRO This variable specifies the pathname of the profile to run at startup of the shell. The profile can contain predefined aliases and standard commands to execute. If this variable is not set, the name of the profile to run is composed of the full shell pathname where the extension is replaced with '.pro'. RULSHL_HLP This variable specifies the pathname of the file with help texts on the standard shell commands. If this variable is not set, the name of the helpfile is composed of the full pathname of the shell, where the extension is replaced with '.hlp'.

RULSHL_USR This variable specifies the pathname of the file with user defined help texts. If this variable is not set, the name of the user helpfile is composed of the full pathname of the shell, where the extension is replaced with '.usr'. Internal Commands The following commands are built into the shell: alias echo exit help history hrdclock hrdcontrol hrddevice hrdedge hrdload hrdstep hrdtime itdevice itrdcount itrdmode itwrcount pause prompt rack repeat run test time unalias version ! See the specific manual pages for details on these commands. delay_sh : start Delay shell in interactive mode delay_sh scriptfile arg: execute the specified scriptfile delay_sh -c command : execute the specified command(s) SYNTAX command [options] [arg ...] [; command [options] [arg ...] ...] EXAMPLE delay_sh -c itwrcount cr0 rate 23 FILES delay_sh.pro - file with startup commands delay_sh.hlp - file with help texts on standard commands delay_sh.usr - file with help texts on specific Delay shell commands SEE ALSO alias(1), delay_sh.pro(4), delay_sh.hlp(4), delay_sh.usr(4), echo(1), exit(1), help(1), history(1), hrdclock(1), hrdcontrol(1), hrddevice(1), hrdedge(1), hrdload(1), hrdstep(1), hrdtime(1), itdevice(1), itrdcount(1), itrdmode(1), itwrcount(1), prompt(1), repeat(1), run(1), test(1), time(1), unalias(1), version(1), !(1)

echo(1) Delay shell guide echo(1) NAME echo - write arguments to standard output SYNOPSIS echo [-n] [argument ...] -n : do not end with newline argument: arguments to be echoed DESCRIPTION echo writes the specified argument to the standard output. Arguments are scanned for standard C-style escape sequences: \a : alert (Bell) \b : backspace \f : formfeed \n : newline \r : carriage return \t : tabulator stop \c : do not end with newline \ooo: octal number The final argument is followed by a new-line unless '\c' is found somewhere in the arguments. Arguments are subject to standard argument manipulation (expansion). echo argument... : echo the specified arguments echo -n argument... : echo the specified arguments but don't end with a newline EXAMPLE echo "hallo \n" SEE ALSO delay_sh(1)

exit(1) Delay shell guide exit(1) NAME exit - terminate the Delay shell SYNOPSIS exit [status] status: 0..255 DESCRIPTION The exit command terminates the shell. The value of status is returned to the parent process as the exit status or DOS errorlevel of the shell. If status is omitted, a value of zero is returned. EXAMPLE exit 24

help(1) Delay shell guide help(1) NAME help - display help on specified command SYNOPSIS help [item...] item: any Delay shell command DESCRIPTION help tries to give information about the command specified by item. The help command acts as a mnemonic reference tool for command options. It offers more information than the standard usage message displayed by all commands, but considerably less than the manual pages in the reference manual. Output for a single command is intentionally brief, and should usually fit one CRT screen. help will first look in the file specified by the environment variable '$RULSHL_HLP' if it is set, or if not set in file 'programPathname.hlp'. Further it looks for user defined help in the file specified by the environment variable '$RULSHL_USR' if it is set, or if not set in file 'programPathname.usr'. If no helptext is found on the specified command, help displays the message 'No information on 'command'.'. If no item is specified, help shows the available commands. help : show the available commands help item...: display help on the specified item EXAMPLE help itwrcount FILES delay_sh.hlp - file with help texts on standard commands delay_sh.usr - file with help texts on specific Delay shell commands SEE ALSO delay_sh(1), delay_sh.hlp(4), delay_sh.usr(4)

history(1) Delay shell guide history(1) NAME history - display previous commands SYNOPSIS history DESCRIPTION history displays a number of previously entered commands. The commands displayed can be reentered with the ! command. EXAMPLE history SEE ALSO !(1), alias(1), unalias(1)

hrdclock(1) Delay shell guide hrdclock(1) NAME hrdclock - set clock frequency for HRD driver software SYNOPSIS hrdclock [frequency] frequency: clock frequency in Hertz DESCRIPTION hrdclock is used to set the HRD clock frequency for the driver software. With this information the driver software calculates the low resolution delay. Set hrdclock before loading the HRD registers. When an invalid number of arguments is specified, hrdclock displays a help message. EXAMPLE hrdclock 1E7 SEE ALSO hrdstep(1)

hrdcontrol(1) Delay shell guide hrdcontrol(1) NAME hrdcontrol - set active edge of HRD in- and outputs SYNOPSIS hrdcontrol polarity bitmask polarity: p, n, i bitmask : binary 8-bit mask to specify in- and outputs 7 6 5 4 3 2 1 0 7 6 : not used 5 : trigger input 4 : out1a output 3 : out1b output 2 : out2a output 1 : out2b output 0 : sync input DESCRIPTION hrdcontrol can set the active edge of one or more of the HRD in- and outputs. The polarity for the active edge is specified by 'p' for positive, 'n' for negative or 'i' for inverse polarity. To specify the in- and outputs, set the corresponding bits of the bitmask to 1. The bitmask may be specified in decimal (eg.: 123), or hexadecimal (eg.: 0xAB, $AB) form. EXAMPLE hrdcontrol p '$24' SEE ALSO hrdedge(1)

hrddevice(1) Delay shell guide hrddevice(1) NAME hrddevice - set or display High Resolution Delay device number SYNOPSIS hrddevice [devnum] devnum: rulbus device number for selected HRD device DESCRIPTION hrddevice sets or displays the RULBUS device number. If no devnum is specified hrddevice displays the current device number. If a devnum is given, it is used for subsequent HRD commands. With this RULBUS device number the address of the HRD is obtained from the rulbus.sys file. Default, the device number is 0. EXAMPLE hrddevice 3 FILES rulbus.sys(4) - file with device number-address information SEE ALSO itdevice(1), rulbus.sys(4)

hrdedge(1) Delay shell guide hrdedge(1) NAME hrdedge - set or display active edge of HRD in- and outputs SYNOPSIS hrdedge [-h] [[polarity] in/output...] -h : displays help polarity : p, n or i in/output: trig, sync, out1a, out1b, out2a, out2b, all DESCRIPTION hrdedge sets or displays the active edge of the HRD in- and outputs. If no arguments are given, hrdedge displays the current settings of all in- and outputs. If one or more in- or outputnames are given, their settings are displayed. If a polarity is given before the in- and outputnames, their active edge is set according to the polarity specified. A 'p' polarity sets the active edge to positive, 'n' to negative and 'i' sets it to inverse. If the -h option is specified hrdedge displays a help message. hrdedge : display all current settings. hrdedge -h : display help. hrdedge in/output... : display the current setting(s) of the specified in- or output(s). hrdedge polarity in/output... : set the active edge of the specified in- or output(s) to positive, or negative going, or invert their current setting. EXAMPLE hrdedge p trig sync SEE ALSO hrdcontrol(1)

hrdload(1) Delay shell guide hrdload(1) NAME hrdload - load HRD registers directly SYNOPSIS hrdload register value register : cr, ctl, dg1, dg2 value cr : 0..65535 value dg1: 0..255 value dg2: 0..255 value ctl: 0..$3F DESCRIPTION hrdload loads a value directly into one of the HRD registers. The cr- register contains the counter value for the low resolution delay generator. The delay time of the low resolution delay generator, is value / clock frequency. The dg-registers contain the value for the high resolution delay generators. The delay of the high resolution delay generators is value * steptime. The ctl-register is used to set the active edge of the HRD's in- and outputs. Value can be specified in decimal notation (eg.:123) or hexadecimal notation (eg.:0xAB or $AB). If an invalid number of arguments is specified, a help message will be displayed. EXAMPLE hrdload dg1 0x30 SEE ALSO hrdtime(1)

hrdstep(1) Delay shell guide hrdstep(1) NAME hrdstep - set or display high resolution step for hrdtime command SYNOPSIS hrdstep [time] time: 10E-12..20E-6 [s] DESCRIPTION hrdstep sets or displays the high resolution HRD steptime for the hrdtime command. The hrdstep value is used by the software to calculate the high resolution delay time. The steptime is determined by the components used in the HRD. P1, R10 and C15 for dg1 and P2, R16 and C22 for dg2. The steptime ranges from 10 ps to 20 s. If time is specified this value is saved for later use. If no argument is given hrdstep displays the current steptime. When an invalid number of arguments is given, hrdstep displays a help message. EXAMPLE hrdstep 1E-9 SEE ALSO hrdclock(1), hrdtime(1)

hrdtime(1) Delay shell guide hrdtime(1) NAME hrdtime - set or display delay time for HRD registers SYNOPSIS hrdtime [-h] [register...] [[+-] time] -h : display help register: cr, dg1, dg2 + : add/subtract time from current delay time : delay in seconds DESCRIPTION hrdtime sets or displays the delay time of the HRD delay generators. If no delaytime is given hrdtime displays the delaytime of the specified delay generators or, if none is specified, of all delay generators. If time is specified, the specified delay generator(s) is(are) set to this delaytime. If the + or operator is specified direct in front of time, the specified time will be added or subtracted from the current delay for that delay generator. hrdtime : display current settings for all three registers hrdtime -h : display help message hrdtime register... : display current settings for specified registers hrdtime register... time : set absolute delay for specified registers hrdtime register... +/-time: set relative delay for specified registers EXAMPLE hrdtime dg1 dg2 +50e-9 SEE ALSO hrdload(1)

itdevice(1) Delay shell guide itdevice(1) NAME itdevice - set or display Interval Timer device number SYNOPSIS itdevice [devnum] devnum: rulbus device number for selected IT device DESCRIPTION itdevice sets or displays the RULBUS device number. If no devnum is specified itdevice displays the current device number. If a devnum is given, it is used for subsequent IT commands. With this RULBUS device number the address of the IT is obtained from the rulbus.sys file. Default, the device number is 0. EXAMPLE itdevice 3 FILES rulbus.sys(4) - file with device number-address information SEE ALSO hrddevice(1), rulbus.sys(4)

itrdcount(1) Delay shell guide itrdcount(1) NAME itrdcount - read current count of specified Interval Timer counter SYNOPSIS itrdcount counter counter: cr0, cr1, cr2 DESCRIPTION itrdcount displays the current count of the specified Interval Timer counter. The itrdcount command does not affect the counting procedure. Counter can be any of the IT counters (cr0, cr1, cr2). If an invalid number of arguments is specified, itrdcount displays a help message. EXAMPLE itrdcount cr1 SEE ALSO itwrcount(1)

itrdmode(1) Delay shell guide itrdmode(1) NAME itrdmode - read current operating mode of specified Interval Timer counter SYNOPSIS itrdmode counter counter: cr0, cr1, cr2 DESCRIPTION itrdmode displays the operating mode of the specified Interval Timer counter. The itrdmode command does not affect the counting process. Counter can be one of the Interval Timer counters (cr0, cr1, cr2). If an invalid number of arguments is specified, itrdmode displays a help message. EXAMPLE itrdmode cr0 SEE ALSO itrdcount(1), itwrcount(1)

itwrcount(1) Delay shell guide itwrcount(1) NAME itwrcount - write operating mode and divisor for the specified Interval Timer counter SYNOPSIS itwrcount counter mode value counter: cr0, cr1, cr2 mode : interrupt, rate, square, strobe value : 1..36535 (2..36535 for rate and square) DESCRIPTION itwrcount sets the selected operating mode for the specified Interval Timer counter and programs the counter with the specified divisor. Valid counters are cr0, cr1 and cr2. Operating modes are: interrupt, rate, square and strobe. The divisor must be in the range of 1 .. 36535. For rate and square however the divisor ranges from 2..36535. The total division of the Interval Timer will be the cr0 divisor multiplied by the cr1 or cr2 divisor (depending on the selected output: out1 -> cr0*cr1; out2 -> cr0*cr2). EXAMPLE itwrcount cr2 rate 247 SEE ALSO itrdcount(1)

pause(1) Delay shell guide pause(1) NAME pause - display message and wait for a keypress SYNOPSIS pause [message ...] message: ascii text DESCRIPTION pause displays the given message, if specified, and waits for a keypress. During the execution of the pause command no action takes place. EXAMPLE pause 'Process paused until a key is pressed.' SEE ALSO repeat(1)

prompt(1) Delay shell guide prompt(1) NAME prompt - show or set prompt SYNOPSIS prompt [text] text: any ascii text, $d, $p, $n, $t, $v, $g, $l, $b, $q, $e, $h, $_ DESCRIPTION prompt can show the current contents of the prompt variable, or sets prompt to a specified text, interpreting special characters as shown below. prompt : show current prompt prompt text: set prompt to the specified text $d: date $p: drive/directory $n: drive $t: time $v: DOS-version $g: > $l: < $b: | $q: = $e: escape character $h: $ $_: start of newline EXAMPLE prompt 'Date= $d$_Time= $t'

rack(1) Delay shell guide rack(1) NAME rack - select RULBUS rack, or display number of currently selected RULBUS rack SYNOPSIS rack [number] number: 0..14 DESCRIPTION rack selects the RULBUS rack. If no arguments are given, rack displays the number of the currently selected rack. If a number is given, rack will set the RULBUS rack number to the number specified. Default the number zero rack is selected. EXAMPLE rack 12 SEE ALSO hrddevice(1), itdevice(1)

repeat(1) Delay shell guide repeat(1) NAME repeat - repeat specified command SYNOPSIS repeat [-d] [-stime] [count] command [arg...] -d : display sequence number -stime : sleep time seconds between each execution of command count : number of times to repeat command: a Delay shell command DESCRIPTION The repeat command repeatedly excecutes the given command count times, or infinitely if no count is given. You can interrupt an internal Delay shell command with . It is not possible to interrupt an external command, so be careful with infinitely repeating external commands. If - d is specified repeat displays a sequence number before the command is executed. If -s is given repeat sleeps time seconds between each execution of command. EXAMPLE repeat -d itrdcount cr0

run(1) Delay shell guide run(1) NAME run - run script from specified scriptfile SYNOPSIS run scriptfile scriptfile: Delay shell scriptfile DESCRIPTION run runs the script from the specified Delay shell scriptfile. It is possible to nest the execution of scripts, i.e. one script can run another script as a subroutine. EXAMPLE run file.dsh

test(1) Delay shell guide test(1) NAME test - test any rulbus address SYNOPSIS test [address] address: any rulbus address DESCRIPTION test can be used to test a rulbus address by continuously writing to that address until a key is pressed. Address may be the address of any rulbus register of any rulbus device. The specified address must include the RULBUS base address of the IBM-RULBUS converter. If an invalid number of arguments is specified, test will display a help message. EXAMPLE test '$283'

time(1) Delay shell guide time(1) NAME time - display elapsed time for specified commands SYNOPSIS time command [arg...] command: a commandline DESCRIPTION time runs the commandline given as its argument and displays the time to execute this commandline. The time is displayed in the form 12h 34m 56.78s. EXAMPLE time hrdload cr 123

unalias(1) Delay shell guide unalias(1) NAME unalias - remove aliases SYNOPSIS unalias [-h] name ... -h : display help name: an alias name DESCRIPTION unalias removes each alias name. When the -h option is used, a help message is displayed. unalias -h : display help message unalias command: remove alias EXAMPLE unalias timerinfo SEE ALSO alias(1)

version(1) Delay shell guide version(1) NAME version - show version of the Delay shell program SYNOPSIS version DESCRIPTION version displays the version logo of the delay shell program. EXAMPLE version

!(1) Delay shell guide !(1) NAME ! - execute command from history list SYNOPSIS !number [supplement] number : number of command from history list supplement: command supplement DESCRIPTION ! executes the specified command from the history list. !number : execute command number from history list !number supplement: execute command number, supplement added. EXAMPLE !4 SEE ALSO alias(1), history(1), unalias(1)

Section 2. System Calls



intro(2) Delay shell guide intro(2) NAME intro - introduction to system calls DESCRIPTION Because the Delay shell does not provide a system call interface, Section 2 is provided solely as a placeholder.



Section 3. C Runtime Library



intro(3) Delay shell guide intro(3) NAME intro - introduction to the C runtime library DESCRIPTION Because the Delay shell does not provide a C library interface, Section 3 is provided solely as a placeholder.



Section 4. File Formats



intro(4) Delay shell guide intro(4) NAME intro - introduction to file formats DESCRIPTION Section 4 of the Delay shell Reference manual gives more detailed information on the formats of files used by the various commands described in Section 1.



delay_sh.hlp(4) Delay shell guide delay_sh.hlp(4) NAME delay_sh.hlp - format of the delay_sh.hlp file DESCRIPTION help(1) uses the file delay_sh.hlp to display help texts on the general delay shell commands. When help is asked by the user, the delay shell searches the delay_sh.hlp file for help on the specified command. If a help text is found it will be displayed, if not, the delay shell will continue searching the file with user specified help texts (if it exists). Syntax: The format of the entries in the file is as in: #commandname helptext helptext ... commandname: a delay shell command name helptext : the matching helptext : space : newline An entry starts with a '#' in the first column, directly followed by the commandname. The following lines contain the helptext, where each line starts with a single space. The entry ends when the next '#' is encountered in the first column, or end of file is reached. The last line of the helptext of one entry and the startline of the next entry are separated by an empty line. SEE ALSO delay_sh.usr(4), help(1)

delay_sh.pro(4) Delay shell guide delay_sh.pro(4) NAME delay_sh.pro - format of the delay_sh.pro file DESCRIPTION delay_sh(1) interpretes the delay_sh.pro shell script before executing any other commands, if the environment variable '$RULSHL_PRO' is not set to specify another file. Any delay shell command may be specified in the delay_sh.pro file. Execution of this file facilitates custom initialization (e.g. setting predefined aliases). SEE ALSO delay_sh(1)

delay_sh.usr(4) Delay shell guide delay_sh.usr(4) NAME delay_sh.usr - format of the delay_sh.usr file DESCRIPTION help(1) uses the file delay_sh.usr to display user defined help texts on the delay shell commands. When help is asked by the user, the delay shell searches the delay_sh.usr file for help on the specified command. If a help text is found it will be displayed, if not, the delay shell will display the 'No information on 'command'' message. Syntax: The format of the entries in the file is as in: #commandname helptext helptext ... commandname: a delay shell command name helptext : the matching helptext : space : newline An entry starts with a '#' in the first column, directly followed by the commandname. The following lines contain the helptext, where each line starts with a single space. The entry ends when the next '#' is encountered in the first column, or end of file is reached. The last line of the helptext of one entry and the startline of the next entry are separated by an empty line. SEE ALSO delay_sh.hlp(4), help(1)

rulbus.sys(4) Delay shell guide rulbus.sys(4) NAME rulbus.sys - format of the rulbus.sys file DESCRIPTION The rulbus.sys file describes the configuration of the RULBUS system. It contains a list of all available rulbus devices and their device numbers and corresponding addresses. The RULBUS initialization routine rb_ini() searches for the rulbus.sys file on the default drive, default directory. The file is used for the assignment of addresses to a number of variables: rulbus : RULBUS base port address (local to rb_ini()) deviceptr->max : highest valid device number (used by driver) deviceptr->ad[n]: port address for device n (used by driver) Syntax: [ ] [ ]; comments [ ]keyword [ ]address[ ][;comments] [ ]identifier [ ]number [ ]address[ ][;comments] comments : any printable ascii text keyword : name as shown below (case unsensitive) identifier : name not being keyword (case unsensitive) number : number of device address : port address relative to 'rulbus' [ ] : optional : carriage return, linefeed sequence keyword : rulbus Note : numbers and addresses may be specified using octal (Ooo), decimal or hexadecimal (0xhh, $hh) notation. SEE ALSO delay_sh(1) EXAMPLE hrd 0 0xD8;RB 9006 High Resolution Delay hrd 1 0xE0;RB 9006 High Resolution Delay