Merge branch 'packaging_piotr' into development

# Conflicts:
#	.travis.yml
#	python/CMakeLists.txt
This commit is contained in:
Piotr Krysik 2016-07-15 14:09:55 +02:00
commit 5f480d3116
19 changed files with 242 additions and 227 deletions

View File

@ -1,10 +1,11 @@
#!/bin/bash
VERSION=0.33
VERSION=0.40
cd ../..
tar -acf gr-gsm_${VERSION}.orig.tar.gz gr-gsm
cd gr-gsm
debuild -S -sa
#pdebuild
cd ..
#dput ppa:ptrkrysik/gr-gsm gr-gsm_${VERSION}-0ppa0_source.changes
dput ppa:ptrkrysik/gr-gsm gr-gsm_${VERSION}-0ppa0_source.changes

2
debian/changelog vendored
View File

@ -1,4 +1,4 @@
gr-gsm (0.33-0ppa0) xenial; urgency=low
gr-gsm (0.40-0ppa0) xenial; urgency=low
* Initial upload!

1
debian/compat vendored Normal file
View File

@ -0,0 +1 @@
9

22
debian/control vendored
View File

@ -1,13 +1,23 @@
Source: gr-gsm
Section: devel
Section: libdevel
Priority: optional
Maintainer: Piotr Krysik <ptrkrysik@gmail.com>
Build-Depends: cmake, python-scipy, gnuradio-dev, gr-osmosdr, libosmocore-dev, swig
Build-Depends: cmake,
debhelper (>= 9.0.0~),
pkg-config,
python-scipy,
gnuradio-dev,
libosmocore-dev,
python-dev,
swig
X-Python-Version: >= 2.7, << 2.8
Standards-Version: 3.9.7
Homepage: http://github.com/ptrkrysik/gr-gsm/
Vcs-Git: git://github.com/ptrkrysik/gr-gsm.git
Vcs-Browser: https://github.com/ptrkrysik/gr-gsm/
Homepage: http://github.com/ptrkrysik/gr-gsm.git
Package: gr-gsm
Architecture: any
Depends: gnuradio, gr-osmosdr, python-scipy, ${shlibs:Depends}, ${misc:Depends}
Pre-Depends: ${misc:Pre-Depends}
Depends: gnuradio, gr-osmosdr, ${misc:Depends}, ${python:Depends}, ${shlibs:Depends}
Description: Gnuradio blocks and tools for receiving GSM transmissions
Long description of greet-the-world.
It can span multiple lines!

32
debian/rules vendored
View File

