Change in osmo-ttcn3-hacks[master]: RLCMAC_EncDec: Implement encoding for RlcmacUlEgprsDataHeader HeaderT...

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
Tue Nov 10 13:54:41 UTC 2020


pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21065 )

Change subject: RLCMAC_EncDec: Implement encoding for RlcmacUlEgprsDataHeader HeaderType 1 and 2
......................................................................

RLCMAC_EncDec: Implement encoding for RlcmacUlEgprsDataHeader HeaderType 1 and 2

Change-Id: I4e0b0e0960634fd2e5f09073a1ef093200dbe707
---
M library/RLCMAC_EncDec.cc
M library/RLCMAC_Templates.ttcn
M library/RLCMAC_Types.ttcn
3 files changed, 41 insertions(+), 4 deletions(-)

Approvals:
  laforge: Looks good to me, but someone else must approve
  fixeria: Looks good to me, approved
  Jenkins Builder: Verified



diff --git a/library/RLCMAC_EncDec.cc b/library/RLCMAC_EncDec.cc
index d900108..c5fc447 100644
--- a/library/RLCMAC_EncDec.cc
+++ b/library/RLCMAC_EncDec.cc
@@ -1140,13 +1140,48 @@
 static
 void enc__RlcmacUlEgprsDataHeader_type1(const EgprsUlMacDataHeader& si, TTCN_Buffer& ttcn_buffer)
 {
-	fprintf(stderr, "FIXME: Not implemented! %s (%s:%u)\n", __func__, __FILE__, __LINE__);
+	struct gprs_rlc_ul_header_egprs_1 egprs1;
+
+	egprs1.r = bs2uint8(si.r__ri());
+	egprs1.si = bs2uint8(si.foi__si());
+	egprs1.cv = si.countdown();
+	egprs1.tfi_hi = si.tfi() >> 0;
+	egprs1.tfi_lo = si.tfi() >> 2;
+	egprs1.bsn1_hi = si.bsn1() >> 0;
+	egprs1.bsn1_lo = si.bsn1() >> 5;
+	egprs1.bsn2_hi = si.bsn2__offset() >> 0;
+	egprs1.bsn2_lo = si.bsn2__offset() >> 2;
+	egprs1.cps = si.cps();
+	egprs1.rsb = bs2uint8(si.rsb());
+	egprs1.pi = si.pfi__ind();
+	egprs1.spare_hi = 0;
+	egprs1.spare_lo = 0;
+	egprs1.dummy = 0;
+
+	ttcn_buffer.put_s(sizeof(egprs1), (const unsigned char *)&egprs1);
 }
 
 static
 void enc__RlcmacUlEgprsDataHeader_type2(const EgprsUlMacDataHeader& si, TTCN_Buffer& ttcn_buffer)
 {
-	fprintf(stderr, "FIXME: Not implemented! %s (%s:%u)\n", __func__, __FILE__, __LINE__);
+	struct gprs_rlc_ul_header_egprs_2 egprs2;
+
+	egprs2.r = bs2uint8(si.r__ri());
+	egprs2.si = bs2uint8(si.foi__si());
+	egprs2.cv = si.countdown();
+	egprs2.tfi_hi = si.tfi() >> 0;
+	egprs2.tfi_lo = si.tfi() >> 2;
+	egprs2.bsn1_hi = si.bsn1() >> 0;
+	egprs2.bsn1_lo = si.bsn1() >> 5;
+	egprs2.cps_hi = si.cps() >> 0;
+	egprs2.cps_lo = si.cps() >> 2;
+	egprs2.rsb = bs2uint8(si.rsb());
+	egprs2.pi = si.pfi__ind();
+	egprs2.spare_hi = 0;
+	egprs2.spare_lo = 0;
+	egprs2.dummy = 0;
+
+	ttcn_buffer.put_s(sizeof(egprs2), (const unsigned char *)&egprs2);
 }
 
 static
diff --git a/library/RLCMAC_Templates.ttcn b/library/RLCMAC_Templates.ttcn
index f24cce1..b18c8db 100644
--- a/library/RLCMAC_Templates.ttcn
+++ b/library/RLCMAC_Templates.ttcn
@@ -421,7 +421,7 @@
 	/* Template for uplink Data block */
 	template RlcmacUlBlock t_RLCMAC_UL_EGPRS_DATA(CodingScheme mcs,
 						      template uint5_t tfi, template uint4_t cv,
-						      template uint11_t bsn1, template EgprsLlcBlocks blocks := {}) := {
+						      template uint11_t bsn1, template uint8_t bsn2_offset := 0, template EgprsLlcBlocks blocks := {}) := {
 		data_egprs := {
 			mcs := mcs,
 			mac_hdr := {
@@ -431,6 +431,7 @@
 				foi_si := '0'B,
 				r_ri := '0'B,
 				bsn1 := bsn1,
+				bsn2_offset := bsn2_offset,
 				cps := f_rlcmac_mcs_to_cps(mcs, 1, false),
 				pfi_ind := false,
 				rsb := '0'B,
diff --git a/library/RLCMAC_Types.ttcn b/library/RLCMAC_Types.ttcn
index 80a9997..eb9d845 100644
--- a/library/RLCMAC_Types.ttcn
+++ b/library/RLCMAC_Types.ttcn
@@ -223,7 +223,7 @@
 		MacRrbp		rrbp,
 		BIT2		esp,
 		uint3_t		usf,
-		uint14_t	bsn1,
+		uint11_t	bsn1,
 		uint8_t		bsn2_offset,
 		uint2_t		pr, /* power reduction */
 		uint2_t		spb,
@@ -279,6 +279,7 @@
 		BIT1		foi_si,
 		BIT1		r_ri,
 		uint11_t	bsn1,
+		uint8_t		bsn2_offset,
 		uint4_t		cps,
 		boolean		pfi_ind,
 		BIT1		rsb,

-- 
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21065
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: I4e0b0e0960634fd2e5f09073a1ef093200dbe707
Gerrit-Change-Number: 21065
Gerrit-PatchSet: 3
Gerrit-Owner: pespin <pespin at sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy at sysmocom.de>
Gerrit-Reviewer: laforge <laforge at osmocom.org>
Gerrit-Reviewer: pespin <pespin at sysmocom.de>
Gerrit-MessageType: merged
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20201110/40432f88/attachment.htm>


More information about the gerrit-log mailing list