library/RLCMAC_CSN1_Types: fix definition of PacketDlAssignment
- s/PacketDlAssignmentRel1999SubStruct/PktDlAssR99EGPRS/g,
- fix Additions in Release 1999 (missing spare bit),
- fix RLC_MODE field (it takes 1 bit, not 2),
- fix PRESENCE(p0) attribute (defined twice).
Change-Id: I98efe66bf43853b580f38bed36487fa10a53298a
diff --git a/library/RLCMAC_CSN1_Types.ttcn b/library/RLCMAC_CSN1_Types.ttcn
index 00b6f2d..4ebdd75 100644
--- a/library/RLCMAC_CSN1_Types.ttcn
+++ b/library/RLCMAC_CSN1_Types.ttcn
@@ -122,14 +122,6 @@
TenTlli tlli
};
- type record PacketDlAssignmentRel1999SubStruct {
- EgprsWindowSize window_size,
- BIT2 link_quality_meas_mode,
- BIT1 bep_period2_present,
- BIT4 bep_period2 optional
- } with {
- variant (bep_period2) "PRESENCE(bep_period2_present = '1'B)"
- };
/* 11.2.7 Packet Downlink Assignment */
type record PacketDlAssignment {
PageMode page_mode,
@@ -138,7 +130,7 @@
GlobalTfiOrTlli tfi_or_tlli,
BIT1 egprs2('0'B), /* TODO: implement union with egprs2 */
BIT2 mac_mode,
- BIT2 rlc_mode,
+ BIT1 rlc_mode,
BIT1 control_ack,
BIT8 timeslot_alloc,
PacketTimingAdvance pkt_ta,
@@ -154,29 +146,51 @@
PowerControlParameters pwr_ctrl optional,
BIT1 tbf_starting_time_present,
StartingFnDesc tbf_starting_time optional,
- BIT1 release1999('1'B),
- BIT1 sub_present,
- PacketDlAssignmentRel1999SubStruct sub optional,
- BIT1 pkt_ext_ta_present,
- BIT2 pkt_ext_ta optional,
- BIT1 compact_reduced_ma_present,
- COMPACTreducedMA compact_reduced_ma optional
- /* TODO: Additions for REL-5 */
+ /* The value '1' was allocated in an earlier version of the protocol */
+ BIT1 spare ('0'B),
+ /* Rel-{99,5,6,7,9,10,12,14} Additions (Matrioshka) */
+ PktDlAssRelAdditions rel_additions optional
} with {
variant (persistence_levels) "PRESENCE(pres1 = '1'B)"
variant (p0) "PRESENCE(p0_present = '1'B)"
- variant (p0) "PRESENCE(p0_present = '1'B)"
variant (reserved) "PRESENCE(p0_present = '1'B)"
variant (pr_mode) "PRESENCE(p0_present = '1'B)"
variant (freq_par) "PRESENCE(freq_par_present = '1'B)"
variant (dl_tfi_assignment) "PRESENCE(dl_tfi_ass_present = '1'B)"
variant (pwr_ctrl) "PRESENCE(pwr_ctrl_present = '1'B)"
variant (tbf_starting_time) "PRESENCE(tbf_starting_time_present = '1'B)"
- variant (sub) "PRESENCE(sub_present = '1'B)"
+ };
+
+ private type record PktDlAssRelAdditions {
+ BIT1 rel99_presence, // 0/1
+ PktDlAssR99Additions rel99 optional
+ } with {
+ variant (rel99) "PRESENCE(rel99_presence = '1'B)"
+ };
+
+ private type record PktDlAssR99Additions {
+ BIT1 egprs_present,
+ PktDlAssR99EGPRS egprs optional,
+ BIT1 pkt_ext_ta_present,
+ BIT2 pkt_ext_ta optional,
+ BIT1 compact_reduced_ma_present,
+ COMPACTreducedMA compact_reduced_ma optional
+ /* TODO: Additions for REL-5 */
+ } with {
+ variant (egprs) "PRESENCE(egprs_present = '1'B)"
variant (pkt_ext_ta) "PRESENCE(pkt_ext_ta_present = '1'B)"
variant (compact_reduced_ma) "PRESENCE(compact_reduced_ma_present = '1'B)"
};
+ private type record PktDlAssR99EGPRS {
+ EgprsWindowSize window_size,
+ BIT2 link_quality_meas_mode,
+ BIT1 bep_period2_present,
+ BIT4 bep_period2 optional
+ } with {
+ variant (bep_period2) "PRESENCE(bep_period2_present = '1'B)"
+ };
+
/* 11.2.29 Packet Uplink Assignment */
type record O_Gtfi {
BIT1 presence ('0'B),
diff --git a/library/RLCMAC_Templates.ttcn b/library/RLCMAC_Templates.ttcn
index a217f46..5bdc17d 100644
--- a/library/RLCMAC_Templates.ttcn
+++ b/library/RLCMAC_Templates.ttcn
@@ -504,13 +504,8 @@
pwr_ctrl := *,
tbf_starting_time_present := ?,
tbf_starting_time := *,
- release1999 := '1'B,
- sub_present := ?,
- sub := *,
- pkt_ext_ta_present := ?,
- pkt_ext_ta := *,
- compact_reduced_ma_present := ?,
- compact_reduced_ma := *
+ spare := '0'B,
+ rel_additions := *
}
}
}