USRP Hardware Driver and USRP Manual  Version: 3.14.1.HEAD-0-gbfb9c1c7
UHD and USRP Manual
wb_iface.hpp
Go to the documentation of this file.
1 //
2 // Copyright 2011-2013,2015 Ettus Research LLC
3 // Copyright 2018 Ettus Research, a National Instruments Company
4 //
5 // SPDX-License-Identifier: GPL-3.0-or-later
6 //
7 
8 #ifndef INCLUDED_UHD_TYPES_WB_IFACE_HPP
9 #define INCLUDED_UHD_TYPES_WB_IFACE_HPP
10 
11 #include <uhd/config.hpp>
12 #include <uhd/types/time_spec.hpp>
13 #include <stdint.h>
14 #include <boost/shared_ptr.hpp>
15 
16 namespace uhd {
17 
19 {
20 public:
21  typedef boost::shared_ptr<wb_iface> sptr;
22  typedef uint32_t wb_addr_type;
23 
24  virtual ~wb_iface(void);
25 
31  virtual void poke64(const wb_addr_type addr, const uint64_t data);
32 
38  virtual uint64_t peek64(const wb_addr_type addr);
39 
45  virtual void poke32(const wb_addr_type addr, const uint32_t data);
46 
52  virtual uint32_t peek32(const wb_addr_type addr);
53 
59  virtual void poke16(const wb_addr_type addr, const uint16_t data);
60 
66  virtual uint16_t peek16(const wb_addr_type addr);
67 };
68 
70 {
71 public:
72  typedef boost::shared_ptr<timed_wb_iface> sptr;
73 
78  virtual time_spec_t get_time(void) = 0;
79 
84  virtual void set_time(const time_spec_t& t) = 0;
85 };
86 
87 } // namespace uhd
88 
89 #endif /* INCLUDED_UHD_TYPES_WB_IFACE_HPP */
boost::shared_ptr< wb_iface > sptr
Definition: wb_iface.hpp:21
Definition: time_spec.hpp:29
Definition: build_info.hpp:13
Definition: wb_iface.hpp:69
#define UHD_API
Definition: config.h:68
boost::shared_ptr< timed_wb_iface > sptr
Definition: wb_iface.hpp:72
uint32_t wb_addr_type
Definition: wb_iface.hpp:22
Definition: wb_iface.hpp:18