Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

camera1394: Driver hangs in external trigger mode when external clock is not supplied. #22

Closed
bgromov opened this issue Aug 29, 2013 · 4 comments
Assignees
Labels

Comments

@bgromov
Copy link
Contributor

bgromov commented Aug 29, 2013

The problem appeared with introduction of #9.

Due to the blocking method used in Camera1394::readData() libdc1394 will not return control until the data received from camera. The problem can be fixed fairly easy since Camera1394::readData() is already called periodically by main thread.

Also, introduction of non-blocking read method will allow implementation of polled_camera interface (#13).

@bgromov
Copy link
Contributor Author

bgromov commented Aug 29, 2013

(As requested in #14)

To reproduce the issue:

  • Set external_trigger: True
  • Disconnect external trigger wire from a camera

To verify the driver is not responding:

  • Update any parameter of a camera, e.g. external_trigger itself:

    rosrun dynamic_reconfigure dynparam set /camera1394 "{'external_trigger': False}"
    

    (reproduced from memory)

    Above command will not return until trigger clock supplied again.

@ghost ghost assigned jack-oquin Aug 29, 2013
@bgromov
Copy link
Contributor Author

bgromov commented Aug 30, 2013

@jack-oquin, are you working on this right now? If you have not started yet, I can try to fix it myself.

The only problem I see is the interface to class Trigger which is necessary to check if external trigger's power is on. At the moment Feature::trigger_ is a private member, so there is no way to obtain this information. The switch between blocking and non-blocking read methods can also be based on dynamic_reconfigure config, but it is not reliable.

@jack-oquin
Copy link
Member

I have no time to work on it before Monday or Tuesday.

I'll go ahead and merge your current PR (#21), making it easier to handle this separately.

I can probably respond to short messages over the weekend.

@jack-oquin
Copy link
Member

I can confirm that this problem happens with my Sony XCD-XS90CR test camera. We need a fix.

I'll experiment with the #21 pull request after I get some of the parameter setting problems sorted out.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants