Release notes for the Astrometric Telescope Control System

Including details on ATCS controller firmware and Maestro software upgrades

Version: 3.00.000
Date released: Feb-2015

This Astrometric Telescope Control System (ATCS) upgrade comprises the upgrade of ATCS controller (e.g. SkyWalker) firmware and Maestro software. Maestro is the default ATCS client/user-interface software for Microsoft Windows based PCs.

Important notes

  1. Upgrading Maestro software will lead to ATCS controller firmware upgrade. When the new/upgraded Maestro is connected to the controller for the first time it will detect any older firmware version and ask if you wish to upgrade. Select yes. All controller firmware upgrade files are included in the latest Maestro release so there is no need to download them separately.

  2. To install Maestro download and run the MaestroSetup3_00_000.exe file which can be found on our support page. Note: prior to installation be sure you have the 8-character software license code associated with your ATCS controller serial number. Version 3.00.000 requires a purchased license to upgrade from older version. Contact Astrometric support or visit our on-line store if you need a license.

  3. Maestro does not work with SkyWalkers unless that SkyWalker has been upgraded to a "smart" SkyWalker with the S-Box accessory.
<======================= This file best viewed with fixed-font at this screen width or greater =========================>

Note on system versions

ATCS1: First generation: SkyWalker1 & SkyGuide-PC/DOS (1995)

ATCS2: Second generation: SkyWalker2 & SkyGuide-Win (1999)

ATCS3: Third generation: SkyWalker-Servo & SkyWalker1i (2001)

ATCS4: Forth generation: S-Box WindowsXP/7/8 support and Maestro

	Version 1: (2004) The first major functional release was in late 2004 and brought the new "smart" SkyWalker
	capability to existing Astrometric Telescope Control systems which formally used our SkyGuide software.  It did
	not have all the SkyGuide features "ported" over but it had a useful sub-set and included a lot of new features
	over SkyGuide.

	Version 2: (2006) The second major functional release was in mid 2006 and applied significant new features such
	as PEC, HighDrive control, built-in Object database and AutoCalibration.  This release brought "smart" SkyWalker
	capability up to par with the capability of our former SkyGuide software.

	Version 3: (2014) Numerous custom releases based off from the second release were provided for specific customers
	and contracts over the 2006-2014 period.  Today we announce that these features are now available "at large" with
	our third major functional version of S-Box firmware and Maestro software.  This release adds significant
	capability beyond the time-tested features of SkyGuide and earlier S-Box/Maestro. Much of this new capability was
	deployed in various intermediate releases including:
		- 0.29.042 in December 2008.
		- 0.29.052 in May 2010.  View the release notes here.
			These are inclusive of all releases from 0.20.000 to 0.29.052.
		- 2.90.065 in March 2013.
		- 2.90.069 in April 2014.
		- 2.90.070 in June 2014.
	The release notes below are a compilation of all changes since 0.29.052.

ATCS5: Fifth generation: Stay tuned!

New features in this release

Software Licensing
------------------
A software activation license is necessary for major new upgrades starting with Maestro and ATCS firmware version
3.00.000.  There is a substantial amount of work that goes into each major upgrade and this effort needs to be
supported through nominal license fees.  This will assure that further future upgrades and continued support are
available for ATCS.

When Maestro first connects to ATCS it will prompt for the Software License Code.  This license code is 8 characters
long (not case sensitive) and is provided via written copy when the system is shipped or via email if a Maestro and
ATCS firmware upgrade is purchased on-line.  To purchase a license contact Astrometrics at support@astrometric.com or
visit our on-line store.  Be sure to have your ATCS device serial number.  This is provided when Maestro first
connects to ATCS and is displayed as a message in the Message Area on the bottom of Maestro's window.

Documentation Overhaul
----------------------
The ATCS documentation has been completely rewritten and consolidated into a new 175 page "Astrometric Telescope Control
System User's Manual".  This document is available to licensed users at our documentation webpage or via email to
support@astrometric.com.

Changes to Maestro's tabs
-------------------------
- The former "Instrumental" tab has been split into the "Motors & Gearing" and "Encoders & Limits" tabs with features
	accordingly reallocated between these tabs.
- The "Peripherals" tab has been renamed to "High Drives" and only High Drive functionality remains on this tab.  The
	Axial Hard Limit and Home Index features formally on this tab (under the Automation Module area) were moved
	to the Encoders & Limits tab.
- On the "Status" tab, the Limits field was moved out of "Operating Status" into the "Limits" area.

Dynamic Correction features
---------------------------
- Added the Dynamic Correction tab on Maestro to allow setting of ATCS's correction coefficients.  Refraction correction
	features have been moved to this tab as well.

- Added the "Enable Dynamic Correction" checkbox in the Dynamic Correction area on Maestro's Dynamic Correction tab.
	With this checked ATCS applies Dynamic Correction normally.  With this unchecked, ATCS behaves as if all the
	Dynamic Correction Coefficients are zero without actually zeroing them out.  This, together with the pre-
	existing "Enable Refraction Correction" checkbox in the Refraction Correction area, can be a handy feature for
	diagnosing pointing and tracking performance.

