UHD
003.001.002
|
Namespaces | |
_log | |
convert | |
msg | |
transport | |
usrp | |
Classes | |
struct | assertion_error |
struct | async_metadata_t |
struct | clock_config_t |
class | device |
class | device_addr_t |
class | dict |
struct | environment_error |
struct | exception |
struct | gain_fcns_t |
class | gain_group |
class | i2c_iface |
struct | index_error |
struct | io_error |
class | io_type_t |
struct | key_error |
struct | lookup_error |
class | mac_addr_t |
struct | meta_range_t |
struct | named_prop_t |
struct | not_implemented_error |
struct | os_error |
struct | otw_type_t |
class | range_t |
class | ref_vector |
struct | runtime_error |
struct | rx_metadata_t |
struct | sensor_value_t |
struct | spi_config_t |
class | spi_iface |
struct | stream_cmd_t |
struct | system_error |
class | time_spec_t |
struct | tune_request_t |
struct | tune_result_t |
struct | tx_metadata_t |
struct | type_error |
struct | value_error |
Typedefs | |
typedef std::vector< device_addr_t > | device_addrs_t |
A typedef for a vector of device addresses. More... | |
typedef meta_range_t | gain_range_t |
typedef meta_range_t | freq_range_t |
typedef std::vector< boost::uint8_t > | byte_vector_t |
typedef std::vector< std::string > | prop_names_t |
The type for a vector of property names. More... | |
Functions | |
UHD_API device_addrs_t | separate_device_addr (const device_addr_t &dev_addr) |
Separate an indexed device address into a vector of device addresses. More... | |
UHD_API device_addr_t | combine_device_addrs (const device_addrs_t &dev_addrs) |
Combine a vector of device addresses into an indexed device address. More... | |
UHD_API bool | operator== (const time_spec_t &, const time_spec_t &) |
Implement equality_comparable interface. More... | |
UHD_API bool | operator< (const time_spec_t &, const time_spec_t &) |
Implement less_than_comparable interface. More... | |
template<typename Range > | |
Range | sorted (const Range &range) |
template<typename Range > | |
Range | reversed (const Range &range) |
template<typename Range , typename T > | |
bool | has (const Range &range, const T &value) |
template<typename T > | |
T | clip (const T &val, const T &bound1, const T &bound2) |
template<typename T , typename Range > | |
void | assert_has (const Range &range, const T &value, const std::string &what="unknown") |
boost::uint16_t | byteswap (boost::uint16_t) |
perform a byteswap on a 16 bit integer More... | |
boost::uint32_t | byteswap (boost::uint32_t) |
perform a byteswap on a 32 bit integer More... | |
boost::uint64_t | byteswap (boost::uint64_t) |
perform a byteswap on a 64 bit integer More... | |
template<typename T > | |
T | ntohx (T) |
network to host: short, long, or long-long More... | |
template<typename T > | |
T | htonx (T) |
host to network: short, long, or long-long More... | |
UHD_API std::string | find_image_path (const std::string &image_name) |
UHD_API void | set_thread_priority (float priority=default_thread_priority, bool realtime=true) |
UHD_API bool | set_thread_priority_safe (float priority=default_thread_priority, bool realtime=true) |
UHD_API std::string | get_version_string (void) |
Define common exceptions used throughout the code:
The code() provides an error code which allows the application the option of printing a cryptic error message from the 1990s.
Useful templated functions and classes that I like to pretend are part of stl. Many of the range wrapper functions come with recent versions of boost (1.43).
typedef std::vector<boost::uint8_t> uhd::byte_vector_t |
Byte vector typedef for passing data in and out of I2C interfaces.
typedef std::vector<device_addr_t> uhd::device_addrs_t |
A typedef for a vector of device addresses.
typedef meta_range_t uhd::freq_range_t |
typedef meta_range_t uhd::gain_range_t |
typedef std::vector<std::string> uhd::prop_names_t |
The type for a vector of property names.
void uhd::assert_has | ( | const Range & | range, |
const T & | value, | ||
const std::string & | what = "unknown" |
||
) |
Check that an element is found in a container. If not, throw a meaningful assertion error. The "what" in the error will show what is being set and a list of known good values.
range | a list of possible settings |
value | an element that may be in the list |
what | a description of what the value is |
assertion_error | when elem not in list |
boost::uint16_t uhd::byteswap | ( | boost::uint16_t | ) |
perform a byteswap on a 16 bit integer
boost::uint32_t uhd::byteswap | ( | boost::uint32_t | ) |
perform a byteswap on a 32 bit integer
boost::uint64_t uhd::byteswap | ( | boost::uint64_t | ) |
perform a byteswap on a 64 bit integer
|
inline |
A templated clip implementation.
val | the value to clip between an upper and lower limit |
bound1 | the upper or lower bound |
bound2 | the upper or lower bound |
UHD_API device_addr_t uhd::combine_device_addrs | ( | const device_addrs_t & | dev_addrs | ) |
Combine a vector of device addresses into an indexed device address.
UHD_API std::string uhd::find_image_path | ( | const std::string & | image_name | ) |
Search for an image in the system image paths: Search compiled-in paths and environment variable paths for a specific image file with the provided file name.
image_name | the name of the file |
exception | if the image was not found |
UHD_API std::string uhd::get_version_string | ( | void | ) |
|
inline |
Is the value found within the elements in this range?
Uses std::find to search the iterable for an element.
range | the elements to search through |
value | the match to look for in the range |
T uhd::htonx | ( | T | ) |
host to network: short, long, or long-long
T uhd::ntohx | ( | T | ) |
network to host: short, long, or long-long
UHD_API bool uhd::operator< | ( | const time_spec_t & | , |
const time_spec_t & | |||
) |
Implement less_than_comparable interface.
UHD_API bool uhd::operator== | ( | const time_spec_t & | , |
const time_spec_t & | |||
) |
Implement equality_comparable interface.
|
inline |
A wrapper around std::reverse that takes a range instead of an iterator.
The elements are reversed into descending order using the less-than operator. This wrapper reverses the elements non-destructively into a new range. Based on the builtin python function reversed(...)
range | the range of elements to be reversed |
UHD_API device_addrs_t uhd::separate_device_addr | ( | const device_addr_t & | dev_addr | ) |
Separate an indexed device address into a vector of device addresses.
UHD_API void uhd::set_thread_priority | ( | float | priority = default_thread_priority , |
bool | realtime = true |
||
) |
Set the scheduling priority on the current thread.
A new thread or calling process should make this call with the defailts this to enable realtime scheduling.
A priority of zero corresponds to normal priority. Positive priority values are higher than normal. Negative priority values are lower than normal.
priority | a value between -1 and 1 |
realtime | true to use realtime mode |
exception | on set priority failure |
UHD_API bool uhd::set_thread_priority_safe | ( | float | priority = default_thread_priority , |
bool | realtime = true |
||
) |
Set the scheduling priority on the current thread. Same as set_thread_priority but does not throw on failure.
|
inline |
A wrapper around std::sort that takes a range instead of an iterator.
The elements are sorted into ascending order using the less-than operator. This wrapper sorts the elements non-destructively into a new range. Based on the builtin python function sorted(...)
range | the range of elements to be sorted |