Pseudo-monocular "mode" was invented to allow "parasitic observing": allowing an instrument on one ("passive") side to take exposures and issue asynchronous offsets while the telescope pointing was being driven by an instrument on the other ("active") side. While this was being designed and implemented, it was realized pseudo-monocular would be useful to handle some classes of errors when an instrument was not prepared for adequate error recovery. In particular, pseudo-monocular was extended to support an instrument sending commands in a binocular context, but where one side of the telescope was not functioning for some reason.

The name was chosen because while the telescope is configured for binocular operation, it is being operated from just one side.

Note that pseudo-monocular is NOT intended to be used for any binocular observing where both sides are working, including mixed instrument operation. For mixed instruments, both instruments should generate BinocularControl commands at the appropriate points to keep the observations synchronized.


The telescope must be in binocular mode (two instruments authorized). Pseudo-monocular mode is requested by clicking one of the "PseudoMono" buttons on the IIFGUI Control form. The side clicked becomes the active side. The GUI prevents both sides being checked. You will notice the "Ignore" buttons are automatically checked, and the "Allow Offset" button on the other side (the passive side) is also checked. The "Allow Offset" button may be unchecked, but unchecking the "Ignore" buttons will result in undesirable behavior. You may turn off pseudo-monocular mode at any time by again clicking the checked button.


In the default configuration, pseudo-monocular mode will
  • Ignore all BinocularControl SYNCPRESET and SYNCOFFSET commands from either side and return a warning
  • Duplicate Preset and Offset commands from the active side to the passive side as synchronous operations
  • Ignore Preset commands from the passive side instrument and return a warning
  • Accept asynchronous Offset commands from the passive side instrument

Unchecking the "Allow Offset" box on the passive side will cause any asynchronous Offset commands from the passive side instrument to be ignored and returned with a warning. Since BinocularControl SYNCPRESET and SYNCOFFSET commands are ignored, neither side can send synchronous Presets or Offsets. Note that asynchronous Offsets from the passive side are subject to the co-pointing limit.

Only Preset and Offset commands are part of pseudo-monocular operation. Active side Preset and Offset commands are duplicated in the IIF ICE interface, synchronous operation flags are set, and then one command is sent to each side. Only the IIF is aware of the pseudo-monocular situation; all other subsystems are operating in full binocular mode. [In order to maintain proper synchronization with the PCS, all errors in the IIF execute processing sequence (see Wiki pages IIFPresetSequence and IIFOffsetSequence) for both commands are ignored until the PCS has been given the appropriate information (target or offset). Then any previous errors are allowed to cause the command to exit. After the PCS has been involved, error exits are handled normally. Errors that occur before the execute section of the command will exit early. This special error exit handling will be in TCS Build 2017A.]

Since the commands are duplicated, the PCS should always use the mount to change the pointing, although sometimes there may be very small optics changes due to different wavelengths or different pointing models.

Pseudo-monocular mode is dynamic; that is, you can change it without doing anything else. However, only change it when there are no Preset or Offset commands being processed so the bookkeeping doesn't get confused. The "Allow Offset" condition is also dynamic; it can be changed at will, so it is possible to enable it, send in one Offset by hand for the passive side, and then disable it so Offsets from a script will be ignored. If an Offset is being processed when another Offset comes in, the second one will fail very early with a "busy" error, which can cause problems if the second one is a pseudo-monocular duplicated Offset. In this case the TCS will hang because the early failure will prevent the TCS from realizing both synchronous Offsets have arrived..

Example - parasitic observing with LBC

LUCI/LBC is authorized because LUCI2 is not working. LUCI1 will drive the telescope, and LBC red will be used to take images of wherever LUCI is pointing. Set pseudo-monocular on the left side, and leave the "Allow Offset" box checked on the right side. Run the LUCI monocular script, and use an LBC OB which will just take images, and dither to manage the LBC detector gaps. Some of the LBC images will probably be taken when the telescope is moving. John Hill has created some scripts to help manage the LBC operation.

Example - one telescope side is unusable

LUCI/LUCI is authorized. The right side AO system fails, and the shell cannot be set. You can keep a binocular script running by setting pseudo-monocular mode with the left side active, uncheck the "Allow Offset" button on the right side, and disable the instrument taking data in the LUCI GUI. The left side will now drive the telescope. If you are careful, some AO engineering work can now be done on the right. Whenever there is a left side Preset/Offset, the right side will also move, but the AO engineer can do manual asynchronous Offsets by checking the "Allow Offset" on the right side, sending the Offset using the IRC, and then unchecking the "Allow Offset". The engineer must be careful to only send in the manual Offset when there is no chance of a script generated Offset coming in while the manual one is being processed because then the TCS will hang the script.

Adaptive Optics

An AO Preset will be duplicated to the passive side (except for the LBC). However, since the RunAO command is not part of pseudo-monocular, it must be issued by the instruments on both sides at the proper time.

Return status

The Preset and Offsets commands sent by the active side will return status to that instrument in the normal way. The duplicated passive side Preset and Offset commands do not return status anywhere, but any error will still create events and log messages.


  • An LBC cannot be the active instrument, because the command duplication process is in the IIF ICE interface, and the LBC does not yet use ICE
  • It is not possible to have a passive side AO Preset without an active side AO Preset
  • When an LBC is the passive instrument, the duplicated Preset will have a rotation angle of 0.0, mode TRACK, no guide stars, and no AO reference object

-- %USERSIG{ChrisBiddick - 2017-04-19}%
Topic revision: r3 - 20 Apr 2017, ChrisBiddick
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