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
- 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
- UN*X operating system with X11 libraries.
Linux (RedHat/Fedora), Solaris and MacOS-X (Tiger/SnowLeopard) are tested.
Note: Solaris is probably (I have no access to any
computer running Solaris anymore) broken since it does
limit the number of semaphores to 16, but the current IMACS software
requires at least 24.
- CXT (Christoph's X11-toolkit) library
(source code is available here)
- Shared memory (SysV) settings (#blocks >= 9, size >= 32 MBytes)
MacOS-X 10.4 (Tiger): /etc/rc
MacOS-X 10.5 (Leopard): /etc/rc.local
sysctl -w kern.sysv.shmmax=33554432
.shmmin=1
.shmmni=32
.shmseg=16
.shmall=65536
MacOS-X 10.6 .. 10.13 (SnowLeopard .. HighSierra): /etc/sysctl.conf
kern.sysv.shmmax=33554432
kern.sysv.shmseg=16
kern.sysv.shmall=65536
macOS 11.x (Big Sur): use 'launchd'
/Library/LaunchDemons/shmsetup.plist
- The SAO-, GSC- or USNO-A catalog(s) are optional to run the
data simulator. If no catalog is present the software
will create random stars in simulator mode.
Software Upgrade Procedure
- Coordinate with maginst@lco.cl.
Ensure the IMACS software is shut down.
- 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
- Terminal2 (copy new sources to 'llama')
cp LCO/IMACS/src
scp *.c *.h imacs@llama.lco.cl:IMACS/src/
- Terminal1 (compile, link and copy the new binaries)
make user
make install
- Send email to 'maginst@lco.cl' and ask for testing/verification.
Send link to updated documentation
(https://instrumentation.obs.carnegiescience.edu/Software/IMACS/#news).
- Optional: revert to the previous version:
mv bin bin.yyyy
mv bin.xxxx bin
2004-06-02,
Christoph C. Birk, Carnegie Observatories