FLIR Knowledge Base
Search for...
Search
        |     
Exclude unwanted words:
Browse KB Articles
Go Back Printable Version Email This Article Bookmark This Article

Getting Started with FlyCapture 2 and ARM

KB Number: 10357
Last Revision Date: 8/12/2016

Subject

Technical Application Note (TAN2012001): Getting Started with FlyCapture 2 and ARM

10367

Applicable Product(s)

  • FlyCapture SDK Version 2.3 or later
  • FLIR USB 2.0 and USB 3.1 machine vision cameras, except for Blackfly S

 

Application Note Description

With the release of version 2.3 of the FlyCapture SDK, users can program and operate FLIR USB 2.0 or USB 3.1 machine vision cameras on an ARM device in a Linux environment. This Application Note explains the components and steps that are necessary to get started with FlyCapture 2.3 and ARM as well as the limitations of using FlyCapture2 on an ARM device.

Testing is ongoing. Wherever possible, limitations have been noted; however, as more testing is completed this information may change. All possible configurations of ARM and cameras may not experience the same results.

 

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. The recommended version is Ubuntu 11.10. (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 TAN2014009 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.

 

For information specific to USB 3.1 cameras, please see Streaming USB 3.1 Cameras on Embedded Systems.

 

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

To install the FlyCapture2 SDK:

  1. Download FlyCapture2 SDK from our Downloads webpage.
  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:

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.

Was this article helpful?

Go Back Printable Version Email This Article Bookmark This Article