Commit Graph

129 Commits

Author SHA1 Message Date
Vadim Yanitskiy a11692085e Fix compilation error: '_1' was not declared in this scope
Change-Id: I0f1f2df817a65f7d5b72c5280451346a0a011d47
2021-05-03 20:34:13 +02:00
Piotr Krysik df417739b0 cmake: make formatting of install statements follow one pattern
Change-Id: Ib7d571af629b0af78397a411b0cca409a6d218d8
2021-05-03 07:14:00 +02:00
Vasil Velichkov ff88ba41ec Add control channels demappers tests
3GPP TS 45.002 version 15.1.0 Release 15
Table 3 : Mapping of logical channels onto physical channels (see subclauses 6.3, 6.4, 6.5)
Table 4 : Mapping of logical channels onto physical channels (see subclauses 6.3, 6.4, 6.5)
Figure 8a: TDMA frame mapping for FCCH + SCH + BCCH + CCCH
Figure 8b: TDMA frame mapping for FCCH + SCH + BCCH + CCCH + SDCCH/4(0...3) + SACCH/4(0...3)

Five of the six tests currently fail and are marked with
@unittest.expectedFailure. Fixes in subsequent commits.

Change-Id: I33b0948832a0c2506bffd389cc134c3236c74d27
2019-07-29 21:09:07 +03:00
Piotr Krysik aaac615715 Improve slightly interface of plotting so it's easier to use it
Change-Id: Ia70ab45a8beb81512a9f83e316ad2d2bc385ef19
2019-04-01 09:43:26 +02:00
Vasil Velichkov 7f259fdb68 Add TCH/H decoder block with AMR multirate support
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 - 10.5.2.21aa MultiRate configuration

Example:
    grgsm_decode -m TCHH --sub-channel 0 --multi-rate 2811 -o voice.amr ...
2018-12-29 00:52:05 +01:00
Vasil Velichkov 1828a315a8 Move HR demapping into a separate block 2018-12-29 00:52:05 +01:00
Andrew Artyushok fbcee39107 Add HR demapping 2018-12-29 00:52:05 +01:00
Vadim Yanitskiy 5394c6012d gsm_trx_burst_if: allow to customize the bind address
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-10 16:38:59 +07:00
Piotr Krysik 993055342d Moving trx burst interface to trx directory
and to new 'Transceiver' cathegory in gnuradio-companion
2018-05-05 12:38:11 +02: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
Piotr Krysik c097ce73c5 Added block for extracting assignment commands 2018-03-05 13:16:32 +01:00
Piotr Krysik 70f549abae Merge remote-tracking branch 'origin/quick-hack' into grgsm_on_win 2018-02-27 14:46:18 +01:00
Piotr Krysik c0621c66ac Fix portability: added windows style struct packing to gsmtap_hdr 2018-02-27 14:45:14 +01:00
Piotr Krysik ffbaca9089 Commented out include that seems to be not necessary and that causes problems for MSVC 2018-02-27 14:45:14 +01:00
Piotr Krysik 0c6ade0027 Fix: fixed name of the define to the one set in lib/CMakeLists.txt 2018-02-27 14:45:14 +01:00
Vadim Yanitskiy 0aafe2856d Implement the 'burst_to_fn_time' block in C++ 2017-12-04 01:48:43 +07:00
Vadim Yanitskiy 4f4e578ffd include/grgsm: remove forgotten 'trx_interface' dir
This directory was accidentally kept here during the
'TRX Burst Interface' migration into 'misc_utils'.
2017-11-29 23:11:14 +01:00
Piotr Krysik 800ac63109 Corrected wrong lenght of the Access Burst 2017-11-29 16:39:41 +01:00
Piotr Krysik 2344483869 Added a block for generating Access Bursts 2017-11-29 16:39:22 +01:00
Piotr Krysik 52f7416b3f Changed name of trx_interface directory to trx 2017-11-07 19:34:45 +01:00
Piotr Krysik ccb5e689e1 Added tx bursts preprocessing block 2017-11-07 19:34:22 +01:00
Piotr Krysik d7efc05b79 Moved gsm_constants file to include directory 2017-11-07 19:33:22 +01:00
Piotr Krysik acc365f2f1 Added C++ version of burst type filter 2017-11-07 19:31:42 +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 e601c366bd Refactor the 'TRX Burst Interface' block
The following changes were made:

  - Both implementation and headers were merged with misc_utils
  - Fixed namespace mess: was gr::grgsm, became gr::gsm
  - More accurate class name was chosen: "trx_burst_if"
