Software Release Notes for Build "2016B"

Release Date: Sep 08/09, 2016
Release Name: 2016B
General Description: Rollup of changes and patches since 2016A (see 2016A release notes for patches).

Telescope Operator Overview Information

  • none

Support Astronomer Overview Information

  • none

The Details

New Functionality Tests that need to be performed with the Telescope

  • none

Patches to the Release

  • See GCS patches in the GCS section below.
  • PCS_Version-6.40a/b/c and PCSGUI_version-1.13: See PCS section below for details.
  • DDNames.conf
    • Added the public names for the new mount position information from PCS: S_MountRA, S_MountDEC, S_MountRAHMS, S_MountDECDMS
  • DDNames.conf
    • Add a new variable, S_GuideBinning, to the public interface (01 Oct 2016)
    • Add back removed names for LUCI so current LUCI code will work.
  • PSFGUI Version 6.11
    • Allow larger global offsets for the tertiary mirror since both sides have more travel than before.
  • OSS Version 4.3
    • Correct the calculation of swa.sa_severity in the swing arm module.
  • OSSGUI Version 3.9
    • Fix reference to swa.severity to correct 'wrong data type' errors.
  • IIF Version 8.32a
    • Set ICE proxy name as sender.
    • Support ARGOS returning a warning for offsetXY for too large offsets. FLAO still returns an error.
    • Add nsQueryEngine.tcl to build and set path to it in iif.conf
  • IIFGUI Version 4.13a
    • Make Ra/Dec boxes yellow if Ra = 0 and Dec = -90.
  • IIF Version 8.32b
    • When setting the AO status check for AO loop closed first to support ARGOS.

Known Bugs

  • none

Release Overview

  • none

IIF list of Public Data Dictionary Variables

Operating System, System Configuration, TCS and Hardware Computers

TCS Servers / Workstations

  • none

jet computer, DSP, FPGA

  • none


  • none


  • none

AGw control server

  • none

Azcamserver and controller computers

  • none

FACSUM - Facility Summary

WEATHERSTATION - Weather Station

TCS Subsystems and GUIs, and significant configuration files

AOS - Adaptive Optics

    • none

DDS - Data Dictionary Server

  • DDS Version 1.6
    • Suppress internal SetValueInterface error messages.

    • none

ECS - Enclosure Control

  • ECS_Version 6.1a/b
    • Leak Detection
      • "ValveManualOverride" and "LeakOverrideEnable" are now "warning" conditions.
      • "ValveWrongState" is an "alarm" condition.
      • The "ChargeInProgress" condition is now just a nominal state - not a "warning".
      • Events file updated to have consistent priorities.

  • ECS_Version 6.1
    • The subsystem has been updated to accommodate leak detection capabilities in the Instrument Cooling. On each telescope side there are now:
      • 3 pressures
      • 1 flow meter
      • 4 NO/NC valves (no control available)
      • tank weight
      • leak detection indicator
      • state of the valves (possibly in manual override)
      • Disable leak detection control and feedback
      • Recharge control and feedback
    • New events and data dictionary items have been added to support this functionality.
    • Severity flags have been added in support of the "leak" items for the ALH.

  • ECSGUI_Version 4.6a/b
    • Disabled the "Disable" and "Recharge" buttons on the Instrument Cooling Leak Detection dialog. The underlying functionality and/or hardware is not ready yet.
    • Coloration applied to labels updated according to the states updated in the subsystem.

  • ECSGUI_Version 4.6
    • There is a new subpanel supporting the leak detection components which is accessed from the main ECSGUI, Instrument Cooling tab, via the new "Display Leak Detection Panel" button. This button is part of the "breadcrumb" system.
      • The leak detection subpanel displays the state or feedback from the items listed above under the subsystem.
      • The user may also invoke the capability to disable the leak detection system (e.g., potentially needed when removing an instrument).
      • The user may also invoke the capability to recharge the system.
    • Since the chillers now only run in MANUAL mode, all widgets, slots, functions, and ancillary components/source associated with the AUTOMATIC mode were removed.
    • Added a Stop button for each latch pin and ball detent. Created all the slots and functions needed to support this new functionality. Until the Stop command is fully supported at the ECS and ECSPLC level, the buttons are disabled.

