gr::soapy::block
gr::block
gr::soapy::sink
gr::soapy::source
gnuradio/soapy/block.h
std::string virtual std::string gr::soapy::block::get_driver_key () const =0 get_driver_key gr::soapy::block::get_driver_key

A key that uniquely identifies the device driver. This key identifies the underlying implementation. Several variants of a product may share a driver.

std::string virtual std::string gr::soapy::block::get_hardware_key () const =0 get_hardware_key gr::soapy::block::get_hardware_key

A key that uniquely identifies the hardware. This key should be meaningful to the user to optimize for the underlying hardware.

kwargs_t virtual kwargs_t gr::soapy::block::get_hardware_info () const =0 get_hardware_info gr::soapy::block::get_hardware_info

Query a dictionary of available device information. This dictionary can any number of values like vendor name, product name, revisions, serials... This information can be displayed to the user to help identify the instantiated device.

void virtual void gr::soapy::block::set_frontend_mapping (const std::string &frontend_mapping)=0 set_frontend_mapping gr::soapy::block::set_frontend_mapping const std::string & frontend_mapping

Set the frontend mapping of available DSP units to RF frontends. This mapping controls channel mapping and channel availability. frontend_mapping

a vendor-specific mapping string

std::string virtual std::string gr::soapy::block::get_frontend_mapping () const =0 get_frontend_mapping gr::soapy::block::get_frontend_mapping

Get the frontend mapping of available DSP units to RF frontends. This mapping describes channel mapping and channel availability.

a vendor-specific mapping string

kwargs_t virtual kwargs_t gr::soapy::block::get_channel_info (size_t channel) const =0 get_channel_info gr::soapy::block::get_channel_info size_t channel

Query a dictionary of available channel information. This dictionary can any number of values like decoder type, version, available functions... This information can be displayed to the user to help identify the instantiated channel. channel

an available channel on the device

channel information

void virtual void gr::soapy::block::set_sample_rate (size_t channel, double sample_rate)=0 set_sample_rate gr::soapy::block::set_sample_rate size_t channel double sample_rate

Set sample rate channel

an available channel

sample_rate

samples per second

double virtual double gr::soapy::block::get_sample_rate (size_t channel) const =0 get_sample_rate gr::soapy::block::get_sample_rate size_t channel

Get the baseband sample rate of the RX chain. channel

an available channel on the device

the sample rate in samples per second

range_list_t virtual range_list_t gr::soapy::block::get_sample_rate_range (size_t channel) const =0 get_sample_rate_range gr::soapy::block::get_sample_rate_range size_t channel

Get the range of possible baseband sample rates. channel

an available channel on the device

a list of sample rate ranges in samples per second

void virtual void gr::soapy::block::set_frequency (size_t channel, double freq)=0 set_frequency gr::soapy::block::set_frequency size_t channel double freq

Set device center frequency channel

an available channel

freq

frequency in Hz

void virtual void gr::soapy::block::set_frequency (size_t channel, const std::string &name, double freq)=0 set_frequency gr::soapy::block::set_frequency size_t channel const std::string & name double freq

Set center frequency of a tunable element channel

an available channel

name

an available element name

freq

frequency in Hz

gr::basic_block::name
double virtual double gr::soapy::block::get_frequency (size_t channel) const =0 get_frequency gr::soapy::block::get_frequency size_t channel

Get the down conversion frequency of the chain. channel

an available channel on the device

the center frequency in Hz

double virtual double gr::soapy::block::get_frequency (size_t channel, const std::string &name) const =0 get_frequency gr::soapy::block::get_frequency size_t channel const std::string & name

Get the frequency of a tunable element in the chain. channel

an available channel on the device

name

the name of a tunable element

the tunable element's frequency in Hz

gr::basic_block::name
std::vector< std::string > virtual std::vector< std::string > gr::soapy::block::list_frequencies (size_t channel) const =0 list_frequencies gr::soapy::block::list_frequencies size_t channel

List available tunable elements in the chain. Elements should be in order RF to baseband. channel

an available channel

a list of tunable elements by name

range_list_t virtual range_list_t gr::soapy::block::get_frequency_range (size_t channel) const =0 get_frequency_range gr::soapy::block::get_frequency_range size_t channel

Get the range of overall frequency values. channel

an available channel on the device

a list of frequency ranges in Hz

range_list_t virtual range_list_t gr::soapy::block::get_frequency_range (size_t channel, const std::string &name) const =0 get_frequency_range gr::soapy::block::get_frequency_range size_t channel const std::string & name

Get the range of tunable values for the specified element. channel

an available channel on the device

name

the name of a tunable element

a list of frequency ranges in Hz

gr::basic_block::name
arginfo_list_t virtual arginfo_list_t gr::soapy::block::get_frequency_args_info (size_t channel) const =0 get_frequency_args_info gr::soapy::block::get_frequency_args_info size_t channel

Query the argument info description for stream args. channel

an available channel on the device

a list of argument info structures

void virtual void gr::soapy::block::set_bandwidth (size_t channel, double bandwidth)=0 set_bandwidth gr::soapy::block::set_bandwidth size_t channel double bandwidth

