You are here: Foswiki>Software Web>IIF (20 Aug 2019, PetrKubanek)Edit Attach

Instrument InterFace

digraph G { rankdir=RL node[style=filled, shape=box] TCS[fillcolor=gray] IIF[fillcolor=lightblue] INDI[fillcolor=magenta]

IIF->TCS INDI->IIF

{ rank=same 1[style=invis, shape=point] node[shape=oval, fillcolor=gold] IRTC[fillcolor=lightyellow] LUCI MODS LN LBTI PEPSI SHARK[style=dashed] VIS[style=dashed] }

1->IIF[style=invis]

IRTC->IIF LUCI->IIF MODS->IIF LN->IIF LBTI->INDI PEPSI->IIF SHARK->IIF[style=dashed] VIS->IIF[style=dashed] }

Instruments call IIF functions (received through ICE), and transform those to TCS calls. IIF arbitrates (select) which instrument is in control, and refuse controlling calls from an unauthorized instrument.

The Instrument Interface subsystem (IIF) is the software which allows instrument software to communicate with the Telescope Control System (TCS). ICE is used as the preferred communication mechanism. The command set is extensive, and is documented in the VCAN:
  • T481s00011 C++ Instrument Interface Control Document
  • T481s00013 ICE Instrument Interface Control Document
  • T481s00014 C Instrument Interface Control Document

There are two documents describing the IIF itself in the VCAN:
  • T481s00263 IIF Subsystem Software Reference Manual
  • T481s00264 IIF Subsystem Software User's Manual

And documents on wiki/web:

Both the ICE and C interfaces are wrappers around the C++ interface. The C interface is used only by the LBC software. The ICE wrapper is in the IIF, the C wrapper is not.

The ICE interface instantiates C++ interface objects: one object is instantiated for each unique ICE proxy. The interface is kept in a map keyed by the proxy. Each ICE request then uses the appropriate C++ object.

It is because the map is in the IIF subsystem that instruments have to re-establish their connection when the IIF is restarted.

ICE files

IIF ICE files are located at ICE subdirectory. Please see 481s013 for details. Factory.ice and IIFServer.ice _(don't be misled by "server" in the name that's interface description, one side is the server, the other is the client)_- is all instruments client needs to connect to IIF. Usually, after turning .ice files into the source code for a language of your choice, using slice2xxxx command, yours instrument software will be able to interface to IIF.

Preset function

Arguably the most visible IIF function. Consists of two commands:
  1. set target and guiding coordinates
  2. command telescope to move

Once coordinates are received, IIF:
  1. command PCS to move to a position *. PCS commands MCSPU to move telescope axes
  2. if guiding (and wavefront sensing) is required, command GCS
Topic revision: r4 - 20 Aug 2019, PetrKubanek
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback