mirror of
https://github.com/espressif/openthread.git
synced 2026-08-05 10:27:49 +00:00
THCI: update thci with bug fix and enhancement. (#513)
* update poll data period to 15s to keep consistent with other vendors. * fix return value of isOpenThreadRunning(). * set ROUTER_UPGRADE_THRESHOLD to 32 for Leader/Router to support maximum active routers in network. * do not send server data ntf proactively if prefx configured before starting openthread stack.
This commit is contained in:
@@ -322,7 +322,7 @@ class ARM(IThci):
|
||||
False: OpenThread is not running
|
||||
"""
|
||||
print 'call isOpenThreadRunning'
|
||||
return self.__sendCommand('state')[0] == 'disabled'
|
||||
return self.__sendCommand('state')[0] != 'disabled'
|
||||
|
||||
# rloc16 might be hex string or integer, need to return actual allocated router id
|
||||
def __convertRlocToRouterId(self, xRloc16):
|
||||
@@ -720,14 +720,18 @@ class ARM(IThci):
|
||||
if eRoleId == Thread_Device_Role.Leader:
|
||||
print 'join as leader'
|
||||
role = 'rsdn'
|
||||
# set ROUTER_UPGRADE_THRESHOLD
|
||||
self.__setRouterUpgradeThreshold(32)
|
||||
elif eRoleId == Thread_Device_Role.Router:
|
||||
print 'join as router'
|
||||
role = 'rsdn'
|
||||
# set ROUTER_UPGRADE_THRESHOLD
|
||||
self.__setRouterUpgradeThreshold(32)
|
||||
elif eRoleId == Thread_Device_Role.SED:
|
||||
print 'join as sleepy end device'
|
||||
role = 's'
|
||||
# set data polling rate to 10s for SED
|
||||
self.setPollingRate(10)
|
||||
# set data polling rate to 15s for SED
|
||||
self.setPollingRate(15)
|
||||
elif eRoleId == Thread_Device_Role.EndDevice:
|
||||
print 'join as end device'
|
||||
role = 'rsn'
|
||||
@@ -1135,8 +1139,13 @@ class ARM(IThci):
|
||||
cmd = 'prefix add %s/64 %s %s' % (prefix, parameter, prf)
|
||||
print cmd
|
||||
if self.__sendCommand(cmd)[0] == 'Done':
|
||||
# send server data ntf to leader
|
||||
return self.__sendCommand('netdataregister')[0] == 'Done'
|
||||
# if prefix configured before starting OpenThread stack
|
||||
# do not send out server data ntf proactively
|
||||
if not self.__isOpenThreadRunning():
|
||||
return True
|
||||
else:
|
||||
# send server data ntf to leader
|
||||
return self.__sendCommand('netdataregister')[0] == 'Done'
|
||||
else:
|
||||
return False
|
||||
except Exception, e:
|
||||
|
||||
Reference in New Issue
Block a user