-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathchasse_ft857d.py
executable file
·72 lines (61 loc) · 1.92 KB
/
chasse_ft857d.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#!/usr/bin/python3
# coding: utf-8
import morse
import sys
import time
from datetime import datetime, timedelta
from signal import signal, SIGINT
import Hamlib
Hamlib.rig_set_debug(Hamlib.RIG_DEBUG_NONE)
ft857d = Hamlib.Rig(Hamlib.RIG_MODEL_FT857)
ft857d.set_conf("rig_pathname", "/dev/ttyUSB0")
HUNT_TIME = timedelta(hours=3) #Temps en heures de duree de la chasse.
TXTIME = timedelta(seconds=30) #Temps de transmission, prevoir le temps du SSID.
DELAY = timedelta(minutes=3) #Temps de pause entre les transmissions.
SSID = "Chasse de VE2TMQ"
TXmsg = "MOE"
def handler(signal_received, frame):
#Arreter le transmetteur
ft857d.set_ptt(1, 0)
ft857d.close()
print('SIGINT or CTRL-C detected. Exiting gracefully')
sys.exit(1)
#################################################################################
def main():
ft857d.open()
END_TIME = datetime.now() + HUNT_TIME
WARN = morse.morse('VVV', 750, 25)
ID = morse.morse(SSID, 1000, 35)
TXmo = morse.morse(TXmsg, 750, 8)
SK = morse.morse(SSID + " SK", 1000, 35)
while(datetime.now() < END_TIME):
timeout = datetime.now() + TXTIME
print(datetime.now())
print("TX on")
#Activer le transmetteur
mode = ft857d.get_mode()
ft857d.set_mode(2048, 0)
ft857d.set_ptt(1, 1)
try:
WARN.play()
ID.play()
while(datetime.now() < timeout):
time.sleep(2)
TXmo.play()
SK.play()
except:
pass
print("TX off")
#Arreter le transmetteur
ft857d.set_ptt(1, 0)
ft857d.set_mode(mode[0], mode[1])
now = datetime.now()
nexttime = now + DELAY
print(now)
print("Next TX:", nexttime)
time.sleep(DELAY.total_seconds())
ft857d.close()
###############################################
if __name__ == '__main__':
signal(SIGINT, handler)
main()