From b544acf53bee8f3b6bbf9ea9b0dc3056ba31c759 Mon Sep 17 00:00:00 2001 From: f4exb Date: Sun, 12 Mar 2017 00:41:05 +0100 Subject: [PATCH] Make sure 3 and 6 MS/s are supported by HackRF and BladeRF for transmission to match Airspy Mini sample rates --- devices/bladerf/devicebladerfvalues.cpp | 45 +++++++++++++++++++++++-- devices/bladerf/devicebladerfvalues.h | 4 +-- devices/hackrf/devicehackrfvalues.cpp | 3 +- 3 files changed, 46 insertions(+), 6 deletions(-) diff --git a/devices/bladerf/devicebladerfvalues.cpp b/devices/bladerf/devicebladerfvalues.cpp index 3e6d1136e..5be586443 100644 --- a/devices/bladerf/devicebladerfvalues.cpp +++ b/devices/bladerf/devicebladerfvalues.cpp @@ -17,8 +17,31 @@ #include "devicebladerfvalues.h" -unsigned int DeviceBladeRFSampleRates::m_rates[] = {1536, 1600, 2000, 2304, 2400, 3072, 3200, 4608, 4800, 6144, 7680, 9216, 9600, 10752, 12288, 18432, 19200, 24576, 30720, 36864, 39936}; -unsigned int DeviceBladeRFSampleRates::m_nb_rates = 21; +unsigned int DeviceBladeRFSampleRates::m_nb_rates = 23; +unsigned int DeviceBladeRFSampleRates::m_rates[] = { + 1536, + 1600, + 2000, + 2304, + 2400, + 3000, + 3072, + 3200, + 4608, + 4800, + 6000, + 6144, + 7680, + 9216, + 9600, + 10752, + 12288, + 18432, + 19200, + 24576, + 30720, + 36864, + 39936}; unsigned int DeviceBladeRFSampleRates::getRate(unsigned int rate_index) { @@ -50,8 +73,24 @@ unsigned int DeviceBladeRFSampleRates::getNbRates() return DeviceBladeRFSampleRates::m_nb_rates; } -unsigned int DeviceBladeRFBandwidths::m_halfbw[] = {750, 875, 1250, 1375, 1500, 1920, 2500, 2750, 3000, 3500, 4375, 5000, 6000, 7000, 10000, 14000}; unsigned int DeviceBladeRFBandwidths::m_nb_halfbw = 16; +unsigned int DeviceBladeRFBandwidths::m_halfbw[] = { + 750, + 875, + 1250, + 1375, + 1500, + 1920, + 2500, + 2750, + 3000, + 3500, + 4375, + 5000, + 6000, + 7000, + 10000, + 14000}; unsigned int DeviceBladeRFBandwidths::getBandwidth(unsigned int bandwidth_index) { diff --git a/devices/bladerf/devicebladerfvalues.h b/devices/bladerf/devicebladerfvalues.h index 9aabc48f7..36d4bdf7a 100644 --- a/devices/bladerf/devicebladerfvalues.h +++ b/devices/bladerf/devicebladerfvalues.h @@ -24,7 +24,7 @@ public: static unsigned int getRateIndex(unsigned int rate); static unsigned int getNbRates(); private: - static unsigned int m_rates[21]; + static unsigned int m_rates[]; static unsigned int m_nb_rates; }; @@ -34,7 +34,7 @@ public: static unsigned int getBandwidthIndex(unsigned int bandwidth); static unsigned int getNbBandwidths(); private: - static unsigned int m_halfbw[16]; + static unsigned int m_halfbw[]; static unsigned int m_nb_halfbw; }; diff --git a/devices/hackrf/devicehackrfvalues.cpp b/devices/hackrf/devicehackrfvalues.cpp index 5b62be265..5cc9b30ce 100644 --- a/devices/hackrf/devicehackrfvalues.cpp +++ b/devices/hackrf/devicehackrfvalues.cpp @@ -16,9 +16,10 @@ #include "devicehackrfvalues.h" -const unsigned int HackRFSampleRates::m_nb_rates = 16; +const unsigned int HackRFSampleRates::m_nb_rates = 17; const unsigned int HackRFSampleRates::m_rates[HackRFSampleRates::m_nb_rates] = { 2400000, + 3000000, 3200000, 4000000, 4333333, // for GSM