25 lines
725 B
Python
25 lines
725 B
Python
|
from PySide6.QtSerialPort import QSerialPort
|
||
|
from PySide6.QtCore import QByteArray, Signal, SignalInstance
|
||
|
|
||
|
|
||
|
class BrSerialPort(QSerialPort):
|
||
|
signal_data_received: SignalInstance = Signal(str)
|
||
|
signal_data_sent: SignalInstance = Signal()
|
||
|
|
||
|
def __init__(self, port_name, baud):
|
||
|
super().__init__()
|
||
|
|
||
|
self.setPortName(port_name)
|
||
|
self.setBaudRate(baud)
|
||
|
|
||
|
self.open(QSerialPort.OpenModeFlag.ReadWrite)
|
||
|
|
||
|
def write_data(self, send_data):
|
||
|
self.write(send_data)
|
||
|
self.signal_data_sent.emit()
|
||
|
|
||
|
def read_data(self):
|
||
|
m_read_data: QByteArray = self.readAll()
|
||
|
m_read_data_str = m_read_data.toStdString()
|
||
|
self.signal_data_received.emit(m_read_data_str)
|