diff options
Diffstat (limited to 'host')
| -rw-r--r-- | host/include/uhd/types/sensors.hpp | 15 | ||||
| -rw-r--r-- | host/lib/types/sensors.cpp | 12 | 
2 files changed, 26 insertions, 1 deletions
| diff --git a/host/include/uhd/types/sensors.hpp b/host/include/uhd/types/sensors.hpp index e1a21e4c9..6f003bb40 100644 --- a/host/include/uhd/types/sensors.hpp +++ b/host/include/uhd/types/sensors.hpp @@ -85,6 +85,18 @@ namespace uhd{              const std::string &formatter = "%f"          ); +        /*! +         * Create a sensor value from a string. +         * \param name the name of the sensor +         * \param value the real number value +         * \param unit the associated unit type +         */ +        sensor_value_t( +            const std::string &name, +            const std::string &value, +            const std::string &unit +        ); +          //! The name of the sensor value          const std::string name; @@ -106,7 +118,8 @@ namespace uhd{          const enum{              BOOLEAN = 'b',              INTEGER = 'i', -            REALNUM = 'r' +            REALNUM = 'r', +            STRING  = 's'          } type;          //! Convert this sensor value into a printable string diff --git a/host/lib/types/sensors.cpp b/host/lib/types/sensors.cpp index 497f4bfd5..2bff136a4 100644 --- a/host/lib/types/sensors.cpp +++ b/host/lib/types/sensors.cpp @@ -57,12 +57,24 @@ sensor_value_t::sensor_value_t(      /* NOP */  } +sensor_value_t::sensor_value_t( +    const std::string &name, +    const std::string &value, +    const std::string &unit +): +    name(name), value(value), +    unit(unit), type(STRING) +{ +    /* NOP */ +} +  std::string sensor_value_t::to_pp_string(void) const{      switch(type){      case BOOLEAN:          return str(boost::format("%s: %s") % name % unit);      case INTEGER:      case REALNUM: +    case STRING:          return str(boost::format("%s: %s %s") % name % value % unit);      }      UHD_THROW_INVALID_CODE_PATH(); | 
