cleanup & optimized data/cmd socket

This commit is contained in:
DJ2LS 2021-02-16 14:36:01 +01:00 committed by GitHub
parent a5d0e6e608
commit 4e3d2cc158
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 39 additions and 27 deletions

View file

@ -259,17 +259,16 @@ class RF():
stuck_in_sync_10_counter += 1
#print(stuck_in_sync_counter)
#if stuck_in_sync_counter == 33 and self.c_lib.freedv_get_rx_status(freedv_data) == 10:
# print("stuck in sync #1 --> DOING UNSYNC")
# self.c_lib.freedv_set_sync(freedv_data, 0) #FORCE UNSYNC
# stuck_in_sync_counter = 0
# stuck_in_sync_10_counter = 0
# data_in = None
if stuck_in_sync_counter == 33 and self.c_lib.freedv_get_rx_status(freedv_data) == 10:
logging.critical("stuck in sync #1")
self.c_lib.freedv_set_sync(freedv_data, 0) #FORCE UNSYNC
stuck_in_sync_counter = 0
stuck_in_sync_10_counter = 0
data_in = None
if stuck_in_sync_counter >= 66 and stuck_in_sync_10_counter >= 2:
logging.critical("modem stuck in sync")
logging.critical("stuck in sync #2")
self.c_lib.freedv_set_sync(freedv_data, 0) #FORCE UNSYNC
stuck_in_sync_counter = 0
stuck_in_sync_10_counter = 0

41
sock.py
View file

@ -25,6 +25,15 @@ class DATATCPRequestHandler(socketserver.BaseRequestHandler):
if chunk.endswith(b'\n'):
break
# SEND AN ARQ FRAME -------------------------
if self.data.startswith(b'ARQ:'):
data = self.data.split(b'ARQ:')
data_out = data[1]
TRANSMIT_ARQ = threading.Thread(target=arq.transmit, args=[data_out], name="TRANSMIT_ARQ")
TRANSMIT_ARQ.start()
class CMDTCPRequestHandler(socketserver.BaseRequestHandler):
@ -61,24 +70,28 @@ class CMDTCPRequestHandler(socketserver.BaseRequestHandler):
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()
data = self.data.split(b'BC:')
#modem.Transmit(data[1])
# SEND AN ARQ FRAME -----------------------------------------------------------
def start_cmd_socket():
if self.data.startswith(b'ARQ:'):
try:
logging.info("SRV | STARTING TCP/IP SOCKET FOR CMD ON PORT: " + str(static.PORT))
socketserver.TCPServer.allow_reuse_address = True #https://stackoverflow.com/a/16641793
cmdserver = socketserver.TCPServer((static.HOST, static.PORT), CMDTCPRequestHandler)
cmdserver.serve_forever()
data = self.data.split(b'ARQ:')
data_out = data[1]
finally:
cmdserver.server_close()
TRANSMIT_ARQ = threading.Thread(target=arq.transmit, args=[data_out], name="TRANSMIT_ARQ")
TRANSMIT_ARQ.start()
def start_data_socket():
try:
logging.info("SRV | STARTING TCP/IP SOCKET FOR DATA ON PORT: " + str(static.PORT + 1))
socketserver.TCPServer.allow_reuse_address = True #https://stackoverflow.com/a/16641793
dataserver = socketserver.TCPServer((static.HOST, static.PORT + 1), DATATCPRequestHandler)
dataserver.serve_forever()
finally:
dataserver.server_close()