Vasil Velichkov
06321a39e0
Improve voice boundary detection
...
Decode Alerting and Progress messages and if the in-band information
flag is set start decoding the voice
2018-12-29 00:52:05 +01: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
Piotr Krysik
003c8720f5
transmitter/txtime_setter: fix error print syntax error
2018-12-28 22:36:40 +01:00
David Holm
17852163ad
lib/trx, lib/transmitter: Include grgsm/endian.h
...
MacOS X does not have endian.h and the build will fail unless
grgsm/endian.h is used.
2018-12-28 18:55:12 +01:00
Vadim Yanitskiy
dc342dc88a
trx/txtime_setter: print error if reference fn is missing
...
Change-Id: I2a6e3f41b6fe79b92d85ff98bc2cd9afd9bdc568
2018-12-21 06:55:11 +07:00
Vadim Yanitskiy
b73b4a8637
trx/txtime_setter: reduce code nesting in process_txtime_of_burst()
...
Change-Id: I5c334e16d6b28a5e32cd62a177ad56bfc8e748ee
2018-12-21 06:50:44 +07:00
Vasil Velichkov
89585b374b
burst_file_source: Fix reading longer bursts
...
- Read bursts with pmt::deserialize directly from the std::filebuf
- Remove the unused unserialized variable
- Add tests
Since df978693
when the rx_time tags are present in the incomming stream
the gsm receiver adds fm_time to the burst's PMT and the bursts that
burst file sink writes becomes longer because of the additional field.
The burst file source block was expecting all burst to be 147 bytes long
and reading files with longer bursts was failing with an unhandled exception.
terminate called after throwing an instance of 'pmt::exception'
thread[thread-per-block[5]: <block dummy_burst_filter (2)>]: pmt_cdr: wrong_type : #f
what(): pmt::deserialize: malformed input stream, tag value = : 115
Change-Id: I989b0d6a6b214088b7880e5cbf7bb6725492dbfc
2018-09-13 09:35:28 +00:00
Vasil Velichkov
75ae9cc361
Format the output into ostringstream and then write it at once.
...
This fixes the garbled output when multiple printers are used in a
flowgraph.
closes #255
closes #420
Change-Id: I1012ed26371b4c67163545652f0a1ce0f576af9e
2018-09-11 09:12:02 +00: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
ac140210c9
Simplify cmake checks related to libosmocore
2018-06-19 12:07:28 +02:00
Piotr Krysik
c711e97af1
Separating libosmogsm from the rest
2018-06-18 15:13:13 +02:00
Piotr Krysik
2779e62094
Fix includes after moving trx_burst_if
2018-05-06 22:23:06 +02: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
e24860f9c0
Reformatting control_channels_decoder
2018-04-06 15:22:51 +02:00
Vasil Velichkov
924d1873da
Fix an assert in ViterbiR2O4::decode
...
The table length was wrong becuase matchCostTable is a float pointer and
not an array since 792330777d
python2.7: /home/user/gr-gsm/lib/decoding/openbts/ViterbiR204.cpp:288: virtual void ViterbiR2O4::decode(const SoftVector&, BitVector&): Assertion `match-matchCostTable<(float)sizeof(matchCostTable)/sizeof(matchCostTable[0])-1' failed.
(gdb) f 4
#4 0x00007fffdff820c3 in ViterbiR2O4::decode (this=0x5555563bbdf0, in=..., target=...)
at /home/vasko/sources/gr-gsm/gr-gsm/lib/decoding/openbts/ViterbiR204.cpp:288
288 assert(match-matchCostTable<(float)sizeof(matchCostTable)/sizeof(matchCostTable[0])-1);
(gdb) p match-matchCostTable
$1 = 2
(gdb) p (float)sizeof(matchCostTable)/sizeof(matchCostTable[0])-1
$2 = 1
(gdb) p (float)sizeof(matchCostTable)/sizeof(matchCostTable[0])
$3 = 2
(gdb) p sizeof(matchCostTable)
$4 = 8
2018-04-06 15:18:26 +02:00
Vasil Velichkov
bc2a23e0e7
Check the gsm0503_xcch_decode return value
...
- Discard the message when gsm0503_xcch_decode returns -1
- Add automated decrypt test
See https://groups.google.com/d/msg/gr-gsm/9nOkIdrGOck/qTZh47McCQAJ
2018-03-30 22:34:52 +02:00
Piotr Krysik
c097ce73c5
Added block for extracting assignment commands
2018-03-05 13:16:32 +01:00
Piotr Krysik
b1e67fe527
Define __attribute__ and __deprecated__ on MSWin
2018-03-04 22:09:23 +01:00
Piotr Krysik
86c9164000
Change buildsystem message on libosmocore not being found
2018-03-04 22:08:52 +01:00
Piotr Krysik
1a5e87ea1a
Conditional compilation of local libosmocore depending if there is or is not libosmocore installation present on the system
2018-03-04 19:36:24 +01:00
Piotr Krysik
d8a576618d
Fixing warning caused by local libosmocore version
2018-03-04 19:35:00 +01:00
Piotr Krysik
daa26e80be
Fixing 'free' position
2018-03-03 20:04:13 +01:00
Piotr Krysik
1fd7cfb47e
Removing part that causes problems with 'make test'
2018-02-28 14:58:10 +01:00
Piotr Krysik
b24beebaf9
Adding include to have 'bool' type
2018-02-28 10:11:08 +01:00
Piotr Krysik
4cd494bbf8
Slight changes to CMake file and libosmocoding file (include change)
2018-02-28 10:08:38 +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
b3bd68ed8f
Commenting out some problematic and not apsolutely necessary stuff from libosmocore
2018-02-27 14:45:14 +01:00
Piotr Krysik
813fedd36e
Fixing types in gsm0503_mapping
2018-02-27 14:45:14 +01:00
Piotr Krysik
1aede38857
Moving gsm0503.h to gsm subdir
2018-02-27 14:45:14 +01:00
Piotr Krysik
9e2e8358a3
Portability fix: Adding local partial copy of libosmocore (TODO: minimize it)
2018-02-27 14:45:14 +01:00
Piotr Krysik
eb81b03c02
Portability fix: Replaced problematic includes
2018-02-27 14:45:14 +01:00
Piotr Krysik
15219abe00
sch.c: Changed include from local to global
2018-02-27 14:45:14 +01:00
Piotr Krysik
3b11689d22
Change ints to size_t
2018-02-27 14:45:14 +01:00
Piotr Krysik
ebe95fc7b6
Fix: replaced u_int32 type with uint32
2018-02-27 14:45:14 +01:00
Piotr Krysik
792330777d
Portability fix: replacing tables of variable size with memory allocations
2018-02-27 14:45:14 +01:00
Piotr Krysik
8bed612c39
Hack: commented out linking with libosmocore libraries
...
Portability fix: If on windows link wsock32 and ws2_32 libraries
2018-02-27 14:45:14 +01:00
Vadim Yanitskiy
0123232305
txtime_setter_impl: fix wrong time_hint reference
2017-12-09 20:16:44 +07:00
Vadim Yanitskiy
0aafe2856d
Implement the 'burst_to_fn_time' block in C++
2017-12-04 01:48:43 +07:00
Vadim Yanitskiy
0be5e5bcc8
preprocess_tx_burst: fix the output message
...
During the code refactoring (4bd990b), the first part of the
output message was accidently dropped. Let's fix this.
2017-11-30 13:08:30 +01:00
Piotr Krysik
e3f34d9bca
test_ab: Changed to non-inverted AB
2017-11-30 12:50:37 +01:00
Piotr Krysik
ccd9ed9cab
Going back to previous coding style - without returns
2017-11-30 12:48:01 +01:00
Vadim Yanitskiy
73857235f0
preprocess_tx_burst: fix the output message
...
During the code refactoring (4bd990b), the first part of the
output message was accidently dropped. Let's fix this.
2017-11-30 06:28:48 +07:00
Vadim Yanitskiy
2ce294219c
txtime_setter: clean up and simplify source code
...
This change formats the block implementation source code
according to a mix of GNURadio and the Kernel coding styles.
The main changes are:
- Limit line length to 80 columns
- Preffer the opposite conditions
- 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-11-29 23:11:14 +01:00
Vadim Yanitskiy
70bec2039a
preprocess_tx_burst: clean up and simplify source code
...
This change formats the block implementation source code
according to a mix of GNURadio and the Kernel coding styles.
The main changes are:
- Limit line length to 80 columns
- Preffer the opposite conditions
- 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-11-29 23:11:14 +01:00
Piotr Krysik
2344483869
Added a block for generating Access Bursts
2017-11-29 16:39:22 +01:00
Piotr Krysik
ba8b0a95d3
Fix: protections in txtime_setter against late bursts and bursts in too distant future.
...
Fixing bursts in too distant future is a bit problematic and better way than just looking at tx_time difference from current time would be desirable.
This way of fixing that issue can still cause that tx part will do nothing for about 10 seconds (after switching frequency from a BTS1 (with fn1) to BTS2 (with fn2) when fn1>fn2).
2017-11-11 11:19:26 +01:00