#******************************************************************************
# E.S.O. - VLT project
#
# "@(#) $Id: dicVIRCAM_ICS.txt_SAVED,v 0.7 2004/07/29 12:05:31 vltsccm Exp $"
#
# VIRCAM_ICS/ICB_CFG dictionaries
#
# Refer to appendix A of document VLT-SPE-ESO-17240-1676 for details.
#
# who       when      what
# --------  --------  ----------------------------------------------
# sbeard    19/06/03  Original copied from V1.23 of dicXXXX_ICS.txt
# sbeard    09/07/03  Removed keywords for unwanted components.
# sbeard    06/02/04  Inserted "i" to allow more than one ICS.
# smclay    05/05/04  Added sensor device
# sbeard    11/05/04  Added INS.LSMi, INS.LSCi, INS.VACi, INS.OMGi
#                     and CCCi keywords.
# sbeard    15/07/04  Removed INS.OMGi keywords
# sbeard    21/07/04  Added FILTi.TIME, FILTi.ERROR and FILTi.INPOS keywords,
#                     as required by VISTA data flow group. Comments
#                     shortened.
# sbeard    28/07/04  Changed FILTi.TIME to FILTi.DATE to be
#                     consistent with HOWFS.DATE. INSi becomes INS.
#
#
#******************************************************************************
#
# The VIRCAM_ICS dictionary contains all keywords used by VIRCAM ICS at
# runtime to execute and understand commands with -function option,
# such as SETUP and STATUS.
#
# NOTE: Header keywords must be agreed with the VISTA Data Flow group.
#
# IMPORTANT NOTE: The "Value Format" entry defines the precision of
#                 the keyword value, following the ANSI-C printf
#                 rules. Specially for float or double numbers,
#                 roundings are possible and affects all commands,
#                 in particular SETUP and STATUS.
#                 In order to avoid undesired roundings, the
#                 appropriate precision must be defined in this field.
#
#******************************************************************************

#
# Notes
# 1) The letters within () indicate the Class that keyword belongs to:
#    c = config
#    h = header
#    l = conf-log
#    p = private
#    s = setup
#    o = ops-log
#

DICTIONARY VIRCAM_ICS "VIRCAM" "VISTA IR Camera Instrument ICS keywords"
REVISION              "$Revision: 0.7 $"
CONTEXT               "Instrument"



#
# 1.1 General instrument config.
#

#
# 1.2 Environments and LCUs
#

#
# 2.1 ICS general config.
#

#
# 2.2 ICS setup and header
#

INSi.ID                %30s     Instrument ID (chl)
                                Combines the ESO identification of the
                                instrument and the software version of
                                the control software.  Format:
                                NAME/HW-REV/SW-VERSION
INSi.DID               %30s     Data dictionary for INS (ch)
                                Name and version of ESO DID to which
                                INS keywords comply to.
INSi.OPER              %30s     Instrument Operator (hs)
                                Initials and family name of instrument
                                operator or service observer.
INSi.SWSIM             %15s     Software simulation (chs)
                                Possible values:
                                NORMAL:  no simulation.
                                LCU_SIM: LCU is simulated by WS simulator.
                                HW_SIM:  Hardware is simulated on LCU.
INSi.MODE              %10s     Instrument mode (hs)
                                Acronym of instrument mode used. This
                                acronym identifies the operating mode
                                of the instrument (HOWFS or IMAGING).
INSi.PATH              %10s     Optical path (h)
                                The optical path within the instrument
                                used for this exposure (INFRARED).

#
# The following configuration parameters describe the individual instrument
# devices.  Each device type has its own set of configuration parameters.
#
# Defaults:
#
# - The <subsystem>.TYPE keyword specifies the implementation to be used
#   for the device.  The default corresponds to the implementation supplied
#   by Base ICS.
#
# - If the <subsystem>.PREFIX keyword is not supplied, then the 'FITS prefix'
#   needed by the ic0 devices corresponds to the <subsystem>.
#

#
# 3. Device configuration [Devices marked (X) to be removed]
#

#
# 3.6 Filter wheel
#
#   Config. FITS keywords:
#        DEVNAME, DEVDESC, LCUID, AVAIL, SWSIM,
#       STOFF, USESW,
#        TWOSTEP, MOVETOUT, INITTOUT,
#        CHGABLE, POSNUM, POSIDi, IDi, NAMEi, FOCUSi, DENSITY<i>
#   Setup and header FITS keywords:
#        NO, ID, NAME, SWSIM, OFFANG, GOTO
#   Maint. keywords (reserved):
#        ENC, ENCREL, LIMIT, TURN, SPEED.
#   Conf. log FITS keywords:
#        INIT, MOVE, STOP, CHANGE.
#

