From cea45dda8f7d7918930a6b1150913390d4480037 Mon Sep 17 00:00:00 2001 From: Martin Braun Date: Mon, 9 Oct 2017 17:44:02 -0700 Subject: mpm: Add mboard EEPROM support MPMD binds a property for the mboard EEPROM to the appropriate RPC calls. PeriphManager now provides default implementations for an mboard EEPROM. --- host/lib/usrp/mpmd/mpmd_impl.cpp | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) (limited to 'host/lib/usrp/mpmd') diff --git a/host/lib/usrp/mpmd/mpmd_impl.cpp b/host/lib/usrp/mpmd/mpmd_impl.cpp index 1b22ed294..965ede6f5 100644 --- a/host/lib/usrp/mpmd/mpmd_impl.cpp +++ b/host/lib/usrp/mpmd/mpmd_impl.cpp @@ -26,6 +26,8 @@ #include #include #include +#include +#include #include #include #include @@ -128,6 +130,27 @@ namespace { }) ; } + + /*** EEPROM *********************************************************/ + tree->create(mb_path / "eeprom") + .add_coerced_subscriber([mb](const uhd::usrp::mboard_eeprom_t& mb_eeprom){ + eeprom_map_t eeprom_map; + for (const auto& key : mb_eeprom.keys()) { + eeprom_map[key] = mb_eeprom[key]; + } + mb->rpc->notify_with_token("set_mb_eeprom", eeprom_map); + }) + .set_publisher([mb](){ + auto mb_eeprom = + mb->rpc->request_with_token>( + "get_mb_eeprom" + ); + uhd::usrp::mboard_eeprom_t mb_eeprom_dict( + mb_eeprom.cbegin(), mb_eeprom.cend() + ); + return mb_eeprom_dict; + }) + ; } void reset_time_synchronized(uhd::property_tree::sptr tree) @@ -284,8 +307,6 @@ mpmd_mboard_impl::uptr mpmd_impl::setup_mb( // query more information about FPGA/MPM - // Call init on periph_manager, this will init the dboards/mboard, maybe - // even selfcal and everything // Query time/clock sources on mboards/dboards // Throw rpc calls with boost bind into the property tree? -- cgit v1.2.3