aboutsummaryrefslogtreecommitdiffstats
path: root/mpm/lib/mykonos/ad937x_device.hpp
diff options
context:
space:
mode:
authormattprost <matt.prost@ni.com>2021-12-16 13:48:26 -0600
committerAaron Rossetto <aaron.rossetto@ni.com>2022-04-07 13:28:02 -0700
commitb8acf58798018f5fb4d84d470badadce5dd3a08d (patch)
tree137db7eeff0d3bbc202b228fd4bee4f143b1b467 /mpm/lib/mykonos/ad937x_device.hpp
parenta8ad4917d331258e163e1786c0325a4b7e7d2e3e (diff)
downloaduhd-b8acf58798018f5fb4d84d470badadce5dd3a08d.tar.gz
uhd-b8acf58798018f5fb4d84d470badadce5dd3a08d.tar.bz2
uhd-b8acf58798018f5fb4d84d470badadce5dd3a08d.zip
n310: Add Filter API to n310
Add the Filter API to n3xx specifically for the AD937x device. The TX filter is limited to 32 taps, and the RX filter is limited to 48 taps. This feature requires MPM version 4.2 or later on the device. Co-authored-by: bpadalino <bpadalino@gmail.com> Signed-off-by: mattprost <matt.prost@ni.com>
Diffstat (limited to 'mpm/lib/mykonos/ad937x_device.hpp')
-rw-r--r--mpm/lib/mykonos/ad937x_device.hpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/mpm/lib/mykonos/ad937x_device.hpp b/mpm/lib/mykonos/ad937x_device.hpp
index 8ee77db54..4b4503eb3 100644
--- a/mpm/lib/mykonos/ad937x_device.hpp
+++ b/mpm/lib/mykonos/ad937x_device.hpp
@@ -20,6 +20,7 @@
#include <boost/filesystem.hpp>
#include <boost/noncopyable.hpp>
#include <functional>
+#include <map>
#include <memory>
class ad937x_device : public boost::noncopyable
@@ -82,9 +83,10 @@ public:
bool get_pll_lock_status(const uint8_t pll, const bool wait_for_lock = false);
+ void set_fir(const std::string& name, int8_t gain, const std::vector<int16_t>& fir);
void set_fir(
const uhd::direction_t direction, int8_t gain, const std::vector<int16_t>& fir);
- std::vector<int16_t> get_fir(const uhd::direction_t direction, int8_t& gain);
+ std::pair<int8_t, std::vector<int16_t>> get_fir(const std::string& name);
int16_t get_temperature();
@@ -136,4 +138,7 @@ private:
static double _convert_rx_gain_from_mykonos(const uint8_t gain);
static uint16_t _convert_tx_gain_to_mykonos(const double gain);
static double _convert_tx_gain_from_mykonos(const uint16_t gain);
+
+ const static std::map<std::string, mykonosfirName_t> _tx_filter_map;
+ const static std::map<std::string, mykonosfirName_t> _rx_filter_map;
};