USRP Hardware Driver and USRP Manual  Version: 003.008.003-0-g6eacba0a
UHD and USRP Manual
wb_iface.hpp
Go to the documentation of this file.
1 //
2 // Copyright 2011-2013,2015 Ettus Research LLC
3 //
4 // This program is free software: you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation, either version 3 of the License, or
7 // (at your option) any later version.
8 //
9 // This program is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
13 //
14 // You should have received a copy of the GNU General Public License
15 // along with this program. If not, see <http://www.gnu.org/licenses/>.
16 //
17 
18 #ifndef INCLUDED_UHD_TYPES_WB_IFACE_HPP
19 #define INCLUDED_UHD_TYPES_WB_IFACE_HPP
20 
21 #include <uhd/config.hpp>
22 #include <uhd/types/time_spec.hpp>
23 #include <boost/cstdint.hpp>
24 #include <boost/shared_ptr.hpp>
25 
26 namespace uhd
27 {
28 
30 {
31 public:
32  typedef boost::shared_ptr<wb_iface> sptr;
33  typedef boost::uint32_t wb_addr_type;
34 
35  virtual ~wb_iface(void);
36 
42  virtual void poke64(const wb_addr_type addr, const boost::uint64_t data);
43 
49  virtual boost::uint64_t peek64(const wb_addr_type addr);
50 
56  virtual void poke32(const wb_addr_type addr, const boost::uint32_t data);
57 
63  virtual boost::uint32_t peek32(const wb_addr_type addr);
64 
70  virtual void poke16(const wb_addr_type addr, const boost::uint16_t data);
71 
77  virtual boost::uint16_t peek16(const wb_addr_type addr);
78 };
79 
81 {
82 public:
83  typedef boost::shared_ptr<timed_wb_iface> sptr;
84 
89  virtual time_spec_t get_time(void) = 0;
90 
95  virtual void set_time(const time_spec_t& t) = 0;
96 };
97 
98 } //namespace uhd
99 
100 #endif /* INCLUDED_UHD_TYPES_WB_IFACE_HPP */
boost::shared_ptr< wb_iface > sptr
Definition: wb_iface.hpp:32
Definition: time_spec.hpp:39
boost::uint32_t wb_addr_type
Definition: wb_iface.hpp:33
#define UHD_API
Definition: config.hpp:79
Definition: convert.hpp:28
Definition: wb_iface.hpp:80
boost::shared_ptr< timed_wb_iface > sptr
Definition: wb_iface.hpp:83
Definition: wb_iface.hpp:29