WIP: L1CTL support for hopping/non-hopping union

Change-Id: I6cf5a9fbe32d332e540127f0d52da0758921c22c
This commit is contained in:
Harald Welte 2018-04-04 15:36:46 +02:00
parent 29713c3946
commit e990220ea3
1 changed files with 12 additions and 7 deletions

View File

@ -278,18 +278,22 @@ module L1CTL_Types {
uint8_t maio, uint8_t maio,
uint8_t n, uint8_t n,
OCT1 padding, OCT1 padding,
bitstring ma length(64) bitstring ma length(64)
} with { variant "" }; } with { variant "" };
type union L1ctlArfcnHopU {
Arfcn arfcn,
L1ctlH1 hopping
/* 4 bytes hsn/mail/n/padding + 64*16bit = 132 byte = 1056 bit */
} with { variant "PADDING(1056)" };
type record L1ctlDmEstReq { type record L1ctlDmEstReq {
GsmTsc tsc, GsmTsc tsc,
uint8_t h, uint8_t h,
Arfcn arfcn optional, L1ctlArfcnHopU u,
L1ctlH1 hopping optional,
L1ctlTchMode tch_mode, L1ctlTchMode tch_mode,
L1ctlAudioMode audio_mode L1ctlAudioMode audio_mode
} with { variant (arfcn) "PRESENCE(h = 0)" } with { variant (u) "CROSSTAG(arfcn, h = 0; hopping, h = 1)" };
variant (hopping) "PRESENCE(h = 1)" };
type record L1ctlReset { type record L1ctlReset {
L1ctlResetType reset_type, L1ctlResetType reset_type,
@ -521,8 +525,9 @@ module L1CTL_Types {
dm_est_req := { dm_est_req := {
tsc := tsc, tsc := tsc,
h := 0, h := 0,
arfcn := arfcn, u := {
hopping := omit, arfcn := arfcn
},
tch_mode := tch_mode, tch_mode := tch_mode,
audio_mode := t_L1CTL_AudioModeNone audio_mode := t_L1CTL_AudioModeNone
} }