Comments (4)
I solved this problem and troubles with transmission, by going to a simple rx_sync and tx_sync model - there was some bugs in what you had done. I think I deleted 148 lines changed 2 lines and added one line. I seems to run just as fast as what you did on the BaldeRF xA5 and it works.
https://github.com/righthalfplane/SoapyBladeRF
from soapybladerf.
Thanks for trying that. There is a lot of fluff in that code to support the burst API and BLADERF_FORMAT_SC16_Q11_META
mode. I kind of think there is a bladerf drive issue with that mode (and or possibly something from the API being used a little wrong here).
Im not entirely sure what to do, BLADERF_FORMAT_SC16_Q11
mode clearly works, and is simpler, and better tested. But I dont want to remove all of that support either. I wonder if I can set the BLADERF_FORMAT_SC16_Q11/BLADERF_FORMAT_SC16_Q11_META conditionally in the stream setup and just goto/if out the code you deleted based on the mode. Since a lot of it can be bypassed in continuous streaming mode.
from soapybladerf.
The code you had always fails when I try to do two streams of rx. If I send the tx data in large blocks, it fails often and will not recover with out a complete shut down and setup. If I send 4096 blocks, it occasionally fails on a full duplex single stream tx and rx and It does not recover. I think that the error handling is wrong - it seems to flag the error on the current and next pass. Without all of the fluff, it automatically recovers from the occasionally errors that come when I start the tx stream and so the errors are not really a problem. When I start a tx stream, it always errors for a few blocks on the rx stream - they are in different threads - it claims to be full duplex, but it does not act like it.
from soapybladerf.
@righthalfplane I pull together a pull request for this #47 . Basically I made the "meta" mode default to off for dual channel. I have no idea whats really wrong, but streaming is better than no streaming.
I agree all of the flags are basically fluff, but it looks like they don't do anything when not set. I hope that can work for you.
- PR here #47
from soapybladerf.
Related Issues (20)
- Return the status of MINIEXP1 & MINIEXP2 in readStream HOT 3
- Access quick tune API HOT 6
- How to use XB200 transverter board? HOT 2
- Activating the PLL clock refrerence HOT 11
- BladeRf 2.0 multiple input - 2 different frequences on 2 different inputs HOT 2
- Issue with Bladerf2 + soapy (+ osmosdr) HOT 2
- Libbladerf 2.4 and loss of manual gain control
- Add setting for "verbose"
- Unable to enable Bias-T with Soapy Sink and/or Source blocks for the BladeRF (2.0 xA4). HOT 2
- 2-Channel Receive Error with libbladerf 2021.10 HOT 2
- SoapyBladeRF usb timeout errors HOT 2
- Update dual streaming patch not building HOT 3
- ‘SOAPY_SDR_USER_FLAG1’ was not declared in this scope HOT 2
- Consider supplying the quick_tune parameter to bladerf_schedule_retune() when the XB-200 is enabled. HOT 4
- Add new release tag HOT 1
- (Request) Add ability to specify new sample format and oversample settings
- BladeRF wait_for_buffer error HOT 1
- Multiple Blades must be loaded in a specific order
- Units for timestamp keyword on setFrequency() are inconsistent with the rest of SoapySDR
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from soapybladerf.