mirror of
https://github.com/espressif/openthread.git
synced 2026-09-17 06:30:10 +00:00
THCI: correct variables scope and reinitialize instance variables to ensure proper initialization before start the device (#1874)
* THCI: correct variables scope and reinitialize instance variables to ensure proper initialization before start the device * updates for comments
This commit is contained in:
@@ -50,16 +50,6 @@ LINESEPX = re.compile(r'\r\n|\n')
|
|||||||
"""regex: used to split lines"""
|
"""regex: used to split lines"""
|
||||||
|
|
||||||
class OpenThread(IThci):
|
class OpenThread(IThci):
|
||||||
UIStatusMsg = ''
|
|
||||||
networkDataRequirement = '' # indicate Thread device requests full or stable network data
|
|
||||||
isPowerDown = False # indicate if Thread device experiences a power down event
|
|
||||||
isWhiteListEnabled = False # indicate if Thread device enables white list filter
|
|
||||||
isBlackListEnabled = False # indicate if Thread device enables black list filter
|
|
||||||
_whiteList = set() # cache whitelist devices when white list filter is enabled
|
|
||||||
_blackList = set() # cache blacklist devices when black list filter is enabled
|
|
||||||
isActiveCommissioner = False # indicate if Thread device is an active commissioner
|
|
||||||
_is_net = False # whether device is through ser2net
|
|
||||||
_lines = None # buffered lines read from device
|
|
||||||
LOWEST_POSSIBLE_PARTATION_ID = 0x1
|
LOWEST_POSSIBLE_PARTATION_ID = 0x1
|
||||||
LINK_QUALITY_CHANGE_TIME = 100
|
LINK_QUALITY_CHANGE_TIME = 100
|
||||||
|
|
||||||
@@ -71,31 +61,15 @@ class OpenThread(IThci):
|
|||||||
Includes 'EUI' and 'SerialPort'
|
Includes 'EUI' and 'SerialPort'
|
||||||
"""
|
"""
|
||||||
try:
|
try:
|
||||||
|
self.UIStatusMsg = ''
|
||||||
self.mac = kwargs.get('EUI')
|
self.mac = kwargs.get('EUI')
|
||||||
self.port = kwargs.get('SerialPort')
|
self.port = kwargs.get('SerialPort')
|
||||||
self.handle = None
|
self.handle = None
|
||||||
self.networkName = ModuleHelper.Default_NwkName
|
|
||||||
self.networkKey = ModuleHelper.Default_NwkKey
|
|
||||||
self.channel = ModuleHelper.Default_Channel
|
|
||||||
self.channelMask = "0x7fff800" #(0xffff << 11)
|
|
||||||
self.panId = ModuleHelper.Default_PanId
|
|
||||||
self.xpanId = ModuleHelper.Default_XpanId
|
|
||||||
self.AutoDUTEnable = False
|
self.AutoDUTEnable = False
|
||||||
self.localprefix = ModuleHelper.Default_MLPrefix
|
self._is_net = False # whether device is through ser2net
|
||||||
self.pskc = "00000000000000000000000000000000" # OT only accept hex format PSKc for now
|
|
||||||
self.securityPolicySecs = ModuleHelper.Default_SecurityPolicy
|
|
||||||
self.securityPolicyFlags = "onrcb"
|
|
||||||
self.activetimestamp = ModuleHelper.Default_ActiveTimestamp
|
|
||||||
#self.sedPollingRate = ModuleHelper.Default_Harness_SED_Polling_Rate
|
|
||||||
self.sedPollingRate = 3
|
|
||||||
self.deviceRole = None
|
|
||||||
self.provisioningUrl = ''
|
|
||||||
self.hasActiveDatasetToCommit = False
|
|
||||||
self.logThread = Queue()
|
|
||||||
self.logStatus = {'stop':'stop', 'running':'running', "pauseReq":'pauseReq', 'paused':'paused'}
|
self.logStatus = {'stop':'stop', 'running':'running', "pauseReq":'pauseReq', 'paused':'paused'}
|
||||||
self.logThreadStatus = self.logStatus['stop']
|
|
||||||
self.joinStatus = {'notstart':'notstart', 'ongoing':'ongoing', 'succeed':'succeed', "failed":'failed'}
|
self.joinStatus = {'notstart':'notstart', 'ongoing':'ongoing', 'succeed':'succeed', "failed":'failed'}
|
||||||
self.joinCommissionedStatus = self.joinStatus['notstart']
|
self.logThreadStatus = self.logStatus['stop']
|
||||||
self.intialize()
|
self.intialize()
|
||||||
except Exception, e:
|
except Exception, e:
|
||||||
ModuleHelper.WriteIntoDebugLogger("initialize() Error: " + str(e))
|
ModuleHelper.WriteIntoDebugLogger("initialize() Error: " + str(e))
|
||||||
@@ -1243,13 +1217,6 @@ class OpenThread(IThci):
|
|||||||
try:
|
try:
|
||||||
self._sendline('factoryreset')
|
self._sendline('factoryreset')
|
||||||
self._read()
|
self._read()
|
||||||
if self.isWhiteListEnabled:
|
|
||||||
self.isWhiteListEnabled = False
|
|
||||||
self.WhiteList.clear()
|
|
||||||
|
|
||||||
if self.isBlackListEnabled:
|
|
||||||
self.isBlackListEnabled = False
|
|
||||||
self.BlackList.clear()
|
|
||||||
|
|
||||||
except Exception, e:
|
except Exception, e:
|
||||||
ModuleHelper.WriteIntoDebugLogger("reset() Error: " + str(e))
|
ModuleHelper.WriteIntoDebugLogger("reset() Error: " + str(e))
|
||||||
@@ -1283,9 +1250,39 @@ class OpenThread(IThci):
|
|||||||
def setDefaultValues(self):
|
def setDefaultValues(self):
|
||||||
"""set default mandatory Thread Network parameter value"""
|
"""set default mandatory Thread Network parameter value"""
|
||||||
print '%s call setDefaultValues' % self.port
|
print '%s call setDefaultValues' % self.port
|
||||||
|
|
||||||
|
# initialize variables
|
||||||
|
self.networkName = ModuleHelper.Default_NwkName
|
||||||
|
self.networkKey = ModuleHelper.Default_NwkKey
|
||||||
|
self.channel = ModuleHelper.Default_Channel
|
||||||
|
self.channelMask = "0x7fff800" #(0xffff << 11)
|
||||||
|
self.panId = ModuleHelper.Default_PanId
|
||||||
|
self.xpanId = ModuleHelper.Default_XpanId
|
||||||
|
self.localprefix = ModuleHelper.Default_MLPrefix
|
||||||
|
self.pskc = "00000000000000000000000000000000" # OT only accept hex format PSKc for now
|
||||||
|
self.securityPolicySecs = ModuleHelper.Default_SecurityPolicy
|
||||||
|
self.securityPolicyFlags = "onrcb"
|
||||||
|
self.activetimestamp = ModuleHelper.Default_ActiveTimestamp
|
||||||
|
#self.sedPollingRate = ModuleHelper.Default_Harness_SED_Polling_Rate
|
||||||
|
self.sedPollingRate = 3
|
||||||
|
self.deviceRole = None
|
||||||
|
self.provisioningUrl = ''
|
||||||
|
self.hasActiveDatasetToCommit = False
|
||||||
|
self.logThread = Queue()
|
||||||
|
self.logThreadStatus = self.logStatus['stop']
|
||||||
|
self.joinCommissionedStatus = self.joinStatus['notstart']
|
||||||
|
self.networkDataRequirement = '' # indicate Thread device requests full or stable network data
|
||||||
|
self.isPowerDown = False # indicate if Thread device experiences a power down event
|
||||||
|
self.isWhiteListEnabled = False # indicate if Thread device enables white list filter
|
||||||
|
self.isBlackListEnabled = False # indicate if Thread device enables black list filter
|
||||||
|
self._whiteList = set() # cache whitelist devices when white list filter is enabled
|
||||||
|
self._blackList = set() # cache blacklist devices when black list filter is enabled
|
||||||
|
self.isActiveCommissioner = False # indicate if Thread device is an active commissioner
|
||||||
|
self._lines = None # buffered lines read from device
|
||||||
|
|
||||||
|
# initialize device configuration
|
||||||
try:
|
try:
|
||||||
self.setMAC(self.mac)
|
self.setMAC(self.mac)
|
||||||
|
|
||||||
self.__setChannelMask(self.channelMask)
|
self.__setChannelMask(self.channelMask)
|
||||||
self.__setSecurityPolicy(self.securityPolicySecs, self.securityPolicyFlags)
|
self.__setSecurityPolicy(self.securityPolicySecs, self.securityPolicyFlags)
|
||||||
self.setChannel(self.channel)
|
self.setChannel(self.channel)
|
||||||
@@ -1296,12 +1293,6 @@ class OpenThread(IThci):
|
|||||||
self.setMLPrefix(self.localprefix)
|
self.setMLPrefix(self.localprefix)
|
||||||
self.setPSKc(self.pskc)
|
self.setPSKc(self.pskc)
|
||||||
self.setActiveTimestamp(self.activetimestamp)
|
self.setActiveTimestamp(self.activetimestamp)
|
||||||
|
|
||||||
self.isWhiteListEnabled = False
|
|
||||||
self._whiteList.clear()
|
|
||||||
self.isBlackListEnabled = False
|
|
||||||
self._blackList.clear()
|
|
||||||
self.isActiveCommissioner = False
|
|
||||||
except Exception, e:
|
except Exception, e:
|
||||||
ModuleHelper.WriteIntoDebugLogger("setDefaultValue() Error: " + str(e))
|
ModuleHelper.WriteIntoDebugLogger("setDefaultValue() Error: " + str(e))
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user