-
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.
- Black Hole - consumes all input data -- for testing purposes.
- Delay - introduce runtime-configurable delay into a stream of elements.
- Forwarder - passively forward input to output -- for testing purposes.
- 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.
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.
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