- Added the Calibration Blocking feature.  When Calibration Blocking is set (from Maestro's "Dynamic Corrections" tab)
	all coordinate calibrations and "syncs" from client applications (e.g. TheSky or ASCOM clients) are blocked.  It
	is recommended that Calibration Blocking is enabled anytime ATCS's Dynamic Corrections Index Error coefficients
	are non-zero so that any calibration/syncs do not upset ATCS's internal pointing model zero-points.

	If ATCS receives a Calibration/sync when Calibration Blocking is set it will ignore the calibration and issue
	the warning:
		Warning: Calibrations (or "Syncs") not allowed when "Calibration Blocking" is enabled.

- Dynamic Correction Index errors are now allowed larger (1800 arcsecs vs. former 900 arcsecs) bounds since a) they are
	well-behaved and b) combinations of other larger coefficients often requires larger "re-centering" using the
	index error coefficients.

- The Dynamic Corrections for Harmonic errors have been modified so that the forward and reverse pointing models are
	fully "reciprocal".  This eliminates two problems:
	1) For operations that involve going between Axial and Celestial coordinate targets (such as Align-from-Last
		into Sidereal tracking or PanScope View Mode into Sidereal tracking) there will be a "blip", without
		this fix, associated with imperfect reciprocity.
	2) Eliminates potential for "run away" in tracking at up to 1/4 degree/second *if* large Dynamic Correction
		coefficients are being used after calibrating or aligning close to the Scope Pole.
	Since this fix involves additional computations in the ATCS hardware it is possible that with S-Box-based
	systems the fatal Internal Error "Too many calculations for S-Box/SkyWalker" can result.  If this occurs then
	some of the Dynamic Corrections need to be zero'd out.  This is not a problem for newer PrimeTCS controllers.
	With this change we are able to remove the 200 arcsec max magnitude constraint on harmonic errors with
	frequencies up to 4 (used to be only for frequency = 1).  The limit is now 900 arcsec for frequencies 1-4 and
	200 arcsec for frequencies 5-20.

- There is a new sign basis for the following coefficients:
	- YX: The YX correction is NEGATED vs. pre-3.00.000 ATCS firmware
	- OY: The OY correction is NEGATED vs. pre-3.00.000 ATCS firmware
	- FF: The FF correction is NEGATED vs. pre-3.00.000 ATCS firmware
	The above requires the re-run of the TPointToDynaCorr.xlsx spreadsheet (version 4 or greater) to update the
	translation from TPoint to Dynamic Correction.  Contact Astrometric support (support@astrometric.com) if you
	need assistance with this.

Refraction correction supports Barometric pressure
--------------------------------------------------
Previous versions of Maestro provided the means to enter Atmospheric Pressure.  3.00.000 now allows pressure to also
be entered as a Barometric Pressure (with associated elevation above sea level).

Maestro now provides two means to enter the pressure value (in the Refraction Correction area on the Dyanamic
Corrections tab):
    1) Atmospheric Pressure: this is the pressure at the observing site.  If you wish to use Atmospheric Pressure,
       click the associated "Use" button and enter the appropriate value.
    2) Barometric Pressure: this is the pressure at the observing site "resolved" to zero elevation above mean sea
       level.  To enter this value you need to also provide a Site Elevation value (in units of "m" for meters or "ft"
       for feet) for Maestro to calculate the Atmospheric Pressure at the observing site.  If you wish to use
       Barometric Pressure, click the associated "Use" button and enter the appropriate value.

Note: typically weather services and weather stations provide the Barometric Pressure however a given weather station
can be set to report Atmospheric Pressure if its elevation above sea level is internally set to zero.  It is important
to know what form of pressure data is available to you since site elevation can make a sizable difference in the
magnitude of atmospheric refraction.
Note: Refraction correction is enabled from the Refraction Correction area on Maestro's Dynamic Correction tab.
Note: Pressure is entered with units of "Mb" (millibars) or ""Hg" (inches of Mercury).
Note: Temperature and Pressure are displayed in units consistent with the Units selection from the ATCS Preferences
area on Maestro's Settings tab.

AutoCalibration from Encoder feature
------------------------------------
The AutoCalFromEnc feature uses axial position encoders to "hone in" on the GoTo target.  AutoCalFromEnc works in a
sequence where after the GoTo is complete a CalFromEnc is performed and if the error from pre-cal position exceeds a
settable threshold then a first correction (short) GoTo occurs.  A second set of CalFromEnc and correction GoTo are
performed if necessary to get pointing under the threshold.

