-
Notifications
You must be signed in to change notification settings - Fork 0
Rig Configurations
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.
To define a new rig configuration you need to create a sub-class of the RigConfiguration class.
Your sub-class should:
- Uniquely identify the configuration.
- Override the createDevices() methods.
Identify the configuration using constant properties of the RigConfiguration sub-class.
properties (Constant)
displayName = 'My Configuration'
end
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');
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
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.
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