Software Release Notes for Build "2012F"

Release Date: June 06, 2012
Generic Release Name: 2012F
Public Release Name: general release 2012F
General Description: ...

Telescope Operator Overview Information

  • none.

Support Astronomer Overview Information

  • PCS: Added a guide scale function where the floor, power, and range values are configurable via PCSInstrument.conf. The function represents a scale factor which is applied to all guide updates received by PCS, whether by GCS or from the instrument directly (IT #3266).
  • PCS: Modified the getRotatorTrajectory routine for LBC to accommodate properly the "time". LBC requests MJD_UTC, but the routine and pointing kernel use MJD_TAI. The LBC request time is converted to MJD_TAI and the computation proceeds (IT #3346).

The Details

Specific Tests that need to be performed with the Telescope

  • PCS: Test the guide scale factor routine. Any scale factors in GCS and LBC should be "turned off". DONE: OK DONE
  • PCS: Test the modified getRotatorTrajectory routine with LBC. Use extreme circumstances which will emphasis the problem of rotational trailing. DONE: Problem is not fixed, but it is no worse than previous builds; retain the fix as it (at the least) addresses the inconsistency in MJDTAI an MJDUTC. DONE
  • PCS: Ensure the KFP coordinates for the guide star are always properly updated when an Offset is done; this requires monitoring since the KFPTicks (effectively an imposed wait time) has been decreased. DONE: OK DONE
  • PCS: Test non-zero pointing origin settings. Do three Presets: nominal Preset with (0,0), then do the same Preset with a non-zero pointing origin (10,0), and finally the last Preset with a non-zero pointing origin of (0,10); the telescope should move (Monocular). DONE: OK DONE
  • PCS: Ensure the software can read text for the apparent magnitude and surface brightness in an ephemeris. DONE: OK DONE

Patches to the Release
  • The shared memory system has been patched (23-Aug-12) to minimize various problems encountered with the new 2.6.32 kernel.

Known Bugs
  • none.

Release Overview

  • Includes all modifications implemented for TCS Builds 2012D and 2012E.

IIF list of Public Data Dictionary Variables

Operating System, System Configuration, TCS and Hardware Computers

  • none.

TCS Servers / Workstations

  • none.

agw-control computer

  • none.

jet computer, DSP, FPGA

  • none

Networks

  • none.

PLCs

  • none.

TCS Subsystems and GUIs, and significant configuration files

tcs.conf

  • none.

AGw control server

  • none.

AOS - Adaptive Optics

  • none.

ECS - Enclosure Control

  • none.

ENV - Environmental Sensors

  • none.

IIF - Instrument Interface

  • IIF Version 8.17
    • Fix check for required guide star list in Preset.
    • Change type from int to long in DDNames for S_GuideImageTimeStamp.

GCS - Guiding Control V2.7.2

  • changed memory-related 'unsigned int' declarations into correct size_t declarations as pointed out in Stephen's email. I'm sure there should be more to do but this takes care of the explicit compiler errors and warnings for now.
  • moved guide thread call to pcsClient.computeKFPCoordinates to before requesting AzCam image to eliminate the last 100ms delay caused by waiting for PCS to return, IT #4087
  • forcing creation/update of TIME-OBS and DATE-OBS with the GCS server time upon reception of image to overwrite AzCam created timestamps, IT #4006
  • saving AzCam generated TIME FITS entries in TIME-AZC and DATE-AZC for debugging purposes and identifying stale images
  • improved FITS conversion in GuideThread testing mode to show modification of FITS headers even with fake images
  • changed the CamImage class to correctly change the image index when the image is clipped
  • changed the history buffer index generation in GuideThread from using the CamImage::getIndex() function to a conservative counter to make simulated and real images create the same index set
  • refactored telemetry collection in GCS by using a struct that copies the look of the sample struct. This makes collection easier and telUpdate() then copies the struct contents into the sample struct right before the sample is committed.
  • made resumeGuiding aware of acquisition process and causing an error instead of a warning if guiding is not stable within limits.
  • fixed the position problem on guide images with overlaid stars when camera has clipping settings enabled

LSS - Logging and Events

  • none.

MCS / mcstemp - Mount Control

  • Some of the MCS GUIs have been changed. The rotator "Power/Temp" GUI no longer displays zero bus voltage in red. Having the voltage turned off is not an error condition. The HBS "System" GUI has had error ranges adjusted. A-Input Water temperature had incorrect error and warning ranges. The "Rotators" pop-up GUI has had an initialization bug corrected. The color of the rotator buttons should now correctly indicate if the various rotators have an error condition.

  • The MCSPU has had it's stowpin deploy/retract commands ("leftstowpin" and "rightstowpin") changed to re-use code more efficiently. These 2 commands will now also refurse to retract a stow pin if the dynamic balance software sees that some swing arm configurations cannot be supported because there is not enough dynamic range remaining in the dynamic balance system. From the Engineering Interface command line interface, this refusal can be overridden by adding a trailing "o" argument (similar to the elSlewToHold command). So if the command "leftstowpin out" is refused because of the dynamic balance situation, "leftstowpin out o" will be honored.

  • The 'dyn' display page of the Engineering Interface will now flash a red warning message if there are some usable swing arm conditions which cannot be balanced because the dynamic balance system does not have enough adjustment range remaining. The 'dyncombo' command has been added. In the case where some swing arm combinations can't be balance, the dyncombo command will list exactly which combinations cannot be balanced.

OSS - Optical Support

  • none.

PCS - Pointing Control

  • PCS Version 6.21
    • Added a guide scale function where the floor, power, and range values are configurable. The function represents a scale factor which is applied to all guide updates received by PCS, whether from GCS or from the instrument directly. The default values for these variables are instrument-dependent and are set in PCSInstrument.conf. This modification addresses IT #3266. REQUIRES A NEW PCSINSTRUMENT.CONF FILE.
      • FLOOR = 0.3 unitless
      • POWER = 1 unitless
      • RANGE = 0.5 arcseconds
    • Start events report the requested guide updates; the Complete events report the scaled guide updates.
    • Zero out data dictionary items associated with guiding when an Offset is performed; this is what is currently done on a Preset. In particular, fixed the values stored in [L|R]GSCum[X|Y]PredmMeas which is the cumulative difference between the predicted and measured location of the guide star.
      • Fixed a bug in the computation of the cumulative values. Previously, the values were not reset to zero on a Preset or an Offset.
    • Changed datatype of return value from "int" to "size_t" which is most correct and avoids warning messages when compiled under 64-bit (Telescope.cpp and pcsclient.cpp).
    • Temporarily storing the LBC rotator demand trajectories in an ascii diagnostic file, lbcRotatorTraj.txt, in DIAG_DIR_PCS until a suitable format is achieved for storing the arrays.
    • Modified the getRotatorTrajectory routine for LBC to accommodate properly the "time". LBC requests MJD_UTC, but the routine and pointing kernel use MJD_TAI. The "taimutc" constant has been added to the LBC requested time before any computations are performed. However, LBC also expects the returned trajectory to be (timestamp in JD_TAI, angle in radians). This addresses a problem possibly contributing to IT #3346.
    • Added telemetry event files missing to support the pcs.trajectories stream.
    • Fixed the evaluation of the separation distance between the two sides of the telescope when a synchronous Preset is followed by an asynchronous Preset. The evaluation of the requesting side of the asynchronous Preset should be performed first for consistency in the warning/error messages.
    • Modified the KFPTicks variable in pcs.conf. The KFPTicks essentially controls the wait time before PCS queries the pointing kernel for the new KFP coordinates for the guide star after a move (Preset or Offset) has been done. The change is based upon testing done during 2012E; the value was changed from 40 (2 s) to 2 (0.1 s).

PCS GUI

  • none.

Pointing Kernel / Pointing Kernel tools

  • none.

PMC - Primary Mirror Cell

  • PMC Version 5.24
    • Do not put new line characters in async messages into reflective memory.
  • PMCGUI Version 6.0
    • Convert to QT 4.

PSF - Point Spread Function

  • PSF Version 5.6
    • Remove all traces of hold wavefront update logic as it is not needed.
  • PSFGUI Version 5.0
    • Remove support for holding/pending wavefront updates.

TCS GUI

  • none.

WX - Weather Station

  • none.

TCS Common Software

commandreturn - client command status returns

  • none.

commandsequencer - client/subsystem command handling

  • none.

core - foundation routines

  • Improve diagnostic and error messages in Configuration::update().
  • Require 3 seconds have elapsed before reporting a configuration file as out of date to minimize problems when a file is being closed by an editor.
  • Change the permissions to 0444 (if possible) on the old file when opening a new file in LogFile::open(). This will make the old events file read-only. IssueTrak 3742.
  • Use file descriptor IO in Logfile instead of ofstream object.

datadictionary - reflective memory and event support

  • none.

eventhandler - event handling

  • none.

networkconfig - subsystem management

  • Add syslogserver. This is a server to listen for TCS syslog messages and write them to the log file. It only needs to run on one of the cluster computers. The /etc/rsyslog.conf files need to be modified to use it. The environmental variable TCSSYSLOGPATH points to the syslog file path. If it does not exist, /tmp is used. IssueTrak 3742.
  • Add start/stop control and display for syslogserver to netconfig. "netconfig start" will try to start syslogserver. "netconfig stop" will NOT stop syslogserver (it can run all the time). "netconfig start syslogserver" and "netconfig stop syslogserver" will start and stop it. "netconfig ps" will show syslogserver if it is running. If the environmental variable TCSSYSLOGRUNON is defined the syslogserver will only be run if the variable value is the local computer name.

  • syslogserver is a new TCS server for collecting all the TCS syslog messages into a coherent set of files. Currently on the mountain we run a little demon written by Stephen that does this. With the new SAN comming online, this will no longer be possible, so Stephen asked me to incorporate the server into the TCS. On the mountain we want it to be running on one computer all the time. syslogserver listens on port 10514 for syslog messages and writes them to a set of files organized by date (just like now). It must only run on one system in a cluster. The file /etc/rsyslog.conf must be modified to use the server. A line like
    local6.*                                               @tcs1:10514;RSYSLOG_ForwardFormat
    will cause TCS syslog entries to be forwarded using UDP to the computer tcs1 with high precision timestamps.
    The environmental variable TCSSYSLOGRUNON controls whether the server runs. If it contains the name of the local computer, the server will run, otherwise it won't. If the variable is not defined, the server WILL run. So if you don't want it to run at all, define the environmental variable TCSSYSLOGRUNON to be something other that the computer name, i.e.,
    setenv TCSSYSLOGRUNON junk
    The environmental variable TCSSYSLOGPATH defines the absolute path for the saved log files. If it is not defined, /tmp is used, no directory structure is created, and the files will have names like /tmp/20120604.log. If the variable is defined, the files will have names like path/2012/06/20120604.log ( the same as now). path/current.log is a symbolic link to the current file.
    You can stop the syslogserver with
    netconfig stop syslogserver

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

  • none.

DDViewer - Data Dictionary Viewer

  • none.

Event Editor

  • none.

Telemetry

Collector

  • none.

Instruments and Environmental Sensors

DIMM - Differential Image Motion Monitor

  • Version updated to 2012F.
  • Make mount API use Ice::Logger so the low-level mount software logs to the same dimm log.
  • Instead of logging to the full filename specified in the cfg file, use just the path from there and build a YYYYMMDDdimm.log filename.
  • Modified the logger class to be able to enable/disable Trace messages via the configuration setting (Dimm.Trace) in the properties file. This way, when we're happy with DIMM we can disable trace messages without code changes. Added some trace messages with (hopefully) interesting debug values.
  • Make all couts go to log instead of lost in standard out.
  • Added log statements to most everywhere that it's catching bad statuses.
  • Added error checking for divide by zero in server method sendImage since we have many core files around that point.
  • GUI has version number in title window.
  • Deleted
    INSROOT=/home/dimmuser/workspace/install
    from the dimmuser path so it wouldn't pick up old executables mistakenly.

idl

  • none.

iraf

  • none.

IRTC - Infrared Test Camera

  • IRC
    • Do not send the Data Dictionary list in GetParameter to the IRS if no items have FITS data. This means GetParameter requests which do not specify FITS data will not affect saved DD lists needed for the GetImage command. IssueTrak 4090.
  • IRS
    • Only add items to the saved Data Dictionary list if they have a FITS keyword specified. This avoids crashes due to a mismatch between the list of DD items and the list of FITS keywords. IssueTrak 4090.

LBC - LBT Binocular Camera

  • none.

LBTO Weather Station - 3DWGUI

  • none.

MAT - Mount Axilliary Telescope

  • none

All Sky Monitor

  • none.

-- MicheleDeLaPena - 04 Jun 2012
Topic revision: r13 - 24 Aug 2012, 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