mirror of
https://github.com/espressif/openthread.git
synced 2026-09-08 02:00:12 +00:00
[cert-thci] support both old and new listSecurityPolicy passing ways for back-compatibility (#1963)
This commit is contained in:
@@ -2271,12 +2271,34 @@ class OpenThread(IThci):
|
||||
|
||||
cmd += pskc
|
||||
|
||||
if listSecurityPolicy != None and isinstance(listSecurityPolicy, list):
|
||||
if listSecurityPolicy != None:
|
||||
cmd += '0c03'
|
||||
|
||||
rotationTime = 0
|
||||
if len(listSecurityPolicy) >= 1:
|
||||
policyBits = 0
|
||||
|
||||
# previous passing way listSecurityPolicy=[True, True, 3600, False, False, True]
|
||||
if (len(listSecurityPolicy) == 6):
|
||||
rotationTime = listSecurityPolicy[2]
|
||||
|
||||
# the last three reserved bits must be 1
|
||||
policyBits = 0b00000111
|
||||
|
||||
if listSecurityPolicy[0]:
|
||||
policyBits = policyBits | 0b10000000
|
||||
if listSecurityPolicy[1]:
|
||||
policyBits = policyBits | 0b01000000
|
||||
if listSecurityPolicy[3]:
|
||||
policyBits = policyBits | 0b00100000
|
||||
if listSecurityPolicy[4]:
|
||||
policyBits = policyBits | 0b00010000
|
||||
if listSecurityPolicy[5]:
|
||||
policyBits = policyBits | 0b00001000
|
||||
else:
|
||||
# new passing way listSecurityPolicy=[3600, 0b11001111]
|
||||
rotationTime = listSecurityPolicy[0]
|
||||
policyBits = listSecurityPolicy[1]
|
||||
|
||||
policy = str(hex(rotationTime))[2:]
|
||||
|
||||
if len(policy) < 4:
|
||||
@@ -2284,10 +2306,6 @@ class OpenThread(IThci):
|
||||
|
||||
cmd += policy
|
||||
|
||||
policyBits = 0
|
||||
if len(listSecurityPolicy) > 1:
|
||||
policyBits = listSecurityPolicy[1]
|
||||
|
||||
cmd += str(hex(policyBits))[2:]
|
||||
|
||||
if xCommissioningSessionId != None:
|
||||
|
||||
Reference in New Issue
Block a user