usrp-users@lists.ettus.com

Discussion and technical support related to USRP, UHD, RFNoC

View all threads

Help with porting an old out-of-tree block

EA
Elvis Angelaccio
Thu, May 19, 2016 11:50 AM

Hi all,
I've been working on porting an old gnuradio out-of-tree block 1 to
latest upstream gnuradio. The port is available in 2. The block
implements a reader for RFID tags on top of an USRP v1.

The C++ code was quite easy to port, but I'm stuck with the Python
application I'm interested in 3.

In particular, it seems that the connect()s are broken and I cannot
build the flowgraph, resulting in a RuntimeError when starting the
app:

RuntimeError: gr uhd usrp sink(16): insufficient connected input ports
(2 needed, 1 connected)

Relevant code snippet (currently commented):
https://github.com/aelog/QuarkNet/blob/port/gr-usrp_reader_gen2/apps/WISP_reader.py#L165

How should I debug this issue? Is there an easy way to check what
every block I'm using expects to be connected with?

Best regards,
Elvis

Hi all, I've been working on porting an old gnuradio out-of-tree block [1] to latest upstream gnuradio. The port is available in [2]. The block implements a reader for RFID tags on top of an USRP v1. The C++ code was quite easy to port, but I'm stuck with the Python application I'm interested in [3]. In particular, it seems that the connect()s are broken and I cannot build the flowgraph, resulting in a RuntimeError when starting the app: RuntimeError: gr uhd usrp sink(16): insufficient connected input ports (2 needed, 1 connected) Relevant code snippet (currently commented): https://github.com/aelog/QuarkNet/blob/port/gr-usrp_reader_gen2/apps/WISP_reader.py#L165 How should I debug this issue? Is there an easy way to check what every block I'm using expects to be connected with? Best regards, Elvis [1]: https://github.com/pengyuzhang/QuarkNet/tree/master/usrp_reader_gen2 [2]: https://github.com/aelog/QuarkNet/tree/port/gr-usrp_reader_gen2 [3]: https://github.com/pengyuzhang/QuarkNet/blob/master/usrp_reader_gen2/apps/WISP_reader.py
EA
Elvis Angelaccio
Thu, May 19, 2016 12:43 PM

2016-05-19 13:50 GMT+02:00 Elvis Angelaccio angelaccioelvis@gmail.com:

Hi all,
I've been working on porting an old gnuradio out-of-tree block [1] to
latest upstream gnuradio. The port is available in [2]. The block
implements a reader for RFID tags on top of an USRP v1.

The C++ code was quite easy to port, but I'm stuck with the Python
application I'm interested in [3].

In particular, it seems that the connect()s are broken and I cannot
build the flowgraph, resulting in a RuntimeError when starting the
app:

RuntimeError: gr uhd usrp sink(16): insufficient connected input ports
(2 needed, 1 connected)

Relevant code snippet (currently commented):
https://github.com/aelog/QuarkNet/blob/port/gr-usrp_reader_gen2/apps/WISP_reader.py#L165

How should I debug this issue? Is there an easy way to check what
every block I'm using expects to be connected with?

Follow up: turns out the issue was the channel argument of uhd.stream_args.
I was using channels=range(2), while channels=range(1) makes the
RuntimeError disappear.

What's the meaning of this parameter? I have 2 daughterboards, both
attached to the TX/RX ports. Can I use both even if channels is set to
range(1) ?

Best regards,
Elvis

