\input manualMacros.tex
\manBegin
\manPageInfo{RCI Reference Manual}{}{}
\manTitle{sysprogs params}{5}
\manSection{NAME}
{\tt \manName{sysprogs_params}}
-- parameters for controller RCCL/RCI utility programs.
\manSection{DESCRIPTION}
This is the set of parameters located in the file {\tt .rciparams}
which controls various default behaviours of the RCCL/RCI utility
programs (such as {\tt pumacal}, {\tt move}, {\tt free}, etc.).

A {\tt .rciparams} file appears in {\filefont \$RCCL/conf}, and other files
may be defined in the user's home directory and the current directory. Set
definitions in the latter files take precendence over definitions in the
former files. The {\tt sysprogs} parameter set is an instance of the general
RCI  parameter set facility (see {\tt rciParameters(3)}); it is introduced
in the {\tt .rciparams} file with the declaration
{\tt name=sysprogs}.

The keywords associated with the parameter set are:

\manItem{{\tt cpus} --}
A bitmask describing what CPUs may be used by the utility program
for controlling the robot.
Bit 0 corresponds to CPU 0, bit 1 corresponds to CPU 1, etc.
CPU 0 is the arbiter, or UNIX, CPU.
If the program must run on only the
arbiter CPU, then the entry {\tt cpus=0x1} would be appropriate.
If auxiliary CPUs 1 and 2 are available, and it is desired to run the
program on only them, then the entry {\tt cpus=0x6} would be appropriate.
The utility program will probably only select one CPU, particularly if it
is controlling only one robot.

\manItem{{\tt interval} --}
The sample interval associated with the robot control task, in milliseconds. 
In principle, this interval can be any value, but in practice it should
be set consistently with any restrictions imposed by the scheduling discipline
(see below).

\manItem{{\tt scheduling} --}
Specifies which RCI scheduling discipline is to be used in controlling the
robot. The following disciplines may be used:

\manItem{{\tt ON_FUNCTION} --}
The sample rate will be controlled by the robot controller instead
of by the RCI system. This means that {\tt interval}, defined above, should be
consistent with the control intervals that the robot controller is capable of
delivering. The typical Unimation PUMA controller can deliver accurate control
rates of 7, 14, 28, 56, or 128 milliseconds.

\manItem{{\tt ON_CLOCK} --}
{\tolerance=10000
The sample rate will be controlled by the RCI system, using the 
{\tt ON_CLOCK} scheduling discipline. This means that the control task
will be woken up by the RCI clock and will then signal the controller
to start the next control cycle. Using this scheduling
discipline means that the {\tt interval} parameter should be set to some
multiple of the RCI system clock resolution. On most present
systems, this resolution is around 10 milliseconds. The resolution
may be smaller if RCI has the support of a hardware clock device.

}
\manItem{{\tt ON_TRIGGER} --}
{\tolerance=10000
The sample rate will be controlled by the RCI system, using the 
{\tt ON_TRIGGER} scheduling discipline. This means that RCI will use a 
trigger function to wake up the robot controller at the beginning of the next
control cycle, and the robot controller will then wake up the control task
when it has the feedback data ready to be collected. Using this scheduling
discipline means that the {\tt interval} parameter should be set to some
multiple of the RCI system clock resolution.

}
\manItem{{\tt timeout} --}
Optional parameter controlling
the program's block timeout time, which is defined as the timeout value
multiplied by the control cycle interval time.
For example, a timeout value of 10 and a sample interval of 30 would mean
that RCI would issue a timeout if the control level hung for longer than 300 
milliseconds. The default timeout value is 2.

\manItem{{\tt leavePowerOn} --}
An optional integer parameter which, if set to a true (non-zero) value,
prevents the robot arm power from being switched off after the
program has finished. This is equivalent to specifying the
{\tt -on} option in the program's command line. If the control level is
terminated with an RCI abort, then the power will still be switched off.
The program {\tt power} is unaffected by this parameter. The default value is
false. 

\manSection{SEE ALSO}
\rightskip=0ptplus1fil
{\tt rciParameters(3)}, plus the manual pages for the various utility
programs.

\manEnd
\end
