rnc_tuning/br_serial_port.py
2025-02-14 11:11:41 +08:00

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)