def mac802154_BM(self,raw,size):
global separator
header = struct.unpack_from('H',raw,0)[0]
if header == 0xa821:
seq = struct.unpack_from('B',raw,2)[0]
rxPanid = struct.unpack_from('H',raw,3)[0]
rxAddr = struct.unpack_from('H',raw,5)[0]
txAddr = struct.unpack_from('H',raw,7)[0]
rssi = struct.unpack_from('B',raw,size-1)[0]
msg = ""
print(datetime.today(),"0x%04x"%header,"0x%02x"%seq,"0x%04x"%rxPanid,"0x%04x"%rxAddr,"0x%04x"%txAddr,"%03d "%rssi,sep=separator,end=separator)
for i in range(9,size-1):
print(str("%02x"%struct.unpack_from('B',raw,i)[0]),sep="",end=separator)
print("")
return
elif header == 0xa802:
seq = struct.unpack_from('B',raw,2)[0]
rxPanid = struct.unpack_from('H',raw,3)[0]
rxAddr = struct.unpack_from('H',raw,5)[0]
txAddr = struct.unpack_from('H',raw,7)[0]
rssi = struct.unpack_from('B',raw,size-1)[0]
print(datetime.today(),"0x%04x"%header,"0x%02x"%seq,"0x%04x"%rxPanid,"0x%04x"%rxAddr,"0x%04x"%txAddr,"%03d "%rssi,"(ACK)",sep=separator)
return
else:
self.mac802154_unsupported_format(raw,size)
评论列表
文章目录