11 #include <unordered_map>
17 namespace uhd {
namespace rfnoc {
namespace rf_control {
24 using sptr = std::shared_ptr<antenna_iface>;
32 virtual std::vector<std::string>
get_antennas(
const size_t chan)
const = 0;
38 virtual void set_antenna(
const std::string& ant,
const size_t chan) = 0;
64 const std::vector<std::string>& possible_antennas,
65 const std::unordered_map<std::string, std::string>& compat_map);
69 std::vector<std::string>
get_antennas(
const size_t chan)
const override;
70 void set_antenna(
const std::string& ant,
const size_t chan)
override;
78 std::vector<std::string> _possible_antennas;
79 const std::unordered_map<std::string, std::string>& _compat_map;
std::shared_ptr< property_tree > sptr
Definition: property_tree.hpp:223
Definition: antenna_iface.hpp:22
virtual void set_antenna(const std::string &ant, const size_t chan)=0
std::shared_ptr< antenna_iface > sptr
Definition: antenna_iface.hpp:24
virtual ~antenna_iface()=default
virtual std::string get_antenna(const size_t chan) const =0
virtual std::vector< std::string > get_antennas(const size_t chan) const =0
Definition: antenna_iface.hpp:86
antenna_iface::sptr _tx_antenna
Definition: antenna_iface.hpp:99
virtual ~antenna_radio_control_mixin()=default
std::string get_tx_antenna(const size_t chan) const override
std::string get_rx_antenna(const size_t chan) const override
void set_tx_antenna(const std::string &ant, const size_t chan) override
void set_rx_antenna(const std::string &ant, const size_t chan) override
antenna_iface::sptr _rx_antenna
Definition: antenna_iface.hpp:98
std::vector< std::string > get_tx_antennas(const size_t chan) const override
std::vector< std::string > get_rx_antennas(const size_t chan) const override
Definition: core_iface.hpp:26
Definition: antenna_iface.hpp:51
std::vector< std::string > get_antennas(const size_t chan) const override
virtual ~enumerated_antenna()=default
std::string get_antenna(const size_t chan) const override
enumerated_antenna(uhd::property_tree::sptr tree, prop_path prop_path_generator, const std::vector< std::string > &possible_antennas, const std::unordered_map< std::string, std::string > &compat_map)
void set_antenna(const std::string &ant, const size_t chan) override
std::function< fs_path(const size_t chan)> prop_path
Definition: antenna_iface.hpp:53
#define UHD_API
Definition: config.h:87
Definition: build_info.hpp:12
Definition: property_tree.hpp:206