USRP Hardware Driver and USRP Manual  Version: 3.15.0.HEAD-0-gaea0e2de
UHD and USRP Manual
sensors.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_SENSORS_H
9 #define INCLUDED_UHD_TYPES_SENSORS_H
10 
11 #include <uhd/config.h>
12 #include <uhd/error.h>
13 
14 #ifdef __cplusplus
15 #include <uhd/types/sensors.hpp>
16 #include <string>
17 
18 struct uhd_sensor_value_t {
19  // No default constructor, so we need a pointer
20  uhd::sensor_value_t* sensor_value_cpp;
21  std::string last_error;
22 };
23 extern "C" {
24 #else
25 struct uhd_sensor_value_t;
26 #endif
27 
29 
34 typedef struct uhd_sensor_value_t* uhd_sensor_value_handle;
35 
37 typedef enum {
43 
45 
55  uhd_sensor_value_handle* h
56 );
57 
59 
68  uhd_sensor_value_handle* h,
69  const char* name,
70  bool value,
71  const char* utrue,
72  const char* ufalse
73 );
74 
76 
85  uhd_sensor_value_handle* h,
86  const char* name,
87  int value,
88  const char* unit,
89  const char* formatter
90 );
91 
93 
102  uhd_sensor_value_handle* h,
103  const char* name,
104  double value,
105  const char* unit,
106  const char* formatter
107 );
108 
110 
118  uhd_sensor_value_handle* h,
119  const char* name,
120  const char* value,
121  const char* unit
122 );
123 
125 
130  uhd_sensor_value_handle* h
131 );
132 
135  uhd_sensor_value_handle h,
136  bool *value_out
137 );
138 
141  uhd_sensor_value_handle h,
142  int *value_out
143 );
144 
147  uhd_sensor_value_handle h,
148  double *value_out
149 );
150 
152 
161  uhd_sensor_value_handle h,
162  char* name_out,
163  size_t strbuffer_len
164 );
165 
167 
176  uhd_sensor_value_handle h,
177  char* value_out,
178  size_t strbuffer_len
179 );
180 
182 
191  uhd_sensor_value_handle h,
192  char* unit_out,
193  size_t strbuffer_len
194 );
195 
197  uhd_sensor_value_handle h,
198  uhd_sensor_value_data_type_t *data_type_out
199 );
200 
202 
211  uhd_sensor_value_handle h,
212  char* pp_string_out,
213  size_t strbuffer_len
214 );
215 
217 
226  uhd_sensor_value_handle h,
227  char* error_out,
228  size_t strbuffer_len
229 );
230 
231 #ifdef __cplusplus
232 }
233 #endif
234 
235 #endif /* INCLUDED_UHD_TYPES_SENSORS_H */
UHD_API uhd_error uhd_sensor_value_to_realnum(uhd_sensor_value_handle h, double *value_out)
Get the sensor&#39;s value as a real number.
UHD_API uhd_error uhd_sensor_value_make_from_int(uhd_sensor_value_handle *h, const char *name, int value, const char *unit, const char *formatter)
Make a UHD sensor from an integer.
UHD_API uhd_error uhd_sensor_value_last_error(uhd_sensor_value_handle h, char *error_out, size_t strbuffer_len)
Get the last error logged by the sensor handle.
Definition: sensors.h:41
UHD_API uhd_error uhd_sensor_value_unit(uhd_sensor_value_handle h, char *unit_out, size_t strbuffer_len)
Get the sensor&#39;s unit.
UHD_API uhd_error uhd_sensor_value_value(uhd_sensor_value_handle h, char *value_out, size_t strbuffer_len)
Get the sensor&#39;s value.
UHD_API uhd_error uhd_sensor_value_make_from_string(uhd_sensor_value_handle *h, const char *name, const char *value, const char *unit)
Make a UHD sensor from a string.
Definition: sensors.h:40
UHD_API uhd_error uhd_sensor_value_free(uhd_sensor_value_handle *h)
Free the given sensor handle.
UHD_API uhd_error uhd_sensor_value_make_from_bool(uhd_sensor_value_handle *h, const char *name, bool value, const char *utrue, const char *ufalse)
Make a UHD sensor from a boolean.
uhd_sensor_value_data_type_t
Sensor value types.
Definition: sensors.h:37
UHD_API uhd_error uhd_sensor_value_data_type(uhd_sensor_value_handle h, uhd_sensor_value_data_type_t *data_type_out)
uhd_error
UHD error codes.
Definition: error.h:21
Definition: sensors.hpp:29
Definition: sensors.h:38
UHD_API uhd_error uhd_sensor_value_make(uhd_sensor_value_handle *h)
Make an empty UHD sensor value.
UHD_API uhd_error uhd_sensor_value_to_pp_string(uhd_sensor_value_handle h, char *pp_string_out, size_t strbuffer_len)
Get a pretty-print representation of the given sensor.
#define UHD_API
Definition: config.h:68
UHD_API uhd_error uhd_sensor_value_make_from_realnum(uhd_sensor_value_handle *h, const char *name, double value, const char *unit, const char *formatter)
Make a UHD sensor from a real number.
struct uhd_sensor_value_t * uhd_sensor_value_handle
C-level interface for a UHD sensor.
Definition: sensors.h:34
Definition: sensors.h:39
UHD_API uhd_error uhd_sensor_value_name(uhd_sensor_value_handle h, char *name_out, size_t strbuffer_len)
Get the sensor&#39;s name.
UHD_API uhd_error uhd_sensor_value_to_int(uhd_sensor_value_handle h, int *value_out)
Get the sensor&#39;s value as an integer.
UHD_API uhd_error uhd_sensor_value_to_bool(uhd_sensor_value_handle h, bool *value_out)
Get the sensor&#39;s value as a boolean.