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>
This commit is contained in:
Vadim Yanitskiy 2020-05-02 16:58:46 +07:00
parent 2456dad91e
commit e05d7162a2
1 changed files with 6 additions and 5 deletions

View File

@ -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)" }