Set filter bandwidth channel

an available channel

bandwidth

filter width in Hz

double virtual double gr::soapy::block::get_bandwidth (size_t channel) const =0 get_bandwidth gr::soapy::block::get_bandwidth size_t channel

Get baseband filter width of the RX chain. channel

an available channel on the device

the baseband filter width in Hz

range_list_t virtual range_list_t gr::soapy::block::get_bandwidth_range (size_t channel) const =0 get_bandwidth_range gr::soapy::block::get_bandwidth_range size_t channel

Get the range of possible baseband filter widths. channel

an available channel on the device

a list of bandwidth ranges in Hz

std::vector< std::string > virtual std::vector< std::string > gr::soapy::block::list_antennas (int channel) const =0 list_antennas gr::soapy::block::list_antennas int channel

List available antennas for a channel channel

channel index

available antenna names

void virtual void gr::soapy::block::set_antenna (size_t channel, const std::string &name)=0 set_antenna gr::soapy::block::set_antenna size_t channel const std::string & name

Set antenna for channel channel

an available channel

name

an available antenna string name

gr::basic_block::name
std::string virtual std::string gr::soapy::block::get_antenna (size_t channel) const =0 get_antenna gr::soapy::block::get_antenna size_t channel

Get the selected antenna on RX chain. channel

an available channel on the device

the name of the selected antenna

bool virtual bool gr::soapy::block::has_gain_mode (size_t channel) const =0 has_gain_mode gr::soapy::block::has_gain_mode size_t channel

Return whether automatic gain control (AGC) is supported channel

an available channel

void virtual void gr::soapy::block::set_gain_mode (size_t channel, bool enable)=0 set_gain_mode gr::soapy::block::set_gain_mode size_t channel bool enable

Set automatic gain control (AGC) channel

an available channel

enable

true to enable AGC

bool virtual bool gr::soapy::block::get_gain_mode (size_t channel) const =0 get_gain_mode gr::soapy::block::get_gain_mode size_t channel

Get the automatic gain mode on the RX chain. channel

an available channel on the device

true for automatic gain setting

std::vector< std::string > virtual std::vector< std::string > gr::soapy::block::list_gains (size_t channel) const =0 list_gains gr::soapy::block::list_gains size_t channel

List available amplification elements. Elements should be in order RF to baseband. channel

an available channel

a list of gain string names

void virtual void gr::soapy::block::set_gain (size_t channel, double gain)=0 set_gain gr::soapy::block::set_gain size_t channel double gain

Set overall gain The gain will be distributed automatically across available elements according to Soapy API. channel

an available channel

gain

overall gain value

void virtual void gr::soapy::block::set_gain (size_t channel, const std::string &name, double gain)=0 set_gain gr::soapy::block::set_gain size_t channel const std::string & name double gain

Set specific gain value channel

an available channel

name

gain name to set

gain

gain value

gr::basic_block::name
double virtual double gr::soapy::block::get_gain (size_t channel) const =0 get_gain gr::soapy::block::get_gain size_t channel

Get the overall value of the gain elements in a chain channel

an available channel on the device

the value of the gain in dB

double virtual double gr::soapy::block::get_gain (size_t channel, const std::string &name) const =0 get_gain gr::soapy::block::get_gain size_t channel const std::string & name

Get the value of an individual amplification element in a chain. channel

an available channel on the device

name

the name of an amplification element

the value of the gain in dB

gr::basic_block::name
range_t virtual range_t gr::soapy::block::get_gain_range (size_t channel) const =0 get_gain_range gr::soapy::block::get_gain_range size_t channel

Get the overall range of possible gain values. channel

an available channel on the device

a list of gain ranges in dB

range_t virtual range_t gr::soapy::block::get_gain_range (size_t channel, const std::string &name) const =0 get_gain_range gr::soapy::block::get_gain_range size_t channel const std::string & name

Get the range of possible gain values for a specific element. channel

an available channel on the device

name

the name of an amplification element

a list of gain ranges in dB

gr::basic_block::name
bool virtual bool gr::soapy::block::has_frequency_correction (size_t channel) const =0 has_frequency_correction gr::soapy::block::has_frequency_correction size_t channel

Return whether frequency correction is supported channel

an available channel

void virtual void gr::soapy::block::set_frequency_correction (size_t channel, double freq_correction)=0 set_frequency_correction gr::soapy::block::set_frequency_correction size_t channel double freq_correction

Set frequency correction channel

an available channel

freq_correction

in PPM

double virtual double gr::soapy::block::get_frequency_correction (size_t channel) const =0 get_frequency_correction gr::soapy::block::get_frequency_correction size_t channel

Get the frequency correction value. channel

an available channel on the device

the correction value in PPM

bool virtual bool gr::soapy::block::has_dc_offset_mode (size_t channel) const =0 has_dc_offset_mode gr::soapy::block::has_dc_offset_mode size_t channel

Return whether DC offset mode can be set channel

an available channel

