IMACS Software Documentation


Location of this document: http://isntrumentatino.obs.carnegiescience.edu/Software/IMACS/setup.html


Setup and Configuration Files

System Setup
Setup Tool
Startup Window

System Files
.set Files
.ini Files
.tab Files



IMACS Setup and Startup


Setup Tool

This GUI is used by the Instrument Specialist to update the IMACS setup-files residing in $IMACSINI (currently at llama:/Users/imacs/IMACS/ini/).
Notes:
  • Names of filters, masks, dispersers, etc. are not allowed to include spaces.
  • Neither are quotes (single or double) allowed in names.
  • Each time any of the .set files (except imacs.set) is changed the software creates a backup-copy. The filename has the extension (.set) replaced by a timestamp (.yyyymmddhhmmss) : eg. masks.20070320134959

    To change the setup-files type in an 'xterm':

    obsX@llama> imacs setuptool
    

    Dewar : [menu] :
    { None , Mosaic1, Mosaic2 } : select dewar at focus (dewar position)
    Orientation : [menu] :
    { Normal , Nod&Shuffle } : select dewar orientation
    Host : [edit] :
    computer that runs the imacserver (eg. ccd07 at f/4, ccd08 at f/2)
    Edit/Setup : [button] :
    f/4-Filters: opens a dialog-box to define the (f/4) filter-names and -focus
    f/2-Filters: opens a dialog-box to define the (f/2) filter-names and -focus
    Masks: opens a dialog-box to define the mask-names and -types
    Dispersers: opens a dialog-box to define the disperser-names,types and -IDs
    MMTF opens a dialog-box to enter the etalon settings.
    GISMO opens a dialog-box to enter the GISMO mask names

    Filter definition dialog-box:

    Measured: [edit] :
    R-filter center focus measured at AveInT
    Temperature: [edit] :
    AveInT temperature at the time of (R-filter) focus measurement
    Fiducial: [output] :
    focus of R-filter at 8 deg C.
    Best-Center: [edit] :
    difference between BestFocus and CenterFocus for the R-filter (master-delta)

    Filter : [menu] :
    select the filter for this position. The Name, Offset, Delta and Type will be automatically filled in from the master file.
    Name : [edit] :
    enter the name of the filter at this position (no spaces allowed)
    Offset : [edit] :
    intrinsic (thickness) difference between R-filter and this filter
    Delta: [edit] :
    filter specific delta-delta between BestFocus and CenterFocus relative to the R-filter
    Type : [menu] :
    Comment: [edit] : comments
    Adding a filter to the master file requires a 3 step process:

  • From the Filter menu select the new entry. Leave the default Name (newX). If you change the name now, you will not be able to change the Offset, Delta and Type values once you come back to the setuptool GUI. Press OK now to write the updated xfilter.set file to disk and start mechgui as usual.

  • Measure the focus of the R-Filter and the new filter and note the difference (eg. Offset=100). Also note the AveInT (average internal) temperature at that time.
  • Open the setuptool again and update the Measured-Center[R-Filter] focus and the AveTinT temperature.
    Then enter the meassured Offset for the new filter and change the Name to the appropriate filter name (eg. myfilter). Set the proper filter Type. Once you press OK the new xfilter.set will be written and the filter master file will the updated containing a line for the myfilter filter.

    The next time you open the setuptool GUI the filter window should look like this:

    Mask definition dialog-box:

    Name : [edit] :
    name of the slit-mask at this position (no spaces allowed)
    Type : [menu] :

    Disperser definition dialog-box:

    Name : [menu] :
    Name of the disperser at this position. The entries for this menu are taken from the file $IMACSINI/dispslot#.ini
    Note: the name implies a type
    Type : [menu] : (output only, implicit defined by name)
    ID : [menu] :
    Grating-Tilt-Mechanisms have an ID associated with them, as each has slightly different limit-switch positions and home-sensor position.

    Etalon (MMTF) setup dialog-box:

    Coarse : [edit] :
    Coarse settings of the CS-100 front panel.
    Fine : [edit] :
    Fine settings of the CS-100 front panel.
    Quad : [edit] :
    Quadrature-Balance settings of the CS-100 front panel.

    GISMO setup dialog-box:

    Pos-1 : [edit] :
    name of sub-mask #1
    ...
    Pos-5 : [edit] :
    name of sub-mask #5


    Startup Window

    The 'IMACS-Startup' window is started by a script called 'imacs'. It should be in the observer's path and no parameters need to be given.

    #! /bin/csh
    setenv IMACSHOME /home/imacs/IMACS
    setenv IMACSBIN    $IMACSHOME/src
    setenv IMACSINI    $IMACSHOME/ini
    setenv IMACSCAT    $IMACSHOME/CATS
    setenv IMACSOUNDS  $IMACSHOME/Sounds
    setenv IMACSLOG    $IMACSHOME
    if ( $1 == "" ) then
      $IMACSBIN/startupwin 
    else
      $IMACSBIN/$1 $2 $3 $4 $5 $6 $7 $8 $9 
    endif
    if ( $1 != "setuptool" ) then
      while (`ps aux | grep xdbserver | grep -v grep` != "")
        sleep 2
      end
    endif
    

    This GUI allows the user to enter the observer's name and set the number of overscan-pixels and bias-lines.
    For regular operation all devices (Camera, Mechanics, Telescope) should be set to 'online' and telescope should be set to 'Baade'.

    Below you see a typical setup:

    Observer: [edit] : observer's name

    f/4-Mosaic3 [menu] : {online,simulator}
    f/2-Mosaic2 [menu] : {online,simulator}
    Host: hostname of computer that is running the 'CCDserver' (FYI only; set by instrument specialist via the setuptool)
    Orientation: dewar orientation (FYI only; set by instrument specialist via the setuptool)
    CameraGUI: [button] : AutoStart selected: startup the data-acquisition window(s)
    Mechanics: [menu] :
    ImacsGUI: [button] : AutoStart selected: startup the IMACS- GUI
    Telescope: [menu] :
  • Simulator: use Magellan-simulator
  • Baade: connect to Baade TCS
  • [menu] : telescope status
    TeleGUI: [button] : AutoStart selected: startup the TeleGUI

    Simulator Mode

    The IMACS software can be run entirely in 'simulation' mode. This is useful if you want to get acquainted with the functions of IMACS. The 'Startup-Window' should look like this:

    It is very important to initialize all devices after using the simulator mode, since most (except the pricipal- and SH-guider) encoders are powered off unless they are actually used during a motion. The current enocder values are stored in temporary files and re-stored into the motor-controller counters when needed.


    System Files


    .set Files

    The following files are located in $IMACSINI. They describe the setup of certains sub-systems that require frequent modifications.

    imacs.set

    dewar-long=1		; Mosaic1 @ f/4
    dorient-long=1		; Nod&Shuffle
    ccdhost-long=ccd07
    dewar-short=2		; Mosaic2 @ f/2
    dorient-short=0		; Normal
    ccdhost-short=ccd08
    
    

    masks.set

    n/a             0        ; first column is name (no spaces allowed)
    HDFS2           1        ; second column is type
    n/a             0        ; type=0: none (empty slot)
    RCS2315A        1        ;     =1: regular mask
    n/a             0        ;     =2: thin mask
    RCS0221A        1        ;     =3: IFU
    CF-Guider       2        ;     =4: blocked (by IFU)
    f/4-Imaging     2        ;     =5: GISMO
    

    dispersers.set

    Grating_600-l   1:1      ; first column is name (no spaces allowed)
    f/4_Imaging     3:0      ; second column is type:id
    Grating_300-l   1:2      ; type=0: open (none)
    Grism_200-l     2:1      ;     =1: grating
    Grating_1200-l  1:3      ;     =2: grism
    Grism_300-l     2:2      ;     =3: mirror
                             ;     =4: MOE   
                             ;     =5: MMTF
                             ;     =6: prism
    

    lfilters.set

    Load_Filters    0.0     4  0    ; first column is name (no spaces allowed)
    Filter-2        0.0     0  0    ; second colums is detector-focus (at 8C)
    Filter-3        0.0     0  0    ;   a value of '0.0' denotes 'unknown'
    Filter-4        0.0     0  0    ; third column is the type of filter
    Out-OG570       7655.0  0  0    ;  0= none (not selectable in 'mechgui')
    Filter-6        0.0     0  0    ;  1= imaging
    Spectroscopic   8330.0  2  0    ;  2= spectroscopic
    Filter-8        0.0     0  0    ;  3= blocking
    CTIO-I          8005.0  1  0    ;  4= other
    Filter-10       0.0     0  0    ; fourth column is the 'delta' between
    Bessell-R       7880.0  1  0    ;  the center-focus and best-focus
    Filter-12       0.0     0  0
    Bessell-V       7705.0  1  0
    Filter-14       0.0     0  0
    Bessell-B       7555.0  1  0
    

    sfilters.set

    Filter-1-none   0.0     4  0    ; first column is name (no spaces allowed)
    Filter-2        0.0     0  0    ; second colums is detector-focus (at 8C)
    WB6300-9500     7750.0  3  0    ; third column is the type of filter
    WB4800-7800     7750.0  3  0    ;  0= none (not selectable in 'mechgui')
    OG570           6925.0  3  0    ;  1= imaging
    NB8200          6850.0  3  0    ;  2= spectroscopic
    B-Bessell       6870.0  1  0    ;  3= blocking
    Filter-8        0.0     0  0    ;  4= other
    V-Bessell       6950.0  1  0    ; fourth column is the 'delta' between
    Filter-10       0.0     0  0    ;  the center-focus and best-focus
    R-Bessell       7150.0  1  0
    Filter-12       0.0     0  0
    I-CTIO          7270.0  1  0
    Filter-14       0.0     0  0
    Spectroscopic   7740.0  2  0
    

    mmtf.set

     
    mmtf-cx=-1               ; coarse settings on CS-100 front panel
    mmtf-cy=0
    mmtf-cz=3
    mmtf-fx=6.94             ; fine settings on CS-100 front panel
    mmtf-fy=6.80
    mmtf-fz=2.00
    mmtf-qx=4.27             ; quadrature-balance settings
    mmtf-qy=3.80
    mmtf-qz=4.44
    

    gismo.set

    PosA		; just names 
    PosB
    PosC
    PosD
    PosE
    


    .ini Files

    The following files contain low level information about various hardware (motors, solenoids, limit-switches) inside IMACS. It should not be necessary to change any of those. If you, however do so, please be very careful and notify me (birk AT obs DOT carnegiescience DOT edu) immediately.

    All _epos.ini files (dsw_epos.ini, dss_epos.ini, mask_epos.ini, gismo_epos.ini, fs1_epos.ini, fs2_epos.ini) allow for an (optional) keyword named offset. When not found it defaults to '0', ie. it is backwards compatible.
    Example: The line

    offset=200

    adds 200 units to all position-values (slotX) in the file. The 'offset' keyword may appear at any position in the file.


    Calibration lamp names (cal_lamps.ini)

    lamp1=Ne
    lamp2=NeHg
    lamp3=Ar
    lamp4=Kr
    lamp5=Xe
    lamp6=Cont
    


    CF-guider filter solenoid (cgf_insert.ini)

    name=cgf
    type=1
    r-address=0x306         ; retract solenoid
    r-bit=6
    e-address=0x306         ; extend solenoid
    e-bit=7
    r1-address=0x306        ; retract-A sensor
    r1-bit=3
    e1-address=0x306        ; extend-A sensor
    e1-bit=2
    

    CF-Guider optics solenoid (cgo_insert.ini)

    name=cgo
    type=1
    r-address=0x306         ; retract insert solenoid
    r-bit=5
    e-address=0x306         ; extend insert solenoid
    e-bit=4
    r1-address=0x306        ; retract-A sensor
    r1-bit=0
    e1-address=0x306        ; extend-A sensor
    e1-bit=1
    

    CF-Guider probe motor (cgp_insert.ini)

    name=cgp
    segment=0xd000          ; address
    axis=d                  ; axis id
    f_max=10000             ; max. speed
    f_stp=250               ; start-up speed
    f_reg=2000              ; regular speed
    f_home=2000             ; home search speed
    f_acc=500               ; acceleration
    homedist=33400          ; max. home distance
    nearwidth=5000          ; width of near-marker
    brakeport=0x301         ; brake
    brakebit=3
    posbyte=0x01            ; positive direction
    negbyte=0x03
    cmd4=0x28               ; LOG_ES=LOG_OV=1
    eunit=1.0               ; no encoder
    rv-adr=0x305            ; forward hard limit
    rv-bit=6
    fw-adr=0x305            ; reverse hard limit
    fw-bit=7
    min=0                   ; min. position
    max=33200               ; max. position
    


    f/4 Detector Focus (df1_select.ini)

    name=ldetf
    segment=0xd000          ; address segment
    board=0x3000            ; board offset
    axis=a                  ; axis id
    f_max=10000             ; max. speed
    f_stp=100               ; start-up speed
    f_reg=500               ; regular speed
    f_home=200              ; home search speed
    f_acc=400               ; acceleration
    homedist=13000          ; max. home distance (steps)
    nearwidth=300           ; width of near-marker (200/rev)
    cmd4=0x28               ; LOG_OV(0x02)=LOG_ES(0x08)=1
    cmd5=0x02               ; GBM (1 clock)
    rv-adr=0x320            ; forward hard limit
    rv-bit=0
    fw-adr=0x320            ; reverse hard limit
    fw-bit=1
    
    f/4 Detector Focus (df1_encoder.ini)
    posbyte=0x01            ; positive direction
    negbyte=0x03
    eunit=10.00             ; encoder counts per step (2000/rev)
    range=25                ; allowed error range
    min=-1001               ; encoder limits
    max=126001
    

    f/2 Detector Focus (df2_select.ini)

    name=sdetf
    segment=0xd000          ; address segment
    board=0x3000            ; board offset
    axis=b                  ; axis id
    f_max=10000             ; max. speed
    f_stp=100               ; start-up speed
    f_reg=500               ; regular speed
    f_home=200              ; home search speed
    f_acc=400               ; acceleration
    cmd4=0x28               ; LOG_OV(0x20)=LOG_ES(0x08)=1
    cmd5=0x02               ; GBM (1 clock)
    
    f/2 Detector Focus (df2_encoder.ini)
    eunit=1.0               ; encoder counts per step
    range=5                 ; allowed error range
    min=-23000              ; encoder limits
    max=23000 
    encoder=1               ; absolute encoder
    posbyte=0x03            ; positive direction
    negbyte=0x01
    


    Disperser Wheel Brake (dsb_insert.ini)

    name=dsb
    type=1
    r-address=0x31e         ; retract solenoid
    r-bit=7
    e-address=0x31e         ; extend solenoid
    e-bit=6
    r1-address=0x31a        ; retract-A sensor
    r1-bit=7
    e1-address=0x31a        ; extend-A sensor
    e1-bit=6
    

    Disperser Wheel Clamp (dsc_insert.ini)

    name=dsc
    type=4
    r-address=0x31e         ; retract solenoid
    r-bit=4
    e-address=0x31e         ; extend solenoid
    e-bit=5
    r1-address=0x31d        ; retract-A sensor
    r1-bit=0
    e1-address=0x31d        ; extend-A sensor
    e1-bit=1
    r2-address=0x31d        ; retract-B sensor
    r2-bit=2
    e2-address=0x31d        ; extend-B sensor
    e2-bit=3
    r3-address=0x31d        ; retract-C sensor
    r3-bit=4
    e3-address=0x31d        ; extend-C sensor  
    e3-bit=5
    r4-address=0x31d        ; retract-D sensor
    r4-bit=6
    e4-address=0x31d        ; extend-D sensor  
    e4-bit=7
    

    Disperser Wheel Select (dsw_select.ini)

    name=dsw
    segment=0xd000          ; address segment
    board=0x2000            ; board offset
    axis=d                  ; axis id
    f_max=10000             ; max. speed
    f_stp=500               ; start-up speed
    f_reg=5000              ; regular speed
    f_home=2500             ; home search speed
    f_acc=3000              ; acceleration
    homedist=200000         ; max. home distance (half-steps)
    nearwidth=2000          ; 1/2 width of near-marker (half-steps)
    backlash=5              ; motor steps
    brakeport=0x31e         ; brake
    brakebit=0
    posbyte=0x03            ; positive direction
    negbyte=0x01
    cmd4=0x28               ; LOG_ES=LOG_OV=1
    eunit=0.455             ; encoder counts (5 um) per half-step
    range=3                 ; allowed error range
    rv-adr=0x31c            ; forward hard limit
    rv-bit=7
    fw-adr=0x31c            ; reverse hard limit
    fw-bit=6
    min=-2620               ; encoder limits
    max=78400
    

    Disperser Wheel Encoder (dsw_epos.ini - 2012-10-09)

    ; rev 24 Mar 09  thare (revised positions and increased range)
    ;                position values averages of three previous ini setups
    ;                (from 03 DEC 05, 18 DEC 07, MAR 09
    ; rev 03 Dec 05  thare  (& w/ Osip 02 Dec 05) modified temp by DJO 071218
    slot1=+77910    ; MOE/MMTF-A  (1a 1b 1c, freeplay=(1a+1b+1c)/2)
    slot2=+63557    ; grism-1     (2a 2b 2c, freeplay= )
    slot3=+49201    ; grating-B   (3a 3b 3c, freeplay= )
    slot4=+34858    ; mirror      (4a 4b 4c  freeplay= )
    slot5=+20517    ; grating-C   (5a 5b 5c  freeplay= )
    slot6=-1655     ; grism-2     (6a 6b 6c  freeplay= )
    slot7=+9330     ; open
    range=25        ; set range <= (smallest freeplay value)/2
    

    Disperser Slot Selection (dispslot#.ini)
    Defines which devices are selectable for each disperser wheel position

    Example:

    Gra-300-4.3     1      ; first column is the name
    Gra-300-36.87   1      ; second column is the type
    Gra-600-8.6     1
    Gra-600-13.0    1      ;   1= grating
    Gra-1200-17.45  1      ;   2= grism
    Gra-1200-26.7   1      ;   3= mirror
    MOE             4      ;   4= MOE
    MMTF            5      ;   5= MMTF
    LDP		6      ;   6= prism
    empty           0      ;   0= open
    
    dispslot1.ini: (2012-10-09)
    Gra-150-3.4     1
    Gra-300-4.3     1
    Gra-300-36.87   1
    Gra-600-8.6     1
    Gra-600-13.0    1
    Gra-1200-17.45  1
    Gra-1200-26.7   1
    MOE             4
    MMTF            5
    LDP             6
    LDP2            6
    UDP             6
    Gri-150-18.8    2
    Gri-200-15.0    2
    Gri-300-17.5    2
    Gri-300-26.7    2
    Gri-600-34.0    2
    Filter          2
    empty           0
    
    dispslot2.ini: (2012-10-09)
    Gri-150-18.8    2
    Gri-200-15.0    2
    Gri-300-17.5    2
    Gri-300-26.7    2
    Gri-600-34.0    2
    LDP             6
    Rhoads_B        6
    MDM656.5        6
    MDM665  6
    empty           0
    
    dispslot3.ini: (2012-10-09)
    Gra-150-3.4     1
    Gra-300-4.3     1
    Gra-300-36.87   1
    Gra-600-8.6     1
    Gra-600-13.0    1
    Gra-1200-17.45  1
    Gra-1200-26.7   1
    MOE             4
    UDP             6
    empty           0
    Gri-300-26.7    2
    Gri-150-18.8    2
    
    dispslot4.ini: (2012-10-09)
    f/4-Imaging     3
    Gri-150-18.8    2
    Gri-200-15.0    2
    Gri-300-17.5    2
    Gri-300-26.7    2
    
    dispslot5.ini: (2012-10-09)
    Gra-150-3.4     1
    Gra-300-4.3     1
    Gra-300-36.87   1
    Gra-600-8.6     1
    Gra-600-13.0    1
    Gra-1200-17.45  1
    Gra-1200-26.7   1
    MOE             4
    empty           0
    
    dispslot6.ini: (2012-10-09)
    Gri-150-18.8    2
    Gri-200-15.0    2
    Gri-300-17.5    2
    Gri-300-26.7    2
    Gri-600-34.0    2
    LDP             6
    Rhoads_B        6
    MDM656.5        6
    MDM665  6
    empty           0
    


    f/4 Filter Master (lfmaster.ini as of 2015-11-24)

    Bessell_B1           -490   1   0
    Bessell_V1           -180   1   0
    Bessell_R1              0   1   0
    CTIO-I1               170   1   0
    Spectroscopic1        436   2   0  
    MDM_6565/80            56   1   0    
    MDM_6650/80             0   1   0
    MMTF_5102/150           0   3   0 
    MMTF_5290/156           0   3   0 
    MMTF_6399/206         532   3   0
    MMTF_6600/260         600   3   0
    MMTF_6815/216         560   3   0 
    MMTF_7045/228         560   3   0    
    MMTF_9163/318           0   3   0    
    GG455                 350   3   0
    GG495                 505   3   0
    OG570                -210   3   0
    z1_430-675            414   3   0
    z2_520-775            400   3   0
    z3_608-863              0   3   0
    WB3600-5700           328   3   0
    WB3800_7000             0   3   0
    WB4800-7800           440   3   0
    WB5600-9200           494   3   0
    WB6300-9500           320   3   0
    WB4507-5454           426   3   0
    WB4791-6397           486   3   0
    WB5694-9819           464   3   0
    WB6226-7171           386   3   0
    WB6296-8053           407   3   0
    Sloan_u               270   1   0
    Sloan_g                65   1   0
    Sloan_r               240   1   0
    Sloan_i               130   1   0
    Sloan_z                50   1   0
    NB8200/150           -438   1   0
    NB5890                325   1   0
    Rauch4285/100        -910   3   0
    676nm-circular        800   1   0
    HAlpha_6563/40         30   3   0
    OIIIromanowsky        154   3   0
    Spect2                450   2   0
    
    f/2 Filter Master (sfmaster.ini as of 2016-02-03)
    Bessell_B2           -245   1   0  
    Bessell_V2           -135   1   0 
    Bessell_R2              0   1   0 
    CTIO-I2               125   1   0  
    Spectroscopic2        456   2   0
    MDM_6565/80             0   1   0    
    MDM_6650/80             0   1   0
    MMTF_5102/150         490   3   0 
    MMTF_5180             362   3   0
    MMTF_5290/150         481   3   0
    MMTF_6399/206         510   3   0
    MMTF_6600/260         607   3   0
    MMTF_6815/216         570   3   0
    MMTF_7045/228         563   3   0
    MMTF_865              490   3   0
    MMTF_9163/318         509   3   0
    GG455                 490   1   0
    GG495                 556   1   0
    OG570                -200   3   0    
    z1_430_675            430   3   0
    z2_520_775            450   3   0
    z3_608-863            650   3   0
    WB3600-5700           430   3   0
    WB3800-7000           508   3   0
    WB4800-7800           410   3   0
    WB5600-9200           516   3   0
    WB6300-9500           400   3   0
    WB8500-9500           479   3   0
    WB4791-6397           544   3   0
    WB5694-9819           584   3   0  
    WB6226-7171           400   3   0
    WB6296-8053           400   3   0
    Sloan_u               111   1   0
    Sloan_g               170   1   0 
    Sloan_r               191   1   0  
    Sloan_i               119   1   0
    Sloan_z                60   1   0     
    BATC-14              -145   1   0
    BATC-15              -145   1   0
    BP3950               -337   3   0
    OIIIaat0380           366   3   0
    OIII_AST0865          260   3   0
    OIIIromanowsky        261   3   0
    HAlpha_6563/40       -255   1   0
    676nm-circular        835   3   0
    NB8200/150           -324   3   0 
    GG495_block           556   3   0
    GG495_Spectr          556   2   0
    
    f/4 Filter Server Select (fs1_select.ini)
    name=f1s
    segment=0xd000          ; address
    axis=a                  ; axis id
    f_max=10000             ; max. speed
    f_stp=500               ; start-up speed
    f_reg=2500              ; regular speed
    f_home=1400             ; home search speed
    f_acc=2000              ; acceleration
    homedist=20000          ; max. home distance [pulses]
    nearwidth=3000          ; width of near-marker [pulses]
    brakeport=0x301         ; brake
    brakebit=1
    posbyte=0x03            ; positive direction
    negbyte=0x01            ; negative direction
    cmd4=0x08               ; LOG_ES=1
    eunit=10.               ; encoder units [um] per step
    range=25                ; allowed error range
    rv-adr=0x300            ; forward hard limit
    rv-bit=4
    fw-adr=0x300            ; reverse hard limit
    fw-bit=5
    min=-177500             ; encoder limits
    max=+162300
    

    f/4 Filer Server Insert (fs1_insert.ini)

    name=f1i
    type=2
    r-address=0x301         ; retract solenoid
    r-bit=4
    e-address=0x301         ; extend solenoid
    e-bit=5
    e1-address=0x300        ; extend-A sensor
    e1-bit=0
    e2-address=0x300        ; extend-B sensor
    e2-bit=1
    r1-address=0x300        ; retract-A sensor
    r1-bit=2
    r2-address=0x300        ; retract-B sensor
    r2-bit=3
    

    f/4 Filter Server Encoder (fs1_epos.ini - 2012-10-09)

    slot1=+103300   ; +300 units all on 1april 2006 (mn, jb)
    slot2=+83300
    slot3=+63300
    slot4=+43300
    slot5=+23300
    slot6=+3300
    slot7=-16700
    slot8=-36700
    slot9=-56700
    slot10=-76700
    slot11=-96700
    slot12=-116700
    slot13=-136700
    slot14=-156700 
    slot15=-176700
    range=100
    

    f/2 Filter Server Select (fs2_select.ini)

    name=f2s
    segment=0xd000          ; address
    axis=c                  ; axis id
    f_max=10000             ; max. speed
    f_stp=700               ; start-up speed
    f_reg=2500              ; regular speed
    f_home=1900             ; home search speed
    f_acc=3000              ; acceleration
    homedist=20000          ; max. home distance
    nearwidth=3000          ; width of near-marker
    brakeport=0x301         ; brake
    brakebit=2
    posbyte=0x03            ; positive direction
    negbyte=0x01            ; negative direction
    cmd4=0x08               ; LOG_ES=1
    eunit=10.               ; encoder units per step
    range=50                ; allowed error range
    rv-adr=0x305            ; reverse hard limit
    rv-bit=5
    fw-adr=0x305            ; forward hard limit
    fw-bit=4
    min=-197800             ; encoder limits
    max=+106800
    

    f/2 Filer Server Insert (fs2_insert.ini)

    name=f2i
    type=2
    r-address=0x302         ; retract solenoid
    r-bit=2
    e-address=0x302         ; extend solenoid
    e-bit=3
    e1-address=0x305        ; extend-A sensor
    e1-bit=1
    e2-address=0x305        ; extend-B sensor
    e2-bit=2
    r1-address=0x305        ; retract-A sensor
    r1-bit=0
    r2-address=0x305        ; retract-B sensor
    r2-bit=3
    

    f/2 Filter Server Encoder (fs2_epos.ini 2012-10-09)

    slot15=-186320  ; updated 091029 (1-15) -1000 encoder units
    slot14=-166320
    slot13=-146380
    slot12=-126420
    slot11=-106470
    slot10=-86460
    slot9=-66760
    slot8=-46960
    slot7=-26950
    slot6=-7050
    slot5=+13110
    slot4=+32910
    slot3=+53260
    slot2=+72710
    slot1=+92600
    range=100
    


    Grating Tilt A (grA_select.ini)

    name=grA
    segment=0xd000          ; address segment
    board=0x2000            ; board offset
    axis=a                  ; axis id
    f_max=10000             ; max. speed
    f_stp=3000              ; start-up speed
    f_reg=9000              ; regular speed
    f_home=9000             ; home search speed
    f_acc=6000              ; acceleration
    posbyte=0x03            ; positive direction
    negbyte=0x01
    cmd4=0x28               ; LOG_OV=0x20,LOG_ES=0x08
    range=4                 ; allowed error range [EU] (4.12576 EU/arcsec)
    rv-adr=0x31a            ; forward hard limit
    rv-bit=0
    fw-adr=0x31a            ; reverse hard limit
    fw-bit=1
    

    Grating Tilt B (grB_select.ini)

    name=grB
    segment=0xd000          ; address segment
    board=0x2000            ; board offset
    axis=b                  ; axis id
    f_max=10000             ; max. speed
    f_stp=3000              ; start-up speed
    f_reg=9000              ; regular speed
    f_home=9000             ; home search speed
    f_acc=6000              ; acceleration
    posbyte=0x03            ; positive direction
    negbyte=0x01
    cmd4=0x28               ; LOG_ES=LOG_OV=1
    range=6                 ; allowed error range [EU] (4.12576 EU/arcsec)
    rv-adr=0x31a            ; forward hard limit
    rv-bit=2
    fw-adr=0x31a            ; reverse hard limit
    fw-bit=3
    

    Grating Tilt C (grC_select.ini)

    name=grC
    segment=0xd000          ; address segment
    board=0x2000            ; board offset
    axis=c                  ; axis id
    f_max=10000             ; max. speed
    f_stp=3000              ; start-up speed
    f_reg=9000              ; regular speed
    f_home=9000             ; home search speed
    f_acc=6000              ; acceleration
    posbyte=0x03            ; positive direction
    negbyte=0x01
    cmd4=0x28               ; LOG_ES=LOG_OV=1
    range=6                 ; allowed error range
    rv-adr=0x31a            ; forward hard limit
    rv-bit=4
    fw-adr=0x31a            ; reverse hard limit
    fw-bit=5
    

    Grating Mechanism 1 (gr1_select.ini)

    min=-98000              ; (-99000) encoder limits
    max=+330000             ; (+335000) HOME @ 42.8
    homedist=350000         ; motor steps
    nearwidth=90000         ; motor steps
    backlash=5
    eunit=1.295             ; encoder counts (0.1 um) per micro-step (1/25)
    zero=303100             ; encoder Zorder for grat300/4.3 adj111227mn old=302814 
    

    Grating Mechanism 2 (gr2_select.ini)

    min=-106000             ; (-111000) encoder limits
    max=+329000             ; (+334000) HOME @ todo
    homedist=350000         ; motor steps
    nearwidth=90000         ; motor steps
    backlash=5
    eunit=1.300             ; encoder counts (0.1 um) per micro-step (1/25)
    zero=300774             ; encoder 0-order for grat600/8.6 030409 mn
    

    Grating Mechanism 3 (gr3_select.ini)

    min=-101000             ; (-106000) encoder limits
    max=+320000             ; (+325000) HOME @ 42.6
    homedist=350000         ; motor steps
    nearwidth=90000         ; motor steps
    backlash=5
    eunit=1.285             ; EU/micro-step (1/25)
    zero=302500             ; encoder ZeroOrder adj111221mn grat150 old301820
    

    Grating Mechanism 4 (gr4_select.ini)

    min=-192000     ; was -192000           ; encoder limits was -190000
    max=+319000     ; was +319000           ; (+379000) HOME @ 42.4 deg ; was 370000
    homedist=500000 ; was  800000           ; motor steps
    nearwidth=90000 ; was  590000           ; motor steps
    backlash=5
    eunit=1.295                             ; EU/micro-step (1/25)
    zero=296067     ; was  295150           ; zero adj. grat1200Blue 111210mn
    


    Mask Server Select (mask_select.ini)

    name=mss
    segment=0xd000          ; address
    axis=b                  ; axis id
    f_max=10000             ; max. speed
    f_stp=250               ; start-up speed
    f_reg=3000              ; regular speed
    f_home=1000             ; home search speed
    f_acc=1500              ; acceleration
    homedist=29000          ; max. home distance
    nearwidth=2500          ; width of near-marker
    brakeport=0x301         ; brake
    brakebit=0
    posbyte=0x03            ; positive direction
    negbyte=0x01
    cmd4=0x29               ; LOG_NEAR=LOG_ES=LOG_OV=1
    eunit=10.1599           ; encoder units (um) per step
    range=50                ; allowed error range
    rv-adr=0x302            ; forward hard limit
    rv-bit=6
    fw-adr=0x302            ; reverse hard limit
    fw-bit=7
    min=-150000             ; encoder limits changed 060608 by Osip 
    max=+152800       ; was +152400 - changed 060510 by Osip to exceed the mask slot 1 position
    

    Mask Server Insert (mask_insert.ini)

    name=msi
    type=1
    r-address=0x301         ; retract solenoid
    r-bit=6
    e-address=0x301         ; extend solenoid
    e-bit=7
    e1-address=0x300        ; extend-A sensor
    e1-bit=7
    r1-address=0x300        ; retract-A sensor
    r1-bit=6
    

    Mask Server Encoder (mask_epos.ini)

    ; following full rebuild of mask server
    ; revised 08 MAY 09, tsh (corrected values +100)
    slot1=+151315
    slot2=+101305
    slot3=+51260
    slot4=+1685
    slot5=-48305
    slot6=-98300
    slot7=-123270
    slot8=-148095
    range=100
    

    Mask Server Latch (mask_latch.ini)

    name=msl
    type=1
    delay=500
    r-address=0x302         ; retract solenoid
    r-bit=0
    e-address=0x302         ; extend solenoid
    e-bit=1
    e1-address=0x302        ; extend-A sensor
    e1-bit=4
    r1-address=0x302        ; retract-A sensor
    r1-bit=5
    

    Mask Server Clamp (mask_clamp.ini)

    name=msc
    type=1
    delay=500
    r-address=0x309         ; retract solenoid
    r-bit=6
    e-address=0x309         ; extend solenoid
    e-bit=7
    r1-address=0x308        ; retract sensor
    r1-bit=2
    e1-address=0x308        ; extend sensor
    e1-bit=3
    

    Focus Offsets (IFU,GISMO) (focus_offsets.ini)
    Note:This file replaces ifu_offsets.ini (May/2007)

    ifu_f2=-80              ; focus offset with IFU in f/2 (short) mode
    ifu_f4=-300             ;                          f/4 (long) mode
    gismo=0			; focus offset with GISMO (f/4 only)
    

    GISMO sub-mask positions (gismo_epos.ini - 2012-10-09)

    slot1=5.89
    slot2=17.74
    slot3=29.94
    slot4=41.78
    slot5=53.76
    offset=0.0
    range=0.25              ; default = 0.25
    


    Principal Guider Theta (pgt_select.ini)

    name=pgt
    segment=0xd000          ; address segment
    board=0x1000            ; board offset
    axis=c                  ; axis id
    f_max=10000             ; max. speed
    f_stp=500               ; start-up speed
    f_reg=4000              ; regular speed
    f_home=2000             ; home search speed
    f_acc=3000              ; acceleration
    homedist=50000          ; max. home distance (half-steps)
    nearwidth=3000          ; 1/2 width of near-marker (half-steps)
    backlash=8             ; motor steps
    brakeport=0x311         ; brake
    brakebit=2
    posbyte=0x01            ; positive direction
    negbyte=0x03
    cmd4=0x29               ; LOG_NEAR=LOG_ES=LOG_OV=1
    eunit=1.296             ; encoder counts (5 um)  per half-step
    range=5                 ; allowed error range
    rv-adr=0x312            ; forward hard limit
    rv-bit=2
    fw-adr=0x312            ; reverse hard limit
    fw-bit=3
    min=-34500      ; changed from -38000, 2007-05-05, CCB
    max=+51200      ; changed from +49900, 2007-05-05, CCB
    

    Principal Guider Filter (pgf_insert.ini)

    type=1
    r-address=0x312         ; retract insert solenoid
    r-bit=5
    e-address=0x312         ; extend insert solenoid
    e-bit=4
    r1-address=0x312        ; retract-A sensor
    r1-bit=0
    e1-address=0x312        ; extend-A sensor
    e1-bit=1
    


    Shack-Hartman Guider Theta (sgt_select.ini)

    name=sgt
    segment=0xd000          ; address segment
    board=0x1000            ; board offset
    axis=a                  ; axis id
    f_max=10000             ; max. speed
    f_stp=250               ; start-up speed
    f_reg=3500              ; regular speed
    f_home=1200             ; home search speed
    f_acc=2000              ; acceleration
    homedist=50000          ; max. home distance (half-steps)
    nearwidth=3000          ; 1/2 width of near-marker (half-steps)
    backlash=8                      ; motor steps
    brakeport=0x311         ; brake
    brakebit=0
    posbyte=0x01                ; positive direction
    negbyte=0x03
    cmd4=0x28                       ; LOG_OV(0x20)=LOG_ES(0x08)
    eunit=1.296             ; encoder counts [5 um] per half-step
    range=6                 ; allowed error range (EU)
    rv-adr=0x310            ; forward hard limit
    rv-bit=4
    fw-adr=0x310            ; reverse hard limit
    fw-bit=5
    min=-48200                      ; encoder limits
    max=+39400              ; changed by DJO on 091026 from 39600 sensor limit at 39620
    

    Shack-Hartman Guider Radius (sgr_select.ini)

    name=sgr
    segment=0xd000          ; address segment
    board=0x1000            ; board offset
    axis=b                  ; axis id
    f_max=10000             ; max. speed 
    f_stp=500               ; start-up speed
    f_reg=1100              ; regular speed
    f_home=900              ; home search speed
    f_acc=1000              ; acceleration
    homedist=15000          ; max. home distance (half-steps)
    nearwidth=10000         ; 1/2 width of near-marker (half-steps)
    brakeport=0x311         ; brake
    brakebit=1
    posbyte=0x01            ; positive direction
    negbyte=0x03
    cmd4=0x28               ; LOG_ES=LOG_OV=1
    eunit=1.934             ; encoder counts (1 um) per half-step
    range=16                ; allowed error range (eunits)
    min=-16000              ; min. encoder value 
    max=24000               ; max. encoder value changed by DJO on 091026 from 22400 sensor limit at 24676
    

    Shack-Hartman Guider Optics (sgo_insert.ini)

    type=1
    r-address=0x311         ; retract insert solenoid
    r-bit=6
    e-address=0x311         ; extend insert solenoid
    e-bit=7
    r1-address=0x310        ; retract sensor
    r1-bit=2
    e1-address=0x310        ; extend sensor
    e1-bit=3
    

    Shack-Hartman Guider Filter (sgf_insert.ini)

    type=1
    r-address=0x311         ; retract insert solenoid
    r-bit=5
    e-address=0x311         ; extend insert solenoid
    e-bit=4
    r1-address=0x310        ; retract-A sensor
    r1-bit=0
    e1-address=0x310        ; extend-A sensor
    e1-bit=1
    


    IMACS (internal) Rotator (rotator.ini)

    segment=0xd000          ; address
    board=0x3000            ; board offset
    axis=c                  ; axis id
    f_max=10000             ; max. speed
    f_stp=100               ; start-up speed
    f_reg=2900              ; regular speed
    f_acc=1000              ; acceleration
    posbyte=0x03            ; positive direction
    negbyte=0x01            ; negative direction
    cmd4=0x08               ; LOG_ES=1
    eunit=0.000433296       ; degrees per step
    min=-345
    max=+125
    


    .tab Files

    The following files contain the flexure tables used to run the open-loop flexure control of IMACS. It should not be necessary to change any of those. If you, however do so, please be very careful and notify me (birk AT obs DOT carnegiescience DOT edu) immediately.

    f/4 Mirror (imaging) (flex_mirr.tab)

    
    
    

    f/4 Grating (spectroscopy) (flex_grat.tab)

    
    
    

    f/2 Open (imaging) (flex_open.tab)

    
    
    

    f/4 Grism (spectroscopy) (flex_gris.tab)

    
    
    


    2003-10-29, Christoph C. Birk, Carnegie Observatories (last updated: 2016-02-02)