We need a way to bind different USB devices to multiple SDR sinks / sources. The workflow could look like this:
- At flowgraph authorship time we will enforce that flowgraphs with multiple sources / sinks must name them appropriately
At runtime:
- When loading / running a flowgraph (maybe we need a pairing mode to allow the user to select when to do this action, and allow them to avoid re-pairing if the past selection is acceptable)
- For each source / sink:
- Tell the user to plug in block XXX (grabbing the name the author wrote for that block)
- Wait for USB callback from Android
- Do some basic checks (is this an SDR, does seify detect this)
- Pass this pairing of FD + block name / block ID to natives
- TBD on the interface for this. How do we identify a block across the FFI layer?
- Perhaps we have a native method that parses the toml and returns a
Vec<(String, usize)> containing the (name, id) for each block
- When going to run the flowgraph we map this to a
Vec<(usize, OwnedFd)> which is then used by #138
We need a way to bind different USB devices to multiple SDR sinks / sources. The workflow could look like this:
At runtime:
Vec<(String, usize)>containing the(name, id)for each blockVec<(usize, OwnedFd)>which is then used by #138