198
Console.WriteLine("No pulse seems to be present");
return;
}
// No configure all the devices to reset their timestamp with each pulse coming
// on the trigger line that the PPS signal is connected to.
foreach(Device aDevice in pDevs)
{
GenICam.AcquisitionControl ac = new GenICam.AcquisitionControl(aDevice);
ac.triggerSelector.writeS("mvTimestampReset");
ac.triggerSource.writeS(TriggerLine);
ac.triggerMode.writeS("On");
}
// wait for the next pulse that will then reset the timestamps of all the devices
if (!waitForNextPulse(pDevs[0],TriggerLine))
{
Console.WriteLine("the pulses aren't coming fast enough ...");
return;
}
// Now switch off the reset of the timestamp again. All devices did restart their
// timestamp counters and will stay in sync using the PPS signal now
foreach(Device aDevice in pDevs)
{
GenICam.AcquisitionControl ac = new GenICam.AcquisitionControl(aDevice);
ac.triggerMode.writeS("Off");
GenICam.DeviceControl dc = new GenICam.DeviceControl(aDevice);
dc.mvTimestampPPSSync.writeS("Line4");
}
}
1.18.6.3.4.1 Using a looped-back camera timer for the PPS signal
To reduce the amount of hardware needed you might want to sacrifice some timestamp validity and use one of the
cameras as a master clock. This can be done like this:
• setting Timer1 to duration 1s
• starting Timer2 with every Timer1End and generating a short pulse (duration = 1000 us)
• placing Timer2Active on one of the digital I/O lines and using that as the source for PPS signal
MATRIX VISION GmbH
Need help?
Do you have a question about the MATRIX VISION mvBlueNAOS and is the answer not in the manual?