-
Notifications
You must be signed in to change notification settings - Fork 7
Home
The Pothos-Blocks project contains general blocks used for testing and demonstrative purposes.
- Browse the code: https://github.com/pothosware/pothos-blocks
- Open issues: https://github.com/pothosware/pothos-blocks/issues
General purpose basic arithmetic block with support for addition, subtraction, multiplication, and division. This block also demonstrates the features of 1) feedback loops and 2) inline buffer substitution.
- Binary file sink - write an input data stream to a file.
- Binary file source - read a file into an output stream.
- FIR Taps designer - emit taps signal when parameters changed.
- FIR Filter - interpolating and decimating/fixed and floating point
- Black Hole - consumes all input data -- for testing purposes.
- Delay - introduce runtime-configurable delay into a stream of elements.
- Gateway - passively forward input to output, drop input, or backup.
- Pacer - pace the flow rate of a stream of elements or messages.
- Slot to message - convert a slot acceptor into a message producer.
- Copier - copy input buffers to output buffers -- used for domain crossing.
- Dynamic Router - passively forward inputs to outputs based on a configurable mapping.
- Message to signal - convert an input message to a signal provider.
- Periodic trigger - generate a well-timed signal event.
- Stream probe - emit mean, RMS, or last seen element when triggered.
- Finite release - stop forwarding after specified number of elements
- Vector source - repeat a user specified numeric array for testing
- Converter - convert input element stream to specified output type
Network blocks are automatically inserted into the topology when blocks cross process and host boundaries. The network blocks support flow control, binary streams, as well as serializing arbitrary messages.
- Network sink - send a stream over a network socket.
- Network source - recv a stream from a network socket.
- Packet to stream - convert packet messages to a byte stream with labels
- Stream to packet - convert a byte stream with labels to packet messages
- Label deframer - convert an element stream to a packets use label delineators
- Scrambler and descrambler block
- Symbol to constellation mapper
- Bit stream to symbol stream
- Byte stream to symbol stream
- Symbol stream to bit stream
- Preamble correlator block
- Differential encoder block
- Differential decoder block
The serialize blocks can transform an aribitrary stream containing messages and buffers into an mVRL stream and back. The mVRL encoding allows arbitrary stream data to be passed through mediums like network sockets and files and recovered -- even in the event of data loss.
- Serializer - convert an input stream of messages and buffers into a mVRL stream.
- Deserializer - convert an mVRL stream into a stream of messages and buffers.
The test blocks are used for unit testing, by allowing the user to feed an input stream with arbitrary data via funtion calls on the feeder source; and by allowing the user to read back the data collected from the collector sink. The data from the collector sink can be compared to the expected result in a unit test. Also, the feeder source can generate pseudorandom test plans that can be validated by the collector sink; thus automating the generation and validation steps in some test cases.
- Feeder source - feed arbitrary data into an output stream.
- Collector sink - collect arbitrary data from an input stream.
- Waveform source - generate basic waveforms (sine, square...) with a lookup table implementation.
- Noise source - generate basic noise patterns (gaussian, uniform...) with a lookup table implementation.
- Project overview
- Getting started
- FAQ
- Video screencasts
- Demo applications
- Features summary
- Versioned releases
- Miscellaneous links
- Help and support
- Pothos users' group
- Twitter @pothosware
- IRC chat #pothos
- Slack workspace
- Contract services
- Developer blog
- Contributing
- Donate
- Build guide
- GUI Tutorial
- SDR Tutorial
- Filter Tutorial
- Doxygen docs
- PothosUtil Guide
- Blocks coding guide
- Scheduler explained
- Remote control guide
- Extending serialization