ICSHWI-13836: Fix usb functionality + cleanup
The usb communication on the current version of the wrapper is broken, this MR aims to fix it.
The main issue is a couple of missing vendor libraies which are loaded dynamically:
- libandor, libd2xx_table and libUSBI2C are dynamically loaded by libshamrockcif
- libusb (0.1) is dynamically loaded by libandor.
We want the wrapper to be as standalone as possible:
- Since a source code for
libd2xx_table
is available on the community module we add it directly. - We are stuck with the vendor libraries provided; we copy them to e3 share and link against libadandor (not to be confused: libadandor and libandor).
- libusb (0.1) is host dependent, leave ld to to find it at runtime (most probably libusb package will need to be in ioc.yml)
Currently e3 environment dynamic library loading is broken, this prevents libusb
from being loaded and consequently prevents the camera from being detected (running under vanilla EPICS we do not run into the issue - check ICS-776 for details).
I also added my finding on the shared libraries in the README file.
Edited by Carlos Neto