Index
Displaying a register value in a page.
To have the dynamically changing value of a control system register
displayed in a page involves finding an unoccupied cell at the desired
location, clicking the right mouse over it to bring up the Field
Create menu, and selecting its Register
entry. Alternatively, if the target cell is already displaying another
register value, then clicking the right mouse button over it will
bring up a menu that allows you to change which register is displayed
there. If the cell contains a label, then to display a register there
you would first have to either delete the label by clicking the right
mouse button over it and selecting the Delete Field option, or
you could use the mouse to move it to
another cell.
The register configuration dialog
The configuration dialog that is displayed when you create or modify a
label, allows you to select the color of the
background of the field, the color of the text
displaying the value of the register, where to display the values
within the field, the register to be monitored, the textual format to
use to display the value, whether to allocate place for a sign
character when a number is positive, whether to highlight out-of-range
values, the range of values that are to be considered as within range,
and three other attributes that depend on the selected display format.
Justifying the text within the field
The position of the text within the field is specified via the
"justify" option menu button. Clicking on this button brings
up a menu of possible positions. The options are to center the text
within the field, left justify it, or right justify it.
Register specification
The easiest way to specify the register to be displayed is to click on
the green list
button next to the register entry field.
This results in a menu of board names being displayed, and when the
mouse is placed over one of these board names, a sub-menu is displayed
that displays the names of the registers on that board. Selecting one
of these registers results in the corresponding register specification
being written into the register specification field.
Except when string and date
formats are being used, register specifications should refer to a
single element of a register. Thus if the selected register contains
an array of values, you should specify the index of the register to
display. For example, in the CBI, the corr0.tp
register
is actually an array of 13 values. To show element 5, one would
specify, corr0.tp[5]
.
The provided display formats
- fixed-point
Display floating point numbers with a fixed number of digits after the
decimal point. A text-entry field is provided for specifying the
number of digits to be displayed after the decimal point.
- scientific
Display floating point numbers in scientific notation, with one figure
before the decimal point, a specified number of digits after the
decimal point and a power-of-ten exponent introduced by an 'E'. For
example -0.015, would be displayed as -1.5e-2. A text entry field is
provided for specifying the number of digits to display after the
decimal point.
- floating
Display the specified number of significant figures of a floating point
number, automatically switching to scientific notation when the number
becomes too large or small to display sensibly. The number of
significant figures is specified via a text entry field.
- sexagesimal
Display a floating point number in sexagesimal format. The number is
displayed like hh:mm:ss.sss
, prefixed with a minus sign
when negative. The hh
component displays the integer
part of the number, and the mm
and ss.ss
components display the fractional part in 60ths and 3600ths
respectively. In the ss.sss
field, the number of digits
after the decimal point is specified via a text entry field.
- integer
Display the integer part of the number in base 10. To prevent changes
in the number of digits from causing the number to move around in the
field while left justified or centered, one can specify a minimum
width for the number. Spaces are then prepended to the number to fill
up to the specified width, and the length of the resulting padded
number used for centering and justifying. As long as the number of
digits doesn't exceed this length, the number thus won't move within
the field.
- hex
Display the integer part of the number in hexadecimal (base 16). To
prevent changes in the number of digits from causing the number to
move around in the field while left justified or centered, one can
specify a minimum width for the number. Spaces are then prepended to
the number to fill up to the specified width, and the length of the
resulting padded number is used for centering and justifying. As long
as the number of digits doesn't exceed this length, the number thus
won't move within the field.
- octal
Display the integer part of the number in octal (base 8). To prevent
changes in the number of digits from causing the number to move around
in the field while left justified or centered, one can specify a
minimum width for the number. Spaces are then prepended to the number
to fill up to the specified width, and the length of the resulting
padded number is used for centering and justifying. As long as the
number of digits doesn't exceed this length, the number thus won't
move within the field.
- binary
Display the integer part of the number in binary (base 2). To prevent
changes in the number of digits from causing the number to move around
in the field while left justified or centered, one can specify a
minimum width for the number. Spaces are then prepended to the number
to fill up to the specified width, and the length of the resulting
padded number is used for centering and justifying. As long as the
number of digits doesn't exceed this length, the number thus won't
move within the field.
- string
This format is the only one that should be used with registers that
contain strings. The register should be specified without any array
indexes, because the characters of strings are encoded into all of the
elements of the register.
- date
Use this format with utc
registers. These registers
consist of two elements, one specifying the integer Modified Julian
Day number, while the second element contains the time of day as a
number of seconds. To combine these to form a date and time that can
be displayed with the date
format, the name of the
register should be suffixed with ".date". For example, the
frame.utc
register should be specified as
frame.utc.date
. Note that if you only want to display the
time part, you should use the sexagesimal
format and specify the register as frame.utc.time
.
- bit
This format is used to extract and display the logical state of a
given bit within a 32-bit integer. To give the two logical states
names that will be displayed when the specified bit has a particular
value, specify the two names separated by a comma in the text entry
field that is labeled "Names for values 0,1:"
- enum
This format is used with the integer part of a register value to
assign names to each of a number of consecutive integer values
starting from 0. The names are specified in the text entry field,
which is labeled "Names for 0,1,2..:", with each name
separated from the next with a comma. For example, if one has a
register that can have the values 0,1,2,3, one could specify the names
as zero,one,two,three
. Thereafter when the register had
the value 2, the string, two
would be displayed. Note
that since commas are used as separators, spaces can be included in
the names. If the register ever takes on a value that isn't covered by
the list of names, it will be displayed as an integer.
To provide some indication of when a register value is outside of its
optimum range, you can specify that a colored border be drawn when
this range is exceeded. By default this border is drawn in red, but
this is configurable via the page
configuration dialog.
The range of valid values is specified in two numeric entry fields.
Although these must be specified as numbers, this doesn't prevent this
facility from being used with the enum and bit formats, because these formats simply give names to
underlying numbers.
Having specified a range of values, depress the button that says,
"Highlight field values that are out of range.".
Martin Shepherd (4-Nov-1999)