Software Release Notes for Build "2016A"

Release Date: Feb 12, 2016
Release Name: 2016A
General Description: Rollup of changes and patches since 2015C (see 2015C release notes for patches).

Telescope Operator Overview Information

  • none

Support Astronomer Overview Information

  • PCS: Fix to IT#6010 and IT#5913. See PCS section below for details.
  • Both the Syslog and Event log no longer have two time stamps.
  • GCS: Updated the time string for the TIME-OBS FITS keyword in the guide images to have three decimal places for the seconds portion of the string as emailed with John H.
  • GCS: Binning functionality has been restored - IT 5866
  • PCS: The DETXY co-pointing limit check has been implemented which addresses a portion of IT #5025.

The Details

New Functionality Tests that need to be performed with the Telescope

  • none

Patches to the Release

  • 11-Mar-16
    • Common software. The number of context switches (and CPU time) for all subsystems and GUIs has been reduced by slowing the loop that checks for new RPC commands from 100 Hz to 25 Hz, except for the 'execute' RPC which will remain at 100 Hz. There are two context switches each time through the loop, so we have decreased the number of context switches from 200/second to 50/second for 16 out of 17 threads for a reduction of about 19000/second on computers tcs1 and tcs2.
    • LSS 4.2a. Lower the RPC listen rate for RPCs subscribeEvent and unsubscribeEvent from 100 Hz to 25 Hz, but keep logEvent at 100 Hz to maintain good latency for events.
    • GCS 5.2. Slow the timing in the ImageServerThread: remove some unnecessary short waits, and slow the execute method loop from very fast to 100 milliseconds. Slow two while loops from very fast to 5 milliseconds. This is to reduce the number of context switches but still keep the loops responsive.
    • syslogserver. Do not make the old log file readonly if the symbolic link 'current.log' does not exist. This prevents making the containing directory readonly.
    • IIF 8.31a. Add new configurable parameter offsetDelayThresh. Skip the offset delay (for optics offsets) if the size of the offset is smaller.
    • IIFGUI 4.12a. Add variables offsetDelayThresh and offsetDelay to control GUI. Improve tooltips for Offset Collimation Threshold parameters.
    • PSF 6.12a. Make file line buffer longer to handle long comment lines in configuration files.
    • MCS. Improve telemetry field descriptions.
    • PCS: Implementation of DETXY co-pointing check. See PCS section for details.
    • GCS: Binning function has been restored. See GCS section for details.
  • 03-May-2016
    • ECSGUI_Version 4.6: Indicators have been added to the Shutter and Vent Door pages which indicate the state of the door permission.
  • 06-Jun-2016
    • ECS_Version-6.1: New telemetry variables were added to the mirror ventilation stream.
    • PCS_Version-6.38
      • Fix to IT#6010 (LUCI refuses to do script with different telescope modes on each side).
      • Fix to IT#5913 (Need to implement "correct telescope pointing" command for ARGOS acquisition offset) - PCS portion.
    • PSF Version 6.12b. Always apply all cross-talk calculated Zernikes, even if the Zernike order is higher than the requested ones.
    • Telemetry Version 3.11. Add unit 'revolution per minute'.

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

  • 2016A is installed on jet, and the MCSPU is built against it.

Networks

  • none

PLCs

  • 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

  • AOS Version 15.2
    • Removed deprecated usleep() calls.
    • Implemented a workaround to allow the definition of strings with spaces in configuration file. (needed for the definition of ARGOS ICE endpoints, and for new FLAO arbitrator endpoints too)
    • Added a command to enable communication error logging usually disabled to avoid too many log lines when FLAO is down (for debug purposes).
    • Added spare DD variables.
    • The frequency of connection attempts from AOS to FLAO when FLAO is down has been decreased.
    • Added some functions required by ARGOS to control the hexapod. The related code has been retrofitted into 2015C build so it has proved already not to harm the normal operations.

  • AOSGUI
    • Disabled keyboard focus for buttons.

DDS - Data Dictionary Server

  • DDS Version 1.5
    • Put almanac data into telemetry.
    • Put almanac data into 'almanac' reflective memory group.
    • Put current time into reflective memory for GUI.
    • Trim leading and trailing white space from both entry names and value strings when getting or setting data dictionary variables.
    • Change DD variable S_LUCIShutterOpen (bool) to S_LUCIShutterState (string) per Tom Sargent and Doug Summers.
    • Change all simple usleeps to use SystemClock methods.

  • DDSGUI Version 1.1
    • Support reflective memory changes in DDS 1.5.
    • Add current time display.
    • Disable focus policy for all buttons, tabs, and combo boxes.

