Version compiled August 15, 2008 (suggested improvement by Carl Morecshi):
1. Added ability to set different step sizes for CW and CCW motion in the altazimuth/Right Ascension/primary axis.
Version compiled August 15, 2007 (suggested improvement by Jan van
Gastel):
1. Revised the scroll command routines to add saving and
retrieving of a second current coordinates position (save2/restore2).
2.
Revised the scroll command routines to add ability to move to the retrieved
coordinates position (move_equat).
Version compiled
1. Fixed a problem with the LX200 report the timezone command.
Version compiled
1. Horizon Limit check. Can be selected in config.dat.
2. Asymmetric fuzzy zone.
3. Fix to GEMNeedsFlipping which didn't work if AutoGEMFlipFuzzDeg is negative and in Flip Off state.
4. Implement Safety Zone. Aborts
MoveToCurrentRaDec if move takes scope into Safety
Zone. Works same way as Az/Alt
High/Low limit movement.
5. Totally revised Polar Alignment Routine. Now uses only two
stars. I've also attached a draft of a monograph describing the solution.
Version compiled
1. Added AlignACK command to the LX200 supported
protocol.
Version compiled
1. Fixed a problem with the field rotator drive introduced with the phase 5
stepper motor fix.
Version compiled
1. Planet/Asteroid/Comet calculations migrated from VSOP87 orbital elements to
DE403. File PS1996.PTT and code basics
courtesy Ken Gray.
2. Asteroid/Comet calculations now topocentric.
Observer's elevation above sea level in meters entered into CONFIG.DAT,
(default = 0).
3. Precession calculations done using rigorous method. This allows precession from any epoch to
epoch-of-date. Assumption now is that datafile positions are barycentric
for database epoch and not corrected for nutation/abberation.
4. Users modifying program are
encouraged to edit the char SubVersionStr[] =
""; found at the beginning of KBMAIN.C. Text between the quotes will be printed at
the bottom of the main screen.
Version compiled Sept 6, 2005:
1. Fixed problems with phase 5 stepper motors.
2. Fixed problem in set Z123 where simply hitting return would bomb the
program. Now, hitting return selects for the current values.
Version compiled
1. Fixed a bug with the new planet calculations per Don Ware.
Version compiled
1. Fixed a bug introduced about a year ago where guiding modes that include 'stay' at current position when ending guide no
longer stayed as they should.
2. Thanks to extensive work by
a. Positions of planets calculated. Use file Planet.dat to select planet.
b. Menu option CometFile changed to MinorPlanets.
- Select a comet or asteroid from a file
- This is the comet file *.cdf option
- Select comet orbital elements from a file
- Select asteroid orbital elements from a file
- orbital elements downloadable from Minor Planet Center http://cfa-www.harvard.edu/iau/Ephemerides/Soft01.html
- create a file with extension *.edf
- Input comet orbital elements
- Input asteroid orbital elements
- you will be prompted to input relevent elements
All calculations are geocentric for epoch of date, taken from system clock.
File VSOP87.PTT must be installed in same directory as SCOPE.EXE.
Version compiled
1. Added new config variable: GEMFlipPossible,
which controls whether the GEM meridian flip can occur at all. Before, GEMFlip possible set from initialization state equal to
equatorial. This allows GEM flip to be possible with
user defined initialization state. If AutoGEMFlip is
set to true, then GEMFlipPossible will also be set to
true.
2. Added two new config variables: AutoAltPECDeBounce and AutoAzPECDeBounce
: if 1 or on, then software will debounce the
synchronizing signal: the debounce period ends when
the PEC index is between the ¼ and ¾ point of the PEC cycle
Version compiled Nov 7, 2004:
1. Added LX200 commands per
GetFfspeed (Xgf) sends back
slow focusing speed
GetFFspeed (XgF) sends back
fast focusing speed
SetFfspeed (Xsf) sets slow
focusing speed
SetFFspeed (XsF) sets fast
focusing speed
GetFocusPos (Xgp) sends
back current focuser position
2. Fixed an issue with external encoders reading altitude
when GEM flip is on.
Version compiled
1. Fixed LX200 command bug introduced this May/June where find/center altazimuth moves paused LX200 processing.
2. Fixed LX200 command bug where when tracking is paused, after a focus
command, LX200 processing was paused.
Version compiled
1. Changed handpad button timer
that prevents repeated similar actions from 5 seconds to 2 seconds.
Version compiled
1. Courtesy
Version compiled
1. Added 'Saving' Saved ' and ' '
status to end of AccumGuide Alt/Az
display to indicate when saving of guiding efforts is occuring.
Version compiled
1. Courtesy
Version compiled
1. Changed the behavior of the adjust MS parms menu
option so that if tracking is on when selecting the menu option, tracking will
continue. Otherwise, as changed on
Version compiled
1. Per
2. Per
3. Per
4. Added configuration flag precessionNutationAberration
that turns on/off precession, nutation, and annual
aberration correction.
5. Added awareness of focus motor reverse option to the different menu driven
focus moves.
Version compiled
1. Fixed an issue with heavy handpad use where the
lx200 commands were not being answered in a timely fashion.
Version compiled
1. Fixed some issues with precession/nutation/annual
aberration per
2. Added custom LX200 commands: XGR to get field rotation in degrees; XSN to
set object name.
Version compiled
1. Worked more on the LX200 interfacing, specifically, to balance the
processing between returning lx200 commands in a timely matter whether slewing
or tracking, and the processing required for smooth tracking. NOTE: be certain
that in the scope.cfg file CMOS_RTC_Access
is set to 1, not 0.
2. Fixed problem with calculation of Z123 errors from position init 3.
Version compiled
1. Fixed a problem with the precession, nutation, annual aberration routines per
2. Worked on the LX200 interface at end of slewing to improve responsiveness.
3. Verified that auto guiding / guide efforts save work.
Version compiled
1. Increased number of eyepieces available to 12 , per
2. Changed startup behavior so that absence of config.dat
file gives a warning, and does not cause the program to immediately exit.
3. Changed menu option adjust microstepping
parameters such that the 2motorTrack no longer has to be started separately
beforehand.
4. Added back in the TestString option of 'Track',
which automatically starts the 2motorTrack routine.
Version compiled
1. Added code for encoders to work with GEM flipped where declination places
the scope below the celestial equator.
Version compiled
1. Fixed the bad compile on Feb 20.
Version compiled
1. Fixed a bug where encoder position in altitude is erroneous for negative altitudes.
Version compiled
1. Changed and enhanced how guiding efforts are recorded for periodic error
correction. Now, any handpad guide mode and guide
commands from the LX200 command input can be used to start guiding. After
guiding has begun, a second push of the handpad left
mode key will initiate the saving of guiding efforts for periodic error
analysis. A push of the right hand mode key will end the save, as will filling
the guiding arrays. The underlying guiding commands will continue without
interruption until the right hand mode key is pressed for the second time, or
the LX200 command input changes from guiding rate commands. In the past,
scope.exe did all, consequently it made best sense to make the save of guiding
efforts a handpad mode. Now, guiding commands can
come from external sources, so the process of recording guiding efforts is
decoupled. The handpad mode GuideSave
(also called GuideStaySave) is defunct.
Procedure is:
1. start guiding either with a handpad left mode key
press (requires that the handpad is already in a
guide mode), or, have the controlling program begin issuing guiding
instructions via the LX200 channel
2. when ready, press the handpad
left key mode again to start the recording of guiding efforts
3. when finished, press the handpad
right mode key to stop the recording of guiding efforts
4. at your leisure, end guiding with a handpad right mode key or the stoppage of guiding commands
from the LX200 command channel
Version compiled
1. Changed the behavior of the guide mode GuideStaySaveOn
to be aware of LX200 guiding commands. Now, if LX200 guiding is already
underway by a master controlling program, when GuideStaySaveOn
is turned 'On', the current guided to position by the LX200 guiding commands
will be adopted as the base position, setting drift to zero, starting the
guiding arrays from scratch, and guiding will proceed as before. When GuideStaySaveOn is turned 'Off' the guiding efforts are
preserved in memory ready for analysis. Previously, the only way to access the
guiding efforts was to restart the program using the command line option to
load in a guiding efforts file.
2. Added eyepiece and focus-to/save eyepiece position. Code
courtesy of
Version compiled
1. Changed the cmos clock default to be off.
2. Changed the meridian flip so that the direction in right ascension is
consistent between the auto move and the manual move.
Version compiled
1. Added ability to read right ascension seconds to three decimal places in the
LX200 protocol, ie, :Sr 05:16:59.345#.
Version compiled
1. Fixed the RA direction when executing the menu option GEM
flip.
2. Added corrections for precession, nutation, and
annual aberration.
3. Added new config.dat variable, DataFileCoordYear.
Default is 2000.
Version compiled
1. Rearranged the GEM flip process. Now, the displayed
GEM flip reflects the mount's actual GEM flip state. Before, it reflected the
intent of the motion. Removed GEM flip compensation from the
encoder coordinate processing routine.
Version compiled
1. Fixed situation where repeated 'halfstep move
greater than <MoveHsMsgDeg> occur during GEM
flip.
2. Added sensing of GEM flip state at end of slew_home and reset_home processes.
Version compiled
1. Fixed bug where LX200 responses ignored in the data file menu sections.
Version compiled
1. Fixed bug in close steppers routine where the program will bomb if there is
no configuration file.
2. Fixed bug introduced in Oct 8 version where scroll files ignore the negative
sign on coordinates.
3. Changed how coordinate translation occurs when the GEM meridian flip is
'on', fixing some GEM flip issues in southern hemisphere.
Version compiled
1. Fixed auto GEM flip for southern hemisphere.
2. Tweaked LX200 get firmware function per Marty Niemi
so that Larry Weber's FocusMax will work with
scope.exe
Version compiled
1. Added LX200 command check while waiting for keyboard
input. This prevents the stalling out and calling program possibly
issuing an error message that the LX200 commands no longer respond.
Version compiled
1. Fixed bug where equatorial refraction correction is turned off if equatorial
alignment is selected at startup time.
Version compiled
1. Added ability to read hundreds of a second in the LX200 command Set Right
Ascension. This gives better than arcsecond precision
to Right Ascension coordinates. Now, a 'Sr
10:11:12.13' will read in the hundreds of a second as 13.
Version compiled
1. Fixed problem where sidereal time could jump ahead at end of slews.
2. Changed backlash behavior so that when tracking but declination motor not
moving, backlash always taken up in direction of handpad
button push.
Version compiled
1. Zero out backlash shortcut key should be displayed as '%'.
2. Fixed backlash oscillation when equatorially aligned and using the dec motor.
Version compiled
1. Fixed the AZOff+Axis menu option.
2. Added a check for proper initialization when calling menu option convert
input equatorial to altazimuth.
3. Fixed bug in refraction routine where altitude of 90 deg or more blew up.
4. Added menu option to the motor category to zero out backlash.
5. Added shortcut key '%' to zero out backlash.
6. Adopted new backlash takeup algorithm. Previously,
when motor reversed direction, the move motor software code detected the
changed direction and caused the backlash to be taken up in the new direction.
However, this was done in a standalone routine where any backlash to be taken
up by either motor was made into a standalone movement. The software was not
tracking the object during this backlash takeup. This
is not satisfactory for equatorial users whose autoguiders
command a Declination guiding movement and expect the Right Ascension motor to
continue precision tracking. Hence, a new algorithm.
Now, the tracking function adds backlash to takeup to
the tracking move to make. Backlash takeup is thus
one continuous combined motion with the tracking motion. The other motor
continues to track without entering a special backlash takeup
routine. It is important to set good MaxIncrMsPerPWM
and MsHsToggleIncrMsPerPWM values, as these determine
how the microstepping takes up the backlash as
quickly as possible. Set MaxIncrMsPerPWM
to 2, 3, 4, or 5. Higher means faster takeup
but at some point the motor will not be able to get up to speed and will
jitter. Set MsHsToggleIncrMsPerPWM to MaxIncrMsPerPWM unless you want to experiment with halfstep tracking.
7. UpDownButtonsReversedFlag added to the
configuration file config.dat.
8. Fixed bug where LX200 commands improperly handled at end of long slews,
causing the commanding program to think that communications has been lost. Scope.exe's LX200 receive function has a time out check,
which is upset when the DOS clock is reset at the end of long slews. The fix is
to ignore the time out check when the DOS clock is being reset.
Version compiled
1. Fixed a problem when calling the menu option Z123 error
correction values from the analysis file.
Version compiled
1. Changed the compute Z3 error routine. Continuing to
investigate, it appears that the most accurate Z3 value is calculated from
averaging all the altitude offsets as found by comparing all the positions with
each other as found in the analysis file. It is important that the analysis
file contains a wide range of positions all around the sky so that effects of
Z1 Z2 errors are minimized while calculating the averaged altitude offset.
Obtaining accurate Z2 Z3 error values depend critically on a very accurate Z3
or altitude offset value. Since Z1 Z2 depends on very slight azimuth
differences as the altitude is varied from equator to pole, an inaccurate Z3
value will obscure the untangling of Z1 Z2.
2. Fixed a problem in the kill inits routine where
tracking could remain on.
3. Added kill inits to the menu (was just a hotkey
until now).
4. Enhanced and changed the initialization display to include offset from
zenith (for altazimuth mounts, the offset should be
very little assuming the scope was setup eyeball level), and equatorial pole
offset (for equatorial mounts using manual initializations, will give an
indication of where to adjust the mount for better polar alignment).
Version compiled
1. Fixed a problem where Z123 errors in config.dat
are non-zero and a pure equatorial alignment at startup is selected.
Version compiled
1. Changed the program so that when too many iterations
involving the Z123 errors using one conversion subroutine occur, another
conversion subroutine conversion is tried.
2. Cleaned up some code relating to HoldReps.
Version compiled
1. Updated conversion routines to include option for Taki's iterative solution to Z1Z2. Z1Z2 GetAltaz() can now be done by Taki's
simple routine, Taki's complex routine, Taki's iterative routine, Larry Bell's iterative routine,
or a combination of Bell and Taki. Accurate
translation back to altazimuth coordinates using Z1Z2
values now is not only accurate to much better than tenths of an arcsecond, but also done in as fewest cpu
cycles as possible.
2. Fixed a typo that could affect coordinate conversions where azimuth or hour
angle exactly = 90 degrees.
3. Updated altazimuth refraction calculation
routines.
4. Re-arranged order of error corrections in the routines that translate
between motor positions and corrected sky conditions. The sequence of adding or
removing errors should be consistent whether translating between motor and
corrected sky, or, between corrected sky and motors.
5. Added equatorial refraction correction. Correction based on site coordinates
as found in config.dat and on the computer's time and
date. Set RefractFlag in config.dat
to 2 if you wish equatorial refraction correction to be turned on.
6. Redesigned the calculations of best Z1 Z2 Z3 corrections because
7. Added an option for AltAlt alignment.
8. Adding function for 3 axis tracking. Does not move motors.
The test function can be uncommented, the source recompiled, and run, to give
an idea of my thinking. It reports changes in coordinates.
9. Turned off the halfstep too long of slew message
when in the polar alignment routine.
Version compiled
1. Fixed a formatting issue with the site configuration data
entry window.
2. Fixed an issue with the 'press key to continue' routine – now it can handle
'extended' characters.
3. Added “*” for polar alignment method hotkey.
4. Added “$” for manual gem flip set.
5. Consolidated hotkey displays into one menu option where the arrow keys now
show subsections of hotkeys based on main menu category.
Version compiled
1. Added user defined hotkeys F9-F12 and separated the hotkey display by main
menu category – code and idea courtesy
2. Added ability to define address and IRQ of serial ports com3 and com4. Com1
and com2 continue to be hardcoded to standard values.
3. Fixed grandtour so that it will use datafiles not in scope.exe's file
directory
4. Added polar alignment procedure, extensive code and documentation courtesy
Version compiled
1. Fixed situation where invalid TestString in config.dat caused program to hang.
Version compiled
1. Fixed bug where initialization having an axis pointing very close to 90
degrees caused the new Taki error correction routine
to die.
2. Enhanced LX200 commands to check for missing leading blank. Xephrem does not send this blank.
Version compiled
1. Fixed bug where Z1 Z2 and Z3 values were not being saved to config.dat after updating via menu option.
Version compiled
1. Fixed the hysteresis problem
in the coordinate conversion routines when large values of Z1 and Z2 are used.
Derivation and formulae courtesy Larry
2. Fixed bug with mouse where program crashed after converting guiding efforts
to PEC files if mouse control is active and mouse click occurs during
conversion.
3. Added new configuration HandpadFlipUpDownWithGEMFlip
variable to allow handpad to follow the GEM flip.
When the GEM is flipped, the declination direction is reversed, so this flag
allows the handpad's up/down buttons to follow the
reversal.
4. Added new LX200 protocol commands: :D# causes
scope.exe to return the slew state; :VF# causes scope.exe to return a version
string.
5. Added two new menu items to allow individual re-synchronizing of altitude
and azimuth PEC.
Version compiled
1. Fixed bug in GetDec when in LX200 long format.
Version compiled
1. Fixed problem with sidereal time that caused telescope
to track too slow.
Version compiled
1. Added hotkey for gem meridian flip: either '[' or '{'.
2. Added F5/F6 function key focusing control, courtesy
Marty Niemi.
Version compiled
1. Fixed bug in KeepAlive function that was
obstructing the OverVoltage action.
2. Changed the refraction table values in a very insignificant manner.
Version compiled
1. Fixed bug in LX200 protocol get altazimuth
functions.
2. Added ability to page backwards lists of data files and objects inside the
data files. Code courtesy of Don Ware.
3. Fixed bug in latitude setting.
4. Fixed bug in error correcting routines involving Z1Z2Z3.
5. Fixed bug where keyboard entry caused scroll file to skip immediately to
next scroll command, instead of waiting for next keystroke.
6. Added new config.dat variable: KeepAlivePPortPin.
To disable, leave at default value of zero. When 1, 14, 16, or 17, a repetitive
signal is generated on this parallel port pin, to be
used as a keep alive signal to external circuitry that otherwise will shut down
the power to the motors. This prevents the motors from being powered unless the
software is actively running.
7. Fixed bug involving limits where a limit would be falsely triggered if other
axis asked to make large slew and the axis in question had zero steps to move.
Version compiled
1. Added ability to detect if gem flip is 'on' at startup time by checking
the altitude setting (if > 90 deg, then it is).
2. Fixed bug in pulse step and direction control mode, where reverse motor
option did not work properly.
Version compiled
1. Fixed 'Using Mouse Control' message so that it doesn't
overwrite the menu area when returning from the planetarium program Guide.
2. Added a polar alignment message to the init window showing how much to move
the scope to bring it into precise polar alignment.
Version compiled
1. Enhanced LX200 compatible fast/slow focus commands to
work for every focuser motor type as definable in config.dat.
2. In pulse/dir motor control method, fixed motor power on control lines to
stay on during microstepping. Turning tracking off
and mspowerdown turn off the power on control lines.
3. Added display of motor control method at startup.
4. If inappropriate motor control method, changed program to default to microstepping control via PCB.
Version compiled
1. Fixed bug found by Chris Rowland where negative longitudes were not
being handled properly.
2. Changed accumulated drift reset so that it does not occur when drift values
are updated. It is now up to the user to keep track of accumulated drift and to
zero it out via the menu option when desired.
Version compiled
1. Made the timezone variable able to accept
decimal values, ie, 5.5.
2. Fixed a recently introduced bug in the routine that determines if a handpad is not connected. The handpad
would be correctly detected as not present, but the phantom button action was
not erased, causing the program to enter a microstepping
move mode that was difficult to break out of.
Version compiled
1. Discovered and fixed bug in field rotation motor tracking routine.
Symptom is motor that jitters several times per second when FR step size is
large. This was due to the FR direction line being lowered and raised when less
than one step to move per bios clock tick. FR direction line now held
consistent when less than 1 step to move.
Version compiled
1. Fixed coordinate conversion routines when GEM meridian
flip active so that Z1 Z2 Z3 are inverted. Uses who wish to adjust Z1 Z2
Z3 for their mount should do both initializations without GEM meridian flip
after selecting equatorial mount option at startup time. Then enter or analyze
for new Z1 Z2 Z3 errors. Once these new initializations are accomplished, then
select re-use initializations from configuration file at subsequent startups.
Version compiled
1. Added menu option to swap between handpad speed settings. This is most applicable to the 4-direction handpad design, where the handpad
does not sport a speed switch.
2. Added smart GEM meridian flip for move to equatorial coordinates, so that
scope travels minimum distance when needing to slew to an object that requires
the meridian flip. To enable this, set AutoGEMFlip to
1 in config.dat.
3. Added an abort if a halfstep slew attempts to
cross the GEM meridian flip boundary. To enable this, set AutoGEMFlip
to 1 in config.dat.
4. Added an automatic handpad disable if a key press
is detected at program startup.
Version compiled
1. Added menu option to swap between handpad
designs on the fly.
Version compiled
1. Accumulated drift now reset to zero whenever a slew occurs.
2. If inverted output on parallel port set, pulse direction motor enable lines
always high.
3. Microstepping power down now occurs regardless of
motor's shaft or rotor positioning. Before, power down would only occur if
rotor positioned on a fullstep. If the motor is not
commanded to move in microsteps during an interval
lasting MsPowerDownSec, motor will be powered down. Any subsequent microstep command will
power up the motor.
4. Added new configuration variable: LX200BaudRate. Some controlling programs
now offer a choice of baud rates for LX200 control, allowing for faster
transfer of information with less consequent impact on microstepping.
5. Changed serial interface transmit function to interrupt driven, so that it
no longer waits until all data transmitted before returning control. This
eliminates the pausing during microstepping when
external control via LX200 protocol is activated.
6. Added new handpad configuration variable called HandpadDesign. It can be either StandardHandPad
(value of 0) or DirectionOnlyHandPad (value of 1). If
DirectionOnlyHandPad, more than one direction line
can be active at a time, allowing for guiding motions in two axes
simultaneously. The 4 motion direction input data lines should be hooked up as
follows:
upper button = Up,
activates bit 16 or pin 13 of the parallel port
lower button = Down, activates bit 32 or pin 12 of the parallel port
left button = CCW, activates bit 64 or pin 10 of the parallel port
right button = CW, activates bit 128 or pin 11 of the parallel port
7. Guiding function changed so that it will
accept multiple simultaneous directions.
8. Added menu item: coordinates|convert input
equatorial to input altazimuth. This menu selection
calculates input altazimuth coordinates based on
input equatorial coordinates. Used for encoder only and other situations where
the scope is moved such that the current altazimuth
coordinates match the input altazimuth coordinates.
Version compiled Feb 22, 2002:
1. For comet goto and tracking: fixed bug in
drift equatorial coordinates that prevented a negative RA; added menu options
to zero drift and accumulated drift.
2. Changed LX200 acknowledgements to issuing device to occur as early as
possible.
Version compiled Feb 17, 2002:
1. Added keystroke cancel to GEM flip.
2. GEM flip display now says either “Off E->W” or “On W->E” indicating
either east side of pier facing west, or west side of pier facing east.
Version compiled Feb 8, 2002:
1. Added query to choose direction of azimith/right
ascension axis during meridian flip. If display opening messages set to off, or
lx200 control enabled, this query is bypassed. Default directions are clockwise
motion when transitioning from not gem flipped to gem flipped,
and counterclockwise motion when returning from flipped state to not flipped
state.
Version compiled January 29, 2002:
1. Updated to exact error correction routines for Z1, Z2,
and Z3, per Taki.
2. Changed the menu option for site configuration such that the full data set
is displayed at the start, and the Return key keeps current values (code
courtesy of Mark Ewert).
3. Fixed bug in routine that converts guiding history into PE correction values
when motor moving in counterclockwise direction.
Version compiled January 3, 2002:
1. Added power on control lines to pulse/direction motor
control option. Parallel port pins 6, 7 are altitude/declination, and,
azimuth/right ascension power on control lines respectively.
2. Added new menu item that searches data files for match with user entered
object name string. Code courtesy Chris Rowland.
3. Added up/down cursor control to data file selection boxes.
4. Changed two code lines per Taki's bug fix of his
coordinate conversion routines.
5. Added custom LX200 serial line protocol commands. All custom commands start
with an 'X'. They are:
XGG = get GuideArcsecSec
XGM = get MsArcsecSec
XHa through XHz = set handpad mode 0 to 26 respectively
XHL = simulate handpad left mode key
XHR = simulate handpad right mode key
XI1 through XI3 = initialize point 1 through 3 using already sent equatorial
coordinates
XSG = set GuideArcsecSec
XSM = set MsArcsecSec
XX = clear LX200 display area
eof