ENV - Environmental Sensors

  • ENV Version 1.26
    • Check the configuration variable SMTweatherIgnore each time through the execute loop so the flag can be set dynamically.

  • ENVGUI Version 2.11
    • Color tree house temperature displays using the tree house over temperature alarms.

IIF - Instrument Interface

  • IIF Verson 8.32
    • Force M1 collimation if doing secondary offload in OffsetPointing. There was a logic error that could clear the accumulated secondary values but not apply them to the primary. (Discovered during IssueTrak 5913 investigation.)
    • Do not do secondary offload in Preset for prime focus. (Discovered during IssueTrak 5913 investigation.)
    • Do not call PCS and MCS methods at end of Preset if they are not running.
    • Add moveType in SetPMTerm command. This supports incremental changes and is requested by LBTI to make their reference star acquisition easier. It will be supported in IRTC V4.7.
    • Clean up IIFServer: Change 'xxxNew' methods to 'xxx2' (but keep the old methods for one build). Make private methods for commands with two variants to reduce code and keep track of command name. Make 'position2' match documentation. Add OffsetPointing2 command without OPE and NP parameters. IRTC V 4.7 supports all these changes.
    • Disable LUCIFER exemption from ICE error checking.
    • Add command 'SetGuidingBinning'. Supported in IRTC 4.7.
    • Suppress SetValueInterface internal error messages.
    • Use quotes instead of angle brackets for '#include "GshmVar.hpp"'.
    • Add 'allowOffset logic for controlling pseudo-monocular passive side offsets. If not allowed, passive side offsets will return a warning and be ignored.
    • Return warning and ignore RunAO from pseudo-monocular passive side.
    • Update docs.
    • Add command 'NSQuery'. Supported in IRTC 4.7.
    • Cancel synchronous offsets if one is pending when a preset starts (IssueTrak 5953).
    • Add new LUCI data dictionary variables per Tom Sargent.
    • Add new DIMM data dictionary variable per Kellee Summers.
    • Allow guide star to be any type except NS_TARGET. (Note that non-sidereal types are not yet supported.)
    • Allow AO reference star to be any type. (Note that non-sidereal types are not yet supported.)

  • IIFGUI Version 4.13
    • Add variables offsetDelayThresh and offsetDelay to control GUI.
    • Improve tooltips for Offset Collimation Threshold parameters.
    • Improve tooltip for Preset status.
    • Use quotes instead of angle brackets for '#include "GshmVar.hpp"'.
    • Add controls for 'allowOffset' on pseudo-monocular passive side.

