Scrolling


Scroll files are used to move through a series of scrolling, or 'fly-over' motions, and, are used to automate initializations, analyses, and other actions. 

A scrolling flyover motion is a smooth microstepping action. By flipping the mode switch to the left and back to center, the scope will scroll to the next position in the *.scr file, over the number of seconds shown in the *.scr record. If the switch stays in the left position, the scope will automatically move from position to position. This is best used for scans of extended objects or fields such as the Cygnus Loop, and the Andromeda Galaxy.

Scope.exe can start with a scroll file.  Use the syntax:  scope.exe -x <scrollfilename>, ie, scope.exe -x nan.scr

In addition to the handpaddle mode switch, hotkeys can also be used:

'H' to bring up hand paddle modes
'm' to switch to scroll tour
'S' to load a scroll file
'B' to begin a scroll file
'L' to continue onto the next scroll action (simulates the leftkey of the handpaddle)
'<' to simulate the leftkey of the handpaddle
'>' to simulate the rightkey of the handpadle

As of the May 12, 2000 version, it is not required to have two positions initialized before executing a scroll file, and starting a scroll file does not force tracking on anymore.  This has implications for scrolling.  For instance, some scroll actions do not make sense until the program has been initialized, or if the scope is not tracking.

In the scroll file, any line starting with a semi-colon ';' is ignored.


Here are the available commands:
absolute move to altazimuth coordinates: written as abs_altaz,
offset move to altazimuth coordinates: written as off_altaz,
absolute move to equatorial coordinates: written as a,
offset move in equatorial coordinates: written as o,
drift values in altazimuth coordinates; written as drift_altaz,
drift values in equatorial coordinates; written as drift_equat,
initialize position 1: written as 1,
initialize position 2: written as 2,
initialize position 3: written as 3,
initialize position 1 using input equatorial fields: written as 1i,
initialize position 2 using input equatorial fields: written as 2i,
initialize position 3 using input equatorial fields: written as 3i,
slew to a data file's closest object to current equatorial position: written as f1,
slew to a data file's closest object to current equatorial position that is not the same as the current equatorial position: written as f2,
slew to a data file's closest object to current equatorial position that has not been visited in the current session: written as f3,
turn tracking on: written as trackon,
turn tracking off: written as trackoff,
turn off pause and sound notification when moving to new scroll entry in auto scroll: written as auto_scroll_alert_off,
save a position for analysis: written as analyze,
calculate and remove altitude offset: written as alt_offset,
turn on auto scrolling: written as auto_scroll,
turn off auto scrolling: written as auto_scroll_off,
move motors to zero out PEC indeces, written as move_zero_pec,
saves first current equatorial coordinates, written as save1;
retrieves the first saved equatorial coordinates, written as restore1;
saves second current equatorial coordinates, written as save2;
retrieves the second saved equatorial coordinates, written as restore2;
moves to retrieved equatorial coordinates, written as move_equat;
adjust the microstepping speed, written as msarcsecsec,
set the handpad mode, written as handpad_mode,
move in halfsteps: written as hs,
new equatorial coordinates, written as new_equat,
new altazimuth coordinates, written as new_altaz,
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


Here are the commands' syntax:

Here's the format for a move to absolute altazimuth coordinates:
abs_altaz   <AltitudeInDecimalDegrees>   <AzimuthInDecimalDegrees>   <TimeForMove> <comment>
ie,
abs_altaz 45 100 0 <comment>
This will move the scope to altitude of 45 degrees, azimuth of 100 degrees.  Since the time is zero seconds, halfstep slewing will be used.  If the time to move allows for microstepping movement, then the scope will smoothly microstep over the allotted time to arrive at the appointed position.

For both absolute and offset altazimuth moves, a value of 9999 means to leave that motor untouched, ie
off_altaz 1 9999 10 <comment>
will move the scope up in altitude 1 degree over 10 seconds, leaving the azimuth motor as is

