changed AGWUnit telemetry initialization to be called from outside the class as destruction of the object doesn't undo the telemetry definition and resources cannot be retrieved. This change has been tested to work ok on the dev machine
fixed warnings in AGWUnitAIP about "or" operator |
fixed a problem with the BINNING header entry in WFS images reflecting the binning settings of the guide camera instead of the wfs camera
added Zernikes/RMSmed.xml for additional Zernike application decision factor
added new optional configuration value WFS_redefine_med_z to AGW configuration files. This defaults to "78" so these Zernike coefficients can be biased a little in bad conditions.
added new optional configuration value WFS_med_factor to AGW configuration files. It defines the factor for the WFS_redefine_med_z bias and defaults to 0.3 if missing.
added new optional configuration value WFS_high_factor to AGW configuration files. It defines additional scale factor for the Z12-Z22 terms. Defaults to 1.0.
added getPath call to telemetry configuration file definition
added extensive FITS header generation for WFSC images containing all relevant Zernike computation data in addition to .info file generation
added new optional configuration value WFS_useSextractor (bool) to enable or disable the use of the yet to be implemented new WFS computation approach. Default is false.
changed type of header entries for Zernike coeffs to rounded integer.
added more header entries to WFS FITS files containing additional M1/M2/M3 DD entries for post analysis of collimation
Created a new telemetry stream, mountEquatorial, which is comprised of MJDUTC, MJDTAI, and the mount coordinates (RA, HA, and Dec) in radians. In particular, this is to satisfy OVMS requirements.
Implemented a new routine, getRotatorPolynomials(), which is essentially an improved version of getRotatorTrajectory() routine. The routine is meant to supercede (eventually) the getRotatorTrajectory() routine. The improvements are:
requested and provided time stamps are both in MJDUTC
the instrument requests a number of polynomials and the time interval between polynomials
the order of the polynomial can be 0 - 2
Changed indicator for LRBG to be NO_TELROTATOR; LINC will not use the telescope rotator. Recall that IRTC was previously (temporarily) mounted in this focal station.
Changed the way the configuration file name for Telemetry is constructed to accommodate the fact the Telemetry configuration files are now part of TCS.
Fixed usage of mount virtual telescope method, "xy2sky()", to use the coordinates of the actual pointing origin and not (0.0, 0.0).
Modified the trajectory generation so that rotator trajectories are generated for ALL instrument/focal station combinations. This makes it easy to verify that the correct "on-demand" rotator trajectory is generated for a requested time (e.g., LBC, PathFinder). However, for any instrument/focal station combination which does NOT use a rotator known to the telescope (i.e., the MCSPU), no trajectories are transmitted from PCS to MCSPU.
Improved the handling of divide by zero in the guide scaling function. Even though divide by zero should not be an issue for floating point values according to IEEE754, I do a quick check just in case. Removed the "const double SM_CONSTANT".
Updated the pcs.conf file for the delat value (TAI - UTC). A leap second was added on 30 June 2012, so the delat is now 35 seconds.
Created new data dictionary items for the mount position (the mid-point is currently computed):
Add buffer length argument to UDPSocket::recvfrom() methods.
Add UDPSocket::purge() methods to throw away any existing buffer data.
Add overloaded method SystemClock::getCalendarDay(long long) to decode an existing millisecond timestamp.
datadictionary - reflective memory and event support
eventhandler - event handling
networkconfig - subsystem management
Make clearWhoIAm() work correctly.
Remove all traces of old subsystems 'TEL' and 'SDB'.
Put number of subsystems and subsystem list in tcs.conf instead of hardcoded values in several places.
Increase size of networkserver shared memory to support greater than 32 subsystems (currently 34).
Remove NetworkConfig::getPath() since it was not used.
Add buffer lengths in UDPSocket::recvfrom() calls.
reflectivememory - global shared memory
Make the owner string for reflective memory variables sided. This is to support correct write permission checking on sided subsystems.
Improvements to minimize shared memory timeouts and token out-of-order problems seen with the new 2.6.32 kernel:
Add sent timestamps to HELLO and TOKEN packets.
Remove check for multiple sequential restarts.
Parameterize packet lengths and check for correct length read.
Add adjustable delay before sending token.
Purge socket read buffer at restart.
rpc - communication protocol
Adjust select timeouts in RPCHost for the new (tickless) kernel (2.6.32) to approximate the old behavior. There is now about 53 microseconds overhead for each select call when before there was zero, and some of it is CPU time, so when subsystems are just waiting for network requests they now use some CPU time.
setvalue - reflective memory access
Fix warnigs from new compiler (4.4.6):
Make Gtype string assignment operator take a const char *.
Make SetValueInterface write() methods take const char * offset.
tcs.conf - tcs configuration
Move telemetry configuration files into tcs/etc.
Add variable TEL_STORE_CFG_DIR to tcs.conf for use with getPath() to find the above files.