The C interface to the communication library consists of four routines: CommOpen, CommClose, CommGetErr, and CommSetObj. Interaction with the communication server is accomplished by first opening a connection to with CommOpen, then using CommSetObj to set motor velocities for specific robots, and finally, when finished, closing the connection to the communication server with CommClose. The communication routines use port identifiers to maintain connections to the communication server. By using this system a single C program would be able to make connections to multiple communication servers or to make multiple connections to a single communication server. Each time a connection to a communication server is opened with the CommOpen command it should later be closed with the CommClose command. int CommOpen(char *Addr) Open a connection to a communication server on the machine with the specified IP address. Addr is a character string of the IP address of a machine that is running a communication server. On success, a valid file descriptor is returned. This file descriptor should be used for all future access to the communication server. On failure -1 is returned and CommGetErr should be used to retrieve an error message. void CommClose(int fd) Close a connection to the communication server. fd is the descriptor returned by a successful call to CommOpen. int CommSetObj( int fid, // File Descriptor to use unsigned id, // The dip switch settings of the radio turret of the // desired robot int lm, // Left motor velocity (in units of 0.78cm/s) int rm // Right motor velocity (in units of 0.78cm/s) ) Set the left and right motor speeds for a specific robot. fid is a port identifier created by the 'open' command. id is a numeric value representing the ID number set on the radio turret dip switches of the desired robot. lm is the left motor velocity (in units of 0.78cm/s) to set. rm is the right motor velocity (in units of 0.78cm/s) to set. A return value of 0 indicates success and a return value of -1 indicates an error. char *CommGetErr() Get a text message indicating the last error from the communication server. CommGetErr should be used immediately after an error to retrieve an error message and should be ignored otherwise.