IDS Peak comfortSDK, genericSDK, IPL, and AFL developer manuals are external documents. Please contact us if you need them.
Selects the internal signal or physical input line that will be the source to increment the counter.
Name |
CounterEventSource[CounterSelector] |
Category |
|
Interface |
Enumeration |
Access |
Read/Write |
Unit |
- |
Visibility |
Expert |
Values |
AcquisitionStart AcquisitionEnd AcquisitionTrigger AcquisitionTriggerMissed Counter0Start Counter1Start Counter0End Counter1End ExposureStart ExposureEnd ExposureTrigger ExposureTriggerMissed FrameStart FrameEnd FrameTrigger FrameTriggerMissed Line0 Line1 Line2 Line3 Line4 Line5 Line6 LineTrigger LineTriggerMissed ReadOutStart ReadOutEnd Timer0Start Timer1Start Timer0End Timer1End |
Standard |
SFNC |
Availability uEye+ |
|
Availability uEye |
- |
Values description
•Off: Disables the counter.
•AcquisitionStart: The counter counts the number of acquisition starts.
•AcquisitionEnd: The counter counts the number of acquisition stops.
•AcquisitionTrigger: The counter counts the number of "AcquisitionStart" trigger signals.
•AcquisitionTriggerMissed: The counter counts the number of missed "AcquisitionStart" trigger signals.
•Counter0Start, Counter1Start: The counter counts the number of "CounterStart" signals of the selected counter.
•Counter0End, Counter1End: The counter counts the number of "CounterEnd" signals of the selected counter.
•ExposureStart: The counter counts the number of exposure starts.
•ExposureEnd: The counter counts the number of exposure ends.
•ExposureTrigger: The counter counts the number of "ExposureStart" trigger signals. Only available in SensorOperationMode "LongExposure" and "Default".
•ExposureTriggerMissed: The counter counts the number of missed "ExposureStart" trigger signals. Only available in SensorOperationMode "LongExposure" and "Default".
•FrameStart: The counter counts the number of frame starts. Only available in SensorOperationMode "Linescan".
•FrameEnd: The counter counts the number of frame ends.
•FrameTrigger: The counter counts the number of "FrameStart" trigger signals. Only available in SensorOperationMode "Linescan".
•FrameTriggerMissed: The counter counts the number of missed "FrameStart" trigger signals. Only available in SensorOperationMode "Linescan".
•Line0 … Line6 (see overview): The counter counts the specified transitions on the chosen I/O line.
•LineTrigger: The counter counts the number of "LineStart" trigger signals. Only available in SensorOperationMode "Linescan".
•LineTriggerMissed: The counter counts the number of missed "LineStart" trigger signals. Only available in SensorOperationMode "Linescan".
•ReadOutStart: The counter counts the number of "ReadOutStart" signals.
•ReadOutEnd: The counter counts the number of "ReadOutEnd" signals.
•Timer0Start, Timer1Start: The counter counts the number of "TimerStart" signals of the selected timer.
•Timer0End, Timer1End: The counter counts the number of "TimerEnd" signals of the selected timer.
Overview of available lines by camera family
This overview describes all available lines. Depending on the camera model used, not all functions may be supported.
Line |
GigE uEye+ Warp10 |
GigE uEye+ CP Rev. 2/CP Rev. 2.2 GigE uEye+ FA/FA Rev. 1.2 GigE uEye+ SE Rev. 4/SE Rev. 4.2 USB 3 uEye+ CP Rev. 2/CP 2.2 uEye+ SE USB 3.1 Gen 1/SE Rev 1.2 uEye+ LE USB 3.1 Rev. 1.2 (PCB version only) |
uEye+ XCP USB 3 Rev. 1.2 uEye+ XLE USB 3 Rev. 1.2 (PCB version only) uEye+ XLS USB 3 Rev. 1.2 |
uEye+ XLE USB 3 Rev. 1.1 (PCB version only) |
---|---|---|---|---|
Line0 |
(Trigger) Input 0 with optocoupler |
(Trigger) Input with optocoupler |
(Trigger) Input without optocoupler |
(Trigger) Input without optocoupler |
Line1 |
(Trigger) Input 1 with optocoupler |
(Flash) Output with optocoupler |
(Flash) Output without optocoupler |
(Flash) Output without optocoupler |
Line2 |
(Trigger) Input 2 with optocoupler |
GPIO 1 without optocoupler |
GPIO 1 without optocoupler |
- |
Line3 |
(Flash) Output 0 with optocoupler |
GPIO 2 without optocoupler |
GPIO 2 without optocoupler |
- |
Line4 |
(Flash) Output 1 with optocoupler |
- |
- |
- |
Line5 |
Fast (Flash) Output 2 with optocoupler |
- |
- |
- |
Line6 |
Fast (Flash) Output 3 with optocoupler |
- |
- |
- |
•Input: Physical input line that e.g. serves as trigger input (LineMode = "Input" only).
•Output: Physical output line that e.g. serves as flash output (LineMode = "Output" only).
•GPIO: Input or output line that can be used as input or output. To configure the line as input, change LineMode to "Input". To configure the line as output, change LineMode to "Output".
You will find information about the pin assignment and wiring of your camera either in the hardware descriptions of the respective camera family or in the model-specific data sheet.
Code example
C++
// Before accessing CounterEventSource, make sure CounterSelector is set correctly
// Set CounterSelector to "Counter0"
nodeMapRemoteDevice->FindNode<peak::core::nodes::EnumerationNode>("CounterSelector")->SetCurrentEntry("Counter0");
// Determine the current entry of CounterEventSource
std::string value = nodeMapRemoteDevice->FindNode<peak::core::nodes::EnumerationNode>("CounterEventSource")->CurrentEntry()->SymbolicValue();
// Get a list of all available entries of CounterEventSource
auto allEntries = nodeMapRemoteDevice->FindNode<peak::core::nodes::EnumerationNode>("CounterEventSource")->Entries();
std::vector<std::shared_ptr<peak::core::nodes::EnumerationEntryNode>> availableEntries;
for(const auto & entry : allEntries)
{
if ((entry->AccessStatus()!=peak::core::nodes::NodeAccessStatus::NotAvailable)
&& (entry->AccessStatus()!=peak::core::nodes::NodeAccessStatus::NotImplemented))
{
availableEntries.emplace_back(entry);
}
}
// Set CounterEventSource to "Off"
nodeMapRemoteDevice->FindNode<peak::core::nodes::EnumerationNode>("CounterEventSource")->SetCurrentEntry("Off");
C#
// Before accessing CounterEventSource, make sure CounterSelector is set correctly
// Set CounterSelector to "Counter0"
nodeMapRemoteDevice.FindNode<peak.core.nodes.EnumerationNode>("CounterSelector").SetCurrentEntry("Counter0");
// Determine the current entry of CounterEventSource
string value = nodeMapRemoteDevice.FindNode<peak.core.nodes.EnumerationNode>("CounterEventSource").CurrentEntry().SymbolicValue();
// Get a list of all available entries of CounterEventSource
allEntries = nodeMapRemoteDevice.FindNode<peak.core.nodes.EnumerationNode>("CounterEventSource").Entries();
List<string> availableEntries = new List<string>();
for(int i = 0; i < allEntries.Count(); ++i)
{
if ((allEntries[i].AccessStatus() != peak.core.nodes.NodeAccessStatus.NotAvailable)
&& (allEntries[i].AccessStatus() != peak.core.nodes.NodeAccessStatus.NotImplemented))
{
availableEntries.Add(allEntries[i].SymbolicValue());
}
}
// Set CounterEventSource to "Off"
nodeMapRemoteDevice.FindNode<peak.core.nodes.EnumerationNode>("CounterEventSource").SetCurrentEntry("Off");
Python
# Before accessing CounterEventSource, make sure CounterSelector is set correctly
# Set CounterSelector to "Counter0" (str)
nodeMapRemoteDevice.FindNode("CounterSelector").SetCurrentEntry("Counter0")
# Determine the current entry of CounterEventSource (str)
value = nodeMapRemoteDevice.FindNode("CounterEventSource").CurrentEntry().SymbolicValue()
# Get a list of all available entries of CounterEventSource
allEntries = nodeMapRemoteDevice.FindNode("CounterEventSource").Entries()
availableEntries = []
for entry in allEntries:
if (entry.AccessStatus() != ids_peak.NodeAccessStatus_NotAvailable
and entry.AccessStatus() != ids_peak.NodeAccessStatus_NotImplemented):
availableEntries.append(entry.SymbolicValue())
# Set CounterEventSource to "Off" (str)
nodeMapRemoteDevice.FindNode("CounterEventSource").SetCurrentEntry("Off")