AgeCommit message (Collapse)AuthorFilesLines
2019-07-18python/trx: get rid of FakePM classVadim Yanitskiy6-69/+8
Change-Id: Ie96eb9735ecaa3329135c7be976ffd277a2f64f4
2019-07-18apps/grgsm_trx: move init code from run() to __init__()Vadim Yanitskiy1-2/+2
Change-Id: I1bcc9c8a2d37d156bbec93be3838200f6c4a80c2
2019-07-18python/trx: use CamelCase naming for basic classesVadim Yanitskiy8-23/+25
Change-Id: Ica9c56d01191dda38e63b51caba2ec8c63b671c9
2019-07-18trx/radio_if.py: use existing 'dict_toggle_sign' blockVadim Yanitskiy1-19/+1
Change-Id: Ifa616644a858f493b9f8706663f9e7fed717f3d0
2019-07-18python/trx: rename 'change_sign_of_dict_elements' to 'dict_toggle_sign'Vadim Yanitskiy4-7/+7
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
2019-07-18python/trx/__init__.py: cosmetic: add missing new lineVadim Yanitskiy1-1/+1
Change-Id: I379b321866bd892a52b0c272ed50c670da380a17
2019-07-18Improve voice boundary detectionVasil Velichkov1-1/+22
Decode Alerting and Progress messages and if the in-band information flag is set start decoding the voice
2019-07-18Add TCH/H decoder testsVasil Velichkov1-0/+190
2019-07-18Add TCH/H decoder block with AMR multirate supportVasil Velichkov12-8/+621
Add new TCHH channel mode Add two new optional arguments -m CHAN_MODE, --mode=CHAN_MODE Channel mode. Valid options are 'BCCH' (Non-combined C0), 'BCCH_SDCCH4'(Combined C0), 'SDCCH8' (Stand-alone control channel) 'TCHF' (Traffic Channel, Full rate), 'TCHH' (Traffic Channel, Half rate) --sub-channel=TCH_H_CHANNEL TCH/H sub-channel. [default=0] --multi-rate=MULTI_RATE The MultiRrate configuration element from the Assigment Command message. Example: 28111a40. See 3GPP TS 44.018 - MultiRate configuration Example: grgsm_decode -m TCHH --sub-channel 0 --multi-rate 2811 -o voice.amr ...
2019-07-18Add tests for the TCH/F and TCH/H DemappersVasil Velichkov3-0/+365
2019-07-18Move HR demapping into a separate blockVasil Velichkov13-37/+461
2019-07-18Add HR demappingAndrew Artyushok4-9/+36
2019-07-18transmitter/txtime_setter: fix error print syntax errorPiotr Krysik1-1/+1
2019-07-18lib/trx, lib/transmitter: Include grgsm/endian.hDavid Holm3-0/+3
MacOS X does not have endian.h and the build will fail unless grgsm/endian.h is used.
2019-07-18trx/txtime_setter: print error if reference fn is missingVadim Yanitskiy1-3/+7
Change-Id: I2a6e3f41b6fe79b92d85ff98bc2cd9afd9bdc568
2019-07-18trx/txtime_setter: reduce code nesting in process_txtime_of_burst()Vadim Yanitskiy1-46/+46
Change-Id: I5c334e16d6b28a5e32cd62a177ad56bfc8e748ee
2019-07-18apps/grgsm_trx: (re)structurize help messageVadim Yanitskiy1-11/+13
Change-Id: I612d8ae7d3ff99fee809e10d95919989bfbe0f59
2019-07-18apps/grgsm_trx: remove redundant unit from freq_offset variable namePiotr Krysik2-8/+8
Frequency is always in Hz so there is no need to add that information in the variable name. Change-Id: I509771c3fe072069a680f66b0763ae6825f6d529
2019-07-18Add .gitreview similar to the other osmocom's projectsVasil Velichkov1-0/+3
A gitreview file is required to use git review. More information about git review https://docs.openstack.org/infra/git-review/ https://www.mediawiki.org/wiki/Gerrit/git-review Change-Id: Ie07446ba1a13e53c87bcc9b23e3b775803d158f4
2018-11-02receiver/time_sample_ref: improve accuracy of offset<->time conversionsPiotr Krysik1-6/+3
Change-Id: Ie6e7ea4337c9e23a8e4445136a3adffc96b19942
2018-11-02misc_utils/resampler: Add offsets of tags at the inputPiotr Krysik1-2/+5
This change is done to make keeping track of sample counter at the input of the resampler easier from blocks connected to its output. Each tag leaving the resampler has accompanying "original_offset" tag with its offset before sample rate change. Change-Id: Iea8ca4a092029f774406dced8a97a17810f21f62
2018-11-02misc_utils/resampler: Cosmetic changesPiotr Krysik1-16/+13
Change variables names to more readable. Remove old comment. Change-Id: Ibe22677cfc4b3e1a9fb900e5055cdce0a7656a92
2018-11-02misc_utils/resampler: Fix repetition of tags at the outputPiotr Krysik1-1/+1
When tag appears at the last sample of the ouput buffer it will be added again in the next run of the work function. Here this issue was solved by changing the codition so the tag appearing at the end of the output buffer is not added. Change-Id: Ia4f0923e2071184879a023d0fe01026d8e9ccbda
2018-09-13grgsm_channelize: Add ichar data typeVasil Velichkov1-1/+5
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
2018-09-13apps/grgsm_trx: remove unnecessary checks of freq_offsetPiotr Krysik2-15/+8
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
2018-09-13trx/radio_if: add freq_offset parameter to constructorPiotr Krysik2-4/+5
Change-Id: Ie1db02b719a0fec478b8a8b8a95643fb10fdfce5
2018-09-13burst_file_source: Fix reading longer burstsVasil Velichkov4-13/+109
- 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
2018-09-13apps/grgsm_trx: migrate from getopt to argparsePiotr Krysik1-106/+69
Change-Id: I24a17b4cd44db0ce95a19d7470f4f09f3c85a26d
2018-09-13trx/radio_if.py: clarify magic numbers in sample rate calculationPiotr Krysik1-2/+2
Change-Id: I55f283113d0324a0236b7bbf13bce5718003b857
2018-09-13apps/grgsm_trx: fix inaccurate sample rate calculationVadim Yanitskiy2-1/+4
Change-Id: I0c309588fa0f7822abfb3919327639735db07679
2018-09-13Format the output into ostringstream and then write it at once.Vasil Velichkov2-16/+21
This fixes the garbled output when multiple printers are used in a flowgraph. closes #255 closes #420 Change-Id: I1012ed26371b4c67163545652f0a1ce0f576af9e
2018-09-13grgsm_scanner: Add --debug optionVasil Velichkov1-16/+21
When set the stdout and stderr won't be redirected to /dev/null which will facilitate resolving issues Change-Id: I11e99facb5a1ab9c9bfee3c314a91a74f98a2523
2018-09-13Revert "grgsm_trx: Migrated argument parsing to argparse" that shouldn't be ↵Piotr Krysik2-291/+311
pushed This reverts commit c62a3d9f5517d0dda0c4dccd19fd6c0d9c66e038.
2018-09-13grgsm_trx: Migrated argument parsing to argparsePiotr Krysik2-311/+291
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
2018-09-13apps/grgsm_trx: add baseband frequency shift featureVadim Yanitskiy2-2/+26
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
2018-09-13Changed submodule URLs to point to osmocom serversPiotr Krysik1-2/+2
2018-09-13Increasing version numberPiotr Krysik1-1/+1
in order to correct wrongs of previous attempt Change-Id: Ie067b48a9c67a13e928598ec722a7e27c464de8f
2018-09-13New gr-gsm versionPiotr Krysik1-3/+3
Change-Id: I72eafebe892692ad0db5ad149e14f2c59b41d3d2
2018-09-13apps/grgsm_trx: print bind / remote address and portVadim Yanitskiy3-2/+11
Change-Id: If750d476f3972f1ab5c5b637438d14d40b1e3d87
2018-09-13apps/grgsm_trx: introduce bind address optionVadim Yanitskiy4-15/+23
The new option (-b --bind-addr) allows one to specify the bind address for both DATA and CTRL interfaces. By default, '' is used, so there are no restrictions for the L1 source address. Change-Id: I3339f686b53db07cfd1bff9a516f4bdc28058cd9
2018-09-13gsm_trx_burst_if: allow to customize the bind addressVadim Yanitskiy7-11/+26
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
2018-09-13trx/ctrl_if.py: send control responses to where commands are fromVadim Yanitskiy2-9/+12
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
2018-09-13trx/udp_link.py: set SO_REUSEADDR socket optionVadim Yanitskiy1-0/+1
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
2018-09-13trx/udp_link.py: close socket in destructorVadim Yanitskiy3-8/+3
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
2018-09-13apps/grgsm_trx: use format string for help messageVadim Yanitskiy1-9/+16
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
2018-09-13trx/radio_if.py: drop useless import of osmosdrVadim Yanitskiy1-1/+0
Change-Id: Iacd5ca118957e3ecf05df81f511b17bb9a8982b5
2018-09-13trx/radio_if.py: reset UHD device time at startupVadim Yanitskiy1-0/+6
Some UHD devices, such as UmTRX, require one to manually reset the hardware clock, otherwise the burst transmission doesn't work. Change-Id: Idddc1387199bd22342ec5af25c8635e73352e315
2018-09-13grgsm_trx: change default TRX port number to 6700Vadim Yanitskiy1-1/+1
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
2018-09-13apps/grgsm_trx: also print Piotr as a copyright holderVadim Yanitskiy1-0/+1
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
2018-09-13tests: Fix Debian and Kali dockerfilesPiotr Krysik2-6/+2
Change-Id: I61d37cb6882a8ca7bbfc97412c52e745a2e5ec7c