Table of Contents
TIP

This is a device configuration operator. Aggregate configuration operators are recommended in lieu of device configuration operators for interfacing with Open Ephys Onix hardware.

ConfigureMemoryMonitor

sink Operator

Configures a hardware memory monitor.

This configuration operator can be linked to a data IO operator, such as MemoryMonitorData, using a shared DeviceName.The memory monitor produces periodic snapshots of the system's first in, first out (FIFO) data buffer. This can be useful for:

  • Ensuring that data is being read by the host PC quickly enough to prevent real-time delays or overflows. In the case that the PC is not keeping up with data collection, FIFO memory use will increase monotonically.
  • Tuning the value of ReadSize to optimize real-time performance. For optimal real-time performance, ReadSize should be as small as possible and the FIFO should be bypassed (memory usage should remain at 0). However, these requirements are in conflict. The memory monitor provides a way to find the minimal value of value of ReadSize that does not result in excessive FIFO data buffering. This tradeoff will depend on the bandwidth of data being acquired, the performance of the host PC, and downstream real-time processing.

ConfigureMemoryMonitor Workflow

Inputs & Outputs

Configures a memory monitor device.

This will schedule configuration actions to be applied by a StartAcquisition instance prior to data acquisition.

A sequence of ContextTask instances that holds configuration actions.

right-arrow
representation of a sink operator
right-arrow

The original sequence modified by adding additional configuration actions required to configure a memory monitor device.

Properties

Property Type Description
Enable bool

Gets or sets the device enable state.

If set to true, MemoryMonitorData will produce data. If set to false, MemoryMonitorData will not produce data.

SamplesPerSecond uint

Gets or sets the frequency at which memory use is recorded in Hz.

DeviceName string

Gets or sets a unique device name.

The device name provides a unique, human-readable identifier that is used to link software elements for configuration, control, and data streaming to hardware. For instance, it can be used to link configuration operators to data IO operators within a workflow. This value is usually not set manually, but is assigned in a MultiDeviceFactory to correspond to a fixed address with a piece of hardware such as a headstage. This address is used for software communication.

DeviceAddress uint

Gets or sets the device address.

This is a fully-qualified numerical hardware address of a device within the device table produced by an Open Neuro Interface (ONI) compliant acquisition system. This value is usually not set manually, but is assigned in a MultiDeviceFactory to correspond to a fixed address with a piece of hardware such as a headstage. This address is used for hardware communication.

DeviceType Type

Gets or sets the device identity.

This type provides a device identity to each device within the device table produced by an Open Neuro Interface (ONI) compliant acquisition system.