I have a strange problem: (the aquisition of) my specim 17e camera crashes when I execute the following code. This is always the case, regardless of the setTrigger argument.
auto setTrigger(bool enable_trigger) const
{
// the order of operations is important, triggerselector should be the first command!
// https://docs.chromasens.de/docs/set-a-frame-trigger
nodes->Node<Cvb::EnumerationNode>(CVB_LIT("TriggerSelector"))->SetValue(CVB_LIT("FrameBurstStart"));
nodes->Node<Cvb::EnumerationNode>(CVB_LIT("TriggerMode"))->SetValue(CVB_LIT("On"));
if (enable_trigger)
nodes->Node<Cvb::EnumerationNode>(CVB_LIT("TriggerSource"))->SetValue(CVB_LIT("Line0"));
else
nodes->Node<Cvb::EnumerationNode>(CVB_LIT("TriggerSource"))->SetValue(CVB_LIT("SoftwareSignal0"));
nodes->Node<Cvb::EnumerationNode>(CVB_LIT("TriggerActivation"))->SetValue(CVB_LIT("RisingEdge"));
nodes->Node<Cvb::FloatNode>(CVB_LIT("TriggerDelay"))->SetValue(0);
if (enable_trigger)
return nodes->Node<Cvb::EnumerationNode>(CVB_LIT("TriggerSource"))->Value() == CVB_LIT("Line0");
else
return nodes->Node<Cvb::EnumerationNode>(CVB_LIT("TriggerSource"))->Value() == CVB_LIT("SoftwareSignal0");
}
Altough the camera (seems to) accept these settings - the procedure returns the correct true or false - result, the GeniCamBrowser reveals that the camera aquisition is crashed:
The Specim camera specifically crashes on the nodes->Node<Cvb::EnumerationNode>(CVB_LIT("TriggerSelector"))->SetValue(CVB_LIT("FrameBurstStart")); statement.
What could be the cause of this problem? - could it be that ‘FrameBurstStart’ is wrongly set, or that the order of setting operations is incorrect?
Hi @iwein,
If the acquisition works in freerunning mode and only in the FrameBurstStart mode we might have an issue with the camera itself. Then you should contact our responsible support from your region.
BTW: It could not be that you have set FrameBurstFrameCount to zero so that no image is acquired at all and that the image you see in the GenICam Browser is only empty data. (Frames:0… means that no image was acquired at all).
Thank you @Sebastian for the swift reply. In the meanwhile, we have conducted some extended tests with the camera.
Unit tests and experiments in our lab proof that the following three problems are present in our Specim 17e camera:
MROI Regions can only set once, after the camera is powered up.
Grabbing an image in FrameBurst mode crashes the CVB GeniCamBrowser.
Our device cannot be triggered with a Software0 trigger
Let us start with point (1); The following code snippet is used to set the MROI regions of our camera. More specifically, given a vector of even wavelength indices, e.g. filteredFeatures = {80,100, 120} , it configures three spectral band with size = 8 .
When the camera is turned on it boots into full frame mode. The procedure below is then called, effectively configuring the camera with 3 bands of 8 dimensions width. This is correct behavior, as expected.
The problem we are facing then is that the camera does not allow any new spectral region configuration, neighter by giving it other bands (e.g. filteredFeatures = {80,100, 120}) or fullframe mode (filteredFeatures = {} ). The camera always keeps the first spectral region configuration - regardless of what we send in the proceeding. The only moment that we are able to apply feature selection is after booting.
My questions therefore is: why are we not able to reconfigure the spectral regions of our camera (given that the power remains on)?
The second problem seems to be related to a bug in the GeniCamBrowser which does not allow frameburstgrabbing mode. Given the code posted in the previous post, our camera always returns a valid image.
The third problem originates from the following code statement, which does nothing. Does anyone have any advice here?
Most of the mentioned issues are probably related to the camera and not CVB.
Except the GenICam Browser crash, of course.
Please contact the technical support which is responsible for your region. You can mention this forum post as well.
The GenICam Browser crash need to be reproduced by us. Therefore, we also need information of the used system platform and CVB Version. You can include that when contacting the support.