Software

Control of SPINOR is distributed and modular.  Control is from the Java user interface at the DST.  Each SPINOR camera acts like a 'Virtual' camera delivering Stokes parameter images created from many camera exposures.  The Polarimeter Control is network based and consists of two logical devices, each with its own TCP/IP access, one for Mechanism Control, and one for Polarimeter Synchronization. 

Virtual Cameras

Camera computers are PCs running Linux.  Cameras receive settings via TCP/IP.  Data are stored locally to disk, then spooled to the SAN.  High speed instrument set up images are displayed on the camera computer.  Quality assurance images are sent via TCP/IP to the experiment control computer.  The cameras are strobed by a signal from the Polarimeter control computer.  The camera computer receives parallel data through its parallel printer port containing modulator position.  This is used by the camera computer to  send camera frames to the correct buffer.  Typically there will be 'f' frames requested from the camera that are accumulated into 's' modulation states and demodulated into 'd' Stokes parameters.  Frames are accumulated on the fly into the various states.  After all frames are accumulated, they are demodulated into Stokes parameters, saved to disk, and converted to quality assurance images and sent to the experiment control computer.

Polarimeter Control

There are two logical sections to the polarimeter control, mechanism control, and polarimeter synchronization.  Mechanism control is simply a TCP/IP interface to the DST network that translates network commands to serial commands for the old ASP Mechanism Control Computer, Snuffy.  Snuffy is an embedded 68000 single board computer using VRTX as its operating system and controlling the mechanisms in the Calibration Modulation Unit via parallel I/O boards, and Opto-22 relays.  The operating system and control code are in PROM on the board.  There is a spare processor and spare parallel I/O boards and over the lifetime of the ASP, there were never any failures with this control system.

Polarimeter synchronization is a generalization of  the synchronization of the rotating retarder and timing of the cameras once performed by the ASP synchronizer computer, cookie.  Again this function has a TCP/IP network interface for commands and status and uses this information to load settings into a suite of National Instruments boards.  These intelligent boards operate without intervention from the computer to assure reliable and predictable timing.

Since drivers for all the National Instruments boards are only available for Windows, the Polarimeter Control computer uses Microsoft Windows XP Pro (at least initially).   Since the National Instrument boards operate autonomously, the computer is needed only to load settings into the boards.  Either National Instruments LabView or NI-DAQ will be used to load settings into the interface boards.