Chroma22293.py 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158
  1. # -*- coding:utf-8 -*-
  2. import os
  3. import sys
  4. import time
  5. import json
  6. from baseClient import BaseClient
  7. import numpy as np
  8. '''
  9. 注意:
  10. 所有函数中,
  11. 1、参数device为整型,起始值从1开始,表示第几台设备;
  12. device默认为1,如果要使用第2台设备,device=2;
  13. 2、参数timeout单位:毫秒;
  14. '''
  15. class C22293Manager(BaseClient):
  16. def __init__(self):
  17. BaseClient.__init__(self) # python 继承方式
  18. self.device_name = "Chroma22293"
  19. def __parse__(self, result, params = 1):
  20. if result is None:
  21. return False
  22. # print result
  23. if params == 1:
  24. if result['device_cmd_result'] == u'ok;\r\n':
  25. return True
  26. if params == 2:
  27. if result['device_cmd_result'] == u'ok;\r\nok;\r\n':
  28. return True
  29. return False
  30. def setPattern(self, pattern, device = 1, timeout = 300):
  31. self.device_id = device
  32. self.device_timeout = timeout
  33. self.device_cmd = 'run ptn %s;\r' % pattern
  34. return self.__parse__(self.sendmsg())
  35. def setTiming(self, timing, device = 1, timeout = 300):
  36. self.device_id = device
  37. self.device_timeout = timeout
  38. self.device_cmd = 'run tim %s;\r' % timing
  39. return self.__parse__(self.sendmsg())
  40. def setTimingPattern(self, timing, pattern, device = 1, timeout = 300):
  41. self.device_id = device
  42. self.device_timeout = timeout
  43. # self.device_cmd = 'run tim %s;run ptn %s;\r' % (timing, pattern)
  44. # return self.__parse__(self.sendmsg(), 2)
  45. if self.setTiming(timing) and self.setPattern(pattern):
  46. return True
  47. return False
  48. def getDeviceName(self, device = 1, timeout = 300):
  49. self.device_id = device
  50. self.device_cmd = 'report model;\r'
  51. self.device_timeout = timeout
  52. result = self.sendmsg()
  53. if result is None:
  54. return None
  55. return result['device_cmd_result']
  56. def getDeviceSoft(self, device = 1, timeout = 300):
  57. self.device_id = device
  58. self.device_cmd = 'report ver;\r'
  59. self.device_timeout = timeout
  60. result = self.sendmsg()
  61. if result is None:
  62. return None
  63. return result['device_cmd_result']
  64. def getStatus(self, device = 1, timeout = 300):
  65. self.device_id = device
  66. self.device_cmd = 'dummy;\r'
  67. self.device_timeout = timeout
  68. return self.__parse__(self.sendmsg())
  69. def setBlueOFF(self, device = 1, timeout = 300):
  70. self.device_id = device
  71. self.device_cmd = 'b off;\r'
  72. self.device_timeout = timeout
  73. return self.__parse__(self.sendmsg())
  74. def setBlueON(self, device = 1, timeout = 300):
  75. self.device_id = device
  76. self.device_cmd = 'b on;\r'
  77. self.device_timeout = timeout
  78. return self.__parse__(self.sendmsg())
  79. def setGreenOFF(self, device = 1, timeout = 300):
  80. self.device_id = device
  81. self.device_cmd = 'g off;\r'
  82. self.device_timeout = timeout
  83. return self.__parse__(self.sendmsg())
  84. def setGreenON(self, device = 1, timeout = 300):
  85. self.device_id = device
  86. self.device_cmd = 'g on;\r'
  87. self.device_timeout = timeout
  88. return self.__parse__(self.sendmsg())
  89. def setRedOFF(self, device = 1, timeout = 300):
  90. self.device_id = device
  91. self.device_cmd = 'r off;\r'
  92. self.device_timeout = timeout
  93. return self.__parse__(self.sendmsg())
  94. def setRedON(self, device = 1, timeout = 300):
  95. self.device_id = device
  96. self.device_cmd = 'r on;\r'
  97. self.device_timeout = timeout
  98. return self.__parse__(self.sendmsg())
  99. def setKeyBoardLock(self, device = 1, timeout = 300):
  100. self.device_id = device
  101. self.device_cmd = 'kb lock on;\r'
  102. self.device_timeout = timeout
  103. return self.__parse__(self.sendmsg())
  104. def setKeyBoardUnLock(self, device = 1, timeout = 300):
  105. self.device_id = device
  106. self.device_cmd = 'kb lock off;\r'
  107. self.device_timeout = timeout
  108. return self.__parse__(self.sendmsg())
  109. if __name__ == "__main__":
  110. while(True):
  111. print u'测试开始\n'
  112. c2 = C22293Manager()
  113. print c2.getDeviceName()
  114. print c2.getDeviceSoft()
  115. print c2.getStatus()
  116. print c2.setPattern(11)
  117. print c2.setTiming(11)
  118. print c2.setTimingPattern(11,11)
  119. print c2.setBlueOFF()
  120. print c2.setBlueON()
  121. print c2.setGreenOFF()
  122. print c2.setGreenON()
  123. print c2.setRedOFF()
  124. print c2.setRedON()
  125. print c2.setKeyBoardLock()
  126. print c2.setKeyBoardUnLock()
  127. time.sleep(2)
  128. print u'测试结束\n'