2017-11-05 17:33:26 +01:00
Piotr Krysik 264fbf69f7 Corrected namespaces from grgsm to gsm 2017-11-05 12:25:51 +01:00
Piotr Krysik 776b67f82c Missing cmakelists file for txtime_setter 2017-11-05 12:24:17 +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 d32ba5b471 Removed unused (and problematic during SWIG) part of time_spec_t and exposed time_spec_t in the library's ABI 2017-11-03 09:58:13 +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 34ce7a02f0 Added C++ version of fn_time 2017-10-31 11:30:59 +01:00
Piotr Krysik ebf8880709 Modification of the burst sink to read bursts with headers - incomplete 2017-09-19 08:07:14 +02:00
Piotr Krysik e6e787959f Merge branch 'fixeria/trx' into development
# Conflicts:
#	swig/grgsm_swig.i
2017-09-12 11:45:20 +02:00
Piotr Krysik dea057452f Added a function returning maintance version name 2017-08-25 21:55:41 +02:00
Piotr Krysik bb961c17fa Added versioning borrowed fron GNU Radio to gr-gsm 2017-08-24 15:35:42 +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
Vadim Yanitskiy 04536ab41c flow_control: implement pass / drop filtering policies
This change introduces a set of three modes for flow control
filters, one of which is default behavor and two extra modes
else described below:

  - FILTER_POLICY_PASS_ALL
  - FILTER_POLICY_DROP_ALL

Both modes are opposite, and make a filter either unconditionally
pass or drop all the data one gets to the input. They would be
usable for some external usage.
2017-07-22 12:43:16 +07:00
Vadim Yanitskiy 6ee2c165d9 burst_sdcch_subslot_splitter: implement and expose GET/SET API 2017-07-21 07:34:05 +07:00
Vadim Yanitskiy fbfd836fc2 burst_sdcch_subslot_filter: implement and expose GET/SET API 2017-07-21 07:34:05 +07:00
Vadim Yanitskiy ccc7183e42 burst_fnr_filter: implement and expose GET/SET API 2017-07-21 07:33:56 +07:00
Vadim Yanitskiy 91195eb5bf burst_timeslot_filter: implement and expose GET/SET API 2017-07-21 07:04:30 +07:00
Vadim Yanitskiy 5b7c60af7a trx_interface: implement built-in timeslot filter
There is a dedicated block named 'Burst Timeslot Filter', which
could be used, but one doesn't expose the API to change the
timeslot index 'on fly'.

This change implements built-in timeslot filter in 'TRX Interface'
block, which will be used until the proper block expose API.
2017-07-19 17:30:44 +07:00
Vadim Yanitskiy 89fc14ba44 Implement transceiver interface
This change introduces a new block 'TRX Interface', which is aimed
to provide an interface for external applications, such as Osmocom
MS side stack implementation - OsmocomBB. Currently one allows to
exchange raw GSM bursts between GR-GSM and other applications.

Moreover, there is a new 'trx.py' application, which implements a
simple follow graph, where all demodulated bursts are being sent
to external application via UDP link provided by 'TRX Interface'.
OsmoTRX (Osmocom's fork of OpenBTS transceiver) like control
interface is used to initialize, configure, start and stop the
application. Messages on this interface are human readable ASCII
strings, which contain a command and some related parameters.
2017-07-07 22:12:52 +07:00
Piotr Krysik a081366dad Quick hack to interpret unencrypted assignment commands 2017-04-02 17:19:13 +02:00
Piotr Krysik 8f121c1e7c Added interpretation of SC (start ciphering) field in cmc extractor 2017-03-30 10:55:08 +02:00
Piotr Krysik 369bdb37c1 Merge branch 'master' into collect-system-info 2017-02-16 20:51:36 +01:00
Roman Khassraf 98581a8e92 Implemented system info collection block 2017-01-11 13:33:12 +01:00
Roman Khassraf e5ddab3e1d #240: Implemented block for extraction of information from cipher mode command messages 2016-12-04 16:19:40 +01:00