@ -1,27 +1,15 @@
#!/usr/bin/make -f
DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
export DEB_HOST_MULTIARCH
BUILDDIR = build
%:
dh $@ --with python2 --parallel
# secondly called by launchpad
build:
mkdir $(BUILDDIR);
cd $(BUILDDIR); cmake -DCMAKE_INSTALL_PREFIX=../debian/tmp/usr ..
make -C $(BUILDDIR)
override_dh_auto_configure:
dh_auto_configure -- -DLIB_SUFFIX="/$(DEB_HOST_MULTIARCH)" -DPythonLibs_FIND_VERSION:STRING="2.7" -DPYTHON_EXECUTABLE:STRING="/usr/bin/python"
# thirdly called by launchpad
binary: binary-indep binary-arch
override_dh_auto_install:
dh_auto_install
rm -f debian/gr-gsm/usr/lib/python2.7/dist-packages/grgsm/*pyc
rm -f debian/gr-gsm/usr/lib/python2.7/dist-packages/grgsm/*pyo
binary-indep:
# nothing to be done
binary-arch:
cd $(BUILDDIR); cmake -P cmake_install.cmake
mkdir debian/tmp/DEBIAN
dpkg-gencontrol -pgr-gsm
dpkg --build debian/tmp ..
# firstly called by launchpad
clean:
rm -rf $(BUILDDIR)
.PHONY: binary binary-arch binary-indep clean

1
debian/source/format vendored Normal file
View File

@ -0,0 +1 @@
3.0 (quilt)

View File

@ -62,6 +62,6 @@ GR_ADD_TEST(qa_burst_timeslot_filter ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE
GR_ADD_TEST(qa_burst_sdcch_subslot_filter ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_burst_sdcch_subslot_filter.py)
GR_ADD_TEST(qa_burst_fnr_filter ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_burst_fnr_filter.py)
GR_ADD_TEST(qa_dummy_burst_filter ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_dummy_burst_filter.py)
GR_ADD_TEST(qa_arfcn ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_arfcn.py)
#GR_ADD_TEST(qa_arfcn ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_arfcn.py)
#GR_ADD_TEST(qa_msg_to_tag ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_msg_to_tag.py)
#GR_ADD_TEST(qa_controlled_fractional_resampler_cc ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_controlled_fractional_resampler_cc.py)

View File

@ -22,7 +22,8 @@
#
from gnuradio import gr, gr_unittest, blocks
import grgsm
import grgsm_swig as grgsm
import arfcn
import os
import sys
@ -30,257 +31,257 @@ import sys
class qa_arfcn (gr_unittest.TestCase):
def test_001_is_valid_arfcn(self):
self.assertTrue(grgsm.arfcn.is_valid_arfcn(259, 'GSM450'))
self.assertTrue(grgsm.arfcn.is_valid_arfcn(277, 'GSM450'))
self.assertTrue(grgsm.arfcn.is_valid_arfcn(293, 'GSM450'))
self.assertFalse(grgsm.arfcn.is_valid_arfcn(258, 'GSM450'))
self.assertFalse(grgsm.arfcn.is_valid_arfcn(294, 'GSM450'))
self.assertTrue(arfcn.is_valid_arfcn(259, 'GSM450'))
self.assertTrue(arfcn.is_valid_arfcn(277, 'GSM450'))
self.assertTrue(arfcn.is_valid_arfcn(293, 'GSM450'))
self.assertFalse(arfcn.is_valid_arfcn(258, 'GSM450'))
self.assertFalse(arfcn.is_valid_arfcn(294, 'GSM450'))
self.assertTrue(grgsm.arfcn.is_valid_arfcn(306, 'GSM480'))
self.assertTrue(grgsm.arfcn.is_valid_arfcn(323, 'GSM480'))
self.assertTrue(grgsm.arfcn.is_valid_arfcn(340, 'GSM480'))
self.assertFalse(grgsm.arfcn.is_valid_arfcn(305, 'GSM480'))
self.assertFalse(grgsm.arfcn.is_valid_arfcn(341, 'GSM480'))
self.assertTrue(arfcn.is_valid_arfcn(306, 'GSM480'))
self.assertTrue(arfcn.is_valid_arfcn(323, 'GSM480'))
self.assertTrue(arfcn.is_valid_arfcn(340, 'GSM480'))
self.assertFalse(arfcn.is_valid_arfcn(305, 'GSM480'))
self.assertFalse(arfcn.is_valid_arfcn(341, 'GSM480'))
self.assertTrue(grgsm.arfcn.is_valid_arfcn(128, 'GSM850'))
self.assertTrue(grgsm.arfcn.is_valid_arfcn(199, 'GSM850'))
self.assertTrue(grgsm.arfcn.is_valid_arfcn(251, 'GSM850'))
self.assertFalse(grgsm.arfcn.is_valid_arfcn(127, 'GSM480'))
self.assertFalse(grgsm.arfcn.is_valid_arfcn(251, 'GSM480'))
self.assertTrue(arfcn.is_valid_arfcn(128, 'GSM850'))
self.assertTrue(arfcn.is_valid_arfcn(199, 'GSM850'))
self.assertTrue(arfcn.is_valid_arfcn(251, 'GSM850'))
self.assertFalse(arfcn.is_valid_arfcn(127, 'GSM480'))
self.assertFalse(arfcn.is_valid_arfcn(251, 'GSM480'))
self.assertTrue(grgsm.arfcn.is_valid_arfcn(1, 'P-GSM'))
self.assertTrue(grgsm.arfcn.is_valid_arfcn(63, 'P-GSM'))
self.assertTrue(grgsm.arfcn.is_valid_arfcn(124, 'P-GSM'))
self.assertFalse(grgsm.arfcn.is_valid_arfcn(0, 'P-GSM'))
self.assertFalse(grgsm.arfcn.is_valid_arfcn(125, 'P-GSM'))
self.assertTrue(arfcn.is_valid_arfcn(1, 'P-GSM'))
self.assertTrue(arfcn.is_valid_arfcn(63, 'P-GSM'))
self.assertTrue(arfcn.is_valid_arfcn(124, 'P-GSM'))
self.assertFalse(arfcn.is_valid_arfcn(0, 'P-GSM'))
self.assertFalse(arfcn.is_valid_arfcn(125, 'P-GSM'))
self.assertTrue(grgsm.arfcn.is_valid_arfcn(975, 'E-GSM'))
self.assertTrue(grgsm.arfcn.is_valid_arfcn(999, 'E-GSM'))
self.assertTrue(grgsm.arfcn.is_valid_arfcn(1023, 'E-GSM'))
self.assertFalse(grgsm.arfcn.is_valid_arfcn(974, 'E-GSM'))
self.assertFalse(grgsm.arfcn.is_valid_arfcn(1024, 'E-GSM'))
self.assertTrue(arfcn.is_valid_arfcn(975, 'E-GSM'))
self.assertTrue(arfcn.is_valid_arfcn(999, 'E-GSM'))
self.assertTrue(arfcn.is_valid_arfcn(1023, 'E-GSM'))
self.assertFalse(arfcn.is_valid_arfcn(974, 'E-GSM'))
self.assertFalse(arfcn.is_valid_arfcn(1024, 'E-GSM'))
self.assertTrue(grgsm.arfcn.is_valid_arfcn(955, 'R-GSM'))
self.assertTrue(grgsm.arfcn.is_valid_arfcn(989, 'R-GSM'))
self.assertTrue(grgsm.arfcn.is_valid_arfcn(1023, 'R-GSM'))
self.assertFalse(grgsm.arfcn.is_valid_arfcn(954, 'R-GSM'))
self.assertFalse(grgsm.arfcn.is_valid_arfcn(1024, 'R-GSM'))
self.assertTrue(arfcn.is_valid_arfcn(955, 'R-GSM'))
self.assertTrue(arfcn.is_valid_arfcn(989, 'R-GSM'))
self.assertTrue(arfcn.is_valid_arfcn(1023, 'R-GSM'))
self.assertFalse(arfcn.is_valid_arfcn(954, 'R-GSM'))
self.assertFalse(arfcn.is_valid_arfcn(1024, 'R-GSM'))
self.assertTrue(grgsm.arfcn.is_valid_arfcn(512, 'DCS1800'))
self.assertTrue(grgsm.arfcn.is_valid_arfcn(732, 'DCS1800'))
self.assertTrue(grgsm.arfcn.is_valid_arfcn(885, 'DCS1800'))
self.assertFalse(grgsm.arfcn.is_valid_arfcn(511, 'DCS1800'))
self.assertFalse(grgsm.arfcn.is_valid_arfcn(886, 'DCS1800'))
self.assertTrue(arfcn.is_valid_arfcn(512, 'DCS1800'))
self.assertTrue(arfcn.is_valid_arfcn(732, 'DCS1800'))
self.assertTrue(arfcn.is_valid_arfcn(885, 'DCS1800'))
self.assertFalse(arfcn.is_valid_arfcn(511, 'DCS1800'))
self.assertFalse(arfcn.is_valid_arfcn(886, 'DCS1800'))
self.assertTrue(grgsm.arfcn.is_valid_arfcn(512, 'PCS1900'))
self.assertTrue(grgsm.arfcn.is_valid_arfcn(691, 'PCS1900'))
self.assertTrue(grgsm.arfcn.is_valid_arfcn(810, 'PCS1900'))
self.assertFalse(grgsm.arfcn.is_valid_arfcn(511, 'PCS1900'))
self.assertFalse(grgsm.arfcn.is_valid_arfcn(811, 'PCS1900'))
self.assertTrue(arfcn.is_valid_arfcn(512, 'PCS1900'))
self.assertTrue(arfcn.is_valid_arfcn(691, 'PCS1900'))
self.assertTrue(arfcn.is_valid_arfcn(810, 'PCS1900'))
self.assertFalse(arfcn.is_valid_arfcn(511, 'PCS1900'))
self.assertFalse(arfcn.is_valid_arfcn(811, 'PCS1900'))
def test_002_is_valid_uplink(self):
self.assertTrue(grgsm.arfcn.is_valid_uplink(450.6e6, 'GSM450'))
self.assertTrue(grgsm.arfcn.is_valid_uplink(457.4e6, 'GSM450'))
self.assertFalse(grgsm.arfcn.is_valid_uplink(450.4e6, 'GSM450'))
self.assertFalse(grgsm.arfcn.is_valid_uplink(457.6e6, 'GSM450'))
self.assertTrue(arfcn.is_valid_uplink(450.6e6, 'GSM450'))
self.assertTrue(arfcn.is_valid_uplink(457.4e6, 'GSM450'))
self.assertFalse(arfcn.is_valid_uplink(450.4e6, 'GSM450'))
self.assertFalse(arfcn.is_valid_uplink(457.6e6, 'GSM450'))
self.assertTrue(grgsm.arfcn.is_valid_uplink(479e6, 'GSM480'))
self.assertTrue(grgsm.arfcn.is_valid_uplink(485.8e6, 'GSM480'))
self.assertFalse(grgsm.arfcn.is_valid_uplink(478.8e6, 'GSM480'))
self.assertFalse(grgsm.arfcn.is_valid_uplink(486e6, 'GSM480'))
self.assertTrue(arfcn.is_valid_uplink(479e6, 'GSM480'))
self.assertTrue(arfcn.is_valid_uplink(485.8e6, 'GSM480'))
self.assertFalse(arfcn.is_valid_uplink(478.8e6, 'GSM480'))
self.assertFalse(arfcn.is_valid_uplink(486e6, 'GSM480'))
self.assertTrue(grgsm.arfcn.is_valid_uplink(824.2e6, 'GSM850'))
self.assertTrue(grgsm.arfcn.is_valid_uplink(848.8e6, 'GSM850'))
self.assertFalse(grgsm.arfcn.is_valid_uplink(824e6, 'GSM850'))
self.assertFalse(grgsm.arfcn.is_valid_uplink(849e6, 'GSM850'))
self.assertTrue(arfcn.is_valid_uplink(824.2e6, 'GSM850'))
self.assertTrue(arfcn.is_valid_uplink(848.8e6, 'GSM850'))
self.assertFalse(arfcn.is_valid_uplink(824e6, 'GSM850'))
self.assertFalse(arfcn.is_valid_uplink(849e6, 'GSM850'))
self.assertTrue(grgsm.arfcn.is_valid_uplink(890.2e6, 'P-GSM'))
self.assertTrue(grgsm.arfcn.is_valid_uplink(914.8e6, 'P-GSM'))
self.assertFalse(grgsm.arfcn.is_valid_uplink(890e6, 'P-GSM'))
self.assertFalse(grgsm.arfcn.is_valid_uplink(915e6, 'P-GSM'))
self.assertTrue(arfcn.is_valid_uplink(890.2e6, 'P-GSM'))
self.assertTrue(arfcn.is_valid_uplink(914.8e6, 'P-GSM'))
self.assertFalse(arfcn.is_valid_uplink(890e6, 'P-GSM'))
self.assertFalse(arfcn.is_valid_uplink(915e6, 'P-GSM'))
self.assertTrue(grgsm.arfcn.is_valid_uplink(880.2e6, 'E-GSM'))
self.assertTrue(grgsm.arfcn.is_valid_uplink(889.8e6, 'E-GSM'))
self.assertFalse(grgsm.arfcn.is_valid_uplink(880e6, 'E-GSM'))
self.assertFalse(grgsm.arfcn.is_valid_uplink(890e6, 'E-GSM'))
self.assertTrue(arfcn.is_valid_uplink(880.2e6, 'E-GSM'))
self.assertTrue(arfcn.is_valid_uplink(889.8e6, 'E-GSM'))
self.assertFalse(arfcn.is_valid_uplink(880e6, 'E-GSM'))
self.assertFalse(arfcn.is_valid_uplink(890e6, 'E-GSM'))
self.assertTrue(grgsm.arfcn.is_valid_uplink(876.2e6, 'R-GSM'))
self.assertTrue(grgsm.arfcn.is_valid_uplink(889.8e6, 'R-GSM'))
self.assertFalse(grgsm.arfcn.is_valid_uplink(876e6, 'R-GSM'))
self.assertFalse(grgsm.arfcn.is_valid_uplink(890e6, 'R-GSM'))
self.assertTrue(arfcn.is_valid_uplink(876.2e6, 'R-GSM'))
self.assertTrue(arfcn.is_valid_uplink(889.8e6, 'R-GSM'))
self.assertFalse(arfcn.is_valid_uplink(876e6, 'R-GSM'))
self.assertFalse(arfcn.is_valid_uplink(890e6, 'R-GSM'))
self.assertTrue(grgsm.arfcn.is_valid_uplink(1710.2e6, 'DCS1800'))
self.assertTrue(grgsm.arfcn.is_valid_uplink(1784.8e6, 'DCS1800'))
self.assertFalse(grgsm.arfcn.is_valid_uplink(1710e6, 'DCS1800'))
self.assertFalse(grgsm.arfcn.is_valid_uplink(1785e6, 'DCS1800'))
self.assertTrue(arfcn.is_valid_uplink(1710.2e6, 'DCS1800'))
self.assertTrue(arfcn.is_valid_uplink(1784.8e6, 'DCS1800'))
self.assertFalse(arfcn.is_valid_uplink(1710e6, 'DCS1800'))
self.assertFalse(arfcn.is_valid_uplink(1785e6, 'DCS1800'))
self.assertTrue(grgsm.arfcn.is_valid_uplink(1850.2e6, 'PCS1900'))
self.assertTrue(grgsm.arfcn.is_valid_uplink(1909.8e6, 'PCS1900'))
self.assertFalse(grgsm.arfcn.is_valid_uplink(1850e6, 'PCS1900'))
self.assertFalse(grgsm.arfcn.is_valid_uplink(1910e6, 'PCS1900'))
self.assertTrue(arfcn.is_valid_uplink(1850.2e6, 'PCS1900'))
self.assertTrue(arfcn.is_valid_uplink(1909.8e6, 'PCS1900'))
self.assertFalse(arfcn.is_valid_uplink(1850e6, 'PCS1900'))
self.assertFalse(arfcn.is_valid_uplink(1910e6, 'PCS1900'))
def test_003_is_valid_downlink(self):
self.assertTrue(grgsm.arfcn.is_valid_downlink(460.6e6, 'GSM450'))
self.assertTrue(grgsm.arfcn.is_valid_downlink(467.4e6, 'GSM450'))
self.assertFalse(grgsm.arfcn.is_valid_downlink(460.4e6, 'GSM450'))
self.assertFalse(grgsm.arfcn.is_valid_downlink(467.6e6, 'GSM450'))
self.assertTrue(arfcn.is_valid_downlink(460.6e6, 'GSM450'))
self.assertTrue(arfcn.is_valid_downlink(467.4e6, 'GSM450'))
self.assertFalse(arfcn.is_valid_downlink(460.4e6, 'GSM450'))
self.assertFalse(arfcn.is_valid_downlink(467.6e6, 'GSM450'))
self.assertTrue(grgsm.arfcn.is_valid_downlink(489e6, 'GSM480'))
self.assertTrue(grgsm.arfcn.is_valid_downlink(495.8e6, 'GSM480'))
self.assertFalse(grgsm.arfcn.is_valid_downlink(488.8e6, 'GSM480'))
self.assertFalse(grgsm.arfcn.is_valid_downlink(496e6, 'GSM480'))
self.assertTrue(arfcn.is_valid_downlink(489e6, 'GSM480'))
self.assertTrue(arfcn.is_valid_downlink(495.8e6, 'GSM480'))
self.assertFalse(arfcn.is_valid_downlink(488.8e6, 'GSM480'))
self.assertFalse(arfcn.is_valid_downlink(496e6, 'GSM480'))
self.assertTrue(grgsm.arfcn.is_valid_downlink(869.2e6, 'GSM850'))
self.assertTrue(grgsm.arfcn.is_valid_downlink(893.8e6, 'GSM850'))
self.assertFalse(grgsm.arfcn.is_valid_downlink(869e6, 'GSM850'))
self.assertFalse(grgsm.arfcn.is_valid_downlink(894e6, 'GSM850'))
self.assertTrue(arfcn.is_valid_downlink(869.2e6, 'GSM850'))
self.assertTrue(arfcn.is_valid_downlink(893.8e6, 'GSM850'))
self.assertFalse(arfcn.is_valid_downlink(869e6, 'GSM850'))
self.assertFalse(arfcn.is_valid_downlink(894e6, 'GSM850'))
self.assertTrue(grgsm.arfcn.is_valid_downlink(935.2e6, 'P-GSM'))
self.assertTrue(grgsm.arfcn.is_valid_downlink(959.8e6, 'P-GSM'))
self.assertFalse(grgsm.arfcn.is_valid_downlink(935e6, 'P-GSM'))
self.assertFalse(grgsm.arfcn.is_valid_downlink(960e6, 'P-GSM'))
self.assertTrue(arfcn.is_valid_downlink(935.2e6, 'P-GSM'))
self.assertTrue(arfcn.is_valid_downlink(959.8e6, 'P-GSM'))
self.assertFalse(arfcn.is_valid_downlink(935e6, 'P-GSM'))
self.assertFalse(arfcn.is_valid_downlink(960e6, 'P-GSM'))
self.assertTrue(grgsm.arfcn.is_valid_downlink(925.2e6, 'E-GSM'))
self.assertTrue(grgsm.arfcn.is_valid_downlink(934.8e6, 'E-GSM'))
self.assertFalse(grgsm.arfcn.is_valid_downlink(925e6, 'E-GSM'))
self.assertFalse(grgsm.arfcn.is_valid_downlink(935e6, 'E-GSM'))
self.assertTrue(arfcn.is_valid_downlink(925.2e6, 'E-GSM'))
self.assertTrue(arfcn.is_valid_downlink(934.8e6, 'E-GSM'))
self.assertFalse(arfcn.is_valid_downlink(925e6, 'E-GSM'))
self.assertFalse(arfcn.is_valid_downlink(935e6, 'E-GSM'))
self.assertTrue(grgsm.arfcn.is_valid_downlink(921.2e6, 'R-GSM'))
self.assertTrue(grgsm.arfcn.is_valid_downlink(934.8e6, 'R-GSM'))
self.assertFalse(grgsm.arfcn.is_valid_downlink(921e6, 'R-GSM'))
self.assertFalse(grgsm.arfcn.is_valid_downlink(935e6, 'R-GSM'))
self.assertTrue(arfcn.is_valid_downlink(921.2e6, 'R-GSM'))
self.assertTrue(arfcn.is_valid_downlink(934.8e6, 'R-GSM'))
self.assertFalse(arfcn.is_valid_downlink(921e6, 'R-GSM'))
self.assertFalse(arfcn.is_valid_downlink(935e6, 'R-GSM'))
self.assertTrue(grgsm.arfcn.is_valid_downlink(1805.2e6, 'DCS1800'))
self.assertTrue(grgsm.arfcn.is_valid_downlink(1879.8e6, 'DCS1800'))
self.assertFalse(grgsm.arfcn.is_valid_downlink(1805e6, 'DCS1800'))
self.assertFalse(grgsm.arfcn.is_valid_downlink(1880e6, 'DCS1800'))
self.assertTrue(arfcn.is_valid_downlink(1805.2e6, 'DCS1800'))
self.assertTrue(arfcn.is_valid_downlink(1879.8e6, 'DCS1800'))
self.assertFalse(arfcn.is_valid_downlink(1805e6, 'DCS1800'))
self.assertFalse(arfcn.is_valid_downlink(1880e6, 'DCS1800'))
self.assertTrue(grgsm.arfcn.is_valid_downlink(1930.2e6, 'PCS1900'))
self.assertTrue(grgsm.arfcn.is_valid_downlink(1989.8e6, 'PCS1900'))
self.assertFalse(grgsm.arfcn.is_valid_downlink(1930e6, 'PCS1900'))
self.assertFalse(grgsm.arfcn.is_valid_downlink(1990e6, 'PCS1900'))
self.assertTrue(arfcn.is_valid_downlink(1930.2e6, 'PCS1900'))
self.assertTrue(arfcn.is_valid_downlink(1989.8e6, 'PCS1900'))
self.assertFalse(arfcn.is_valid_downlink(1930e6, 'PCS1900'))
self.assertFalse(arfcn.is_valid_downlink(1990e6, 'PCS1900'))
def test_004_arfcn2uplink(self):
self.assertEqual(450.6e6, grgsm.arfcn.arfcn2uplink(259, 'GSM450'))
self.assertEqual(457.4e6, grgsm.arfcn.arfcn2uplink(293, 'GSM450'))
self.assertEqual(450.6e6, arfcn.arfcn2uplink(259, 'GSM450'))
self.assertEqual(457.4e6, arfcn.arfcn2uplink(293, 'GSM450'))
self.assertEqual(479e6, grgsm.arfcn.arfcn2uplink(306, 'GSM480'))
self.assertEqual(485.8e6, grgsm.arfcn.arfcn2uplink(340, 'GSM480'))
self.assertEqual(479e6, arfcn.arfcn2uplink(306, 'GSM480'))
self.assertEqual(485.8e6, arfcn.arfcn2uplink(340, 'GSM480'))
self.assertEqual(824.2e6, grgsm.arfcn.arfcn2uplink(128, 'GSM850'))
self.assertEqual(848.8e6, grgsm.arfcn.arfcn2uplink(251, 'GSM850'))
self.assertEqual(824.2e6, arfcn.arfcn2uplink(128, 'GSM850'))
self.assertEqual(848.8e6, arfcn.arfcn2uplink(251, 'GSM850'))
self.assertEqual(890.2e6, grgsm.arfcn.arfcn2uplink(1, 'P-GSM'))
self.assertEqual(914.8e6, grgsm.arfcn.arfcn2uplink(124, 'P-GSM'))
self.assertEqual(890.2e6, arfcn.arfcn2uplink(1, 'P-GSM'))
self.assertEqual(914.8e6, arfcn.arfcn2uplink(124, 'P-GSM'))
self.assertEqual(880.2e6, grgsm.arfcn.arfcn2uplink(975, 'E-GSM'))
self.assertEqual(889.8e6, grgsm.arfcn.arfcn2uplink(1023, 'E-GSM'))
self.assertEqual(880.2e6, arfcn.arfcn2uplink(975, 'E-GSM'))
self.assertEqual(889.8e6, arfcn.arfcn2uplink(1023, 'E-GSM'))
self.assertEqual(876.2e6, grgsm.arfcn.arfcn2uplink(955, 'R-GSM'))
self.assertEqual(889.8e6, grgsm.arfcn.arfcn2uplink(1023, 'R-GSM'))
self.assertEqual(876.2e6, arfcn.arfcn2uplink(955, 'R-GSM'))
self.assertEqual(889.8e6, arfcn.arfcn2uplink(1023, 'R-GSM'))
self.assertEqual(1710.2e6, grgsm.arfcn.arfcn2uplink(512, 'DCS1800'))
self.assertEqual(1784.8e6, grgsm.arfcn.arfcn2uplink(885, 'DCS1800'))
self.assertEqual(1710.2e6, arfcn.arfcn2uplink(512, 'DCS1800'))
self.assertEqual(1784.8e6, arfcn.arfcn2uplink(885, 'DCS1800'))
self.assertEqual(1850.2e6, grgsm.arfcn.arfcn2uplink(512, 'PCS1900'))
self.assertEqual(1909.8e6, grgsm.arfcn.arfcn2uplink(810, 'PCS1900'))
self.assertEqual(1850.2e6, arfcn.arfcn2uplink(512, 'PCS1900'))
self.assertEqual(1909.8e6, arfcn.arfcn2uplink(810, 'PCS1900'))
def test_005_arfcn2downlink(self):
self.assertEqual(460.6e6, grgsm.arfcn.arfcn2downlink(259, 'GSM450'))
self.assertEqual(467.4e6, grgsm.arfcn.arfcn2downlink(293, 'GSM450'))
self.assertEqual(460.6e6, arfcn.arfcn2downlink(259, 'GSM450'))
self.assertEqual(467.4e6, arfcn.arfcn2downlink(293, 'GSM450'))
self.assertEqual(489e6, grgsm.arfcn.arfcn2downlink(306, 'GSM480'))
self.assertEqual(495.8e6, grgsm.arfcn.arfcn2downlink(340, 'GSM480'))
self.assertEqual(489e6, arfcn.arfcn2downlink(306, 'GSM480'))
self.assertEqual(495.8e6, arfcn.arfcn2downlink(340, 'GSM480'))
self.assertEqual(869.2e6, grgsm.arfcn.arfcn2downlink(128, 'GSM850'))
self.assertEqual(893.8e6, grgsm.arfcn.arfcn2downlink(251, 'GSM850'))
self.assertEqual(869.2e6, arfcn.arfcn2downlink(128, 'GSM850'))
self.assertEqual(893.8e6, arfcn.arfcn2downlink(251, 'GSM850'))
self.assertEqual(935.2e6, grgsm.arfcn.arfcn2downlink(1, 'P-GSM'))
self.assertEqual(959.8e6, grgsm.arfcn.arfcn2downlink(124, 'P-GSM'))
self.assertEqual(935.2e6, arfcn.arfcn2downlink(1, 'P-GSM'))
self.assertEqual(959.8e6, arfcn.arfcn2downlink(124, 'P-GSM'))
self.assertEqual(925.2e6, grgsm.arfcn.arfcn2downlink(975, 'E-GSM'))
self.assertEqual(934.8e6, grgsm.arfcn.arfcn2downlink(1023, 'E-GSM'))
self.assertEqual(925.2e6, arfcn.arfcn2downlink(975, 'E-GSM'))
self.assertEqual(934.8e6, arfcn.arfcn2downlink(1023, 'E-GSM'))
self.assertEqual(921.2e6, grgsm.arfcn.arfcn2downlink(955, 'R-GSM'))
self.assertEqual(934.8e6, grgsm.arfcn.arfcn2downlink(1023, 'R-GSM'))
self.assertEqual(921.2e6, arfcn.arfcn2downlink(955, 'R-GSM'))
self.assertEqual(934.8e6, arfcn.arfcn2downlink(1023, 'R-GSM'))
self.assertEqual(1805.2e6, grgsm.arfcn.arfcn2downlink(512, 'DCS1800'))
self.assertEqual(1879.8e6, grgsm.arfcn.arfcn2downlink(885, 'DCS1800'))
self.assertEqual(1805.2e6, arfcn.arfcn2downlink(512, 'DCS1800'))
self.assertEqual(1879.8e6, arfcn.arfcn2downlink(885, 'DCS1800'))
self.assertEqual(1930.2e6, grgsm.arfcn.arfcn2downlink(512, 'PCS1900'))
self.assertEqual(1989.8e6, grgsm.arfcn.arfcn2downlink(810, 'PCS1900'))
self.assertEqual(1930.2e6, arfcn.arfcn2downlink(512, 'PCS1900'))
self.assertEqual(1989.8e6, arfcn.arfcn2downlink(810, 'PCS1900'))
def test_006_uplink2arfcn(self):
self.assertEqual(259, grgsm.arfcn.uplink2arfcn(450.6e6, 'GSM450'))
self.assertEqual(293, grgsm.arfcn.uplink2arfcn(457.4e6, 'GSM450'))
self.assertEqual(259, arfcn.uplink2arfcn(450.6e6, 'GSM450'))
self.assertEqual(293, arfcn.uplink2arfcn(457.4e6, 'GSM450'))
self.assertEqual(306, grgsm.arfcn.uplink2arfcn(479e6, 'GSM480'))
self.assertEqual(340, grgsm.arfcn.uplink2arfcn(485.8e6, 'GSM480'))
self.assertEqual(306, arfcn.uplink2arfcn(479e6, 'GSM480'))
self.assertEqual(340, arfcn.uplink2arfcn(485.8e6, 'GSM480'))
self.assertEqual(128, grgsm.arfcn.uplink2arfcn(824.2e6, 'GSM850'))
self.assertEqual(251, grgsm.arfcn.uplink2arfcn(848.8e6, 'GSM850'))
self.assertEqual(128, arfcn.uplink2arfcn(824.2e6, 'GSM850'))
self.assertEqual(251, arfcn.uplink2arfcn(848.8e6, 'GSM850'))
self.assertEqual(1, grgsm.arfcn.uplink2arfcn(890.2e6, 'P-GSM'))
self.assertEqual(124, grgsm.arfcn.uplink2arfcn(914.8e6, 'P-GSM'))
self.assertEqual(1, arfcn.uplink2arfcn(890.2e6, 'P-GSM'))
self.assertEqual(124, arfcn.uplink2arfcn(914.8e6, 'P-GSM'))
self.assertEqual(975, grgsm.arfcn.uplink2arfcn(880.2e6, 'E-GSM'))
self.assertEqual(1023, grgsm.arfcn.uplink2arfcn(889.8e6, 'E-GSM'))
self.assertEqual(975, arfcn.uplink2arfcn(880.2e6, 'E-GSM'))
self.assertEqual(1023, arfcn.uplink2arfcn(889.8e6, 'E-GSM'))
self.assertEqual(955, grgsm.arfcn.uplink2arfcn(876.2e6, 'R-GSM'))
self.assertEqual(1023, grgsm.arfcn.uplink2arfcn(889.8e6, 'R-GSM'))
self.assertEqual(955, arfcn.uplink2arfcn(876.2e6, 'R-GSM'))
self.assertEqual(1023, arfcn.uplink2arfcn(889.8e6, 'R-GSM'))
self.assertEqual(512, grgsm.arfcn.uplink2arfcn(1710.2e6, 'DCS1800'))
self.assertEqual(885, grgsm.arfcn.uplink2arfcn(1784.8e6, 'DCS1800'))
self.assertEqual(512, arfcn.uplink2arfcn(1710.2e6, 'DCS1800'))
self.assertEqual(885, arfcn.uplink2arfcn(1784.8e6, 'DCS1800'))
self.assertEqual(512, grgsm.arfcn.uplink2arfcn(1850.2e6, 'PCS1900'))
self.assertEqual(810, grgsm.arfcn.uplink2arfcn(1909.8e6, 'PCS1900'))
self.assertEqual(512, arfcn.uplink2arfcn(1850.2e6, 'PCS1900'))
self.assertEqual(810, arfcn.uplink2arfcn(1909.8e6, 'PCS1900'))
def test_007_downlink2arfcn(self):
self.assertEqual(259, grgsm.arfcn.downlink2arfcn(460.6e6, 'GSM450'))
self.assertEqual(293, grgsm.arfcn.downlink2arfcn(467.4e6, 'GSM450'))
self.assertEqual(259, arfcn.downlink2arfcn(460.6e6, 'GSM450'))
self.assertEqual(293, arfcn.downlink2arfcn(467.4e6, 'GSM450'))
self.assertEqual(306, grgsm.arfcn.downlink2arfcn(489e6, 'GSM480'))
self.assertEqual(340, grgsm.arfcn.downlink2arfcn(495.8e6, 'GSM480'))
self.assertEqual(306, arfcn.downlink2arfcn(489e6, 'GSM480'))
self.assertEqual(340, arfcn.downlink2arfcn(495.8e6, 'GSM480'))
self.assertEqual(128, grgsm.arfcn.downlink2arfcn(869.2e6, 'GSM850'))
self.assertEqual(251, grgsm.arfcn.downlink2arfcn(893.8e6, 'GSM850'))
self.assertEqual(128, arfcn.downlink2arfcn(869.2e6, 'GSM850'))
self.assertEqual(251, arfcn.downlink2arfcn(893.8e6, 'GSM850'))
self.assertEqual(1, grgsm.arfcn.downlink2arfcn(935.2e6, 'P-GSM'))
self.assertEqual(124, grgsm.arfcn.downlink2arfcn(959.8e6, 'P-GSM'))
self.assertEqual(1, arfcn.downlink2arfcn(935.2e6, 'P-GSM'))
self.assertEqual(124, arfcn.downlink2arfcn(959.8e6, 'P-GSM'))
self.assertEqual(975, grgsm.arfcn.downlink2arfcn(925.2e6, 'E-GSM'))
self.assertEqual(1023, grgsm.arfcn.downlink2arfcn(934.8e6, 'E-GSM'))
self.assertEqual(975, arfcn.downlink2arfcn(925.2e6, 'E-GSM'))
self.assertEqual(1023, arfcn.downlink2arfcn(934.8e6, 'E-GSM'))
self.assertEqual(955, grgsm.arfcn.downlink2arfcn(921.2e6, 'R-GSM'))
self.assertEqual(1023, grgsm.arfcn.downlink2arfcn(934.8e6, 'R-GSM'))
self.assertEqual(955, arfcn.downlink2arfcn(921.2e6, 'R-GSM'))
self.assertEqual(1023, arfcn.downlink2arfcn(934.8e6, 'R-GSM'))
self.assertEqual(512, grgsm.arfcn.downlink2arfcn(1805.2e6, 'DCS1800'))
self.assertEqual(885, grgsm.arfcn.downlink2arfcn(1879.8e6, 'DCS1800'))
self.assertEqual(512, arfcn.downlink2arfcn(1805.2e6, 'DCS1800'))
self.assertEqual(885, arfcn.downlink2arfcn(1879.8e6, 'DCS1800'))
self.assertEqual(512, grgsm.arfcn.downlink2arfcn(1930.2e6, 'PCS1900'))
self.assertEqual(810, grgsm.arfcn.downlink2arfcn(1989.8e6, 'PCS1900'))
self.assertEqual(512, arfcn.downlink2arfcn(1930.2e6, 'PCS1900'))
self.assertEqual(810, arfcn.downlink2arfcn(1989.8e6, 'PCS1900'))
def test_008_firstarfcn(self):
self.assertEqual(259, grgsm.arfcn.get_first_arfcn('GSM450'))
self.assertEqual(306, grgsm.arfcn.get_first_arfcn('GSM480'))
self.assertEqual(128, grgsm.arfcn.get_first_arfcn('GSM850'))
self.assertEqual(1, grgsm.arfcn.get_first_arfcn('P-GSM'))
self.assertEqual(975, grgsm.arfcn.get_first_arfcn('E-GSM'))
self.assertEqual(955, grgsm.arfcn.get_first_arfcn('R-GSM'))
self.assertEqual(512, grgsm.arfcn.get_first_arfcn('DCS1800'))
self.assertEqual(512, grgsm.arfcn.get_first_arfcn('PCS1900'))
self.assertEqual(259, arfcn.get_first_arfcn('GSM450'))
self.assertEqual(306, arfcn.get_first_arfcn('GSM480'))
self.assertEqual(128, arfcn.get_first_arfcn('GSM850'))
self.assertEqual(1, arfcn.get_first_arfcn('P-GSM'))
self.assertEqual(975, arfcn.get_first_arfcn('E-GSM'))
self.assertEqual(955, arfcn.get_first_arfcn('R-GSM'))
self.assertEqual(512, arfcn.get_first_arfcn('DCS1800'))
self.assertEqual(512, arfcn.get_first_arfcn('PCS1900'))
def test_009_firstarfcn(self):
self.assertEqual(293, grgsm.arfcn.get_last_arfcn('GSM450'))
self.assertEqual(340, grgsm.arfcn.get_last_arfcn('GSM480'))
self.assertEqual(251, grgsm.arfcn.get_last_arfcn('GSM850'))
self.assertEqual(124, grgsm.arfcn.get_last_arfcn('P-GSM'))
self.assertEqual(1023, grgsm.arfcn.get_last_arfcn('E-GSM'))
self.assertEqual(1023, grgsm.arfcn.get_last_arfcn('R-GSM'))
self.assertEqual(885, grgsm.arfcn.get_last_arfcn('DCS1800'))
self.assertEqual(810, grgsm.arfcn.get_last_arfcn('PCS1900'))
self.assertEqual(293, arfcn.get_last_arfcn('GSM450'))
self.assertEqual(340, arfcn.get_last_arfcn('GSM480'))
self.assertEqual(251, arfcn.get_last_arfcn('GSM850'))
self.assertEqual(124, arfcn.get_last_arfcn('P-GSM'))
self.assertEqual(1023, arfcn.get_last_arfcn('E-GSM'))
self.assertEqual(1023, arfcn.get_last_arfcn('R-GSM'))
self.assertEqual(885, arfcn.get_last_arfcn('DCS1800'))
self.assertEqual(810, arfcn.get_last_arfcn('PCS1900'))
if __name__ == '__main__':
gr_unittest.run(qa_arfcn, "qa_arfcn.xml")

View File

@ -22,7 +22,7 @@
#
from gnuradio import gr, gr_unittest, blocks
import grgsm
import grgsm_swig as grgsm
import pmt
class qa_burst_fnr_filter (gr_unittest.TestCase):

View File

@ -22,7 +22,7 @@
#
from gnuradio import gr, gr_unittest, blocks
import grgsm
import grgsm_swig as grgsm
import os
import pmt
import sys

View File

@ -22,7 +22,7 @@
#
from gnuradio import gr, gr_unittest, blocks
import grgsm
import grgsm_swig as grgsm
class qa_burst_sdcch_subslot_filter (gr_unittest.TestCase):
# 102 random bursts as test input

View File

@ -22,7 +22,7 @@
#
from gnuradio import gr, gr_unittest, blocks
import grgsm
import grgsm_swig as grgsm
import pmt
class qa_burst_sdcch_subslot_splitter (gr_unittest.TestCase):

View File

@ -22,7 +22,7 @@
#
from gnuradio import gr, gr_unittest, blocks
import grgsm
import grgsm_swig as grgsm
import pmt
class qa_burst_timeslot_filter (gr_unittest.TestCase):

View File

@ -22,7 +22,7 @@
#
from gnuradio import gr, gr_unittest, blocks
import grgsm
import grgsm_swig as grgsm
import pmt
class qa_burst_timeslot_splitter (gr_unittest.TestCase):

View File

@ -22,7 +22,7 @@
#
from gnuradio import gr, gr_unittest, blocks
import grgsm
import grgsm_swig as grgsm
import pmt
class qa_decryption (gr_unittest.TestCase):

View File

@ -22,7 +22,7 @@
#
from gnuradio import gr, gr_unittest, blocks
import grgsm
import grgsm_swig as grgsm
class qa_dummy_burst_filter (gr_unittest.TestCase):

View File

@ -22,7 +22,7 @@
#
from gnuradio import gr, gr_unittest, blocks
import grgsm
import grgsm_swig as grgsm
import os
import pmt
import sys

View File

@ -22,7 +22,7 @@
#
from gnuradio import gr, gr_unittest, blocks
import grgsm
import grgsm_swig as grgsm
import os
import pmt
import sys

View File

@ -0,0 +1,13 @@
FROM ubuntu:16.04
MAINTAINER Ash Wilson
RUN apt-get update && apt-get install -y \
software-properties-common
RUN add-apt-repository -y ppa:ptrkrysik/gr-gsm
RUN apt-get update && apt-get install -y \
gr-gsm
COPY ./ /src/
RUN ls /src