Пример #1
0
# 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 adi
import matplotlib.pyplot as plt
import numpy as np
from scipy import signal

# Set up AD7124
ad7124 = adi.ad7124(uri="ip:192.168.1.171")

sc = ad7124.scale_available
ad7124.channel[0].scale = sc[2]
ad7124.rx_output_type = "SI"

# sets sample rate for all channels
ad7124.sample_rate = 19200
# currently only one enabled channel buffer works at a time
ad7124.rx_enabled_channels = [0]
ad7124.rx_buffer_size = 100

raw = ad7124.channel[0].raw
data = ad7124.rx()

volt_data = ad7124.to_volts(0, data)
Пример #2
0
# 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.

# Simplest possible example of connecting to AD7124, setup, capture single
# sample, capture a buffer of samples.

# ip address is hard-coded for clarity and will need to be changed according
# to your network. The ip address can be automatically detected
# in some circumstances, or passed as a command line argument.

import adi
# my_ad7124 = adi.ad7124(uri="ip:192.168.86.43") # Connect to AD7124
# (on remote Pi, replace ip address accordingly)
my_ad7124 = adi.ad7124(
    uri="ip:localhost")  # Connect to AD7124 (locally, through iiod)
ad_channel = 0  # Set channel
my_ad7124.channel[ad_channel].scale = 0.0002983  # Set PGA gain
my_ad7124.sample_rate = 128  # Set sample rate
# Read a single "raw" value
v0 = my_ad7124.channel[ad_channel].raw
# Buffered data capture
my_ad7124.rx_output_type = "SI"  # Report buffered data in volts
my_ad7124.rx_enabled_channels = [ad_channel]  # Only one supported for now
my_ad7124.rx_buffer_size = 1024
my_ad7124._ctx.set_timeout(100000)  #Sloooow converter
data = my_ad7124.rx()  # Fetch buffer of samples

print("A single raw reading: ", v0)
print("A few buffered readings: ", data[:16])
del my_ad7124  # Clean up
Пример #3
0
import adi

import matplotlib.pyplot as plt
import numpy as np
from scipy import signal
import sys

# Set up AD7124

# Set a default ip address if none given as a command line argument
# hardcoded_ip = "ip:192.168.0.235" # Example if you want to hardcode a different address
hardcoded_ip = "ip:analog.local" # Default to analog.local if no argument given
my_ip = sys.argv[1] if len(sys.argv) >= 2 else hardcoded_ip

# Establish connection to the AD7124
my_ad7124 = adi.ad7124(uri=my_ip)
# Set channel. Buffered receive only supports one channel
ad_channel = 0

sc = my_ad7124.scale_available
my_ad7124.channel[ad_channel].scale = sc[-1]  # get highest range
print(my_ad7124.channel[ad_channel].scale)
scale = my_ad7124.channel[ad_channel].scale
my_ad7124.rx_output_type = "SI"

my_ad7124.sample_rate = 128  # sets sample rate for all channels
my_ad7124.rx_enabled_channels = [ad_channel]
my_ad7124.rx_buffer_size = 1024
my_ad7124._ctx.set_timeout(100000)
n=1 # number of buffers
Пример #4
0
# 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 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

sc = ad7124.scale_available

ad7124.channel[ad_channel].scale = sc[-1]  # get highest range
ad7124.rx_output_type = "SI"

ad7124.sample_rate = 19200  # sets sample rate for all channels
ad7124.rx_enabled_channels = [ad_channel]
ad7124.rx_buffer_size = 100

raw = ad7124.channel[0].raw
data = ad7124.rx()

print(data)