CaptureTimeout Error: Waiting for trigger timed out

General Information

  • Product: B57-4
  • Ensenso SDK Version: 4.3.880
  • Operating System: Linux 24.04
  • Data Attachments?

Problem / Question

I have the camera wired to a hardware trigger (set to trigger on the falling edge of the signal) at slightly less than 0.5Hz and it seems to time out while waiting for the trigger every time. If I up the frequency to be greater than 2Hz it does not have the same errors. I tried to change the “Timeout” parameter within NxTree but those changes don’t seem to stick and the timeout errors keep happening. Is there a solution to let it wait longer in between the trigger signals?

Hi,

I assume you are observing the errors while using NxView. NxView executes the commands “Trigger” and “Retrieve” and the error is probably raised by the “Trigger” command since the 1000ms are hardcoded to the trigger parameters in NxView and therefor cannot be overwritten in NxTreeEdit.

Depending on your use case, you may prefer to use Engage instead of NxView. I see no hardcoded timeout there.

Kind Regards,

Joel

Hi,

I looked into this topic a little more, because a trigger command should never run into a timeout in the case of a hardware trigger. You won’t get timeouts in the trigger command if you disable “Capture Texture“:

The timeout occurs only when Capture Texture is enabled (see ‘/Cameras/[serial]/Parameters/Capture/Texture/Enabled’ in NxTreeEdit or “Capture Texture” in Parameters Dialog of NxView). Capture Texture is currently only useful if software triggered and can lead to strange behaviour if used with a hardware trigger.

I’ll add a fix to the next release so that the trigger command won’t try to tigger a texture image if a hardware trigger is used. The Option should also be disabled in NxView settings in this case.

Kind regards,

Joel

The errors are still showing up even with the Capture Texture disabled. It is able to take photos occasionally (an improvement from before!), but it drops some frames unexpectedly and also accrues thousands on errors in between the firings of my hardware trigger. Is there a way to address that? Thank you.

image

Engage also seems to continuously display warnings on the bottom of the screen and runs into the same dropping frames issue (the triggers happen approximately every 0.4Hz, but it will drop every third or fourth frame or so and skip one iteration of imaging.)

image

I have the same issue happening in Engage. Also, I need to capture the texture image, so disabling Capture Texture won’t fit my use case.

Hello,

sry that I missed your post until now:

  1. It is currently not possible to use the camera parameter “Capture/Texture” in conjunction with a hardware trigger. This means that no texture is generated in the camera node that can then be used by NxLib to color a point cloud or similar data. However, it is still possible to switch between the camera parameters for texture capture (no projector light, different exposure time) and those for stereo matching.

    The tasks normally handled by NxLib must then be performed in your own code: changing the parameters for texture generation, calling the NxLib Trigger command and the hardware trigger, calling the NxLib Retrieve command, changing the parameters for stereo matching, calling the NxLib Trigger command and the hardware trigger, calling the NxLib Retrieve command, calling the NxLib ComputeDisparityMap command, calling the NxLib ComputePointMap command, and coloring the point map with the texture.

  2. The error that’s appearing now (“Waiting for images timed out”) is different to the one before (“Waiting for trigger timed out.”) I’d need a log file to inspect this further. See here.

  3. In another post you said you are using ros. Ros has its own procedure for capturing a camera’s texture data, and it is not necessary to enable the “Capture/Texture” parameter

1 Like