Fri Dec 21 00:22:01 2018
options
author
Handiko
window_size
category
[GRC Hier Blocks]
comment
description
www.github.com/handiko/gr-APRS
_enabled
True
_coordinate
(8, 8)
_rotation
0
generate_options
qt_gui
hier_block_src_path
.:
id
APRS_RX_RTL
max_nouts
0
qt_qss_theme
realtime_scheduling
run_command
{python} -u {filename}
run_options
prompt
run
True
sizing_mode
fixed
thread_safe_setters
title
APRS - With RTL-SDR dongle
placement
(0,0)
variable_qtgui_range
comment
value
-7
_enabled
1
_coordinate
(128, 324)
gui_hint
2,1,1,1
_rotation
0
id
afgain
label
AF Gain (dB)
min_len
100
orient
Qt.Horizontal
start
-20
step
0.1
stop
-1
rangeType
float
widget
counter_slider
variable
comment
_enabled
True
_coordinate
(621, 4)
_rotation
0
id
baud
value
1200
variable
comment
_enabled
1
_coordinate
(538, 5)
_rotation
0
id
bb_rate
value
192e3
variable
comment
_enabled
1
_coordinate
(461, 6)
_rotation
0
id
ch_rate
value
48e3
variable
comment
_enabled
1
_coordinate
(376, 7)
_rotation
0
id
dev_ppm
value
65
variable
comment
_enabled
1
_coordinate
(276, 6)
_rotation
0
id
freq
value
144.660e6
variable
comment
_enabled
True
_coordinate
(909, 4)
_rotation
0
id
gmu
value
0.175
variable
comment
_enabled
True
_coordinate
(692, 4)
_rotation
0
id
mark
value
1200
variable
comment
_enabled
True
_coordinate
(833, 4)
_rotation
0
id
mu
value
0.5
variable_qtgui_range
comment
value
25
_enabled
True
_coordinate
(13, 323)
gui_hint
2,0,1,1
_rotation
0
id
rfgain
label
RF Gain (dB)
min_len
100
orient
Qt.Horizontal
start
0
step
1
stop
49
rangeType
float
widget
counter_slider
variable
comment
_enabled
True
_coordinate
(185, 7)
_rotation
0
id
samp_rate
value
2.4e6
variable
comment
_enabled
True
_coordinate
(762, 4)
_rotation
0
id
space
value
2400
APRS_Rx
baud
baud
alias
comment
affinity
_enabled
True
_coordinate
(864, 124)
_rotation
0
gmu
gmu
id
APRS_Rx_0
mark
mark
maxoutbuf
0
minoutbuf
0
mu
mu
samp_rate
ch_rate
space
space
analog_quadrature_demod_cf
alias
comment
affinity
_enabled
1
_coordinate
(456, 100)
_rotation
0
gain
ch_rate/(2*math.pi*12e3/8.0)
id
analog_quadrature_demod_cf_0
maxoutbuf
0
minoutbuf
0
audio_sink
alias
comment
affinity
device_name
_enabled
1
_coordinate
(720, 76)
_rotation
0
id
audio_sink_0
num_inputs
1
ok_to_block
True
samp_rate
48000
blocks_message_debug
alias
comment
affinity
_enabled
True
_coordinate
(1130, 337)
_rotation
0
id
blocks_message_debug_0
blocks_rotator_cc
alias
comment
affinity
_enabled
True
_coordinate
(264, 196)
_rotation
0
id
blocks_rotator_cc_0
maxoutbuf
0
minoutbuf
0
phase_inc
0
blocks_socket_pdu
alias
comment
affinity
_enabled
True
_coordinate
(1140, 238)
_rotation
0
host
id
blocks_socket_pdu_0
mtu
10000
maxoutbuf
0
minoutbuf
0
port
52001
tcp_no_delay
False
type
"TCP_SERVER"
epy_block
alias
_io_cache
('HDLC to AX.25', 'blk', [], [('hdlc in', 'message', 1)], [('ax25 out', 'message', 1)], '\n Converts an array of bytes into a AX25Packet object.\n\n Connect to the "HDLC Deframer", or a block which emits a PMT tuple of\n (None, bytearray)\n ', [])
_source_code
"""
Embedded Python Blocks:
Each time this file is saved, GRC will instantiate the first class it finds
to get ports and parameters of your block. The arguments to __init__ will
be the parameters. All of them are required to have default values!
"""
import os, pty
import struct
import pmt
import numpy as np
from gnuradio import gr
import packet
class blk(gr.sync_block): # other base classes are basic_block, decim_block, interp_block
"""
Converts an array of bytes into a AX25Packet object.
Connect to the "HDLC Deframer", or a block which emits a PMT tuple of
(None, bytearray)
"""
def __init__(self):
gr.sync_block.__init__(self,
name="HDLC to AX.25",
in_sig=None,
out_sig=None)
self.message_port_register_in(pmt.intern('hdlc in'))
self.message_port_register_out(pmt.intern('ax25 out'))
self.set_msg_handler(pmt.intern('hdlc in'), self.handle_msg)
def handle_msg(self, msg_pmt):
msg_pmt = pmt.pmt_to_python.pmt_to_python(msg_pmt)
msg = bytearray(msg_pmt[1])
try:
pkt = packet.from_bytes(msg)
self.message_port_pub(pmt.intern('ax25 out'), pmt.cons(pmt.make_dict(), pmt.pmt_to_python.numpy_to_uvector(np.array([ord(c) for c in (packet.dump(pkt) + '\n')], np.uint8))))
except ValueError as e:
print e
def stop(self):
gr.sync_block.stop(self)
def work(self, input_items, output_items):
in0 = input_items[0]
# <+signal processing here+>
return len(input_items[0])
comment
Pyhton module which required
to run this script (gr-APRS/Module/packet.py)
need to be copied to the
/usr/lib/python2.7 directory
_enabled
True
_coordinate
(1032, 64)
_rotation
0
id
epy_block_0
fft_filter_xxx
alias
comment
affinity
decim
1
_enabled
1
_coordinate
(616, 156)
_rotation
0
id
fft_filter_xxx_1
maxoutbuf
0
minoutbuf
0
nthreads
1
samp_delay
0
taps
firdes.band_pass(1,ch_rate,400,5e3,400,firdes.WIN_BLACKMAN)
type
fff
import
alias
comment
_enabled
True
_coordinate
(993, 5)
_rotation
0
id
import_0
import
import math
pfb_decimator_ccf
alias
comment
affinity
decim
int(samp_rate / bb_rate)
_enabled
True
_coordinate
(256, 268)
_rotation
0
id
pfb_decimator_ccf_0
maxoutbuf
0
minoutbuf
0
channel
0
samp_delay
0
atten
100
taps
fft_filts
True
fft_rot
True
pfb_decimator_ccf
alias
comment
affinity
decim
int(samp_rate / ch_rate)
_enabled
True
_coordinate
(240, 76)
_rotation
0
id
pfb_decimator_ccf_0_0
maxoutbuf
0
minoutbuf
0
channel
0
samp_delay
0
atten
100
taps
fft_filts
True
fft_rot
True
qtgui_freq_sink_x
autoscale
False
average
0.2
axislabels
True
bw
192e3
alias
fc
freq
comment
ctrlpanel
False
affinity
_enabled
1
fftsize
2048
_coordinate
(432, 364)
gui_hint
0,0,1,2
_rotation
0
grid
True
id
qtgui_freq_sink_x_0
legend
False
alpha1
0.8
color1
"blue"
label1
width1
2
alpha10
1.0
color10
"dark blue"
label10
width10
1
alpha2
1.0
color2
"red"
label2
width2
1
alpha3
1.0
color3
"green"
label3
width3
1
alpha4
1.0
color4
"black"
label4
width4
1
alpha5
1.0
color5
"cyan"
label5
width5
1
alpha6
1.0
color6
"magenta"
label6
width6
1
alpha7
1.0
color7
"yellow"
label7
width7
1
alpha8
1.0
color8
"dark red"
label8
width8
1
alpha9
1.0
color9
"dark green"
label9
width9
1
maxoutbuf
0
minoutbuf
0
name
RF Spectrum
nconnections
1
showports
True
freqhalf
True
tr_chan
0
tr_level
0.0
tr_mode
qtgui.TRIG_MODE_FREE
tr_tag
""
type
complex
update_time
0.10
wintype
firdes.WIN_BLACKMAN_hARRIS
label
Relative Gain
ymax
-10
ymin
-120
units
dB
qtgui_freq_sink_x
autoscale
False
average
0.2
axislabels
True
bw
8e3
alias
fc
0
comment
ctrlpanel
False
affinity
_enabled
1
fftsize
1024
_coordinate
(880, 364)
gui_hint
1,2,2,1
_rotation
0
grid
True
id
qtgui_freq_sink_x_0_0
legend
False
alpha1
0.8
color1
"blue"
label1
width1
2
alpha10
1.0
color10
"dark blue"
label10
width10
1
alpha2
1.0
color2
"red"
label2
width2
1
alpha3
1.0
color3
"green"
label3
width3
1
alpha4
1.0
color4
"black"
label4
width4
1
alpha5
1.0
color5
"cyan"
label5
width5
1
alpha6
1.0
color6
"magenta"
label6
width6
1
alpha7
1.0
color7
"yellow"
label7
width7
1
alpha8
1.0
color8
"dark red"
label8
width8
1
alpha9
1.0
color9
"dark green"
label9
width9
1
maxoutbuf
0
minoutbuf
0
name
AF Spectrum
nconnections
1
showports
True
freqhalf
False
tr_chan
0
tr_level
0.0
tr_mode
qtgui.TRIG_MODE_FREE
tr_tag
""
type
float
update_time
0.10
wintype
firdes.WIN_BLACKMAN_hARRIS
label
Relative Gain
ymax
20
ymin
-80
units
dB
qtgui_time_sink_x
autoscale
False
axislabels
True
alias
comment
ctrlpanel
False
affinity
entags
True
_enabled
True
_coordinate
(888, 268)
gui_hint
1,0,1,2
_rotation
0
grid
True
id
qtgui_time_sink_x_0
legend
False
alpha1
1.0
color1
"blue"
label1
marker1
-1
style1
1
width1
2
alpha10
1.0
color10
"blue"
label10
marker10
-1
style10
1
width10
1
alpha2
1.0
color2
"red"
label2
marker2
-1
style2
1
width2
1
alpha3
1.0
color3
"green"
label3
marker3
-1
style3
1
width3
1
alpha4
1.0
color4
"black"
label4
marker4
-1
style4
1
width4
1
alpha5
1.0
color5
"cyan"
label5
marker5
-1
style5
1
width5
1
alpha6
1.0
color6
"magenta"
label6
marker6
-1
style6
1
width6
1
alpha7
1.0
color7
"yellow"
label7
marker7
-1
style7
1
width7
1
alpha8
1.0
color8
"dark red"
label8
marker8
-1
style8
1
width8
1
alpha9
1.0
color9
"dark green"
label9
marker9
-1
style9
1
width9
1
name
Clock Recovery
nconnections
1
size
256
srate
1200
stemplot
False
tr_chan
0
tr_delay
0
tr_level
0.0
tr_mode
qtgui.TRIG_MODE_FREE
tr_slope
qtgui.TRIG_SLOPE_POS
tr_tag
""
type
float
update_time
0.10
ylabel
Amplitude
yunit
""
ymax
2.1
ymin
-2.1
qtgui_waterfall_sink_x
axislabels
True
bw
192e3
alias
fc
0
comment
affinity
_enabled
1
fftsize
4096/2
_coordinate
(488, 260)
gui_hint
0,2,1,1
_rotation
0
grid
False
id
qtgui_waterfall_sink_x_0
int_max
-20
int_min
-105
legend
False
alpha1
1.0
color1
6
label1
alpha10
1.0
color10
0
label10
alpha2
1.0
color2
0
label2
alpha3
1.0
color3
0
label3
alpha4
1.0
color4
0
label4
alpha5
1.0
color5
0
label5
alpha6
1.0
color6
0
label6
alpha7
1.0
color7
0
label7
alpha8
1.0
color8
0
label8
alpha9
1.0
color9
0
label9
maxoutbuf
0
minoutbuf
0
name
RF Spectrum
nconnections
1
showports
True
freqhalf
True
type
complex
update_time
0.10
wintype
firdes.WIN_BLACKMAN_hARRIS
rational_resampler_xxx
alias
comment
affinity
decim
int(ch_rate)
_enabled
True
fbw
0
_coordinate
(688, 364)
_rotation
0
id
rational_resampler_xxx_0
interp
8000
maxoutbuf
0
minoutbuf
0
taps
type
fff
rtlsdr_source
alias
ant0
bb_gain0
20
bw0
samp_rate
dc_offset_mode0
0
corr0
dev_ppm
freq0
freq
gain_mode0
False
if_gain0
20
iq_balance_mode0
0
gain0
49
ant10
bb_gain10
20
bw10
0
dc_offset_mode10
0
corr10
0
freq10
100e6
gain_mode10
False
if_gain10
20
iq_balance_mode10
0
gain10
10
ant11
bb_gain11
20
bw11
0
dc_offset_mode11
0
corr11
0
freq11
100e6
gain_mode11
False
if_gain11
20
iq_balance_mode11
0
gain11
10
ant12
bb_gain12
20
bw12
0
dc_offset_mode12
0
corr12
0
freq12
100e6
gain_mode12
False
if_gain12
20
iq_balance_mode12
0
gain12
10
ant13
bb_gain13
20
bw13
0
dc_offset_mode13
0
corr13
0
freq13
100e6
gain_mode13
False
if_gain13
20
iq_balance_mode13
0
gain13
10
ant14
bb_gain14
20
bw14
0
dc_offset_mode14
0
corr14
0
freq14
100e6
gain_mode14
False
if_gain14
20
iq_balance_mode14
0
gain14
10
ant15
bb_gain15
20
bw15
0
dc_offset_mode15
0
corr15
0
freq15
100e6
gain_mode15
False
if_gain15
20
iq_balance_mode15
0
gain15
10
ant16
bb_gain16
20
bw16
0
dc_offset_mode16
0
corr16
0
freq16
100e6
gain_mode16
False
if_gain16
20
iq_balance_mode16
0
gain16
10
ant17
bb_gain17
20
bw17
0
dc_offset_mode17
0
corr17
0
freq17
100e6
gain_mode17
False
if_gain17
20
iq_balance_mode17
0
gain17
10
ant18
bb_gain18
20
bw18
0
dc_offset_mode18
0
corr18
0
freq18
100e6
gain_mode18
False
if_gain18
20
iq_balance_mode18
0
gain18
10
ant19
bb_gain19
20
bw19
0
dc_offset_mode19
0
corr19
0
freq19
100e6
gain_mode19
False
if_gain19
20
iq_balance_mode19
0
gain19
10
ant1
bb_gain1
20
bw1
0
dc_offset_mode1
0
corr1
0
freq1
100e6
gain_mode1
False
if_gain1
20
iq_balance_mode1
0
gain1
10
ant20
bb_gain20
20
bw20
0
dc_offset_mode20
0
corr20
0
freq20
100e6
gain_mode20
False
if_gain20
20
iq_balance_mode20
0
gain20
10
ant21
bb_gain21
20
bw21
0
dc_offset_mode21
0
corr21
0
freq21
100e6
gain_mode21
False
if_gain21
20
iq_balance_mode21
0
gain21
10
ant22
bb_gain22
20
bw22
0
dc_offset_mode22
0
corr22
0
freq22
100e6
gain_mode22
False
if_gain22
20
iq_balance_mode22
0
gain22
10
ant23
bb_gain23
20
bw23
0
dc_offset_mode23
0
corr23
0
freq23
100e6
gain_mode23
False
if_gain23
20
iq_balance_mode23
0
gain23
10
ant24
bb_gain24
20
bw24
0
dc_offset_mode24
0
corr24
0
freq24
100e6
gain_mode24
False
if_gain24
20
iq_balance_mode24
0
gain24
10
ant25
bb_gain25
20
bw25
0
dc_offset_mode25
0
corr25
0
freq25
100e6
gain_mode25
False
if_gain25
20
iq_balance_mode25
0
gain25
10
ant26
bb_gain26
20
bw26
0
dc_offset_mode26
0
corr26
0
freq26
100e6
gain_mode26
False
if_gain26
20
iq_balance_mode26
0
gain26
10
ant27
bb_gain27
20
bw27
0
dc_offset_mode27
0
corr27
0
freq27
100e6
gain_mode27
False
if_gain27
20
iq_balance_mode27
0
gain27
10
ant28
bb_gain28
20
bw28
0
dc_offset_mode28
0
corr28
0
freq28
100e6
gain_mode28
False
if_gain28
20
iq_balance_mode28
0
gain28
10
ant29
bb_gain29
20
bw29
0
dc_offset_mode29
0
corr29
0
freq29
100e6
gain_mode29
False
if_gain29
20
iq_balance_mode29
0
gain29
10
ant2
bb_gain2
20
bw2
0
dc_offset_mode2
0
corr2
0
freq2
100e6
gain_mode2
False
if_gain2
20
iq_balance_mode2
0
gain2
10
ant30
bb_gain30
20
bw30
0
dc_offset_mode30
0
corr30
0
freq30
100e6
gain_mode30
False
if_gain30
20
iq_balance_mode30
0
gain30
10
ant31
bb_gain31
20
bw31
0
dc_offset_mode31
0
corr31
0
freq31
100e6
gain_mode31
False
if_gain31
20
iq_balance_mode31
0
gain31
10
ant3
bb_gain3
20
bw3
0
dc_offset_mode3
0
corr3
0
freq3
100e6
gain_mode3
False
if_gain3
20
iq_balance_mode3
0
gain3
10
ant4
bb_gain4
20
bw4
0
dc_offset_mode4
0
corr4
0
freq4
100e6
gain_mode4
False
if_gain4
20
iq_balance_mode4
0
gain4
10
ant5
bb_gain5
20
bw5
0
dc_offset_mode5
0
corr5
0
freq5
100e6
gain_mode5
False
if_gain5
20
iq_balance_mode5
0
gain5
10
ant6
bb_gain6
20
bw6
0
dc_offset_mode6
0
corr6
0
freq6
100e6
gain_mode6
False
if_gain6
20
iq_balance_mode6
0
gain6
10
ant7
bb_gain7
20
bw7
0
dc_offset_mode7
0
corr7
0
freq7
100e6
gain_mode7
False
if_gain7
20
iq_balance_mode7
0
gain7
10
ant8
bb_gain8
20
bw8
0
dc_offset_mode8
0
corr8
0
freq8
100e6
gain_mode8
False
if_gain8
20
iq_balance_mode8
0
gain8
10
ant9
bb_gain9
20
bw9
0
dc_offset_mode9
0
corr9
0
freq9
100e6
gain_mode9
False
if_gain9
20
iq_balance_mode9
0
gain9
10
comment
affinity
args
_enabled
True
_coordinate
(8, 124)
_rotation
0
id
rtlsdr_source_0
maxoutbuf
0
clock_source0
time_source0
clock_source1
time_source1
clock_source2
time_source2
clock_source3
time_source3
clock_source4
time_source4
clock_source5
time_source5
clock_source6
time_source6
clock_source7
time_source7
minoutbuf
0
nchan
1
num_mboards
1
type
fc32
sample_rate
samp_rate
sync
APRS_Rx_0
qtgui_time_sink_x_0
0
0
APRS_Rx_0
epy_block_0
HDLC
hdlc in
analog_quadrature_demod_cf_0
fft_filter_xxx_1
0
0
blocks_rotator_cc_0
pfb_decimator_ccf_0
0
0
blocks_rotator_cc_0
pfb_decimator_ccf_0_0
0
0
epy_block_0
blocks_message_debug_0
ax25 out
print
epy_block_0
blocks_socket_pdu_0
ax25 out
pdus
fft_filter_xxx_1
APRS_Rx_0
0
0
fft_filter_xxx_1
audio_sink_0
0
0
fft_filter_xxx_1
rational_resampler_xxx_0
0
0
pfb_decimator_ccf_0
qtgui_freq_sink_x_0
0
0
pfb_decimator_ccf_0
qtgui_waterfall_sink_x_0
0
0
pfb_decimator_ccf_0_0
analog_quadrature_demod_cf_0
0
0
rational_resampler_xxx_0
qtgui_freq_sink_x_0_0
0
0
rtlsdr_source_0
blocks_rotator_cc_0
0
0