Commit Graph

37 Commits

Author SHA1 Message Date
Vadim Yanitskiy 04863d978f trx/ctrl_if_bb.py: reset transceiver on POWEROFF
Change-Id: I1e7f74c56388a431794a0b32b8a9537c360f5d33
2019-07-18 10:31:27 +02:00
Vadim Yanitskiy 6e7f2ce50c trx/radio_if.py: introduce a new @property 'ready'
Change-Id: I513da0f45c6a608d15fbd0e8eafe14d6af8833d7
2019-07-18 10:31:27 +02:00
Vadim Yanitskiy 7d8a1caa0f trx/radio_if.py: do not init both rx_freq and tx_freq
Change-Id: I9f251958ec90141d144fdb027aff20182131a1d1
2019-07-18 10:31:26 +02:00
Vadim Yanitskiy d54e8fb500 python/trx: get rid of FakePM class
Change-Id: Ie96eb9735ecaa3329135c7be976ffd277a2f64f4
2019-07-18 10:31:26 +02:00
Vadim Yanitskiy 44d8c1e16b python/trx: use CamelCase naming for basic classes
Change-Id: Ica9c56d01191dda38e63b51caba2ec8c63b671c9
2019-07-18 10:31:26 +02:00
Vadim Yanitskiy 0d0508aa86 trx/radio_if.py: use existing 'dict_toggle_sign' block
Change-Id: Ifa616644a858f493b9f8706663f9e7fed717f3d0
2019-07-18 10:31:26 +02:00
Piotr Krysik db65883a68 apps/grgsm_trx: remove redundant unit from freq_offset variable name
Frequency is always in Hz so there is no need to add that
information in the variable name.

Change-Id: I509771c3fe072069a680f66b0763ae6825f6d529
2019-07-18 10:31:26 +02:00
Piotr Krysik d6e8bb744e apps/grgsm_trx: remove unnecessary checks of freq_offset
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-13 15:35:44 +02:00
Piotr Krysik 11583adb9d trx/radio_if: add freq_offset parameter to constructor
Change-Id: Ie1db02b719a0fec478b8a8b8a95643fb10fdfce5
2018-09-13 15:35:44 +02:00
Piotr Krysik 58659a4dee trx/radio_if.py: clarify magic numbers in sample rate calculation
Change-Id: I55f283113d0324a0236b7bbf13bce5718003b857
2018-09-13 15:35:44 +02:00
Vadim Yanitskiy 562125270b apps/grgsm_trx: fix inaccurate sample rate calculation
Change-Id: I0c309588fa0f7822abfb3919327639735db07679
2018-09-13 15:35:44 +02:00
Piotr Krysik ba6fd0e776 Revert "grgsm_trx: Migrated argument parsing to argparse" that shouldn't be pushed
This reverts commit c62a3d9f55.
2018-09-13 15:35:44 +02:00
Piotr Krysik fcb64a8adf grgsm_trx: Migrated argument parsing to argparse
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-13 15:35:44 +02:00
Vadim Yanitskiy 3f9abbdf92 apps/grgsm_trx: add baseband frequency shift feature
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-13 15:35:44 +02:00
Vadim Yanitskiy 641133e5d8 apps/grgsm_trx: print bind / remote address and port
Change-Id: If750d476f3972f1ab5c5b637438d14d40b1e3d87
2018-09-13 15:35:44 +02:00
Vadim Yanitskiy 216558454d apps/grgsm_trx: introduce bind address option
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-09-13 15:35:44 +02:00
Vadim Yanitskiy f94a51b64d 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-09-13 15:35:44 +02:00
Vadim Yanitskiy 3824bbaeb1 trx/radio_if.py: drop useless import of osmosdr
Change-Id: Iacd5ca118957e3ecf05df81f511b17bb9a8982b5
2018-09-13 15:35:44 +02:00
Vadim Yanitskiy 45457e959d 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-09-13 15:35:44 +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
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 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
Vadim Yanitskiy 4650fad7cb trx/radio_if.py: use native burst_type_filter block 2017-12-01 05:08:35 +07: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
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 873e44e68d python/trx: follow GNU Radio class naming conventions 2017-11-05 17:33:26 +01: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