diff options
-rw-r--r-- | host/include/uhd/types/sensors.h | 14 | ||||
-rw-r--r-- | host/lib/types/sensors_c.cpp | 15 |
2 files changed, 29 insertions, 0 deletions
diff --git a/host/include/uhd/types/sensors.h b/host/include/uhd/types/sensors.h index c0037c9f6..68468b04b 100644 --- a/host/include/uhd/types/sensors.h +++ b/host/include/uhd/types/sensors.h @@ -51,6 +51,20 @@ typedef enum { UHD_SENSOR_VALUE_STRING = 115 } uhd_sensor_value_data_type_t; +//! Make an empty UHD sensor value. +/*! + * The purpose of this call is to populate the handle with a valid sensor value + * object. Querying this object will always yield 'false'. Typically, this + * sensor value object will never be used, but it will allow the handle object + * to be used with sensor functions later on. + * + * \param h the sensor handle in which to place sensor + * \returns UHD error code + */ +UHD_API uhd_error uhd_sensor_value_make( + uhd_sensor_value_handle* h +); + //! Make a UHD sensor from a boolean. /*! * \param h the sensor handle in which to place sensor diff --git a/host/lib/types/sensors_c.cpp b/host/lib/types/sensors_c.cpp index cec4fbaff..5760b0c7e 100644 --- a/host/lib/types/sensors_c.cpp +++ b/host/lib/types/sensors_c.cpp @@ -20,6 +20,21 @@ #include <string> #include <string.h> +uhd_error uhd_sensor_value_make( + uhd_sensor_value_handle* h +){ + try{ + *h = new uhd_sensor_value_t; + } + catch(...){ + return UHD_ERROR_UNKNOWN; + } + + UHD_SAFE_C_SAVE_ERROR((*h), + (*h)->sensor_value_cpp = new uhd::sensor_value_t("", false, "", ""); + ) +} + uhd_error uhd_sensor_value_make_from_bool( uhd_sensor_value_handle* h, const char* name, |