Merge "Update Mini-circuits attenuator controller." am: 0f68ced64e am: 10b0edf3fd
Original change: https://android-review.googlesource.com/c/platform/tools/test/connectivity/+/2025185
Change-Id: I5fbd7582f4173fecd57c9513490192b9e44b2e4f
diff --git a/acts/framework/acts/controllers/attenuator_lib/minicircuits/http.py b/acts/framework/acts/controllers/attenuator_lib/minicircuits/http.py
index acde271..6a04fe8 100644
--- a/acts/framework/acts/controllers/attenuator_lib/minicircuits/http.py
+++ b/acts/framework/acts/controllers/attenuator_lib/minicircuits/http.py
@@ -111,9 +111,11 @@
raise ValueError('Attenuator value out of range!', self.max_atten,
value)
# The actual device uses one-based index for channel numbers.
+ adjusted_value = min(max(0, value), self.max_atten)
att_req = urllib.request.urlopen(
- 'http://{}:{}/CHAN:{}:SETATT:{}'.format(
- self._ip_address, self._port, idx + 1, value),
+ 'http://{}:{}/CHAN:{}:SETATT:{}'.format(self._ip_address,
+ self._port, idx + 1,
+ adjusted_value),
timeout=self._timeout)
att_resp = att_req.read().decode('utf-8')
if att_resp != '1':
diff --git a/acts/framework/acts/controllers/attenuator_lib/minicircuits/telnet.py b/acts/framework/acts/controllers/attenuator_lib/minicircuits/telnet.py
index 2c85cea..ddda6ab 100644
--- a/acts/framework/acts/controllers/attenuator_lib/minicircuits/telnet.py
+++ b/acts/framework/acts/controllers/attenuator_lib/minicircuits/telnet.py
@@ -37,6 +37,7 @@
the functionality of AttenuatorInstrument is contingent upon a telnet
connection being established.
"""
+
def __init__(self, num_atten=0):
super(AttenuatorInstrument, self).__init__(num_atten)
self._tnhelper = _tnhelper._TNHelper(tx_cmd_separator='\r\n',
@@ -116,7 +117,9 @@
raise ValueError('Attenuator value out of range!', self.max_atten,
value)
# The actual device uses one-based index for channel numbers.
- self._tnhelper.cmd('CHAN:%s:SETATT:%s' % (idx + 1, value), retry=retry)
+ adjusted_value = min(max(0, value), self.max_atten)
+ self._tnhelper.cmd('CHAN:%s:SETATT:%s' % (idx + 1, adjusted_value),
+ retry=retry)
def get_atten(self, idx, retry=False):
"""Returns the current attenuation of the attenuator at the given index.