Advertisement
Guest User

Untitled

a guest
Jul 26th, 2017
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.64 KB | None | 0 0
  1. class ComPortListener(QThread):
  2. msg_rcvd = QtCore.pyqtSignal(str)
  3. com_conn_err_signal = QtCore.pyqtSignal(str)
  4. com_conn_started = QtCore.pyqtSignal()
  5.  
  6. def __init__(self, parent=None):
  7. QThread.__init__(self, parent)
  8. self.running = False
  9. # print 'Initiating Thread'
  10.  
  11. def run(self):
  12. print com_port, com_baud
  13. print 'Run Thread'
  14. try:
  15. # print 'Try to connect to ' + com_port
  16. self.ser = serial.Serial(com_port)
  17. self.ser.baudrate = com_baud
  18. self.ser.bytesize = serial.EIGHTBITS
  19. self.ser.parity = serial.PARITY_NONE
  20. self.ser.stopbits = serial.STOPBITS_ONE
  21. self.ser.timeout = 0.1
  22. self.ser.xonxoff = 0
  23. self.ser.rtscts = 0
  24. self.com_conn_started.emit()
  25. # print 'Connected to ' + com_port
  26. except:
  27. self.com_conn_err_signal.emit('Error.' + com_port + '. Could not open port.')
  28. # print 'Failed to connect to '+ com_port
  29. msg = ''
  30. if com_conn:
  31. # print 'Starting While loop!'
  32. while self.running:
  33. byte = str(self.ser.read())
  34. if len(byte) == 1:
  35. msg += byte
  36. if len(msg) >= 1:
  37. if msg[-1:] == "r":
  38. self.msg_rcvd.emit(msg)
  39. msg = ''
  40. # print 'Ending While loop!'
  41.  
  42. def send(self, msg):
  43. if com_conn:
  44. # print 'Message is sending!'
  45. self.ser.write(msg + 'r')
  46.  
  47. def close_com_conn(self):
  48. if com_conn:
  49. # print 'Closing connection with ' + com_port
  50. self.ser.close()
  51.  
  52. def connect_com_port(self):
  53. global com_port, com_baud, com_conn
  54. com_port = re.search(r'(COMd)', self.ui.comboBoxSerialPort.currentText()).group()[1:-1] # [-5:-1]
  55. com_baud = int(self.ui.comboBoxSerialPort_Baud.currentText())
  56. com_conn = True
  57. self.comPortListenerThread.running = True
  58. self.comPortListenerThread.start()
  59.  
  60. def on_start_com_listening(self):
  61. # print 'Start COM listening'
  62. global com_conn
  63. com_conn = True
  64. self.ui.btn_SP_Conn.setEnabled(False)
  65. self.ui.btn_SP_Disc.setEnabled(True)
  66. self.ui.label_SP_conn_indicator.setStyleSheet('image: url(:/indicators/indicators/sm_g_on.png);')
  67. self.indicator_img_list[1].setStyleSheet('image: url(:/indicators/indicators/rect_sm_g_on.png);')
  68. self.ui.lineEditConsole_com.setEnabled(True)
  69. self.ui.btn_console_enter_com.setEnabled(True)
  70. self.ui.comboBoxSerialPort.setEnabled(False)
  71. self.ui.comboBoxSerialPort_Baud.setEnabled(False)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement