You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently looking at SoapySDR and SoapyHackRF logic.
I have found that I need to pad out the transmit buffer for the Hackrf to get transmit data. So to burst need to fill out the full buffer size of #define TRANSFER_BUFFER_SIZE 262144. Then the bytes would be transmitted. So smaller buffer sizes would not be transmitted unless padded out.
In searching ran across discussion there is a flag in SoapyHackRF::activateStream (in HackRF_Streaming.cpp) there is a flag
SOAPY_SDR_END_BURST and if you pass the numElemes. Which appears may have been intended to transmit smaller bursts. Yet the configuration only takes on HACKRF_TRANSCEIVER_MODE_RX which not exactly following.
smileyrekiere
changed the title
SoapyHackRF , in activateStream SOAPY_SDR_END_BURST logic not following.
SoapyHackRF how to transmit buffers smaller then 262144 and buffers greater then 262144
Apr 16, 2024
This is really more of a question for the SoapySDR repo. We don't maintain that library or have any special knowledge of it.
The API that we provide is libhackrf, which Soapy uses behind the scenes. In the libhackrf API you're free to send smaller chunks of data by setting the valid_length field in the hackrf_transfer struct in your TX callback. But if Soapy doesn't give you the necessary control of that field then you'd need to pad out the buffer.
What would you like to know?
Currently looking at SoapySDR and SoapyHackRF logic.
I have found that I need to pad out the transmit buffer for the Hackrf to get transmit data. So to burst need to fill out the full buffer size of #define TRANSFER_BUFFER_SIZE 262144. Then the bytes would be transmitted. So smaller buffer sizes would not be transmitted unless padded out.
In searching ran across discussion there is a flag in SoapyHackRF::activateStream (in HackRF_Streaming.cpp) there is a flag
SOAPY_SDR_END_BURST and if you pass the numElemes. Which appears may have been intended to transmit smaller bursts. Yet the configuration only takes on HACKRF_TRANSCEIVER_MODE_RX which not exactly following.
` if((flags & SOAPY_SDR_END_BURST)!=0 and numElems!=0) {
SoapySDR_logf(SOAPY_SDR_INFO,"Activate TX_STREAM SOAPY_SDR_END_BURST");
if(_current_mode==HACKRF_TRANSCEIVER_MODE_RX){ // <<<<HERE
//if(1){ // attempt
SoapySDR_logf(SOAPY_SDR_INFO,"Activate TX_STREAM setup Single Burst");
`
There was an additional discussion with regards to this flag a couple of years ago about SoapyHackRF::activateStream
https://lists.gnu.org/archive/html/discuss-gnuradio/2022-11/msg00024.html
which indicates that there is a flag to allow for a burst.
My question is .
The text was updated successfully, but these errors were encountered: