aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib
diff options
context:
space:
mode:
authorMartin Braun <martin.braun@ettus.com>2021-11-29 14:51:40 +0100
committerAaron Rossetto <aaron.rossetto@ni.com>2021-12-02 06:44:25 -0800
commit3b41e0b055c6b555e3baccc14fa9c90c3d425447 (patch)
tree1379e94f77f7cf18064fb60b34ad85b0e3c76958 /host/lib
parent3bd6afb51ee351abe0c5e45673e51725cf2e79e6 (diff)
downloaduhd-3b41e0b055c6b555e3baccc14fa9c90c3d425447.tar.gz
uhd-3b41e0b055c6b555e3baccc14fa9c90c3d425447.tar.bz2
uhd-3b41e0b055c6b555e3baccc14fa9c90c3d425447.zip
rfnoc: Change default block behaviour
The default block controller is used whenever no other block controller is used. It currently defaults to dropping both property propagation and actions. When a custom block is injected into a graph like this for example: Radio -> DDC -> Custom Block -> Rx Streamer This default behaviour causes the Rx Streamer to not be able to send actions (like stream commands) nor does it allow MTU propagation (or any other property's propagation). The default block behaviour is ONE_TO_ONE, meaning that actions and properties on input channel N will get forwarded to output channel N. In absence of an actual block controller, this is more useful default than setting the propagation to DROP for both actions and properties. Most blocks that pass through data, or do some simple processing, will now work in the absence of a block controller. The new disadvantage is that blocks which would modify properties such as sampling rate, scaling, or MTU will no longer work properly in the absence of a block controller. However, the recommended behaviour is anyway not to operate without a block controller. For the cases where no block controller is present, ONE_TO_ONE is considered the generally more useful default.
Diffstat (limited to 'host/lib')
-rw-r--r--host/lib/rfnoc/block_control.cpp6
1 files changed, 1 insertions, 5 deletions
diff --git a/host/lib/rfnoc/block_control.cpp b/host/lib/rfnoc/block_control.cpp
index e6d5cd31d..e830fd965 100644
--- a/host/lib/rfnoc/block_control.cpp
+++ b/host/lib/rfnoc/block_control.cpp
@@ -14,11 +14,7 @@ using namespace uhd::rfnoc;
class block_control_impl : public block_control
{
public:
- RFNOC_BLOCK_CONSTRUCTOR(block_control)
- {
- set_prop_forwarding_policy(forwarding_policy_t::DROP);
- set_action_forwarding_policy(forwarding_policy_t::DROP);
- }
+ RFNOC_BLOCK_CONSTRUCTOR(block_control) {}
};
UHD_RFNOC_BLOCK_REGISTER_DIRECT(