aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/usrp/dboard/rhodium/rhodium_radio_ctrl_init.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'host/lib/usrp/dboard/rhodium/rhodium_radio_ctrl_init.cpp')
-rw-r--r--host/lib/usrp/dboard/rhodium/rhodium_radio_ctrl_init.cpp44
1 files changed, 44 insertions, 0 deletions
diff --git a/host/lib/usrp/dboard/rhodium/rhodium_radio_ctrl_init.cpp b/host/lib/usrp/dboard/rhodium/rhodium_radio_ctrl_init.cpp
index 28e5eb3a6..198691e17 100644
--- a/host/lib/usrp/dboard/rhodium/rhodium_radio_ctrl_init.cpp
+++ b/host/lib/usrp/dboard/rhodium/rhodium_radio_ctrl_init.cpp
@@ -577,6 +577,28 @@ void rhodium_radio_ctrl_impl::_init_frontend_subtree(
.add_coerced_subscriber([this,chan_idx](bool enabled){
this->set_rx_lo_export_enabled(enabled, RHODIUM_LO2, chan_idx);
});
+ //RX ALL LOs
+ subtree->create<std::string>(rx_fe_path / "los" / ALL_LOS / "source/value")
+ .add_coerced_subscriber([this,chan_idx](std::string src) {
+ this->set_rx_lo_source(src, ALL_LOS, chan_idx);
+ })
+ .set_publisher([this,chan_idx]() {
+ return this->get_rx_lo_source(ALL_LOS, chan_idx);
+ })
+ ;
+ subtree->create<std::vector<std::string>>(rx_fe_path / "los" / ALL_LOS / "source/options")
+ .set_publisher([this, chan_idx]() {
+ return this->get_rx_lo_sources(ALL_LOS, chan_idx);
+ })
+ ;
+ subtree->create<bool>(rx_fe_path / "los" / ALL_LOS / "export")
+ .add_coerced_subscriber([this,chan_idx](bool enabled){
+ this->set_rx_lo_export_enabled(enabled, ALL_LOS, chan_idx);
+ })
+ .set_publisher([this,chan_idx](){
+ return this->get_rx_lo_export_enabled(ALL_LOS, chan_idx);
+ })
+ ;
//TX LO
//TX LO1 Frequency
subtree->create<double>(tx_fe_path / "los"/RHODIUM_LO1/"freq/value ")
@@ -680,6 +702,28 @@ void rhodium_radio_ctrl_impl::_init_frontend_subtree(
this->set_tx_lo_export_enabled(enabled, RHODIUM_LO2, chan_idx);
})
;
+ //TX ALL LOs
+ subtree->create<std::string>(tx_fe_path / "los" / ALL_LOS / "source/value")
+ .add_coerced_subscriber([this,chan_idx](std::string src) {
+ this->set_tx_lo_source(src, ALL_LOS, chan_idx);
+ })
+ .set_publisher([this,chan_idx]() {
+ return this->get_tx_lo_source(ALL_LOS, chan_idx);
+ })
+ ;
+ subtree->create<std::vector<std::string>>(tx_fe_path / "los" / ALL_LOS / "source/options")
+ .set_publisher([this, chan_idx]() {
+ return this->get_tx_lo_sources(ALL_LOS, chan_idx);
+ })
+ ;
+ subtree->create<bool>(tx_fe_path / "los" / ALL_LOS / "export")
+ .add_coerced_subscriber([this,chan_idx](bool enabled){
+ this->set_tx_lo_export_enabled(enabled, ALL_LOS, chan_idx);
+ })
+ .set_publisher([this,chan_idx](){
+ return this->get_tx_lo_export_enabled(ALL_LOS, chan_idx);
+ })
+ ;
//LO Distribution Output Ports
if (_lo_dist_present) {