Here's the format for a move to offset altazimuth coordinates:
off_altaz   <OffsetAltitudeInDecimalDegrees>   <OffsetAzimuthInDecimalDegrees>   <TimeForMove> <comment>
ie,
off_altaz 1 1 10 <comment>
This will smoothly move the scope up in altitude 1 degree, over in azimuth 1 degree, over a time of 10 seconds.

Here's the format to enter drift values for altazimuth coordinates:
dirft_altaz   <DriftAltitudeInDecimalDegrees>   <DriftAzimuthInDecimalDegrees>   <TimeForDriftInSeconds> <comment>
ie,
drift_altaz 1 0 60 <comment>
This will enter a drift in altitude of 1 degree over a time of 1 minute (60 seconds).

Here's the format for a move to absolute equatorial coordinates:
a <RaHr> <RaMin> <RaSec> <DecDeg> <DecMin> <DecSec> <TimeForMove> <comment>
ie,
a 23 0 0 15 10 0 10 <comment>
The A indicates absolute positioning, here, the scope will scroll to 23:0:0, +15:0:0 over 10 seconds. If the telescope cannot microstep to the position over time given, it will immediately halfstep slew to the absolute position.

Here's the format for a move to offset equatorial coordinates:
o <RaHr> <RaMin> <RaSec> <DecDeg> <DecMin> <DecSec> <TimeForMove> <comment>
ie,
o 0 0 0 0 10 0 5 <comment>
The 'o' means offset coordinates, that is, the offset position will be added to the current scope position to arrive at the new target position, here 0:0:0, +0:10:0, or 10 arcminutes in declination will be added to the current position, so that over 5 seconds, the scope will scroll northward 10 arcminutes.

Here's an example that slews to a starting absolute position, then scrolls up and down in declination over various times, ending with a slew to the start of the smooth scroll motions:

a 23 0 0 15 10 0 10 AbsMove10sec
o 0 0 0 0 10 0 5 OffMove10'Dec5sec
o 0 0 0 0 10 0 8 OffMove 10'Dec8sec
o 0 0 0 0 -10 0 7 OffMove-10'Dec7sec
o 0 0 0 0 -10 0 0 OffMove-10'DecSlew

Here's the format enter drift in equatorial coordinates:
drift_equat <RaHr> <RaMin> <RaSec> <DecDeg> <DecMin> <DecSec> <TimeForDriftInSeconds> <comment>
ie,
drift_equat 0 0 0 1 0 0 3600 <comment>
This will enter declination drift of one degree over an hour (3600 seconds).

Here's the format for initializations:
<init #> <RaHr> <RaMin> <RaSec> <DecDeg> <DecMin> <DecSec> <TimeForMove> <comment>
ie,
1 10 8 22 11 58 0 0 <comment>
The '1' means init #1 using current altazimuth coordinates and sidereal time to equatorial coordinates 10:8:22 11:58:0, the 0 seconds time being ignored.
ie,
2 10 8 22 11 58 0 0 <comment>
Here '2' means init #2, with the same format as the above init #1 example

or to initialize #1 or #2 or #3 using whatever coordinates at that moment are in the input equatorial fields, 
1i   <comment>
2i   <comment>
3i   <comment>

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

Here's the format to remove altitude offset:

alt_offset   <comment>

Here's an example of a scroll file to automate the initialization process, where the scope is positioned on Regulus before the scroll file is started, then the observer inits #1 on Regulus, waits a minute, then inits #2, turns on tracking, then slews to the neighborhood of Spica, and after centering Spica, inits #2 on Spica, finally ending with calculating and setting the altitude offset to zero:

1 10 8 22 11 58 0 0 init1Regulus
2 10 8 22 11 58 0 0 init2Regulus
trackon turningtrackingon
a 13 25 12 -11 9 43 0 absSpica
2 13 25 12 -11 9 43 0 init2Spica
alt_offset removingaltoffset

Here's the format for retrieving objects from data files:

<object retrieval from data file option> <file name>

notice that a comment is not allowed after the file name,
ie,
f1 messier.dat
f2 messier.dat
f3 messier.dat

