From 0da3eefcc332fffea0b229a9d2bceeb1643e8ec3 Mon Sep 17 00:00:00 2001 From: Martin Braun Date: Tue, 16 Jan 2018 13:10:37 -0800 Subject: mpm/mpmd: Report device state using get_init_status() and verify When trying to run init(), mpmd will first query the initialization status of the MPM device. If it is found to be in a bad state, it will not go forward with initialization, but instead print the error message. --- host/lib/usrp/mpmd/mpmd_mboard_impl.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'host/lib/usrp/mpmd') diff --git a/host/lib/usrp/mpmd/mpmd_mboard_impl.cpp b/host/lib/usrp/mpmd/mpmd_mboard_impl.cpp index bd792ce59..274e2d370 100644 --- a/host/lib/usrp/mpmd/mpmd_mboard_impl.cpp +++ b/host/lib/usrp/mpmd/mpmd_mboard_impl.cpp @@ -37,6 +37,15 @@ namespace { uhd::rpc_client::sptr rpc, const uhd::device_addr_t mb_args ) { + auto init_status = + rpc->request_with_token>( + "get_init_status"); + if (init_status[0] != "true") { + throw uhd::runtime_error( + std::string("Device is in bad state: ") + init_status[1] + ); + } + // TODO maybe put this somewhere else? const std::set key_blacklist{ "serial", "claimed", "type", "rev", "addr" -- cgit v1.2.3