void virtual void gr::soapy::block::set_dc_offset_mode (size_t channel, bool automatic)=0 set_dc_offset_mode gr::soapy::block::set_dc_offset_mode size_t channel bool automatic

Set DC offset mode channel

an available channel

automatic

true to set automatic DC removal

bool virtual bool gr::soapy::block::get_dc_offset_mode (size_t channel) const =0 get_dc_offset_mode gr::soapy::block::get_dc_offset_mode size_t channel

Get the automatic DC offset correction mode. channel

an available channel on the device

true for automatic offset correction

bool virtual bool gr::soapy::block::has_dc_offset (size_t channel) const =0 has_dc_offset gr::soapy::block::has_dc_offset size_t channel

Return whether manual dc offset correction is supported channel

an available channel

void virtual void gr::soapy::block::set_dc_offset (size_t channel, const gr_complexd &dc_offset)=0 set_dc_offset gr::soapy::block::set_dc_offset size_t channel const gr_complexd & dc_offset

Set dc offset correction channel

an available channel

dc_offset

complex dc offset correction

gr_complexd virtual gr_complexd gr::soapy::block::get_dc_offset (size_t channel) const =0 get_dc_offset gr::soapy::block::get_dc_offset size_t channel

Get the DC offset correction. channel

an available channel on the device

the relative correction (1.0 max)

bool virtual bool gr::soapy::block::has_iq_balance (size_t channel) const =0 has_iq_balance gr::soapy::block::has_iq_balance size_t channel

Return whether manual IQ balance correction is supported channel

an available channel

void virtual void gr::soapy::block::set_iq_balance (size_t channel, const gr_complexd &iq_balance)=0 set_iq_balance gr::soapy::block::set_iq_balance size_t channel const gr_complexd & iq_balance

Set IQ balance correction channel

an available channel

iq_balance

complex iq balance correction

gr_complexd virtual gr_complexd gr::soapy::block::get_iq_balance (size_t channel) const =0 get_iq_balance gr::soapy::block::get_iq_balance size_t channel

Get the IQ balance correction. channel

an available channel on the device

the relative correction (1.0 max)

bool virtual bool gr::soapy::block::has_iq_balance_mode (size_t channel) const =0 has_iq_balance_mode gr::soapy::block::has_iq_balance_mode size_t channel

Does the device support automatic frontend IQ balance correction? channel

an available channel on the device

true if IQ balance corrections are supported

void virtual void gr::soapy::block::set_iq_balance_mode (size_t channel, bool automatic)=0 set_iq_balance_mode gr::soapy::block::set_iq_balance_mode size_t channel bool automatic

Set the automatic frontend IQ balance correction. channel

an available channel on the device

automatic

true for automatic correction

bool virtual bool gr::soapy::block::get_iq_balance_mode (size_t channel) const =0 get_iq_balance_mode gr::soapy::block::get_iq_balance_mode size_t channel

Get the automatic IQ balance corrections mode. channel

an available channel on the device

true for automatic correction

void virtual void gr::soapy::block::set_master_clock_rate (double clock_rate)=0 set_master_clock_rate gr::soapy::block::set_master_clock_rate double clock_rate

Set master clock rate clock_rate

clock rate in Hz

double virtual double gr::soapy::block::get_master_clock_rate () const =0 get_master_clock_rate gr::soapy::block::get_master_clock_rate

Get the master clock rate of the device.

the clock rate in Hz

range_list_t virtual range_list_t gr::soapy::block::get_master_clock_rates () const =0 get_master_clock_rates gr::soapy::block::get_master_clock_rates

Get the range of available master clock rates.

a list of clock rate ranges in Hz

void virtual void gr::soapy::block::set_reference_clock_rate (double rate)=0 set_reference_clock_rate gr::soapy::block::set_reference_clock_rate double rate

Set the reference clock rate of the device. rate

the clock rate in Hz

double virtual double gr::soapy::block::get_reference_clock_rate () const =0 get_reference_clock_rate gr::soapy::block::get_reference_clock_rate

Get the reference clock rate of the device.

the clock rate in Hz

range_list_t virtual range_list_t gr::soapy::block::get_reference_clock_rates () const =0 get_reference_clock_rates gr::soapy::block::get_reference_clock_rates

Get the range of available reference clock rates.

a list of clock rate ranges in Hz

std::vector< std::string > virtual std::vector< std::string > gr::soapy::block::list_clock_sources () const =0 list_clock_sources gr::soapy::block::list_clock_sources

Get the list of available clock sources.

a list of clock source names

void virtual void gr::soapy::block::set_clock_source (const std::string &clock_source)=0 set_clock_source gr::soapy::block::set_clock_source const std::string & clock_source

Set the clock source clock_source

an available clock source

std::string virtual std::string gr::soapy::block::get_clock_source () const =0 get_clock_source gr::soapy::block::get_clock_source

Get the clock source of the device

the name of the clock source

std::vector< std::string > virtual std::vector< std::string > gr::soapy::block::list_time_sources () const =0 list_time_sources gr::soapy::block::list_time_sources

Get the list of available time sources.

a list of time source names