Here f1 retrieves then slews to the closest object to the current equatorial position from the messier.dat file, f2 retrieves and slews to the closest object as long as it does not match the inputted equatorial fields, and f3 means to retrieve and slew the closest object that is not in the input.dat file, a history of all inputted equatorial values during the session.

Here's an example that immediately slews (since the time is 0 seconds) to 18:0:0 -24:0:0 then slews to the closest object in messier.dat, then slews to the closest object that is not currently inputted, then slews to the closest object that does not appear in the input.dat file:

a 18 0 0 -24 0 0 0 <comment>
f1 messier.dat
f2 messier.dat
f3 messier.dat

Here's the formats for turning on and off tracking:

trackon   <comment>

trackoff   <comment>

Here's the formats for turning off the pause and beep when moving to a new scroll entry while auto scrolling:

auto_scroll_alert_off   <comment>

Here's the format for analysis:

analyze   <comment>

Here's an example that builds an analysis file, by offsetting 1 hr in Right Ascension, then finding the closest star in bstars.dat, then analyzing; running this pattern a total of 3 times: 

o 1 0 0 0 0 0 0 <comment>
f1 bstars.dat
analyze
o 1 0 0 0 0 0 0 <comment>
f1 bstars.dat
analyze
o 1 0 0 0 0 0 0 <comment>
f1 bstars.dat
analyze

Here's the format to turn on auto scrolling:

auto_scroll   <comment>

Here's the format to turn off auto scrolling:

auto_scrol_offl   <comment>

Here's the format to move the motors so that the PEC indeces are zeroed out:

move_zero_pec

Here's the format to save the current equatorial coordinates:

save1

Here's the format to retrieve the saved current equatorial coordinates:

restore1

Here's the format to adjust the microstepping speed:

msarcsecsec   <speed>   <comment>

ie,
msarcsecsec   100   <note>

Here's the format to set the handpad mode:

handpad_mode   <mode number>   <comment>

ie,
handpad_mode   5   <note>

Here's the format for a halfstep slew:

hs   <#of altitude halfsteps>     <# of azimuth halfsteps>     <comment>

Here's the format to set to new equatorial coordinates:

new_equat   <RaHr> <RaMin> <RaSec> <DecDeg> <DecMin> <DecSec> <comment>

Here's the format to set to new altazimuth coordinates:

new_altaz  <NewAltitudeInDecimalDegrees>   <NewAzimuthInDecimalDegrees>  <comment>

Here's the format to input equatorial coordinates:

set_equat  <comment>

Here's the format to input altazimuth coordinates:

set_altaz  <comment>

Here's the format to reset to input equatorial coordinates:

reset_equat  <comment>

Here's the format to reset to input altazimuth coordinates:

reset_altaz  <comment>

Here's the format to reset to home coordinates:

reset_home  <comment>

Here's the format to select an object from a specified data file:

data_file   <file_name>

Here's the format to select an object from a specified data file and move to it:

move_file   <file_name>

Here's the format to display a prompt on the screen:

prompt   <prompt_string_to_display>

 

Here's another example to build a ALTAZEC file (altitude vs azimuth, or rocker base levelness error correction file).  Start by aiming the scope at an elevation of about 45 degrees, then do the first scroll action which will move the scope to a 5th magnitude star, then precisely center the star using high powered crosshairs, and do the next scroll action to analyze the pointing.  Next, move the scope to the east about 5 degrees and repeat the scroll actions.  Repeat this pattern of move, grab nearest 5th magnitude star, center it, and analyze it, as many times as desired:

f1 5magstar.dat
analyze
hs 0 6000 <comment>
f1 5magstar.dat
analyze
hs 0 6000 <comment>
f1 5magstar.dat
analyze
hs 0 6000 <comment>
f1 5magstar.dat
analyze
hs 0 6000 <comment>
f1 5magstar.dat
analyze
hs 0 6000 <comment>
f1 5magstar.dat
analyze


