IMACS Software Documentation

The Observatories of the Carnegie Institution for Science (Carnegie Observatories), Pasadena, CA

Version 3.18

Christoph C. Birk (birk AT obs DOT carnegiescience DOT edu)


Location of this document: http://instrumentation.obs.carnegiescience.edu/Software/IMACS/overview.html


  • News
  • Software Documentation
  • Trouble Shooting

    Further documentation:

  • The official IMACS User Manual
  • COSMOS: The Carnegie Observatories System for MultiObject Spectroscopy

  • CN7500 Omega controller
  • GP-375 vacuum sensor controller
  • Linmot linear motor controller (shutter, GISMO)
  • JackRabbit shutter code


    News

    v3.19 (2024-11-07)
    CamGUI
  • Work on the TCP/IP interface:
  • The command string should be terminated by a 'LF' ('\n', ASCII=0x0a=10) character. Add 'LF' to the return string.
  • Changed the 'status' command to return {0,1} instead of text (idle,exosure,readout,etc).
  • Added the 'runtime' command to the TCP/IP interface.
  • Added the 'object' command to the TCP/IP interface.
  • Added the 'speed' command to the TCP/IP interface.
  • Added the 'frame' command to the TCP/IP interface.
  • Added the 'datapath' command to the TCP/IP interface.
  • MechGUI
  • Work on the TCP/IP interface:
  • The command string should be terminated by a 'LF' ('\n', ASCII=0x0a=10) character. Add 'LF' to the return string.
  • Added the 'status' command.
  • Added the 'lfocus' and 'sfocus' commands (they had already been implemented as 'xdetfocus' but not documented).
  • v3.18.1 (2024-02-14)
    MechGUI
  • Allow initialization of the PR- and SH-guiders while ROSIE is installed.
  • v3.18 (2024-01-17)
    CamGUI
  • Write a temporary copy of the FITS data to /tmp/imacs_cX.fits.
  • These files allow to recover lost files in the event of a disk disconnect, but will be over-written by the next exposure.
    Release Notes


    Index

    Software Overview
  • Introduction
  • Design Philosophy
  • System Architecture
  • System Requirements
  • Software Upgrade Procedure
  • System Setup and Startup
  • Setup Tool
  • Startup Window
  • System Files
  • Mechanics Control
  • Low Level Control (Module Testing)
  • Mid Level Control (Engineering)
  • High Level Control (User)
  • Data Acquistion
  • CCDserver
  • CamGUI ( Scripting, TCP/IP interface)
  • QlTool
  • Telescope GUI
  • Control
  • Airmass
  • SkyMap
  • Object List
  • Trouble Shooting
  • Common Error Codes
  • Dos and Don'ts
  • Starting Over
  • Linmot Controller Setup
  • Lantronix TCP/IP-Serial Converters

  • Software Overview

    Introduction

    The IMACS control system is responsible for controlling the IMACS instrument. It constitutes the interface between the user (observer) and all IMACS related hardware (science arrays, motion controllers and sensors).

    Design Philosophy

    All code for the IMACS control system was written in ANSI-C and runs under Linux, Solaris and macOS. All graphical components make use of the X11 libraries without any 3rd-party extensions to ensure high flexibility and compatibility over various platforms.
  • modular design (mechanics, data-acq, ql-tool indepenent)
  • 3 level mechanical testing (xxtest, enggui, mechgui) necessary due to long lead times on components

    System Architecture

    The IMACS control system consists of several modules:

    The "Instrument Motion Control"-GUI and the "Science Array Control"-GUI store their status in a common database. The database allows each module to retrieve status information about other modules but keeps interfaces between modules as simple as possible. Communication between all IMACS control system modules is done over TCP/IP sockets. This allows for maximum flexiblility and compatibility between operating systems.

    System Requirements

    Software Upgrade Procedure

    1. Coordinate with maginst@lco.cl. Ensure the IMACS software is shut down.
    2. Terminal1 (create backup of binaries and source code on 'llama')
        ssh imacs@llama.lco.cl
        cd IMACS
        mkdir bin.xxxx
        mkdir src.xxxx
        cp bin/* bin.xxxx
        cd src
        cp *.c *.h *.s makefile ../src.xxxx
      
    3. Terminal2 (copy new sources to 'llama')
        cp LCO/IMACS/src
        scp *.c *.h imacs@llama.lco.cl:IMACS/src/
      
    4. Terminal1 (compile, link and copy the new binaries)
        make user
        make install
      
    5. Send email to 'maginst@lco.cl' and ask for testing/verification.
      Send link to updated documentation (https://instrumentation.obs.carnegiescience.edu/Software/IMACS/#news).
    6. Optional: revert to the previous version:
        mv bin bin.yyyy
        mv bin.xxxx bin
      


    2004-06-02, Christoph C. Birk, Carnegie Observatories