The AutoCalFromEncoder feature which, when enabled from Maestro's Settings tab --> GoTo group, initiates the
following sequence for each GoTo(1):
    1) Issues a GoTo target -- message: "GoTo commenced"
		And, when complete: "Status: Initial AutoCalFromEncoder GoTo finished... please wait."
    2) At the completion of the GoTo and after a programmable settling time, issues a CalFromEnocoder -- message:
	"Status: Calibration completed."
    3) If the error to the encoder-calibrated position exceeds the AutoCalFromEncThreshold value then issue a 1st
	correction GoTo. -- "Status: 1st AutoCalFromEncoder correction GoTo started."
		And, when complete: "Status: 1st AutoCalFromEncoder correction GoTo finished... please wait"
    4) At the completion of the correction GoTo + settling time, issues a CalFromEnocoder -- message:
	"Status: Calibration completed."
    5) If the error to the encoder-calibrated position exceeds the AutoCalFromEncThreshold value then issue a
	2nd correction GoTo. -- "Status: 2nd AutoCalFromEncoder correction GoTo started."
		And, when complete: "Status: 2nd AutoCalFromEncoder correction GoTo finished... please wait."
    6) At the completion of the 2nd correction GoTo + settling time, issues a CalFromEnocoder -- message:
	"Status: Calibration completed."
    7) If the error to the encoder-calibrated exceeds the AutoCalFromEncThreshold value then issue a warning otherwise
	issue a success message: "Status: AutoCalibrated GoTo completed."

The formally named AutoCalibrate feature, where ATCS would first seek a bright star near to the final destination,
is now called AutoCalFromStar.

The AutoCalFromEncoder feature requires very high resolution axial encoders for maximum effectiveness.  The programmable
settling time after the GoTo completes, but before the cal-from-encoders occurs, is quite useful on telescopes with
significant motion settling time.  We have encountered instruments with up to several seconds of settling time
after the completion of a GoTo and final settling of high-resolution axial encoder position.

AutoCalFromEncoder (and AutoCalFromStar) is only available for GoTo's that involve celestial targets (i.e. not available
for Alt/Az targets).  Specifically, when enabled, AutoCalFromEncoder works for the following type of GoTo's:
	- Celestial GoTos (target is RA/Dec)
	- Return to Mark GoTos
	- Last GoTos if the last target was a celestial target
AutoCal (either FromEnc or FromStar) does NOT work for:
	- Topocentric GoTos (target is Alt/Az)
	- Axial GoTos (target is shaft Axial position).  This includes GoToPark and Homing.
	- Last GoTos if the last target was a Topocentric  target

Notes:
    - AutoCalibration only occurs for targets that exceed the "ACalBeyond" distance from the present telescope location.
    - If you click between AutoCalFromStar and AutoCalFromEnc selections, one selection will cancel the other
	selection (if it is set) and issue a message that it was canceled.  It is not possible to have both means
	of AutoCalibration simultaneously selected.
	- When AutoCalFromEnc is enabled, AutoCalFromStar is disabled
	- When AutoCalFromStar is enabled, AutoCalFromEnc is disabled
    - The ASCOM and Bisque X2 "Slewing" state does not go to False until the AutoCalFromEnc operation is complete
	(or canceled).

Additions to ATCS's Track Lock feature
--------------------------------------
"Track Lock" is part of ATCS's Direct Metrology feature set.  Track Lock uses the axial encoders as the reference
position for tracking and adjusts motor position +/- as necessary to hold Axial Position accurately consistent with
encoder-measured position.

Added the "TrackLockOn" Quick Key assignment.  Execution of this QuickKey function turns on Axial Encoder Track Lock.
    Notes:
	- Any non-tracking or non-autoguider motion will cancel Track Lock and ATCS will issue the warning: "Axial
		Encoder Track Lock canceled for non-AutoGuider or non-Track motion.".  
	- If the Track Lock error is too large then it will be canceled and ATCS will issue the warning: "Axial Encoder
		Track Lock disabled since error too large."

Added the "Track Lock after GoTo" feature which turns on Track Lock at the completion of all GoTo's + ~1 sec settling
time. This feature is enabled with the "Track Lock after GoTo" checkbox on Maestro's Encoders & Limits tab in the
Encoders area.
    Notes:
	- This also turns off Track Lock prior to a GoTo avoiding the "Track Lock canceled" warning message.
	- This feature only works for celestial GoTo's including GoTo Anchor.
	- When Track Lock is engaged the Move Mode status (Maestro's Status tab) will indicate this with a green
	  background.

Added the Track Lock "Y axis disable" feature which allows systems to disable Y-axis Track Lock and still maintain
Y-axis encoder use for other features. This feature is enabled with the "Track Lock Y-Axis Disable" checkbox on
Maestro's Encoders & Limits tab in the Encoders area.

Axial Encoder Track Lock no longer requires that HREMs are installed in the system.  The only requirement is that at
least the X-Axis encoder is enabled and that for each encoder that is enabled the encoder resolution is >= 1/4th the
motor resolution.

Limit Encoder support
---------------------
Limit Encoders are low-resolution absolute encoders (i.e. high precision potentiometers) that, when connected to ATCS,
provide two features:
	1) Allow setting the Axial Hard Limits to any arbitrary value and replace the use of switches.
	2) ATCS's Axial position can be set from the Limit Encoders.  This is a handy thing to do at power-up to be sure
		that ATCS's "last" position is at least approximately correct to the degree necessary to find the Home
		Indexes.

Notes:
	- Only feature #2 is available with SkyWalker-based controllers.  Both features are available with the new
		PrimeTCS(TM) controller.
	- SkyWalker requires that Astrometric's Automation Modules with attached high precision potentiometers are
		installed on each axis.  PrimeTCS(TM) directly interfaces to Limit Encoders.

