Update apps and regression tests

pull/61/head
Pieter Robyns 2017-07-28 10:56:25 +02:00
rodzic 80902dacca
commit 5c9393f2d1
4 zmienionych plików z 20 dodań i 21 usunięć

Wyświetl plik

@ -40,7 +40,7 @@ class LoRaReceiveAll:
self.tb = gr.top_block () self.tb = gr.top_block ()
self.source = receiver self.source = receiver
self.lora_lora_receiver_0 = lora.lora_receiver(self.samp_rate, self.capture_freq, self.offset, self.sf, self.samp_rate, self.threshold) self.lora_lora_receiver_0 = lora.lora_receiver(self.samp_rate, self.capture_freq, ([868.1e6]), self.sf, self.samp_rate, self.threshold)
self.blocks_throttle_0 = blocks.throttle(gr.sizeof_gr_complex*1, self.samp_rate, True) self.blocks_throttle_0 = blocks.throttle(gr.sizeof_gr_complex*1, self.samp_rate, True)
self.freq_xlating_fir_filter_0 = filter.freq_xlating_fir_filter_ccc(1, (firdes.low_pass(1, self.samp_rate, 200000, 50000)), self.center_offset, self.samp_rate) self.freq_xlating_fir_filter_0 = filter.freq_xlating_fir_filter_ccc(1, (firdes.low_pass(1, self.samp_rate, 200000, 50000)), self.center_offset, self.samp_rate)

Wyświetl plik

