diff options
author | mattprost <matt.prost@ni.com> | 2020-03-05 10:47:59 -0600 |
---|---|---|
committer | Aaron Rossetto <aaron.rossetto@ni.com> | 2020-03-23 09:33:57 -0500 |
commit | 0ac85e4d0186cb63cb98da90363f34947675b3e5 (patch) | |
tree | 0bb25db3a4812d3230866df5cab3957180e4b065 /host/lib/usrp/dboard/db_basic_and_lf.hpp | |
parent | 5c7237fb407cfccaee205980d97e40ce10768c2a (diff) | |
download | uhd-0ac85e4d0186cb63cb98da90363f34947675b3e5.tar.gz uhd-0ac85e4d0186cb63cb98da90363f34947675b3e5.tar.bz2 uhd-0ac85e4d0186cb63cb98da90363f34947675b3e5.zip |
x300: lf/basic antenna API implementation
This results in a change of operation for LF/Basic Boards on
X300/X310 devices. The RX streaming mode will now be specified
by the antenna rather than the subdev: (AB or BA for complex
streaming, and A or B for real-mode streaming, with AB being
the default antenna value). For real-mode streaming, data is
collected as complex data with zeroed-out values in the
quadrature domain. The subdevs for these boards have been
changed to 0 and 1 for the RX channels, and 0 for the TX
channel, in order to align with subdev specs of other RFNoC
devices.
Note: the old streaming mode paradigm is still in place for
the N210.
Diffstat (limited to 'host/lib/usrp/dboard/db_basic_and_lf.hpp')
-rw-r--r-- | host/lib/usrp/dboard/db_basic_and_lf.hpp | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/host/lib/usrp/dboard/db_basic_and_lf.hpp b/host/lib/usrp/dboard/db_basic_and_lf.hpp new file mode 100644 index 000000000..c306926eb --- /dev/null +++ b/host/lib/usrp/dboard/db_basic_and_lf.hpp @@ -0,0 +1,35 @@ +// +// Copyright 2020 Ettus Research, a National Instruments Brand +// +// SPDX-License-Identifier: GPL-3.0-or-later +// + +#include <uhd/types/dict.hpp> +#include <boost/assign/list_of.hpp> + +namespace uhd { namespace usrp { namespace dboard { namespace basic_and_lf { +constexpr uint32_t BASIC_TX_PID = 0x0000; +constexpr uint32_t BASIC_RX_PID = 0x0001; +constexpr uint32_t LF_TX_PID = 0x000E; +constexpr uint32_t LF_RX_PID = 0x000F; +// The PIDs of these dboards are duplicated to support a new operating mode +// on RFNoC devices, while maintaining legacy for the USRP2 +constexpr uint32_t RFNOC_PID_FLAG = 0x6300; +constexpr uint32_t BASIC_TX_RFNOC_PID = BASIC_TX_PID | RFNOC_PID_FLAG; // 0x6300 +constexpr uint32_t BASIC_RX_RFNOC_PID = BASIC_RX_PID | RFNOC_PID_FLAG; // 0x6301 +constexpr uint32_t LF_TX_RFNOC_PID = LF_TX_PID | RFNOC_PID_FLAG; // 0x630E +constexpr uint32_t LF_RX_RFNOC_PID = LF_RX_PID | RFNOC_PID_FLAG; // 0x630F + +constexpr double BASIC_MAX_BANDWIDTH = 250e6; // Hz +constexpr double LF_MAX_BANDWIDTH = 32e6; // Hz + + +static const std::vector<std::string> rx_frontends{"0", "1"}; +static const std::vector<std::string> tx_frontends{"0"}; + +static const std::map<std::string, double> antenna_mode_bandwidth_scalar{ + {"A", 1.0}, {"B", 1.0}, {"AB", 2.0}, {"BA", 2.0}}; + +static const uhd::dict<std::string, std::string> antenna_mode_to_conn = + boost::assign::map_list_of("AB", "IQ")("BA", "QI")("A", "I")("B", "Q"); +}}}}; // namespace uhd::usrp::dboard::basic_and_lf |