GCS - Guiding Control

  • GCS_Version 5.4f
    • Call computeHS method after the probe is moved in order to obtain updated state data (e.g., current KFP coordinates, probe to hotspot distance, etc.) as it is too long to wait for the next cycle of the guide loop which includes a guide update to PCS.
    • Updated the Instrument2AGW.cfg file to accommodate the RETROREF instrument at the BentGregorianFront and BentGregorianARGOS focal stations. ==> This addresses IT#5933.
    • Added '_blockFlag' to allow the current WFS operation to finish, but not start the next one. The GuidingThread will set/clear the flag with method blockLoop(bool). This is to help maximize the number of WFS operations for non-sidereal guiding.
      • Update the logic in the GuidingThread with regard to the use of pause/resume and blockLoop(true/false). This is meant to address John's portion of IT#6312).
      • Added a blockLoop data dictionary item to support the block flag which in turn supports the monitoring of the WFS loop from the GCSSubsystem class.
        • gcs.side[side].WFSblocked - future build
        • gcs.side[side].Spare.b[0] - 2016B patch
    • Update to record probe position errors in the data dictionary and telemetry.
      • Now populating the gcs.side[side].AGW.SFPerror_[X|Y] data dictionary items with the actual error in the probe movement in millimeters. These are existing data dictionary entries which were never used. Variables initialized to zero.
      • The acquistion, guide, and agwprobe telemetry streams now all record the error in the probe position (AGWUnitxxx.cpp) after a probe movement. Please note errors are reported in arcseconds in telemetry in contrast to the individual factors which are in millimeters. Also, the names of the variables are the same in all three streams despite the factors having different names in the different streams.
        • Updated the PEPSIPFU AGW routines to be consistent with the AIP and MODS routines with regard to computing the probe position error. Force errors in probe position for PEPSI to be identically zero.
        • Writing the probe position in the guide telemetry to determine if there has been a drift post-acquisition and pre-guide loop.
        • Fixed a bug where the platescale should have been a divisor and was a multiplicative factor. The bug is associated with information only.
        • If the total probe difference > 0.25", then issue an warning. If the difference is large enough, then the wavefront sensing will pause. (GuidingThread.cpp and GCS.cpp)
        • Added PROBE_WARNING to the PROBE_STATE of the GuidingThread class.
        • Created new or additional events to GCSSubsystem and GuidingThread classes to report when the requested/achieved probe positions are very different. These are all single-shot warnings. The events can be issued when the probe is requested to move or just before the start of the guide loop. This latter event detects drift in the probe position between the acquisition stage and the start of guiding. (==> Steve's portion of IT#6312).
    • The guiding thread now records the error in the hotspot location, as well as the factors which comprise the requested and achieved probe location. The following variables are recorded in telemetry in the guiding stream: guide star predicted X/Y location, guide star found X/Y location, difference between the guide star predicted and found X/Y location in arcseconds, probe requested X/Y location, probe found X/Y location, and difference between the probe requested and found X/Y location in arcseconds.
    • Replace INVALID_* initialization values with values which can be identified as invalid, as well as values which are within a reasonable range for purposes of graphics. INVALID_X = INVALID_Y = -999.00

  • GCS_Version 5.4e
    • The readGuideCam command line routine has been modified to allow the underlying GCS function, getFullGuideImage, to do the majority of the work such that the state of GCS is the same before and after the readGuideCam. Updated the getFullGuideImage method in the GCSSubsystem class to handle the setting and reverting the exposure time. The only purpose of this routine is to support the readGuideCam command line function. This update makes getFullGuideImage and getFullWFImage methods analogous to one another.
    • Make sure the current exposure time is updated for the WFS. The gcs.side[side].WFSCam.exposureTime is set in the getFullWFImage AND the setWFCamExposureTime methods in GCSSubsystem class. The getFullWFImage is only used by the client function readWFSCam.
    • Modified the GCSSubsystem class to ignore an obsolete flag, GCS[L|R].newWeight, in gcs.conf which version of determineWeightedGS to use. This method was moved to the GuidingThread from the GCSSubsystem class in TCS Build 2015B. The determineWeightedGS method has been removed from the GCSSubsystem class.
    • Initialize the "guide star to hotspot position" data dictionary items when a new guide list is received in order avoid displaying the previous, old value.
    • When AGW has an error on homing, added the message to check that the air lines are connected. The "air line" portion of the message is not issued for MODS.
    • Added minimum/maximum checks when setting the exposure time from the command line functions, setExpTime (Guide) and setWFSExpTime (WFS).
    • Added minimum/maximum checks when setting the exposure time parameter when using the readGuideCam and readWFSCam functions. These functions have an expanded range of [10:200000]ms exposure time as compared to the limits defined in the instrument configuration files.
      • gcs.side[side].Spare.i[6] - default/nominal exposure time (gcs.side[side].WFSCam.exposureNominalTime for 2017A build)
      • gcs.side[side].Spare.i[7] - default/nominal exposure time (gcs.side[side].GuideCam.exposureNominalTime for 2017A build)

  • GCSGUI Versio-1.7f
    • All the line edit entries on the guidecontrol panel have been upgraded to spin boxes as a way of better handling violations of the minimum/maximum limits while eliminating the validators at the same time. This change affects input of: hotspot, bin factor, and Guide and WFS exposure times.
    • Added display for the actual exposure time in use:
      • gcs.side[side].Spare.i[2] - minimum wfs exposure time
      • gcs.side[side].Spare.i[3] - maximum wfs exposure time
      • gcs.side[side].Spare.i[4] - minimum guide exposure time
      • gcs.side[side].Spare.i[5] - maximum guide exposure time

  • GCS_Version 5.4d
    • The underlying GCS method supporting supporting the command line function, readWFSCam, has been modified to handle the setting/resetting of the exposure time directly in the AGWCamera class. This implementation bypasses the "smart" algorithm adjustments to the WFS exposure time. In this way, the requested time is the exposure time, and the state of the for the exposure time is the same before and after the request. Because the exposure time is now passed directly to the client function, the client, commands, and interface infrastructure support had to change.
    • Reverted the following values back to their previous settings:
      • [guide|WFS]cam_minExposure 10 ms
      • [guide|WFS]cam_maxExposure 200000 ms
    • Reverted the updating of the default values used for these variables in the source code in the instance when the variables cannot be read from the configuration file.
      • guidecam_minExposure 100 ms
      • guidecam_maxExposure 4000 ms
      • WFScam_minExposure 100 ms
      • WFScam_maxExposure 30000 ms
  • gcsclient (readWFSCam)
    • Due to implementation improvements for "turbo" mode, the behavior of WFS functions which have a dependency on the exposure time could be affected. The readWFSCam function has been modified to allow the associated GCS function do the majority of the work such that the state of GCS is the same before and after the readWFSCam function has been invoked.

  • GCSGUI_Version-1.7e
    • The distance of the Guide Star from the hotspot is only displayed whenGCS is actually guiding (gcs.side[side]guidingFlag).
    • Fixed the label on the main GCSGUI. When there is a mismatch detected between the authorized instrument and an instrument chosen by "selectAGW", the label would have black text on black background.

  • GCS_Version 5.4c
    • Fixed ability to set the WFS camera exposure time via the GCSGUI or the gcsclient function, setWFSExpTime. There was a conflict between the basic setting methods and the turbo mode which adjusts the "nominal" exposure time dynamically.
    • ToolTips on line edit boxes on the Guide Control Panel, as well as the line edit boxes themselves, had min/max values based upon hard-coded variables in the source. The min/max values which are defined in the GCS instrument-dependent configuration file are now read by the AGWCamera class and stored as local and data dictionary variables on start-up and used as appropriate.
    • If the configured variable cannot be read from the file, the default values have been updated from the stale values.
    • Updated all the *.cfg files as follows
      • [guide|WFS]cam_minExposure 10 ms
      • [guide|WFS]cam_maxExposure 200000 ms
    • Updated the default values used for these variables in the source code in the instance when the variables cannot be read from the configuration file.

  • GCS_Version 5.4a/b
    • Compute the proper guide window size taking into account the bin factor at startup.
    • Initialize gcs.side[0|1].[WFS|Guide]Cam.generalState to true in initAndConnect method. Only if one of the bad states is activated during startup will these be set to false. The general state represented by these values could change, so this is not really useful. Rethink these displayed values.

  • GCS_Version 5.4
    • Add WFS 'turbo mode' (IssueTrak 6025): shorten exposure time when the aberrations are large. Use three exposure time reduction factors (in gcs.conf) corresponding to 'hex', 'low', and 'all' Zernike coefficient generation. Start each new guide star with the shortest time. The factors are read dynamically, so it isn't necessary to stop/start the GCS when they're changed. Setting all three factors to 1.0 will effectively disable 'turbo mode'.
    • Modified GCS subsystem class to accommodate the upcoming change to MODS1 where the guiding hotspot will essentially move to a more central position in the acquisition field. GCS can be switched between its current operational process of offsetting to the top of the acquisition image or to the new process (akin to MODS2) using a more central hotspot position by setting values of the configuration variables in the MODS_L.cfg file. It is necessary for the variables listed below to be updated for successful guiding once the guiding hotspot is changed.
Variable Type OldValue NewValue Notes
guidecam_hotspot_x float 249.0 tbd
guidecam_hotspot_y float 405.0 tbd
WFScam_offset_x float 2.72 0.0 trigger for old/new acquisition
WFScam_offset_y float -13.1 0.0 trigger for old/new acquisition
    • Added noAGW check when guiding in simulation based upon an investigation of a LUCI testing failure. The SFPtoCCDgeneric () routine was being invoked in AGWUnitAIP even in simulation (noAGW == true). This invocation took ~6 seconds which is approximately the same length as the timeout causing occasional failures.
    • Replaced the use of PCS spares with the actual data dictionary items for the proper motion corrected guide star RA and Dec, as well as the rotator encoder position.
    • Added data dictionary items for the acquisition image FWHM, flux, and ellipticity since the acquisition image is now a tab on the main GCSGUI instead of a standalone GUI panel.
    • Created new data dictionary items to support the "home" status
      • gcs.side[side].AGW.homedState
      • gcs.side[side].AGW.homedStateRX
      • gcs.side[side].AGW.homedStateThetaY
      • gcs.side[side].AGW.homedStateFocus
      • gcs.side[side].AGW.homedStateFilter
    • Fixes to allow simulation to work more consistently as needed for testing.
    • Cleaned up the functionality behind "Home" and "Intialize" commands.
      • Initialize is really "Power up" command.
    • Read the new PCS data dictionary items for the proper motion corrected RA and Dec (Radians) of the guide star for the WCS computation.

  • GCSGUI_Version 1.7d
    • Added a nominal and current (dynamically computed) WFS exposure time to the Guide Control panel. The nominal value is either the configured default or any value sent to the GCS via the GCSGUI or the command line function. The current value is the actual exposure time once the turbo mode computations have been applied to te nominal value.
    • Fixed the intensity scaling of the acquisition image to be the same as for the deprecated, standalone acquisition image.
    • Display zernike coefficients as whole numbers at the request of Doug M. in the WFS Views (Zernikes).
    • Put guide window size on the Acquisition tab with the bin factor.
    • Fixed the display of the WFS rate to be the effective rate and not the cycle time.

  • GCSGUI_Version 1.7a/b/c
    • Put the messages back on the main and anscillary GUIs.
    • Remove standalone acquisition image display.
    • Fix the drawing of the green corners on the acquisition image which indicate the guide region. It is dependent upon a window size which already takes into account any binning.

  • GCSGUI_Version 1.7
    • Cleaned up the entire (main and subpanels) GUI look and feel by removing the use of style sheets.
      • Replaced all display line edit boxes with labels which now conform to the TCS standard.
        • Fixed the functionality of the line edit boxes when values are or are not present, validation of the input characters, clear the box when a value has been ingested successfully, and handling of multiple entries controlled by a single activation button.
      • Force the Acquisition tab to be shown while in the acquisition step of guiding or if in ACQUIRE mode upon initial indication of acquisition or mode.
        • gcs.side[0|1].isActiveAcquisitionStep in support of new functionality
        • Force the Guide tab to be shown once in the guiding (computing centroids) phase.
      • Overloaded the updateLineEditXX methods to accept label widgets instead of line edit widgets. Do this until the true need for line edits is fully determined.
      • Eliminated the "Engineering GUI" and moved its functionality to the main or other subpanels of the GUI.
      • Fixed the filter combo box to show the proper filter in use on cold start.
        • Values update properly when using "gcsclient setFilter".
      • Deleted files from repository (*.png, main.cpp.old)
      • Added information regarding power and home (axes: R/X, Theta/Y, Focus, and Filter) status. Satisfies IT#2473.
      • Fixes to allow simulation to work more consistently as needed for testing.
      • Cleaned up the functionality behind "Home" and "Intialize" commands.
        • Initialize is really "Power up" command.
      • Read the new PCS data dictionary items for the proper motion corrected RA and Dec (Radians) of the guide star for the WCS computation.
      • Read the WCS from the acquisition image header so a compass rose can be drawn eventually on the acquisition image when displayed. No compass rose at this time.
      • Fixed the numeric limits on the guide camera exposure time to 1 - 60000 ms.
      • Read the bin factor from the data dictionary and not the FITS header.

  • gcsclient
    • Fixed the gcsClient.cpp so the "getStatus" command reports the rotator angle and not the MCS string for the rotator in use. Added information regarding power and home (axes: R/X, Theta/Y, Focus, and Filter) status. This information has also been added to the AgwControl Panel of the GCSGUI. Satisfies IT#2473.

LSS - Event Logging

    • none

MCS / mcstemp - Mount Control

    • none

OSS - Optical Support

  • OSS Version 4.3
    • Remove namespaces 'osssub' and 'osscli', and rename client classes by appending 'Client'. This makes the OSS match the TCS standard.
    • Add check for tertiary selector stopped but not in position.
    • Add Argos swing arm and light source (IssueTraks 5453 and 5714). Clean up swing arm indexing. Shorten swing arm State and Status messages to fit the OSSGUI. Improve swing arm simulation code for testing. Note: This does not make make the Argos swing arm controllable because there is no support yet in the MCSPU or the telescope PLC.
    • Put in new SX M3 home offsets after mechanical rebuild.
    • Always move both the M3 selector and mirror when changing/adjusting focal stations so even if the selector misses by a little, the mirror will be positioned properly.

  • OSSGUI Version 3.9
    • Remove namespaces 'osssub' and 'osscli', and rename client classes by appending 'Client'. This makes the OSS match the TCS standard.
    • Support display of new tertiary status selector 'stopped but not in position'.
    • Add Argos swing arm and light source (IssueTraks 5453 and 5714) to the SwingArm forms and the Reconcile form. Clean up swing arm indexing, namespaces, and side management. Since there is no MCSPU support for the Argos swing arm, the GUI components are currently disabled.

PCS - Pointing Control

  • PCS_Version 6.40c (Patch PCS.20161208b)
    • A line of code was inadvertently deleted from the EncoderFeedback class which performed the conversion from radians to a sexigesimal string for the mount Azimuth and Altitude. Replaced the line of code so readers do not retrieve an empty string.

  • PCS_Version 6.40b (Patch PCS.20161208a)
    • Updated the computation for the true rotator center on SX and DX. The existing data dictionary items, both private and public, with the "!RotCenter" name really represent the current pointing origin. The difference between the pointing origin and the rotator center is that the rotator center physically never changes position and is defined to be focal plane coordinate (0.0, 0.0). The pointing origin coordinates move in the focal plane due to any initially defined offset from the rotator center combined with any DETXY offset requests.
    • Added the computation for the mount position for SX and DX in support of ARGOS which needs to know the true mount position on sky. The new variables are stored as spares as part of a patch to 2016B.

  • PCS_Version 6.40a (Patch PCS.20161001a)
    • If MCS/MCSPU does not return "OK" from [az|el]Track, then do not use the PCS generated coordinates to report the RA/Dec or AZ/ALT. Instead set RA = 0, Dec = -90, AZ = mcs.azDrive.position, an ALT = mcs.elDrive.position. Aside from true errors, the MCS will return an error code to the PCS in the instances when the telescope is in HOLD or VELOCITY mode (as two examples).

  • PCS_Version 6.40
    • Created new data dictionary items in support of an RA/Dec WCS for instruments. The PO[X|Y]Current maps to the FITS keyword CRPIX, and PO[RA|Dec]Current maps to the FITS keyword CRVAL. This update is based upon a discussion with Dave Thompson and is to address IT#3231.
      • Modified IIF DDNames.conf to add variables to the public interface as follows:
      • Public Private
      • PO[X|Y]Current ==> pcs.side[0|1].pointingStatus.pointingOrigin.[x|y]
      • PORACurrent ==> pcs.side[0|1].pointingStatus.pointingOrigin.coord_RA.Radians
      • PODECCurrent ==> pcs.side[0|1].pointingStatus.pointingOrigin.coord_DEC.Radians
      • PORACurrentHMS ==> pcs.side[0|1].pointingStatus.pointingOrigin.coord_RA.RAString
      • PODECCurrentDMS ==> pcs.side[0|1].pointingStatus.pointingOrigin.coord_DEC.DECString
      • In the process of doing this I found a mismatch between a public name and its mapped private variable (i.e., PO[X|Y]Base mapped to x instead of base_x). I have fixed this issue.
    • Replaced spares from TCS Build 2016A patches used by GCS for WCS for the acquisition images.

  • PCSGUI_Version-1.13 (Patch 20161001a)
    • If the PCS generated values are not being used to drive the mount (i.e., HOLD or Velocity Mode), the sided "achieved" RA and Dec values and the high-level RA and Dec coordinates on the PCSGUI are displayed in Warning color (yellow) to denote the values are not valid for an astronomical target. Note the values are displayed as RA = 0 and Dec = -90 as a flag for an API.

  • PCSGUI_Version-1.13
    • If the PCS generated values are not being used to drive the mount (i.e., HOLD or Velocity Mode), the sided "achieved" RA and Dec values and the high-level RA and Dec coordinates on the PCSGUI are displayed in Warning color (yellow) to denote the values are not valid for an astronomical target. Note the values are displayed as RA = 0 and Dec = -90 as a flag for an API.

  • Pointing Kernel / Pointing Kernel tools
    • Updated the MountVt and RotatorVt classes to accommodate a new method. Added "vector xy2skynott (const instrcoord & xy, const RefSys & refsys, double wavel)" which ignores the optics tip and tilt values in order to yield the on-sky position of the mount. The routine is based upon the xy2sky() method.
    • SLALIB dat.c has been updated for the leap second to be added on 31 December 2016 at 23:59:60.

PMC - Primary Mirror Cell

  • PMC Version 5.37
    • Throttle packetReadError and sendError events from VxInterface to no more than one per second to avoid flooding the event log and abusing context switching and CPU time. These errors only happen when we loose connection to VxWorks, but that happens occasionally.
    • Add air pressure out-of-range error and event (requires VxWorks 5.20).
    • Update Reference manual.
    • Clean up '#include' syntax. In particular, '#include <GshmVar.hpp> ' is now '#include "GshmVar.hpp"' so dependency generation is correct.
    • Don't wait forever in the Thermal module initialization if the data stays bad.

  • PMCGUI Version 6.11
    • Clean up '#include' syntax. In particular, '#include <GshmVar.hpp> ' is now '#include "GshmVar.hpp"' so dependency generation is correct.

PSF - Point Spread Function

  • PSF Version 6.13
    • Set a flag in reflective memory whenever global offsets or gains are changed (IssueTrak 6029). This allows the GUIs to stay synchronized and avoids having a GUI with stale data in any edit boxes.
    • Correct spelling of setCollLocalOffsetGains events.

  • PSFGUI Version 6.10
    • Check the PSF updateGUI flag and update edit boxes to match reflective memory (IssueTrak 6029). This will keep the GUI edit boxes synchronized across multiple GUIs and applies to all global offsets and gains.
    • Provide an 'Undo' button for global offsets that will repopulate the edit boxes with the previous values for recovery if bad values are mistakenly sent (IssueTrak 6029). The 'Undo' does not send the old values, just puts them in the edit boxes on the GUI being used. The 'Undo' is not provided for gain editing since that is a rare action.


  • TCSGUI Version 2.10
    • Disable tab stops for buttons that cannot accept keyboard focus.
    • Use 'sudo' when killing all GUIs on the cluster if on the mountain.


  • none

TCS Common Software

commandreturn - client command status returns

  • none

commandsequencer - client/subsystem command handling

  • none

core - foundation routines

  • none

editor - data dictionary editor

  • none

eventhandler - event handling

  • none

networkconfig - subsystem management

  • Remove 'telemetryIP' everywhere since we no longer use it.

  • netconfig
    • Add command 'stop local' to just stop subsystems on the issuing server.

  • networkserver
    • Send SIGHUP when stopping the LSS instead of SIGINT because the 'system' call in the LSS soundPlayer thread causes SIGINT to be ignored when it is busy.
    • Support removing a named server from the cluster with a new 'remove' command. Rename the old 'remove' command to 'delete'.
    • Show the internal state table with a new 'status' command.

  • NetworkConfig
    • Support removing a named server.
    • Add support for the 'status' operation.
    • Add support for just stopping 'local' subsystems.

  • SubsystemManager
    • Clean up messages in removeServer().

    • New script for automatic TCS shutdown. It gets run on each mountain server during server shutdown and just stops TCS components on that server, except for syslogserver which is not stopped.

    • New script to stop the entire TCS in the proper order. Can be run on any one of the cluster servers.

reflectivememory - global shared memory

  • gshmconfig
    • Rename 'remove' to 'delete' to match netconfig.
    • Delete the LOCAL shared memory segment when deleting the reflective memory shared memory segment.

  • RefMemDictionary
    • Remove unused methods getValueList() and setValueList().
    • Add global flag DDThrowOnErrors to control whether reflective memory operation errors generate exceptions. Default value is false.

rpc - communication protocol

  • none

setvalue - reflective memory access

  • SetValueInterface
    • Add constructor flag to control whether errors generate SYSLOG messages. This is mostly for Gtype's benefit. The default flag is true.
    • Generate SYSLOG messages on errors if constructor flag is set.
    • Add static method setDDThrowOnError() to set the global flag DDthrowOnError which controls exception generating.
    • Throw exceptions on errors if DDThrowOnError is set.

  • Gtype
    • Check for exceptions from SetValueInterface calls and generate SYSLOG messages and re-throw the exception. If exceptions are not being generated (DDThrowOnError is false, the default) the old behavior of a SYSLOG message is still in effect.
    • Remove 'VALUEOUTOFBOUNDS' checks since that error is no longer generated.

tcs_config - tcs configuration

  • none


  • none

viewer - data dictionary viewer

  • none

TCS Tools

DDAccess - Data Dictionary Writer client

  • DDAccess Version 1.1
    • Remove 'VALUEOUTOFBOUNDS' checks since that error is no longer generated.
    • Suppress SetValueInterface internal error messages.

ddsclient - Data Dictionary Subsystem client

  • none

iifclient - Instrument Interface client

  • none


  • none



  • Version 4.0
    • Use HDF5 version 1.10.0 per IssueTrak 5950. The collection API has not changed. Files written with this version are readable by older tools. As with the previous versions, the HDF5 code (H5PT.c) is slightly modified to support our packed in-memory datatype. This modification is only needed for the collection library. Other tools for reading the files do NOT need to use modified HDF5 code.

Instruments and Environmental Sensors

DIMM - Differential Image Motion Monitor

IRTC - Infrared Test Camera

  • IRC Version 4.7
    • Put log messages before command operation and add log messages for commands without them. Always flush after each message.
    • Allow OPE and NP to be omitted in OffsetPointing since they have been unused for several years.
    • Update help for OffsetPointing and SetOffset.
    • Support incremental values in SetPMTerm. Requires IIF Version 8.32 (build 2016B).
    • Use newest from 2016B which has 'xxxNew' methods changed to 'xxx2'.
    • Add command 'SetGuidingBinning'. Requires IIF Version 8.32 (build 2016B).
    • Use the IIF command NSQuery if the config variable NSI.IIFNSQuery is true (default is false). Requires IIF Version 8.32 (build 2016B).
    • Allow the NSQuery start time to be optional.



  • none

LBTO Weather Station

  • none

MAT - Mount Axilliary Telescope (no longer on the telescope)

  • none

OVMS - OPD Vibration Monitoring System

  • none

All Sky Monitor

  • none
Topic revision: r48 - 21 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