Getting Started with FlyCapture 2 and ARM

Supported System Configuration

Before installing FlyCapture, you must have the following prerequisites:

  • Pandaboard, Beagleboard, or other OMAP4 device with an ARMv7 Cortex processor (including Cortex-A7, -A8, and -A9).
    Pandaboard is the recommended device. (www.pandaboard.org)
    Pandaboard and Beagleboard are the only devices supported by testing
  • Linux distribution on the Pandaboard. 
    (http://cdimage.ubuntu.com/releases/)
  • A FLIR USB 2.0 camera, either Chameleon or FireflyMVU
    OR
  • A FLIR USB 3.1 camera, either Blackfly, Grasshopper3, or Flea3
    Other FLIR machine vision cameras (FireWire, GigE, or CameraLink) are NOT supported, although we have tested GigE cameras to stream on select ARM boards. See Streaming Cameras on Embedded Systems.
  • An external power supply such as a powered USB hub or GPIO power cable.
    The Beagleboard does not provide enough power to operate the camera. The Pandaboard may provide enough power depending on other peripheral devices attached.

Configuring the Operating System and Installing the Required Libraries

For FlyCapture2 to run on a Linux Ubuntu system, the following dependencies must be installed:

  • Ubuntu 14.04
    user$: sudo apt-get install libraw1394-11 libgtkmm-2.4-1c2a libglademm-2.4-1c2a libusb-1.0-0
  • Ubuntu 12.04
    user$: sudo apt-get install libraw1394-11 libgtk2.0-0 libgtkmm-2.4-dev libglademm-2.4-dev libusb-1.0-0

 

The raw1394 module that is installed with the libraw1394-8 package may not load after a reboot, causing a FlyCapture bus event error and failure to start an application. To fix, add raw1394 to the /etc/modules file. If problems persist, add video1394 as well.

Installing the FlyCapture SDK

The version of FlyCapture is dependent on the version of Ubuntu:

  • FlyCapture 2.6.3.4 for Ubuntu 12.04
    FlyCapture 2.9.3.43 for Ubuntu 14.04
    FlyCapture 2.11.3.425 for Ubuntu 16.04

 

To install the FlyCapture2 SDK:

  1. Download FlyCapture2 SDK.
  2. Copy your flycapture-<version>_arm.tar.gz package on a network or USB drive then copy it to a location on the Pandaboard.
  3. Untar the installation package:

    tar xvfz flycapture-<version>_arm.tar.gz

  4. Copy all libraries to system folders:

    cd flycapture-<version>_arm/lib
    sudo cp libflycapture* /usr/lib
    cd flycapture-<version>_arm/

  5. Configure permissions to run FLIR cameras:

    sudo sh flycap2-conf

  6. Follow the instructions of the script. This installs all the FlyCapture2 libraries, example code, sample applications, and documentation. Additionally, the script prompts you to configure udev so that devices can be used by a particular user. If you choose to configure devices, the script changes permissions on the nodes by overwriting the default Ubuntu permissions and giving the user full read and write access to the device nodes.
  7. Restart your board for the user permissions to take effect.

Compiling the Examples

The FlyCapture SDK includes a number of example applications to help get you started in programming common API tasks. Example files are installed under flycapture-<version>_arm/bin (where you extracted the package).

We suggest copying the extracted folder and sub-folders to a location with write access.

To compile the examples, install the GNU C++ (g++) compiler that is included with the build-essential package:
user$ sudo apt-get install build-essential

To compile a specific example, run the makefile located in the example directory. Binaries are copied to the bin directory, and libraries are copied to the lib directory. For example:

user$ cd <extraction folder>/FlyCapture-<version>-arm/src/FlyCapture2Test
user$ make

You can also use a cross compiler to build examples for the target architecture. A cross compiler that works well is CodeSourcery.
Alternatively, you can set up an ARM emulator using QEmu, install Ubuntu on it, and build your software on the virtual machine.

Limitations Using ARM

Linux users do not have access to Microsoft Windows-only technologies such as:

  • DirectShow
  • Cognex AIK
  • Twain
  • Managed .NET API
  • ActiveX

FlyCapture2 on an ARM device does not support:

  • OpenGL
  • FireWire cameras
  • GigE cameras
    Note: We have tested GigE cameras to stream on select ARM boards.
  • UpdatorGUI tool
  • Recording videos

Additional ARM device limitations:

  • Speed of the processor will affect the maximum available frame rate. The maximum frame rates achieved with a Windows configuration may not be available.

Viewing Images and Videos

We suggest the following tools for image and video viewing. FLIR does not officially endorse these tools.
For image viewing:

For video viewing:

  • VLC media player

For working with Glade files:

Removing FlyCapture

Uninstall by manually removing the FlyCapture files, as in the following example:
user$: sudo rm /usr/lib/libflycapture*

Delete any extracted files or newly compiled files on your system.