Version compiled Dec 26, 2001:
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. Fixed lockup bug
with open ended LX200 commanded slews.
Version compiled Dec 5, 2001:
1.
Added capability to power down declination/altitude motor in step/dir
motor control as has been the case in PWM motor control.
Version compiled Dec 4, 2001:
1. Negative backlash
properly accounted for in the telescope position.
2. Changing
directories while selecting scroll file works.
3. Last directory
visited while selecting data file, scroll file, or comet file, will
be remembered upon revisiting any file selection menu option.
4.
Fixed drift bug where declination drift not calculated properly.
5.
Comet: added read of comet file; extension is *.cdf; form is: ra dec
drift_ra drift_dec note, example
07 14 31 +23 +12 +11 +00 00 +2
-00 -00 -1 31P Schwassmann-Wach. Drift is per hour.
Version compiled Oct 17, 2001:
1.
Fixed focus motor control when tracking on that prevented stepping at
slow rates.
2. Fixed focus count direction when focus motor
reversed.
3. Fixed problem with azimuth drag.
Version compiled July 22, 2001:
1. Fixed bug with the
halfstep slewing overvoltage parallel pin 17.
2. Fixed bug in
mouse sub menu selection.
3. Added new LX200 commands: AA = align
altaz, AL = align land (turns off tracking), AP = align polar.
4.
Added new scroll command: handpad_mode. Format is handpad_mode <mode
number> <comment>, ie, handpad_mode 5 <note>
5.
Fixed the focus speed menu options to limit the focus speed as
stated.
6. Added hotkeys: '?' selects 'input equat'; '<'
emulates the handpad left mode switch; '>' emulates the handpad
right mode switch.
7. Made the return or enter key to be same as
answering 'y' to questions posed by scope.exe..
8. Added scroll
commands: save1 and restore1.
9. Added negative backlash. This
unusual option means that the motor will move in the opposite
direction than expected in order to take up backlash.
10. Added
scroll commands: dirft_altaz and drift_equat:
dirft_altaz
<DriftAltitudeInDecimalDegrees>
<DriftAzimuthInDecimalDegrees>
<TimeForDriftInSeconds> <comment>
drift_equat <RaHr>
<RaMin> <RaSec> <DecDeg> <DecMin> <DecSec>
<TimeForDriftInSeconds> <comment>
11. Fixed a problem
in the scroll routine when tracking off and scroll file has a
non-motor command: the time dependent displays would increment too
fast.
12. Don Ware contributed new Messier and NGC data files with
fixed coordinates edited with Roger Sinnot's NGC2000, permission to
use by Sky Publishing Corp
Version compiled June 11, 2001:
1.
Fixed bug in the resetting encoder type 'Ek' function that caused the
wrong steps per revolution to be sent to the encoder box.
Version compiled June 9, 2001:
1.
Removed drift accumulation during slewing.
2. Added hotkey 'n' for
slew to input altaz coordinates.
3. When guiding to build PEC
file, guiding corrections are now averaged for each PEC index;
before, only the first guiding correction for that PEC index was
used.
4. Fixed bug that locked the program when focus command sent
by LX200 control.
Version compiled May 30, 2001:
1. New config.dat
variable added ABacklashSignalPPortPin17: if non-zero, then
parallel port pin 17 used to signal the direction of the 'A' motor
backlash: logical high if backlash direction is CCW, logical low if
backlash direction is CW (can be used to control motorized
counterweights); starting value is logical low.
2. Test serial now
initializes the selected com port to the settings in config.dat
relating to the encoder serial port.
Version compiled May 16, 2001:
1. Fixed pulse/dir motor
control method so that the config.dat variables: ReverseAMotor and
ReverseZMotor work.
2. Added beeps to indicate end of slews
(tracking must be on).
3. Added user control of step rate in track
encoders (where encoders are used to record the amount of motor
movement per each microstep).
4. Removed obsolete teststrings from
the end of config.dat.
5. Changed sub menu order, so that they
descend in columns to match the up/down cursor keys that select
them.
6. Fixed LX200 guiding commands to recognize rotation of
guide commands based on guide rotation angle.
7. Fixed problem
when translating guiding efforts to PEC where a guide file might have
PEC numbers recorded that oscillate back and forth instead of
smoothly increasing or decreasing.
8. Added new LX200 commands
that are customized for scope.exe and interfacing programs: I1 I2 I3
for initialize position 1 2 or 3. SetRa and SetDec should be
commanded to scope.exe before calling each of these new
initialization commands.
9. Limited field rotation motor maximum
slewing speed to FRStepSpeedMilliSec. Already limited in speed while
slewing by handpad, there was no limit while slewing to catch up to
the correct field rotation angle after the scope finishes a slew and
starts tracking.
10. Fixed problem with Dave Ek and SkyCommander
encoders where counts per greater than 32,767 were read errantly.
Version compiled March 6, 2001:
1. Added
compensation for current variation to each stepper motor winding.
It has been discovered that the 8 output lines from the circuit may
vary in output current thanks to variations in the parts themselves.
In addition, there may be variations in motors. Some of the
quarter step correction (QSC) issues may be due to variations in
motor winding current. By allowing for individual current
adjustment of each output line, one can tune very output line to give
the same current. For instance, if one finds that the 2nd
output line ('B' winding of the altitude/declination motor) reads a
low current compared to the other output lines, the other lines can
have their output current lowered by the software to compensate.
Default is no compensation and config.dat does not need to be
changed. If you wish to use output line/motor winding current
compensation, add the following variables to config.dat. A
value of 1 means output 100% of available current, a value of 0.5
means output 50% of available current, and so forth.
The values
appear in config.dat as follows (this example shows a compensation
for a disparate 'B' winding of the altitude/declination
motor):
PWM_A_a_Comp 0.8
PWM_A_b_Comp 1
PWM_A_c_Comp
0.8
PWM_A_d_Comp 0.8
PWM_Z_a_Comp 0.8
PWM_Z_b_Comp
0.8
PWM_Z_c_Comp 0.8
PWM_Z_d_Comp 0.8
2. Halfstep
overvoltage control line has been added (parallel port 17). Add the
following variable to config.dat and enter the delay value when you
wish the overvoltage control line brought to logical high
state.
HsOverVoltageControl 300
For instance, if
your MaxDelay is 1000 and your MinDelay is 100, you may wish the
overvoltage to turn on at a value of 300. If using the delay
timing loop method of halfstepping, the overvoltage will be turned on
at the start of halfstepping. Entering a zero value for this
parameter means to ignore the overvoltage control line.
3. A big
in the pulse/dir routine has been discovered. If the scope is
commanded to move in microsteps by the handpad or by F1-4 keys before
tracking is turned on, weird things may happen to the motor output
and to subsequent tracking attempts.
4. Bug in the scroll
file command: off_altaz. Slews were not moving to offset
altazimuth coordinates, but instead to absolute coordinates.
5.
Added new scroll commands: new_equat and new_altaz. These set
the current coordinates to the values immediately following the
commands, ie,
new_equat <RaHr> <RaMin>
<RaSec> <DecDeg> <DecMin> <DecSec>
<comment>
new_altaz <NewAltitudeInDecimalDegrees>
<NewAzimuthInDecimalDegrees> <comment>
6. Added
automatic GEM flip, turned on by two new variables in the
configuration file, config.dat:
AutoGEMFlip 1
AutoGEMFlipFuzzDeg
7.500000
If AutoGEMFlip is 1, then GEM flip will occur
automatically. The fuzz factor is how much past the meridian
before the GEM flip will occur. Having some fuzz factor is
important otherwise the scope could oscillate between flipped and not
flipped states as small pointing corrections are made.
7. Removed
the messages from the menu option: move | gem flip. The three
GEM flip movements will now occur in sequence without any status
messages or opportunities to abort the process (movements are 1. move
to pole, 2. move across meridian 180 deg, 3. move from pole back to
object) If you wish to stop the GEM flip move, then you will
have to cancel each slew in turn.
8. Added a new menu option to
change the site coordinates, under the file section.
9. Added a
new menu option to change the AutoGEMFlip, under the motors
section.
10. Added new menu options under the handpad section to
simulate the mode switch flip to the left and to the right. Now
you can activate whatever function you wish, such as an analysis
point, or turn on/off guiding, based on the handpad mode that you are
in, without recourse to the handpad.
11. Added new encoder type:
LM629Serial for the new motor control option to operate servo motors
via LM629 chip. Encoders are read from the microcontroller that
is interfacing with the LM629.
12. Added new motor control type of
4 for LM629 servo motor interface. These commands are sent
serially to an intermediate controller that handles the interfacing
to the LM6290 chip.
13. Added new menu item that steps through
each microstep of every winding, recording encoder values at each
microstep. Readings are saved to a file called TRENC.TXT.
By attaching a precision encoder to the stepper motor output shaft, a
series of values can be obtained displaying smoothness of motor
rotation. Look for track encoders under the menu section move.
Version compiled Jan 23, 2001:
1. Fixed microstep
display so that the microstep number displayed always is the same as
the PWM[number] to adjust.
2. Changed the QSC (quarter step
correction) so that it is tied to this displayed microstep number or
PWM[number].
3. Put sound back in as an option when at microstep
number zero.
4. In AutoMsParms menu option, hitting two enter keys
in a row will cause default values of 30 PWM/tick and 50% current
usage to be adopted. Before this fix, the program could lock up
if entering no values.
Version compiled Jan 22, 2001:
1. Fixed bug with field
rotation motor when tracking turned on and direction is
counterclockwise and reverse FR motor is off, it would suddenly start
moving rapidly.
2. Added new menu option in the coordinate section
to change the home altazimuth coordinates.
Version compiled Jan 18, 2001:
1. Added new motor
control method of 3: MotorControl_CFH_Serial; a serial control method
developed by Charlie Habekost (Charlie@perioking.com).
Version compiled Jan 16, 2001:
1. Changed the equatorial
initialization for southern hemisphere (indicated by a negative
LatitudeDeg.in config.dat) so that the alignment is to the southern
pole.
2. Code now checks for inappropriate DomeAzimuth and AirMass
values. Prevents some math domain errors from appearing on the
screen.
3. Added messages to init encoders and reset encoders menu
options.
Version compiled Jan 4, 2001:
1. Fixed some bad function
pointer initializations for the 'serial Dan Gray' motor control
method.
Version compiled Dec 28, 2000:
1. Fixed program startup
parallel port bi directional port output state so that the control
pins 1, 14, 16, and 17 will start at their logical low states.
2. Added focus motor control. Several methods of controlling
focusing are available:
a. Connecting parallel port pins 16 and 17
to a pair of relays to control a small DC motor for focusing.
Pin 16 focuses 'out' and pin 17 focuses 'in'. This can be
operated with the field rotator concurrently.
b. As above in
option 3, with the addition of parallel port pins 1 and 14 for slow
speed control. Field rotation is disabled with this option. c.
Using the field rotation motor control circuit with a small stepper
motor for focusing. This uses parallel port pins 1 and 14 for
pulse and direction.
d. Adding a second MC3479 bipolar stepper
control circuit with a small stepper motor for focusing.
This uses parallel port pins 16 and 17 for pulse and direction.
Both the field rotation and focus motors can be operated
simultaneously. Along with the altitude/declination and
azimuth/hour angle motors, this means that four motors are controlled
at the same time.
If a stepper motor is used, the focus position is kept track of by virtue of counting the stepper pulses. Particular focus positions can be returned to.
In addition, several menu items were added for focus control. Also, the status display has been rearranged to make room for the focus displays. Focus position is now displayed along with: field rotation motor command, auxiliary control, and focus motor commands.
New variables added to config.dat (see the configuration page for
further information on these variables):
[*** focus section
***]
FocusMethod 2
ReverseFocusMotor 0
FocusFastStepsSec
500
FocusSlowStepsSec 100
FocusPosition 200
3. Made a minor change to parallel port pin assignments for auxiliary control and number of mouse clicks to trigger an event for consistency's sake. They now look like:
A motor CW = handpad up = mouse up (1 click) = aux 1 = mouse focus slow plus = LX200 focus out A motor CCW = handpad down = mouse down (2 clicks) = aux 14 = mouse focus slow minus = LX200 focus in Z motor CW = handpad CW = mouse right (3 clicks)= aux 16 = mouse focus fast plus = LX200 focus out Z motor CCW = handpad CCW = mouse left (4 clicks) = aux 17 = mouse focus fast minus = LX200 focus in handpad CW + MsSpeed = handpad focus slow plus handpad CCW + MsSpeed = handpad focus slow minus pport pin 1 = field rotation pulse or focus pulse pport pin 14 = field rotation direction or focus direction, on = CW = out = plus pport pin 16 = focus pulse pport pin 17 = focus direction, on = CW = out = plus
4. Added new display field showing the rate of field rotation in
degrees per minute. The 5 fields underneath "FieldRot"
are labeled: 'A' for field rotation angle, 'R' for rate of field
rotation change, 'M' for field rotation motor angle, 'M' again for
field rotation motor step position and reset count, and 'G' for
handpad buttons rotated guide angle.
5. Added new display field
showing airmass calculation. This is calculated from the
current equatorial coordinates, latitude and longitude, so it is
accurate for equatorial as well as altazimuth mounted telescopes.
6.
Added new display field, DomeAzimuth, based on current equatorial
coordinates. If you have a standalone dome control system, this
allows one to remotely rotate the dome to the proper position.
7.
Changed behavior of encoders so that they are turned off during
slews. The LX200 port remains open to report updated positions
during IRQ8 method slews.
8. Removed unused tests from the
program: TestVideo, TestAtimes, TestMouse, TestConversion,
TestAltOffset, TestZ1Z2, TestIACA. The TestEncoders is
also removed as the raw enconder counts are already displayed in the
main program.
9. Removed from config.dat's TestString option and
added as new menu option: TestParallelPort is removed from the
config.dat file and added as a menu option.
10. TestHandpad
removed as the new menu option test parallel port and the handpad
display provide the necessary testing.
11. A change in adjusting
the PWM spacings- Also removed from config.dat's
TestString options are Track and Track2Motors. The menu option
Track2Motors has been changed to allow individual entries in
microsteps per second and acceleration microsteps per timer tick.
Once the values are entered, the program continues rotating the
motors at the appropriate rate until 't' for track-off is hit.
To adjust the PWM spacings and play with other microstepping
paramters, you enter '0' for steps per second, then switch over to
the menu option to adjust the microstepping parms. Here you can
hit the '-' and '+' keys to retreat or advance a single microstep,
along with changing other microstepping parms. Hitting 'q'
quits from this, and hitting 't' stops the motors.
Version compiled Dec 3, 2000:
1. Added parallel port
pins 1, 14, 16 and 17 to the parallel port test.
2. Fixed bug in
handpad auxiliary control mode: when a button was released, the pin
would remain at logical high.
3. Moved read_slew and write_slew
menu options from the control section to the file section.
4.
Created new menu category called Motors and moved motor control
functions to this.
5. Added ability to move the field rotation
motor via the handpaddle while scope continues to track.
Before, tracking would cease during a move of the field rotation
motor when commanded by the handpad.
6. Changed FR steps display
under the field rotation display to show the clockwise minus
counterclockwise steps. Before, both numbers were displayed.
Version compiled Nov 6, 2000:
1. Added Sky Commander
encoder interface. Needs v3.38 or higher.
2. Added control
of single pulse and direction stepper motors. Altitude or
declination pulse is parallel port pin 2, direction is pin 3, azimuth
or right ascension pulse is pin 4, and direction is pin 5.
Field rotation single pulse and direction remains the same. Set
the fullstep size in config.dat to the step size of the motor.
InvertOutput works. This allows control via many types of motor
controller boards, including bipolar and servo motors.
3. Changed
mouse interface of scope motors to clicks (sweeping hand motions away
from monitor was not 100% accurate): right clicks control the mode,
where a single right click is menu control, 2 quick right clicks is
halfsteps, 3 quick right clicks is microsteps, and 4 quick right
clicks is auxiliary control. When halfstep, microstep, or aux
control, the left button controls the direction and duration.
Pressing once and continuing to hold down the left button will move
the scope 'up', same as the up button on the hand paddle.
Clicking twice rapidly and holding the left button down on the second
click will cause 'right'. Three clicks and holding the button
down on the 3rd click will cause a 'down' action. Four clicks
and holding the button down will cause a 'left' action. The
action will continue until the left button is released.
4. Added
LX200 commands in order to get ACP (astronomer's control panel LX200
control to work): GG for get timezone, GF and GVF for get field
(returns 100), TQ for time quartz (ignored), Sy GPDCO sets the ‘type'
string for the FIND operation (ignored), Gq for get minimum quality
of the find operation, Sq for setting of minimum quality of the find
operation, Sh to set the current higher limit (value ignored), Sb =
set brighter magnitude limit for find operation (value ignored), Sf =
set fainter magnitude limit for find operation (value ignored), Sl =
sets the larger size limit for the FIND operation (value ignored), Ss
= sets the smaller size limit for the FIND operation (value ignored),
Lo = load object catalog from library (ignored), Ls = load star
catalog from library (ignored), Sw = ???, B+ B- B0 B1 B2 B3 = reticle
brightness commands (ignored), SF = sets field (value ignored), GM GN
GO GP get site info ("SCP" returned), LI = return
object info (ignored), W1 through W4 = set site number (ignored), St
= set latitude (ignored), Sg = set longitude (ignored), Gr added to
GR for Get Right Ascension, Gd added to GD for Get Declination, SG =
set GMT offset (ignored), SM SN SO SP = set site number (ignored).
Version compiled Oct 12, 2000:
1. Fixed just introduced
bug with reading negative declinations from files.
2. Changed PEC
display when synch point occurs so that the errors are highlighted
and stay on the screen until the next synch time.
Version compiled Oct 11, 2000:
1. Path to Project
Pluto's Guide planetarium program was fixed at c:\guide Now it is set
by the config.dat variable, InterfacePath..
2. Fixed mouse cursor
disappearance when returning from DOS programs inside scope.exe.
3.
When commanding a move via mouse, the mouse cursor is reset to the
middle of the screen upon a mouse button press. This solves the
problem of the mouse cursor wandering to one side of the screen while
the user is at the eyepiece, leaving no room left for movement in
that direction.
Version compiled Oct 10, 2000:
1. Fixed scroll commands:
data_file and move_file: the file name was not being
processed.
2.Added new config.dat variable: StartingHandPadMode.
Sets handpad mode at program startup. Use a number based on the
sequence of handpad modes, where 0 is 'off' and 2 is 'init 1 on' and
12 is 'scrolltour'.
3. Changed color of PEC synch index
discrepancy from display color to current color in order to make
these error values stand out better.
4. Added prompting of
individual PEC files to average. Before, all PECALTxx.TXT and
PECAZxx.TXT files were averaged, now, you select which files to
average.
5. Added command line option to load scroll file.
Use the -x <filename> syntax, ie, scope.exe -x veil.scr.
Since repeated actions like startup sequences can be put into scroll
files for easier use, this allows a startup scroll file to autoload
without having to select it from the menu system.
6. Added
capability to understand that declinations starting with -0 should be
negative while reading files.
7. Changed behavior when attempting
to move beyond altitude and azimuth limits when in grand tour or
scroll modes. Before, a message would appear requiring a
keystroke to clear, now, two warning beeps are played, while a
message is displayed briefly, then program execution continues.
If doing a grand tour or scroll tour at the eyepiece, if you attempt
a move beyond the limits, you can now move to the next object in the
usual manner after the warning beeps.
8. Added mouse control.
Wireless operation at the eyepiece is now possible. A wireless
mouse can substitute for both the handpaddle and a motorized focuser
controller.
Use the mouse's right button to set the
mouse mode: move the mouse in different directions while holding down
the right button, then release the button. Moving the mouse upward
puts the mouse in menu mode. Here you can operate the
software's menus with the expected point and click operation.
Moving
the mouse to the right puts the mouse in microstep mode.
Moving
the mouse to the bottom puts the mouse in halfstep mode.
Moving
the mouse to the left puts the mouse in auxiliary mode.When the mouse
mode is microstep, halfstep, or auxiliary mode, using the left button
will turn on the appropriate motor until the left button is
released.
To move, hold down the left button and move the mouse in
the direction you wish the scope or auxiliary device to operate in,
keeping the button pressed until you wish the motor motion to
stop.
As with the handpad's auxiliary mode, the up direction
controls parallel port pin 1, the down direction pin 14, the right or
CW direction pin 17, and the left or CCW direction, pin 16.
Version compiled Sept 16, 2000:
1. Fixed scroll display:
the current scroll command and scroll position counter would
disappear from the screen.
2. Added coordinates update and display
during microstepping, including the jumbo display.
3. Added LX200
commands during microstepping. Now the external controlling
program can watch scope.exe microstep.
4. Fixed test function
'Track': recently introduced bug would cause program to crash if
encoders enabled.
Version compiled Sept 14, 2000:
1. Fixed bug in slewing
with IRQ8 method that afflicted some SX computers.
Specifically, the interrupt routine locked up when making floating
point calls. These calls have been removed to outside the
routine.
2. Changed behavior of LX200 synch command to reset the
current scope coordinates to the inputted lx200 coordinates.
Before, the coordinates would be transferred only to the input
fields, requiring an extra step at the scope.exe menu to reset to
current.
3. Changed slewing IRQ8 routine to allow LX200 commands
during slew. This means that the external controlling computer
can now receive position updates as the slew progresses, and can
start and stop slews as desired. Previously, no updates were
returned, and any open ended slew commanded would slew a
predetermined distance, as indicated by the LX200SlewHs variable in
config.dat.
4. Changed LX200 read behavior so that a command will
be marked incomplete if no further data received in 1 second.
Before, command would have been marked incomplete if no further data
received in 55 milliseconds.
5. Changed LX200 read behavior so
that no command is acted upon until LX200 port is quiet for 55
milliseconds. Before, the function had no time check, and it
relied on a higher level controlling function waiting a suitable time
period before calling it again.
6. Per Chris Rowland, added LX200
check during scrolling. This gives the external controlling
program the ability to watch the scroll file in action.
Version compiled Sept 11, 2000:
1. Made jumbo RA/Dec
display update during slewing, if using IRQ8 method.
2. Separated
into two menu items (separate menu item for each axis) the guiding
efforts into PEC menu item.
Version compiled Sept 5, 2000:
1. Added Com3 (IRQ4) and
Com4 (IRQ3) to the allowable com ports for the encoders and for the
LX200 command port.
2. Fixed display bug where winding 'a' through
'd' and microstep number in the winding would display incorrectly for
negative values of accumulated microsteps.
3. Fixed bug in quarter
step corrections routine for negative values of accumulated
microsteps.
4. Rearranged the sequential task controller for
faster updates.
5. Added encoder updates when slewing with IRQ8
method of timing the halfsteps.
6. In the PMC calculation
function, changed the algorithm so that closer analysis points get
even more weight than before.
7. Per Chris Rowland, added new
scroll commands:
initialize position 3: written
as 3,
initialize position 3 using input
equatorial fields: written as 3i,
turn off
auto scrolling: written as auto_scroll_off,
prompts for input equatorial coordinates: written as set_equat,
prompts for input altazimuth coordinates: written as set_altaz,
resets to input equatorial coordinates: written as reset_equat,
resets to input altazimuth coordinates: written as reset_altaz,
resets to home coordinates: written as reset_home,
prompts for an object in the specified data file: written as
data_file,
prompts for an object in the
specified data file and moves to it: written as move_file,
displays a prompt on the screen: written as prompt.
Version compiled 8/25/00:
1. Fixed field rotation motor
pulsing for more evenly spaced steps (motor could oscillate back and
forth in certain situations).
2. Fixed just introduced bug where
slewing with encoders caused machine to lock up.
Version compiled 8/23/00:
1. Changed field rotation
motor function calls so that the microstep tracking function controls
the motor: it calls the calculation functions and at the end of every
PWM, checks for FR motor output.
2. Added check for LX200 events
while scrolling.
3. Added new variable to config.dat in the
microstepping section: AvgPWMRepsTickOnFlag . if 1, then
auto-averaging of the PWMRepsTick will occur, based on the actual
number of PWM repetitions per timer tick as averaged over 3.5
seconds; if 0, then the PWMRepsTick value as entered in the
config.dat file will be used..
4. Added enhanced color to the data
file/object name/ scroll # area on the screen. These now
display in 'current' colors, the same as the current coordinates.
Version compiled 8/15/00:
1. Added new initialization
menu items under the init section. These init1, init2, and
init3 menu options duplicate the handpaddle init1, init2, and init3.
The old menu options to manually enter the inits (you manually enter
altitude, azimuth, RA, Dec, and sidereal time) continue to exist.
2.
Program now updates PWMRepsTick on the fly, based on the average
number of PWM repetitions per timer tick over several (3.5) seconds.
The PWM display area shows the actual PWM count in real time, along
with the current average PWMRepsTick. Minimum value that the
average PWM reps per tick can take is 9.
3. Added time check to
force wait of SerialWriteDelayMs (variable in milliseconds from the
config.dat under the encoder section) between encoder query and read
while microstepping. Before, the wait was always one timer tick
(55 milliseconds).
4. Changed name of track menu option to 2 motor
track, since both motors track at constant rate. TestString
name in config.dat continues to be "track".
5.
TestString name in config.dat of 2 motor track where motors have
independent tracking rates changed to Track2Motors2Rates.
6. Added
code so that the sidereal time increments during the interrupt method
of slewing.
7. Changed priorities of tasks such that the encoders
get the highest priority (still read once a second), then coordinates
displays (twice per second), then remaining tasks and displays.
8.
Added encoder count display to the 2 motor track.
9. Added new
configuration variable: EncoderBaudRate. Most encoder interface
boxes are 9600 baud, but some are 2400 baud, and newer ones may be
faster. This allows scope.exe to work with those slower
boxes.
10. Added new menu option: auto Ms parms, under the control
section. Here, you input the desired PWM repetitions per timer
tick, and the percentage of current draw you wish going to the
motors, and the program will do its best to settle in on the
appropriate MsDelayX and MsPause values. Values are updated
every 3 seconds, so allow a few seconds for the program to reach the
best numbers. Desirable PWM reps per tick range from the lowest
suggested of 10, to the best range of 30 to 100, with 200 as highest
suggested. Percent of current draw should be minimized so that
only the current required to microstep track is actually pulled from
the power source. For instance, with 6 volt motors and a 12
volt supply, current % should be no more than 50, and can often be
20%. In combination with the new auto PWM reps tick averaging,
this should speed up configuring the microstepping parms.
11.
Added ability to display and select directories in the data file menu
selection. Now you can divide your data files into
subdirectories for easier organization and select the files from the
various subdirectories. At the end of the data file selection,
the starting working directory is restored.
Version compiled 7/28/00:
1. Added check for altitude
and azimuth full step sizes - they should be greater than zero.
Otherwise a video error message may appear.
2. Added time check
to make sure that encoder reads occur immediately after the encoder
query.
3. Added check for zero backlash speed if backlash values
are present in config.dat.
4. Added backlash speed to the
parameters that can be changed online in the menu option: control /
backlash.
5. Added new menu option to reverse the motor
directions: control / reverse_motors.
6. Added config.dat
variable that controls the style of halfstep ramping: 0 if the old
simple style, 1 if the new 'S' shaped style (starts slow, fast in the
middle, slow near the end of the ramp).
7. Fixed bug that caused
errant menu option to pop up when exiting scroll file with certain
keystrokes.
Version compiled 7/18/00:
1. Changed the calculation of
encoder counts into coordinates: when bringing values to within
range, 360 degrees are added or subtracted.
2. Added focus
commands to the LX200 supported command list. Focus out and
focus in will control parallel port bidirectional lines pins 16 and
17 respectively. At this time only a simple on/off toggle of
the control lines is supported.
3. Fixed bug in microstepping
routine that affected the altitude/declination motor. The
symptom was a non-moving motor.
Version compiled 7/7/00:
1. Changed the
calculation of encoder counts into coordinates so that the range is
between -180 and 180 degrees. The range was between -90 and
90. This is how the program acted before adding the GEM flip
condition, where the range continues to be from -360 to 360.
2.
Added command line option to specify the configuration file.
Use the format: scope.exe -c
myconfig.dat, where myconfig.dat can be any file name in any drive or
subdirectory, ie, c:\scope\scope.exe -c
d:\download\cfg.new.
3. Enhanced the 1 track motor function (this
function moves both motors at 1 rate) by adding three commands: + -
d. The + and - moves up or down a single microstep. So,
now you can input a speed of 0, and use the plus and minus keys to
navigate through the microsteps, tuning each microstep as you go.
The d key doubles the microsteps, interpolating the new values.
This leads to a faster way to tune the microsteps. Start with 4
microsteps, and values of 100:0, 100:60, 100:100, 60:100 for the 4
microsteps. Using the +- keys to stop at each microstep step,
use the cursors keys as before to tune the step. Now hit the d
key to double the microsteps, and tune up the four newly created
inbetween microsteps. Hit the d key again, and tune up the
inbetween microsteps to arrive at 16 steps. Go through the
process once more to arrive at 32 microsteps per fullstep.
Version compiled 6/27/00:
1. Changed the ramp profile so
that the slow down in ramp up speed as fastest speed is approached is
not quite so dramatic.
2. Moved the EC and QSC values on the
screen a tiny bit so that they display cleaner.
3. Found an error
in the new AZAZEC routine, where the corrective value was not being
backed out properly when switching between raw scope and true scope
pointing values.
4. Added ramping distance to altitude and
azimuth software limits. So, the scope will start to ramp down
as a limit is approached, so that the scope finishes the ramp down as
the limit is reached. Previously, the ramp down was started
when the limit was reached.
Version compiled 6/22/00:
1. Changed the ramp profile to
start slower and creep up to final highest speed slower, with a
faster speed in the middle.
2. Moved menu items around: track 1
motor, track on/off, and field rotation track on/off, all from the
'control' section to the 'move' section, since these menu items
properly involve motion of the telescope.
3. Renamed main menu
section 'PEC' to 'EC', which stands for Error Correction, to
encompass more than Periodic Error Correction routines.
4. Moved
Error Correcting menu items from 'Init' section to the newly renamed
'EC' section. This separates the initializations and its axis
alignments from the EC routines.
5. Added new menu option to
enable/disable the Declination motor microstepping. This is
under the control section.
6. Added new config.dat variable,
StartInitState. This controls the startup state of the
initializations. It operates exactly as the query at program
startup: 0 means ask user per traditional menu options, 1 means adopt
equatorial alignment, 2 means adopt altazimuth alignment, 3 means
adopt no alignment at all, and 4 means to reuse last alignment.
Any other option than 0 means that you will not be queried.
This is a config.dat replacement for the query menu at startup time.
Use it if your answer to the opening query is always the same.
Default is 0, to query the user.
7. Added new Error
Correcting function: AZAZEC, or AZimuth vs AZimuth Error Correction.
This is an azimuth correction based on azimuth. Best used for
azimuth gear eccentricity and similar errors, it should not be used
for azimuth errors of tilt that increase with altitude. Use the
Z1Z2Z3 group of tilt corrections instead. The new variable
UseAzAzECFlag is used in the config.dat to turn on the EC at program
startup, exactly as ALTALTEC and ALTAZEC. The file AZAZEC.DAT
holds the corrective values.
8. Added new scroll command:
auto_scroll_alert_off. This turns off the pause and beep that
occurs when moving to the next scroll entry while in auto scrolling
mode. This will facitate seemless auto scrolling for instance,
while tracking satellites.
Version compiled 6/5/00:
1. Enhanced HSC
(HalfStepCorrection) to QSC (QuarterStepCorrection). To have
the program auto-generate values of zero, add the following line to
the config.dat file, then save config.dat when closing the program:
QSC_a0 0 : 0
Version compiled 5/30/00:
1. Added halfstep
corrections (HSC). This corrects for physical variations in the
stepper motors causing the sequence of 8 halfsteps across the 4
windings to vary in size. Keep in mind that standard PEC
compensates for fullstep variation, so the PEC will need to be redone
when first adopting HSC. Corrective values are entered in
decimal fullsteps, ie, 0.2 means that the motor moves 0.2 fullstep
too far. Here's an example of how to make the entries in the
config.dat file, showing a corrective action in the
altitude/declination motor, and no corrective action in the
azimuth/right ascension motor (HSC stands for HalfStepCorrection, the
'a' through 'd' stands for the winding, and the additional '2' stands
for the halfstep inbetween):
HSC_a 0.00 : 0.00
HSC_a2 0.00 :
0.00
HSC_b 0.10 : 0.00
HSC_b2 0.20 : 0.00
HSC_c
0.20 : 0.00
HSC_c2 0.10 : 0.00
HSC_d 0.00 : 0.00
HSC_d2
0.00 : 0.00
2. Fixed an issue with the offset
coordinates in declination and altitude.
3. Fixed a typo in an
altitude error correction routine.
4. Added new menu option
to save the config.dat file.
5. Added new menu option to
move the motors such that the PEC indices are zero.
6. Fixed
display bug with PEC values when PEC is turned on after being turned
off, and tracking is off.
7. Added display of PEC index
discrepancy during PEC synchronization. If the synch point
occurs as expected, the displayed number will be zero. If it
occurs late while moving clockwise, the number will be positive.
When a synch point occurs, a "A:xxx" and or a "Z:yyy"
will appear, with the xxx and the yyy being the discrepancy.
8.
Added display of scroll file entries and current entry number that is
being executed. This display is just after the scroll file name
on the screen.
9. Added new scroll file command: msarcsecsec.
This adjusts the microstepping speed..
10. Added new scroll file
command: move_zero_pec. This moves the scope so that the pec
indeces are zeroed out.
Version compiled 5/23/00:
1. Fixed an issue in the
scroll file scripting where the stepper motor rotors were not always
being centered on a winding before halfstepping or other scroll
commands were acted on.
2. Microstepping motor status now
displays at program startup.
3. Fixed problem where error
corrections at startup would cause current coordinates and PEC
indexes to creep as program was started and stopped repeatedly.
There may be some residual creepage at the arcsecond level if
corrective values are very large.
4. Moved PEC offset values
to config.dat.
5. Moved encoder offset values to config.dat.
6. Moved initializations from align.dat file to config.dat.
7.
Moved current altitude and azimuth values from current.dat to
config.dat.
8. Changed TurnOnPECAtStartup to PECFlag in
config.dat.
9. Changed TurnOnAltAzECAtStartup to UseAltAltECFlag
in config.dat.
10. Changed TurnOnAltAltECAtStartup to
UseAltAzECFlag in config.dat.
11. Changed TurnOnPMCAtStartup to
PointingModelFlag in config.dat.
12. Added AccumMs.A and
AccumMs.Z to config.dat. These are the scope's altazimuth
coordinates in accumulated microsteps. The telescope's
starting position is taken from these, not from Current.Alt and
Current.Az. Calculate the current altazimuth coordinates in
degrees by multiplying the accumulated microsteps * the microstep
size (which is fullstep size divided by number of microsteps).
Version compiled 5/18/00:
1. Added two more commands to
the scroll file: 1i and 2i, which are init #1 and init #2 using
whatever coordinates are assigned at that moment to the input
equatorial fields. For example, after a long slew, some
mechanical systems show slippage such that the object may or may not
be centered; here's an example of how to center a messier object by
first moving to the object's vicinity, then moving to the closest
bright star, then after you center the star and init on it, you move
back to the messier object
f1 messier.dat
f1 bstars.dat
2i
f1 messier.dat
2. Added new config.dat variable called MsHsToggleIncrMsPerPWM. While microstepping, the routine will switch into halfstep mode if necessary. This is toggled when the number of microsteps per each PWM repetition exceeds MsHsToggleIncrMsPerPWM. For instance, if the PMW repetitions per timer tick is 50, and if MsHsToggleIncrMsPerPWM is 5, and you ask the program to track at more than 250 (50*5) microsteps per PWM, then the routine will toggle to halfstep movement. Max speed is still the # of microsteps per fullstep divided by 2, equivalent to halfstepping. In this example of 20 microsteps per fullstep, the max speed is 20/2 or 10 microsteps per PWM, or 500 (50*10) microsteps per PWM. Overall speed in any case is still limited by MaxIncrMsPerPWM.
Version compiled 5/16/00:
1. Fixed it so that the
scrolling can be initiated by the handpaddle even if init #2 has not
yet been accomplished.
Version compiled 5/15/00:
1. Display of file name and
object name restricted to 22 characters.
2. Added new
scrollfile command: auto_scroll. When this command is executed
from the loaded scroll file, all scroll commands will be executed
automatically in turn, that is, no leftkey or 'l' from the keyboard
will be necessary to move onto the next scroll command. Only a
keypress while the scroll file is executing can stop the scroll file.
3. Added new config.dat variable that determines if the
handpadle's drift updating at the end of a guiding session is on or
off. Drift is calculated based on accumulated guiding
corrections over the session and then automatically adopted.
4. Added new config.dat variables that set the starting drift in
altitude, azimuth, right ascension, and declination.
5. Fixed bug
that allowed the scroll display to have different colors .
6.
Added an option to the absolute and offset altazimuth moves so that a
number of 9999 means no movement in that axis, ie, off_altaz 1 9999
10 means to move up 1 degree in altitude, leave azimuth untouched,
and make the move in altitude over 10 seconds using smooth
microstepping.
Version compiled 5/12/00:
1. Removed the requirement
that both initializations had to be done before a scroll file can be
started.
2. Removed the forcing on of tracking when a scroll file
starts. Now tracking control is up to the user: either start
tracking before running the scroll file, or use the new trackon
command inside the scroll file.
3. Added new commands to the
scroll file: absolute altazimuth move, offset altazimuth move,
altitude offset correction, trackon, and trackoff. For details
on how these new commands work, see the operating scroll files page.
Version compiled 5/10/00:
1. Fixed problem with analysis
action in scroll file, and added display of scroll actions and scroll
notes in real time as scroll file unfolds.
Version compiled 5/9/00:
1. Increased object name size
to 23 characters from 20.
2. Turned on the handpaddle
directional buttons while in scroll mode. Both microstep and
halfstep moves are enabled.
Version compiled 5/8/00:
1. Resolved an issue between
scope.exe and encoder interfaces when the GEM flip is 'on and
declination goes negative.
2. Fixed bug where MaxIncrMsPerPWM
could not be incremented in the menu option to adjust microstep
parameters.
3. Added time/date stamp to input.dat file writes.
It comes at the end of the line after the object name/ comment entry.
Version compiled 5/2/00:
1. Changed the
microstepping routine so that the first microstep is executed
immediately. In combination with a PWM setting that is the same
or below the actual PWMs, this ensures that all microsteps scheduled
for each timer tick will be executed in that timer tick period.
2.
Added error checking to the input_comment menu option. Now you
are forced to limit your comment to 19 characters, and the 'escape'
key will abort the data entry.
3. Added MaxIncrMsPerPWM back into
config.dat. This sets the maximum microstepping speed.
This is the microstep increment per Pulse Width Modulation. For
instance, if you set it to 1, then your max microstepping speed will
be the PWMRepsTick * 18 (ticks per second). The max value that
you can set it to will be the number of microsteps in a halfstep,
because the fastest the microstepping routine can work at is one
halfstep per PWM. (At the number of microsteps divided by 4,
the routine switches from microstepping per each PWM to halfstepping
per each PWM).
4. Fixed bug in PWMZ[] code (the loading of the
optional PWMZ[] values from config.dat).
Version compiled 4/28/00:
1. Added Gc command to LX200
command pool - returns the clock format, in scope.exe's case, always
(24)# .
2. Added code to stop repeated slewing when LX200 slew
direction command received.
3. Added variable to config.dat:
MsPowerDownSec. This is the number of seconds an idle motor
will remain powered when centered on a winding and microstepping is
occuring. Default is 5 seconds.
4. Change sound in 'track 1
motor' option to only occur during the first microstep. Before
it would sound a scale based on the microstep #.
5. Added save of
PEC orientation if PEC is active at program shutdown time. PEC
orientation (actually the PEC offsets to the synchronization point)
is stored in PECOFF.DAT. PEC orientation will be recovered if
TurnOnPECAtStartup is on in config.dat. If PEC is not active at
program shutdown, TurnOnPECAtStartup will be turned off if the
config.dat file is saved during progrm shutdown.
6. Added the
ability during microstepping motion to switch to smooth halfstepping
when the microstepping can no longer keep up. This happens when
the microstepping change between PWMs is greater than 1/4 fullstep,
ie, 5 microsteps when using 20 microsteps per fullstep. The
other motor will continue to microstep if possible. This
extends the highest speed for tracking and other smooth motions from
2x to 4x over the previous highest microstepping speed, enabling many
systems to track within 0.3 degree of the zenith. Maximum speed
is one halfstep per PWM, so if the actual PWM count per timer tick is
50, then max speed (knowing that there are 18.2 timer ticks per
second) is 910 halfsteps per second.
7. Thanks to Chris Rowland
for supplying the source code to add optional PWMs for the 'Z' motor.
Enter these like the PWM[] values into the config.dat file, but use
the identifier ' PWMZ[] '. To tune PWMZ[] values, swap the 'Z'
motor cable into the 'A' motor slot, put the PWMZ[] values into the
PWM[] fields, and tune per usual. Then move the PWM values to PWMZ[]
and swap back the cabling to the correct position. Now tune the
PWM[] values for the 'A' motor.
8. Added display of
microstepping, updated every timer tick (18 times per second).
The display consists of:
a. steps moved in altitude and
azimuth,
b. the winding (from 'a' to 'd') and microstep for
both motors,
c. then 3 digits together: the first two
digits indicate if the altitude or azimuth axis respectively has gone
to using halfsteps in the microstepping routine, and the last digit
indicates the power down situation - 0 for none, 1 for altitude motor
powered down, 2 for azimuth motor powered down, and 3 for both motors
powered down.
9. Fixed recently introduced bug that caused slews
to fail when tracking was on. This first showed up with
external LX200 commanded slews.
10. LX200 guiding commands used
to only function after program via handpaddle was put into a guiding
mode. Now, upon first LX200 guide command, program is
automatically put into guiding mode if necessary. Selecting any
other LX200 speed setting (center, find, or slew) will turn off guide
mode.
11. Moved init encoders from the 'init' menu to the 'reset'
menu section. Originally 'init' menu section encompassed
anything to do with initalizing anything. It gradually came to
mean anything to do with only the 2-3 star initialization and
analysis.
12. Added new menu option in the 'init' menu section to
add an analysis data point via the return key. The program
functions nicely as an encoder interface and data file program,
including the ability to analyze pointing errors via the encoders.
However, without the handpaddle, it was impossible to add an analysis
point until now.
13. Added ability to add commentary to the
input.dat file via a new menu item under 'file' called
'input_comment'. The input coordinates displayed will be
written along with the commentary. The comment will be saved to
the log file at program exit if desired.
14. Added empty
code so that when a motor is powered down, the other motor will
maintain as much as possible the same PWM conditions as when both
motors are powered. Before, when a motor was powered down, the
PWMs could speed up a tiny bit
Version compiled 4/17/00:
1. Added acceleration
parameter to track one motor option (a good value to try is 0.1).
2.
Added new test routine to halfstep using the microstepping PWM delay
values (this also includes acceleration variable, try values like
0.001).
3. Enhanced the pwm.txt file.
4. Removed the
option to stop the pulse width modulations on the timer tick.
There is no more EndPWMAtTimerTick.
5. Also removed
MotorPowerDownOnWinding. The motor will power down after 1
second if centered on a winding.
6. Changed the PWM[] values such
that they may now consist of two values, shown as follows in the
config.dat file:
PWM[0] 100 : 0
The first value
indicates the winding 'a' current, and the second value gives the
winding 'b' current. This gives the user the ability to tune
all microsteps independently of each other. In the past, the
last microstep was the inversion of the first microstep.
This meant that tuning the first microstep also set the spacing for
the last microstep. Now they are tunable individually.
No
change need be made to currently in use config.dat files. The
old values will continue to work as they always have, and as soon as
the config.dat file is saved at program exit, the expanded values
will be written. It will be necessary to accomplish this step
before being able to adjust both winding values for each microstep in
the menu option control / MS parms, and in the menu option control /
1 motor track.
Version compiled 4/11/00:
1. Added status update
options: the usual realtime status updates as always, jumbo display
of Ra, Dec only, and no updating at all. Find the new status
update menu option under control / screen.
2. Added option of
auto PEC synchronization on a simultaneous triggering of 3 parallel
port pins: 10, 12, and 13. This option should be entered in the
config.dat file as 101213. Be careful to not simulate the
10+12+13 by any of the following hand paddle key presses: UpKey +
DownKey + CCWKey, or CCWKey + CWKey, or UpKey + RightKey, or DownKey
+ LeftKey
3. Added menu option to make the next grand tour
object closest to the current equatorial coordinates. This
allows a grand tour to resume from where it was aborted, or allows a
grand tour over a large area of sky to start from the closest
object. Find the menu option under file / closest GT.
Version compiled 4/3/00:
1. Fixed startup display of
Current altazimuth coordinates when PMC at startup is on.
2.
Added GEM flip movement via motors. This is experimental.
The move is broken into 4 parts: the move to the pole, the move
across the meridian, the move away from the pole, and the reset of
the coordinates. The movement will work for both hemispheres
regardless if the scope has been previously flipped.
Version compiled 3/29/00:
1. At startup, Input fields
are set to Current position fields. This is to facilitate the
situation where the scope was shutdown with GEM flip turned on.
2.
TurnOnPECAtStartup added to config.dat.
3. TurnOnALTAZECAtStartup
added to config.dat.
4. TurnOnALTALTECAtStartup added to
config.dat.
5. TurnOnPMCAtStartup added to config.dat.
6.
Added AutoAzPECPin so that the auto synchronization of both azimuth
and altitude can be set to parallel port pins 15, 16 or 17.
Version compiled 3/27/00:
1. Added option to put
altitude auto-synchronization of PEC on pin 16 instead of pin 17 (new
variable AutoAltPECPin in config.dat must be either 16 or 17: default
is 17).
2. Changed display of auto synchronization of PEC on
screen to ensure that both axis auto-synch could display
simultaneously.
3. Fixed bug where the ALTAZEC and ALTALTEC error
correction values would cause the scope to move a tiny distance every
time a reset to equatorial or equivalent occurred.
Version compiled 3/22b/00:
1. Fixed a bug when text
background is black.
Version compiled 3/21/00:
1. Added halfstep moves to
scrolling function.
2. Fixed bug when text background is
something other than black.
3. Changed query of Dave Ek's
encoders from 'q' to 'y' per Dave's change.
4.Fixed problem with
LX200 emulation receiving declination coordinates from programs that
send a character with a value of 223 for the degree delimiter instead
of '*' or ':'.
5. Added new menu option to automatically compute
the optimum values of Z1, Z2, and Z3, to minimize overall RMS error
from the analysis file.
Version compiled 3/17/2000:
1. Changed
FullstepsPerPECArray to type long from type int so that the number
can be up to 2,147,483,648. Before it could range up to
32,768. The number of data points to define the PEC array shape
remains at 200.
2. Data files can now have object names of
unlimited length, the first 14 characters will be displayed on the
screen.
3. Changed the field rotation hand paddle mode so that
the motor can be moved even if the field rotation step size is 0.
This opens up the possibility to use the field rotation portion of
the circuitry to operate a third stepper other than the field
derotator such as a focus motor or a ??? motor.
4. Added optional
save of observing log at program exit. This is a copy of the
input.dat file, and takes the form of YYMMDDa.log through
YYMMDDz.log, where YY and MM and DD are the date fields, ie,
000313a.log.
5. Extensively rearranged the analysis and PMC
routines, adding new graphical analysis routines for altitude vs
azimuth (rocker base levelness) and altitude vs altitude (tube droop,
altitude rim unevenness) error corrections. Unlike previously,
a new analysis file is to be used for each type of advanced error
correction: Z1 - axis alignment and Z2 - azimuth offset and Z3 -
altitude offset; ALTAZEC - altitude vs azimuth error correction;
ALTALTEC - altitude vs altitude error correction; and PMC - pointing
model correction. A new menu option to empty the analysis file
after correcting for a particular type of error has been added.
A new file, analysis.err is created, composed of errors calculated
from the analysis.dat file. If Z1 or Z2 is changed, then the
ALTAZEC and ALTALTEC and PMC should be redone. The ALTAZEC.DAT
file is composed of two columns: the first column being the azimuth
number in 5 degree increments, and the second column being the
altitude correction in arcseconds. The ALTALTEC.DAT is
similarly composed, except that the first column of altitude numbers
in 5 degree increments ranges from -180 to +180. The PMC.DAT
file is now composed solely of altitude, azimuth, and their
corrective values. All equatorial coordinate references have
been removed. Displays of ALTAZEC and ALTALTEC have been added
to the same line as the PEC and PMC displays. All ALTAZEC,
ALTALTEC, and PMC display values are in arcminutes. PEC
continues to be in tenths of an arcsecond.
6. Added new menu
option to select a handpad mode. Hotkey 'H' (capital H) selects
this menu option. The hotkey 'h' (lower case) continues to roll
through the handpad modes.
7. Added hotkey 'B' to begin scroll
file, and once running a scroll file, 'L' for leftkey on handpaddle,
to continue to the next scroll action (Hotkey 'S' continues to load a
scroll file).
8. Changing operation of scrolls. When
microstepping no longer possible, scope will now slew to position
(before, scope would make a series of short slews to position).
Added initialization #1 and initialization #2 to the possible scroll
actions, along with f1, f2, and f3, all which retrieve object
coordinates from a data file. In addition added analyze
command. For much more, see the operate scroll file document.
Version compiled 2/29/00:
1. Fixed bug in encoder
startup when first initializing Dave Ek's encoders.
Version compiled 2/28/00:
1. Fixed bug in initializing
Ek encoders.
2. Fixed bug where every other analysis data line was
being skipped..
3. Added menu option to turn off automatic drift
fields updating when in handpaddle guiding modes. This is
displayed as either DUon or DUoff in the handpaddle display area.
Version compiled 2/26/00:
1. Added config.dat option to
reverse the field derotator motor. Set ReverseFRMotor to 1 if
you wish this.
2. Fixed problem with sounds during 1 motor
tracking.
3. Slightly rearranged screen display.
Version compiled 2/24/00:
1. Fixed new bug in menu
option control/hsparms.
2. Fixed situation in move/hs where
entering no value by hitting the return key would cause an
undertermined number of steps to be executed.
Version compiled 2/22/00:
1. Added ability to reverse
motor direction: set ReverseAMotor and/or ReverseZMotor to 1 in
config.dat. This is equivalent to swapping windings 1 and 3.
2.
Added support for David Ek's encoder interface box.
Version compiled 2/19/00:
1. Added ability while
slewing to immediately ramp back without coming to a complete stop
2. Fixed two recent bugs in the one motor track option: sound not
recycling on microstep #1, and microsteps appearing negative in
certain situations.
3. Added new handpad mode: HandpadAux.
Here the 4 directional pushbuttons control 4 output lines, for
instance, 2 external devices, each in 2 directions. These might
include a focuser, or a dome control, or a dome or camera shutter.
Parallel port pins 1 (up button) , 14 (down button) , 16 (CCW
button), 17 (CW button) are used. If using a field derotator
(which uses pins 1 and 14), operating the other two parallel port
pins 16, and 17 will not affect derotator operation.
Version compiled 2/15/00:
1. Increased number of
permissible microsteps per fullstep to 40. This allows mounts
with 359:1 gear reducers to directly couple stepper motors to the
drive worm and achieve microstep sizes of 1/2 arcsecond.
2.
Improved the interface handling the adjusting of on-the-fly
microstepping parameter changes to a pure cursor driven design.
3.
Fixed some minor issues with the on-the-fly updating of the fullstep
sizes.
4. Fixed a long standing rounding issue with inputted
coordinates where negative declinations would lose an arcsecond.
5.
Added a new file called, Input.dat, that records all positions that
show in the inputted fields. This file starts over every
session.
6. Added menu option to locate closest object to current
position from any of the data files.
7. Added an additional menu
option to locate closest object to current position that is not the
same as the previously inputted from any of the data files.
8.
Added an additional menu option to locate closest object to current
position that is not the same as any previously inputted coordinate
(matches against input.dat file).
Version compiled 2/9/00:
1. Created new pmc.dat file to
hold the pointing model corrections.
2. Added ability to load
analysis positions into the pointing model corrections file.
3.
Fixed bug that could cause repeated slews, culminating in consecutive
slews error message.
4. Increased distance by 9x that triggers
halfstep over microstep move.
Version compiled 2/4/00:
1. Enhanced the menu option to
change the stepper motor full step sizes.
2. Added backlash
values change on the fly as a menu option.
3. Added new
menu option and hotkey to save last inputed data file object (hotkey
is 'o').
4. Changed behavior of the input routine so that a
simple return does NOT change the value anymore (it used to set the
number to zero).
Version compiled 2/2/00:
1. Fixed just introduced bug
that occasionally prevented microstepping from occurring if
MotorPowerDownOnWinding set to zero.
2. Fixed Pointing Model
Corrections bug where the corrections were being applied in the wrong
direction.
3. Fixed display bug with the PEC where negative
values caused the right most digit to remain displayed.
4. After
PMC applied, scope will now slew to corrected coordinates instead of
staying stationary.
5. Fixed bug in returning RA
values to a LX200 command port inquiry.
6. Added new LX200
commands: write date, write local time (24 hr format).
Version compiled 1/30b/00:
1. Added the writing out of
TestModule options at the end of the config.dat file if user chooses
to save the configuration upon program exit.
2. Fixed new bug
where the '1' hotkey would no longer work correctly.
3. Changed
the LX200 menu options to a single option in the control section that
allows the link to be turned on and off, and the display of commands
and buffer to be toggled off and on.
Version compiled 1/30/00:
1. Fixed just introduced bug
that occasionally caused computer lockup on first or second slew
attempt.
2. Added menu option to jump into serial terminal mode
to test LX200 protocol input and encoder interface input.
3.
Fixed bug with latest version of Bisque's TheSky where a slew request
caused my program to lockup. TheSky, unlike all other LX200
command capable programs, can send coordinates with single digit '4'
instead of '04'.
4. Fixed display bug in Track() option.
5.
Added option to save the config.dat file upon program exiting.
No copy of config.dat is made, so this must be done ahead of time if
desiring this option.
6. Added pointing model correction
accessible through mount analysis graph option..
7. Changed
algorithm when motor powered down on winding is set to true in
config.dat. Now it powers down after 5 sec of inactivity. This
gives time for the motor to settle on the winding.
Version compiled 1/24/00:
1. Added new variable to the
config.dat file called EndPWMAtTimerTick. This controls if the
timer tick which occurs 18.2 times per second should immediately end
the current pulse width modulation, or if the PWM should be allowed
to finish.
2. Made the new microstepping variables,
MaxIncrMsPerPWM and EndPWMAtTimerTick, visible in the Track option
and in the adjust microstepping control menu option.
Version compiled 1/19/00:
1. Added new control menu
option to reverse the hand paddle's up and down keys. This will be
useful for those with GEM mounts after a meridian flip.
Version compiled 1/18/00:
1. Fixed bug in field
rotation code where the step size was not initialized until the menu
option to change the step size was selected.
2. Added new
variable in config.dat to control the maximum microstepping speed:
MaxIncrMsPerPWM . This controls the number of microsteps per pulse
width modulation. Naively a single microstep per PWM would be
considered fastest speed, and this variable would be set to 1. But it
is possible to skip over microsteps in order to go faster, hence this
variable would be 2 or greater, up to the maximum of microsteps/2,
which is the equivalent of halfstepping. This variable can also be
set to less than 1.
3. Added new variable in config.dat:
MotorPowerDownOnWinding . When set to 1, it powers off steppers when
they are centered on a winding. For instance, this allows the
declination motor to power off when tracking when aligned
equatorially.
4. Changed how the end of each bios clock tick
cycle terminates the pulse width modulation. This cycle occurs 18.2
times per second. Now the PWMs are immediately terminated and the
motors set to power off condition.
5. Changed display in menu
option move halfsteps from 3 decimal places to 5. This should give
more accurate calculations of fullstep size in arcseconds.
6.
Tweaked the altitude offset routine for faster speed, and fixed bug
where an initial calculated offset of 0 caused the program to abort.
7. Fixed typo in menu item descriptions - Z1 and Z3 were
confused.
8. Addressed GEM meridian flip bugs. New algorithm
adopted where the coordinates are flipped in the lowest level get
altitude and get equatorial coordinates functions, hidden from the
user. Now, Current.Alt reflects the true altitude from the motor's
perspective, that is, an altitude reading of 100 degrees translates
to a declination of 80 when the flip is on. A new status display
shows if the GEM flip is on. The handpad up/down buttons are not
reversed while the GEM flip is on. This is for autoguiders and
cameras that are not repositioned after the flip.
Version compiled 1/10/00:
1. Changed altitude offset
algorithm back to iterative solution since altitude formula can crash
if azimuths of the two initialization points are too close.
2.
Altitude offset calculation now only done when menu item selected.
Calculation based on 2 star init only now.
3. Changed Z1 and Z2
derivation to use 3 star init only, and not to go through init
history file, calculating for each init. The latter proved not useful
because of the scatter of values.
4. Reorganized init menu
subsection.
5. Wrote new pointing model optimization instructions
and explanations.
6. Pointing error graphing now done on a single
graph instead of 5 separate ones.
7. Added ability to change
field rotation motor stepsize during program operation.
8. Added
displays of latitude error (derived latitude - latitude in the
config.dat file), longitude error, and hour angle offset in degrees.
9. Fixed abort caused by empty analysis file.
10. Added
display of current Z1, Z2, Z3 values in change Z1Z2Z3 menu option.
11. Added display of RMS error to mount pointing error graphing
menu option.
12. Analysis file no longer emptied at program
startup. It is up to the user to do this if a new analysis is wished.
eof