#!/usr/bin/env python import asyncio from time import sleep import framing # from header import Onbeat_Header import json PACKET_LEN=255*4 + 32 DATA_LEN=223*4 HEADER_LEN=32 async def tcp_client(file_2_send: str, callsign: str, rs_coding: bool = True): port = 50001 _, writer = await asyncio.open_connection( '127.0.0.1', port) with open(file_2_send, "rb") as file_to_send: seq = 0 sent: list[list[int]] = [] try: while message := file_to_send.read(DATA_LEN if rs_coding == True else (PACKET_LEN - HEADER_LEN)): sent.append([i for i in message]) frame = bytes(framing.encode_packet([i for i in message], callsign, seq%256, rs_coding)) writer.write(frame) seq += 1 print(seq) sleep(0.01) else: frame = bytes(framing.encode_packet([], callsign, seq%256, rs_coding)) for _ in range(0,4): writer.write(frame) sleep(0.01) sent.append([]) except KeyboardInterrupt: return sent rs_coding = True filename = "/home/lacko/live_output/2025-11-01_12-39_elektro_lrit_1.691 GHz/IMAGES/ELEKTRO-L3/2025-11-01_12-30-00/msu_gs_Color IR Merge.png" sent = asyncio.run(tcp_client(filename, "HA5PLS", rs_coding)) with open("packets.json", mode="w") as packetfile: json.dump(sent, packetfile)