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
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
- 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
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
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
This is the output format of rtl_sdr and hackrf_transfer and this would
allow direct channelization without an additional post processing.
Change-Id: Ia489eca9ec7defc3a83946c42f1ae3f136efe4e8
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
When set the stdout and stderr won't be redirected to /dev/null which
will facilitate resolving issues
Change-Id: I11e99facb5a1ab9c9bfee3c314a91a74f98a2523
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
Previously it was required to call the UDPLink.shutdown() method
manually in order to close a socket. Let's do it automatically
using the destructor of UDPLink.
Cherry-picked from: I59c3dc61ec58cd9effeb789947d28fd602ca91f4
Change-Id: Ief7aa21d1e50682a90616833b679741957193aae
Instead of using the hard-coded default values in help message,
it makes sense to use a format string, and pass the actual
values when printing help.
Change-Id: Ib1bf0ef3ded86aa92faeb9b63eb286283f5c8c3d
In order to avoid clashes with OsmoTRX, which may be also
running on the same host, let's use a different port range
starting from 6700 by default.
This idea was introduced as a result of OS#2984.
Change-Id: Iaf0c78733bfefcb0b0938abf6d316e27d03ecab4
Despite the most part of Python code was written by Vadim, it's
heavily based on huge and impressive work done by Piotr. Let's
also print his credentials in the license header.
Change-Id: Icca7c679d84f99440ff502219f624e0f73112744
To disable compilation of both grgsm_livemon and grgsm_livemon_headless
execute
cmake -DENABLE_GRCC=OFF ..
To disable only one execute
cmake -DENABLE_GRGSM_LIVEMON=OFF ..
cmake -DENABLE_GRGSM_LIVEMON_HEADLESS=OFF ..
- Override the GR_UNIQUE_TARGET function to not append a hash to the
target name.
- Add explicit dependency between pygen_apps and _grgsm_swig
The _grgs_swig needs to be built first because grcc evaluates and
verify all imports
- Test the parallel build in the docker containers as well