>>But I think the call you're using basically does a lot of "set up device >>parameters" work every time you call it, which is not the usual "pattern".<<
Thanks for clarification! I would like to do a frequency sweep, and would therefore like to use the following sequence: * Initialize Device * Repeat n times: * Setup device to fn * Measure I finally managed to circumvent the described issue, by shifting the “Initialize device” step inside the loop: * Repeat n times: * (Re-)Initialize Device every m-th iteration * Setup device to fn * Measure With Gnuradio this was not possible. Btw – is there a better approach to do a frequency sweep that avoids setting up the device parameters over and over again? Best regards Christoph Christoph Schultz RF System Architect [RIEDEL at Social Media]<https://www.riedel.net/en/social-media-links/> ____________________________ RIEDEL Communications GmbH & Co. KG Uellendahler Str. 353 42109 Wuppertal Deutschland phone: +49 202 292-9150 christoph.schu...@riedel.net<mailto:christoph.schu...@riedel.net> www.riedel.net<http://www.riedel.net> ____________________________ RIEDEL Communications GmbH & Co. KG Registergericht: Amtsgericht Wuppertal HRA 22390 Umsatzsteuer-Identifikationsnummer: DE 814906984 Komplementärin: RIEDEL Communications International GmbH, Wuppertal Registergericht: Amtsgericht Wuppertal HRB 17038 Geschäftsführer: Thomas Riedel, Frank Eischet, Martin Berger From: Marcus D. Leech <patchvonbr...@gmail.com> Sent: Montag, 6. Dezember 2021 15:15 To: usrp-users@lists.ettus.com Subject: [USRP-users] Re: RfnocError: OpTimeout: Control operation timed out waiting for space in command buffer WARNING: External E-Mail! Be cautious with logins, attachments and links! WARNUNG: Externe E-Mail! Achtung bei Logins, Anlagen und Links! On 2021-12-06 02:13, Christoph Schultz (Riedel) wrote: Dear USRP-Users, I wanted to get back to you on the topic mentioned below. Meanwhile I reworked my code to work directly with the uhd Python class instead of using a gnuradio wrapper. Unfortunately I run into the identical issue again. What is it you're trying to achieve? The approach you're taking is clearly exercising a deficiency in the UHD code *somewhere*, and perhaps a different approach is required. The normal "pattern" is: o set up device parameters o iterate getting data until satisfied But I think the call you're using basically does a lot of "set up device parameters" work every time you call it, which is not the usual "pattern". Code is: >> import uhd import numpy as np device = uhd.usrp.MultiUSRP(“type=x300,addr=192.168.40.2”) for i in range(200): sig = device.recv_num_samps(int(1e5),900e6,4e6,[0],0) print(np.mean(sig)) << It’ll crash after 104 runs in file multi_usrp.py on line 54: >> super(MultiUSRP, self).set_rx_gain(gain,chan) << with the message mentioned below >> RfnocError: OpTimeout: Control operation timed out waiting for space in command buffer << Anybody got an idea, if this might be some known issue with e.g. the FPGA code, or the drivers? Best regards Christoph Christoph Schultz RF System Architect [RIEDEL at Social Media]<https://www.riedel.net/en/social-media-links/> ____________________________ RIEDEL Communications GmbH & Co. KG Uellendahler Str. 353 42109 Wuppertal Deutschland phone: +49 202 292-9150 christoph.schu...@riedel.net<mailto:christoph.schu...@riedel.net> www.riedel.net<http://www.riedel.net> ____________________________ RIEDEL Communications GmbH & Co. KG Registergericht: Amtsgericht Wuppertal HRA 22390 Umsatzsteuer-Identifikationsnummer: DE 814906984 Komplementärin: RIEDEL Communications International GmbH, Wuppertal Registergericht: Amtsgericht Wuppertal HRB 17038 Geschäftsführer: Thomas Riedel, Frank Eischet, Martin Berger From: Christoph Schultz (Riedel) <christoph.schu...@riedel.net><mailto:christoph.schu...@riedel.net> Sent: Donnerstag, 25. November 2021 17:08 To: usrp-users@lists.ettus.com<mailto:usrp-users@lists.ettus.com> Subject: RfnocError: OpTimeout: Control operation timed out waiting for space in command buffer Dear USRP-Users, I am facing a crash when repeatedly receiving data on a X300 using Gnuradio. To run into this issue, I load a top_block with a usrp_source, a head and a file_sink initially. Then a sequence of start()-wait()-stop()-wait()-reconfigure is run for e.g. 200 times. After a deterministic number of cycles the following error will appear: thread[thread-per-block[0] <block usrp_source(1)>]: RfnocError: OpTimeout: Control operation timed out waiting for space in command buffer Similar to the issue discussed here: https://www.mail-archive.com/usrp-users@lists.ettus.com/msg11413.html my first idea was, that the command buffer is getting filled faster than it is sent to the USRP device, but artificial sleeps between the loop cycles do not change the behavior at all. I was also not successful in reloading the usrp_source object on Python level (without stopping the full python process, and restarting it again manually). So it looks like the gnuradio functions leave something in the command buffer which I couldn’t clear so far without reloading the whole library by restarting Python. Is this a known issue? Are there any ways to manually release the command buffer, or is it a potential bug, which should go to the bug tracker of gr? Many thanks in advance and Best regards Christoph _______________________________________________ USRP-users mailing list -- usrp-users@lists.ettus.com<mailto:usrp-users@lists.ettus.com> To unsubscribe send an email to usrp-users-le...@lists.ettus.com<mailto:usrp-users-le...@lists.ettus.com>
_______________________________________________ USRP-users mailing list -- usrp-users@lists.ettus.com To unsubscribe send an email to usrp-users-le...@lists.ettus.com