diff --git a/mpm/python/usrp_mpm/discovery.py b/mpm/python/usrp_mpm/discovery.py index b6631a7b9..3961e37c0 100644 --- a/mpm/python/usrp_mpm/discovery.py +++ b/mpm/python/usrp_mpm/discovery.py @@ -60,6 +60,7 @@ def _discovery_process(state, discovery_addr): + [b"serial=" + state.dev_serial.value] + [b"name=" + state.dev_name.value] + [b"fpga=" + state.dev_fpga_type.value] + + [b"customizable_fpga=" + state.dev_customizable_fpga.value] + [b"rpc_version=" + RPC_VERSION] + [RESPONSE_CLAIMED_KEY + to_binary_str("={}".format(state.claim_status.value))] ) diff --git a/mpm/python/usrp_mpm/mpmtypes.py b/mpm/python/usrp_mpm/mpmtypes.py index 2c1a7320d..d6b06acee 100644 --- a/mpm/python/usrp_mpm/mpmtypes.py +++ b/mpm/python/usrp_mpm/mpmtypes.py @@ -32,3 +32,4 @@ class SharedState: self.dev_name = Array(ctypes.c_char, 21, lock=self.lock) self.dev_product = Array(ctypes.c_char, 16, lock=self.lock) self.dev_fpga_type = Array(ctypes.c_char, 8, lock=self.lock) + self.dev_customizable_fpga = Array(ctypes.c_char, 8, lock=self.lock) diff --git a/mpm/python/usrp_mpm/rpc_server.py b/mpm/python/usrp_mpm/rpc_server.py index 58a5401b1..afbcf4e94 100644 --- a/mpm/python/usrp_mpm/rpc_server.py +++ b/mpm/python/usrp_mpm/rpc_server.py @@ -13,7 +13,7 @@ import traceback import weakref from concurrent import futures from contextlib import contextmanager -from multiprocessing import current_process, Process, RLock +from multiprocessing import Process, RLock, current_process from random import choice from string import ascii_letters, digits @@ -184,6 +184,9 @@ class MPMServer(mpm_server_pb2_grpc.MpmServerServiceServicer): self._state.dev_serial.value = to_binary_str(device_info.get("serial", "n/a")) self._state.dev_name.value = to_binary_str(device_info.get("name", "n/a")) self._state.dev_fpga_type.value = to_binary_str(device_info.get("fpga", "n/a")) + self._state.dev_customizable_fpga.value = to_binary_str( + str(device_info.get("customizable_fpga", "n/a")) + ) self._db_methods = [] self._mb_methods = [] self._server_methods = [] @@ -956,6 +959,8 @@ class MPMServer(mpm_server_pb2_grpc.MpmServerServiceServicer): raise RuntimeError(err_msg) info = self.periph_manager.get_device_info() info["mpm_version"] = "{}.{}".format(*MPM_COMPAT_NUM) + if "customizable_fpga" in info: + info["customizable_fpga"] = str(info["customizable_fpga"]) if _is_connection_local(self.client_host): info["connection"] = "local" else: