Files
Discord-Radio-Bot/gqrxHandler.py
2022-01-04 00:35:28 -05:00

44 lines
1.4 KiB
Python

from telnetlib import Telnet
from BotResources import check_negative
class GQRXHandler():
def __init__(self, hostname: str = "localhost", port: int = 7356):
self.hostname = hostname
self.port = port
self.telnet_connection = None
def create_telnet_connection(self):
print("Creating connection")
tel_conn = Telnet(self.hostname, self.port)
tel_conn.open(self.hostname, self.port)
return tel_conn
def change_freq(self, freq):
tel_conn = self.create_telnet_connection()
print(f"Changing freq to {freq}")
tel_conn.write(bytes(f"F {int(freq)}", 'utf-8'))
tel_conn.close()
def change_squelch(self, squelch):
tel_conn = self.create_telnet_connection()
print(f"Changing squelch to {squelch}")
print(f"Squelch = {squelch}")
if not check_negative(squelch):
squelch = float(-abs(squelch))
print(f"Squelch = {squelch}")
tel_conn.write(bytes(f"L SQL {float(squelch)}", 'utf-8'))
tel_conn.close()
def change_mode(self, mode):
tel_conn = self.create_telnet_connection()
print(f"Changing mode to {mode}")
tel_conn.write(bytes(f"M {str(mode)}", 'utf-8'))
tel_conn.close()
def set_all_settings(self, mode, squelch, freq):
self.change_mode(mode)
self.change_freq(freq)
self.change_squelch(squelch)