kopia lustrzana https://github.com/rpp0/gr-lora
- More flexible test suite system
- Remove unneeded files - Fix bits per symbol calculationpull/61/head
rodzic
95131c0719
commit
2d0e9245b0
|
@ -6,3 +6,4 @@ build/
|
|||
*.cfile
|
||||
dev/
|
||||
examples/lora-samples
|
||||
apps/test-suites
|
||||
|
|
|
@ -0,0 +1,199 @@
|
|||
#!/usr/bin/python2
|
||||
# A tool to generate test suites for gr-lora
|
||||
# Authors: Pieter Robyns and William Thenaers
|
||||
|
||||
import time
|
||||
import collections
|
||||
import os
|
||||
import argparse
|
||||
import copy
|
||||
import lora
|
||||
import pmt
|
||||
import osmosdr
|
||||
from loranode import RN2483Controller
|
||||
from datetime import datetime
|
||||
from sigmf.sigmffile import SigMFFile
|
||||
from gnuradio import gr, blocks
|
||||
from lora.loraconfig import LoRaConfig
|
||||
|
||||
Test = collections.namedtuple('Test', ['payload', 'times'])
|
||||
|
||||
class TestSuite():
|
||||
def __init__(self, name, args, config_set, test_set):
|
||||
self.name = name
|
||||
self.config_set = config_set
|
||||
self.test_set = test_set
|
||||
self.capture_freq = args.frequency
|
||||
self.sample_rate = args.sample_rate
|
||||
self.hw = args.hw
|
||||
self.name += "_" + self.hw
|
||||
self.path = os.path.join(args.data_out, self.name)
|
||||
self.pre_delay = 0.150
|
||||
self.post_delay = 0.150
|
||||
self.intra_delay = 0.1
|
||||
self.lc = RN2483Controller("/dev/lora")
|
||||
self.test_count = 0
|
||||
|
||||
# Prepare SigMF global metadata (identical for all tests)
|
||||
self.global_meta = {
|
||||
"core:datatype": "cf32_le",
|
||||
"core:version": "0.0.1",
|
||||
"core:license": "CC0",
|
||||
"core:hw": self.hw,
|
||||
"core:sample_rate": self.sample_rate,
|
||||
"core:author": "Pieter Robyns"
|
||||
}
|
||||
|
||||
# Prepare paths for storing suite
|
||||
try:
|
||||
if not os.path.exists(self.path):
|
||||
os.makedirs(self.path)
|
||||
except:
|
||||
Exception("Error creating output directory.")
|
||||
|
||||
def __del__(self):
|
||||
self.lc = None
|
||||
|
||||
def run(self):
|
||||
for config in self.config_set:
|
||||
for test in self.test_set:
|
||||
self._run_test(config, test)
|
||||
|
||||
def _run_test(self, config, test):
|
||||
test_name = "{:s}-{:s}-{:n}".format(self.hw, config.file_repr(), self.test_count)
|
||||
test_data_path = os.path.join(self.path, test_name + '.sigmf-data')
|
||||
test_meta_path = os.path.join(self.path, test_name + '.sigmf-meta')
|
||||
self.test_count += 1
|
||||
capture_meta = {
|
||||
"core:sample_start": 0,
|
||||
"core:frequency": self.capture_freq,
|
||||
"core:datetime": str(datetime.utcnow()),
|
||||
"lora:frequency": config.freq,
|
||||
"lora:sf": config.sf,
|
||||
"lora:cr": config.cr,
|
||||
"lora:bw": config.bw,
|
||||
"lora:prlen": config.prlen,
|
||||
"lora:crc": config.crc,
|
||||
"lora:implicit": config.implicit,
|
||||
"test:expected": test.payload,
|
||||
"test:times": test.times,
|
||||
}
|
||||
|
||||
# Configure transmitter
|
||||
try:
|
||||
#self.lc.set_freq(config.freq)
|
||||
self.lc.set_sf(config.sf)
|
||||
self.lc.set_cr(config.cr)
|
||||
self.lc.set_bw(config.bw / 1e3)
|
||||
self.lc.set_prlen(str(config.prlen))
|
||||
self.lc.set_crc("on" if config.crc else "off")
|
||||
#self.lc.set_implicit("on" if config.implicit else "off")
|
||||
self.lc.set_pwr(1)
|
||||
except Exception as e:
|
||||
print(e)
|
||||
exit(1)
|
||||
|
||||
# Build GNU Radio flowgraph
|
||||
tb = gr.top_block()
|
||||
osmosdr_source = osmosdr.source(args="numchan=" + str(1) + " " + '' )
|
||||
osmosdr_source.set_sample_rate(self.sample_rate)
|
||||
osmosdr_source.set_center_freq(self.capture_freq, 0)
|
||||
osmosdr_source.set_freq_corr(0, 0)
|
||||
osmosdr_source.set_dc_offset_mode(0, 0)
|
||||
osmosdr_source.set_iq_balance_mode(0, 0)
|
||||
osmosdr_source.set_gain_mode(False, 0)
|
||||
osmosdr_source.set_gain(10, 0)
|
||||
osmosdr_source.set_if_gain(20, 0)
|
||||
osmosdr_source.set_bb_gain(20, 0)
|
||||
osmosdr_source.set_antenna('', 0)
|
||||
osmosdr_source.set_bandwidth(0, 0)
|
||||
|
||||
file_sink = blocks.file_sink(gr.sizeof_gr_complex, test_data_path, False)
|
||||
|
||||
# Connect blocks
|
||||
tb.connect((osmosdr_source, 0), (file_sink, 0))
|
||||
|
||||
# Run
|
||||
print("Running %s" % test_name)
|
||||
tb.start()
|
||||
self.transmit_data(test)
|
||||
tb.stop()
|
||||
tb.wait()
|
||||
|
||||
# Save metadata file
|
||||
with open(test_meta_path, 'w') as f:
|
||||
test_sigmf = SigMFFile(data_file=test_data_path, global_info=copy.deepcopy(self.global_meta))
|
||||
test_sigmf.add_capture(0, metadata=capture_meta)
|
||||
test_sigmf.dump(f, pretty=True)
|
||||
|
||||
def transmit_data(self, test):
|
||||
time.sleep(self.pre_delay)
|
||||
|
||||
for i in range(0, test.times):
|
||||
self.lc.send_p2p(test.payload)
|
||||
time.sleep(self.intra_delay)
|
||||
|
||||
time.sleep(self.post_delay)
|
||||
|
||||
if __name__ == '__main__':
|
||||
"""
|
||||
Generate test suites.
|
||||
"""
|
||||
parser = argparse.ArgumentParser(description="Tool to generate test suites for gr-lora.")
|
||||
parser.add_argument('hw', type=str, help='SDR used to capture test suite.')
|
||||
parser.add_argument('-O', '--data-out', type=str, default='./test-suites/', help='Output directory for the test suites.')
|
||||
parser.add_argument('-s', '--sample-rate', type=int, default=1000000, help='Sample rate of the SDR.')
|
||||
parser.add_argument('-f', '--frequency', type=int, default=868e6, help='Center frequency.')
|
||||
args = parser.parse_args()
|
||||
|
||||
# ------------------------------------------------------------------------
|
||||
# Test suite: decode_long
|
||||
# A quick test suite for long payloads
|
||||
# ------------------------------------------------------------------------
|
||||
decode_long_config_set = [LoRaConfig(freq=868.1e6, sf=7, cr="4/8"),
|
||||
LoRaConfig(freq=868.1e6, sf=8, cr="4/8"),
|
||||
LoRaConfig(freq=868.1e6, sf=9, cr="4/8"),
|
||||
LoRaConfig(freq=868.1e6, sf=10, cr="4/8"),
|
||||
LoRaConfig(freq=868.1e6, sf=11, cr="4/8"),
|
||||
LoRaConfig(freq=868.1e6, sf=12, cr="4/8"),
|
||||
]
|
||||
|
||||
decode_long_test_set = [Test(payload="000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfe", times=1),]
|
||||
TestSuite(name='decode_long', args=args, config_set=decode_long_config_set, test_set=decode_long_test_set).run()
|
||||
|
||||
# ------------------------------------------------------------------------
|
||||
# Test suite: short
|
||||
# A test suite with several short payloads for all configurations. Inten-
|
||||
# ded for all-around testing of syncing and decoding.
|
||||
# ------------------------------------------------------------------------
|
||||
short_config_set = [LoRaConfig(freq=868.1e6, sf=7, cr="4/8"),
|
||||
LoRaConfig(freq=868.1e6, sf=7, cr="4/7"),
|
||||
LoRaConfig(freq=868.1e6, sf=7, cr="4/6"),
|
||||
LoRaConfig(freq=868.1e6, sf=7, cr="4/5"),
|
||||
LoRaConfig(freq=868.1e6, sf=8, cr="4/8"),
|
||||
LoRaConfig(freq=868.1e6, sf=8, cr="4/7"),
|
||||
LoRaConfig(freq=868.1e6, sf=8, cr="4/6"),
|
||||
LoRaConfig(freq=868.1e6, sf=8, cr="4/5"),
|
||||
LoRaConfig(freq=868.1e6, sf=9, cr="4/8"),
|
||||
LoRaConfig(freq=868.1e6, sf=9, cr="4/7"),
|
||||
LoRaConfig(freq=868.1e6, sf=9, cr="4/6"),
|
||||
LoRaConfig(freq=868.1e6, sf=9, cr="4/5"),
|
||||
LoRaConfig(freq=868.1e6, sf=10, cr="4/8"),
|
||||
LoRaConfig(freq=868.1e6, sf=10, cr="4/7"),
|
||||
LoRaConfig(freq=868.1e6, sf=10, cr="4/6"),
|
||||
LoRaConfig(freq=868.1e6, sf=10, cr="4/5"),
|
||||
LoRaConfig(freq=868.1e6, sf=11, cr="4/8"),
|
||||
LoRaConfig(freq=868.1e6, sf=11, cr="4/7"),
|
||||
LoRaConfig(freq=868.1e6, sf=11, cr="4/6"),
|
||||
LoRaConfig(freq=868.1e6, sf=11, cr="4/5"),
|
||||
LoRaConfig(freq=868.1e6, sf=12, cr="4/8"),
|
||||
LoRaConfig(freq=868.1e6, sf=12, cr="4/7"),
|
||||
LoRaConfig(freq=868.1e6, sf=12, cr="4/6"),
|
||||
LoRaConfig(freq=868.1e6, sf=12, cr="4/5"),
|
||||
]
|
||||
|
||||
short_test_set = [Test(payload="deadbeef", times=5),
|
||||
Test(payload="88", times=1),
|
||||
Test(payload="ffff", times=10),
|
||||
]
|
||||
TestSuite(name='short', args=args, config_set=short_config_set, test_set=short_test_set).run()
|
|
@ -1,241 +0,0 @@
|
|||
#!/usr/bin/python2
|
||||
|
||||
import struct
|
||||
import time
|
||||
import collections
|
||||
import os
|
||||
from loranode import RN2483Controller
|
||||
|
||||
import lora, pmt, osmosdr
|
||||
from gnuradio import gr, blocks
|
||||
|
||||
FileData = collections.namedtuple('FileData', ['path', 'data', 'times'])
|
||||
|
||||
class Examplify:
|
||||
|
||||
def __init__(self, spreadingFactor = 7, codingRate = "4/5", output_dir = './lora-samples/', output_prefix = 'examplify_data', gains = [10, 20, 20]):
|
||||
##################################################
|
||||
# Variables #
|
||||
##################################################
|
||||
self.target_freq = 868.1e6
|
||||
self.sf = spreadingFactor # 6 7 8 12
|
||||
self.samp_rate = 1e6
|
||||
self.capture_freq = 868.0e6
|
||||
self.bw = 125e3
|
||||
#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.crc = True
|
||||
self.pwr = 1
|
||||
self.codingRate = codingRate # 4/5 4/6 4/7
|
||||
|
||||
try:
|
||||
if not os.path.exists(output_dir):
|
||||
os.makedirs(output_dir)
|
||||
except:
|
||||
Exception("Error creating output directory.")
|
||||
|
||||
self.output_dir = output_dir
|
||||
self.output_prefix = output_prefix
|
||||
self.output_ext = '.cfile'
|
||||
self.outputFile = self.output_dir + self.output_prefix + self.output_ext
|
||||
self.pre_delay = 0.150
|
||||
self.post_delay = 0.350
|
||||
self.trans_delay = 0.1
|
||||
self.examples_output = []
|
||||
|
||||
##################################################
|
||||
# LoRa transmitter #
|
||||
##################################################
|
||||
try:
|
||||
self.lc = RN2483Controller("/dev/lora")
|
||||
self.lc.set_cr ( self.codingRate)
|
||||
self.lc.set_bw ( self.bw / 1e3)
|
||||
self.lc.set_sf ( self.sf )
|
||||
self.lc.set_crc( "on" if self.crc else "off")
|
||||
self.lc.set_pwr( self.pwr )
|
||||
except:
|
||||
raise Exception("Error initialising LoRa transmitter: RN2483Controller")
|
||||
|
||||
|
||||
##################################################
|
||||
# Blocks #
|
||||
##################################################
|
||||
self.tb = gr.top_block ()
|
||||
|
||||
self.osmosdr_source_0 = osmosdr.source( args="numchan=" + str(1) + " " + '' )
|
||||
self.osmosdr_source_0.set_sample_rate(self.samp_rate)
|
||||
self.osmosdr_source_0.set_center_freq(self.capture_freq, 0)
|
||||
self.osmosdr_source_0.set_freq_corr(0, 0)
|
||||
self.osmosdr_source_0.set_dc_offset_mode(0, 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(gains[0], 0)
|
||||
self.osmosdr_source_0.set_if_gain(gains[1], 0)
|
||||
self.osmosdr_source_0.set_bb_gain(gains[2], 0)
|
||||
self.osmosdr_source_0.set_antenna('', 0)
|
||||
self.osmosdr_source_0.set_bandwidth(0, 0)
|
||||
|
||||
def __del__(self):
|
||||
self.lc = None
|
||||
self.tb = None
|
||||
|
||||
def setPreDelay(self, delay_s):
|
||||
self.pre_delay = delay_s
|
||||
|
||||
def setPostDelay(self, delay_s):
|
||||
self.post_delay = delay_s
|
||||
|
||||
def setTransmitDelay(self, delay_s):
|
||||
self.trans_delay = delay_s
|
||||
|
||||
def getOutput(self):
|
||||
return self.examples_output
|
||||
|
||||
def transmitRawData(self, data_list):
|
||||
print ("Transmitting...")
|
||||
time.sleep(self.pre_delay)
|
||||
|
||||
for x in data_list:
|
||||
self.lc.send_p2p(x)
|
||||
time.sleep(self.trans_delay)
|
||||
|
||||
time.sleep(self.post_delay)
|
||||
|
||||
def transmitToCapture(self, data_list):
|
||||
self.blocks_file_sink_0 = blocks.file_sink(gr.sizeof_gr_complex*1, self.outputFile, False)
|
||||
self.blocks_file_sink_0.set_unbuffered(False)
|
||||
self.tb.connect( (self.osmosdr_source_0, 0), (self.blocks_file_sink_0, 0))
|
||||
|
||||
print ("Start run")
|
||||
self.tb.start()
|
||||
self.transmitRawData(data_list)
|
||||
self.tb.lock()
|
||||
print ("Stop run")
|
||||
|
||||
self.tb.disconnect( (self.osmosdr_source_0, 0), (self.blocks_file_sink_0, 0))
|
||||
self.blocks_file_sink_0 = None
|
||||
self.tb.unlock()
|
||||
self.tb.wait()
|
||||
|
||||
def transmitToFile(self, data_list, output):
|
||||
prev = self.outputFile
|
||||
self.outputFile = output
|
||||
self.transmitToCapture(data_list)
|
||||
self.outputFile = prev
|
||||
|
||||
def appendAndCaptureExample(self, data, times, idx = 0):
|
||||
name = (self.output_prefix + "_cr{0:s}_bw{1:d}_sf{2:d}_crc{3:d}_pwr{4:d}_{5:03d}"
|
||||
.format(self.codingRate.replace("/", "-"),
|
||||
int(self.bw / 1e3),
|
||||
self.sf,
|
||||
1 if self.crc else 0,
|
||||
self.pwr,
|
||||
len(self.examples_output) if idx == 0 else (idx - 1))
|
||||
+ self.output_ext)
|
||||
|
||||
self.examples_output.append( FileData( name, '["{0:s}"]'.format(data), times ) )
|
||||
self.outputFile = self.output_dir + name
|
||||
self.transmitToCapture([data] * times)
|
||||
|
||||
def appendResultsToFile(self, file_path):
|
||||
f = open(file_path, 'a')
|
||||
stro = '\n' + (' ' * 20) + 'FILE' + (' ' * 23) + '|' + (' ' * 10) + 'HEX'
|
||||
f.write(stro + '\n')
|
||||
print stro
|
||||
|
||||
stro = ('-' * 47) + '+' + ('-' * 27)
|
||||
f.write(stro + '\n')
|
||||
print stro
|
||||
|
||||
for x in self.examples_output:
|
||||
stro = ' {0:45s} | {1:s} * {2:d}'.format(x[0], x[1], x[2])
|
||||
f.write(stro + '\n')
|
||||
print stro
|
||||
|
||||
f.close()
|
||||
|
||||
def appendToXML(self, file_path, idx = 0):
|
||||
# To xml
|
||||
# f = open("qa_BasicTest_Data_" + self.output_prefix + ".xml", 'w')
|
||||
# f.write('<?xml version="1.0" encoding="UTF-8"?>\n<lora-test-data set="{0:s}">\n'.format(self.output_prefix))
|
||||
|
||||
f = open(file_path, 'a')
|
||||
|
||||
for i, x in enumerate(self.examples_output):
|
||||
f.write(' <TEST id="{0:d}">\n'.format(idx if idx > 0 else (i+1)))
|
||||
f.write(' <file>../../examples/lora-samples/{0:s}</file>\n'.format(x[0]))
|
||||
f.write(' <spreading-factor>{0:d}</spreading-factor>\n'.format(self.sf))
|
||||
f.write(' <expected-data-all />\n <expected-hdr />\n')
|
||||
f.write(' <expected-data-only>{0:s}</expected-data-only>\n'
|
||||
.format(' '.join([ x[1][2:-2][i:i+2] for i in range(0, len(x[1][2:-2]), 2) ])))
|
||||
f.write(' <expected-times>{0:d}</expected-times>\n'.format(x[2]))
|
||||
f.write(' </TEST>\n')
|
||||
# f.write('</lora-test-data>')
|
||||
f.close()
|
||||
|
||||
if __name__ == '__main__':
|
||||
# e = Examplify(7, "4/6", './lora-samples/', '2345')
|
||||
#
|
||||
# e.appendAndCaptureExample("0123456789abcdef", 10)
|
||||
#
|
||||
# e.appendAndCaptureExample("111111", 1)
|
||||
# e.appendAndCaptureExample("111111", 5)
|
||||
#
|
||||
# e.appendAndCaptureExample("aaaaaaaa", 3)
|
||||
#
|
||||
# e.appendAndCaptureExample("ffffffff", 1)
|
||||
# e.appendAndCaptureExample("ffffffff", 10)
|
||||
#
|
||||
# e.appendAndCaptureExample("55555555", 3)
|
||||
# e.appendAndCaptureExample("55555555", 10)
|
||||
#
|
||||
# e.appendAndCaptureExample("88888888", 1)
|
||||
# e.appendAndCaptureExample("88888888", 5)
|
||||
# e.appendAndCaptureExample("88888888", 10)
|
||||
|
||||
# e.appendResultsToFile('./expected_results.txt')
|
||||
|
||||
exampledir = "./lora-samples/"
|
||||
testprefix = "usrp"
|
||||
xmlfiledir = "./qa_BasicTest_Data_" + testprefix + ".xml"
|
||||
gains = [32, 38, 38] # [10, 20, 20], for usrp: [32, 38, 38]
|
||||
idx = 1
|
||||
|
||||
f = open(xmlfiledir, 'w')
|
||||
f.write('<?xml version="1.0" encoding="UTF-8"?>\n<lora-test-data set="{0:s}">\n'.format(testprefix))
|
||||
f.close()
|
||||
|
||||
sampleset = [ ( 7, "4/5", 1),
|
||||
( 8, "4/5", 1),
|
||||
(12, "4/5", 1),
|
||||
( 6, "4/7", 1),
|
||||
( 7, "4/7", 1),
|
||||
( 6, "4/6", 1),
|
||||
( 7, "4/6", 1)
|
||||
]
|
||||
testset = [ ("0123456789abcdef", 10),
|
||||
("111111", 1),
|
||||
("111111", 5),
|
||||
("aaaaaaaa", 3),
|
||||
("ffffffff", 1),
|
||||
("ffffffff", 10),
|
||||
("55555555", 3),
|
||||
("55555555", 10),
|
||||
("88888888", 1),
|
||||
("88888888", 5),
|
||||
("88888888", 10)
|
||||
]
|
||||
|
||||
for t in testset:
|
||||
for i, s in enumerate(sampleset):
|
||||
e = Examplify(s[0], s[1], exampledir, testprefix, gains)
|
||||
e.appendAndCaptureExample(t[0], t[1], s[2])
|
||||
e.appendToXML(xmlfiledir, idx)
|
||||
e = None
|
||||
sampleset[i] = (s[0], s[1], s[2] + 1)
|
||||
idx = idx + 1
|
||||
|
||||
f = open(xmlfiledir, 'a')
|
||||
f.write('</lora-test-data>\n')
|
||||
f.close()
|
|
@ -1,3 +0,0 @@
|
|||
const uint8_t prng_payload_sf10[] = {
|
||||
0xFD, 0xFE, 0xF4, 0x54, 0x04, 0x70, 0x04, 0x74, 0x00, 0x74, 0x48, 0x3C, 0x68, 0x34, 0x40, 0x08, 0x64, 0x00, 0x78, 0x48, 0x74, 0x28, 0x7C, 0x70, 0x04, 0x68, 0x04, 0x78, 0x48, 0x74, 0x60, 0x3C, 0x70, 0x34, 0x4C, 0x08, 0x2C, 0x40, 0x18, 0x60, 0x0C, 0x30, 0x40, 0x7C, 0x50, 0x20, 0x2C, 0x10, 0x10, 0x0C, 0x48, 0x00, 0x68, 0x30, 0x28, 0x04, 0x04, 0x00, 0x48, 0x00, 0x60, 0x28, 0x38, 0x38, 0x2C, 0x28, 0x1C, 0x5C, 0x44, 0x60, 0x48, 0x78, 0x68, 0x1C, 0x08, 0x10, 0x58, 0x44, 0x28, 0x68, 0x50, 0x28, 0x2C, 0x38, 0x68, 0x30, 0x30, 0x28, 0x1C, 0x50, 0x0C, 0x6C, 0x40, 0x18, 0x10, 0x38, 0x3C, 0x14, 0x48, 0x04, 0x60, 0x00, 0x70, 0x20, 0x24, 0x14, 0x48, 0x00, 0x28, 0x60, 0x18, 0x30, 0x04, 0x34, 0x38, 0x60, 0x50, 0x38, 0x4C, 0x1C, 0x60, 0x44, 0x70, 0x48, 0x4C, 0x1C, 0x70, 0x64, 0x78, 0x68, 0x3C, 0x30, 0x54, 0x7C, 0x14, 0x78, 0x00, 0x70, 0x18, 0x34, 0x08, 0x14, 0x40, 0x24, 0x30, 0x1C, 0x44, 0x54, 0x38, 0x04, 0x50, 0x00, 0x64, 0x60, 0x60, 0x3C, 0x60, 0x24, 0x30, 0x40, 0x5C, 0x2C, 0x2C, 0x30, 0x00, 0x58, 0x10, 0x2C, 0x2C, 0x5C, 0x50, 0x6C, 0x2C, 0x50, 0x40, 0x48, 0x08, 0x2C, 0x68, 0x50, 0x28, 0x6C, 0x10, 0x50, 0x1C, 0x20, 0x3C, 0x58, 0x1C, 0x28, 0x0C, 0x50, 0x40, 0x0C, 0x38, 0x24, 0x4C, 0x18, 0x68, 0x04, 0x74, 0x00, 0x34, 0x28, 0x4C, 0x74, 0x60, 0x74, 0x64, 0x74, 0x30, 0x74, 0x1C, 0x5C, 0x1C, 0x48, 0x64, 0x44, 0x78, 0x30, 0x3C, 0x5C, 0x1C, 0x0C, 0x14, 0x4C, 0x1C, 0x68, 0x64, 0x3C, 0x78, 0x5C, 0x7C, 0x44, 0x2C, 0x64, 0x28, 0x68, 0x18, 0x60, 0x0C, 0x3C, 0x08, 0x7C, 0x18, 0x00, 0x04, 0x14, 0x04, 0x08, 0x08, 0x48, 0x48, 0x08, 0x30, 0x0C, 0x1C, 0x1C, 0x08, 0x00, 0x60, 0x2C, 0x10
|
||||
};
|
|
@ -1,3 +0,0 @@
|
|||
const uint8_t prng_payload_sf11[] = {
|
||||
0xFD, 0xFE, 0xB4, 0xBF, 0x34, 0x04, 0x28, 0x58, 0x10, 0x74, 0x04, 0x74, 0x48, 0x34, 0x68, 0x34, 0x40, 0x48, 0x40, 0x00, 0x6C, 0x2C, 0x78, 0x58, 0x74, 0x68, 0x1C, 0x00, 0x20, 0x70, 0x44, 0x68, 0x04, 0x78, 0x48, 0x74, 0x20, 0x1C, 0x40, 0x40, 0x30, 0x24, 0x58, 0x04, 0x24, 0x48, 0x18, 0x20, 0x2C, 0x40, 0x44, 0x30, 0x34, 0x58, 0x08, 0x24, 0x00, 0x18, 0x40, 0x6C, 0x78, 0x74, 0x74, 0x18, 0x28, 0x08, 0x18, 0x00, 0x0C, 0x44, 0x68, 0x38, 0x54, 0x04, 0x6C, 0x0C, 0x70, 0x08, 0x3C, 0x0C, 0x54, 0x68, 0x3C, 0x54, 0x44, 0x6C, 0x6C, 0x70, 0x38, 0x3C, 0x18, 0x54, 0x64, 0x7C, 0x1C, 0x14, 0x3C, 0x6C, 0x58, 0x28, 0x6C, 0x18, 0x38, 0x64, 0x2C, 0x5C, 0x6C, 0x0C, 0x18, 0x48, 0x0C, 0x6C, 0x00, 0x38, 0x60, 0x2C, 0x14, 0x0C, 0x18, 0x10, 0x40, 0x4C, 0x60, 0x00, 0x70, 0x60, 0x24, 0x54, 0x2C, 0x1C, 0x44, 0x44, 0x28, 0x60, 0x18, 0x70, 0x64, 0x64, 0x5C, 0x6C, 0x3C, 0x4C, 0x1C, 0x20, 0x44, 0x18, 0x20, 0x64, 0x60, 0x5C, 0x54, 0x2C, 0x54, 0x04, 0x6C, 0x44, 0x78, 0x20, 0x5C, 0x60, 0x10, 0x14, 0x18, 0x48, 0x04, 0x6C, 0x20, 0x78, 0x58, 0x5C, 0x5C, 0x20, 0x08, 0x04, 0x00, 0x4C, 0x44, 0x28, 0x68, 0x58, 0x08, 0x5C, 0x04, 0x38, 0x50, 0x5C, 0x24, 0x00, 0x50, 0x48, 0x24, 0x08, 0x00, 0x64, 0x20, 0x64, 0x5C, 0x20, 0x6C, 0x58, 0x30, 0x2C, 0x3C, 0x00, 0x20, 0x30, 0x00, 0x58, 0x40, 0x6C, 0x64, 0x30, 0x70, 0x3C, 0x04, 0x20, 0x08, 0x30, 0x60, 0x58, 0x28, 0x6C, 0x50, 0x70, 0x0C, 0x04, 0x04, 0x38, 0x20, 0x50, 0x1C, 0x24, 0x0C, 0x50, 0x40, 0x0C, 0x18, 0x04, 0x78, 0x44, 0x7C, 0x1C, 0x7C, 0x04, 0x74, 0x40, 0x14, 0x18, 0x08, 0x78, 0x40, 0x74, 0x50, 0x78, 0x64, 0x74, 0x70, 0x14, 0x0C, 0x08, 0x60, 0x40, 0x68, 0x54, 0x64, 0x6C, 0x74, 0x70
|
||||
};
|
|
@ -1,6 +0,0 @@
|
|||
const uint8_t prng_payload_sf12[] = {
|
||||
0xFD, 0x58, 0xB5, 0xFF, 0x5E, 0x9C, 0xD4, 0xA8, 0x28, 0x70, 0x10, 0xFC, 0xC4, 0xB4, 0xA8, 0x1C, 0x90, 0xE4, 0x74, 0x74, 0x54, 0x9C, 0xFC, 0xC0, 0x7C, 0xA8, 0xB4, 0xD0, 0x5C, 0x44, 0xB4, 0x5C, 0x44, 0x78, 0xF0, 0x7C, 0xEC, 0x34, 0x30, 0x1C, 0x14, 0xE4, 0x3C, 0x5C, 0x84, 0x5C, 0x90, 0xE8, 0x84, 0xB4, 0x00, 0x54, 0x40, 0x4C, 0x30, 0xFC, 0x1C, 0x1C, 0x90, 0x8C, 0x4C, 0x00, 0xA8, 0xA0, 0xD8, 0x64, 0xD4, 0x24, 0x00, 0x94, 0x40, 0x00, 0x60, 0x88, 0x78, 0x98, 0xF4, 0xA4, 0x4C, 0x2C, 0x98, 0x44, 0x4C, 0xE4, 0x68, 0x70, 0xB8, 0x34, 0xD8, 0x3C, 0x9C, 0xE0, 0xF0, 0x94, 0x24, 0xE0, 0x50, 0x38, 0x6C, 0x9C, 0x38, 0xAC, 0x44, 0xAC, 0x50, 0x10, 0x18, 0x48, 0x04, 0x60, 0x00, 0x78, 0x48, 0x94, 0xD0, 0x58, 0x34, 0x2C, 0xD4, 0x4C, 0x6C, 0x00, 0x30, 0x00, 0x5C, 0x60, 0xFC, 0x7C, 0xE4, 0x18, 0xB4, 0xCC, 0x10, 0xB0, 0xCC, 0x1C, 0xE8, 0xEC, 0xA8, 0xBC, 0xB4, 0x38, 0xE8, 0x54, 0x70, 0x4C, 0x38, 0xA8, 0x14, 0x78, 0x34, 0xF8, 0x44, 0x18, 0xFC, 0xD8, 0x3C, 0x34, 0x1C, 0x54, 0x8C, 0x44, 0xF8, 0x1C, 0x80, 0x44, 0x4C, 0xB8, 0x0C, 0x1C, 0x00, 0xCC, 0xC0, 0x88, 0x58, 0xEC, 0xB0, 0x20, 0x2C, 0x0C, 0x5C, 0x90, 0x2C, 0x00, 0x90, 0x28, 0x14, 0x8C, 0x18, 0x10, 0x2C, 0xD4, 0x5C, 0xA8, 0x64, 0xD0, 0x70, 0x04, 0x04, 0x24, 0x00, 0x00, 0x38, 0x40, 0x98, 0xE4, 0x60, 0x30, 0x70, 0x34, 0x4C, 0x68, 0x94, 0x08, 0x90, 0x1C, 0x24, 0xAC, 0x10, 0x30, 0x24, 0x74, 0x20, 0xF8, 0xE4, 0x5C, 0xCC, 0x38, 0x24, 0x54, 0x00, 0x64, 0x08, 0x50, 0xF0, 0x18, 0x04, 0x2C, 0xC0, 0x00, 0xF4, 0x10, 0xFC, 0xC8, 0xF4, 0xC0, 0x64, 0x3C, 0x2C, 0x58, 0x84, 0xFC, 0xA4, 0x7C, 0xDC, 0xB4, 0x24, 0x74, 0x28, 0x50, 0xE4, 0xAC, 0x40, 0xB4, 0x38, 0xD4, 0xD4, 0x64, 0x6C
|
||||
};
|
||||
const uint8_t prng_payload_sf12[] = {
|
||||
0x7D, 0xFE, 0xB7, 0xFF, 0x5E, 0x9C, 0xD4, 0xA8, 0x28, 0x70, 0x10, 0xFC, 0xC4, 0xB4, 0xA8, 0x1C, 0x90, 0xE4, 0x74, 0x74, 0x54, 0x1C, 0xFC, 0xC0, 0x7C, 0x28, 0xBC, 0xD0, 0x5C, 0x44, 0x3C, 0x5C, 0x44, 0x78, 0xF0, 0x74, 0xEC, 0x34, 0x30, 0x1C, 0x1C, 0x64, 0x74, 0x5C, 0x14, 0x5C, 0x90, 0xE8, 0x04, 0x34, 0x00, 0x54, 0x40, 0x4C, 0x30, 0xFC, 0x1C, 0x1C, 0x10, 0x04, 0x4C, 0x00, 0x28, 0x20, 0x58, 0x64, 0x7C, 0x24, 0x00, 0x94, 0x40, 0x00, 0x60, 0x88, 0x78, 0x18, 0x7C, 0xA4, 0x4C, 0x2C, 0x10, 0x44, 0x4C, 0x64, 0x68, 0x70, 0xB8, 0x3C, 0xD8, 0x3C, 0x14, 0xE8, 0x50, 0x14, 0x20, 0x60, 0x50, 0x38, 0x6C, 0x1C, 0x38, 0x2C, 0x44, 0xEC, 0x50, 0x10, 0x10, 0x48, 0x04, 0x60, 0x00, 0x78, 0x48, 0x9C, 0xD0, 0x50, 0x34, 0x2C, 0xD4, 0x44, 0x64, 0x00, 0x30, 0x00, 0x54, 0x60, 0xFC, 0x7C, 0x64, 0x18, 0x34, 0x4C, 0x18, 0xB0, 0xCC, 0x1C, 0xE8
|
||||
};
|
|
@ -1,3 +0,0 @@
|
|||
const uint8_t prng_payload_sf6[] = {
|
||||
0x65, 0xFA, 0xB7, 0xFF, 0x5E, 0x14, 0x5C, 0x20, 0x28, 0x78, 0x10, 0x74, 0x4C, 0x34, 0x28, 0x14, 0x10, 0x6C, 0x7C, 0x74, 0x54, 0x1C, 0x74, 0x48, 0x7C, 0x28, 0x3C, 0x50, 0x54, 0x4C, 0x3C, 0x5C, 0x44, 0x78, 0x70, 0x74, 0x64, 0x3C, 0x38, 0x14, 0x1C, 0x6C, 0x74, 0x7C, 0x04, 0x5C, 0x10, 0x68, 0x0C, 0x34, 0x00, 0x5C, 0x40, 0x44, 0x30, 0x7C, 0x1C, 0x1C, 0x10, 0x04, 0x4C, 0x00, 0x28, 0x20, 0x58, 0x64, 0x7C, 0x34, 0x04, 0x1C, 0x40, 0x00, 0x60, 0x08, 0x78, 0x18, 0x7C, 0x2C, 0x44, 0x2C, 0x10, 0x44, 0x4C, 0x64, 0x68, 0x70, 0x38, 0x3C, 0x58, 0x34, 0x14, 0x68, 0x50, 0x04, 0x20, 0x60, 0x50, 0x38, 0x6C, 0x1C, 0x38, 0x24, 0x4C, 0x6C, 0x78, 0x10, 0x10, 0x48, 0x04, 0x68, 0x00, 0x78, 0x40, 0x1C, 0x58, 0x40, 0x30, 0x24, 0x54, 0x44, 0x64, 0x00, 0x30, 0x00, 0x54, 0x20, 0x54, 0x6C, 0x60, 0x10, 0x3C, 0x4C, 0x18, 0x38, 0x44, 0x14, 0x68, 0x64, 0x28, 0x3C, 0x3C, 0x3C, 0x60, 0x54, 0x70, 0x44, 0x30, 0x28, 0x14, 0x78, 0x7C, 0x50, 0x54, 0x1C, 0x74, 0x58, 0x34, 0x34, 0x14, 0x5C, 0x04, 0x4C, 0x38, 0x3C, 0x04, 0x4C, 0x44, 0x30, 0x04, 0x14, 0x00, 0x44, 0x40, 0x48, 0x70, 0x7C, 0x34, 0x28, 0x2C, 0x04, 0x54, 0x10, 0x24, 0x00, 0x10, 0x68, 0x3C, 0x1C, 0x1C, 0x10, 0x2C, 0x58, 0x54, 0x20, 0x6C, 0x50, 0x70, 0x0C, 0x0C, 0x24, 0x28, 0x00, 0x38, 0x50, 0x50, 0x6C, 0x64, 0x30, 0x70, 0x3C, 0x04, 0x20, 0x78, 0x10, 0x50, 0x5C, 0x28, 0x64, 0x50, 0x30, 0x2C, 0x34, 0x00, 0x60, 0x08, 0x54, 0x44, 0x30, 0x24, 0x54, 0x00, 0x6C, 0x00, 0x10, 0x50, 0x00, 0x00, 0x24, 0x40, 0x00, 0x7C, 0x18, 0x74, 0x48, 0x7C, 0x00, 0x0C, 0x0C, 0x30, 0x54, 0x04, 0x7C, 0x2C, 0x74, 0x5C, 0x34, 0x2C, 0x7C, 0x68, 0x78, 0x7C, 0x28, 0x48, 0x34, 0x30, 0x5C, 0x5C, 0x6C, 0x64
|
||||
};
|
|
@ -1,3 +0,0 @@
|
|||
const uint8_t prng_payload_sf7[] = {
|
||||
0xDC, 0xEC, 0xB0, 0xF4, 0x9C, 0xFC, 0xC4, 0xDC, 0x10, 0xF8, 0x40, 0x34, 0xA8, 0x5C, 0xF0, 0x94, 0x60, 0x08, 0xF8, 0x48, 0xBC, 0x88, 0xA4, 0xD4, 0x14, 0xE4, 0x84, 0x38, 0x68, 0xEC, 0xE4, 0xBC, 0xB0, 0x1C, 0x14, 0xA4, 0x3C, 0x4C, 0x90, 0x60, 0x84, 0x70, 0x20, 0x44, 0x04, 0x24, 0x80, 0x98, 0x40, 0xA4, 0x58, 0x04, 0xA0, 0x80, 0x98, 0x40, 0xA4, 0x10, 0x4C, 0x40, 0x60, 0xA8, 0x38, 0xB8, 0xA4, 0x80, 0x14, 0xC8, 0x84, 0xA0, 0x68, 0x68, 0xAC, 0xBC, 0x18, 0x1C, 0x8C, 0xA4, 0xB8, 0x4C, 0xD8, 0x28, 0x64, 0xD8, 0x58, 0xDC, 0xB0, 0xA0, 0x9C, 0xD0, 0xC4, 0x44, 0x10, 0x7C, 0x08, 0xB4, 0x00, 0x5C, 0x68, 0x94, 0xE4, 0x08, 0xB0, 0x00, 0x5C, 0x20, 0xDC, 0x4C, 0xA0, 0x60, 0x98, 0x70, 0xEC, 0x0C, 0xAC, 0xC4, 0x18, 0xA8, 0x8C, 0xB8, 0xF0, 0xC8, 0x38, 0x28, 0x54, 0xD8, 0x44, 0xDC, 0x7C, 0xE8, 0x34, 0x30, 0x5C, 0x74, 0xDC, 0x60, 0xA0, 0xF8, 0x98, 0xF4, 0xA4, 0x1C, 0x04, 0xC4, 0x80, 0xA8, 0x08, 0xB8, 0xB8, 0x80, 0xD8, 0x80, 0x2C, 0x40, 0xF0, 0x58, 0x60, 0xA0, 0xB0, 0xD0, 0x14, 0x0C, 0x74, 0xD4, 0x38, 0xE4, 0x54, 0x70, 0x0C, 0x44, 0xD4, 0x6C, 0xE4, 0x30, 0x70, 0x74, 0x0C, 0x28, 0xC4, 0x50, 0xA8, 0x24, 0xF0, 0x20, 0x60, 0x14, 0xB0, 0xCC, 0x5C, 0x88, 0x94, 0xD4, 0x08, 0xE4, 0x48, 0x70, 0xC0, 0x0C, 0x7C, 0x8C, 0x7C, 0x00, 0xBC, 0x68, 0xA4, 0xE4, 0x5C, 0xF8, 0x64, 0xBC, 0x10, 0xEC, 0x50, 0xBC, 0xE4, 0x54, 0x38, 0x44, 0xEC, 0x34, 0xBC, 0xD4, 0x54, 0x24, 0x0C, 0x68, 0xD4, 0xF4, 0xE4, 0xB4, 0x38, 0x74, 0xA4, 0x28, 0x5C, 0x50, 0x2C, 0x24, 0xB8, 0x68, 0x80, 0xBC, 0xC8, 0x54, 0xE8, 0x0C, 0x88, 0x9C, 0x8C, 0x04, 0x00, 0x08, 0x68, 0xB8, 0xE4, 0x90, 0x80, 0x00, 0x40, 0x20, 0xA4, 0x28, 0xE8, 0x04, 0x54, 0x70
|
||||
};
|
|
@ -1,3 +0,0 @@
|
|||
const uint8_t prng_payload_sf8[] = {
|
||||
0xBD, 0x54, 0x2C, 0x70, 0x1C, 0x74, 0x0C, 0x74, 0x40, 0x54, 0x58, 0x38, 0x20, 0x14, 0x50, 0x0C, 0x2C, 0x20, 0x68, 0x4C, 0x7C, 0x28, 0x3C, 0x50, 0x54, 0x4C, 0x1C, 0x7C, 0x40, 0x74, 0x60, 0x3C, 0x70, 0x34, 0x4C, 0x08, 0x2C, 0x48, 0x18, 0x60, 0x4C, 0x10, 0x10, 0x58, 0x08, 0x24, 0x00, 0x18, 0x40, 0x2C, 0x58, 0x04, 0x20, 0x00, 0x18, 0x00, 0x4C, 0x20, 0x58, 0x4C, 0x68, 0x28, 0x78, 0x18, 0x7C, 0x2C, 0x04, 0x4C, 0x04, 0x60, 0x48, 0x78, 0x68, 0x1C, 0x08, 0x10, 0x4C, 0x0C, 0x28, 0x48, 0x10, 0x08, 0x7C, 0x1C, 0x70, 0x44, 0x3C, 0x28, 0x54, 0x70, 0x1C, 0x68, 0x08, 0x78, 0x00, 0x3C, 0x40, 0x34, 0x58, 0x08, 0x68, 0x00, 0x30, 0x00, 0x54, 0x20, 0x54, 0x4C, 0x20, 0x60, 0x18, 0x30, 0x04, 0x34, 0x38, 0x40, 0x10, 0x28, 0x44, 0x18, 0x20, 0x64, 0x20, 0x2C, 0x54, 0x18, 0x6C, 0x44, 0x38, 0x40, 0x2C, 0x34, 0x1C, 0x5C, 0x44, 0x6C, 0x68, 0x58, 0x08, 0x38, 0x04, 0x14, 0x00, 0x44, 0x40, 0x08, 0x58, 0x1C, 0x20, 0x0C, 0x50, 0x00, 0x64, 0x20, 0x40, 0x4C, 0x64, 0x28, 0x30, 0x50, 0x1C, 0x04, 0x7C, 0x54, 0x38, 0x6C, 0x5C, 0x30, 0x64, 0x7C, 0x40, 0x68, 0x64, 0x30, 0x30, 0x5C, 0x54, 0x04, 0x54, 0x54, 0x20, 0x6C, 0x50, 0x30, 0x2C, 0x34, 0x20, 0x40, 0x1C, 0x28, 0x0C, 0x50, 0x40, 0x4C, 0x58, 0x34, 0x68, 0x14, 0x78, 0x0C, 0x34, 0x20, 0x64, 0x4C, 0x34, 0x60, 0x5C, 0x78, 0x2C, 0x54, 0x20, 0x70, 0x54, 0x3C, 0x6C, 0x5C, 0x38, 0x0C, 0x64, 0x04, 0x30, 0x54, 0x5C, 0x6C, 0x64, 0x58, 0x00, 0x60, 0x40, 0x3C, 0x70, 0x5C, 0x7C, 0x04, 0x4C, 0x14, 0x38, 0x44, 0x18, 0x78, 0x4C, 0x1C, 0x78, 0x18, 0x30, 0x2C, 0x1C, 0x18, 0x4C, 0x6C, 0x10, 0x5C, 0x44, 0x20, 0x40, 0x18, 0x40, 0x60, 0x10, 0x14, 0x54, 0x34, 0x58, 0x34, 0x38
|
||||
};
|
|
@ -1,3 +0,0 @@
|
|||
const uint8_t prng_payload_sf9[] = {
|
||||
0xFD, 0xBE, 0x1C, 0x64, 0x10, 0x7C, 0x0C, 0x74, 0x00, 0x74, 0x08, 0x1C, 0x38, 0x10, 0x58, 0x0C, 0x6C, 0x00, 0x78, 0x08, 0x54, 0x38, 0x38, 0x58, 0x14, 0x6C, 0x0C, 0x78, 0x08, 0x54, 0x70, 0x38, 0x38, 0x14, 0x5C, 0x0C, 0x24, 0x08, 0x38, 0x70, 0x08, 0x38, 0x00, 0x5C, 0x00, 0x24, 0x40, 0x38, 0x10, 0x08, 0x40, 0x00, 0x28, 0x00, 0x18, 0x40, 0x2C, 0x10, 0x4C, 0x40, 0x60, 0x28, 0x78, 0x18, 0x7C, 0x2C, 0x04, 0x4C, 0x04, 0x60, 0x48, 0x78, 0x28, 0x7C, 0x38, 0x04, 0x40, 0x04, 0x28, 0x48, 0x50, 0x28, 0x2C, 0x38, 0x68, 0x40, 0x34, 0x28, 0x14, 0x50, 0x0C, 0x2C, 0x20, 0x68, 0x04, 0x34, 0x00, 0x14, 0x48, 0x0C, 0x20, 0x20, 0x20, 0x04, 0x1C, 0x14, 0x44, 0x48, 0x20, 0x20, 0x78, 0x00, 0x40, 0x1C, 0x3C, 0x4C, 0x18, 0x28, 0x04, 0x78, 0x70, 0x60, 0x38, 0x30, 0x5C, 0x1C, 0x6C, 0x04, 0x18, 0x70, 0x08, 0x3C, 0x1C, 0x5C, 0x44, 0x6C, 0x68, 0x58, 0x68, 0x38, 0x14, 0x18, 0x00, 0x44, 0x00, 0x68, 0x28, 0x00, 0x3C, 0x24, 0x54, 0x00, 0x24, 0x00, 0x10, 0x68, 0x1C, 0x2C, 0x38, 0x48, 0x5C, 0x20, 0x6C, 0x10, 0x10, 0x7C, 0x28, 0x38, 0x2C, 0x58, 0x50, 0x6C, 0x2C, 0x10, 0x00, 0x48, 0x58, 0x2C, 0x44, 0x50, 0x28, 0x2C, 0x30, 0x20, 0x58, 0x18, 0x38, 0x44, 0x14, 0x28, 0x4C, 0x30, 0x10, 0x68, 0x64, 0x30, 0x70, 0x14, 0x78, 0x44, 0x14, 0x10, 0x60, 0x64, 0x34, 0x60, 0x5C, 0x78, 0x2C, 0x14, 0x00, 0x60, 0x50, 0x3C, 0x64, 0x5C, 0x78, 0x2C, 0x54, 0x60, 0x08, 0x54, 0x50, 0x6C, 0x24, 0x78, 0x10, 0x54, 0x3C, 0x08, 0x74, 0x5C, 0x34, 0x24, 0x5C, 0x10, 0x04, 0x5C, 0x5C, 0x64, 0x0C, 0x34, 0x48, 0x5C, 0x68, 0x24, 0x08, 0x1C, 0x10, 0x04, 0x00, 0x48, 0x08, 0x68, 0x00, 0x08, 0x14, 0x08, 0x00, 0x00, 0x6C, 0x08, 0x20
|
||||
};
|
|
@ -1,85 +0,0 @@
|
|||
#!/usr/bin/python2
|
||||
import collections
|
||||
import os
|
||||
from loranode import RN2483Controller
|
||||
|
||||
# from ../_examplify.py import Examplify
|
||||
|
||||
import os
|
||||
os.sys.path.append(os.path.dirname(os.path.abspath('.')))
|
||||
from _examplify import Examplify
|
||||
|
||||
import lora, pmt, osmosdr
|
||||
from gnuradio import gr, blocks
|
||||
|
||||
class ReceiveWhitening:
|
||||
def __init__(self, sf = 7, output_file = './test_out.csv'):
|
||||
self.target_freq = 868.1e6
|
||||
self.sf = sf
|
||||
self.samp_rate = 1e6
|
||||
self.capture_freq = 868.0e6
|
||||
self.offset = -(self.capture_freq - self.target_freq)
|
||||
|
||||
self.inputFile = './'
|
||||
self.outputFile = output_file
|
||||
self.tempFile = '/tmp/whitening_out'
|
||||
|
||||
self.tb = None
|
||||
|
||||
def captureSequence(self, inputFile):
|
||||
self.inputFile = inputFile
|
||||
|
||||
if os.path.isfile(self.inputFile):
|
||||
self.tb = gr.top_block()
|
||||
|
||||
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.blocks_throttle_0 = blocks.throttle(gr.sizeof_gr_complex*1, self.samp_rate, True)
|
||||
|
||||
self.tb.connect( (self.file_source, 0), (self.blocks_throttle_0, 0))
|
||||
self.tb.connect( (self.blocks_throttle_0, 0), (self.lora_lora_receiver_0, 0))
|
||||
|
||||
self.tb.run()
|
||||
|
||||
self.tb = None
|
||||
|
||||
if os.path.isfile(self.tempFile):
|
||||
if os.path.isfile(self.outputFile):
|
||||
inf = open(self.tempFile, 'r')
|
||||
seq = inf.read()
|
||||
# print(seq)
|
||||
out = open(self.outputFile, 'a')
|
||||
out.write(seq)
|
||||
out.close()
|
||||
inf.close()
|
||||
else:
|
||||
raise Exception("[ReceiveWhitening] Outputfile '" + self.outputFile + "' does not exist!")
|
||||
else:
|
||||
raise Exception("[ReceiveWhitening] Tempfile '" + self.tempFile + "' does not exist!")
|
||||
else:
|
||||
raise Exception("[ReceiveWhitening] Inputfile '" + self.inputFile + "' does not exist!")
|
||||
|
||||
if __name__ == '__main__':
|
||||
ofile = '/tmp/tmp_whitening.cfile'
|
||||
|
||||
testset = [ (7, "4/6"), (7, "4/7"), (8, "4/5"), (12, "4/6"), (9, "4/5"), (10, "4/5"), (11, "4/5"), (6, "4/5")]
|
||||
|
||||
for settings in testset:
|
||||
dataf = './test_out_SF{0:d}_CR{1:s}.csv'.format(settings[0], '-'.join(settings[1].split('/')))
|
||||
out = open(dataf, 'a')
|
||||
out.close()
|
||||
|
||||
examplifr = Examplify(settings[0], settings[1], gains = [32, 38, 38])
|
||||
whitening = ReceiveWhitening(settings[0], dataf)
|
||||
|
||||
for i in range(8):
|
||||
print("Sample {0:d} of 16".format(i))
|
||||
examplifr.transmitToFile(['0' * 256] * 4, ofile)
|
||||
whitening.captureSequence(ofile)
|
||||
for i in range(8):
|
||||
print("Sample {0:d} of 16".format(i + 8))
|
||||
examplifr.transmitToFile(['0' * 256] * 8, ofile)
|
||||
whitening.captureSequence(ofile)
|
||||
|
||||
examplifr = None
|
||||
whitening = None
|
|
@ -1 +0,0 @@
|
|||
./lora-whitening-sequencer -sf 7 -in ./test_out.csv
|
|
@ -1,43 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<lora-test-data set="extra">
|
||||
<TEST id="2">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-5_bw125_sf8_crc1_pwr1_000.cfile</file>
|
||||
<spreading-factor>8</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>01 23 45 67 89 ab cd ef</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="4">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-7_bw125_sf6_crc1_pwr1_000.cfile</file>
|
||||
<spreading-factor>6</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>01 23 45 67 89 ab cd ef</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="1">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-5_bw125_sf7_crc1_pwr1_000.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>01 23 45 67 89 ab cd ef</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="7">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-6_bw125_sf7_crc1_pwr1_000.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>01 23 45 67 89 ab cd ef</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="66">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-5_bw125_sf12_crc1_pwr1_009.cfile</file>
|
||||
<spreading-factor>12</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>88 88 88 88</expected-data-only>
|
||||
<expected-times>5</expected-times>
|
||||
</TEST>
|
||||
</lora-test-data>
|
|
@ -1,619 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<lora-test-data set="hackrf">
|
||||
<TEST id="1">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-5_bw125_sf7_crc1_pwr1_000.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr /><!-- 80 0b 01 -->
|
||||
<expected-data-only>01 23 45 67 89 ab cd ef</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="2">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-5_bw125_sf8_crc1_pwr1_000.cfile</file>
|
||||
<spreading-factor>8</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr /><!-- 80 0b 01 -->
|
||||
<expected-data-only>01 23 45 67 89 ab cd ef</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="3">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-5_bw125_sf12_crc1_pwr1_000.cfile</file>
|
||||
<spreading-factor>12</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr /><!-- 80 0b 01 -->
|
||||
<expected-data-only>01 23 45 67 89 ab cd ef</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="4">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-7_bw125_sf6_crc1_pwr1_000.cfile</file>
|
||||
<spreading-factor>6</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr /><!-- 80 0f 02 -->
|
||||
<expected-data-only>01 23 45 67 89 ab cd ef</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="5">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-7_bw125_sf7_crc1_pwr1_000.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr /><!-- 80 0f 02 -->
|
||||
<expected-data-only>01 23 45 67 89 ab cd ef</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="6">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-6_bw125_sf6_crc1_pwr1_000.cfile</file>
|
||||
<spreading-factor>6</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr /><!-- 80 0d 05 -->
|
||||
<expected-data-only>01 23 45 67 89 ab cd ef</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="7">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-6_bw125_sf7_crc1_pwr1_000.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr /><!-- 80 0d 05 -->
|
||||
<expected-data-only>01 23 45 67 89 ab cd ef</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="8">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-5_bw125_sf7_crc1_pwr1_001.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr /><!-- 30 0b 02 -->
|
||||
<expected-data-only>11 11 11</expected-data-only>
|
||||
<expected-times>1</expected-times>
|
||||
</TEST>
|
||||
<TEST id="9">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-5_bw125_sf8_crc1_pwr1_001.cfile</file>
|
||||
<spreading-factor>8</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr /><!-- 30 0b 02 -->
|
||||
<expected-data-only>11 11 11</expected-data-only>
|
||||
<expected-times>1</expected-times>
|
||||
</TEST>
|
||||
<TEST id="10">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-5_bw125_sf12_crc1_pwr1_001.cfile</file>
|
||||
<spreading-factor>12</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr /><!-- 30 0b 02 -->
|
||||
<expected-data-only>11 11 11</expected-data-only>
|
||||
<expected-times>1</expected-times>
|
||||
</TEST>
|
||||
<TEST id="11">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-7_bw125_sf6_crc1_pwr1_001.cfile</file>
|
||||
<spreading-factor>6</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr /><!-- 30 0f 01 -->
|
||||
<expected-data-only>11 11 11</expected-data-only>
|
||||
<expected-times>1</expected-times>
|
||||
</TEST>
|
||||
<TEST id="12">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-7_bw125_sf7_crc1_pwr1_001.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr /><!-- 30 0f 01 -->
|
||||
<expected-data-only>11 11 11</expected-data-only>
|
||||
<expected-times>1</expected-times>
|
||||
</TEST>
|
||||
<TEST id="13">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-6_bw125_sf6_crc1_pwr1_001.cfile</file>
|
||||
<spreading-factor>6</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr /><!-- 30 0d 06 -->
|
||||
<expected-data-only>11 11 11</expected-data-only>
|
||||
<expected-times>1</expected-times>
|
||||
</TEST>
|
||||
<TEST id="14">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-6_bw125_sf7_crc1_pwr1_001.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr /><!-- 30 0d 06 -->
|
||||
<expected-data-only>11 11 11</expected-data-only>
|
||||
<expected-times>1</expected-times>
|
||||
</TEST>
|
||||
<TEST id="15">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-5_bw125_sf7_crc1_pwr1_002.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr /><!-- 30 0b 02 -->
|
||||
<expected-data-only>11 11 11</expected-data-only>
|
||||
<expected-times>5</expected-times>
|
||||
</TEST>
|
||||
<TEST id="16">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-5_bw125_sf8_crc1_pwr1_002.cfile</file>
|
||||
<spreading-factor>8</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr /><!-- 30 0b 02 -->
|
||||
<expected-data-only>11 11 11</expected-data-only>
|
||||
<expected-times>5</expected-times>
|
||||
</TEST>
|
||||
<TEST id="17">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-5_bw125_sf12_crc1_pwr1_002.cfile</file>
|
||||
<spreading-factor>12</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr /><!-- 30 0b 02 -->
|
||||
<expected-data-only>11 11 11</expected-data-only>
|
||||
<expected-times>5</expected-times>
|
||||
</TEST>
|
||||
<TEST id="18">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-7_bw125_sf6_crc1_pwr1_002.cfile</file>
|
||||
<spreading-factor>6</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr /><!-- 30 0f 01 -->
|
||||
<expected-data-only>11 11 11</expected-data-only>
|
||||
<expected-times>5</expected-times>
|
||||
</TEST>
|
||||
<TEST id="19">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-7_bw125_sf7_crc1_pwr1_002.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr /><!-- 30 0f 01 -->
|
||||
<expected-data-only>11 11 11</expected-data-only>
|
||||
<expected-times>5</expected-times>
|
||||
</TEST>
|
||||
<TEST id="20">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-6_bw125_sf6_crc1_pwr1_002.cfile</file>
|
||||
<spreading-factor>6</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr /><!-- 30 0d 06 -->
|
||||
<expected-data-only>11 11 11</expected-data-only>
|
||||
<expected-times>5</expected-times>
|
||||
</TEST>
|
||||
<TEST id="21">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-6_bw125_sf7_crc1_pwr1_002.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr /><!-- 30 0d 06 -->
|
||||
<expected-data-only>11 11 11</expected-data-only>
|
||||
<expected-times>5</expected-times>
|
||||
</TEST>
|
||||
<TEST id="22">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-5_bw125_sf7_crc1_pwr1_003.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr /><!-- 40 0b 07 -->
|
||||
<expected-data-only>aa aa aa aa</expected-data-only>
|
||||
<expected-times>3</expected-times>
|
||||
</TEST>
|
||||
<TEST id="23">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-5_bw125_sf8_crc1_pwr1_003.cfile</file>
|
||||
<spreading-factor>8</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr /><!-- 40 0b 07 -->
|
||||
<expected-data-only>aa aa aa aa</expected-data-only>
|
||||
<expected-times>3</expected-times>
|
||||
</TEST>
|
||||
<TEST id="24">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-5_bw125_sf12_crc1_pwr1_003.cfile</file>
|
||||
<spreading-factor>12</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr /><!-- 40 0b 07 -->
|
||||
<expected-data-only>aa aa aa aa</expected-data-only>
|
||||
<expected-times>3</expected-times>
|
||||
</TEST>
|
||||
<TEST id="25">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-7_bw125_sf6_crc1_pwr1_003.cfile</file>
|
||||
<spreading-factor>6</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr /><!-- 40 0f 04 -->
|
||||
<expected-data-only>aa aa aa aa</expected-data-only>
|
||||
<expected-times>3</expected-times>
|
||||
</TEST>
|
||||
<TEST id="26">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-7_bw125_sf7_crc1_pwr1_003.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr /><!-- 40 0f 04 -->
|
||||
<expected-data-only>aa aa aa aa</expected-data-only>
|
||||
<expected-times>3</expected-times>
|
||||
</TEST>
|
||||
<TEST id="27">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-6_bw125_sf6_crc1_pwr1_003.cfile</file>
|
||||
<spreading-factor>6</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr /><!-- 40 0d 03 -->
|
||||
<expected-data-only>aa aa aa aa</expected-data-only>
|
||||
<expected-times>3</expected-times>
|
||||
</TEST>
|
||||
<TEST id="28">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-6_bw125_sf7_crc1_pwr1_003.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr /><!-- 40 0d 03 -->
|
||||
<expected-data-only>aa aa aa aa</expected-data-only>
|
||||
<expected-times>3</expected-times>
|
||||
</TEST>
|
||||
<TEST id="29">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-5_bw125_sf7_crc1_pwr1_004.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr /><!-- 40 0b 07 -->
|
||||
<expected-data-only>ff ff ff ff</expected-data-only>
|
||||
<expected-times>1</expected-times>
|
||||
</TEST>
|
||||
<TEST id="30">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-5_bw125_sf8_crc1_pwr1_004.cfile</file>
|
||||
<spreading-factor>8</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr /><!-- 40 0b 07 -->
|
||||
<expected-data-only>ff ff ff ff</expected-data-only>
|
||||
<expected-times>1</expected-times>
|
||||
</TEST>
|
||||
<TEST id="31">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-5_bw125_sf12_crc1_pwr1_004.cfile</file>
|
||||
<spreading-factor>12</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr /><!-- 40 0b 07 -->
|
||||
<expected-data-only>ff ff ff ff</expected-data-only>
|
||||
<expected-times>1</expected-times>
|
||||
</TEST>
|
||||
<TEST id="32">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-7_bw125_sf6_crc1_pwr1_004.cfile</file>
|
||||
<spreading-factor>6</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr /><!-- 40 0f 04 -->
|
||||
<expected-data-only>ff ff ff ff</expected-data-only>
|
||||
<expected-times>1</expected-times>
|
||||
</TEST>
|
||||
<TEST id="33">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-7_bw125_sf7_crc1_pwr1_004.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr /><!-- 40 0f 04 -->
|
||||
<expected-data-only>ff ff ff ff</expected-data-only>
|
||||
<expected-times>1</expected-times>
|
||||
</TEST>
|
||||
<TEST id="34">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-6_bw125_sf6_crc1_pwr1_004.cfile</file>
|
||||
<spreading-factor>6</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr /><!-- 40 0d 03 -->
|
||||
<expected-data-only>ff ff ff ff</expected-data-only>
|
||||
<expected-times>1</expected-times>
|
||||
</TEST>
|
||||
<TEST id="35">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-6_bw125_sf7_crc1_pwr1_004.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr /><!-- 40 0d 03 -->
|
||||
<expected-data-only>ff ff ff ff</expected-data-only>
|
||||
<expected-times>1</expected-times>
|
||||
</TEST>
|
||||
<TEST id="36">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-5_bw125_sf7_crc1_pwr1_005.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr /><!-- 40 0b 07 -->
|
||||
<expected-data-only>ff ff ff ff</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="37">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-5_bw125_sf8_crc1_pwr1_005.cfile</file>
|
||||
<spreading-factor>8</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr /><!-- 40 0b 07 -->
|
||||
<expected-data-only>ff ff ff ff</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="38">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-5_bw125_sf12_crc1_pwr1_005.cfile</file>
|
||||
<spreading-factor>12</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr /><!-- 40 0b 07 -->
|
||||
<expected-data-only>ff ff ff ff</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="39">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-7_bw125_sf6_crc1_pwr1_005.cfile</file>
|
||||
<spreading-factor>6</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr /><!-- 40 0f 04 -->
|
||||
<expected-data-only>ff ff ff ff</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="40">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-7_bw125_sf7_crc1_pwr1_005.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr /><!-- 40 0f 04 -->
|
||||
<expected-data-only>ff ff ff ff</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="41">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-6_bw125_sf6_crc1_pwr1_005.cfile</file>
|
||||
<spreading-factor>6</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr /><!-- 40 0f 03 -->
|
||||
<expected-data-only>ff ff ff ff</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="42">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-6_bw125_sf7_crc1_pwr1_005.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr /><!-- 40 0f 03 -->
|
||||
<expected-data-only>ff ff ff ff</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="43">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-5_bw125_sf7_crc1_pwr1_006.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr /><!-- 40 0b 07 -->
|
||||
<expected-data-only>55 55 55 55</expected-data-only>
|
||||
<expected-times>3</expected-times>
|
||||
</TEST>
|
||||
<TEST id="44">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-5_bw125_sf8_crc1_pwr1_006.cfile</file>
|
||||
<spreading-factor>8</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr /><!-- 40 0b 07 -->
|
||||
<expected-data-only>55 55 55 55</expected-data-only>
|
||||
<expected-times>3</expected-times>
|
||||
</TEST>
|
||||
<TEST id="45">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-5_bw125_sf12_crc1_pwr1_006.cfile</file>
|
||||
<spreading-factor>12</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr /><!-- 40 0b 07 -->
|
||||
<expected-data-only>55 55 55 55</expected-data-only>
|
||||
<expected-times>3</expected-times>
|
||||
</TEST>
|
||||
<TEST id="46">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-7_bw125_sf6_crc1_pwr1_006.cfile</file>
|
||||
<spreading-factor>6</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr /><!-- 40 0f 04 -->
|
||||
<expected-data-only>55 55 55 55</expected-data-only>
|
||||
<expected-times>3</expected-times>
|
||||
</TEST>
|
||||
<TEST id="47">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-7_bw125_sf7_crc1_pwr1_006.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr /><!-- 40 0f 04 -->
|
||||
<expected-data-only>55 55 55 55</expected-data-only>
|
||||
<expected-times>3</expected-times>
|
||||
</TEST>
|
||||
<TEST id="48">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-6_bw125_sf6_crc1_pwr1_006.cfile</file>
|
||||
<spreading-factor>6</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr /><!-- 40 0d 03 -->
|
||||
<expected-data-only>55 55 55 55</expected-data-only>
|
||||
<expected-times>3</expected-times>
|
||||
</TEST>
|
||||
<TEST id="49">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-6_bw125_sf7_crc1_pwr1_006.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr /><!-- 40 0d 03 -->
|
||||
<expected-data-only>55 55 55 55</expected-data-only>
|
||||
<expected-times>3</expected-times>
|
||||
</TEST>
|
||||
<TEST id="50">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-5_bw125_sf7_crc1_pwr1_007.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr /><!-- 40 0b 07 -->
|
||||
<expected-data-only>55 55 55 55</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="51">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-5_bw125_sf8_crc1_pwr1_007.cfile</file>
|
||||
<spreading-factor>8</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr /><!-- 40 0b 07 -->
|
||||
<expected-data-only>55 55 55 55</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="52">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-5_bw125_sf12_crc1_pwr1_007.cfile</file>
|
||||
<spreading-factor>12</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr /><!-- 40 0b 07 -->
|
||||
<expected-data-only>55 55 55 55</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="53">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-7_bw125_sf6_crc1_pwr1_007.cfile</file>
|
||||
<spreading-factor>6</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr /><!-- 40 0f 04 -->
|
||||
<expected-data-only>55 55 55 55</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="54">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-7_bw125_sf7_crc1_pwr1_007.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr /><!-- 40 0f 04 -->
|
||||
<expected-data-only>55 55 55 55</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="55">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-6_bw125_sf6_crc1_pwr1_007.cfile</file>
|
||||
<spreading-factor>6</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr /><!-- 40 0d 03 -->
|
||||
<expected-data-only>55 55 55 55</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="56">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-6_bw125_sf7_crc1_pwr1_007.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr /><!-- 40 0d 03 -->
|
||||
<expected-data-only>55 55 55 55</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="57">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-5_bw125_sf7_crc1_pwr1_008.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr /><!-- 40 0b 07 -->
|
||||
<expected-data-only>88 88 88 88</expected-data-only>
|
||||
<expected-times>1</expected-times>
|
||||
</TEST>
|
||||
<TEST id="58">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-5_bw125_sf8_crc1_pwr1_008.cfile</file>
|
||||
<spreading-factor>8</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr /><!-- 40 0b 07 -->
|
||||
<expected-data-only>88 88 88 88</expected-data-only>
|
||||
<expected-times>1</expected-times>
|
||||
</TEST>
|
||||
<TEST id="59">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-5_bw125_sf12_crc1_pwr1_008.cfile</file>
|
||||
<spreading-factor>12</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr /><!-- 40 0b 07 -->
|
||||
<expected-data-only>88 88 88 88</expected-data-only>
|
||||
<expected-times>1</expected-times>
|
||||
</TEST>
|
||||
<TEST id="60">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-7_bw125_sf6_crc1_pwr1_008.cfile</file>
|
||||
<spreading-factor>6</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr /><!-- 40 0f 04 -->
|
||||
<expected-data-only>88 88 88 88</expected-data-only>
|
||||
<expected-times>1</expected-times>
|
||||
</TEST>
|
||||
<TEST id="61">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-7_bw125_sf7_crc1_pwr1_008.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr /><!-- 40 0f 04 -->
|
||||
<expected-data-only>88 88 88 88</expected-data-only>
|
||||
<expected-times>1</expected-times>
|
||||
</TEST>
|
||||
<TEST id="62">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-6_bw125_sf6_crc1_pwr1_008.cfile</file>
|
||||
<spreading-factor>6</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr /><!-- 40 0d 03 -->
|
||||
<expected-data-only>88 88 88 88</expected-data-only>
|
||||
<expected-times>1</expected-times>
|
||||
</TEST>
|
||||
<TEST id="63">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-6_bw125_sf7_crc1_pwr1_008.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr /><!-- 40 0d 03 -->
|
||||
<expected-data-only>88 88 88 88</expected-data-only>
|
||||
<expected-times>1</expected-times>
|
||||
</TEST>
|
||||
<TEST id="64">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-5_bw125_sf7_crc1_pwr1_009.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr /><!-- 40 0b 07 -->
|
||||
<expected-data-only>88 88 88 88</expected-data-only>
|
||||
<expected-times>5</expected-times>
|
||||
</TEST>
|
||||
<TEST id="65">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-5_bw125_sf8_crc1_pwr1_009.cfile</file>
|
||||
<spreading-factor>8</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr /><!-- 40 0b 07 -->
|
||||
<expected-data-only>88 88 88 88</expected-data-only>
|
||||
<expected-times>5</expected-times>
|
||||
</TEST>
|
||||
<TEST id="66">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-5_bw125_sf12_crc1_pwr1_009.cfile</file>
|
||||
<spreading-factor>12</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr /><!-- 40 0b 07 -->
|
||||
<expected-data-only>88 88 88 88</expected-data-only>
|
||||
<expected-times>5</expected-times>
|
||||
</TEST>
|
||||
<TEST id="67">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-7_bw125_sf6_crc1_pwr1_009.cfile</file>
|
||||
<spreading-factor>6</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr /><!-- 40 0f 04 -->
|
||||
<expected-data-only>88 88 88 88</expected-data-only>
|
||||
<expected-times>5</expected-times>
|
||||
</TEST>
|
||||
<TEST id="68">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-7_bw125_sf7_crc1_pwr1_009.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr /><!-- 40 0f 04 -->
|
||||
<expected-data-only>88 88 88 88</expected-data-only>
|
||||
<expected-times>5</expected-times>
|
||||
</TEST>
|
||||
<TEST id="69">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-6_bw125_sf6_crc1_pwr1_009.cfile</file>
|
||||
<spreading-factor>6</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr /><!-- 40 0d 03 -->
|
||||
<expected-data-only>88 88 88 88</expected-data-only>
|
||||
<expected-times>5</expected-times>
|
||||
</TEST>
|
||||
<TEST id="70">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-6_bw125_sf7_crc1_pwr1_009.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr /><!-- 40 0d 03 -->
|
||||
<expected-data-only>88 88 88 88</expected-data-only>
|
||||
<expected-times>5</expected-times>
|
||||
</TEST>
|
||||
<TEST id="71">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-5_bw125_sf7_crc1_pwr1_010.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr /><!-- 40 0b 07 -->
|
||||
<expected-data-only>88 88 88 88</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="72">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-5_bw125_sf8_crc1_pwr1_010.cfile</file>
|
||||
<spreading-factor>8</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr /><!-- 40 0b 07 -->
|
||||
<expected-data-only>88 88 88 88</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="73">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-5_bw125_sf12_crc1_pwr1_010.cfile</file>
|
||||
<spreading-factor>12</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr /><!-- 40 0b 07 -->
|
||||
<expected-data-only>88 88 88 88</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="74">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-7_bw125_sf6_crc1_pwr1_010.cfile</file>
|
||||
<spreading-factor>6</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr /><!-- 40 0f 04 -->
|
||||
<expected-data-only>88 88 88 88</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="75">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-7_bw125_sf7_crc1_pwr1_010.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr /><!-- 40 0f 04 -->
|
||||
<expected-data-only>88 88 88 88</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="76">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-6_bw125_sf6_crc1_pwr1_010.cfile</file>
|
||||
<spreading-factor>6</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr /><!-- 40 0d 03 -->
|
||||
<expected-data-only>88 88 88 88</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="77">
|
||||
<file>../../examples/lora-samples/hackrf_cr4-6_bw125_sf7_crc1_pwr1_010.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr /><!-- 40 0d 03 -->
|
||||
<expected-data-only>88 88 88 88</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
</lora-test-data>
|
|
@ -1,619 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<lora-test-data set="rtlsdr">
|
||||
<TEST id="1">
|
||||
<file>../../examples/lora-samples/rtlsdr_cr4-5_bw125_sf7_crc1_pwr1_000.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>01 23 45 67 89 ab cd ef</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="2">
|
||||
<file>../../examples/lora-samples/rtlsdr_cr4-5_bw125_sf8_crc1_pwr1_000.cfile</file>
|
||||
<spreading-factor>8</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>01 23 45 67 89 ab cd ef</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="3">
|
||||
<file>../../examples/lora-samples/rtlsdr_cr4-5_bw125_sf12_crc1_pwr1_000.cfile</file>
|
||||
<spreading-factor>12</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>01 23 45 67 89 ab cd ef</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="4">
|
||||
<file>../../examples/lora-samples/rtlsdr_cr4-7_bw125_sf6_crc1_pwr1_000.cfile</file>
|
||||
<spreading-factor>6</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>01 23 45 67 89 ab cd ef</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="5">
|
||||
<file>../../examples/lora-samples/rtlsdr_cr4-7_bw125_sf7_crc1_pwr1_000.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>01 23 45 67 89 ab cd ef</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="6">
|
||||
<file>../../examples/lora-samples/rtlsdr_cr4-6_bw125_sf6_crc1_pwr1_000.cfile</file>
|
||||
<spreading-factor>6</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>01 23 45 67 89 ab cd ef</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="7">
|
||||
<file>../../examples/lora-samples/rtlsdr_cr4-6_bw125_sf7_crc1_pwr1_000.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>01 23 45 67 89 ab cd ef</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="8">
|
||||
<file>../../examples/lora-samples/rtlsdr_cr4-5_bw125_sf7_crc1_pwr1_001.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>11 11 11</expected-data-only>
|
||||
<expected-times>1</expected-times>
|
||||
</TEST>
|
||||
<TEST id="9">
|
||||
<file>../../examples/lora-samples/rtlsdr_cr4-5_bw125_sf8_crc1_pwr1_001.cfile</file>
|
||||
<spreading-factor>8</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>11 11 11</expected-data-only>
|
||||
<expected-times>1</expected-times>
|
||||
</TEST>
|
||||
<TEST id="10">
|
||||
<file>../../examples/lora-samples/rtlsdr_cr4-5_bw125_sf12_crc1_pwr1_001.cfile</file>
|
||||
<spreading-factor>12</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>11 11 11</expected-data-only>
|
||||
<expected-times>1</expected-times>
|
||||
</TEST>
|
||||
<TEST id="11">
|
||||
<file>../../examples/lora-samples/rtlsdr_cr4-7_bw125_sf6_crc1_pwr1_001.cfile</file>
|
||||
<spreading-factor>6</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>11 11 11</expected-data-only>
|
||||
<expected-times>1</expected-times>
|
||||
</TEST>
|
||||
<TEST id="12">
|
||||
<file>../../examples/lora-samples/rtlsdr_cr4-7_bw125_sf7_crc1_pwr1_001.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>11 11 11</expected-data-only>
|
||||
<expected-times>1</expected-times>
|
||||
</TEST>
|
||||
<TEST id="13">
|
||||
<file>../../examples/lora-samples/rtlsdr_cr4-6_bw125_sf6_crc1_pwr1_001.cfile</file>
|
||||
<spreading-factor>6</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>11 11 11</expected-data-only>
|
||||
<expected-times>1</expected-times>
|
||||
</TEST>
|
||||
<TEST id="14">
|
||||
<file>../../examples/lora-samples/rtlsdr_cr4-6_bw125_sf7_crc1_pwr1_001.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>11 11 11</expected-data-only>
|
||||
<expected-times>1</expected-times>
|
||||
</TEST>
|
||||
<TEST id="15">
|
||||
<file>../../examples/lora-samples/rtlsdr_cr4-5_bw125_sf7_crc1_pwr1_002.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>11 11 11</expected-data-only>
|
||||
<expected-times>5</expected-times>
|
||||
</TEST>
|
||||
<TEST id="16">
|
||||
<file>../../examples/lora-samples/rtlsdr_cr4-5_bw125_sf8_crc1_pwr1_002.cfile</file>
|
||||
<spreading-factor>8</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>11 11 11</expected-data-only>
|
||||
<expected-times>5</expected-times>
|
||||
</TEST>
|
||||
<TEST id="17">
|
||||
<file>../../examples/lora-samples/rtlsdr_cr4-5_bw125_sf12_crc1_pwr1_002.cfile</file>
|
||||
<spreading-factor>12</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>11 11 11</expected-data-only>
|
||||
<expected-times>5</expected-times>
|
||||
</TEST>
|
||||
<TEST id="18">
|
||||
<file>../../examples/lora-samples/rtlsdr_cr4-7_bw125_sf6_crc1_pwr1_002.cfile</file>
|
||||
<spreading-factor>6</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>11 11 11</expected-data-only>
|
||||
<expected-times>5</expected-times>
|
||||
</TEST>
|
||||
<TEST id="19">
|
||||
<file>../../examples/lora-samples/rtlsdr_cr4-7_bw125_sf7_crc1_pwr1_002.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>11 11 11</expected-data-only>
|
||||
<expected-times>5</expected-times>
|
||||
</TEST>
|
||||
<TEST id="20">
|
||||
<file>../../examples/lora-samples/rtlsdr_cr4-6_bw125_sf6_crc1_pwr1_002.cfile</file>
|
||||
<spreading-factor>6</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>11 11 11</expected-data-only>
|
||||
<expected-times>5</expected-times>
|
||||
</TEST>
|
||||
<TEST id="21">
|
||||
<file>../../examples/lora-samples/rtlsdr_cr4-6_bw125_sf7_crc1_pwr1_002.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>11 11 11</expected-data-only>
|
||||
<expected-times>5</expected-times>
|
||||
</TEST>
|
||||
<TEST id="22">
|
||||
<file>../../examples/lora-samples/rtlsdr_cr4-5_bw125_sf7_crc1_pwr1_003.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>aa aa aa aa</expected-data-only>
|
||||
<expected-times>3</expected-times>
|
||||
</TEST>
|
||||
<TEST id="23">
|
||||
<file>../../examples/lora-samples/rtlsdr_cr4-5_bw125_sf8_crc1_pwr1_003.cfile</file>
|
||||
<spreading-factor>8</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>aa aa aa aa</expected-data-only>
|
||||
<expected-times>3</expected-times>
|
||||
</TEST>
|
||||
<TEST id="24">
|
||||
<file>../../examples/lora-samples/rtlsdr_cr4-5_bw125_sf12_crc1_pwr1_003.cfile</file>
|
||||
<spreading-factor>12</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>aa aa aa aa</expected-data-only>
|
||||
<expected-times>3</expected-times>
|
||||
</TEST>
|
||||
<TEST id="25">
|
||||
<file>../../examples/lora-samples/rtlsdr_cr4-7_bw125_sf6_crc1_pwr1_003.cfile</file>
|
||||
<spreading-factor>6</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>aa aa aa aa</expected-data-only>
|
||||
<expected-times>3</expected-times>
|
||||
</TEST>
|
||||
<TEST id="26">
|
||||
<file>../../examples/lora-samples/rtlsdr_cr4-7_bw125_sf7_crc1_pwr1_003.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>aa aa aa aa</expected-data-only>
|
||||
<expected-times>3</expected-times>
|
||||
</TEST>
|
||||
<TEST id="27">
|
||||
<file>../../examples/lora-samples/rtlsdr_cr4-6_bw125_sf6_crc1_pwr1_003.cfile</file>
|
||||
<spreading-factor>6</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>aa aa aa aa</expected-data-only>
|
||||
<expected-times>3</expected-times>
|
||||
</TEST>
|
||||
<TEST id="28">
|
||||
<file>../../examples/lora-samples/rtlsdr_cr4-6_bw125_sf7_crc1_pwr1_003.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>aa aa aa aa</expected-data-only>
|
||||
<expected-times>3</expected-times>
|
||||
</TEST>
|
||||
<TEST id="29">
|
||||
<file>../../examples/lora-samples/rtlsdr_cr4-5_bw125_sf7_crc1_pwr1_004.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>ff ff ff ff</expected-data-only>
|
||||
<expected-times>1</expected-times>
|
||||
</TEST>
|
||||
<TEST id="30">
|
||||
<file>../../examples/lora-samples/rtlsdr_cr4-5_bw125_sf8_crc1_pwr1_004.cfile</file>
|
||||
<spreading-factor>8</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>ff ff ff ff</expected-data-only>
|
||||
<expected-times>1</expected-times>
|
||||
</TEST>
|
||||
<TEST id="31">
|
||||
<file>../../examples/lora-samples/rtlsdr_cr4-5_bw125_sf12_crc1_pwr1_004.cfile</file>
|
||||
<spreading-factor>12</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>ff ff ff ff</expected-data-only>
|
||||
<expected-times>1</expected-times>
|
||||
</TEST>
|
||||
<TEST id="32">
|
||||
<file>../../examples/lora-samples/rtlsdr_cr4-7_bw125_sf6_crc1_pwr1_004.cfile</file>
|
||||
<spreading-factor>6</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>ff ff ff ff</expected-data-only>
|
||||
<expected-times>1</expected-times>
|
||||
</TEST>
|
||||
<TEST id="33">
|
||||
<file>../../examples/lora-samples/rtlsdr_cr4-7_bw125_sf7_crc1_pwr1_004.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>ff ff ff ff</expected-data-only>
|
||||
<expected-times>1</expected-times>
|
||||
</TEST>
|
||||
<TEST id="34">
|
||||
<file>../../examples/lora-samples/rtlsdr_cr4-6_bw125_sf6_crc1_pwr1_004.cfile</file>
|
||||
<spreading-factor>6</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>ff ff ff ff</expected-data-only>
|
||||
<expected-times>1</expected-times>
|
||||
</TEST>
|
||||
<TEST id="35">
|
||||
<file>../../examples/lora-samples/rtlsdr_cr4-6_bw125_sf7_crc1_pwr1_004.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>ff ff ff ff</expected-data-only>
|
||||
<expected-times>1</expected-times>
|
||||
</TEST>
|
||||
<TEST id="36">
|
||||
<file>../../examples/lora-samples/rtlsdr_cr4-5_bw125_sf7_crc1_pwr1_005.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>ff ff ff ff</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="37">
|
||||
<file>../../examples/lora-samples/rtlsdr_cr4-5_bw125_sf8_crc1_pwr1_005.cfile</file>
|
||||
<spreading-factor>8</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>ff ff ff ff</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="38">
|
||||
<file>../../examples/lora-samples/rtlsdr_cr4-5_bw125_sf12_crc1_pwr1_005.cfile</file>
|
||||
<spreading-factor>12</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>ff ff ff ff</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="39">
|
||||
<file>../../examples/lora-samples/rtlsdr_cr4-7_bw125_sf6_crc1_pwr1_005.cfile</file>
|
||||
<spreading-factor>6</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>ff ff ff ff</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="40">
|
||||
<file>../../examples/lora-samples/rtlsdr_cr4-7_bw125_sf7_crc1_pwr1_005.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>ff ff ff ff</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="41">
|
||||
<file>../../examples/lora-samples/rtlsdr_cr4-6_bw125_sf6_crc1_pwr1_005.cfile</file>
|
||||
<spreading-factor>6</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>ff ff ff ff</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="42">
|
||||
<file>../../examples/lora-samples/rtlsdr_cr4-6_bw125_sf7_crc1_pwr1_005.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>ff ff ff ff</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="43">
|
||||
<file>../../examples/lora-samples/rtlsdr_cr4-5_bw125_sf7_crc1_pwr1_006.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>55 55 55 55</expected-data-only>
|
||||
<expected-times>3</expected-times>
|
||||
</TEST>
|
||||
<TEST id="44">
|
||||
<file>../../examples/lora-samples/rtlsdr_cr4-5_bw125_sf8_crc1_pwr1_006.cfile</file>
|
||||
<spreading-factor>8</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>55 55 55 55</expected-data-only>
|
||||
<expected-times>3</expected-times>
|
||||
</TEST>
|
||||
<TEST id="45">
|
||||
<file>../../examples/lora-samples/rtlsdr_cr4-5_bw125_sf12_crc1_pwr1_006.cfile</file>
|
||||
<spreading-factor>12</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>55 55 55 55</expected-data-only>
|
||||
<expected-times>3</expected-times>
|
||||
</TEST>
|
||||
<TEST id="46">
|
||||
<file>../../examples/lora-samples/rtlsdr_cr4-7_bw125_sf6_crc1_pwr1_006.cfile</file>
|
||||
<spreading-factor>6</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>55 55 55 55</expected-data-only>
|
||||
<expected-times>3</expected-times>
|
||||
</TEST>
|
||||
<TEST id="47">
|
||||
<file>../../examples/lora-samples/rtlsdr_cr4-7_bw125_sf7_crc1_pwr1_006.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>55 55 55 55</expected-data-only>
|
||||
<expected-times>3</expected-times>
|
||||
</TEST>
|
||||
<TEST id="48">
|
||||
<file>../../examples/lora-samples/rtlsdr_cr4-6_bw125_sf6_crc1_pwr1_006.cfile</file>
|
||||
<spreading-factor>6</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>55 55 55 55</expected-data-only>
|
||||
<expected-times>3</expected-times>
|
||||
</TEST>
|
||||
<TEST id="49">
|
||||
<file>../../examples/lora-samples/rtlsdr_cr4-6_bw125_sf7_crc1_pwr1_006.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>55 55 55 55</expected-data-only>
|
||||
<expected-times>3</expected-times>
|
||||
</TEST>
|
||||
<TEST id="50">
|
||||
<file>../../examples/lora-samples/rtlsdr_cr4-5_bw125_sf7_crc1_pwr1_007.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>55 55 55 55</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="51">
|
||||
<file>../../examples/lora-samples/rtlsdr_cr4-5_bw125_sf8_crc1_pwr1_007.cfile</file>
|
||||
<spreading-factor>8</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>55 55 55 55</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="52">
|
||||
<file>../../examples/lora-samples/rtlsdr_cr4-5_bw125_sf12_crc1_pwr1_007.cfile</file>
|
||||
<spreading-factor>12</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>55 55 55 55</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="53">
|
||||
<file>../../examples/lora-samples/rtlsdr_cr4-7_bw125_sf6_crc1_pwr1_007.cfile</file>
|
||||
<spreading-factor>6</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>55 55 55 55</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="54">
|
||||
<file>../../examples/lora-samples/rtlsdr_cr4-7_bw125_sf7_crc1_pwr1_007.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>55 55 55 55</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="55">
|
||||
<file>../../examples/lora-samples/rtlsdr_cr4-6_bw125_sf6_crc1_pwr1_007.cfile</file>
|
||||
<spreading-factor>6</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>55 55 55 55</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="56">
|
||||
<file>../../examples/lora-samples/rtlsdr_cr4-6_bw125_sf7_crc1_pwr1_007.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>55 55 55 55</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="57">
|
||||
<file>../../examples/lora-samples/rtlsdr_cr4-5_bw125_sf7_crc1_pwr1_008.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>88 88 88 88</expected-data-only>
|
||||
<expected-times>1</expected-times>
|
||||
</TEST>
|
||||
<TEST id="58">
|
||||
<file>../../examples/lora-samples/rtlsdr_cr4-5_bw125_sf8_crc1_pwr1_008.cfile</file>
|
||||
<spreading-factor>8</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>88 88 88 88</expected-data-only>
|
||||
<expected-times>1</expected-times>
|
||||
</TEST>
|
||||
<TEST id="59">
|
||||
<file>../../examples/lora-samples/rtlsdr_cr4-5_bw125_sf12_crc1_pwr1_008.cfile</file>
|
||||
<spreading-factor>12</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>88 88 88 88</expected-data-only>
|
||||
<expected-times>1</expected-times>
|
||||
</TEST>
|
||||
<TEST id="60">
|
||||
<file>../../examples/lora-samples/rtlsdr_cr4-7_bw125_sf6_crc1_pwr1_008.cfile</file>
|
||||
<spreading-factor>6</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>88 88 88 88</expected-data-only>
|
||||
<expected-times>1</expected-times>
|
||||
</TEST>
|
||||
<TEST id="61">
|
||||
<file>../../examples/lora-samples/rtlsdr_cr4-7_bw125_sf7_crc1_pwr1_008.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>88 88 88 88</expected-data-only>
|
||||
<expected-times>1</expected-times>
|
||||
</TEST>
|
||||
<TEST id="62">
|
||||
<file>../../examples/lora-samples/rtlsdr_cr4-6_bw125_sf6_crc1_pwr1_008.cfile</file>
|
||||
<spreading-factor>6</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>88 88 88 88</expected-data-only>
|
||||
<expected-times>1</expected-times>
|
||||
</TEST>
|
||||
<TEST id="63">
|
||||
<file>../../examples/lora-samples/rtlsdr_cr4-6_bw125_sf7_crc1_pwr1_008.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>88 88 88 88</expected-data-only>
|
||||
<expected-times>1</expected-times>
|
||||
</TEST>
|
||||
<TEST id="64">
|
||||
<file>../../examples/lora-samples/rtlsdr_cr4-5_bw125_sf7_crc1_pwr1_009.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>88 88 88 88</expected-data-only>
|
||||
<expected-times>5</expected-times>
|
||||
</TEST>
|
||||
<TEST id="65">
|
||||
<file>../../examples/lora-samples/rtlsdr_cr4-5_bw125_sf8_crc1_pwr1_009.cfile</file>
|
||||
<spreading-factor>8</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>88 88 88 88</expected-data-only>
|
||||
<expected-times>5</expected-times>
|
||||
</TEST>
|
||||
<TEST id="66">
|
||||
<file>../../examples/lora-samples/rtlsdr_cr4-5_bw125_sf12_crc1_pwr1_009.cfile</file>
|
||||
<spreading-factor>12</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>88 88 88 88</expected-data-only>
|
||||
<expected-times>5</expected-times>
|
||||
</TEST>
|
||||
<TEST id="67">
|
||||
<file>../../examples/lora-samples/rtlsdr_cr4-7_bw125_sf6_crc1_pwr1_009.cfile</file>
|
||||
<spreading-factor>6</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>88 88 88 88</expected-data-only>
|
||||
<expected-times>5</expected-times>
|
||||
</TEST>
|
||||
<TEST id="68">
|
||||
<file>../../examples/lora-samples/rtlsdr_cr4-7_bw125_sf7_crc1_pwr1_009.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>88 88 88 88</expected-data-only>
|
||||
<expected-times>5</expected-times>
|
||||
</TEST>
|
||||
<TEST id="69">
|
||||
<file>../../examples/lora-samples/rtlsdr_cr4-6_bw125_sf6_crc1_pwr1_009.cfile</file>
|
||||
<spreading-factor>6</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>88 88 88 88</expected-data-only>
|
||||
<expected-times>5</expected-times>
|
||||
</TEST>
|
||||
<TEST id="70">
|
||||
<file>../../examples/lora-samples/rtlsdr_cr4-6_bw125_sf7_crc1_pwr1_009.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>88 88 88 88</expected-data-only>
|
||||
<expected-times>5</expected-times>
|
||||
</TEST>
|
||||
<TEST id="71">
|
||||
<file>../../examples/lora-samples/rtlsdr_cr4-5_bw125_sf7_crc1_pwr1_010.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>88 88 88 88</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="72">
|
||||
<file>../../examples/lora-samples/rtlsdr_cr4-5_bw125_sf8_crc1_pwr1_010.cfile</file>
|
||||
<spreading-factor>8</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>88 88 88 88</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="73">
|
||||
<file>../../examples/lora-samples/rtlsdr_cr4-5_bw125_sf12_crc1_pwr1_010.cfile</file>
|
||||
<spreading-factor>12</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>88 88 88 88</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="74">
|
||||
<file>../../examples/lora-samples/rtlsdr_cr4-7_bw125_sf6_crc1_pwr1_010.cfile</file>
|
||||
<spreading-factor>6</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>88 88 88 88</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="75">
|
||||
<file>../../examples/lora-samples/rtlsdr_cr4-7_bw125_sf7_crc1_pwr1_010.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>88 88 88 88</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="76">
|
||||
<file>../../examples/lora-samples/rtlsdr_cr4-6_bw125_sf6_crc1_pwr1_010.cfile</file>
|
||||
<spreading-factor>6</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>88 88 88 88</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="77">
|
||||
<file>../../examples/lora-samples/rtlsdr_cr4-6_bw125_sf7_crc1_pwr1_010.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>88 88 88 88</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
</lora-test-data>
|
|
@ -1,619 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<lora-test-data set="usrp">
|
||||
<TEST id="1">
|
||||
<file>../../examples/lora-samples/usrp_cr4-5_bw125_sf7_crc1_pwr1_000.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>01 23 45 67 89 ab cd ef</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="2">
|
||||
<file>../../examples/lora-samples/usrp_cr4-5_bw125_sf8_crc1_pwr1_000.cfile</file>
|
||||
<spreading-factor>8</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>01 23 45 67 89 ab cd ef</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="3">
|
||||
<file>../../examples/lora-samples/usrp_cr4-5_bw125_sf12_crc1_pwr1_000.cfile</file>
|
||||
<spreading-factor>12</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>01 23 45 67 89 ab cd ef</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="4">
|
||||
<file>../../examples/lora-samples/usrp_cr4-7_bw125_sf6_crc1_pwr1_000.cfile</file>
|
||||
<spreading-factor>6</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>01 23 45 67 89 ab cd ef</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="5">
|
||||
<file>../../examples/lora-samples/usrp_cr4-7_bw125_sf7_crc1_pwr1_000.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>01 23 45 67 89 ab cd ef</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="6">
|
||||
<file>../../examples/lora-samples/usrp_cr4-6_bw125_sf6_crc1_pwr1_000.cfile</file>
|
||||
<spreading-factor>6</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>01 23 45 67 89 ab cd ef</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="7">
|
||||
<file>../../examples/lora-samples/usrp_cr4-6_bw125_sf7_crc1_pwr1_000.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>01 23 45 67 89 ab cd ef</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="8">
|
||||
<file>../../examples/lora-samples/usrp_cr4-5_bw125_sf7_crc1_pwr1_001.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>11 11 11</expected-data-only>
|
||||
<expected-times>1</expected-times>
|
||||
</TEST>
|
||||
<TEST id="9">
|
||||
<file>../../examples/lora-samples/usrp_cr4-5_bw125_sf8_crc1_pwr1_001.cfile</file>
|
||||
<spreading-factor>8</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>11 11 11</expected-data-only>
|
||||
<expected-times>1</expected-times>
|
||||
</TEST>
|
||||
<TEST id="10">
|
||||
<file>../../examples/lora-samples/usrp_cr4-5_bw125_sf12_crc1_pwr1_001.cfile</file>
|
||||
<spreading-factor>12</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>11 11 11</expected-data-only>
|
||||
<expected-times>1</expected-times>
|
||||
</TEST>
|
||||
<TEST id="11">
|
||||
<file>../../examples/lora-samples/usrp_cr4-7_bw125_sf6_crc1_pwr1_001.cfile</file>
|
||||
<spreading-factor>6</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>11 11 11</expected-data-only>
|
||||
<expected-times>1</expected-times>
|
||||
</TEST>
|
||||
<TEST id="12">
|
||||
<file>../../examples/lora-samples/usrp_cr4-7_bw125_sf7_crc1_pwr1_001.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>11 11 11</expected-data-only>
|
||||
<expected-times>1</expected-times>
|
||||
</TEST>
|
||||
<TEST id="13">
|
||||
<file>../../examples/lora-samples/usrp_cr4-6_bw125_sf6_crc1_pwr1_001.cfile</file>
|
||||
<spreading-factor>6</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>11 11 11</expected-data-only>
|
||||
<expected-times>1</expected-times>
|
||||
</TEST>
|
||||
<TEST id="14">
|
||||
<file>../../examples/lora-samples/usrp_cr4-6_bw125_sf7_crc1_pwr1_001.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>11 11 11</expected-data-only>
|
||||
<expected-times>1</expected-times>
|
||||
</TEST>
|
||||
<TEST id="15">
|
||||
<file>../../examples/lora-samples/usrp_cr4-5_bw125_sf7_crc1_pwr1_002.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>11 11 11</expected-data-only>
|
||||
<expected-times>5</expected-times>
|
||||
</TEST>
|
||||
<TEST id="16">
|
||||
<file>../../examples/lora-samples/usrp_cr4-5_bw125_sf8_crc1_pwr1_002.cfile</file>
|
||||
<spreading-factor>8</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>11 11 11</expected-data-only>
|
||||
<expected-times>5</expected-times>
|
||||
</TEST>
|
||||
<TEST id="17">
|
||||
<file>../../examples/lora-samples/usrp_cr4-5_bw125_sf12_crc1_pwr1_002.cfile</file>
|
||||
<spreading-factor>12</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>11 11 11</expected-data-only>
|
||||
<expected-times>5</expected-times>
|
||||
</TEST>
|
||||
<TEST id="18">
|
||||
<file>../../examples/lora-samples/usrp_cr4-7_bw125_sf6_crc1_pwr1_002.cfile</file>
|
||||
<spreading-factor>6</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>11 11 11</expected-data-only>
|
||||
<expected-times>5</expected-times>
|
||||
</TEST>
|
||||
<TEST id="19">
|
||||
<file>../../examples/lora-samples/usrp_cr4-7_bw125_sf7_crc1_pwr1_002.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>11 11 11</expected-data-only>
|
||||
<expected-times>5</expected-times>
|
||||
</TEST>
|
||||
<TEST id="20">
|
||||
<file>../../examples/lora-samples/usrp_cr4-6_bw125_sf6_crc1_pwr1_002.cfile</file>
|
||||
<spreading-factor>6</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>11 11 11</expected-data-only>
|
||||
<expected-times>5</expected-times>
|
||||
</TEST>
|
||||
<TEST id="21">
|
||||
<file>../../examples/lora-samples/usrp_cr4-6_bw125_sf7_crc1_pwr1_002.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>11 11 11</expected-data-only>
|
||||
<expected-times>5</expected-times>
|
||||
</TEST>
|
||||
<TEST id="22">
|
||||
<file>../../examples/lora-samples/usrp_cr4-5_bw125_sf7_crc1_pwr1_003.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>aa aa aa aa</expected-data-only>
|
||||
<expected-times>3</expected-times>
|
||||
</TEST>
|
||||
<TEST id="23">
|
||||
<file>../../examples/lora-samples/usrp_cr4-5_bw125_sf8_crc1_pwr1_003.cfile</file>
|
||||
<spreading-factor>8</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>aa aa aa aa</expected-data-only>
|
||||
<expected-times>3</expected-times>
|
||||
</TEST>
|
||||
<TEST id="24">
|
||||
<file>../../examples/lora-samples/usrp_cr4-5_bw125_sf12_crc1_pwr1_003.cfile</file>
|
||||
<spreading-factor>12</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>aa aa aa aa</expected-data-only>
|
||||
<expected-times>3</expected-times>
|
||||
</TEST>
|
||||
<TEST id="25">
|
||||
<file>../../examples/lora-samples/usrp_cr4-7_bw125_sf6_crc1_pwr1_003.cfile</file>
|
||||
<spreading-factor>6</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>aa aa aa aa</expected-data-only>
|
||||
<expected-times>3</expected-times>
|
||||
</TEST>
|
||||
<TEST id="26">
|
||||
<file>../../examples/lora-samples/usrp_cr4-7_bw125_sf7_crc1_pwr1_003.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>aa aa aa aa</expected-data-only>
|
||||
<expected-times>3</expected-times>
|
||||
</TEST>
|
||||
<TEST id="27">
|
||||
<file>../../examples/lora-samples/usrp_cr4-6_bw125_sf6_crc1_pwr1_003.cfile</file>
|
||||
<spreading-factor>6</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>aa aa aa aa</expected-data-only>
|
||||
<expected-times>3</expected-times>
|
||||
</TEST>
|
||||
<TEST id="28">
|
||||
<file>../../examples/lora-samples/usrp_cr4-6_bw125_sf7_crc1_pwr1_003.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>aa aa aa aa</expected-data-only>
|
||||
<expected-times>3</expected-times>
|
||||
</TEST>
|
||||
<TEST id="29">
|
||||
<file>../../examples/lora-samples/usrp_cr4-5_bw125_sf7_crc1_pwr1_004.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>ff ff ff ff</expected-data-only>
|
||||
<expected-times>1</expected-times>
|
||||
</TEST>
|
||||
<TEST id="30">
|
||||
<file>../../examples/lora-samples/usrp_cr4-5_bw125_sf8_crc1_pwr1_004.cfile</file>
|
||||
<spreading-factor>8</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>ff ff ff ff</expected-data-only>
|
||||
<expected-times>1</expected-times>
|
||||
</TEST>
|
||||
<TEST id="31">
|
||||
<file>../../examples/lora-samples/usrp_cr4-5_bw125_sf12_crc1_pwr1_004.cfile</file>
|
||||
<spreading-factor>12</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>ff ff ff ff</expected-data-only>
|
||||
<expected-times>1</expected-times>
|
||||
</TEST>
|
||||
<TEST id="32">
|
||||
<file>../../examples/lora-samples/usrp_cr4-7_bw125_sf6_crc1_pwr1_004.cfile</file>
|
||||
<spreading-factor>6</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>ff ff ff ff</expected-data-only>
|
||||
<expected-times>1</expected-times>
|
||||
</TEST>
|
||||
<TEST id="33">
|
||||
<file>../../examples/lora-samples/usrp_cr4-7_bw125_sf7_crc1_pwr1_004.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>ff ff ff ff</expected-data-only>
|
||||
<expected-times>1</expected-times>
|
||||
</TEST>
|
||||
<TEST id="34">
|
||||
<file>../../examples/lora-samples/usrp_cr4-6_bw125_sf6_crc1_pwr1_004.cfile</file>
|
||||
<spreading-factor>6</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>ff ff ff ff</expected-data-only>
|
||||
<expected-times>1</expected-times>
|
||||
</TEST>
|
||||
<TEST id="35">
|
||||
<file>../../examples/lora-samples/usrp_cr4-6_bw125_sf7_crc1_pwr1_004.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>ff ff ff ff</expected-data-only>
|
||||
<expected-times>1</expected-times>
|
||||
</TEST>
|
||||
<TEST id="36">
|
||||
<file>../../examples/lora-samples/usrp_cr4-5_bw125_sf7_crc1_pwr1_005.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>ff ff ff ff</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="37">
|
||||
<file>../../examples/lora-samples/usrp_cr4-5_bw125_sf8_crc1_pwr1_005.cfile</file>
|
||||
<spreading-factor>8</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>ff ff ff ff</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="38">
|
||||
<file>../../examples/lora-samples/usrp_cr4-5_bw125_sf12_crc1_pwr1_005.cfile</file>
|
||||
<spreading-factor>12</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>ff ff ff ff</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="39">
|
||||
<file>../../examples/lora-samples/usrp_cr4-7_bw125_sf6_crc1_pwr1_005.cfile</file>
|
||||
<spreading-factor>6</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>ff ff ff ff</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="40">
|
||||
<file>../../examples/lora-samples/usrp_cr4-7_bw125_sf7_crc1_pwr1_005.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>ff ff ff ff</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="41">
|
||||
<file>../../examples/lora-samples/usrp_cr4-6_bw125_sf6_crc1_pwr1_005.cfile</file>
|
||||
<spreading-factor>6</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>ff ff ff ff</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="42">
|
||||
<file>../../examples/lora-samples/usrp_cr4-6_bw125_sf7_crc1_pwr1_005.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>ff ff ff ff</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="43">
|
||||
<file>../../examples/lora-samples/usrp_cr4-5_bw125_sf7_crc1_pwr1_006.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>55 55 55 55</expected-data-only>
|
||||
<expected-times>3</expected-times>
|
||||
</TEST>
|
||||
<TEST id="44">
|
||||
<file>../../examples/lora-samples/usrp_cr4-5_bw125_sf8_crc1_pwr1_006.cfile</file>
|
||||
<spreading-factor>8</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>55 55 55 55</expected-data-only>
|
||||
<expected-times>3</expected-times>
|
||||
</TEST>
|
||||
<TEST id="45">
|
||||
<file>../../examples/lora-samples/usrp_cr4-5_bw125_sf12_crc1_pwr1_006.cfile</file>
|
||||
<spreading-factor>12</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>55 55 55 55</expected-data-only>
|
||||
<expected-times>3</expected-times>
|
||||
</TEST>
|
||||
<TEST id="46">
|
||||
<file>../../examples/lora-samples/usrp_cr4-7_bw125_sf6_crc1_pwr1_006.cfile</file>
|
||||
<spreading-factor>6</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>55 55 55 55</expected-data-only>
|
||||
<expected-times>3</expected-times>
|
||||
</TEST>
|
||||
<TEST id="47">
|
||||
<file>../../examples/lora-samples/usrp_cr4-7_bw125_sf7_crc1_pwr1_006.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>55 55 55 55</expected-data-only>
|
||||
<expected-times>3</expected-times>
|
||||
</TEST>
|
||||
<TEST id="48">
|
||||
<file>../../examples/lora-samples/usrp_cr4-6_bw125_sf6_crc1_pwr1_006.cfile</file>
|
||||
<spreading-factor>6</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>55 55 55 55</expected-data-only>
|
||||
<expected-times>3</expected-times>
|
||||
</TEST>
|
||||
<TEST id="49">
|
||||
<file>../../examples/lora-samples/usrp_cr4-6_bw125_sf7_crc1_pwr1_006.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>55 55 55 55</expected-data-only>
|
||||
<expected-times>3</expected-times>
|
||||
</TEST>
|
||||
<TEST id="50">
|
||||
<file>../../examples/lora-samples/usrp_cr4-5_bw125_sf7_crc1_pwr1_007.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>55 55 55 55</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="51">
|
||||
<file>../../examples/lora-samples/usrp_cr4-5_bw125_sf8_crc1_pwr1_007.cfile</file>
|
||||
<spreading-factor>8</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>55 55 55 55</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="52">
|
||||
<file>../../examples/lora-samples/usrp_cr4-5_bw125_sf12_crc1_pwr1_007.cfile</file>
|
||||
<spreading-factor>12</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>55 55 55 55</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="53">
|
||||
<file>../../examples/lora-samples/usrp_cr4-7_bw125_sf6_crc1_pwr1_007.cfile</file>
|
||||
<spreading-factor>6</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>55 55 55 55</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="54">
|
||||
<file>../../examples/lora-samples/usrp_cr4-7_bw125_sf7_crc1_pwr1_007.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>55 55 55 55</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="55">
|
||||
<file>../../examples/lora-samples/usrp_cr4-6_bw125_sf6_crc1_pwr1_007.cfile</file>
|
||||
<spreading-factor>6</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>55 55 55 55</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="56">
|
||||
<file>../../examples/lora-samples/usrp_cr4-6_bw125_sf7_crc1_pwr1_007.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>55 55 55 55</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="57">
|
||||
<file>../../examples/lora-samples/usrp_cr4-5_bw125_sf7_crc1_pwr1_008.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>88 88 88 88</expected-data-only>
|
||||
<expected-times>1</expected-times>
|
||||
</TEST>
|
||||
<TEST id="58">
|
||||
<file>../../examples/lora-samples/usrp_cr4-5_bw125_sf8_crc1_pwr1_008.cfile</file>
|
||||
<spreading-factor>8</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>88 88 88 88</expected-data-only>
|
||||
<expected-times>1</expected-times>
|
||||
</TEST>
|
||||
<TEST id="59">
|
||||
<file>../../examples/lora-samples/usrp_cr4-5_bw125_sf12_crc1_pwr1_008.cfile</file>
|
||||
<spreading-factor>12</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>88 88 88 88</expected-data-only>
|
||||
<expected-times>1</expected-times>
|
||||
</TEST>
|
||||
<TEST id="60">
|
||||
<file>../../examples/lora-samples/usrp_cr4-7_bw125_sf6_crc1_pwr1_008.cfile</file>
|
||||
<spreading-factor>6</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>88 88 88 88</expected-data-only>
|
||||
<expected-times>1</expected-times>
|
||||
</TEST>
|
||||
<TEST id="61">
|
||||
<file>../../examples/lora-samples/usrp_cr4-7_bw125_sf7_crc1_pwr1_008.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>88 88 88 88</expected-data-only>
|
||||
<expected-times>1</expected-times>
|
||||
</TEST>
|
||||
<TEST id="62">
|
||||
<file>../../examples/lora-samples/usrp_cr4-6_bw125_sf6_crc1_pwr1_008.cfile</file>
|
||||
<spreading-factor>6</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>88 88 88 88</expected-data-only>
|
||||
<expected-times>1</expected-times>
|
||||
</TEST>
|
||||
<TEST id="63">
|
||||
<file>../../examples/lora-samples/usrp_cr4-6_bw125_sf7_crc1_pwr1_008.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>88 88 88 88</expected-data-only>
|
||||
<expected-times>1</expected-times>
|
||||
</TEST>
|
||||
<TEST id="64">
|
||||
<file>../../examples/lora-samples/usrp_cr4-5_bw125_sf7_crc1_pwr1_009.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>88 88 88 88</expected-data-only>
|
||||
<expected-times>5</expected-times>
|
||||
</TEST>
|
||||
<TEST id="65">
|
||||
<file>../../examples/lora-samples/usrp_cr4-5_bw125_sf8_crc1_pwr1_009.cfile</file>
|
||||
<spreading-factor>8</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>88 88 88 88</expected-data-only>
|
||||
<expected-times>5</expected-times>
|
||||
</TEST>
|
||||
<TEST id="66">
|
||||
<file>../../examples/lora-samples/usrp_cr4-5_bw125_sf12_crc1_pwr1_009.cfile</file>
|
||||
<spreading-factor>12</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>88 88 88 88</expected-data-only>
|
||||
<expected-times>5</expected-times>
|
||||
</TEST>
|
||||
<TEST id="67">
|
||||
<file>../../examples/lora-samples/usrp_cr4-7_bw125_sf6_crc1_pwr1_009.cfile</file>
|
||||
<spreading-factor>6</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>88 88 88 88</expected-data-only>
|
||||
<expected-times>5</expected-times>
|
||||
</TEST>
|
||||
<TEST id="68">
|
||||
<file>../../examples/lora-samples/usrp_cr4-7_bw125_sf7_crc1_pwr1_009.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>88 88 88 88</expected-data-only>
|
||||
<expected-times>5</expected-times>
|
||||
</TEST>
|
||||
<TEST id="69">
|
||||
<file>../../examples/lora-samples/usrp_cr4-6_bw125_sf6_crc1_pwr1_009.cfile</file>
|
||||
<spreading-factor>6</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>88 88 88 88</expected-data-only>
|
||||
<expected-times>5</expected-times>
|
||||
</TEST>
|
||||
<TEST id="70">
|
||||
<file>../../examples/lora-samples/usrp_cr4-6_bw125_sf7_crc1_pwr1_009.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>88 88 88 88</expected-data-only>
|
||||
<expected-times>5</expected-times>
|
||||
</TEST>
|
||||
<TEST id="71">
|
||||
<file>../../examples/lora-samples/usrp_cr4-5_bw125_sf7_crc1_pwr1_010.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>88 88 88 88</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="72">
|
||||
<file>../../examples/lora-samples/usrp_cr4-5_bw125_sf8_crc1_pwr1_010.cfile</file>
|
||||
<spreading-factor>8</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>88 88 88 88</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="73">
|
||||
<file>../../examples/lora-samples/usrp_cr4-5_bw125_sf12_crc1_pwr1_010.cfile</file>
|
||||
<spreading-factor>12</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>88 88 88 88</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="74">
|
||||
<file>../../examples/lora-samples/usrp_cr4-7_bw125_sf6_crc1_pwr1_010.cfile</file>
|
||||
<spreading-factor>6</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>88 88 88 88</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="75">
|
||||
<file>../../examples/lora-samples/usrp_cr4-7_bw125_sf7_crc1_pwr1_010.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>88 88 88 88</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="76">
|
||||
<file>../../examples/lora-samples/usrp_cr4-6_bw125_sf6_crc1_pwr1_010.cfile</file>
|
||||
<spreading-factor>6</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>88 88 88 88</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
<TEST id="77">
|
||||
<file>../../examples/lora-samples/usrp_cr4-6_bw125_sf7_crc1_pwr1_010.cfile</file>
|
||||
<spreading-factor>7</spreading-factor>
|
||||
<expected-data-all />
|
||||
<expected-hdr />
|
||||
<expected-data-only>88 88 88 88</expected-data-only>
|
||||
<expected-times>10</expected-times>
|
||||
</TEST>
|
||||
</lora-test-data>
|
|
@ -1,114 +0,0 @@
|
|||
-------- Test Results on 2017-08-31 14:36:31 ---------
|
||||
Test serie 0: [u'01 23 45 67 89 ab cd ef'] * 10
|
||||
Test 1 :: cr4-5 bw125 sf7 crc1 pwr1 :: passed 10 out of 10 (100.00%)
|
||||
Test 2 :: cr4-5 bw125 sf8 crc1 pwr1 :: passed 10 out of 10 (100.00%)
|
||||
Test 3 :: cr4-5 bw125 sf12 crc1 pwr1 :: passed 10 out of 10 (100.00%)
|
||||
Test 4 :: cr4-7 bw125 sf6 crc1 pwr1 :: passed 10 out of 10 (100.00%)
|
||||
Test 5 :: cr4-7 bw125 sf7 crc1 pwr1 :: passed 10 out of 10 (100.00%)
|
||||
Test 6 :: cr4-6 bw125 sf6 crc1 pwr1 :: passed 10 out of 10 (100.00%)
|
||||
Test 7 :: cr4-6 bw125 sf7 crc1 pwr1 :: passed 9 out of 10 ( 90.00%)
|
||||
=> Total passed: 69 out of 70 (98.57%)
|
||||
|
||||
Test serie 1: [u'11 11 11'] * 1
|
||||
Test 8 :: cr4-5 bw125 sf7 crc1 pwr1 :: passed 1 out of 1 (100.00%)
|
||||
Test 9 :: cr4-5 bw125 sf8 crc1 pwr1 :: passed 1 out of 1 (100.00%)
|
||||
Test 10 :: cr4-5 bw125 sf12 crc1 pwr1 :: passed 1 out of 1 (100.00%)
|
||||
Test 11 :: cr4-7 bw125 sf6 crc1 pwr1 :: passed 1 out of 1 (100.00%)
|
||||
Test 12 :: cr4-7 bw125 sf7 crc1 pwr1 :: passed 1 out of 1 (100.00%)
|
||||
Test 13 :: cr4-6 bw125 sf6 crc1 pwr1 :: passed 1 out of 1 (100.00%)
|
||||
Test 14 :: cr4-6 bw125 sf7 crc1 pwr1 :: passed 1 out of 1 (100.00%)
|
||||
=> Total passed: 7 out of 7 (100.00%)
|
||||
|
||||
Test serie 2: [u'11 11 11'] * 5
|
||||
Test 15 :: cr4-5 bw125 sf7 crc1 pwr1 :: passed 5 out of 5 (100.00%)
|
||||
Test 16 :: cr4-5 bw125 sf8 crc1 pwr1 :: passed 5 out of 5 (100.00%)
|
||||
Test 17 :: cr4-5 bw125 sf12 crc1 pwr1 :: passed 5 out of 5 (100.00%)
|
||||
Test 18 :: cr4-7 bw125 sf6 crc1 pwr1 :: passed 5 out of 5 (100.00%)
|
||||
Test 19 :: cr4-7 bw125 sf7 crc1 pwr1 :: passed 5 out of 5 (100.00%)
|
||||
Test 20 :: cr4-6 bw125 sf6 crc1 pwr1 :: passed 5 out of 5 (100.00%)
|
||||
Test 21 :: cr4-6 bw125 sf7 crc1 pwr1 :: passed 5 out of 5 (100.00%)
|
||||
=> Total passed: 35 out of 35 (100.00%)
|
||||
|
||||
Test serie 3: [u'aa aa aa aa'] * 3
|
||||
Test 22 :: cr4-5 bw125 sf7 crc1 pwr1 :: passed 3 out of 3 (100.00%)
|
||||
Test 23 :: cr4-5 bw125 sf8 crc1 pwr1 :: passed 3 out of 3 (100.00%)
|
||||
Test 24 :: cr4-5 bw125 sf12 crc1 pwr1 :: passed 3 out of 3 (100.00%)
|
||||
Test 25 :: cr4-7 bw125 sf6 crc1 pwr1 :: passed 3 out of 3 (100.00%)
|
||||
Test 26 :: cr4-7 bw125 sf7 crc1 pwr1 :: passed 3 out of 3 (100.00%)
|
||||
Test 27 :: cr4-6 bw125 sf6 crc1 pwr1 :: passed 3 out of 3 (100.00%)
|
||||
Test 28 :: cr4-6 bw125 sf7 crc1 pwr1 :: passed 3 out of 3 (100.00%)
|
||||
=> Total passed: 21 out of 21 (100.00%)
|
||||
|
||||
Test serie 4: [u'ff ff ff ff'] * 1
|
||||
Test 29 :: cr4-5 bw125 sf7 crc1 pwr1 :: passed 1 out of 1 (100.00%)
|
||||
Test 30 :: cr4-5 bw125 sf8 crc1 pwr1 :: passed 1 out of 1 (100.00%)
|
||||
Test 31 :: cr4-5 bw125 sf12 crc1 pwr1 :: passed 1 out of 1 (100.00%)
|
||||
Test 32 :: cr4-7 bw125 sf6 crc1 pwr1 :: passed 1 out of 1 (100.00%)
|
||||
Test 33 :: cr4-7 bw125 sf7 crc1 pwr1 :: passed 1 out of 1 (100.00%)
|
||||
Test 34 :: cr4-6 bw125 sf6 crc1 pwr1 :: passed 1 out of 1 (100.00%)
|
||||
Test 35 :: cr4-6 bw125 sf7 crc1 pwr1 :: passed 0 out of 1 ( 0.00%)
|
||||
=> Total passed: 6 out of 7 (85.71%)
|
||||
|
||||
Test serie 5: [u'ff ff ff ff'] * 10
|
||||
Test 36 :: cr4-5 bw125 sf7 crc1 pwr1 :: passed 0 out of 10 ( 0.00%)
|
||||
Test 37 :: cr4-5 bw125 sf8 crc1 pwr1 :: passed 7 out of 10 ( 70.00%)
|
||||
Test 38 :: cr4-5 bw125 sf12 crc1 pwr1 :: passed 9 out of 10 ( 90.00%)
|
||||
Test 39 :: cr4-7 bw125 sf6 crc1 pwr1 :: passed 9 out of 10 ( 90.00%)
|
||||
Test 40 :: cr4-7 bw125 sf7 crc1 pwr1 :: passed 10 out of 10 (100.00%)
|
||||
Test 41 :: cr4-6 bw125 sf6 crc1 pwr1 :: passed 10 out of 10 (100.00%)
|
||||
Test 42 :: cr4-6 bw125 sf7 crc1 pwr1 :: passed 10 out of 10 (100.00%)
|
||||
=> Total passed: 55 out of 70 (78.57%)
|
||||
|
||||
Test serie 6: [u'55 55 55 55'] * 3
|
||||
Test 43 :: cr4-5 bw125 sf7 crc1 pwr1 :: passed 3 out of 3 (100.00%)
|
||||
Test 44 :: cr4-5 bw125 sf8 crc1 pwr1 :: passed 3 out of 3 (100.00%)
|
||||
Test 45 :: cr4-5 bw125 sf12 crc1 pwr1 :: passed 3 out of 3 (100.00%)
|
||||
Test 46 :: cr4-7 bw125 sf6 crc1 pwr1 :: passed 3 out of 3 (100.00%)
|
||||
Test 47 :: cr4-7 bw125 sf7 crc1 pwr1 :: passed 3 out of 3 (100.00%)
|
||||
Test 48 :: cr4-6 bw125 sf6 crc1 pwr1 :: passed 3 out of 3 (100.00%)
|
||||
Test 49 :: cr4-6 bw125 sf7 crc1 pwr1 :: passed 3 out of 3 (100.00%)
|
||||
=> Total passed: 21 out of 21 (100.00%)
|
||||
|
||||
Test serie 7: [u'55 55 55 55'] * 10
|
||||
Test 50 :: cr4-5 bw125 sf7 crc1 pwr1 :: passed 10 out of 10 (100.00%)
|
||||
Test 51 :: cr4-5 bw125 sf8 crc1 pwr1 :: passed 10 out of 10 (100.00%)
|
||||
Test 52 :: cr4-5 bw125 sf12 crc1 pwr1 :: passed 10 out of 10 (100.00%)
|
||||
Test 53 :: cr4-7 bw125 sf6 crc1 pwr1 :: passed 9 out of 10 ( 90.00%)
|
||||
Test 54 :: cr4-7 bw125 sf7 crc1 pwr1 :: passed 10 out of 10 (100.00%)
|
||||
Test 55 :: cr4-6 bw125 sf6 crc1 pwr1 :: passed 10 out of 10 (100.00%)
|
||||
Test 56 :: cr4-6 bw125 sf7 crc1 pwr1 :: passed 10 out of 10 (100.00%)
|
||||
=> Total passed: 69 out of 70 (98.57%)
|
||||
|
||||
Test serie 8: [u'88 88 88 88'] * 1
|
||||
Test 57 :: cr4-5 bw125 sf7 crc1 pwr1 :: passed 0 out of 1 ( 0.00%)
|
||||
Test 58 :: cr4-5 bw125 sf8 crc1 pwr1 :: passed 1 out of 1 (100.00%)
|
||||
Test 59 :: cr4-5 bw125 sf12 crc1 pwr1 :: passed 1 out of 1 (100.00%)
|
||||
Test 60 :: cr4-7 bw125 sf6 crc1 pwr1 :: passed 1 out of 1 (100.00%)
|
||||
Test 61 :: cr4-7 bw125 sf7 crc1 pwr1 :: passed 0 out of 1 ( 0.00%)
|
||||
Test 62 :: cr4-6 bw125 sf6 crc1 pwr1 :: passed 1 out of 1 (100.00%)
|
||||
Test 63 :: cr4-6 bw125 sf7 crc1 pwr1 :: passed 0 out of 1 ( 0.00%)
|
||||
=> Total passed: 4 out of 7 (57.14%)
|
||||
|
||||
Test serie 9: [u'88 88 88 88'] * 5
|
||||
Test 64 :: cr4-5 bw125 sf7 crc1 pwr1 :: passed 0 out of 5 ( 0.00%)
|
||||
Test 65 :: cr4-5 bw125 sf8 crc1 pwr1 :: passed 5 out of 5 (100.00%)
|
||||
Test 66 :: cr4-5 bw125 sf12 crc1 pwr1 :: passed 5 out of 5 (100.00%)
|
||||
Test 67 :: cr4-7 bw125 sf6 crc1 pwr1 :: passed 5 out of 5 (100.00%)
|
||||
Test 68 :: cr4-7 bw125 sf7 crc1 pwr1 :: passed 0 out of 5 ( 0.00%)
|
||||
Test 69 :: cr4-6 bw125 sf6 crc1 pwr1 :: passed 5 out of 5 (100.00%)
|
||||
Test 70 :: cr4-6 bw125 sf7 crc1 pwr1 :: passed 0 out of 5 ( 0.00%)
|
||||
=> Total passed: 20 out of 35 (57.14%)
|
||||
|
||||
Test serie 10: [u'88 88 88 88'] * 10
|
||||
Test 71 :: cr4-5 bw125 sf7 crc1 pwr1 :: passed 0 out of 10 ( 0.00%)
|
||||
Test 72 :: cr4-5 bw125 sf8 crc1 pwr1 :: passed 10 out of 10 (100.00%)
|
||||
Test 73 :: cr4-5 bw125 sf12 crc1 pwr1 :: passed 8 out of 10 ( 80.00%)
|
||||
Test 74 :: cr4-7 bw125 sf6 crc1 pwr1 :: passed 10 out of 10 (100.00%)
|
||||
Test 75 :: cr4-7 bw125 sf7 crc1 pwr1 :: passed 0 out of 10 ( 0.00%)
|
||||
Test 76 :: cr4-6 bw125 sf6 crc1 pwr1 :: passed 9 out of 10 ( 90.00%)
|
||||
Test 77 :: cr4-6 bw125 sf7 crc1 pwr1 :: passed 0 out of 10 ( 0.00%)
|
||||
=> Total passed: 37 out of 70 (52.86%)
|
||||
|
||||
|
||||
====== Total passed: 344 out of 413 (83.29%) ======
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
if [ -e ./qa_BasicTest_Data_hackrf.xml ] && [ -e ./qa_BasicTest_Data_rtlsdr.xml ] && [ -e ./qa_BasicTest_Data_usrp.xml ]; then
|
||||
mv ./qa_BasicTest_Data.xml ./qa_BasicTest_Data_extra.xml
|
||||
mv ./qa_BasicTest_Data_hackrf.xml ./qa_BasicTest_Data.xml
|
||||
echo "Current: HACKRF TESTS"
|
||||
elif [ -e ./qa_BasicTest_Data_rtlsdr.xml ] && [ -e ./qa_BasicTest_Data_usrp.xml ] && [ -e ./qa_BasicTest_Data_extra.xml ]; then
|
||||
mv ./qa_BasicTest_Data.xml ./qa_BasicTest_Data_hackrf.xml
|
||||
mv ./qa_BasicTest_Data_rtlsdr.xml ./qa_BasicTest_Data.xml
|
||||
echo "Current: RTL-SDR TESTS"
|
||||
elif [ -e ./qa_BasicTest_Data_hackrf.xml ] && [ -e ./qa_BasicTest_Data_usrp.xml ] && [ -e ./qa_BasicTest_Data_extra.xml ]; then
|
||||
mv ./qa_BasicTest_Data.xml ./qa_BasicTest_Data_rtlsdr.xml
|
||||
mv ./qa_BasicTest_Data_usrp.xml ./qa_BasicTest_Data.xml
|
||||
echo "Current: USRP TESTS"
|
||||
elif [ -e ./qa_BasicTest_Data_hackrf.xml ] && [ -e ./qa_BasicTest_Data_rtlsdr.xml ] && [ -e ./qa_BasicTest_Data_extra.xml ]; then
|
||||
mv ./qa_BasicTest_Data.xml ./qa_BasicTest_Data_usrp.xml
|
||||
mv ./qa_BasicTest_Data_extra.xml ./qa_BasicTest_Data.xml
|
||||
echo "Current: EXTRA TESTS"
|
||||
fi
|
|
@ -75,7 +75,7 @@ namespace gr {
|
|||
d_cfo_estimation = 0.0f;
|
||||
d_dt = 1.0f / d_samples_per_second;
|
||||
d_sf = sf;
|
||||
d_bits_per_second = (double)d_sf * (double)(1u + d_cr) / (1u << d_sf) * d_bw;
|
||||
d_bits_per_second = (double)d_sf * (double)(4.0 / (4.0 + d_cr)) / (1u << d_sf) * d_bw;
|
||||
d_symbols_per_second = (double)d_bw / (1u << d_sf);
|
||||
d_period = 1.0f / (double)d_symbols_per_second;
|
||||
d_bits_per_symbol = (uint32_t)(d_bits_per_second / d_symbols_per_second);
|
||||
|
@ -88,7 +88,7 @@ namespace gr {
|
|||
d_fine_sync = 0;
|
||||
set_output_multiple(2 * d_samples_per_symbol);
|
||||
|
||||
std::cout << "Bits per symbol: \t" << d_bits_per_symbol << std::endl;
|
||||
std::cout << "Bits (nominal) per symbol: \t" << d_bits_per_symbol << std::endl;
|
||||
std::cout << "Bins per symbol: \t" << d_number_of_bins << std::endl;
|
||||
std::cout << "Samples per symbol: \t" << d_samples_per_symbol << std::endl;
|
||||
std::cout << "Decimation: \t\t" << d_decim_factor << std::endl;
|
||||
|
|
|
@ -84,6 +84,7 @@ namespace gr {
|
|||
uint8_t *data = (uint8_t*) pmt::blob_data(msg);
|
||||
size_t size = pmt::blob_length(msg);
|
||||
|
||||
/*
|
||||
#ifdef DEBUG
|
||||
printf("Received message:\n\t");
|
||||
|
||||
|
@ -92,11 +93,9 @@ namespace gr {
|
|||
|
||||
putchar('\n');
|
||||
#endif
|
||||
*/
|
||||
|
||||
if (sendto(d_socket, data, size, 0,
|
||||
(const struct sockaddr*) d_sock_addr,
|
||||
sizeof(*d_sock_addr))
|
||||
!= (ssize_t)size) {
|
||||
if (sendto(d_socket, data, size, 0, (const struct sockaddr*)d_sock_addr, sizeof(*d_sock_addr)) != (ssize_t)size) {
|
||||
perror("[message_socket_sink] Mismatch in number of bytes sent");
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
|
|
@ -33,6 +33,7 @@ GR_PYTHON_INSTALL(
|
|||
__init__.py
|
||||
lora_decoder.py
|
||||
lora_receiver.py
|
||||
loraconfig.py
|
||||
message_wireshark_sink.py DESTINATION ${GR_PYTHON_DIR}/lora
|
||||
)
|
||||
|
||||
|
|
|
@ -0,0 +1,30 @@
|
|||
class LoRaConfig():
|
||||
def __init__(self, freq, sf, cr, bw=125e3, prlen=8, crc=True, implicit=False):
|
||||
self.freq = freq
|
||||
self.sf = sf
|
||||
self.cr = cr
|
||||
self.bw = bw
|
||||
self.prlen = prlen
|
||||
self.crc = crc
|
||||
self.implicit = implicit
|
||||
|
||||
def file_repr(self):
|
||||
cr_num = int(self.cr.rpartition('/')[2])-4
|
||||
format_string = "{:n}-sf{:n}-cr{:n}-bw{:n}".format(self.freq/1000000.0, self.sf, cr_num, self.bw/1000.0)
|
||||
if self.crc:
|
||||
format_string += "-crc"
|
||||
if self.implicit:
|
||||
format_string += "-imp"
|
||||
return format_string
|
||||
|
||||
def string_repr(self):
|
||||
format_string = "{:n} MHz, SF {:n}, CR {:s}, BW {:n} kHz, prlen {:n}, crc {:s}, implicit {:s}".format(
|
||||
self.freq/1000000.0,
|
||||
self.sf,
|
||||
self.cr,
|
||||
self.bw/1000.0,
|
||||
self.prlen,
|
||||
"on" if self.crc else "off",
|
||||
"on" if self.implicit else "off"
|
||||
)
|
||||
return format_string
|
|
@ -1,254 +0,0 @@
|
|||
#!/usr/bin/env python2
|
||||
import lora, socket, pmt, time
|
||||
import collections, datetime
|
||||
import os.path
|
||||
import os
|
||||
import xmltodict
|
||||
|
||||
from gnuradio import gr, gr_unittest, blocks, filter
|
||||
from gnuradio.filter import firdes
|
||||
|
||||
TestResultData = collections.namedtuple('TestResultData', ['id', 'fromfile', 'passing', 'total', 'rate'])
|
||||
TestSerieSettings = collections.namedtuple('TestSerieSettings', ['data', 'times'])
|
||||
|
||||
class qa_BasicTest_XML (gr_unittest.TestCase):
|
||||
|
||||
#
|
||||
# Listen on socket for data, append to list if any and return list of captured data.
|
||||
#
|
||||
def gatherFromSocket(self, amount):
|
||||
total_data = []
|
||||
data = ''
|
||||
|
||||
for i in range(amount):
|
||||
try:
|
||||
data = self.server.recv(4096)
|
||||
if data:
|
||||
total_data.append(data)
|
||||
except Exception as e:
|
||||
print(e)
|
||||
pass
|
||||
|
||||
return total_data
|
||||
|
||||
#
|
||||
# Compare captured data list with the expected data list.
|
||||
# Print received data, expected data and if they match.
|
||||
# Also give feedback about successrate in the decoding (percentage correctly captured and decoded).
|
||||
#
|
||||
def compareDataSets(self, total_data, expected_data, fromfile, test_idx):
|
||||
global testResults
|
||||
total_passing = 0
|
||||
|
||||
print '\nReceived:'
|
||||
|
||||
for idx, val in enumerate(expected_data):
|
||||
data_str = '?'
|
||||
passed = True
|
||||
|
||||
try:
|
||||
data_str = " ".join("{:02x}".format(ord(n)) for n in total_data[idx])
|
||||
self.assertEqual(val, data_str if self.hasHDR else data_str[9:])
|
||||
except:
|
||||
passed = False
|
||||
|
||||
if passed:
|
||||
total_passing += 1
|
||||
print "{0: 3d} :: match:\n {1:s}".format(idx, val)
|
||||
else:
|
||||
print "{0: 3d} :: mismatch:\n {1:s}".format(idx, data_str)
|
||||
print "should be:\n {0:s}".format(expected_data[idx])
|
||||
|
||||
results = TestResultData(test_idx, fromfile, total_passing, len(expected_data), float(total_passing) / len(expected_data) * 100.0)
|
||||
testResults[len(testResults) - 1].append(results)
|
||||
print ("\nPassed rate: {0:d} out of {1:d} ({2:.2f}%)\n"
|
||||
.format(results.passing, results.total, results.rate))
|
||||
|
||||
#
|
||||
# Set up flowgraph before Unit Test. (Gets therefore called before EVERY test)
|
||||
#
|
||||
# 1. Set variables for various blocks (spreading factor from test_series settings)
|
||||
# 2. Make UDP socket server to listen for outputted messages
|
||||
# 3. Connect blocks: (file_source) -> throttle -> lora_receiver -> message_socket_sink
|
||||
#
|
||||
def setUp (self):
|
||||
##################################################
|
||||
# Variables #
|
||||
##################################################
|
||||
self.target_freq = 868.1e6
|
||||
self.sf = 7
|
||||
self.samp_rate = 1e6
|
||||
self.capture_freq = 868.0e6
|
||||
self.threshold = 0.002
|
||||
#self.bw = 125e3
|
||||
#self.symbols_per_sec = self.bw / (2**self.sf)
|
||||
self.hasHDR = True
|
||||
|
||||
# For FFT, determine Center Frequency Offset first, then set here.
|
||||
# For RN2483, usually -14.1e3
|
||||
self.center_offset = 0
|
||||
|
||||
self.inputFile = "./"
|
||||
|
||||
# Socket connection for sink
|
||||
self.host = "127.0.0.1"
|
||||
self.port = 40868
|
||||
|
||||
self.server = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
|
||||
self.server.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
|
||||
self.server.bind((self.host, self.port))
|
||||
self.server.setblocking(0) ## or self.server.settimeout(0.5) ?
|
||||
|
||||
# gr-lora/python
|
||||
current_dir = os.path.dirname(os.path.realpath(__file__)) + "/"
|
||||
|
||||
self.xmlFile = current_dir + '../examples/qa_BasicTest_Data.xml'
|
||||
|
||||
if os.path.isfile(self.xmlFile):
|
||||
f = open(self.xmlFile, 'r')
|
||||
|
||||
self.xmlTests = xmltodict.parse(f.read())["lora-test-data"]
|
||||
|
||||
self.logFile = current_dir + '../examples/qa_BasicTest_' + self.xmlTests['@set'] + '.log'
|
||||
|
||||
self.xmlTests = self.xmlTests["TEST"]
|
||||
|
||||
if type(self.xmlTests) is not list:
|
||||
self.xmlTests = [ self.xmlTests ]
|
||||
f.close()
|
||||
else:
|
||||
raise Exception("[BasicTest_XML] '" + self.xmlFile + "' does not exist!")
|
||||
|
||||
#
|
||||
# Clean-up flowgraph after Unit Test. (Gets therefore called after EVERY test)
|
||||
#
|
||||
# Because tests are completed, report results.
|
||||
#
|
||||
def tearDown (self):
|
||||
self.tb = None
|
||||
self.xmlTests = None
|
||||
self.server.close()
|
||||
|
||||
flog = open(self.logFile, 'w')
|
||||
passed_t_a = 0
|
||||
passed_t = 0
|
||||
total_t_a = 0
|
||||
total_t = 0
|
||||
stro = ("-" * 8) + " Test Results on " + str(datetime.datetime.now())[:19] + " " + ("-" * 9)
|
||||
print(stro)
|
||||
flog.write(stro + '\n')
|
||||
|
||||
for j, serie in enumerate(testResults):
|
||||
total_t = passed_t = 0
|
||||
|
||||
stro = ("Test serie {0: 3d}: {1:s} * {2:d}"
|
||||
.format(j, test_series[j].data, test_series[j].times))
|
||||
print(stro)
|
||||
flog.write(stro + '\n')
|
||||
|
||||
for x in serie:
|
||||
passed_t += x.passing
|
||||
total_t += x.total
|
||||
stro = (" Test {0: 3d} :: {1:5s} {2:5s} {3:4s} {4:4s} {5:4s} :: passed {6: 3d} out of {7: 3d} ({8:6.2f}%)"
|
||||
.format(x.id, *(x.fromfile.split('_')[1:-1] + [x.passing] + [x.total] + [x.rate])))
|
||||
print(stro)
|
||||
flog.write(stro + '\n')
|
||||
|
||||
passed_t_a += passed_t
|
||||
total_t_a += total_t
|
||||
stro = (" => Total passed: {0:d} out of {1:d} ({2:.2f}%)\n"
|
||||
.format(passed_t, total_t, float(passed_t) / (total_t if total_t else 1.0) * 100.0))
|
||||
print(stro)
|
||||
flog.write(stro + '\n')
|
||||
|
||||
stro = ("\n ====== Total passed: {0:d} out of {1:d} ({2:.2f}%) ======"
|
||||
.format(passed_t_a, total_t_a, float(passed_t_a) / (total_t_a if total_t_a else 1.0) * 100.0))
|
||||
print(stro)
|
||||
flog.write(stro + '\n\n')
|
||||
flog.close()
|
||||
|
||||
print ("Log written to: " + self.logFile)
|
||||
|
||||
###############################################################################################
|
||||
# Unit tests series from qa_BasicTest_Data.xml #
|
||||
###############################################################################################
|
||||
def test_000 (self):
|
||||
prevData = ""
|
||||
prevTimes = 0
|
||||
|
||||
for test in self.xmlTests:
|
||||
# print (("Test {0: 3d}\n"
|
||||
# + " File: {1:s}\n"
|
||||
# + " SF: {2: 2d}\n"
|
||||
# + " All data: {3:s}\n"
|
||||
# + " HDR: {4:s}\n"
|
||||
# + " DATA: {5:s}\n"
|
||||
# + " times: {6: 2d}")
|
||||
# .format(int(test['@id']), test['file'], int(test['spreading-factor']),
|
||||
# test['expected-data-all'], test['expected-hdr'],
|
||||
# test['expected-data-only'], int(test['expected-times']))
|
||||
# )
|
||||
|
||||
self.sf = int(test['spreading-factor'])
|
||||
self.inputFile = str(test['file'])
|
||||
self.hasHDR = True
|
||||
data = test['expected-data-all']
|
||||
times = int(test['expected-times'])
|
||||
|
||||
if not data:
|
||||
data = test['expected-hdr']
|
||||
if not data:
|
||||
self.hasHDR = False
|
||||
data = test['expected-data-only']
|
||||
else:
|
||||
data = data + " " + test['expected-data-only']
|
||||
|
||||
if data and os.path.isfile(self.inputFile):
|
||||
if (data != prevData) or (times != prevTimes):
|
||||
testResults.append( [] )
|
||||
test_series.append( TestSerieSettings([data], times) )
|
||||
prevData = data
|
||||
prevTimes = times
|
||||
|
||||
print "++++++++++ Starting test {0: 3d} from data in: \n {1:s}\n".format(int(test['@id']), self.inputFile)
|
||||
|
||||
##################################################
|
||||
# Blocks #
|
||||
##################################################
|
||||
self.tb = gr.top_block ()
|
||||
|
||||
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, [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_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, 200000, 100000, firdes.WIN_HAMMING, 6.67)), self.center_offset, self.samp_rate)
|
||||
|
||||
self.tb.connect( (self.file_source, 0), (self.blocks_throttle_0, 0))
|
||||
self.tb.connect( (self.blocks_throttle_0, 0), (self.freq_xlating_fir_filter_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.run()
|
||||
|
||||
total_data = self.gatherFromSocket(test_series[len(test_series) - 1].times)
|
||||
self.compareDataSets(total_data,
|
||||
test_series[len(test_series) - 1].data * test_series[len(test_series) - 1].times,
|
||||
os.path.splitext(os.path.basename(self.inputFile))[0],
|
||||
int(test['@id']))
|
||||
self.tb = None
|
||||
else:
|
||||
print("No test data or file does not exist, skipping test {0: 3d}...".format(int(test['@id'])))
|
||||
|
||||
|
||||
###################################################################################################
|
||||
# Unit tests #
|
||||
# These assume a directory "./examples/lora-samples" #
|
||||
# with the specified .cfiles existing. #
|
||||
###################################################################################################
|
||||
if __name__ == '__main__':
|
||||
global testResults
|
||||
testResults = []
|
||||
global test_series
|
||||
test_series = []
|
||||
|
||||
gr_unittest.run(qa_BasicTest_XML)
|
|
@ -0,0 +1,243 @@
|
|||
#!/usr/bin/env python2
|
||||
import lora
|
||||
import socket
|
||||
import pmt
|
||||
import time
|
||||
import collections
|
||||
import datetime
|
||||
import os.path
|
||||
import os
|
||||
import json
|
||||
import binascii
|
||||
import signal
|
||||
import argparse
|
||||
|
||||
from gnuradio import gr, gr_unittest, blocks, filter
|
||||
from gnuradio.filter import firdes
|
||||
from sigmf.sigmffile import SigMFFile
|
||||
from lora.loraconfig import LoRaConfig
|
||||
|
||||
Test = collections.namedtuple('Test', ['payload', 'times'])
|
||||
TestResult = collections.namedtuple('TestResult', ['decoded_data', 'lora_config', 'test'])
|
||||
|
||||
def signal_handler(signal, frame):
|
||||
exit(0)
|
||||
|
||||
def trunc(target, max_len=30):
|
||||
result = ""
|
||||
if len(target) > max_len:
|
||||
result += target[0:max_len/2-1]
|
||||
result += ".."
|
||||
result += target[-max_len/2+1:]
|
||||
else:
|
||||
result = target
|
||||
assert(len(result) <= max_len)
|
||||
return result
|
||||
|
||||
class TestSummary():
|
||||
def __init__(self, suite):
|
||||
self.suite = suite
|
||||
self._summary = []
|
||||
self._summary_text = "-------- Test suite '{:s}' results on {:s} ---------\n".format(suite, str(datetime.datetime.utcnow()))
|
||||
self._summary_markdown = ""
|
||||
self._num_total_correct_payloads = 0
|
||||
self._num_total_payloads = 0
|
||||
self._num_tests = 0
|
||||
self._last_config = None
|
||||
|
||||
def add(self, test_result, print_intermediate=False):
|
||||
if type(test_result) == TestResult:
|
||||
self._summary.append(test_result)
|
||||
self._evaluate_result(test_result, print_intermediate)
|
||||
else:
|
||||
raise Exception("Test result must be of type TestResult")
|
||||
|
||||
def export_summary(self, print_output=True):
|
||||
self._summary_text += "\nRan a total of {:n} tests, together containing {:n} payloads.\n".format(
|
||||
self._num_tests,
|
||||
self._num_total_payloads
|
||||
)
|
||||
self._summary_text += "====== Total payloads passed: {:>5n} out of {:<5n} ({:.2%}) ======\n".format(
|
||||
self._num_total_correct_payloads,
|
||||
self._num_total_payloads,
|
||||
float(self._num_total_correct_payloads) / self._num_total_payloads
|
||||
)
|
||||
|
||||
if print_output:
|
||||
print(self._summary_text)
|
||||
|
||||
def _evaluate_result(self, test_result, print_intermediate):
|
||||
"""
|
||||
Given a test result, evaluate it and generate text / markdown for the report.
|
||||
"""
|
||||
self._num_tests += 1
|
||||
evaluation_text = ""
|
||||
evaluation_markdown = ""
|
||||
|
||||
# Shorter names
|
||||
decoded_data = test_result.decoded_data
|
||||
lora_config = test_result.lora_config
|
||||
test = test_result.test
|
||||
expected_data = [test.payload] * test.times
|
||||
|
||||
# Don't reprint configuration if it is the same as before
|
||||
if(self._last_config != vars(lora_config)):
|
||||
evaluation_text += "Configuration {:s}:\n".format(lora_config.string_repr())
|
||||
self._last_config = vars(lora_config)
|
||||
|
||||
# Determine number of correct payloads
|
||||
num_payloads = 0
|
||||
num_correct_payloads = 0
|
||||
for i in range(0, test.times):
|
||||
num_payloads += 1
|
||||
self._num_total_payloads += 1
|
||||
|
||||
try:
|
||||
decoded = decoded_data[i]
|
||||
except IndexError:
|
||||
decoded = "?"
|
||||
try:
|
||||
expected = expected_data[i]
|
||||
except IndexError:
|
||||
expected = "?"
|
||||
|
||||
if decoded == expected:
|
||||
num_correct_payloads += 1
|
||||
self._num_total_correct_payloads += 1
|
||||
|
||||
# Append to text report
|
||||
evaluation_text += "\tTest {:>3n}: {:<30s} * {:<3n} :: passed {:>3n} out of {:<3n} ({:.2%})\n".format(self._num_tests, trunc(test.payload), test.times, num_correct_payloads, num_payloads, float(num_correct_payloads)/num_payloads)
|
||||
self._summary_text += evaluation_text
|
||||
|
||||
if(print_intermediate):
|
||||
print(evaluation_text)
|
||||
|
||||
|
||||
class qa_testsuite():
|
||||
def __init__(self):
|
||||
"""
|
||||
Determine installed test suites and setup socket server for receiving payloads decoded by gr-lora.
|
||||
"""
|
||||
# Variables
|
||||
self.center_offset = 0
|
||||
self.host = "127.0.0.1"
|
||||
self.port = 40868
|
||||
|
||||
# Setup socket
|
||||
self.server = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
|
||||
self.server.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
|
||||
self.server.bind((self.host, self.port))
|
||||
self.server.settimeout(10)
|
||||
|
||||
# Determine test suites directory
|
||||
current_dir = os.path.dirname(os.path.realpath(__file__)) + "/"
|
||||
self.test_suites_directory = os.path.abspath(current_dir + '../apps/test-suites')
|
||||
|
||||
# List test suites
|
||||
self.test_suites = []
|
||||
if os.path.exists(self.test_suites_directory):
|
||||
self.test_suites = [x for x in os.listdir(self.test_suites_directory) if os.path.isdir(os.path.join(self.test_suites_directory, x))]
|
||||
else:
|
||||
print("No test suites found! Skipping...")
|
||||
|
||||
def __del__(self):
|
||||
self.server.close()
|
||||
|
||||
def get_payloads(self, number):
|
||||
"""
|
||||
Returns array of <number> hexadecimal LoRa payload datagrams received on a socket.
|
||||
"""
|
||||
total_data = []
|
||||
data = ''
|
||||
|
||||
for i in range(number):
|
||||
try:
|
||||
data = self.server.recvfrom(65535)[0]
|
||||
if data:
|
||||
total_data.append(binascii.hexlify(data[3:])) # Discard header and convert to hex text
|
||||
except Exception as e:
|
||||
print(e)
|
||||
pass
|
||||
|
||||
return total_data
|
||||
|
||||
def run(self, suites_to_run):
|
||||
for test_suite in self.test_suites:
|
||||
# Skip test suites that we don't want to run
|
||||
if suites_to_run != [] and (not test_suite in suites_to_run):
|
||||
continue
|
||||
|
||||
print("[+] Testing suite: '%s'" % test_suite)
|
||||
summary = TestSummary(suite=test_suite)
|
||||
|
||||
# Get all metadata files associated with the suite
|
||||
get_mtime = lambda f: os.stat(os.path.join(self.test_suites_directory, test_suite, f)).st_mtime
|
||||
metadata_files = [os.path.join(self.test_suites_directory, test_suite, x) for x in sorted(os.listdir(os.path.join(self.test_suites_directory, test_suite)), key=get_mtime) if x.endswith('.sigmf-meta')]
|
||||
|
||||
# Parse metadata files
|
||||
for metadata_file in metadata_files:
|
||||
print("[+] %s" % metadata_file)
|
||||
data_file = os.path.splitext(metadata_file)[0] + '.sigmf-data'
|
||||
# Load sigmf data TODO abstract
|
||||
f = open(metadata_file, 'r')
|
||||
sigmf = SigMFFile(metadata=f.read())
|
||||
if not sigmf.validate():
|
||||
raise Exception("Invalid SigMF format")
|
||||
global_meta = sigmf.get_global_info()
|
||||
capture_meta = sigmf.get_capture_info(0)
|
||||
f.close()
|
||||
|
||||
# Initialize test parameters
|
||||
sample_rate = global_meta["core:sample_rate"]
|
||||
|
||||
# Get LoRa configuration
|
||||
capture_freq = capture_meta["core:frequency"]
|
||||
transmit_freq = capture_meta["lora:frequency"]
|
||||
sf = capture_meta["lora:sf"]
|
||||
cr = capture_meta["lora:cr"]
|
||||
bw = capture_meta["lora:bw"]
|
||||
prlen = capture_meta["lora:prlen"]
|
||||
crc = capture_meta["lora:crc"]
|
||||
implicit = capture_meta["lora:implicit"]
|
||||
lora_config = LoRaConfig(transmit_freq, sf, cr, bw, prlen, crc, implicit)
|
||||
|
||||
# Get test case configuration
|
||||
payload = capture_meta["test:expected"]
|
||||
times = capture_meta["test:times"]
|
||||
test = Test(payload, times)
|
||||
|
||||
# Build flowgraph
|
||||
tb = gr.top_block()
|
||||
file_source = blocks.file_source(gr.sizeof_gr_complex, data_file, False)
|
||||
lora_receiver = lora.lora_receiver(sample_rate, capture_freq, [868100000], sf, 1000000, 0.002)
|
||||
throttle = blocks.throttle(gr.sizeof_gr_complex, sample_rate, True)
|
||||
message_socket_sink = lora.message_socket_sink()
|
||||
freq_xlating_fir_filter = filter.freq_xlating_fir_filter_ccc(1, (firdes.low_pass(1, sample_rate, 200000, 100000, firdes.WIN_HAMMING, 6.67)), self.center_offset, sample_rate)
|
||||
|
||||
# Make connections
|
||||
tb.connect((file_source, 0), (throttle, 0))
|
||||
tb.connect((throttle, 0), (freq_xlating_fir_filter, 0))
|
||||
tb.connect((freq_xlating_fir_filter, 0), (lora_receiver, 0))
|
||||
tb.msg_connect((lora_receiver, 'frames'), (message_socket_sink, 'in'))
|
||||
tb.start()
|
||||
tb.wait()
|
||||
|
||||
decoded_data = self.get_payloads(times) # Output from the flowgraph
|
||||
summary.add(TestResult(decoded_data=decoded_data, lora_config=lora_config, test=test), print_intermediate=True)
|
||||
# Finally, export the result for the suite
|
||||
summary.export_summary()
|
||||
|
||||
if __name__ == '__main__':
|
||||
"""
|
||||
Tool to evaluate decoding test suites in apps/test-suites/
|
||||
"""
|
||||
# Parse args
|
||||
parser = argparse.ArgumentParser(description="Tool to evaluate decoding test suites for gr-lora.")
|
||||
parser.add_argument('suites', type=str, nargs="*", help='Names of the test suites to execute.')
|
||||
args = parser.parse_args()
|
||||
|
||||
# Make sure CTRL+C exits the whole test suite instead of only the current GNU Radio top block
|
||||
signal.signal(signal.SIGINT, signal_handler)
|
||||
|
||||
suite = qa_testsuite()
|
||||
suite.run(args.suites)
|
Ładowanie…
Reference in New Issue