:: Overview
:: LBT Software
   Development
:: Instrument
   Interface Library
:: Guide
   Control System
:: Team
:: Links
 
Instrument Interface Library (IIF)

The Instrument Interface Library (IIF) is part of the Telescope Control System (TCS), which consists of 10 subsystems controlling and coordinating the attached lower-level hardware components of the telescope. They allow for multi-threaded request processing, and their status can be inquired through telemetry services. The proper functioning of the subsystems is constantly monitored, and their state is persisted in reflective memory for reliable error recovery. Examples of such subsystems are the Pointing Control System (PCS), which implements the telescope's pointing model, and the Command Sequencer (CSQ), which coordinates the actions of the other subsystems while processing higher-level commands.

In order for the LBT instruments to meet their scientific goals, they must communicate efficiently and transparently with the TCS. This can best be achieved by providing a relatively small set of commands that are capable of meeting the requirements of all planned LBT instruments during normal mode of operation. The architecture of the IIF provides for easy extensibility, thereby allowing to adapt the IIF when new requirements arise. The IIF is packaged into a program library. For an instrument to communicate with the telescope, it will exclusively use this library by compiling it into the software logic resident inside the instrument control server. The library will provide the Instrument with a set of functions that trigger processing inside the TCS. Instruments will be required to uniquely identify themselves to the telescope by specifying a globally unique identifier at runtime. It is composed of the instrument's name plus a string to determine the focal station for the commanding instrument. Figure 1 illustrates this connection mechanism.
 
Figure 1: Conceptual overview of the connections between the telescope control system (TCS) and the instruments

At current state, the IIF supplies the following commands:
  • PresetTelescope (to position the telescope on the observation target)
  • OffsetTelescope (to offset the telescope from the preset target position)
  • OffsetGuiding (to allow the instruments to issue their own guiding corrections)
  • GetParameter (to query the status of TCS-internal data dictionary entries)
  • SetIdle (to tell the telescope that an instrument is no longer using the specified telescope side)
  • GetRotatorTrajectory (to inquire the projected rotator trajectory)
  • LogEvent (to log a message in the TCS logging subsystem)
  • MoveFocus / StepFocus (to re-position the telescope focus)
  • TipTilt (to tip and tilt the primary mirrors)
  • MoveXY (to shift the primary mirror in the focal plane)
  • RotatePrimary (to rotate the primary mirror around a given reference point on the optical axis)
  • SendWavefront (to send wavefront correction information to the TCS)
The work package comprises the library described above, as well as application programming interface (API) documentation for instrument software developers, and programming examples. Design specifications are modeled in the Unified Modeling Language (UML) to support the understanding of the software architecture. Figures 2 and 3 show an excerpt of the UML and API documentation for the IIF.
 
Figure 2: Software design documentation in Unified Modeling Language (UML)
Figure 3: HTML documentation for the application programming interface (API) for the Instrument Interface library

 

:: last update 2005-02-22, F. Rodler ::