Version compiled 6/21/99:
1. Added new variable to config.dat file: MakeEncoderResetLogFile.
Set to 1 if you wish encoder threshold violations to be recorded.
Version compiled 6/10/99:
1. Changed guide+drag mode to simply add in the drift from the config.dat
to whatever the current drift values are, then subtract the drift from
config.dat when guiding efforts are done.
Version compiled 6/9/99:
1. Changed menu system to master menu with submenus.
2. Added ability to change microstepping parameters while in normal
program tracking mode.
3. Added virtual handpad.
4. Added new handpad mode: guide+drag that sets up drift based on config.dat
values for an autoguider that requires the scope to drag slightly in tracking
such that the guide star continuously moves across the knife edge.
Version compiled 5/26/99:
1. Fixed bug in field rotation motor tracking that actually limited
max speed of FR motor to 1 pulse per second. Max speed is 9 pulses
per second now.
Version compiled 5/22/99:
1. Added ability to auto sync the PEC with motors turning CW or CCW
or either direction.
2. Changed handpad tracking on/off so that mode switch in left position
= track on and right position = track off
3. Changed operation of handpad when in FR motor mode. Now the
mode switch in left position = FR motor control on, and, right position
of mode switch means FR motor control off. Use CW and CCW buttons
to control FR motor. This way FR motor can be turned off and on to
allow handpad to also fine position the object without recourse to the
menu system displayed on the computer screen.
Version compiled 5/17/99:
1. Added optional automatic synchronization of altitude PEC alignment
via pin 17 of the parallel port, and azimuth PEC alignment via pin 15 of
the parallel port. AutoAltPECSyncOnFlag in config.dat turns on automatic
synchronization of the altitude PEC, and AutoAltPECSyncLowHighFlag determines
if the low to high or the high to low transition is used. AutoAzPECSyncOnFlag
in config.dat turns on automatic synchronization of the azimuth PEC, and
AutoAzPECSyncLowHighFlag determines if the low to high or the high to low
transition is used.
Version compiled 5/9/99:
1. Added ability to escape from the 'HsParms' menu selection as in
other menu selections.
Version compiled 5/8/99:
1. Added ability to change MsPause and MsDelayX on the fly in the Track()
option.
2. Added ability to increase PWM[0] on the fly in the Track() option.
3. Added menu option to temporarily change the halfstepping parameters
while the program is executing.
Version compiled 5/4/99:
1. Added display of handpad buttons pushed to screen.
2. Added new variable to config.dat: HandPadPresentFlag. If set to
0, then handpad is ignored.
3. Check for handpad that finds malfunctioning or no handpad now results
in warning and ignoring of handpad for rest of program life. Previously
the check if failed, would then abort the program.
Version compiled 4/29/99:
1. Added new hand paddle mode to slew the field rotation motor.
Speed controlled by new variable in config.dat: FRStepSpeedMilliSec.
Version compiled 4/26/99:
1. Increased time allowed to move hand pad switch to indicate an initialization
from 1/2 sec to 5 seconds. This should prevent program aborts when
in auto-init mode thanks to accidental multiple inits with same coordinates.
Version compiled 4/22/99:
1. Changed inability to find startup file for Guide to warning from
an abort.
Version compiled 4/21/99:
1. Fixed text in Hotkey display menu item.
2. Changed read slew and write slew failures to display warning messages
only instead of aborting the program.
Version compiled 4/17/99:
1. Added new hand pad mode that uses mode switch to turn off and on
tracking while at the eyepiece.
Version compiled 4/14/99:
1. Fixed bug in Track option that caused stack overflow.
2. Added new variable to the config file - MaxConsecutiveSlews.
This variable sets the number of times the program will attempt to slew
consecutively in order to reach a desired position. When the number
of slews is up, the scope tracks from its current position, whatever it
may be. This is an attempt to stop oscillations that occur when MsRepsTick
or PWMs are low and the scope's required movement exceeds what can be accomplished
by microstepping.
3. Added conversion program, ngcscope to convert file outputs from
ngcview to compatible format with scope.exe. This program joins megscope
that converts megastar file outputs.
Version compiled 3/22/99:
1. Fixed bug introduced in previous update that caused microstepping
to fail..
Version compiled 3/16/99:
1. Added ability to change PWM[] values on the fly in the Track mode.
This should allow for faster fine tuning of the pulse width modulation
value for each microstep.
Version compiled 3/4/99:
1. Changed sound option in Track mode to make an unique pitch for every
microstep.
Version compiled 3/1/99:
1. Added option to make a sound whenever the microstep index crosses
the zero point while in the Track mode of the program.
Version compiled 2/27/99:
1. Added mouse encoders to the list of possible encoder options.
Make sure that acceleration and multiplier options are turned off in the
mouse driver.
2. Extensively revamped the encoder functions.
3. Changed the entry that determines if encoders are to be used and
which encoder type is choosen in the config.dat file from EncoderType to
EncoderString.
Version compiled 2/9/99:
1. Changed how the test modes are called in the program and in the
config.dat file.
Version compiled 1/29/99:
1. Fixed coordinate declination display so that when choosing equatorial
mode at startup time, if the dec happens to be exactly zero, the dec will
display.
Version compiled 1/26/99:
1. Added two menu options that were formely hotkeys only: read slew
and write slew. These communicate coordinates with an external planetarium
control program such as Guide.
2. Added a new variable to the config.dat file, called InterfacePath,
that specifies the path to the controlling planetarium program.
Version compiled 1/23/99:
1. Fixed recently introduced bug that prevented the init.dat file from
being written to..
2. Per suggestion of Mark Williams, added interpolation between PEC
values: in situations where the PEC cycle lasts for a long time (many minutes),
there is a noticable period of time between individual PEC values.
This may cause motors to jump when the next PEC value occurs.
3. Added a new column of menu choices on PEC options.
4. Added display of PEC indexes and PEC values in tenths of arcseconds.
Version compiled 12/26/98:
1. Added autoscaling in vertical or y axis to guiding and pec analysis
graph screens.
Version compiled 12/21/98:
1. Added testmode of 13 which preloads guidealt.dat and guideaz.dat
giving opportunity for analysis and generation of pec files.
Version compiled 12/19/98:
1. Wrote new guiding corrections to PEC conversion routine where the
entire guiding correction effort is utilized to make multiple PEC files..
Version compiled 12/16/98:
1. Fixed bug in convering guiding corrections to PEC values.
Version compiled 12/14/98:
1. Added more LX200 commands.
2. Greatly enhanced realtime updating and handling of PEC.
Version compiled 11/29/98:
1. Fixed a bug in the receiving of a LX200 protocol slew command.
Version compiled 11/23/98:
1. broke apart zeroing of pec data into 'y' for altitude pec, and 'z'
for azimuth pec.
Version compiled 11/20/98:
1. Added function to meld guiding corrections into PEC array, and added
graphical display of PEC, guiding corrections, and resulting PEC.
Version compiled 11/5/98:
1. Revamped LX200 section and tested with ECU and SkyMap.
Version compiled 10/4/98:
1. Fixed bug introduced during last version, where BSeg type encoders
initializing would fail.
Version compiled 9/28/98:
1. Added encoder type for non resettable encoders like the SkyWizard.
2. Added still largely untested code to accept LX200 protocol handpad
commands from external programs.
Version compiled 9/16/98:
1. Fixed extremely small chance that a conditional test might have
the variables involved changed during the test by an interrupt call.
This contribution by Egon Lenc.
2. Small changes in low level code to make it more sharable with servo
based computer control telescopes.
Version compiled 9/6/98:
1. Fixed Y2K problem with CMOS realtime clock (which only stores two
digit years; added separate century field, and code to handle rollover
from 12/31/99 to 1/1/0).
Version compiled 8/28/98:
1. Added confirming message before adding in altitude offset.
Version compiled 8/27/98:
1. Added altitude offset algorithm as developed by Dave Sopchak.
This refines the altitude readings. The altitude offset is now displayed
in the initialization display, and the new hotkey 'a', adds it into all
initialization altitudes and current altitude.
Version compiled 8/19/98:
1. Added a message stating that the pec array has been zeroed out.
2. Fixed bug in guide+stay routine.
3. Couldn't get new guide+save to work because skipping of PEC indexes
occured occasionally when a motor was spinning fast to track, so, returned
to original guide format, where the PEC index and the accumulated guided
amount is saved.
4. A message confirming zeroing out of PEC added.
Version compiled 8/6/98:
1. Added check at startup for missing or malfunctioning handpad.
A missing or malfunctioning handpad can make the program appear locked
up, as the program would be exclusively busy processing a handpad command
such as 'move up' or 'move counterclockwise'.
2. Rearranged code that processes the handpaddle in order to better
catch invalid handpaddle states.
Version compiled 8/6/98:
1. Added option to specify the parallel port by the lpt number.
For lpt1, enter '1' for PPortAddr in the config.dat file.
2. Enhanced the startup procedure if an align.dat file is not present.
You now have your choice between a starting equatorial alignment (using
appropriate variables from the config.dat file), or a starting altazimuth
alignment (using appropriate variables from the config.dat file), or no
alignment at all. As a consequence, removed the now unneeded EquatorialFlag
from config.dat. These options will not appear if you have display
opening messages turned off in config.dat.
3. Added new hotkey 'i' to display initializations.
4. Changed recording of guiding corrections such that the guiding corrections
will start with the synchronization point of the PEC.
5. Added hot key 'u' to automatically convert guiding corrections into
an 'instant' PEC to use on the spot; a new PEC.DAT file is written.
6. Changed startup behavior: if PEC.DAT file not found, a default PEC
array with zero values or a flat PEC curve, is generated.
7. Added hot key 'z' that zeroes out the PEC array.
8. Added hot keys '9' to input altaz, and '0', to reset to input altaz.
Version compiled 6/25/98:
1. Added slewing capability to the field derotation drive.
2. Added menu item to reset field derotation motor to the current field
rotation angle.
Version compiled 6/23/98:
1. Important! Fixed a typo that caused incorrect coordinate
translations - this was introduced about 6/11/98.
2. Fixed and improved the GEM meridian flip algorithm.
3. At program startup time, you are asked if you want to use the previous
coordinates. Now, you must answer 'N' or 'n' if you do not wish to.
4. During Grand Tour, now display coordinates from data file not only
in the current coordinates field, but also in the input fields. This
allows the user to do a little touch up centering and other functions that
use the input fields.
5. Removed the 2nd field rotation display that was there mainly for
diagnostic reasons.
Version compiled 6/12/98:
Blocked display of unwanted *.dat files in 'display data files'.
Version compiled 6/11/98:
Added German Equatorial Mount meridian flip menu option.
Version compiled 6/10/98:
1. Re-did screen for easier readibility thanks to ever increasing number
of menu items.
2. Fixed problem with calling Project Pluto's Guide program from scope.exe
- the startup.mar file was being mangled.
Version compiled 6/1/98:
Enlarged buffer area to read Guide's startup.mar file.
Version compiled 5/1/98:
Fixed a recent typo that when calling the IACA routines, resulted in
no scope movement.
Version compiled 3/15/98:
1. added encoder reset count for tracking, tracking off, and slewing.
2. added unexpected slew while tracking trap via Test Mode 11.
3. added support for BBox and NGC encoder interface boxes.
4. added ability to keep encoder box on after exiting scope.exe, then
read current encoder box coordinates when re-starting scope.exe.
5. moved SerialWriteDelayMs value to config.dat.
6. added check of encoders after every slew.
7. added new method of communicating with Guide: '7' reads Guide's
coordinates, '8' writes coordinates to Guide.
Version compiled 1/26/98:
Added long formatting to LX200 protocol.
Version compiled 1/6/98:
1. Fixed loading of align.dat file containing only 2 inits.
2. Fixed azimuth offset display when aligned equatorially.
3. Changed optimization initialization to find the 3 closest inits.
4. Added Equatorial option to config.dat file for equatorially aligned
scopes (don't have to enter init data anymore).
Version compiled 1/2/98:
1. Added initialization optimization.
2. Updated format of align.dat file to that of init.dat file. Program
will auto-convert old format.
Version compiled 12/27/97:
Changed program to read Guide 6.0 startup file.
Version compiled 12/19/97:
Fixed bug that caused LX200 styled Ra and Dec inputs to read improperly.
Version compiled 11/29/97:
Fixed bug that caused PEC indexes to jump when FullstepsPerPECArray
value very high.
Version compiled 11/19/97:
Fixed bug when setting MGIII encoder box to resoution higher than 10,000.
Version compiled 11/5/97:
Greatly increased maximum workable value of FullstepsPerPECArray (used
to be about 3500).
Version compiled 11/3/97:
Added new handpad modes for explicit init 1, init 2, and init 3, so
that the operator can force a particular init to happen.
Version compiled 10/28/97:
1. Fixed bug in conversion test routine.
2. Fixed bug in test module selection routine.
Version compiled 10/27/97:
1. Added code so that the program can be controlled by an external
PC sending LX200 protocol commands via serial null cable.
2. Added ability to do 3 star initialization. This is more accurate
than the 2 star initialization because the 2 star init actually generates
a 3rd init position that carries with it the errors in the first 2 inits.
3. Initializing from the handpad after the 3 stars have been initialized
automatically re-inits by replacing the closest init.
Version compiled 8/5/97:
1. Fixed lockup that occured after reaching end of data file w/o selecting
an object.
2. Fixed rare occurrence where scope unexpectedly jogs a fraction of
a degree. This happened when control was returned to the handpaddle momentarily
just after an encoder query: the encoder read a fraction of a second later
was no longer valid.
Version compiled 7/28/97:
Added ability to reverse encoder count direction for situations where
mechanically reversing the encoder is not convenient.
Version compiled 7/20/97:
1. Added IACA back into the program. This communicates with other programs
through the InterApplication Communication Area. However, it will not work
with OS such as Win95/NT that put each DOS program into its own memory
area.
2. Added equatorial position recording via the handpaddle. By setting
the handpaddle mode, and then flipping the mode switch, the equatorial
coordinates are written to the file, "record.dat". This is to build grand
tour and scroll tour files, among other purposes.
3. Changed format of data files to put the object name or comment at
the end of the coordinates. This makes all coordinate file formats consistent.
Version compiled 7/16/97:
Fixed microstep and guide speed displays.
Version compiled 7/6/97:
1. Code broken into two modules: common.c and common.h that holds low
level functions and common definitions, and scope.c, scope.h that contains
the hand paddle and keyboard/screen interface.
2. A new file, outguide.dat, is written to everytime Project Pluto
Guide is exited, allowing a compilation of positions to be accumulated
avoiding manual entry.
3. A new standalone conversion program, called megscope.exe, written
to convert from Megastar's file output to scope.exe's *.dat format. Contact
the author to get a copy.
Version compiled 6/28/97:
1. Current coordinates now displayed in yellow (you can change this
color, to help you locate them on the screen).
2. Menu items now have an explanation line.
3. An encoder error threshold variable, called TrackEncoderErrorThresholdDeg,
was added to apply only when tracking or slewing, EncoderErrorThresholdDeg
applies at all other times.
4. New handpad mode to allow guiding corrections to continue ad infinitum
when PEC is active. Formely when PEC was on, guide corrections were limited
to 3 or 4 turns of the motor shafts, in order to keep the outputted file
size reasonable.
5. Grand Tour is now a handpad mode. Load a data file, then put the
handpad in grand tour mode. Now use the left mode and right mode buttons
on the handpad to move forward or backwards through the data file list
of coordinates. This is envisioned as a way to plan and automate nightly
observing sessions as well as favorite lists of objects or tours, if you
will.
6. Scroll mode now added. When in scroll mode and a scroll file loaded,
the handpad is used to move forward or backward through the coordinates
in a microstepping or scrolling motion over many seconds. This is envision
as a 'fly-over' approach, for instance, scanning the Moon or extended objects
at a constant slow speed.
7. Added some backup keys for menu items: q for quit, h for handpad,
d for datafile.
Version compiled 6/24/97:
1. Added ability to show more than 26 data files.
2. Fixed coordinates' display in Data File menu selection.
3. Rearranged menu layout to add more menu items.
4. Added reset equatorial coordinates to encoders menu item.
5. Adding Grand Tour menu item.
Version compiled 6/14/97:
1. Removed MaxMsDistance variable from config.dat.
2. Added PWMRepsTick variable back into config.dat.
Version compiled 6/10/97:
1. PWMRepsTick now displayed on the screen at all times.
2. Calculation of best average PWMRepsTick now done by the software
- no need to enter a value in the config.dat file.
3. Added a new config variable: MaxMsDistanceDeg, the maximum distance
microstepping will be used to make the move.
Version compiled 6/6/97:
1. Added optional realtime display of actual PWMRepsTick via DisplayActualPWMRepsTick
in config.dat.
2. Minor cleanup of code in microstepping routines.
Version compiled 6/3/97:
1. Gave option to display the microstep # when in TestModule 8 mode.
Fixed same function where motors would not move if inputed microsteps per
second < 1 and PWMRepsTick in config.dat > achievable PWMRepsTick.
2. Changed variable name from MsRepsTick to PWMRepsTick to better reflect
the variable's use.
Version compiled 5/29/97:
Fixed bug in TestModule mode 8 that when negative microsteps per second
entered (to reverse the motor direction), the motor only quivered.
Version compiled 5/27/97:
Added alternative to normal program execution to track or move motors
at constant rate, in microsteps (can be a fractional number) per second.
Set TestModule to 8 to operate in this mode.
Version compiled 5/15/97:
Removed requirement for PEC.DAT file and for PEC to be on, for guide
function. If no PEC.DAT file or PEC off, then guide function merely calculates
drift.
Version compiled 5/13/97:
For Guide functions to operate, reinstate the requirement that the
PEC data file be present. Add a dummy PEC.DAT file called PEC.TXT to make
using the guide functions/capabilities easier.
Version compiled 5/4/97:
Added defaults for config.dat vars to scope.exe.
Version compiled 5/3/97:
Guiding now works without PEC, and the handpad status shows when guiding
is active.
Version compiled 5/2/97:
Added ability to set MGIII encoder resolution based on AzEncoderCountsPerRev
and AltEncoderCountsPerRev.
Version compiled 5/1/97:
Added ability to interface with Bob Seagrest's encoder unit. Flag in
the config.dat file called EncoderType sets type of encoder box.
Version compiled 1/19/97:
Fixed bug that in unusual circumstances caused program to appear locked
while tracking.
Version compiled 1/16/97:
Increased the backlash trigger sensitivity so that backlash is immediately
taken up for configurations with larger step size
Version compiled 1/15/97:
Scooted the shortcut keys '2' through '5' down to '3' through '6' and
added '2' as a shortcut key for tracking on/off
Version compiled 1/14/97:
Fixed the '2' and '4' key so that they save the current equatorial
coordinates, not the inputed equatorial coordinates
Version compiled 1/13/97:
1. Added the '4' key to save a 2nd set of inputed equatorial coordinates
2. Added the '5' key to retrieve the 2nd set of inputed equatorial
coordinates
Version compiled 1/3/97:
1. Added the '1' key to also select 'move to equat'
2. Added the '2' key to save inputed equatorial coordinates
3. Added the '3' key to retrieve inputed equatorial coordinates
Version compiled 1/1/97:
1. Added altaz limit checks before move to equatorial coordinates actually
commences
Version compiled 12/31/96:
1. Fixed occasional program lockups due to serial port and timer interrupt
conflict
2. Changed Uranostat to Siderostat to make variable name more understandable,
as the need to prevent the azimuth axis from flipping 180 deg when a scope
moves to the other side of zenith also applies to other scope mounts, for
instance, some equatorially mounted telescopes such as the split ring and
horseshoe mounts cannot allow this kind of azimuth flip that would otherwise
occur when attemping to move under the North Celestial Pole
Version compiled 12/29/96:
1. Added code to handle siderostats and uranostats; these mounts use
a movable flat to direct the light into a stationary tube; so, the flat
can exceed 90 deg in alt: in dobsonians, movement past the zenith is not
allowed, instead the mount is moved 180 deg in azimuth, however, with the
flat, this would flip it upside down; az limits must be set so that east
AzLowLimit is about 90, and the west AzHighLimit is about 270, the difference
between the two limits cannot exceed 180 degrees, and pointing south must
be about 180 degrees in azimuth
2. Added the left apostrophe key, in the upper left of the keyboard,
as an optional keystroke to the menu item, "Guide.bat". In Guide, one can
define the exit key to be the left apostrophe, so that this same key can
be used to call Guide.bat as to exit it, a practice useful in the dark.
Version compiled 12/27/96:
1. Added encoder support via David Lane's MicroGuider III (added interrupt
driven serial interface, code to reset, query, and read the encoders, new
menu item to reset encoders while program is operating, added error checking
so that if error threshold exceeded, current altazimuth coordinates reset
to encoder coordinates, and if tracking is off, current equatorial coordinates
to track/slew to also reset);
2. Doubled highest possible microstepping speed;
3. Added Backlash speed setting in config.dat file (until now, backlash
was taken up at maximum microstepping speed, the sudden jump to new max
speed discovered to cause occasional motor stalling);
4. Added ability to select menu items by cursor and tab keys;
5. Added optional low and high motion limits in altitude and azimuth
Version compiled 1995:
1. switched back from C++ to Ansi C code.
Version compiled 1992:
1. recoded in C++.
Version compiled 1989:
1. recoded in C on AT class machine.
Version compiled 1985:
1. coded in Basic and 6502 assembly language on Commodore 64, routines
for moving steppers and coordinate conversions and other astronomical utilities
and computations.
eof