changed back to socat keeping threaded model
This commit is contained in:
		
							parent
							
								
									ece7a3941b
								
							
						
					
					
						commit
						f80676e266
					
				
							
								
								
									
										18
									
								
								main.py
								
								
								
								
							
							
						
						
									
										18
									
								
								main.py
								
								
								
								
							| 
						 | 
					@ -1,4 +1,4 @@
 | 
				
			||||||
import serial, time, pty, os, threading
 | 
					import serial, time, threading
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import busio
 | 
					import busio
 | 
				
			||||||
from digitalio import DigitalInOut, Direction, Pull
 | 
					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_rfm69.RFM69(spi, CS, RESET, 868.0)
 | 
				
			||||||
rfm = adafruit_rfm9x.RFM9x(spi, CS, RESET, 868.0, baudrate=20000000)
 | 
					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):
 | 
					def serial_port_reader(ser, rfm):
 | 
				
			||||||
    while True:
 | 
					    while True:
 | 
				
			||||||
        ser_data = bytearray()
 | 
					        ser_data = bytearray()
 | 
				
			||||||
| 
						 | 
					@ -38,11 +49,6 @@ def serial_port_writer(ser, rfm):
 | 
				
			||||||
baudrate = 115200
 | 
					baudrate = 115200
 | 
				
			||||||
packet_len = 251
 | 
					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 = threading.Thread(target=serial_port_reader, args=(ser,rfm), daemon=True)
 | 
				
			||||||
reader_thread.start()
 | 
					reader_thread.start()
 | 
				
			||||||
writer_thread = threading.Thread(target=serial_port_writer, args=(ser,rfm), daemon=True)
 | 
					writer_thread = threading.Thread(target=serial_port_writer, args=(ser,rfm), daemon=True)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue