Commit Graph

196 Commits

Author SHA1 Message Date
Vadim Yanitskiy bf6f6ec0de trx/udp_link.py: close socket in destructor
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-10 16:38:59 +07:00
Vadim Yanitskiy 4fdb08fd20 trx/radio_if.py: drop useless import of osmosdr
Change-Id: Iacd5ca118957e3ecf05df81f511b17bb9a8982b5
2018-08-10 16:38:59 +07:00
Vadim Yanitskiy 0017a35aab trx/radio_if.py: reset UHD device time at startup
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-08-10 16:38:53 +07:00
Piotr Krysik 2471052cfe Merge branch 'fixeria/trx' of https://github.com/axilirator/gr-gsm into fixeria_trx
# Resolved conflicts:
#	apps/grgsm_trx
#	python/trx/radio_if.py
#	swig/grgsm_swig.i
2018-04-17 09:10:33 +02:00
Piotr Krysik 8a8d41a583 Merge branch 'ptrkrysik/trx' into development 2018-04-16 22:21:29 +02:00
Vasil Velichkov bb7d94a712 Add tch_f_decoder tests 2018-04-06 15:18:26 +02:00
Vasil Velichkov b479fb4457 Compile the .grc files with cmake and grcc
And remove the pre-built scripts from the repository

