aboutsummaryrefslogtreecommitdiffstats
path: root/mpm/python/usrp_mpm/periph_manager/n310.py
diff options
context:
space:
mode:
authorDaniel Jepson <daniel.jepson@ni.com>2017-05-30 18:16:37 -0700
committerMartin Braun <martin.braun@ettus.com>2017-12-22 15:03:58 -0800
commita233877f6554fa4d19dfcc4105e904414ea2ad1c (patch)
tree0ac6e4da0e5df8266d844af4251680e583b84b51 /mpm/python/usrp_mpm/periph_manager/n310.py
parent39f5a3852c6a782c0cd0774d28d2f49412b9ee16 (diff)
downloaduhd-a233877f6554fa4d19dfcc4105e904414ea2ad1c.tar.gz
uhd-a233877f6554fa4d19dfcc4105e904414ea2ad1c.tar.bz2
uhd-a233877f6554fa4d19dfcc4105e904414ea2ad1c.zip
mpm/eiscat: Updated bringup procedure for dual-synched dboards
Diffstat (limited to 'mpm/python/usrp_mpm/periph_manager/n310.py')
-rw-r--r--mpm/python/usrp_mpm/periph_manager/n310.py21
1 files changed, 18 insertions, 3 deletions
diff --git a/mpm/python/usrp_mpm/periph_manager/n310.py b/mpm/python/usrp_mpm/periph_manager/n310.py
index 84a55c9d2..b1c4840d7 100644
--- a/mpm/python/usrp_mpm/periph_manager/n310.py
+++ b/mpm/python/usrp_mpm/periph_manager/n310.py
@@ -18,15 +18,14 @@
N310 implementation module
"""
from __future__ import print_function
-import struct
-import netaddr
+import time
from six import iteritems
from .base import PeriphManagerBase
from ..net import get_iface_addrs
from ..net import byte_to_mac
from ..net import get_mac_addr
from ..mpmtypes import SID
-from ..uio import UIO
+from usrp_mpm.uio import UIO
from ..sysfs_gpio import SysFSGPIO
from ..ethtable import EthDispatcherTable
from .. import libpyusrp_periphs as lib
@@ -134,6 +133,8 @@ class n310(PeriphManagerBase):
xbar.write("0x2")
# if header.get("dataversion", 0) == 1:
self.log.info("mboard info: {}".format(self.mboard_info))
+ # Define some attributes so PyLint stays quiet
+ self._eth_dispatchers = None
def init(self, args):
"""
@@ -147,6 +148,20 @@ class n310(PeriphManagerBase):
}
for ifname, table in iteritems(self._eth_dispatchers):
table.set_ipv4_addr(self._chdr_interfaces[ifname]['ip_addr'])
+ self.log.warning("Running a custom EISCAT-specific sequence to bring " \
+ "up 2 daughterboards without requiring UHD support. " \
+ "This effectively disables Magnesium and must be " \
+ "replaced before merging back into n3xx-master."
+ )
+ self.dboards[0].send_sysref()
+ for dboard in self.dboards:
+ dboard.init_adcs_and_deframers()
+ self.dboards[0].send_sysref()
+ time.sleep(0.5)
+ for dboard in self.dboards:
+ dboard.check_deframer_status()
+ assert dboard.initialized
+
def _allocate_sid(self, sender_addr, port, sid, xbar_src_addr, xbar_src_port):
"""