|
@@ -81,7 +81,7 @@ class MokaParse():
|
|
|
# 是否是多参数命令;(同一个Command,有多个含义的参数)
|
|
|
self.isMultipleParams = False
|
|
|
# 正确执行后的结果值,bytearray格式的二维数组;
|
|
|
- self.successData = []
|
|
|
+ self.successData = b''
|
|
|
|
|
|
# 生成命令;
|
|
|
'''
|
|
@@ -183,16 +183,23 @@ class MokaParse():
|
|
|
return False
|
|
|
|
|
|
if self.Command[0] == 0xFC:
|
|
|
- pass
|
|
|
+ if FEFlag: #返回超过255
|
|
|
+ if package[3] != self.Command[0] and package[4] - 1 != self.Command[1]:
|
|
|
+ return False
|
|
|
+ self.successData = package[6 + self.SubCommand.__len__():-2]
|
|
|
+ else:
|
|
|
+ if package[2] != self.Command[0] and package[3] - 1 != self.Command[1]:
|
|
|
+ return False
|
|
|
+ self.successData = package[4 + self.SubCommand.__len__():-2]
|
|
|
else:
|
|
|
if FEFlag: #返回超过255
|
|
|
if package[3] - 1 != self.Command[0]:
|
|
|
return False
|
|
|
- self.successData.append(package[5:-2])
|
|
|
+ self.successData = package[5 + self.SubCommand.__len__():-2]
|
|
|
else:
|
|
|
if package[2] - 1 != self.Command[0]:
|
|
|
return False
|
|
|
- self.successData.append(package[3:-2])
|
|
|
+ self.successData = package[3 + self.SubCommand.__len__():-2]
|
|
|
|
|
|
return True
|
|
|
|
|
@@ -231,7 +238,7 @@ class MokaParse():
|
|
|
if data.__len__() > 5:
|
|
|
result = self.parseSecondSection(retCode,data[5:])
|
|
|
|
|
|
- print('successData:', binascii.b2a_hex(bytearray(self.Command)), self.successData)
|
|
|
+ print('parser result = %s, cmdType = %s, data=%s' % (str(result), self.cmdType, binascii.b2a_hex(self.successData)))
|
|
|
return result
|
|
|
|
|
|
|
|
@@ -258,10 +265,11 @@ class MokaSerial(BaseSerial):
|
|
|
return self.read()
|
|
|
|
|
|
'''协议模式发送命令'''
|
|
|
- def sendcmdEx(self, cmdType: CMDType, head: int, command: list[int], subCommand: list[int] = [], data: bytearray = b'', FEFlag: Boolean = False, returnParam: Boolean = False):
|
|
|
+ def sendcmdEx(self, cmdType: CMDType, head: int, command: list[int], subCommand: list[int] = [], data: bytearray = b'', FEFlag: Boolean = False, returnParam: Boolean = False, timeSlepp=0.01):
|
|
|
cmd = MokaParse()
|
|
|
package = cmd.parseCommand(cmdType, head, command, subCommand, data, returnParam, FEFlag)
|
|
|
if self.write(package):
|
|
|
+ time.sleep(timeSlepp) # 必须项:返回2段时,有些机器第二段返回间隔较长;
|
|
|
package = self.read()
|
|
|
return cmd.parseResult(package)
|
|
|
|
|
@@ -379,8 +387,8 @@ if __name__ == "__main__":
|
|
|
print("gamma初始化")
|
|
|
tv.initGamma()
|
|
|
|
|
|
- #print("读取 mac")
|
|
|
- #data = tv.sendcmdEx(CMDType.Read, 0xAA, [0xBE], [0x00])
|
|
|
+ print("读取 mac")
|
|
|
+ data = tv.sendcmdEx(CMDType.Read, 0xAA, [0xBE], [0x00])
|
|
|
|
|
|
print("读取 wifimac")
|
|
|
data = tv.sendcmdEx(CMDType.Read, 0xAA, [0xBE], [0x15])
|
|
@@ -388,14 +396,22 @@ if __name__ == "__main__":
|
|
|
print("读取 clientType")
|
|
|
data = tv.sendcmdEx(CMDType.Read, 0xAA, [0x8C], [0x00])
|
|
|
|
|
|
+ print("Check PEK")
|
|
|
+ data = tv.sendcmdEx(CMDType.Read, 0xAA, [0xFC, 0x01], [0x01], timeSlepp=0.2)
|
|
|
+
|
|
|
+ print("设置内置pattern")
|
|
|
for item in [[0,0,0],[26,26,26],[51,51,51],[76,76,76],[102,102,102],[127,127,127],[153,153,153],[178,178,178],[204,204,204],[229,229,229],[255,255,255],[0,0,255],[255,0,0]]:
|
|
|
if item.__len__() == 3:
|
|
|
tv.send_parttern([int(item[0]), int(item[1]), int(item[2])])
|
|
|
time.sleep(0.5)
|
|
|
|
|
|
+ print("生成gamma")
|
|
|
tv.gen_gzip('gamma.ini', 'gamma_cut.gzip')
|
|
|
+
|
|
|
+ print("写入gamma")
|
|
|
tv.send_gamma('gamma_cut.gzip')
|
|
|
|
|
|
+ print("激活gamma")
|
|
|
tv.send_gamma_active('gamma.ini')
|
|
|
|
|
|
print("关闭内置pattern")
|