mirror of
https://github.com/daniviga/django-ram.git
synced 2025-08-04 13:17:50 +02:00
Refactor net-to-serial.py to support JMRI
This commit is contained in:
@@ -18,23 +18,26 @@ class SerialDaemon:
|
|||||||
pass
|
pass
|
||||||
|
|
||||||
async def handle_echo(self, reader, writer):
|
async def handle_echo(self, reader, writer):
|
||||||
data = await reader.read(100)
|
while 1: # keep connection to client open
|
||||||
addr = writer.get_extra_info('peername')
|
data = await reader.read(100)
|
||||||
|
if not data: # client has disconnected
|
||||||
|
break
|
||||||
|
|
||||||
logging.info("Received {} from {}".format(data, addr[0]))
|
addr = writer.get_extra_info('peername')
|
||||||
|
logging.info("Received {} from {}".format(data, addr[0]))
|
||||||
|
|
||||||
self.ser.write(data)
|
self.ser.write(data)
|
||||||
response = line = self.ser.read()
|
response = line = self.ser.read()
|
||||||
while line.strip():
|
while line.strip():
|
||||||
line = self.ser.read_until()
|
line = self.ser.read_until()
|
||||||
if not line.decode().startswith("<*"):
|
if not line.decode().startswith("<*"):
|
||||||
response += line
|
response += line
|
||||||
logging.info("Send: {}".format(response))
|
logging.info("Send: {}".format(response))
|
||||||
writer.write(response)
|
writer.write(response)
|
||||||
await writer.drain()
|
await writer.drain()
|
||||||
|
|
||||||
logging.info("Close the connection")
|
|
||||||
writer.close()
|
writer.close()
|
||||||
|
await writer.wait_closed()
|
||||||
|
|
||||||
async def return_board(self):
|
async def return_board(self):
|
||||||
self.ser.write(b'<s>')
|
self.ser.write(b'<s>')
|
||||||
|
Reference in New Issue
Block a user