AgeCommit message (Collapse)AuthorFilesLines
2020-02-14Fix compiling with the local libosmocore copyporting_to_gr38Vasil Velichkov1-6/+16
Change-Id: Ic72e6ca7f9cc40bc2d78b931e54e66cd71444835
2020-02-14Log import errors as currently GRC 3.8 suppress themVasil Velichkov1-18/+22
See gnuradio/grc/core/FlowGraph.py:194 Change-Id: Ie6213428c218720692a544c98dc32c16bd50cbe1
2020-02-14travis: Test in Ubuntu 18.04 containerVasil Velichkov3-0/+53
- Install gnuradio from the new official PPA repository https://launchpad.net/~gnuradio/+archive/ubuntu/gnuradio-releases Change-Id: Iaa8813ab0ae91b667285ab3ef42ffaa279e3a885
2020-02-14Print the error message on stderr in a python2 compatible wayVasil Velichkov1-1/+1
Change-Id: Iaea1510b02a2df924ef9777d107d22c45cb37d12
2020-02-14tests: export VOLK_GENERIC=1 to workaround VOLK's bug 278Vasil Velichkov2-0/+11
Change-Id: Ib9ad4384388e480b8fa2f91e02359c85c749e802
2020-02-14tests: Get more information about CPU and user limitsVasil Velichkov2-0/+4
Change-Id: I0bd3c206f422e11a59070a1c9aace38201ff7c85
2020-02-14tests: fix some shellcheck errors.Vasil Velichkov2-10/+8
Execute "gnuradio-config-info --version" instead of "gnuradio-companion --version" Change-Id: Ia399324ae7a39e120e338c86d449d7c4d54bd866
2020-02-14travis: Use bionic build environmentVasil Velichkov1-0/+1
https: //docs.travis-ci.com/user/reference/bionic/ Change-Id: I8f622506329ee97ff3555c2a43a2165303d9ae82
2020-02-14travis: Install gr-osmosdr from the apt repositoryVasil Velichkov2-44/+9
Also install liborc-dev as gnuradio depends on it Change-Id: I0bbc33a39ef1e4edc1636c338e429639e0b15066
2020-02-14Add .dockerignore fileVasil Velichkov1-0/+1
Change-Id: I8d4b527a2e5c7b69e5c7338cafba3fbdac381ae1
2020-02-14tests: Close the temp file handle in qa_burst_file_sourceVasil Velichkov1-0/+2
This fixes the following warning ./usr/lib64/python3.7/unittest/case.py:645: ResourceWarning: unclosed file <_io.BufferedWriter name='/tmp/tmpkkz_akd6'> testMethod() ResourceWarning: Enable tracemalloc to get the object allocation traceback Change-Id: I66c2be2e5bf6915e3df253b3a69f5516534e3750
2020-02-14Python 3 compatibility changes in fn_time.pyVasil Velichkov1-4/+4
- Use range instead of xrange as it has been removed - Use integer division operator (//) - Import uniform and fn_time_delta_cpp only when started as a script - Remove the unused imports Change-Id: I268e0aec8fb8e6d490bfb8b0e9e6d169a9f6c352
2020-02-14Build the grgsm_livemon man pageVasil Velichkov1-1/+1
Change-Id: Ie128d68965b5cb2c919afa408b4c8aa7ca87ea8c
2020-02-14tests: Do not specify filename when runing gr_unittestVasil Velichkov21-22/+21
This fixes the following warning DEPRECATED: Using filename with gr_unittest does no longer have any effect. Change-Id: I7d6dbc32ff794ebf2bc116fa7437062e6780b85f
2020-02-14Remove build_utils.py and build_utils_codes.pyVasil Velichkov2-278/+0
These two files are no longer used Change-Id: I80a364c729e75681a0afd926ea3ecd0eb2d65381
2020-02-14travis: Add /usr/local/lib/python3/dist-packages/ to PYTHONPATHVasil Velichkov2-6/+10
and run ldconfig after installing gr-iqbal and gr-osmosdr. Due to debian-python-install patch [1] the OOT packages are installed in /usr/local/lib/python3/dist-packages but this path is not in the python3 default search paths (sys.path) and because of this importing OOT modules fails. [1] https://salsa.debian.org/bottoms/pkg-gnuradio/blob/25e1de07/debian/patches/debian-python-install Change-Id: I260c82d1a53dab85f7aac86f23e61309d8841255
2020-02-14travis: Install liborc-0.4-dev needed for gr-iqbalVasil Velichkov2-2/+2
on Debian Testing and Kali with gnuradio ( Change-Id: I4512bb734691f553d63cac59fd2c7ba3ccf3f881
2020-02-14Do not add python/misc_utils to PYTHONPATH when executing testsVasil Velichkov2-2/+2
Change-Id: Ib19a181a3fd9bb78c1d3989bad0e55433f060950
2020-02-14Fix grcc compilation with python3 by adding local subdirs to __path__Vasil Velichkov5-3/+24
As the directory structure in the repository is different then the one after the package gets installed we need to add those subdirectories to the __path__ otherwise python3 is not able to load the modules using the relative import syntax and grcc compilation and some unit tests fail. Mofiy __path__ only when the CMAKE_BINARY_DIR environment variable is present. Revert "grgsm_livemon: Set cell_allocation to [0]" This reverts commit 013d4c258c6ad31c2581f0caa4eee3aa609fd9de. Change-Id: I223fd6181e8e36027039301186b671712a597ff8
2020-02-14Remove the RTLD_GLOBAL hackVasil Velichkov1-26/+0
It was removed from gnuradio back in 2014 https://github.com/gnuradio/gnuradio/commit/39f14138ac9158eb0610e89a2ae1f8290f184c44 Change-Id: I1604ad5b9eefe3d4a2228b2a09e2069962844c97
2020-02-14travis: gnuradio-companion 3.8 does not have --version parameterVasil Velichkov2-4/+14
And currently grgsm, gr-osmosdr and gr-iqbal are installed in /usr/local/lib/python3/dist-packages/ which is not in the default python search path. Change-Id: I7e00c84a4b72e9fa1dcf5ac453882f1733724ac0
2020-02-14grgsm_decode: Print frequency or ARFCN message on stderrVasil Velichkov1-1/+2
For some yet unknown reasons in travis on Debian testing and Kali rolling the message gets printed after the burst and decode.sh and decrypt.sh tests fails because of this. Instead of filtering this messages in the tests I think it is better such messages to be printed on the standard error output Change-Id: Ib18be898cac74769cabf1b748e40e21d23f08e98
2020-02-14grgsm_livemon: Specify localhost as stringVasil Velichkov2-2/+2
Traceback (most recent call last): File "/home/vasko/gr38/lib/python3.7/dist-packages/gnuradio/grc/core/FlowGraph.py", line 216, in renew_namespace value = eval(parameter_block.params['value'].to_code(), namespace) File "<string>", line 1, in <module> NameError: name 'localhost' is not defined Change-Id: I6bae2fb1f09038cb0cd3410533d3b3fdc79ed354
2020-02-14grgsm_livemon: Set cell_allocation to [0]Vasil Velichkov2-2/+2
Gnuradio 3.8 does not like cell_allocation: '[arfcn.downlink2arfcn(fc)]' and the Receiver block does not work with an empty cell allocation array gnuradio.grc.core.platform:["Param - Cell allocation(cell_allocation):\n\tExpression None is invalid for type'float_vector'."] Change-Id: Iae6de844509b13bdf834c9c7443382b1ab3b0a28
2020-02-14grgsm_livemon: Fix UDP client and server blocksVasil Velichkov2-4/+4
During the convertion to YAML the block types was changed from TCP to UDP Change-Id: I542d7c36c30dc8179fa0ee84fc87e134cd2ba9f5
2020-02-14grgsm_livemon: Change the type of several parameters to stringVasil Velichkov2-8/+8
It seems gnuradio 3.8 does not like parameters with type None and does not put them as command line arguments Change-Id: Id67e37e826aa1cc14640d57207a92def682f11e3
2020-02-14grgsm_livemon: Disable PPS syncVasil Velichkov2-2/+2
Because of the following error when used with USRP B100 [INFO] [MULTI_USRP] 1) catch time transition at pps edge Traceback (most recent call last): File "./grgsm_livemon.py", line 365, in <module> main() File "./grgsm_livemon.py", line 343, in main tb = top_block_cls(fc=options.fc, gain=options.gain, osr=options.osr, ppm=options.ppm, samp_rate=options.samp_rate, shiftoff=options.shiftoff) File "./grgsm_livemon.py", line 114, in __init__ self.rtlsdr_source_0.set_time_unknown_pps(osmosdr.time_spec_t()) File "/home/vasko/gr38/lib/python3.7/dist-packages/osmosdr/osmosdr_swig.py", line 2543, in set_time_unknown_pps return _osmosdr_swig.source_sptr_set_time_unknown_pps(self, time_spec) RuntimeError: RuntimeError: Board 0 may not be getting a PPS signal! No PPS detected within the time interval. See the application notes for your device. Change-Id: Iee6124bdb2441666a53ac9ee5239894aea61dfde
2020-02-14travis: Manually install gr-iqbal and gr-osmosdrVasil Velichkov2-2/+35
Currently these two packages still depends on gnuradio 3.8 in debian testing and kali rolling. Change-Id: I4f956577293c48d803b8b45d06ba508792501274
2020-02-14travis: Install only python3 packagesVasil Velichkov2-6/+4
Change-Id: I3548fa7340afc63557cc65a7a396ecf96c607806
2020-02-14Convert grgsm_livemon and grgsm_livemon_headless to YAMLVasil Velichkov2-5924/+1810
Convert by opening them in gnuradio-companion (Python 3.7.4) and then File -> Save As under different name without any other modifications Change-Id: I73023fc66d1ffd6c714a0610962c005395dc126b
2020-02-14Various python3 related changesVasil Velichkov21-92/+53
- Use relative import for grgsm's modules - Convert map to list - Remove the hier_block.py workaround as as gnuradio 3.7 is no longer supported in this branch Change-Id: I5ca8fd340823996e8c444aaf18ddacd85c92ab1c
2020-02-14travis: Test only on distributions with gnuradio 3.8Vasil Velichkov3-7/+5
Change-Id: I05706496687bff2dc4e9a111d8ecd4f878b53c12
2020-02-14Migrate grc blocks from xml to yamlVasil Velichkov118-2154/+1888
Convert the blocks using cmdline_converter.py script from https://gist.githubusercontent.com/haakov/4228ff6a14486641add538483093e86b/raw/c861a840e31182ace2e74f5425e356cb4f8b183a/cmdline_converter.py Change-Id: Iee5c611a2e100bd2fdf487611a867dc937d8c292
2020-02-14GNU Radio 3.8 supportVasil Velichkov40-2433/+1599
https://wiki.gnuradio.org/index.php/GNU_Radio_3.8_OOT_Module_Porting_Guide Change-Id: I23dd638c8c48ed0a4b50559ce33fbd5e60b7dcbc
2019-07-29Fix uplink sub_slot and sub_types assignment in the sdcch4 and bcch_ccch ↵Vasil Velichkov7-14/+300
demappers blocks Add support for RACH bursts although they are not yet supported in the receiver and control channel decoder blocks. 3GPP TS 45.002 version 15.1.0 Release 15 Table 3 : Mapping of logical channels onto physical channels (see subclauses 6.3, 6.4, 6.5) Figure 8a: TDMA frame mapping for FCCH + SCH + BCCH + CCCH Fixes the following tests: qa_gsm_bcch_ccch_demapper.test_uplink qa_gsm_bcch_ccch_sdcch4_demapper.test_uplink Change-Id: Ia6b3070c1085bcdda6d98fd94a89c6e0982e2aec
2019-07-29Fix uplink sub_slot assignment in the sdcch8 demapper blockVasil Velichkov3-3/+148
3GPP TS 45.002 version 15.1.0 Release 15 Table 4 : Mapping of logical channels onto physical channels (see subclauses 6.3, 6.4, 6.5) Fixes qa_gsm_sdcch8_demapper.test_uplink test Change-Id: I29e9055805c8478010c51ceb40f86ba3aed5ecab
2019-07-29Fix sub_slot assignment in the universal_ctrl_chans_demapper blockVasil Velichkov3-3/+1
3GPP TS 45.002 version 15.1.0 Release 15 Table 3 : Mapping of logical channels onto physical channels (see subclauses 6.3, 6.4, 6.5) Table 4 : Mapping of logical channels onto physical channels (see subclauses 6.3, 6.4, 6.5) Fixes the following tests: qa_gsm_bcch_ccch_sdcch4_demapper.test_downlink qa_gsm_sdcch8_demapper.test_downlink Change-Id: Idc63407694fd1f7be962ab630d4e8c13b4a5d348
2019-07-29Add control channels demappers testsVasil Velichkov11-3/+653
3GPP TS 45.002 version 15.1.0 Release 15 Table 3 : Mapping of logical channels onto physical channels (see subclauses 6.3, 6.4, 6.5) Table 4 : Mapping of logical channels onto physical channels (see subclauses 6.3, 6.4, 6.5) Figure 8a: TDMA frame mapping for FCCH + SCH + BCCH + CCCH Figure 8b: TDMA frame mapping for FCCH + SCH + BCCH + CCCH + SDCCH/4(0...3) + SACCH/4(0...3) Five of the six tests currently fail and are marked with @unittest.expectedFailure. Fixes in subsequent commits. Change-Id: I33b0948832a0c2506bffd389cc134c3236c74d27
2019-05-03Filter out SoapyAudio devicesVasil Velichkov7-8/+89
When gr-osmosdr is compiled with SoapySDR support and SoapyAudio is installed the audio device is picked as a first choice when detecting devices but grgsm tools are not able to work with audio devices. So in such cases the user has to always specify the correct SDR device in the args parameter which is a bit inconvenient. When args is not specified call osmosdr.device_find to get all devices and filter out unspported ones like SoapyAudio devices. When args is specifed just try to create osmosdr.source with whatever value has been specified. Add -l and --list-devices command line option that prints information about all detected devices. Example commands: grgsm_capture --list-devices grgsm_capture --list-devices --args=nofake grgsm_capture --args=uhd,type=b210 -a 111 capture.cfile grgsm_livemon --args=rtl grgsm_livemon --args=uhd,type=b210 Change-Id: Ib84081041ca6c2bc18b9da0c32bac9d3ecef65ca
2019-05-02grgsm_capture: Fix device argumentsVasil Velichkov1-1/+2
We need a space between numchan=1 and the rest of the device arguments otherwise when --args is specified it fails with RuntimeError: bad lexical cast $ grgsm_capture --args=soapy Traceback (most recent call last): File "/usr/local/bin/grgsm_capture", line 179, in <module> device_args=options.device_args) File "/usr/local/bin/grgsm_capture", line 57, in __init__ osmosdr.source(args="numchan=1" + device_args ) File "/usr/local/lib64/python2.7/site-packages/osmosdr/osmosdr_swig.py", line 1170, in make return _osmosdr_swig.source_make(*args, **kwargs) RuntimeError: bad lexical cast: source type value could not be interpreted as target Change-Id: I2d1bcee835b695c91a5c44ec78a40b2d969f611c
2019-05-02Improve the TCH/H decoder logsVasil Velichkov1-1/+8
- Change "6,90 kbit/s" to "5.9 kbit/s" A typo reported in github ptrkrysik/gr-gsm#456 - Comment out the "Error! frame_nr:" message as it turns out to confuse users more then it actually helps debugging. - When voice-boundary detection is enabled write the name of decoded control channel messages Change-Id: I697ef944f30c4cabb62c888317dd3a7f8dcd5611
2019-04-01Improve slightly interface of plotting so it's easier to use itPiotr Krysik1-6/+6
Change-Id: Ia70ab45a8beb81512a9f83e316ad2d2bc385ef19
2019-03-19Fix the TCH/H decoder and demapper XML definitionsVasil Velichkov4-40/+26
- The second argument of tch_h_decoder constructor is a string that accepts the value of MultiRate configuration element and not an enum like the tch_f_decoder decoder. - Make the demapper's burst sink required. - Make all parameters visible. - Rename the TCH/H Channel parameter to Sub-channel number. - Add the qa_tch_h_decoder test in the CMakeLists.txt - Fix several typos Change-Id: I92d4f49955c634df7d76f17cfb58d7106846c1bd
2019-03-01Major simplification and some argument changes in grgsm_capturePiotr Krysik1-167/+113
grmgs_capture tried to do too many things for a simple recorder. It was simplified by removing the receiver and ability to save data to bursts files. All other stuff that is not necessary for recording signal to disk was also removed: -setters/getters, -storing of parameters that never will be changed. The 'fc' parameter name was changed to 'freq' to follow GNU Radio guidelines. The 'shiftoff' parameter was removed. 'bb_gain' and 'if_gain' parameters were added. Variables specific to some of SDR's like: -gains at different stages, -bandwidth (not all devices can set it), -antennas (some devices have just one, some not), were moved to separate options group. What is left to be exposed is: -dc_offset_mode, -iq_balance_mode, -gain_mode. Change-Id: I092a43eaddb09a99c6cc05fde13f0ae94d9e0251
2019-02-25grgsm_livemon: Use the osr variable in all blocksVasil Velichkov2-4/+4
In the GSM input adaptor and GSM Receiver blocks the osr was hardcoded to 4 and cannot be changed using the command line parameter. Change-Id: I4e85b898f05db636f18fdea6e5fee4fed6e0382a
2019-02-05MacOS fixesVasil Velichkov2-1/+2
- Include grgsm/endian.h in tch_h_decoder_impl.cc - Revert 0ed39fbf9340bdfb254bec5e3b94d9f00cf9d151 as linking with boost_thread is needed Fixes GH-444 Change-Id: I00884962295082cff3eb64fa21e9f73437be0001
2019-01-26apps/grgsm_trx: introduce initial LMS driver supportVadim Yanitskiy3-1/+73
Change-Id: Ie983b10d1814906b6e659213f865e58d0f5c08e4
2019-01-22apps/grgsm_trx: add RadioInterface driver selection argumentVadim Yanitskiy2-4/+10
Change-Id: Ic11f878c176bad16b057f25725ab0cfecc01782f
2019-01-22trx/radio_if.py: print type of RadioInterfaceVadim Yanitskiy2-2/+10
Change-Id: I6c1ba8546caec122cd1ea0ed87656f691abec068
2019-01-22python/trx: fork RadioInterfaceUHD from RadioInterfaceVadim Yanitskiy5-36/+97
Change-Id: I1644a3f6b8da0d5f2a1a133058269e5383948fda