Sequencer Control¶
Sequencer Control allows acquisition of images with varying settings without stopping stream. A total of 8 different sets can be defined in Sequencer with each set maintaining unique values for the supported features. When Sequencer Mode is enabled, camera will cycle through these 8 sets and grab images for example with different Gain and Exposure Time. For each cycle, 8 different paths can be defined and in each path one set can point to any of other 7 sets for upcoming frame .
Supported Features:¶
Current implementation supports following features in a sequencer set:
- Gain
- Exposure Time
Configuring a Sequencer Set¶
Following instructions will explain the process of configuring sequencer with 2 sets of Exposure Time where set 0 goes to set 1 and set 1 goes back to set 0, all being triggered on Frame Start.
Configuring first set of sequencer:
- In order to start the configuration process, set SequencerConfigurationMode to “On” under Sequencer Control group
- Ensure SequencerFeatureSelector is set to “ExposureTime”
- Be default SequencerSetSelector is set to “0”, this means that we can set a exposure time for set “0” under AcquisitionControl (the ExposureAuto node is already forced to Off at this point). Go under Acquisition Control group and set an ExposureTime of 100us for example
- Set SequencerSetStart to “0”. This means that every cycle will start from set “0”.
- SequencerPathSelector can be “0”
- SequencerSetNext should be set to “1”
- Set SequencerTriggerSource to “FrameStart”, this will allow sequencer to change set at each Frame Start signal
- Clicking “SequencerSetSave” will save your first set of sequencer setting with exposure time 100us
Now let’s configure the second set of sequencer:
- Change SequencerSetSelector from “0” to “1” in order to start configuring set 2
- Set SequencerSetNext to “0”
- Go under Acquisition Control group and Set ExposureTime to another value like 50000us
- Leave SequencerTriggerSource to “FrameStart”, this will allow sequencer to change at each Frame Start signal
- Clicking on “SequencerSetSave” will save your second set of sequencer setting with exposure time 50000us
Now turn SequencerConfigurationMode to “off”, the firmware will validate your sequencer setting to ensure it is valid. SequencerMode should now be writable which allows you to set it to “On”, if it’s not writable then it that means sequencer set configured is invalid. After setting SequencerMode to “On” and streaming the camera, you should see flashing of images with 2 exposure times.
Note that for SingleFrame and MultiFrame acquisition modes, AcquisitionStop must be executed before executing AcquistionStart again.
The following pseudocode summarizes above instructions and demonstrates configuring two sets 0 and 1 with varying ExposureTime so they loop 0-1-0-1.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | // Connect to camera
// Get device node map
ExposureAuto = "Off";
GainAuto = "Off";
SequencerMode = "Off";
SequencerConfigurationMode = "On";
// Configuring set 1
SequencerSetSelector = 0;
SequencerFeatureSelector = "ExposureTime";
ExposureTime = 100;
SequencerPathSelector = 0;
SequencerSetNext = 1;
SequencerTriggerSource = FrameStart;
SequencerSetSave;
// Configuring set 2
SequencerSetSelector = 1;
SequencerFeatureSelector = "ExposureTime";
ExposureTime = 50000;
SequencerPathSelector = 0;
SequencerSetNext = 0;
SequencerTriggerSource = FrameStart;
SequencerSetSave;
SequencerSetStart = 0
SequencerConfigurationMode = "Off"
SequencerMode = "On"
|
Node Name | Description |
---|---|
SequencerMode | Controls if the sequencer mechanism is active. |
SequencerConfigurationMode | Controls if the sequencer configuration mode is active. |
SequencerFeatureSelector | Selects which sequencer features to control. |
SequencerFeatureEnable | Enables the selected feature and make it active in all the sequencer sets. |
SequencerSetSelector | Selects the sequencer set to which further feature settings applies. |
SequencerSetSave | Saves the current device state to the sequencer set selected by the SequencerSetSelector. |
SequencerSetLoad | Loads the sequencer set selected by SequencerSetSelector in the device. |
SequencerSetActive | Contains the currently active sequencer set. |
SequencerSetStart | Sets the initial/start sequencer set, which is the first set used within a sequencer. |
SequencerPathSelector | Selects to which branching path further path settings applies. |
SequencerSetNext | Specifies the next sequencer set. |
SequencerTriggerSource | Specifies the internal signal or physical input line to use as the sequencer trigger source. |
SequencerTriggerActivation | Specifies the activation mode of the sequencer trigger. |