USRP Hardware Driver and USRP Manual  Version: 4.6.0.0
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 #pragma once
9 
10 #include <uhd/config.hpp>
11 #include <uhd/types/time_spec.hpp>
12 #include <stdint.h>
13 #include <memory>
14 
15 namespace uhd {
16 
18 {
19 public:
20  typedef std::shared_ptr<wb_iface> sptr;
21  typedef uint32_t wb_addr_type;
22 
23  virtual ~wb_iface(void);
24 
30  virtual void poke64(const wb_addr_type addr, const uint64_t data);
31 
37  virtual uint64_t peek64(const wb_addr_type addr);
38 
44  virtual void poke32(const wb_addr_type addr, const uint32_t data);
45 
51  virtual uint32_t peek32(const wb_addr_type addr);
52 
58  virtual void poke16(const wb_addr_type addr, const uint16_t data);
59 
65  virtual uint16_t peek16(const wb_addr_type addr);
66 };
67 
69 {
70 public:
71  typedef std::shared_ptr<timed_wb_iface> sptr;
72 
77  virtual time_spec_t get_time(void) = 0;
78 
83  virtual void set_time(const time_spec_t& t) = 0;
84 };
85 
86 } // namespace uhd
Definition: time_spec.hpp:28
Definition: build_info.hpp:12
Definition: wb_iface.hpp:68
#define UHD_API
Definition: config.h:87
std::shared_ptr< timed_wb_iface > sptr
Definition: wb_iface.hpp:71
std::shared_ptr< wb_iface > sptr
Definition: wb_iface.hpp:20
uint32_t wb_addr_type
Definition: wb_iface.hpp:21
Definition: wb_iface.hpp:17