void virtual void gr::soapy::block::set_time_source (const std::string &source)=0 set_time_source gr::soapy::block::set_time_source const std::string & source

Set the time source on the device source

the name of a time source

std::string virtual std::string gr::soapy::block::get_time_source () const =0 get_time_source gr::soapy::block::get_time_source

Get the time source of the device

the name of a time source

bool virtual bool gr::soapy::block::has_hardware_time (const std::string &what="") const =0 has_hardware_time gr::soapy::block::has_hardware_time const std::string & what ""

Does this device have a hardware clock? what

optional argument

true if the hardware clock exists

long long virtual long long gr::soapy::block::get_hardware_time (const std::string &what="") const =0 get_hardware_time gr::soapy::block::get_hardware_time const std::string & what ""

Read the time from the hardware clock on the device. The what argument can refer to a specific time counter. what

optional argument

the time in nanoseconds

void virtual void gr::soapy::block::set_hardware_time (long long timeNs, const std::string &what="")=0 set_hardware_time gr::soapy::block::set_hardware_time long long timeNs const std::string & what ""

Write the time to the hardware clock on the device. The what argument can refer to a specific time counter. timeNs

time in nanoseconds

what

optional argument

std::vector< std::string > virtual std::vector< std::string > gr::soapy::block::list_sensors () const =0 list_sensors gr::soapy::block::list_sensors

List the available global readback sensors. A sensor can represent a reference lock, RSSI, temperature.

a list of available sensor string names

arginfo_t virtual arginfo_t gr::soapy::block::get_sensor_info (const std::string &key) const =0 get_sensor_info gr::soapy::block::get_sensor_info const std::string & key

Get meta-information about a sensor. Example: displayable name, type, range. key

the ID name of an available sensor

meta-information about a sensor

std::string virtual std::string gr::soapy::block::read_sensor (const std::string &key) const =0 read_sensor gr::soapy::block::read_sensor const std::string & key

Readback a global sensor given the name. The value returned is a string which can represent a boolean ("true"/"false"), an integer, or float. key

the ID name of an available sensor

the current value of the sensor

std::vector< std::string > virtual std::vector< std::string > gr::soapy::block::list_sensors (size_t channel) const =0 list_sensors gr::soapy::block::list_sensors size_t channel

List the available channel readback sensors. A sensor can represent a reference lock, RSSI, temperature. channel

an available channel on the device

a list of available sensor string names

arginfo_t virtual arginfo_t gr::soapy::block::get_sensor_info (size_t channel, const std::string &key) const =0 get_sensor_info gr::soapy::block::get_sensor_info size_t channel const std::string & key

Get meta-information about a channel sensor. Example: displayable name, type, range. channel

an available channel on the device

key

the ID name of an available sensor

meta-information about a sensor

std::string virtual std::string gr::soapy::block::read_sensor (size_t channel, const std::string &key) const =0 read_sensor gr::soapy::block::read_sensor size_t channel const std::string & key

Readback a channel sensor given the name. The value returned is a string which can represent a boolean ("true"/"false"), an integer, or float. channel

an available channel on the device

key

the ID name of an available sensor

the current value of the sensor

std::vector< std::string > virtual std::vector< std::string > gr::soapy::block::list_register_interfaces () const =0 list_register_interfaces gr::soapy::block::list_register_interfaces

Get a list of available register interfaces by name.

a list of available register interfaces

void virtual void gr::soapy::block::write_register (const std::string &name, unsigned addr, unsigned value)=0 write_register gr::soapy::block::write_register const std::string & name unsigned addr unsigned value

Write a register on the device given the interface name. This can represent a register on a soft CPU, FPGA, IC; the interpretation is up the implementation to decide. name

the name of a available register interface

addr

the register address

value

the register value

gr::basic_block::name
unsigned virtual unsigned gr::soapy::block::read_register (const std::string &name, unsigned addr) const =0 read_register gr::soapy::block::read_register const std::string & name unsigned addr

Read a register on the device given the interface name. name

the name of a available register interface

addr

the register address

the register value

gr::basic_block::name
void virtual void gr::soapy::block::write_registers (const std::string &name, unsigned addr, const std::vector< unsigned > &value)=0 write_registers gr::soapy::block::write_registers const std::string & name unsigned addr const std::vector< unsigned > & value

Write a memory block on the device given the interface name. This can represent a memory block on a soft CPU, FPGA, IC; the interpretation is up the implementation to decide. name

the name of a available memory block interface

addr

the memory block start address

value

the memory block content

gr::basic_block::name
std::vector< unsigned > virtual std::vector< unsigned > gr::soapy::block::read_registers (const std::string &name, unsigned addr, size_t length) const =0 read_registers gr::soapy::block::read_registers const std::string & name unsigned addr size_t length

Read a memory block on the device given the interface name. name

the name of a available memory block interface

addr

the memory block start address

length

number of words to be read from memory block

the memory block content

gr::basic_block::name
arginfo_list_t virtual arginfo_list_t gr::soapy::block::get_setting_info () const =0 get_setting_info gr::soapy::block::get_setting_info

