UK Astronomy Technology Centre Chris Tierney
Royal Observatory, Edinburgh 31st March 2001

NAOMI mechanism control software lookup tables

There are two types of lookup table file used for the NAOMI EPICS software, those for deviceControl records and those for assemblyControl records. Both are held in naomiMechs/pv and built into naomiMechs/data, relative to the top-level NAOMI software directory.

In both formats, blank lines and comment lines (beginning with the character '#') are ignored by records when reading the files. Files are read by records when INIT mode is executed.

deviceControl lookup tables

There is a file of this type for each deviceControl record, with filename xxx_device.lut. Readable lines must have the format:
name target index

with white space between each of the fields. "name" is the string used to refer to this named position, "target" is the target position (in engineering units), and "index" is the index algorithm to be used. For target positions that are not associated with datuming, "index" should be zero. For example, the file pox_device.lut is reproduced here:

# name          target  index

ixlow           0.00    4
ixhigh          0.00    5
reix            0.00    6

The file specifies three named positions that can be used during an INDEX operation, by the attached assemblyControl record.

assemblyControl lookup tables

Each assemblyControl record has a lookup table file, with filename of the format xxx_assembly.lut. There are two types of readable entries in these files. The first specifies a named position for one of the attached devices:
# device deviceNum posNumber name       position 

  device 1         1         gg_495      0.0
  device 1         2         v_wide     -60.0
  device 1         3         red         60.0
  device 1         4         blank1      120.0
  device 1         5         blank2      180.0
  device 1         6         blank3      240.0

and is indicated by the "device" string appearing at the start of the line. "deviceNum" refers to the attached device that the named position is valid for (1-5), "posNumber" is an index for the record to use when storing the named position (each entry for a device should have a different value for this field), "name" is the string that can be used in the relevant assembly input field to refer to this position, and "position" is the numerical value (in engineering units) of the position.

The second type of entry is used for specifying any parameter that an assembly requires for its internal calculations. The names of these parameters are hard-coded into the device support code for each assembly, which will expect to see certain entries in the table. Therefore, the names found on these lines should not be modified. Values may be. These entries are signified by the appearance of the keyword "parameter" at the first field.

For example:

# parameter        name          value

  parameter        dmxOffset     22.150
  parameter        dmyOffset     3.230

Specifies two parameters (offsets from index positions) for the DM assembly. Modifying the value of these parameters will change, in this instance, the location considered to be "center-of-field" (0, 0) by the software.

A breakdown of the file for each assembly is given below. Refer to the documentation for assembly DM screens for a description of the usage of named positions. Refer to the source code to see how each parameter is used in practice.

adc_assembly.lut

The lookup table for the ADC assembly.

# device deviceNum posNumber name       position 

  device 1         1         one         1.0
  device 1         2         center      5.0
  device 1         3         ten        10.0

  device 2         1         one         1.0
  device 2         2         center      5.0
  device 2         3         ten        10.0

# parameter        name          value

  parameter        dummyParam    0.00
  parameter        adc1offset    0.00
  parameter        adc2offset    165.00

The named positions contained in this table are for engineering testing and are not requied operationally.

The parameter "dummyParam" was used for development and is not operationally.

beam_assembly.lut

The lookup table for the beamsplitter assembly.

# device deviceNum posNumber name       position 

  device 1         1         one         1.0
  device 1         2         center      5.0
  device 1         3         ten        10.0

# parameter        name          value

  parameter        dummyParam    0.00

The named positions contained in this table are for engineering testing and are not requied operationally.

The parameter "dummyParam" was used for development and is not operationally.

dm_assembly.lut

The lookup table for the DM assembly.

# device deviceNum posNumber name       position 

  device 1         1         center      0.0

  device 2         1         center      0.0

# parameter        name          value

  parameter        dummyParam    0.00
  parameter        dmxOffset     22.150
  parameter        dmyOffset     3.230

The parameter "dummyParam" was used for development and is not operationally.

filt_assembly.lut

The lookup table for the Filter assembly.

# device deviceNum posNumber name       position 

  device 1         1         gg_495      0.0
  device 1         2         v_wide     -60.0
  device 1         3         red         60.0
  device 1         4         blank1      120.0
  device 1         5         blank2      180.0
  device 1         6         blank3      240.0

# parameter        name          value

  parameter        dummyParam    0.00

The parameter "dummyParam" was used for development and is not operationally.

lamp_assembly.lut

The lookup table for the NCU lamp assembly.

# device deviceNum posNumber name       position 

  device 1         1         one         1.0
  device 1         2         center      5.0
  device 1         3         ten        10.0

# parameter        name          value

  parameter        dummyParam    0.00
  parameter        adcResolution 1.00

The named positions contained in this table are for engineering testing and are not requied operationally.

The parameter "dummyParam" was used for development and is not operationally.

pick_assembly.lut

The lookup table for the Pickoff assembly.

# device deviceNum posNumber name       position 

  device 1         1         center      0.0

  device 2         1         center      0.0

  device 3         1         focussed    0.0

  device 4         1         reticule         3.042
  device 4         2         f195_1.1         63.35
  device 4         3         doublet          123.255
  device 4         4         f95_1.1          183.5
  device 4         5         f195_1.1_offset  243.255
  device 4         6         f95_2.2          303.369

# focal lengths (used by ccd stage dev5) of the lenslets contained in wheel (dev 4)

  device 5         1         focussed         00.0
  device 5         2         pupil            00.0
  device 5         3         near_pupil       10.0
  device 5         4         reticule         209.0
  device 5         5         f195_1.1         209.0 
  device 5         6         doublet          211.0  
  device 5         7         f95_1.1          105.0 
  device 5         8         f195_1.1_offset  209.0   
  device 5         9         f95_2.2          209.0   


# parameter        name          value

# offsets from upper limits for pickoff x and y stages, to centre of field

  parameter        poxbase       -31.7
  parameter        poybase       -37.96

# full travel available to pickoff x and y stages

  parameter        poxfulltravel 62.36
  parameter        poyfulltravel 68.00

# focal length of collimating lens on fore-optics stage

  parameter        colfocus      139.00

# focal length of camera relay lens on ccd stage

  parameter        ccdfocus      80.00

# additional fore-optics stage offset required to focus collimator lens 
# = (raw f/o stage position (mm) to focus collimator with p/o at COF) - poxbase - colfocus)

  parameter        coloffset     -110.701

# additional ccd stage offset required to focus the camera
# = (raw CCD stage position (mm) when at pupil focus) - raw f/o position for p/o COF - ccdFocus)

  parameter        ccdoffset     -74.999

# maximum ranges of travel available to the fore-optics and ccd stages (only estimates at present)

  parameter        colfulltravel 120.00 
  parameter        ccdfulltravel 320.00

# Fore-optics stage has a potential collision with the wfs case in low range, so...

  parameter        colhardlowlimit  -30.00