Added SACCH channel and blocks for SDCCH8/SACCH8 channels that are disabled currently
This commit is contained in:
parent
0b926a9627
commit
c184823aea
File diff suppressed because it is too large
Load Diff
|
@ -2,7 +2,7 @@
|
|||
##################################################
|
||||
# Gnuradio Python Flow Graph
|
||||
# Title: Airprobe Rtlsdr
|
||||
# Generated: Sat Feb 7 19:30:54 2015
|
||||
# Generated: Sun Feb 15 11:35:00 2015
|
||||
##################################################
|
||||
|
||||
from PyQt4 import Qt
|
||||
|
@ -25,7 +25,7 @@ import time
|
|||
from distutils.version import StrictVersion
|
||||
class airprobe_rtlsdr(gr.top_block, Qt.QWidget):
|
||||
|
||||
def __init__(self, ppm=0, fc=939.4e6, gain=30, samp_rate=2000000.052982):
|
||||
def __init__(self, fc=939.4e6, gain=30, samp_rate=2000000.052982, ppm=0):
|
||||
gr.top_block.__init__(self, "Airprobe Rtlsdr")
|
||||
Qt.QWidget.__init__(self)
|
||||
self.setWindowTitle("Airprobe Rtlsdr")
|
||||
|
@ -52,10 +52,10 @@ class airprobe_rtlsdr(gr.top_block, Qt.QWidget):
|
|||
##################################################
|
||||
# Parameters
|
||||
##################################################
|
||||
self.ppm = ppm
|
||||
self.fc = fc
|
||||
self.gain = gain
|
||||
self.samp_rate = samp_rate
|
||||
self.ppm = ppm
|
||||
|
||||
##################################################
|
||||
# Variables
|
||||
|
@ -64,6 +64,7 @@ class airprobe_rtlsdr(gr.top_block, Qt.QWidget):
|
|||
self.g_slider = g_slider = gain
|
||||
self.fc_slider = fc_slider = fc
|
||||
self.SDCCH = SDCCH = 6
|
||||
self.SACCH = SACCH = 0x80
|
||||
self.RACH = RACH = 3
|
||||
self.PCH = PCH = 5
|
||||
self.CHANNEL_UNKNOWN = CHANNEL_UNKNOWN = 0
|
||||
|
@ -170,36 +171,33 @@ class airprobe_rtlsdr(gr.top_block, Qt.QWidget):
|
|||
##################################################
|
||||
# Connections
|
||||
##################################################
|
||||
self.msg_connect(self.gsm_clock_offset_control_0, 'ppm', self.gsm_input_0, 'ppm_in')
|
||||
self.msg_connect(self.gsm_control_channels_decoder_0, 'msgs', self.blocks_socket_pdu_0, 'pdus')
|
||||
self.msg_connect(self.gsm_control_channels_decoder_0, 'msgs', self.gsm_message_printer_1, 'msgs')
|
||||
self.msg_connect(self.gsm_receiver_0, 'measurements', self.gsm_clock_offset_control_0, 'measurements')
|
||||
self.msg_connect(self.gsm_receiver_0, 'C0', self.gsm_universal_ctrl_chans_demapper_0, 'bursts')
|
||||
self.msg_connect(self.gsm_universal_ctrl_chans_demapper_0, 'bursts', self.gsm_control_channels_decoder_0, 'bursts')
|
||||
self.connect((self.gsm_input_0, 0), (self.gsm_receiver_0, 0))
|
||||
self.connect((self.rtlsdr_source_0, 0), (self.gsm_input_0, 0))
|
||||
self.connect((self.rtlsdr_source_0, 0), (self.qtgui_freq_sink_x_0, 0))
|
||||
self.connect((self.gsm_input_0, 0), (self.gsm_receiver_0, 0))
|
||||
self.connect((self.rtlsdr_source_0, 0), (self.gsm_input_0, 0))
|
||||
self.connect((self.rtlsdr_source_0, 0), (self.qtgui_freq_sink_x_0, 0))
|
||||
|
||||
##################################################
|
||||
# Message Connections
|
||||
##################################################
|
||||
self.msg_connect(self.gsm_receiver_0, "C0", self.gsm_universal_ctrl_chans_demapper_0, "bursts")
|
||||
self.msg_connect(self.gsm_clock_offset_control_0, "ppm", self.gsm_input_0, "ppm_in")
|
||||
self.msg_connect(self.gsm_control_channels_decoder_0, "msgs", self.gsm_message_printer_1, "msgs")
|
||||
self.msg_connect(self.gsm_universal_ctrl_chans_demapper_0, "bursts", self.gsm_control_channels_decoder_0, "bursts")
|
||||
self.msg_connect(self.gsm_control_channels_decoder_0, "msgs", self.blocks_socket_pdu_0, "pdus")
|
||||
self.msg_connect(self.gsm_receiver_0, "measurements", self.gsm_clock_offset_control_0, "measurements")
|
||||
|
||||
def closeEvent(self, event):
|
||||
self.settings = Qt.QSettings("GNU Radio", "airprobe_rtlsdr")
|
||||
self.settings.setValue("geometry", self.saveGeometry())
|
||||
event.accept()
|
||||
|
||||
def get_ppm(self):
|
||||
return self.ppm
|
||||
|
||||
def set_ppm(self, ppm):
|
||||
self.ppm = ppm
|
||||
self.set_ppm_slider(self.ppm)
|
||||
|
||||
def get_fc(self):
|
||||
return self.fc
|
||||
|
||||
def set_fc(self, fc):
|
||||
self.fc = fc
|
||||
self.gsm_input_0.set_fc(self.fc)
|
||||
self.qtgui_freq_sink_x_0.set_frequency_range(self.fc, self.samp_rate)
|
||||
self.set_fc_slider(self.fc)
|
||||
self.qtgui_freq_sink_x_0.set_frequency_range(self.fc, self.samp_rate)
|
||||
|
||||
def get_gain(self):
|
||||
return self.gain
|
||||
|
@ -214,8 +212,15 @@ class airprobe_rtlsdr(gr.top_block, Qt.QWidget):
|
|||
def set_samp_rate(self, samp_rate):
|
||||
self.samp_rate = samp_rate
|
||||
self.gsm_input_0.set_samp_rate_in(self.samp_rate)
|
||||
self.qtgui_freq_sink_x_0.set_frequency_range(self.fc, self.samp_rate)
|
||||
self.rtlsdr_source_0.set_sample_rate(self.samp_rate)
|
||||
self.qtgui_freq_sink_x_0.set_frequency_range(self.fc, self.samp_rate)
|
||||
|
||||
def get_ppm(self):
|
||||
return self.ppm
|
||||
|
||||
def set_ppm(self, ppm):
|
||||
self.ppm = ppm
|
||||
self.set_ppm_slider(self.ppm)
|
||||
|
||||
def get_ppm_slider(self):
|
||||
return self.ppm_slider
|
||||
|
@ -248,6 +253,12 @@ class airprobe_rtlsdr(gr.top_block, Qt.QWidget):
|
|||
def set_SDCCH(self, SDCCH):
|
||||
self.SDCCH = SDCCH
|
||||
|
||||
def get_SACCH(self):
|
||||
return self.SACCH
|
||||
|
||||
def set_SACCH(self, SACCH):
|
||||
self.SACCH = SACCH
|
||||
|
||||
def get_RACH(self):
|
||||
return self.RACH
|
||||
|
||||
|
@ -294,19 +305,19 @@ if __name__ == '__main__':
|
|||
except:
|
||||
print "Warning: failed to XInitThreads()"
|
||||
parser = OptionParser(option_class=eng_option, usage="%prog: [options]")
|
||||
parser.add_option("-p", "--ppm", dest="ppm", type="intx", default=0,
|
||||
help="Set ppm [default=%default]")
|
||||
parser.add_option("-f", "--fc", dest="fc", type="eng_float", default=eng_notation.num_to_str(939.4e6),
|
||||
help="Set fc [default=%default]")
|
||||
parser.add_option("-g", "--gain", dest="gain", type="eng_float", default=eng_notation.num_to_str(30),
|
||||
help="Set gain [default=%default]")
|
||||
parser.add_option("-s", "--samp-rate", dest="samp_rate", type="eng_float", default=eng_notation.num_to_str(2000000.052982),
|
||||
help="Set samp_rate [default=%default]")
|
||||
parser.add_option("-p", "--ppm", dest="ppm", type="intx", default=0,
|
||||
help="Set ppm [default=%default]")
|
||||
(options, args) = parser.parse_args()
|
||||
if(StrictVersion(Qt.qVersion()) >= StrictVersion("4.5.0")):
|
||||
Qt.QApplication.setGraphicsSystem(gr.prefs().get_string('qtgui','style','raster'))
|
||||
qapp = Qt.QApplication(sys.argv)
|
||||
tb = airprobe_rtlsdr(ppm=options.ppm, fc=options.fc, gain=options.gain, samp_rate=options.samp_rate)
|
||||
tb = airprobe_rtlsdr(fc=options.fc, gain=options.gain, samp_rate=options.samp_rate, ppm=options.ppm)
|
||||
tb.start()
|
||||
tb.show()
|
||||
def quitting():
|
||||
|
|
Loading…
Reference in New Issue