Haven't heard any advice on this post. I'm wondering if anybody has a C++ example which includes the FFT block? I can run a simple example from GnuRadio, but I cannot duplicate it in C++. Or, alternatively, is it possible to demonstrate successful use of the FFT block with an existing example such as 'rfnoc_rx_to_file'? That is what I attempted below and failed.
Rob On Mon, Nov 5, 2018 at 4:32 PM Rob Kossler <rkoss...@nd.edu> wrote: > Hi, > I built an X310 FPGA image with 2 FFT blocks and I am now trying to run > simple tests from C++. After my own code failed with numerous peek/poke > error messages, I tried to use the example "rfnoc_rx_to_file", which allows > the user to specify any RFNoC block to place in between the radio and the > host for Rx streaming. I tried this example with both the DDC block and > the FFT block > > - if I run with the DDC block, it works like a champ producing the > expected data file (see below) > - if I run with the FFT block, I get errors (see below). I noticed > that the graph->connect() function used in this example did not specify the > size of the packets so I modified the example such that the 'spp' was set > to 256 during the connect. > - If I run with the modified example (with 'spp' set to 256 in the > graph->connect() operation), I still get errors (see below). I had hoped > that setting the packet size to 256 at all stages of the streaming would > cause it to run correctly, but that is not happening. > > Any suggestions? Does the rfnoc_rx_to_file example lack needed > configuration of either the blocks or the graph? Is there any example I > can run? > > Rob > > // ************** Trial #1 ******************** > rfnoc_rx_to_file --freq 2400e6 --nsamps=4096 --block-id=DDC --spb=256 > result: works great > > // ************** Trial #2 ******************** > rfnoc_rx_to_file --freq 2400e6 --nsamps=4096 --block-id=FFT --spb=256 > > Creating the USRP device with: ... > [INFO] [UHD] Mac OS; Clang version 5.0.2 (tags/RELEASE_502/final); > Boost_106600; UHD_3.14.0.0-165-g1d5c186c > [INFO] [X300] X300 initialization sequence... > [INFO] [X300] Maximum frame size: 1472 bytes. > [INFO] [X300] Radio 1x clock: 200 MHz > [INFO] [0/Replay_0] Initializing block control (NOC ID: 0x4E91A00000000002) > [INFO] [0/Radio_0] Initializing block control (NOC ID: 0x12AD100000000001) > [INFO] [0/Radio_1] Initializing block control (NOC ID: 0x12AD100000000001) > [INFO] [0/DDC_0] Initializing block control (NOC ID: 0xDDC0000000000000) > [INFO] [0/DDC_1] Initializing block control (NOC ID: 0xDDC0000000000000) > [INFO] [0/DUC_0] Initializing block control (NOC ID: 0xD0C0000000000000) > [INFO] [0/DUC_1] Initializing block control (NOC ID: 0xD0C0000000000000) > [WARNING] [RFNOC] Can't find a block controller for key FFT, using default > block controller! > [INFO] [0/FFT_0] Initializing block control (NOC ID: 0xFF70000000000000) > [WARNING] [RFNOC] Can't find a block controller for key FFT, using default > block controller! > [INFO] [0/FFT_1] Initializing block control (NOC ID: 0xFF70000000000000) > Using radio 0, channel 0 > Setting RX Rate: 1.000000 Msps... > Actual RX Rate: 200.000000 Msps... > > Setting RX Freq: 2400.000000 MHz... > [WARNING] [X300 RADIO] Requesting invalid sampling rate from device: 1 > MHz. Actual rate is: 200 MHz. > Actual RX Freq: 2400.000000 MHz... > > Connecting 0/Radio_0 ==> 0/FFT_0 > [WARNING] [RFNOC] Assuming max packet size for 0/Radio_0 > Samples per packet: 256 > Using streamer args: block_id=0/FFT_0,spp=256 > Issueing stream cmd > Done > [ERROR] [X300] 192.168.10.2: x300 fw communication failure #1 > EnvironmentError: IOError: x300 fw poke32 - reply timed out > [ERROR] [X300] 192.168.10.2: x300 fw communication failure #2 > EnvironmentError: IOError: x300 fw poke32 - reply timed out > Timeout while streaming > Issueing stop stream cmd > ^C > > // ************** Trial #3 ******************** > rfnoc_rx_to_file_2 --freq 2400e6 --nsamps=4096 --block-id=FFT --spb=256 > > Creating the USRP device with: ... > [INFO] [UHD] Mac OS; Clang version 5.0.2 (tags/RELEASE_502/final); > Boost_106600; UHD_3.14.0.0-165-g1d5c186c > [INFO] [X300] X300 initialization sequence... > [INFO] [X300] Maximum frame size: 1472 bytes. > [INFO] [X300] Radio 1x clock: 200 MHz > [INFO] [GPS] No GPSDO found > [INFO] [0/Replay_0] Initializing block control (NOC ID: 0x4E91A00000000002) > [INFO] [0/Radio_0] Initializing block control (NOC ID: 0x12AD100000000001) > [INFO] [0/Radio_1] Initializing block control (NOC ID: 0x12AD100000000001) > [INFO] [0/DDC_0] Initializing block control (NOC ID: 0xDDC0000000000000) > [INFO] [0/DDC_1] Initializing block control (NOC ID: 0xDDC0000000000000) > [INFO] [0/DUC_0] Initializing block control (NOC ID: 0xD0C0000000000000) > [INFO] [0/DUC_1] Initializing block control (NOC ID: 0xD0C0000000000000) > [WARNING] [RFNOC] Can't find a block controller for key FFT, using default > block controller! > [INFO] [0/FFT_0] Initializing block control (NOC ID: 0xFF70000000000000) > [WARNING] [RFNOC] Can't find a block controller for key FFT, using default > block controller! > [INFO] [0/FFT_1] Initializing block control (NOC ID: 0xFF70000000000000) > Using radio 0, channel 0 > Setting RX Rate: 1.000000 Msps... > Actual RX Rate: 200.000000 Msps... > > Setting RX Freq: 2400.000000 MHz... > [WARNING] [X300 RADIO] Requesting invalid sampling rate from device: 1 > MHz. Actual rate is: 200 MHz. > Actual RX Freq: 2400.000000 MHz... > > Connecting 0/Radio_0 ==> 0/FFT_0 > Samples per packet: 256 > Using streamer args: block_id=0/FFT_0,spp=256 > Issueing stream cmd > Done > [ERROR] [X300] 192.168.10.2: x300 fw communication failure #1 > EnvironmentError: IOError: x300 fw poke32 - reply timed out > [ERROR] [X300] 192.168.10.2: x300 fw communication failure #2 > EnvironmentError: IOError: x300 fw poke32 - reply timed out > Timeout while streaming > >
_______________________________________________ USRP-users mailing list USRP-users@lists.ettus.com http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com