roboception / rc_genicam_api

Roboception convenience layer around GenICam and GigE Vision.
Other
114 stars 45 forks source link

Execution on ARM(v8) not Possible | Stoull #46

Open PanterSoft opened 1 year ago

PanterSoft commented 1 year ago

Hi,

I have installed the API on my Nvidia Jetson AGX Orin Developerkit (32GB)

works just fine but when executing any gc_... command I only get the output Stoull. not even an error which could be traced back.

Does anyone have experienced a similar issue or Knows where this behavior is coming from ?

heikohimu commented 1 year ago

Hi,

I just tested the current version 2.6.3 on an Orin Nano 8 GB and it works fine. Is there another producer installed? Can you check if the environment variable GENICAM_GENTL64_PATH is defined and if it is, what is the value? Does this also happen if you call any of the commands (e.g. gc_info) without any parameter, which should just show help?

Best regards Heiko

PanterSoft commented 1 year ago

Hi @heikohimu

I have just tested if this environment variable is there but it looks like this one is missing. And for the other question: gc info without any other params works fine. also if the camera is not connected it throws the right error (Device not found) but when the camera is connected I get this error.

Quick question what do you mean with another producer ?

Edit: I have found the problem why the environment variable was not there I forgot to copy the folders for my synview application to the right places (opt, var, etc). now I have some compile errors with the Tegra driver but that seams to be another problem (not with the rc_genicam_api)

Thanks for your help

rc_genicam_api

heikohimu commented 1 year ago

Ok, so it works now, even if the camera is connected?

As for the other question. The GENICAM_GENTL64_PATH is used to find the producer, which is a shared library that implements the communication with the camera. It has the suffix '.cti'. You can use the producer that we provide or producers from other companies. If the environment variable is undefined, the rc_genicam_api uses the producer that we provide, which is what I wanted to see.

PanterSoft commented 1 year ago

Yes this problem is fixed. I have some problems with the producer library not being compiled for aarch64 on Jetson but that's not a problem related too this project

there was no default value for the GENICAM_GENTL64_PATH and I just used the one from my camera. but how should the default producer look / where should it be located ?

heikohimu commented 1 year ago

According to the GenICam specification, the producers are found in the paths that are specified in GENICAM_GENTL64_PATH. The rc_genicam_api uses a fallback to its own producer if the variable is not defined or if it is empty. On aarch64 Linux systems, the default location is /usr/lib/aarch64-linux-gnu/rc_genicam_api

PanterSoft commented 1 year ago

Hello,

I found it now on the system but It also does not solve the problem.

the camera specific producer seams to work better but I can still not get an Image I have to further investigate into this issue and will let you know what the problem was (if it wa a problem with this repo or the Camera)

Thanks for the help to this point.