From f80676e266707db78af11084cd3afa2ab91af4e6 Mon Sep 17 00:00:00 2001 From: humorhenker Date: Tue, 9 Jan 2024 10:18:48 +0100 Subject: [PATCH] changed back to socat keeping threaded model --- main.py | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/main.py b/main.py index a572243..4bc9c32 100644 --- a/main.py +++ b/main.py @@ -1,4 +1,4 @@ -import serial, time, pty, os, threading +import serial, time, threading import busio from digitalio import DigitalInOut, Direction, Pull @@ -12,6 +12,17 @@ spi = busio.SPI(board.SCK, MOSI=board.MOSI, MISO=board.MISO) #rfm = adafruit_rfm69.RFM69(spi, CS, RESET, 868.0) rfm = adafruit_rfm9x.RFM9x(spi, CS, RESET, 868.0, baudrate=20000000) +addr = '/tmp/rfmtty' +addr_client = '/tmp/rfmtty_client' + +cmd=['/usr/bin/socat','-d','-d','PTY,link=%s,raw,echo=0' % + addr, 'PTY,link=%s,raw,echo=0' % addr_client] +socat_proc = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE) +time.sleep(1) + +print("Serieller Port: %s" % addr) +ser = serial.Serial(addr, baudrate=baudrate) + def serial_port_reader(ser, rfm): while True: ser_data = bytearray() @@ -38,11 +49,6 @@ def serial_port_writer(ser, rfm): baudrate = 115200 packet_len = 251 -master, slave = pty.openpty() -port_name = os.ttyname(slave) -print("Serieller Port: %s" % port_name) -ser = serial.Serial(port_name, baudrate=baudrate) - reader_thread = threading.Thread(target=serial_port_reader, args=(ser,rfm), daemon=True) reader_thread.start() writer_thread = threading.Thread(target=serial_port_writer, args=(ser,rfm), daemon=True)