STOP Command

From MCEWiki
Revision as of 11:00, 8 July 2008 by 142.103.235.44 (talk)

Background

The stop command was invented to allow users to stop a data acquisition in mid-stream. There are a variety of reasons for wanting to do so:

  • Malfunction of other subsystems at the telescope
  • Not receiving any DV pulses from the Sync Box or other triggering software

Features

The STOP command is supported as a special command in the Clock Card firmware. Unlike for WB and RB commands, the MCE replies to the STOP command immediately. Data packets continue to be returned following the reply to the STOP command until all of the remaining ret_dat commands are flushed from the MCE. The last data packet has the 'stop' and 'last_frame' bits set in the status frame header.


When a STOP command is issued outside of a data run, no data packets are returned. When a STOP command is issued during a data run, the timing of the last data frame does not generally follow the timing that is specified by the data_rate parameter. In general, the last ret_dat is queue up as quickly as possible. For example, when the Clock Card is sourcing its DV pulses from the Sync Box, it does not wait for the next DV pulse. If it did, it might hang if the source of the DV pulses was cut off.

Testing

The cmd_translator block on the clock card is the block that nominally runs data acquisitions. It is a complicated piece of code, and requires simulation of at least the following cases:

  • Acquisition of one frame of data
  • Acquisition of multiple frames of data
  • Acquisition while sourcing the DV from the Sync Box (use_sync=2, use_dv=2, select_clk=1)
  • Acquisition while sourcing the DV from the Sync Box's input (use_sync=2, use_dv=2, select_clk=1)
  • Acquisition while sourcing the DV from the Sync Box and disconnecting the Sync Box fibre.
  • Acquisition while sourcing the DV from the Sync Box with the fibre initially disconnected


All the cases above should be repeated in the following scenarios:

  • a STOP command should be issued before the first frame is returned
  • a STOP command should be issued during the acquisition
  • a STOP command should be issued after the acquisition

How to Issue STOP Command

From a shell:

> mce_cmd -x stop <card_addr> ret_dat

In MAS' interactive mode:

> stop <card_addr> ret_dat

In order to stop the MAS data process only from a shell:

> mce_cmd -x fakestop

Quick Reference