gateway.py 文件源码

python
阅读 41 收藏 0 点赞 0 评论 0

项目:PyLaz 作者: LAPIS-Lazurite 项目源码 文件源码
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)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号