diff --git a/dtmf_aprs_cc.py b/dtmf_aprs_cc.py index c402eed8..8bd638ee 100644 --- a/dtmf_aprs_cc.py +++ b/dtmf_aprs_cc.py @@ -12,7 +12,7 @@ if __name__ == "__main__": txLed = 27 change_mode = False debug_mode = False - counter = 0 + counter = 1 if (len(sys.argv)) > 1: # print("There are arguments!") if ('d' == sys.argv[1]): @@ -26,46 +26,58 @@ if __name__ == "__main__": # if '^c' == line.rstrip(): # break - if ((line.find("MODE=a")) > 0) or ((line.find("DTMF>APDW15:t1#")) > 0): + if ((line.find("MODE=a")) > 0): system("echo '\nAPRS Mode!!\n'") mode = 'a' change_mode = True - if ((line.find("MODE=f")) > 0) or ((line.find("DTMF>APDW15:t2#")) > 0): + counter = (counter + 1) % 2 + if ((line.find("DTMF>APDW15:t1#")) > 0): + system("echo '\nAPRS Mode!!\n'") + mode = 'a' + change_mode = True + if ((line.find("MODE=f")) > 0): + system("echo '\nFSK Mode!!\n'") + mode = 'f' + change_mode = True + counter = (counter + 1) % 2 + if ((line.find("DTMF>APDW15:t2#")) > 0): system("echo '\nFSK Mode!!\n'") mode = 'f' change_mode = True - if ((line.find("MODE=b")) > 0) or ((line.find("DTMF>APDW15:t3#")) > 0): + if ((line.find("MODE=b")) > 0): + system("echo '\nBPSK Mode!!\n'") + mode = 'b' + change_mode = True + counter = (counter + 1) % 2 + if ((line.find("DTMF>APDW15:t3#")) > 0): system("echo '\nBPSK Mode!!\n'") mode = 'b' change_mode = True - if ((line.find("MODE=s")) > 0) or ((line.find("DTMF>APDW15:t4#")) > 0): + if ((line.find("MODE=s")) > 0): + system("echo '\nSSTV Mode!!\n'") + mode = 's' + change_mode = True + counter = (counter + 1) % 2 + if ((line.find("DTMF>APDW15:t4#")) > 0): system("echo '\nSSTV Mode!!\n'") mode = 's' change_mode = True - if ((line.find("MODE=m")) > 0) or ((line.find("DTMF>APDW15:t5#")) > 0): + if ((line.find("MODE=m")) > 0): system("echo '\nCW Mode!!\n'") mode = 'm' change_mode = True - if ((line.find("MODE=o")) > 0) or ((line.find("DTMF>APDW15:t10#")) > 0): + counter = (counter + 1) % 2 + if ((line.find("MODE=o")) > 0): system("echo '\nBeacon Mode toggle!!\n'") mode = 'o' change_mode = True -# try: -# fm = open("/home/pi/CubeSatSim/beacon_off") -# fm.close() -# system("echo 'Beacon is off, turning it ON'") -# system("sudo rm /home/pi/CubeSatSim/beacon_off > /dev/null 2>&1") -# except: -# system("echo 'Beacon is on, turning it OFF'") -# system("touch /home/pi/CubeSatSim/beacon_off") -# -# system("echo 'Restarting rpitx'") -# system("sudo systemctl restart rpitx") -## system("echo 'Resuming rpitx'") -## system("sudo python3 -u /home/pi/CubeSatSim/rpitx.py s & > /dev/null 2>&1") -# change_mode = False - counter = (counter + 1) % 2 - if (debug_mode == False) and (change_mode == True) and (counter == 1): # skip every other command since Direwolf prints them twice + counter = (counter + 1) % 2 + if ((line.find("DTMF>APDW15:t10#")) > 0): + system("echo '\nBeacon Mode toggle!!\n'") + mode = 'o' + change_mode = True + + if (debug_mode == False) and (change_mode == True) and (counter == 1): # skip every other APRS command since Direwolf prints them twice GPIO.setmode(GPIO.BCM) GPIO.setwarnings(False) GPIO.setup(powerPin, GPIO.OUT)