osmocom-bb[master]: Import gprsdecode utility

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

Max gerrit-no-reply at lists.osmocom.org
Thu Feb 1 12:41:34 UTC 2018


Patch Set 1:

(5 comments)

Thank you for detailed review, I've tried to address most of it, don't hesitate to remind if I've missed something.

https://gerrit.osmocom.org/#/c/5992/1/src/host/gprsdecode/README
File src/host/gprsdecode/README:

Line 3: Based on the version from https://srlabs.de/gprs/
> Let's add a minimalistic description and usage examples here?
> This link is broken :(

Updated - they have problems with their website.

> what about the license?

Same as the rest of OsmocomBB.


https://gerrit.osmocom.org/#/c/5992/1/src/host/gprsdecode/gprs.c
File src/host/gprsdecode/gprs.c:

Line 98: 	const uint8_t usf_pattern[][6] = {{0, 0, 0, 0, 0, 0},
> Could be separated as a static symbol.
What for?


PS1, Line 153: static inline int decode_signalling(const uint8_t *conv_data, uint8_t *msg)
             : {
             : 	uint8_t decoded_data[PARITY_OUTPUT_SIZE];
             : 	int8_t soft_input[CONV_SIZE];
             : 
             : 	/* convert to soft bits */
             : 	osmo_ubit2sbit(soft_input, conv_data, CONV_SIZE);
             : 
             : 	/* Viterbi decoding */
             : 	osmo_conv_decode(&gsm0503_xcch, soft_input, decoded_data);
             : 
             : 	/* parity check: if error detected try to fix it */
             : 	int ret = osmo_crc64gen_check_bits(&gsm0503_fire_crc40, decoded_data, 184, decoded_data + 184);
             : 	if (ret) {
             : 		FC_CTX fc_ctx;
             : 		FC_init(&fc_ctx, PARITY_SIZE, DATA_BLOCK_SIZE);
             : /**/
             : 		unsigned char crc_result[DATA_BLOCK_SIZE + PARITY_SIZE];
             : 		ret = FC_check_crc(&fc_ctx, decoded_data, crc_result);
             : 		if (!ret)
             : 			return 0;
             : 		/*
             : 		ubit_t crc_result[DATA_BLOCK_SIZE + PARITY_SIZE];
             : 		osmo_crc64gen_set_bits(&gsm0503_fire_crc40, decoded_data, 184, crc_result);
             : 		*/
             : 		memcpy(decoded_data, crc_result, sizeof crc_result);
             : 	}
             : 
             : 	osmo_ubit2pbit_ext(msg, 0, decoded_data, 0, DATA_BLOCK_SIZE, 1);
             : 
             : 	return 23;
             : }
> Also looks like a code duplication, should be in libosmocoding.
I don't think so but if you can split it out and intergrate into libosmocoding - feel free to send a patch and add me sa reviewer.


Line 186: int process_pdch(struct l1ctl_burst_ind *bi, bool print)
> The most part of this function could be rewritten to use
Perhaps, but it's certainly beyond the scope of "initial import" commit.


https://gerrit.osmocom.org/#/c/5992/1/src/host/gprsdecode/main.c
File src/host/gprsdecode/main.c:

PS1, Line 26: /*		    printf("TS = %d, FN = %d (%d)\n", ts, fn, process_pdch(bi));
            : 		else
            : 		    printf("TS = %d, FN = %d [%d]\n", ts, fn, fn % 13);
            : */
> Why this part is commented out?
Debug aid, I'd prefer to keep it here until all MCS* are implemented. We can drop it afterwards.


-- 
To view, visit https://gerrit.osmocom.org/5992
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I12234d37c66b83b8abd60f7511fa1d7837db1856
Gerrit-PatchSet: 1
Gerrit-Project: osmocom-bb
Gerrit-Branch: master
Gerrit-Owner: Max <msuraev at sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Max <msuraev at sysmocom.de>
Gerrit-Reviewer: Vadim Yanitskiy <axilirator at gmail.com>
Gerrit-Reviewer: fixeria <axilirator at gmail.com>
Gerrit-HasComments: Yes



More information about the gerrit-log mailing list