diff options
author | Josh Blum <josh@joshknows.com> | 2013-10-04 16:11:50 -0700 |
---|---|---|
committer | Josh Blum <josh@joshknows.com> | 2013-10-04 16:49:32 -0700 |
commit | 56f391ad6486d956740225b9aed9954865572bdd (patch) | |
tree | 8cc1f2774887a4c19a68f737795aa0840e837dfb /host/include | |
parent | 8521c3927550118d5faadcd725e4c70087465569 (diff) | |
download | uhd-56f391ad6486d956740225b9aed9954865572bdd.tar.gz uhd-56f391ad6486d956740225b9aed9954865572bdd.tar.bz2 uhd-56f391ad6486d956740225b9aed9954865572bdd.zip |
uhd: wb_iface is now a public interface
Diffstat (limited to 'host/include')
-rw-r--r-- | host/include/uhd/types/CMakeLists.txt | 1 | ||||
-rw-r--r-- | host/include/uhd/types/wb_iface.hpp | 82 |
2 files changed, 83 insertions, 0 deletions
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/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 */ |