devserv:  README

The package for devserv-winsrc-v0.4.3.zip contains these files and folders:
	README (this file)
        devserv.doc (text file)
	devconfig (text file)
        The "Devserv" folder (containing all the source code and workspace information
		necessary for building a project under Microsoft Visual C++, v5.0).

The packages for devserv-bin-a0.4.3-win95.zip and devserv-bin-a0.4.3-
winNT.zip contain:
        README (this file)
        devserv.doc (text file)
	devconfig (text file)
	devserv (binary)


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

To build devserv under Windows 95/NT, using Microsoft Visual C++:
	   Start Visual C++ (I used version 5.0).
	   Then open a blank workspace and then insert the "Devserv" folder 
	   as a project:
	   	Choose File->New->Workspaces->Blank Workspace
  	             (Enter a workspace name in the entry field in the
	              dialog box, e.g., type "DEVSERV").
		Choose Project->Insert Project into Workspace...
		     (In the dialog box, locate the "Devserv" project folder
	              and insert this folder into the workspace.)

	   NOTE:  Although devserv.opt contains the settings information,
	          note that devserv is linked with wsock32.lib since it
	          uses the Winsock1.1 API.
	       

To run devserv (see devserv.doc for further detail):

	1). Install the binary in any directory.

	2). Set your HOME environment variable.  In either
            autoexec.bat or on the DOS command line (before
            running devserv), make an entry such as:
		set HOME="C:\"

	3). Install the hardware configuration file,
	    devconfig, in your home directory (e.g., C:\) 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
	    information.  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 device 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.  These addresses must 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
	    Sony 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 and <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.  Use serial ports COM1, COM2, 
	    etc. 

	    <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 COM2 w
	      device Sony EVI-D30 1 camera 2 COM1
	      device Sony EVI-D30 2 camera 3 COM1	
	   
	    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 COM2.  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 COM2, 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.	

	4). 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.  The default debug_level is 1.
	    
	    If the "-s" option is used, "N" or "n" means do NOT turn off
	    the power upon termination.	

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

	    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.  The default is 0.0.0.0/0/0.  This
	    information is included in description messages.

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

	5). 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 (authorization).
