Skip to content

AirStack Core Device Arguments

AirStack Core leverages the custom SoapyAIRT drivers for SoapySDR. Built-in to SoapySDR is an array of various, default, device parameters that map to control interfaces of the AIR-T. For a list of the built-in SoapySDR device arguments, see the documentation here.

In addition to the baseline device arg, AirStack Core provides additional functionality as described here.

AirStack Core Device Arguments

General Argument Definitions

Below are the definitions for the available device arguments and a table outlining which arguments are supported for each AIR-T model. For details on the settings for each device argument, please see the Product Guide for that model.

Device Argument Definition
rx_path Determines which receiver signal path is enabled. Settings are device specific.
tx_amp_bypass Bypasses the transmit power amplifier. Settings are device specific.
time_src Selects the time source. Settings are device specific.
clk_src Selects the clock source. Settings are device specific.
rx_lo_src Tells the device which receive LO source to use. Settings are device specific.
tx_lo_src Tells the device which transmit LO source to use. Settings are device specific.
master_clock_rate Contains the current master clock rate in Hz. Note that if the master clock rate is changed, the sample rate for all channels will also be set equal to the new master clock rate.
report_tx_underflow Reports TX underflows detected in the FPGA. Valid options are true (report) and false. Defaults to false
tx_buffer_size Contains the size (in number of samples) of the largest TX transfer the caller expects to make with writeStream(). A size of 0 means that the caller will be providing a properly-aligned DMA-able buffer, and thus one does not need to be allocated.

The table below outlines the specific device arguments supported by AirStack Core API for each AIR-T model. Note that, while a device argument may be supported by multiple models, the actual settings will vary between models.

Supported Device Arguments

Supported Device Arguments for Each AIR-T Model
AIR7101 AIR7201 AIR7310 AIR8201
tx_amp_bypass
time_src
clk_src
rx_lo_src
tx_lo_src
master_clock_rate
report_tx_underflow
tx_buffer_size

How to Set a Device Argument

As an example for using a device argument, we will show how to set the receiver path (rx_path) on the AIR7310 to be in LNA mode, i.e., use the LNA, but no filters.

Method 1: Using a Device Argument

To use this method, the device argument is set during the instantiation of the SoapySDR Device:

sdr = SoapySDR.Device(dict(driver="SoapyAIRT", rx_path="lna"))

Method 2: Using a Stream Argument

To use this method, the device has already been instantiated and the argument is passed to the SoapySDR Device during the call to setupStream:

rx_stream = sdr.setupStream(
    SOAPY_SDR_RX,
    SOAPY_SDR_CS16,
    [0],
    dict(rx_path="lna")
)

Method 3: Using the Settings API

To use this method, the device has already been instantiated and the setting is changed directly by calling the method from the SoapySDR device:

sdr.writeSetting(SOAPY_SDR_RX, 0, "rx_path", "lna")

For any of these methods, the setting may be read by calling the Settings API:

sdr.readSetting(SOAPY_SDR_RX, 0, "rx_path")