The page will guide you through getting started with the Camera Reference Design. Source files are available on our downloads page. Binary releases are available for both Windows and Linux operating systems.

Camera Reference Design Developer’s Release

  • Pre-built okCameraApp and okSnapApp binaries
  • Pre-built CameraApp-JS web application
  • Pre-built bitfiles for camera and device pairings listed in Release Notes
  • okCameraApp C++ source code
  • okSnapApp C++ source code
  • CameraApp-JS source code
  • FPGA HDL source code for image capture processor for camera and device pairings listed in Release Notes
  • FreeMat sample source code
  • CPLD source code

Windows Platforms

Running the Prebuild Application

  1. Install FrontPanel SDK
  2. Obtain the following from wxWidgets 3.2.0 release Github:
    1. wxMSW-3.2.0_vc14x_ReleaseDLL.7z (For x32)
    2. wxMSW-3.2.0_vc14x_x64_ReleaseDLL.7z (For x64)
  3. Unzip to a common location, i.e. C:\wxWidgets-3.2.0
  4. Add paths to PATH environment variable:
    1. C:\wxWidgets-3.2.0\lib\vc14x_x64_dll (For x64)
    2. C:\Program Files\Opal Kelly\FrontPanelUSB\API\lib\x64 (For x64. Use location of your FrontPanel SDK install directory)
    3. C:\wxWidgets-3.2.0\lib\vc14x_dll (For x32)
    4. C:\Program Files\Opal Kelly\FrontPanelUSB\API\lib\Win32 (For x32. Use location of your FrontPanel SDK install directory)
  5. Run the application.

Building the C++ Source

  1. Install FrontPanel SDK
  2. Obtain the following from wxWidgets 3.2.0 release Github:
    1. wxWidgets-3.2.0-headers.7z
    2. wxMSW-3.2.0_vc14x_Dev.7z (For x32)
    3. wxMSW-3.2.0_vc14x_x64_Dev.7z (For x64)
  3. Unzip to a common location, i.e. c:\wxWidgets-3.2.0
  4. Set WXWIN environment variable to c:\wxWidgets-3.2.0
  5. set okFP_SDK environment variable to the location of the SDK’s API folder, i.e. C:\Program Files\Opal Kelly\FrontPanelUSB\API
  6. Open Software\Camera.sln file in Visual Studio and build it. 
    1. Building in Release configuration is recommended for best performance.
    2. Building in Debug configuration is recommended for troubleshooting. See “Debug” section below.

Note

Camera.sln uses Visual Studio 2019 toolset by default, but should also be usable with both older and newer versions. See the Visual Studio documentation and communities for additional information.

Linux Platforms

Install wxWidgets

The latest camera reference design (v2.3.1) includes prebuilt applications that were built using Ubuntu 20.04 and wxWidgets 3.2. To install wxWidgets 3.2, execute the following sequence of commands:

  1. sudo apt install ca-certificates
  2. sudo apt-key adv --fetch-keys https://repos.codelite.org/CodeLite.asc
  3. sudo apt-add-repository 'deb https://repos.codelite.org/wx3.2.0/ubuntu/ focal universe'
  4. sudo apt update
  5. sudo apt install libudev-dev libwxgtk3.2unofficial-dev

Running the Prebuild Application (Ubuntu 20.04)

  1. Install wxWidgets (see above)
  2. Install FrontPanel SDK
  3. Run the application.

Building the C++ Source 

  1. Install wxWidgets (see above).
  2. Install FrontPanel SDK
  3. Run the provided makefile.
    1. cd Software
    2. make 
    3. DEBUG=1 on make command line is recommended for troubleshooting. See “Debug” section below.

Building the Gateware

All 7-Series and UltraScale devices provide a TCL script build method to generate the required IPs and import the required source files for the Vivado project mode work flow. These brief instructions presume you already have familiarity with the FrontPanel SDK and Vivado.

  1. Open Vivado GUI and use the TCL console to cd to the HDL folder for your target integration configuration:
    cd <Camera Reference Design Installation Directory>/HDL/XEM8320/SZG-Camera
  2. Run the provide TCL script. If the product is offered in multiple device densities then use the TCL script with the correct suffix that applies for your product:
    source project.tcl
  3. Import FrontPanel HDL for your product into the project. These sources are located within the FrontPanel SDK installation. Files are located at the following:
    <FrontPanel Installation Directory>/FrontPanelUSB/FrontPanelHDL/XEM8320-AU25P/Vivado-2021
  4. Generate Bitstream.

Debug

When building okCameraApp for debugging, the program needs to find the resource.xrc file during execution. If it is not found in the default location, okCAMERA_RESOURCES_DIR environment variable can be used to specify its directory, e.g.

    okCAMERA_RESOURCES_DIR=`pwd`/okCameraApp ./bin/okCameraApp

Note that in release/production builds, the resource file is embedded directly into the application executable (or application bundle under macOS) and this environment variable is not used.