diff options
Diffstat (limited to 'host/include')
21 files changed, 309 insertions, 61 deletions
diff --git a/host/include/uhd/device.hpp b/host/include/uhd/device.hpp index 89c6332da..de39383c9 100644 --- a/host/include/uhd/device.hpp +++ b/host/include/uhd/device.hpp @@ -82,16 +82,6 @@ public:      //! Make a new transmit streamer from the streamer arguments      virtual tx_streamer::sptr get_tx_stream(const stream_args_t &args) = 0; -    /*! -     * Receive and asynchronous message from the device. -     * \param async_metadata the metadata to be filled in -     * \param timeout the timeout in seconds to wait for a message -     * \return true when the async_metadata is valid, false for timeout -     */ -    virtual bool recv_async_msg( -        async_metadata_t &async_metadata, double timeout = 0.1 -    ) = 0; -      //! Get access to the underlying property structure      virtual boost::shared_ptr<property_tree> get_tree(void) const = 0; diff --git a/host/include/uhd/device_deprecated.ipp b/host/include/uhd/device_deprecated.ipp index 0ee1cd706..58c43a876 100644 --- a/host/include/uhd/device_deprecated.ipp +++ b/host/include/uhd/device_deprecated.ipp @@ -184,6 +184,16 @@ size_t get_max_recv_samps_per_packet(void){      return _rx_streamer->get_max_num_samps();  } +/*! + * Receive and asynchronous message from the device. + * \param async_metadata the metadata to be filled in + * \param timeout the timeout in seconds to wait for a message + * \return true when the async_metadata is valid, false for timeout + */ +virtual bool recv_async_msg( +    async_metadata_t &async_metadata, double timeout = 0.1 +) = 0; +  private:      rx_streamer::sptr _rx_streamer;      io_type_t::tid_t _recv_tid; diff --git a/host/include/uhd/exception.hpp b/host/include/uhd/exception.hpp index c05861788..69e902fd5 100644 --- a/host/include/uhd/exception.hpp +++ b/host/include/uhd/exception.hpp @@ -157,9 +157,9 @@ namespace uhd{       * If the code evaluates to false, throw an assertion error.       * \param code the code that resolved to a boolean       */ -    #define UHD_ASSERT_THROW(code) if (not (code)) \ +    #define UHD_ASSERT_THROW(code) {if (not (code)) \          throw uhd::assertion_error(UHD_THROW_SITE_INFO(#code)); \ -    else void(0) +    }  } //namespace uhd diff --git a/host/include/uhd/stream.hpp b/host/include/uhd/stream.hpp index c8ab303ad..75b097ded 100644 --- a/host/include/uhd/stream.hpp +++ b/host/include/uhd/stream.hpp @@ -1,5 +1,5 @@  // -// Copyright 2011-2012 Ettus Research LLC +// Copyright 2011-2013 Ettus Research LLC  //  // This program is free software: you can redistribute it and/or modify  // it under the terms of the GNU General Public License as published by @@ -21,6 +21,7 @@  #include <uhd/config.hpp>  #include <uhd/types/metadata.hpp>  #include <uhd/types/device_addr.hpp> +#include <uhd/types/stream_cmd.hpp>  #include <uhd/types/ref_vector.hpp>  #include <boost/utility.hpp>  #include <boost/shared_ptr.hpp> @@ -124,6 +125,8 @@ class UHD_API rx_streamer : boost::noncopyable{  public:      typedef boost::shared_ptr<rx_streamer> sptr; +    virtual ~rx_streamer(void); +      //! Get the number of channels associated with this streamer      virtual size_t get_num_channels(void) const = 0; @@ -170,6 +173,19 @@ public:          const double timeout = 0.1,          const bool one_packet = false      ) = 0; + +    /*! +     * Issue a stream command to the usrp device. +     * This tells the usrp to send samples into the host. +     * See the documentation for stream_cmd_t for more info. +     * +     * With multiple devices, the first stream command in a chain of commands +     * should have a time spec in the near future and stream_now = false; +     * to ensure that the packets can be aligned by their time specs. +     * +     * \param stream_cmd the stream command to issue +     */ +    virtual void issue_stream_cmd(const stream_cmd_t &stream_cmd) = 0;  };  /*! @@ -181,6 +197,8 @@ class UHD_API tx_streamer : boost::noncopyable{  public:      typedef boost::shared_ptr<tx_streamer> sptr; +    virtual ~tx_streamer(void); +      //! Get the number of channels associated with this streamer      virtual size_t get_num_channels(void) const = 0; @@ -217,6 +235,16 @@ public:          const tx_metadata_t &metadata,          const double timeout = 0.1      ) = 0; + +    /*! +     * Receive and asynchronous message from this TX stream. +     * \param async_metadata the metadata to be filled in +     * \param timeout the timeout in seconds to wait for a message +     * \return true when the async_metadata is valid, false for timeout +     */ +    virtual bool recv_async_msg( +        async_metadata_t &async_metadata, double timeout = 0.1 +    ) = 0;  };  } //namespace uhd diff --git a/host/include/uhd/transport/bounded_buffer.ipp b/host/include/uhd/transport/bounded_buffer.ipp index 9c24005b7..35ffb293b 100644 --- a/host/include/uhd/transport/bounded_buffer.ipp +++ b/host/include/uhd/transport/bounded_buffer.ipp @@ -1,5 +1,5 @@  // -// Copyright 2010-2011 Ettus Research LLC +// Copyright 2010-2013 Ettus Research LLC  //  // This program is free software: you can redistribute it and/or modify  // it under the terms of the GNU General Public License as published by @@ -26,7 +26,7 @@  #include <boost/thread/condition.hpp>  #include <boost/thread/locks.hpp> -namespace uhd{ namespace transport{ namespace{ /*anon*/ +namespace uhd{ namespace transport{      template <typename elem_type> class bounded_buffer_detail : boost::noncopyable{      public: @@ -142,6 +142,6 @@ namespace uhd{ namespace transport{ namespace{ /*anon*/          }      }; -}}} //namespace +}} //namespace  #endif /* INCLUDED_UHD_TRANSPORT_BOUNDED_BUFFER_IPP */ diff --git a/host/include/uhd/transport/usb_control.hpp b/host/include/uhd/transport/usb_control.hpp index 2af4b3bbe..92b10f339 100644 --- a/host/include/uhd/transport/usb_control.hpp +++ b/host/include/uhd/transport/usb_control.hpp @@ -1,5 +1,5 @@  // -// Copyright 2010 Ettus Research LLC +// Copyright 2010-2013 Ettus Research LLC  //  // This program is free software: you can redistribute it and/or modify  // it under the terms of the GNU General Public License as published by @@ -51,6 +51,7 @@ public:       * \param index        2-byte (wIndex)       * \param buff         buffer to hold send or receive data       * \param length       2-byte (wLength) +     * \param timeout      4-byte (timeout, default is infinite wait)       * \return             number of bytes submitted or error code       */      virtual ssize_t submit(boost::uint8_t request_type, @@ -58,7 +59,8 @@ public:                            boost::uint16_t value,                            boost::uint16_t index,                             unsigned char *buff, -                          boost::uint16_t length) = 0;  +                          boost::uint16_t length, +                          boost::int32_t timeout = 0) = 0;  };  }} //namespace diff --git a/host/include/uhd/transport/usb_device_handle.hpp b/host/include/uhd/transport/usb_device_handle.hpp index 6f8d868be..fdea9e2be 100644 --- a/host/include/uhd/transport/usb_device_handle.hpp +++ b/host/include/uhd/transport/usb_device_handle.hpp @@ -1,5 +1,5 @@  // -// Copyright 2010 Ettus Research LLC +// Copyright 2010-2013 Ettus Research LLC  //  // This program is free software: you can redistribute it and/or modify  // it under the terms of the GNU General Public License as published by @@ -43,12 +43,24 @@ public:      typedef boost::shared_ptr<usb_device_handle> sptr;      /*! -     * Return the device's serial number  +     * Return the device's serial number       * \return a string describing the device's serial number       */      virtual std::string get_serial() const = 0;      /*! +     * Return the device's manufacturer identification string +     * \return a string describing the device's manufacturer string +     */ +    virtual std::string get_manufacturer() const = 0; + +    /*! +     * Return the device's product identification string +     * \return a string describing the device's product string +     */ +    virtual std::string get_product() const = 0; + +    /*!       * Return the device's Vendor ID (usually assigned by the USB-IF)       * \return a Vendor ID       */ @@ -61,7 +73,13 @@ public:      virtual boost::uint16_t get_product_id() const = 0;      /*! -     * Return a vector of USB devices on this host  +     * Test whether the firmware is loaded on the device. +     * \return true if firmware is loaded +     */ +    virtual bool firmware_loaded() = 0; + +    /*! +     * Return a vector of USB devices on this host       * \return a vector of USB device handles that match vid and pid       */      static std::vector<usb_device_handle::sptr> get_device_list(boost::uint16_t vid, boost::uint16_t pid); diff --git a/host/include/uhd/transport/usb_zero_copy.hpp b/host/include/uhd/transport/usb_zero_copy.hpp index 24b709ec9..3990568c3 100644 --- a/host/include/uhd/transport/usb_zero_copy.hpp +++ b/host/include/uhd/transport/usb_zero_copy.hpp @@ -1,5 +1,5 @@  // -// Copyright 2010-2011 Ettus Research LLC +// Copyright 2010-2013 Ettus Research LLC  //  // This program is free software: you can redistribute it and/or modify  // it under the terms of the GNU General Public License as published by @@ -61,24 +61,6 @@ public:          const size_t send_endpoint,          const device_addr_t &hints = device_addr_t()      ); - -    /*! -     * Make a wrapper around a zero copy implementation. -     * The wrapper performs the following functions: -     * - Pad commits to the frame boundary -     * - Extract multiple packets on recv -     * -     * When enable multiple receive packets is set to true, -     * the implementation inspects the vita length on transfers, -     * and may split a single transfer into multiple managed buffers. -     * -     * \param usb_zc a usb zero copy interface object -     * \param usb_frame_boundary bytes per frame -     * \return a new zero copy wrapper object -     */ -    static sptr make_wrapper( -        sptr usb_zc, size_t usb_frame_boundary = 512 -    );  };  }} //namespace diff --git a/host/include/uhd/transport/vrt_if_packet.hpp b/host/include/uhd/transport/vrt_if_packet.hpp index 1be480874..d16892281 100644 --- a/host/include/uhd/transport/vrt_if_packet.hpp +++ b/host/include/uhd/transport/vrt_if_packet.hpp @@ -1,5 +1,5 @@  // -// Copyright 2010 Ettus Research LLC +// Copyright 2010-2013 Ettus Research LLC  //  // This program is free software: you can redistribute it and/or modify  // it under the terms of the GNU General Public License as published by @@ -26,6 +26,9 @@ namespace uhd{ namespace transport{  namespace vrt{ +    //! The maximum number of 32-bit words in the vrlp link layer +    static const size_t num_vrl_words32 = 3; +      //! The maximum number of 32-bit words in a vrt if packet header      static const size_t max_if_hdr_words32 = 7; //hdr+sid+cid+tsi+tsf @@ -34,12 +37,24 @@ namespace vrt{       * The size fields are used for input and output depending upon       * the operation used (ie the pack or unpack function call).       */ -    struct UHD_API if_packet_info_t{ -        //packet type (pack only supports data) -        enum packet_type_t { +    struct UHD_API if_packet_info_t +    { +        if_packet_info_t(void); + +        //link layer type - always set for pack and unpack +        enum link_type_t +        { +            LINK_TYPE_NONE = 0x0, +            LINK_TYPE_CHDR = 0x1, +            LINK_TYPE_VRLP = 0x2, +        } link_type; + +        //packet type +        enum packet_type_t +        {              PACKET_TYPE_DATA      = 0x0, -            PACKET_TYPE_EXTENSION = 0x1, -            PACKET_TYPE_CONTEXT   = 0x2 +            PACKET_TYPE_IF_EXT    = 0x1, +            PACKET_TYPE_CONTEXT   = 0x2, //extension context: has_sid = true          } packet_type;          //size fields @@ -100,6 +115,22 @@ namespace vrt{          if_packet_info_t &if_packet_info      ); +    UHD_INLINE if_packet_info_t::if_packet_info_t(void): +        link_type(LINK_TYPE_NONE), +        packet_type(PACKET_TYPE_DATA), +        num_payload_words32(0), +        num_payload_bytes(0), +        num_header_words32(0), +        num_packet_words32(0), +        packet_count(0), +        sob(false), eob(false), +        has_sid(false), sid(0), +        has_cid(false), cid(0), +        has_tsi(false), tsi(0), +        has_tsf(false), tsf(0), +        has_tlr(false), tlr(0) +    {} +  } //namespace vrt  }} //namespace diff --git a/host/include/uhd/transport/zero_copy.hpp b/host/include/uhd/transport/zero_copy.hpp index 1dc0e8e26..fe2974d09 100644 --- a/host/include/uhd/transport/zero_copy.hpp +++ b/host/include/uhd/transport/zero_copy.hpp @@ -72,6 +72,7 @@ namespace uhd{ namespace transport{          }          boost::detail::atomic_count _ref_count; +        typedef boost::intrusive_ptr<managed_buffer> sptr;      protected:          void *_buffer; diff --git a/host/include/uhd/types/CMakeLists.txt b/host/include/uhd/types/CMakeLists.txt index 28e646117..334f1b41b 100644 --- a/host/include/uhd/types/CMakeLists.txt +++ b/host/include/uhd/types/CMakeLists.txt @@ -33,6 +33,7 @@ UHD_INSTALL(FILES      time_spec.hpp      tune_request.hpp      tune_result.hpp +    wb_iface.hpp      DESTINATION ${INCLUDE_DIR}/uhd/types      COMPONENT headers  ) diff --git a/host/include/uhd/types/serial.hpp b/host/include/uhd/types/serial.hpp index f66822775..7b565c633 100644 --- a/host/include/uhd/types/serial.hpp +++ b/host/include/uhd/types/serial.hpp @@ -1,5 +1,5 @@  // -// Copyright 2010-2011 Ettus Research LLC +// Copyright 2010-2013 Ettus Research LLC  //  // This program is free software: you can redistribute it and/or modify  // it under the terms of the GNU General Public License as published by @@ -46,13 +46,18 @@ namespace uhd{      public:          typedef boost::shared_ptr<i2c_iface> sptr; +        virtual ~i2c_iface(void); + +        //! Create an i2c_iface than can talk to 16 bit addressable EEPROMS +        i2c_iface::sptr eeprom16(void); +          /*!           * Write bytes over the i2c.           * \param addr the address           * \param buf the vector of bytes           */          virtual void write_i2c( -            boost::uint8_t addr, +            boost::uint16_t addr,              const byte_vector_t &buf          ) = 0; @@ -63,7 +68,7 @@ namespace uhd{           * \return a vector of bytes           */          virtual byte_vector_t read_i2c( -            boost::uint8_t addr, +            boost::uint16_t addr,              size_t num_bytes          ) = 0; @@ -74,8 +79,8 @@ namespace uhd{           * \param buf the vector of bytes           */          virtual void write_eeprom( -            boost::uint8_t addr, -            boost::uint8_t offset, +            boost::uint16_t addr, +            boost::uint16_t offset,              const byte_vector_t &buf          ); @@ -87,8 +92,8 @@ namespace uhd{           * \return a vector of bytes           */          virtual byte_vector_t read_eeprom( -            boost::uint8_t addr, -            boost::uint8_t offset, +            boost::uint16_t addr, +            boost::uint16_t offset,              size_t num_bytes          );      }; @@ -128,6 +133,8 @@ namespace uhd{      public:          typedef boost::shared_ptr<spi_iface> sptr; +        virtual ~spi_iface(void); +          /*!          * Perform a spi transaction.          * \param which_slave the slave device number @@ -182,6 +189,8 @@ namespace uhd{      public:          typedef boost::shared_ptr<uart_iface> sptr; +        virtual ~uart_iface(void); +          /*!           * Write to a serial port.           * \param buf the data to write diff --git a/host/include/uhd/types/tune_request.hpp b/host/include/uhd/types/tune_request.hpp index 9c498bfe9..dd6123a9f 100644 --- a/host/include/uhd/types/tune_request.hpp +++ b/host/include/uhd/types/tune_request.hpp @@ -1,5 +1,5 @@  // -// Copyright 2010 Ettus Research LLC +// Copyright 2010-2012 Ettus Research LLC  //  // This program is free software: you can redistribute it and/or modify  // it under the terms of the GNU General Public License as published by @@ -19,6 +19,7 @@  #define INCLUDED_UHD_TYPES_TUNE_REQUEST_HPP  #include <uhd/config.hpp> +#include <uhd/types/device_addr.hpp>  namespace uhd{ @@ -88,6 +89,18 @@ namespace uhd{           */          double dsp_freq; +        /*! +         * The args parameter is used to pass arbitrary key/value pairs. +         * Possible keys used by args (depends on implementation): +         * +         * - mode_n: Allows the user to tell the daughterboard tune code +         * to choose between an integer N diviver or fractional N divider. +         * Default is fractional N on boards that support fractional N tuning. +         * Fractional N provides greater tuning acuracy at the expense of spurs. +         * Possible options for this key: "integer" or "fractional". +         */ +        device_addr_t args; +      };  } //namespace uhd diff --git a/host/include/uhd/types/wb_iface.hpp b/host/include/uhd/types/wb_iface.hpp new file mode 100644 index 000000000..c508062e4 --- /dev/null +++ b/host/include/uhd/types/wb_iface.hpp @@ -0,0 +1,82 @@ +// +// Copyright 2011-2013 Ettus Research LLC +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program.  If not, see <http://www.gnu.org/licenses/>. +// + +#ifndef INCLUDED_UHD_TYPES_WB_IFACE_HPP +#define INCLUDED_UHD_TYPES_WB_IFACE_HPP + +#include <uhd/config.hpp> +#include <boost/cstdint.hpp> +#include <boost/shared_ptr.hpp> + +namespace uhd +{ + +class UHD_API wb_iface +{ +public: +    typedef boost::shared_ptr<wb_iface> sptr; +    typedef boost::uint32_t wb_addr_type; + +    virtual ~wb_iface(void); + +    /*! +     * Write a register (64 bits) +     * \param addr the address +     * \param data the 64bit data +     */ +    virtual void poke64(const wb_addr_type addr, const boost::uint64_t data); + +    /*! +     * Read a register (64 bits) +     * \param addr the address +     * \return the 64bit data +     */ +    virtual boost::uint64_t peek64(const wb_addr_type addr); + +    /*! +     * Write a register (32 bits) +     * \param addr the address +     * \param data the 32bit data +     */ +    virtual void poke32(const wb_addr_type addr, const boost::uint32_t data); + +    /*! +     * Read a register (32 bits) +     * \param addr the address +     * \return the 32bit data +     */ +    virtual boost::uint32_t peek32(const wb_addr_type addr); + +    /*! +     * Write a register (16 bits) +     * \param addr the address +     * \param data the 16bit data +     */ +    virtual void poke16(const wb_addr_type addr, const boost::uint16_t data); + +    /*! +     * Read a register (16 bits) +     * \param addr the address +     * \return the 16bit data +     */ +    virtual boost::uint16_t peek16(const wb_addr_type addr); + +}; + +} //namespace uhd + +#endif /* INCLUDED_UHD_TYPES_WB_IFACE_HPP */ diff --git a/host/include/uhd/usrp/dboard_iface.hpp b/host/include/uhd/usrp/dboard_iface.hpp index 6a6a68321..b0f92e2ab 100644 --- a/host/include/uhd/usrp/dboard_iface.hpp +++ b/host/include/uhd/usrp/dboard_iface.hpp @@ -1,5 +1,5 @@  // -// Copyright 2010-2011 Ettus Research LLC +// Copyright 2010-2013 Ettus Research LLC  //  // This program is free software: you can redistribute it and/or modify  // it under the terms of the GNU General Public License as published by @@ -290,6 +290,8 @@ private:  protected:      dboard_iface(void); +public: +    virtual ~dboard_iface(void);  }; diff --git a/host/include/uhd/utils/CMakeLists.txt b/host/include/uhd/utils/CMakeLists.txt index cdef2e946..e86826435 100644 --- a/host/include/uhd/utils/CMakeLists.txt +++ b/host/include/uhd/utils/CMakeLists.txt @@ -27,6 +27,7 @@ UHD_INSTALL(FILES      images.hpp      log.hpp      msg.hpp +    msg_task.hpp      paths.hpp      pimpl.hpp      safe_call.hpp diff --git a/host/include/uhd/utils/msg.hpp b/host/include/uhd/utils/msg.hpp index 3aac9577a..2cc5893e7 100644 --- a/host/include/uhd/utils/msg.hpp +++ b/host/include/uhd/utils/msg.hpp @@ -1,5 +1,5 @@  // -// Copyright 2011 Ettus Research LLC +// Copyright 2011-2013 Ettus Research LLC  //  // This program is free software: you can redistribute it and/or modify  // it under the terms of the GNU General Public License as published by @@ -21,6 +21,7 @@  #include <uhd/config.hpp>  #include <uhd/utils/pimpl.hpp>  #include <ostream> +#include <iomanip>  #include <string>  /*! @@ -38,6 +39,10 @@  #define UHD_VAR(var) \      UHD_MSG(status) << #var << " = " << var << std::endl; +//! Helpful debug tool to print a variable in hex +#define UHD_HEX(var) \ +    UHD_MSG(status) << #var << " = 0x" << std::hex << std::setfill('0') << std::setw(8) << var << std::dec << std::endl; +  namespace uhd{ namespace msg{      //! Possible message types diff --git a/host/include/uhd/utils/msg_task.hpp b/host/include/uhd/utils/msg_task.hpp new file mode 100644 index 000000000..ebb29af08 --- /dev/null +++ b/host/include/uhd/utils/msg_task.hpp @@ -0,0 +1,74 @@ +// +// Copyright 2011-2013 Ettus Research LLC +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program.  If not, see <http://www.gnu.org/licenses/>. +// + +#ifndef INCLUDED_UHD_UTILS_MSG_TASK_HPP +#define INCLUDED_UHD_UTILS_MSG_TASK_HPP + +#include <uhd/config.hpp> +#include <uhd/transport/zero_copy.hpp> +#include <boost/shared_ptr.hpp> +#include <boost/function.hpp> +#include <boost/utility.hpp> +#include <boost/optional/optional.hpp> +#include <vector> + +namespace uhd{ +	class UHD_API msg_task : boost::noncopyable{ +        public: +            typedef boost::shared_ptr<msg_task> sptr; +            typedef std::vector<uint8_t> msg_payload_t; +            typedef std::pair<uint32_t, msg_payload_t > msg_type_t; +            typedef boost::function<boost::optional<msg_type_t>(void)> task_fcn_type; + +            /* +             * During shutdown message queues for radio control cores might not be available anymore. +             * Such stranded messages get pushed into a dump queue. +             * With this function radio_ctrl_core can check if one of the messages meant for it got stranded. +             */ +            virtual msg_payload_t get_msg_from_dump_queue(boost::uint32_t sid) = 0; + +            inline static std::vector<uint8_t> buff_to_vector(uint8_t* p, size_t n) { +                if(p and n > 0){ +                    std::vector<uint8_t> v(n); +                    memcpy(&v.front(), p, n); +                    return v; +                } +                return std::vector<uint8_t>(); +            } + +            /*! +             * Create a new task object with function callback. +             * The task function callback will be run in a loop. +             * until the thread is interrupted by the deconstructor. +             * +             * A function may return payload which is then pushed to +             * a synchronized message queue. +             * +             * A task should return in a reasonable amount of time +             * or may block forever under the following conditions: +             *  - The blocking call is interruptible. +             *  - The task polls the interrupt condition. +             * +             * \param task_fcn the task callback function +             * \return a new task object +             */ +            static sptr make(const task_fcn_type &task_fcn); +    }; +} //namespace uhd + +#endif /* INCLUDED_UHD_UTILS_MSG_TASK_HPP */ + diff --git a/host/include/uhd/utils/paths.hpp b/host/include/uhd/utils/paths.hpp index f5a40b2c9..e0f455e92 100644 --- a/host/include/uhd/utils/paths.hpp +++ b/host/include/uhd/utils/paths.hpp @@ -29,8 +29,8 @@ namespace uhd{      //! Get a string representing the system's appdata directory      UHD_API std::string get_app_path(void); -    //! Get a string representing the system's pkg data directory -    UHD_API std::string get_pkg_data_path(void); +    //! Get a string representing the system's pkg directory +    UHD_API std::string get_pkg_path(void);  } //namespace uhd diff --git a/host/include/uhd/utils/tasks.hpp b/host/include/uhd/utils/tasks.hpp index dcb003e39..a1f682a83 100644 --- a/host/include/uhd/utils/tasks.hpp +++ b/host/include/uhd/utils/tasks.hpp @@ -46,7 +46,6 @@ namespace uhd{          static sptr make(const task_fcn_type &task_fcn);      }; -  } //namespace uhd  #endif /* INCLUDED_UHD_UTILS_TASKS_HPP */ diff --git a/host/include/uhd/version.hpp b/host/include/uhd/version.hpp index ab693f2b0..a62ee8285 100644 --- a/host/include/uhd/version.hpp +++ b/host/include/uhd/version.hpp @@ -1,5 +1,5 @@  // -// Copyright 2010-2012 Ettus Research LLC +// Copyright 2010-2013 Ettus Research LLC  //  // This program is free software: you can redistribute it and/or modify  // it under the terms of the GNU General Public License as published by @@ -27,7 +27,7 @@   * The format is oldest API compatible release - ABI compat number.   * The compatibility number allows pre-release ABI to be versioned.   */ -#define UHD_VERSION_ABI_STRING "3.4.0-3" +#define UHD_VERSION_ABI_STRING "3.6.0-1"  namespace uhd{  | 
