ValoFly TetherCom Library  3
Communication library for ValoFly Tether.Solutions ground stations
TetherCom Library
Author
ValoFly GmbH suppo.nosp@m.rt@v.nosp@m.alofl.nosp@m.y.co.nosp@m.m

What is TetherCom?

TetherCom is a cross-plattform library designed to communicate with ValoFly Tether.Solutions ground stations. This library is written in modern C++ and uses C++ 11 standards.

TetherCom class provides common functions to interface with hardware devices like open, close connection, set and get parameters, configurations and system details of ValoFly Tether.Solutions ground Stations. For simple integration to other C++ projects, TetherCom library is designed as CMake package.

To use TetherCom library, serial communication library by William Woodall and John Harrison (Serial) is required. Serial communication library is already part of the pre-built packages of TetherCom library but has to be included as CMake find package in projects using TetherCom library.

TetherCom library package contains examples how to work with this library.

Getting Started

To interface ValoFly Tether.Solutions ground stations check out main class documentation: VALOFLY::TetherCom

Features

Features of VALOFLY::TetherCom

  • system details of ValoFly Tether.Solutions ground stations
  • activity control and status of ValoFly Tether.Solutions ground stations
  • get information of unwounded tether cable
  • configuration and status of tether cable retraction
  • system and UAV power, voltage and current consumption
  • different flight and system usage times

Resources

Dependencies

  • CMake:
  • serial
    • serial is required for compiling projects using TetherCom, it is part of pre-built packages. For further information to serial visit project website: https://github.com/wjwwood/serial

Usage

TetherCom library is designed to be used with CMake projects. Besides of TetherCom library, serial library has to be available for the project since TetherCom library link to it.

Place the library package consists of TetherCom library and serial library in a folder, where CMake and compiler can access them. Set TETHERCOM_ROOT_DIR of CMakeLists.txt of your project to /path/to/library_package/TetherComLib, extend CMAKE_PREFIX_PATH with TETHERCOM_ROOT_DIR and use find_package for TetherCom.

If relations of both folder of TetherComLib and serial are still same as they delivered as package, TetherCom library will find path to serial library. If this will fail, path to serial library has to be configured by set SERIAL_ROOT_DIR to /path/to/serial and extend CMAKE_PREFIX_PATH with SERIAL_ROOT_DIR.

For example, supposed that library package is placed in 3rdParty in project folder:

### TetherCom ###
set(TETHERCOM_ROOT_DIR "${PROJECT_SOURCE_DIR}/3rdParty/TetherComLib")
set(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} ${TETHERCOM_ROOT_DIR})
find_package(TetherCom REQUIRED)

This example supposed, TetherCom library is able to determine location of serial lib.

In case of TetherComLib is not able to determine location of serial lib add its path to project configuration:

### serial ###
set(SERIAL_ROOT_DIR "/path/to/serial")
set(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} ${SERIAL_ROOT_DIR})

Finaly CMake link targets have to be set with:

target_link_libraries(${TARGET_NAME} VALOFLY::TetherCom::TetherCom)

for TetherCom library.

It is not necessary to link serial library, but its path have to been known to CMake.