Limit Encoders are more robust than using Soft Limits since a directly attached absolute angle sensing encoder is used
measuring real telescope position rather than relying upon ATCS's internal (software) coordinates which could be
erroneous if the alignment was incorrect or motor slippage has occurred.

Limit Encoders are more convenient than Axial Hard Limit switches however they still provide the robustness of a
hardware limit rather than a software limit.

Axial Hard Limit "Marking" ability
----------------------------------
Added the ability to "mark" the position of the Axial Hard Limits.  On Maestro's Encoders & Limits tab, in the Axial
Hard Limits area, there is now a "Mark" button below each Axial Hard Limit angle field. To use this feature, move the
telescope (alignment must be completed) to a position for which the desired limit wants to be set and hit the
corresponding "Mark" button.  The present axial position will then be used as the corresponding Axial Hard Limit
position.

Note: If Limit Encoders are installed then this command will also use the analog value read from these encoders to:
	a) Establish an axial position beyond which a limit will occur.  Note: this capability only exists for
		PrimeTCS(TM) controllers.
	b) Calibrate the Limit Encoder algorithm for determining Axial position from analog value for this limit
		position. Note: the opposite limit position must also be marked for this calibration to be accurate.

Note: for any of the above to occur, the Axial Limits must be within the following bounds:
	- East/West limit:
		- For Full (GEM) Meridian Avoidance:
			- Min: -45deg
			- Max: 45deg
		- For Lower Meridian Avoidance:
			- Min: 45deg
			- Max: 225deg (which is "wrapped" down under and thru the Lower Meridian by 45deg)
	- Down limit:
		- Min: -45deg
		- Max: 90deg
	- Up limit:
		- Min: 45deg
		- Max: 225deg (which is "thru" the Scope Pole well into the Secondary Scope Orientation)

HomeIndex toggle diagnostics
----------------------------
Added diagnostics to determine if ATCS detected a Home Index event.  Two flags, one for X and one for Y axes, are
maintained and toggled every time a Home Index is detected in that axis.  These are displayed on Maestro's Diagnostics
tab in the Home Index Diagnostics area.

GoTo Blocks Autoguider feature
------------------------------
This feature (optionally) blocks autoguider input when a GoTo is issued and as long as the GoTo is active.
Specifically, when "GoTo Blocks Autoguider" is selected from the GoTo area on Maestro's Settings tab, two things will
happen:
	1) GoTos will be allowed to start even if the Move Mode is View (i.e. handpaddle or autoguider Move Mode) so
		long as it is the autoguider that caused View motion.
	2) Blocks the autoguider from initiating motion (and canceling a GoTo) when the Move Mode is GoTo

Note: "GoTo Blocks Autoguider" is now the default (first-use) behavior.

It was difficult to adapt this feature to ATCS because AutoGuider input initiates "View" motion (i.e. a user could be
looking through the scope) and GoTo is not View motion (nobody looking through the scope when doing a GoTo).  ATCS is
architected from its foundations to not allow any high-speed motion (e.g. GoTo) to interrupt view motion for safety
reasons.  So instead of messing with time tested foundations of ATCS we added the "GoTo Blocks Autoguider" feature.

Pan RA/Dec View Mode reinstated
-------------------------------
Added the ability to set ATCS's "View Mode" back into Maestro.  This ability had been removed long ago but now it is
back.  The choices are:
	- Pan Scope: View Motion is applied along the axes of the telescope
	- Pan RA/Dec: View Motion is along lines of RA and Dec
Notes:
	- Changed the ATCS controller firmware to allow autoguider motion in either Pan Scope or Pan RA/Dec.  Previous
		versions of the firmware only allowed autoguider motion in Pan Scope.
	- If using Pan RA/Dec the "sense" of the Up/Down directions flips when passing through the pole.  Hence when
		using Full Meridian Avoidance (e.g. on a German Equatorial) it should be noted that the autoguider
		Up/Down correction will flip with a Meridian Flip when using Pan RA/Dec.  This is not the case for Pan
		Scope.

Improvement to precision of Standard Time setting
-------------------------------------------------
Using modern time synchronization software, running on the PC that Maestro runs on, up-to-date time with sub-second
accuracy is available.  Previously, ATCS did not accept time-setting or time-synchronization commands from the PC with
resolution better than 1 second.  In 3.00.000 resolution of tenths or hundredths of seconds is allowed.

This new high-precision time setting support is necessary to realize the highest possible accuracy with the Align-from-
Home and Align-from-Last commands since even 1 second of time translates to approximately 15 arcseconds of ambiguity in
hour angle and hence inaccuracy of the alignment in Right Ascension.

