aboutsummaryrefslogtreecommitdiffstats
path: root/python
AgeCommit message (Collapse)AuthorFilesLines
2019-01-22trx/radio_if.py: print type of RadioInterfaceVadim Yanitskiy2-2/+10
Change-Id: I6c1ba8546caec122cd1ea0ed87656f691abec068
2019-01-22python/trx: fork RadioInterfaceUHD from RadioInterfaceVadim Yanitskiy4-29/+87
Change-Id: I1644a3f6b8da0d5f2a1a133058269e5383948fda
2019-01-22trx/ctrl_if.py: use relative import for UDPLinkVadim Yanitskiy1-1/+1
Change-Id: If4b00f6332461d3c37cde5a1f724906ca3d3a30f
2019-01-19trx/radio_if.py: update clock_offset_control in set_rx_freq()fixeria/trxVadim Yanitskiy1-0/+1
Change-Id: I065bf664f775099c90c123c9ff75f262a73bf1be
2019-01-19trx/radio_if.py: do not print anything if freq. shift is 0Vadim Yanitskiy1-8/+10
Change-Id: I100ce2ab8effc00e164e13253894445bdc816f06
2019-01-19python/trx: introduce and use Transceiver classVadim Yanitskiy5-48/+137
Change-Id: I6dc88edbb69a68746cc8e01206dc86f7ea2fa80f
2019-01-19trx/ctrl_if_bb.py: reset transceiver on POWEROFFVadim Yanitskiy2-0/+9
Change-Id: I1e7f74c56388a431794a0b32b8a9537c360f5d33
2019-01-19trx/radio_if.py: introduce a new @property 'ready'Vadim Yanitskiy1-0/+10
Change-Id: I513da0f45c6a608d15fbd0e8eafe14d6af8833d7
2019-01-19trx/radio_if.py: do not init both rx_freq and tx_freqVadim Yanitskiy1-10/+11
Change-Id: I9f251958ec90141d144fdb027aff20182131a1d1
2019-01-19python/trx: get rid of FakePM classVadim Yanitskiy5-62/+7
Change-Id: Ie96eb9735ecaa3329135c7be976ffd277a2f64f4
2019-01-16python/trx: use CamelCase naming for basic classesVadim Yanitskiy7-16/+18
Change-Id: Ica9c56d01191dda38e63b51caba2ec8c63b671c9
2019-01-16trx/radio_if.py: use existing 'dict_toggle_sign' blockVadim Yanitskiy1-19/+1
Change-Id: Ifa616644a858f493b9f8706663f9e7fed717f3d0
2019-01-16python/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-01-16python/trx/__init__.py: cosmetic: add missing new lineVadim Yanitskiy1-1/+1
Change-Id: I379b321866bd892a52b0c272ed50c670da380a17
2018-12-29Add TCH/H decoder testsVasil Velichkov1-0/+190
2018-12-29Add tests for the TCH/F and TCH/H DemappersVasil Velichkov3-0/+365
2018-09-13apps/grgsm_trx: remove redundant unit from freq_offset variable namePiotr Krysik1-6/+6
Frequency is always in Hz so there is no need to add that information in the variable name. Change-Id: I509771c3fe072069a680f66b0763ae6825f6d529
2018-09-13apps/grgsm_trx: remove unnecessary checks of freq_offsetPiotr Krysik1-11/+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 Krysik1-2/+3
Change-Id: Ie1db02b719a0fec478b8a8b8a95643fb10fdfce5
2018-09-13burst_file_source: Fix reading longer burstsVasil Velichkov2-0/+105
- 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-12trx/radio_if.py: clarify magic numbers in sample rate calculationPiotr Krysik1-2/+2
Change-Id: I55f283113d0324a0236b7bbf13bce5718003b857
2018-09-12apps/grgsm_trx: fix inaccurate sample rate calculationVadim Yanitskiy1-0/+3
Change-Id: I0c309588fa0f7822abfb3919327639735db07679
2018-09-06Revert "grgsm_trx: Migrated argument parsing to argparse" that shouldn't be ↵Piotr Krysik1-200/+199
pushed This reverts commit c62a3d9f5517d0dda0c4dccd19fd6c0d9c66e038.
2018-09-05grgsm_trx: Migrated argument parsing to argparsePiotr Krysik1-199/+200
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-05apps/grgsm_trx: add baseband frequency shift featureVadim Yanitskiy1-1/+13
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-08-10apps/grgsm_trx: print bind / remote address and portv0.42.1Vadim Yanitskiy3-2/+11
Change-Id: If750d476f3972f1ab5c5b637438d14d40b1e3d87
2018-08-10apps/grgsm_trx: introduce bind address optionVadim Yanitskiy3-6/+7
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
2018-08-10gsm_trx_burst_if: allow to customize the bind addressVadim Yanitskiy1-3/+4
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-08-10trx/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-08-10trx/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-08-10trx/udp_link.py: close socket in destructorVadim Yanitskiy2-7/+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-08-10trx/radio_if.py: drop useless import of osmosdrVadim Yanitskiy1-1/+0
Change-Id: Iacd5ca118957e3ecf05df81f511b17bb9a8982b5
2018-08-10trx/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-04-17Merge branch 'fixeria/trx' of https://github.com/axilirator/gr-gsm into ↵Piotr Krysik5-49/+263
fixeria_trx # Resolved conflicts: # apps/grgsm_trx # python/trx/radio_if.py # swig/grgsm_swig.i
2018-04-16Merge branch 'ptrkrysik/trx' into developmentPiotr Krysik19-22/+1168
2018-04-06Add tch_f_decoder testsVasil Velichkov2-0/+109
2018-03-22Compile the .grc files with cmake and grccVasil Velichkov2-1/+2
And remove the pre-built scripts from the repository Fixes #13
2018-02-27Portability fix: experimental blocks require numpy and scipy which causes ↵Piotr Krysik1-3/+3
problems on Windows. Don't load them by default.
2017-12-09trx/radio_if.py: handle Timing Advance from CTRLVadim Yanitskiy2-0/+19
2017-12-06trx/radio_if.py: clean up and explain GSM timingsVadim Yanitskiy1-4/+12
2017-12-04trx/radio_if.py: use native burst_to_fn_time blockVadim Yanitskiy1-19/+1
2017-12-04Implement the 'burst_to_fn_time' block in C++Vadim Yanitskiy3-30/+0
2017-12-04trx/radio_if.py: implement AFC for both RX and TX pathsVadim Yanitskiy1-20/+84
AFC (Automatic Frequency Control) was previously only utilized in the receive path of the radio interface. Now we also need to keep the transmitter frequency as accurate as possible.
2017-12-04trx/radio_if.py: explicilty set device clock rateVadim Yanitskiy1-0/+2
The device timings are depend on the current clock rate, so let's explicilty set 26e6 as it's value, which is usable for USRP B2X0.
2017-12-01Added carrier frequency offset correction to radio_ifPiotr Krysik4-71/+110
2017-12-01trx: passing remote addr to bindPiotr Krysik1-1/+1
2017-12-01trx/radio_if.py: use native burst_type_filter blockVadim Yanitskiy1-24/+1
2017-11-30Removed AB test from radio_if_grcPiotr Krysik1-8/+1
2017-11-30trx: Added missing timeslot filterPiotr Krysik1-69/+78
2017-11-30trx: Changes in the redio_ifPiotr Krysik4-212/+283
-added a part generated by GRC (radio_if_grc) form trx_radio_if example, -radio_if now only adds things that are missing in radio_if_grc