USRP Hardware Driver and USRP Manual  Version: 3.11.0.HEAD-0-g13c32cef
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 {
18 
20 {
21 public:
22  typedef boost::shared_ptr<wb_iface> sptr;
23  typedef uint32_t wb_addr_type;
24 
25  virtual ~wb_iface(void);
26 
32  virtual void poke64(const wb_addr_type addr, const uint64_t data);
33 
39  virtual uint64_t peek64(const wb_addr_type addr);
40 
46  virtual void poke32(const wb_addr_type addr, const uint32_t data);
47 
53  virtual uint32_t peek32(const wb_addr_type addr);
54 
60  virtual void poke16(const wb_addr_type addr, const uint16_t data);
61 
67  virtual uint16_t peek16(const wb_addr_type addr);
68 };
69 
71 {
72 public:
73  typedef boost::shared_ptr<timed_wb_iface> sptr;
74 
79  virtual time_spec_t get_time(void) = 0;
80 
85  virtual void set_time(const time_spec_t& t) = 0;
86 };
87 
88 } //namespace uhd
89 
90 #endif /* INCLUDED_UHD_TYPES_WB_IFACE_HPP */
boost::shared_ptr< wb_iface > sptr
Definition: wb_iface.hpp:22
Definition: time_spec.hpp:29
Definition: build_info.hpp:14
Definition: wb_iface.hpp:70
#define UHD_API
Definition: config.h:63
boost::shared_ptr< timed_wb_iface > sptr
Definition: wb_iface.hpp:73
uint32_t wb_addr_type
Definition: wb_iface.hpp:23
Definition: wb_iface.hpp:19