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

support for non-baumer cameras? #8

Closed
smissan opened this issue Oct 25, 2018 · 14 comments
Closed

support for non-baumer cameras? #8

smissan opened this issue Oct 25, 2018 · 14 comments

Comments

@smissan
Copy link

smissan commented Oct 25, 2018

Do you know if baumer gentl allows connecting and receiving frames from non-Baumer cameras? I have a problem connecting to pointgrey camera - getting nothing listed

./gc_info -l
Transport Layer ---/rc_genicam_api/baumer/Ubuntu-14.04/x86_64//libbgapi2_gige.cti_2.9.18805.18905
Vendor: Baumer
Model: bgapi2_gige
Vendor version: 2.9.18805.18905
TL type: GEV
Name: libbgapi2_gige.cti
Pathname: ---/rc_genicam_api/baumer/Ubuntu-14.04/x86_64//libbgapi2_gige.cti
Display name: Baumer GEV TL
GenTL version 1.5

Interface     enp0s3
Display name: enp0s3
TL type:      GEV

Interface     enp0s8
Display name: enp0s8
TL type:      GEV
@heikohimu
Copy link
Contributor

The GenTL producer is not specific to Baumer cameras and should work with all standard GigE Vision 2.0 cameras. What is the model of the Point Grey camera?

@smissan
Copy link
Author

smissan commented Oct 25, 2018

this is
BFLY-PGE-13E4M-CS

it works with pleora. It may be something on my end, I will try building on Windows. Good to know that this TL is not restricting just for Baumer cameras.

@smissan
Copy link
Author

smissan commented Oct 25, 2018

actually, the protocol version for this camera is 1.2. Is this an issue? Any way to connect to 1.2 cameras with this library?

@heikohimu
Copy link
Contributor

I just saw it. GigE Vision 2.x is not backwards compatible to 1.x. I do not know if the Baumer GenTL producer supports 1.x. Apparently it does not. It seems that Pleora implemented both protocols in their producer. The rc_genicam_api works with any GenTL v1.5 compatible producer. If you have one from Point Grey or Pleora, you can use it by setting the GENICAM_GENTL64_PATH to the directory of the producer, i.e. the location of the *.cti file.

@smissan
Copy link
Author

smissan commented Oct 25, 2018

thanks, this makes sense. I will try another producer library, or try with version 2 camera.

@smissan
Copy link
Author

smissan commented Oct 25, 2018

hmm quite a few .cti-s are failing to load. Stemmer imaging USB3 GenTL loads, but Gev one does not.

@smissan
Copy link
Author

smissan commented Oct 25, 2018

I was able to load other GenTL libraries. Some of them require to comment out GenTL 1.5 specific functions, as these are not implemented. Stemmer imaging GenTL works with functions commented out - everything from
reinterpret_cast<void*>(&IFGetParentTL)=dlsym(lib, "IFGetParentTL");
onward.

I was also able to get device info with Baumer GenTL - looks like something was broken in my network settings:

Interface     enp0s8
Display name: enp0s8
TL type:      GEV

getting list of devices
dlist size 0
number of devices 1
Device devicemodul00_b0_9d_dc_c9_6d
Vendor: Point Grey Research
Model: Blackfly BFLY-PGE-13E4M
TL type: GEV
Display name: 222333
Access status: ReadWrite
Serial number: 14469485
Version:
TS Frequency: 0

@heikohimu
Copy link
Contributor

Ok, I see. rc_genicam_api is meant for GenTL 1.5. You may tweak the code as you like, but we wont support lower versions of the interface. Regarding your network setup. Did you try connecting the camera directly to the PC?

@smissan
Copy link
Author

smissan commented Oct 26, 2018

these were network settings in my VM. I'm getting another issue now, trying to read frames (baumer GenTL):

./gc_stream devicemodul00_b0_9d_dc_c9_6d
Press 'Enter' to interrupt grabbing.

Exception: Invalid layout of buffer attached to chunk parser! : RuntimeException thrown (file 'ChunkAdapterGEV.cpp', line 97)

@heikohimu
Copy link
Contributor

Ah, you are working in a VM, not in the native operating system? This will only work if the VM uses the bridge mode of network card, because the discovery mechanism in GigE Vision works by sending UDP broadcasts.

The error means that the chunk data that is sent from the camera does not fit to the layout specified in the GenICam XML file from the camera. I am not sure what the problem can be.

@smissan
Copy link
Author

smissan commented Oct 26, 2018

yes I use bridged adapter in VM, and the camera is being discovered (with some challenges). I will try building on Windows and see if may be streaming will work. Thanks a lot for your help.

@smissan
Copy link
Author

smissan commented Oct 26, 2018

on windows this camera gives me a bunch of "Incomplete buffer received" and nothing is saved as image files.

gc_stream.exe devicemodul00_b0_9d_dc_c9_6d n=10
Press 'Enter' to interrupt grabbing.

Incomplete buffer received

@smissan
Copy link
Author

smissan commented Oct 26, 2018

another update - I updated camera firmware and it's now streaming images. Excellent, thanks again for the amazing project.

@heikohimu
Copy link
Contributor

Thanks. Actually, incomplete buffers can easily occur if the application does not read the network packages fast enough. This is not the only reason, but a typically one. The problems can be reduced by increasing the MTU (e.g. 9000) and the size of the network buffer.

So, it seems that your problems are solved. I am closing this issue now.

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

No branches or pull requests

2 participants