aboutsummaryrefslogtreecommitdiffstats
path: root/mpm
diff options
context:
space:
mode:
authorHumberto Jimenez <humberto.jimenez@ni.com>2018-11-21 13:17:41 -0600
committerBrent Stapleton <bstapleton@g.hmc.edu>2018-11-26 13:34:01 -0800
commitc34fa6d84e7e6c499c48753e446b937d46fc63a4 (patch)
treea4ccf13ba57ea160d566aef337c0524cb0bebefe /mpm
parentf36a8dd85340c0e88ce5b84a211f35e68adf79a5 (diff)
downloaduhd-c34fa6d84e7e6c499c48753e446b937d46fc63a4.tar.gz
uhd-c34fa6d84e7e6c499c48753e446b937d46fc63a4.tar.bz2
uhd-c34fa6d84e7e6c499c48753e446b937d46fc63a4.zip
n3xx: Change init() procedure to reduce configuration time
Previously, the init() procedure of the n3xx class passed either the user-provided or the default clock_source and time_source values to initialize the clocking configuration. When the user did not provide these parameters, the default values were assigned, overriding whatever configuration the device was previously initialized with. Therefore, a dboard reinit was forced when the currently configured state of the N3xx device did not match the default configuration (i.e. internal sources). Now, the init() procedure still provides the clock_source and time_source values; but, if the user does not provide the parameters, the previously used values are assigned (i.e. self._clock_source and/or self._time_source). By the time MPM runs this n3xx init() procedure for the first time, both self._clock_source and self._time_source have been initialized with the default internal values anyways in the _init_ref_clock_and_time() procedure. This change prevents additional, unnecessary calls to the set_sync_source() procedure, which ultimately causes a daughterboard reinitialization when either a new clock or time source is requested.
Diffstat (limited to 'mpm')
-rw-r--r--mpm/python/usrp_mpm/periph_manager/n3xx.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/mpm/python/usrp_mpm/periph_manager/n3xx.py b/mpm/python/usrp_mpm/periph_manager/n3xx.py
index 57fc4b7c6..53f03aefc 100644
--- a/mpm/python/usrp_mpm/periph_manager/n3xx.py
+++ b/mpm/python/usrp_mpm/periph_manager/n3xx.py
@@ -408,8 +408,12 @@ class n3xx(ZynqComponents, PeriphManagerBase):
self.enable_pps_out(False)
# if there's no clock_source or time_source params, we added here since
# dboards init procedures need them.
- args['clock_source'] = args.get('clock_source', N3XX_DEFAULT_CLOCK_SOURCE)
- args['time_source'] = args.get('time_source', N3XX_DEFAULT_TIME_SOURCE)
+ # At this point, both the self._clock_source and self._time_source global
+ # properties should have been set to either the default values (first time
+ # init() is run); or to the previous configured values (updated after a
+ # successful clocking configuration).
+ args['clock_source'] = args.get('clock_source', self._clock_source)
+ args['time_source'] = args.get('time_source', self._time_source)
self.set_sync_source(args)
# Uh oh, some hard coded product-related info: The N300 has no LO
# source connectors on the front panel, so we assume that if this was