Change in osmo-ttcn3-hacks[master]: RLCMAC_EncDec: Implement decoding of Egprs Dl Data block HeaderType 2...

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/.

pespin gerrit-no-reply at lists.osmocom.org
Thu Nov 12 20:10:52 UTC 2020


pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21124 )


Change subject: RLCMAC_EncDec: Implement decoding of Egprs Dl Data block HeaderType 2 and 1
......................................................................

RLCMAC_EncDec: Implement decoding of Egprs Dl Data block HeaderType 2 and 1

Change-Id: I3b8199711e08bc128821e02c626ded1bc6aa30d7
---
M library/RLCMAC_EncDec.cc
1 file changed, 41 insertions(+), 3 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/24/21124/1

diff --git a/library/RLCMAC_EncDec.cc b/library/RLCMAC_EncDec.cc
index 16291de..ac60b37 100644
--- a/library/RLCMAC_EncDec.cc
+++ b/library/RLCMAC_EncDec.cc
@@ -207,17 +207,23 @@
 		return CodingScheme::MCS__3;
 	case 49:
 		return CodingScheme::MCS__4;
+	case 60: /* fall through */
 	case 61:
 		return CodingScheme::MCS__5;
+	case 78: /* fall through */
 	case 79:
 		return CodingScheme::MCS__6;
+	case 118: /* fall through */
 	case 119:
 		return CodingScheme::MCS__7;
-	case 142:
+	case 142: /* fall through */
+	case 143:
 		return CodingScheme::MCS__8;
+	case 154: /* fall through */
 	case 155:
 		return CodingScheme::MCS__9;
 	default:
+		fprintf(stderr, "ERROR: Unknown CodingSCheme for payload_len=%zu\n", payload_len);
 		return CodingScheme::CS__1;
 	}
 }
@@ -520,20 +526,52 @@
 static
 EgprsDlMacDataHeader dec__EgprsDlMacDataHeader_type1(const OCTETSTRING& stream)
 {
+	TTCN_Buffer ttcn_buffer(stream);
 	EgprsDlMacDataHeader ret_val;
+	const struct gprs_rlc_dl_header_egprs_1 *egprs1;
+	uint8_t tmp;
 
-	fprintf(stderr, "FIXME: Not implemented! %s (%s:%u)\n", __func__, __FILE__, __LINE__);
+	egprs1 = static_cast<const struct gprs_rlc_dl_header_egprs_1 *>
+		((const void *)ttcn_buffer.get_data());
 
+	ret_val.header__type() = EgprsHeaderType::RLCMAC__HDR__TYPE__1;
+	ret_val.tfi() = egprs1->tfi_lo << 1 | egprs1->tfi_hi << 0;
+	ret_val.rrbp() = egprs1->rrbp;
+	tmp = egprs1->es_p;
+	ret_val.esp() = BITSTRING(2, &tmp);
+	ret_val.usf() = egprs1->usf;
+	ret_val.bsn1() = egprs1->bsn1_lo << 10 | egprs1->bsn1_mid << 2 | egprs1->bsn1_hi;
+	ret_val.bsn2__offset() = egprs1->bsn2_lo << 7 | egprs1->bsn2_hi;
+	ret_val.pr() = egprs1->pr;
+	ret_val.cps() = egprs1->cps;
+
+	ttcn_buffer.increase_pos(sizeof(*egprs1));
 	return ret_val;
 }
 
 static
 EgprsDlMacDataHeader dec__EgprsDlMacDataHeader_type2(const OCTETSTRING& stream)
 {
+	TTCN_Buffer ttcn_buffer(stream);
 	EgprsDlMacDataHeader ret_val;
+	const struct gprs_rlc_dl_header_egprs_2 *egprs2;
+	uint8_t tmp;
 
-	fprintf(stderr, "FIXME: Not implemented! %s (%s:%u)\n", __func__, __FILE__, __LINE__);
+	egprs2 = static_cast<const struct gprs_rlc_dl_header_egprs_2 *>
+		((const void *)ttcn_buffer.get_data());
 
+	ret_val.header__type() = EgprsHeaderType::RLCMAC__HDR__TYPE__2;
+	ret_val.tfi() = egprs2->tfi_lo << 1 | egprs2->tfi_hi << 0;
+	ret_val.rrbp() = egprs2->rrbp;
+	tmp = egprs2->es_p;
+	ret_val.esp() = BITSTRING(2, &tmp);
+	ret_val.usf() = egprs2->usf;
+	ret_val.bsn1() = egprs2->bsn1_lo << 10 | egprs2->bsn1_mid << 2 | egprs2->bsn1_hi;
+	ret_val.bsn2__offset() = 0; /*TODO: mark optional and not set ? */
+	ret_val.pr() = egprs2->pr;
+	ret_val.cps() = egprs2->cps;
+
+	ttcn_buffer.increase_pos(sizeof(*egprs2));
 	return ret_val;
 }
 

-- 
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21124
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I3b8199711e08bc128821e02c626ded1bc6aa30d7
Gerrit-Change-Number: 21124
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin at sysmocom.de>
Gerrit-MessageType: newchange
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20201112/3214cceb/attachment.htm>


More information about the gerrit-log mailing list