support for large data

pull/17/head
DJ2LS 2021-02-06 17:55:14 +01:00 committed by GitHub
parent 9cf0008da6
commit 2fd8f5f6f7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 25 additions and 14 deletions

39
tnc.py
View File

@ -19,10 +19,19 @@ import arq
class TCPRequestHandler(socketserver.BaseRequestHandler):
def handle(self):
self.data = bytes()
while True:
chunk = self.request.recv(8192)#.strip()
if chunk.endswith(b'\n'):
break
self.data += chunk
# self.request is the TCP socket connected to the client
self.data = self.request.recv(1024).strip()
#self.data = self.request.recv(1024).strip()
### self.data = self.request.recv(1000000).strip()
# interrupt listening loop "while true" by setting MODEM_RECEIVE to False
#if len(self.data) > 0:
@ -37,29 +46,31 @@ class TCPRequestHandler(socketserver.BaseRequestHandler):
#if self.data == b'TEST':
#logging.info("DER TEST KLAPPT! HIER KOMMT DER COMMAND PARSER HIN!")
if self.data.startswith(b'SHOWBUFFERSIZE'):
self.request.sendall(bytes(static.RX_BUFFER[-1]))
print(static.RX_BUFFER_SIZE)
# BROADCAST PARSER -----------------------------------------------------------
if self.data.startswith(b'BC:'):
#import modem
#modem = modem.RF()
static.MODEM_RECEIVE = True ####### FALSE....
data = self.data.split(b'BC:')
#modem.Transmit(data[1])
static.MODEM_RECEIVE = True
# SEND AN ARQ FRAME -----------------------------------------------------------
if self.data.startswith(b'ACK:'):
static.MODEM_RECEIVE = True ############## FALSE
if self.data.startswith(b'ARQ:'):
data = self.data.split(b'ACK:')
data = self.data.split(b'ARQ:')
data_out = data[1]
arq.transmit(data_out)
#arq.transmit(data_out)
TRANSMIT_ARQ = threading.Thread(target=arq.transmit, args=[data_out], name="TRANSMIT_ARQ")
TRANSMIT_ARQ.start()