Correcting and making sense of some magic constants
relating to synchronization. Some magic constants
of unknown origin still stay.
Change-Id: I5a45ce1c8bceded70d34302a5b136da5f92fd902
Information about clock error is needed in order to transform frame number
to hardware time - which is not ideal (i.e. different than BTS time).
Change-Id: Icd77b88da0490d6c9565bf3df0342574b91aae6e
Gr-gsm's receiver needs a stream of samples with sampling frequency that
is integer multiply of gsm symbol rate. Many hardware receivers don't
support such rates, and even if they do there might be error in their
time source. Sample rate is adapted and corrected with use of a resampler.
Moreover corrections are applied in the runtime so resampler's resample
rate is changed dynamically. Those changes need to be tracked in order
to be able to track time of the hardware after resampling.
Hardware time tracking is needed to enable triggering of events in the
hardware (i.e. frequency changes, burst transmissions).
Changes were made in time_sample_ref and receiver in order to enable
SDR hardware time tracking.
Change-Id: Ide8149a5fc6c22700d3a4542115306a4dc682ff2
The old freq_hopper -controlling USRP frequency with use of tags -
was renamed to freq_hopper_tag. The new one - freq_hopper_msg - that
uses uhd_source or uhd_sink control message input was created.
Change-Id: Ic867446314ef2ee6903cef85d48c280981132dae
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
- 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
- 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
- Include grgsm/endian.h in tch_h_decoder_impl.cc
- Revert 0ed39fbf93 as linking with
boost_thread is needed
Fixes GH-444
Change-Id: I00884962295082cff3eb64fa21e9f73437be0001
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