Adalm Pluto și Python: Diferență între versiuni

De la YO3ITI
Sari la navigare Sari la căutare
 
Linia 30: Linia 30:


==Exemple==
==Exemple==
===Crearea unei interfețe===
<syntaxhighlight lang=python>
import adi
import iio
print("IIO version major: " + str(iio.version[0]) + ", minor: " + str(iio.version[1]) + ", text: " + iio.version[2])
print("ADI version: " + adi.__version__)
# Crează o interfață către Pluto
sdr = adi.ad9364(uri="ip:192.168.2.1")
# Configurează câteva proprietăți...
sdr.rx_rf_bandwidth = 16000 #lărgimea de bandă recepție
sdr.tx_rf_bandwidth = 16000 #lărgimea de bandă emisie
sdr.rx_lo = 144175000 #oscilatorul local - Rx
sdr.tx_lo = 144175000 #oscilatorul local - Tx
sdr.tx_cyclic_buffer = True
sdr.tx_hardwaregain = -30
sdr.gain_control_mode = "slow_attack"
# Read back properties from hardware
print("Tx freq: " + "{:.3e}".format(sdr.rx_lo))
print("Câștig Rx canal 0: " + str(sdr.rx_hardwaregain_chan0) + "dBm")
print("Câștig emisie: " + str(sdr.tx_hardwaregain) + " dBm")
print("Lărgime de bandă recepție: " + "{:.3e}".format(sdr.rx_rf_bandwidth) + " Hz")
print("Lărgime de bandă emisie: " + "{:.3e}".format(sdr.tx_rf_bandwidth) + " Hz")
</syntaxhighlight>
Va afișa:
<syntaxhighlight lang=sh>
IIO version major: 0, minor: 21, text: 99ef201
ADI version: 0.0.6
Tx freq: 1.442e+08
Câștig canal 0: 73dBm
Câștig emisie: -30 dBm
Lărgime de bandă recepție: 2.000e+05 Hz
Lărgime de bandă emisie: 2.000e+05 Hz
</syntaxhighlight>
* [https://analogdevicesinc.github.io/pyadi-iio/guides/examples.html Crearea unui instrument]
* [https://analogdevicesinc.github.io/pyadi-iio/guides/examples.html Crearea unui instrument]
* [https://github.com/analogdevicesinc/pyadi-iio/tree/master/examples Exemple <code>pyadi-iio</code>]
* [https://github.com/analogdevicesinc/pyadi-iio/tree/master/examples Exemple <code>pyadi-iio</code>]

Versiunea curentă din 31 ianuarie 2021 20:11

Setare

De citit

Verificare instalare

În cazul instalării de pe computerul meu, verificare instalare libiio

>>> import iio
>>> iio.version
(0, 21, '99ef201')

Sau un mic progrămel:

import iio
print("IIO version major: " + str(iio.version[0]) + ", minor: " + str(iio.version[1]) + ", text: " + iio.version[2])
print("ADI version: " + adi.__version__)

La rulare va afișa:

IIO version major: 0, minor: 21, text: 99ef201
ADI version: 0.0.6

Pentru verificarea instalării bibliotecilor Analog Devices pyadi-iio:

>>> import adi
>>> adi.__version__
'0.0.6'
>>> adi.name
'Analog Devices Hardware Interfaces'

Exemple

Crearea unei interfețe

import adi
import iio
print("IIO version major: " + str(iio.version[0]) + ", minor: " + str(iio.version[1]) + ", text: " + iio.version[2])
print("ADI version: " + adi.__version__)

# Crează o interfață către Pluto
sdr = adi.ad9364(uri="ip:192.168.2.1")
# Configurează câteva proprietăți...
sdr.rx_rf_bandwidth = 16000 #lărgimea de bandă recepție
sdr.tx_rf_bandwidth = 16000 #lărgimea de bandă emisie
sdr.rx_lo = 144175000 #oscilatorul local - Rx
sdr.tx_lo = 144175000 #oscilatorul local - Tx
sdr.tx_cyclic_buffer = True
sdr.tx_hardwaregain = -30
sdr.gain_control_mode = "slow_attack"
# Read back properties from hardware
print("Tx freq: " + "{:.3e}".format(sdr.rx_lo))
print("Câștig Rx canal 0: " + str(sdr.rx_hardwaregain_chan0) + "dBm")
print("Câștig emisie: " + str(sdr.tx_hardwaregain) + " dBm")
print("Lărgime de bandă recepție: " + "{:.3e}".format(sdr.rx_rf_bandwidth) + " Hz")
print("Lărgime de bandă emisie: " + "{:.3e}".format(sdr.tx_rf_bandwidth) + " Hz")

Va afișa:

IIO version major: 0, minor: 21, text: 99ef201
ADI version: 0.0.6
Tx freq: 1.442e+08
Câștig canal 0: 73dBm
Câștig emisie: -30 dBm
Lărgime de bandă recepție: 2.000e+05 Hz
Lărgime de bandă emisie: 2.000e+05 Hz