library/GSM_RR_Types.ttcn: fix: work around TITAN bug 562488
Commit [1] introduced multiple regressions, because it basically
changed the byte order in all fields of the whole module from
'first' (implicit default) to 'last'. This is not what we need.
Instead, let's apply BYTEORDER(last) to 5 bit 'ext_ra' fields
unless the bug [2] in TITAN's RAW codec is fixed.
[1] I481a40daef3eed4a3daa687ad87c4128a13181b4
[2] https://bugs.eclipse.org/bugs/show_bug.cgi?id=562488
Change-Id: If998ef72c13787f04fee79e1e646cd9a6787028a
Signed-off-by: Vadim Yanitskiy <axilirator@gmail.com>
diff --git a/library/GSM_RR_Types.ttcn b/library/GSM_RR_Types.ttcn
index 6e359ab..dcf12ae 100644
--- a/library/GSM_RR_Types.ttcn
+++ b/library/GSM_RR_Types.ttcn
@@ -194,10 +194,7 @@
type record LocationAreaIdentification {
BcdMccMnc mcc_mnc,
uint16_t lac
- } with {
- /* Otherwise '262F45'H is encoded as '24F262'H */
- variant (mcc_mnc) "BYTEORDER(first)"
- };
+ } with { variant "" };
/* TS 24.008 10.5.1.4 */
type enumerated MobileIdentityType {
@@ -412,6 +409,8 @@
variant (r99) "CSN.1 L/H"
variant (presence) "PRESENCE(r99 = '1'B)" /* H */
variant (ext_ra) "PRESENCE(presence = '1'B)"
+ /* See https://bugs.eclipse.org/bugs/show_bug.cgi?id=562488 */
+ variant (ext_ra) "BYTEORDER(last)" // FIXME: should be first
};
type union PacketUlDlAssignUnion {
PacketUlAssign ul,
@@ -634,6 +633,8 @@
variant (ats) "PRESENCE(ats_present = '1'B)"
variant (dynamic) "PRESENCE(presence = '1'B)"
variant (multiblock) "PRESENCE(presence = '0'B)"
+ /* See https://bugs.eclipse.org/bugs/show_bug.cgi?id=562488 */
+ variant (ext_ra) "BYTEORDER(last)" // FIXME: should be first
};
type octetstring MblkDlAss; /* TODO */
@@ -1064,4 +1065,4 @@
}
};
-} with { encode "RAW" ; variant "FIELDORDER(msb)" variant "BYTEORDER(last)" }
+} with { encode "RAW" ; variant "FIELDORDER(msb)" }