Skip to content
This repository was archived by the owner on Mar 23, 2019. It is now read-only.

Rig Configurations

Mark Cafaro edited this page Apr 15, 2014 · 1 revision

A rig configuration describes how a rig is wired. It consists of a list of named devices, each associated with an input and/or output stream of the DAQ hardware. In a typical physiology rig, each amplifier channel, stimulation device (LED, valve, etc.), and monitoring device (temperature controller, light meter, etc.) would be represented by a distinct device in a rig configuration.

Defining a new rig configuration

To define a new rig configuration you need to create a sub-class of the RigConfiguration class.

Your sub-class should:

  1. Uniquely identify the configuration.
  2. Override the createDevices() methods.

Identifying the configuration

Identify the configuration using constant properties of the RigConfiguration sub-class.

properties (Constant)
    displayName = 'My Configuration'
end

Adding a MultiClamp device

To add a MultiClamp device use the addMultiClampDevice() convenience method and supply a name for the device, the channel to use and the names of the output and input streams. Use an empty string to indicate that no output or input stream should be used.

obj.addMultiClampDevice('MC Channel 1', 1, 'ANALOG_OUT.0', 'ANALOG_IN.0');

Adding other devices

To add a non-MultiClamp device use the addDevice() convenience method and supply a name for the device and the names of the output and input streams. Use an empty string to indicate that no output or input stream should be used.

obj.addDevice('LED', 'ANALOG_OUT.1', '');   % output only

Saving rig configurations

Symphony will search for rig configurations in the directory defined by the config.rigConfigsDir variable in your symphonyrc.m script. All rig configurations must be at the top level of the rig configurations directory.

A simple configuration

The following class implements a simple configuration which has one MultiClamp device and one other device.

classdef SimpleRig < RigConfiguration

    properties (Constant)
        displayName = 'Simple Rig'
    end
    
    methods

        function createDevices(obj)
            obj.addMultiClampDevice('MC Channel 1', 1, 'ANALOG_OUT.0', 'ANALOG_IN.0');
            obj.addDevice('LED', 'ANALOG_OUT.1', '');   % output only
        end

    end

end