DATE:
TO: Aron Benett and Joe Brandt
FROM: Ron Maddalena
SUBJECT: GBT Operator's Position Panel
The following describes the suggested design for two of the GBT operator screens (a.k.a. consoles or panels) that M&C will need to implement. The first screen monitors the telescope's position and the second controls the telescope's position. (See the preliminary hierarchy I distributed for the relationship of the two screens to the other screens in the design.) I chose these two screens since they include features common to many of the other designed screens. The subject of the two screens is such that staff members will be familiar with their purpose and, hopefully, staff members will feel comfortable trying the screens and be more inclined to criticize them.
This document has a few purposes, one of which is to provide you with
information to implement the design. It also serves as a prototype of how over
the next few months I will describe other screens. (Thus, feel free to advise me
if the below discussion doesn't suite your needs). The memo also could be the
roots of a 'manual' for the GBT operators.
I. How to use this document:
First, I will describe some of the design goals and philosophy behind the
design. I hope that this discussion will give you a feel for what I hope the
screens will accomplish and why the design looks like it does.
Since I repeatedly use the same widgets within a screen and between screens,
I next describe the widgets in the design. I will give a description of how each
widget. Since many of the widgets are merely suggestions, I am relying on you to
suggest more suitable widgets, especially if you believe the widget I am using
is inappropriate or too expensive to implement.
Finally, I will describe the contents of the two screens you are to
implement.
II. Design Goals and Philosophy:
The design of the operator's screens has numerous goals:
To achieve these goals, I have devised the following guidelines for the
design:
III. Widgets:
The following describes the types of widgets on the two screens you will be
implementing. (Please advise me if you have better names for the widgets.) In
future memos I will describe the additional widgets that will be used on other
screens.
Background -- The background onto which other elements are placed.
Might be a light color (e.g., gray).
Label -- text strings with a font size that depends upon the
importance of the label widget. Can be horizontal or (rotated)
vertical. All of the label widgets in the design up to now are only a
few words long. Probably will not need to support multiple lines or
justification. There's some possibility we will need to support color and a
remote possibility we will need Greek characters, subscripts, superscripts, or
math symbols.
Separators and Boxes -- lines and rectangles drawn on the
screen to help the eye group related screen elements. Lines and the outlines of
rectangles might have one out of a few different thicknesses and styles (solid,
dash, ...). Though not a necessity at this time, boxes might have 'shadows' to
give the appearance of being raised or lowered with respect to the rest of the
screen. We don't need more than a few of these suggested format options (e.g.,
two line thicknesses, two line styles, two box types might be enough of a
choice). Like labels, separators and boxes are static
widgets.
Monitored value -- text string that report on the value of one or
more system component. As the state of the system component changes, so does the
value reported by the monitor widget. Most often these will report
numerical values but I see some need for reporting text. For numerical fields,
the format of the displayed number needs to be specified (e.g., number of
digits, if non-integer the location of decimal point, whether a preceding plus
sign is needed for positive values, any leading zeros, ....). Since it is
important that numerical characters don't shift as values change (e.g., as a
wide '0' changes to a narrow '1'), I suggest we use a fixed-size font.
To distinguish monitor widgets from label widgets, I
enclose monitor widgets within a rectangle. A few styles of rectangles
might be handy (e.g., rectangle, rounded rectangle, raised, lowered). The size
of the rectangle is dictated by the size of the characters within the widget.
The character size depends upon the importance of the monitored system
component.
I seem not to need a text label associated (attached) to each monitor
widget; instead, the tendency is to use a label widget to describe a
group of monitor widgets. When I do associate a label with a monitor
widget, I center the labeling either above or to the left of the widget's
rectangle. Where I place the label depends upon the length of the label, the
size of the widget, any column or row relationships between the widgets on the
screen, and the aesthetics of the placement.
Some of the monitored components will report a warning or an error condition
(e.g., Azimuth limit switch thrown) and I suggest we represent a warning or
error has occurred by either changing the color of the characters in the widget
or the color of the rectangle's fill. For important errors we may want the
coloring to flash on and off. Do we also want the widget to generate a sound
when serious errors occur?
Buttons -- The user clicks on a button to have a screen element
perform an action. The buttons I have used are rectangles with internal
labeling. One type of button opens other screens and I represent them
with labeling similar to that found in Windows (i.e., the label ends with an
ellipsis; e.g., "CONTROL...."). I have used rounded rectangles to
distinguish buttons that perform a hardware action (e.g., move the
telescope). If possible a sound might indicate that a button widget has
been pressed and another sound might indicate that the computer or telescope has
started to execute the action.
The size of a button should be related to the length of its label
and the importance of the action. Button labels are always static. As
in most GUIs, I think we will need to 'turn off' the ability to click on a button
when certain conditions are met (e.g., the button to move the telescope
might be rendered inactive when the turret is rotating; the button to
open a screen is rendered inactive when the screen is already open; or, the
button to perform some action is inactive if the user does not meet security
requirements). The button might change its appearance when it is
inactive (e.g., it is grayed out).
Combined Button and Monitor -- This widget has the characteristics
of a button widget but also the characteristics of a monitor
widget. That is, a button widget that has a label which is dynamic and
which reports the value of some system component. In addition to a dynamic
label, the combined widget might also have an additional static label.
Pull Down -- Allows the user to choose between multiple,
pre-defined, mutually-exclusive choices ( just like the pull downs
found in most GUIs). I have yet to specify in the design a pull down
that required a list of choices that wasn't static. After a user makes a choice,
the widget displays the text describing the chosen item.
Sometimes I use a single label widget to label more than one pull
down and sometimes I label individual pull down. Labeling is
usually above the widget. The size of the pull down and the size of
it's labeling depend upon the importance of the choices offered to the operator.
As in most GUIs, I think we will need to 'turn off' the ability to use a pull
down when certain conditions are met. The pull down might change
its appearance when it is inactive (e.g., it is grayed out).
Limits -- Shows graphically where a component's monitored or
commanded value is with respect to the possible range of values for that
component. For example, element 14 on drawing 2 will graphically show the
telescope's elevation with respect to the telescope's elevation limits.
The limit widgets I have used indicate a few important values
concerning a telescope component. For example, one limit widget
displays the current and commanded value for elevation. Another might display
the current air temperature plus the maximum and minimum temperatures over an
8-hour period. Limit widgets could be horizontal or vertical, depending
upon what is best.
I have used colored regions within the widget to depict the important values
the monitored component might have. For example, I use a yellow region within a
wind speed widget to indicate the range of speeds above which observing
shouldn't occur and below which the telescope brakes should be set. There can be
multiple (0-4) color regions within a single widget and the colored regions
sometimes may not need to be located at the ends of the widgets (e.g., 'the cone
of avoidance' in elevation).
Check Box -- A check box widget is identical in function to
what is found in most GUIs for giving a user the ability to turn on or off
certain features. Unlike pull downs and choice widgets, if
there are more than one check box on a screen, the user can turn on
from none to all of the check boxes (i.e., choices are not mutually
exclusive). So far all the check boxes I have specified are labeled to
the right of the widget. The size of the check box and the size of it's
labeling depend upon the importance of the choices offered to the operator. As
in most GUIs, I think we will need to 'turn off' the ability to use a check
box when certain conditions are met. The check box might change
its appearance when it is inactive (e.g., it is grayed out).
Thumb Switch -- The numerical value of some system components will need to be controlled. Often, the operator will need to note and modify the value of a component. Sometimes, the operator will need to enter a new value for a component with no regard to the current value. At other times, the operator will want to modify the current value with no concern about the current value of a component (e.g., to raise the focus by 50 mm regardless of the current focus value). The thumb switch widget I envision allows these three ways of interacting with a component.
One method of entering a value is like a thumb switch in that the user can
click on up and down arrows to alter a value. There is an up and down arrow for
each digit displayed by the widget. The widget will need to know the 'base' of
the number it is supposed to represent. For example, if the base is decimal and
the number is 123.9951, six up clicks on the second to last digit should produce
the number 124.0011 (and not 123.9911). But if the base is sexagesimal and the
number is 12:03:57, a down click on the third digit and a subsequent four up
clicks on the last digit would produce 11:54:01 (and not something like
12:93:51).
To enter values using the other methods, the thumb switch widget
could use something like a double mouse click to open a text widget
that contains the value of the component. When the text widget is
brought up, if the value within the text field is highlighted, then something
like pressing the 'del' key might erase the current value and the user could
enter a completely new value. Or, by using the mouse, arrow keys, and keyboard,
the user instead could alter the displayed value.
[I've assumed the 'thumb switch' mode of entering a value is the most useful
and is the default mode with the text field mode brought up on request. However,
we might find that for some system components that the text field mode is most
useful and only occasionally will the thumb switch mode be needed. In these
cases, the 'text field' mode must have a way to bring up the 'thumb switch'
mode.]
The size of a thumb switch should be related to the importance of
its action. The size of characters used for the switch and any labeling is also
related to the importance of the action. I think we will need to 'turn off' the
ability to modify a thumb switch when certain conditions are met. The thumb
switch might change its appearance when it is inactive (e.g., it is grayed
out).
Of the above widgets, only button, combined button and monito,
pull downs, check boxes, and thumb switches can
perform an action. The remainder either monitor a system component or help label
or organize the other screen elements.
IV. Telescope Position Panels:
The attached drawings depict two of the designed screens. One of the screens
monitors the telescope's position and the other controls the position. Each
screen has two drawings. One drawing, fully labeled and with example values, is to
scale and is my best representation of what the implemented panel might
look like. The other, more schematic drawing has circled numbered assigned to
each screen element. The description of a screen element will use the circled
numbers as a way of cross referencing the figures with the text.
For each screen element I will describe what the element monitors or
controls. I have tried to make the descriptions unambiguous (e.g., what do I
mean by encoder Azimuth; where is zero). When applicable, I will give units,
formats, number of digits displayed, character size, etc. for each element. I
will suggest when needed what colors or sounds a screen element might use. There
are many ways of presenting the same information or controlling the same
telescope component and in many cases, I am ambivalent as to what approach to
take; please suggest alternative approaches.
IVa. Position Monitor:
The position monitor gives the operator the ability to check the status of
the telescope's azimuth and elevation drives and the telescope's position. The
screen monitors the telescope's position both at the hardware level and with
regards to astronomical observing. Its parent screen will monitor the health of
all of the telescope components and its brother and sister screens monitor
things like the position of the subreflector, turret, etc.
In the discussion I will give the location of a screen element (using the
labels on the schematic drawing 2), the function of the screen element, the type
of widget to use, its numerical format (when applicable), style (color,
character size, etc), and labeling.
Elements (1)-(14), (31), and (32) in drawing 2 monitor the health of the
telescope's hardware. Elements (15)-(28) monitor the astronomical observations.
Elements (29) and (30) open 'child' screens, one of which is the 'pointing
control' screen discribed in section IVb.
Element: 1
Function: Reports the Local Apparent Sidereal Time. This element may be moved to screens that monitor all aspects of the time (IRIG, calander, etc). But, until the 'timing' screens are designed I think we should place this element on the position monitor screen.
Widget: Monitor
Units and Format: HH:MM:SS.s or HH:MM:SS . Include the colons. The exact format depends upon how fast the screen element can be updated. Example: 01:34:09. Note the inclusion of preceding zeros for all fields so as to eliminate any jumping in the display (e.g., don't want 1:34:9.3 since the display will jump left one character when the clock will read 1:34:10.3). This style should be used throughout for 'time' or sexagesimal strings.
Style and Labeling: As shown
Element: 2
Function: Reports the UTC. All other details same as for element (1)
Widget: Monitor
Units and Format, Style, Labeling: Same as for element (1).
Element: 3
Function: Reports the azimuth encoder reading that the telescope is commanded to go to. This directly refers to the encoder readings; the pointing equation, etc are not applied. Must indicate exactly where the telescope is commanded to go to with respect to its limit switches. As such, the range of values this component can take is ~540 (360 plus ~180 extra wrap).
Widget: Monitor
Units and Format: +DDD.ddddd . Unclear whether zero should be south or north. The definition of zero will be the same as what is decided about the definition of zero for astronomical azimuth. If zero is south, then the range of values this widget will report will be -270 to +270. If north, then -90 to +450. Preceding zeros and plus signs not necessary but trailing zeros necessary. Examples: 123.45678, -12.12345, 1.00010, -0.98765, 0.00100). Note that angles throughout the design will be given to better than 1".
Style: Large characters. Turns 'red' if the telescope is asked to go beyond its limit switch. Turns yellow is the telescope is asked to go closer than n degrees from its limit switch where 'n' is yet to be defined.
Labeling: Part of a 'table'; labeling as indicated.
Element: 4
Function: Reports the elevation encoder reading that the telescope is commanded to go to. This directly refers to the encoder readings; the pointing equation, refraction, etc are not applied. Must indicate exactly where the telescope is commanded to go to with respect to its limit switches. As such, the range of values this component can take is ~90 (~5 to ~95).
Widget: Monitor
Units and Format: DD.ddddd . Preceding zeros and plus signs not necessary but trailing zeros necessary. Examples: 23.45678, 93.12345, 10.00010, 89.00100).
Style: Same as element (3) except might turn blue if commanded into the 'cone of avoidance'.
Labeling: Part of a 'table'; labeling as indicated.
Element: 5
Function: Reports the current azimuth encoder reading. This directly refers to the encoder readings; the pointing equation, etc are not applied. Must indicate exactly where the telescope is with respect to its limit switches. As such, the range of values this component can take is ~540 (360 plus ~180 extra wrap).
Widget: Monitor
Units and Format: Same as element (3)
Style: Large characters. Turns 'red' and flashes if the telescope is beyond its limit switch; turns yellow if the telescope is closer than n degrees from its limit switch.
Labeling: Part of a 'table'; labeling as indicated.
Element: 6
Function: Reports the current elevation encoder reading of the telescope. This directly refers to the encoder readings; the pointing equation, refraction, etc are not applied. Must indicate exactly where the telescope is with respect to its limit switches. As such, the range of values this component can take is ~90 (~5 to ~95).
Widget: Monitor
Units and Format: Same as element (4)
Style: Same as element (4) except might turn blue if position is in the cone of avoidance.
Labeling: Part of a 'table'; labeling as indicated.
Element: 7
Function: Reports the current rate at which the telescope is moving in azimuth. If azimuth is increasing, then the rate will be positive. Can either be the rates as reported by the hardware or calculated from how fast the indicated position (element (5)) changes.
Widget: Monitor
Units and Format: +XXXX.xx in '/min (= "/sec = /hr). Preceding zeros and plus signs not necessary but trailing zeros necessary. Examples: 123.4567, -12.1234, 1.0001, -0.9876, 0.0010).
Style: Large characters. Might turn yellow if within r '/min from the telescope's maximum rate where 'r' is yet to be determined.
Labeling: Part of a 'table'; labeling as indicated.
Element: 8
Function: Reports the current rate at which the telescope is moving in elevation. If elevation is increasing, then the rate will be positive. Can either be the rates as reported by the hardware or calculated from how fast the indicated position (element (6)) changes.
Widget: Monitor
Units and Format, Style, and Labeling: Same as element (7).
Element: 9
Function: Reports the difference between elements (5) and (3) (.ie., indicated minus commanded). Will report a large value when the telescope is moving to a very different position.
Widget: Monitor
Units and Format: +DDD.ddddd ; positive if indicated > commanded. Preceding zeros and plus signs not necessary but trailing zeros necessary. Examples: 123.45678, -12.12345, 1.00010, -0.98765, 0.00100).
Style: Large characters. Turns orange if larger than d degrees where 'd' is related to the pointing tolerance and is yet to be determined.
Labeling: Part of a 'table'; labeling as indicated.
Element: 10
Function: Reports the difference between elements (6) and (4) (i.e., indicated minus commanded). Will report a large value when the telescope is asked to move to a very different position.
Widget: Monitor
Units and Format: +DD.ddddd ; positive if indicated > commanded. Preceding zeros and plus signs not necessary but trailing zeros necessary. Examples: 23.45678, -12.12345, 1.00010, -0.98765, 0.00100).
Style and Labeling: Same as element (9).
Element: 11
Function: Reports the azimuth error as reported by the servo system. If the servo system is healthy, this number will always be near zero, even during large moves. If the servo is lagging behind, the number will be negative.
Widget, Units and Format, Style, and Labeling: Same as element (9).
Element: 12
Function: Reports the elevation error as reported by the servo system. If the servo system is healthy, this number will always be near zero, even during large moves. If the servo is lagging behind, the number will be negative.
Widget, Units and Format, Style, and Labeling: Same as element (9).
Element 13
Function: Display the commanded and indicated azimuth (elements (3) and (5)) in relation to the full range of azimuth values and azimuth limits. The range of the widget is the same as element (3).
Widget: limits
Units and Format: Not applicable
Style: The widget shows the indicated (element (5)) and commanded (element (3)) azimuth as, for example, thick and dashed lines. The cardinal directions from left to right across the widget are: W, N, E, S, W, N, E; due south is at the center.
Red regions at the left and right of the widget will show where the azimuth crosses the first limit switch. Yellow regions inside the red regions indicate when the telescope is within 'd' degrees of the limit switch. Thus, the operator can see graphically where the telescope is positioned, where it is commanded to go, the magnitude of the difference between the commanded and indicated positions, and how close to a limit the telescope is or is commanded to go.
Labeling: None needed since the use of the widget is explicit in its design.
Element 14
Function: Display the commanded and indicated elevation (elements (4) and (6)) in relation to the full range of elevation values and elevation limits. The range of the widget is the same as element (4).
Widget: limits
Units and Format: Not applicable
Style: The widget shows both the indicated (element (6)) and commanded
(element (4)) elevation as, for example, thick and dashed lines. The bottom and
top of the widget correspond to ~5 and ~95.
Red regions at the top and bottom of the widget will show where the elevation crosses the first limit switch. Yellow regions inside the red regions indicate when the telescope is within 'd' degrees of the limit switch. A blue region will indicate the elevations where the telescope is in the 'cone of avoidance.' Thus, the operator can see graphically where the telescope is positioned, where it is commanded to go, the magnitude of the difference between the commanded and indicated positions, and how close to a limit the telescope is or is commanded to go.
Labeling: None needed since the use of the widget is explicit in its design.
Element 15:
Function: To allow the operator to pick the astronomical coordinate system used by (16)-(21).
Widget: Pull down
Choices: Choices will include: J2000, B1950, Apparent RA-DEC, Galactic, Apparent HA-DEC, Az-El, and possibly Mean RA-DEC, Mean HA-DEC, and ecliptic. The definition of Az-El differs from that of elements (3)-(6) in that the telescope's full pointing corrections, refraction, etc. have been applied (and 0<Az<360 and 0<El<90)..
Style: Not applicable.
Labeling: As shown.
Element 16:
Function: To report the commanded X-axis telescope position in the coordinate system chosen by element (15).
Widget: Monitor
Units and Format: Depends upon the coordinate system chosen by element (15).
Az-El, Galactic, (ecliptic): DDD.ddddd ; range: 0.00000-360.00000
RA-DEC (in its various flavors): HH:MM:SS.ss ; range 00:00:00.00 - 23:59:59.99
HA-DEC (in its various flavors): +HH:MM:SS.ss ; range: -12:00:00.00 -
11:59.59.99.
As with elements (1) and (2), you should add preceding zeros for all fields for a HH:MM... coordinate system so as to eliminate any jumping in the display. Preceding zeros and plus signs not necessary for DD.dddd systems. Trailing zeros necessary.
Labeling: None since the table arrangement clearly indicates what is being
displayed.
Element 17:
Function: To report the commanded Y-axis telescope position in the coordinate system chosen by element (15).
Widget: Monitor
Units and Format: Depends upon the coordinate system chosen by element (15).
Az-El: DD.ddddd ; range: 0.00000-90.00000
Galactic, (ecliptic): +DD.ddddd ; range: -90.00000 - 90.00000
RA-DEC and HA-DEC (in their various flavors): +DD:MM:SS.s ; range -90:00:00.0
- 90:00:00.0
As with elements (1) and (2), you should add preceding zeros for all fields for a +DD:MM... coordinate system so as to eliminate any jumping in the display. Preceding zeros and plus signs not necessary for DD.ddddd systems. Trailing zeros necessary.
Labeling: None since the table arrangement clearly indicates what is being
displayed.
Elements: 18 and 19
Function, Widget, Units and Format, labeling: Same as elements (16) and (17)
except for reporting the telescope's indicated position instead of the commanded
position.
Elements: 20 and 21:
Function: To report the rates at which the telescope is moving in the coordinate system chosen by element (15).
Widget, Units and Format, Labeling: same as for elements (7) and (8).
Elements: 22 through 28
Function: Same as elements (15)-(21). Allows the operator to display the telescope's coordinates in a second astronomical system.
Widget, Choices, Units and Format, Labeling: Same as for corresponding
elements (15)-(21).
Element: 29
Function: To bring up the child screen dealing with the telescope's pointing corrections.
Widget: Button
Style and Labeling: As indicated on the drawing.
Element 30:
Function: To bring up the child screen dealing with controlling the telescope's position (i.e., the screen described in IVb). Only those who satisfy some security checks should be able to click on this button.
Widget: Button
Style and Labeling: As indicated on the drawing.
Elements 31 and 32:
Function: To report on the status of the Az and El drive and servo systems. Also allows one to bring up screens that report on the state of the Az and El systems. These children screens might be the HTML screens Joe has been playing with.
Widget: Combined Button and Monitor
Style and Labeling: To be determined after the Az and El system screens are
designed. Color and flashing color will be used to indicate the health of the
drive systems; strings will indicate the state of the servo system (e.g., brakes
on, slewing, stopped, etc.)
Background and other screen elements: In addition to the above elements, the
screen also uses labeling to distinguish itself from other screens. I also use
lines to help organize the screen elements. Since this screen is critical, there
should not be any way to close or move the window.
Ivb. Position Control
The position control screen gives the operator the ability to move the
telescope position in any number of coordinate systems. Its parent screen,
described above, cannot be closed or moved as long as the control screen is up.
Only authorized staff members should be able to bring up (or use) this screen.
Element: 1
Function: Activates the screen and takes control away from the observer for control of the telescope. Must be 'unchecked' in order for the observer to regain control of the telescope. Maybe all other screen elements should be greyed out if this widget is unchecked. Once checked, the operator can then submit a position with the other elements on the screen. Closing the screen with element (20) automatically 'unchecks' this widget.
Widget: Check Box
Labeling: As indicated
Element: 2
Function: Allows the operator to chose a coordinate system for entering a position.
Widget: Pull Down
Choices: The choice of systems is: Az-El encoder, Az-El, J2000, B1950, Apparent RA-DEC, Galactic, Apparent HA-DEC, and possibly Mean RA-DEC, Mean HA-DEC, and ecliptic. Note from the discussion in IVa the difference between Az-El encoder and Az-El. When the screen comes up it will automatically use the coordinate system it used when it last was brought up (Az-El encoder would be the default for a first-time use).
Style: Not applicable.
Labeling: As shown.
Element: 3
Function: Allows the operator to enter an X-axis coordinate.
Widget: Thumb switch
Units and Format: Depends upon the coordinate system chosen by element (2).
Az-El encoder: +DDD.ddddd; range depends upon the definition of zero; either -270.00000-270.00000 or -90.00000-450.00000.
Az-El, Galactic, (ecliptic): DDD.ddddd ; range: 0.00000-360.00000
RA-DEC (in its various flavors): HH:MM:SS.ss ; range 00:00:00.00 - 23:59:59.99
HA-DEC (in its various flavors): +HH:MM:SS.ss ; range: -12:00:00.00 - 11:59.59.99.
A total of 8 digits plus one for the sign are needed. The colons in my drawings will need to be dynamically altered whenever a DDD.dddd system is chosen. When the screen come up, it will load into the widget the current telescope position in the last-used coordinate system.
Labeling: None since the table arrangement clearly indicates what is being displayed.
Element: 4
Function: Allows the operator to enter a Y-axis coordinate.
Widget: Thumb switch
Widget: Thumb Switch
Units and Format: Depends upon the coordinate system chosen by element (2).
Az-El encoder: DD.ddddd ; range ~5.00000-~95.00000
Az-El: DD.ddddd ; range: 0.00000-90.00000
Galactic, (ecliptic): +DD.ddddd ; range: -90.00000 - 90.00000
RA-DEC and HA-DEC (in their various flavors): +DD:MM:SS.s ; range -90:00:00.0 - 90:00:00.0
A total of 7 digits plus one for the sign are needed. The colons in my drawings will need to be dynamically altered whenever a DDD.dddd system is chosen. When the screen come up, it will load into the widget the current telescope position in the last-used coordinate system.
Labeling: None since the table arrangement clearly indicates what is being displayed.
Element: 5
Function: Displays graphically the current encoder Az position and the Az corresponding to the coordinate in elements (3) and (4) in relation to the full range of azimuth values and azimuth limits. The range of the widget is the same as for Az encoder. This widget does not control the telescope but assists the operator in choosing a coordinate
Widget: Limits
Units and Format: Not applicable
Style: The widget shows both the indicated Az encoder and the Az encoder value corresponding to elements (3) and (4)) as, for example, thick and dashed lines. The cardinal directions from left to right across the widget are: W, N, E, S, W, N, E; due south is at the center.
Red regions at the left and right of the widget will show where the azimuth crosses the first limit switch. Yellow regions inside the red regions indicate when the telescope is within 'd' degrees of the limit switch. Thus, the operator can see graphically where the telescope is positioned, where he or she is about to commanded it to go, the magnitude of the difference between the commanded and indicated positions, and how close to a limit the telescope is or might be.
Labeling: None needed since the use of the widget is explicit in its design.
Element: 6
Function: Displays graphically the current encoder El position as well as the El corresponding to the coordinate in elements (3) and (4) in relation to the full range of elevation values and elevation limits. The range of the widget is the same as for El encoder. This widget does not control the telescope but assists the operator in choosing a coordinate.
Widget: Limits
Units and Format: Not applicable
Style: The widget shows both the indicated El encoder and the El encoder value corresponding to elements (3) and (4)) as, for example, thick and dashed lines. The bottom and top of the widget correspond to ~5 and ~95.
Red regions at the top and bottom of the widget will show where the elevation crosses the first limit switch. Yellow regions inside the red regions indicate when the telescope is within 'd' degrees of the limit switch. A blue region will indicate the elevations where the telescope is in the 'cone of avoidance.' Thus, the operator can see graphically where the telescope is positioned, where he or she is about to command it to go, the magnitude of the difference between the commanded and indicated positions, and how close to a limit the telescope is or might be.
Labeling: None needed since the use of the widget is explicit in its design.
Element: 7
Function: Undoes any changes to the screen since it was brought up or since 'Update' (element (8)) was last pressed.
Widget: Button
Style and Labeling: As indicated.
Element: 8
Function: Updates elements (3) and (4) with the current coordinates in the chosen system.
Widget: Button
Style and Labeling: As indicated,
Element 9:
Function: Loads into elements (2), (3), (4), (5), and (6) the coordinate systems and coordinate of predefined positions (e.g., stow, access, etc.). Does not move the telescope but only loads the coordinates into the widget.
Widget: Pull Down
Choices: The list of choices is not yet fully defined.
Element: 10
Function: To move the telescope to the position in elements (2)-(4).
Widget: Button
Style: When the button is pressed, we must have a way for the operator to first 'feel' that the computer has accepted the button click and to then 'feel' that the telescope is acting on the button click. This could be done with two distinct sounds or by three different states of the button (e.g., default appearance before the button is clicked, dark grey when clicked, blue for 1-2 sec when the telescope accepts the command and starts the telescope moving, default appearance after the telescope has started to move.)
Labeling: As shown.
Element: 11
Function: To move the telescope to the position in elements (2)-(4) plus the offset position in elements (15)-(17).
Widget: Button
Style and Labeling: Same as element (10)
Element: 12
Function: To move the telescope from its current position with the rates in elements (17)-(19) in the coordinate system given by element (2).
Widget: Button
Style and Labeling: Same as element (10).
Element: 13
Function: To halt the telescope in a smooth, non-panic fashion (for example, by setting the azimuth and elevation rates to zero).
Widget: Button
Style and Labeling: As shown.
Element: 14
Function: To halt the telescope and track the position at which the telescope stops. Only does something if the coordinate system in element (2) is RA-DEC, galactic, or ecliptic. Inactive if the system is Az-El or HA-DEC.
Widget: Button
Style and labeling: As shown.
Element: 15
Function: Allows the operator to chose an offset X-axis coordinate to be used by element (11).
Widget: Thumb switches
Units and Format: Depends upon the coordinate system chosen by element (2).
Az-El encoder: +DDD.ddddd; range depends upon the definition of zero; either -270.00000-270.00000 or -90.00000-450.00000.
Az-El, Galactic, (ecliptic): DDD.ddddd ; range: 0.00000-360.00000
RA-DEC (in its various flavors): HH:MM:SS.ss ; range 00:00:00.00 - 23:59:59.99
HA-DEC (in its various flavors): +HH:MM:SS.ss ; range: -12:00:00.00 - 11:59.59.99.
A total of 8 digits plus one for the sign are needed. The colons in my drawings will need to be dynamically altered whenever a DDD.dddd system is chosen. When the screen come up, zeros will be loaded into the widget.
Labeling: None since the table arrangement clearly indicates what is being displayed.
Element: 16
Function: Allows the operator to chose an offset Y-axis coordinate to be used by element (11).
Widget: Thumb switches
Units and Format: Depends upon the coordinate system chosen by element (2).
Az-El encoder: DD.ddddd ; range ~5.00000-~95.00000
Az-El: DD.ddddd ; range: 0.00000-90.00000
Galactic, (ecliptic): +DD.ddddd ; range: -90.00000 - 90.00000
RA-DEC and HA-DEC (in their various flavors): +DD:MM:SS.s ; range -90:00:00.0 - 90:00:00.0
A total of 7 digits plus one for the sign are needed. The colons in my drawings will need to be dynamically altered whenever a DDD.dddd system is chosen. When the screen come up, zeros will be loaded into the widget.
Labeling: None since the table arrangement clearly indicates what is being displayed.
Element: 17
Function: Allows the operator to choose whether or not to correct the X-axis offset and rates for secant(Y).
If unchecked, then element (11) will move the telescope to X = element(3) + element(15); Y = element(4) + element(16). If unchecked, then element (12) will move the telescope at an X-axis rate = element(18), Y-axis rate = element(19).
If checked, the telescope will move to X = element(3)+element(15)*secant(element(4); Y = element(4)+element(16). If checked, then element (12) will move the telescope at an X-axis rate = element(18)*secant(current Y-axis value) , Y-axis rate = element(19).
Widget: Check Box
Labeling: As shown.
Element: 18
Function: To specify an X-axis rate used by element (12) in the coordinate system chosen by element (2). When the screen come up, zeros will be loaded into the widget.
Widget: Thumb switch
Units and Format: +XXXX.xx in '/min (= "/sec = /hr).
Labeling: None since the table arrangement clearly indicates what is being displayed.
Element: 19
Function: To specify a Y-axis rate used by element (12) in the coordinate system chosen by element (2). When the screen come up, zeros will be loaded into the widget.
Widget: Thumb switch
Units and Format: +XXXX.xx in '/min (= "/sec = /hr).
Labeling: None since the table arrangement clearly indicates what is being displayed.
Element: 20
Function: To close the screen (and uncheck element (1)).
Widget: Button
Style and Label: As indicated.
Background and other screen elements: In addition to the above elements, the screen also uses labeling to distinguish itself from other screens. I also use boxes to help organize the screen elements.