RLCMAC_EncDec.cc: Fix egprs data block encode alignment
Selftests I'm using in the pcu testsuite to verify encoding are attached
too.
Change-Id: Id0e21248853eb5fac89e863822804cfbecf3c865
diff --git a/library/RLCMAC_Templates.ttcn b/library/RLCMAC_Templates.ttcn
index d2174d7..38147f3 100644
--- a/library/RLCMAC_Templates.ttcn
+++ b/library/RLCMAC_Templates.ttcn
@@ -326,6 +326,31 @@
}
}
+ /* 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 := {}) := {
+ data_egprs := {
+ mac_hdr := {
+ header_type := f_rlcmac_mcs2headertype(mcs),
+ tfi := tfi,
+ countdown := cv,
+ foi_si := '0'B,
+ r_ri := '0'B,
+ bsn1 := bsn1,
+ cps := f_rlcmac_mcs_to_cps(mcs, 1, false),
+ pfi_ind := false,
+ rsb := '0'B,
+ spb := '00'B
+ },
+ tlli_ind := false,
+ e := false,
+ tlli := omit,
+ pfi := omit,
+ blocks := blocks
+ }
+ }
+
template DlMacHeader t_RLCMAC_DlMacH(template MacPayloadType pt, template MacRrbp rrbp, template
uint3_t usf) := {
payload_type := pt,
@@ -519,4 +544,11 @@
payload := data
}
+ /* Template for a LlcBlock (part of a LLC frame inside RlcMacEgprs?lDataBlock */
+ template EgprsLlcBlock t_RLCMAC_LLCBLOCK_EGPRS(octetstring data, boolean e := true) := {
+ /* let encoder figure out the header */
+ hdr := omit,
+ payload := data
+ }
+
} with { encode "RAW"; variant "FIELDORDER(msb)" }