@ -3,7 +3,7 @@
################################################## ##################################################
# GNU Radio Python Flow Graph # GNU Radio Python Flow Graph
# Title: Lora Receive File # Title: Lora Receive File
# Generated: Thu Mar 30 15:01:18 2017 # Generated: Fri Jul 28 10:52:21 2017
################################################## ##################################################
if __name__ == '__main__': if __name__ == '__main__':
@ -69,7 +69,7 @@ class lora_receive_file(grc_wxgui.top_block_gui):
peak_hold=False, peak_hold=False,
) )
self.Add(self.wxgui_fftsink2_1.win) self.Add(self.wxgui_fftsink2_1.win)
self.lora_lora_receiver_0 = lora.lora_receiver(samp_rate, capture_freq, offset, 7, 1000000, 0.01) self.lora_lora_receiver_0 = lora.lora_receiver(samp_rate, 868e6, ([868.1e6]), 7, 1000000, 0.01)
_finetune_sizer = wx.BoxSizer(wx.VERTICAL) _finetune_sizer = wx.BoxSizer(wx.VERTICAL)
self._finetune_text_box = forms.text_box( self._finetune_text_box = forms.text_box(
parent=self.GetWin(), parent=self.GetWin(),
@ -132,8 +132,8 @@ class lora_receive_file(grc_wxgui.top_block_gui):
def set_capture_freq(self, capture_freq): def set_capture_freq(self, capture_freq):
self.capture_freq = capture_freq self.capture_freq = capture_freq
self.set_offset(-(self.capture_freq - self.target_freq))
self.wxgui_fftsink2_1.set_baseband_freq(self.capture_freq) self.wxgui_fftsink2_1.set_baseband_freq(self.capture_freq)
self.set_offset(-(self.capture_freq - self.target_freq))
def get_bw(self): def get_bw(self):
return self.bw return self.bw
@ -155,7 +155,6 @@ class lora_receive_file(grc_wxgui.top_block_gui):
def set_offset(self, offset): def set_offset(self, offset):
self.offset = offset self.offset = offset
self.lora_lora_receiver_0.set_offset(self.offset)
def get_firdes_tap(self): def get_firdes_tap(self):
return self.firdes_tap return self.firdes_tap

Wyświetl plik

@ -3,7 +3,7 @@
################################################## ##################################################
# GNU Radio Python Flow Graph # GNU Radio Python Flow Graph
# Title: Lora Receive Realtime # Title: Lora Receive Realtime
# Generated: Thu Mar 30 15:01:26 2017 # Generated: Fri Jul 28 10:53:04 2017
################################################## ##################################################
if __name__ == '__main__': if __name__ == '__main__':
@ -81,7 +81,7 @@ class lora_receive_realtime(grc_wxgui.top_block_gui):
self.uhd_usrp_source_0.set_center_freq(capture_freq, 0) self.uhd_usrp_source_0.set_center_freq(capture_freq, 0)
self.uhd_usrp_source_0.set_gain(15, 0) self.uhd_usrp_source_0.set_gain(15, 0)
self.uhd_usrp_source_0.set_antenna('RX2', 0) self.uhd_usrp_source_0.set_antenna('RX2', 0)
self.lora_lora_receiver_0 = lora.lora_receiver(samp_rate, capture_freq, offset, 7, 1000000, 0.01) self.lora_lora_receiver_0 = lora.lora_receiver(samp_rate, 868e6, ([868.1e6]), 7, 1000000, 0.01)
_finetune_sizer = wx.BoxSizer(wx.VERTICAL) _finetune_sizer = wx.BoxSizer(wx.VERTICAL)
self._finetune_text_box = forms.text_box( self._finetune_text_box = forms.text_box(
parent=self.GetWin(), parent=self.GetWin(),
@ -141,9 +141,9 @@ class lora_receive_realtime(grc_wxgui.top_block_gui):
def set_capture_freq(self, capture_freq): def set_capture_freq(self, capture_freq):
self.capture_freq = capture_freq self.capture_freq = capture_freq
self.set_offset(-(self.capture_freq - self.target_freq))
self.wxgui_fftsink2_1.set_baseband_freq(self.capture_freq) self.wxgui_fftsink2_1.set_baseband_freq(self.capture_freq)
self.uhd_usrp_source_0.set_center_freq(self.capture_freq, 0) self.uhd_usrp_source_0.set_center_freq(self.capture_freq, 0)
self.set_offset(-(self.capture_freq - self.target_freq))
def get_bw(self): def get_bw(self):
return self.bw return self.bw
@ -165,7 +165,6 @@ class lora_receive_realtime(grc_wxgui.top_block_gui):
def set_offset(self, offset): def set_offset(self, offset):
self.offset = offset self.offset = offset
self.lora_lora_receiver_0.set_offset(self.offset)
def get_firdes_tap(self): def get_firdes_tap(self):
return self.firdes_tap return self.firdes_tap

Wyświetl plik

@ -2,6 +2,7 @@
import lora, socket, pmt, time import lora, socket, pmt, time
import collections, datetime import collections, datetime
import os.path import os.path
import os
import xmltodict import xmltodict
from gnuradio import gr, gr_unittest, blocks, filter from gnuradio import gr, gr_unittest, blocks, filter
@ -24,7 +25,8 @@ class qa_BasicTest_XML (gr_unittest.TestCase):
data = self.server.recv(4096) data = self.server.recv(4096)
if data: if data:
total_data.append(data) total_data.append(data)
except: except Exception as e:
print(e)
pass pass
return total_data return total_data
@ -63,7 +65,7 @@ class qa_BasicTest_XML (gr_unittest.TestCase):
.format(results.passing, results.total, results.rate)) .format(results.passing, results.total, results.rate))
# #
# Set up flowgraph before Unit Test. (Gets threrefore called before EVERY test) # Set up flowgraph before Unit Test. (Gets therefore called before EVERY test)
# #
# 1. Set variables for various blocks (spreading factor from test_series settings) # 1. Set variables for various blocks (spreading factor from test_series settings)
# 2. Make UDP socket server to listen for outputted messages # 2. Make UDP socket server to listen for outputted messages
@ -77,10 +79,9 @@ class qa_BasicTest_XML (gr_unittest.TestCase):
self.sf = 7 self.sf = 7
self.samp_rate = 1e6 self.samp_rate = 1e6
self.capture_freq = 868.0e6 self.capture_freq = 868.0e6
self.threshold = 0.002
#self.bw = 125e3 #self.bw = 125e3
#self.symbols_per_sec = self.bw / (2**self.sf) #self.symbols_per_sec = self.bw / (2**self.sf)
self.offset = -(self.capture_freq - self.target_freq)
#self.bitrate = self.sf * (1 / (2**self.sf / self.bw ))
self.hasHDR = True self.hasHDR = True
# For FFT, determine Center Frequency Offset first, then set here. # For FFT, determine Center Frequency Offset first, then set here.
@ -119,7 +120,7 @@ class qa_BasicTest_XML (gr_unittest.TestCase):
raise Exception("[BasicTest_XML] '" + self.xmlFile + "' does not exist!") raise Exception("[BasicTest_XML] '" + self.xmlFile + "' does not exist!")
# #
# Clean-up flowgraph after Unit Test. (Gets threrefore called after EVERY test) # Clean-up flowgraph after Unit Test. (Gets therefore called after EVERY test)
# #
# Because tests are completed, report results. # Because tests are completed, report results.
# #
@ -217,7 +218,7 @@ class qa_BasicTest_XML (gr_unittest.TestCase):
self.tb = gr.top_block () self.tb = gr.top_block ()
self.file_source = blocks.file_source(gr.sizeof_gr_complex*1, self.inputFile, False) # Repeat input: True/False self.file_source = blocks.file_source(gr.sizeof_gr_complex*1, self.inputFile, False) # Repeat input: True/False
self.lora_lora_receiver_0 = lora.lora_receiver(self.samp_rate, self.capture_freq, self.offset, self.sf, self.samp_rate) self.lora_lora_receiver_0 = lora.lora_receiver(self.samp_rate, self.capture_freq, [868100000], self.sf, self.samp_rate, self.threshold)
self.blocks_throttle_0 = blocks.throttle(gr.sizeof_gr_complex*1, self.samp_rate, True) self.blocks_throttle_0 = blocks.throttle(gr.sizeof_gr_complex*1, self.samp_rate, True)
self.blocks_message_socket_sink_0 = lora.message_socket_sink() self.blocks_message_socket_sink_0 = lora.message_socket_sink()
self.freq_xlating_fir_filter_0 = filter.freq_xlating_fir_filter_ccc(1, (firdes.low_pass(1, self.samp_rate, 500000, 100000, firdes.WIN_HAMMING, 6.67)), self.center_offset, self.samp_rate) self.freq_xlating_fir_filter_0 = filter.freq_xlating_fir_filter_ccc(1, (firdes.low_pass(1, self.samp_rate, 500000, 100000, firdes.WIN_HAMMING, 6.67)), self.center_offset, self.samp_rate)
@ -227,7 +228,7 @@ class qa_BasicTest_XML (gr_unittest.TestCase):
self.tb.connect( (self.freq_xlating_fir_filter_0, 0), (self.lora_lora_receiver_0, 0)) self.tb.connect( (self.freq_xlating_fir_filter_0, 0), (self.lora_lora_receiver_0, 0))
self.tb.msg_connect( (self.lora_lora_receiver_0, 'frames'), (self.blocks_message_socket_sink_0, 'in')) self.tb.msg_connect( (self.lora_lora_receiver_0, 'frames'), (self.blocks_message_socket_sink_0, 'in'))
self.tb.run () self.tb.run()
total_data = self.gatherFromSocket(test_series[len(test_series) - 1].times) total_data = self.gatherFromSocket(test_series[len(test_series) - 1].times)
self.compareDataSets(total_data, self.compareDataSets(total_data,