aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/usrp/common/ad9361_ctrl.hpp
diff options
context:
space:
mode:
authorJulian Arnold <julian.arnold@ettus.com>2015-03-19 11:48:39 -0700
committerJulian Arnold <julian.arnold@ettus.com>2015-03-19 11:59:00 -0700
commit4cdb75606b6d79ac15d4b64e706a1c75368bba7d (patch)
tree00388bf492c2323bc794342dcb561baf56d8169e /host/lib/usrp/common/ad9361_ctrl.hpp
parent0634323a51a32ebc288383856af4cd150eae1aa8 (diff)
downloaduhd-4cdb75606b6d79ac15d4b64e706a1c75368bba7d.tar.gz
uhd-4cdb75606b6d79ac15d4b64e706a1c75368bba7d.tar.bz2
uhd-4cdb75606b6d79ac15d4b64e706a1c75368bba7d.zip
b2xx: filter API implementation. Supports listing of RX/TX filters, querying RX/TX filter information and writing of analog and FIR filters
Diffstat (limited to 'host/lib/usrp/common/ad9361_ctrl.hpp')
-rw-r--r--host/lib/usrp/common/ad9361_ctrl.hpp18
1 files changed, 13 insertions, 5 deletions
diff --git a/host/lib/usrp/common/ad9361_ctrl.hpp b/host/lib/usrp/common/ad9361_ctrl.hpp
index 0dd1b08d9..a6d65ad11 100644
--- a/host/lib/usrp/common/ad9361_ctrl.hpp
+++ b/host/lib/usrp/common/ad9361_ctrl.hpp
@@ -27,6 +27,8 @@
#include <ad9361_device.h>
#include <string>
#include <complex>
+#include <uhd/types/filters.hpp>
+#include <vector>
namespace uhd { namespace usrp {
@@ -79,11 +81,8 @@ public:
return uhd::meta_range_t(5e6, ad9361_device_t::AD9361_MAX_CLOCK_RATE); //5 MHz DCM low end
}
- //! set the filter bandwidth for the frontend
- double set_bw_filter(const std::string &/*which*/, const double /*bw*/)
- {
- return 56e6; //TODO
- }
+ //! set the filter bandwidth for the frontend's analog low pass
+ virtual double set_bw_filter(const std::string &/*which*/, const double /*bw*/) = 0;
//! set the gain for a particular gain element
virtual double set_gain(const std::string &which, const double value) = 0;
@@ -131,6 +130,15 @@ public:
//! read the internal temp sensor
virtual sensor_value_t get_temperature() = 0;
+
+ //! List all available filters by name
+ virtual std::vector<std::string> get_filter_names(const std::string &which) = 0;
+
+ //! Return a list of all filters
+ virtual filter_info_base::sptr get_filter(const std::string &which, const std::string &filter_name) = 0;
+
+ //! Write back a filter
+ virtual void set_filter(const std::string &which, const std::string &filter_name, const filter_info_base::sptr) = 0;
};
}}