def _iesubelmsmtreqstasta_(s,sid):
""" :returns: parsed subelement of type sta request for sta counters in msmt request """
ret = s
if sid == std.EID_MSMT_REQ_SUBELEMENT_STA_RPT:
# Std Fig. 8-117
cnt,to,t = struct.unpack_from('=I2H',s)
ts = s[8:]
ret = {'msmt-cnt':cnt,
'trigger-timeout':to,
'sta-cntr-trigger-cond':_stacntrtriggerconds_(t),
'thresholds':{}}
# optional count fields are 4-bytes assuming they are appending in order
for thresh in ['fail','fcs-error','mult-retry','dup','rts-fail','ack-fail','retry-cnt']:
if ret['sta-cntr-trigger-cond'][thresh]:
ret['thresholds'][thresh] = struct.unpack_from('=I',ts)[0]
ts = ts[4:]
elif sid == std.EID_MSMT_REQ_SUBELEMENT_STA_VEND:
ret = _parseie_(std.EID_VEND_SPEC,s)
return ret
# STA Counter Trigger Conditions Std Fig. 8-118
评论列表
文章目录