USRP Hardware Driver and USRP Manual Version: 3.15.0.0-MacPorts-Release
UHD and USRP Manual
ranges.h
Go to the documentation of this file.
1//
2// Copyright 2015 Ettus Research LLC
3// Copyright 2018 Ettus Research, a National Instruments Company
4//
5// SPDX-License-Identifier: GPL-3.0-or-later
6//
7
8#ifndef INCLUDED_UHD_TYPES_RANGES_H
9#define INCLUDED_UHD_TYPES_RANGES_H
10
11#include <uhd/config.h>
12#include <uhd/error.h>
13
14#include <stdbool.h>
15#include <stdlib.h>
16
18typedef struct {
20 double start;
22 double stop;
24 double step;
26
27#ifdef __cplusplus
28#include <uhd/types/ranges.hpp>
29#include <string>
30
31struct uhd_meta_range_t {
32 uhd::meta_range_t meta_range_cpp;
33 std::string last_error;
34};
35
36extern "C" {
37#else
38struct uhd_meta_range_t;
39#endif
40
42
45typedef struct uhd_meta_range_t* uhd_meta_range_handle;
46
49 const uhd_range_t *range,
50 char* pp_string_out,
51 size_t strbuffer_len
52);
53
55
61);
62
64
70);
71
75 double *start_out
76);
77
81 double *stop_out
82);
83
87 double *step_out
88);
89
93 double value,
94 bool clip_step,
95 double *result_out
96);
97
101 size_t *size_out
102);
103
107 const uhd_range_t *range
108);
109
113 size_t num,
114 uhd_range_t *range_out
115);
116
120 char* pp_string_out,
121 size_t strbuffer_len
122);
123
127 char* error_out,
128 size_t strbuffer_len
129);
130
131#ifdef __cplusplus
132}
133
134UHD_API uhd::range_t uhd_range_c_to_cpp(
135 const uhd_range_t *range_c
136);
137
138UHD_API void uhd_range_cpp_to_c(
139 const uhd::range_t &range_cpp,
140 uhd_range_t *range_c
141);
142#endif
143
144#endif /* INCLUDED_UHD_TYPES_RANGES_H */
Definition: ranges.hpp:22
#define UHD_API
Definition: config.h:68
uhd_error
UHD error codes.
Definition: error.h:21
UHD_API uhd_error uhd_meta_range_make(uhd_meta_range_handle *h)
Create a meta range handle.
UHD_API uhd_error uhd_meta_range_to_pp_string(uhd_meta_range_handle h, char *pp_string_out, size_t strbuffer_len)
Get a string representation of the given meta range.
UHD_API uhd_error uhd_meta_range_free(uhd_meta_range_handle *h)
Destroy a meta range handle.
UHD_API uhd_error uhd_meta_range_start(uhd_meta_range_handle h, double *start_out)
Get the overall start value for the given meta range.
UHD_API uhd_error uhd_meta_range_at(uhd_meta_range_handle h, size_t num, uhd_range_t *range_out)
Get the range at the given index.
UHD_API uhd_error uhd_meta_range_clip(uhd_meta_range_handle h, double value, bool clip_step, double *result_out)
Clip the given value to a possible value in the given range.
UHD_API uhd_error uhd_meta_range_stop(uhd_meta_range_handle h, double *stop_out)
Get the overall stop value for the given meta range.
UHD_API uhd_error uhd_meta_range_last_error(uhd_meta_range_handle h, char *error_out, size_t strbuffer_len)
Get the last error recorded by the underlying meta range.
UHD_API uhd_error uhd_meta_range_push_back(uhd_meta_range_handle h, const uhd_range_t *range)
Add a range to the given meta range.
UHD_API uhd_error uhd_range_to_pp_string(const uhd_range_t *range, char *pp_string_out, size_t strbuffer_len)
Get a string representation of the given range.
struct uhd_meta_range_t * uhd_meta_range_handle
C-level interface for dealing with a list of ranges.
Definition: ranges.h:45
UHD_API uhd_error uhd_meta_range_size(uhd_meta_range_handle h, size_t *size_out)
Get the number of ranges in the given meta range.
UHD_API uhd_error uhd_meta_range_step(uhd_meta_range_handle h, double *step_out)
Get the overall step value for the given meta range.
Definition: ranges.hpp:66
Range of floating-point values.
Definition: ranges.h:18
double stop
Last value.
Definition: ranges.h:22
double start
First value.
Definition: ranges.h:20
double step
Granularity.
Definition: ranges.h:24