serialboard_manager.py 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. # -*- coding:utf-8 -*-
  2. import serial
  3. import io,sys
  4. import threading
  5. reload(sys)
  6. sys.setdefaultencoding('utf-8')
  7. import binascii
  8. from ssat_sdk import sat_environment
  9. class TCLSerial:
  10. port = sat_environment.getSerialCOM()
  11. freq = 115200
  12. data_field = 8
  13. parity = serial.PARITY_NONE
  14. rtscts = 0
  15. timeout = 1
  16. STATUS_CLOSE = 0x0
  17. STATUS_OPEN = 0x01
  18. STATUS_W_OPEN = 0x02
  19. STATUS_R_OPEN = 0x04
  20. def __init__(self):
  21. self.ser = serial.Serial(TCLSerial.port, \
  22. TCLSerial.freq, \
  23. timeout = TCLSerial.timeout, \
  24. parity = TCLSerial.parity, \
  25. rtscts = TCLSerial.rtscts)
  26. #self.sio = io.TextIOWrapper(io.BufferedRWPair(self.ser, self.ser))
  27. self.status = 0
  28. def sendCommand(self, cmd):
  29. # print "[TCLSerial:sendCommand]cmd:", binascii.hexlify(cmd)
  30. try:
  31. self.ser.write(cmd)
  32. self.ser.flush()
  33. except :
  34. print "Send serial command.Fail"
  35. def readData(self, buf_len):
  36. bytes = self.ser.read(buf_len)
  37. # print "[TCLSerial:readData]return bytes:", binascii.hexlify(bytes)
  38. return bytearray(bytes)
  39. def readLine(self):
  40. return self.ser.readline()
  41. def close(self):
  42. self.ser.close()
  43. def open(self):
  44. self.ser.open()
  45. if __name__ == "__main__":
  46. print TCLSerial.port