diff options
author | Brent Stapleton <brent.stapleton@ettus.com> | 2017-11-27 18:21:23 -0800 |
---|---|---|
committer | Martin Braun <martin.braun@ettus.com> | 2017-12-22 15:05:57 -0800 |
commit | 19cdfb4148338a94bdc75194e0fadad993c37758 (patch) | |
tree | b308cd3225fae0c68551c21ad19941d22b56176b /mpm/python/usrp_mpm/periph_manager/base.py | |
parent | 48d5d72fd76bbf615ea88fa9d5177471ed3d15a9 (diff) | |
download | uhd-19cdfb4148338a94bdc75194e0fadad993c37758.tar.gz uhd-19cdfb4148338a94bdc75194e0fadad993c37758.tar.bz2 uhd-19cdfb4148338a94bdc75194e0fadad993c37758.zip |
mpm: Reset periph manager on update
Upon updating certain components (the FPGA, for example), the
Peripheral Manager is restarted, and the overlay is reapplied. In order
to facilitate this, the RPC server intercepts and handles the
update_component function.
Tested on the RJ45 ethernet connection. It probably won't work as well
if the SFP connection goes down when the overlay is removed.
Diffstat (limited to 'mpm/python/usrp_mpm/periph_manager/base.py')
-rw-r--r-- | mpm/python/usrp_mpm/periph_manager/base.py | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/mpm/python/usrp_mpm/periph_manager/base.py b/mpm/python/usrp_mpm/periph_manager/base.py index 87544e451..2be8c7570 100644 --- a/mpm/python/usrp_mpm/periph_manager/base.py +++ b/mpm/python/usrp_mpm/periph_manager/base.py @@ -352,6 +352,13 @@ class PeriphManagerBase(object): self.log.trace("Resetting SID pool...") self._available_endpoints = list(range(256)) + def tear_down(self): + """ + Tear down all members that need to be specially handled before + deconstruction. + """ + self.log.debug("Teardown called for Peripheral Manager base.") + @no_claim def list_updateable_components(self): """ @@ -456,7 +463,6 @@ class PeriphManagerBase(object): update_func(filepath, metadata) return True - def load_fpga_image(self, target=None): """ load a new fpga image |