Loading...
Searching...
No Matches
usrp.h
Go to the documentation of this file.
//
// Copyright 2015-2016 Ettus Research LLC
// Copyright 2018 Ettus Research, a National Instruments Company
//
// SPDX-License-Identifier: GPL-3.0-or-later
//
#pragma once
#include <uhd/config.h>
#include <uhd/error.h>
#include <uhd/types/metadata.h>
#include <uhd/types/ranges.h>
#include <uhd/types/sensors.h>
#include <uhd/types/string_vector.h>
#include <uhd/types/tune_request.h>
#include <uhd/types/tune_result.h>
#include <uhd/types/usrp_info.h>
#include <uhd/usrp/dboard_eeprom.h>
#include <uhd/usrp/mboard_eeprom.h>
#include <uhd/usrp/subdev_spec.h>
/* version.hpp is safe to include in C: */
#include <uhd/version.hpp> /* Provides UHD_VERSION */
#include <stdbool.h>
#include <stdint.h>
#include <stdlib.h>
#include <time.h>
typedef struct
{
size_t bitwidth;
bool readable;
bool writable;
} uhd_usrp_register_info_t;
/*
* Streamers
*/
typedef struct
{
char* cpu_format;
char* otw_format;
char* args;
size_t* channel_list;
int n_channels;
} uhd_stream_args_t;
typedef enum {
UHD_STREAM_MODE_START_CONTINUOUS = 97,
UHD_STREAM_MODE_STOP_CONTINUOUS = 111,
UHD_STREAM_MODE_NUM_SAMPS_AND_DONE = 100,
UHD_STREAM_MODE_NUM_SAMPS_AND_MORE = 109
} uhd_stream_mode_t;
typedef struct
{
uhd_stream_mode_t stream_mode;
size_t num_samps;
bool stream_now;
int64_t time_spec_full_secs;
double time_spec_frac_secs;
} uhd_stream_cmd_t;
struct uhd_rx_streamer;
struct uhd_tx_streamer;
typedef struct uhd_rx_streamer* uhd_rx_streamer_handle;
typedef struct uhd_tx_streamer* uhd_tx_streamer_handle;
#ifdef __cplusplus
extern "C" {
#endif
/*
* RX Streamer
*/
UHD_API uhd_error uhd_rx_streamer_make(uhd_rx_streamer_handle* h);
UHD_API uhd_error uhd_rx_streamer_free(uhd_rx_streamer_handle* h);
UHD_API uhd_error uhd_rx_streamer_num_channels(
uhd_rx_streamer_handle h, size_t* num_channels_out);
UHD_API uhd_error uhd_rx_streamer_max_num_samps(
uhd_rx_streamer_handle h, size_t* max_num_samps_out);
UHD_API uhd_error uhd_rx_streamer_recv(uhd_rx_streamer_handle h,
void** buffs,
size_t samps_per_buff,
uhd_rx_metadata_handle* md,
double timeout,
bool one_packet,
size_t* items_recvd);
UHD_API uhd_error uhd_rx_streamer_issue_stream_cmd(
uhd_rx_streamer_handle h, const uhd_stream_cmd_t* stream_cmd);
UHD_API uhd_error uhd_rx_streamer_last_error(
uhd_rx_streamer_handle h, char* error_out, size_t strbuffer_len);
/*
* TX Streamer
*/
UHD_API uhd_error uhd_tx_streamer_make(uhd_tx_streamer_handle* h);
UHD_API uhd_error uhd_tx_streamer_free(uhd_tx_streamer_handle* h);
UHD_API uhd_error uhd_tx_streamer_num_channels(
uhd_tx_streamer_handle h, size_t* num_channels_out);
UHD_API uhd_error uhd_tx_streamer_max_num_samps(
uhd_tx_streamer_handle h, size_t* max_num_samps_out);
UHD_API uhd_error uhd_tx_streamer_send(uhd_tx_streamer_handle h,
const void** buffs,
size_t samps_per_buff,
uhd_tx_metadata_handle* md,
double timeout,
size_t* items_sent);
UHD_API uhd_error uhd_tx_streamer_recv_async_msg(
uhd_tx_streamer_handle h, uhd_async_metadata_handle* md, double timeout, bool* valid);
UHD_API uhd_error uhd_tx_streamer_last_error(
uhd_tx_streamer_handle h, char* error_out, size_t strbuffer_len);
#ifdef __cplusplus
}
#endif
/****************************************************************************
* Public Datatypes for USRP / streamer handling.
***************************************************************************/
struct uhd_usrp;
/*
* See uhd::usrp::multi_usrp for more details.
*
* NOTE: You must pass this handle into uhd_usrp_make before using it.
*/
typedef struct uhd_usrp* uhd_usrp_handle;
/****************************************************************************
* USRP Make / Free API calls
***************************************************************************/
#ifdef __cplusplus
extern "C" {
#endif
UHD_API uhd_error uhd_usrp_find(const char* args, uhd_string_vector_handle* strings_out);
UHD_API uhd_error uhd_usrp_make(uhd_usrp_handle* h, const char* args);
UHD_API uhd_error uhd_usrp_free(uhd_usrp_handle* h);
UHD_API uhd_error uhd_usrp_last_error(
uhd_usrp_handle h, char* error_out, size_t strbuffer_len);
UHD_API uhd_error uhd_usrp_get_rx_stream(
uhd_usrp_handle h, uhd_stream_args_t* stream_args, uhd_rx_streamer_handle h_out);
UHD_API uhd_error uhd_usrp_get_tx_stream(
uhd_usrp_handle h, uhd_stream_args_t* stream_args, uhd_tx_streamer_handle h_out);
/****************************************************************************
* multi_usrp API calls
***************************************************************************/
UHD_API uhd_error uhd_usrp_get_rx_info(
uhd_usrp_handle h, size_t chan, uhd_usrp_rx_info_t* info_out);
UHD_API uhd_error uhd_usrp_get_tx_info(
uhd_usrp_handle h, size_t chan, uhd_usrp_tx_info_t* info_out);
/****************************************************************************
* Motherboard methods
***************************************************************************/
UHD_API uhd_error uhd_usrp_set_master_clock_rate(
uhd_usrp_handle h, double rate, size_t mboard);
UHD_API uhd_error uhd_usrp_get_master_clock_rate(
uhd_usrp_handle h, size_t mboard, double* clock_rate_out);
UHD_API uhd_error uhd_usrp_get_pp_string(
uhd_usrp_handle h, char* pp_string_out, size_t strbuffer_len);
UHD_API uhd_error uhd_usrp_get_mboard_name(
uhd_usrp_handle h, size_t mboard, char* mboard_name_out, size_t strbuffer_len);
UHD_API uhd_error uhd_usrp_get_time_now(
uhd_usrp_handle h, size_t mboard, int64_t* full_secs_out, double* frac_secs_out);
UHD_API uhd_error uhd_usrp_get_time_last_pps(
uhd_usrp_handle h, size_t mboard, int64_t* full_secs_out, double* frac_secs_out);
UHD_API uhd_error uhd_usrp_set_time_now(
uhd_usrp_handle h, int64_t full_secs, double frac_secs, size_t mboard);
UHD_API uhd_error uhd_usrp_set_time_next_pps(
uhd_usrp_handle h, int64_t full_secs, double frac_secs, size_t mboard);
UHD_API uhd_error uhd_usrp_set_time_unknown_pps(
uhd_usrp_handle h, int64_t full_secs, double frac_secs);
UHD_API uhd_error uhd_usrp_get_time_synchronized(uhd_usrp_handle h, bool* result_out);
UHD_API uhd_error uhd_usrp_set_command_time(
uhd_usrp_handle h, int64_t full_secs, double frac_secs, size_t mboard);
UHD_API uhd_error uhd_usrp_clear_command_time(uhd_usrp_handle h, size_t mboard);
UHD_API uhd_error uhd_usrp_set_time_source(
uhd_usrp_handle h, const char* time_source, size_t mboard);
UHD_API uhd_error uhd_usrp_get_time_source(
uhd_usrp_handle h, size_t mboard, char* time_source_out, size_t strbuffer_len);
UHD_API uhd_error uhd_usrp_get_time_sources(
uhd_usrp_handle h, size_t mboard, uhd_string_vector_handle* time_sources_out);
UHD_API uhd_error uhd_usrp_set_clock_source(
uhd_usrp_handle h, const char* clock_source, size_t mboard);
UHD_API uhd_error uhd_usrp_get_clock_source(
uhd_usrp_handle h, size_t mboard, char* clock_source_out, size_t strbuffer_len);
UHD_API uhd_error uhd_usrp_get_clock_sources(
uhd_usrp_handle h, size_t mboard, uhd_string_vector_handle* clock_sources_out);
UHD_API uhd_error uhd_usrp_set_clock_source_out(
uhd_usrp_handle h, bool enb, size_t mboard);
UHD_API uhd_error uhd_usrp_set_time_source_out(
uhd_usrp_handle h, bool enb, size_t mboard);
UHD_API uhd_error uhd_usrp_get_num_mboards(uhd_usrp_handle h, size_t* num_mboards_out);
UHD_API uhd_error uhd_usrp_get_mboard_sensor(uhd_usrp_handle h,
const char* name,
size_t mboard,
uhd_sensor_value_handle* sensor_value_out);
UHD_API uhd_error uhd_usrp_get_mboard_sensor_names(
uhd_usrp_handle h, size_t mboard, uhd_string_vector_handle* mboard_sensor_names_out);
UHD_API uhd_error uhd_usrp_set_user_register(
uhd_usrp_handle h, uint8_t addr, uint32_t data, size_t mboard);
/****************************************************************************
* EEPROM access methods
***************************************************************************/
UHD_API uhd_error uhd_usrp_get_mboard_eeprom(
uhd_usrp_handle h, uhd_mboard_eeprom_handle mb_eeprom, size_t mboard);
UHD_API uhd_error uhd_usrp_set_mboard_eeprom(
uhd_usrp_handle h, uhd_mboard_eeprom_handle mb_eeprom, size_t mboard);
UHD_API uhd_error uhd_usrp_get_dboard_eeprom(uhd_usrp_handle h,
uhd_dboard_eeprom_handle db_eeprom,
const char* unit,
const char* slot,
size_t mboard);
UHD_API uhd_error uhd_usrp_set_dboard_eeprom(uhd_usrp_handle h,
uhd_dboard_eeprom_handle db_eeprom,
const char* unit,
const char* slot,
size_t mboard);
/****************************************************************************
* RX methods
***************************************************************************/
UHD_API uhd_error uhd_usrp_set_rx_subdev_spec(
uhd_usrp_handle h, uhd_subdev_spec_handle subdev_spec, size_t mboard);
UHD_API uhd_error uhd_usrp_get_rx_subdev_spec(
uhd_usrp_handle h, size_t mboard, uhd_subdev_spec_handle subdev_spec_out);
UHD_API uhd_error uhd_usrp_get_rx_num_channels(
uhd_usrp_handle h, size_t* num_channels_out);
UHD_API uhd_error uhd_usrp_get_rx_subdev_name(
uhd_usrp_handle h, size_t chan, char* rx_subdev_name_out, size_t strbuffer_len);
UHD_API uhd_error uhd_usrp_set_rx_rate(uhd_usrp_handle h, double rate, size_t chan);
UHD_API uhd_error uhd_usrp_get_rx_rate(uhd_usrp_handle h, size_t chan, double* rate_out);
UHD_API uhd_error uhd_usrp_get_rx_rates(
uhd_usrp_handle h, size_t chan, uhd_meta_range_handle rates_out);
UHD_API uhd_error uhd_usrp_set_rx_freq(uhd_usrp_handle h,
uhd_tune_request_t* tune_request,
size_t chan,
uhd_tune_result_t* tune_result);
UHD_API uhd_error uhd_usrp_get_rx_freq(uhd_usrp_handle h, size_t chan, double* freq_out);
UHD_API uhd_error uhd_usrp_get_rx_freq_range(
uhd_usrp_handle h, size_t chan, uhd_meta_range_handle freq_range_out);
UHD_API uhd_error uhd_usrp_get_fe_rx_freq_range(
uhd_usrp_handle h, size_t chan, uhd_meta_range_handle freq_range_out);
UHD_UNUSED(static const char* UHD_USRP_ALL_LOS) = "all";
/*
* See uhd::usrp::multi_usrp::get_rx_lo_names() for more details.
*/
UHD_API uhd_error uhd_usrp_get_rx_lo_names(
uhd_usrp_handle h, size_t chan, uhd_string_vector_handle* rx_lo_names_out);
/*
* See uhd::usrp::multi_usrp::set_rx_lo_source() for more details.
*/
UHD_API uhd_error uhd_usrp_set_rx_lo_source(
uhd_usrp_handle h, const char* src, const char* name, size_t chan);
UHD_API uhd_error uhd_usrp_get_rx_lo_source(uhd_usrp_handle h,
const char* name,
size_t chan,
char* rx_lo_source_out,
size_t strbuffer_len);
UHD_API uhd_error uhd_usrp_get_rx_lo_sources(uhd_usrp_handle h,
const char* name,
size_t chan,
uhd_string_vector_handle* rx_lo_sources_out);
/*
* See uhd::usrp::multi_usrp::set_rx_lo_enabled() for more details.
*/
UHD_API uhd_error uhd_usrp_set_rx_lo_export_enabled(
uhd_usrp_handle h, bool enabled, const char* name, size_t chan);
UHD_API uhd_error uhd_usrp_get_rx_lo_export_enabled(
uhd_usrp_handle h, const char* name, size_t chan, bool* result_out);
UHD_API uhd_error uhd_usrp_set_rx_lo_freq(uhd_usrp_handle h,
double freq,
const char* name,
size_t chan,
double* coerced_freq_out);
UHD_API uhd_error uhd_usrp_get_rx_lo_freq(
uhd_usrp_handle h, const char* name, size_t chan, double* rx_lo_freq_out);
UHD_API uhd_error uhd_usrp_set_rx_gain(
uhd_usrp_handle h, double gain, size_t chan, const char* gain_name);
UHD_API uhd_error uhd_usrp_set_normalized_rx_gain(
uhd_usrp_handle h, double gain, size_t chan);
UHD_API uhd_error uhd_usrp_set_rx_agc(uhd_usrp_handle h, bool enable, size_t chan);
UHD_API uhd_error uhd_usrp_get_rx_gain(
uhd_usrp_handle h, size_t chan, const char* gain_name, double* gain_out);
UHD_API uhd_error uhd_usrp_get_normalized_rx_gain(
uhd_usrp_handle h, size_t chan, double* gain_out);
UHD_API uhd_error uhd_usrp_get_rx_gain_range(uhd_usrp_handle h,
const char* name,
size_t chan,
uhd_meta_range_handle gain_range_out);
UHD_API uhd_error uhd_usrp_get_rx_gain_names(
uhd_usrp_handle h, size_t chan, uhd_string_vector_handle* gain_names_out);
UHD_API uhd_error uhd_usrp_set_rx_antenna(
uhd_usrp_handle h, const char* ant, size_t chan);
UHD_API uhd_error uhd_usrp_get_rx_antenna(
uhd_usrp_handle h, size_t chan, char* ant_out, size_t strbuffer_len);
UHD_API uhd_error uhd_usrp_get_rx_antennas(
uhd_usrp_handle h, size_t chan, uhd_string_vector_handle* antennas_out);
UHD_API uhd_error uhd_usrp_get_rx_sensor_names(
uhd_usrp_handle h, size_t chan, uhd_string_vector_handle* sensor_names_out);
UHD_API uhd_error uhd_usrp_set_rx_bandwidth(
uhd_usrp_handle h, double bandwidth, size_t chan);
UHD_API uhd_error uhd_usrp_get_rx_bandwidth(
uhd_usrp_handle h, size_t chan, double* bandwidth_out);
UHD_API uhd_error uhd_usrp_get_rx_bandwidth_range(
uhd_usrp_handle h, size_t chan, uhd_meta_range_handle bandwidth_range_out);
UHD_API uhd_error uhd_usrp_get_rx_sensor(uhd_usrp_handle h,
const char* name,
size_t chan,
uhd_sensor_value_handle* sensor_value_out);
UHD_API uhd_error uhd_usrp_set_rx_dc_offset_enabled(
uhd_usrp_handle h, bool enb, size_t chan);
UHD_API uhd_error uhd_usrp_set_rx_iq_balance_enabled(
uhd_usrp_handle h, bool enb, size_t chan);
/****************************************************************************
* TX methods
***************************************************************************/
UHD_API uhd_error uhd_usrp_set_tx_subdev_spec(
uhd_usrp_handle h, uhd_subdev_spec_handle subdev_spec, size_t mboard);
UHD_API uhd_error uhd_usrp_get_tx_subdev_spec(
uhd_usrp_handle h, size_t mboard, uhd_subdev_spec_handle subdev_spec_out);
UHD_API uhd_error uhd_usrp_get_tx_num_channels(
uhd_usrp_handle h, size_t* num_channels_out);
UHD_API uhd_error uhd_usrp_get_tx_subdev_name(
uhd_usrp_handle h, size_t chan, char* tx_subdev_name_out, size_t strbuffer_len);
UHD_API uhd_error uhd_usrp_set_tx_rate(uhd_usrp_handle h, double rate, size_t chan);
UHD_API uhd_error uhd_usrp_get_tx_rate(uhd_usrp_handle h, size_t chan, double* rate_out);
UHD_API uhd_error uhd_usrp_get_tx_rates(
uhd_usrp_handle h, size_t chan, uhd_meta_range_handle rates_out);
UHD_API uhd_error uhd_usrp_set_tx_freq(uhd_usrp_handle h,
uhd_tune_request_t* tune_request,
size_t chan,
uhd_tune_result_t* tune_result);
UHD_API uhd_error uhd_usrp_get_tx_freq(uhd_usrp_handle h, size_t chan, double* freq_out);
UHD_API uhd_error uhd_usrp_get_tx_freq_range(
uhd_usrp_handle h, size_t chan, uhd_meta_range_handle freq_range_out);
UHD_API uhd_error uhd_usrp_get_fe_tx_freq_range(
uhd_usrp_handle h, size_t chan, uhd_meta_range_handle freq_range_out);
/*
* See uhd::usrp::multi_usrp::get_tx_lo_names() for more details.
*/
UHD_API uhd_error uhd_usrp_get_tx_lo_names(
uhd_usrp_handle h, size_t chan, uhd_string_vector_handle* tx_lo_names_out);
/*
* See uhd::usrp::multi_usrp::set_tx_lo_source() for more details.
*/
UHD_API uhd_error uhd_usrp_set_tx_lo_source(
uhd_usrp_handle h, const char* src, const char* name, size_t chan);
UHD_API uhd_error uhd_usrp_get_tx_lo_source(uhd_usrp_handle h,
const char* name,
size_t chan,
char* tx_lo_source_out,
size_t strbuffer_len);
UHD_API uhd_error uhd_usrp_get_tx_lo_sources(uhd_usrp_handle h,
const char* name,
size_t chan,
uhd_string_vector_handle* tx_lo_sources_out);
/*
* See uhd::usrp::multi_usrp::set_tx_lo_enabled() for more details.
*/
UHD_API uhd_error uhd_usrp_set_tx_lo_export_enabled(
uhd_usrp_handle h, bool enabled, const char* name, size_t chan);
UHD_API uhd_error uhd_usrp_get_tx_lo_export_enabled(
uhd_usrp_handle h, const char* name, size_t chan, bool* result_out);
UHD_API uhd_error uhd_usrp_set_tx_lo_freq(uhd_usrp_handle h,
double freq,
const char* name,
size_t chan,
double* coerced_freq_out);
UHD_API uhd_error uhd_usrp_get_tx_lo_freq(
uhd_usrp_handle h, const char* name, size_t chan, double* tx_lo_freq_out);
UHD_API uhd_error uhd_usrp_set_tx_gain(
uhd_usrp_handle h, double gain, size_t chan, const char* gain_name);
UHD_API uhd_error uhd_usrp_set_normalized_tx_gain(
uhd_usrp_handle h, double gain, size_t chan);
UHD_API uhd_error uhd_usrp_get_tx_gain_range(uhd_usrp_handle h,
const char* name,
size_t chan,
uhd_meta_range_handle gain_range_out);
UHD_API uhd_error uhd_usrp_get_tx_gain(
uhd_usrp_handle h, size_t chan, const char* gain_name, double* gain_out);
UHD_API uhd_error uhd_usrp_get_normalized_tx_gain(
uhd_usrp_handle h, size_t chan, double* gain_out);
UHD_API uhd_error uhd_usrp_get_tx_gain_names(
uhd_usrp_handle h, size_t chan, uhd_string_vector_handle* gain_names_out);
UHD_API uhd_error uhd_usrp_set_tx_antenna(
uhd_usrp_handle h, const char* ant, size_t chan);
UHD_API uhd_error uhd_usrp_get_tx_antenna(
uhd_usrp_handle h, size_t chan, char* ant_out, size_t strbuffer_len);
UHD_API uhd_error uhd_usrp_get_tx_antennas(
uhd_usrp_handle h, size_t chan, uhd_string_vector_handle* antennas_out);
UHD_API uhd_error uhd_usrp_set_tx_bandwidth(
uhd_usrp_handle h, double bandwidth, size_t chan);
UHD_API uhd_error uhd_usrp_get_tx_bandwidth(
uhd_usrp_handle h, size_t chan, double* bandwidth_out);
UHD_API uhd_error uhd_usrp_get_tx_bandwidth_range(
uhd_usrp_handle h, size_t chan, uhd_meta_range_handle bandwidth_range_out);
UHD_API uhd_error uhd_usrp_get_tx_sensor(uhd_usrp_handle h,
const char* name,
size_t chan,
uhd_sensor_value_handle* sensor_value_out);
UHD_API uhd_error uhd_usrp_get_tx_sensor_names(
uhd_usrp_handle h, size_t chan, uhd_string_vector_handle* sensor_names_out);
/****************************************************************************
* GPIO methods
***************************************************************************/
UHD_API uhd_error uhd_usrp_get_gpio_banks(
uhd_usrp_handle h, size_t mboard, uhd_string_vector_handle* gpio_banks_out);
UHD_API uhd_error uhd_usrp_set_gpio_attr(uhd_usrp_handle h,
const char* bank,
const char* attr,
uint32_t value,
uint32_t mask,
size_t mboard);
UHD_API uhd_error uhd_usrp_get_gpio_attr(uhd_usrp_handle h,
const char* bank,
const char* attr,
size_t mboard,
uint32_t* attr_out);
#ifdef __cplusplus
}
#endif
config.h
UHD_UNUSED
#define UHD_UNUSED(x)
Definition config.h:68
UHD_API
#define UHD_API
Definition config.h:87
dboard_eeprom.h
uhd_dboard_eeprom_handle
struct uhd_dboard_eeprom_t * uhd_dboard_eeprom_handle
A C-level interface for interacting with a daughterboard EEPROM.
Definition dboard_eeprom.h:35
error.h
uhd_error
uhd_error
UHD error codes.
Definition error.h:20
mboard_eeprom.h
uhd_mboard_eeprom_handle
struct uhd_mboard_eeprom_t * uhd_mboard_eeprom_handle
A C-level interface for interacting with a USRP motherboard's EEPROM.
Definition mboard_eeprom.h:35
metadata.h
uhd_rx_metadata_handle
struct uhd_rx_metadata_t * uhd_rx_metadata_handle
RX metadata interface for describing sent IF data.
Definition metadata.h:54
uhd_tx_metadata_handle
struct uhd_tx_metadata_t * uhd_tx_metadata_handle
TX metadata interface for describing received IF data.
Definition metadata.h:63
uhd_async_metadata_handle
struct uhd_async_metadata_t * uhd_async_metadata_handle
Interface for describing transmit-related events.
Definition metadata.h:72
ranges.h
uhd_meta_range_handle
struct uhd_meta_range_t * uhd_meta_range_handle
C-level interface for dealing with a list of ranges.
Definition ranges.h:46
sensors.h
uhd_sensor_value_handle
struct uhd_sensor_value_t * uhd_sensor_value_handle
C-level interface for a UHD sensor.
Definition sensors.h:35
string_vector.h
uhd_string_vector_handle
uhd_string_vector_t * uhd_string_vector_handle
Definition string_vector.h:33
uhd_stream_args_t
A struct of parameters to construct a stream.
Definition usrp.h:47
uhd_stream_args_t::otw_format
char * otw_format
Over-the-wire format.
Definition usrp.h:51
uhd_stream_args_t::cpu_format
char * cpu_format
Format of host memory.
Definition usrp.h:49
uhd_stream_args_t::n_channels
int n_channels
Number of channels.
Definition usrp.h:57
uhd_stream_args_t::channel_list
size_t * channel_list
Array that lists channels.
Definition usrp.h:55
uhd_stream_args_t::args
char * args
Other stream args.
Definition usrp.h:53
uhd_stream_cmd_t
Define how device streams to host.
Definition usrp.h:80
uhd_stream_cmd_t::stream_now
bool stream_now
Stream now?
Definition usrp.h:86
uhd_stream_cmd_t::time_spec_full_secs
int64_t time_spec_full_secs
If not now, then full seconds into future to stream.
Definition usrp.h:88
uhd_stream_cmd_t::stream_mode
uhd_stream_mode_t stream_mode
How streaming is issued to the device.
Definition usrp.h:82
uhd_stream_cmd_t::time_spec_frac_secs
double time_spec_frac_secs
If not now, then fractional seconds into future to stream.
Definition usrp.h:90
uhd_stream_cmd_t::num_samps
size_t num_samps
Number of samples.
Definition usrp.h:84
uhd_tune_request_t
Instructs implementation how to tune the RF chain.
Definition tune_request.h:29
uhd_tune_result_t
Stores RF and DSP tuned frequencies.
Definition tune_result.h:19
uhd_usrp_register_info_t
Register info.
Definition usrp.h:32
uhd_usrp_register_info_t::writable
bool writable
Definition usrp.h:35
uhd_usrp_register_info_t::bitwidth
size_t bitwidth
Definition usrp.h:33
uhd_usrp_register_info_t::readable
bool readable
Definition usrp.h:34
uhd_usrp_rx_info_t
USRP RX info.
Definition usrp_info.h:18
uhd_usrp_tx_info_t
USRP TX info.
Definition usrp_info.h:42
subdev_spec.h
uhd_subdev_spec_handle
struct uhd_subdev_spec_t * uhd_subdev_spec_handle
A C-level interface for working with a list of subdevice specifications.
Definition subdev_spec.h:46
tune_request.h
tune_result.h
uhd_usrp_free
UHD_API uhd_error uhd_usrp_free(uhd_usrp_handle *h)
Safely destroy the USRP object underlying the handle.
uhd_usrp_get_tx_lo_sources
UHD_API uhd_error uhd_usrp_get_tx_lo_sources(uhd_usrp_handle h, const char *name, size_t chan, uhd_string_vector_handle *tx_lo_sources_out)
Get a list of possible LO sources.
uhd_usrp_set_time_next_pps
UHD_API uhd_error uhd_usrp_set_time_next_pps(uhd_usrp_handle h, int64_t full_secs, double frac_secs, size_t mboard)
Set the USRP device's time to the given value upon the next PPS detection.
uhd_usrp_get_tx_info
UHD_API uhd_error uhd_usrp_get_tx_info(uhd_usrp_handle h, size_t chan, uhd_usrp_tx_info_t *info_out)
Get TX info from the USRP device.
uhd_rx_streamer_handle
struct uhd_rx_streamer * uhd_rx_streamer_handle
C-level interface for working with an RX streamer.
Definition usrp.h:100
uhd_usrp_get_time_source
UHD_API uhd_error uhd_usrp_get_time_source(uhd_usrp_handle h, size_t mboard, char *time_source_out, size_t strbuffer_len)
Get the time source for the given device.
uhd_usrp_get_tx_gain_range
UHD_API uhd_error uhd_usrp_get_tx_gain_range(uhd_usrp_handle h, const char *name, size_t chan, uhd_meta_range_handle gain_range_out)
Get all possible gain ranges for the given channel and name.
uhd_rx_streamer_max_num_samps
UHD_API uhd_error uhd_rx_streamer_max_num_samps(uhd_rx_streamer_handle h, size_t *max_num_samps_out)
Get the max number of samples per buffer per packet.
uhd_usrp_get_normalized_rx_gain
UHD_API uhd_error uhd_usrp_get_normalized_rx_gain(uhd_usrp_handle h, size_t chan, double *gain_out)
Get the given channel's normalized RX gain [0.0, 1.0].
uhd_usrp_set_tx_freq
UHD_API uhd_error uhd_usrp_set_tx_freq(uhd_usrp_handle h, uhd_tune_request_t *tune_request, size_t chan, uhd_tune_result_t *tune_result)
Set the given channel's center TX frequency.
uhd_usrp_get_mboard_sensor_names
UHD_API uhd_error uhd_usrp_get_mboard_sensor_names(uhd_usrp_handle h, size_t mboard, uhd_string_vector_handle *mboard_sensor_names_out)
Get a list of motherboard sensors for the given device.
uhd_usrp_set_rx_agc
UHD_API uhd_error uhd_usrp_set_rx_agc(uhd_usrp_handle h, bool enable, size_t chan)
Enable or disable the given channel's RX AGC module.
uhd_usrp_make
UHD_API uhd_error uhd_usrp_make(uhd_usrp_handle *h, const char *args)
Create a USRP handle.
uhd_tx_streamer_recv_async_msg
UHD_API uhd_error uhd_tx_streamer_recv_async_msg(uhd_tx_streamer_handle h, uhd_async_metadata_handle *md, double timeout, bool *valid)
Receive an asynchronous message from this streamer.
uhd_usrp_set_command_time
UHD_API uhd_error uhd_usrp_set_command_time(uhd_usrp_handle h, int64_t full_secs, double frac_secs, size_t mboard)
Set the time at which timed commands will take place.
uhd_usrp_set_tx_subdev_spec
UHD_API uhd_error uhd_usrp_set_tx_subdev_spec(uhd_usrp_handle h, uhd_subdev_spec_handle subdev_spec, size_t mboard)
Map the given device's TX frontend to a channel.
uhd_usrp_get_tx_bandwidth
UHD_API uhd_error uhd_usrp_get_tx_bandwidth(uhd_usrp_handle h, size_t chan, double *bandwidth_out)
Get the bandwidth for the given channel's TX frontend.
uhd_usrp_get_dboard_eeprom
UHD_API uhd_error uhd_usrp_get_dboard_eeprom(uhd_usrp_handle h, uhd_dboard_eeprom_handle db_eeprom, const char *unit, const char *slot, size_t mboard)
Get a handle for the given device's daughterboard EEPROM.
uhd_usrp_set_tx_lo_export_enabled
UHD_API uhd_error uhd_usrp_set_tx_lo_export_enabled(uhd_usrp_handle h, bool enabled, const char *name, size_t chan)
Set whether the LO used by the USRP device is exported.
uhd_usrp_get_mboard_name
UHD_API uhd_error uhd_usrp_get_mboard_name(uhd_usrp_handle h, size_t mboard, char *mboard_name_out, size_t strbuffer_len)
Get the motherboard name for the given device.
uhd_rx_streamer_free
UHD_API uhd_error uhd_rx_streamer_free(uhd_rx_streamer_handle *h)
Free an RX streamer handle.
uhd_usrp_get_rx_info
UHD_API uhd_error uhd_usrp_get_rx_info(uhd_usrp_handle h, size_t chan, uhd_usrp_rx_info_t *info_out)
Get RX info from the USRP device.
uhd_usrp_set_rx_gain
UHD_API uhd_error uhd_usrp_set_rx_gain(uhd_usrp_handle h, double gain, size_t chan, const char *gain_name)
Set the RX gain for the given channel and name.
uhd_usrp_get_clock_source
UHD_API uhd_error uhd_usrp_get_clock_source(uhd_usrp_handle h, size_t mboard, char *clock_source_out, size_t strbuffer_len)
Get the given device's clock source.
uhd_usrp_get_gpio_banks
UHD_API uhd_error uhd_usrp_get_gpio_banks(uhd_usrp_handle h, size_t mboard, uhd_string_vector_handle *gpio_banks_out)
Get a list of GPIO banks associated with the given channels.
uhd_usrp_set_rx_rate
UHD_API uhd_error uhd_usrp_set_rx_rate(uhd_usrp_handle h, double rate, size_t chan)
Set the given RX channel's sample rate (in Sps).
uhd_usrp_set_gpio_attr
UHD_API uhd_error uhd_usrp_set_gpio_attr(uhd_usrp_handle h, const char *bank, const char *attr, uint32_t value, uint32_t mask, size_t mboard)
Set a GPIO attribute for a given GPIO bank.
uhd_usrp_get_tx_subdev_name
UHD_API uhd_error uhd_usrp_get_tx_subdev_name(uhd_usrp_handle h, size_t chan, char *tx_subdev_name_out, size_t strbuffer_len)
Get the name for the RX frontend.
uhd_usrp_get_rx_lo_names
UHD_API uhd_error uhd_usrp_get_rx_lo_names(uhd_usrp_handle h, size_t chan, uhd_string_vector_handle *rx_lo_names_out)
Get a list of possible LO stage names.
uhd_tx_streamer_handle
struct uhd_tx_streamer * uhd_tx_streamer_handle
C-level interface for working with a TX streamer.
Definition usrp.h:106
uhd_usrp_get_rx_lo_source
UHD_API uhd_error uhd_usrp_get_rx_lo_source(uhd_usrp_handle h, const char *name, size_t chan, char *rx_lo_source_out, size_t strbuffer_len)
Get the currently set LO source.
uhd_usrp_get_rx_gain
UHD_API uhd_error uhd_usrp_get_rx_gain(uhd_usrp_handle h, size_t chan, const char *gain_name, double *gain_out)
Get the given channel's RX gain.
uhd_usrp_get_tx_antennas
UHD_API uhd_error uhd_usrp_get_tx_antennas(uhd_usrp_handle h, size_t chan, uhd_string_vector_handle *antennas_out)
Get a list of tx antennas associated with the given channels.
uhd_rx_streamer_last_error
UHD_API uhd_error uhd_rx_streamer_last_error(uhd_rx_streamer_handle h, char *error_out, size_t strbuffer_len)
Get the last error reported by the RX streamer.
uhd_rx_streamer_num_channels
UHD_API uhd_error uhd_rx_streamer_num_channels(uhd_rx_streamer_handle h, size_t *num_channels_out)
Get the number of channels associated with this streamer.
uhd_usrp_clear_command_time
UHD_API uhd_error uhd_usrp_clear_command_time(uhd_usrp_handle h, size_t mboard)
Clear the command time so that commands are sent ASAP.
uhd_usrp_set_rx_lo_export_enabled
UHD_API uhd_error uhd_usrp_set_rx_lo_export_enabled(uhd_usrp_handle h, bool enabled, const char *name, size_t chan)
Set whether the LO used by the USRP device is exported.
uhd_usrp_get_tx_lo_names
UHD_API uhd_error uhd_usrp_get_tx_lo_names(uhd_usrp_handle h, size_t chan, uhd_string_vector_handle *tx_lo_names_out)
Get a list of possible LO stage names.
uhd_usrp_get_rx_bandwidth
UHD_API uhd_error uhd_usrp_get_rx_bandwidth(uhd_usrp_handle h, size_t chan, double *bandwidth_out)
Get the bandwidth for the given channel's RX frontend.
uhd_stream_mode_t
uhd_stream_mode_t
How streaming is issued to the device.
Definition usrp.h:64
UHD_STREAM_MODE_NUM_SAMPS_AND_DONE
@ UHD_STREAM_MODE_NUM_SAMPS_AND_DONE
Stream some number of samples and finish.
Definition usrp.h:70
UHD_STREAM_MODE_START_CONTINUOUS
@ UHD_STREAM_MODE_START_CONTINUOUS
Stream samples indefinitely.
Definition usrp.h:66
UHD_STREAM_MODE_NUM_SAMPS_AND_MORE
@ UHD_STREAM_MODE_NUM_SAMPS_AND_MORE
Stream some number of samples but expect more.
Definition usrp.h:72
UHD_STREAM_MODE_STOP_CONTINUOUS
@ UHD_STREAM_MODE_STOP_CONTINUOUS
End continuous streaming.
Definition usrp.h:68
uhd_usrp_set_rx_bandwidth
UHD_API uhd_error uhd_usrp_set_rx_bandwidth(uhd_usrp_handle h, double bandwidth, size_t chan)
Set the bandwidth for the given channel's RX frontend.
uhd_usrp_get_tx_gain_names
UHD_API uhd_error uhd_usrp_get_tx_gain_names(uhd_usrp_handle h, size_t chan, uhd_string_vector_handle *gain_names_out)
Get a list of TX gain names for the given channel.
uhd_usrp_get_rx_freq_range
UHD_API uhd_error uhd_usrp_get_rx_freq_range(uhd_usrp_handle h, size_t chan, uhd_meta_range_handle freq_range_out)
Get all possible center frequency ranges for the given channel.
uhd_usrp_get_rx_lo_sources
UHD_API uhd_error uhd_usrp_get_rx_lo_sources(uhd_usrp_handle h, const char *name, size_t chan, uhd_string_vector_handle *rx_lo_sources_out)
Get a list of possible LO sources.
uhd_usrp_set_rx_freq
UHD_API uhd_error uhd_usrp_set_rx_freq(uhd_usrp_handle h, uhd_tune_request_t *tune_request, size_t chan, uhd_tune_result_t *tune_result)
Set the given channel's center RX frequency.
uhd_usrp_get_rx_gain_range
UHD_API uhd_error uhd_usrp_get_rx_gain_range(uhd_usrp_handle h, const char *name, size_t chan, uhd_meta_range_handle gain_range_out)
Get all possible gain ranges for the given channel and name.
uhd_usrp_set_master_clock_rate
UHD_API uhd_error uhd_usrp_set_master_clock_rate(uhd_usrp_handle h, double rate, size_t mboard)
Set the master clock rate.
uhd_usrp_get_rx_antennas
UHD_API uhd_error uhd_usrp_get_rx_antennas(uhd_usrp_handle h, size_t chan, uhd_string_vector_handle *antennas_out)
Get a list of RX antennas associated with the given channels.
uhd_usrp_get_tx_lo_export_enabled
UHD_API uhd_error uhd_usrp_get_tx_lo_export_enabled(uhd_usrp_handle h, const char *name, size_t chan, bool *result_out)
Returns true if the currently selected LO is being exported.
uhd_usrp_get_master_clock_rate
UHD_API uhd_error uhd_usrp_get_master_clock_rate(uhd_usrp_handle h, size_t mboard, double *clock_rate_out)
Get the master clock rate.
uhd_usrp_get_tx_freq
UHD_API uhd_error uhd_usrp_get_tx_freq(uhd_usrp_handle h, size_t chan, double *freq_out)
Get the given channel's center TX frequency.
uhd_usrp_get_tx_sensor
UHD_API uhd_error uhd_usrp_get_tx_sensor(uhd_usrp_handle h, const char *name, size_t chan, uhd_sensor_value_handle *sensor_value_out)
Get the value for the given TX sensor.
uhd_rx_streamer_make
UHD_API uhd_error uhd_rx_streamer_make(uhd_rx_streamer_handle *h)
Create an RX streamer handle.
uhd_tx_streamer_last_error
UHD_API uhd_error uhd_tx_streamer_last_error(uhd_tx_streamer_handle h, char *error_out, size_t strbuffer_len)
Get the last error reported by the TX streamer.
uhd_usrp_get_tx_lo_freq
UHD_API uhd_error uhd_usrp_get_tx_lo_freq(uhd_usrp_handle h, const char *name, size_t chan, double *tx_lo_freq_out)
Get the current Tx LO frequency.
uhd_tx_streamer_make
UHD_API uhd_error uhd_tx_streamer_make(uhd_tx_streamer_handle *h)
Create an TX streamer handle.
uhd_usrp_get_tx_stream
UHD_API uhd_error uhd_usrp_get_tx_stream(uhd_usrp_handle h, uhd_stream_args_t *stream_args, uhd_tx_streamer_handle h_out)
Create TX streamer from a USRP handle and given stream args.
uhd_usrp_get_fe_tx_freq_range
UHD_API uhd_error uhd_usrp_get_fe_tx_freq_range(uhd_usrp_handle h, size_t chan, uhd_meta_range_handle freq_range_out)
Get all possible RF frequency ranges for the given channel's TX RF frontend.
uhd_usrp_get_tx_num_channels
UHD_API uhd_error uhd_usrp_get_tx_num_channels(uhd_usrp_handle h, size_t *num_channels_out)
Get the number of TX channels for the given handle.
uhd_usrp_get_rx_subdev_name
UHD_API uhd_error uhd_usrp_get_rx_subdev_name(uhd_usrp_handle h, size_t chan, char *rx_subdev_name_out, size_t strbuffer_len)
Get the name for the RX frontend.
uhd_usrp_get_rx_gain_names
UHD_API uhd_error uhd_usrp_get_rx_gain_names(uhd_usrp_handle h, size_t chan, uhd_string_vector_handle *gain_names_out)
Get a list of RX gain names for the given channel.
uhd_usrp_set_tx_antenna
UHD_API uhd_error uhd_usrp_set_tx_antenna(uhd_usrp_handle h, const char *ant, size_t chan)
Set the TX antenna for the given channel.
uhd_usrp_get_mboard_eeprom
UHD_API uhd_error uhd_usrp_get_mboard_eeprom(uhd_usrp_handle h, uhd_mboard_eeprom_handle mb_eeprom, size_t mboard)
Get a handle for the given motherboard's EEPROM.
uhd_usrp_set_time_source_out
UHD_API uhd_error uhd_usrp_set_time_source_out(uhd_usrp_handle h, bool enb, size_t mboard)
Enable or disable sending the time source to an output connector.
uhd_usrp_get_tx_rate
UHD_API uhd_error uhd_usrp_get_tx_rate(uhd_usrp_handle h, size_t chan, double *rate_out)
Get the given RX channel's sample rate (in Sps).
uhd_usrp_get_rx_sensor
UHD_API uhd_error uhd_usrp_get_rx_sensor(uhd_usrp_handle h, const char *name, size_t chan, uhd_sensor_value_handle *sensor_value_out)
Get the value for the given RX sensor.
uhd_usrp_set_rx_dc_offset_enabled
UHD_API uhd_error uhd_usrp_set_rx_dc_offset_enabled(uhd_usrp_handle h, bool enb, size_t chan)
Enable or disable RX DC offset correction for the given channel.
uhd_usrp_last_error
UHD_API uhd_error uhd_usrp_last_error(uhd_usrp_handle h, char *error_out, size_t strbuffer_len)
Get the last error reported by the USRP handle.
uhd_usrp_get_tx_bandwidth_range
UHD_API uhd_error uhd_usrp_get_tx_bandwidth_range(uhd_usrp_handle h, size_t chan, uhd_meta_range_handle bandwidth_range_out)
Get all possible bandwidth ranges for the given channel's TX frontend.
uhd_usrp_set_clock_source_out
UHD_API uhd_error uhd_usrp_set_clock_source_out(uhd_usrp_handle h, bool enb, size_t mboard)
Enable or disable sending the clock source to an output connector.
uhd_usrp_get_tx_lo_source
UHD_API uhd_error uhd_usrp_get_tx_lo_source(uhd_usrp_handle h, const char *name, size_t chan, char *tx_lo_source_out, size_t strbuffer_len)
Get the currently set LO source.
uhd_rx_streamer_issue_stream_cmd
UHD_API uhd_error uhd_rx_streamer_issue_stream_cmd(uhd_rx_streamer_handle h, const uhd_stream_cmd_t *stream_cmd)
Issue the given stream command.
uhd_tx_streamer_free
UHD_API uhd_error uhd_tx_streamer_free(uhd_tx_streamer_handle *h)
Free an TX streamer handle.
uhd_usrp_handle
struct uhd_usrp * uhd_usrp_handle
C-level interface for working with a USRP device.
Definition usrp.h:255
uhd_usrp_get_normalized_tx_gain
UHD_API uhd_error uhd_usrp_get_normalized_tx_gain(uhd_usrp_handle h, size_t chan, double *gain_out)
Get the given channel's normalized TX gain [0.0, 1.0].
uhd_usrp_set_rx_iq_balance_enabled
UHD_API uhd_error uhd_usrp_set_rx_iq_balance_enabled(uhd_usrp_handle h, bool enb, size_t chan)
Enable or disable RX IQ imbalance correction for the given channel.
uhd_usrp_get_tx_antenna
UHD_API uhd_error uhd_usrp_get_tx_antenna(uhd_usrp_handle h, size_t chan, char *ant_out, size_t strbuffer_len)
Get the TX antenna for the given channel.
uhd_usrp_get_num_mboards
UHD_API uhd_error uhd_usrp_get_num_mboards(uhd_usrp_handle h, size_t *num_mboards_out)
Get the number of devices associated with the given USRP handle.
uhd_rx_streamer_recv
UHD_API uhd_error uhd_rx_streamer_recv(uhd_rx_streamer_handle h, void **buffs, size_t samps_per_buff, uhd_rx_metadata_handle *md, double timeout, bool one_packet, size_t *items_recvd)
Receive buffers containing samples into the given RX streamer.
uhd_usrp_get_rx_stream
UHD_API uhd_error uhd_usrp_get_rx_stream(uhd_usrp_handle h, uhd_stream_args_t *stream_args, uhd_rx_streamer_handle h_out)
Create RX streamer from a USRP handle and given stream args.
uhd_usrp_get_tx_freq_range
UHD_API uhd_error uhd_usrp_get_tx_freq_range(uhd_usrp_handle h, size_t chan, uhd_meta_range_handle freq_range_out)
Get all possible center frequency ranges for the given channel.
uhd_tx_streamer_max_num_samps
UHD_API uhd_error uhd_tx_streamer_max_num_samps(uhd_tx_streamer_handle h, size_t *max_num_samps_out)
Get the max number of samples per buffer per packet.
uhd_usrp_get_rx_rate
UHD_API uhd_error uhd_usrp_get_rx_rate(uhd_usrp_handle h, size_t chan, double *rate_out)
Get the given RX channel's sample rate (in Sps).
uhd_usrp_get_rx_sensor_names
UHD_API uhd_error uhd_usrp_get_rx_sensor_names(uhd_usrp_handle h, size_t chan, uhd_string_vector_handle *sensor_names_out)
Get a list of RX sensors associated with the given channels.
uhd_usrp_set_time_now
UHD_API uhd_error uhd_usrp_set_time_now(uhd_usrp_handle h, int64_t full_secs, double frac_secs, size_t mboard)
Set the USRP device's time.
uhd_usrp_get_rx_rates
UHD_API uhd_error uhd_usrp_get_rx_rates(uhd_usrp_handle h, size_t chan, uhd_meta_range_handle rates_out)
Get a range of possible RX rates for the given channel.
uhd_usrp_set_clock_source
UHD_API uhd_error uhd_usrp_set_clock_source(uhd_usrp_handle h, const char *clock_source, size_t mboard)
Set the given device's clock source.
uhd_usrp_get_time_synchronized
UHD_API uhd_error uhd_usrp_get_time_synchronized(uhd_usrp_handle h, bool *result_out)
Are all motherboard times synchronized?
uhd_usrp_get_time_last_pps
UHD_API uhd_error uhd_usrp_get_time_last_pps(uhd_usrp_handle h, size_t mboard, int64_t *full_secs_out, double *frac_secs_out)
Get the time when this device's last PPS pulse occurred.
uhd_usrp_get_time_now
UHD_API uhd_error uhd_usrp_get_time_now(uhd_usrp_handle h, size_t mboard, int64_t *full_secs_out, double *frac_secs_out)
Get the USRP device's current internal time.
uhd_usrp_get_rx_antenna
UHD_API uhd_error uhd_usrp_get_rx_antenna(uhd_usrp_handle h, size_t chan, char *ant_out, size_t strbuffer_len)
Get the RX antenna for the given channel.
uhd_usrp_get_rx_num_channels
UHD_API uhd_error uhd_usrp_get_rx_num_channels(uhd_usrp_handle h, size_t *num_channels_out)
Get the number of RX channels for the given handle.
uhd_usrp_get_pp_string
UHD_API uhd_error uhd_usrp_get_pp_string(uhd_usrp_handle h, char *pp_string_out, size_t strbuffer_len)
Get a pretty-print representation of the USRP device.
uhd_usrp_set_user_register
UHD_API uhd_error uhd_usrp_set_user_register(uhd_usrp_handle h, uint8_t addr, uint32_t data, size_t mboard)
Perform a write on a user configuration register bus.
uhd_usrp_set_tx_gain
UHD_API uhd_error uhd_usrp_set_tx_gain(uhd_usrp_handle h, double gain, size_t chan, const char *gain_name)
Set the TX gain for the given channel and name.
uhd_tx_streamer_num_channels
UHD_API uhd_error uhd_tx_streamer_num_channels(uhd_tx_streamer_handle h, size_t *num_channels_out)
Get the number of channels associated with this streamer.
uhd_usrp_set_rx_antenna
UHD_API uhd_error uhd_usrp_set_rx_antenna(uhd_usrp_handle h, const char *ant, size_t chan)
Set the RX antenna for the given channel.
uhd_usrp_get_rx_lo_export_enabled
UHD_API uhd_error uhd_usrp_get_rx_lo_export_enabled(uhd_usrp_handle h, const char *name, size_t chan, bool *result_out)
Returns true if the currently selected LO is being exported.
uhd_usrp_set_mboard_eeprom
UHD_API uhd_error uhd_usrp_set_mboard_eeprom(uhd_usrp_handle h, uhd_mboard_eeprom_handle mb_eeprom, size_t mboard)
Set values in the given motherboard's EEPROM.
uhd_usrp_get_clock_sources
UHD_API uhd_error uhd_usrp_get_clock_sources(uhd_usrp_handle h, size_t mboard, uhd_string_vector_handle *clock_sources_out)
Get a list of clock sources for the given device.
uhd_usrp_set_normalized_rx_gain
UHD_API uhd_error uhd_usrp_set_normalized_rx_gain(uhd_usrp_handle h, double gain, size_t chan)
Set the normalized RX gain [0.0, 1.0] for the given channel.
uhd_usrp_find
UHD_API uhd_error uhd_usrp_find(const char *args, uhd_string_vector_handle *strings_out)
Find all connected USRP devices.
uhd_usrp_get_rx_subdev_spec
UHD_API uhd_error uhd_usrp_get_rx_subdev_spec(uhd_usrp_handle h, size_t mboard, uhd_subdev_spec_handle subdev_spec_out)
Get the RX frontend specification for the given device.
uhd_usrp_get_time_sources
UHD_API uhd_error uhd_usrp_get_time_sources(uhd_usrp_handle h, size_t mboard, uhd_string_vector_handle *time_sources_out)
Get a list of time sources for the given device.
uhd_usrp_get_tx_rates
UHD_API uhd_error uhd_usrp_get_tx_rates(uhd_usrp_handle h, size_t chan, uhd_meta_range_handle rates_out)
Get a range of possible RX rates for the given channel.
uhd_usrp_set_tx_lo_source
UHD_API uhd_error uhd_usrp_set_tx_lo_source(uhd_usrp_handle h, const char *src, const char *name, size_t chan)
Set the LO source for the USRP device.
uhd_usrp_set_rx_lo_source
UHD_API uhd_error uhd_usrp_set_rx_lo_source(uhd_usrp_handle h, const char *src, const char *name, size_t chan)
Set the LO source for the USRP device.
uhd_usrp_set_tx_bandwidth
UHD_API uhd_error uhd_usrp_set_tx_bandwidth(uhd_usrp_handle h, double bandwidth, size_t chan)
Set the bandwidth for the given channel's TX frontend.
uhd_usrp_get_rx_bandwidth_range
UHD_API uhd_error uhd_usrp_get_rx_bandwidth_range(uhd_usrp_handle h, size_t chan, uhd_meta_range_handle bandwidth_range_out)
Get all possible bandwidth ranges for the given channel's RX frontend.
uhd_tx_streamer_send
UHD_API uhd_error uhd_tx_streamer_send(uhd_tx_streamer_handle h, const void **buffs, size_t samps_per_buff, uhd_tx_metadata_handle *md, double timeout, size_t *items_sent)
Send buffers containing samples described by the metadata.
uhd_usrp_set_dboard_eeprom
UHD_API uhd_error uhd_usrp_set_dboard_eeprom(uhd_usrp_handle h, uhd_dboard_eeprom_handle db_eeprom, const char *unit, const char *slot, size_t mboard)
Set values in the given daughterboard's EEPROM.
uhd_usrp_get_rx_freq
UHD_API uhd_error uhd_usrp_get_rx_freq(uhd_usrp_handle h, size_t chan, double *freq_out)
Get the given channel's center RX frequency.
uhd_usrp_get_gpio_attr
UHD_API uhd_error uhd_usrp_get_gpio_attr(uhd_usrp_handle h, const char *bank, const char *attr, size_t mboard, uint32_t *attr_out)
Get a GPIO attribute on a particular GPIO bank.
uhd_usrp_set_tx_rate
UHD_API uhd_error uhd_usrp_set_tx_rate(uhd_usrp_handle h, double rate, size_t chan)
Set the given RX channel's sample rate (in Sps).
uhd_usrp_set_rx_subdev_spec
UHD_API uhd_error uhd_usrp_set_rx_subdev_spec(uhd_usrp_handle h, uhd_subdev_spec_handle subdev_spec, size_t mboard)
Map the given device's RX frontend to a channel.
uhd_usrp_get_tx_sensor_names
UHD_API uhd_error uhd_usrp_get_tx_sensor_names(uhd_usrp_handle h, size_t chan, uhd_string_vector_handle *sensor_names_out)
Get a list of TX sensors associated with the given channels.
uhd_usrp_get_fe_rx_freq_range
UHD_API uhd_error uhd_usrp_get_fe_rx_freq_range(uhd_usrp_handle h, size_t chan, uhd_meta_range_handle freq_range_out)
Get all possible RF frequency ranges for the given channel's RX RF frontend.
uhd_usrp_set_time_unknown_pps
UHD_API uhd_error uhd_usrp_set_time_unknown_pps(uhd_usrp_handle h, int64_t full_secs, double frac_secs)
Synchronize the time across all motherboards.
uhd_usrp_get_tx_gain
UHD_API uhd_error uhd_usrp_get_tx_gain(uhd_usrp_handle h, size_t chan, const char *gain_name, double *gain_out)
Get the given channel's RX gain.
uhd_usrp_get_tx_subdev_spec
UHD_API uhd_error uhd_usrp_get_tx_subdev_spec(uhd_usrp_handle h, size_t mboard, uhd_subdev_spec_handle subdev_spec_out)
Get the TX frontend specification for the given device.
uhd_usrp_set_normalized_tx_gain
UHD_API uhd_error uhd_usrp_set_normalized_tx_gain(uhd_usrp_handle h, double gain, size_t chan)
Set the normalized TX gain [0.0, 1.0] for the given channel.
uhd_usrp_get_rx_lo_freq
UHD_API uhd_error uhd_usrp_get_rx_lo_freq(uhd_usrp_handle h, const char *name, size_t chan, double *rx_lo_freq_out)
Get the current RX LO frequency.
uhd_usrp_set_tx_lo_freq
UHD_API uhd_error uhd_usrp_set_tx_lo_freq(uhd_usrp_handle h, double freq, const char *name, size_t chan, double *coerced_freq_out)
Set the Tx LO frequency.
uhd_usrp_get_mboard_sensor
UHD_API uhd_error uhd_usrp_get_mboard_sensor(uhd_usrp_handle h, const char *name, size_t mboard, uhd_sensor_value_handle *sensor_value_out)
Get the value associated with the given sensor name.
uhd_usrp_set_time_source
UHD_API uhd_error uhd_usrp_set_time_source(uhd_usrp_handle h, const char *time_source, size_t mboard)
Set the time source for the given device.
uhd_usrp_set_rx_lo_freq
UHD_API uhd_error uhd_usrp_set_rx_lo_freq(uhd_usrp_handle h, double freq, const char *name, size_t chan, double *coerced_freq_out)
Set the RX LO frequency.
usrp_info.h