Software Release Notes for Build "BP11"

Release Date: *May 6, 2011*
Generic Release Name: *BP11*
Public Release Name: *"Binocular Operations" release 11*
General Description: Binocular operations with functionality of better configuration file and binary configuration control.

Telescope Operator Overview Information

  • The PSFGUI main window now has a summary of collimation and status for all three mirrors.
  • PCS has implemented the new error codes from the MCSPU regarding error information for the three telescope axes. This should provide improved clarity into the exact nature of the error being reported. Please see the details below for actual error messages.
  • PCS has implemented a fix to the problem of back-computing "achieved" coordinates from the encoder values when making offsets in DETXY.

Support Astronomer Overview Information

  • PCS has implemented the leak rate variable for binocular observing in PCSInstrument.conf. A data dictionary item has been added with units of milli-arcseconds: pcs.activeLeakRate.
  • GCS now supports bias and flat files for guiding. This is configured in the respective AGw's configuration file. Set guidecam_flatImg and guidecam_biasImg to contain a filename to a double precision FITS image that must have the same geometry as a full guidecam readout for that AGw unit and the FITS file must be located in the same directory where the configuration file is. This feature is currently pre-configured for MODS but the bias and flat files will have to get improved before the next MODS run as they are not sufficient to compensate the irregular light distribution in guide images.

Changes across subsystems and GUI's

  • The TCS software install follows a new layout to simplify patching.
  • The lbt.conf file which used to live in the /lbt/tcs/current/etc is now split into pieces in /lbt/tcs/current/[subsystem]/etc/.
  • The system common piece of the old lbt.conf is in /lbt/tcs/current/tcs/etc.
  • Subsystem specific configuration files maintained by the software group now live in /lbt/tcs/current/[subsystem]/configuration/[SUBSYSTEM]/.
  • Starting and stopping the GUI's is accomplished through the TCSGUI, reducing the number of binaries in the PATH.
  • There are no structural changes to the binary targets themselves.

The Details

Specific Tests that need to be performed with the Telescope

Patches to the Release

  • IIF Version 8.11 patched to allow LINC to use the GetRotatorTrajectory command for testing.
  • Variables added to IIF DDNames.conf: IRTC test variables, chamber temp and dewpoint, several IIF on source variables.

Known Bugs

  • none.

Release Overview

  • This release has the old lbt.conf configuration file split into per-subsystem pieces to better manage patching. The pieces are now
    • /lbt/tcs/current/tcs/etc/tcs.conf
    • /lbt/tcs/current/aos/etc/aos.conf
    • /lbt/tcs/current/ecs/etc/ecs.conf
    • /lbt/tcs/current/env/etc/env.conf
    • /lbt/tcs/current/gcs/etc/gcs.conf
    • /lbt/tcs/current/iif/etc/iif.conf
    • /lbt/tcs/current/lss/etc/lss.conf
    • /lbt/tcs/current/mcs/etc/mcs.conf
    • /lbt/tcs/current/oss/etc/oss.conf
    • /lbt/tcs/current/pcs/etc/pcs.conf
    • /lbt/tcs/current/pmc/etc/pmc.conf
    • /lbt/tcs/current/psf/etc/psf.conf
  • The locations of the subsystem's related internal configuration files have changed. The contents of the directory /lbt/tcs/current/etc/GCS/ are now in /lbt/tcs/current/gcs/configuration/GCS/ for instance.

IIF list of Public Data Dictionary Variables

Operating System, System Configuration, TCS and Hardware Computers

TCS Servers / Workstations

  • none.

agw-control computer

  • none.

jet computer, DSP, FPGA

  • none.


  • none.


  • none.

TCS Subsystems and GUIs, and significant configuration files


  • PCS: Added a test variable gsKFPThreshold (guide star KFP Threshold) which is a float set to three arcseconds by default. This is to aid in the diagnosis of the guide star KFP coordinates sometimes being not quite correct after a Preset or an offset. The PCS will issue a SYSLOG message if the guide star KFP coordinates change by greater than this defined threshold.
  • PCS: Deleted "[SX|DX][Tip|Tilt]Threshold" items and removed the corresponding source code.
  • PCS: Added a PCS telemetry flag to control the collection of PCS telemetry (false: do not collect, true: collect).
  • PCS: Added back the warning limit variables, "[SX|DX]WarningSeparation", for co-pointing constraints.
  • PCS: Deleted "maxTipTilt" which is the leak rate; the leak rate is now instrument-dependent. The new variable is located in PCSInstrument.conf and is called LEAKRATE.