2016-05-19 13:50 GMT+02:00 Elvis Angelaccio <angelaccioelvis@gmail.com>: > Hi all, > I've been working on porting an old gnuradio out-of-tree block [1] to > latest upstream gnuradio. The port is available in [2]. The block > implements a reader for RFID tags on top of an USRP v1. > > The C++ code was quite easy to port, but I'm stuck with the Python > application I'm interested in [3]. > > In particular, it seems that the connect()s are broken and I cannot > build the flowgraph, resulting in a RuntimeError when starting the > app: > > RuntimeError: gr uhd usrp sink(16): insufficient connected input ports > (2 needed, 1 connected) > > Relevant code snippet (currently commented): > https://github.com/aelog/QuarkNet/blob/port/gr-usrp_reader_gen2/apps/WISP_reader.py#L165 > > How should I debug this issue? Is there an easy way to check what > every block I'm using expects to be connected with? Follow up: turns out the issue was the `channel` argument of uhd.stream_args. I was using channels=range(2), while channels=range(1) makes the RuntimeError disappear. What's the meaning of this parameter? I have 2 daughterboards, both attached to the TX/RX ports. Can I use both even if channels is set to range(1) ? > > Best regards, > Elvis > > > [1]: https://github.com/pengyuzhang/QuarkNet/tree/master/usrp_reader_gen2 > [2]: https://github.com/aelog/QuarkNet/tree/port/gr-usrp_reader_gen2 > [3]: https://github.com/pengyuzhang/QuarkNet/blob/master/usrp_reader_gen2/apps/WISP_reader.py
EA
Elvis Angelaccio
Thu, May 19, 2016 1:47 PM

2016-05-19 14:43 GMT+02:00 Elvis Angelaccio angelaccioelvis@gmail.com:

2016-05-19 13:50 GMT+02:00 Elvis Angelaccio angelaccioelvis@gmail.com:

Hi all,
I've been working on porting an old gnuradio out-of-tree block [1] to
latest upstream gnuradio. The port is available in [2]. The block
implements a reader for RFID tags on top of an USRP v1.

The C++ code was quite easy to port, but I'm stuck with the Python
application I'm interested in [3].

In particular, it seems that the connect()s are broken and I cannot
build the flowgraph, resulting in a RuntimeError when starting the
app:

RuntimeError: gr uhd usrp sink(16): insufficient connected input ports
(2 needed, 1 connected)

Relevant code snippet (currently commented):
https://github.com/aelog/QuarkNet/blob/port/gr-usrp_reader_gen2/apps/WISP_reader.py#L165

How should I debug this issue? Is there an easy way to check what
every block I'm using expects to be connected with?

Follow up: turns out the issue was the channel argument of uhd.stream_args.
I was using channels=range(2), while channels=range(1) makes the
RuntimeError disappear.

What's the meaning of this parameter? I have 2 daughterboards, both
attached to the TX/RX ports. Can I use both even if channels is set to
range(1) ?

Not sure if related, but my calls uhd.tune_request(freq=915e6) always
return 0...

Best regards,
Elvis

2016-05-19 14:43 GMT+02:00 Elvis Angelaccio <angelaccioelvis@gmail.com>: > 2016-05-19 13:50 GMT+02:00 Elvis Angelaccio <angelaccioelvis@gmail.com>: >> Hi all, >> I've been working on porting an old gnuradio out-of-tree block [1] to >> latest upstream gnuradio. The port is available in [2]. The block >> implements a reader for RFID tags on top of an USRP v1. >> >> The C++ code was quite easy to port, but I'm stuck with the Python >> application I'm interested in [3]. >> >> In particular, it seems that the connect()s are broken and I cannot >> build the flowgraph, resulting in a RuntimeError when starting the >> app: >> >> RuntimeError: gr uhd usrp sink(16): insufficient connected input ports >> (2 needed, 1 connected) >> >> Relevant code snippet (currently commented): >> https://github.com/aelog/QuarkNet/blob/port/gr-usrp_reader_gen2/apps/WISP_reader.py#L165 >> >> How should I debug this issue? Is there an easy way to check what >> every block I'm using expects to be connected with? > > Follow up: turns out the issue was the `channel` argument of uhd.stream_args. > I was using channels=range(2), while channels=range(1) makes the > RuntimeError disappear. > > What's the meaning of this parameter? I have 2 daughterboards, both > attached to the TX/RX ports. Can I use both even if channels is set to > range(1) ? Not sure if related, but my calls uhd.tune_request(freq=915e6) always return 0... > > > >> >> Best regards, >> Elvis >> >> >> [1]: https://github.com/pengyuzhang/QuarkNet/tree/master/usrp_reader_gen2 >> [2]: https://github.com/aelog/QuarkNet/tree/port/gr-usrp_reader_gen2 >> [3]: https://github.com/pengyuzhang/QuarkNet/blob/master/usrp_reader_gen2/apps/WISP_reader.py