USB LISM-PI26xx V2.0
C / Linux x86-64 / Extended Handle API examples

This package contains the same two-camera examples as the Lazarus Linux64
Extended Examples package, implemented as portable C console programs.
All device operations use the handle-based *_ex API.

Directory structure:

  ADCSettings/
  IFConfig/
  IntegrationTime/
  LineRate/
  ModeConfig/
  OpenCloseDevice/
  PacketLength/
  SaveTIFF/
  TriggerOutput/
  Lib/
  build_all.sh
  clean_all.sh

The Lib directory contains:

  usblismpi26.h
  ExtendedExampleCommon.h
  ExtendedExampleCommon.c
  libusblismpi2664.so*

Each example directory contains:

  <Example>.c
  build.sh
  run.sh

Requirements:

- A system C compiler available as "cc".
- The libusb-1.0 runtime library must be installed.
- A suitable udev rule for VID 19D1 / PID 0011 is required for access
  without root privileges.
- Two USB LISM-PI26xx interfaces are required to run these examples.

No IDE, CMake, Makefile or external TIFF library is required. SaveTIFF
writes uncompressed 16-bit TIFF files directly and uses one POSIX thread
per camera.

After extracting the ZIP archive, make all shell scripts executable once:

  find . -type f -name "*.sh" -exec chmod +x {} +

Build all examples:

  ./build_all.sh

Build and run one example:

  cd OpenCloseDevice
  ./build.sh
  ./run.sh

Clean all compiled example programs:

  ./clean_all.sh

The executables contain this relative runtime-library search path:

  $ORIGIN/../Lib

Therefore, LD_LIBRARY_PATH does not need to be set and the shared library
does not need to be copied to /usr/lib. Keep the package directory
structure unchanged.

Important notes:

- The examples open two devices simultaneously and use separate handles.
- IFConfig, ModeConfig, IntegrationTime, LineRate, TriggerOutput and
  ADCSettings change hardware parameters on both cameras.
- The sensor constants in IntegrationTime and LineRate match the Lazarus
  examples and must be adapted for other sensor types.
- SaveTIFF is configured for two 2048 x 2048 pixel images. It starts both
  cameras from separate capture threads and creates camera_1.tiff and
  camera_2.tiff in the SaveTIFF directory.
