16 #include <unordered_map>    21 namespace uhd { 
namespace rfnoc {
    30     using sptr          = std::shared_ptr<mb_controller>;
    62         using sptr              = std::shared_ptr<timekeeper>;
   102         virtual uint64_t get_ticks_now() = 0;
   117         virtual uint64_t get_ticks_last_pps() = 0;
   133         virtual void set_ticks_now(
const uint64_t ticks) = 0;
   160         virtual void set_ticks_next_pps(
const uint64_t ticks) = 0;
   178         void set_tick_rate(
const double rate);
   184         virtual void set_period(
const uint64_t period_ns) = 0;
   188         double _tick_rate = 1.0;
   197     size_t get_num_timekeepers() 
const;
   224     virtual std::string get_mboard_name() 
const = 0;
   267     virtual void set_time_source(
const std::string& 
source) = 0;
   273     virtual std::string get_time_source() 
const = 0;
   279     virtual std::vector<std::string> get_time_sources() 
const = 0;
   322     virtual void set_clock_source(
const std::string& source) = 0;
   328     virtual std::string get_clock_source() 
const = 0;
   334     virtual std::vector<std::string> get_clock_sources() 
const = 0;
   345     virtual void set_sync_source(
   346         const std::string& clock_source, 
const std::string& time_source) = 0;
   389     virtual std::vector<uhd::device_addr_t> get_sync_sources() = 0;
   398     virtual void set_clock_source_out(
const bool enb) = 0;
   407     virtual void set_time_source_out(
const bool enb) = 0;
   420     virtual std::vector<std::string> get_sensor_names() = 0;
   461     virtual bool synchronize(std::vector<mb_controller::sptr>& mb_controllers,
   463         const bool quiet                  = 
false);
   470     virtual std::vector<std::string> get_gpio_banks() 
const;
   477     virtual std::vector<std::string> get_gpio_srcs(
const std::string& bank) 
const;
   481     virtual std::vector<std::string> get_gpio_src(
const std::string& bank);
   490     virtual void set_gpio_src(
   491         const std::string& bank, 
const std::vector<std::string>& src);
   513     std::unordered_map<size_t, timekeeper::sptr> _timekeepers;
 boost::noncopyable noncopyable
Definition: noncopyable.hpp:45
 
std::function< void(uint64_t)> write_period_fn_t
Definition: mb_controller.hpp:63
 
Definition: mb_controller.hpp:25
 
Definition: time_spec.hpp:28
 
double get_tick_rate()
Definition: mb_controller.hpp:164
 
virtual void init()
Definition: mb_controller.hpp:218
 
virtual ~timekeeper()
Definition: mb_controller.hpp:67
 
Definition: build_info.hpp:12
 
std::function< void(const sync_source_t &sync_source)> sync_source_updater_t
Definition: mb_controller.hpp:38
 
Definition: sensors.hpp:28
 
Definition: discoverable_feature_getter_iface.hpp:17
 
source
Identify the source of calibration data, i.e., where was it stored. 
Definition: database.hpp:23
 
std::shared_ptr< timekeeper > sptr
Definition: mb_controller.hpp:62
 
std::shared_ptr< mb_controller > sptr
Definition: mb_controller.hpp:30
 
Definition: mb_controller.hpp:59
 
#define UHD_API
Definition: config.h:87
 
Definition: device_addr.hpp:37