1. Introduction

This document describes Mark 6 support in FS 10.0.0 when the Mark6 is used with the cplane/dplane control programs. Use of a Mark 6 with jive5ab is supported in the FS as a FlexBuff recorder and is not covered here.

The support for a Mark 6 with cplane/dplane does not provide the complete command set and functionality usually provided by the FS for a recorder. However, it is sufficient for normal FS for VGOS observations if the schedule procedure library is provided by a specially crafted .skd schedule file (see the broad band support item of the drudg changes relative to the main branch sub-section of the Changes from FS9 document for more details).

2. FS Mark 6 support features

The Mark 6 features included are:

2.1. Up to two Mark 6 are supported

If two Mark 6s are available, one or the other can be used for recording if only that one has a control file that defines a recorder. This gives an effective way to switch back and forth between two recorders without having to change the commands used. This uses the parallel execution form of commands, i.e., without a trailing device letter in the command names, as described below in Parallel command execution, but with only one recorder defined.

If more than one Mark 6 is used, it would typically be for parallel recording of different data streams. This has not been tested.

It should possible in the future to record sequentially, but this will require modifications to dynamically change which recorder is considered active.

Table 1. Typical Mark 6 VGOS configuration
Mark 6 Control File Control Program

a

mk6ca.ctl

mk6ca

b

mk6cb.ctl

mk6cb

2.2. Parallel command execution

Parallel execution of commands for multiple Mark 6s is supported (currently the only other device that has this is RDBE racks). Currently the only parallel Mark 6 command is mk6.

  • Multiple instances of devices are identified by the letters, a,b, etc. In this case, a through b.

  • Commands that support parallel operation always start with device mnemonic, in this case mk6. If a letter for the device, e.g., a, is appended to the command, e.g., mk6a, the command operates only on that device. If no letter is appended, the command operates on all active instances of the device.

  • By default all available devices are active. Which devices are active can be changed with an active_devices command, in this case active_mk6s.

  • Which devices are available are defined by which have control files that have non-comment entries. In others words, a device is not available if its control file is commented out.

  • If any errors occur during communication with the devices, they are all reported. All but the last are reported by the command itself. The last is returned and reported as the final status of the command.

  • Logged responses from the devices may occur in what appears to be random order. Although communication with devices is initiated in sequential order, variations in response time can cause the responses to arrive in a different order. The responses are logged in the order received.

2.3. Low level Mark 6 communication command

The mk6 command can be used to communicate directly with an individual Mark 6 or all active Mark 6s in parallel, as described in the Parallel command execution sub-section above. A semi-colon is appended to any string being sent if it not the last character already. A newline (0xa) is also appended. For full details of the Mark 6 command set, please see the documentation:

2.4. Communication control programs

  • Each Mark 6 has its own control program, mk6ca and mk6cb.

  • Each control program uses a similarly named control file, mk6ca.ctl and mk6cb.ctl.

    These files have one non-comment line, containing three fields:

    1. The IP or hostname of the device

      Note
      For systems where IP addresses and/or hostnames are sensitive information, it is recommend to use an alias, such rdbea that has its IP address set in /etc/hosts.
    2. The control port for the device.

      Usually 14242.

    3. The time-out for the device in centiseconds.

      A value of 100 (one second) is usually suitable for local devices.

2.5. mk6in external program

A script mk6in is provided as a diagnostic utility to report the data rate being received at the Mark 6 inputs. The script is available in misc/mk6in. It should be installed in the Mark 6 ~oper/bin directory, as oper, and made executable:

chmod a+x ~/bin/mk6in

A CentOS version is available in misc/mk6in.centos (you will need to name it mk6in when you put it in ~oper/bin on the Mark 6).

To use the script as a FS command, add a mk6in SNAP procedure to the station library, containing:

sy=popen -n mk6in 'ssh oper\@mark6a bin/mk6in 2>&1' &

An example is available in st.default/rdbestation.prc. You can substitute the IP, nodename, alias (from /etc/hosts) for your Mark 6 in place of the mark6a in the above command. You can have different SNAP procedure versions, maybe mk6ina and mk6inb for two different Mark 6s.

To use this seamlessly, it will be necessary to copy the FS oper SSH public key to the Mark 6 oper account. For example, as oper on the FS machine, you could use:

ssh-copy-id oper@mark6a

Answer the prompts appropriately.