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:
- Download FlyCapture2 SDK.
- Copy your flycapture-<version>_arm.tar.gz package on a network or USB drive then copy it to a location on the Pandaboard.
- Untar the installation package:
tar xvfz flycapture-<version>_arm.tar.gz
- Copy all libraries to system folders:
cd flycapture-<version>_arm/lib
sudo cp libflycapture* /usr/lib
cd flycapture-<version>_arm/
- Configure permissions to run FLIR cameras:
sudo sh flycap2-conf
- 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.
- 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.