Transmission modes for digital instruments
Guralp Systems digital equipment can operate in one of several transmission modes. These modes relate to how the unit uses its Flash memory:
- as a simple data store, from which you can request data (FILING and DUAL modes);
- as a buffer holding unacknowledged blocks, which are transmitted in preference to real-time data (FIFO mode);
- as a buffer holding unacknowledged blocks, which are transmitted whenever the channel is free but no real-time data blocks are ready (ADAPTIVE mode);
- not at all (DIRECT mode).
Separate from these modes are buffering modes, which tell the unit what to do when its Flash memory becomes full: either
- carry on, overwriting the oldest data held, or
- stop writing and switch the instrument into DIRECT mode.
You can switch between transmission modes in Scream! by right-clicking on the digitiser and clicking on Control…, then navigating to the Data Flow pane:
Clicking Apply in this window immediately activates the transmission mode you have selected—there is no need to reboot.
If you prefer, you can use the instrument terminal to switch between transmission modes. The commands to use are given below.
Instructs the instrument not to use Flash memory for storage. Instead, all data are transmitted directly to clients. An instrument in DIRECT mode still honours the GCF Block Recovery Protocol: a temporary RAM buffer always holds the last 256 blocks generated, and if a client fails to receive a block it can request its retransmission.
If you expect breaks in communication between the instrument and its client to last more than 256 blocks, or if you want the instrument to handle breaks in transmission (rather than relying on the client to request missed blocks), you should use
- ADAPTIVE mode, if you want data to stay as near to real time as possible (but do not mind if blocks are received out of order) or
- FIFO mode, if you need blocks to be received in strict order (but do not mind if the instrument takes a while to catch up to real time.)
Instructs the instrument not to transmit blocks to clients automatically, but to store all digitised data in the Flash memory. If you have chosen the RECYCLE buffering mode (see below), the memory is used in circular fashion, i.e. if it becomes full, incoming blocks begin overwriting the oldest in memory. If the WRITE-ONCE mode is active, the instrument will switch to DIRECT mode (see above) when the memory becomes full.
You can retrieve blocks from an instrument in FILING mode by connecting to its terminal interface and issuing commands such as FLUSH.
When in FILING mode, an instrument transmits “heartbeat” messages over its data port. These short messages take the place of blocks, and ensure that programs such as Scream! know that an instrument is present. You can change the frequency of heartbeat messages using the command HEARTBEAT.
FIFO (First In First Out)
Instructs the instrument to begin writing blocks to Flash memory as for FILING mode, but also to transmit data to clients. Data is transmitted in strict order, oldest first; the instrument will only transmit the next block when it receives an explicit acknowledgement of the previous block.
If the communications link is only marginally faster than the data rate, it will take some time to catch up with the real-time data after an outage. If you want data to be transmitted in real-time where possible, but are worried about possible breaks in communication, you should use ADAPTIVE mode instead.
Like all the transmission modes, FIFO mode does not delete data once it has been transmitted. You can still request anything in the Flash memory using Scream! or over the command line. The only way data can be deleted is if it is overwritten (in the RECYCLE buffering mode, see below) or if you delete it manually.
Instructs the instrument to transmit current blocks to clients if possible, but to store all unacknowledged blocks in the Flash memory and re-send them, oldest first, when time allows. ADAPTIVE mode is best suited for “real-time” installations where the link between digitiser and client is intermittent or difficult of access.
If the communications link is only marginally faster than the data rate, it will usually be busy transmitting real-time data. Thus, it may take a while for the instrument to work through the missed blocks. In this case, and if your client supports it, you may prefer to use the Block Recovery Protocol to request missed blocks where possible.
Some software packages (most commonly Earthworm) cannot handle blocks being received out of time order. If you are using such a package, ADAPTIVE mode will not work, and may crash the software.
Syntax: FILING DUAL (n.b.)
Instructs the instrument to transmit any continuous streams directly to clients as for DIRECT mode, but to store triggered data into Flash storage as for FILING mode.
RE-USE / RECYCLE
Instructs the instrument to carry on using the current transmission mode when the Flash memory becomes full, overwriting the oldest data held. This buffering mode is called RECYCLE in Scream! and on the DCM.
For example, in DUAL mode with RECYCLE buffering, the latest continuous data will be transmitted to you as normal, and the latest triggered data may be retrieved from the Flash memory using Scream! or the command line. However, if you do not download data regularly from the Flash memory, you may lose older blocks. This mode thus lets you define the end point of the data held by the instrument.
Instructs the instrument to stop writing data to the Flash memory when it is full, and to switch to DIRECT mode automatically.
For example, in FIFO mode with WRITE-ONCE buffering, the station will transmit data to you continuously, but also save it in the Flash memory until it is full. Once full, the instrument will switch to DIRECT mode and continue transmitting, though no further data will be saved. This mode thus lets you define the start point of the data held by the instrument.