VentusCamera C++ lib. Software controller for Sierra-Olympia Ventus series thermal cameras.

€400.00

The VentusCamera C++ library version 1.0.0 is a software controller for WIND firmware compatible cameras, which mostly includes Ventus cameras produced by SIERRA-OLYMPIA TECHNOLOGIES INC. company.

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: DOWNLOAD LICENSE. You can buy technical support service for this product.

Add To Cart

The VentusCamera C++ library version 1.0.0 is a software controller for WIND firmware compatible cameras, which mostly includes Ventus cameras produced by SIERRA-OLYMPIA TECHNOLOGIES INC. company.

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: DOWNLOAD LICENSE. You can buy technical support service for this product.

Technical support service
Options:

The VentusCamera C++ library version 1.0.0 is a software controller for WIND firmware compatible cameras, which mostly includes Ventus cameras produced by SIERRA-OLYMPIA TECHNOLOGIES INC. company.

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: DOWNLOAD LICENSE. You can buy technical support service for this product.

Purchase options

You can by this software online by card or you can buy the software by bank transfer. Bank transfer available only for companies. To buy software by bank transfer please send us request to info@constantrobotics.com. Also, you can buy technical support service for this product.

Overview

The VentusCamera C++ library is a software controller for WIND firmware compatible cameras, which mostly includes Ventus cameras produced by SIERRA-OLYMPIA TECHNOLOGIES INC. company. The VentusCamera library inherits Lens and Camera interfaces, so the library has set of two different interfaces to control camera and lens. It includes source code of libraries: Lens interface library (provides interface and data structures to control lenses, Apache 2.0 license), Camera interface library (provides interface and data structures to control cameras, Apache 2.0 license), Logger library (provides function to print log information in console and files, Apache 2.0 license) and SerialPort library (provides functions to work with serial ports, Apache 2.0 license). The VentusCamera library provides simple interface to be integrated in any C++ projects. The library repository (folder) is provided by source code and doesn't have third-party dependencies to be specially installed in OS. It is developed with C++17 standard and compatible with Linux and Windows.

Downloads

Programmer’s manual: DOWNLOAD

Lens + camera control interface

class VentusCamera : public cr::camera::Camera, public cr::lens::Lens
{
public:

    /// Get class version.
    static std::string getVersion();

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

    // #######################################
    // CAMERA CONTROL INTERFACE
    // #######################################

    /// Open controller serial port.
    bool openCamera(std::string initString) override;

    /// Init camera by parameters structure.
    bool initCamera(cr::camera::CameraParams& params) override;

    /// Method closes serial port and stops all threads.
    void closeCamera() override;

    /// Get serial port status.
    bool isCameraOpen() override;

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

    /// Set the camera parameter.
    bool setParam(cr::camera::CameraParam id, float value) override;

    /// Get the camera parameter.
    float getParam(cr::camera::CameraParam id) override;

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

    /// Execute camera command.
    bool executeCommand(cr::camera::CameraCommand id) override;

    // #######################################
    // LENS CONTROL INTERFACE
    // #######################################

    /// Open controller serial port.
    bool openLens(std::string initString) override;

    /// Init lens by parameters structure.
    bool initLens(cr::lens::LensParams& params) override;

    /// Closes serial port and stops all threads.
    void closeLens() override;

    /// Get serial port status.
    bool isLensOpen() override;

    /// Get camera connection status.
    bool isLensConnected() override;

    /// Set lens parameter.
    bool setParam(cr::lens::LensParam id, float value) override;

    /// Get lens parameter.
    float getParam(cr::lens::LensParam id) override;

    /// Get the lens parameters.
    void getParams(cr::lens::LensParams& params) override;

    /// Execute lens command.
    bool executeCommand(cr::lens::LensCommand id, float arg = 0) override;

    /// Add video frame for auto focus purposes. Not supported.
    void addVideoFrame(cr::video::Frame& frame) override;
};

Simple example

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

int main(void)
{
    // Init camera controller.
    cr::camera::VentusCamera controller;
    if (!controller.openCamera("/dev/ttyUSB0"))
        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);

        // Get all lens params.
        cr::lens::LensParams lensParams;
        controller.getParams(lensParams);

        switch (option)
        {
        case 1: // Zoom tele.
            controller.executeCommand(cr::lens::LensCommand::ZOOM_TELE);
            break;
        case 2: // Zoom wide.
            controller.executeCommand(cr::lens::LensCommand::ZOOM_WIDE);
            break;
        case 3: // Zoom stop.
            controller.executeCommand(cr::lens::LensCommand::ZOOM_STOP);
            break;
        case 4:
            controller.setParam(cr::camera::CameraParam::BRIGHTNESS,
            cameraParams.brightness + 1);
            break;
        case 5:
            controller.setParam(cr::camera::CameraParam::BRIGHTNESS,
            cameraParams.brightness - 1);
            break;
        default:
            break;
        }
    }
    return 1;
}
ViscaParser C++ lib. Control protocol parser library for VISCA camera
€200.00
StingrayParser C++ lib. Protocol parser library for Stingray SWIR lenses
€200.00
ViscaCamera C++ lib. Software controller for VISCA protocol compatible cameras
€400.00
Olc C++ lib. Software controller for control Ophir® infrared lenses with advanced auto focus functions
€1,000.00
Ylc C++ lib. Software controller for Yamano CCTV lenses
€400.00