From 70a04855acb74378d8d09b071783a201aa72dbfd Mon Sep 17 00:00:00 2001 From: Michael Ossmann Date: Fri, 9 Sep 2022 16:16:24 -0400 Subject: [PATCH] libhackrf: add transfer buffer size access calls Applications may need to learn the size of the USB transfer buffer queue, for example to determine how many bytes will be preloaded with calls to the TX callback. --- host/libhackrf/src/hackrf.c | 20 ++++++++++++++++++++ host/libhackrf/src/hackrf.h | 5 +++++ 2 files changed, 25 insertions(+) diff --git a/host/libhackrf/src/hackrf.c b/host/libhackrf/src/hackrf.c index ab49a920..49f3a49d 100644 --- a/host/libhackrf/src/hackrf.c +++ b/host/libhackrf/src/hackrf.c @@ -2685,6 +2685,26 @@ int ADDCALL hackrf_start_rx_sweep( return result; } +/** + * Get USB transfer buffer size. + * @return size in bytes + */ +size_t ADDCALL hackrf_get_transfer_buffer_size(hackrf_device* device) +{ + (void) device; + return TRANSFER_BUFFER_SIZE; +} + +/** + * Get the total number of USB transfer buffers. + * @return number of buffers + */ +uint32_t ADDCALL hackrf_get_transfer_queue_depth(hackrf_device* device) +{ + (void) device; + return TRANSFER_COUNT; +} + #ifdef __cplusplus } // __cplusplus defined. #endif diff --git a/host/libhackrf/src/hackrf.h b/host/libhackrf/src/hackrf.h index 0d3efc8f..4f9ddbc8 100644 --- a/host/libhackrf/src/hackrf.h +++ b/host/libhackrf/src/hackrf.h @@ -25,6 +25,7 @@ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSI #define __HACKRF_H__ #include +#include #ifdef _WIN32 #define ADD_EXPORTS @@ -458,6 +459,10 @@ extern ADDAPI int ADDCALL hackrf_start_rx_sweep( hackrf_sample_block_cb_fn callback, void* rx_ctx); +extern ADDAPI size_t ADDCALL hackrf_get_transfer_buffer_size(hackrf_device* device); + +extern ADDAPI uint32_t ADDCALL hackrf_get_transfer_queue_depth(hackrf_device* device); + #ifdef __cplusplus } // __cplusplus defined. #endif