# 3.6.1 Filter config. FITS keywords
#
# BUG - WHY IS SWSIM ACCEPTED AND STOFF IS NOT ???
# SPECIFYING FILTi or FILT1 MAKES NO DIFFERENCE.
#
INS.FILTi.SWSIM       %c        If T, function software simulated (cho)
INS.FILTi.STOFF       %d        Offset [steps] to be applied (cho)
                                An offset in motor steps to be applied
                                to all positions. Allows for backup
                                reference switch.
INS.FILTi.USESW       %c        If T, in-position switch is used (cho)


# Each element position registers only the IDi of the mounted element.
# A corresponding ID entry is searched to retrieve the rest of the
# element data.
#
# A list of elements that can be mounted in this function is described
# with entries IDi, NAMEi, FOCUSi and DENSITYi (one keyword set describes one
# element, see section 3.6 of the INS Common Software Spec. manual,
# VLT-SPE-ESO-17240-0385).


INSi.FILTi.IDi      %10s        Filter unique id (chls)
                                ESO identification number for the
                                filter.  Format: #n where n is a
                                unique number for the observatory.
INSi.FILTi.NAMEi    %15s        Filter name (chls)
                                Name for the filter.  Format:
                                SYSTEM/NAME where the filter system is
                                given when applicable, eg BESS for
                                Besselian.
INSi.FILTi.FOCUSi   %.3f        Filter focus offset [m] (chls)
                                Optical focus offset introduced by the
                                filter.
INSi.FILTi.DENSITYi %.1f        Filter optical density (chls)
                                Approx. optical density of the filter.


# 3.6.2 Filter setup and header FITS keywords
#
INSi.FILTi          %10s        Filter wheel device (o)
INSi.FILTi.NO         %d        Filter wheel position index (hs)
                                Index of the selected position of the
                                filter wheel
INSi.FILTi.ENC        %d        Filter wheel absolute position [Enc] (s)
INSi.FILTi.ENCREL     %d        Filter wheel relative position [Enc] (s)
INSi.FILTi.LIMIT    %10s        Move to the limit (s)
                                Move to the lower or upper limit.
INSi.FILTi.TURN     %10s        Turn right/left (s)
                                Turn the wheel to the right or to the left.
INSi.FILTi.SPEED    %.1f        Turning speed (s)
                                Speed (default units) the wheel is
                                turned (see TURN).
INS.FILTi.INPOS       %c        If T, in-position switch is closed (h)

# 3.6.3 Filter operational logs.
#
INSi.FILTi.INIT       %s        Hardware initialisation (o)
INSi.FILTi.MOVE       %s        Motion execution (o)
INSi.FILTi.STOP       %s        Motion stop (o)
INSi.FILTi.CHANGE     %s        Filter changed (o)
                                Filter element has been physically
                                replaced. Maintenance operation.
INSi.FILTi.DATE	      %s        Filter index time (ho)
                                Date/Time when filter wheel was last
                                indexed.
INSi.FILTi.ERROR      %d        Last filter wheel error [Enc] (ho)
                                Difference between expected and actual
                                count when filter wheel last indexed.


# 3.6.4 Filter ICS GUI widget.
#

#
# 3.13 Sensors
#
# Each sensor device INS.SENSORi manages a set of related sensors values
# INS.SENSi.  The index SENSi of each sensor value must be unique within
# the instrument (to be able to report each sensor value with a different
# FITS keyword).
#
# There is no relation between sensor device indexes (SENSORi) and sensor
# value indexes (SENSi), e.g. one sensor device INS.SENSOR3 can manage
# e.g. the sensor values INS.SENS12 to INS.SENS16.
#
# The sensor values managed by one sensor device are usually connected
# to a single harware port (PORT).  The hardware port of analog sensors
# is normally a serial port, the hardware 'port' of a digital sensor
# device is an ACRO board.
#

#
# 3.13.1 Analog sensors
#
#   Config. FITS keywords:
#        DEVNAME, DEVDESC, DEVTYPE, LCUID, AVAIL, SWSIM,
#        PORT, NUM, NAMEi, DESCi, HEADERi, FITSi, LOGi,
#        SENADDRi, SENTYPEi, SENREFi, SENRAMPi, SENUNITi.
#   Setup and header FITS keywords:
#        INS.SENSi.ST, INS.SENSi.STAT, INS.SENSi.VAL, INS.SENSi.REF.
#   Maint. keywords (reserved):
#        -
#   Conf. log FITS keywords:
#        INIT.
#

#
# 3.13.2 Digital sensors (DEVTYPE=DIGITAL)
#
#   Config. FITS keywords:
#        DEVNAME, DEVDESC, DEVTYPE, LCUID, AVAIL, SWSIM,
#        ID, NAME, PORT, NUM, NAMEi, DESCi, HEADERi, FITSi, LOGi,
#        SIGBITi, SIGWIDTHi, SIGLOWi, SIGVALi, SIGSIMi.
#   Setup and header FITS keywords:
#        INS.SENSi.ST, INS.SENSi.STAT, INS.SENSi.VAL.
#   Maint. keywords (reserved):
#        -
#   Conf. log FITS keywords:
#        INIT.
#