Fixes #13
2018-03-22 06:07:24 +01:00
Piotr Krysik d0a136b1a7 Portability fix: experimental blocks require numpy and scipy which causes problems on Windows. Don't load them by default. 2018-02-27 14:45:14 +01:00
Vadim Yanitskiy 34266e785d trx/radio_if.py: handle Timing Advance from CTRL 2017-12-09 02:40:32 +07:00
Vadim Yanitskiy 9dded9b9f6 trx/radio_if.py: clean up and explain GSM timings 2017-12-06 00:42:40 +07:00
Vadim Yanitskiy 5cba704319 trx/radio_if.py: use native burst_to_fn_time block 2017-12-04 01:54:06 +07:00
Vadim Yanitskiy 0aafe2856d Implement the 'burst_to_fn_time' block in C++ 2017-12-04 01:48:43 +07:00
Vadim Yanitskiy d222ee58bb trx/radio_if.py: implement AFC for both RX and TX paths
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-04 00:22:39 +07:00
Vadim Yanitskiy 63703bb1ff trx/radio_if.py: explicilty set device clock rate
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-04 00:22:39 +07:00
Piotr Krysik c362245023 Added carrier frequency offset correction to radio_if 2017-12-01 12:02:55 +01:00
Piotr Krysik 3dd981c779 trx: passing remote addr to bind 2017-12-01 11:59:32 +01:00
Vadim Yanitskiy 4650fad7cb trx/radio_if.py: use native burst_type_filter block 2017-12-01 05:08:35 +07:00
Piotr Krysik 0101ae2829 Removed AB test from radio_if_grc 2017-11-30 13:45:37 +01:00
Piotr Krysik 294138d277 trx: Added missing timeslot filter 2017-11-30 13:06:31 +01:00
Piotr Krysik d2f162fa5e trx: Changes in the redio_if
-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
2017-11-30 12:50:00 +01:00
Vadim Yanitskiy 89aa469cf3 python/trx: WIP: implement transmission chain 2017-11-29 23:11:14 +01:00
Piotr Krysik 6ed10a1dfc Missing __init__.py part for burst_to_fn_time 2017-11-11 11:12:36 +01:00
Piotr Krysik 8d7b64d109 Added Python version of bursts to fn_time converter 2017-11-08 14:34:02 +01:00
Vadim Yanitskiy 01c6afd495 trx/radio_if.py: fix RX / TX gain control 2017-11-05 17:33:26 +01:00
Vadim Yanitskiy da5e21f123 trx/radio_if.py: clean up the stored fields
Only the fields that are going to be changed / used at runtime
should be stored in the radio_if instance.
2017-11-05 17:33:26 +01:00
Vadim Yanitskiy 9baaec24c6 trx/radio_if.py: get rid of useless getters / setters
We are only going to change the RF frequency and gain at runtime.
Other parameters (like sample rate) should remain unchanged.
2017-11-05 17:33:26 +01:00
Vadim Yanitskiy 790b6f0cc1 apps/grgsm_trx: add cmd line arguments for TX chain 2017-11-05 17:33:26 +01:00
Vadim Yanitskiy 5d68aa5620 apps/grgsm_trx: get rid of unused subdev_spec
This could be specified via the device_args,
for example: "subdev=B:0".
2017-11-05 17:33:26 +01:00
Vadim Yanitskiy 962e2d83bb misc_utils/trx_burst_if: get rid of built-in timeslot filter
Since the API of 'Timeslot Filter' block was exposed, we can
get rid of built-in timeslot filter and use the proper methods.
2017-11-05 17:33:26 +01:00
Vadim Yanitskiy 1a88dec147 trx/radio_if.py: fix: use proper block name
Since the 'TRX Burst Interface' block was renamed,
the followgraph is broken. Let's fix it.
2017-11-05 17:33:26 +01:00
Vadim Yanitskiy eecab7eaf4 python/trx: install helper classes as a grgsm submodule 2017-11-05 17:33:26 +01:00
Vadim Yanitskiy 873e44e68d python/trx: follow GNU Radio class naming conventions 2017-11-05 17:33:26 +01:00
Piotr Krysik 517464c0a9 Added txtime_setter block (a c++ version of txtime_bursts_tagger Python block) 2017-11-05 12:23:15 +01:00
Piotr Krysik 6e41d06bbf Corrections in fn_time 2017-11-03 09:56:49 +01:00
Piotr Krysik 1dd2afe367 Changed fn_time to use time_spec_t copied from libUHD 2017-10-31 12:57:26 +01:00
Piotr Krysik 33fbc28500 Correction of bursts tagger 2017-10-31 05:54:31 +01:00
Piotr Krysik 42b2186b17 Added timing advance and delay corerrection to txtime_burst_tagger block 2017-10-19 09:20:23 +02:00
Piotr Krysik ffd09acd8d Corrections in fn_time conversions 2017-10-16 15:47:38 +02:00
Piotr Krysik 96f2ea75b0 Correction needed to make TX and RX integration work 2017-10-16 15:47:08 +02:00
Piotr Krysik 2c7aa9fa5f Little change just to check test result 2017-09-27 22:14:32 +02:00
Piotr Krysik 7980eb9e92 Correction in txtime_bursts_tagger 2017-09-27 22:00:00 +02:00
Piotr Krysik eb62dc1735 Changes in fn_time 2017-09-27 21:59:19 +02:00
Piotr Krysik d3c95c9190 Installation of gsm_gmsk_mod.py file 2017-09-27 21:58:49 +02:00
Piotr Krysik ff5d81de50 Added gmsk modulator block for gsm 2017-09-27 21:56:42 +02:00
Piotr Krysik 27f003267c Adding block for tagging bursts 2017-09-19 08:05:28 +02:00
Piotr Krysik 902f4ebaf0 Moved trx utilities from apps subdirectory - the grgsm_trx app need to be updated 2017-09-19 08:04:33 +02:00
Piotr Krysik cb04d0dd50 Merge branch 'development' into ptrkrysik/trx
# Conflicts:
#	swig/grgsm_swig.i
2017-09-19 07:58:49 +02:00
Piotr Krysik d890cd3b36 Added frame number operations 2017-09-19 07:52:34 +02:00
Piotr Krysik 9b5617a3ef Corrections in the buildsystem 2017-09-18 21:36:06 +02:00
Piotr Krysik 531d978480 Added cmake files for transmitter 2017-09-13 09:35:51 +02:00
Piotr Krysik 2164b9be57 Added new block for tagging bursts messages with txtime 2017-09-13 09:33:27 +02:00
Piotr Krysik 0945cc5512 Changed organization of cmake files
Cmake files were added into subdirectories.
2017-09-13 09:17:50 +02:00
Piotr Krysik 3dfa11b89e Making arfcn<->freq conversions more robust and uptading apps depending on it 2017-09-06 17:48:38 +02:00
Piotr Krysik aed9f5cc80 Fixed problems resulting from Nones returned when no such frequency or ARFCN exists. 2017-08-26 11:25:53 +02:00
Piotr Krysik a6268a5bc1 Big update of copyright statements so they can be automatically processed to produce debian/copyright file 2017-08-23 16:02:19 +02:00
Piotr Krysik 344e9d2f47 Merge branch 'libosmocore_integration' into packaging_piotr
# Conflicts:
#	python/receiver/gsm_wideband_input.py
2017-08-22 15:56:20 +02:00
Piotr Krysik c97a7ff8a0 Removed wideband_input_adaptor 2017-06-11 17:39:05 +02:00
Piotr Krysik ea34c017b5 Added license statements where it was missing 2016-10-02 18:53:43 +02:00
Roman Khassraf fb772f8228 #154: fix for arfcn conversion 2016-09-23 07:23:05 +02:00
Piotr Krysik a3405b285d Changed path (flow_control) and name of uplink_downlink_filter to splitter 2016-08-30 21:31:24 +02:00
Piotr Krysik 2bb54c8fcd Added uplink/downlink splitter 2016-08-16 16:05:23 +02:00
Piotr Krysik 7973538ed2 Changing ppm parameter in clock offset corrector now takes effect on the fractional resampler 2016-07-20 21:39:40 +02:00
Piotr Krysik 1e2782767b Removed debug print from grsm_inpu 2016-07-20 08:10:48 +02:00
Piotr Krysik 74c4ca9627 Removed blocks related to old frequency correction loop (controlled const source and old clock offset corrector) 2016-07-18 10:23:24 +02:00
Piotr Krysik 83afe7390f Changed clock offset controller and company in order to remove from the gsm_input one of the resamplers. 2016-07-17 22:48:35 +02:00
Piotr Krysik d1ca389dbf Corrections to clock offset corrector that uses tags 2016-07-17 11:33:50 +02:00
Piotr Krysik 5f480d3116 Merge branch 'packaging_piotr' into development
# Conflicts:
#	.travis.yml
#	python/CMakeLists.txt
2016-07-15 14:09:55 +02:00
Piotr Krysik a693483ee9 Removed not written tests 2016-07-15 13:46:43 +02:00
Piotr Krysik cbaf4760a8 New gsm_input block 2016-07-15 13:14:37 +02:00
Piotr Krysik 0982673af1 New clock offset corrector and clock offset control 2016-07-15 13:14:24 +02:00
Piotr Krysik 74c4f2c14c New blocks (msg to tag and controlled resampler) related stuff 2016-07-15 13:12:46 +02:00
Piotr Krysik 5c7b3748b1 Corrected the tests so they can be run without installation of gr-gsm
Arfcn test had to be disabled as it still doesn't work (addition of arfcn.py's directory to the PYTHONPATH is needed).
2016-06-21 07:12:32 +02:00
Your Name 799133a2e6 Changed clock_offset_corrector in order to address the problem #152 - this is not ideal solution yet, as it involves removing of sampling frequency offset correction. 2016-06-08 22:30:52 +02:00
Piotr Krysik c6eb3b5c6a Added msg_to_tag block - currently it does nothing 2016-05-29 13:06:39 +02:00
Piotr Krysik e5bd4b86e9 Next corrections of demapping blocks - mainly corretion of SDCCH8 uplink configuration. 2016-05-23 09:43:05 +02:00
Piotr Krysik 19cba4762a Corrected configuration of demappers 2016-05-21 09:24:34 +02:00
Piotr Krysik e4fcdf3c15 Corrected _channe_types vectors in SDCCH8 demapper 2016-05-21 09:01:42 +02:00
Piotr Krysik 773a194c32 Big change of the universal control channels demapper:
-simplification of the universal demapper,
-addition of hierarhical blocks for each of the demappers - so they also look well and readable in python,
-addition of helper script for compilation of the demappers.
2016-05-20 12:45:54 +02:00
Steve Glass d3b40496e8 Minor fixup of channelizing messages 2016-03-03 18:58:56 +10:00
Steve Glass 5707c2b01e Make band user-selectable in gsm_wideband_input 2016-02-29 17:50:10 +10:00
nightcoffee 5edaff05b0 Update gsm_wideband_input.py
Fix compatible problem
2016-02-23 05:51:34 +08:00
Piotr Krysik dd66b3b4b5 Fixed test of the message printer - related to issue #149 2016-02-21 10:26:44 +01:00
Piotr Krysik e403d9bfe5 Missing part of fix of the #135 bug 2016-01-09 22:27:28 +01:00
Piotr Krysik 8715da0893 Fixed all hierarchical blocks in the project
by adding a hier_block class that solves incompatibility between GNU Radio >=3.7.9 and <=3.7.8
and inheriting all hierarchical blocks from it.
This commit fixes #135
2016-01-06 22:21:09 +01:00
Piotr Krysik e3b652ddf3 Another approach to fix for problem #135
with message inputs of hierarhical blocks, caused by incompatibility introduced in GNU Radio 3.7.9.
2016-01-02 09:14:27 +01:00
Piotr Krysik 3a527f8e58 Fix for problem #135 with hierarhical blocks due to incompatibility introduced in GNU Radio 3.7.9 2016-01-01 16:01:26 +01:00
rpp d7e8baeade Cleaned up code in wideband input block 2015-10-05 10:48:18 +02:00
rpp a49a4d2b96 Implemented multiband channelizer as gr-gsm block. 2015-10-05 09:57:03 +02:00
Roman Khassraf 5ec7987f8a Added functions to get first and last arfcn of a band 2015-09-26 08:29:13 +02:00
Roman Khassraf e7e75f0b84 Replaced band config dictionary by an OrderedDict 2015-08-22 19:26:12 +02:00
Roman Khassraf 91448618d4 Added arfcn functions 2015-08-21 11:14:51 +02:00
Roman Khassraf 8b64d873ca Implemented burst sdcch subslot filter. Issue #100 2015-08-06 17:30:04 +02:00
Roman Khassraf d7e3eec3ae Implemented burst timeslot filter. Issue #100 2015-08-06 11:54:22 +02:00
Roman Khassraf e91edbdc11 Merged origin/msg-file-sink-source-101 into dev, fixed conflicts. Issue #101 2015-08-05 13:23:38 +02:00
Roman Khassraf 3ea373c3e2 Fixed changed block names in qa code of flow-control blocks. Issue #100 2015-08-05 13:09:05 +02:00
Roman Khassraf 98da635ccc Merged origin/flow-control-100 into dev, fixed conflicts 2015-08-05 13:02:12 +02:00
Roman Khassraf f163ca5957 Fixed changed block name in qa code 2015-08-05 12:58:00 +02:00
Roman Khassraf 64c74463ba Merged origin/test-utils-98 into dev, fixed conflicts 2015-08-05 12:51:33 +02:00
Roman Khassraf a1eb188b97 Implemented burst sub-slot splitter. Issue #100 2015-08-05 12:30:29 +02:00
Roman Khassraf 7cccb52ef3 Implemented dummy burst filter. Issue #100 2015-08-04 12:26:54 +02:00