Describe the allowed keys and values used for settings.

a list of argument info structures

void virtual void gr::soapy::block::write_setting (const std::string &key, const std::string &value)=0 write_setting gr::soapy::block::write_setting const std::string & key const std::string & value

Write an arbitrary setting on the device. The interpretation is up the implementation. key

the setting identifier

value

the setting value

std::string virtual std::string gr::soapy::block::read_setting (const std::string &key) const =0 read_setting gr::soapy::block::read_setting const std::string & key

Read an arbitrary setting on the device. key

the setting identifier

the setting value

arginfo_list_t virtual arginfo_list_t gr::soapy::block::get_setting_info (size_t channel) const =0 get_setting_info gr::soapy::block::get_setting_info size_t channel

Describe the allowed keys and values used for channel settings. channel

an available channel on the device

a list of argument info structures

void virtual void gr::soapy::block::write_setting (size_t channel, const std::string &key, const std::string &value)=0 write_setting gr::soapy::block::write_setting size_t channel const std::string & key const std::string & value

Write an arbitrary channel setting on the device. The interpretation is up the implementation. channel

an available channel on the device

key

the setting identifier

value

the setting value

std::string virtual std::string gr::soapy::block::read_setting (size_t channel, const std::string &key) const =0 read_setting gr::soapy::block::read_setting size_t channel const std::string & key

Read an arbitrary channel setting on the device. channel

an available channel on the device

key

the setting identifier

the setting value

std::vector< std::string > virtual std::vector< std::string > gr::soapy::block::list_gpio_banks () const =0 list_gpio_banks gr::soapy::block::list_gpio_banks

Get a list of available GPIO banks by name.

void virtual void gr::soapy::block::write_gpio (const std::string &bank, unsigned value)=0 write_gpio gr::soapy::block::write_gpio const std::string & bank unsigned value

Write the value of a GPIO bank. bank

the name of an available bank

value

an integer representing GPIO bits

void virtual void gr::soapy::block::write_gpio (const std::string &bank, unsigned value, unsigned mask)=0 write_gpio gr::soapy::block::write_gpio const std::string & bank unsigned value unsigned mask

Write the value of a GPIO bank with modification mask. bank

the name of an available bank

value

an integer representing GPIO bits

mask

a modification mask where 1 = modify

unsigned virtual unsigned gr::soapy::block::read_gpio (const std::string &bank) const =0 read_gpio gr::soapy::block::read_gpio const std::string & bank

Readback the value of a GPIO bank. bank

the name of an available bank

an integer representing GPIO bits

void virtual void gr::soapy::block::write_gpio_dir (const std::string &bank, unsigned dir)=0 write_gpio_dir gr::soapy::block::write_gpio_dir const std::string & bank unsigned dir

Write the data direction of a GPIO bank. 1 bits represent outputs, 0 bits represent inputs. bank

the name of an available bank

dir

an integer representing data direction bits

void virtual void gr::soapy::block::write_gpio_dir (const std::string &bank, unsigned dir, unsigned mask)=0 write_gpio_dir gr::soapy::block::write_gpio_dir const std::string & bank unsigned dir unsigned mask

Write the data direction of a GPIO bank with modification mask. 1 bits represent outputs, 0 bits represent inputs. bank

the name of an available bank

dir

an integer representing data direction bits

mask

a modification mask where 1 = modify

unsigned virtual unsigned gr::soapy::block::read_gpio_dir (const std::string &bank) const =0 read_gpio_dir gr::soapy::block::read_gpio_dir const std::string & bank

Read the data direction of a GPIO bank. 1 bits represent outputs, 0 bits represent inputs. bank

the name of an available bank

an integer representing data direction bits

void virtual void gr::soapy::block::write_i2c (int addr, const std::string &data)=0 write_i2c gr::soapy::block::write_i2c int addr const std::string & data

Write to an available I2C slave. If the device contains multiple I2C masters, the address bits can encode which master. addr

the address of the slave

data

an array of bytes write out

std::string virtual std::string gr::soapy::block::read_i2c (int addr, size_t num_bytes)=0 read_i2c gr::soapy::block::read_i2c int addr size_t num_bytes

Read from an available I2C slave. If the device contains multiple I2C masters, the address bits can encode which master. addr

the address of the slave

num_bytes

the number of bytes to read

an array of bytes read from the slave

unsigned virtual unsigned gr::soapy::block::transact_spi (int addr, unsigned data, size_t num_bits)=0 transact_spi gr::soapy::block::transact_spi int addr unsigned data size_t num_bits

Perform a SPI transaction and return the result. Its up to the implementation to set the clock rate, and read edge, and the write edge of the SPI core. SPI slaves without a readback pin will return 0.

If the device contains multiple SPI masters, the address bits can encode which master.

addr

an address of an available SPI slave

data

the SPI data, num_bits-1 is first out

num_bits

the number of bits to clock out

the readback data, num_bits-1 is first in

std::vector< std::string > virtual std::vector< std::string > gr::soapy::block::list_uarts () const =0 list_uarts gr::soapy::block::list_uarts

