Specifications
1.6. VERSION [maximum 256 bytes, ASCII]. Version number of locally-installed software.
May include additional information or elaboration; if so, the “principal” version number
must appear first and be followed by a single space. Any unused bytes at the end of this
string should be spaces.
1.x Additional MIB entries beginning “1.” TBD
x. MIB entries numbered 2 or higher are subsystem-specific, and are defined in the associated
ICDs
4 Message Structure
Messages are contained entirely within the payload fields of UDP packets. The maximum size of a
message is 8192 bytes. A message is subdivided into fields as defined below. All fields are required
(except as indicated), contiguous, and must appear in the order indicated and with the number of
bytes indicated. Unless indicated otherwise, data are right-justified in their fields, and padded with
the character “ ” (space).
1. DESTINATION [3 bytes, ASCII/Alphanumeric]. This is the intended recipient of the message.
Valid values are “ALL” (to be interpreted as “all subsystems receiving this message”), “ASP”,
“DP ” (note blank in third position), and “MCS”. (Other values will be added as necessary.)
Subsystems shall ignore any message not addressed to either the subsystem or “ALL”.
2. SENDER [3 bytes, ASCII/Alphanumeric]. This is the subsystem sending the message. Valid
values are the same as for DESTINATION.
3. TYPE [3 bytes, ASCII/Alphanumeric]. This field indicates the type of message. A list of
message types is given in Section 5.
4. REFERENCE [9 bytes, ASCII/Numeric] (base-10 integer). MCS assigns reference numb er s to
messages. Reference numbers are assigned sequentially station-wide, so connected subsytems
should not interpret gaps in the sequence as missed messages. Responses to MCS comma nd
messages use the same reference number appearing in the command message.
5. DATALEN [4 bytes, ASCII/Numeric] (base-10 integer). This is the number of bytes in the
DATA field.
6. MJD [6 bytes, ASCII/Numeric] (base-10 integer). Integer part of the modified Julian day
(MJD). For example: For Dec 28, 2008 UT this is “54828”. See additional information below.
7. MPM [9 bytes, ASCII /Numeric] (base-10 integer). Milliseconds past UT midnight; see “MJD”.
(Note that there are 86,400,000 milliseconds in a UT day, except for days with a leap second.)
See additional information below.
8. There is always a space following the MPM field.
9. DATA. [Variable length, variable format]. The contents of this field depend on the message
TYPE; see Section 5.
The purpose of the MJD and MPM fields is primarily to confirm to the recipient that the sender
has a consistent understanding of what time it is, and also to provide a convenient mechanism for
keeping or seaching logs. Subsystems may use this information to set local clocks, with the under-
standing that the accuracy of these times (due to non-deterministic OS- and transmission-related
delays) is probably not better than a few milliseconds, and could be intermittently much worse.
Unless explicitly indicated in associated subsystem ICDs, MJD and MPM should not be interpreted
as the time at which the command is to take effect, nor should these be interpreted as being precisely
the time at which the condition reported in a response was observed. If it is necessary to convey
this information precisely, those times can alternatively be indicated separately as part of the DATA
4