|
@@ -8,6 +8,7 @@ import autoGamma
|
|
|
from mokaSerail import MokaSerial
|
|
|
from caSerail import CASerail
|
|
|
|
|
|
+
|
|
|
def readPartern():
|
|
|
f = open(u"cfg.txt") # 返回一个文件对象
|
|
|
line = f.readline() # 调用文件的 readline()方法,一次读取一行
|
|
@@ -36,32 +37,6 @@ def readPartern():
|
|
|
return TV_COM, CA_COM, PAR_LIST
|
|
|
|
|
|
|
|
|
-def gen_gzip(gm_file, save_file):
|
|
|
- # 压缩gamma.ini成zip,再写入到TV?? 还是直接写入gamma.ini到TV ??
|
|
|
- fin = open(gm_file, 'rb')
|
|
|
- gf = gzip.open('gamma_org.gzip', 'wb')
|
|
|
- data = fin.read()
|
|
|
- gf.write(data)
|
|
|
- fin.close()
|
|
|
- gf.close()
|
|
|
-
|
|
|
- # 计算原始文件crc32;
|
|
|
- # crc32 = binascii.crc32(data)
|
|
|
-
|
|
|
- # 重新读取gzip,再切掉8个字节?后再保存
|
|
|
- fg = open('gamma_org.gzip', 'rb')
|
|
|
- g_data = fg.read()
|
|
|
- fg.close()
|
|
|
-
|
|
|
- # 生成新的gamma.zip.
|
|
|
- fg = open(save_file, 'wb+')
|
|
|
- start_index = 10 + 'gamma_org.gzip'.__len__() + 1
|
|
|
- data_save = g_data[start_index:-4]
|
|
|
- fg.write(g_data[8:10])
|
|
|
- fg.write(data_save)
|
|
|
- fg.close()
|
|
|
-
|
|
|
-
|
|
|
def test_all():
|
|
|
# 读取配置文件;
|
|
|
TV_COM, CA_COM, PAR_LIST = readPartern()
|
|
@@ -71,68 +46,68 @@ def test_all():
|
|
|
print("11 pattern", Index11)
|
|
|
|
|
|
# 打开CA310
|
|
|
- ca_port = CASerail()
|
|
|
- ca_port.open(CA_COM, 19200, 7, 'E', 2)
|
|
|
+ ca = CASerail()
|
|
|
+ ca.open(CA_COM, 19200, 7, 'E', 2)
|
|
|
# 开启CA310
|
|
|
- data = ca_port.startCommunication()
|
|
|
+ data = ca.startCommunication()
|
|
|
print("CA310 开启", data)
|
|
|
|
|
|
- if True:
|
|
|
- print("CA310 显示模式", data)
|
|
|
- data = ca_port.set_XYZ_Display()
|
|
|
+ print("CA310 显示模式", data)
|
|
|
+ data = ca.set_XYZ_Display()
|
|
|
|
|
|
- print("CA310 同步模式", data)
|
|
|
- data = ca_port.setSynchMode(3)
|
|
|
-
|
|
|
- print("CA310 测量速度", data)
|
|
|
- data = ca_port.setMeasureSpeed(2)
|
|
|
+ print("CA310 同步模式", data)
|
|
|
+ data = ca.setSynchMode(3)
|
|
|
+
|
|
|
+ print("CA310 测量速度", data)
|
|
|
+ data = ca.setMeasureSpeed(2)
|
|
|
|
|
|
+ if True:
|
|
|
time.sleep(0.5)
|
|
|
print("CA310 零校准", data)
|
|
|
- data = ca_port.setZeroCalibration()
|
|
|
+ data = ca.setZeroCalibration()
|
|
|
|
|
|
print("CA310 设置测试通道", data)
|
|
|
- data = ca_port.setChannel('01')
|
|
|
+ data = ca.setChannel('01')
|
|
|
|
|
|
# 打开TV串口;
|
|
|
- tv_port = MokaSerial()
|
|
|
- tv_port.open(TV_COM)
|
|
|
+ tv = MokaSerial()
|
|
|
+ tv.open(TV_COM)
|
|
|
print("进工厂模式")
|
|
|
- data = tv_port.sendcmd([0xAA, 0x06, 0x10, 0x01, 0xA7, 0xEF])
|
|
|
+ data = tv.enterFactory()
|
|
|
|
|
|
print("白平衡初始化")
|
|
|
- data = tv_port.sendcmd([0xAA, 0x06, 0x16, 0x01, 0x0D, 0x49])
|
|
|
+ data = tv.initWhiteBalance()
|
|
|
|
|
|
print("关闭Localdimming")
|
|
|
- data = tv_port.sendcmd([0xAA, 0x07, 0x9F, 0x07, 0x00, 0xE1, 0x74])
|
|
|
+ data = tv.closeLocaldimming()
|
|
|
|
|
|
print("打开内置pattern")
|
|
|
- data = tv_port.sendcmd([0xAA, 0x06, 0x27, 0x02, 0x0B, 0x8E])
|
|
|
+ data = tv.openBuiltInPattern()
|
|
|
|
|
|
print("切换标准色温")
|
|
|
- data = tv_port.sendcmd([0xAA, 0x06, 0x31, 0x01, 0x92, 0x38])
|
|
|
+ data = tv.switchStdColorTemperature()
|
|
|
|
|
|
print("gamma初始化")
|
|
|
- data = tv_port.sendcmd([0xAA, 0x07, 0x9F, 0x09, 0x01, 0xD2, 0x5A])
|
|
|
+ data = tv.initGamma()
|
|
|
|
|
|
XYZ_ALL = []
|
|
|
print("内置pattern切换与CA310读取")
|
|
|
for item in PAR_LIST:
|
|
|
# print("item",item)
|
|
|
if item.__len__() == 3:
|
|
|
- tv_port.send_parttern([int(item[0]), int(item[1]), int(item[2])])
|
|
|
+ tv.send_parttern([int(item[0]), int(item[1]), int(item[2])])
|
|
|
time.sleep(0.5)
|
|
|
- X, Y, Z = ca_port.readDisplay()
|
|
|
+ X, Y, Z = ca.readDisplay()
|
|
|
print("CA410数据:", X, Y, Z)
|
|
|
|
|
|
print("XYZ", X, Y, Z)
|
|
|
XYZ_ALL.append([X, Y, Z])
|
|
|
|
|
|
print("关闭内置pattern")
|
|
|
- data = tv_port.sendcmd([0xAA, 0x06, 0x27, 0x00, 0x2B, 0xCC])
|
|
|
+ data = tv.closeBuiltInPattern()
|
|
|
|
|
|
# 关闭CA310
|
|
|
- data = ca_port.endCommunication()
|
|
|
+ data = ca.endCommunication()
|
|
|
|
|
|
# 调用gamma算法生成gamma.ini
|
|
|
factory = autoGamma.FiretvFactory()
|
|
@@ -142,12 +117,12 @@ def test_all():
|
|
|
0.313, 0.329, 2.2)
|
|
|
autoGamma.dumpRGB2ini(RGB255)
|
|
|
|
|
|
- # 生成切割文件;
|
|
|
- gen_gzip('gamma.ini', 'gamma_cut.zip')
|
|
|
+ # 生成切割文件;
|
|
|
+ tv.gen_gzip('gamma.ini', 'gamma_cut.zip')
|
|
|
# 调用串口命令写入TV中;
|
|
|
- tv_port.send_gamma('gamma_cut.zip')
|
|
|
+ tv.send_gamma('gamma_cut.zip')
|
|
|
# 使生效;
|
|
|
- tv_port.send_gamma_active('gamma.ini')
|
|
|
+ tv.send_gamma_active('gamma.ini')
|
|
|
|
|
|
autoGamma.showRGBcurve(RGB255)
|
|
|
|
|
@@ -161,37 +136,37 @@ def get_test_result():
|
|
|
print("11 pattern", Index11)
|
|
|
|
|
|
# 打开CA310
|
|
|
- ca_port = CASerail()
|
|
|
- ca_port.open(CA_COM, 19200, 7, 'E', 2)
|
|
|
+ ca = CASerail()
|
|
|
+ ca.open(CA_COM, 19200, 7, 'E', 2)
|
|
|
# 开启CA310
|
|
|
- data = ca_port.startCommunication()
|
|
|
+ data = ca.startCommunication()
|
|
|
print("CA310 开启", data)
|
|
|
|
|
|
- if True:
|
|
|
- print("CA310 显示模式", data)
|
|
|
- data = ca_port.set_XYZ_Display()
|
|
|
+ print("CA310 显示模式", data)
|
|
|
+ data = ca.set_XYZ_Display()
|
|
|
|
|
|
- print("CA310 同步模式", data)
|
|
|
- data = ca_port.setSynchMode(3)
|
|
|
-
|
|
|
- print("CA310 测量速度", data)
|
|
|
- data = ca_port.setMeasureSpeed(2)
|
|
|
+ print("CA310 同步模式", data)
|
|
|
+ data = ca.setSynchMode(3)
|
|
|
+
|
|
|
+ print("CA310 测量速度", data)
|
|
|
+ data = ca.setMeasureSpeed(2)
|
|
|
|
|
|
+ if True:
|
|
|
time.sleep(0.5)
|
|
|
print("CA310 零校准", data)
|
|
|
- data = ca_port.setZeroCalibration()
|
|
|
+ data = ca.setZeroCalibration()
|
|
|
|
|
|
print("CA310 设置测试通道", data)
|
|
|
- data = ca_port.setChannel('01')
|
|
|
+ data = ca.setChannel('01')
|
|
|
|
|
|
# 打开TV串口;
|
|
|
- tv_port = MokaSerial()
|
|
|
- tv_port.open(TV_COM)
|
|
|
+ tv = MokaSerial()
|
|
|
+ tv.open(TV_COM)
|
|
|
print("进工厂模式")
|
|
|
- data = tv_port.sendcmd([0xAA, 0x06, 0x10, 0x01, 0xA7, 0xEF])
|
|
|
+ data = tv.enterFactory()
|
|
|
|
|
|
print("打开内置pattern")
|
|
|
- data = tv_port.sendcmd([0xAA, 0x06, 0x27, 0x02, 0x0B, 0x8E])
|
|
|
+ data = tv.openBuiltInPattern()
|
|
|
|
|
|
|
|
|
XYZ_ALL = []
|
|
@@ -199,55 +174,20 @@ def get_test_result():
|
|
|
for item in PAR_LIST:
|
|
|
# print("item",item)
|
|
|
if item.__len__() == 3:
|
|
|
- tv_port.send_parttern([int(item[0]), int(item[1]), int(item[2])])
|
|
|
+ tv.send_parttern([int(item[0]), int(item[1]), int(item[2])])
|
|
|
time.sleep(0.5)
|
|
|
- X, Y, Z = ca_port.readDisplay()
|
|
|
+ X, Y, Z = ca.readDisplay()
|
|
|
print("CA410数据:", X, Y, Z)
|
|
|
|
|
|
print("XYZ", X, Y, Z)
|
|
|
XYZ_ALL.append([X, Y, Z])
|
|
|
|
|
|
print("关闭内置pattern")
|
|
|
- data = tv_port.sendcmd([0xAA, 0x06, 0x27, 0x00, 0x2B, 0xCC])
|
|
|
+ data = tv.closeBuiltInPattern()
|
|
|
|
|
|
# 关闭CA310
|
|
|
- data = ca_port.endCommunication()
|
|
|
-
|
|
|
-
|
|
|
-def test_zip():
|
|
|
- # 创建zip压缩包;
|
|
|
- zipFile = zipfile.ZipFile(r'gamma.zip', 'w')
|
|
|
- # 写入ini到zip中;
|
|
|
- zipFile.write(r'gamma.ini', 'gamma.ini', zipfile.ZIP_DEFLATED)
|
|
|
- zipFile.close()
|
|
|
-
|
|
|
-
|
|
|
-def test_gzip():
|
|
|
- fin = open('gamma.ini', 'rb')
|
|
|
- gf = gzip.open('gamma.gzip', 'wb')
|
|
|
- data = fin.read()
|
|
|
- gf.write(data)
|
|
|
- fin.close()
|
|
|
- gf.close()
|
|
|
-
|
|
|
-
|
|
|
-def test_result():
|
|
|
- # xyY_ALL = [[1,2,3],[4,5,6],[7,8,9]]
|
|
|
- # xyY_ALL = xyY_ALL[::-1]
|
|
|
- # for i in range(0, 3):
|
|
|
- # print(f"0.{xyY_ALL[i][0]} 0.{xyY_ALL[i][1]} {xyY_ALL[i][2]}")
|
|
|
- X = 7.82195
|
|
|
- Y = 3.78406
|
|
|
- Z = 2.37614
|
|
|
- x = X / (X + Y + Z)
|
|
|
- y = Y / (X + Y + Z)
|
|
|
- print(f"x={x} y= {y}")
|
|
|
+ data = ca.endCommunication()
|
|
|
|
|
|
|
|
|
if __name__ == "__main__":
|
|
|
test_all()
|
|
|
- # test_result()
|
|
|
- # test_tv()
|
|
|
- # gen_gzip(r'F:\bin\TCLTools\gamma.ini', 'aaa.cut.zip')
|
|
|
- # test_ca310()
|
|
|
- # test_gzip()
|