devserv:  README

The package for devserv-src-v0.4.3.tar.gz contains these files:
	README (this file)
	devserv.1 (man page, in docs/)
	.devserv.config (text file, in docs/)

	The following files are under /src:

	Makefile.solaris (to build devserv under Solaris without CIF support)
	Makefile.solaris.cif (to build devserv under Solaris with CIF) 
	Makefile.freeBSD (to build devserv under freeBSD without CIF)
	Makefile.irix (to build devserv under Irix without CIF)
	devserv.cc
	network.h
	network.cc
	udpnet.h
	udpnet.cc
	ipnet.h
	ipnet.cc
	serialport.h
	serialport.cc
	Device.h
	Device.cc
	Switcher.h
	Switcher.cc
	utils.h
	utils.cc
	panasonicwjmx50.h
	panasonicwjmx50.cc
	Cam.h
	Cam.cc
	sonyevid30.h		
	sonyevid30.cc
	canonvcc3.h
	canonvcc3.cc
	canonvcc1.h
	canonvcc1.cc

The packages for devserv-bin-a0.4.3-solaris2.6.tar.gz, devserv-bin-a0.4.3-
freeBSD.tar.gz, and devserv-bin-a0.4.3-irix6.4.tar.gz contain:
	README (this file)
	devserv.1 (man page, in docs/)
	.devserv.config (text file, in docs/)
	devserv (binary, in bin/)


Platform:  devserv was developed and tested under Solaris 2.6 and
	   ported to freeBSD 2.2.6, Irix 6.4, and Windows 95/NT.  
	   The solaris binary includes the CIF communication library.
	   (See our website http://www-itg.lbl.gov/mbone/devserv for
	   information about the CIF communication library.)

To build devserv (under UNIX): 
	Three makefiles are included in this package.  Choose the
	appropriate makefile (or, if you would prefer, write your
	own, such as for some other platform).  If you are using
        Makefile.solaris.cif, you'll need to edit the INCLUDE and
	CIF_LIBRARY paths to reflect your system.  Specifically,
	these lines are:
		CIF_INCLUDE =
		CIF_LDFLAGS =
	Make sure that the compiler is defined correctly for your
	system (this is the line "CC = " in all of the makefiles).

	To avoid using the "-f" make option, you might want to
	rename the chosen makefile to "Makefile" and simply run
	"make".	

To run devserv (see the man page for further details):

	1). Install the binary in any directory.

	2). Install the hardware configuration file,
	    .devserv.config, in your home directory and
	    edit the file to reflect your device connections.
	    You may also make entries to override the default
	    network addresses and ports, and to specify video
	    This file treats any line beginning with "#" as a
	    comment.  

	    Devserv reads this file at startup to learn about the
	    devices it must support. So if you change the hardware
	    configuration, you must edit the devices entries in
	    this file.

	    Entries for devices are stored in the following format: 

	      device <make> <model> <device no.> <type> <unit no.> \
		      <serial port> <lens-type>

 
	    **** NOTE ************************************************** 

	    The device number given by <device no.> is used for internal
	    device addressing.  The Sony EVI-D30 requires the addresses to 
            be numbered 1, 2, 3, etc., in order from the closest to the 
            computer to the farthest away. This number is NOT the camera 
            number on the back of the camera unit.  The camera numbers 1, 2, 
            and 3 on the back of the Sony EVI-D30 are for use with the 
            hand-held remote commander unit.  <device no.> IS INDEPENDENT OF 
            <unit no.>.  

	    ***********************************************************

            The <type> and <unit no.> constitute the "handle" used by the 
	    client to make requests to move the device. <unit no.> is
	    assigned by the devserv user.  It does not have to be assigned
	    on the basis of hardware connections.

	    The <serial port> gives the full pathname for the serial port
	    to which the device is connected.  For SUN workstations, use
	    /dev/ttya and /dev/ttyb, for ports A and B, respectively.  On 
	    a PC running freeBSD, use /dev/ttyd0, /dev/ttyd1, /dev/ttyd2, etc.
	    for serial ports COM1, COM2, COM3, etc., respectively. 

	    <lens type> gives the type of lens for a camera.  If left
	    blank, the default is used, which is a standard lens.  If
	    the camera is using a wide-angle lens, specify "w" or "W".
	    
	    Here are sample entries: 
	      device: Canon VC-C3 1 camera 1  /dev/ttyb w
	      device: Sony EVI-D30 1 camera 2 /dev/ttya 
	      device: Sony EVI-D30 2 camera 3 /dev/ttya	
	   
	    These entries indicate that two Sony EVI-D30 cameras are
	    connected to port A on a SUN workstation and a Canon VC-C3
	    camera with a wide-angle lens is connected to port B.  The 
	    Sonys are chained.

	    The client will refer to the Sony cameras as "camera 2" and
	    "camera 3", while devserv will use the device numbers 1 and 2.
	    The client will refer to the Canon as "camera 1".  The Canon is
	    is the first and only device attached to Port B, so it is 
	    given a device number of 1.  

	    NOTE: You may use "cam" or "vid" for "camera" and "videoswitch",
	          respectively in the <type> field.	

	3). Run devserv from the command line. 
            Devserv supports the following command line options:
		[-d <debug_level>] [-s 'N' or 'n'] [-t <ttl>] 
		[-v <video_address/video_port/video_ttl>]
		[-h <video_host>]

	    If the "-d" option is used, the terminal will display
	    output for the category indicated by the given integer.
	    Specify debug_level 0 if you do not want anything displayed;
	    specify 1 if you want only high-level information (e.g.,
	    initialization and termination status and error messages, if
	    any); specify 2 if you want to display network events; 
	    specify 3 if you want to display communication between
	    devserv and the devices; specify 4 if you want everything
	    displayed.  1 is the default debug_level.
	    
	    If the "-s" option is used, "no" or "n" means do NOT turn off
	    the power upon termination.	

	    If the "-t" option is used, the integer given for <ttl>
	    is the time-to-live for multicast messages.  1 is the
	    default time-to-live. 

	    If the "-v" option is used, the given string (delimited by
	    "/") specifies the address, port, and time-to-live used by
	    the video tool for media transmission.  This information is 
	    included in description messages.  The default is 0.0.0.0/0/0.

	    If the "-h" option is used, video_host is the computer 	
	    that is the source of the camera feed.  The default is
	    the local host.  This information is included in description
	    messages.

	4). Make sure that the main power switches are on "ON"
	    for all devices and that, if you are using the
	    Canon VC-C3, both the main power switch (on the CCU)
	    and the power switches for the pan/tilter and camera 
	    control units are on (the three LEDs should be green).
	    The Sony EVI-D30 and the Panasonic WJ-MX50 have
	    auxiliary power switches (in the front of the device)
	    that can be controlled by the computer. The Canon VC-C1 
	    lets a computer control its power, if the main power is 
	    manually turned on.  Thus, devserv sends "power on" and 
	    "power off" commands to the Sony EVI-D30, Canon VC-C1,
	    and Panasonic WJ-MX50.    

	    However, the Canon VC-C3 does not allow the power to be
	    controlled by a computer so this must be done manually.


To do:
    Add support for more devices (e.g., Panasonic WJ-MX20).
    Add security features (e.g., authorization).
