forked from jks-prv/kiwiclient
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile
223 lines (168 loc) · 6.09 KB
/
Makefile
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
#
# Example uses of kiwirecorder.py and kiwifax.py
#
# set global environment variables KIWI_HOST / KIWI_PORT to the location of the Kiwi you want to work with
ifeq ($(KIWI_HOST)x,x)
HOST = kiwisdr.local
PORT = 8073
else
HOST = $(KIWI_HOST)
PORT = $(KIWI_PORT)
endif
HP = -s $(HOST) -p $(PORT)
H2P = -s $(HOST),$(HOST) -p $(PORT)
H8 = -s $(HOST),$(HOST),$(HOST),$(HOST),$(HOST),$(HOST),$(HOST),$(HOST) -p $(PORT)
F = -f 1440
F_PB = $F -L -5000 -H 5000
# process control help
UNAME = $(shell uname)
ifeq ($(UNAME),Darwin)
# on OS X (Darwin) there is no "interactive mode" for killall command, so use 'kp' BEFORE 'kill' to check
kp:
killall -d -KILL Python
kill:
# killall -v -KILL Python
killall -v Python
else
kp kill:
killall -r -i -s KILL Python
endif
ps:
ps ax | grep -i kiwirecorder
# record WSPR audio to file
#
# "-f" frequency is dial frequency, i.e. WSPR center frequency minus passband center (BFO)
# e.g. 40m: cf = 7040.1, so if pb center = 750 then dial = 7040.1 - 0.750 = 7039.35
# NB: most WSPR programs use a pb center of 1500 Hz, not 750 which we use because we think it's easier to listen to
wspr:
python kiwirecorder.py $(HP) --filename=wspr_40m -f 7039.35 --user=WSPR_40m -m iq -L 600 -H 900 --tlimit=110 --log_level=debug
# multiple connections
wspr2:
python kiwirecorder.py $(HP2) --filename=wspr_40m,wspr_30m -f 7039.35,10139.45 --user=WSPR_40m,WSPR_30m -m iq -L 600 -H 900 --tlimit=110
# DRM
# IQ and 10 kHz passband required
FREQ_DRM = 3965
drm:
python kiwirecorder.py $(HP) -f $(FREQ_DRM) -m iq -L -5000 -H 5000
# FAX
# has both real and IQ mode decoding
# UK
#FREQ_FAX = 2618.5
#FREQ_FAX = 7880
# Australia
FREQ_FAX = 16135
fax:
python kiwifax.py $(HP) -f $(FREQ_FAX) -F
faxiq:
python kiwifax.py $(HP) -f $(FREQ_FAX) -F --iq-stream
# Two separate IQ files recording in parallel
HOST_IQ1 = fenu-radio.ddns.net
HOST_IQ2 = southwest.ddns.net
two:
python kiwirecorder.py -s $(HOST_IQ1),$(HOST_IQ2) -p ($PORT) -f 77.5,60 --station=DCF77,MSF -m iq -L -5000 -H 5000
# real mode (non-IQ) file
# Should playback using standard .wav file player
real:
python kiwirecorder.py $(HP) $(F_PB) --tlimit=10
resample:
python kiwirecorder.py $(HP) $(F_PB) -r 6000 --tlimit=10
resample_iq:
python kiwirecorder.py $(HP) $(F_PB) -r 6000 -m iq --tlimit=10
ncomp:
python kiwirecorder.py $(HP) $(F_PB) --ncomp
rx8:
# python kiwirecorder.py $(H8) $(F_PB) --launch-delay=15 --socket-timeout=120 -u krec-RX8
python kiwirecorder.py $(H8) $(F_PB) -u krec-RX8
nb:
python kiwirecorder.py $(HP) $F -m usb --tlimit=10 --nb --nb-gate=200 --nb-th=40
# S-meter
s_meter:
sm:
python kiwirecorder.py $(HP) $(F_PB) --s-meter=10
python kiwirecorder.py $(HP) $(F_PB) --s-meter=10 -m iq
s_meter_timed:
smt:
python kiwirecorder.py $(HP) $(F_PB) --s-meter=10 --stats
python kiwirecorder.py $(HP) $(F_PB) --s-meter=10 --ncomp --stats
python kiwirecorder.py $(HP) $(F_PB) --s-meter=10 -m iq --stats
s_meter_stream:
sms:
python kiwirecorder.py $(HP) $(F_PB) --s-meter=0 --tlimit=5
s_meter_stream_timed:
smst:
python kiwirecorder.py $(HP) $(F_PB) --s-meter=0 --tlimit=5 --stats
python kiwirecorder.py $(HP) $(F_PB) --s-meter=0 --tlimit=5 --ncomp --stats
python kiwirecorder.py $(HP) $(F_PB) --s-meter=0 --tlimit=5 -m iq --stats
# TDoA debugging
tdoa:
python -u kiwirecorder.py $(HP) $(F_PB) -m iq --kiwi-wav --kiwi-tdoa --tlimit=30 -u krec-TDoA
# test reported problem situations
T_MODE = -m usb --ncomp # "no compression" mode used by wsprdaemon.sh
#T_MODE = -m iq
T_PARAMS = -q --log-level=info $(HP) -u test -f 28124.6 $M -L 1200 -H 1700 --test-mode $(T_MODE)
slots6:
python kiwirecorder.py --station=1 $(T_PARAMS) &
python kiwirecorder.py --station=2 $(T_PARAMS) &
python kiwirecorder.py --station=3 $(T_PARAMS) &
python kiwirecorder.py --station=4 $(T_PARAMS) &
python kiwirecorder.py --station=5 $(T_PARAMS) &
python kiwirecorder.py --station=6 $(T_PARAMS) &
slots8:
python kiwirecorder.py --station=1 $(T_PARAMS) &
python kiwirecorder.py --station=2 $(T_PARAMS) &
python kiwirecorder.py --station=3 $(T_PARAMS) &
python kiwirecorder.py --station=4 $(T_PARAMS) &
python kiwirecorder.py --station=5 $(T_PARAMS) &
python kiwirecorder.py --station=6 $(T_PARAMS) &
python kiwirecorder.py --station=7 $(T_PARAMS) &
python kiwirecorder.py --station=8 $(T_PARAMS) &
slots14:
python kiwirecorder.py --station=1 $(T_PARAMS) &
python kiwirecorder.py --station=2 $(T_PARAMS) &
python kiwirecorder.py --station=3 $(T_PARAMS) &
python kiwirecorder.py --station=4 $(T_PARAMS) &
python kiwirecorder.py --station=5 $(T_PARAMS) &
python kiwirecorder.py --station=6 $(T_PARAMS) &
python kiwirecorder.py --station=7 $(T_PARAMS) &
python kiwirecorder.py --station=8 $(T_PARAMS) &
python kiwirecorder.py --station=9 $(T_PARAMS) &
python kiwirecorder.py --station=10 $(T_PARAMS) &
python kiwirecorder.py --station=11 $(T_PARAMS) &
python kiwirecorder.py --station=12 $(T_PARAMS) &
python kiwirecorder.py --station=13 $(T_PARAMS) &
python kiwirecorder.py --station=14 $(T_PARAMS) &
slots2:
python kiwirecorder.py --station=1 $(T_PARAMS) &
python kiwirecorder.py --station=2 $(T_PARAMS) &
no_api:
python kiwirecorder.py $(HP) --no-api
no_api_user:
python kiwirecorder.py $(HP) --no-api --user=no_api_test
# IQ file with GPS timestamps
gps:
python kiwirecorder.py $(HP) -f 77.5 --station=DCF77 --kiwi-wav --log_level info -m iq -L -5000 -H 5000
gps2:
python kiwirecorder.py $(HP) $F --kiwi-wav -m iq -L -5000 -H 5000
# IQ file without GPS timestamps
# Should playback using standard .wav file player
iq:
python kiwirecorder.py $(HP) $F -m iq --tlimit=10
# process waterfall data
wf:
python kiwirecorder.py --wf $(HP) -f 10000 -z 4 --log_level info -u krec-WF --tlimit=2
micro:
python microkiwi_waterfall.py $(HP) -z 0 -o 0
# stream a Kiwi connection in a "netcat" style fashion
nc:
python kiwi_nc.py $(HP) $(F_PB) -m am --progress
tun:
mkfifo /tmp/si /tmp/so
nc -l localhost 1234 >/tmp/si </tmp/so &
ssh -f -4 -p 1234 -L 2345:localhost:8073 root@$(HOST) sleep 600 &
python kiwi_nc.py $(HP) --log debug --admin </tmp/si >/tmp/so
help h:
python kiwirecorder.py --help
clean:
-rm -f *.log *.wav *.png
clean_dist: clean
-rm -f *.pyc */*.pyc