Enumerate the available UART devices.

a list of names of available UARTs

void virtual void gr::soapy::block::write_uart (const std::string &which, const std::string &data)=0 write_uart gr::soapy::block::write_uart const std::string & which const std::string & data

Write data to a UART device. Its up to the implementation to set the baud rate, carriage return settings, flushing on newline. which

the name of an available UART

data

an array of bytes to write out

std::string virtual std::string gr::soapy::block::read_uart (const std::string &which, long timeout_us=100000) const =0 read_uart gr::soapy::block::read_uart const std::string & which long timeout_us 100000

Read bytes from a UART until timeout or newline. Its up to the implementation to set the baud rate, carriage return settings, flushing on newline. which

the name of an available UART

timeout_us

a timeout in microseconds

an array of bytes read from the UART

gr::basic_block
gr::block
gr::messages::msg_accepter
gr::msg_accepter
gr::soapy::block
gr::soapy::sink
gr::soapy::source
std::enable_shared_from_this< basic_block >
gr::basic_block
d_name
d_symbol_alias
d_symbol_name
d_input_signature
d_output_signature
d_debug_logger
d_logger
msg_queue
d_rpc_vars
d_message_subscribers
gr::block
d_max_output_buffer
d_min_output_buffer
d_pmt_done
d_system_port
gr::messages::msg_accepter
gr::msg_accepter
gr::soapy::block
std::basic_string< Char >
std::enable_shared_from_this< basic_block >
std::map< pmt::pmt_t, msg_queue_t, msg_queue_comparator >
std::shared_ptr< io_signature >
std::shared_ptr< logger >
std::shared_ptr< pmt_base >
std::shared_ptr< rpcbasic_base >
std::string
std::vector< long >
std::vector< rpcbasic_sptr >
elements
p
- gr::soapy::block
  _post
- gr::soapy::block
  active_thread_priority
- gr::soapy::block
  add_item_tag
- gr::soapy::block
  add_item_tag
- gr::soapy::block
  alias
- gr::soapy::block
  alias_pmt
- gr::soapy::block
  alias_set
- gr::soapy::block
  alignment
- gr::soapy::block
  allocate_buffer
- gr::soapy::block
  allocate_detail
- gr::soapy::block
  basic_block
- gr::soapy::block
  basic_block
- gr::soapy::block
  BLACK
- gr::soapy::block
  blkd_input_timer_value
- gr::soapy::block
  block
- gr::soapy::block
  block
- gr::soapy::block
  check_topology
- gr::soapy::block
  clear_finished
- gr::soapy::block
  color
- gr::soapy::block
  consume
- gr::soapy::block
  consume_each
- gr::soapy::block
  d_blkd_input_timer_value
- gr::soapy::block
  d_color
- gr::soapy::block
  d_debug_logger
- gr::soapy::block
  d_input_signature
- gr::soapy::block
  d_logger
- gr::soapy::block
  d_max_output_buffer
- gr::soapy::block
  d_message_subscribers
- gr::soapy::block
  d_min_output_buffer
- gr::soapy::block
  d_name
- gr::soapy::block
  d_output_signature
- gr::soapy::block
  d_pmt_done
- gr::soapy::block
  d_rpc_set
- gr::soapy::block
  d_rpc_vars
- gr::soapy::block
  d_setlock
- gr::soapy::block
  d_symbol_alias
- gr::soapy::block
  d_symbol_name
- gr::soapy::block
  d_symbolic_id
- gr::soapy::block
  d_system_port
- gr::soapy::block
  d_unique_id
- gr::soapy::block
  declare_sample_delay
- gr::soapy::block
  declare_sample_delay
- gr::soapy::block
  delete_head_nowait
- gr::soapy::block
  detail
- gr::soapy::block
  dispatch_msg
- gr::soapy::block
  empty_handled_p
- gr::soapy::block
  empty_handled_p
- gr::soapy::block
  empty_p
- gr::soapy::block
  empty_p
- gr::soapy::block
  enable_update_rate
- gr::soapy::block
  erase_msg
- gr::soapy::block
  expand_minmax_buffer
- gr::soapy::block
  finished
- gr::soapy::block
  fixed_rate
- gr::soapy::block
  fixed_rate_ninput_to_noutput
- gr::soapy::block
  fixed_rate_noutput_to_ninput
- gr::soapy::block
  forecast
- gr::soapy::block
  general_work
- gr::soapy::block
  get_antenna
- gr::soapy::block
  get_bandwidth
- gr::soapy::block
  get_bandwidth_range
- gr::soapy::block
  get_channel_info
- gr::soapy::block
  get_clock_source
- gr::soapy::block
  get_dc_offset
- gr::soapy::block
  get_dc_offset_mode
- gr::soapy::block
  get_driver_key
- gr::soapy::block
  get_frequency
- gr::soapy::block
  get_frequency
- gr::soapy::block
  get_frequency_args_info
- gr::soapy::block
  get_frequency_correction
- gr::soapy::block
  get_frequency_range
- gr::soapy::block
  get_frequency_range
- gr::soapy::block
  get_frontend_mapping
