RECORDER COMMAND AND CONTROL
Recorders are controlled over a full duplex communications channel. Typically, this channel is either a Recommended Standard 232 (RS-232) or an RS-422 serial communications port. Chapter 10 of IRIG 106 also defines a mechanism which allows control over any of the supported recorder network channels, including Ethernet, Fibre Channel, and IEEE 1394b.
The recorder Command and Control Mnemonic (CCM) language is defined in Chapter 6, with further requirements in Chapter 10. Interaction with a recorder is in a command/control fashion. That is, an external controller issues commands to a recorder over the command and control channel, and the recorder issues a single status response message.
Some commands, such as .BIT, can take a significant amount of time to complete. The proper method to determine when these commands are complete is to issue multiple .STATUS commands, checking the status complete field until it indicates the command has completed processing.
Commands written to a recorder should be terminated with carriage return and line feed characters. Responses from the recorder also terminate with carriage return and line feed. In general, it’s considered good defensive programming practice to recognize either character alone or both together as a valid line terminator. Commands are not case sensitive.
Neither Chapter 6 nor Chapter 10 addresses serial flow control. Most commands generate very little text, and buffer overflow shouldn’t be a problem. However, the .TMATS command can result in a considerable amount of text being transferred. Hardware flow control requires additional signal lines that may not be available on a recorder command and control interface. It would be prudent to be prepared to support XON and XOFF flow control in software.
Chapter 10 provides a mechanism for remote command and control over a network port using the SCSI protocol. Chapter 10 defines separate Logical Units for command and control. The SCSI “SEND” command (command code = 0x0A) along with a buffer containing a valid Chapter 6 command is used to send commands remotely. The SCSI “RECEIVE” command (command code = 0x08) is used to receive the command response. These SCSI command are described in the SCSI Primary Commands document in paragraph 2.2h.