From e05d7162a28a1d7134f9c64f3fbeb46b2914fd94 Mon Sep 17 00:00:00 2001 From: Vadim Yanitskiy Date: Sat, 2 May 2020 16:58:46 +0700 Subject: 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 --- library/GSM_RR_Types.ttcn | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/library/GSM_RR_Types.ttcn b/library/GSM_RR_Types.ttcn index 6e359ab9..dcf12aef 100644 --- a/library/GSM_RR_Types.ttcn +++ b/library/GSM_RR_Types.ttcn @@ -194,10 +194,7 @@ module GSM_RR_Types { 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 @@ module GSM_RR_Types { 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 @@ module GSM_RR_Types { 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 @@ module GSM_RR_Types { } }; -} with { encode "RAW" ; variant "FIELDORDER(msb)" variant "BYTEORDER(last)" } +} with { encode "RAW" ; variant "FIELDORDER(msb)" } -- cgit v1.2.3