From eb1f2ebfe1c042228ac21bb0c374cf4ab58f7a4a Mon Sep 17 00:00:00 2001 From: "Travis F. Collins" Date: Tue, 9 Jan 2024 16:01:30 -0700 Subject: [PATCH 1/2] Reset static behavior of AD908* classes in constructor Signed-off-by: Travis F. Collins --- adi/ad9081.py | 13 ++++++++++--- adi/ad9081_mc.py | 12 +++++++++--- adi/ad9084.py | 14 +++++++++++--- adi/ad9084_mc.py | 12 +++++++++--- 4 files changed, 39 insertions(+), 12 deletions(-) diff --git a/adi/ad9081.py b/adi/ad9081.py index c844c8eb7..a9bed2afa 100644 --- a/adi/ad9081.py +++ b/adi/ad9081.py @@ -64,13 +64,20 @@ class ad9081(rx_tx, context_manager, sync_start): _dds_channel_names: List[str] = [] _device_name = "" - _rx_attr_only_channel_names: List[str] = [] - _tx_attr_only_channel_names: List[str] = [] - _path_map: Dict[str, Dict[str, Dict[str, List[str]]]] = {} def __init__(self, uri=""): + # Reset default channel names + self._rx_channel_names = [] + self._tx_channel_names = [] + self._tx_control_channel_names = [] + self._rx_coarse_ddc_channel_names = [] + self._tx_coarse_duc_channel_names = [] + self._rx_fine_ddc_channel_names = [] + self._tx_fine_duc_channel_names = [] + self._dds_channel_names = [] + context_manager.__init__(self, uri, self._device_name) # Default device for attribute writes self._ctrl = self._ctx.find_device("axi-ad9081-rx-hpc") diff --git a/adi/ad9081_mc.py b/adi/ad9081_mc.py index 1b804982b..6a6e0486f 100644 --- a/adi/ad9081_mc.py +++ b/adi/ad9081_mc.py @@ -96,14 +96,20 @@ class ad9081_mc(ad9081): _dds_channel_names: List[str] = [] _device_name = "" - _rx_attr_only_channel_names: List[str] = [] - _tx_attr_only_channel_names: List[str] = [] - _path_map: Dict[str, Dict[str, Dict[str, List[str]]]] = {} def __init__(self, uri="", phy_dev_name=""): + # Reset channel names self._rx_channel_names: List[str] = [] + self._tx_channel_names: List[str] = [] + self._tx_control_channel_names: List[str] = [] + self._rx_coarse_ddc_channel_names: List[str] = [] + self._tx_coarse_duc_channel_names: List[str] = [] + self._rx_fine_ddc_channel_names: List[str] = [] + self._tx_fine_duc_channel_names: List[str] = [] + self._dds_channel_names: List[str] = [] + context_manager.__init__(self, uri, self._device_name) if not phy_dev_name: diff --git a/adi/ad9084.py b/adi/ad9084.py index 409e7444e..4f48d97ce 100644 --- a/adi/ad9084.py +++ b/adi/ad9084.py @@ -68,12 +68,20 @@ class ad9084(rx_tx, context_manager, sync_start): _dds_channel_names: List[str] = [] _device_name = "" - _rx_attr_only_channel_names: List[str] = [] - _tx_attr_only_channel_names: List[str] = [] - _path_map: Dict[str, Dict[str, Dict[str, List[str]]]] = {} def __init__(self, uri=""): + + # Reset default channel lists + self._rx_channel_names = [] + self._tx_channel_names = [] + self._tx_control_channel_names = [] + self._rx_coarse_ddc_channel_names = [] + self._tx_coarse_duc_channel_names = [] + self._rx_fine_ddc_channel_names = [] + self._tx_fine_duc_channel_names = [] + self._dds_channel_names = [] + context_manager.__init__(self, uri, self._device_name) # Default device for attribute writes self._ctrl = self._ctx.find_device("axi-ad9084-rx-hpc") diff --git a/adi/ad9084_mc.py b/adi/ad9084_mc.py index f5f905c98..48cd217e6 100644 --- a/adi/ad9084_mc.py +++ b/adi/ad9084_mc.py @@ -99,14 +99,20 @@ class ad9084_mc(ad9084): _dds_channel_names: List[str] = [] _device_name = "" - _rx_attr_only_channel_names: List[str] = [] - _tx_attr_only_channel_names: List[str] = [] - _path_map: Dict[str, Dict[str, Dict[str, List[str]]]] = {} def __init__(self, uri="", phy_dev_name=""): + # Reset class variables + self._tx_channel_names: List[str] = [] + self._tx_control_channel_names: List[str] = [] + self._rx_coarse_ddc_channel_names: List[str] = [] + self._tx_coarse_duc_channel_names: List[str] = [] + self._rx_fine_ddc_channel_names: List[str] = [] + self._tx_fine_duc_channel_names: List[str] = [] + self._dds_channel_names: List[str] = [] self._rx_channel_names: List[str] = [] + context_manager.__init__(self, uri, self._device_name) if not phy_dev_name: From 32d5947ddbe9af35bcbada63e0ceaffdccb02c55 Mon Sep 17 00:00:00 2001 From: "Travis F. Collins" Date: Tue, 9 Jan 2024 16:05:32 -0700 Subject: [PATCH 2/2] Minor cleanup core classes Signed-off-by: Travis F. Collins --- adi/rx_tx.py | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/adi/rx_tx.py b/adi/rx_tx.py index e931a9838..5c1c59d67 100644 --- a/adi/rx_tx.py +++ b/adi/rx_tx.py @@ -53,10 +53,7 @@ class rx_core(rx_tx_common, metaclass=ABCMeta): _rx_stack_interleaved = True # Convert from channel to sample interleaved def __init__(self, rx_buffer_size=1024): - if self._complex_data: - N = 2 - else: - N = 1 + N = 2 if self._complex_data else 1 rx_enabled_channels = list(range(len(self._rx_channel_names) // N)) self._num_rx_channels = len(self._rx_channel_names) self.rx_enabled_channels = rx_enabled_channels @@ -282,10 +279,7 @@ class tx_core(dds, rx_tx_common, metaclass=ABCMeta): _tx_cyclic_buffer = False def __init__(self, tx_cyclic_buffer=False): - if self._complex_data: - N = 2 - else: - N = 1 + N = 2 if self._complex_data else 1 tx_enabled_channels = list(range(len(self._tx_channel_names) // N)) self._num_tx_channels = len(self._tx_channel_names) self.tx_enabled_channels = tx_enabled_channels