<p>pespin <strong>submitted</strong> this change.</p><p><a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21065">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  laforge: Looks good to me, but someone else must approve
  fixeria: Looks good to me, approved
  Jenkins Builder: Verified

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">RLCMAC_EncDec: Implement encoding for RlcmacUlEgprsDataHeader HeaderType 1 and 2<br><br>Change-Id: I4e0b0e0960634fd2e5f09073a1ef093200dbe707<br>---<br>M library/RLCMAC_EncDec.cc<br>M library/RLCMAC_Templates.ttcn<br>M library/RLCMAC_Types.ttcn<br>3 files changed, 41 insertions(+), 4 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/library/RLCMAC_EncDec.cc b/library/RLCMAC_EncDec.cc</span><br><span>index d900108..c5fc447 100644</span><br><span>--- a/library/RLCMAC_EncDec.cc</span><br><span>+++ b/library/RLCMAC_EncDec.cc</span><br><span>@@ -1140,13 +1140,48 @@</span><br><span> static</span><br><span> void enc__RlcmacUlEgprsDataHeader_type1(const EgprsUlMacDataHeader& si, TTCN_Buffer& ttcn_buffer)</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">-  fprintf(stderr, "FIXME: Not implemented! %s (%s:%u)\n", __func__, __FILE__, __LINE__);</span><br><span style="color: hsl(120, 100%, 40%);">+      struct gprs_rlc_ul_header_egprs_1 egprs1;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+   egprs1.r = bs2uint8(si.r__ri());</span><br><span style="color: hsl(120, 100%, 40%);">+      egprs1.si = bs2uint8(si.foi__si());</span><br><span style="color: hsl(120, 100%, 40%);">+   egprs1.cv = si.countdown();</span><br><span style="color: hsl(120, 100%, 40%);">+   egprs1.tfi_hi = si.tfi() >> 0;</span><br><span style="color: hsl(120, 100%, 40%);">+  egprs1.tfi_lo = si.tfi() >> 2;</span><br><span style="color: hsl(120, 100%, 40%);">+  egprs1.bsn1_hi = si.bsn1() >> 0;</span><br><span style="color: hsl(120, 100%, 40%);">+        egprs1.bsn1_lo = si.bsn1() >> 5;</span><br><span style="color: hsl(120, 100%, 40%);">+        egprs1.bsn2_hi = si.bsn2__offset() >> 0;</span><br><span style="color: hsl(120, 100%, 40%);">+        egprs1.bsn2_lo = si.bsn2__offset() >> 2;</span><br><span style="color: hsl(120, 100%, 40%);">+        egprs1.cps = si.cps();</span><br><span style="color: hsl(120, 100%, 40%);">+        egprs1.rsb = bs2uint8(si.rsb());</span><br><span style="color: hsl(120, 100%, 40%);">+      egprs1.pi = si.pfi__ind();</span><br><span style="color: hsl(120, 100%, 40%);">+    egprs1.spare_hi = 0;</span><br><span style="color: hsl(120, 100%, 40%);">+  egprs1.spare_lo = 0;</span><br><span style="color: hsl(120, 100%, 40%);">+  egprs1.dummy = 0;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+   ttcn_buffer.put_s(sizeof(egprs1), (const unsigned char *)&egprs1);</span><br><span> }</span><br><span> </span><br><span> static</span><br><span> void enc__RlcmacUlEgprsDataHeader_type2(const EgprsUlMacDataHeader& si, TTCN_Buffer& ttcn_buffer)</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">-     fprintf(stderr, "FIXME: Not implemented! %s (%s:%u)\n", __func__, __FILE__, __LINE__);</span><br><span style="color: hsl(120, 100%, 40%);">+      struct gprs_rlc_ul_header_egprs_2 egprs2;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+   egprs2.r = bs2uint8(si.r__ri());</span><br><span style="color: hsl(120, 100%, 40%);">+      egprs2.si = bs2uint8(si.foi__si());</span><br><span style="color: hsl(120, 100%, 40%);">+   egprs2.cv = si.countdown();</span><br><span style="color: hsl(120, 100%, 40%);">+   egprs2.tfi_hi = si.tfi() >> 0;</span><br><span style="color: hsl(120, 100%, 40%);">+  egprs2.tfi_lo = si.tfi() >> 2;</span><br><span style="color: hsl(120, 100%, 40%);">+  egprs2.bsn1_hi = si.bsn1() >> 0;</span><br><span style="color: hsl(120, 100%, 40%);">+        egprs2.bsn1_lo = si.bsn1() >> 5;</span><br><span style="color: hsl(120, 100%, 40%);">+        egprs2.cps_hi = si.cps() >> 0;</span><br><span style="color: hsl(120, 100%, 40%);">+  egprs2.cps_lo = si.cps() >> 2;</span><br><span style="color: hsl(120, 100%, 40%);">+  egprs2.rsb = bs2uint8(si.rsb());</span><br><span style="color: hsl(120, 100%, 40%);">+      egprs2.pi = si.pfi__ind();</span><br><span style="color: hsl(120, 100%, 40%);">+    egprs2.spare_hi = 0;</span><br><span style="color: hsl(120, 100%, 40%);">+  egprs2.spare_lo = 0;</span><br><span style="color: hsl(120, 100%, 40%);">+  egprs2.dummy = 0;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+   ttcn_buffer.put_s(sizeof(egprs2), (const unsigned char *)&egprs2);</span><br><span> }</span><br><span> </span><br><span> static</span><br><span>diff --git a/library/RLCMAC_Templates.ttcn b/library/RLCMAC_Templates.ttcn</span><br><span>index f24cce1..b18c8db 100644</span><br><span>--- a/library/RLCMAC_Templates.ttcn</span><br><span>+++ b/library/RLCMAC_Templates.ttcn</span><br><span>@@ -421,7 +421,7 @@</span><br><span>     /* Template for uplink Data block */</span><br><span>         template RlcmacUlBlock t_RLCMAC_UL_EGPRS_DATA(CodingScheme mcs,</span><br><span>                                                    template uint5_t tfi, template uint4_t cv,</span><br><span style="color: hsl(0, 100%, 40%);">-                                                      template uint11_t bsn1, template EgprsLlcBlocks blocks := {}) := {</span><br><span style="color: hsl(120, 100%, 40%);">+                                                    template uint11_t bsn1, template uint8_t bsn2_offset := 0, template EgprsLlcBlocks blocks := {}) := {</span><br><span>          data_egprs := {</span><br><span>                      mcs := mcs,</span><br><span>                  mac_hdr := {</span><br><span>@@ -431,6 +431,7 @@</span><br><span>                           foi_si := '0'B,</span><br><span>                              r_ri := '0'B,</span><br><span>                                bsn1 := bsn1,</span><br><span style="color: hsl(120, 100%, 40%);">+                         bsn2_offset := bsn2_offset,</span><br><span>                          cps := f_rlcmac_mcs_to_cps(mcs, 1, false),</span><br><span>                           pfi_ind := false,</span><br><span>                            rsb := '0'B,</span><br><span>diff --git a/library/RLCMAC_Types.ttcn b/library/RLCMAC_Types.ttcn</span><br><span>index 80a9997..eb9d845 100644</span><br><span>--- a/library/RLCMAC_Types.ttcn</span><br><span>+++ b/library/RLCMAC_Types.ttcn</span><br><span>@@ -223,7 +223,7 @@</span><br><span>          MacRrbp         rrbp,</span><br><span>                BIT2            esp,</span><br><span>                 uint3_t         usf,</span><br><span style="color: hsl(0, 100%, 40%);">-            uint14_t        bsn1,</span><br><span style="color: hsl(120, 100%, 40%);">+         uint11_t        bsn1,</span><br><span>                uint8_t         bsn2_offset,</span><br><span>                 uint2_t         pr, /* power reduction */</span><br><span>            uint2_t         spb,</span><br><span>@@ -279,6 +279,7 @@</span><br><span>           BIT1            foi_si,</span><br><span>              BIT1            r_ri,</span><br><span>                uint11_t        bsn1,</span><br><span style="color: hsl(120, 100%, 40%);">+         uint8_t         bsn2_offset,</span><br><span>                 uint4_t         cps,</span><br><span>                 boolean         pfi_ind,</span><br><span>             BIT1            rsb,</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21065">change 21065</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21065"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-ttcn3-hacks </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I4e0b0e0960634fd2e5f09073a1ef093200dbe707 </div>
<div style="display:none"> Gerrit-Change-Number: 21065 </div>
<div style="display:none"> Gerrit-PatchSet: 3 </div>
<div style="display:none"> Gerrit-Owner: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-Reviewer: fixeria <vyanitskiy@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-Reviewer: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>