LrfUltisense C++ lib. Software controller for Ultisense laser range finders

€400.00

LrfUltisense C++ library is a software controller for Safran Laser Range Finders.

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.

LrfUltisense C++ library is a software controller for Safran Laser Range Finders.

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 LrfUltisense C++ library is a software controller for Safran Laser Range Finders. The library depends on: Lrf interface library (provides interface and data structures to control laser range finders, source code included, Apache 2.0 license), Logger library (provides function to print log information in console and files, source code included, Apache 2.0 license), SerialPort library (provides functions to work with serial ports, source code included, Apache 2.0 license) and LrfUltisenseParser library (provides functions to encode control commands and decode responses for Safran Laser Range Finders). After initialization, the library starts the internal data exchange thread with the laser range finder device, sends control commands and analyzes the responses (decodes the measurement results). The library repository (folder) is provided as source code and doesn’t have third-party dependencies to be specially installed in OS. It uses C++17 standard and is compatible with Linux and Windows.

Documentation

Documentation: GO TO DOCUMENTATION

Simple interface

class LrfUltisense : public Lrf
{
public:
    /// Get string of current library version.
    static std::string getVersion();

    /// Open lrf controller.
    bool openLrf(std::string initString) override;

    /// Init lrf controller by set of parameters.
    bool initLrf(LrfParams& params) override;

    /// Close connection.
    void closeLrf() override;

    /// Get lrf open status.
    bool isLrfOpen() override;

    /// Get lrf connection status.
    bool isLrfConnected() override;

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

    /// Get the lrf controller parameter value.
    float getParam(LrfParam id) override;

    /// Get all lrf controller parameters.
    void getParams(LrfParams& params) override;

    /// Execute lrf command.
    bool executeCommand(LrfCommand id) override;

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