Velocity and acceleration dependency checking
---------------------------------------------
There are several rules applied when making velocity and acceleration settings in ATCS.  In particular:
	- VelMaxX&Y has to be <= X:
		- For SkyWalker1 and SkyWalker2 systems: X = 160,000 steps/sec
		- For SkyWalker-Servo systems: X = 320,000 steps/sec
	- VelMaxX&Y has to be <= 20.0deg/sec
	- VelMaxX&Y >= 0deg/sec

	- ViewVel4 <= VelMaxX&Y
	- ViewVel4 <= 2deg/sec
	- ViewVel4 >= ViewVel3  >= ViewVel2  >= ViewVel1
	- ViewVel1 >= 1 asec/sec

	- AG_Val <= VelMaxX&Y
	- AG_Vel <= 2deg/sec
	- AG_Vel >= 1 asec/sec

	- HomingVel nominally is 1deg/sec
	- HomingVel <= VelMaxX&Y

	- AccelMaxX&Y >= 0.5deg/sec^2
	- AccelMaxX&Y <= 10.0deg/sec^2
	- ViewAccel >= 0.5deg/sec^2
	- ViewAccel <= AccelMaxX&Y

Specific new velocity "dependency" checks performed in 3.00.000:
	- When SPR is changed the following is now checked and the SPR change is forbidden if any are violated: If
		steps/sec, at VelMaxX&Y, exceeds:
		- For SkyWalker1 and SkyWalker2 systems: X = 160,000 steps/sec
		- For SkyWalker-Servo systems: X = 320,000 steps/sec
		- For PrimeTCS(TM) systems: X = 250,000 steps/sec
	- When VelMaxX&Y is reduced, if HomingVel > VelMaxX&Y then:
		- HomingVel is set to min of VelMaxX&Y
		- HomeDiscovered will be cleared (since home must be "rediscovered" at the new HomingVel)
	- If VelMaxX&Y are set from a velocity below the default HomeSeek velocity of 1.0deg/sec to a value above that
		then:
		- HomingVel is moved up to 1.0deg/s
		- HomeDiscovered will be cleared (since home must be "rediscovered" at the new HomingVel)
	- For View motion, the minimum of ViewVel, VelMaxX or VelMaxY is now used for velocity.  Previously, ViewVel
		was used even if it exceeded VelMaxX or VelMaxY which could occur if VelMaxX/Y was set to a low enough
		value.
	- For View motion, the minimum of ViewAccel, AccelMaxX or AccelMaxY is now used for acceleration.  Previously,
		ViewAccel was used even if it exceeded AccelMaxX or AccelMaxY.
	- Note, if VelMaxX&Y are set to less than any ViewVels then those ViewVels will "top out" at VelMaxX&Y.
	- Note, if AccelMaxX&Y are set to less than any ViewAccel then those ViewAccles will "top out" at AccelMaxX&Y.

Note: typing "max" into the Max Velocity field in Maestro will set SSW's max velocity to the max that it can be for this
TCS model.

Removal of Instrument Display tab
---------------------------------
The Instrument Display tab on Maestro has been phased out in 3.00.000.  The functionality still resides in the ATCS
controller however there seemed no reason to expose it on the Maestro user interface.

Client software support: Bisque's TheSky
----------------------------------------
- Maestro now fully supports Bisque's X2 Telescope interface to TheSkyX.
      - Note: TheSkyX will not allow a "Slew" when the autoguider is active
- Made modifications to TeleAPI.dll to address an issue with TheSkyX where an error was raised following each GoTo
	(Slew) operation.
- Maestro now reports the connection status for TheSky6 (via TeleAPI) and TheSkyX (via X2) as:
	- "Sky6:Yes" or...
	- "X2:Yes" or...
	- "6&X2:Yes" if both TheSky6 and TheSkyX are attached (unlikely!).

Client software support: ASCOM
------------------------------
- Maestro now reports the number of connected ASCOM clients on the Status tab in the Clients area.  Note: Maestro
	acts as an ASCOM Telescope Hub and can have an unlimited number of ASCOM clients attached.

Miscellaneous new features or changes
-------------------------------------
- Changed the min allowable Soft Down Limit and Axial Hard Limit from 45deg to 0deg.
- All Maestro and controller firmware references to "SkyWalker" have been changed to "ATCS" (i.e. Astrometric Telescope
	Control System) since the Astrometric Telescope Control System product line will soon include telescope
	controllers other than SkyWalker (e.g. PrimeTCS(TM)).
- References to Alt/Az coordinates have been changed from Topocentric to Horizontal
- Added the "5sec HardLimit override" button to the Limits area on the Status tab.  When this button is pressed,
	ATCS will override/de-assert its HardLimit inputs for 5 seconds.  With this command, a remote client can "back
	out" of a HardLimit condition in an controlled manner that does not require on-site operator intervention.
	Note: for SkyWalker system, the Automation Module accessory is needed on each axis.
- Removed the option to display Standard coordinate precision from Maestro's ATCS Preferences area on the Settings
	tab.  Precise coordinate display is the default and is no longer changeable through Maestro.
- Note: if the maestroSavedSWsettings.txt file is not visible in Windows Explorer then refer to the following note from
	the Microsoft Answers Forums:
	When you use an application for which virtualization is enabled, you create data files in virtualizable
	locations of the file system. When you use another application or Windows Explorer to access these newly created
	files, you cannot find them. For example, if you save a file in a photo editing application in the
	%programfiles%, %systemroot%, %systemdrive%, or %programdata% folders, you cannot locate this file.
	To resolve this issue, use one of the following methods: 
		- Click the Compatibility Files button that appears on the Explorer bar to view virtualized files in the
		  folder. The Compatibility Files button appears only if there are virtualized files in the folder. 
		- Look in the C:\Users\User_name\AppData\Local\VirtualStore folder to locate files and folders. 
