Update hexapod.py
This commit is contained in:
		@@ -52,6 +52,7 @@ from pathlib import Path
 | 
				
			|||||||
import json
 | 
					import json
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from tcpclient import TCPClient
 | 
					from tcpclient import TCPClient
 | 
				
			||||||
 | 
					from btclient import BluetoothClient
 | 
				
			||||||
 | 
					
 | 
				
			||||||
QtWidgets.QApplication.setAttribute(
 | 
					QtWidgets.QApplication.setAttribute(
 | 
				
			||||||
    QtCore.Qt.AA_EnableHighDpiScaling, True)  # enable highdpi scaling
 | 
					    QtCore.Qt.AA_EnableHighDpiScaling, True)  # enable highdpi scaling
 | 
				
			||||||
@@ -131,7 +132,12 @@ class MyApp(QtWidgets.QMainWindow):
 | 
				
			|||||||
            self.on_turnright_button_clicked
 | 
					            self.on_turnright_button_clicked
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        self.ui.textBrowserMessage.installEventFilter(self)
 | 
					        # Bluetooth client
 | 
				
			||||||
 | 
					        self.ui.buttonBtConnect.clicked.connect(
 | 
				
			||||||
 | 
					            self.on_bt_client_connect_button_clicked
 | 
				
			||||||
 | 
					        )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # self.ui.textBrowserMessage.installEventFilter(self)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        self.ui.show()
 | 
					        self.ui.show()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -365,6 +371,63 @@ class MyApp(QtWidgets.QMainWindow):
 | 
				
			|||||||
            msg +
 | 
					            msg +
 | 
				
			||||||
            '<br></div>')
 | 
					            '<br></div>')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # Bluetooth Client
 | 
				
			||||||
 | 
					    def on_bt_client_connect_button_clicked(self):
 | 
				
			||||||
 | 
					        if self.ui.buttonBtConnect.text() == 'Connect':
 | 
				
			||||||
 | 
					            self.ui.buttonBtConnect.setEnabled(False)
 | 
				
			||||||
 | 
					            self.ui.lineEditBtMac.setEnabled(False)
 | 
				
			||||||
 | 
					            self.ui.lineEditBtPort.setEnabled(False)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            self.bt_client_thread = QThread()
 | 
				
			||||||
 | 
					            self.bt_client = BluetoothClient(
 | 
				
			||||||
 | 
					                self.ui.lineEditBtMac.text(),
 | 
				
			||||||
 | 
					                int(self.ui.lineEditBtPort.text()))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            self.bt_client_thread.started.connect(self.bt_client.start)
 | 
				
			||||||
 | 
					            self.bt_client.status.connect(self.on_bt_client_status_update)
 | 
				
			||||||
 | 
					            self.bt_client.message.connect(self.on_bt_client_message_ready)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            self.bt_client.moveToThread(self.bt_client_thread)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            self.bt_client_thread.start()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            self.config['Bluetooth_Client_MAC'] = self.ui.lineEditBtMac.text()
 | 
				
			||||||
 | 
					            self.config['Bluetooth_Client_Port'] = self.ui.lineEditBtPort.text(
 | 
				
			||||||
 | 
					            )
 | 
				
			||||||
 | 
					            self.save_config()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        elif self.ui.buttonBtConnect.text() == 'Disconnect':
 | 
				
			||||||
 | 
					            self.ui.buttonBtConnect.setEnabled(False)
 | 
				
			||||||
 | 
					            self.bt_client.close()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def on_bt_client_status_update(self, status, addr):
 | 
				
			||||||
 | 
					        if status == BluetoothClient.STOP:
 | 
				
			||||||
 | 
					            self.bt_client.status.disconnect()
 | 
				
			||||||
 | 
					            self.bt_client.message.disconnect()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            self.ui.buttonBtConnect.setText('Connect')
 | 
				
			||||||
 | 
					            self.bt_client_thread.quit()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            self.ui.lineEditBtMac.setEnabled(True)
 | 
				
			||||||
 | 
					            self.ui.lineEditBtPort.setEnabled(True)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            # self.status['Bluetooth']['Client'] = '[CLIENT] Idle'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        elif status == BluetoothClient.CONNECTED:
 | 
				
			||||||
 | 
					            self.ui.buttonBtConnect.setText('Disconnect')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        self.ui.buttonBtConnect.setEnabled(True)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def on_bt_client_message_ready(self, source, msg):
 | 
				
			||||||
 | 
					        self.ui.textBrowserMessage.append(
 | 
				
			||||||
 | 
					            '<div style="color: #2196F3;"><strong>— [Bluetooth Server] ' +
 | 
				
			||||||
 | 
					            source +
 | 
				
			||||||
 | 
					            ' —</strong></div>')
 | 
				
			||||||
 | 
					        self.ui.textBrowserMessage.append(
 | 
				
			||||||
 | 
					            '<div style="color: #2196F3;">' +
 | 
				
			||||||
 | 
					            msg +
 | 
				
			||||||
 | 
					            '<br></div>')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def append_message(self, message):
 | 
					    def append_message(self, message):
 | 
				
			||||||
        self.ui.textBrowserMessage.append(
 | 
					        self.ui.textBrowserMessage.append(
 | 
				
			||||||
            '<div><strong>— ' +
 | 
					            '<div><strong>— ' +
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user