diff options
author | Martin Braun <martin.braun@ettus.com> | 2017-12-14 16:20:58 -0800 |
---|---|---|
committer | Martin Braun <martin.braun@ettus.com> | 2017-12-22 15:06:11 -0800 |
commit | 9e5fb0c49f7911e0e9f6e9390e81d9465304cfeb (patch) | |
tree | c54c9292f3d0b008b4e7c36ee1faa1f5f8833e68 /host/lib/usrp/dboard/magnesium/magnesium_radio_ctrl_cpld.cpp | |
parent | 3ee587672022ed9b7093b22d25bc8e2a4432f618 (diff) | |
download | uhd-9e5fb0c49f7911e0e9f6e9390e81d9465304cfeb.tar.gz uhd-9e5fb0c49f7911e0e9f6e9390e81d9465304cfeb.tar.bz2 uhd-9e5fb0c49f7911e0e9f6e9390e81d9465304cfeb.zip |
mg: Add 'identify' block arg, will toggle LEDs for identification
Diffstat (limited to 'host/lib/usrp/dboard/magnesium/magnesium_radio_ctrl_cpld.cpp')
-rw-r--r-- | host/lib/usrp/dboard/magnesium/magnesium_radio_ctrl_cpld.cpp | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/host/lib/usrp/dboard/magnesium/magnesium_radio_ctrl_cpld.cpp b/host/lib/usrp/dboard/magnesium/magnesium_radio_ctrl_cpld.cpp index d1ef730b7..fd92500b0 100644 --- a/host/lib/usrp/dboard/magnesium/magnesium_radio_ctrl_cpld.cpp +++ b/host/lib/usrp/dboard/magnesium/magnesium_radio_ctrl_cpld.cpp @@ -40,6 +40,35 @@ using namespace uhd; using namespace uhd::usrp; using namespace uhd::rfnoc; using namespace uhd::math::fp_compare; + +void magnesium_radio_ctrl_impl::_identify_with_leds( + const int identify_duration +) { + auto end_time = std::chrono::steady_clock::now() + + std::chrono::seconds(identify_duration); + bool led_state = true; + while (std::chrono::steady_clock::now() < end_time) { + _cpld->set_tx_atr_bits( + magnesium_cpld_ctrl::BOTH, + magnesium_cpld_ctrl::ANY, + led_state, + false, + false, + true + ); + _cpld->set_rx_input_atr_bits( + magnesium_cpld_ctrl::BOTH, + magnesium_cpld_ctrl::ANY, + magnesium_cpld_ctrl::RX_SW1_TXRXINPUT, /* whatever */ + led_state, + led_state + ); + led_state = !led_state; + std::this_thread::sleep_for(std::chrono::milliseconds(500)); + } + _cpld->reset(); +} + void magnesium_radio_ctrl_impl::_update_atr_switches( const magnesium_cpld_ctrl::chan_sel_t chan, const direction_t dir, |