Skip to content

Commit

Permalink
Add support for AD7984
Browse files Browse the repository at this point in the history
Signed-off-by: PopPaul2021 <[email protected]>
  • Loading branch information
PopPaul2021 committed Dec 4, 2023
1 parent 0e7c0de commit fabed3e
Show file tree
Hide file tree
Showing 3 changed files with 77 additions and 0 deletions.
3 changes: 3 additions & 0 deletions adi/ad7689.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,9 @@ def __init__(self, uri="", device_name=""):
"ad7949",
"ad7699",
"ad7690",
"ad7984",
"spi_clasic_ad7984",
"spi_engine_ad7984",
]

self._ctrl = None
Expand Down
73 changes: 73 additions & 0 deletions examples/ad7984_example.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
# Copyright (C) 2023 Analog Devices, Inc.
#
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without modification,
# are permitted provided that the following conditions are met:
# - Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# - Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in
# the documentation and/or other materials provided with the
# distribution.
# - Neither the name of Analog Devices, Inc. nor the names of its
# contributors may be used to endorse or promote products derived
# from this software without specific prior written permission.
# - The use of this software may or may not infringe the patent rights
# of one or more patent holders. This license does not release you
# from the requirement that you obtain separate licenses from these
# patent holders to use this software.
# - Use of the software either in source or binary form, must be run
# on or directly connected to an Analog Devices Inc. component.
#
# THIS SOFTWARE IS PROVIDED BY ANALOG DEVICES "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
# INCLUDING, BUT NOT LIMITED TO, NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A
# PARTICULAR PURPOSE ARE DISCLAIMED.
#
# IN NO EVENT SHALL ANALOG DEVICES BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, INTELLECTUAL PROPERTY
# RIGHTS, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
# 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 sys
import adi
import numpy as np
import matplotlib.pyplot as plt
from scipy import fft

# Optionally pass URI as command line argument,
# else use default context manager search
my_uri = sys.argv[1] if len(sys.argv) >= 2 else None
print("uri: " + str(my_uri))


plot_en = sys.argv[2] if len(sys.argv) >= 3 else 0
print(plot_en)

# the device name can be: spi_clasic_ad7984 or spi_engine_ad7984

my_ad7984 = adi.ad7689(uri=my_uri,device_name="spi_clasic_ad7984")
my_ad7984.rx_enabled_channels = [0]
my_ad7984.rx_buffer_size = 4096
data = my_ad7984.rx()


with open('samples_data_buffer.txt', 'w') as f:
for samples in data:
f.write(str(samples))
f.write('\n')
f.close()

if plot_en !=0 :
t = np.arange(0, my_ad7984.rx_buffer_size, 1)
plt.suptitle("AD7984 Samples data")
plt.plot(t, data)
plt.xlabel("Samples")
plt.show()





1 change: 1 addition & 0 deletions supported_parts.md
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,7 @@
- AD7771
- AD7779
- AD7799
- AD7984
- AD9081
- AD9083
- AD9084
Expand Down

0 comments on commit fabed3e

Please sign in to comment.