attempt using lzma instead of zlib

This commit is contained in:
DJ2LS 2022-12-12 15:02:57 +01:00
parent 6e3edb5b30
commit 819832127e

View file

@ -12,7 +12,7 @@ import sys
import threading import threading
import time import time
import uuid import uuid
import zlib import lzma
from random import randrange# , randbytes from random import randrange# , randbytes
import codec2 import codec2
@ -802,7 +802,7 @@ class DATA:
self.log.info("[TNC] ARQ | RX | DATA FRAME SUCCESSFULLY RECEIVED") self.log.info("[TNC] ARQ | RX | DATA FRAME SUCCESSFULLY RECEIVED")
# Decompress the data frame # Decompress the data frame
data_frame_decompressed = zlib.decompress(data_frame) data_frame_decompressed = lzma.decompress(data_frame)
static.ARQ_COMPRESSION_FACTOR = len(data_frame_decompressed) / len( static.ARQ_COMPRESSION_FACTOR = len(data_frame_decompressed) / len(
data_frame data_frame
) )
@ -961,7 +961,7 @@ class DATA:
) )
# Compress data frame # Compress data frame
data_frame_compressed = zlib.compress(data_out) data_frame_compressed = lzma.compress(data_out)
compression_factor = len(data_out) / len(data_frame_compressed) compression_factor = len(data_out) / len(data_frame_compressed)
static.ARQ_COMPRESSION_FACTOR = np.clip(compression_factor, 0, 255) static.ARQ_COMPRESSION_FACTOR = np.clip(compression_factor, 0, 255)
compression_factor = bytes([int(static.ARQ_COMPRESSION_FACTOR * 10)]) compression_factor = bytes([int(static.ARQ_COMPRESSION_FACTOR * 10)])
@ -1797,7 +1797,7 @@ class DATA:
# we need to compress data for getting a compression factor. # we need to compress data for getting a compression factor.
# so we are compressing twice. This is not that nice and maybe there is another way # so we are compressing twice. This is not that nice and maybe there is another way
# for calculating transmission statistics # for calculating transmission statistics
# static.ARQ_COMPRESSION_FACTOR = len(data_out) / len(zlib.compress(data_out)) # static.ARQ_COMPRESSION_FACTOR = len(data_out) / len(lzma.compress(data_out))
# Let's check if we have a busy channel and if we are not in a running arq session. # Let's check if we have a busy channel and if we are not in a running arq session.
if static.CHANNEL_BUSY and not static.ARQ_SESSION: if static.CHANNEL_BUSY and not static.ARQ_SESSION: