From 0643660580d0e559b221fed6c2ea0a259d81cf4d Mon Sep 17 00:00:00 2001 From: Corey Shields Date: Fri, 6 Oct 2017 16:53:15 -0400 Subject: [PATCH] change settings to parameters This change sets all of the expected parameters to the g3ruh script. Without it, satnogsclient will send it paremeters that it does not understand, causing it to exit out. --- apps/flowgraphs/fsk9600_g3ruh_ax25.grc | 300 ++++++++++++++++-- apps/flowgraphs/satnogs_fsk9600_g3ruh_ax25.py | 86 ++++- 2 files changed, 352 insertions(+), 34 deletions(-) diff --git a/apps/flowgraphs/fsk9600_g3ruh_ax25.grc b/apps/flowgraphs/fsk9600_g3ruh_ax25.grc index ac1c213..c8a9165 100644 --- a/apps/flowgraphs/fsk9600_g3ruh_ax25.grc +++ b/apps/flowgraphs/fsk9600_g3ruh_ax25.grc @@ -95,7 +95,7 @@ SDR received samples _coordinate - (911, 1034) + (1128, 948) _rotation @@ -122,7 +122,7 @@ SDR received samples _coordinate - (743, 971) + (960, 884) _rotation @@ -149,7 +149,7 @@ SDR received samples _coordinate - (823, 1034) + (1040, 948) _rotation @@ -176,7 +176,7 @@ SDR received samples _coordinate - (743, 1034) + (960, 948) _rotation @@ -203,7 +203,7 @@ SDR received samples _coordinate - (1014, 971) + (1232, 884) _rotation @@ -230,7 +230,7 @@ SDR received samples _coordinate - (1014, 1034) + (1232, 948) _rotation @@ -258,7 +258,7 @@ TX sampling rate _coordinate - (743, 843) + (960, 756) _rotation @@ -332,7 +332,7 @@ TX sampling rate _coordinate - (863, 971) + (1080, 876) _rotation @@ -390,6 +390,92 @@ TX sampling rate 0 + + parameter + + alias + + + + comment + + + + _enabled + True + + + _coordinate + (376, 1116) + + + _rotation + 0 + + + id + antenna + + + label + + + + short_id + + + + type + string + + + value + + + + + parameter + + alias + + + + comment + + + + _enabled + True + + + _coordinate + (224, 1104) + + + _rotation + 0 + + + id + bb_gain + + + label + + + + short_id + + + + type + eng_float + + + value + satnogs.not_set_rx_bb_gain + + rational_resampler_xxx @@ -543,6 +629,49 @@ TX sampling rate /tmp/.satnogs/data/data + + parameter + + alias + + + + comment + + + + _enabled + True + + + _coordinate + (744, 992) + + + _rotation + 0 + + + id + dev_args + + + label + + + + short_id + + + + type + string + + + value + satnogs.not_set_dev_args + + digital_binary_slicer_fb @@ -755,7 +884,7 @@ TX sampling rate _coordinate - (1110, 843) + (512, 1112) _rotation @@ -798,7 +927,7 @@ TX sampling rate _coordinate - (743, 755) + (272, 1216) _rotation @@ -884,6 +1013,92 @@ TX sampling rate ccc + + parameter + + alias + + + + comment + + + + _enabled + True + + + _coordinate + (144, 1104) + + + _rotation + 0 + + + id + if_gain + + + label + + + + short_id + + + + type + eng_float + + + value + satnogs.not_set_rx_if_gain + + + + parameter + + alias + + + + comment + + + + _enabled + True + + + _coordinate + (720, 1112) + + + _rotation + 0 + + + id + iq_file_path + + + label + + + + short_id + + + + type + string + + + value + /tmp/iq.dat + + parameter @@ -901,7 +1116,7 @@ we shift the LO a little further _coordinate - (863, 843) + (432, 1224) _rotation @@ -1011,11 +1226,11 @@ we shift the LO a little further ant0 - satnogs.hw_rx_settings[rx_sdr_device]['antenna'] + antenna bb_gain0 - satnogs.hw_rx_settings[rx_sdr_device]['bb_gain'] + bb_gain bw0 @@ -1039,7 +1254,7 @@ we shift the LO a little further if_gain0 - satnogs.hw_rx_settings[rx_sdr_device]['if_gain'] + if_gain iq_balance_mode0 @@ -1047,7 +1262,7 @@ we shift the LO a little further gain0 - satnogs.hw_rx_settings[rx_sdr_device]['rf_gain'] + rf_gain ant10 @@ -2299,7 +2514,7 @@ we shift the LO a little further args - satnogs.hw_rx_settings[rx_sdr_device]['dev_arg'] + dev_args _enabled @@ -2426,7 +2641,7 @@ we shift the LO a little further _coordinate - (975, 755) + (568, 1224) _rotation @@ -2469,7 +2684,50 @@ we shift the LO a little further _coordinate - (1054, 755) + (72, 1104) + + + _rotation + 0 + + + id + rf_gain + + + label + + + + short_id + + + + type + eng_float + + + value + satnogs.not_set_rx_rf_gain + + + + parameter + + alias + + + + comment + + + + _enabled + True + + + _coordinate + (600, 984) _rotation @@ -2512,7 +2770,7 @@ we shift the LO a little further _coordinate - (959, 843) + (464, 992) _rotation @@ -2872,7 +3130,7 @@ we shift the LO a little further filename - /tmp/iq.bin + iq_file_path _coordinate @@ -3068,7 +3326,7 @@ we shift the LO a little further _coordinate - (839, 755) + (56, 1216) _rotation diff --git a/apps/flowgraphs/satnogs_fsk9600_g3ruh_ax25.py b/apps/flowgraphs/satnogs_fsk9600_g3ruh_ax25.py index e44b410..740cf4d 100755 --- a/apps/flowgraphs/satnogs_fsk9600_g3ruh_ax25.py +++ b/apps/flowgraphs/satnogs_fsk9600_g3ruh_ax25.py @@ -5,7 +5,7 @@ # Title: FSK9600 AX.25 decoder with G3RUH support # Author: Manolis Surligas (surligas@gmail.com) # Description: FSK9600 AX.25 decoder with G3RUH support -# Generated: Sun Sep 24 11:56:08 2017 +# Generated: Fri Oct 6 16:51:49 2017 ################################################## from gnuradio import analog @@ -24,7 +24,7 @@ import time class satnogs_fsk9600_g3ruh_ax25(gr.top_block): - def __init__(self, decoded_data_file_path='/tmp/.satnogs/data/data', doppler_correction_per_sec=1000, enable_iq_dump=0, file_path='test.wav', lo_offset=100e3, ppm=0, rigctl_port=4532, rx_freq=100e6, rx_sdr_device='usrpb200', waterfall_file_path='/tmp/waterfall.dat'): + def __init__(self, decoded_data_file_path='/tmp/.satnogs/data/data', doppler_correction_per_sec=1000, enable_iq_dump=0, file_path='test.wav', lo_offset=100e3, ppm=0, rigctl_port=4532, rx_freq=100e6, rx_sdr_device='usrpb200', waterfall_file_path='/tmp/waterfall.dat', rf_gain=satnogs.not_set_rx_rf_gain, if_gain=satnogs.not_set_rx_if_gain, bb_gain=satnogs.not_set_rx_bb_gain, antenna='', dev_args=satnogs.not_set_dev_args, iq_file_path='/tmp/iq.dat'): gr.top_block.__init__(self, "FSK9600 AX.25 decoder with G3RUH support") ################################################## @@ -40,6 +40,12 @@ class satnogs_fsk9600_g3ruh_ax25(gr.top_block): self.rx_freq = rx_freq self.rx_sdr_device = rx_sdr_device self.waterfall_file_path = waterfall_file_path + self.rf_gain = rf_gain + self.if_gain = if_gain + self.bb_gain = bb_gain + self.antenna = antenna + self.dev_args = dev_args + self.iq_file_path = iq_file_path ################################################## # Variables @@ -62,24 +68,24 @@ class satnogs_fsk9600_g3ruh_ax25(gr.top_block): self.satnogs_waterfall_sink_0 = satnogs.waterfall_sink(audio_samp_rate, 0.0, 8, 1024, waterfall_file_path, 1) self.satnogs_tcp_rigctl_msg_source_0 = satnogs.tcp_rigctl_msg_source("127.0.0.1", rigctl_port, False, 1000, 1500) self.satnogs_ogg_encoder_0 = satnogs.ogg_encoder(file_path, audio_samp_rate, 1.0) - self.satnogs_iq_sink_0 = satnogs.iq_sink(16768, '/tmp/iq.bin', False, enable_iq_dump) + self.satnogs_iq_sink_0 = satnogs.iq_sink(16768, iq_file_path, False, enable_iq_dump) self.satnogs_frame_file_sink_0_1_0 = satnogs.frame_file_sink(decoded_data_file_path, 1) self.satnogs_frame_file_sink_0_1 = satnogs.frame_file_sink('/tmp/fsk9600_crc_failed', 1) self.satnogs_frame_file_sink_0_0 = satnogs.frame_file_sink(decoded_data_file_path, 0) self.satnogs_frame_file_sink_0 = satnogs.frame_file_sink('/tmp/fsk9600_crc_failed', 0) self.satnogs_coarse_doppler_correction_cc_0 = satnogs.coarse_doppler_correction_cc(rx_freq, samp_rate_rx) self.satnogs_ax25_decoder_bm_0 = satnogs.ax25_decoder_bm('GND', 0, True, True, 1024, 3) - self.osmosdr_source_0 = osmosdr.source( args="numchan=" + str(1) + " " + satnogs.hw_rx_settings[rx_sdr_device]['dev_arg'] ) + self.osmosdr_source_0 = osmosdr.source( args="numchan=" + str(1) + " " + dev_args ) self.osmosdr_source_0.set_sample_rate(samp_rate_rx) self.osmosdr_source_0.set_center_freq(rx_freq - lo_offset, 0) self.osmosdr_source_0.set_freq_corr(ppm, 0) self.osmosdr_source_0.set_dc_offset_mode(2, 0) self.osmosdr_source_0.set_iq_balance_mode(0, 0) self.osmosdr_source_0.set_gain_mode(False, 0) - self.osmosdr_source_0.set_gain(satnogs.hw_rx_settings[rx_sdr_device]['rf_gain'], 0) - self.osmosdr_source_0.set_if_gain(satnogs.hw_rx_settings[rx_sdr_device]['if_gain'], 0) - self.osmosdr_source_0.set_bb_gain(satnogs.hw_rx_settings[rx_sdr_device]['bb_gain'], 0) - self.osmosdr_source_0.set_antenna(satnogs.hw_rx_settings[rx_sdr_device]['antenna'], 0) + self.osmosdr_source_0.set_gain(rf_gain, 0) + self.osmosdr_source_0.set_if_gain(if_gain, 0) + self.osmosdr_source_0.set_bb_gain(bb_gain, 0) + self.osmosdr_source_0.set_antenna(antenna, 0) self.osmosdr_source_0.set_bandwidth(samp_rate_rx, 0) self.low_pass_filter_0 = filter.fir_filter_fff(1, firdes.low_pass( @@ -178,10 +184,6 @@ class satnogs_fsk9600_g3ruh_ax25(gr.top_block): def set_rx_sdr_device(self, rx_sdr_device): self.rx_sdr_device = rx_sdr_device self.set_samp_rate_rx(satnogs.hw_rx_settings[self.rx_sdr_device]['samp_rate']) - self.osmosdr_source_0.set_gain(satnogs.hw_rx_settings[self.rx_sdr_device]['rf_gain'], 0) - self.osmosdr_source_0.set_if_gain(satnogs.hw_rx_settings[self.rx_sdr_device]['if_gain'], 0) - self.osmosdr_source_0.set_bb_gain(satnogs.hw_rx_settings[self.rx_sdr_device]['bb_gain'], 0) - self.osmosdr_source_0.set_antenna(satnogs.hw_rx_settings[self.rx_sdr_device]['antenna'], 0) self.set_audio_gain(satnogs.fm_demod_settings[self.rx_sdr_device]['audio_gain']) def get_waterfall_file_path(self): @@ -190,6 +192,46 @@ class satnogs_fsk9600_g3ruh_ax25(gr.top_block): def set_waterfall_file_path(self, waterfall_file_path): self.waterfall_file_path = waterfall_file_path + def get_rf_gain(self): + return self.rf_gain + + def set_rf_gain(self, rf_gain): + self.rf_gain = rf_gain + self.osmosdr_source_0.set_gain(self.rf_gain, 0) + + def get_if_gain(self): + return self.if_gain + + def set_if_gain(self, if_gain): + self.if_gain = if_gain + self.osmosdr_source_0.set_if_gain(self.if_gain, 0) + + def get_bb_gain(self): + return self.bb_gain + + def set_bb_gain(self, bb_gain): + self.bb_gain = bb_gain + self.osmosdr_source_0.set_bb_gain(self.bb_gain, 0) + + def get_antenna(self): + return self.antenna + + def set_antenna(self, antenna): + self.antenna = antenna + self.osmosdr_source_0.set_antenna(self.antenna, 0) + + def get_dev_args(self): + return self.dev_args + + def set_dev_args(self, dev_args): + self.dev_args = dev_args + + def get_iq_file_path(self): + return self.iq_file_path + + def set_iq_file_path(self, iq_file_path): + self.iq_file_path = iq_file_path + def get_samp_rate_rx(self): return self.samp_rate_rx @@ -288,6 +330,24 @@ def argument_parser(): parser.add_option( "", "--waterfall-file-path", dest="waterfall_file_path", type="string", default='/tmp/waterfall.dat', help="Set waterfall_file_path [default=%default]") + parser.add_option( + "", "--rf-gain", dest="rf_gain", type="eng_float", default=eng_notation.num_to_str(satnogs.not_set_rx_rf_gain), + help="Set rf_gain [default=%default]") + parser.add_option( + "", "--if-gain", dest="if_gain", type="eng_float", default=eng_notation.num_to_str(satnogs.not_set_rx_if_gain), + help="Set if_gain [default=%default]") + parser.add_option( + "", "--bb-gain", dest="bb_gain", type="eng_float", default=eng_notation.num_to_str(satnogs.not_set_rx_bb_gain), + help="Set bb_gain [default=%default]") + parser.add_option( + "", "--antenna", dest="antenna", type="string", default='', + help="Set antenna [default=%default]") + parser.add_option( + "", "--dev-args", dest="dev_args", type="string", default=satnogs.not_set_dev_args, + help="Set dev_args [default=%default]") + parser.add_option( + "", "--iq-file-path", dest="iq_file_path", type="string", default='/tmp/iq.dat', + help="Set iq_file_path [default=%default]") return parser @@ -295,7 +355,7 @@ def main(top_block_cls=satnogs_fsk9600_g3ruh_ax25, options=None): if options is None: options, _ = argument_parser().parse_args() - tb = top_block_cls(decoded_data_file_path=options.decoded_data_file_path, doppler_correction_per_sec=options.doppler_correction_per_sec, enable_iq_dump=options.enable_iq_dump, file_path=options.file_path, lo_offset=options.lo_offset, ppm=options.ppm, rigctl_port=options.rigctl_port, rx_freq=options.rx_freq, rx_sdr_device=options.rx_sdr_device, waterfall_file_path=options.waterfall_file_path) + tb = top_block_cls(decoded_data_file_path=options.decoded_data_file_path, doppler_correction_per_sec=options.doppler_correction_per_sec, enable_iq_dump=options.enable_iq_dump, file_path=options.file_path, lo_offset=options.lo_offset, ppm=options.ppm, rigctl_port=options.rigctl_port, rx_freq=options.rx_freq, rx_sdr_device=options.rx_sdr_device, waterfall_file_path=options.waterfall_file_path, rf_gain=options.rf_gain, if_gain=options.if_gain, bb_gain=options.bb_gain, antenna=options.antenna, dev_args=options.dev_args, iq_file_path=options.iq_file_path) tb.start() tb.wait()