Ejemplo n.º 1
0
def Mex_MakeAddr(dt):
    if dt['addlen'] > 1:
        s = 0x80 + dt['addlen']
        s = hex(s)[-2:] + pfun.strReverse(dt['addr'])
    else:
        s = pfun.strReverse(dt['addr'])
    return s
Ejemplo n.º 2
0
def upgradeDataProc_DL645(recv, uplist):
    ret, dt = dl645_dealframe(recv, False)
    if ret:
        strDI = pfun.strReverse(dt['data'][:8])
        strData = pfun.strReverse(dt['data'][8:])
        strDI = hex2str(str2hex(strDI, 1))
        strData = hex2str(str2hex(strData, 1))
        print('strDI:', strDI, 'strData:', strData)

        if strDI == '04a00501':  # 查询漏包
            upgradeRecvDataToMap(strData, uplist)
Ejemplo n.º 3
0
 def upgradeStart(self):
     data = pfun.strReverse("04A00502")
     data += pfun.strReverse(self.password)
     # 产品类型 + 版本日期 + 软件版本 + 硬件版本 + 文件总长 + 总包数 + 包长度 + 文件CRC校验 + 升级模式字
     # value = "28210000#18121716#01010002#01000000#0001f9c1#03f4#80#75d3#0000"
     # value = "28210000#20121110#01031006#01030000#" + self.FILE_LEN + "#" +  self.FILE_PACK_NUM + "#" + "80" + "#" +  self.FILE_CRC + "#" + "0000"
     data += pfun.strReverse(self.FILEINFO['dwFileType'])
     data += pfun.strReverse(self.FILEINFO['dwDateTime'])
     data += pfun.strReverse(self.FILEINFO['dwSWVersion'])
     data += pfun.strReverse(self.FILEINFO['dwHWVersion'])
     data += pfun.strReverse(self.FILE_LEN)
     data += pfun.strReverse(self.FILE_PACK_NUM)
     data += hex(self.packlen).replace("0x", "00")[-2:]
     data += pfun.strReverse(self.FILE_CRC)
     data += '00'
     data += '00'
     data = Dl645DataAdd33(data)
     senddata = make645Frame('', self.addr, '14', data)
     return senddata
Ejemplo n.º 4
0
 def upgradeSendFile(self, i):
     sindex = hex(i + 1).replace("0x", "0000")[-4:]
     data = pfun.strReverse("04A00501")
     data += pfun.strReverse(self.password)
     data += pfun.strReverse(self.FILE_MANUIDEN)
     data += pfun.strReverse(self.FILE_DEV_TYPE)
     data += pfun.strReverse(self.FILE_PACK_NUM)
     data += pfun.strReverse(sindex)
     data += self.flist[i]
     data = Dl645DataAdd33(data)
     senddata = make645Frame('', self.addr, '14', data)
     return senddata
Ejemplo n.º 5
0
    def GetFileInfo(self, s):
        fileinfo = {}
        if len(s) >= 88 and s[:8] == 'FB04EFFE':
            l = []
            for i in range(0, 88, 8):
                ls = s[i:i + 8]
                l += [pfun.strReverse(ls)]

            fileinfo['dwSignature'] = l[0]
            fileinfo['dwSize'] = l[1]
            fileinfo['dwFileOS'] = l[2]
            fileinfo['dwFileType'] = l[3]
            fileinfo['dwChipType'] = l[4]
            fileinfo['dwRFChipType'] = l[5]
            fileinfo['dwSWVersion'] = l[6]
            fileinfo['dwDateTime'] = l[7]
            fileinfo['dwProReleaseTime'] = l[8]
            fileinfo['dwProRecordTime'] = l[9]
            fileinfo['dwHWVersion'] = l[10]
        return fileinfo
Ejemplo n.º 6
0
 def upgradeCheckPack(self):
     data = pfun.strReverse("04A00501")
     data = Dl645DataAdd33(data)
     senddata = make645Frame('', self.addr, '11', data)
     return senddata