From 5b3a0f6776ceeb02c9c850da465dfebef03fdbe0 Mon Sep 17 00:00:00 2001 From: Trisha De Vera Date: Thu, 5 Oct 2023 14:04:48 +0800 Subject: [PATCH] Fix lint Signed-off-by: Trisha De Vera --- adi/ad937x.py | 242 +++++++++++++++++--------------------------- examples/ad9375.py | 34 +++---- test/attr_tests.py | 6 +- test/common.py | 6 +- test/test_ad9375.py | 145 ++++++++++++++------------ 5 files changed, 195 insertions(+), 238 deletions(-) diff --git a/adi/ad937x.py b/adi/ad937x.py index d811a321d..651ee5c56 100644 --- a/adi/ad937x.py +++ b/adi/ad937x.py @@ -331,50 +331,32 @@ class ad9375(ad9371): @property def tx_clgc_tracking_en_chan0(self): """Enable CLGC tracking for channel 0""" - if self._get_iio_attr("voltage0", "clgc_tracking_en", True) == 1: - return True - elif self._get_iio_attr("voltage0", "clgc_tracking_en", True) == 0: - return False - return + return self._get_iio_attr("voltage0", "clgc_tracking_en", True) @tx_clgc_tracking_en_chan0.setter def tx_clgc_tracking_en_chan0(self, value): - if value == True or value == False: - if value == True: - value = 1 - elif value == False: - value = 0 - self._set_iio_attr("voltage0", "clgc_tracking_en", True, value) + self._set_iio_attr("voltage0", "clgc_tracking_en", True, value) @property def tx_clgc_tracking_en_chan1(self): """Enable CLGC tracking for channel 1""" - if self._get_iio_attr("voltage1", "clgc_tracking_en", True) == 1: - return True - elif self._get_iio_attr("voltage1", "clgc_tracking_en", True) == 0: - return False - return + return self._get_iio_attr("voltage1", "clgc_tracking_en", True) @tx_clgc_tracking_en_chan1.setter def tx_clgc_tracking_en_chan1(self, value): - if value == True or value == False: - if value == True: - value = 1 - elif value == False: - value = 0 - self._set_iio_attr("voltage1", "clgc_tracking_en", True, value) + self._set_iio_attr("voltage1", "clgc_tracking_en", True, value) @property def tx_clgc_current_gain_chan0(self): if self.tx_clgc_tracking_en_chan0 == 1: - """tx_clgc_current_gain: Current measured gain in 1/100ths dB scale in channel 0. + """tx_clgc_current_gain: Current measured gain in 1/100ths dB scale in channel 0. Current GaindB = currentGain/100""" return self._get_iio_attr("voltage0", "clgc_current_gain", True) return @property def tx_clgc_current_gain_chan1(self): - """tx_clgc_current_gain: Current measured gain in 1/100ths dB scale in channel 1. + """tx_clgc_current_gain: Current measured gain in 1/100ths dB scale in channel 1. Current GaindB = currentGain/100""" if self.tx_clgc_tracking_en_chan1 == 1: return self._get_iio_attr("voltage1", "clgc_current_gain", True) @@ -382,7 +364,7 @@ def tx_clgc_current_gain_chan1(self): @property def tx_clgc_desired_gain_chan0(self): - """tx_clgc_desired_gain: Desired gain from channel 0 output to orx input. + """tx_clgc_desired_gain: Desired gain from channel 0 output to orx input. Desired_gain (dB) = Desired_gain/100""" if self.tx_clgc_tracking_en_chan0 == 1: return self._get_iio_attr("voltage0", "clgc_desired_gain", True) / 100 @@ -395,7 +377,7 @@ def tx_clgc_desired_gain_chan0(self, value): @property def tx_clgc_desired_gain_chan1(self): - """tx_clgc_desired_gain: Desired gain from channel 1 output to orx input. + """tx_clgc_desired_gain: Desired gain from channel 1 output to orx input. Desired_gain (dB) = Desired_gain/100""" if self.tx_clgc_tracking_en_chan1 == 1: return self._get_iio_attr("voltage1", "clgc_desired_gain", True) / 100 @@ -408,7 +390,7 @@ def tx_clgc_desired_gain_chan1(self, value): @property def tx_clgc_orx_rms_chan0(self): - """tx_clgc_orx_rms: RMS orx digital sample power measured in the DPD block on the orx side is returned + """tx_clgc_orx_rms: RMS orx digital sample power measured in the DPD block on the orx side is returned with measurement resolution of 0.01 dB for channel 0. Prms dBFs = orxRMS/100""" if self.tx_clgc_tracking_en_chan0 == 1: return self._get_iio_attr("voltage0", "clgc_orx_rms", True) / 100 @@ -416,7 +398,7 @@ def tx_clgc_orx_rms_chan0(self): @property def tx_clgc_track_count_chan0(self): - """tx_clgc_track_count: The control reads back the number of times the CLGC has successfully run since + """tx_clgc_track_count: The control reads back the number of times the CLGC has successfully run since CLGC initialization calibration for channel 0""" if self.tx_clgc_tracking_en_chan0 == 1: return self._get_iio_attr("voltage0", "clgc_track_count", True) @@ -424,7 +406,7 @@ def tx_clgc_track_count_chan0(self): @property def tx_clgc_track_count_chan1(self): - """tx_clgc_track_count: The control reads back the number of times the CLGC has successfully run since + """tx_clgc_track_count: The control reads back the number of times the CLGC has successfully run since CLGC initialization calibration for channel 1""" if self.tx_clgc_tracking_en_chan1 == 1: return self._get_iio_attr("voltage1", "clgc_track_count", True) @@ -432,7 +414,7 @@ def tx_clgc_track_count_chan1(self): @property def tx_clgc_tx_gain_chan0(self): - """tx_clgc_tx_gain: It controls the current channel 0 attenuation for a channel in 0.05 dB resolution. + """tx_clgc_tx_gain: It controls the current channel 0 attenuation for a channel in 0.05 dB resolution. Tx_Attenuation(dB) = Tx_gain/200""" if self.tx_clgc_tracking_en_chan0 == 1: return self._get_iio_attr("voltage0", "clgc_tx_gain", True) * 0.05 @@ -447,7 +429,7 @@ def tx_clgc_tx_gain_chan1(self): @property def tx_clgc_tx_rms_chan0(self): - """tx_clgc_tx_rms: The controls returns the RMS channel 0 digital sample power measured at DPD actuator output + """tx_clgc_tx_rms: The controls returns the RMS channel 0 digital sample power measured at DPD actuator output with measurement resolution of 0.01 dB. Prms dBFs = txRMS/100""" if self.tx_clgc_tracking_en_chan0 == 1: return self._get_iio_attr("voltage0", "clgc_tx_rms", True) / 100 @@ -455,7 +437,7 @@ def tx_clgc_tx_rms_chan0(self): @property def tx_clgc_tx_rms_chan1(self): - """tx_clgc_tx_rms: The controls returns the RMS channel 1 digital sample power measured at DPD actuator output + """tx_clgc_tx_rms: The controls returns the RMS channel 1 digital sample power measured at DPD actuator output with measurement resolution of 0.01 dB. Prms dBFs = txRMS/100""" if self.tx_clgc_tracking_en_chan1 == 1: return self._get_iio_attr("voltage1", "clgc_tx_rms", True) / 100 @@ -464,78 +446,42 @@ def tx_clgc_tx_rms_chan1(self): @property def tx_dpd_actuator_en_chan0(self): """Enable DPD actuator for channel 0""" - if self._get_iio_attr("voltage0", "dpd_actuator_en", True) == 1: - return True - elif self._get_iio_attr("voltage0", "dpd_actuator_en", True) == 0: - return False - return + return self._get_iio_attr("voltage0", "dpd_actuator_en", True) @tx_dpd_actuator_en_chan0.setter def tx_dpd_actuator_en_chan0(self, value): - if value == True or value == False: - if value == True: - value = 1 - elif value == False: - value = 0 - self._set_iio_attr("voltage0", "dpd_actuator_en", True, value) + self._set_iio_attr("voltage0", "dpd_actuator_en", True, value) @property def tx_dpd_actuator_en_chan1(self): """Enable DPD actuator for channel 1""" - if self._get_iio_attr("voltage1", "dpd_actuator_en", True) == 1: - return True - elif self._get_iio_attr("voltage1", "dpd_actuator_en", True) == 0: - return False - return + return self._get_iio_attr("voltage1", "dpd_actuator_en", True) @tx_dpd_actuator_en_chan1.setter def tx_dpd_actuator_en_chan1(self, value): - if value == True or value == False: - if value == True: - value = 1 - elif value == False: - value = 0 - self._set_iio_attr("voltage1", "dpd_actuator_en", True, value) + self._set_iio_attr("voltage1", "dpd_actuator_en", True, value) @property def tx_dpd_tracking_en_chan0(self): """Enable DPD tracking for channel 0""" - if self._get_iio_attr("voltage0", "dpd_tracking_en", True) == 1: - return True - elif self._get_iio_attr("voltage0", "dpd_tracking_en", True) == 0: - return False - return + return self._get_iio_attr("voltage0", "dpd_tracking_en", True) @tx_dpd_tracking_en_chan0.setter def tx_dpd_tracking_en_chan0(self, value): - if value == True or value == False: - if value == True: - value = 1 - elif value == False: - value = 0 - self._set_iio_attr("voltage0", "dpd_tracking_en", True, value) + self._set_iio_attr("voltage0", "dpd_tracking_en", True, value) @property def tx_dpd_tracking_en_chan1(self): """Enable DPD tracking for channel 1""" - if self._get_iio_attr("voltage1", "dpd_tracking_en", True) == 1: - return True - elif self._get_iio_attr("voltage1", "dpd_tracking_en", True) == 0: - return False - return + return self._get_iio_attr("voltage1", "dpd_tracking_en", True) @tx_dpd_tracking_en_chan1.setter def tx_dpd_tracking_en_chan1(self, value): - if value == True or value == False: - if value == True: - value = 1 - elif value == False: - value = 0 - self._set_iio_attr("voltage1", "dpd_tracking_en", True, value) + self._set_iio_attr("voltage1", "dpd_tracking_en", True, value) @property def tx_dpd_external_path_delay_chan0(self): - """tx_dpd_external_path_delay: The control reads back the external path delay + """tx_dpd_external_path_delay: The control reads back the external path delay from channel 0 output to orx input at 1/16 sample resolution of the ORx sample rate""" if self.tx_dpd_tracking_en_chan0 == 1: return self._get_iio_attr("voltage0", "dpd_external_path_delay", True) / 16 @@ -543,7 +489,7 @@ def tx_dpd_external_path_delay_chan0(self): @property def tx_dpd_external_path_delay_chan1(self): - """tx_dpd_external_path_delay: The control reads back the external path delay + """tx_dpd_external_path_delay: The control reads back the external path delay from channel 1 output to orx input at 1/16 sample resolution of the ORx sample rate""" if self.tx_dpd_tracking_en_chan1 == 1: return self._get_iio_attr("voltage1", "dpd_external_path_delay", True) / 16 @@ -562,17 +508,15 @@ def tx_dpd_model_error_chan1(self): if self.tx_dpd_tracking_en_chan1 == 1: return self._get_iio_attr("voltage1", "dpd_model_error", True) / 10 return - + def tx_dpd_reset_en_chan0(self, value): """Enable DPD reset for channel 0""" - if value == True: - value = 1 - self._set_iio_attr("voltage0", "dpd_reset_en", True, value) + if value == 1: + self._set_iio_attr("voltage0", "dpd_reset_en", True, value) def tx_dpd_reset_en_chan1(self, value): """Enable DPD reset for channel 1""" - if value == True: - value = 1 + if value == 1: self._set_iio_attr("voltage1", "dpd_reset_en", True, value) @property @@ -580,24 +524,24 @@ def tx_dpd_status_chan0(self): """tx_dpd_status: It reads back the DPD calibration status from the ARM processor for channel 0""" # DPD status lookup dpdstat_lookup = { - 0 : "No Error", - 1 : "Error: ORx disabled", - 2 : "Error: Tx disabled", - 3 : "Error: DPD initialization not run", - 4 : "Error: Path delay not setup", - 5 : "Error: ORx signal too low", - 6 : "Error: ORx signal saturated", - 7 : "Error: Tx signal too low", - 8 : "Error: Tx signal saturated", - 9 : "Error: Model error high", - 10 : "Error: AM AM outliers", - 11 : "Error: Invalid Tx profile", - 12 : "Error: ORx QEC Disabled" - } + 0: "No Error", + 1: "Error: ORx disabled", + 2: "Error: Tx disabled", + 3: "Error: DPD initialization not run", + 4: "Error: Path delay not setup", + 5: "Error: ORx signal too low", + 6: "Error: ORx signal saturated", + 7: "Error: Tx signal too low", + 8: "Error: Tx signal saturated", + 9: "Error: Model error high", + 10: "Error: AM AM outliers", + 11: "Error: Invalid Tx profile", + 12: "Error: ORx QEC Disabled", + } if self.tx_dpd_tracking_en_chan0 == 1: - dpdstat_val = self._get_iio_attr("voltage0", "dpd_status", True) - if(dpdstat_val in dpdstat_lookup.keys()): - return dpdstat_lookup[dpdstat_val] + dpdstat_val = self._get_iio_attr("voltage0", "dpd_status", True) + if dpdstat_val in dpdstat_lookup.keys(): + return dpdstat_lookup[dpdstat_val] return @property @@ -605,29 +549,29 @@ def tx_dpd_status_chan1(self): """tx_dpd_status: It reads back the DPD calibration status from the ARM processor for channel 1""" # DPD status lookup dpdstat_lookup = { - 0 : "No Error", - 1 : "Error: ORx disabled", - 2 : "Error: Tx disabled", - 3 : "Error: DPD initialization not run", - 4 : "Error: Path delay not setup", - 5 : "Error: ORx signal too low", - 6 : "Error: ORx signal saturated", - 7 : "Error: Tx signal too low", - 8 : "Error: Tx signal saturated", - 9 : "Error: Model error high", - 10 : "Error: AM AM outliers", - 11 : "Error: Invalid Tx profile", - 12 : "Error: ORx QEC Disabled" - } + 0: "No Error", + 1: "Error: ORx disabled", + 2: "Error: Tx disabled", + 3: "Error: DPD initialization not run", + 4: "Error: Path delay not setup", + 5: "Error: ORx signal too low", + 6: "Error: ORx signal saturated", + 7: "Error: Tx signal too low", + 8: "Error: Tx signal saturated", + 9: "Error: Model error high", + 10: "Error: AM AM outliers", + 11: "Error: Invalid Tx profile", + 12: "Error: ORx QEC Disabled", + } if self.tx_dpd_tracking_en_chan1 == 1: - dpdstat_val = self._get_iio_attr("voltage1", "dpd_status", True) - if(dpdstat_val in dpdstat_lookup.keys()): + dpdstat_val = self._get_iio_attr("voltage1", "dpd_status", True) + if dpdstat_val in dpdstat_lookup.keys(): return dpdstat_lookup[dpdstat_val] return @property def tx_dpd_track_count_chan0(self): - """tx_dpd_track_count: It reads back the number of times the DPD has successfully run since + """tx_dpd_track_count: It reads back the number of times the DPD has successfully run since DPD initialization calibration for channel 0""" if self.tx_dpd_tracking_en_chan0 == 1: return self._get_iio_attr("voltage0", "dpd_track_count", True) @@ -635,7 +579,7 @@ def tx_dpd_track_count_chan0(self): @property def tx_dpd_track_count_chan1(self): - """tx_dpd_track_count: It reads back the number of times the DPD has successfully run since + """tx_dpd_track_count: It reads back the number of times the DPD has successfully run since DPD initialization calibration for channel 1""" if self.tx_dpd_tracking_en_chan1 == 1: return self._get_iio_attr("voltage1", "dpd_track_count", True) @@ -644,38 +588,20 @@ def tx_dpd_track_count_chan1(self): @property def tx_vswr_tracking_en_chan0(self): """Enable VSWR tracking for channel 0""" - if self._get_iio_attr("voltage0", "vswr_tracking_en", True) == 1: - return True - elif self._get_iio_attr("voltage0", "vswr_tracking_en", True) == 0: - return False - return + return self._get_iio_attr("voltage0", "vswr_tracking_en", True) @tx_vswr_tracking_en_chan0.setter def tx_vswr_tracking_en_chan0(self, value): - if value == True or value == False: - if value == True: - value = 1 - elif value == False: - value = 0 - self._set_iio_attr("voltage0", "vswr_tracking_en", True, value) + self._set_iio_attr("voltage0", "vswr_tracking_en", True, value) @property def tx_vswr_tracking_en_chan1(self): """Enable VSWR tracking for channel 1""" - if self._get_iio_attr("voltage1", "vswr_tracking_en", True) == 1: - return True - elif self._get_iio_attr("voltage1", "vswr_tracking_en", True) == 0: - return False - return + return self._get_iio_attr("voltage1", "vswr_tracking_en", True) @tx_vswr_tracking_en_chan1.setter def tx_vswr_tracking_en_chan1(self, value): - if value == True or value == False: - if value == True: - value = 1 - elif value == False: - value = 0 - self._set_iio_attr("voltage1", "vswr_tracking_en", True, value) + self._set_iio_attr("voltage1", "vswr_tracking_en", True, value) @property def tx_vswr_forward_gain_chan0(self): @@ -721,7 +647,7 @@ def tx_vswr_forward_gain_real_chan1(self): @property def tx_vswr_forward_orx_chan0(self): - """tx_vswr_forward_orx: RMS Orx digital sample power measured at DPD block for ORx data in the forward measurement mode + """tx_vswr_forward_orx: RMS Orx digital sample power measured at DPD block for ORx data in the forward measurement mode with measurement resolution of 0.01 dB and 21 dB offset for channel 0. Prms dBFS = txRms/100 + 21 dB""" if self.tx_vswr_tracking_en_chan0 == 1: return (self._get_iio_attr("voltage0", "vswr_forward_orx", True) / 100) + 21 @@ -761,28 +687,36 @@ def tx_vswr_reflected_gain_chan1(self): def tx_vswr_reflected_gain_imag_chan0(self): """tx_vswr_reflected_gain_imag: Imaginary part of the reflected path complex gain for channel 0. 1 = 0.01 linear gain""" if self.tx_vswr_tracking_en_chan0 == 1: - return self._get_iio_attr("voltage0", "vswr_reflected_gain_imag", True) * 0.01 + return ( + self._get_iio_attr("voltage0", "vswr_reflected_gain_imag", True) * 0.01 + ) return @property def tx_vswr_reflected_gain_imag_chan1(self): """tx_vswr_reflected_gain_imag: Imaginary part of the reflected path complex gain for channel 1. 1 = 0.01 linear gain""" if self.tx_vswr_tracking_en_chan1 == 1: - return self._get_iio_attr("voltage1", "vswr_reflected_gain_imag", True) * 0.01 + return ( + self._get_iio_attr("voltage1", "vswr_reflected_gain_imag", True) * 0.01 + ) return @property def tx_vswr_reflected_gain_real_chan0(self): """tx_vswr_reflected_gain_real: Real part of the reflected path complex gain for channel 0. 1 = 0.01 linear gain""" if self.tx_vswr_tracking_en_chan0 == 1: - return self._get_iio_attr("voltage0", "vswr_reflected_gain_real", True) * 0.01 + return ( + self._get_iio_attr("voltage0", "vswr_reflected_gain_real", True) * 0.01 + ) return @property def tx_vswr_reflected_gain_real_chan1(self): """tx_vswr_reflected_gain_real: Real part of the reflected path complex gain for channel 1. 1 = 0.01 linear gain""" if self.tx_vswr_tracking_en_chan1 == 1: - return self._get_iio_attr("voltage1", "vswr_reflected_gain_real", True) * 0.01 + return ( + self._get_iio_attr("voltage1", "vswr_reflected_gain_real", True) * 0.01 + ) return @property @@ -790,7 +724,9 @@ def tx_vswr_reflected_orx_chan0(self): """tx_vswr_reflected_orx: RMS ORx digital sample power measured at DPD block for the ORx data in the reverse measurement mode with measurement resolution of 0.01 dB and 21 dB offset for channel 0. Prms dBFS = orxRms/100 + 21 dB""" if self.tx_vswr_tracking_en_chan0 == 1: - return (self._get_iio_attr("voltage0", "vswr_reflected_orx", True) / 100) + 21 + return ( + self._get_iio_attr("voltage0", "vswr_reflected_orx", True) / 100 + ) + 21 return @property @@ -798,7 +734,9 @@ def tx_vswr_reflected_tx_chan0(self): """tx_vswr_reflected_tx: RMS Tx digital sample power measured at DPD actuator for the reverse measurement with measurement resolution of 0.01 dB and 21 dB offset for channel 0. Prms dBFS = txRms/100 + 21 dB""" if self.tx_vswr_tracking_en_chan0 == 1: - return (self._get_iio_attr("voltage0", "vswr_reflected_tx", True) / 100) + 21 + return ( + self._get_iio_attr("voltage0", "vswr_reflected_tx", True) / 100 + ) + 21 return @property @@ -806,12 +744,14 @@ def tx_vswr_reflected_tx_chan1(self): """tx_vswr_reflected_tx: RMS Tx digital sample power measured at DPD actuator for the reverse measurement with measurement resolution of 0.01 dB and 21 dB offset for channel 1. Prms dBFS = txRms/100 + 21 dB""" if self.tx_vswr_tracking_en_chan1 == 1: - return (self._get_iio_attr("voltage1", "vswr_reflected_tx", True) / 100) + 21 + return ( + self._get_iio_attr("voltage1", "vswr_reflected_tx", True) / 100 + ) + 21 return @property def tx_vswr_track_count_chan0(self): - """tx_vswr_track_count: The control reads back the number of times the VSWR has successfully run + """tx_vswr_track_count: The control reads back the number of times the VSWR has successfully run since VSWR initialization calibration for channel 0""" if self.tx_vswr_tracking_en_chan0 == 1: return self._get_iio_attr("voltage0", "vswr_track_count", True) @@ -819,7 +759,7 @@ def tx_vswr_track_count_chan0(self): @property def tx_vswr_track_count_chan1(self): - """tx_vswr_track_count: The control reads back the number of times the VSWR has successfully run since + """tx_vswr_track_count: The control reads back the number of times the VSWR has successfully run since VSWR initialization calibration for channel 1""" if self.tx_vswr_tracking_en_chan1 == 1: return self._get_iio_attr("voltage1", "vswr_track_count", True) diff --git a/examples/ad9375.py b/examples/ad9375.py index 7c3396ad2..7d07f576e 100644 --- a/examples/ad9375.py +++ b/examples/ad9375.py @@ -69,8 +69,8 @@ # ad9375 ONLY # Enable CLGC tracking -sdr.tx_clgc_tracking_en_chan0 = True -sdr.tx_clgc_tracking_en_chan1 = True +sdr.tx_clgc_tracking_en_chan0 = 1 +sdr.tx_clgc_tracking_en_chan1 = 1 # Configure and read CLGC desired gain property sdr.tx_clgc_desired_gain_chan0 = -3 @@ -85,37 +85,37 @@ print("CLGC tx rms channel 2", sdr.tx_clgc_tx_rms_chan1) # Disable CLGC tracking -sdr.tx_clgc_tracking_en_chan0 = False -sdr.tx_clgc_tracking_en_chan1 = False +sdr.tx_clgc_tracking_en_chan0 = 0 +sdr.tx_clgc_tracking_en_chan1 = 0 # Enable DPD tracking -sdr.tx_dpd_tracking_en_chan0 = True -sdr.tx_dpd_tracking_en_chan1 = True +sdr.tx_dpd_tracking_en_chan0 = 1 +sdr.tx_dpd_tracking_en_chan1 = 1 # Enable DPD actuator -sdr.tx_dpd_actuator_en_chan0 = True -sdr.tx_dpd_actuator_en_chan1 = True +sdr.tx_dpd_actuator_en_chan0 = 1 +sdr.tx_dpd_actuator_en_chan1 = 1 # Read DPD properties print("DPD status channel 1:", sdr.tx_dpd_status_chan0) print("DPD status channel 2:", sdr.tx_dpd_status_chan1) -# Enable DPD reset -sdr.tx_dpd_reset_en_chan0 = True -sdr.tx_dpd_reset_en_chan1 = True +# Enable DPD reset +sdr.tx_dpd_reset_en_chan0 = 1 +sdr.tx_dpd_reset_en_chan1 = 1 # Disable DPD tracking -sdr.tx_dpd_tracking_en_chan0 = False -sdr.tx_dpd_tracking_en_chan1 = False +sdr.tx_dpd_tracking_en_chan0 = 0 +sdr.tx_dpd_tracking_en_chan1 = 0 # Enable VSWR tracking -sdr.tx_vswr_tracking_en_chan0 = True -sdr.tx_vswr_tracking_en_chan1 = True +sdr.tx_vswr_tracking_en_chan0 = 1 +sdr.tx_vswr_tracking_en_chan1 = 1 # Read VSWR properties print("VSWR forward gain channel 1:", sdr.tx_vswr_forward_gain_chan0) print("VSWR forward gain channel 2:", sdr.tx_vswr_forward_gain_chan1) # Disable VSWR tracking -sdr.tx_vswr_tracking_en_chan0 = False -sdr.tx_vswr_tracking_en_chan1 = False \ No newline at end of file +sdr.tx_vswr_tracking_en_chan0 = 0 +sdr.tx_vswr_tracking_en_chan1 = 0 diff --git a/test/attr_tests.py b/test/attr_tests.py index c1baef593..57716be74 100644 --- a/test/attr_tests.py +++ b/test/attr_tests.py @@ -321,7 +321,9 @@ def attribute_write_only_str_with_depends(uri, classname, attr, value, depends): raise Exception(e) -def attribute_check_range_readonly_with_depends(uri, classname, attr, depends, start, stop): +def attribute_check_range_readonly_with_depends( + uri, classname, attr, depends, start, stop +): """attribute_check_range_readonly_with_depends: Read only integer class property with dependent write properties @@ -350,4 +352,4 @@ def attribute_check_range_readonly_with_depends(uri, classname, attr, depends, s del sdr except Exception as e: del sdr - raise Exception(e) \ No newline at end of file + raise Exception(e) diff --git a/test/common.py b/test/common.py index 69444a1c8..be859df8b 100644 --- a/test/common.py +++ b/test/common.py @@ -97,7 +97,9 @@ def pytest_generate_tests(metafunc): ################################################# -def dev_interface(uri, classname, val, attr, tol, sub_channel=None, sleep=0, readonly=False): +def dev_interface( + uri, classname, val, attr, tol, sub_channel=None, sleep=0, readonly=False +): sdr = eval(classname + "(uri='" + uri + "')") # Check hardware if not hasattr(sdr, attr): @@ -122,7 +124,7 @@ def dev_interface(uri, classname, val, attr, tol, sub_channel=None, sleep=0, rea rval = float(getattr(sdr, attr)) if rval == val: break - + del sdr if is_list and isinstance(rval[0], str): diff --git a/test/test_ad9375.py b/test/test_ad9375.py index 5dccb8076..7718fb752 100644 --- a/test/test_ad9375.py +++ b/test/test_ad9375.py @@ -11,27 +11,27 @@ clgc_tracking_en_0 = { - "tx_clgc_tracking_en_chan0" : True, + "tx_clgc_tracking_en_chan0": 1, } dpd_tracking_en_0 = { - "tx_dpd_tracking_en_chan0" : True, + "tx_dpd_tracking_en_chan0": 1, } vswr_tracking_en_0 = { - "tx_vswr_tracking_en_chan0" : True, + "tx_vswr_tracking_en_chan0": 1, } clgc_tracking_en_1 = { - "tx_clgc_tracking_en_chan1" : True, + "tx_clgc_tracking_en_chan1": 1, } dpd_tracking_en_1 = { - "tx_dpd_tracking_en_chan1" : True, + "tx_dpd_tracking_en_chan1": 1, } vswr_tracking_en_1 = { - "tx_vswr_tracking_en_chan1" : True, + "tx_vswr_tracking_en_chan1": 1, } @@ -375,14 +375,23 @@ def test_ad9375_profile_write( @pytest.mark.parametrize( "attr, depends, values, tol, repeats", [ - ("tx_clgc_desired_gain_chan0", clgc_tracking_en_0, desired_gain_values, 0.5, 1), - ("tx_clgc_desired_gain_chan1", clgc_tracking_en_1, desired_gain_values, 0.5, 5), + ("tx_clgc_desired_gain_chan0", clgc_tracking_en_0, desired_gain_values, 0.5, 2), + ("tx_clgc_desired_gain_chan1", clgc_tracking_en_1, desired_gain_values, 0.5, 2), ], ) def test_ad9375_attr_with_depends( - test_attribute_multipe_values_with_depends, iio_uri, classname, attr, depends, values, tol, repeats + test_attribute_multiple_values_with_depends, + iio_uri, + classname, + attr, + depends, + values, + tol, + repeats, ): - test_attribute_multipe_values_with_depends(iio_uri, classname, attr, depends, values, tol, repeats) + test_attribute_multiple_values_with_depends( + iio_uri, classname, attr, depends, values, tol, repeats + ) ######################################## @@ -391,39 +400,39 @@ def test_ad9375_attr_with_depends( @pytest.mark.parametrize( "attr, depends", [ - ("tx_clgc_current_gain_chan0", clgc_tracking_en_0), - ("tx_clgc_current_gain_chan1", clgc_tracking_en_1), - ("tx_clgc_orx_rms_chan0", clgc_tracking_en_0), - ("tx_clgc_track_count_chan0", clgc_tracking_en_0), - ("tx_clgc_track_count_chan1", clgc_tracking_en_1), - ("tx_clgc_tx_gain_chan0", clgc_tracking_en_0), - ("tx_clgc_tx_gain_chan1", clgc_tracking_en_1), - ("tx_clgc_tx_rms_chan0", clgc_tracking_en_0), - ("tx_clgc_tx_rms_chan1", clgc_tracking_en_1), - ("tx_dpd_track_count_chan0", dpd_tracking_en_0), - ("tx_dpd_track_count_chan1", dpd_tracking_en_1), - ("tx_dpd_status_chan0", dpd_tracking_en_0), - ("tx_dpd_status_chan1", dpd_tracking_en_1), - ("tx_vswr_forward_gain_chan0", vswr_tracking_en_0), - ("tx_vswr_forward_gain_chan1", vswr_tracking_en_1), - ("tx_vswr_forward_gain_imag_chan0", vswr_tracking_en_0), - ("tx_vswr_forward_gain_imag_chan1", vswr_tracking_en_1), - ("tx_vswr_forward_gain_real_chan0", vswr_tracking_en_0), - ("tx_vswr_forward_gain_real_chan1", vswr_tracking_en_1), - ("tx_vswr_forward_orx_chan0", vswr_tracking_en_0), - ("tx_vswr_forward_tx_chan0", vswr_tracking_en_0), - ("tx_vswr_forward_tx_chan1", vswr_tracking_en_1), - ("tx_vswr_reflected_gain_chan0", vswr_tracking_en_0), - ("tx_vswr_reflected_gain_chan1", vswr_tracking_en_1), - ("tx_vswr_reflected_gain_imag_chan0", vswr_tracking_en_0), - ("tx_vswr_reflected_gain_imag_chan1", vswr_tracking_en_1), - ("tx_vswr_reflected_gain_real_chan0", vswr_tracking_en_0), - ("tx_vswr_reflected_gain_real_chan1", vswr_tracking_en_1), - ("tx_vswr_reflected_orx_chan0", vswr_tracking_en_0), - ("tx_vswr_reflected_tx_chan0", vswr_tracking_en_0), - ("tx_vswr_reflected_tx_chan1", vswr_tracking_en_1), - ("tx_vswr_track_count_chan0", vswr_tracking_en_0), - ("tx_vswr_track_count_chan1", vswr_tracking_en_1), + ("tx_clgc_current_gain_chan0", clgc_tracking_en_0), + ("tx_clgc_current_gain_chan1", clgc_tracking_en_1), + ("tx_clgc_orx_rms_chan0", clgc_tracking_en_0), + ("tx_clgc_track_count_chan0", clgc_tracking_en_0), + ("tx_clgc_track_count_chan1", clgc_tracking_en_1), + ("tx_clgc_tx_gain_chan0", clgc_tracking_en_0), + ("tx_clgc_tx_gain_chan1", clgc_tracking_en_1), + ("tx_clgc_tx_rms_chan0", clgc_tracking_en_0), + ("tx_clgc_tx_rms_chan1", clgc_tracking_en_1), + ("tx_dpd_track_count_chan0", dpd_tracking_en_0), + ("tx_dpd_track_count_chan1", dpd_tracking_en_1), + ("tx_dpd_status_chan0", dpd_tracking_en_0), + ("tx_dpd_status_chan1", dpd_tracking_en_1), + ("tx_vswr_forward_gain_chan0", vswr_tracking_en_0), + ("tx_vswr_forward_gain_chan1", vswr_tracking_en_1), + ("tx_vswr_forward_gain_imag_chan0", vswr_tracking_en_0), + ("tx_vswr_forward_gain_imag_chan1", vswr_tracking_en_1), + ("tx_vswr_forward_gain_real_chan0", vswr_tracking_en_0), + ("tx_vswr_forward_gain_real_chan1", vswr_tracking_en_1), + ("tx_vswr_forward_orx_chan0", vswr_tracking_en_0), + ("tx_vswr_forward_tx_chan0", vswr_tracking_en_0), + ("tx_vswr_forward_tx_chan1", vswr_tracking_en_1), + ("tx_vswr_reflected_gain_chan0", vswr_tracking_en_0), + ("tx_vswr_reflected_gain_chan1", vswr_tracking_en_1), + ("tx_vswr_reflected_gain_imag_chan0", vswr_tracking_en_0), + ("tx_vswr_reflected_gain_imag_chan1", vswr_tracking_en_1), + ("tx_vswr_reflected_gain_real_chan0", vswr_tracking_en_0), + ("tx_vswr_reflected_gain_real_chan1", vswr_tracking_en_1), + ("tx_vswr_reflected_orx_chan0", vswr_tracking_en_0), + ("tx_vswr_reflected_tx_chan0", vswr_tracking_en_0), + ("tx_vswr_reflected_tx_chan1", vswr_tracking_en_1), + ("tx_vswr_track_count_chan0", vswr_tracking_en_0), + ("tx_vswr_track_count_chan1", vswr_tracking_en_1), ], ) def test_ad9375_attr_readonly_with_depends( @@ -443,9 +452,17 @@ def test_ad9375_attr_readonly_with_depends( ], ) def test_ad9375_attr_range_readonly( - test_attribute_check_range_readonly_with_depends, iio_uri, classname, attr, depends, start, stop + test_attribute_check_range_readonly_with_depends, + iio_uri, + classname, + attr, + depends, + start, + stop, ): - test_attribute_check_range_readonly_with_depends(iio_uri, classname, attr, depends, start, stop) + test_attribute_check_range_readonly_with_depends( + iio_uri, classname, attr, depends, start, stop + ) ######################################### @@ -454,22 +471,22 @@ def test_ad9375_attr_range_readonly( @pytest.mark.parametrize( "attr, value", [ - ("tx_clgc_tracking_en_chan0", True), - ("tx_clgc_tracking_en_chan0", False), - ("tx_clgc_tracking_en_chan1", True), - ("tx_clgc_tracking_en_chan1", False), - ("tx_dpd_actuator_en_chan0", True), - ("tx_dpd_actuator_en_chan0", False), - ("tx_dpd_actuator_en_chan1", True), - ("tx_dpd_actuator_en_chan1", False), - ("tx_vswr_tracking_en_chan0", True), - ("tx_vswr_tracking_en_chan0", False), - ("tx_vswr_tracking_en_chan1", True), - ("tx_vswr_tracking_en_chan1", False), - ("tx_dpd_tracking_en_chan0", True), - ("tx_dpd_tracking_en_chan0", False), - ("tx_dpd_tracking_en_chan1", True), - ("tx_dpd_tracking_en_chan1", False), + ("tx_clgc_tracking_en_chan0", 1), + ("tx_clgc_tracking_en_chan0", 0), + ("tx_clgc_tracking_en_chan1", 1), + ("tx_clgc_tracking_en_chan1", 0), + ("tx_dpd_actuator_en_chan0", 1), + ("tx_dpd_actuator_en_chan0", 0), + ("tx_dpd_actuator_en_chan1", 1), + ("tx_dpd_actuator_en_chan1", 0), + ("tx_vswr_tracking_en_chan0", 1), + ("tx_vswr_tracking_en_chan0", 0), + ("tx_vswr_tracking_en_chan1", 1), + ("tx_vswr_tracking_en_chan1", 0), + ("tx_dpd_tracking_en_chan0", 1), + ("tx_dpd_tracking_en_chan0", 0), + ("tx_dpd_tracking_en_chan1", 1), + ("tx_dpd_tracking_en_chan1", 0), ], ) def test_ad9375_attr_boolean( @@ -482,11 +499,7 @@ def test_ad9375_attr_boolean( @pytest.mark.iio_hardware(hardware) @pytest.mark.parametrize("classname", [(classname)]) @pytest.mark.parametrize( - "attr, value", - [ - ("tx_dpd_reset_en_chan0", 1), - ("tx_dpd_reset_en_chan1", 1), - ], + "attr, value", [("tx_dpd_reset_en_chan0", 1), ("tx_dpd_reset_en_chan1", 1),], ) def test_ad9375_attr_write_only( test_attribute_write_only_str, iio_uri, classname, attr, value