Skip to content

[Feature request] Disconnect streamer from RFNoC graph #903

@waterfood128

Description

@waterfood128

Issue Description

Right now there is not a proper way to disconnect a streamer once it is connected to a RFNoC block. There are two sub-issues

  1. rfnoc_graph::disconnect() takes std::string streamer_id argument, however there is no public API to get streamer_id. Users need to guess the id (by looking at source code)
  2. uhd::transport::tx_streamer_zero_copy never clears _xports so users cannot call connect_channel() twice. Users need to create a new streamer object to workaround this.

Setup Details

I use replay block to buffer both tx/rx samples for all channels, which use all replay block's ports. When I want to write/read samples from host, I need to disconnect one port, connect it to the streamer, and disconnect when I'm done. Current public API does not support this use case.

Expected Behavior

Have an API rfnoc_graph::disconnect(uhd::tx_streamer& streamer, size_t port)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions