diff --git a/adi/__init__.py b/adi/__init__.py
index 96580a6f7..d577ef229 100644
--- a/adi/__init__.py
+++ b/adi/__init__.py
@@ -23,7 +23,7 @@
from adi.ad5754r import ad5754r
from adi.ad5940 import ad5940
from adi.ad6676 import ad6676
-from adi.ad7091r import ad7091rx
+from adi.ad7091rx import ad7091rx
from adi.ad7124 import ad7124
from adi.ad7134 import ad7134
from adi.ad7291 import ad7291
diff --git a/adi/ad7091r.py b/adi/ad7091rx.py
similarity index 91%
rename from adi/ad7091r.py
rename to adi/ad7091rx.py
index c309cb0c0..474177362 100644
--- a/adi/ad7091r.py
+++ b/adi/ad7091rx.py
@@ -79,6 +79,7 @@ def __init__(self, uri="", device_name=""):
name = ch._id
self._rx_channel_names.append(name)
self.channel.append(self._channel(self._ctrl, name))
+ setattr(self, name, self._channel(self._ctrl, name))
rx.__init__(self)
@@ -94,24 +95,11 @@ def raw(self):
"""AD7091r channel raw value"""
return self._get_iio_attr(self.name, "raw", False)
- @property
- def offset(self):
- """AD7091r channel offset value"""
- return self._get_iio_attr_str(self.name, "offset", False)
-
- @offset.setter
- def offset(self, value):
- self._set_iio_attr(self.name, "offset", False, str(Decimal(value).real))
-
@property
def scale(self):
"""AD7091r channel scale"""
return float(self._get_iio_attr_str(self.name, "scale", False))
- @scale.setter
- def scale(self, value):
- self._set_iio_attr(self.name, "scale", False, str(Decimal(value).real))
-
@property
def thresh_falling_value(self):
"""Get channel threshold falling value"""
@@ -148,8 +136,8 @@ def thresh_either_hysteresis(self, value):
self.name, "thresh_either_hysteresis", False, str(Decimal(value))
)
- def to_volts(self, index, val):
- """Converts raw value to SI"""
+ def to_mvolts(self, index, val):
+ """Converts raw value to mV"""
_scale = self.channel[index].scale
ret = None
diff --git a/doc/source/devices/adi.ad7091r.rst b/doc/source/devices/adi.ad7091rx.rst
similarity index 65%
rename from doc/source/devices/adi.ad7091r.rst
rename to doc/source/devices/adi.ad7091rx.rst
index 086b32fb6..80a8e5b5d 100644
--- a/doc/source/devices/adi.ad7091r.rst
+++ b/doc/source/devices/adi.ad7091rx.rst
@@ -1,7 +1,7 @@
-ad7091r
+ad7091rx
=================
-.. automodule:: adi.ad7091r
+.. automodule:: adi.ad7091rx
:members:
:undoc-members:
:show-inheritance:
diff --git a/doc/source/devices/index.rst b/doc/source/devices/index.rst
index e7eccf9af..b7b802614 100644
--- a/doc/source/devices/index.rst
+++ b/doc/source/devices/index.rst
@@ -23,7 +23,7 @@ Supported Devices
adi.ad5754r
adi.ad5940
adi.ad6676
- adi.ad7091r
+ adi.ad7091rx
adi.ad7124
adi.ad7134
adi.ad717x
diff --git a/examples/ad7091r_example.py b/examples/ad7091rx_example.py
similarity index 55%
rename from examples/ad7091r_example.py
rename to examples/ad7091rx_example.py
index c05ab28c9..97e9b1740 100644
--- a/examples/ad7091r_example.py
+++ b/examples/ad7091rx_example.py
@@ -31,34 +31,61 @@
# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
# THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+import argparse
+
import numpy as np
-from adi.ad7091r import ad7091rx
+from adi.ad7091rx import ad7091rx
+
+
+def main():
+ # Set up argument parser
+ parser = argparse.ArgumentParser(description="AD7091R Example Script")
+ parser.add_argument(
+ "--uri",
+ type=str,
+ help="The URI for the AD7091R device",
+ default="serial:COM7,230400,8n1",
+ )
+ parser.add_argument(
+ "--device_name",
+ type=str,
+ choices=["ad7091r-2", "ad7091r-4", "ad7091r-8"],
+ help="The device name (Supported devices are ad7091r-2, ad7091r-4, ad7091r-8)",
+ default="ad7091r-8",
+ )
+
+ # Parse arguments
+ args = parser.parse_args()
+
+ # Set up AD7091R device
+ ad7091r_dev = ad7091rx(uri=args.uri, device_name=args.device_name)
+
+ # Get ADC channel 0 raw value and print it
+ raw = ad7091r_dev.channel[0].raw
+ print(f"Raw value read from channel0 is {raw}")
-# Set up AD7091r8
-ad7091r8_dev = ad7091rx(uri="serial:COM46,230400,8n1", device_name="ad7091r-8")
+ # Set threshold falling and rising values for channel 0
+ ad7091r_dev.channel[0].thresh_rising_value = 0x10F
+ print(
+ f"Channel 0 threshold rising value set to {ad7091r_dev.channel[0].thresh_rising_value}"
+ )
-# Get ADC channel 0 raw value and print it
-raw = ad7091r8_dev.channel[0].raw
-print(f"Raw value read from channel0 is {raw}")
+ ad7091r_dev.channel[0].thresh_falling_value = 0x0F
+ print(
+ f"Channel 0 threshold falling value set to {ad7091r_dev.channel[0].thresh_falling_value}"
+ )
-# Set threshold falling and rising values for channel 0
-ad7091r8_dev.channel[0].thresh_rising_value = 0x10F
-print(
- f"Channel 0 threshold rising value set to {ad7091r8_dev.channel[0].thresh_rising_value}"
-)
+ # Capture a buffer of 100 samples from channel 0 and display them
+ chn = 0
+ ad7091r_dev._rx_data_type = np.int32
+ ad7091r_dev.rx_output_type = "raw"
+ ad7091r_dev.rx_enabled_channels = [chn]
+ ad7091r_dev.rx_buffer_size = 100
-ad7091r8_dev.channel[0].thresh_falling_value = 0x0F
-print(
- f"Channel 0 threshold falling value set to {ad7091r8_dev.channel[0].thresh_falling_value}"
-)
+ data = ad7091r_dev.rx()
-# Capture a buffer of 100 samples from channel 0 and display them
-chn = 0
-ad7091r8_dev._rx_data_type = np.int32
-ad7091r8_dev.rx_output_type = "raw"
-ad7091r8_dev.rx_enabled_channels = [chn]
-ad7091r8_dev.rx_buffer_size = 100
+ print(data)
-data = ad7091r8_dev.rx()
-print(data)
+if __name__ == "__main__":
+ main()
diff --git a/test/emu/devices/ad7091r.xml b/test/emu/devices/ad7091r.xml
deleted file mode 100644
index 3e5957e42..000000000
--- a/test/emu/devices/ad7091r.xml
+++ /dev/null
@@ -1 +0,0 @@
-]>
\ No newline at end of file
diff --git a/test/emu/devices/ad7091rx.xml b/test/emu/devices/ad7091rx.xml
new file mode 100644
index 000000000..2e1b4ce17
--- /dev/null
+++ b/test/emu/devices/ad7091rx.xml
@@ -0,0 +1 @@
+]>
\ No newline at end of file
diff --git a/test/emu/hardware_map.yml b/test/emu/hardware_map.yml
index 7b571d986..c0449c131 100644
--- a/test/emu/hardware_map.yml
+++ b/test/emu/hardware_map.yml
@@ -454,12 +454,12 @@ ad6676:
- data_devices:
- iio:device1
-ad7091r:
- - ad7091r
+ad7091r8:
+ - ad7091r8
- pyadi_iio_class_support:
- - ad7091r
+ - ad7091rx
- emulate:
- - filename: ad7091r.xml
+ - filename: ad7091rx.xml
- data_devices:
- iio:device0
diff --git a/test/test_ad7091r.py b/test/test_ad7091r.py
deleted file mode 100644
index 88ee80861..000000000
--- a/test/test_ad7091r.py
+++ /dev/null
@@ -1,12 +0,0 @@
-import pytest
-
-hardware = "ad7091r-8"
-classname = "adi.ad7091rx"
-
-
-#########################################
-@pytest.mark.iio_hardware(hardware)
-@pytest.mark.parametrize("classname", [(classname)])
-@pytest.mark.parametrize("channel", [0])
-def test_ad7091rx_rx_data(test_dma_rx, iio_uri, classname, channel):
- test_dma_rx(iio_uri, classname, channel)
diff --git a/test/test_ad7091rx.py b/test/test_ad7091rx.py
new file mode 100644
index 000000000..71871bc7f
--- /dev/null
+++ b/test/test_ad7091rx.py
@@ -0,0 +1,26 @@
+import pytest
+
+hardware = "ad7091r8"
+classname = "adi.ad7091rx"
+
+#########################################
+@pytest.mark.iio_hardware(hardware)
+@pytest.mark.parametrize("classname", [(classname)])
+@pytest.mark.parametrize("attr", ["raw"])
+@pytest.mark.parametrize(
+ "channel",
+ [
+ "voltage0",
+ "voltage1",
+ "voltage2",
+ "voltage3",
+ "voltage4",
+ "voltage5",
+ "voltage6",
+ "voltage7",
+ ],
+)
+def test_ad7091rx_channel_attr_raw(
+ test_attribute_single_value_channel_readonly, iio_uri, classname, channel, attr
+):
+ test_attribute_single_value_channel_readonly(iio_uri, classname, channel, attr)