Commit Graph

1159 Commits

Author SHA1 Message Date
Vadim Yanitskiy cc82cf0300 receiver_impl.cc: refactor the source code
This change formats the receiver implementation source code
according to a mix of GNURadio and the Kernel coding styles.

The main changes are:

  - Line length limit is 80 columns
  - Usage of /* comments */ is prefered
  - Do not use curly braces for single line loops / conditions

For more details, see:

https://wiki.gnuradio.org/index.php/Coding_guide_impl
https://www.kernel.org/doc/html/v4.10/process/coding-style.html
2017-07-24 19:59:46 +07:00
Piotr Krysik 2770fc485c Added missing default value of voice-boundary parameter. Fixes #206 2017-07-23 22:05:10 +02:00
Piotr Krysik 6629abc5e0 Closes #290 - the problem with subtracting of timeslot number for timeslots 0,1,2. 2017-07-23 20:26:49 +02:00
Piotr Krysik 82638ab4b3 Added a bit better labels for most cryptic paramters. Related to issue #288 2017-07-23 19:14:13 +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
Piotr Krysik 5eb5db2fc1 Added clock offset measurement in ppm as it is usable for debugging. 2017-07-20 09:06:08 +02:00
Vadim Yanitskiy 76e4b33453 apps/trx: handle MEASURE command
As the actual power measurement isn't implemented yet, we will
emulate this process sending random power levels from specified
range.
2017-07-19 17:51:24 +07:00
Vadim Yanitskiy 45d9f22352 apps/trx: handle SETSLOT command
Currently, this command is used only to (re)configure built-in
timeslot filter of 'TRX Interface' block. Channel configuration
number, provided as the second parameter of command, is ignored.
2017-07-19 17:38:26 +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 5f393a41bb apps/trx/radio_if.py: drop unused imports 2017-07-19 15:36:31 +07:00
Vadim Yanitskiy dd0b06a5fc apps/trx: wait until transceiver actually stop 2017-07-19 15:36:31 +07:00
Vadim Yanitskiy f3eccbf444 apps/trx: separate CTRLInterface implementation 2017-07-19 15:36:20 +07:00
Vadim Yanitskiy 4b5c299dc0 apps/trx: get rid of meaningless main function 2017-07-19 14:54:14 +07:00
Vadim Yanitskiy 7427bafd50 apps/trx: separate UDP socket implementation 2017-07-19 14:43:48 +07:00
Vadim Yanitskiy 1d6b628c5a trx_interface: set proper burst type in GSMTAP header
If received burst is a RACH burst, one should contain the RACH
synchronization sequence (GSM 05.02 Chapter 5.2.7) and long
guard period filled by 0x00.
2017-07-19 14:32:35 +07:00
Vadim Yanitskiy 780816d12a trx_interface: make both source and sink ports optional 2017-07-19 14:05:17 +07:00
Vadim Yanitskiy ac3a527c98 trx_interface: implement incoming data handler
This change implements a receive path for UL bursts, namely
the OsmoTRX style header conversation to GSMTAP.
2017-07-19 14:02:49 +07:00
Vadim Yanitskiy 948f70463f trx_interface: follow GR-GSM app naming style 2017-07-16 23:29:59 +07:00
Vadim Yanitskiy 99be625855 trx_interface: follow common block naming style 2017-07-16 23:26:34 +07:00
Vadim Yanitskiy c36c49889c trx_interface: append two unused bytes at the end of messages
Despite the last two bytes at the end of messages on DATA
interface are not used, let's keep the protocol compatibility
and fill them by 0x00.
2017-07-16 23:25:01 +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 b31689d227 Changed mask for System Information type 2ter. Closes #281. 2017-06-11 20:30:56 +02:00
Piotr Krysik c97a7ff8a0 Removed wideband_input_adaptor 2017-06-11 17:39:05 +02: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 dd86a9986f Fix (hack) of lack of text output of the scanner 2017-03-30 10:53:58 +02:00
Piotr Krysik 881b6c3139 Added gain option to the wideband_scanner - so changing gain parameter have effect 2017-03-30 10:53:25 +02:00
Piotr Krysik 25bd460d13 Merge branch 'stiabhan-fix-comparisons' into development 2017-03-09 10:06:10 +01:00
Steve Glass 263f00d036 Fix operator precedence in comparisons 2017-03-02 20:40:22 +10:00
Piotr Krysik c988c740b6 Merge branch 'romankh-collect-system-info' into development 2017-02-17 09:19:10 +01:00
Piotr Krysik 369bdb37c1 Merge branch 'master' into collect-system-info 2017-02-16 20:51:36 +01:00
Piotr Krysik 654d652a73 Ressurected old frequency correction function 2017-01-23 21:53:48 +01:00
Piotr Krysik 93ba6bc2c2 Changes in the livemon:
-changed frequency range,
-added abiliti to set fractional frequency correction.
2017-01-23 21:33:09 +01:00
Piotr Krysik 9bc0fc0c59 Changed frequency estimator to the old one that worked better 2017-01-18 21:53:17 +01:00
Roman Khassraf 98581a8e92 Implemented system info collection block 2017-01-11 13:33:12 +01:00
Piotr Krysik 81f9700762 Merge branch 'development' into libosmocore_integration 2017-01-03 09:34:45 +01:00
Piotr Krysik 70c25a112a Changes in decoding:
-copied decoding routines from libosmocore to gr-gsm,
-made cmake files entries for new source files and added linking with libosmocodec,
-moved sch.c file to decoding folder.
2017-01-03 08:01:23 +01:00
Piotr Krysik 01f9c1975e Merge pull request #241 from romankh/cmc-extractor
Merging CMC extraction block written by @romankh
2016-12-29 13:12:16 +01:00
Piotr Krysik f7653ecb8b Merge branch 'romankh-213-3digit-mnc' into development 2016-12-29 13:09:29 +01:00
Piotr Krysik 993ea3989e Merge branch '213-3digit-mnc' of https://github.com/romankh/gr-gsm into romankh-213-3digit-mnc 2016-12-29 13:08:39 +01:00
Piotr Krysik 25ae3e2066 Merge branch '213-3digit-mnc' of https://github.com/romankh/gr-gsm into libosmocore_integration 2016-12-29 13:01:48 +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
Piotr Krysik fcf7e347be Merge branch 'romankh-234-wb-scanner-args' into development 2016-11-30 12:08:45 +01:00
Roman Khassraf ddd096e6b4 #213: Fixes 3-digit MNC 2016-11-28 21:57:19 +01:00
Roman Khassraf a5f5a31559 Fixes incorrect arguments in wideband_scanner 2016-11-20 22:11:46 +01:00
Roman Khassraf 1591cdebdf Fix for #232 (incorrect facch subtype) 2016-11-20 21:50:23 +01:00