robots(5)

NAME
robots -- RCI robot information file.

DESCRIPTION
The robots file, which lives in $RCCL/conf, describes the I/O interface device and polling interrupt used by each robot configured into an RCI system. This file is referenced when a robot is attached to an RCI task with the rciAttachRobot() call.

The entry for each robot in the file has the form
  robot=<name> device=<dev> address=<addr> [interrupt=<polldev>]
               [arg<n>=<argvalue>]

White space is ignored except as a word delimiter. The character # introduces a comment until the end of the line.

The keywords associated with each entry are:

robot --
    Is followed by the name of the robot being described.

device --

    Is followed by the name of the RCI I/O device which the robot interface functions should use when communicating with the robot. This device name must correspond to the name of an RCI device driver which exists in the table IOdrivers (located in the file drivers/IOdriverTable.c).

address --
    Is followed by an integer giving the address of the specified I/O device. Normally, this is an address on an I/O space bus. The integer may be specified in either decimal, hex, or octal, using the normal C syntax for those bases. The exact interpretation of the address is up to the device's probe routine.

arg<n> --
    Optional arguments to the device driver. Device drivers can be passed up to MAX_DEVARGS integer arguments when they are allocated. The need for, and purpose of, these arguments is driver-specific. One typical use is to provide additional addressing information. For instance, a shared memory driver may need a csr address in addition to separate address for the shared memory. The allowed argument keywords are arg0, arg1, etc., up to argN, where N = MAX_DEVARGS-1. Unspecified arguments are given the value UNDEF.

interrupt --
    This entry is only necessary if the robot's control task is being run on the arbiter CPU. In this case, it gives the special file of an RCI UNIX device which can provide a polling interrupt for the ON_FUNCTION and ON_TRIGGER scheduling disciplines.

    When an RCI task is run on the arbiter CPU, and either ON_FUNCTION or ON_TRIGGER scheduling is specified, then it is necesary to specify a polling interrupt that can be used to "wake up" the RCI monitor to check to see if the task is runnable. The polling interrupt device specified in the robots file is opened by the rciAttachRobot() routine for the robot in question, and a file descriptor is placed in the RCI_RBT structure for that robot. This descriptor can then be used, at the programmer's discretion, as a third argument to rciScheduling().

SEE ALSO
rciAttachRobot(3), IOdevice(7), rciScheduling(3).