[thci] wait for connection reset in powerDown (#8166)

This commit fixes `powerDown` to wait for connection reset after
issuing `reset` command.
This commit is contained in:
Simon Lin
2022-09-16 23:31:27 +08:00
committed by GitHub
parent 0756d1ea8f
commit 3a64f399bf
+5 -8
View File
@@ -1248,13 +1248,7 @@ class OpenThreadTHCI(object):
@API
def powerDown(self):
"""power down the Thread device"""
self.__sendCommand('reset', expectEcho=False)
if not self.IsBorderRouter:
self._disconnect()
self._connect()
self.isPowerDown = True
self._reset()
@API
def powerUp(self):
@@ -1266,7 +1260,8 @@ class OpenThreadTHCI(object):
self.__setPollPeriod(self.__sedPollPeriod)
self.__startOpenThread()
def reset_and_wait_for_connection(self, timeout=3):
@watched
def _reset(self, timeout=3):
print("Waiting after reset timeout: {} s".format(timeout))
start_time = time.time()
self.__sendCommand('reset', expectEcho=False)
@@ -1285,6 +1280,8 @@ class OpenThreadTHCI(object):
else:
raise AssertionError("Could not connect with OT device {} after reset.".format(self))
def reset_and_wait_for_connection(self, timeout=3):
self._reset(timeout=timeout)
if self.deviceRole == Thread_Device_Role.SED:
self.__setPollPeriod(self.__sedPollPeriod)