- Now disallow Full(GEM) Meridian Avoidance and Alt/Az at same time.  There are no know telescope configurations
	that require this.  The following warning is issued:
	"Warning: Alignment Type of Alt/Az and Meridian Avoidance of Full(GEM) not simultaneously allowed."
- Increased the maximum Maestro.log file size from 1MB to 100MB.
- Track Lock is now disallowed if either backlash correction or PEC is enabled.  Backlash correction and PEC are
        not necessary when tracking is being directly controlled by axial encoders.  Furthermore, backlash correction
	and PEC both operate directly on the motor steps that ATCS outputs which interferes with Track Lock's means
	of correction motor position based on axial encoder readings.
- Changed the Track Rate policy following a celestial GoTo so that the Track Rate is Sidereal unless it is set to
        Custom in which case it stays Custom.

Other notes about this release

- When using the "Load from maestroSavedSWsettings.txt" feature (on Maestro's Windows tab) a "Client Syntax error" can
	occur if the settings that are being loaded were saved with an old version of ATCS controller firmware.  Even if
	these errors occur the bulk of the savings will be properly restored and only the savings associated with ATCL
	commands that have had syntax changes versus the firmware version for which the settings were saved will
	cause (potential) error.

Bug fixes


- "Defaults for Mount" (from Maestro's Instrumental tab) could occasionally crash ATCS.  This was fixed in
	3.00.000.
- Fixed a dome motion bug where when the Focus/Dome button was released prior to the release of a direction button
	the dome would keep on moving.
- Fixed a bug where when Encoder Track Lock is enabled, and the encoders are not enabled, a warning was not issued.
- Fixed two Consistent Approach GoTo bugs:
  1) The direction for Dec could not be changed from "headed South".  This bug was introduced in 0.29.052.
  2) GoTo's that were shorter than 75ms would not trigger the Consistent Approach GoTo feature.  When enabled, all
	GoTos, regardless how short, now trigger Consistent Approach GoTo.
- Previously, when reading "saved settings" in Maestro (Windows tab), a warning "Cannot select GoTo Orientation with
	Full Meridian or when Up Soft Limit enabled." would occur.  To fix this, and provide more consistent behavior
	around GoTo Orientation, the GoTo Orientation is displayed as "N/A" for Full Meridian or when the Up Soft Limit
	is enabled.  In both of these cases only the Primary GoTo Orientation is allowed.
- In earlier versions of ATCS firmware, a CalFromLastGoTo function would result in an InternalError if it followed
	a non-celestial GoTo (e.g. GoToAltAz).  In 3.00.000 the CalFromLastGoTo function works for all "last" GoTo's
	except for those to axial coordinates where it is gently forbidden.
- Fixed a bug where in a fault condition (e.g. HardLimit), the user could change the Track Rate to other than Drift and,
	while ATCS would not move the motors, the internal position would "track".  In 3.00.000 if the user tries
	to do this then the Track Rate change is disallowed with a warning message:
	- If in a fault condition: "Tracking not allowed in fault condition."
	- If the Alignment Type is Alt/Az and ATCS is not yet aligned: "Not available unless at least preliminarily
		aligned."
- Fixed a bug where the HardLimitOverride (HHlo) command did not issue a warning if the Automation Modules were not
	present.
- Fixed a bug where encoder Track Lock could not be started if autoguider motion was presently active.  Track Lock is
	allowed for tracking and autoguider motion.
- Fixed a bug where some QuickKey functions could result in "Internal Error: Too many calculations for old SkyWalker".
        In particular this was a problem for the GoTo-Last QuickKey function but could also happen for
	Cal-from-Encoders.
- Re-did all Default Starting Positions so that starting coordinates are in Axial coordinates rather than in Horizontal
	coordinates.  This fixed ambiguity problems in AxialX (i.e. -180deg rather than +180).
- For the X1 & X2 Dynamic Correction coefficients: Fixed a bug where correction for even harmonic frequencies had a
	flipped sign.
- Fixed a bug where the Dynamic Correction magnitude was bounds checked against negative and positive limits (i.e.,
	+/-900arcsec) but should only be checked from 0 to positive limit.
- Fixed a bug where GoTo Park could be started in a Fault condition (Status: GoTo commenced) and then would fault.  Now
	it is consistent with other GoTo's in that it does not start in a Fault condition.
- Fixed a bug where a Park-mark beyond Soft limits was not forbidden.
- Fixed a bug where Align-from-Last was allowed when the last alignment was only Preliminary.  Now Align-from-Last is
	only available when the last alignment was fully completed.