- gr::soapy::block
  get_gain
- gr::soapy::block
  get_gain
- gr::soapy::block
  get_gain_mode
- gr::soapy::block
  get_gain_range
- gr::soapy::block
  get_gain_range
- gr::soapy::block
  get_hardware_info
- gr::soapy::block
  get_hardware_key
- gr::soapy::block
  get_hardware_time
- gr::soapy::block
  get_iq_balance
- gr::soapy::block
  get_iq_balance_mode
- gr::soapy::block
  get_iterator
- gr::soapy::block
  get_master_clock_rate
- gr::soapy::block
  get_master_clock_rates
- gr::soapy::block
  get_msg_map
- gr::soapy::block
  get_reference_clock_rate
- gr::soapy::block
  get_reference_clock_rates
- gr::soapy::block
  get_sample_rate
- gr::soapy::block
  get_sample_rate_range
- gr::soapy::block
  get_sensor_info
- gr::soapy::block
  get_sensor_info
- gr::soapy::block
  get_setting_info
- gr::soapy::block
  get_setting_info
- gr::soapy::block
  get_tags_in_range
- gr::soapy::block
  get_tags_in_range
- gr::soapy::block
  get_tags_in_window
- gr::soapy::block
  get_tags_in_window
- gr::soapy::block
  get_time_source
- gr::soapy::block
  GREY
- gr::soapy::block
  has_dc_offset
- gr::soapy::block
  has_dc_offset_mode
- gr::soapy::block
  has_frequency_correction
- gr::soapy::block
  has_gain_mode
- gr::soapy::block
  has_hardware_time
- gr::soapy::block
  has_iq_balance
- gr::soapy::block
  has_iq_balance_mode
- gr::soapy::block
  has_msg_handler
- gr::soapy::block
  has_msg_port
- gr::soapy::block
  history
- gr::soapy::block
  identifier
- gr::soapy::block
  input_signature
- gr::soapy::block
  insert_tail
- gr::soapy::block
  is_pc_rpc_set
- gr::soapy::block
  is_rpc_set
- gr::soapy::block
  is_set_max_noutput_items
- gr::soapy::block
  is_unaligned
- gr::soapy::block
  list_antennas
- gr::soapy::block
  list_clock_sources
- gr::soapy::block
  list_frequencies
- gr::soapy::block
  list_gains
- gr::soapy::block
  list_gpio_banks
- gr::soapy::block
  list_register_interfaces
- gr::soapy::block
  list_sensors
- gr::soapy::block
  list_sensors
- gr::soapy::block
  list_time_sources
- gr::soapy::block
  list_uarts
- gr::soapy::block
  log_level
- gr::soapy::block
  max_noutput_items
- gr::soapy::block
  max_output_buffer
- gr::soapy::block
  message_port_is_hier
- gr::soapy::block
  message_port_is_hier_in
- gr::soapy::block
  message_port_is_hier_out
- gr::soapy::block
  message_port_pub
- gr::soapy::block
  message_port_register_in
- gr::soapy::block
  message_port_register_out
- gr::soapy::block
  message_port_sub
- gr::soapy::block
  message_port_unsub
- gr::soapy::block
  message_ports_in
- gr::soapy::block
  message_ports_out
- gr::soapy::block
  message_subscribers
- gr::soapy::block
  min_noutput_items
- gr::soapy::block
  min_output_buffer
- gr::soapy::block
  mp_relative_rate
- gr::soapy::block
  msg_accepter
- gr::soapy::block
  msg_queue
- gr::soapy::block
  name
- gr::soapy::block
  nitems_read
- gr::soapy::block
  nitems_written
- gr::soapy::block
  nmsgs
- gr::soapy::block
  no_pc_rpc
- gr::soapy::block
  notify_msg_neighbors
- gr::soapy::block
  output_multiple
- gr::soapy::block
  output_multiple_set
- gr::soapy::block
  output_signature
- gr::soapy::block
  pc_input_buffers_full
- gr::soapy::block
  pc_input_buffers_full
- gr::soapy::block
  pc_input_buffers_full_avg
- gr::soapy::block
  pc_input_buffers_full_avg
- gr::soapy::block
  pc_input_buffers_full_var
- gr::soapy::block
  pc_input_buffers_full_var
- gr::soapy::block
  pc_noutput_items
- gr::soapy::block
  pc_noutput_items_avg
- gr::soapy::block
  pc_noutput_items_var
- gr::soapy::block
  pc_nproduced
- gr::soapy::block
  pc_nproduced_avg
- gr::soapy::block
  pc_nproduced_var
- gr::soapy::block
  pc_output_buffers_full
- gr::soapy::block
  pc_output_buffers_full
- gr::soapy::block
  pc_output_buffers_full_avg
- gr::soapy::block
  pc_output_buffers_full_avg
- gr::soapy::block
  pc_output_buffers_full_var
- gr::soapy::block
  pc_output_buffers_full_var
- gr::soapy::block
  pc_throughput_avg
- gr::soapy::block
  pc_work_time
- gr::soapy::block
  pc_work_time_avg
