diff options
author | Martin Braun <martin.braun@ettus.com> | 2018-04-26 13:13:32 -0700 |
---|---|---|
committer | Martin Braun <martin.braun@ettus.com> | 2018-05-02 17:01:21 -0700 |
commit | 5d9a7c92d3eb0a9cb719e6e6386d533da59a51db (patch) | |
tree | 024bda2ede2231784b55c48e1a23ab39fd97182d /host/lib | |
parent | c52c0b69fc151c7596f9754e6b1e40dede531134 (diff) | |
download | uhd-5d9a7c92d3eb0a9cb719e6e6386d533da59a51db.tar.gz uhd-5d9a7c92d3eb0a9cb719e6e6386d533da59a51db.tar.bz2 uhd-5d9a7c92d3eb0a9cb719e6e6386d533da59a51db.zip |
lib: Purge use of boost::assign, except for uhd::dict
Replaced with initialization lists.
Note: uhd::dict does not work with initializer lists without making
changes to said data structure. This commit has no functional changes,
so keeping the boost::assigns for uhd::dict.
Diffstat (limited to 'host/lib')
-rw-r--r-- | host/lib/rfnoc/blockdef_xml_impl.cpp | 13 | ||||
-rw-r--r-- | host/lib/rfnoc/legacy_compat.cpp | 5 | ||||
-rw-r--r-- | host/lib/rfnoc/nocscript/expression.cpp | 15 | ||||
-rw-r--r-- | host/lib/types/serial.cpp | 18 | ||||
-rw-r--r-- | host/lib/usrp/b100/clock_ctrl.cpp | 14 | ||||
-rw-r--r-- | host/lib/usrp/b200/b200_impl.cpp | 20 | ||||
-rw-r--r-- | host/lib/usrp/dboard/db_twinrx.cpp | 9 | ||||
-rw-r--r-- | host/lib/usrp/dboard/db_ubx.cpp | 17 | ||||
-rw-r--r-- | host/lib/usrp/dboard/magnesium/magnesium_radio_ctrl_init.cpp | 4 | ||||
-rw-r--r-- | host/lib/usrp/dboard/twinrx/twinrx_gain_tables.cpp | 1539 | ||||
-rw-r--r-- | host/lib/usrp/dboard_manager.cpp | 8 | ||||
-rw-r--r-- | host/lib/usrp/gps_ctrl.cpp | 20 | ||||
-rw-r--r-- | host/lib/usrp/gpsd_iface.cpp | 13 | ||||
-rw-r--r-- | host/lib/usrp/n230/n230_impl.cpp | 14 | ||||
-rw-r--r-- | host/lib/usrp/usrp1/usrp1_impl.cpp | 8 | ||||
-rw-r--r-- | host/lib/usrp/usrp2/usrp2_impl.cpp | 10 | ||||
-rw-r--r-- | host/lib/usrp/x300/x300_radio_ctrl_impl.cpp | 17 |
17 files changed, 878 insertions, 866 deletions
diff --git a/host/lib/rfnoc/blockdef_xml_impl.cpp b/host/lib/rfnoc/blockdef_xml_impl.cpp index 50faf6905..26622d649 100644 --- a/host/lib/rfnoc/blockdef_xml_impl.cpp +++ b/host/lib/rfnoc/blockdef_xml_impl.cpp @@ -10,7 +10,6 @@ #include <uhd/rfnoc/blockdef.hpp> #include <uhd/utils/log.hpp> #include <uhd/utils/paths.hpp> -#include <boost/assign/list_of.hpp> #include <boost/format.hpp> #include <boost/lexical_cast.hpp> #include <boost/algorithm/string.hpp> @@ -102,13 +101,13 @@ const device_addr_t blockdef::arg_t::ARG_ARGS( "port=0," ); -const std::set<std::string> blockdef::arg_t::VALID_TYPES = boost::assign::list_of +const std::set<std::string> blockdef::arg_t::VALID_TYPES = { // List all tags/args a <type> can have here: - ("string") - ("int") - ("int_vector") - ("double") -; + "string", + "int", + "int_vector", + "double" +}; blockdef::arg_t::arg_t() { diff --git a/host/lib/rfnoc/legacy_compat.cpp b/host/lib/rfnoc/legacy_compat.cpp index 0ccc5d19d..e10d40511 100644 --- a/host/lib/rfnoc/legacy_compat.cpp +++ b/host/lib/rfnoc/legacy_compat.cpp @@ -20,7 +20,6 @@ #include <uhd/usrp/multi_usrp.hpp> #include <uhdlib/rfnoc/legacy_compat.hpp> #include <boost/make_shared.hpp> -#include <boost/assign.hpp> #define UHD_LEGACY_LOG() UHD_LOGGER_TRACE("RFNOC") @@ -359,7 +358,7 @@ public: } } } else { - std::set<size_t> chans_to_change = boost::assign::list_of(chan); + std::set<size_t> chans_to_change{chan}; if (_rx_stream_cache.count(chan)) { uhd::rx_streamer::sptr str_ptr = _rx_stream_cache[chan].lock(); if (str_ptr) { @@ -402,7 +401,7 @@ public: } } } else { - std::set<size_t> chans_to_change = boost::assign::list_of(chan); + std::set<size_t> chans_to_change{chan}; if (_tx_stream_cache.count(chan)) { uhd::tx_streamer::sptr str_ptr = _tx_stream_cache[chan].lock(); if (str_ptr) { diff --git a/host/lib/rfnoc/nocscript/expression.cpp b/host/lib/rfnoc/nocscript/expression.cpp index 41b9c5403..1a7f3ee94 100644 --- a/host/lib/rfnoc/nocscript/expression.cpp +++ b/host/lib/rfnoc/nocscript/expression.cpp @@ -9,18 +9,17 @@ #include "function_table.hpp" #include <uhd/utils/cast.hpp> #include <boost/format.hpp> -#include <boost/assign.hpp> #include <boost/algorithm/string.hpp> using namespace uhd::rfnoc::nocscript; -std::map<expression::type_t, std::string> expression::type_repr = boost::assign::map_list_of - (TYPE_INT, "INT") - (TYPE_DOUBLE, "DOUBLE") - (TYPE_STRING, "STRING") - (TYPE_BOOL, "BOOL") - (TYPE_INT_VECTOR, "INT_VECTOR") -; +std::map<expression::type_t, std::string> expression::type_repr{ + {TYPE_INT, "INT"}, + {TYPE_DOUBLE, "DOUBLE"}, + {TYPE_STRING, "STRING"}, + {TYPE_BOOL, "BOOL"}, + {TYPE_INT_VECTOR, "INT_VECTOR"} +}; /******************************************************************** * Literal expressions (constants) diff --git a/host/lib/types/serial.cpp b/host/lib/types/serial.cpp index 24da51e7f..afa99d051 100644 --- a/host/lib/types/serial.cpp +++ b/host/lib/types/serial.cpp @@ -6,7 +6,7 @@ // #include <uhd/types/serial.hpp> -#include <boost/assign/list_of.hpp> +#include <uhdlib/utils/narrow.hpp> #include <chrono> #include <thread> @@ -42,7 +42,10 @@ void i2c_iface::write_eeprom( ){ for (size_t i = 0; i < bytes.size(); i++){ //write a byte at a time, its easy that way - byte_vector_t cmd = boost::assign::list_of(offset+i)(bytes[i]); + byte_vector_t cmd = { + narrow_cast<uint8_t>(offset+i), + narrow_cast<uint8_t>(bytes[i]) + }; this->write_i2c(addr, cmd); std::this_thread::sleep_for(std::chrono::milliseconds(10)); //worst case write } @@ -89,7 +92,10 @@ struct eeprom16_impl : i2c_iface uint16_t offset, size_t num_bytes ){ - byte_vector_t cmd = boost::assign::list_of(offset >> 8)(offset & 0xff); + byte_vector_t cmd = { + narrow_cast<uint8_t>(offset >> 8), + narrow_cast<uint8_t>(offset & 0xff) + }; this->write_i2c(addr, cmd); return this->read_i2c(addr, num_bytes); } @@ -103,7 +109,11 @@ struct eeprom16_impl : i2c_iface { //write a byte at a time, its easy that way uint16_t offset_i = offset+i; - byte_vector_t cmd = boost::assign::list_of(offset_i >> 8)(offset_i & 0xff)(bytes[i]); + byte_vector_t cmd{ + narrow_cast<uint8_t>(offset_i >> 8), + narrow_cast<uint8_t>(offset_i & 0xff), + bytes[i] + }; this->write_i2c(addr, cmd); std::this_thread::sleep_for(std::chrono::milliseconds(10)); //worst case write } diff --git a/host/lib/usrp/b100/clock_ctrl.cpp b/host/lib/usrp/b100/clock_ctrl.cpp index c06b44c49..58e57d7b5 100644 --- a/host/lib/usrp/b100/clock_ctrl.cpp +++ b/host/lib/usrp/b100/clock_ctrl.cpp @@ -14,7 +14,6 @@ #include <uhd/utils/safe_call.hpp> #include <stdint.h> #include "b100_regs.hpp" //spi slave constants -#include <boost/assign/list_of.hpp> #include <boost/format.hpp> #include <boost/math/common_factor_rt.hpp> //gcd #include <algorithm> @@ -516,11 +515,14 @@ private: void send_all_regs(void){ //setup a list of register ranges to write typedef std::pair<uint16_t, uint16_t> range_t; - static const std::vector<range_t> ranges = boost::assign::list_of - (range_t(0x000, 0x000)) (range_t(0x010, 0x01F)) - (range_t(0x0F0, 0x0FD)) (range_t(0x190, 0x19B)) - (range_t(0x1E0, 0x1E1)) (range_t(0x230, 0x230)) - ; + static const std::vector<range_t> ranges{ + range_t(0x000, 0x000), + range_t(0x010, 0x01F), + range_t(0x0F0, 0x0FD), + range_t(0x190, 0x19B), + range_t(0x1E0, 0x1E1), + range_t(0x230, 0x230) + }; //write initial register values and latch/update for(const range_t &range: ranges){ diff --git a/host/lib/usrp/b200/b200_impl.cpp b/host/lib/usrp/b200/b200_impl.cpp index fe3b21aee..56b05a9ae 100644 --- a/host/lib/usrp/b200/b200_impl.cpp +++ b/host/lib/usrp/b200/b200_impl.cpp @@ -17,7 +17,6 @@ #include <uhd/utils/safe_call.hpp> #include <uhd/usrp/dboard_eeprom.hpp> #include <boost/format.hpp> -#include <boost/assign/list_of.hpp> #include <boost/filesystem.hpp> #include <boost/thread/thread.hpp> #include <boost/lexical_cast.hpp> @@ -643,18 +642,20 @@ b200_impl::b200_impl(const uhd::device_addr_t& device_addr, usb_device_handle::s } //setup time source props - static const std::vector<std::string> time_sources = (_gpsdo_capable) ? - boost::assign::list_of("none")("internal")("external")("gpsdo") : - boost::assign::list_of("none")("internal")("external") ; + const std::vector<std::string> time_sources = + (_gpsdo_capable) ? + std::vector<std::string>{"none", "internal", "external", "gpsdo"} : + std::vector<std::string>{"none", "internal", "external"}; _tree->create<std::vector<std::string> >(mb_path / "time_source" / "options") .set(time_sources); _tree->create<std::string>(mb_path / "time_source" / "value") .set_coercer(boost::bind(&check_option_valid, "time source", time_sources, _1)) .add_coerced_subscriber(boost::bind(&b200_impl::update_time_source, this, _1)); //setup reference source props - static const std::vector<std::string> clock_sources = (_gpsdo_capable) ? - boost::assign::list_of("internal")("external")("gpsdo") : - boost::assign::list_of("internal")("external") ; + const std::vector<std::string> clock_sources = + (_gpsdo_capable) ? + std::vector<std::string>{"internal", "external", "gpsdo"} : + std::vector<std::string>{"internal", "external"}; _tree->create<std::vector<std::string> >(mb_path / "clock_source" / "options") .set(clock_sources); _tree->create<std::string>(mb_path / "clock_source" / "value") @@ -847,8 +848,7 @@ void b200_impl::setup_radio(const size_t dspno) //////////////////////////////////////////////////////////////////// // create RF frontend interfacing //////////////////////////////////////////////////////////////////// - static const std::vector<direction_t> dirs = boost::assign::list_of(RX_DIRECTION)(TX_DIRECTION); - for(direction_t dir: dirs) { + for (direction_t dir : std::vector<direction_t>{RX_DIRECTION, TX_DIRECTION}) { const std::string x = (dir == RX_DIRECTION) ? "rx" : "tx"; const std::string key = std::string(((dir == RX_DIRECTION) ? "RX" : "TX")) + std::string(((dspno == _fe1) ? "1" : "2")); const fs_path rf_fe_path @@ -868,7 +868,7 @@ void b200_impl::setup_radio(const size_t dspno) ; if (dir == RX_DIRECTION) { - static const std::vector<std::string> ants = boost::assign::list_of("TX/RX")("RX2"); + static const std::vector<std::string> ants{"TX/RX", "RX2"}; _tree->create<std::vector<std::string> >(rf_fe_path / "antenna" / "options").set(ants); _tree->create<std::string>(rf_fe_path / "antenna" / "value") .add_coerced_subscriber(boost::bind(&b200_impl::update_antenna_sel, this, dspno, _1)) diff --git a/host/lib/usrp/dboard/db_twinrx.cpp b/host/lib/usrp/dboard/db_twinrx.cpp index 0d14c7632..523d68185 100644 --- a/host/lib/usrp/dboard/db_twinrx.cpp +++ b/host/lib/usrp/dboard/db_twinrx.cpp @@ -19,7 +19,6 @@ #include <uhd/utils/log.hpp> #include <uhd/utils/static.hpp> #include "dboard_ctor_args.hpp" -#include <boost/assign/list_of.hpp> #include <boost/make_shared.hpp> #include <boost/thread.hpp> #include <boost/thread/mutex.hpp> @@ -100,8 +99,8 @@ public: expert_factory::add_dual_prop_node<double>(_expert, get_rx_subtree(), "los/LO2/freq/value", prepend_ch("los/LO2/freq/desired", _ch_name), prepend_ch("los/LO2/freq/coerced", _ch_name), 0.0, AUTO_RESOLVE_ON_READ_WRITE); - get_rx_subtree()->create<std::vector<std::string> >("los/all/source/options") - .set(boost::assign::list_of("internal")("external")("companion")("disabled")("reimport")); + get_rx_subtree()->create<std::vector<std::string>>("los/all/source/options") + .set({"internal", "external", "companion", "disabled", "reimport"}); expert_factory::add_prop_node<std::string>(_expert, get_rx_subtree(), "los/all/source/value", prepend_ch("los/all/source", _ch_name), "internal", AUTO_RESOLVE_ON_WRITE); @@ -116,14 +115,14 @@ public: "gains/all/value", prepend_ch("gain", _ch_name), 0.0, AUTO_RESOLVE_ON_WRITE); get_rx_subtree()->create<std::vector<std::string> >("gains/all/profile/options") - .set(boost::assign::list_of("low-noise")("low-distortion")("default")); + .set({"low-noise", "low-distortion", "default"}); expert_factory::add_prop_node<std::string>(_expert, get_rx_subtree(), "gains/all/profile/value", prepend_ch("gain_profile", _ch_name), "default", AUTO_RESOLVE_ON_WRITE); //Antenna Specific get_rx_subtree()->create<std::vector<std::string> >("antenna/options") - .set(boost::assign::list_of("RX1")("RX2")); + .set({"RX1", "RX2"}); expert_factory::add_prop_node<std::string>(_expert, get_rx_subtree(), "antenna/value", prepend_ch("antenna", _ch_name), (_ch_name == "0" ? "RX1" : "RX2"), AUTO_RESOLVE_ON_WRITE); diff --git a/host/lib/usrp/dboard/db_ubx.cpp b/host/lib/usrp/dboard/db_ubx.cpp index 6c6862fb7..c65b5f470 100644 --- a/host/lib/usrp/dboard/db_ubx.cpp +++ b/host/lib/usrp/dboard/db_ubx.cpp @@ -20,7 +20,6 @@ #include <uhd/utils/safe_call.hpp> #include <uhdlib/usrp/common/max287x.hpp> -#include <boost/assign/list_of.hpp> #include <boost/shared_ptr.hpp> #include <boost/math/special_functions/round.hpp> #include <boost/algorithm/string.hpp> @@ -156,12 +155,12 @@ static const dboard_id_t UBX_TDD_160MHZ_RX_ID(0x0203); static const freq_range_t ubx_freq_range(10e6, 6.0e9); static const gain_range_t ubx_tx_gain_range(0, 31.5, double(0.5)); static const gain_range_t ubx_rx_gain_range(0, 31.5, double(0.5)); -static const std::vector<std::string> ubx_pgas = boost::assign::list_of("PGA-TX")("PGA-RX"); -static const std::vector<std::string> ubx_plls = boost::assign::list_of("TXLO")("RXLO"); -static const std::vector<std::string> ubx_tx_antennas = boost::assign::list_of("TX/RX")("CAL"); -static const std::vector<std::string> ubx_rx_antennas = boost::assign::list_of("TX/RX")("RX2")("CAL"); -static const std::vector<std::string> ubx_power_modes = boost::assign::list_of("performance")("powersave"); -static const std::vector<std::string> ubx_xcvr_modes = boost::assign::list_of("FDX")("TX")("TX/RX")("RX"); +static const std::vector<std::string> ubx_pgas{"PGA-TX", "PGA-RX"}; +static const std::vector<std::string> ubx_plls{"TXLO", "RXLO"}; +static const std::vector<std::string> ubx_tx_antennas{"TX/RX", "CAL"}; +static const std::vector<std::string> ubx_rx_antennas{"TX/RX", "RX2", "CAL"}; +static const std::vector<std::string> ubx_power_modes{"performance", "powersave"}; +static const std::vector<std::string> ubx_xcvr_modes{"FDX", "TX", "TX/RX", "RX"}; static const ubx_gpio_field_info_t ubx_proto_gpio_info[] = { //Field Unit Offset Mask Width Direction ATR IDLE,TX,RX,FDX @@ -397,7 +396,7 @@ public: _txlo2 = max287x_iface::make<max2870>(boost::bind(&ubx_xcvr::write_spi_regs, this, TXLO2, _1)); _rxlo1 = max287x_iface::make<max2870>(boost::bind(&ubx_xcvr::write_spi_regs, this, RXLO1, _1)); _rxlo2 = max287x_iface::make<max2870>(boost::bind(&ubx_xcvr::write_spi_regs, this, RXLO2, _1)); - std::vector<max287x_iface::sptr> los = boost::assign::list_of(_txlo1)(_txlo2)(_rxlo1)(_rxlo2); + std::vector<max287x_iface::sptr> los{_txlo1, _txlo2, _rxlo1, _rxlo2}; for(max287x_iface::sptr lo: los) { lo->set_auto_retune(false); @@ -411,7 +410,7 @@ public: _txlo2 = max287x_iface::make<max2871>(boost::bind(&ubx_xcvr::write_spi_regs, this, TXLO2, _1)); _rxlo1 = max287x_iface::make<max2871>(boost::bind(&ubx_xcvr::write_spi_regs, this, RXLO1, _1)); _rxlo2 = max287x_iface::make<max2871>(boost::bind(&ubx_xcvr::write_spi_regs, this, RXLO2, _1)); - std::vector<max287x_iface::sptr> los = boost::assign::list_of(_txlo1)(_txlo2)(_rxlo1)(_rxlo2); + std::vector<max287x_iface::sptr> los{_txlo1, _txlo2, _rxlo1, _rxlo2}; for(max287x_iface::sptr lo: los) { lo->set_auto_retune(false); diff --git a/host/lib/usrp/dboard/magnesium/magnesium_radio_ctrl_init.cpp b/host/lib/usrp/dboard/magnesium/magnesium_radio_ctrl_init.cpp index 4023a06c8..4f47427b7 100644 --- a/host/lib/usrp/dboard/magnesium/magnesium_radio_ctrl_init.cpp +++ b/host/lib/usrp/dboard/magnesium/magnesium_radio_ctrl_init.cpp @@ -369,8 +369,8 @@ void magnesium_radio_ctrl_impl::_init_frontend_subtree( }) ; - subtree->create<std::vector<std::string> >(tx_fe_path / "gains/all/profile/options") - .set(boost::assign::list_of("manual")("default")); + subtree->create<std::vector<std::string>>(tx_fe_path / "gains/all/profile/options") + .set({"manual", "default"}); subtree->create<std::string>(tx_fe_path / "gains/all/profile/value") .set_coercer([this](const std::string& profile){ diff --git a/host/lib/usrp/dboard/twinrx/twinrx_gain_tables.cpp b/host/lib/usrp/dboard/twinrx/twinrx_gain_tables.cpp index bdd3295d5..323869c0f 100644 --- a/host/lib/usrp/dboard/twinrx/twinrx_gain_tables.cpp +++ b/host/lib/usrp/dboard/twinrx/twinrx_gain_tables.cpp @@ -7,793 +7,792 @@ #include "twinrx_gain_tables.hpp" #include <uhd/exception.hpp> -#include <boost/assign/list_of.hpp> using namespace uhd::usrp::dboard::twinrx; -static const std::vector<twinrx_gain_config_t> HIGHBAND1_TABLE = boost::assign::list_of - // Index, Gain, Atten1, Atten2, Amp1, Amp2 - ( twinrx_gain_config_t( 0, -28.3, 31, 31, false, false ) ) - ( twinrx_gain_config_t( 1, -28.3, 31, 31, false, false ) ) - ( twinrx_gain_config_t( 2, -28.3, 31, 31, false, false ) ) - ( twinrx_gain_config_t( 3, -28.3, 31, 31, false, false ) ) - ( twinrx_gain_config_t( 4, -28.3, 31, 31, false, false ) ) - ( twinrx_gain_config_t( 5, -28.3, 31, 31, false, false ) ) - ( twinrx_gain_config_t( 6, -28.3, 31, 31, false, false ) ) - ( twinrx_gain_config_t( 7, -27.3, 31, 30, false, false ) ) - ( twinrx_gain_config_t( 8, -26.3, 31, 29, false, false ) ) - ( twinrx_gain_config_t( 9, -25.3, 31, 28, false, false ) ) - ( twinrx_gain_config_t( 10, -24.3, 31, 27, false, false ) ) - ( twinrx_gain_config_t( 11, -23.3, 31, 26, false, false ) ) - ( twinrx_gain_config_t( 12, -22.3, 31, 25, false, false ) ) - ( twinrx_gain_config_t( 13, -21.3, 31, 24, false, false ) ) - ( twinrx_gain_config_t( 14, -20.3, 31, 23, false, false ) ) - ( twinrx_gain_config_t( 15, -19.3, 31, 22, false, false ) ) - ( twinrx_gain_config_t( 16, -18.3, 31, 21, false, false ) ) - ( twinrx_gain_config_t( 17, -17.3, 31, 20, false, false ) ) - ( twinrx_gain_config_t( 18, -16.3, 31, 19, false, false ) ) - ( twinrx_gain_config_t( 19, -15.3, 31, 18, false, false ) ) - ( twinrx_gain_config_t( 20, -14.3, 31, 17, false, false ) ) - ( twinrx_gain_config_t( 21, -13.3, 31, 16, false, false ) ) - ( twinrx_gain_config_t( 22, -12.3, 31, 15, false, false ) ) - ( twinrx_gain_config_t( 23, -11.3, 31, 14, false, false ) ) - ( twinrx_gain_config_t( 24, -10.3, 31, 13, false, false ) ) - ( twinrx_gain_config_t( 25, -9.3, 31, 12, false, false ) ) - ( twinrx_gain_config_t( 26, -8.3, 30, 12, false, false ) ) - ( twinrx_gain_config_t( 27, -7.3, 30, 11, false, false ) ) - ( twinrx_gain_config_t( 28, -6.3, 29, 11, false, false ) ) - ( twinrx_gain_config_t( 29, -5.3, 28, 11, false, false ) ) - ( twinrx_gain_config_t( 30, -4.3, 27, 11, false, false ) ) - ( twinrx_gain_config_t( 31, -3.3, 27, 10, false, false ) ) - ( twinrx_gain_config_t( 32, -2.3, 26, 10, false, false ) ) - ( twinrx_gain_config_t( 33, -1.3, 25, 10, false, false ) ) - ( twinrx_gain_config_t( 34, -0.3, 24, 10, false, false ) ) - ( twinrx_gain_config_t( 35, 0.7, 23, 10, false, false ) ) - ( twinrx_gain_config_t( 36, 1.7, 22, 10, false, false ) ) - ( twinrx_gain_config_t( 37, 2.7, 21, 10, false, false ) ) - ( twinrx_gain_config_t( 38, 3.7, 21, 9, false, false ) ) - ( twinrx_gain_config_t( 39, 4.7, 20, 9, false, false ) ) - ( twinrx_gain_config_t( 40, 5.7, 19, 9, false, false ) ) - ( twinrx_gain_config_t( 41, 6.7, 18, 9, false, false ) ) - ( twinrx_gain_config_t( 42, 7.7, 17, 9, false, false ) ) - ( twinrx_gain_config_t( 43, 8.7, 16, 9, false, false ) ) - ( twinrx_gain_config_t( 44, 9.7, 15, 9, false, false ) ) - ( twinrx_gain_config_t( 45, 10.7, 14, 9, false, false ) ) - ( twinrx_gain_config_t( 46, 11.7, 13, 9, false, false ) ) - ( twinrx_gain_config_t( 47, 12.7, 12, 9, false, false ) ) - ( twinrx_gain_config_t( 48, 13.7, 11, 9, false, false ) ) - ( twinrx_gain_config_t( 49, 14.7, 10, 9, false, false ) ) - ( twinrx_gain_config_t( 50, 15.7, 9, 9, false, false ) ) - ( twinrx_gain_config_t( 51, 16.7, 8, 9, false, false ) ) - ( twinrx_gain_config_t( 52, 17.7, 7, 9, false, false ) ) - ( twinrx_gain_config_t( 53, 18.7, 6, 9, false, false ) ) - ( twinrx_gain_config_t( 54, 19.7, 5, 9, false, false ) ) - ( twinrx_gain_config_t( 55, 20.7, 4, 9, false, false ) ) - ( twinrx_gain_config_t( 56, 21.7, 3, 9, false, false ) ) - ( twinrx_gain_config_t( 57, 22.7, 2, 9, false, false ) ) - ( twinrx_gain_config_t( 58, 23.7, 1, 9, false, false ) ) - ( twinrx_gain_config_t( 59, 24.7, 0, 9, false, false ) ) - ( twinrx_gain_config_t( 60, 25.7, 0, 8, false, false ) ) - ( twinrx_gain_config_t( 61, 26.7, 0, 7, false, false ) ) - ( twinrx_gain_config_t( 62, 27.7, 0, 6, false, false ) ) - ( twinrx_gain_config_t( 63, 28.7, 0, 5, false, false ) ) - ( twinrx_gain_config_t( 64, 29.7, 0, 4, false, false ) ) - ( twinrx_gain_config_t( 65, 30.7, 0, 3, false, false ) ) - ( twinrx_gain_config_t( 66, 31.7, 0, 2, false, false ) ) - ( twinrx_gain_config_t( 67, 32.7, 0, 1, false, false ) ) - ( twinrx_gain_config_t( 68, 33.7, 0, 0, false, false ) ) - ( twinrx_gain_config_t( 69, 33.9, 3, 9, true, false ) ) - ( twinrx_gain_config_t( 70, 34.9, 2, 9, true, false ) ) - ( twinrx_gain_config_t( 71, 35.9, 1, 9, true, false ) ) - ( twinrx_gain_config_t( 72, 36.9, 0, 9, true, false ) ) - ( twinrx_gain_config_t( 73, 37.9, 0, 8, true, false ) ) - ( twinrx_gain_config_t( 74, 38.9, 0, 7, true, false ) ) - ( twinrx_gain_config_t( 75, 39.9, 0, 6, true, false ) ) - ( twinrx_gain_config_t( 76, 40.9, 0, 5, true, false ) ) - ( twinrx_gain_config_t( 77, 41.9, 0, 4, true, false ) ) - ( twinrx_gain_config_t( 78, 42.9, 0, 3, true, false ) ) - ( twinrx_gain_config_t( 79, 43.9, 0, 2, true, false ) ) - ( twinrx_gain_config_t( 80, 44.9, 0, 1, true, false ) ) - ( twinrx_gain_config_t( 81, 45.9, 0, 0, true, false ) ) - ( twinrx_gain_config_t( 82, 47.3, 1, 10, true, true ) ) - ( twinrx_gain_config_t( 83, 48.3, 0, 10, true, true ) ) - ( twinrx_gain_config_t( 84, 49.3, 0, 9, true, true ) ) - ( twinrx_gain_config_t( 85, 50.3, 0, 8, true, true ) ) - ( twinrx_gain_config_t( 86, 51.3, 0, 7, true, true ) ) - ( twinrx_gain_config_t( 87, 52.3, 0, 6, true, true ) ) - ( twinrx_gain_config_t( 88, 53.3, 0, 5, true, true ) ) - ( twinrx_gain_config_t( 89, 54.3, 0, 4, true, true ) ) - ( twinrx_gain_config_t( 90, 55.3, 0, 3, true, true ) ) - ( twinrx_gain_config_t( 91, 56.3, 0, 2, true, true ) ) - ( twinrx_gain_config_t( 92, 57.3, 0, 1, true, true ) ) - ( twinrx_gain_config_t( 93, 58.3, 0, 0, true, true ) ) -; +static const std::vector<twinrx_gain_config_t> HIGHBAND1_TABLE{ + // Index, Gain, Atten1, Atten2, Amp1, Amp2 + twinrx_gain_config_t( 0, -28.3, 31, 31, false, false ), + twinrx_gain_config_t( 1, -28.3, 31, 31, false, false ), + twinrx_gain_config_t( 2, -28.3, 31, 31, false, false ), + twinrx_gain_config_t( 3, -28.3, 31, 31, false, false ), + twinrx_gain_config_t( 4, -28.3, 31, 31, false, false ), + twinrx_gain_config_t( 5, -28.3, 31, 31, false, false ), + twinrx_gain_config_t( 6, -28.3, 31, 31, false, false ), + twinrx_gain_config_t( 7, -27.3, 31, 30, false, false ), + twinrx_gain_config_t( 8, -26.3, 31, 29, false, false ), + twinrx_gain_config_t( 9, -25.3, 31, 28, false, false ), + twinrx_gain_config_t( 10, -24.3, 31, 27, false, false ), + twinrx_gain_config_t( 11, -23.3, 31, 26, false, false ), + twinrx_gain_config_t( 12, -22.3, 31, 25, false, false ), + twinrx_gain_config_t( 13, -21.3, 31, 24, false, false ), + twinrx_gain_config_t( 14, -20.3, 31, 23, false, false ), + twinrx_gain_config_t( 15, -19.3, 31, 22, false, false ), + twinrx_gain_config_t( 16, -18.3, 31, 21, false, false ), + twinrx_gain_config_t( 17, -17.3, 31, 20, false, false ), + twinrx_gain_config_t( 18, -16.3, 31, 19, false, false ), + twinrx_gain_config_t( 19, -15.3, 31, 18, false, false ), + twinrx_gain_config_t( 20, -14.3, 31, 17, false, false ), + twinrx_gain_config_t( 21, -13.3, 31, 16, false, false ), + twinrx_gain_config_t( 22, -12.3, 31, 15, false, false ), + twinrx_gain_config_t( 23, -11.3, 31, 14, false, false ), + twinrx_gain_config_t( 24, -10.3, 31, 13, false, false ), + twinrx_gain_config_t( 25, -9.3, 31, 12, false, false ), + twinrx_gain_config_t( 26, -8.3, 30, 12, false, false ), + twinrx_gain_config_t( 27, -7.3, 30, 11, false, false ), + twinrx_gain_config_t( 28, -6.3, 29, 11, false, false ), + twinrx_gain_config_t( 29, -5.3, 28, 11, false, false ), + twinrx_gain_config_t( 30, -4.3, 27, 11, false, false ), + twinrx_gain_config_t( 31, -3.3, 27, 10, false, false ), + twinrx_gain_config_t( 32, -2.3, 26, 10, false, false ), + twinrx_gain_config_t( 33, -1.3, 25, 10, false, false ), + twinrx_gain_config_t( 34, -0.3, 24, 10, false, false ), + twinrx_gain_config_t( 35, 0.7, 23, 10, false, false ), + twinrx_gain_config_t( 36, 1.7, 22, 10, false, false ), + twinrx_gain_config_t( 37, 2.7, 21, 10, false, false ), + twinrx_gain_config_t( 38, 3.7, 21, 9, false, false ), + twinrx_gain_config_t( 39, 4.7, 20, 9, false, false ), + twinrx_gain_config_t( 40, 5.7, 19, 9, false, false ), + twinrx_gain_config_t( 41, 6.7, 18, 9, false, false ), + twinrx_gain_config_t( 42, 7.7, 17, 9, false, false ), + twinrx_gain_config_t( 43, 8.7, 16, 9, false, false ), + twinrx_gain_config_t( 44, 9.7, 15, 9, false, false ), + twinrx_gain_config_t( 45, 10.7, 14, 9, false, false ), + twinrx_gain_config_t( 46, 11.7, 13, 9, false, false ), + twinrx_gain_config_t( 47, 12.7, 12, 9, false, false ), + twinrx_gain_config_t( 48, 13.7, 11, 9, false, false ), + twinrx_gain_config_t( 49, 14.7, 10, 9, false, false ), + twinrx_gain_config_t( 50, 15.7, 9, 9, false, false ), + twinrx_gain_config_t( 51, 16.7, 8, 9, false, false ), + twinrx_gain_config_t( 52, 17.7, 7, 9, false, false ), + twinrx_gain_config_t( 53, 18.7, 6, 9, false, false ), + twinrx_gain_config_t( 54, 19.7, 5, 9, false, false ), + twinrx_gain_config_t( 55, 20.7, 4, 9, false, false ), + twinrx_gain_config_t( 56, 21.7, 3, 9, false, false ), + twinrx_gain_config_t( 57, 22.7, 2, 9, false, false ), + twinrx_gain_config_t( 58, 23.7, 1, 9, false, false ), + twinrx_gain_config_t( 59, 24.7, 0, 9, false, false ), + twinrx_gain_config_t( 60, 25.7, 0, 8, false, false ), + twinrx_gain_config_t( 61, 26.7, 0, 7, false, false ), + twinrx_gain_config_t( 62, 27.7, 0, 6, false, false ), + twinrx_gain_config_t( 63, 28.7, 0, 5, false, false ), + twinrx_gain_config_t( 64, 29.7, 0, 4, false, false ), + twinrx_gain_config_t( 65, 30.7, 0, 3, false, false ), + twinrx_gain_config_t( 66, 31.7, 0, 2, false, false ), + twinrx_gain_config_t( 67, 32.7, 0, 1, false, false ), + twinrx_gain_config_t( 68, 33.7, 0, 0, false, false ), + twinrx_gain_config_t( 69, 33.9, 3, 9, true, false ), + twinrx_gain_config_t( 70, 34.9, 2, 9, true, false ), + twinrx_gain_config_t( 71, 35.9, 1, 9, true, false ), + twinrx_gain_config_t( 72, 36.9, 0, 9, true, false ), + twinrx_gain_config_t( 73, 37.9, 0, 8, true, false ), + twinrx_gain_config_t( 74, 38.9, 0, 7, true, false ), + twinrx_gain_config_t( 75, 39.9, 0, 6, true, false ), + twinrx_gain_config_t( 76, 40.9, 0, 5, true, false ), + twinrx_gain_config_t( 77, 41.9, 0, 4, true, false ), + twinrx_gain_config_t( 78, 42.9, 0, 3, true, false ), + twinrx_gain_config_t( 79, 43.9, 0, 2, true, false ), + twinrx_gain_config_t( 80, 44.9, 0, 1, true, false ), + twinrx_gain_config_t( 81, 45.9, 0, 0, true, false ), + twinrx_gain_config_t( 82, 47.3, 1, 10, true, true ), + twinrx_gain_config_t( 83, 48.3, 0, 10, true, true ), + twinrx_gain_config_t( 84, 49.3, 0, 9, true, true ), + twinrx_gain_config_t( 85, 50.3, 0, 8, true, true ), + twinrx_gain_config_t( 86, 51.3, 0, 7, true, true ), + twinrx_gain_config_t( 87, 52.3, 0, 6, true, true ), + twinrx_gain_config_t( 88, 53.3, 0, 5, true, true ), + twinrx_gain_config_t( 89, 54.3, 0, 4, true, true ), + twinrx_gain_config_t( 90, 55.3, 0, 3, true, true ), + twinrx_gain_config_t( 91, 56.3, 0, 2, true, true ), + twinrx_gain_config_t( 92, 57.3, 0, 1, true, true ), + twinrx_gain_config_t( 93, 58.3, 0, 0, true, true ), +}; -static const std::vector<twinrx_gain_config_t> HIGHBAND2_TABLE = boost::assign::list_of +static const std::vector<twinrx_gain_config_t> HIGHBAND2_TABLE{ // Index, Gain, Atten1, Atten2, Amp1, Amp2 - ( twinrx_gain_config_t( 0, -30.9, 31, 31, false, false ) ) - ( twinrx_gain_config_t( 1, -30.9, 31, 31, false, false ) ) - ( twinrx_gain_config_t( 2, -30.9, 31, 31, false, false ) ) - ( twinrx_gain_config_t( 3, -30.9, 31, 31, false, false ) ) - ( twinrx_gain_config_t( 4, -30.9, 31, 31, false, false ) ) - ( twinrx_gain_config_t( 5, -30.9, 31, 31, false, false ) ) - ( twinrx_gain_config_t( 6, -30.9, 31, 31, false, false ) ) - ( twinrx_gain_config_t( 7, -30.9, 31, 31, false, false ) ) - ( twinrx_gain_config_t( 8, -29.9, 31, 30, false, false ) ) - ( twinrx_gain_config_t( 9, -28.9, 31, 29, false, false ) ) - ( twinrx_gain_config_t( 10, -27.9, 31, 28, false, false ) ) - ( twinrx_gain_config_t( 11, -26.9, 31, 27, false, false ) ) - ( twinrx_gain_config_t( 12, -25.9, 31, 26, false, false ) ) - ( twinrx_gain_config_t( 13, -24.9, 31, 25, false, false ) ) - ( twinrx_gain_config_t( 14, -23.9, 31, 24, false, false ) ) - ( twinrx_gain_config_t( 15, -22.9, 31, 23, false, false ) ) - ( twinrx_gain_config_t( 16, -21.9, 31, 22, false, false ) ) - ( twinrx_gain_config_t( 17, -20.9, 31, 21, false, false ) ) - ( twinrx_gain_config_t( 18, -19.9, 31, 20, false, false ) ) - ( twinrx_gain_config_t( 19, -18.9, 31, 19, false, false ) ) - ( twinrx_gain_config_t( 20, -17.9, 31, 18, false, false ) ) - ( twinrx_gain_config_t( 21, -16.9, 31, 17, false, false ) ) - ( twinrx_gain_config_t( 22, -15.9, 31, 16, false, false ) ) - ( twinrx_gain_config_t( 23, -14.9, 31, 15, false, false ) ) - ( twinrx_gain_config_t( 24, -13.9, 31, 14, false, false ) ) - ( twinrx_gain_config_t( 25, -12.9, 31, 13, false, false ) ) - ( twinrx_gain_config_t( 26, -11.9, 31, 12, false, false ) ) - ( twinrx_gain_config_t( 27, -10.9, 31, 11, false, false ) ) - ( twinrx_gain_config_t( 28, -9.9, 30, 11, false, false ) ) - ( twinrx_gain_config_t( 29, -8.9, 29, 11, false, false ) ) - ( twinrx_gain_config_t( 30, -7.9, 29, 10, false, false ) ) - ( twinrx_gain_config_t( 31, -6.9, 28, 10, false, false ) ) - ( twinrx_gain_config_t( 32, -5.9, 27, 10, false, false ) ) - ( twinrx_gain_config_t( 33, -4.9, 27, 9, false, false ) ) - ( twinrx_gain_config_t( 34, -3.9, 26, 9, false, false ) ) - ( twinrx_gain_config_t( 35, -2.9, 25, 9, false, false ) ) - ( twinrx_gain_config_t( 36, -1.9, 24, 9, false, false ) ) - ( twinrx_gain_config_t( 37, -0.9, 23, 9, false, false ) ) - ( twinrx_gain_config_t( 38, 0.1, 23, 8, false, false ) ) - ( twinrx_gain_config_t( 39, 1.1, 22, 8, false, false ) ) - ( twinrx_gain_config_t( 40, 2.1, 21, 8, false, false ) ) - ( twinrx_gain_config_t( 41, 3.1, 20, 8, false, false ) ) - ( twinrx_gain_config_t( 42, 4.1, 19, 8, false, false ) ) - ( twinrx_gain_config_t( 43, 5.1, 18, 8, false, false ) ) - ( twinrx_gain_config_t( 44, 6.1, 17, 8, false, false ) ) - ( twinrx_gain_config_t( 45, 7.1, 16, 8, false, false ) ) - ( twinrx_gain_config_t( 46, 8.1, 15, 8, false, false ) ) - ( twinrx_gain_config_t( 47, 9.1, 14, 8, false, false ) ) - ( twinrx_gain_config_t( 48, 10.1, 13, 8, false, false ) ) - ( twinrx_gain_config_t( 49, 11.1, 12, 8, false, false ) ) - ( twinrx_gain_config_t( 50, 12.1, 11, 8, false, false ) ) - ( twinrx_gain_config_t( 51, 13.1, 10, 8, false, false ) ) - ( twinrx_gain_config_t( 52, 14.1, 9, 8, false, false ) ) - ( twinrx_gain_config_t( 53, 15.1, 8, 8, false, false ) ) - ( twinrx_gain_config_t( 54, 16.1, 7, 8, false, false ) ) - ( twinrx_gain_config_t( 55, 17.1, 6, 8, false, false ) ) - ( twinrx_gain_config_t( 56, 18.1, 5, 8, false, false ) ) - ( twinrx_gain_config_t( 57, 19.1, 4, 8, false, false ) ) - ( twinrx_gain_config_t( 58, 20.1, 3, 8, false, false ) ) - ( twinrx_gain_config_t( 59, 21.1, 2, 8, false, false ) ) - ( twinrx_gain_config_t( 60, 22.1, 1, 8, false, false ) ) - ( twinrx_gain_config_t( 61, 23.1, 0, 8, false, false ) ) - ( twinrx_gain_config_t( 62, 24.1, 0, 7, false, false ) ) - ( twinrx_gain_config_t( 63, 25.1, 0, 6, false, false ) ) - ( twinrx_gain_config_t( 64, 26.1, 0, 5, false, false ) ) - ( twinrx_gain_config_t( 65, 27.1, 0, 4, false, false ) ) - ( twinrx_gain_config_t( 66, 28.1, 0, 3, false, false ) ) - ( twinrx_gain_config_t( 67, 29.1, 0, 2, false, false ) ) - ( twinrx_gain_config_t( 68, 30.1, 0, 1, false, false ) ) - ( twinrx_gain_config_t( 69, 31.9, 0, 10, false, true ) ) - ( twinrx_gain_config_t( 70, 31.9, 0, 10, false, true ) ) - ( twinrx_gain_config_t( 71, 32.9, 0, 9, false, true ) ) - ( twinrx_gain_config_t( 72, 33.9, 0, 8, false, true ) ) - ( twinrx_gain_config_t( 73, 34.9, 0, 7, false, true ) ) - ( twinrx_gain_config_t( 74, 35.9, 0, 6, false, true ) ) - ( twinrx_gain_config_t( 75, 36.9, 0, 5, false, true ) ) - ( twinrx_gain_config_t( 76, 38.6, 0, 6, true, false ) ) - ( twinrx_gain_config_t( 77, 39.6, 0, 5, true, false ) ) - ( twinrx_gain_config_t( 78, 40.6, 0, 4, true, false ) ) - ( twinrx_gain_config_t( 79, 41.6, 0, 3, true, false ) ) - ( twinrx_gain_config_t( 80, 42.6, 0, 2, true, false ) ) - ( twinrx_gain_config_t( 81, 43.6, 0, 1, true, false ) ) - ( twinrx_gain_config_t( 82, 44.4, 2, 9, true, true ) ) - ( twinrx_gain_config_t( 83, 45.4, 1, 9, true, true ) ) - ( twinrx_gain_config_t( 84, 46.4, 0, 9, true, true ) ) - ( twinrx_gain_config_t( 85, 47.4, 0, 8, true, true ) ) - ( twinrx_gain_config_t( 86, 48.4, 0, 7, true, true ) ) - ( twinrx_gain_config_t( 87, 49.4, 0, 6, true, true ) ) - ( twinrx_gain_config_t( 88, 50.4, 0, 5, true, true ) ) - ( twinrx_gain_config_t( 89, 51.4, 0, 4, true, true ) ) - ( twinrx_gain_config_t( 90, 52.4, 0, 3, true, true ) ) - ( twinrx_gain_config_t( 91, 53.4, 0, 2, true, true ) ) - ( twinrx_gain_config_t( 92, 54.4, 0, 1, true, true ) ) - ( twinrx_gain_config_t( 93, 55.4, 0, 0, true, true ) ) -; + twinrx_gain_config_t( 0, -30.9, 31, 31, false, false ), + twinrx_gain_config_t( 1, -30.9, 31, 31, false, false ), + twinrx_gain_config_t( 2, -30.9, 31, 31, false, false ), + twinrx_gain_config_t( 3, -30.9, 31, 31, false, false ), + twinrx_gain_config_t( 4, -30.9, 31, 31, false, false ), + twinrx_gain_config_t( 5, -30.9, 31, 31, false, false ), + twinrx_gain_config_t( 6, -30.9, 31, 31, false, false ), + twinrx_gain_config_t( 7, -30.9, 31, 31, false, false ), + twinrx_gain_config_t( 8, -29.9, 31, 30, false, false ), + twinrx_gain_config_t( 9, -28.9, 31, 29, false, false ), + twinrx_gain_config_t( 10, -27.9, 31, 28, false, false ), + twinrx_gain_config_t( 11, -26.9, 31, 27, false, false ), + twinrx_gain_config_t( 12, -25.9, 31, 26, false, false ), + twinrx_gain_config_t( 13, -24.9, 31, 25, false, false ), + twinrx_gain_config_t( 14, -23.9, 31, 24, false, false ), + twinrx_gain_config_t( 15, -22.9, 31, 23, false, false ), + twinrx_gain_config_t( 16, -21.9, 31, 22, false, false ), + twinrx_gain_config_t( 17, -20.9, 31, 21, false, false ), + twinrx_gain_config_t( 18, -19.9, 31, 20, false, false ), + twinrx_gain_config_t( 19, -18.9, 31, 19, false, false ), + twinrx_gain_config_t( 20, -17.9, 31, 18, false, false ), + twinrx_gain_config_t( 21, -16.9, 31, 17, false, false ), + twinrx_gain_config_t( 22, -15.9, 31, 16, false, false ), + twinrx_gain_config_t( 23, -14.9, 31, 15, false, false ), + twinrx_gain_config_t( 24, -13.9, 31, 14, false, false ), + twinrx_gain_config_t( 25, -12.9, 31, 13, false, false ), + twinrx_gain_config_t( 26, -11.9, 31, 12, false, false ), + twinrx_gain_config_t( 27, -10.9, 31, 11, false, false ), + twinrx_gain_config_t( 28, -9.9, 30, 11, false, false ), + twinrx_gain_config_t( 29, -8.9, 29, 11, false, false ), + twinrx_gain_config_t( 30, -7.9, 29, 10, false, false ), + twinrx_gain_config_t( 31, -6.9, 28, 10, false, false ), + twinrx_gain_config_t( 32, -5.9, 27, 10, false, false ), + twinrx_gain_config_t( 33, -4.9, 27, 9, false, false ), + twinrx_gain_config_t( 34, -3.9, 26, 9, false, false ), + twinrx_gain_config_t( 35, -2.9, 25, 9, false, false ), + twinrx_gain_config_t( 36, -1.9, 24, 9, false, false ), + twinrx_gain_config_t( 37, -0.9, 23, 9, false, false ), + twinrx_gain_config_t( 38, 0.1, 23, 8, false, false ), + twinrx_gain_config_t( 39, 1.1, 22, 8, false, false ), + twinrx_gain_config_t( 40, 2.1, 21, 8, false, false ), + twinrx_gain_config_t( 41, 3.1, 20, 8, false, false ), + twinrx_gain_config_t( 42, 4.1, 19, 8, false, false ), + twinrx_gain_config_t( 43, 5.1, 18, 8, false, false ), + twinrx_gain_config_t( 44, 6.1, 17, 8, false, false ), + twinrx_gain_config_t( 45, 7.1, 16, 8, false, false ), + twinrx_gain_config_t( 46, 8.1, 15, 8, false, false ), + twinrx_gain_config_t( 47, 9.1, 14, 8, false, false ), + twinrx_gain_config_t( 48, 10.1, 13, 8, false, false ), + twinrx_gain_config_t( 49, 11.1, 12, 8, false, false ), + twinrx_gain_config_t( 50, 12.1, 11, 8, false, false ), + twinrx_gain_config_t( 51, 13.1, 10, 8, false, false ), + twinrx_gain_config_t( 52, 14.1, 9, 8, false, false ), + twinrx_gain_config_t( 53, 15.1, 8, 8, false, false ), + twinrx_gain_config_t( 54, 16.1, 7, 8, false, false ), + twinrx_gain_config_t( 55, 17.1, 6, 8, false, false ), + twinrx_gain_config_t( 56, 18.1, 5, 8, false, false ), + twinrx_gain_config_t( 57, 19.1, 4, 8, false, false ), + twinrx_gain_config_t( 58, 20.1, 3, 8, false, false ), + twinrx_gain_config_t( 59, 21.1, 2, 8, false, false ), + twinrx_gain_config_t( 60, 22.1, 1, 8, false, false ), + twinrx_gain_config_t( 61, 23.1, 0, 8, false, false ), + twinrx_gain_config_t( 62, 24.1, 0, 7, false, false ), + twinrx_gain_config_t( 63, 25.1, 0, 6, false, false ), + twinrx_gain_config_t( 64, 26.1, 0, 5, false, false ), + twinrx_gain_config_t( 65, 27.1, 0, 4, false, false ), + twinrx_gain_config_t( 66, 28.1, 0, 3, false, false ), + twinrx_gain_config_t( 67, 29.1, 0, 2, false, false ), + twinrx_gain_config_t( 68, 30.1, 0, 1, false, false ), + twinrx_gain_config_t( 69, 31.9, 0, 10, false, true ), + twinrx_gain_config_t( 70, 31.9, 0, 10, false, true ), + twinrx_gain_config_t( 71, 32.9, 0, 9, false, true ), + twinrx_gain_config_t( 72, 33.9, 0, 8, false, true ), + twinrx_gain_config_t( 73, 34.9, 0, 7, false, true ), + twinrx_gain_config_t( 74, 35.9, 0, 6, false, true ), + twinrx_gain_config_t( 75, 36.9, 0, 5, false, true ), + twinrx_gain_config_t( 76, 38.6, 0, 6, true, false ), + twinrx_gain_config_t( 77, 39.6, 0, 5, true, false ), + twinrx_gain_config_t( 78, 40.6, 0, 4, true, false ), + twinrx_gain_config_t( 79, 41.6, 0, 3, true, false ), + twinrx_gain_config_t( 80, 42.6, 0, 2, true, false ), + twinrx_gain_config_t( 81, 43.6, 0, 1, true, false ), + twinrx_gain_config_t( 82, 44.4, 2, 9, true, true ), + twinrx_gain_config_t( 83, 45.4, 1, 9, true, true ), + twinrx_gain_config_t( 84, 46.4, 0, 9, true, true ), + twinrx_gain_config_t( 85, 47.4, 0, 8, true, true ), + twinrx_gain_config_t( 86, 48.4, 0, 7, true, true ), + twinrx_gain_config_t( 87, 49.4, 0, 6, true, true ), + twinrx_gain_config_t( 88, 50.4, 0, 5, true, true ), + twinrx_gain_config_t( 89, 51.4, 0, 4, true, true ), + twinrx_gain_config_t( 90, 52.4, 0, 3, true, true ), + twinrx_gain_config_t( 91, 53.4, 0, 2, true, true ), + twinrx_gain_config_t( 92, 54.4, 0, 1, true, true ), + twinrx_gain_config_t( 93, 55.4, 0, 0, true, true ), +}; -static const std::vector<twinrx_gain_config_t> HIGHBAND3_TABLE = boost::assign::list_of +static const std::vector<twinrx_gain_config_t> HIGHBAND3_TABLE{ // Index, Gain, Atten1, Atten2, Amp1, Amp2 - ( twinrx_gain_config_t( 0, -31.1, 31, 31, false, false ) ) - ( twinrx_gain_config_t( 1, -31.1, 31, 31, false, false ) ) - ( twinrx_gain_config_t( 2, -31.1, 31, 31, false, false ) ) - ( twinrx_gain_config_t( 3, -31.1, 31, 31, false, false ) ) - ( twinrx_gain_config_t( 4, -31.1, 31, 31, false, false ) ) - ( twinrx_gain_config_t( 5, -31.1, 31, 31, false, false ) ) - ( twinrx_gain_config_t( 6, -31.1, 31, 31, false, false ) ) - ( twinrx_gain_config_t( 7, -30.1, 31, 30, false, false ) ) - ( twinrx_gain_config_t( 8, -29.1, 31, 29, false, false ) ) - ( twinrx_gain_config_t( 9, -28.1, 31, 28, false, false ) ) - ( twinrx_gain_config_t( 10, -27.1, 31, 27, false, false ) ) - ( twinrx_gain_config_t( 11, -26.1, 31, 26, false, false ) ) - ( twinrx_gain_config_t( 12, -25.1, 31, 25, false, false ) ) - ( twinrx_gain_config_t( 13, -24.1, 31, 24, false, false ) ) - ( twinrx_gain_config_t( 14, -23.1, 31, 23, false, false ) ) - ( twinrx_gain_config_t( 15, -22.1, 31, 22, false, false ) ) - ( twinrx_gain_config_t( 16, -21.1, 31, 21, false, false ) ) - ( twinrx_gain_config_t( 17, -20.1, 31, 20, false, false ) ) - ( twinrx_gain_config_t( 18, -19.1, 31, 19, false, false ) ) - ( twinrx_gain_config_t( 19, -18.1, 31, 18, false, false ) ) - ( twinrx_gain_config_t( 20, -17.1, 31, 17, false, false ) ) - ( twinrx_gain_config_t( 21, -16.1, 31, 16, false, false ) ) - ( twinrx_gain_config_t( 22, -15.1, 31, 15, false, false ) ) - ( twinrx_gain_config_t( 23, -14.1, 31, 14, false, false ) ) - ( twinrx_gain_config_t( 24, -13.1, 31, 13, false, false ) ) - ( twinrx_gain_config_t( 25, -12.1, 30, 13, false, false ) ) - ( twinrx_gain_config_t( 26, -11.1, 30, 12, false, false ) ) - ( twinrx_gain_config_t( 27, -10.1, 29, 12, false, false ) ) - ( twinrx_gain_config_t( 28, -9.1, 28, 12, false, false ) ) - ( twinrx_gain_config_t( 29, -8.1, 28, 11, false, false ) ) - ( twinrx_gain_config_t( 30, -7.1, 27, 11, false, false ) ) - ( twinrx_gain_config_t( 31, -6.1, 26, 11, false, false ) ) - ( twinrx_gain_config_t( 32, -5.1, 26, 10, false, false ) ) - ( twinrx_gain_config_t( 33, -4.1, 25, 10, false, false ) ) - ( twinrx_gain_config_t( 34, -3.1, 24, 10, false, false ) ) - ( twinrx_gain_config_t( 35, -2.1, 23, 10, false, false ) ) - ( twinrx_gain_config_t( 36, -1.1, 22, 10, false, false ) ) - ( twinrx_gain_config_t( 37, -0.1, 21, 10, false, false ) ) - ( twinrx_gain_config_t( 38, 0.9, 21, 9, false, false ) ) - ( twinrx_gain_config_t( 39, 1.9, 20, 9, false, false ) ) - ( twinrx_gain_config_t( 40, 2.9, 19, 9, false, false ) ) - ( twinrx_gain_config_t( 41, 3.9, 18, 9, false, false ) ) - ( twinrx_gain_config_t( 42, 4.9, 17, 9, false, false ) ) - ( twinrx_gain_config_t( 43, 5.9, 16, 9, false, false ) ) - ( twinrx_gain_config_t( 44, 6.9, 15, 9, false, false ) ) - ( twinrx_gain_config_t( 45, 7.9, 14, 9, false, false ) ) - ( twinrx_gain_config_t( 46, 8.9, 13, 9, false, false ) ) - ( twinrx_gain_config_t( 47, 9.9, 12, 9, false, false ) ) - ( twinrx_gain_config_t( 48, 10.9, 11, 9, false, false ) ) - ( twinrx_gain_config_t( 49, 11.9, 10, 9, false, false ) ) - ( twinrx_gain_config_t( 50, 12.9, 9, 9, false, false ) ) - ( twinrx_gain_config_t( 51, 13.9, 8, 9, false, false ) ) - ( twinrx_gain_config_t( 52, 14.9, 7, 9, false, false ) ) - ( twinrx_gain_config_t( 53, 15.9, 6, 9, false, false ) ) - ( twinrx_gain_config_t( 54, 16.9, 5, 9, false, false ) ) - ( twinrx_gain_config_t( 55, 17.9, 4, 9, false, false ) ) - ( twinrx_gain_config_t( 56, 18.9, 3, 9, false, false ) ) - ( twinrx_gain_config_t( 57, 19.9, 2, 9, false, false ) ) - ( twinrx_gain_config_t( 58, 20.9, 1, 9, false, false ) ) - ( twinrx_gain_config_t( 59, 21.9, 0, 9, false, false ) ) - ( twinrx_gain_config_t( 60, 22.9, 0, 8, false, false ) ) - ( twinrx_gain_config_t( 61, 23.9, 0, 7, false, false ) ) - ( twinrx_gain_config_t( 62, 24.9, 0, 6, false, false ) ) - ( twinrx_gain_config_t( 63, 25.9, 0, 5, false, false ) ) - ( twinrx_gain_config_t( 64, 26.9, 0, 4, false, false ) ) - ( twinrx_gain_config_t( 65, 27.9, 0, 3, false, false ) ) - ( twinrx_gain_config_t( 66, 28.9, 0, 2, false, false ) ) - ( twinrx_gain_config_t( 67, 29.9, 0, 1, false, false ) ) - ( twinrx_gain_config_t( 68, 31.3, 0, 9, false, true ) ) - ( twinrx_gain_config_t( 69, 32.3, 0, 8, false, true ) ) - ( twinrx_gain_config_t( 70, 33.3, 0, 7, false, true ) ) - ( twinrx_gain_config_t( 71, 34.3, 0, 6, false, true ) ) - ( twinrx_gain_config_t( 72, 35.3, 0, 5, false, true ) ) - ( twinrx_gain_config_t( 73, 36.3, 0, 4, false, true ) ) - ( twinrx_gain_config_t( 74, 37.3, 0, 3, false, true ) ) - ( twinrx_gain_config_t( 75, 37.6, 0, 9, true, false ) ) - ( twinrx_gain_config_t( 76, 38.6, 0, 8, true, false ) ) - ( twinrx_gain_config_t( 77, 39.6, 0, 7, true, false ) ) - ( twinrx_gain_config_t( 78, 40.6, 0, 6, true, false ) ) - ( twinrx_gain_config_t( 79, 41.6, 0, 5, true, false ) ) - ( twinrx_gain_config_t( 80, 42.6, 0, 4, true, false ) ) - ( twinrx_gain_config_t( 81, 43.6, 0, 3, true, false ) ) - ( twinrx_gain_config_t( 82, 44.6, 0, 2, true, false ) ) - ( twinrx_gain_config_t( 83, 45.6, 0, 1, true, false ) ) - ( twinrx_gain_config_t( 84, 47.0, 0, 9, true, true ) ) - ( twinrx_gain_config_t( 85, 48.0, 0, 8, true, true ) ) - ( twinrx_gain_config_t( 86, 49.0, 0, 7, true, true ) ) - ( twinrx_gain_config_t( 87, 50.0, 0, 6, true, true ) ) - ( twinrx_gain_config_t( 88, 51.0, 0, 5, true, true ) ) - ( twinrx_gain_config_t( 89, 52.0, 0, 4, true, true ) ) - ( twinrx_gain_config_t( 90, 53.0, 0, 3, true, true ) ) - ( twinrx_gain_config_t( 91, 54.0, 0, 2, true, true ) ) - ( twinrx_gain_config_t( 92, 55.0, 0, 1, true, true ) ) - ( twinrx_gain_config_t( 93, 56.0, 0, 0, true, true ) ) -; + twinrx_gain_config_t( 0, -31.1, 31, 31, false, false ), + twinrx_gain_config_t( 1, -31.1, 31, 31, false, false ), + twinrx_gain_config_t( 2, -31.1, 31, 31, false, false ), + twinrx_gain_config_t( 3, -31.1, 31, 31, false, false ), + twinrx_gain_config_t( 4, -31.1, 31, 31, false, false ), + twinrx_gain_config_t( 5, -31.1, 31, 31, false, false ), + twinrx_gain_config_t( 6, -31.1, 31, 31, false, false ), + twinrx_gain_config_t( 7, -30.1, 31, 30, false, false ), + twinrx_gain_config_t( 8, -29.1, 31, 29, false, false ), + twinrx_gain_config_t( 9, -28.1, 31, 28, false, false ), + twinrx_gain_config_t( 10, -27.1, 31, 27, false, false ), + twinrx_gain_config_t( 11, -26.1, 31, 26, false, false ), + twinrx_gain_config_t( 12, -25.1, 31, 25, false, false ), + twinrx_gain_config_t( 13, -24.1, 31, 24, false, false ), + twinrx_gain_config_t( 14, -23.1, 31, 23, false, false ), + twinrx_gain_config_t( 15, -22.1, 31, 22, false, false ), + twinrx_gain_config_t( 16, -21.1, 31, 21, false, false ), + twinrx_gain_config_t( 17, -20.1, 31, 20, false, false ), + twinrx_gain_config_t( 18, -19.1, 31, 19, false, false ), + twinrx_gain_config_t( 19, -18.1, 31, 18, false, false ), + twinrx_gain_config_t( 20, -17.1, 31, 17, false, false ), + twinrx_gain_config_t( 21, -16.1, 31, 16, false, false ), + twinrx_gain_config_t( 22, -15.1, 31, 15, false, false ), + twinrx_gain_config_t( 23, -14.1, 31, 14, false, false ), + twinrx_gain_config_t( 24, -13.1, 31, 13, false, false ), + twinrx_gain_config_t( 25, -12.1, 30, 13, false, false ), + twinrx_gain_config_t( 26, -11.1, 30, 12, false, false ), + twinrx_gain_config_t( 27, -10.1, 29, 12, false, false ), + twinrx_gain_config_t( 28, -9.1, 28, 12, false, false ), + twinrx_gain_config_t( 29, -8.1, 28, 11, false, false ), + twinrx_gain_config_t( 30, -7.1, 27, 11, false, false ), + twinrx_gain_config_t( 31, -6.1, 26, 11, false, false ), + twinrx_gain_config_t( 32, -5.1, 26, 10, false, false ), + twinrx_gain_config_t( 33, -4.1, 25, 10, false, false ), + twinrx_gain_config_t( 34, -3.1, 24, 10, false, false ), + twinrx_gain_config_t( 35, -2.1, 23, 10, false, false ), + twinrx_gain_config_t( 36, -1.1, 22, 10, false, false ), + twinrx_gain_config_t( 37, -0.1, 21, 10, false, false ), + twinrx_gain_config_t( 38, 0.9, 21, 9, false, false ), + twinrx_gain_config_t( 39, 1.9, 20, 9, false, false ), + twinrx_gain_config_t( 40, 2.9, 19, 9, false, false ), + twinrx_gain_config_t( 41, 3.9, 18, 9, false, false ), + twinrx_gain_config_t( 42, 4.9, 17, 9, false, false ), + twinrx_gain_config_t( 43, 5.9, 16, 9, false, false ), + twinrx_gain_config_t( 44, 6.9, 15, 9, false, false ), + twinrx_gain_config_t( 45, 7.9, 14, 9, false, false ), + twinrx_gain_config_t( 46, 8.9, 13, 9, false, false ), + twinrx_gain_config_t( 47, 9.9, 12, 9, false, false ), + twinrx_gain_config_t( 48, 10.9, 11, 9, false, false ), + twinrx_gain_config_t( 49, 11.9, 10, 9, false, false ), + twinrx_gain_config_t( 50, 12.9, 9, 9, false, false ), + twinrx_gain_config_t( 51, 13.9, 8, 9, false, false ), + twinrx_gain_config_t( 52, 14.9, 7, 9, false, false ), + twinrx_gain_config_t( 53, 15.9, 6, 9, false, false ), + twinrx_gain_config_t( 54, 16.9, 5, 9, false, false ), + twinrx_gain_config_t( 55, 17.9, 4, 9, false, false ), + twinrx_gain_config_t( 56, 18.9, 3, 9, false, false ), + twinrx_gain_config_t( 57, 19.9, 2, 9, false, false ), + twinrx_gain_config_t( 58, 20.9, 1, 9, false, false ), + twinrx_gain_config_t( 59, 21.9, 0, 9, false, false ), + twinrx_gain_config_t( 60, 22.9, 0, 8, false, false ), + twinrx_gain_config_t( 61, 23.9, 0, 7, false, false ), + twinrx_gain_config_t( 62, 24.9, 0, 6, false, false ), + twinrx_gain_config_t( 63, 25.9, 0, 5, false, false ), + twinrx_gain_config_t( 64, 26.9, 0, 4, false, false ), + twinrx_gain_config_t( 65, 27.9, 0, 3, false, false ), + twinrx_gain_config_t( 66, 28.9, 0, 2, false, false ), + twinrx_gain_config_t( 67, 29.9, 0, 1, false, false ), + twinrx_gain_config_t( 68, 31.3, 0, 9, false, true ), + twinrx_gain_config_t( 69, 32.3, 0, 8, false, true ), + twinrx_gain_config_t( 70, 33.3, 0, 7, false, true ), + twinrx_gain_config_t( 71, 34.3, 0, 6, false, true ), + twinrx_gain_config_t( 72, 35.3, 0, 5, false, true ), + twinrx_gain_config_t( 73, 36.3, 0, 4, false, true ), + twinrx_gain_config_t( 74, 37.3, 0, 3, false, true ), + twinrx_gain_config_t( 75, 37.6, 0, 9, true, false ), + twinrx_gain_config_t( 76, 38.6, 0, 8, true, false ), + twinrx_gain_config_t( 77, 39.6, 0, 7, true, false ), + twinrx_gain_config_t( 78, 40.6, 0, 6, true, false ), + twinrx_gain_config_t( 79, 41.6, 0, 5, true, false ), + twinrx_gain_config_t( 80, 42.6, 0, 4, true, false ), + twinrx_gain_config_t( 81, 43.6, 0, 3, true, false ), + twinrx_gain_config_t( 82, 44.6, 0, 2, true, false ), + twinrx_gain_config_t( 83, 45.6, 0, 1, true, false ), + twinrx_gain_config_t( 84, 47.0, 0, 9, true, true ), + twinrx_gain_config_t( 85, 48.0, 0, 8, true, true ), + twinrx_gain_config_t( 86, 49.0, 0, 7, true, true ), + twinrx_gain_config_t( 87, 50.0, 0, 6, true, true ), + twinrx_gain_config_t( 88, 51.0, 0, 5, true, true ), + twinrx_gain_config_t( 89, 52.0, 0, 4, true, true ), + twinrx_gain_config_t( 90, 53.0, 0, 3, true, true ), + twinrx_gain_config_t( 91, 54.0, 0, 2, true, true ), + twinrx_gain_config_t( 92, 55.0, 0, 1, true, true ), + twinrx_gain_config_t( 93, 56.0, 0, 0, true, true ), +}; -static const std::vector<twinrx_gain_config_t> HIGHBAND4_TABLE = boost::assign::list_of +static const std::vector<twinrx_gain_config_t> HIGHBAND4_TABLE{ // Index, Gain, Atten1, Atten2, Amp1, Amp2 - ( twinrx_gain_config_t( 0, -37.2, 31, 31, false, false ) ) - ( twinrx_gain_config_t( 1, -37.2, 31, 31, false, false ) ) - ( twinrx_gain_config_t( 2, -37.2, 31, 31, false, false ) ) - ( twinrx_gain_config_t( 3, -37.2, 31, 31, false, false ) ) - ( twinrx_gain_config_t( 4, -37.2, 31, 31, false, false ) ) - ( twinrx_gain_config_t( 5, -37.2, 31, 31, false, false ) ) - ( twinrx_gain_config_t( 6, -37.2, 31, 31, false, false ) ) - ( twinrx_gain_config_t( 7, -37.2, 31, 31, false, false ) ) - ( twinrx_gain_config_t( 8, -37.2, 31, 31, false, false ) ) - ( twinrx_gain_config_t( 9, -36.2, 31, 30, false, false ) ) - ( twinrx_gain_config_t( 10, -35.2, 31, 29, false, false ) ) - ( twinrx_gain_config_t( 11, -34.2, 31, 28, false, false ) ) - ( twinrx_gain_config_t( 12, -33.2, 31, 27, false, false ) ) - ( twinrx_gain_config_t( 13, -32.2, 31, 26, false, false ) ) - ( twinrx_gain_config_t( 14, -31.2, 31, 25, false, false ) ) - ( twinrx_gain_config_t( 15, -30.2, 31, 24, false, false ) ) - ( twinrx_gain_config_t( 16, -29.2, 31, 23, false, false ) ) - ( twinrx_gain_config_t( 17, -28.2, 31, 22, false, false ) ) - ( twinrx_gain_config_t( 18, -27.2, 31, 21, false, false ) ) - ( twinrx_gain_config_t( 19, -26.2, 31, 20, false, false ) ) - ( twinrx_gain_config_t( 20, -25.2, 31, 19, false, false ) ) - ( twinrx_gain_config_t( 21, -24.2, 31, 18, false, false ) ) - ( twinrx_gain_config_t( 22, -23.2, 31, 17, false, false ) ) - ( twinrx_gain_config_t( 23, -22.2, 31, 16, false, false ) ) - ( twinrx_gain_config_t( 24, -21.2, 31, 15, false, false ) ) - ( twinrx_gain_config_t( 25, -20.2, 31, 14, false, false ) ) - ( twinrx_gain_config_t( 26, -19.2, 31, 13, false, false ) ) - ( twinrx_gain_config_t( 27, -18.2, 31, 12, false, false ) ) - ( twinrx_gain_config_t( 28, -17.2, 31, 11, false, false ) ) - ( twinrx_gain_config_t( 29, -16.2, 31, 10, false, false ) ) - ( twinrx_gain_config_t( 30, -15.2, 30, 10, false, false ) ) - ( twinrx_gain_config_t( 31, -14.2, 30, 9, false, false ) ) - ( twinrx_gain_config_t( 32, -13.2, 29, 9, false, false ) ) - ( twinrx_gain_config_t( 33, -12.2, 28, 9, false, false ) ) - ( twinrx_gain_config_t( 34, -11.2, 28, 8, false, false ) ) - ( twinrx_gain_config_t( 35, -10.2, 27, 8, false, false ) ) - ( twinrx_gain_config_t( 36, -9.2, 27, 7, false, false ) ) - ( twinrx_gain_config_t( 37, -8.2, 26, 7, false, false ) ) - ( twinrx_gain_config_t( 38, -7.2, 25, 7, false, false ) ) - ( twinrx_gain_config_t( 39, -6.2, 24, 7, false, false ) ) - ( twinrx_gain_config_t( 40, -5.2, 24, 6, false, false ) ) - ( twinrx_gain_config_t( 41, -4.2, 23, 6, false, false ) ) - ( twinrx_gain_config_t( 42, -3.2, 22, 6, false, false ) ) - ( twinrx_gain_config_t( 43, -2.2, 21, 6, false, false ) ) - ( twinrx_gain_config_t( 44, -1.2, 20, 6, false, false ) ) - ( twinrx_gain_config_t( 45, -0.2, 19, 6, false, false ) ) - ( twinrx_gain_config_t( 46, 0.8, 18, 6, false, false ) ) - ( twinrx_gain_config_t( 47, 1.8, 17, 6, false, false ) ) - ( twinrx_gain_config_t( 48, 2.8, 16, 6, false, false ) ) - ( twinrx_gain_config_t( 49, 3.8, 16, 5, false, false ) ) - ( twinrx_gain_config_t( 50, 4.8, 15, 5, false, false ) ) - ( twinrx_gain_config_t( 51, 5.8, 14, 5, false, false ) ) - ( twinrx_gain_config_t( 52, 6.8, 13, 5, false, false ) ) - ( twinrx_gain_config_t( 53, 7.8, 12, 5, false, false ) ) - ( twinrx_gain_config_t( 54, 8.8, 11, 5, false, false ) ) - ( twinrx_gain_config_t( 55, 9.8, 10, 5, false, false ) ) - ( twinrx_gain_config_t( 56, 10.8, 9, 5, false, false ) ) - ( twinrx_gain_config_t( 57, 11.8, 8, 5, false, false ) ) - ( twinrx_gain_config_t( 58, 12.8, 7, 5, false, false ) ) - ( twinrx_gain_config_t( 59, 13.8, 6, 5, false, false ) ) - ( twinrx_gain_config_t( 60, 14.8, 5, 5, false, false ) ) - ( twinrx_gain_config_t( 61, 15.8, 4, 5, false, false ) ) - ( twinrx_gain_config_t( 62, 16.8, 3, 5, false, false ) ) - ( twinrx_gain_config_t( 63, 17.8, 2, 5, false, false ) ) - ( twinrx_gain_config_t( 64, 18.8, 1, 5, false, false ) ) - ( twinrx_gain_config_t( 65, 19.8, 0, 5, false, false ) ) - ( twinrx_gain_config_t( 66, 20.8, 0, 4, false, false ) ) - ( twinrx_gain_config_t( 67, 21.8, 0, 3, false, false ) ) - ( twinrx_gain_config_t( 68, 22.8, 0, 2, false, false ) ) - ( twinrx_gain_config_t( 69, 23.8, 0, 1, false, false ) ) - ( twinrx_gain_config_t( 70, 24.8, 0, 0, false, false ) ) - ( twinrx_gain_config_t( 71, 26.1, 0, 6, false, true ) ) - ( twinrx_gain_config_t( 72, 26.1, 0, 6, false, true ) ) - ( twinrx_gain_config_t( 73, 27.1, 0, 5, false, true ) ) - ( twinrx_gain_config_t( 74, 28.1, 0, 4, false, true ) ) - ( twinrx_gain_config_t( 75, 29.1, 0, 3, false, true ) ) - ( twinrx_gain_config_t( 76, 30.1, 0, 2, false, true ) ) - ( twinrx_gain_config_t( 77, 31.1, 0, 1, false, true ) ) - ( twinrx_gain_config_t( 78, 32.1, 0, 0, false, true ) ) - ( twinrx_gain_config_t( 79, 33.3, 0, 7, true, false ) ) - ( twinrx_gain_config_t( 80, 34.3, 0, 6, true, false ) ) - ( twinrx_gain_config_t( 81, 35.3, 0, 5, true, false ) ) - ( twinrx_gain_config_t( 82, 36.3, 0, 4, true, false ) ) - ( twinrx_gain_config_t( 83, 37.3, 0, 3, true, false ) ) - ( twinrx_gain_config_t( 84, 38.3, 0, 2, true, false ) ) - ( twinrx_gain_config_t( 85, 39.3, 0, 1, true, false ) ) - ( twinrx_gain_config_t( 86, 40.3, 0, 0, true, false ) ) - ( twinrx_gain_config_t( 87, 41.6, 0, 6, true, true ) ) - ( twinrx_gain_config_t( 88, 42.6, 0, 5, true, true ) ) - ( twinrx_gain_config_t( 89, 43.6, 0, 4, true, true ) ) - ( twinrx_gain_config_t( 90, 44.6, 0, 3, true, true ) ) - ( twinrx_gain_config_t( 91, 45.6, 0, 2, true, true ) ) - ( twinrx_gain_config_t( 92, 46.6, 0, 1, true, true ) ) - ( twinrx_gain_config_t( 93, 47.6, 0, 0, true, true ) ) -; + twinrx_gain_config_t( 0, -37.2, 31, 31, false, false ), + twinrx_gain_config_t( 1, -37.2, 31, 31, false, false ), + twinrx_gain_config_t( 2, -37.2, 31, 31, false, false ), + twinrx_gain_config_t( 3, -37.2, 31, 31, false, false ), + twinrx_gain_config_t( 4, -37.2, 31, 31, false, false ), + twinrx_gain_config_t( 5, -37.2, 31, 31, false, false ), + twinrx_gain_config_t( 6, -37.2, 31, 31, false, false ), + twinrx_gain_config_t( 7, -37.2, 31, 31, false, false ), + twinrx_gain_config_t( 8, -37.2, 31, 31, false, false ), + twinrx_gain_config_t( 9, -36.2, 31, 30, false, false ), + twinrx_gain_config_t( 10, -35.2, 31, 29, false, false ), + twinrx_gain_config_t( 11, -34.2, 31, 28, false, false ), + twinrx_gain_config_t( 12, -33.2, 31, 27, false, false ), + twinrx_gain_config_t( 13, -32.2, 31, 26, false, false ), + twinrx_gain_config_t( 14, -31.2, 31, 25, false, false ), + twinrx_gain_config_t( 15, -30.2, 31, 24, false, false ), + twinrx_gain_config_t( 16, -29.2, 31, 23, false, false ), + twinrx_gain_config_t( 17, -28.2, 31, 22, false, false ), + twinrx_gain_config_t( 18, -27.2, 31, 21, false, false ), + twinrx_gain_config_t( 19, -26.2, 31, 20, false, false ), + twinrx_gain_config_t( 20, -25.2, 31, 19, false, false ), + twinrx_gain_config_t( 21, -24.2, 31, 18, false, false ), + twinrx_gain_config_t( 22, -23.2, 31, 17, false, false ), + twinrx_gain_config_t( 23, -22.2, 31, 16, false, false ), + twinrx_gain_config_t( 24, -21.2, 31, 15, false, false ), + twinrx_gain_config_t( 25, -20.2, 31, 14, false, false ), + twinrx_gain_config_t( 26, -19.2, 31, 13, false, false ), + twinrx_gain_config_t( 27, -18.2, 31, 12, false, false ), + twinrx_gain_config_t( 28, -17.2, 31, 11, false, false ), + twinrx_gain_config_t( 29, -16.2, 31, 10, false, false ), + twinrx_gain_config_t( 30, -15.2, 30, 10, false, false ), + twinrx_gain_config_t( 31, -14.2, 30, 9, false, false ), + twinrx_gain_config_t( 32, -13.2, 29, 9, false, false ), + twinrx_gain_config_t( 33, -12.2, 28, 9, false, false ), + twinrx_gain_config_t( 34, -11.2, 28, 8, false, false ), + twinrx_gain_config_t( 35, -10.2, 27, 8, false, false ), + twinrx_gain_config_t( 36, -9.2, 27, 7, false, false ), + twinrx_gain_config_t( 37, -8.2, 26, 7, false, false ), + twinrx_gain_config_t( 38, -7.2, 25, 7, false, false ), + twinrx_gain_config_t( 39, -6.2, 24, 7, false, false ), + twinrx_gain_config_t( 40, -5.2, 24, 6, false, false ), + twinrx_gain_config_t( 41, -4.2, 23, 6, false, false ), + twinrx_gain_config_t( 42, -3.2, 22, 6, false, false ), + twinrx_gain_config_t( 43, -2.2, 21, 6, false, false ), + twinrx_gain_config_t( 44, -1.2, 20, 6, false, false ), + twinrx_gain_config_t( 45, -0.2, 19, 6, false, false ), + twinrx_gain_config_t( 46, 0.8, 18, 6, false, false ), + twinrx_gain_config_t( 47, 1.8, 17, 6, false, false ), + twinrx_gain_config_t( 48, 2.8, 16, 6, false, false ), + twinrx_gain_config_t( 49, 3.8, 16, 5, false, false ), + twinrx_gain_config_t( 50, 4.8, 15, 5, false, false ), + twinrx_gain_config_t( 51, 5.8, 14, 5, false, false ), + twinrx_gain_config_t( 52, 6.8, 13, 5, false, false ), + twinrx_gain_config_t( 53, 7.8, 12, 5, false, false ), + twinrx_gain_config_t( 54, 8.8, 11, 5, false, false ), + twinrx_gain_config_t( 55, 9.8, 10, 5, false, false ), + twinrx_gain_config_t( 56, 10.8, 9, 5, false, false ), + twinrx_gain_config_t( 57, 11.8, 8, 5, false, false ), + twinrx_gain_config_t( 58, 12.8, 7, 5, false, false ), + twinrx_gain_config_t( 59, 13.8, 6, 5, false, false ), + twinrx_gain_config_t( 60, 14.8, 5, 5, false, false ), + twinrx_gain_config_t( 61, 15.8, 4, 5, false, false ), + twinrx_gain_config_t( 62, 16.8, 3, 5, false, false ), + twinrx_gain_config_t( 63, 17.8, 2, 5, false, false ), + twinrx_gain_config_t( 64, 18.8, 1, 5, false, false ), + twinrx_gain_config_t( 65, 19.8, 0, 5, false, false ), + twinrx_gain_config_t( 66, 20.8, 0, 4, false, false ), + twinrx_gain_config_t( 67, 21.8, 0, 3, false, false ), + twinrx_gain_config_t( 68, 22.8, 0, 2, false, false ), + twinrx_gain_config_t( 69, 23.8, 0, 1, false, false ), + twinrx_gain_config_t( 70, 24.8, 0, 0, false, false ), + twinrx_gain_config_t( 71, 26.1, 0, 6, false, true ), + twinrx_gain_config_t( 72, 26.1, 0, 6, false, true ), + twinrx_gain_config_t( 73, 27.1, 0, 5, false, true ), + twinrx_gain_config_t( 74, 28.1, 0, 4, false, true ), + twinrx_gain_config_t( 75, 29.1, 0, 3, false, true ), + twinrx_gain_config_t( 76, 30.1, 0, 2, false, true ), + twinrx_gain_config_t( 77, 31.1, 0, 1, false, true ), + twinrx_gain_config_t( 78, 32.1, 0, 0, false, true ), + twinrx_gain_config_t( 79, 33.3, 0, 7, true, false ), + twinrx_gain_config_t( 80, 34.3, 0, 6, true, false ), + twinrx_gain_config_t( 81, 35.3, 0, 5, true, false ), + twinrx_gain_config_t( 82, 36.3, 0, 4, true, false ), + twinrx_gain_config_t( 83, 37.3, 0, 3, true, false ), + twinrx_gain_config_t( 84, 38.3, 0, 2, true, false ), + twinrx_gain_config_t( 85, 39.3, 0, 1, true, false ), + twinrx_gain_config_t( 86, 40.3, 0, 0, true, false ), + twinrx_gain_config_t( 87, 41.6, 0, 6, true, true ), + twinrx_gain_config_t( 88, 42.6, 0, 5, true, true ), + twinrx_gain_config_t( 89, 43.6, 0, 4, true, true ), + twinrx_gain_config_t( 90, 44.6, 0, 3, true, true ), + twinrx_gain_config_t( 91, 45.6, 0, 2, true, true ), + twinrx_gain_config_t( 92, 46.6, 0, 1, true, true ), + twinrx_gain_config_t( 93, 47.6, 0, 0, true, true ), +}; -static const std::vector<twinrx_gain_config_t> LOWBAND1_TABLE = boost::assign::list_of +static const std::vector<twinrx_gain_config_t> LOWBAND1_TABLE{ // Index, Gain, Atten1, Atten2, Amp1, Amp2 - ( twinrx_gain_config_t( 0, -31.1, 31, 31, false, false ) ) - ( twinrx_gain_config_t( 1, -30.1, 31, 30, false, false ) ) - ( twinrx_gain_config_t( 2, -29.1, 31, 29, false, false ) ) - ( twinrx_gain_config_t( 3, -28.1, 31, 28, false, false ) ) - ( twinrx_gain_config_t( 4, -27.1, 31, 27, false, false ) ) - ( twinrx_gain_config_t( 5, -26.1, 31, 26, false, false ) ) - ( twinrx_gain_config_t( 6, -25.1, 31, 25, false, false ) ) - ( twinrx_gain_config_t( 7, -24.1, 31, 24, false, false ) ) - ( twinrx_gain_config_t( 8, -23.1, 31, 23, false, false ) ) - ( twinrx_gain_config_t( 9, -22.1, 31, 22, false, false ) ) - ( twinrx_gain_config_t( 10, -21.1, 31, 21, false, false ) ) - ( twinrx_gain_config_t( 11, -20.1, 31, 20, false, false ) ) - ( twinrx_gain_config_t( 12, -19.1, 31, 19, false, false ) ) - ( twinrx_gain_config_t( 13, -18.1, 31, 18, false, false ) ) - ( twinrx_gain_config_t( 14, -17.1, 31, 17, false, false ) ) - ( twinrx_gain_config_t( 15, -16.1, 31, 16, false, false ) ) - ( twinrx_gain_config_t( 16, -15.1, 31, 15, false, false ) ) - ( twinrx_gain_config_t( 17, -14.1, 31, 14, false, false ) ) - ( twinrx_gain_config_t( 18, -13.1, 31, 13, false, false ) ) - ( twinrx_gain_config_t( 19, -12.1, 31, 12, false, false ) ) - ( twinrx_gain_config_t( 20, -11.1, 31, 11, false, false ) ) - ( twinrx_gain_config_t( 21, -10.1, 31, 10, false, false ) ) - ( twinrx_gain_config_t( 22, -9.1, 31, 9, false, false ) ) - ( twinrx_gain_config_t( 23, -8.1, 31, 8, false, false ) ) - ( twinrx_gain_config_t( 24, -7.1, 31, 7, false, false ) ) - ( twinrx_gain_config_t( 25, -6.1, 31, 6, false, false ) ) - ( twinrx_gain_config_t( 26, -5.1, 31, 5, false, false ) ) - ( twinrx_gain_config_t( 27, -4.1, 31, 4, false, false ) ) - ( twinrx_gain_config_t( 28, -3.1, 31, 3, false, false ) ) - ( twinrx_gain_config_t( 29, -2.1, 31, 2, false, false ) ) - ( twinrx_gain_config_t( 30, -1.1, 31, 1, false, false ) ) - ( twinrx_gain_config_t( 31, -0.1, 31, 0, false, false ) ) - ( twinrx_gain_config_t( 32, 0.9, 30, 0, false, false ) ) - ( twinrx_gain_config_t( 33, 1.9, 29, 0, false, false ) ) - ( twinrx_gain_config_t( 34, 2.9, 28, 0, false, false ) ) - ( twinrx_gain_config_t( 35, 3.9, 27, 0, false, false ) ) - ( twinrx_gain_config_t( 36, 4.9, 26, 0, false, false ) ) - ( twinrx_gain_config_t( 37, 5.9, 25, 0, false, false ) ) - ( twinrx_gain_config_t( 38, 6.9, 24, 0, false, false ) ) - ( twinrx_gain_config_t( 39, 7.9, 23, 0, false, false ) ) - ( twinrx_gain_config_t( 40, 8.9, 22, 0, false, false ) ) - ( twinrx_gain_config_t( 41, 9.9, 21, 0, false, false ) ) - ( twinrx_gain_config_t( 42, 10.9, 20, 0, false, false ) ) - ( twinrx_gain_config_t( 43, 11.9, 19, 0, false, false ) ) - ( twinrx_gain_config_t( 44, 12.9, 18, 0, false, false ) ) - ( twinrx_gain_config_t( 45, 13.9, 17, 0, false, false ) ) - ( twinrx_gain_config_t( 46, 14.9, 16, 0, false, false ) ) - ( twinrx_gain_config_t( 47, 15.9, 15, 0, false, false ) ) - ( twinrx_gain_config_t( 48, 16.9, 14, 0, false, false ) ) - ( twinrx_gain_config_t( 49, 17.9, 13, 0, false, false ) ) - ( twinrx_gain_config_t( 50, 18.9, 12, 0, false, false ) ) - ( twinrx_gain_config_t( 51, 19.9, 11, 0, false, false ) ) - ( twinrx_gain_config_t( 52, 20.9, 10, 0, false, false ) ) - ( twinrx_gain_config_t( 53, 21.9, 9, 0, false, false ) ) - ( twinrx_gain_config_t( 54, 22.9, 8, 0, false, false ) ) - ( twinrx_gain_config_t( 55, 23.9, 7, 0, false, false ) ) - ( twinrx_gain_config_t( 56, 24.9, 6, 0, false, false ) ) - ( twinrx_gain_config_t( 57, 25.9, 5, 0, false, false ) ) - ( twinrx_gain_config_t( 58, 26.9, 4, 0, false, false ) ) - ( twinrx_gain_config_t( 59, 27.9, 3, 0, false, false ) ) - ( twinrx_gain_config_t( 60, 28.9, 2, 0, false, false ) ) - ( twinrx_gain_config_t( 61, 29.9, 1, 0, false, false ) ) - ( twinrx_gain_config_t( 62, 30.9, 0, 0, false, false ) ) - ( twinrx_gain_config_t( 63, 31.2, 4, 11, false, true ) ) - ( twinrx_gain_config_t( 64, 32.2, 3, 11, false, true ) ) - ( twinrx_gain_config_t( 65, 33.2, 2, 11, false, true ) ) - ( twinrx_gain_config_t( 66, 34.2, 1, 11, false, true ) ) - ( twinrx_gain_config_t( 67, 35.2, 0, 11, false, true ) ) - ( twinrx_gain_config_t( 68, 36.2, 10, 0, true, false ) ) - ( twinrx_gain_config_t( 69, 37.2, 9, 0, true, false ) ) - ( twinrx_gain_config_t( 70, 38.2, 8, 0, true, false ) ) - ( twinrx_gain_config_t( 71, 39.2, 7, 0, true, false ) ) - ( twinrx_gain_config_t( 72, 40.2, 6, 0, true, false ) ) - ( twinrx_gain_config_t( 73, 41.2, 5, 0, true, false ) ) - ( twinrx_gain_config_t( 74, 42.2, 4, 0, true, false ) ) - ( twinrx_gain_config_t( 75, 43.2, 3, 0, true, false ) ) - ( twinrx_gain_config_t( 76, 44.2, 2, 0, true, false ) ) - ( twinrx_gain_config_t( 77, 45.2, 1, 0, true, false ) ) - ( twinrx_gain_config_t( 78, 46.2, 0, 0, true, false ) ) - ( twinrx_gain_config_t( 79, 47.5, 4, 10, true, true ) ) - ( twinrx_gain_config_t( 80, 48.5, 3, 10, true, true ) ) - ( twinrx_gain_config_t( 81, 49.5, 3, 9, true, true ) ) - ( twinrx_gain_config_t( 82, 50.5, 2, 9, true, true ) ) - ( twinrx_gain_config_t( 83, 51.5, 1, 9, true, true ) ) - ( twinrx_gain_config_t( 84, 52.5, 1, 8, true, true ) ) - ( twinrx_gain_config_t( 85, 53.5, 0, 8, true, true ) ) - ( twinrx_gain_config_t( 86, 54.5, 0, 7, true, true ) ) - ( twinrx_gain_config_t( 87, 55.5, 0, 6, true, true ) ) - ( twinrx_gain_config_t( 88, 56.5, 0, 5, true, true ) ) - ( twinrx_gain_config_t( 89, 57.5, 0, 4, true, true ) ) - ( twinrx_gain_config_t( 90, 58.5, 0, 3, true, true ) ) - ( twinrx_gain_config_t( 91, 59.5, 0, 2, true, true ) ) - ( twinrx_gain_config_t( 92, 60.5, 0, 1, true, true ) ) - ( twinrx_gain_config_t( 93, 61.5, 0, 0, true, true ) ) -; + twinrx_gain_config_t( 0, -31.1, 31, 31, false, false ), + twinrx_gain_config_t( 1, -30.1, 31, 30, false, false ), + twinrx_gain_config_t( 2, -29.1, 31, 29, false, false ), + twinrx_gain_config_t( 3, -28.1, 31, 28, false, false ), + twinrx_gain_config_t( 4, -27.1, 31, 27, false, false ), + twinrx_gain_config_t( 5, -26.1, 31, 26, false, false ), + twinrx_gain_config_t( 6, -25.1, 31, 25, false, false ), + twinrx_gain_config_t( 7, -24.1, 31, 24, false, false ), + twinrx_gain_config_t( 8, -23.1, 31, 23, false, false ), + twinrx_gain_config_t( 9, -22.1, 31, 22, false, false ), + twinrx_gain_config_t( 10, -21.1, 31, 21, false, false ), + twinrx_gain_config_t( 11, -20.1, 31, 20, false, false ), + twinrx_gain_config_t( 12, -19.1, 31, 19, false, false ), + twinrx_gain_config_t( 13, -18.1, 31, 18, false, false ), + twinrx_gain_config_t( 14, -17.1, 31, 17, false, false ), + twinrx_gain_config_t( 15, -16.1, 31, 16, false, false ), + twinrx_gain_config_t( 16, -15.1, 31, 15, false, false ), + twinrx_gain_config_t( 17, -14.1, 31, 14, false, false ), + twinrx_gain_config_t( 18, -13.1, 31, 13, false, false ), + twinrx_gain_config_t( 19, -12.1, 31, 12, false, false ), + twinrx_gain_config_t( 20, -11.1, 31, 11, false, false ), + twinrx_gain_config_t( 21, -10.1, 31, 10, false, false ), + twinrx_gain_config_t( 22, -9.1, 31, 9, false, false ), + twinrx_gain_config_t( 23, -8.1, 31, 8, false, false ), + twinrx_gain_config_t( 24, -7.1, 31, 7, false, false ), + twinrx_gain_config_t( 25, -6.1, 31, 6, false, false ), + twinrx_gain_config_t( 26, -5.1, 31, 5, false, false ), + twinrx_gain_config_t( 27, -4.1, 31, 4, false, false ), + twinrx_gain_config_t( 28, -3.1, 31, 3, false, false ), + twinrx_gain_config_t( 29, -2.1, 31, 2, false, false ), + twinrx_gain_config_t( 30, -1.1, 31, 1, false, false ), + twinrx_gain_config_t( 31, -0.1, 31, 0, false, false ), + twinrx_gain_config_t( 32, 0.9, 30, 0, false, false ), + twinrx_gain_config_t( 33, 1.9, 29, 0, false, false ), + twinrx_gain_config_t( 34, 2.9, 28, 0, false, false ), + twinrx_gain_config_t( 35, 3.9, 27, 0, false, false ), + twinrx_gain_config_t( 36, 4.9, 26, 0, false, false ), + twinrx_gain_config_t( 37, 5.9, 25, 0, false, false ), + twinrx_gain_config_t( 38, 6.9, 24, 0, false, false ), + twinrx_gain_config_t( 39, 7.9, 23, 0, false, false ), + twinrx_gain_config_t( 40, 8.9, 22, 0, false, false ), + twinrx_gain_config_t( 41, 9.9, 21, 0, false, false ), + twinrx_gain_config_t( 42, 10.9, 20, 0, false, false ), + twinrx_gain_config_t( 43, 11.9, 19, 0, false, false ), + twinrx_gain_config_t( 44, 12.9, 18, 0, false, false ), + twinrx_gain_config_t( 45, 13.9, 17, 0, false, false ), + twinrx_gain_config_t( 46, 14.9, 16, 0, false, false ), + twinrx_gain_config_t( 47, 15.9, 15, 0, false, false ), + twinrx_gain_config_t( 48, 16.9, 14, 0, false, false ), + twinrx_gain_config_t( 49, 17.9, 13, 0, false, false ), + twinrx_gain_config_t( 50, 18.9, 12, 0, false, false ), + twinrx_gain_config_t( 51, 19.9, 11, 0, false, false ), + twinrx_gain_config_t( 52, 20.9, 10, 0, false, false ), + twinrx_gain_config_t( 53, 21.9, 9, 0, false, false ), + twinrx_gain_config_t( 54, 22.9, 8, 0, false, false ), + twinrx_gain_config_t( 55, 23.9, 7, 0, false, false ), + twinrx_gain_config_t( 56, 24.9, 6, 0, false, false ), + twinrx_gain_config_t( 57, 25.9, 5, 0, false, false ), + twinrx_gain_config_t( 58, 26.9, 4, 0, false, false ), + twinrx_gain_config_t( 59, 27.9, 3, 0, false, false ), + twinrx_gain_config_t( 60, 28.9, 2, 0, false, false ), + twinrx_gain_config_t( 61, 29.9, 1, 0, false, false ), + twinrx_gain_config_t( 62, 30.9, 0, 0, false, false ), + twinrx_gain_config_t( 63, 31.2, 4, 11, false, true ), + twinrx_gain_config_t( 64, 32.2, 3, 11, false, true ), + twinrx_gain_config_t( 65, 33.2, 2, 11, false, true ), + twinrx_gain_config_t( 66, 34.2, 1, 11, false, true ), + twinrx_gain_config_t( 67, 35.2, 0, 11, false, true ), + twinrx_gain_config_t( 68, 36.2, 10, 0, true, false ), + twinrx_gain_config_t( 69, 37.2, 9, 0, true, false ), + twinrx_gain_config_t( 70, 38.2, 8, 0, true, false ), + twinrx_gain_config_t( 71, 39.2, 7, 0, true, false ), + twinrx_gain_config_t( 72, 40.2, 6, 0, true, false ), + twinrx_gain_config_t( 73, 41.2, 5, 0, true, false ), + twinrx_gain_config_t( 74, 42.2, 4, 0, true, false ), + twinrx_gain_config_t( 75, 43.2, 3, 0, true, false ), + twinrx_gain_config_t( 76, 44.2, 2, 0, true, false ), + twinrx_gain_config_t( 77, 45.2, 1, 0, true, false ), + twinrx_gain_config_t( 78, 46.2, 0, 0, true, false ), + twinrx_gain_config_t( 79, 47.5, 4, 10, true, true ), + twinrx_gain_config_t( 80, 48.5, 3, 10, true, true ), + twinrx_gain_config_t( 81, 49.5, 3, 9, true, true ), + twinrx_gain_config_t( 82, 50.5, 2, 9, true, true ), + twinrx_gain_config_t( 83, 51.5, 1, 9, true, true ), + twinrx_gain_config_t( 84, 52.5, 1, 8, true, true ), + twinrx_gain_config_t( 85, 53.5, 0, 8, true, true ), + twinrx_gain_config_t( 86, 54.5, 0, 7, true, true ), + twinrx_gain_config_t( 87, 55.5, 0, 6, true, true ), + twinrx_gain_config_t( 88, 56.5, 0, 5, true, true ), + twinrx_gain_config_t( 89, 57.5, 0, 4, true, true ), + twinrx_gain_config_t( 90, 58.5, 0, 3, true, true ), + twinrx_gain_config_t( 91, 59.5, 0, 2, true, true ), + twinrx_gain_config_t( 92, 60.5, 0, 1, true, true ), + twinrx_gain_config_t( 93, 61.5, 0, 0, true, true ), +}; -static const std::vector<twinrx_gain_config_t> LOWBAND2_TABLE = boost::assign::list_of +static const std::vector<twinrx_gain_config_t> LOWBAND2_TABLE{ // Index, Gain, Atten1, Atten2, Amp1, Amp2 - ( twinrx_gain_config_t( 0, -33.4, 31, 31, false, false ) ) - ( twinrx_gain_config_t( 1, -33.4, 31, 31, false, false ) ) - ( twinrx_gain_config_t( 2, -32.4, 31, 30, false, false ) ) - ( twinrx_gain_config_t( 3, -31.4, 31, 29, false, false ) ) - ( twinrx_gain_config_t( 4, -30.4, 31, 28, false, false ) ) - ( twinrx_gain_config_t( 5, -29.4, 31, 27, false, false ) ) - ( twinrx_gain_config_t( 6, -28.4, 31, 26, false, false ) ) - ( twinrx_gain_config_t( 7, -27.4, 31, 25, false, false ) ) - ( twinrx_gain_config_t( 8, -26.4, 31, 24, false, false ) ) - ( twinrx_gain_config_t( 9, -25.4, 31, 23, false, false ) ) - ( twinrx_gain_config_t( 10, -24.4, 31, 22, false, false ) ) - ( twinrx_gain_config_t( 11, -23.4, 31, 21, false, false ) ) - ( twinrx_gain_config_t( 12, -22.4, 31, 20, false, false ) ) - ( twinrx_gain_config_t( 13, -21.4, 31, 19, false, false ) ) - ( twinrx_gain_config_t( 14, -20.4, 31, 18, false, false ) ) - ( twinrx_gain_config_t( 15, -19.4, 31, 17, false, false ) ) - ( twinrx_gain_config_t( 16, -18.4, 31, 16, false, false ) ) - ( twinrx_gain_config_t( 17, -17.4, 31, 15, false, false ) ) - ( twinrx_gain_config_t( 18, -16.4, 31, 14, false, false ) ) - ( twinrx_gain_config_t( 19, -15.4, 31, 13, false, false ) ) - ( twinrx_gain_config_t( 20, -14.4, 31, 12, false, false ) ) - ( twinrx_gain_config_t( 21, -13.4, 31, 11, false, false ) ) - ( twinrx_gain_config_t( 22, -12.4, 31, 10, false, false ) ) - ( twinrx_gain_config_t( 23, -11.4, 31, 9, false, false ) ) - ( twinrx_gain_config_t( 24, -10.4, 31, 8, false, false ) ) - ( twinrx_gain_config_t( 25, -9.4, 31, 7, false, false ) ) - ( twinrx_gain_config_t( 26, -8.4, 31, 6, false, false ) ) - ( twinrx_gain_config_t( 27, -7.4, 31, 5, false, false ) ) - ( twinrx_gain_config_t( 28, -6.4, 31, 4, false, false ) ) - ( twinrx_gain_config_t( 29, -5.4, 31, 3, false, false ) ) - ( twinrx_gain_config_t( 30, -4.4, 31, 2, false, false ) ) - ( twinrx_gain_config_t( 31, -3.4, 31, 1, false, false ) ) - ( twinrx_gain_config_t( 32, -2.4, 31, 0, false, false ) ) - ( twinrx_gain_config_t( 33, -1.4, 30, 0, false, false ) ) - ( twinrx_gain_config_t( 34, -0.4, 29, 0, false, false ) ) - ( twinrx_gain_config_t( 35, 0.6, 28, 0, false, false ) ) - ( twinrx_gain_config_t( 36, 1.6, 27, 0, false, false ) ) - ( twinrx_gain_config_t( 37, 2.6, 26, 0, false, false ) ) - ( twinrx_gain_config_t( 38, 3.6, 25, 0, false, false ) ) - ( twinrx_gain_config_t( 39, 4.6, 24, 0, false, false ) ) - ( twinrx_gain_config_t( 40, 5.6, 23, 0, false, false ) ) - ( twinrx_gain_config_t( 41, 6.6, 22, 0, false, false ) ) - ( twinrx_gain_config_t( 42, 7.6, 21, 0, false, false ) ) - ( twinrx_gain_config_t( 43, 8.6, 20, 0, false, false ) ) - ( twinrx_gain_config_t( 44, 9.6, 19, 0, false, false ) ) - ( twinrx_gain_config_t( 45, 10.6, 18, 0, false, false ) ) - ( twinrx_gain_config_t( 46, 11.6, 17, 0, false, false ) ) - ( twinrx_gain_config_t( 47, 12.6, 16, 0, false, false ) ) - ( twinrx_gain_config_t( 48, 13.6, 15, 0, false, false ) ) - ( twinrx_gain_config_t( 49, 14.6, 14, 0, false, false ) ) - ( twinrx_gain_config_t( 50, 15.6, 13, 0, false, false ) ) - ( twinrx_gain_config_t( 51, 16.6, 12, 0, false, false ) ) - ( twinrx_gain_config_t( 52, 17.6, 11, 0, false, false ) ) - ( twinrx_gain_config_t( 53, 18.6, 10, 0, false, false ) ) - ( twinrx_gain_config_t( 54, 19.6, 9, 0, false, false ) ) - ( twinrx_gain_config_t( 55, 20.6, 8, 0, false, false ) ) - ( twinrx_gain_config_t( 56, 21.6, 7, 0, false, false ) ) - ( twinrx_gain_config_t( 57, 22.6, 6, 0, false, false ) ) - ( twinrx_gain_config_t( 58, 23.6, 5, 0, false, false ) ) - ( twinrx_gain_config_t( 59, 24.6, 4, 0, false, false ) ) - ( twinrx_gain_config_t( 60, 25.6, 3, 0, false, false ) ) - ( twinrx_gain_config_t( 61, 26.6, 2, 0, false, false ) ) - ( twinrx_gain_config_t( 62, 27.6, 1, 0, false, false ) ) - ( twinrx_gain_config_t( 63, 28.6, 0, 0, false, false ) ) - ( twinrx_gain_config_t( 64, 29.7, 5, 9, false, true ) ) - ( twinrx_gain_config_t( 65, 30.7, 4, 9, false, true ) ) - ( twinrx_gain_config_t( 66, 31.7, 3, 9, false, true ) ) - ( twinrx_gain_config_t( 67, 32.7, 2, 9, false, true ) ) - ( twinrx_gain_config_t( 68, 33.7, 1, 9, false, true ) ) - ( twinrx_gain_config_t( 69, 34.7, 0, 9, false, true ) ) - ( twinrx_gain_config_t( 70, 35.7, 0, 8, false, true ) ) - ( twinrx_gain_config_t( 71, 36.7, 7, 0, true, false ) ) - ( twinrx_gain_config_t( 72, 37.7, 6, 0, true, false ) ) - ( twinrx_gain_config_t( 73, 38.7, 5, 0, true, false ) ) - ( twinrx_gain_config_t( 74, 39.7, 4, 0, true, false ) ) - ( twinrx_gain_config_t( 75, 40.7, 3, 0, true, false ) ) - ( twinrx_gain_config_t( 76, 41.7, 2, 0, true, false ) ) - ( twinrx_gain_config_t( 77, 42.7, 1, 0, true, false ) ) - ( twinrx_gain_config_t( 78, 43.7, 0, 0, true, false ) ) - ( twinrx_gain_config_t( 79, 44.8, 6, 8, true, true ) ) - ( twinrx_gain_config_t( 80, 45.8, 5, 8, true, true ) ) - ( twinrx_gain_config_t( 81, 46.8, 4, 8, true, true ) ) - ( twinrx_gain_config_t( 82, 47.8, 4, 7, true, true ) ) - ( twinrx_gain_config_t( 83, 48.8, 3, 7, true, true ) ) - ( twinrx_gain_config_t( 84, 49.8, 2, 7, true, true ) ) - ( twinrx_gain_config_t( 85, 50.8, 1, 7, true, true ) ) - ( twinrx_gain_config_t( 86, 51.8, 1, 6, true, true ) ) - ( twinrx_gain_config_t( 87, 52.8, 0, 6, true, true ) ) - ( twinrx_gain_config_t( 88, 53.8, 0, 5, true, true ) ) - ( twinrx_gain_config_t( 89, 54.8, 0, 4, true, true ) ) - ( twinrx_gain_config_t( 90, 55.8, 0, 3, true, true ) ) - ( twinrx_gain_config_t( 91, 56.8, 0, 2, true, true ) ) - ( twinrx_gain_config_t( 92, 57.8, 0, 1, true, true ) ) - ( twinrx_gain_config_t( 93, 58.8, 0, 0, true, true ) ) -; + twinrx_gain_config_t( 0, -33.4, 31, 31, false, false ), + twinrx_gain_config_t( 1, -33.4, 31, 31, false, false ), + twinrx_gain_config_t( 2, -32.4, 31, 30, false, false ), + twinrx_gain_config_t( 3, -31.4, 31, 29, false, false ), + twinrx_gain_config_t( 4, -30.4, 31, 28, false, false ), + twinrx_gain_config_t( 5, -29.4, 31, 27, false, false ), + twinrx_gain_config_t( 6, -28.4, 31, 26, false, false ), + twinrx_gain_config_t( 7, -27.4, 31, 25, false, false ), + twinrx_gain_config_t( 8, -26.4, 31, 24, false, false ), + twinrx_gain_config_t( 9, -25.4, 31, 23, false, false ), + twinrx_gain_config_t( 10, -24.4, 31, 22, false, false ), + twinrx_gain_config_t( 11, -23.4, 31, 21, false, false ), + twinrx_gain_config_t( 12, -22.4, 31, 20, false, false ), + twinrx_gain_config_t( 13, -21.4, 31, 19, false, false ), + twinrx_gain_config_t( 14, -20.4, 31, 18, false, false ), + twinrx_gain_config_t( 15, -19.4, 31, 17, false, false ), + twinrx_gain_config_t( 16, -18.4, 31, 16, false, false ), + twinrx_gain_config_t( 17, -17.4, 31, 15, false, false ), + twinrx_gain_config_t( 18, -16.4, 31, 14, false, false ), + twinrx_gain_config_t( 19, -15.4, 31, 13, false, false ), + twinrx_gain_config_t( 20, -14.4, 31, 12, false, false ), + twinrx_gain_config_t( 21, -13.4, 31, 11, false, false ), + twinrx_gain_config_t( 22, -12.4, 31, 10, false, false ), + twinrx_gain_config_t( 23, -11.4, 31, 9, false, false ), + twinrx_gain_config_t( 24, -10.4, 31, 8, false, false ), + twinrx_gain_config_t( 25, -9.4, 31, 7, false, false ), + twinrx_gain_config_t( 26, -8.4, 31, 6, false, false ), + twinrx_gain_config_t( 27, -7.4, 31, 5, false, false ), + twinrx_gain_config_t( 28, -6.4, 31, 4, false, false ), + twinrx_gain_config_t( 29, -5.4, 31, 3, false, false ), + twinrx_gain_config_t( 30, -4.4, 31, 2, false, false ), + twinrx_gain_config_t( 31, -3.4, 31, 1, false, false ), + twinrx_gain_config_t( 32, -2.4, 31, 0, false, false ), + twinrx_gain_config_t( 33, -1.4, 30, 0, false, false ), + twinrx_gain_config_t( 34, -0.4, 29, 0, false, false ), + twinrx_gain_config_t( 35, 0.6, 28, 0, false, false ), + twinrx_gain_config_t( 36, 1.6, 27, 0, false, false ), + twinrx_gain_config_t( 37, 2.6, 26, 0, false, false ), + twinrx_gain_config_t( 38, 3.6, 25, 0, false, false ), + twinrx_gain_config_t( 39, 4.6, 24, 0, false, false ), + twinrx_gain_config_t( 40, 5.6, 23, 0, false, false ), + twinrx_gain_config_t( 41, 6.6, 22, 0, false, false ), + twinrx_gain_config_t( 42, 7.6, 21, 0, false, false ), + twinrx_gain_config_t( 43, 8.6, 20, 0, false, false ), + twinrx_gain_config_t( 44, 9.6, 19, 0, false, false ), + twinrx_gain_config_t( 45, 10.6, 18, 0, false, false ), + twinrx_gain_config_t( 46, 11.6, 17, 0, false, false ), + twinrx_gain_config_t( 47, 12.6, 16, 0, false, false ), + twinrx_gain_config_t( 48, 13.6, 15, 0, false, false ), + twinrx_gain_config_t( 49, 14.6, 14, 0, false, false ), + twinrx_gain_config_t( 50, 15.6, 13, 0, false, false ), + twinrx_gain_config_t( 51, 16.6, 12, 0, false, false ), + twinrx_gain_config_t( 52, 17.6, 11, 0, false, false ), + twinrx_gain_config_t( 53, 18.6, 10, 0, false, false ), + twinrx_gain_config_t( 54, 19.6, 9, 0, false, false ), + twinrx_gain_config_t( 55, 20.6, 8, 0, false, false ), + twinrx_gain_config_t( 56, 21.6, 7, 0, false, false ), + twinrx_gain_config_t( 57, 22.6, 6, 0, false, false ), + twinrx_gain_config_t( 58, 23.6, 5, 0, false, false ), + twinrx_gain_config_t( 59, 24.6, 4, 0, false, false ), + twinrx_gain_config_t( 60, 25.6, 3, 0, false, false ), + twinrx_gain_config_t( 61, 26.6, 2, 0, false, false ), + twinrx_gain_config_t( 62, 27.6, 1, 0, false, false ), + twinrx_gain_config_t( 63, 28.6, 0, 0, false, false ), + twinrx_gain_config_t( 64, 29.7, 5, 9, false, true ), + twinrx_gain_config_t( 65, 30.7, 4, 9, false, true ), + twinrx_gain_config_t( 66, 31.7, 3, 9, false, true ), + twinrx_gain_config_t( 67, 32.7, 2, 9, false, true ), + twinrx_gain_config_t( 68, 33.7, 1, 9, false, true ), + twinrx_gain_config_t( 69, 34.7, 0, 9, false, true ), + twinrx_gain_config_t( 70, 35.7, 0, 8, false, true ), + twinrx_gain_config_t( 71, 36.7, 7, 0, true, false ), + twinrx_gain_config_t( 72, 37.7, 6, 0, true, false ), + twinrx_gain_config_t( 73, 38.7, 5, 0, true, false ), + twinrx_gain_config_t( 74, 39.7, 4, 0, true, false ), + twinrx_gain_config_t( 75, 40.7, 3, 0, true, false ), + twinrx_gain_config_t( 76, 41.7, 2, 0, true, false ), + twinrx_gain_config_t( 77, 42.7, 1, 0, true, false ), + twinrx_gain_config_t( 78, 43.7, 0, 0, true, false ), + twinrx_gain_config_t( 79, 44.8, 6, 8, true, true ), + twinrx_gain_config_t( 80, 45.8, 5, 8, true, true ), + twinrx_gain_config_t( 81, 46.8, 4, 8, true, true ), + twinrx_gain_config_t( 82, 47.8, 4, 7, true, true ), + twinrx_gain_config_t( 83, 48.8, 3, 7, true, true ), + twinrx_gain_config_t( 84, 49.8, 2, 7, true, true ), + twinrx_gain_config_t( 85, 50.8, 1, 7, true, true ), + twinrx_gain_config_t( 86, 51.8, 1, 6, true, true ), + twinrx_gain_config_t( 87, 52.8, 0, 6, true, true ), + twinrx_gain_config_t( 88, 53.8, 0, 5, true, true ), + twinrx_gain_config_t( 89, 54.8, 0, 4, true, true ), + twinrx_gain_config_t( 90, 55.8, 0, 3, true, true ), + twinrx_gain_config_t( 91, 56.8, 0, 2, true, true ), + twinrx_gain_config_t( 92, 57.8, 0, 1, true, true ), + twinrx_gain_config_t( 93, 58.8, 0, 0, true, true ), +}; -static const std::vector<twinrx_gain_config_t> LOWBAND3_TABLE = boost::assign::list_of +static const std::vector<twinrx_gain_config_t> LOWBAND3_TABLE{ // Index, Gain, Atten1, Atten2, Amp1, Amp2 - ( twinrx_gain_config_t( 0, -34.0, 31, 31, false, false ) ) - ( twinrx_gain_config_t( 1, -34.0, 31, 31, false, false ) ) - ( twinrx_gain_config_t( 2, -34.0, 31, 31, false, false ) ) - ( twinrx_gain_config_t( 3, -33.0, 31, 30, false, false ) ) - ( twinrx_gain_config_t( 4, -32.0, 31, 29, false, false ) ) - ( twinrx_gain_config_t( 5, -31.0, 31, 28, false, false ) ) - ( twinrx_gain_config_t( 6, -30.0, 31, 27, false, false ) ) - ( twinrx_gain_config_t( 7, -29.0, 31, 26, false, false ) ) - ( twinrx_gain_config_t( 8, -28.0, 31, 25, false, false ) ) - ( twinrx_gain_config_t( 9, -27.0, 31, 24, false, false ) ) - ( twinrx_gain_config_t( 10, -26.0, 31, 23, false, false ) ) - ( twinrx_gain_config_t( 11, -25.0, 31, 22, false, false ) ) - ( twinrx_gain_config_t( 12, -24.0, 31, 21, false, false ) ) - ( twinrx_gain_config_t( 13, -23.0, 31, 20, false, false ) ) - ( twinrx_gain_config_t( 14, -22.0, 31, 19, false, false ) ) - ( twinrx_gain_config_t( 15, -21.0, 31, 18, false, false ) ) - ( twinrx_gain_config_t( 16, -20.0, 31, 17, false, false ) ) - ( twinrx_gain_config_t( 17, -19.0, 31, 16, false, false ) ) - ( twinrx_gain_config_t( 18, -18.0, 31, 15, false, false ) ) - ( twinrx_gain_config_t( 19, -17.0, 31, 14, false, false ) ) - ( twinrx_gain_config_t( 20, -16.0, 31, 13, false, false ) ) - ( twinrx_gain_config_t( 21, -15.0, 31, 12, false, false ) ) - ( twinrx_gain_config_t( 22, -14.0, 31, 11, false, false ) ) - ( twinrx_gain_config_t( 23, -13.0, 31, 10, false, false ) ) - ( twinrx_gain_config_t( 24, -12.0, 31, 9, false, false ) ) - ( twinrx_gain_config_t( 25, -11.0, 31, 8, false, false ) ) - ( twinrx_gain_config_t( 26, -10.0, 31, 7, false, false ) ) - ( twinrx_gain_config_t( 27, -9.0, 31, 6, false, false ) ) - ( twinrx_gain_config_t( 28, -8.0, 31, 5, false, false ) ) - ( twinrx_gain_config_t( 29, -7.0, 31, 4, false, false ) ) - ( twinrx_gain_config_t( 30, -6.0, 31, 3, false, false ) ) - ( twinrx_gain_config_t( 31, -5.0, 31, 2, false, false ) ) - ( twinrx_gain_config_t( 32, -4.0, 31, 1, false, false ) ) - ( twinrx_gain_config_t( 33, -3.0, 31, 0, false, false ) ) - ( twinrx_gain_config_t( 34, -2.0, 30, 0, false, false ) ) - ( twinrx_gain_config_t( 35, -1.0, 29, 0, false, false ) ) - ( twinrx_gain_config_t( 36, -0.0, 28, 0, false, false ) ) - ( twinrx_gain_config_t( 37, 1.0, 27, 0, false, false ) ) - ( twinrx_gain_config_t( 38, 2.0, 26, 0, false, false ) ) - ( twinrx_gain_config_t( 39, 3.0, 25, 0, false, false ) ) - ( twinrx_gain_config_t( 40, 4.0, 24, 0, false, false ) ) - ( twinrx_gain_config_t( 41, 5.0, 23, 0, false, false ) ) - ( twinrx_gain_config_t( 42, 6.0, 22, 0, false, false ) ) - ( twinrx_gain_config_t( 43, 7.0, 21, 0, false, false ) ) - ( twinrx_gain_config_t( 44, 8.0, 20, 0, false, false ) ) - ( twinrx_gain_config_t( 45, 9.0, 19, 0, false, false ) ) - ( twinrx_gain_config_t( 46, 10.0, 18, 0, false, false ) ) - ( twinrx_gain_config_t( 47, 11.0, 17, 0, false, false ) ) - ( twinrx_gain_config_t( 48, 12.0, 16, 0, false, false ) ) - ( twinrx_gain_config_t( 49, 13.0, 15, 0, false, false ) ) - ( twinrx_gain_config_t( 50, 14.0, 14, 0, false, false ) ) - ( twinrx_gain_config_t( 51, 15.0, 13, 0, false, false ) ) - ( twinrx_gain_config_t( 52, 16.0, 12, 0, false, false ) ) - ( twinrx_gain_config_t( 53, 17.0, 11, 0, false, false ) ) - ( twinrx_gain_config_t( 54, 18.0, 10, 0, false, false ) ) - ( twinrx_gain_config_t( 55, 19.0, 9, 0, false, false ) ) - ( twinrx_gain_config_t( 56, 20.0, 8, 0, false, false ) ) - ( twinrx_gain_config_t( 57, 21.0, 7, 0, false, false ) ) - ( twinrx_gain_config_t( 58, 22.0, 6, 0, false, false ) ) - ( twinrx_gain_config_t( 59, 23.0, 5, 0, false, false ) ) - ( twinrx_gain_config_t( 60, 24.0, 4, 0, false, false ) ) - ( twinrx_gain_config_t( 61, 25.0, 3, 0, false, false ) ) - ( twinrx_gain_config_t( 62, 26.0, 2, 0, false, false ) ) - ( twinrx_gain_config_t( 63, 27.0, 1, 0, false, false ) ) - ( twinrx_gain_config_t( 64, 28.0, 0, 0, false, false ) ) - ( twinrx_gain_config_t( 65, 29.5, 5, 8, false, true ) ) - ( twinrx_gain_config_t( 66, 30.5, 4, 8, false, true ) ) - ( twinrx_gain_config_t( 67, 31.5, 3, 8, false, true ) ) - ( twinrx_gain_config_t( 68, 32.5, 2, 8, false, true ) ) - ( twinrx_gain_config_t( 69, 33.5, 1, 8, false, true ) ) - ( twinrx_gain_config_t( 70, 34.5, 0, 8, false, true ) ) - ( twinrx_gain_config_t( 71, 34.5, 0, 8, false, true ) ) - ( twinrx_gain_config_t( 72, 36.5, 6, 0, true, false ) ) - ( twinrx_gain_config_t( 73, 36.5, 6, 0, true, false ) ) - ( twinrx_gain_config_t( 74, 37.5, 5, 0, true, false ) ) - ( twinrx_gain_config_t( 75, 38.5, 4, 0, true, false ) ) - ( twinrx_gain_config_t( 76, 39.5, 3, 0, true, false ) ) - ( twinrx_gain_config_t( 77, 40.5, 2, 0, true, false ) ) - ( twinrx_gain_config_t( 78, 41.5, 1, 0, true, false ) ) - ( twinrx_gain_config_t( 79, 42.5, 0, 0, true, false ) ) - ( twinrx_gain_config_t( 80, 44.0, 6, 7, true, true ) ) - ( twinrx_gain_config_t( 81, 45.0, 5, 7, true, true ) ) - ( twinrx_gain_config_t( 82, 46.0, 4, 7, true, true ) ) - ( twinrx_gain_config_t( 83, 47.0, 3, 7, true, true ) ) - ( twinrx_gain_config_t( 84, 48.0, 3, 6, true, true ) ) - ( twinrx_gain_config_t( 85, 49.0, 2, 6, true, true ) ) - ( twinrx_gain_config_t( 86, 50.0, 1, 6, true, true ) ) - ( twinrx_gain_config_t( 87, 51.0, 0, 6, true, true ) ) - ( twinrx_gain_config_t( 88, 52.0, 0, 5, true, true ) ) - ( twinrx_gain_config_t( 89, 53.0, 0, 4, true, true ) ) - ( twinrx_gain_config_t( 90, 54.0, 0, 3, true, true ) ) - ( twinrx_gain_config_t( 91, 55.0, 0, 2, true, true ) ) - ( twinrx_gain_config_t( 92, 56.0, 0, 1, true, true ) ) - ( twinrx_gain_config_t( 93, 57.0, 0, 0, true, true ) ) -; + twinrx_gain_config_t( 0, -34.0, 31, 31, false, false ), + twinrx_gain_config_t( 1, -34.0, 31, 31, false, false ), + twinrx_gain_config_t( 2, -34.0, 31, 31, false, false ), + twinrx_gain_config_t( 3, -33.0, 31, 30, false, false ), + twinrx_gain_config_t( 4, -32.0, 31, 29, false, false ), + twinrx_gain_config_t( 5, -31.0, 31, 28, false, false ), + twinrx_gain_config_t( 6, -30.0, 31, 27, false, false ), + twinrx_gain_config_t( 7, -29.0, 31, 26, false, false ), + twinrx_gain_config_t( 8, -28.0, 31, 25, false, false ), + twinrx_gain_config_t( 9, -27.0, 31, 24, false, false ), + twinrx_gain_config_t( 10, -26.0, 31, 23, false, false ), + twinrx_gain_config_t( 11, -25.0, 31, 22, false, false ), + twinrx_gain_config_t( 12, -24.0, 31, 21, false, false ), + twinrx_gain_config_t( 13, -23.0, 31, 20, false, false ), + twinrx_gain_config_t( 14, -22.0, 31, 19, false, false ), + twinrx_gain_config_t( 15, -21.0, 31, 18, false, false ), + twinrx_gain_config_t( 16, -20.0, 31, 17, false, false ), + twinrx_gain_config_t( 17, -19.0, 31, 16, false, false ), + twinrx_gain_config_t( 18, -18.0, 31, 15, false, false ), + twinrx_gain_config_t( 19, -17.0, 31, 14, false, false ), + twinrx_gain_config_t( 20, -16.0, 31, 13, false, false ), + twinrx_gain_config_t( 21, -15.0, 31, 12, false, false ), + twinrx_gain_config_t( 22, -14.0, 31, 11, false, false ), + twinrx_gain_config_t( 23, -13.0, 31, 10, false, false ), + twinrx_gain_config_t( 24, -12.0, 31, 9, false, false ), + twinrx_gain_config_t( 25, -11.0, 31, 8, false, false ), + twinrx_gain_config_t( 26, -10.0, 31, 7, false, false ), + twinrx_gain_config_t( 27, -9.0, 31, 6, false, false ), + twinrx_gain_config_t( 28, -8.0, 31, 5, false, false ), + twinrx_gain_config_t( 29, -7.0, 31, 4, false, false ), + twinrx_gain_config_t( 30, -6.0, 31, 3, false, false ), + twinrx_gain_config_t( 31, -5.0, 31, 2, false, false ), + twinrx_gain_config_t( 32, -4.0, 31, 1, false, false ), + twinrx_gain_config_t( 33, -3.0, 31, 0, false, false ), + twinrx_gain_config_t( 34, -2.0, 30, 0, false, false ), + twinrx_gain_config_t( 35, -1.0, 29, 0, false, false ), + twinrx_gain_config_t( 36, -0.0, 28, 0, false, false ), + twinrx_gain_config_t( 37, 1.0, 27, 0, false, false ), + twinrx_gain_config_t( 38, 2.0, 26, 0, false, false ), + twinrx_gain_config_t( 39, 3.0, 25, 0, false, false ), + twinrx_gain_config_t( 40, 4.0, 24, 0, false, false ), + twinrx_gain_config_t( 41, 5.0, 23, 0, false, false ), + twinrx_gain_config_t( 42, 6.0, 22, 0, false, false ), + twinrx_gain_config_t( 43, 7.0, 21, 0, false, false ), + twinrx_gain_config_t( 44, 8.0, 20, 0, false, false ), + twinrx_gain_config_t( 45, 9.0, 19, 0, false, false ), + twinrx_gain_config_t( 46, 10.0, 18, 0, false, false ), + twinrx_gain_config_t( 47, 11.0, 17, 0, false, false ), + twinrx_gain_config_t( 48, 12.0, 16, 0, false, false ), + twinrx_gain_config_t( 49, 13.0, 15, 0, false, false ), + twinrx_gain_config_t( 50, 14.0, 14, 0, false, false ), + twinrx_gain_config_t( 51, 15.0, 13, 0, false, false ), + twinrx_gain_config_t( 52, 16.0, 12, 0, false, false ), + twinrx_gain_config_t( 53, 17.0, 11, 0, false, false ), + twinrx_gain_config_t( 54, 18.0, 10, 0, false, false ), + twinrx_gain_config_t( 55, 19.0, 9, 0, false, false ), + twinrx_gain_config_t( 56, 20.0, 8, 0, false, false ), + twinrx_gain_config_t( 57, 21.0, 7, 0, false, false ), + twinrx_gain_config_t( 58, 22.0, 6, 0, false, false ), + twinrx_gain_config_t( 59, 23.0, 5, 0, false, false ), + twinrx_gain_config_t( 60, 24.0, 4, 0, false, false ), + twinrx_gain_config_t( 61, 25.0, 3, 0, false, false ), + twinrx_gain_config_t( 62, 26.0, 2, 0, false, false ), + twinrx_gain_config_t( 63, 27.0, 1, 0, false, false ), + twinrx_gain_config_t( 64, 28.0, 0, 0, false, false ), + twinrx_gain_config_t( 65, 29.5, 5, 8, false, true ), + twinrx_gain_config_t( 66, 30.5, 4, 8, false, true ), + twinrx_gain_config_t( 67, 31.5, 3, 8, false, true ), + twinrx_gain_config_t( 68, 32.5, 2, 8, false, true ), + twinrx_gain_config_t( 69, 33.5, 1, 8, false, true ), + twinrx_gain_config_t( 70, 34.5, 0, 8, false, true ), + twinrx_gain_config_t( 71, 34.5, 0, 8, false, true ), + twinrx_gain_config_t( 72, 36.5, 6, 0, true, false ), + twinrx_gain_config_t( 73, 36.5, 6, 0, true, false ), + twinrx_gain_config_t( 74, 37.5, 5, 0, true, false ), + twinrx_gain_config_t( 75, 38.5, 4, 0, true, false ), + twinrx_gain_config_t( 76, 39.5, 3, 0, true, false ), + twinrx_gain_config_t( 77, 40.5, 2, 0, true, false ), + twinrx_gain_config_t( 78, 41.5, 1, 0, true, false ), + twinrx_gain_config_t( 79, 42.5, 0, 0, true, false ), + twinrx_gain_config_t( 80, 44.0, 6, 7, true, true ), + twinrx_gain_config_t( 81, 45.0, 5, 7, true, true ), + twinrx_gain_config_t( 82, 46.0, 4, 7, true, true ), + twinrx_gain_config_t( 83, 47.0, 3, 7, true, true ), + twinrx_gain_config_t( 84, 48.0, 3, 6, true, true ), + twinrx_gain_config_t( 85, 49.0, 2, 6, true, true ), + twinrx_gain_config_t( 86, 50.0, 1, 6, true, true ), + twinrx_gain_config_t( 87, 51.0, 0, 6, true, true ), + twinrx_gain_config_t( 88, 52.0, 0, 5, true, true ), + twinrx_gain_config_t( 89, 53.0, 0, 4, true, true ), + twinrx_gain_config_t( 90, 54.0, 0, 3, true, true ), + twinrx_gain_config_t( 91, 55.0, 0, 2, true, true ), + twinrx_gain_config_t( 92, 56.0, 0, 1, true, true ), + twinrx_gain_config_t( 93, 57.0, 0, 0, true, true ), +}; -static const std::vector<twinrx_gain_config_t> LOWBAND4_TABLE = boost::assign::list_of +static const std::vector<twinrx_gain_config_t> LOWBAND4_TABLE{ // Index, Gain, Atten1, Atten2, Amp1, Amp2 - ( twinrx_gain_config_t( 0, -32.8, 31, 31, false, false ) ) - ( twinrx_gain_config_t( 1, -32.8, 31, 31, false, false ) ) - ( twinrx_gain_config_t( 2, -32.8, 31, 31, false, false ) ) - ( twinrx_gain_config_t( 3, -32.8, 31, 31, false, false ) ) - ( twinrx_gain_config_t( 4, -31.8, 31, 30, false, false ) ) - ( twinrx_gain_config_t( 5, -30.8, 31, 29, false, false ) ) - ( twinrx_gain_config_t( 6, -29.8, 31, 28, false, false ) ) - ( twinrx_gain_config_t( 7, -28.8, 31, 27, false, false ) ) - ( twinrx_gain_config_t( 8, -27.8, 31, 26, false, false ) ) - ( twinrx_gain_config_t( 9, -26.8, 31, 25, false, false ) ) - ( twinrx_gain_config_t( 10, -25.8, 31, 24, false, false ) ) - ( twinrx_gain_config_t( 11, -24.8, 31, 23, false, false ) ) - ( twinrx_gain_config_t( 12, -23.8, 31, 22, false, false ) ) - ( twinrx_gain_config_t( 13, -22.8, 31, 21, false, false ) ) - ( twinrx_gain_config_t( 14, -21.8, 31, 20, false, false ) ) - ( twinrx_gain_config_t( 15, -20.8, 31, 19, false, false ) ) - ( twinrx_gain_config_t( 16, -19.8, 31, 18, false, false ) ) - ( twinrx_gain_config_t( 17, -18.8, 31, 17, false, false ) ) - ( twinrx_gain_config_t( 18, -17.8, 31, 16, false, false ) ) - ( twinrx_gain_config_t( 19, -16.8, 31, 15, false, false ) ) - ( twinrx_gain_config_t( 20, -15.8, 31, 14, false, false ) ) - ( twinrx_gain_config_t( 21, -14.8, 31, 13, false, false ) ) - ( twinrx_gain_config_t( 22, -13.8, 31, 12, false, false ) ) - ( twinrx_gain_config_t( 23, -12.8, 31, 11, false, false ) ) - ( twinrx_gain_config_t( 24, -11.8, 31, 10, false, false ) ) - ( twinrx_gain_config_t( 25, -10.8, 31, 9, false, false ) ) - ( twinrx_gain_config_t( 26, -9.8, 31, 8, false, false ) ) - ( twinrx_gain_config_t( 27, -8.8, 31, 7, false, false ) ) - ( twinrx_gain_config_t( 28, -7.8, 31, 6, false, false ) ) - ( twinrx_gain_config_t( 29, -6.8, 31, 5, false, false ) ) - ( twinrx_gain_config_t( 30, -5.8, 31, 4, false, false ) ) - ( twinrx_gain_config_t( 31, -4.8, 31, 3, false, false ) ) - ( twinrx_gain_config_t( 32, -3.8, 31, 2, false, false ) ) - ( twinrx_gain_config_t( 33, -2.8, 31, 1, false, false ) ) - ( twinrx_gain_config_t( 34, -1.8, 31, 0, false, false ) ) - ( twinrx_gain_config_t( 35, -0.8, 30, 0, false, false ) ) - ( twinrx_gain_config_t( 36, 0.2, 29, 0, false, false ) ) - ( twinrx_gain_config_t( 37, 1.2, 28, 0, false, false ) ) - ( twinrx_gain_config_t( 38, 2.2, 27, 0, false, false ) ) - ( twinrx_gain_config_t( 39, 3.2, 26, 0, false, false ) ) - ( twinrx_gain_config_t( 40, 4.2, 25, 0, false, false ) ) - ( twinrx_gain_config_t( 41, 5.2, 24, 0, false, false ) ) - ( twinrx_gain_config_t( 42, 6.2, 23, 0, false, false ) ) - ( twinrx_gain_config_t( 43, 7.2, 22, 0, false, false ) ) - ( twinrx_gain_config_t( 44, 8.2, 21, 0, false, false ) ) - ( twinrx_gain_config_t( 45, 9.2, 20, 0, false, false ) ) - ( twinrx_gain_config_t( 46, 10.2, 19, 0, false, false ) ) - ( twinrx_gain_config_t( 47, 11.2, 18, 0, false, false ) ) - ( twinrx_gain_config_t( 48, 12.2, 17, 0, false, false ) ) - ( twinrx_gain_config_t( 49, 13.2, 16, 0, false, false ) ) - ( twinrx_gain_config_t( 50, 14.2, 15, 0, false, false ) ) - ( twinrx_gain_config_t( 51, 15.2, 14, 0, false, false ) ) - ( twinrx_gain_config_t( 52, 16.2, 13, 0, false, false ) ) - ( twinrx_gain_config_t( 53, 17.2, 12, 0, false, false ) ) - ( twinrx_gain_config_t( 54, 18.2, 11, 0, false, false ) ) - ( twinrx_gain_config_t( 55, 19.2, 10, 0, false, false ) ) - ( twinrx_gain_config_t( 56, 20.2, 9, 0, false, false ) ) - ( twinrx_gain_config_t( 57, 21.2, 8, 0, false, false ) ) - ( twinrx_gain_config_t( 58, 22.2, 7, 0, false, false ) ) - ( twinrx_gain_config_t( 59, 23.2, 6, 0, false, false ) ) - ( twinrx_gain_config_t( 60, 24.2, 5, 0, false, false ) ) - ( twinrx_gain_config_t( 61, 25.2, 4, 0, false, false ) ) - ( twinrx_gain_config_t( 62, 26.2, 3, 0, false, false ) ) - ( twinrx_gain_config_t( 63, 27.2, 2, 0, false, false ) ) - ( twinrx_gain_config_t( 64, 28.2, 1, 0, false, false ) ) - ( twinrx_gain_config_t( 65, 29.2, 0, 0, false, false ) ) - ( twinrx_gain_config_t( 66, 30.4, 4, 9, false, true ) ) - ( twinrx_gain_config_t( 67, 31.4, 3, 9, false, true ) ) - ( twinrx_gain_config_t( 68, 32.4, 2, 9, false, true ) ) - ( twinrx_gain_config_t( 69, 33.4, 1, 9, false, true ) ) - ( twinrx_gain_config_t( 70, 34.4, 0, 9, false, true ) ) - ( twinrx_gain_config_t( 71, 35.4, 8, 0, true, false ) ) - ( twinrx_gain_config_t( 72, 36.4, 7, 0, true, false ) ) - ( twinrx_gain_config_t( 73, 37.4, 6, 0, true, false ) ) - ( twinrx_gain_config_t( 74, 38.4, 5, 0, true, false ) ) - ( twinrx_gain_config_t( 75, 39.4, 4, 0, true, false ) ) - ( twinrx_gain_config_t( 76, 40.4, 3, 0, true, false ) ) - ( twinrx_gain_config_t( 77, 41.4, 2, 0, true, false ) ) - ( twinrx_gain_config_t( 78, 42.4, 1, 0, true, false ) ) - ( twinrx_gain_config_t( 79, 43.4, 0, 0, true, false ) ) - ( twinrx_gain_config_t( 80, 44.6, 4, 9, true, true ) ) - ( twinrx_gain_config_t( 81, 45.6, 4, 8, true, true ) ) - ( twinrx_gain_config_t( 82, 46.6, 3, 8, true, true ) ) - ( twinrx_gain_config_t( 83, 47.6, 2, 8, true, true ) ) - ( twinrx_gain_config_t( 84, 48.6, 1, 8, true, true ) ) - ( twinrx_gain_config_t( 85, 49.6, 1, 7, true, true ) ) - ( twinrx_gain_config_t( 86, 50.6, 0, 7, true, true ) ) - ( twinrx_gain_config_t( 87, 51.6, 0, 6, true, true ) ) - ( twinrx_gain_config_t( 88, 52.6, 0, 5, true, true ) ) - ( twinrx_gain_config_t( 89, 53.6, 0, 4, true, true ) ) - ( twinrx_gain_config_t( 90, 54.6, 0, 3, true, true ) ) - ( twinrx_gain_config_t( 91, 55.6, 0, 2, true, true ) ) - ( twinrx_gain_config_t( 92, 56.6, 0, 1, true, true ) ) - ( twinrx_gain_config_t( 93, 57.6, 0, 0, true, true ) ) -; + twinrx_gain_config_t( 0, -32.8, 31, 31, false, false ), + twinrx_gain_config_t( 1, -32.8, 31, 31, false, false ), + twinrx_gain_config_t( 2, -32.8, 31, 31, false, false ), + twinrx_gain_config_t( 3, -32.8, 31, 31, false, false ), + twinrx_gain_config_t( 4, -31.8, 31, 30, false, false ), + twinrx_gain_config_t( 5, -30.8, 31, 29, false, false ), + twinrx_gain_config_t( 6, -29.8, 31, 28, false, false ), + twinrx_gain_config_t( 7, -28.8, 31, 27, false, false ), + twinrx_gain_config_t( 8, -27.8, 31, 26, false, false ), + twinrx_gain_config_t( 9, -26.8, 31, 25, false, false ), + twinrx_gain_config_t( 10, -25.8, 31, 24, false, false ), + twinrx_gain_config_t( 11, -24.8, 31, 23, false, false ), + twinrx_gain_config_t( 12, -23.8, 31, 22, false, false ), + twinrx_gain_config_t( 13, -22.8, 31, 21, false, false ), + twinrx_gain_config_t( 14, -21.8, 31, 20, false, false ), + twinrx_gain_config_t( 15, -20.8, 31, 19, false, false ), + twinrx_gain_config_t( 16, -19.8, 31, 18, false, false ), + twinrx_gain_config_t( 17, -18.8, 31, 17, false, false ), + twinrx_gain_config_t( 18, -17.8, 31, 16, false, false ), + twinrx_gain_config_t( 19, -16.8, 31, 15, false, false ), + twinrx_gain_config_t( 20, -15.8, 31, 14, false, false ), + twinrx_gain_config_t( 21, -14.8, 31, 13, false, false ), + twinrx_gain_config_t( 22, -13.8, 31, 12, false, false ), + twinrx_gain_config_t( 23, -12.8, 31, 11, false, false ), + twinrx_gain_config_t( 24, -11.8, 31, 10, false, false ), + twinrx_gain_config_t( 25, -10.8, 31, 9, false, false ), + twinrx_gain_config_t( 26, -9.8, 31, 8, false, false ), + twinrx_gain_config_t( 27, -8.8, 31, 7, false, false ), + twinrx_gain_config_t( 28, -7.8, 31, 6, false, false ), + twinrx_gain_config_t( 29, -6.8, 31, 5, false, false ), + twinrx_gain_config_t( 30, -5.8, 31, 4, false, false ), + twinrx_gain_config_t( 31, -4.8, 31, 3, false, false ), + twinrx_gain_config_t( 32, -3.8, 31, 2, false, false ), + twinrx_gain_config_t( 33, -2.8, 31, 1, false, false ), + twinrx_gain_config_t( 34, -1.8, 31, 0, false, false ), + twinrx_gain_config_t( 35, -0.8, 30, 0, false, false ), + twinrx_gain_config_t( 36, 0.2, 29, 0, false, false ), + twinrx_gain_config_t( 37, 1.2, 28, 0, false, false ), + twinrx_gain_config_t( 38, 2.2, 27, 0, false, false ), + twinrx_gain_config_t( 39, 3.2, 26, 0, false, false ), + twinrx_gain_config_t( 40, 4.2, 25, 0, false, false ), + twinrx_gain_config_t( 41, 5.2, 24, 0, false, false ), + twinrx_gain_config_t( 42, 6.2, 23, 0, false, false ), + twinrx_gain_config_t( 43, 7.2, 22, 0, false, false ), + twinrx_gain_config_t( 44, 8.2, 21, 0, false, false ), + twinrx_gain_config_t( 45, 9.2, 20, 0, false, false ), + twinrx_gain_config_t( 46, 10.2, 19, 0, false, false ), + twinrx_gain_config_t( 47, 11.2, 18, 0, false, false ), + twinrx_gain_config_t( 48, 12.2, 17, 0, false, false ), + twinrx_gain_config_t( 49, 13.2, 16, 0, false, false ), + twinrx_gain_config_t( 50, 14.2, 15, 0, false, false ), + twinrx_gain_config_t( 51, 15.2, 14, 0, false, false ), + twinrx_gain_config_t( 52, 16.2, 13, 0, false, false ), + twinrx_gain_config_t( 53, 17.2, 12, 0, false, false ), + twinrx_gain_config_t( 54, 18.2, 11, 0, false, false ), + twinrx_gain_config_t( 55, 19.2, 10, 0, false, false ), + twinrx_gain_config_t( 56, 20.2, 9, 0, false, false ), + twinrx_gain_config_t( 57, 21.2, 8, 0, false, false ), + twinrx_gain_config_t( 58, 22.2, 7, 0, false, false ), + twinrx_gain_config_t( 59, 23.2, 6, 0, false, false ), + twinrx_gain_config_t( 60, 24.2, 5, 0, false, false ), + twinrx_gain_config_t( 61, 25.2, 4, 0, false, false ), + twinrx_gain_config_t( 62, 26.2, 3, 0, false, false ), + twinrx_gain_config_t( 63, 27.2, 2, 0, false, false ), + twinrx_gain_config_t( 64, 28.2, 1, 0, false, false ), + twinrx_gain_config_t( 65, 29.2, 0, 0, false, false ), + twinrx_gain_config_t( 66, 30.4, 4, 9, false, true ), + twinrx_gain_config_t( 67, 31.4, 3, 9, false, true ), + twinrx_gain_config_t( 68, 32.4, 2, 9, false, true ), + twinrx_gain_config_t( 69, 33.4, 1, 9, false, true ), + twinrx_gain_config_t( 70, 34.4, 0, 9, false, true ), + twinrx_gain_config_t( 71, 35.4, 8, 0, true, false ), + twinrx_gain_config_t( 72, 36.4, 7, 0, true, false ), + twinrx_gain_config_t( 73, 37.4, 6, 0, true, false ), + twinrx_gain_config_t( 74, 38.4, 5, 0, true, false ), + twinrx_gain_config_t( 75, 39.4, 4, 0, true, false ), + twinrx_gain_config_t( 76, 40.4, 3, 0, true, false ), + twinrx_gain_config_t( 77, 41.4, 2, 0, true, false ), + twinrx_gain_config_t( 78, 42.4, 1, 0, true, false ), + twinrx_gain_config_t( 79, 43.4, 0, 0, true, false ), + twinrx_gain_config_t( 80, 44.6, 4, 9, true, true ), + twinrx_gain_config_t( 81, 45.6, 4, 8, true, true ), + twinrx_gain_config_t( 82, 46.6, 3, 8, true, true ), + twinrx_gain_config_t( 83, 47.6, 2, 8, true, true ), + twinrx_gain_config_t( 84, 48.6, 1, 8, true, true ), + twinrx_gain_config_t( 85, 49.6, 1, 7, true, true ), + twinrx_gain_config_t( 86, 50.6, 0, 7, true, true ), + twinrx_gain_config_t( 87, 51.6, 0, 6, true, true ), + twinrx_gain_config_t( 88, 52.6, 0, 5, true, true ), + twinrx_gain_config_t( 89, 53.6, 0, 4, true, true ), + twinrx_gain_config_t( 90, 54.6, 0, 3, true, true ), + twinrx_gain_config_t( 91, 55.6, 0, 2, true, true ), + twinrx_gain_config_t( 92, 56.6, 0, 1, true, true ), + twinrx_gain_config_t( 93, 57.6, 0, 0, true, true ), +}; const twinrx_gain_table twinrx_gain_table::lookup_table ( diff --git a/host/lib/usrp/dboard_manager.cpp b/host/lib/usrp/dboard_manager.cpp index a59e7ad19..b920bfdf9 100644 --- a/host/lib/usrp/dboard_manager.cpp +++ b/host/lib/usrp/dboard_manager.cpp @@ -465,10 +465,10 @@ dboard_manager_impl::~dboard_manager_impl(void){UHD_SAFE_CALL( void dboard_manager_impl::set_nice_dboard_if(void){ //make a list of possible unit types - std::vector<dboard_iface::unit_t> units = boost::assign::list_of - (dboard_iface::UNIT_RX) - (dboard_iface::UNIT_TX) - ; + const std::vector<dboard_iface::unit_t> units{ + dboard_iface::UNIT_RX, + dboard_iface::UNIT_TX + }; //set nice settings on each unit for(dboard_iface::unit_t unit: units){ diff --git a/host/lib/usrp/gps_ctrl.cpp b/host/lib/usrp/gps_ctrl.cpp index f030108cc..67803bec6 100644 --- a/host/lib/usrp/gps_ctrl.cpp +++ b/host/lib/usrp/gps_ctrl.cpp @@ -11,8 +11,6 @@ #include <uhd/exception.hpp> #include <uhd/types/sensors.hpp> #include <boost/algorithm/string.hpp> -#include <boost/assign/list_of.hpp> -#include <stdint.h> #include <boost/thread/thread.hpp> #include <boost/tokenizer.hpp> #include <boost/format.hpp> @@ -24,6 +22,7 @@ #include <string> #include <thread> #include <chrono> +#include <stdint.h> using namespace uhd; using namespace boost::posix_time; @@ -137,7 +136,7 @@ private: return; } - const std::list<std::string> keys = boost::assign::list_of("GPGGA")("GPRMC")("SERVO"); + const std::list<std::string> keys{"GPGGA", "GPRMC", "SERVO"}; static const boost::regex servo_regex("^\\d\\d-\\d\\d-\\d\\d.*$"); static const boost::regex gp_msg_regex("^\\$GP.*,\\*[0-9A-F]{2}$"); std::map<std::string,std::string> msgs; @@ -266,13 +265,14 @@ public: //return a list of supported sensors std::vector<std::string> get_sensors(void) { - std::vector<std::string> ret = boost::assign::list_of - ("gps_gpgga") - ("gps_gprmc") - ("gps_time") - ("gps_locked") - ("gps_servo"); - return ret; + std::vector<std::string> ret{ + "gps_gpgga", + "gps_gprmc", + "gps_time", + "gps_locked", + "gps_servo" + }; + return ret; } uhd::sensor_value_t get_sensor(std::string key) { diff --git a/host/lib/usrp/gpsd_iface.cpp b/host/lib/usrp/gpsd_iface.cpp index 49880c8f7..6b47b6be5 100644 --- a/host/lib/usrp/gpsd_iface.cpp +++ b/host/lib/usrp/gpsd_iface.cpp @@ -6,12 +6,11 @@ // #include <cmath> +#include <stdint.h> #include <gps.h> -#include <boost/assign/list_of.hpp> #include <boost/bind.hpp> -#include <stdint.h> #include "boost/date_time/gregorian/gregorian.hpp" #include <boost/format.hpp> #include <boost/thread/shared_mutex.hpp> @@ -53,9 +52,13 @@ public: boost::thread t(boost::bind(&gpsd_iface_impl::_thread_fcn ,this)); _bthread.swap(t); - - _sensors = boost::assign::list_of<std::string>("gps_locked")("gps_time") \ - ("gps_position")("gps_gpgga")("gps_gprmc").to_container(_sensors); + _sensors = { + "gps_locked", + "gps_time", + "gps_position", + "gps_gpgga", + "gps_gprmc" + }; } virtual ~gpsd_iface_impl(void) diff --git a/host/lib/usrp/n230/n230_impl.cpp b/host/lib/usrp/n230/n230_impl.cpp index 0595ee29d..854585ae2 100644 --- a/host/lib/usrp/n230/n230_impl.cpp +++ b/host/lib/usrp/n230/n230_impl.cpp @@ -32,7 +32,6 @@ #include <boost/lexical_cast.hpp> #include <boost/bind.hpp> #include <boost/algorithm/string.hpp> -#include <boost/assign/list_of.hpp> #include <boost/asio/ip/address_v4.hpp> #include <boost/asio.hpp> //used for htonl and ntohl #include <boost/make_shared.hpp> @@ -342,7 +341,7 @@ void n230_impl::_initialize_property_tree(const fs_path& mb_path) .add_coerced_subscriber(boost::bind(&n230_impl::_check_time_source, this, _1)) .add_coerced_subscriber(boost::bind(&n230_clk_pps_ctrl::set_pps_source, _resource_mgr->get_clk_pps_ctrl_sptr(), _1)) .set(n230::DEFAULT_TIME_SRC); - static const std::vector<std::string> time_sources = boost::assign::list_of("none")("external")("gpsdo"); + const std::vector<std::string> time_sources{"none", "external", "gpsdo"}; _tree->create<std::vector<std::string> >(mb_path / "time_source" / "options") .set(time_sources); @@ -351,7 +350,7 @@ void n230_impl::_initialize_property_tree(const fs_path& mb_path) .add_coerced_subscriber(boost::bind(&n230_impl::_check_clock_source, this, _1)) .add_coerced_subscriber(boost::bind(&n230_clk_pps_ctrl::set_clock_source, _resource_mgr->get_clk_pps_ctrl_sptr(), _1)) .set(n230::DEFAULT_CLOCK_SRC); - static const std::vector<std::string> clock_sources = boost::assign::list_of("internal")("external")("gpsdo"); + const std::vector<std::string> clock_sources{"internal", "external", "gpsdo"}; _tree->create<std::vector<std::string> >(mb_path / "clock_source" / "options") .set(clock_sources); _tree->create<sensor_value_t>(mb_path / "sensors" / "ref_locked") @@ -524,8 +523,7 @@ void n230_impl::_initialize_radio_properties(const fs_path& mb_path, size_t inst .set_publisher(boost::bind(&tx_dsp_core_3000::get_freq_range, perif.duc)); //RF Frontend Interfacing - static const std::vector<direction_t> data_directions = boost::assign::list_of(RX_DIRECTION)(TX_DIRECTION); - for(direction_t direction: data_directions) { + for (direction_t direction : std::vector<direction_t>{RX_DIRECTION, TX_DIRECTION}) { const std::string dir_str = (direction == RX_DIRECTION) ? "rx" : "tx"; const std::string key = boost::to_upper_copy(dir_str) + str(boost::format("%u") % (instance + 1)); const fs_path rf_fe_path = mb_path / "dboards" / "A" / (dir_str + "_frontends") / ((instance==0)?"A":"B"); @@ -539,17 +537,15 @@ void n230_impl::_initialize_radio_properties(const fs_path& mb_path, size_t inst //Setup antenna stuff if (key[0] == 'R') { - static const std::vector<std::string> ants = boost::assign::list_of("TX/RX")("RX2"); _tree->create<std::vector<std::string> >(rf_fe_path / "antenna" / "options") - .set(ants); + .set({"TX/RX", "RX2"}); _tree->create<std::string>(rf_fe_path / "antenna" / "value") .add_coerced_subscriber(boost::bind(&n230_frontend_ctrl::set_antenna_sel, _resource_mgr->get_frontend_ctrl_sptr(), instance, _1)) .set("RX2"); } if (key[0] == 'T') { - static const std::vector<std::string> ants(1, "TX/RX"); _tree->create<std::vector<std::string> >(rf_fe_path / "antenna" / "options") - .set(ants); + .set({"TX/RX"}); _tree->create<std::string>(rf_fe_path / "antenna" / "value") .set("TX/RX"); } diff --git a/host/lib/usrp/usrp1/usrp1_impl.cpp b/host/lib/usrp/usrp1/usrp1_impl.cpp index 9dee15049..2bd573652 100644 --- a/host/lib/usrp/usrp1/usrp1_impl.cpp +++ b/host/lib/usrp/usrp1/usrp1_impl.cpp @@ -15,7 +15,6 @@ #include <uhd/utils/static.hpp> #include <uhd/utils/paths.hpp> #include <boost/format.hpp> -#include <boost/assign/list_of.hpp> #include <boost/filesystem.hpp> #include <boost/thread/thread.hpp> #include <boost/lexical_cast.hpp> @@ -30,9 +29,10 @@ const uint16_t USRP1_VENDOR_ID = 0xfffe; const uint16_t USRP1_PRODUCT_ID = 0x0002; static const boost::posix_time::milliseconds REENUMERATION_TIMEOUT_MS(3000); -const std::vector<usrp1_impl::dboard_slot_t> usrp1_impl::_dboard_slots = boost::assign::list_of - (usrp1_impl::DBOARD_SLOT_A)(usrp1_impl::DBOARD_SLOT_B) -; +const std::vector<usrp1_impl::dboard_slot_t> usrp1_impl::_dboard_slots{ + usrp1_impl::DBOARD_SLOT_A, + usrp1_impl::DBOARD_SLOT_B +}; /*********************************************************************** * Discovery diff --git a/host/lib/usrp/usrp2/usrp2_impl.cpp b/host/lib/usrp/usrp2/usrp2_impl.cpp index d6ab11969..1be4c7339 100644 --- a/host/lib/usrp/usrp2/usrp2_impl.cpp +++ b/host/lib/usrp/usrp2/usrp2_impl.cpp @@ -19,7 +19,6 @@ #include <uhd/utils/safe_call.hpp> #include <boost/format.hpp> #include <boost/bind.hpp> -#include <boost/assign/list_of.hpp> #include <boost/asio/ip/address_v4.hpp> #include <boost/asio.hpp> //used for htonl and ntohl #include <boost/thread.hpp> @@ -699,9 +698,12 @@ usrp2_impl::usrp2_impl(const device_addr_t &_device_addr) : _tree->create<std::string>(mb_path / "clock_source/value") .add_coerced_subscriber(boost::bind(&usrp2_impl::update_clock_source, this, mb, _1)) .set("internal"); - std::vector<std::string> clock_sources = boost::assign::list_of("internal")("external")("mimo"); - if (_mbc[mb].gps and _mbc[mb].gps->gps_detected()) clock_sources.push_back("gpsdo"); - _tree->create<std::vector<std::string> >(mb_path / "clock_source/options").set(clock_sources); + std::vector<std::string> clock_sources{"internal", "external", "mimo"}; + if (_mbc[mb].gps and _mbc[mb].gps->gps_detected()) { + clock_sources.push_back("gpsdo"); + } + _tree->create<std::vector<std::string>>(mb_path / "clock_source/options") + .set(clock_sources); //plug timed commands into tree here switch(_mbc[mb].iface->get_rev()){ case usrp2_iface::USRP_N200: diff --git a/host/lib/usrp/x300/x300_radio_ctrl_impl.cpp b/host/lib/usrp/x300/x300_radio_ctrl_impl.cpp index cf1d9d7c2..453522249 100644 --- a/host/lib/usrp/x300/x300_radio_ctrl_impl.cpp +++ b/host/lib/usrp/x300/x300_radio_ctrl_impl.cpp @@ -18,7 +18,6 @@ #include <boost/algorithm/string.hpp> #include <boost/make_shared.hpp> #include <boost/date_time/posix_time/posix_time_io.hpp> -#include <boost/assign/list_of.hpp> #include <chrono> #include <thread> @@ -547,7 +546,7 @@ double x300_radio_ctrl_impl::get_output_samp_rate(size_t chan) std::vector<std::string> x300_radio_ctrl_impl::get_gpio_banks() const { - std::vector<std::string> banks = boost::assign::list_of("RX")("TX"); + std::vector<std::string> banks{"RX", "TX"}; // These pairs are the same, but RXA/TXA are from pre-rfnoc era and are kept for backward compat: banks.push_back("RX"+_radio_slot); banks.push_back("TX"+_radio_slot); @@ -626,10 +625,16 @@ void x300_radio_ctrl_impl::setup_radio( static const size_t RX_EEPROM_ADDR = 0x5; static const size_t TX_EEPROM_ADDR = 0x4; static const size_t GDB_EEPROM_ADDR = 0x1; - const static std::vector<size_t> EEPROM_ADDRS = - boost::assign::list_of(RX_EEPROM_ADDR)(TX_EEPROM_ADDR)(GDB_EEPROM_ADDR); - const static std::vector<std::string> EEPROM_PATHS = - boost::assign::list_of("rx_eeprom")("tx_eeprom")("gdb_eeprom"); + const static std::vector<size_t> EEPROM_ADDRS{ + RX_EEPROM_ADDR, + TX_EEPROM_ADDR, + GDB_EEPROM_ADDR + }; + const static std::vector<std::string> EEPROM_PATHS{ + "rx_eeprom", + "tx_eeprom", + "gdb_eeprom" + }; const size_t DB_OFFSET = (_radio_slot == "A") ? 0x0 : 0x2; const fs_path db_path = ("dboards" / _radio_slot); |