10-12-2012 12:17 PM
That looks like it should work. If you want to be totally sure, you could have created a constant from your Fetch's output. But looks good. Did this help with your problem?
10-12-2012 12:55 PM
Hello,
What do you mean by Fetch's Output.
I didn't check it with real hardware yet because I have no access to USRP at the moment, will check it tomorrow and let you know about it. Once again many thanks for your help.
Regards
10-12-2012 01:00 PM
What I meant was right-click on the output terminal of the USARP Fetch VI and select create->constant
10-14-2012 04:21 PM
Hello All,
I tried my best and do some more modifications by inserting shift registers as well but still all in vain. Getting the same error again after some seconds (which is random) of running the .vi file. During online search, at some place I read one of the reason of such problems is related to the PC system and its configurations but both my laptop and Home PC having the same RAM even my Laptop is core i3 (with small hard-disk as comapred to Home PC). But on Home PC the .vi file run very smoothly but on laptop it generates the error.
For modificatiion check the attachment. Kindly suggest me some solutioon to fix this problem ?
Regards
10-15-2012 02:53 AM
@attique1987 wrote:
Hello All,
I tried my best and do some more modifications by inserting shift registers as well but still all in vain. Getting the same error again after some seconds (which is random) of running the .vi file. During online search, at some place I read one of the reason of such problems is related to the PC system and its configurations but both my laptop and Home PC having the same RAM even my Laptop is core i3 (with small hard-disk as comapred to Home PC). But on Home PC the .vi file run very smoothly but on laptop it generates the error.
For modificatiion check the attachment. Kindly suggest me some solutioon to fix this problem ?
Regards
It could be a bad USB implementation on your laptop.
I had severe USB/DAQ buffering issues originating from el'cheapo USB hw & driver.
See if there is some new USB driver update and/or change the USB port you are using.
If all else fail, try on another laptop make/model.
Br,
/Roger
10-15-2012 04:04 AM
It could be a bad USB implementation on your laptop.
I had severe USB/DAQ buffering issues originating from el'cheapo USB hw & driver.
See if there is some new USB driver update and/or change the USB port you are using.
If all else fail, try on another laptop make/model.
Br,
/Roger
Replace "USB" with "Ethernet" in my suggestion above.
Try an USB to Ethernet converter dongle.
Turn off any wirless adapters on your laptop.
Br,
/Roger
10-24-2012 04:04 AM
Hi Attique!
If I understand correctly, the error only appears after a couple of seconds, which should mean that the VI works on the laptop and you gather some data, it just fails to be fast enough to process it all and eventually, the internal buffer of the task fills up. Could you run the task at a lower speed? That would make it certain whether it is caused by lack of system resources. The architecture you implemented looks good so far, I have some suggestions though:
-Try moving both data displays out of the producer loop, because updating them every iteration might take a bit of time. You can create a third loop for display like so:
the Preview Queue Element ensues that the queue is undisturbed and written to file without loss, and the Wait makes the display update at 50 Hz which is more than enough for fluid display yet still preserves resources.
- I would also move the control for Number of Samples out of the loop, to avoid front panel communication at every iteration.
- I suggest to set the Number of Samples to a multiple of 360, to ensure that all packets are of maximum size.
If all else fails, you can test your applications by ignoring overflow errors. To do this you must set Configuration>Advanced>Warning Policy to Return Success with a Property Node.
I hope this helps, please get back to me with the results.
Best Regards:
Andrew Valko
National Instruments
10-24-2012 01:35 PM
Hello Andrew,
First of all many thanks for your reply. You are right that the error appears after some secs especially when I run the .vi file on laptop but its completely random like after 5, 8, 9, 20 or 21 sec. I try to run the task on the lower IQ rate and it increase the run time but still after some time the same error pop up.
As per your suggestions I move the control for Number of Samples out of the loop and create a third loop for display/processing of data. I will run the modified code tomorrow when I get access to USRP hardware and then will get back to you with the results.
In addition will you please explain to me about keeping the Number of Samples to the multiple of 360 because I didn't get the point because of lack of knowledge 😞 Secondly What do you mean by "If all else fails, you can test your applications by ignoring overflow errors. To do this you must set Configuration>Advanced>Warning Policy to Return Success with a Property Node." Where should I find these settings?
Kind Regards
10-27-2012 02:51 AM - edited 10-27-2012 02:52 AM
Dear Attique!
The Number of Samples for the acquisition useful to set because of the maximum packet size for the Ethernet communication protocol. You can improve throughput by ensuring that all Ethernet packets are full. For your device, I found that it is actually even higher than 360:
-16-bit sample width—multiples of 363
-8-bit sample width—multiples of 726
As for the setting, that is accessible via the niUSRP Property Node that you can find in the USRP libary (or just use a regular Property Node and then Select Class>IVI>niUSRP on the right-click menu).
I would advise to use it only for testing though, because what this does is it sets your Read to ignore overflow, underflow and timeout errors. To quote the help page:
Short Name: Warning Policy
Property of niUSRP
Specifies whether NI-USRP returns an error, returns a warning, or ignores overflow, underflow, or timeout conditions during data transfer.
Default Value: Return Errors
Supported Devices: NI USRP-2920/2921/2922
Return Warnings (0) |
Returns a warning when an overflow, underflow, or timeout condition occurs during a data transfer. |
Return Errors (1) |
Returns an error when an overflow, underflow, or timeout condition occurs during a data transfer. |
Return Success (2) |
Ignores overflow, underflow, or timeout conditions during a data transfer. |
I'll be waiting for your results!
Best of luck:
Andrew Valko
10-29-2012 04:15 AM
Hello Andrew,
I modified the receiver keeping your suggestions into account, you can have a look via the attachment. But there is no difference, still remains the same with the same error 😞 I also updated the LAN card driver but all in vain.
In the modified receiver I can't stop the receiver via Stop button its still running until you press the red circular button on the top (left side of toolbar). Did I miss something?
Kind Regards