This user's guide and its program are Copyright (C) 1996, EcoSystematica inc.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
You will find a copy of the GNU General Public License at the end of this user's guide (tm3get11.htm).
The FITS header has comments on many lines, furthermore, it has a few new
COMMENT and HISTORY lines at the end.
Look at the example FITS header.
There was a bug in the last version of tm3get10.htm: it hung at the end of the first file set. That's corrected now (the program stack was too short and overflowed while closing the first set of files). That's what one gets when going from one DOS C compiler (Borland's) to another (Watcom's). Sorry for the trouble this will have caused, my dear Michael!
One may now add a few (up to 7) lines to the FITS headers for each CCD, by placing these lines under a CCD0TEXT, CCD1TEXT or CCD2TEXT directive in the tass.rc configuration file. Here is how to do it.
New feature: the TASS camera is turned off when running too hot, then data
acquisition stops and the program exits after recording the event in the log
file.
This happens when either of the following two conditions becomes true:
Setting COOLMAXT in the configuration file tass.rc
Bug removed: the program did mysteriously fail shortly after startup, with a "write failed image data" message or some other similarly cryptic announcement.
Right Ascension displayed both in hours:minutes:seconds and in degrees.
The Ctrl-Break and Ctrl-C key combinations are now treated the same way as an Escape key: they abort the program.
The tm3get11 program takes no parameters on the command line. When executing, it accepts commands from the keyboard:
the digits 0 to 9 are used to form a number from 0 to 65535
the slash / is used to reset that number to 0
the plus + is used to add that number to the current variable (see below)
the minus - is used to substract that number from the current variable
the equal = is used to set the current variable to that number
the letter T is used to set the TEC ADC value
as the current variable
the letter V is used to set the vertical shift VCO ADC value
as the current variable
the letter E is used to switch to a (nearly) full-screen display of the
eastern image (i.e.: CCD2)
the letter M is used to switch to a (nearly) full-screen display of the
middle image (i.e.: CCD1)
the letter W is used to switch to a (nearly) full-screen display of the
western image (i.e.: CCD0)
the letter A is used to switch back to the normal simultaneous display of
smaller images from all 3 CCDs
the letter C is used to clear the CCDs and display their contents as fast
as possible (use this to make short exposures while focussing!)
and then do a ramp-up to get back to normal exposure times
the letter R is used to toggle the polarity of CCD data - whenever you press
R, subsequent CCD rows will look like negatives of the previous
ones. Please note that this does not change the way CCD data
are displayed, instead, this changes the way CCD data are
collected, hence the data recorded in the files will also be
reversed!
the letter F is used to toggle the focussing aid ON and OFF - note that this
focussing works only with a full-screen display (of any CCD).
See the description of the focussing matrix hereunder.
the escape key Esc is used to quit the program
These commands execute at the end of each row of pixels, but not while clearing
the CCDs.
The program now uses the environment variable TZ to correct for your local time zone and daylight savings time (when applicable). To use this feature, set the TZ environment variable (for instance, in your AUTOEXEC.BAT file, or in the .BAT file you use to start tm3get11) by using a DOS command like:
set TZ=EST+5EDT
where EST is a 3 characters name for your local time zone
+5 is the number of hours before universal time
(use negative numbers when after universal time)
EDT is a 3 characters name for the local daylight savings time
if currently in effect
for instance, you may set TZ to any of the following or similar strings:
string meaning
EST+5EDT you are on the East Coast, daylight savings in effect
EST+5 you are on the East Coast, no daylight savings now
PST+8PDT you are on the West Coast, daylight savings in effect
PST+8 you are on the West Coast, no daylight savings
CET-1 you are in continental Europe, no daylight savings
CST+6CDT you are in Chicago, Tom, with daylight savings in effect
The program requires a VGA or SVGA color monitor and can use a number of display modes, ranging from 640 by 480 to 800 by 600 pixels, but always in 16 colors. How to choose your display mode is further explained in the tass.rc configuration file. The screen colors can also be set to your taste using commands explained in the tass.rc configuration file. There is a listing of that file further down this document.
The images are displayed using a logarithmic mapping of raw CCD intensities to the 16 screen colors.
The normal display has 3 lines of text followed by a short image from CCD0, then a short image from CCD1 and a last short image from CCD2. It can, however, be switched to show the same 3 lines of text followed by a nearly full-screen image from a single CCD of your choice, i.e.: CCD0, CCD1, CCD2.
top text line:
row 99999 - the line number beeing collected
CCD 99.999 - temperature of the CCD in Celsius
Liq 99.999 - temperature of the coolant liquid in Celsius
+5v 9.999 - positive supply voltage in volts (nominally 5 volts)
-5v -9.999 - negative supply voltage in volts (nominally -5 volts)
TEC 99.999 - current through the TEC in amps
second text line:
clearing - when the program is clearing the CCDs
or ramping up - when the program is ramping up before collecting data
or collecting - when the program is collecting data in sets of files
min 99999 - minimum pixel value, rounded down to a multiple of 8
med 99999 - median pixel value (there are just as many pixels with
values lower than this as there are with higher ones)
These minimum and median pixel values are taken from the
last displayed lines (either all 3 CCDs together or only
the one that's displayed in full screen mode).
RA 23:59:59 - Right Ascension (in hours:minutes:seconds) of the last
displayed CCD line (when in full-screen mode) or the
zenith of the observatory (i.e.: local sidereal time)
deg 359.999 - Right Ascension again, but in decimal degrees.
3xT9999.999 - current output filename
x is 0 for the western CCD, 1 for the middle CCD and 2
for the eastern CCD - when all 3 images are shown, x is x -
9999 is the number of days since JD 2450000
.999 is the fraction of day in thousandths since 12h00 UT
third text line:
TEC 99999 - the current setting of the ADC for the TEC servo loop
VCO 99999 - the current setting of the ADC for the vertical shift VCO
var 99999 - the current number
(XXX) - the current variable (XXX is either TEC or VCO)
A - when showing images from all 3 CCDs
or E - when showing the eastern image from CCD2 full-screen
or M - when showing the middle image from CCD1 full-screen
or W - when showing the western image from CCD0 full-screen
09 +-=/ EMWA TV CRF Esc
- this is to remind you of the commands available on the
keyboard:
digits 0 to 9 to set the current number
+ to add the current number to the current variable
- to substract the current number from that variable
= to assign the current number to that variable
/ to clear the current number
E to show a full-screen eastern image from CCD2
M to show a full-screen middle image from CCD1
W to show a full-screen western image from CCD0
A to show 3 smaller images together (1 per CCD)
in order from top to bottom: CCD0, CCD1, CCD2
(this is the normal display mode, by the way)
T to set the TEC servo ADC as current variable
V to set the VCO PLL ADC as current variable
C to clear all three CCDs
R to reverse all CCD data (black <-> white)
F to toggle focussing ON and OFF
(focussing works only with a full-screen image)
Esc to quit the program
When the focussing aid is ON, the full-screen display is reduced to leave space for 5 rows of 9 numbers (the focussing matrix) and 5 labelled numbers (the peak's widths). All these numbers are updated every 5th CCD row and look like this:
-19 7 34 55 100 55 34 7 -19 leftwards 2.27 -15 7 27 41 49 38 19 -6 -30 down left 2.22 -19 0 19 31 35 24 4 -15 -39 vertically 2.33 -20 -6 8 17 21 3 -13 -32 -50 down right 1.70 -30 -13 -1 0 -7 -34 -62 -95 -112 rightwards 2.27The matrix looks for all practical purposes like half a PSF, but with the center of the PSF placed at the center element in the top row (hereafter called simply the "center"), while the remainder of the matrix forms the bottom half of the PSF. The values in the matrix are scaled down so that the sum of its elements is about zero and the "center" is 100.
One should look at this matrix as a 3D map (2 coordinates plus elevation) seen from above, with a peak centered on the top row, center number. The deformations of that peak are the symptoms of focussing, timing, orientation and alignement errors, as follows:
- perfect focus, timing, orientation and alignement give a sharp peak in the "center", i.e.: one would expect a large number there and smaller numbers (some of them negative) everywhere else, except that even in the best case there will be some spreading of that peak due to the "sharpness" (or lack thereof) of the optics, so that the numbers near the peak will be higher than those further away. - an out-of-focus condition will spread and flatten the peak symmetrically around the "center". - a misalignement of the telescope (so that the line joining the objectives is not parallel to the equator) will spread the peak in the horizontal direction only (i.e.: left and right on the top row). - a wrong vertical shift rate will spread the peak in the vertical direction only (i.e.: it will trail vertically from row to row). - a combination of the last two problems will show as an oblique spread, i.e.: a trail going either down left or down right from the "center". - a telescope looking too far north or too far south will have a peak looking like the bottom half of an 'X', i.e.: with two oblique trails, one going down left, the other one going down right.
The 5 labelled numbers give estimates of the width of the peak in 5 directions: - leftwards (horizontally to the left) - down left (obliquely at 45 degrees) - vertically (straight down) - down right (obliquely at -45 degrees) - rightwards (horizontally to the right) The camera is perfectly adjusted when these 5 numbers have all the same value and that value is at its minimum.
In the exemple, the peak is not particularly thin (its radius is about 2.2), so we deduce that stars are slightly out-of-focus, furthermore the peak is obliquely elongated toward the lower left (as the width down right is much smaller than the width down left), indicating that the telescope is not particularly well aligned and that the vertical shift rate could be better.
30T9999.999
1st digit = 3 for TASS Mark III camera
2nd digit = 0,1,2 for CCD0 (west), CCD1 (center), CCD2 (east)
letter T for TASS: The Amateur Sky Survey
four digits: days since Julian Date 2450000
the dot separates the filename from the extension
three digits: fraction of day in 1000ths since 12h00 UT
tm3get11 builds a daily log file, with a name like 19960903.tm3
the first 4 digits indicate the year the next 2 digits indicate the month the last two digits indicate the day the extension .tm3 indicates that this is a TASS MARK III log file
Here follow the commented contents of a rather short log file. Lines starting with -- are comments inserted by the author for clarification (they would not appear in a true log file)
run "19960903.tm3" JD: 2450331.329 -- 1st line in the 1st run log, indicates the log file name "19960903.tm3" -- and the Julian Date at run startup: 2450331.329 begin LT: 1996-09-03 15:54:09 UT: 1996-09-03 19:54:09 -- 2nd line in run log, gives both local time and universal time at startup telescope "TASS Mark III #0" latitude: 45.000 longitude: 75.500 -- 3rd line in log, identifies the telescope and the coordinates of the -- observatory, as read from the configuration file -- tass.rc minutes (local time - universal time): -240 dst: 1 -- 4th line in run log, indicates the difference between local and universal -- time, and whether daylight savings time applies -- (dst: 1) or not (dst: 0) camera CCD0 RA offset: 15.000 Dec: 0.000 camera CCD1 RA offset: 0.000 Dec: 0.000 camera CCD2 RA offset: -15.000 Dec: 0.000 -- these 3 lines identify the 3 cameras, give their relative offsets and the -- declination they are pointing to, as read from the -- configuration file tass.rc clear LT: 1996-09-03 15:54:09 UT: 1996-09-03 19:54:09 -- indicates when CCD clearing started, in both local and universal time set TEC: 1050 VCO: 10250 LT: 1996-09-03 15:56:24 UT: 1996-09-03 19:56:24 -- indicates when the DACs were set-up, and to what values ramp-up LT: 1996-09-03 15:56:24 UT: 1996-09-03 19:56:24 -- indicates when CCD ramp-up started files LT: 1996-09-03 16:07:36 UT: 1996-09-03 20:07:36 -- indicates when the 1st set of files started recording CCD0 "30T0331.338" RA: 225.618 CCD1 "31T0331.338" RA: 210.618 CCD2 "32T0331.338" RA: 195.618 -- these 3 lines indicate for each camera the corresponding file name in the -- 1st file set, and the corresponding Right Ascension -- at the beginning of the recording files LT: 1996-09-03 16:16:56 UT: 1996-09-03 20:16:56 -- indicates when the 2nd set of files started recording CCD0 "30T0331.345" RA: 227.958 CCD1 "31T0331.345" RA: 212.958 CCD2 "32T0331.345" RA: 197.958 -- these 3 lines indicate for each camera the corresponding file name in the -- 2nd file set, and the corresponding Right Ascension -- at the beginning of the recording *** program interrupted by Escape key *** -- indicates that the user aborted the program end LT: 1996-09-03 16:17:35 UT: 1996-09-03 20:17:35 -- indicates when the program terminated and the last set of files stopped -- recording -- a blank line separates successive runs taken on the same Julian Date run "19960903.tm3" JD: 2450331.373 -- 1st line in the 2nd run log, indicates the log file name "19960903.tm3" -- and the Julian Date at run startup: 2450331.329 begin LT: 1996-09-03 16:56:57 UT: 1996-09-03 20:56:57 -- 2nd line in run log, gives both local time and universal time at startup telescope "TASS Mark III #0" latitude: 45.000 longitude: 75.500 -- 3rd line in log, identifies the telescope and the coordinates of the -- observatory, as read from the configuration file -- tass.rc minutes (local time - universal time): -240 dst: 1 -- 4th line in run log, indicates the difference between local and universal -- time, and whether daylight savings time applies -- (dst: 1) or not (dst: 0) camera CCD0 RA offset: 15.000 Dec: 0.000 camera CCD1 RA offset: 0.000 Dec: 0.000 camera CCD2 RA offset: -15.000 Dec: 0.000 -- these 3 lines identify the 3 cameras, give their relative offsets and the -- declination they are pointing to, as read from the -- configuration file tass.rc clear LT: 1996-09-03 16:56:57 UT: 1996-09-03 20:56:57 -- indicates when CCD clearing started, in both local and universal time *** program interrupted by Escape key *** -- indicates that the user aborted the program before recording anything end LT: 1996-09-03 16:57:20 UT: 1996-09-03 20:57:20 -- indicates when the program terminated
FITS file consists of one or more HDU's (Header and Data Units). In the header there is a description of the content which follows it. The header consists of a number of lines of ASCII text formatted thusly: The first eight characters define a keyword padded with spaces on the right. The ninth character must be '=', followed by the value for the keyword. Values can be numerical (integer or floating point), logical (T or F) or character strings enclosed within single quotes ''. Numerical and logical values must end in column 30 of the line. The value may be followed by a comment, then the line is padded with spaces to an exact length of 80 bytes. The header must then be padded with spaces to reach a length of exactly 2880 bytes (i.e.: one HDU length).
After the header come the actual pixel data in a format defined by the header.
The raw image files generated by the TASS cameras should have dimensions amenable to processing by small personal computers, which means no more than about 1 000 000 pixels per raw image file (at 16 bits per pixel).
Here is an example header for a TASS raw image file.
Lines starting with a '#' character are not part of the actual header.
keyword = right-adjusted-value / comment
# 00000001111111111222222222233333333334444444444555555555566666666667777777
# 34567890123456789012345678901234567890123456789012345678901234567890123456
#
SIMPLE = T
# required, must have a value of T
BITPIX = 16
# resolution in bits per pixel
NAXIS = 2
# number of dimensions for the image
NAXIS1 = 800 / pixels per raw line
NAXIS2 = 402 / lines per raw file
CTYPE1 = 'DEC' / declination
# this is the first axis (line-wise)
CRPIX1 = 1.0
# use the first pixel as reference
CRVAL1 = 1.4667724 / start DEC in degrees
# 1 degrees 28' 4" in decimal degrees
CDELT1 = 0.0038197 / DEC per pixel in degrees
CROTA1 = 0.0 / no rotation
CTYPE2 = 'RA' / right ascension
# this is the second axis (column-wise)
CRPIX2 = 1.0
# use the first line as reference
CRVAL2 = 16.270833333 / start RA in degrees
# 01h05m05s in decimal degrees
CDELT2 = 0.0038197 / RA per pixel in degrees
CROTA2 = 0.0 / no rotation
BSCALE = 1.0 / true_pixel = fits_pixel * BSCALE
BZERO = 32768.0 / + BZERO
DATE-OBS= '03-12-1996' / UT start date 'DD-MM-YYYY'
TIME = '20:02:46' / UT start time 'hh:mm:ss'
TELESCOP= 'TASS Mark III #0'
# identification of the telescope
INSTRUME= 'CCD1'
# identification of camera CCD 0, 1 or 2
LATITUDE= 45.4500 / positive degrees are north
# latitude of the camera site
LONGITUD= 75.5000 / positive degrees are west
# longitude of the camera site
EXPOSURE= 469.0000 / exposure in seconds
SHIFTIME= 0.9160 / line shift period in seconds
COMMENT pixels 0-9 dark 10-13 blind 14-781 image 782-791 dark
COMMENT pixels 792-793 blind 794-799 other (see tm3get11.htm)
HISTORY data collected by tm3get11 (DOS) from a Kodak KAF400
END
followed by 7 blank lines for a total of 36 lines of 80 columns (there is no
end-of-line character at the end of each line).
NAXIS1 = 768 of these 800 pixels contain actual image data
pixels 0 to 9 are 10 dark reference pixels in ADUs
pixels 10 to 13 are 4 blind pixels (whatever that is) in ADUs
pixels 14 to 781 are 768 image data pixels in ADUs
pixels 782 to 791 are 10 dark reference pixels in ADUs
pixels 792 to 793 are 2 blind pixels (whatever that is) in ADUs
pixel 794 is a false pixel with CCD temperature in ADUs
pixel 795 is a false pixel with coolant temperature in ADUs
pixel 796 is a false pixel with peltier current in ADUs
pixel 797 is a false pixel with positive supply in ADUs
pixel 798 is a false pixel with negative supply in ADUs
pixel 799 is a false pixel with 0 (reserved for future use)
all pixels are stored most significant byte first ("a la" Motorola)
pixel 794: resi is the thermistor's resistance in kiloohms
pixel 795: resi is the thermistor's resistance in kiloohms
resi = (196592400 / (ADUs - 32768)) - 1000;
if (resi < 1300) resi = 1300;
temperature = 136.55 - 77.246 * sqrt (log (resi) - 7.1671);
pixel 796: curr is the current in amps (current sensing resistor: 0.12 ohms)
curr = (0.0000763 * (ADUs - 32768)) / 0.12
pixel 797: volt is the voltage in volts
pixel 798: volt is the voltage in volts
volt = (0.0000763 * (ADUs - 32768)) * 3.0
NAXIS2 = at .916 sec per line, 896 lines take 820 secs or 13 mins 40 secs
we can thus use images of 13 min 20 sec with 20 sec overlap
i.e.: 874 lines plus 22 lines of overlap between successive files
CTYPE1 = we point the telescope approximately toward the celestial equator
CTYPE2 = with CCD 1 pointing due south, CCD 0 pointing 1 hour westwards and
CCD 2 pointing one hour eastwards
CRPIX1 =
CRPIX2 = we use the 1st pixel of the 1st line as reference point
CRVAL1 = as we use the first pixel as reference, we must find its actual
declination by processing an image and fitting its coordinates
(X,Y) to celestial coordinates (DEC, RA). That number will be
slightly different for each of the 3 CCDs, as they will not be
perfectly aligned
CRVAL2 = this is a constant obtained the same way as CRVAL1, plus a number
that changes with the date and time of day. For CCD 1, that
constant is nearly the longitude of the CCD site, for CCD 0, it
is about 15 degrees more and for CCD 2 it is about 15 degrees less
CDELT1 =
CDELT2 = pixels of the KODAK KAF400 CCD are 9 um by 9 um
the TASS Mark III camera uses a lens with a focal length of 135 mm
hence the arc subtended by a pixel is arctan ( 9E-6 / 135E-3 )
CROTA1 =
CROTA2 = the cameras should be adjusted to get no rotation between the
(X,Y) CCD coordinates and the (DEC, RA) celestial coordinates
BSCALE = is normally 1.0
BZERO = true pixel value = BZERO + BSCALE * (value found in the FITS file)
EXPOSURE= 0.916 secs per line * 512 lines per CCD = 469.0 seconds
SHIFTIME= equatorial drift scan mode: lines must shift every 0.916 secs
to keep the sidereal rate of 15.04107 degrees per hour
# this is an example configuration file for tass data collection program # tm3get11.c # this is an exemple only: don't use it without adapting it for your # installation # lines starting with a "#" character are comments, and so are empty lines # or those starting with space characters. # command line format # command name starts in column 1 (all command names are used hereunder) # command names have exactly 8 characters # equal sign, facultatively surrounded by blank space # value, which may be # a decimal integer, facultatively signed # an octal number (must start with a 0) # an hexadecimal number (must start with 0x) # a real number in fixed point format # a string surrounded by single quotes or by double quotes # (no quote may appear in such strings, but escaped as \' or \") # a list of values separated by commas # facultative blank space # mandatory end of line # command lines starting with an unrecognized command name are ignored. # the commands may be given in any order # the following exemple uses and briefly explains all commands # line shift period in secs SHIFTIME= 0.916 # exposure duration in secs EXPOSURE= 469.0 # telescope identification TELESCOP= 'TASS Mark III #0' # flag: 1 if CCD images are negative, 0 otherwise (i.e.: 1 reverses b&w) REVERSED= 1 # number of lines to be collected per CCD: 24 raw files or 5:28 hours TOTLINES= 21504 # number of lines per raw file: 896 lines or 13:40 minutes plus 20 sec overlap FILLINES= 896 # number of lines overlapping 2 files: 22 lines or about 20 seconds OVRLINES= 22 # VCO value for correct scan speed: 10250 is about right for 0.916 seconds # a VCO value of 7000 is about right for the zenith at 45.00 north, although # that gives strangely crooked star paths (the sky seems cylindrical), # which is not so bad for focussing but is clearly useless for astrometry # (the problem comes from looking at the zenith instead of the celestial # equator) VCOVALUE= 10250 # TEC value for correct temperature: your choice TECVALUE= 1050 # TEC current measuring resistor in ohms: Tom says 0.12 ohms is typical TECRESIS= 0.47 # ------ DOS ONLY ------------------------------------------------------------- # specify the video display mode to be used for the running images # valid modes are 16 color graphic modes using a single 64k (or less) page of # video RAM appearing at address 0xA0000 (segment 0xA000, offset 0) # # mode = pixels, rows, colors # 0x12 = 640, 480, 16 basic VGA mode 12: 640 * 480 pixels # 0x12 = 736, 480, 16 tweaked VGA mode 12: 736 * 480 pixels # 0x12 = 768, 480, 16 tweaked VGA mode 12: 768 * 480 pixels # 0x5b = 800, 600, 16 Trident 8900 mode 5b: 800 * 600 pixels # 0x6a = 800, 600, 16 VESA Super VGA mode 6a: 800 * 600 pixels # 0x102 = 800, 600, 16 VESA Super VGA mode 102: 800 * 600 pixels # # notes: - the tweaked VGA mode 12 (@ 736 pixels per row) may require a slight # adjustment of your monitor horizontal shift button (but that # adjustement should not affect its normal operation) # - the tweaked VGA mode 12 (@ 768 pixels per row) may require slight # adjustements to both the horizontal shift and horizontal width # buttons of your monitor (again, these adjustements should not be # detrimental to the normal operation of your monitor) # - mode 5b may also work on some other boards # - the VESA modes do require a VESA BIOS driver, either in ROM on the # video graphics controller board, or loaded in RAM at boot time # # how to chose a video mode: # 1 - if your monitor is not SVGA, multi-sync or multi-frequencies, # go to step 4, otherwise # 2 - if the VESA BIOS extensions are included on your SVGA board ROM or # or if they are loaded at run-time, use one of SVGA modes 6a or 102, # otherwise # 3 - if your SVGA manual specifies a mode to be used for 800 by 600 # graphics in 16 colors, like the Trident 8900 mode 5b above, use # that mode (it may well be different from 0x5b), otherwise # 4 - try the tweaked VGA mode 12 (@ 768 pixels per row), if it does # not work, then # 5 - try the tweaked VGA mode 12 (@ 736 pixels per row), if it does # not work, then # 6 - use the basic VGA mode 12 at 640 pixels per row # # Under Linux, this line is ignored (no need to remove it) as we use X windows. # # the video mode command comes here: # mode = pixels, rows, colors SETVIDEO 0x12 = 768, 480, 16 # 1st pixel to be shown: pixels 0 to 13 are dummy or blind pixels # pixels 782 to 799 are dummy or blind pixels 1STSHOWN= 14 # number of pixels shown: maximum N, where N is your screen's width in pixels TOTSHOWN= 768 # specify all 16 colors to be used for the running images # for each color, specify the amount (from 0 to 63) of red, green and blue # color = red, green, blue SETCOLOR 0 = 0, 0, 0 SETCOLOR 1 = 4, 4, 4 SETCOLOR 2 = 8, 8, 8 SETCOLOR 3 = 12, 12, 12 SETCOLOR 4 = 17, 17, 17 SETCOLOR 5 = 21, 21, 21 SETCOLOR 6 = 25, 25, 25 SETCOLOR 7 = 29, 29, 29 SETCOLOR 8 = 34, 34, 34 SETCOLOR 9 = 38, 38, 38 SETCOLOR 10 = 42, 42, 42 SETCOLOR 11 = 46, 46, 46 SETCOLOR 12 = 51, 51, 51 SETCOLOR 13 = 55, 55, 55 SETCOLOR 14 = 59, 59, 59 SETCOLOR 15 = 63, 63, 63 # number of lines per CCD chip: KAF0400 has 512 lines CCDLINES= 512 # number of pixels per CCD line: KAF0400 has 14+768+12 = 794 pixels CCDPIXEL= 794 # number of saved pixels: 800 (must be > CCDPIXEL + 5) MAXPIXEL= 800 # IO address of TASS Control Card: in hexadecimal with 0x prefix TASSPORT= 0x0300 # KEEPSHOW= 0 to immediately return to DOS at the end of tonight's run # KEEPSHOW= 1 to keep instead the last image on screen after tonight's run, # until someone comes and presses the Esc Key KEEPSHOW= 1 # latitude of camera site in degrees (positive = north, negative = south) LATITUDE= 45.0 # longitude of camera site in degrees (positive = west, negative = east) LONGITUD= 75.5 # flag: 1 if CCD0 exists, 0 otherwise CCD0HERE= 0 # declination of CCD0 in degrees (positive = north, negative = south) CCD0DECL= 0.0 # right ascension offset of CCD0 in degrees (positive = east, negative = west) CCD0RAOF= 15.0 # flag: 1 if CCD1 exists, 0 otherwise CCD1HERE= 1 # declination of CCD1 in degrees (positive = north, negative = south) CCD1DECL= 0.0 # right ascension offset of CCD1 in degrees (positive = east, negative = west) CCD1RAOF= 0.0 # flag: 1 if CCD2 exists, 0 otherwise CCD2HERE= 0 # declination of CCD2 in degrees (positive = north, negative = south) CCD2DECL= 0.0 # right ascension offset of CCD2 in degrees (positive = east, negative = west) CCD2RAOF= -15.0
# ----- 1996-11-24 ----- new feature: turn camera off when running too hot # safety check: maximum working temperature for liquid coolant (in Celsius) # default value is 37.0 Celsius COOLMAXT= 35.0
# ----- 1996-12-05 ----- new feature: add lines to FITS header # the number to the right of the equal sign indicates the number of lines # to be read following the CCDnTEXT line and to be copied into the FITS header # 0 supplementary FITS header lines for CCD0 CCD0TEXT= 0 # 2 supplementary FITS header lines for CCD1 CCD1TEXT= 2 COMMENT this line could be used to specify the filter used by CCD1 COMMENT this line could be used to specify something else of import # 0 supplementary FITS header lines for CCD2 CCD2TEXT= 0
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
675 Mass Ave, Cambridge, MA 02139, USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
Copyright (C) 19yy
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) 19yy name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
Public License instead of this License.