AGw control server

  • none.

AOS - Adaptive Optics

  • none.

ECS - Enclosure Control

  • none.

ENV - Environmental Sensors

  • none.

IIF - Instrument Interface

  • IIF Version 8.11
    • Add DIMM information to telemetry (IssueTrak 3331).
    • Add more parameters to Move command events.

GCS V2.4.5 - Guiding Control

  • added an abortEventName for new bookend event '.aborted'
  • changed almost all interruptEventName calls to abortEventName and removed corresponding failedEventName call.
  • changed guideCorrectionFactor in all configuration files to 0.8 in response to IT #2853
  • fixed a problem with the WFS loop not updating temperatures unless when paused
  • added mutexes around AzCam recv() commands to avoid thread collissions on clearing out the receive buffer which could potentially stall a thread (IT #3241)
  • added more SysLog statements around instantiation and forwarding of the Sextractor instance so vital for GCS and its guide thread to understand what causes IT #3246.
  • changed all usleep() calls that used large numbers to use msleep()
  • found and eliminated condition where Sextractor object pointer got reset to NULL and closed IT #3246
  • added some code in GCS to avoid bogus reports of detected zero positions which is in there to resolve IT #3011
  • added additional log messages to WFS track to document correct off axis correction for WFS_xy_transpose flag (related to IT #3177)
  • updated WFScam_hotspot_X/Y to 382.5/252.0 as requested in IT #3247
  • fixed a possible race condition where a previously undetected time out on an image reception could cause a lock up and prevent GCS from sending commands to AzCam.
  • modified the thread handling in pauseGuiding and removed the collission with the control thread for Sextractor (IT #3258)
  • changed path structure of GCS config files to prepare for astronomer owned configuration files and separate GCS internal configuration. This is not yet active in this build.
  • simplified path variables to not provide option for different paths for GCSL and GCSR. They will now use the same paths which they have effectively done in the past anyway.
  • added configuration value WFS_reconMatrix to refer to the FITS file containing the Reconstruction Matrix for WFS to the AGW configuration
  • added configuration value WFS_flatFile to refer to the FITS file containing the reference position that is subtracted from the vector of spot centroids to the AGW configuration
  • added configuration value WFS_maskFile to refer to the definition file of masked out spots to the AGW configuration
  • added configuration value WFS_ZscaleFile to refer to the definition file of Zernike scale factors to the AGW configuration
  • updated all AGW configuration files to define these new configuration values with the defaults that were used before
  • fixed an offset problem with FITS header comments in CamImage.cpp that dropped the first 2 characters in an existing FITS comment
  • added support for AzCam 4.5 which is mainly removing unwanted FITS header entries generated by the new version
  • fixed a problem with FITS comment cards getting two spaces added when writing a FITS header with CamImage class
  • adapted FITS header management to correctly handle small changes that came with AzCam V4.5
  • added latest CCD/dewar temperature readouts to corresponding images' FITS header
  • set Z22 scale factor to 0.0 for LUCI and MODS AGWs to satisfy IT #3328
  • enhanced CamImage::operator*s to support flat field files containing floating point values
  • enhanced CamImage::operator= to supporting assigning CamImage * images
  • enhanced CamImage::createSubImage() to support floating point FITS files
  • added operator/ and operator/= methods to CamImage class
  • CamImage::createSubImage() can now return qualified FITS images if the original image is a FITS image. A basic header is being created if the cutout should be written to disk.
  • modified SysLog message to report hotspot to diferenciate between guider and WFS hotspots (see #IT 3041)
  • added a new optional configuration value to AGW config files: WFScam_biasImg and GuideCam_biasImg pointing to a FITS file with bias information that will get subtracted from acquired camera images
  • added DD variables GuideCam.biasFilename and WFSCam.biasFilename to document the selected bias filename for the respective camera
  • activated support for optional image processing through bias and flat files in acquisition, guide thread and WFS loop if images for the cameras are configured (IT #2531, #2893)
  • fixed some issues with generation of subframes for bias and flat files when adjusting to guide box ROI
  • added SysLog messages and events if subframe creation for bias or flat file failed although master file was successfully loaded
  • added current bias and flat files to GCS configuration. These files will have to get updated once on the mountain and before the next MODS run.
  • configured the latest bias and flat files for use with MODS
  • updated Makefile to reference target names of new build system
  • modified Source Extractor configurations to match path structure of new build
  • added FITS header keys to WFS images as requested by Andrew that reflect PSF/PMC and ECS DD values at the time. In detail:
    • M1COLL0..5 :psf[side].primaryMirror.collimation.collimation[0..5]
    • AO1COLL0..5:psf[side].primaryMirror.collimation.activeOptics[0..5]
    • M2COLL0..5 :psf[side].secondaryMirror.collimation.collimation[0..5]
    • AO2COLL0..5:psf[side].secondaryMirror.collimation.activeOptics[0..5]
    • L2OFFS0..5 :psf[side].secondaryMirror.collimation.localOffset[0..5]
    • T301 :ecs.instrCool.tempChan301
    • T201 :ecs.instrCool.tempChan201
    • AMBTEMP :pmc[side].thermalRpt.ambientThermAvg
    • GLASTEMP :pmc[side].thermalRpt.glassThermAvg
  • fixed a bug in CamImage::createSubImage that had trouble with non float FITS files.

LSS - Logging and Events

  • LSSGUI Version 1.10
    • Remove QSound and NAS support.
    • Use 'aplay' to play sounds if environmental variable SSH_CLIENT is not set. This means sounds will not play if the user is remotely logged in.
    • Change event sound specification from 'Sound:' to 'Sound='.

MCS / mcstemp - Mount Control

  • The AZ and EL encoder consistency checks have been made more thorough at the request of engineering. The 4 motor encoders and the absolute encoder are all compared to each other. If a difference of more than 90 arcsec (see DISAGREEMENT_ASEC in mcspu.conf) is found between any 2 encoders, the program logs an error and sends an event.

OSS (version 2.22) - Optical Support

  • Added entries to OSS.conf holding the adjusted focal station positions. This positions are on a recalbrated scale which makes the center focal station zero.
  • Added a new section to the OSS.conf file which holds the coordinate system offset for the selector, tip, tilt and piston axes.
  • Code has been added to read in the new values in OSS.conf and hold them for the duration of the OSS run. Changing the abovementioned values will necessitate a restart of the OSS subsystem.
  • In addition, there is a new "OSS.conf.old" file which holds the original focal station positions. If testing is successful, this file will be deleted and will not exist in BP12.
  • The "init" and "home" operations have been modified to take into account the new coordinate system offsets. These are applied to UMAC settings P70, P71, P72, and P73. Once these setting are active, the "init" and "home" actions are performed as before. the only change will be the final resting place, as the zero position has been shifted. (Issuetrak #3210)
  • The communication between the OSS and the UMACs has been changed such that if a command fails, the TCP connection is broken, then re-established, and the command tried again. This problem is most likely due to a problem with the UMAC communication firmware. Since the chip is old, the vender cannot change it, they recommend a new PMAC chip. The solution until this can be accomplished, is to simply reconnect and send again, as outlined above. (Issuetrak # 3259)
  • Code has been added to the OSS to prevent the move of the tertiary mirror if it is commened to move to a position it is already at. The command will return no error. (Issutrak # 2995)

PCS - Pointing Control

  • PCS_Version 6.14
    • Fixed the problem of back-computing "achieved" coordinates from the encoder values when making offsets in DETXY. This fix not only addresses the back-computing problem, but also the Issue Trak #3305.
    • Added diagnostic code to the fast loop as an aid to determine clues to the guide star KFP coordinates sometimes being incorrect. This diagnostic uses the new lbt.conf variable gsKFPThreshold.
    • Implemented the new error codes from the MCSPU regarding error information for the three telescope axes. This should provide improved clarity into the exact nature of the error being reported. PCS will report the exact messages issued by the MCSPU as follows:
      • ERROR: slewToTrack failed.
      • NAN coefficient.
      • Axis/Rotator is stopped. Polynomial ignored.
      • t0 is a NAN.
      • t0 is too far in the future.
      • t0 is too far in the past.
      • Velocity is too high.
      • Acceleration is too high.
      • Polynomial position is > maximum limit.
      • Polynomial position is < minimum limit.
      • Current polynomial's t0 is before the previous poly's t0.
      • Bad axis number.
    • PCS does NOT report the following as errors:
      • HOLDING: Polynomial ignored.
      • In Velocity Mode. Polynomial ignored.
    • Added a utility to convert from seconds to sexagesimal hh:mm:ss.
    • Removed inadvertent sign on RA.
    • Added ability to turn collection of telemetry off and on.
      • Added a data dictionary item, pcs.isCollectingTelemetry, indicating the state of the telemetry collection.
    • Added side to SYSLOG messages regarding guide updates.
    • Added a timestamp (seconds since the beginning of the epoch) to the sided tip/tilt demands sent to the PSFs.
    • Ensure when PCS starts up in Monocular mode that the command to clear the PCS tip/tilt demands for the PSFs is done when the PSFL and PSFR subsystems are running. The command to clear or "zero out" the tip/tilt demands in Monocular mode is only sent once, and it is done on the start up of PCS, OR once both the PSFL and PSFR subsystems are running after the start up of PCS.
    • Implemented the leak rate variable in PCSInstrument.conf. The variable is instrument-dependent. In the case of mixed instruments with different leak rates, PCS will currently use the smaller of the two leak rates.
      • Added a data dictionary item leakRate with units of milli-arcseconds: pcs.activeLeakRate.
      • This change requires a NEW PCSInstrument.conf file.
    • Added a midpoint (on-sky in spherical coordinates) computation (versus a separation computation) so that the midpoint which is deterministic for observation planning can be used as the "warning" discriminator for new targets which may exceed the co-pointing limit. The angular separation between the targets is computed.
      • Reconstituted the WARNING event for the co-pointing limit check for Presets and Offsets (copointingLimitWarning).
      • This work is in the state of on-going improvement and clean-up.
    • Added tip/tilt demands to the output polynomial file for purposes of diagnosis. Removed obsolete output.


  • none.

Pointing Kernel / Pointing Kernel tools

  • TPK Version-1.12
    • The latest pointing kernel is being deployed with BP11. It has gone through regression testing, and it exhibits all the proper behavior. There were no interface changes, but significant work was done in the lower level code to make the kernel more robust. It is hoped this new kernel will address the problem of Nans appearing in the rotator polynomials (IssueTrak #1895).

PMC - Primary Mirror Cell

  • PMC Version 5.18
    • Get raw data and relay cycle counts from the thermal computer and put them in reflective memory and telemetry.
    • Log events if the elevation is moved during a raise (IssueTrak 3322).
    • Apply sanity check to the timestamp from the thermal computer. Ignore the data if the timestamp is more than one minute in the future.
  • PMCGUI Version 5.15
    • Display raw thermal data and relay cycle counts on the thermal details form.
    • Change default event display priority from 3 to 5 per John Hill.
    • Change color for limited thermal integrator from red to yellow per John Hill.

PSF - Point Spread Function

  • PSF Version 4.57
    • Turn off the internal 'collimated' flag while in checkPointingOffsets() so collimation error complaints won't be issued.
    • Add mutexes to all the client command processing in Primary, Secondary, and Tertiary classes to mitigate asynchronous command collisions.
  • PSF Version 5.0
    • Internal reorganization to support primary mirror wavefront model similar to the collimation model. The wavefront model is not yet active.
    • Add primary mirror second collimation temperature correction using Glass Therms (IssueTrak 3348).
  • PSFGUI Version 4.34
    • Change default event display priority from 3 to 5 per John Hill.
    • Remove some unnecessary block() calls to give the GUI better response time.
    • Support for PSF version 5.0.
    • Rework main window display at request of Dave Thompson
      • Add total collimation for all three mirrors
      • Add primary mirror chase and mirror status displays.
      • Add secondary mirror type and control displays.
    • Support primary mirror second collimation temperature.


  • none.

WX - Weather Station

  • none.

TCS Common Software

commandreturn - client command status returns

  • none.

commandsequencer - client/subsystem command handling

  • Check for and report CSQProcess thread create failures.

core - foundation routines

  • If the thread create fails in Thread, reset the isStarted flag so future bookkeeping is correct.

datadictionary - reflective memory and event support

  • none.

eventhandler - event handling

  • none.

networkconfig - subsystem management

  • none.

reflectivememory - global shared memory

  • none.

rpc - communication protocol

  • none.

setvalue - reflective memory access

  • none.

tcs_config - tcs configuration

  • none.

TCS Tools

DDEditor - Data Dictionary Editor

  • none.

DDBrowser - Data Dictionary Browser

  • Added the ability to navigate using only the keyboard.

DDViewer - Data Dictionary Viewer

  • Added the ability to navigate using only the keyboard.

Event Editor

  • none.



  • none.

Instruments and Environmental Sensors

DIMM - Differential Image Motion Monitor

  • none.


  • none.


  • none.

IRTC - Infrared Test Camera

  • none.

LBC - LBT Binocular Camera

  • none.

LBTO Weather Station - 3DWGUI

  • none.

MAT - Mount Axilliary Telescope

  • none.

All Sky Monitor

  • none.

-- NormCushing - 22 Feb 2011
Topic revision: r19 - 27 Sep 2011, 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