Slc C++ lib. Software controller for Stingray SWIR lenses with advanced auto focus functions

€1,000.00

Slc C++ library version 2.0.0 is a software controller for Stingray SWIR lenses. The Slc library inherits Lens interfaces. The library has reach auto focus functions.

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

Slc C++ library version 2.0.0 is a software controller for Stingray SWIR lenses. The Slc library inherits Lens interfaces. The library has reach auto focus functions.

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:

Slc C++ library version 2.0.0 is a software controller for Stingray SWIR lenses. The Slc library inherits Lens interfaces. The library has reach auto focus functions.

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

Slc C++ library is a software controller for Stingray SWIR lenses. The Slc library inherits Lens interfaces. The library has reach auto focus functions. It includes source code of libraries: Lens interface library (provides interface and data structures to control lenses, Apache 2.0 license), Logger logging library (provides function to print log information in console and files, Apache 2.0 license), SerialPort library (provides functions to work with serial ports, Apache 2.0 license) and StingrayParser library (provides functions to encode control commands and decode responses from Stingray lenses). The Slc library provides simple interface to be integrated in any C++ projects. The library repository (folder) provided by source code and doesn't have third-party dependencies to be specially installed in OS. It developed with C++17 standard and compatible with Linux and Windows.

Downloads

Programmer’s manual: DOWNLOAD

Lens + camera control interface

class Slc : public Lens
{
public:

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

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

    /// Init lens controller.
    bool initLens(LensParams& params) override;

    /// Close serial port and stop communication thread.
    void closeLens() override;

    /// Get controller initialization status.
    bool isLensOpen() override;

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

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

    /// Get the lens controller param.
    float getParam(LensParam id) override;
    
    /// Get the lens controller params.
    void getParams(LensParams& params) override;

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

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

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

Simple example

#include <chrono>
#include <iostream>
#include <string>
#include <thread>
#include "Slc.h"

int main(void)
{
    // Init lens controller.
    cr::lens::Lens* lc = new cr::lens::Slc();
    if (!lc->openLens("/dev/ttyUSB0"))
        return -1;

    // Get lens Zoom position
    std:: cout<< "Zoom pos: " <<
    lc->getParam(cr::lens::LensParam::ZOOM_POS) << std::endl;

    // Set Zoom speed to 10%.
    lc->setParam(cr::lens::LensParam::ZOOM_SPEED, 10);

    // Go to zoom position 10000 (Full tele).
    lc->executeCommand(cr::lens::LensCommand::ZOOM_TO_POS, 10000);

    // Show zoom movement (changing position).
    for (int i = 0; i < 50; ++i)
    {   
        std:: cout<< "Zoom pos: " <<
        lc->getParam(cr::lens::LensParam::ZOOM_POS) << std::endl;
        std::this_thread::sleep_for(std::chrono::milliseconds(100)); 
    }
    return 1;
}
FlirTau2Parser C++ lib. Protocol parser library for Flir Tau2 thermal cameras
€200.00
FujiProtocolParser C++ lib. Protocol parser library for Fujinon CCTV lenses
€200.00
HitachiCamera C++ lib. Software controller for HITACHI CCTV cameras
€400.00
Olc C++ lib. Software controller for control Ophir® infrared lenses with advanced auto focus functions
€1,000.00
VentusCamera C++ lib. Software controller for Sierra-Olympia Ventus series thermal cameras.
€400.00