Here are some scroll file examples to help with portable scopes, by Tom Krajci:

I had a blast over the weekend observing in the Lincoln National Forest,
near Mayhill and Cloudcroft New Mexico at 7,000Ft with my scope. I also
think I have learned a better way to optimize my mount pointing corrections.

Woe to us portable telescope users! It's next to impossible to reassemble
the scope (especially plywood/truss tube scopes!) the same way every time
you take it to an observing site. Mel's software gives us great
capabilities to correct for mount/pointing errors, but how should we use the
software to quickly and correctly analyze the mount pointing errors?

Here's what I have come up with:

1. Set up the mount the same way, as closely as possible (for example -
same leg of the ground board pointing due south, bubble level the base with
reasonable care.)

2. Do a two star alignment the same way, every time...taking advantage of
your mount's 'sweet spot.' (From previous testing of your scope, and
comparing observing site lat/long to the 'derived' lat/long from 2 star
init's...you should have found certain altitude/azimuth combinations for two
star alignments that give you good results. For example, I like to use this
scroll file for alignment:

trackon
abs_altaz 30 200 0
f1 00000000.dat
1i
abs_altaz 30 320 0
f1 00000000.dat
2i
altoffset
trackoff

When it works right I get repeatable 'derived' latitude that is within 0.01
deg of the site's actual latitude.

3. Do a quick pointing analysis of stars at 180 az, at varying altitudes.
Here's a scroll file I use:

trackon
abs_altaz 25 180 0
f1 00000000.dat
analyze
abs_altaz 40 180 0
f1 00000000.dat
analyze
abs_altaz 55 180 0
f1 00000000.dat
analyze
abs_altaz 70 180 0
f1 00000000.dat
analyze
trackoff

Examine your pointing errors graphically...you will probably find that you
need to tweak the value of Z2 to minimize the changing azimuth error that
crops up at various elevations. Last night, during a calm spell, I got 0.5
arcmin RMS pointing error for my four star pointing analysis once Z2 was
nailed to the nearest 0.01 degree. I find that Z2 varies a little bit every
time I put the scope together...so this 'four star Z2 analysis' is needed to
tune the pointing correction model. I also find this is a good way to
quickly check to see if your step size in altitude is correct or not...if
correct you'll get small/consistent/equal altitude errors at different
altitudes...if step size is wrong, there will be a trend obvious in the
graph...as you move higher the scope consistently points too high (or too
low)..and the the higher the altitude the larger the error.

Hope this helps,
Tom Krajci

How to Use SIMBAD to Build Scroll Files:

Overall I had a blast at Okie-Tex (although I did blow a parallel port, but

then used a backup laptop). My biggest achievement was reliably using

scroll files to tour galaxy clusters...and to show others the capabilities

of Mel's software.

Along the way, I've found a website that allows me to query by name and get

the coordinates of just about any galaxy I want:

http://simbad.u-strasbg.fr/Simbad

You can also query SIMBAD by list, and specify an output format to follow.

A simple example follows:

==========================

format {

TEXT "a "

JCOO (27) "%11.1Ca %11.1Cd" 2000/2000 4! | IC ' ' 27 +++ PB +++

TEXT " 8 "

ID(14) HD|BD|CD|CPD|V*|WD|GD|NGC|ID IC|1

FIN

}

NGC 1275

NGC 1293

NGC 1294

NGC 1283

NGC 1282

NGC 1271

NGC 1259

NGC 1250

NGC 1257

NGC 1260

NGC 1264

NGC 1267

NGC 1268

NGC 1270

NGC 1272

NGC 1273

NGC 1265

NGC 1281

NGC 1277

NGC 1278

NGC 1275

================================

The SIMBAD website has documentation to explain the format commands. This

allows me to build a crude shell of a scroll file, then I add another line

to pause at each galaxy for a short time, before moving to the next.

Soon I'll upload some example scroll files I've created, to include one of

the Pegasus I galaxy cluster, as described in the Nov 2001 Sky & Telescope.

Tom Krajci