1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
#
# Copyright 2017 Ettus Research, a National Instruments Company
#
# SPDX-License-Identifier: GPL-3.0-or-later
#
"""
MPM types
"""
import ctypes
from multiprocessing import Value
from multiprocessing import Array
from multiprocessing import RLock
MPM_RPC_PORT = 49601
MPM_DISCOVERY_PORT = 49600
MPM_DISCOVERY_MESSAGE = "MPM-DISC"
# pylint: disable=too-few-public-methods
class SharedState:
"""
Holds information which should be shared between processes.
"""
def __init__(self):
self.lock = RLock()
self.claim_status = Value(ctypes.c_bool, False, lock=self.lock)
self.system_ready = Value(ctypes.c_bool, False, lock=self.lock)
# String with max length of 256:
self.claim_token = Array(ctypes.c_char, 256, lock=self.lock)
self.dev_type = Array(ctypes.c_char, 16, lock=self.lock)
self.dev_serial = Array(ctypes.c_char, 8, lock=self.lock)
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)
|