Commit Graph

24 Commits

Author SHA1 Message Date
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