# 3.13.[12].1 Sensors common config. FITS keywords
#
# NOTE: Do we need these SENSOR keywords as well as the LSM and LSC keywords?
#
INSi.SENSORi.SWSIM    %c        If T, function software simulated (cho)
INSi.SENSORi.ID       %10s      Sensor device unique id (clo)
                                ESO identification number for the
                                sensor device.
INSi.SENSORi.NAME     %30s      Sensor device common name (clo)
                                Name for the sensor device.

# Lakeshore temperature monitor keywords
INSi.LSMi.SWSIM          %c      If T, function software simulated (cho)
INSi.LSMi.ID             %10s    Sensor device unique id (clo)
                                 ESO identification number for the
                                 sensor device.
INSi.LSMi.NAME           %30s    Sensor device common name (clo)
                                 Name for the sensor device.

# Lakeshore temperature controller keywords
INSi.LSCi.SWSIM          %c      If T, function software simulated (cho)
INSi.LSCi.ID             %10s    Sensor device unique id (clo)
                                 ESO identification number for the
                                 sensor device.
INSi.LSCi.NAME           %30s    Sensor device common name (clo)
                                 Name for the sensor device.

# Pfeiffer vacuum sensor keywords
INSi.VACi.SWSIM          %c      If T, function software simulated (cho)
INSi.VACi.ID             %10s    Sensor device unique id (clo)
                                 ESO identification number for the
                                 sensor device.
INSi.VACi.NAME           %30s    Sensor device common name (clo)
                                 Name for the sensor device.

# Cabinet cooling controller keywords
INSi.CCCi.SWSIM          %c      If T, function software simulated (cho)
INSi.CCCi.ID             %10s    Sensor device unique id (clo)
                                 ESO identification number for the
                                 sensor device.
INSi.CCCi.NAME           %30s    Sensor device common name (clo)
                                 Name for the sensor device.

# 3.13.1.1 Analog sensors config. FITS keywords
#

# 3.13.2.1 Digital sensors config. FITS keywords
#

# 3.13.[12].2 Sensors setup and header FITS keywords
#

###################################################################################
# Sensors (physical devices)
#
INSi.SENSORi             %10s    Sensor device (o)

INSi.SENSi.ID            %10s    Sensor type (ho)
INSi.SENSi.NAME          %15s    Sensor name (ho)
INSi.SENSi.VAL           %.3f    Sensor value (ho)
INSi.SENSi.STAT          %s      Sensor string value (ho)

# Sensor statistics values during an exposure (e.g. pressure, humidity)
INSi.SENSi.MIN           %.3f    Minimum value (h)
INSi.SENSi.MAX           %.3f    Maximum value (h)
INSi.SENSi.MEAN          %.3f    Average value (ho)
INSi.SENSi.RMS           %.3f    RMS of samples over exposure (ho)
INSi.SENSi.TMMEAN        %.3f    Time weighted average (ho)
INSi.SENSi.GRAD          %.3f    Linear regression slope (ho)
INSi.SENSi.LRCONST       %.3f    Linear regression constant (ho)
INSi.SENSi.LRRMS         %.3f    Linear regression RMS (ho)
INSi.SENSi.DETCOEF       %.3f    Lin. reg. determination coeff. (ho)
INSi.SENSi.UNITi         %.8s    Sensor unit (hc)

# Temperature sensor statistics values during an exposure
INSi.TEMPi.ID            %10s    Sensor type (ho)
INSi.TEMPi.NAME          %15s    Sensor name (ho)
INSi.TEMPi.VAL           %.3f    Temperature (ho)

INSi.TEMPi.MIN           %.3f    Minimum value (h)
INSi.TEMPi.MAX           %.3f    Maximum value (h)
INSi.TEMPi.MEAN          %.3f    Average value (ho)
INSi.TEMPi.RMS           %.3f    RMS of samples over exposure (ho)
INSi.TEMPi.TMMEAN        %.3f    Time waighted average (ho)
INSi.TEMPi.GRAD          %.3f    Linear regression slope (ho)
INSi.TEMPi.LRCONST       %.3f    Linear regression constant (ho)
INSi.TEMPi.LRRMS         %.3f    Linear regression RMS (ho)
INSi.TEMPi.DETCOEF       %.3f    Lin. reg. determination coeff. (ho)
INSi.TEMPi.UNITi         %.8s    Temperature unit (hc)


# 3.13.[12].3 Sensors operational logs.
#
INSi.SENSORi.INIT        %s      Hardware initialisation (o)


#___oOo___
