16#include <unordered_map> 
   21namespace uhd { 
namespace rfnoc {
 
   29    using sptr = std::shared_ptr<mb_controller>;
 
   52        using sptr              = std::shared_ptr<timekeeper>;
 
  135        double _tick_rate = 1.0;
 
  280        const std::string& clock_source, 
const std::string& time_source) = 0;
 
  366    virtual bool synchronize(std::vector<mb_controller::sptr>& mb_controllers,
 
  368        const bool quiet                  = 
false);
 
  382    virtual std::vector<std::string> 
get_gpio_srcs(
const std::string& bank) 
const;
 
  386    virtual std::vector<std::string> 
get_gpio_src(
const std::string& bank);
 
  396        const std::string& bank, 
const std::vector<std::string>& src);
 
  418    std::unordered_map<size_t, timekeeper::sptr> _timekeepers;
 
Definition: device_addr.hpp:38
 
Definition: discoverable_feature_getter_iface.hpp:18
 
Definition: mb_controller.hpp:50
 
virtual void set_ticks_now(const uint64_t ticks)=0
 
virtual ~timekeeper()
Definition: mb_controller.hpp:57
 
uhd::time_spec_t get_time_last_pps(void)
 
void set_time_next_pps(const uhd::time_spec_t &time)
 
uhd::time_spec_t get_time_now(void)
 
virtual uint64_t get_ticks_now()=0
 
virtual void set_period(const uint64_t period_ns)=0
 
void set_time_now(const uhd::time_spec_t &time)
 
std::shared_ptr< timekeeper > sptr
Definition: mb_controller.hpp:52
 
virtual void set_ticks_next_pps(const uint64_t ticks)=0
 
double get_tick_rate()
Definition: mb_controller.hpp:111
 
std::function< void(uint64_t)> write_period_fn_t
Definition: mb_controller.hpp:53
 
void set_tick_rate(const double rate)
 
virtual uint64_t get_ticks_last_pps()=0
 
Definition: mb_controller.hpp:27
 
virtual std::string get_mboard_name() const =0
 
virtual uhd::usrp::mboard_eeprom_t get_eeprom()=0
 
timekeeper::sptr get_timekeeper(const size_t tk_idx) const
Return a reference to the tk_idx-th timekeeper on this motherboard.
 
virtual void init()
Definition: mb_controller.hpp:152
 
virtual uhd::sensor_value_t get_sensor(const std::string &name)=0
 
virtual std::vector< std::string > get_gpio_banks() const
 
virtual void set_time_source(const std::string &source)=0
 
virtual void register_sync_source_updater(sync_source_updater_t callback_f)
 
virtual void set_sync_source(const std::string &clock_source, const std::string &time_source)=0
 
virtual std::vector< std::string > get_time_sources() const =0
 
virtual std::string get_time_source() const =0
 
std::shared_ptr< mb_controller > sptr
Definition: mb_controller.hpp:29
 
virtual std::vector< uhd::device_addr_t > get_sync_sources()=0
 
virtual std::string get_clock_source() const =0
 
std::function< void(const sync_source_t &sync_source)> sync_source_updater_t
Definition: mb_controller.hpp:37
 
virtual void set_clock_source_out(const bool enb)=0
 
virtual void set_gpio_src(const std::string &bank, const std::vector< std::string > &src)
 
virtual std::vector< std::string > get_sensor_names()=0
 
size_t get_num_timekeepers() const
Returns the number of timekeepers, which equals the number of timebases.
 
virtual bool synchronize(std::vector< mb_controller::sptr > &mb_controllers, const uhd::time_spec_t &time_spec=uhd::time_spec_t(0.0), const bool quiet=false)
 
virtual void set_sync_source(const uhd::device_addr_t &sync_source)=0
 
virtual void set_clock_source(const std::string &source)=0
 
virtual std::vector< std::string > get_gpio_src(const std::string &bank)
 
void register_timekeeper(const size_t idx, timekeeper::sptr tk)
 
virtual std::vector< std::string > get_clock_sources() const =0
 
virtual void set_time_source_out(const bool enb)=0
 
virtual ~mb_controller()
Definition: mb_controller.hpp:39
 
virtual uhd::device_addr_t get_sync_source() const =0
 
virtual std::vector< std::string > get_gpio_srcs(const std::string &bank) const
 
Definition: time_spec.hpp:31
 
#define UHD_API
Definition: config.h:70
 
source
Identify the source of calibration data, i.e., where was it stored.
Definition: database.hpp:22
 
Definition: build_info.hpp:12
 
boost::noncopyable noncopyable
Definition: noncopyable.hpp:45
 
Definition: sensors.hpp:29