ECS - Enclosure Control

  • ECS_Version-6.1
    • New telemetry variables were added to the mirror ventilation stream:
      • Variable, Unit, Description
      • pb0401outputfreq, Hertz, PB0401 commanded output frequency
      • pb0401outputhz, Hertz, PB0401 output frequency
      • pb0401motorrpm, RPM, PB0401 motor RPMs
      • pb0401motorpower, Percent, PB0401 power output (percentage)
      • pb0401motoramps, Ampere, PB0401 output current
      • pb0401motorvolts, Volt, PB0401 output voltage
      • pb0401motortorque, Percent, PB0401 output torque (percentage of max)

  • ECS_Version-6.0
    • Pulling and converting timestamps from the thermal PLC (via the ECS PLC) for sample times of the SX and DX Agilents
    • DD and telemetry items for the new Emerson 2400S flowmeters on DX; saving mass flow, density and temperature. Flowmeters are FM0601-FM0604. Only FM0603 and FM0604 are reporting flows in refmem. FM0601 and FM0602 still TBD on installation.
    • Leak detection DD and events created for the leak detection work with FM0603 & FM0604,
    • Shutter door "fail to latch" (IT #5850) DD and events in upcoming shutter work.
    • DD bits and event for shutter door sun avoidance interlock with buttons on level 2 and level 5.
    • Spare bits, integers, floats for instrument cooling and shutter doors.
    • Updated all invocations of sleep() in the subsystem with SystemClock::sleep().
    • ecs.conf: Removed the "downtown64" locale as clean up.

  • ECSGUI_Version-4.6
    • Added a label to the top of the Shutter and Ventilation Door pages to indicate door control state: Door Permission Enabled/Disabled. In addition, when the door has permission to open, the Shutter and Ventilation Door pages are colored a light green in contrast to the nominal light grey color.

  • ECSGUI_Version-4.5
    • none

ENV - Environmental Sensors

  • ENV Version 1.25
    • Use the raw wind directions when checking for stuck data because the true directions have telescope azimuth position noise.
    • Add configurable humidity lower limit for 'stuck' check to avoid sensor saturation.
    • Change simple usleeps to use SystemClock methods.

  • ENVGUI Version 2.10
    • Disable focus policy for all buttons, tabs, and combo boxes.

IIF - Instrument Interface

  • IIF Version 8.31
    • Remove the MAT since it is no longer on the telescope.
    • Trim leading and trailing white space from both entry names and value strings when getting or setting data dictionary variables.
    • Change DD variable S_LUCIShutterOpen (bool) to S_LUCIShutterState (string) per Tom and Doug.
    • Clear all ignoreBinocularControl flags in authorize if pseudo-monocular is true. This eliminates some confusion when authorizing while pseudo-monocular is set.
    • Change simple usleeps to use SystemClock methods.
    • Remove MAT data dictionary variables.
    • Add LAT data dictionary variables.
    • Add spare data dictionary variables for all instruments.
    • Initialize variable hasNonSidereal in Preset.cpp to prevent rare failures of sidereal presets (IssueTrak 5847).
    • Add LBC guide image variables to the data dictionary per Michele and Kellee.

  • IIFGUI Version 4.12
    • Remove the MAT.
    • Disable focus policy for all buttons, tabs, and combo boxes.

GCS - Guiding Control

  • GCS_Version 5.3 (released 20160312)
    • Updates to fix clipping with binning IT 5866
    • use relativeHS in clipping to center the clipped subimage
    • divide the clipping parameters by binning factor (ALL config file parms should always be for binning 1)
    • catch bad clipping, bad subimages due to clipping
    • verified the use of binned/unbinned pixelscales and updated the comments to be clear

  • GCS_Version-5.1
    • Force the GCS to query the AGW for the filter in use on a Preset. It is possible for an instrument to change the filter and not notify the GCS. In this way GCS, and subsequently PCS, will have the latest wavelength information to compute the differential atmospheric refraction. This check is NOT done on an Offset. This addresses IT#5177.

  • GCS_Version-5.0
    • Updated the time string for the TIME-OBS FITS keyword in the guide images to have three decimal places for the seconds portion of the string.
    • Added an array of long spares to the pre-existing data dictionary spares.
    • Added units (when possible) and descriptions to the following GCS telemetry streams: agwunit, agwprobe, acquisition, and guiding.
    • Updated gcs.conf to remove "downtown64" references and made sure the "downtown" locale values are correct.
    • Updated sleep() invocations with SystemClock::sleep() in all important routines.

  • GCSGUI_Version-1.6
    • Disable focus policy for buttons in the entire GUI. This includes QPushbutton, as well as QCheckbox.

LSS - Event Logging

  • LSS Version 4.2
    • Remove 'mountain64' locale. This is now the default.
    • Make "extra" timestamp configurable. This is to eliminate clutter added for TCS anomaly analysis.
    • Remove globals RPCBacklog and RPCAccepting as they no longer exist. Use new method RPCHost::getStatus() to get the same information.

  • LSSGUI Version 2.9
    • Disable focus policy for buttons, tabs, and combo boxes.
    • Change simple usleeps to use SystemClock methods.

MCS / mcstemp - Mount Control

  • MCS
    • Change all simple usleeps to use SystemClock methods.

  • MCSGUI Version 3.5
    • Change all simple usleeps to use SystemClock methods.
    • Disable focus policy for all buttons, tabs, and combo boxes.

OSS - Optical Support

  • OSS Version 4.2
    • Change 'oss' to 'OSS' in all client command names to conform to subsystem requirements.
    • Change simple usleeps to use SystemClock methods.

  • OSSGUI Version 3.8
    • Clean up unused code in SAStructure (flagged by compiler).
    • Make display QTextEdit widgets readonly so next change will work.
    • Disable focus policy for buttons, tabs, and combo boxes.
    • Change simple usleeps to use SystemClock methods.

PCS - Pointing Control

  • PCS_Version-6.38
    • IT#6010 (LUCI refuses to do script with different telescope modes on each side) - PCS now ensures each side is at least guide mode AND not adaptivettm/ace/ice_track before it enforces a synchronized pointing correction. The pointing correction is only relevant when PCS is being sent Preset commands issued as synchronized binocular or both from focal stations which use the GCS.
    • Force the updateReferenceOrigin() method (AO analog to the updateGuideOrigin() method) which rectifies the "predicted" to the "found" location of the reference object by adjusting the telescope trajectories to never be synchronous. This means as soon as a request is made by AOS, the PCS will process the request rather than wait for a corresponding request on the other telescope side. This is to address the PCS portion of IT#5913.
    • Fixed the setEquatorialTarget event for "below the horizon" issues. The event was improperly formed for asynchronous Presets so the entire message indicating the essential problem did not get generated for the return command object.

  • PCS_Version-6.36
    • Implemented the co-pointing check for DETXY offsets being issued on both telescope sides for targets: sidereal, rotator mode POSITION and PARALLACTIC, mixture of absolute and relative offsets, non-zero pointing origins, and non-zero position or parallactic angles. The requested DETXY offsets are used to compute the location on the sky using a copy of the sided mount virtual telescope which represents the total state of the particular telescope side. The existing routines which evaluate the equatorial sky coordinates (RADEC offsets) for the co-pointing limit violation are then used for the analysis. There are subtleties associated with DETXY offsets and the pointing origin which can have an impact on Presets and RADEC offsets which still need to be evaluated: mixture of RADEC offsets on one side and DETXY offsets on the other side, mixture of RADEC and DETXY offsets on the same side, and non-sidereal targets. KNOWN BUG: the ability to increment the angle when specifying the DETXY offset does not work properly to compute the co-pointing limit check only.

  • PCS_Version-6.35
    • Fixed "busy loops" which were using significant CPU usage. All instances of these types of loops were improved and now include sleep invocations of duration as appropriate to the update cycle of the fast loop (20 Hz). The busy loops were essentially waiting for N cycles of the fast loop to ensure trajectories were updated with new data.
    • Ensure all calls to sleep functions use the SystemClock class.
    • Removed "downtown64" locale from pcs.conf file and made sure the "downtown" locale is correct.
    • Added a new Warning event to computeKFPCoordinates() and getKFPCoordinates() to accommodate when the gating variable is set to TRUE to allow the KFP coordinates to be computed - even though the new target may not be ingested and the coordinates could be stale.
    • If the authorization of instruments were done to transition from a Binocular state to a Monocular state AND the MCSPU were down during the authorization, the PCS could be left in a state where it believed that the telescope were still in Binocular mode. This would eventually cause problems as Presets and Offsets would be considered asynchronous. This problem has been addressed.
    • Added more PCS data dictionary spares for double, int, long, and string.

  • PCSGUI_Version-1.12
    • Disable focus policy for buttons in the entire GUI. This includes QPushbutton, as well as internal tcs_gui::button widgets.

  • Pointing Kernel / Pointing Kernel tools
    • none

PMC - Primary Mirror Cell

  • PMC Version 5.36
    • Remove thermal computer code since now the thermal data is retrieved from ECS reflective memory.
    • Change simple usleeps to use SystemClock methods.

  • PMCGUI Version 6.11
    • Disable focus policy for buttons, tabs, and combo boxes.

PSF - Point Spread Function

  • PSF Version 6.12
    • Remove the MAT since it is no longer on the telescope.
    • Change simple usleeps to use SystemClock methods.

  • PSFGUI Version 6.9
    • Disable focus policy on buttons, tabs, and combo boxes.

TCS GUI

  • TCSGUI Version 2.9
    • Disable all buttons except 'abort' during start/stop all subsystems.

tcs.conf

  • tcs.conf
    • Remove the 'mountain64' locale. This is now the default.
    • Change local ports from 500nn to 640nn. (TCS anomaly)
    • Remove the 'downtown64' locale. Downtown is used for the "test cluster".

TCS Common Software

commandreturn - client command status returns

  • none

commandsequencer - client/subsystem command handling

  • Issue SysLog message showing ID of each subsystem when it registers. (TCS anomaly)

core - foundation routines

  • Logfile
    • Make symlink directory-relative so access is simpler. This means the the LSS symlink 'current.events' is directory-relative.
    • Remove methods timedlock() and get_time() from Mutex class since they are not used and the timedlock() method had CPU bound loops. (TCS anomaly)

datadictionary - reflective memory and event support

  • none

editor - data dictionary editor

  • none

eventhandler - event handling

  • none

networkconfig - subsystem management

  • syslogserver
    • Make symlink 'current.log' directory-relative so access is simpler.
  • netconfig
    • Clean up and improve help text
    • Add file name option to 'config' ('-c') command.
    • Fix check for mountainUser.
  • syslogserver
    • Make extra timestamp configurable (environmental variable TCSSYSLOGTIMESTAMP) with the default being off. (TCS anomaly)

reflectivememory - global shared memory

  • none

rpc - communication protocol

  • RPC
    • Require the first octet of the IP address matches the first octet of the 'command filter' address (IssueTrak 5756). This prevents using RPCs across subnets.
  • RPCHost
    • Remove globals RPCBacklog and RPCAccepting and replace with Helper::backlog, Helper::accepting, and methods Helper::getBacklog() and Helper::accepting(), and RPCHost::getStatus().
    • Make the accept loop timeout configurable. The default is now about 100 Hz, down from about 500 Hz. This adds latency to processing incoming RPC connections, but we don't need two millisecond response time, and this lowers the CPU time noticeably. Note this might affect things like the maximum Event logging rate.

setvalue - reflective memory access

  • none

tcs_config - tcs configuration

  • none

utility

  • none

viewer - data dictionary viewer

  • viewer Version 2.12
    • Do not check for environment variable LBTCONF_PATH since it is many years since it was used.
    • Update 'About Box' text.

TCS Tools

ddsclient - Data Dictionary Subsystem client

  • ddsclient Version 1.3 (Activated Nov 20, 2015)
    • Do not write results to Syslog for command GetEvents.
    • Disable debugging in the DDS Factory around the factory->create() call to suppress more unnecessary Syslog messages.

iifclient - Instrument Interface client

  • iifclient Version 1.2 (Activated Jan 6, 2016)
    • New client to test for the TCS anomaly.
    • Exit the 'test' function in the alarm handler so the caller is notified at the start of the anomaly rather that the end.

lbtswitcher

  • lbtswitcher Version 2.3
    • Use lstat() to determine if a file is a directory when scanning the list of builds since glusterfs doesn't support the dirent->d_type field.

Telemetry

Collector

  • Version 3.10
    • Change comma to semicolon in descriptions to facilitate CSV extraction. IssueTrak 5832.

Instruments and Environmental Sensors

DIMM - Differential Image Motion Monitor

IRTC - Infrared Test Camera

  • IRTC Version 4.6
    • Remove MAT as supported instrument.
    • Add LAT as supported instrument.
    • Disable debug mode for factory create to avoid many Syslog messages.

  • NSIGUI
    • Disable keyboard focus for all buttons, tabbed controls, and combo boxes.

  • irs-control
    • Change required user from 'telescope' to 'tcs'.

LBC

LUCIFER

  • none

LBTO Weather Station

  • none

MAT - Mount Axilliary Telescope

  • Since the MAT is no longer on the telescope (since October 20, 2015), it has been removed from the IIF.

OVMS - OPD Vibration Monitoring System

  • none

All Sky Monitor

  • none

-- %USERSIG{ChrisBiddick - 2016-01-28}%
Topic revision: r17 - 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