FlirBosonCamera C++ lib. Software controller for the FLIR Boson camera.

€400.00

The FlirBosonCamera C++ library is a software controller for the FLIR Bosoncamera. The FlirBosonCamera inherits Camera interface.

LICENSE: We sell source code of this library as is, without future updates and technical support according to perpetual non-exclusive royalty-free license. You pay once and can use this library in your software and hardware products without limits. Please read the license agreement before purchasing: LICENSE.

The FlirBosonCamera C++ library is a software controller for the FLIR Bosoncamera. The FlirBosonCamera inherits Camera interface.

LICENSE: We sell source code of this library as is, without future updates and technical support according to perpetual non-exclusive royalty-free license. You pay once and can use this library in your software and hardware products without limits. Please read the license agreement before purchasing: LICENSE.

Overview

The FlirBosonCamera C++ library is a software controller for the FLIR Boson camera. The FlirBosonCamera library inherits the Camera interface. It depends on the following libraries: Camera (provides interface and data structures to control cameras, source code included, Apache 2.0 license), Logger logging library (provides functions to print log information in console and files, Apache 2.0 license) and the BosonSdk library. The FlirBosonCamera library provides a simple interface to be integrated into any C++ project. The library repository (folder) is provided as source code and doesn’t have third-party dependencies that need to be specially installed in the OS. It is developed with the C++17 standard and is compatible with Linux and Windows.

Documentation

Documentation: GO TO DOCUMENTATION

Camera control interface

class FlirBosonCamera : public cr::camera::Camera
{
public:
  /// Get FlirBosonCamera class version.
  static std::string getVersion();

  /// Open camera controller.
  bool openCamera(std::string initString) override;
      
  /// Initialize camera controller by parameters class.
  bool initCamera(CameraParams& params) override;

  /// Close camera controller.
  void closeCamera() override;

  /// Get camera open status.
  bool isCameraOpen() override;
      
  /// Get camera connection status.
  bool isCameraConnected() override;

  /// Set the camera controller param.
  bool setParam(CameraParam id, float value) override;

  /// Get the camera controller param.
  float getParam(CameraParam id) override;

  /// Get the camera controller params.
  void getParams(CameraParams& params) override;

  /// Execute camera controller action command.
  bool executeCommand(CameraCommand id) override;

  /// Decode and execute command.
  bool decodeAndExecuteCommand(uint8_t* data, int size) override;
};

Simple example

#include <iostream>
#include "FlirBosonCamera.h"

int main(void)
{
    // Init camera controller.
    cr::camera::FlirBosonCamera controller;
    if (!controller.openCamera("USBBOSON"))
        return -1;

    while (true)
    {
        // Main dialog.
        int option = -1;
        std::cout << "Options (1:Zoom tele, 2:Zoom wide, 3:Zoom stop, " <<
        "4:Brightness+1, 5:Brightness-1) : ";
        std::cin >> option;

        // Get all camera params.
        cr::camera::CameraParams cameraParams;
        controller.getParams(cameraParams);

        switch (option)
        {
        case 1:
            controller.setParam(cr::camera::CameraParam::BRIGHTNESS,
            cameraParams.brightness + 1);
            break;
        case 2:
            controller.setParam(cr::camera::CameraParam::BRIGHTNESS,
            cameraParams.brightness - 1);
            break;
        default:
            break;
        }
    }
    return 0;
}