mpm: expose customizable_fpga flag

This commit is contained in:
Jörg Hofrichter 2026-06-01 15:39:57 +02:00 committed by mkoop-ni
parent 4bf18365d8
commit eb21a19deb
3 changed files with 8 additions and 1 deletions

View File

@ -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))]
)

View File

@ -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)

View File

@ -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: