From 306649d8984f2a094abaf78d749461bc5f25c52c Mon Sep 17 00:00:00 2001 From: Trecia Agoylo Date: Mon, 1 Apr 2024 14:16:08 +0800 Subject: [PATCH 1/2] ad7124: use id instead of name Signed-off-by: Trecia Agoylo --- adi/ad7124.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/adi/ad7124.py b/adi/ad7124.py index 41b7b1daa..32826fdca 100644 --- a/adi/ad7124.py +++ b/adi/ad7124.py @@ -36,7 +36,7 @@ def __init__(self, uri="", device_index=0): else: index += 1 - self._rx_channel_names = [chan.name for chan in self._ctrl.channels] + self._rx_channel_names = [chan.id for chan in self._ctrl.channels] if "-" in self._rx_channel_names[0]: self._rx_channel_names.sort(key=lambda x: int(x[7:].split("-")[0])) else: From 1468a80c09b867f30fd31f0082167502f6826efa Mon Sep 17 00:00:00 2001 From: Trecia Agoylo Date: Mon, 1 Apr 2024 14:31:38 +0800 Subject: [PATCH 2/2] ad7124: update examples Signed-off-by: Trecia Agoylo --- examples/ad7124.py | 41 ++++++++++++++++++++++++++++++++++++----- 1 file changed, 36 insertions(+), 5 deletions(-) diff --git a/examples/ad7124.py b/examples/ad7124.py index 775dfa1ed..5a733edea 100644 --- a/examples/ad7124.py +++ b/examples/ad7124.py @@ -2,25 +2,56 @@ # # SPDX short identifier: ADIBSD +import argparse + import adi import matplotlib.pyplot as plt import numpy as np from scipy import signal # Set up AD7124 -ad7124 = adi.ad7124(uri="ip:10.48.65.138") -ad_channel = 0 +# Optionally pass URI as command line argument with -u option, +# else use default to "ip:analog.local" +parser = argparse.ArgumentParser(description="AD7124 Example Script") +parser.add_argument( + "-u", + default=["ip:analog.local"], + help="-u (arg) URI of target device's context, eg: 'ip:analog.local',\ + 'ip:192.168.2.1',\ + 'serial:COM4,115200,8n1n'", + action="store", + nargs="*", +) +args = parser.parse_args() +my_uri = args.u[0] + +print("uri: " + str(my_uri)) + +ad7124 = adi.ad7124(uri=my_uri) +ad_channel0 = 0 # voltage0-voltage1 plug to CH1 on my m2k +ad_channel1 = 1 # voltage2-voltage3 plug to CH2 on my m2k sc = ad7124.scale_available -ad7124.channel[ad_channel].scale = sc[-1] # get highest range +ad7124.channel[ad_channel0].scale = sc[-1] # get highest range +ad7124.channel[ad_channel1].scale = sc[-1] # get highest range ad7124.rx_output_type = "SI" # sets sample rate for all channels ad7124.sample_rate = 19200 -ad7124.rx_enabled_channels = [ad_channel] +ad7124.rx_enabled_channels = [ad_channel0, ad_channel1] ad7124.rx_buffer_size = 100 +ad7124._ctx.set_timeout(100000) -raw = ad7124.channel[0].raw data = ad7124.rx() print(data) + +plt.figure(1) +plt.title(f"{ad7124._ctrl.name} @{ad7124.sample_rate}sps") +plt.ylabel("Volts") +plt.xlabel("Sample Number") +plt.plot(data[0], label=ad7124.channel[ad_channel0].name, color="orange", linewidth=2) +plt.plot(data[1], label=ad7124.channel[ad_channel1].name, color="blue", linewidth=2) +plt.show() + +del ad7124