- Fixed a bug where Align-from-Star(s) did not properly check the violation of Up/Down Soft Limits for Full(GEM)
	Meridian Avoidance when side-of-sky was specified (i.e through Maestro's alignment wizard).
- Fixed a bug where the GoTo Orientation selection (Settings tab GoTo area) would not work and would result in
	a Client Syntax error.
- The "Align-from-Star(s)" button would previously do nothing if the time, date and site were not set at least once.
	Now if that is the case a pop-up alerting the users of this is presented.
- Fixed a bug where some handpaddle Assignable key functions could result in "InternalError: Too many calculations for
        old SkyWalker".
- An ATCS feature is that when a fault is entered the present track rate is saved.  When the fault is cleared
        this track rate is restored.  In previous firmware versions, there was a bug: when a fault was entered when
	the track rate was drift then when the fault was exited it was not always returned to drift (i.e. sometimes
	tracking would start after a fault exit).

New Astrometric Telescope Control Language (ATCL) commands supporting the above features


- The following ATCL commands support new Dynamic Correction features:

    SetDynaCorrEnabled	PSde	FLAG	If "Yes" then Dynamic Correction is enabled.  If "No" this leads ATCS to behave
					as if all the Dynamic Correction Coefficients were zero without actually zeroing
					them out.
    GetDynaCorrEnabled 	PGde	FLAG	

    SetCalibrationBlocking	AScb	FLAG
    GetCalibrationBlocking	AGcb	FLAG

- Added the GetHW_Model	(HGhm) ATCL command which returns "SkyWalker".

- Modified GetPModelStatAggregate (PGpa) command.
  - Was: Returns MoveMode, RefractionCorrMagnitude, AirMass, and TargetSync in the format:
	"mmmmmm|XX.XXXamin|X.XX|bbb", where "mmmmmm" is MoveMode text and "bbb" is "Yes" or "No".
  - Now: Returns MoveMode, RefractionCorrMagnitude, AirMass, TargetAxialX, TargetAxialY and TargetSync in the format:
	 "mmmmmm|XX.XXXamin|X.XX|SIGNED_3DIGIT_REAL|SIGNED_3DIGIT_REAL|bbb",
	where "mmmmmm" is MoveMode text and "bbb" is "Yes" or "No".

- The following ATCL commands have been added to support AutoCalFromEncoder

    SetAutoCalFromEncEnabled    GSae    FLAG
    GetAutoCalFromEncEnabled     GGae    FLAG

    SetAutoCalFromEncSettleTime    GSai    SECONDS
    GetAutoCalFromEncSettleTime    GGai    SECONDS

    SetAutoCalFromEncThreshold    GSat    sD.DD    Arcseconds
    GetAutoCalFromEncThreshold    GGat    sD.DD    Arcseconds

    The following ATCL commands have been modified for consistency with the name change of AutoCalibrate to
	AutoCalFromStar:

	Was						Is
	---						--
	SetAutoCalEnabled    GSac    FLAG     		SetAutoCalFromStarEnabled    GSas    FLAG
	GetAutoCalEnabled     GGac    FLAG        	GetAutoCalFromStarEnabled     GGas    FLAG

- The following ATCL commands have been added in support of new Track Lock features

    Added "TrackLockOn" assignment parameter to SetQuickKey*Function and SetQuickKey*Function commands

    In support of "Track Lock after GoTo" feature...

	SetAxialEncoderTrackLockAfterGoTo	EStg	FLAG	Turns on Track Lock at the completion of all GoTo's + 1
		sec settling time.  Note: this also turns off Track Lock prior to a GoTo avoiding the "Track Lock
		canceled" warning message.
	GetAxialEncoderTrackLockAfterGoTo 	EGtg	FLAG	

    In support of "Track Lock Y Disable" feature...

	SetAxialEncoderTrackLockY_Disable	ESts	FLAG	Allows systems to disable Y-axis Track Lock and still
		maintain Y-axis encoder use for other features.
	GetAxialEncoderTrackLockY_Disable 	EGts	FLAG	

- The following ATCL commands have been added for Limit Encoder support

    For setup
    ---------
	MarkLimitEncEast	HMae	Causes SkyWalker to reference present position (using the analog value read
					from the Limit Encoders) as the Eastern most Limit Encoder position.  If the
					parameter is "Yes" this command also performs a SetAxialLimitEastAngle command
					with the present Axial position as the East Axial Limit value.
	MarkLimitEncWest	HMaw	ditto
	MarkLimitEncUp		HMau	ditto
	MarkLimitEncDown	HMad	ditto
	GetLimitEncADC_X	HGcx	N,NNN	Returns the analog-to-digital converter value for the X-axis
		limit encoder.  Values range from 0 to 1,023.  Note: if the limit encoder is not connected in the system
		then the return value is indeterminate.
	GetLimitEncADC_Y	HGcy	N,NNN	Returns the analog-to-digital converter value for the Y-axis
		limit encoder.  Values range from 0 to 1,023.  Note: if the limit encoder is not connected in the system
		then the return value is indeterminate.
	SetLimitEncAxialEast	HSxe	DEG	Sets the East axial reference position for the Limit Encoders.
	GetLimitEncAxialEast	HGxe	DEG	
	SetLimitEncAxialWest	HSxw	DEG	Sets the West axial reference position for the Limit Encoders.
	GetLimitEncAxialWest	HGxw	DEG	
	SetLimitEncAxialUp	HSxu	DEG	Sets the Up axial reference position for the Limit Encoders.
	GetLimitEncAxialUp	HGxu	DEG	
	SetLimitEncAxialDown	HSxd	DEG	Sets the Down axial reference position for the Limit Encoders.
	GetLimitEncAxialDown	HGxd	DEG	
	SetLimitEncADC_East	HSce	N,NNN	Sets the East ADC reference position for the Limit Encoders.
	GetLimitEncADC_East	HGce	N,NNN	
	SetLimitEncADC_West	HScw	N,NNN	Sets the West ADC reference position for the Limit Encoders.
	GetLimitEncADC_West	HGcw	N,NNN	
	SetLimitEncADC_Up	HScu	N,NNN	Sets the Up ADC reference position for the Limit Encoders.
	GetLimitEncADC_Up	HGcu	N,NNN	
	SetLimitEncADC_Down	HScd	N,NNN	Sets the Down ADC reference position for the Limit Encoders.

	For usage
	----------
	SetFromLimitEncoders		ASal	<none>	Voids alignment and sets axial position to the position
		read from the absolute encoders.  Issues warning if both X and Y axial limit encoders are not connected
		in the system.
	GetLimitEncX	HGxx	SIGNED_3DIGIT_REAL	Returns AxialX position calculated from X-Axis Limit Encoder
	GetLimitEncY	HGxy	SIGNED_3DIGIT_REAL	Returns AxialY position calculated from Y-Axis Limit Encoder

- Added the GetMotorEncTrackingX (MGzx) and GetMotorEncTrackingY (MGzy) commands that provide the following string:

	<diag time><tab><diag motor><tab><diag encoder>, where:
		<diag time> Number of Ticks since ATCS power-up.
		<diag motor> Offset, in steps, since last ZeroMotorDiagPosition* command
		<diag encoder> Offset, in encoder counts, since the last ZeroEncDiagPosition* command
	The purpose of this command is to snap-shot time, motor and encoder position to assist in measuring tracking
	smoothness and accuracy.

- The following ATCL commands have been added in support of the HomeIndex toggle feature

   GetHomeIndexToggledX	AGtx	FLAG	Toggles every time a HomeIndex detection occurs on the X axis.
   GetHomeIndexToggledY	AGty	FLAG	Toggles every time a HomeIndex detection occurs on the Y axis.

- The SetStandardTime command has been modified to accept tenths or hundredths of seconds:

	SetStandardTime	TSst	--> 24hr format: "hh:mm:ss.dd", 12hr format: "hh:mm:ss.ddxx" where "xx" is "AM" or
	        "PM" and "dd" are optional hundredths of seconds (or ".t" for simply tenths of seconds is acceptable)

- New commands for the "GoTo Blocks Autoguider" feature...

	SetGoToBlocksAutoguider GSga	FLAG	String "Yes" to enable and "No" to disable feature where Autoguider
						requests are ignored during GoTo's.
	GetGoToBlocksAutoguider GGga	FLAG	

Known problems with this ATCS release

- Installation problems:
  - If you choose to cancel the installation because you do not have the license code handy then the installation
    will repeat the question about license.  Just say "No" a 2nd time and the installation will terminate.
  - There is no longer a prompt to added a Quick Launch bar shortcut.  The Quick Launch bar is not provided on the
    Windows desktop after Windows XP and programs cannot added icons to the Windows 7 & 8 Task bar (only users
    can).
- If you calibrate too close to the celestial pole (say within 1/2 degree) then ATCS can "run away" in tracking at
  up to 1/4 degree/second *if* large Dynamic Correction coefficients are being used.
- If an illegal value is entered in Maestro then ATCS will reply with an unfriendly "Client Syntax Error" rather
  than reporting a more friendly error describing the illegality of the value entered.
- If the display mode of your PC changes (i.e changed screen resolution or change of number of attached monitors) then
  it is possible the one or more Maestro windows (i.e. main window, GoTo progress bar, VTel, etc.) will be off the
  screen.  If it is not possible to change the display mode back then you can exit Maestro, run regedit
  (Start-->Search-->"regedit") and go to HKEY_CURRENT_USER/Software/VB and VBA Program Settings and select "Maestro"
  and then hit the delete key and confirm the deletions.  Then, restart Maestro and its configuration will be at its
  default first-run state and all windows should be on the screen.
- For Full(GEM) Meridian Avoidance, Dynamic Corrections must be disabled.  If Meridian Avoidance is Full(GEM) "Dynamic
  Corrections Enabled" is check the user is warned: "In this firmware version, for Full(GEM) Meridian Avoidance,
  Dynamic Corrections must be disabled"
- The Alignment Wizard in Maestro will erroneously report that a GoTo Star has completed prior to it actually
  completing.  Use the disappearance of the GoTo Progress box to know if the GoTo really has completed.
- When key settings are password protected (from the "Key Settings Protect" group on the Motors & Gearing tab)
  the "Set from Limit Encoders" button is unavailable on the Encoders & Limits tab.  It should be available.

Copyright 2015 Astrometric Instruments, Inc.