beautypg.com

D.5.4 instruction code, D.5.5 instruction code qualifier – Comtech EF Data CDM-600/600L User Manual

Page 196

background image

CDM-600/600L Open Network Satellite Modem

Revision 3

Appendix D

MN/CDM600L.IOM

D–4

D.5.4 Instruction Code

This is a three-character alphabetic sequence that identifies the subject of the message. Wherever
possible, the instruction codes have been chosen to have some significance. For Example: TFQ
for Tx FreQuency; RMD for Rx MoDulation type, etc. This aids in the readability of the
message, should it be displayed in its raw ASCII form. Only upper case alphabetic characters
may be used (A-Z, ASCII codes 65 - 90).

D.5.5 Instruction Code Qualifier

This single character further qualifies the preceding instruction code. Code Qualifiers obey the
following rules:

1. From Controller-to-Target, the only permitted values are:

=

(ASCII code 61

The = code is used as the assignment operator, and is used to indicate that the
parameter defined by the preceding byte should be set to the value of the
argument(s) that follow it. For Example: In a message from Controller-to-Target,
TFQ=0950.0000 would mean ‘set the Tx frequency to 950 MHz’

?

(ASCII code 63)

The ? code is used as the query operator, and is used to indicate that the Target
should return the current value of the parameter defined by the preceding byte.
For Example: In a message from Controller-to-Target, TFQ? would mean
‘return the current value of the transmit frequency’.

2. From Target-to-Controller, the only permitted values are:

=

(ASCII code 61)

The = code is used in two ways:

First, if the Controller has sent a query code to a Target (for Example: TFQ?,
meaning ‘what is the Tx frequency?’), the Target would respond with
TFQ=xxxx.xxxx, where xxxx.xxxx represents the frequency in question.

Second, if the Controller sends an instruction to set a parameter to a particular
value, and if the value sent in the argument is valid, then the Target will
acknowledge the message by replying with TFQ= (with no message arguments).

?

(ASCII code 63)

The ? code is only used as follows:

If the Controller sends an instruction to set a parameter to a particular value,
then, if the value sent in the argument is not valid, the Target will acknowledge
the message by replying, for example, with TFQ? (with no message arguments).
This indicates that there was an error in the message sent by the Controller.

!

(ASCII code 33)

The ! code is only used as follows:

If the Controller sends an instruction code which the Target does not recognize,
the Target will acknowledge the message by echoing the invalid instruction,
followed by the ! character. Example: XYZ!

*

(ASCII code 42)

The * code is only used as follows:

If the Controller sends an instruction to set a parameter to a particular value,
then, if the value sent in the argument is valid, BUT the modem will not permit
that particular parameter to be changed at that time, the Target will acknowledge
the message by replying, for example, with TFQ* (with no message arguments).

#

(ASCII code 35)

The # code is only used as follows:

If the Controller sends a correctly formatted command, BUT the modem is not in
remote mode, it will not allow reconfiguration, and will respond with TFQ#.