Skip to content
Josh Blum edited this page May 8, 2015 · 8 revisions

Pothos overview

Pothos is a scheduling framework and an API for solving problems with interconnected processing blocks. Some of its prominent features are the network-distributed topologies, minimal-boilerplate for creating new processing blocks, and buffer management techniques. Read more on the features page.

Graphical tools

Pothos has a GUI design tool to accompany the library (Pothos GUI). Some prominent features of the GUI are live evaluation, live topology reconfiguration, support for networked topologies, and embedded widgets and plotters. Learn more on the GUI tutorial.

Add-on toolkits

Pothos has many add-on projects call toolkits. Toolkits add processing blocks, widgets, plotters, device support, and language bindings to the Pothos environment. A list of offcial toolkits can be found on the components map.

SDR support

Software defined radio (SDR) is one of the major use-cases for Pothos. To support SDR, Pothos has a toolkit for interfacing with SDR hardware, a toolkit with live signal-analysis plotters, and several toolkits with signal processing blocks.

  • The pothos-sdr toolkit provides source and sink blocks for interfacing with sample streams from SDR hardware. The blocks support advanced timing and burst features,

and hook into the framework's signals and slots system to support message-oriented control. By using Soapy SDR, the SDR interface blocks are vendor neutral, and can be adapted to most available hardware.

  • Soapy SDR goes above and beyond simply being a interface for the pothos-sdr toolkit. Its a compatibility later for various SDR APIs and frameworks, a general-purpose abstraction API for SDR devices, and an easy way for new devices to enter into the SDR ecosystem.