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
- 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
This fixes the following warning
DEPRECATED: Using filename with gr_unittest does no longer have any effect.
Change-Id: I7d6dbc32ff794ebf2bc116fa7437062e6780b85f
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
- 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
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
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
- 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
The old name was quite long, resulting into cumbersome imports:
from change_sign_of_dict_elements import change_sign_of_dict_elements
let's use a shorter variant:
from dict_toggle_sign import dict_toggle_sign
Change-Id: Ie75e1d6e5e74c7c1cf34154633c1472e4b85dbb6
Checking if freq_offset is None doesn't make sense currently
as it's always set to a float value by argparse (to 0 by default).
Change-Id: Ie8bae1ccde60d07fc25e0b874afa5aaaac04d8a7
- Read bursts with pmt::deserialize directly from the std::filebuf
- Remove the unused unserialized variable
- Add tests
Since df978693 when the rx_time tags are present in the incomming stream
the gsm receiver adds fm_time to the burst's PMT and the bursts that
burst file sink writes becomes longer because of the additional field.
The burst file source block was expecting all burst to be 147 bytes long
and reading files with longer bursts was failing with an unhandled exception.
terminate called after throwing an instance of 'pmt::exception'
thread[thread-per-block[5]: <block dummy_burst_filter (2)>]: pmt_cdr: wrong_type : #f
what(): pmt::deserialize: malformed input stream, tag value = : 115
Change-Id: I989b0d6a6b214088b7880e5cbf7bb6725492dbfc
Argparse makes adding new parameters easier and
adds consistent way of handling default values of
parameters and printing of their help info.
Change-Id: Idf99fd7a581464aa2f77fe01e721dbd162686811
An ability to shift the baseband frequency would allow one to
run both base stations and (OsmocomBB-based) mobile stations on
any frequency (e.g. in 2.4 GHz WiFi band)!
This is achieved by adding a given frequency offset to the
result of "ARFCN -> RX/TX frequency" calculation.
Usage example:
grgsm_trx --freq-offset -500M
Both RX (Downlink) and TX (Uplink) frequencies will be shifted
by 500 MHz back, e.g. tuning request to ARFCN 105 would result
in tuning the radio to 456.0 MHz (instead of 956.0 MHz).
Related: OS#3520 (https://osmocom.org/versions/136)
Change-Id: I42e397e47402a87f4141ef31b25eff4c8c1267e2
The new option (-b --bind-addr) allows one to specify the bind
address for both DATA and CTRL interfaces. By default, '0.0.0.0'
is used, so there are no restrictions for the L1 source address.
Change-Id: I3339f686b53db07cfd1bff9a516f4bdc28058cd9
Pleviously remote address for DATA interface was also used as the
bind address, what is definitely wrong. Let's change the API a bit
in order to allow one to specify a custom bind address.
Change-Id: I6e5f7b7119ac454217b8dd04f9ee0dd3b23972b6
When we receive a control command, we should not simply send the
response to the default destination, but send it back to the exact
IP/prt from which the command originated.
This ensures correct routing of responses even in case multiple
programs are interfacing concurrently with a control socket.
Cherry-picked from: I24a0bba6eed059b101af95dac7d059f34dd715fc
Change-Id: I1f304ea887dc957d3ad53adb1e3c56ab27d8f196
Setting this option allows one to reuse existing connections,
for example, by injecting CTRL commands or DATA bursts
into existing connections.
Cherry-picked from: I0882c76affa9a668a12d10967081054d2b666ed1
Change-Id: I6d256683a7aa0419cd5bd0a3eaa97aefdf3254f9