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:
Xiao Ma
2016-09-02 09:08:39 -07:00
committed by Jonathan Hui
parent 73c64f403f
commit 69eb23cd0c
+14 -5
View File
@@ -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: