Commit Graph

208 Commits

Author SHA1 Message Date
Piotr Krysik 8a8d41a583 Merge branch 'ptrkrysik/trx' into development 2018-04-16 22:21:29 +02:00
Vasil Velichkov 0feb4ab51f Fix the parallel build.
- Override the GR_UNIQUE_TARGET function to not append a hash to the
  target name.
- Add explicit dependency between pygen_apps and _grgsm_swig
  The _grgs_swig needs to be built first because grcc evaluates and
  verify all imports
- Test the parallel build in the docker containers as well
2018-03-22 06:07:24 +01: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 f0c83d84e0 Fixing missing callback to set_fc in clock_offset_control block 2018-01-23 15:07:08 +01:00
Vadim Yanitskiy 14b8e854c2 apps/grgsm_trx: use 4 * GSM_SYM_RATE as default sample rate
With this sample rate it's easier to synchronize
training sequence with the signal.
2017-12-04 00:22:39 +07:00
Piotr Krysik 66c56e7803 trx: Changed default gain to 40 2017-12-01 11:58:53 +01:00
Piotr Krysik be1da4a233 trc: Changed sample rate to 4 times GSM symbol rate 2017-11-30 13:44:54 +01:00
Vadim Yanitskiy 0e7c9a80ad apps/grgsm_trx: fix antenna selection options
Both '--rx-antenna' and '--tx-antenna' require an argument.
2017-11-29 23:11:14 +01:00
Piotr Krysik ab8cde9b7a Making headless livemon executable 2017-11-05 17:44: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 ba7ad29638 apps/grgsm_trx: import helper classes from grgsm.trx 2017-11-05 17:33:26 +01:00
Petter Reinholdtsen 615fc86d53 Making arfcn<->freq conversions more robust for grgsm_livemon too (closes issue #337). 2017-09-25 23:41:52 +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 e6e787959f Merge branch 'fixeria/trx' into development
# Conflicts:
#	swig/grgsm_swig.i
2017-09-12 11:45:20 +02:00
Piotr Krysik 45b8700072 Removed all references to 'band' 2017-09-11 10:38:40 +02:00
Piotr Krysik fcb45b021a Remove 'band' option from grgsm_decode altogether 2017-09-11 10:38:40 +02:00
Piotr Krysik a80567f013 Bring back parameter checking, correct creation of grgsm_capture object 2017-09-11 10:38:40 +02:00
Piotr Krysik df0adf3d86 Remove band from grgsm_capture altogether 2017-09-11 10:38:40 +02:00
leommxj caa7741d09 delete some useless code after the change of is_valid_arfcn(...) and arfcn2downlink(...) 2017-09-11 10:38:40 +02:00
leommxj ece9fd7f39 fix bug after commit 3dfa11b89e .change arfcn2downlink(a,b) to one argument in grgsm_decode and grgsm_capture and grgsm_channelize 2017-09-11 10:38:40 +02:00
leommxj 1a35cb973f fix bug after commit 3dfa11b89e .change is_valid_arfcn grgsm(a,b) to one argument in grgsm_decode and grgsm_capture 2017-09-11 10:38:40 +02:00
Piotr Krysik a63ba0e4cc Removing *livemon_headless.py script that shouldn't be in the repository. 2017-09-11 10:38:40 +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 1ad0c96abb Added *.desktop files installation a'la GNU Radio.
After building grgsm_setup_freedesktop is created. It has to be executed during installation of a package with 'install' as a parameter.
During removal of a package it has to be called with 'uninstall' as a parameter.
2017-08-31 21:58:48 +02:00
Piotr Krysik 4c5564bf2a Moved the desktop file to subdirectory for clarity 2017-08-30 10:47:07 +02:00
Piotr Krysik 0a80b1447c Changed destination variable for the desktop files 2017-08-30 10:43:59 +02:00
Piotr Krysik c8f46319dd Added recording length parameter to grgsm_livemon_headless 2017-08-30 10:39:29 +02:00
Piotr Krysik 82ae3d01bb Merge pull request #322 from petterreinholdtsen/gain-slider
Rename g_slider to gain_slider for consistency.
2017-08-30 10:03:35 +02:00
Petter Reinholdtsen 228b52e2bb Rename g_slider to gain_slider for consistency. 2017-08-28 22:23:27 +02:00
Petter Reinholdtsen 0af5512ceb Add generated grgsm_livemon_headless from grgsm_livemon_headless.grc and install the program. 2017-08-28 22:19:11 +02:00
Petter Reinholdtsen 5b083acff5 Add non-GUI/headless livemon version.
The grgsm_livemon_headless.grc file can be re-created using grgsm_livemon.grc
and the instructions in the README, documenting how to disable the GUI in the
normal livemon version.
2017-08-28 22:17:38 +02:00
Piotr Krysik d65671eacb Merge pull request #320 from petterreinholdtsen/scanner-str-repr-fix
Fix fatal typo in channel_info.__repr__().
2017-08-28 17:58:08 +02:00
Piotr Krysik 440dcea64e Merge branch 'packaging' into desktop-menu-entry 2017-08-28 17:56:21 +02:00
Piotr Krysik 56825a7ae8 Merge pull request #318 from petterreinholdtsen/remove-compat-symlinks
Remove all traces of the compatibility symlinks from cmake.
2017-08-28 17:49:04 +02:00
Piotr Krysik 54e3905c11 Changed the BCCH+CCCH+SDCCH4 demapper into BCCH+CCCH demapper 2017-08-27 12:27:21 +02:00
Petter Reinholdtsen 1eeb1b4a2b Fix fatal typo in channel_info.__repr__().
The format list is one value too short.  Add the missing %s.
2017-08-27 05:39:47 +00:00
Petter Reinholdtsen ccab28dffe Add XDG desktop menu entry for grgsm_livemon. 2017-08-26 13:25:22 +00:00
Petter Reinholdtsen 8275578db6 Remove all traces of the compatibility symlinks from cmake. 2017-08-26 13:14:13 +00:00
Piotr Krysik 688c81e417 Fixing collectorport and collector removed in the last commit from grgsm_livemon 2017-08-26 13:32:51 +02:00
Piotr Krysik 50c3e36373 Applied new changes in grgsm_livemon.grc to the python code 2017-08-26 12:59:15 +02:00
Piotr Krysik 44ee1beeff Merge branch 'udp-server-print' of https://github.com/petterreinholdtsen/gr-gsm into petterreinholdtsen-udp-server-print
# Conflicts:
#	apps/grgsm_livemon.grc
2017-08-26 12:51:03 +02:00
Piotr Krysik 85ec6ae4e7 Applied changes with collector port and IP in python version of grgsm_livemon 2017-08-26 12:24:34 +02:00
Piotr Krysik 9091d2391c Merge branch 'config-collector-point' of https://github.com/petterreinholdtsen/gr-gsm into petterreinholdtsen-config-collector-point 2017-08-26 12:20:42 +02:00
Piotr Krysik 3138f90f6e Merge branch 'scanner-str-repr' of https://github.com/petterreinholdtsen/gr-gsm into petterreinholdtsen-scanner-str-repr
# Conflicts:
#	apps/grgsm_scanner
2017-08-26 11:43:11 +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 8a771785ca Merge branch 'reuse-scanner' of https://github.com/petterreinholdtsen/gr-gsm into petterreinholdtsen-reuse-scanner 2017-08-26 11:00:00 +02:00
Piotr Krysik cd398e794c Removed compatibility symlinks (closes issue #302) 2017-08-25 22:12:16 +02:00
Petter Reinholdtsen d7ab8c0605 Connect Message Printer block to UDP server block.
Instead of printing messages in parallel to the UDP package sending,
move the printing to after the UDP server block.  This make it both
possible to disable message printing by changing the server port to a
different value from the client port, and to print messages collected
by several clients by pointing all clients to the same server.
2017-08-25 10:23:27 +02:00
Petter Reinholdtsen 145d78dcbf Make UDP server port configurable using --serverport parameter.
This make it possible to run several grgsm_livemon processes on the same machine,
by giving them unique ports to listen on.
2017-08-25 08:19:58 +00:00
Petter Reinholdtsen 898f74c160 Make address and port of collector point configurable.
Introduce new command line arguments --collector <host> and
--collectorport <portnumber> to make it possible to send the GSM
packages outside localhost.
2017-08-24 14:10:36 +02:00
Petter Reinholdtsen 284282ef68 Change channel_info to provide both __str__ and __repr__.
The __str__() function should be used for pretty-printing of the
class, while __repr__ should be used to print a complete
representation of the class.  Earlier __repr__ would not include all
the information in the class.
2017-08-24 11:33:03 +02:00
Petter Reinholdtsen 6a7dc449e5 Restructure grgsm_scanner to allow its reuse from python
Split the main() function into do_scan() and argument_parser() and
move the result printing into a function pointer passed to do_scan().
This allow the scanner to be reused as a library from python.

Here is one way to reuse it:

  import imp
  scanner = imp.load_source('scanner', '/usr/bin/grgsm_scanner')
  (options, args) = scanner.argument_parser().parse_args()
  list = scanner.do_scan(options.samp_rate, options.band, options.speed,
                         options.ppm, options.gain, options.args)
  print list
2017-08-24 10:46:43 +02:00
Piotr Krysik 77868e4fa6 Updated apps/README with new names of helper scripts 2017-08-23 21:37:24 +02:00
Piotr Krysik 2cef7a2a91 Merge branch 'deb-bin-no-ext' of https://github.com/petterreinholdtsen/gr-gsm into petterreinholdtsen-deb-bin-no-ext 2017-08-23 21:32:26 +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
Petter Reinholdtsen a0889539e4 Remove language extention from remaining binaries.
The install target install some binaries without language extentions and
others with such extension:

 * grgsm_capture.py
 * grgsm_channelize.py
 * grgsm_decode
 * grgsm_livemon
 * grgsm_scanner

It would be more consistent and according to the policy of Debian and
Ubuntu if all the binaries were without such language extention.  This
commit rename grgsm_capture.py and grgsm_channelize.py to avoid the
language extention.
2017-08-08 07:55:31 +00:00
Piotr Krysik 2770fc485c Added missing default value of voice-boundary parameter. Fixes #206 2017-07-23 22:05:10 +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 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 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 948f70463f trx_interface: follow GR-GSM app naming style 2017-07-16 23:29:59 +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 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 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 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 a5f5a31559 Fixes incorrect arguments in wideband_scanner 2016-11-20 22:11:46 +01:00
Piotr Krysik eeab38fc3e little changes in apps readme 2016-10-02 18:55:04 +02:00
Piotr Krysik ea34c017b5 Added license statements where it was missing 2016-10-02 18:53:43 +02:00
Roman Khassraf 1245b223a8 #208: Fixed port names of offset control and input 2016-10-01 13:13:05 +02:00
Roman Khassraf e87e955d29 #208: fixed samp_rate variable 2016-10-01 13:00:43 +02:00
Roman Khassraf c0addfba83 #193: Adding option for enabling voice boundary detection in grgsm_decode 2016-09-27 20:11:42 +02:00
Roman Khassraf 98af2c97e1 Reflecting changes of arfcn module, re-ordering of output code to prevent messages about reattached kernel driver 2016-09-23 07:26:13 +02:00
Piotr Krysik 9648540d10 Changed default sample rate 2016-07-21 16:06:03 +02:00
Piotr Krysik 2779172936 Updated TCH/F decoding so it writes data to a file. Flowgraph execution never ends. 2016-07-20 08:12:23 +02:00
Piotr Krysik fe538eba62 Changes to apps after frequency offset correction major change 2016-07-18 18:14:49 +02:00
Piotr Krysik 58a4c4d4c0 Corrected capture application 2016-07-18 09:50:52 +02:00
Piotr Krysik 231aca74c2 Corrected the decoding app so it's possible to run it without frequency correction loop 2016-07-17 10:44:43 +02:00
Piotr Krysik 196982b6ce Removed old icmp packages preventing code 2016-07-17 10:43:00 +02:00
Piotr Krysik 388bc0d1cf Corrections of parameters of clock_offset_control block 2016-07-15 14:17:05 +02:00
Piotr Krysik 19028868cc Merge branch 'development' of https://github.com/ptrkrysik/gr-gsm into development 2016-07-15 13:21:44 +02:00
Piotr Krysik 6577ec215e Update applications to work with new gsm_input block 2016-07-15 13:21:09 +02:00
Piotr Krysik bd8a716369 Commented out old method of suppressing ICMP messages 2016-06-09 14:43:09 +02:00
Piotr Krysik 9d9f74edd4 Corrected order of creating socket_pdu* objects 2016-06-09 14:13:50 +02:00
Piotr Krysik beb36f4a19 Added socket_pdu server - closes issue #194 2016-06-09 13:58:52 +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
Piotr Krysik cdff492ff7 Merge branch 'master' into development 2016-05-14 07:15:15 +02:00
Piotr Krysik 7685bc0501 Change to print only content of bursts without tails and training sequences 2016-04-29 12:09:01 +02:00
Piotr Krysik 0679ceb0d1 Added option to print raw, unencrypted bursts - with dummy bursts filtered out. 2016-04-29 11:16:22 +02:00
Piotr Krysik 13d9e7a334 Corrected the example in grgsm_channelize, changed default sample rates in applications. 2016-04-24 15:23:15 +02:00
Piotr Krysik 0ff0d09960 Correction of device's argument passing 2016-03-18 11:39:09 +01:00
Piotr Krysik 30ea7ddfac Corrected the mistake introduced by the previous commit 2016-03-11 09:04:03 +01:00
Piotr Krysik 8040e01751 Changes in grgsm_decode in order to enable working without frequency correction. 2016-03-08 21:42:11 +01:00