Skip to content

WSPR Telemetry API

Overview

This page describes the WsprEncoded C++ header-only library which implements telemetry encoding and decoding functionality.

This is useful for writing a tracker, or other purposes.

Library

The WsprEncoded library implements the functionality described in:

The library is available in several forms

  • Arduino Library via Arduino's Package Manager
  • CMake integration
    • Git submodules, FetchContent, direct

The library is designed to be widely compatible

  • No dynamic memory allocations (no malloc, no new)
    • No STL containers which allocate memory, either
  • C++11 language version, so old compilers are supported
    • Header-only implementation

API Overview

API Overview

What Description
TelemetryBasic API Encode and Decode Basic Telemetry.
(eg altitude, voltage, etc)
TelemetryExtendedUserDefined API Encode and Decode arbitrary telemetry.
Use the API to define fields, encode, decode.
ChannelMap API Look up Channel Map details by band and channel.
(id13, start minute, and frequency)

Arduino

See the Arduino page for details.

CMake Integration

Using CMake FetchContent

Coming soon

Using Git Submodules

Coming soon

From Outside Your Project

Integrate WsprEncoded library from outside your build tree

Reference the library from your project.
(The below assumes the WsprEncoded folder is at the same directory level as your project).

CMakeLists.txt
add_executable(YourExecutable main.cpp)
target_link_libraries(YourExecutable WsprEncoded)

add_subdirectory(../WsprEncoded WSPR_ENCODED)