Python 3.11.3
Pyadi-iio 0.0.14
Pylibiio 0.23.1

TX OOK @ 433.96 MHz

import adi
import iio

sdr = adi.Pluto('ip:192.168.2.1')
ctx = iio.Context('ip:192.168.2.1')
phy = sdr.ctx.find_device("ad9361-phy")

v = phy.reg_read(0x37)
print(f"ID: {hex(v)}")

center_freq = 433.96e6 # Hz
sample_rate = 0.521e6  # Hz Minimum is 521 KSPS
num_samples = 2**16

sdr.gain_control_mode_chan0 = "fast_attack"
#sdr.gain_control_mode_chan0 = 'manual'
#sdr.rx_hardwaregain_chan0 = 30.0 # allowable range is 0 to 74.5 dB
sdr.rx_lo = int(center_freq)
sdr.sample_rate = int(sample_rate)
sdr.rx_rf_bandwidth = int(sample_rate) # filter width, just set it to the same as sample rate for now
sdr.rx_buffer_size = num_samples

#rssi = sdr._ctrl.find_channel('voltage0').attrs['rssi'].value
#print(rssi.replace(" dB", ""))

#rssi = sdr._get_iio_attr('voltage0', 'rssi', False)

#rssi_symbol = phy.reg_read(0x1A7)
#rssi_symbol_lsb = phy.reg_read(0x1AB)
#rssi = (rssi_symbol << 1) + rssi_symbol_lsb

try:
    while True:
        rssi = sdr._ctrl.find_channel('voltage0').attrs['rssi'].value
        rssi = -float(rssi.replace(" dB", ""))
        print(rssi)
except KeyboardInterrupt:
    print("Keyboard exit")


plutorssi.jpg