From 19c87b04f0afb4c63c4ef6045eb10bf07aee0999 Mon Sep 17 00:00:00 2001 From: Alan Johnston Date: Sun, 30 Jun 2024 12:34:23 -0400 Subject: [PATCH] Create squelch_cc.py code moved from spitx.py --- squelch_cc.py | 165 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 165 insertions(+) create mode 100644 squelch_cc.py diff --git a/squelch_cc.py b/squelch_cc.py new file mode 100644 index 00000000..4a28f8c8 --- /dev/null +++ b/squelch_cc.py @@ -0,0 +1,165 @@ +import RPi.GPIO as GPIO +from RPi.GPIO import output + +def command_control_check(): + +# global command_control +# global no_command +# global debug_mode + command_count = 0 + +# output(pd, 1) +# output(ptt, 1) +# sleep(1) +# if (no_command == False and GPIO.input(squelch) == False): + if GPIO.input(squelch) == False: + print("carrier received!") + # command_tx = not command_tx +# print(command_tx) + + try: + file = open("/home/pi/CubeSatSim/command_count.txt", "r") + string = file.read() + file.close() + command_count = int(string) + command_count += 1 + filec = open("/home/pi/CubeSatSim/command_count.txt", "w") + command_count_string = str(command_count) + print(command_count_string) + string = filec.write(command_count_string) + filec.close() + except: + print("Can't write command_count file!") + print("Command_count: ") + print(command_count) + + increment_mode() + +# if (command_tx == True): +# print("Turning on transmit") +# system("echo > command_tx True") +# output(txLed, txLedOn) +# sleep(0.5) +# output(txLed, txLedff) +# else: +# print("Turning off transmit") +# system("echo > command_tx False") + else: + print("No carrier received!") +# output(pd, 0) +# sleep(1) + +def increment_mode(): + print("increment mode") + powerPin = 16 + try: + file = open("/home/pi/CubeSatSim/.mode") + mode = file.read(1) + except: +# mode = "f" + if (debug_mode == 1): + print("Can't open .mode file") # , defaulting to FSK") + file.close() + print("Mode is: ") + print(mode) + if (mode == 'a'): + mode = 'f' + GPIO.output(powerPin, 0) # blink two times + sleep(0.1) + GPIO.output(powerPin, 1) + sleep(0.1) + GPIO.output(powerPin, 0) + sleep(0.1) + GPIO.output(powerPin, 1) + sleep(2.5) + + elif (mode == 'f'): + mode = 'b' + GPIO.output(powerPin, 0) # blink three times + sleep(0.1) + GPIO.output(powerPin, 1) + sleep(0.1) + GPIO.output(powerPin, 0) + sleep(0.1) + GPIO.output(powerPin, 1) + sleep(0.1) + GPIO.output(powerPin, 0) + sleep(0.1) + GPIO.output(powerPin, 1) + sleep(2.5) + + elif (mode == 'b'): + mode = 's' + GPIO.output(powerPin, 0) # blink four times + sleep(0.1) + GPIO.output(powerPin, 1) + sleep(0.1) + GPIO.output(powerPin, 0) + sleep(0.1) + GPIO.output(powerPin, 1) + sleep(0.1) + GPIO.output(powerPin, 0) + sleep(0.1) + GPIO.output(powerPin, 1) + sleep(0.1) + GPIO.output(powerPin, 0) + sleep(0.1) + GPIO.output(powerPin, 1) + sleep(2.5) + + elif (mode == 's'): + mode = 'm' + GPIO.output(powerPin, 0) # blink five times + sleep(0.1) + GPIO.output(powerPin, 1) + sleep(0.1) + GPIO.output(powerPin, 0) + sleep(0.1) + GPIO.output(powerPin, 1) + sleep(0.1) + GPIO.output(powerPin, 0) + sleep(0.1); + GPIO.output(powerPin, 1) + sleep(0.1) + GPIO.output(powerPin, 0) + sleep(0.1) + GPIO.output(powerPin, 1) + sleep(0.1) + GPIO.output(powerPin, 0) + sleep(0.1) + GPIO.output(powerPin, 1) + sleep(2.5) + else: + mode = 'a' + GPIO.output(powerPin, 0) # blink one time + sleep(0.1) + GPIO.output(powerPin, 1) + sleep(2.5) + + try: + file = open("/home/pi/CubeSatSim/.mode", "w") + count_string = str(command_count) + file.write(mode) + file.close() + print(".mode file written") + + GPIO.setwarnings(False) + GPIO.output(txLed, 0) + GPIO.output(powerPin, 0) + print("sudo reboot -h now") + GPIO.setwarnings(False) + GPIO.setup(powerPin, GPIO.OUT) + GPIO.output(powerPin, 0); +# system("reboot -h now") +# release = True; + + print("Changing mode now") +# system("/home/pi/CubeSatSim/config -" + mode) + system("reboot -h now") + + sleep(10); + except: + print("can't write to .mode file") + +while True: + command_control_check()