- gr::soapy::block
  pc_work_time_total
- gr::soapy::block
  pc_work_time_var
- gr::soapy::block
  post
- gr::soapy::block
  processor_affinity
- gr::soapy::block
  produce
- gr::soapy::block
  read_gpio
- gr::soapy::block
  read_gpio_dir
- gr::soapy::block
  read_i2c
- gr::soapy::block
  read_register
- gr::soapy::block
  read_registers
- gr::soapy::block
  read_sensor
- gr::soapy::block
  read_sensor
- gr::soapy::block
  read_setting
- gr::soapy::block
  read_setting
- gr::soapy::block
  read_uart
- gr::soapy::block
  relative_rate
- gr::soapy::block
  relative_rate_d
- gr::soapy::block
  relative_rate_i
- gr::soapy::block
  remove_item_tag
- gr::soapy::block
  remove_item_tag
- gr::soapy::block
  replace_buffer
- gr::soapy::block
  reset_perf_counters
- gr::soapy::block
  rpc_set
- gr::soapy::block
  sample_delay
- gr::soapy::block
  set_alignment
- gr::soapy::block
  set_antenna
- gr::soapy::block
  set_bandwidth
- gr::soapy::block
  set_blkd_input_timer_value
- gr::soapy::block
  set_block_alias
- gr::soapy::block
  set_clock_source
- gr::soapy::block
  set_color
- gr::soapy::block
  set_dc_offset
- gr::soapy::block
  set_dc_offset_mode
- gr::soapy::block
  set_detail
- gr::soapy::block
  set_fixed_rate
- gr::soapy::block
  set_frequency
- gr::soapy::block
  set_frequency
- gr::soapy::block
  set_frequency_correction
- gr::soapy::block
  set_frontend_mapping
- gr::soapy::block
  set_gain
- gr::soapy::block
  set_gain
- gr::soapy::block
  set_gain_mode
- gr::soapy::block
  set_hardware_time
- gr::soapy::block
  set_history
- gr::soapy::block
  set_input_signature
- gr::soapy::block
  set_inverse_relative_rate
- gr::soapy::block
  set_iq_balance
- gr::soapy::block
  set_iq_balance_mode
- gr::soapy::block
  set_is_unaligned
- gr::soapy::block
  set_log_level
- gr::soapy::block
  set_master_clock_rate
- gr::soapy::block
  set_max_noutput_items
- gr::soapy::block
  set_max_output_buffer
- gr::soapy::block
  set_max_output_buffer
- gr::soapy::block
  set_min_noutput_items
- gr::soapy::block
  set_min_output_buffer
- gr::soapy::block
  set_min_output_buffer
- gr::soapy::block
  set_msg_handler
- gr::soapy::block
  set_output_multiple
- gr::soapy::block
  set_output_signature
- gr::soapy::block
  set_processor_affinity
- gr::soapy::block
  set_reference_clock_rate
- gr::soapy::block
  set_relative_rate
- gr::soapy::block
  set_relative_rate
- gr::soapy::block
  set_sample_rate
- gr::soapy::block
  set_tag_propagation_policy
- gr::soapy::block
  set_thread_priority
- gr::soapy::block
  set_time_source
- gr::soapy::block
  set_unaligned
- gr::soapy::block
  setup_pc_rpc
- gr::soapy::block
  setup_rpc
- gr::soapy::block
  shared_from_base
- gr::soapy::block
  start
- gr::soapy::block
  stop
- gr::soapy::block
  symbol_name
- gr::soapy::block
  symbolic_id
- gr::soapy::block
  system_handler
- gr::soapy::block
  tag_propagation_policy
- gr::soapy::block
  tag_propagation_policy_t
- gr::soapy::block
  thread_priority
- gr::soapy::block
  to_basic_block
- gr::soapy::block
  TPP_ALL_TO_ALL
- gr::soapy::block
  TPP_CUSTOM
- gr::soapy::block
  TPP_DONT
- gr::soapy::block
  TPP_ONE_TO_ONE
- gr::soapy::block
  transact_spi
- gr::soapy::block
  unaligned
- gr::soapy::block
  unique_id
- gr::soapy::block
  unset_max_noutput_items
- gr::soapy::block
  unset_processor_affinity
- gr::soapy::block
  update_rate
- gr::soapy::block
  vcolor
- gr::soapy::block
  WHITE
- gr::soapy::block
  WORK_CALLED_PRODUCE
- gr::soapy::block
  WORK_DONE
- gr::soapy::block
  work_return_t
- gr::soapy::block
  write_gpio
- gr::soapy::block
  write_gpio
- gr::soapy::block
  write_gpio_dir
- gr::soapy::block
  write_gpio_dir
- gr::soapy::block
  write_i2c
- gr::soapy::block
  write_register
- gr::soapy::block
  write_registers
- gr::soapy::block
  write_setting
- gr::soapy::block
  write_setting
- gr::soapy::block
  write_uart
- gr::soapy::block
  ~basic_block
- gr::soapy::block
  ~block
- gr::soapy::block
  ~msg_accepter