# -*- coding:utf-8 -*- import os import sys import time import json from baseClient import BaseClient import numpy as np ''' 注意: 所有函数中, 1、参数device为整型,起始值从1开始,表示第几台设备; device默认为1,如果要使用第2台设备,device=2; 2、参数timeout单位:毫秒; ''' class C22293Manager(BaseClient): def __init__(self): BaseClient.__init__(self) # python 继承方式 self.device_name = "Chroma22293" def __parse__(self, result, params = 1): if result is None: return False # print result if params == 1: if result['device_cmd_result'] == u'ok;\r\n': return True if params == 2: if result['device_cmd_result'] == u'ok;\r\nok;\r\n': return True return False def setPattern(self, pattern, device = 1, timeout = 300): self.device_id = device self.device_timeout = timeout self.device_cmd = 'run ptn %s;\r' % pattern return self.__parse__(self.sendmsg()) def setTiming(self, timing, device = 1, timeout = 300): self.device_id = device self.device_timeout = timeout self.device_cmd = 'run tim %s;\r' % timing return self.__parse__(self.sendmsg()) def setTimingPattern(self, timing, pattern, device = 1, timeout = 300): self.device_id = device self.device_timeout = timeout # self.device_cmd = 'run tim %s;run ptn %s;\r' % (timing, pattern) # return self.__parse__(self.sendmsg(), 2) if self.setTiming(timing) and self.setPattern(pattern): return True return False def getDeviceName(self, device = 1, timeout = 300): self.device_id = device self.device_cmd = 'report model;\r' self.device_timeout = timeout result = self.sendmsg() if result is None: return None return result['device_cmd_result'] def getDeviceSoft(self, device = 1, timeout = 300): self.device_id = device self.device_cmd = 'report ver;\r' self.device_timeout = timeout result = self.sendmsg() if result is None: return None return result['device_cmd_result'] def getStatus(self, device = 1, timeout = 300): self.device_id = device self.device_cmd = 'dummy;\r' self.device_timeout = timeout return self.__parse__(self.sendmsg()) def setBlueOFF(self, device = 1, timeout = 300): self.device_id = device self.device_cmd = 'b off;\r' self.device_timeout = timeout return self.__parse__(self.sendmsg()) def setBlueON(self, device = 1, timeout = 300): self.device_id = device self.device_cmd = 'b on;\r' self.device_timeout = timeout return self.__parse__(self.sendmsg()) def setGreenOFF(self, device = 1, timeout = 300): self.device_id = device self.device_cmd = 'g off;\r' self.device_timeout = timeout return self.__parse__(self.sendmsg()) def setGreenON(self, device = 1, timeout = 300): self.device_id = device self.device_cmd = 'g on;\r' self.device_timeout = timeout return self.__parse__(self.sendmsg()) def setRedOFF(self, device = 1, timeout = 300): self.device_id = device self.device_cmd = 'r off;\r' self.device_timeout = timeout return self.__parse__(self.sendmsg()) def setRedON(self, device = 1, timeout = 300): self.device_id = device self.device_cmd = 'r on;\r' self.device_timeout = timeout return self.__parse__(self.sendmsg()) def setKeyBoardLock(self, device = 1, timeout = 300): self.device_id = device self.device_cmd = 'kb lock on;\r' self.device_timeout = timeout return self.__parse__(self.sendmsg()) def setKeyBoardUnLock(self, device = 1, timeout = 300): self.device_id = device self.device_cmd = 'kb lock off;\r' self.device_timeout = timeout return self.__parse__(self.sendmsg()) if __name__ == "__main__": while(True): print u'测试开始\n' c2 = C22293Manager() print c2.getDeviceName() print c2.getDeviceSoft() print c2.getStatus() print c2.setPattern(11) print c2.setTiming(11) print c2.setTimingPattern(11,11) print c2.setBlueOFF() print c2.setBlueON() print c2.setGreenOFF() print c2.setGreenON() print c2.setRedOFF() print c2.setRedON() print c2.setKeyBoardLock() print c2.setKeyBoardUnLock() time.sleep(2) print u'测试结束\n'