#*******************************************************************************
# E.S.O. - VLT project
#
# "@(#) $Id: NOTES.txt 77339 2003-02-03 05:45:35Z flamemgr $"
#
# who       when      what
# --------  --------  ----------------------------------------------
# rschmutz  20/12/02  created
#

RELEASE BUILDS
==============

HP-UX:	Must be made under HP-UX 10.20, so that it works under
	HP-UX 10.20 and 11.00.
SunOS:	Must be made under SunOS 5.8 to make it work also under
	SunOS 5.6 (currently done in sc0.sc.eso.org).
Linux:	Currently done in odyssey3.pl.eso.org.


FIBRE ALLOCATION
================

Data:
  Fibre info:
    CONFIG_pivotInfo
      Defined in: tdFconfigMethod.h
      Init. in  : ConfigInitPivots

Procedures:
  Initialise{}
    ConfInitialise				configure.c
      ConfigInitialise				config.c
        ConfigInitPivots			config.c
	  -> global var. PivotInfoPtr contains fibre info.
	     PivotInfoPtr[].FibreType = FLAMES_FIBRE_TYP[GUIDE|IFU|IFU_SKY]
	     PivotInfoPtr[].FibreLength

  ConfDoCheck{}					configure.c
    ConfigFieldCheck				config.c
      ConfigHKFieldCheck			config.c

        ConfigColInvPos				config.c
          FpilColInvPos				fpil.c
	    fpcolBaseColInvPos			fpcolBase.c


FPOSS ALLOCATION SAFETY MARGIN
==============================

The safety margin is defined in file config.c:
#define CONFIG_PERCENT 15

The original values for ButBut and ButFib collisions
are taken with functions:
   ButtonClear = FpilGetButClear(Instrument);
   FibreClear = FpilGetFibClear(Instrument);

The values with the safety margin are stored in the CONFIG_Global array:
   CONFIG_Global.ParameterValues[CONFIG_BUTTON_CLEAR_PARM].IntegerValue
   CONFIG_Global.ParameterValues[CONFIG_FIBRE_CLEAR_PARM].IntegerValue
These can be accessed via functions:
   ConfigButtonClear
   ConfigFibreClear
However, to be sure that we have untouched values, they are now also
stored in variables (added by RSC):
   fpossButClear
   fpossFibClear

While stricter positioner values are stored in:
   CONFIG_Global.PositionerButClear = ButtonClear;
   CONFIG_Global.PositionerFibClear = FibreClear;

The positioner values are only taken, if the following argument is non-zero:
   int PositionerTolerances
used in functions:

   # uses PositionerTolerances arg., default=0
   AngleOk{}
   AllocateFib{}
   CheckOk{}
     DoCheck{}
       ConfDoCheck
         void ConfigFieldCheck
           void ConfigHKFieldCheck
  
   # always sets PositionerTolerances=1
   # (only used in batch mode)
   Setup{}
     CheckOk1{}
       DoCheck1{}
         ConfDoCheck1
           void ConfigFieldCheck
             void ConfigHKFieldCheck
    


#___oOo___
