From 5471a1f521ba98003a06d2674360f70a7a86bdfd Mon Sep 17 00:00:00 2001 From: Lane Kolbly Date: Wed, 13 Jan 2021 16:33:29 -0600 Subject: mpm: Implement get_sync_source and get_sync_sources. --- mpm/python/usrp_mpm/periph_manager/base.py | 12 ++++++++++++ mpm/python/usrp_mpm/periph_manager/n3xx.py | 9 +++++++++ 2 files changed, 21 insertions(+) (limited to 'mpm') diff --git a/mpm/python/usrp_mpm/periph_manager/base.py b/mpm/python/usrp_mpm/periph_manager/base.py index c09cde611..324e47dc9 100644 --- a/mpm/python/usrp_mpm/periph_manager/base.py +++ b/mpm/python/usrp_mpm/periph_manager/base.py @@ -978,3 +978,15 @@ class PeriphManagerBase(object): assert src in self.get_gpio_srcs(bank), \ "Invalid GPIO source: {}".format(src) raise NotImplementedError("set_gpio_src() not available on this device!") + + ####################################################################### + # Sync API + ####################################################################### + def get_sync_source(self): + """ + Gets the current time and clock source + """ + return { + "time_source": self.get_time_source(), + "clock_source": self.get_clock_source(), + } diff --git a/mpm/python/usrp_mpm/periph_manager/n3xx.py b/mpm/python/usrp_mpm/periph_manager/n3xx.py index 9bb1f00df..1291b2977 100644 --- a/mpm/python/usrp_mpm/periph_manager/n3xx.py +++ b/mpm/python/usrp_mpm/periph_manager/n3xx.py @@ -595,6 +595,15 @@ class n3xx(ZynqComponents, PeriphManagerBase): } self.set_sync_source(source) + def get_sync_sources(self): + """ + Enumerate permissible time/clock source combinations for sync + """ + return [{ + "time_source": time_source, + "clock_source": clock_source + } for (clock_source, time_source) in self.valid_sync_sources] + def set_sync_source(self, args): """ Selects reference clock and PPS sources. Unconditionally re-applies the time -- cgit v1.2.3