aboutsummaryrefslogtreecommitdiffstats
path: root/asn1/lte-rrc/lte-rrc.cnf
diff options
context:
space:
mode:
authorMartin Mathieson <martin.r.mathieson@googlemail.com>2013-08-19 17:06:42 +0000
committerMartin Mathieson <martin.r.mathieson@googlemail.com>2013-08-19 17:06:42 +0000
commit641032ea44eac1f6e0f1b187527aac3f9b5e8df0 (patch)
treee6191048e36b2bf68bd4173dcfddec0ec24876ed /asn1/lte-rrc/lte-rrc.cnf
parent85667447f1c2536948cd1c8660f4bf5de767d35e (diff)
Gather together dedicated DRX configuration, and make sure that it
is internally consistent. TODO: include r11 sequence that can overwrite some of these values. TODO: actx->private_data gets reused for several purposes, need to separate these uses out and avoid possible conflicts... svn path=/trunk/; revision=51429
Diffstat (limited to 'asn1/lte-rrc/lte-rrc.cnf')
-rw-r--r--asn1/lte-rrc/lte-rrc.cnf158
1 files changed, 151 insertions, 7 deletions
diff --git a/asn1/lte-rrc/lte-rrc.cnf b/asn1/lte-rrc/lte-rrc.cnf
index 6b7f700e49..c1c50e526b 100644
--- a/asn1/lte-rrc/lte-rrc.cnf
+++ b/asn1/lte-rrc/lte-rrc.cnf
@@ -750,13 +750,6 @@ CQI-ReportConfigSCell-r10/nomPDSCH-RS-EPRE-Offset-r10 STRINGS=VALS(lte_rrc_nomPD
#.FN_FTR MAC-MainConfig/eag_1/sr-ProhibitTimer-r9
proto_item_append_text(actx->created_item, " SR period%s", (timer > 1) ? "s" : "");
-#.FN_BODY DRX-Config/setup/shortDRX/drxShortCycleTimer VAL_PTR=&timer
- guint32 timer;
-%(DEFAULT_BODY)s
-
-#.FN_FTR DRX-Config/setup/shortDRX/drxShortCycleTimer
- proto_item_append_text(actx->created_item, " shortDRX-Cycle%s", plurality(timer, "", "s"));
-
#.FN_BODY PDSCH-ConfigCommon/referenceSignalPower
%(DEFAULT_BODY)s
proto_item_append_text(actx->created_item, "dBm");
@@ -1295,3 +1288,154 @@ SoundingRS-UL-ConfigDedicated/setup/duration STRINGS=TFS(&lte_rrc_duration_val)
}
actx->private_data = NULL;
+
+
+
+#.FN_BODY DRX-Config/setup
+ /* Accumulate values in drx_config while dissecting DRX config */
+ static drx_config_t drx_config;
+ memset(&drx_config, 0, sizeof(drx_config));
+ actx->private_data = &drx_config;
+%(DEFAULT_BODY)s
+ /* Verify that config is valid */
+ drx_check_config_sane(&drx_config, actx);
+
+ /* Unset again afterwards */
+ actx->private_data = NULL;
+
+#.FN_BODY DRX-Config/setup/onDurationTimer VAL_PTR=&value
+ guint32 value;
+ drx_config_t* config = (drx_config_t*)actx->private_data;
+%(DEFAULT_BODY)s
+ config->onDurationTimer = drx_lookup_onDurationTimer(value);
+
+#.FN_BODY DRX-Config/setup/drx-InactivityTimer VAL_PTR=&value
+ guint32 value;
+ drx_config_t* config = (drx_config_t*)actx->private_data;
+%(DEFAULT_BODY)s
+ config->inactivityTimer = drx_lookup_inactivityTimer(value);
+
+#.FN_BODY DRX-Config/setup/drx-RetransmissionTimer VAL_PTR=&value
+ guint32 value;
+ drx_config_t* config = (drx_config_t*)actx->private_data;
+%(DEFAULT_BODY)s
+ config->retransmissionTimer = drx_lookup_retransmissionTimer(value);
+
+#.FN_BODY DRX-Config/setup/longDRX-CycleStartOffset VAL_PTR=&value
+ guint32 value;
+ drx_config_t* config = (drx_config_t*)actx->private_data;
+%(DEFAULT_BODY)s
+ config->longCycle = drx_lookup_longCycle(value);
+
+#.FN_BODY DRX-Config/setup/longDRX-CycleStartOffset/sf10 VAL_PTR=&value
+ guint32 value;
+ drx_config_t* config = (drx_config_t*)actx->private_data;
+%(DEFAULT_BODY)s
+ config->cycleOffset = value;
+
+#.FN_BODY DRX-Config/setup/longDRX-CycleStartOffset/sf20 VAL_PTR=&value
+ guint32 value;
+ drx_config_t* config = (drx_config_t*)actx->private_data;
+%(DEFAULT_BODY)s
+ config->cycleOffset = value;
+
+#.FN_BODY DRX-Config/setup/longDRX-CycleStartOffset/sf32 VAL_PTR=&value
+ guint32 value;
+ drx_config_t* config = (drx_config_t*)actx->private_data;
+%(DEFAULT_BODY)s
+ config->cycleOffset = value;
+
+#.FN_BODY DRX-Config/setup/longDRX-CycleStartOffset/sf40 VAL_PTR=&value
+ guint32 value;
+ drx_config_t* config = (drx_config_t*)actx->private_data;
+%(DEFAULT_BODY)s
+ config->cycleOffset = value;
+
+#.FN_BODY DRX-Config/setup/longDRX-CycleStartOffset/sf64 VAL_PTR=&value
+ guint32 value;
+ drx_config_t* config = (drx_config_t*)actx->private_data;
+%(DEFAULT_BODY)s
+ config->cycleOffset = value;
+
+#.FN_BODY DRX-Config/setup/longDRX-CycleStartOffset/sf80 VAL_PTR=&value
+ guint32 value;
+ drx_config_t* config = (drx_config_t*)actx->private_data;
+%(DEFAULT_BODY)s
+ config->cycleOffset = value;
+
+#.FN_BODY DRX-Config/setup/longDRX-CycleStartOffset/sf128 VAL_PTR=&value
+ guint32 value;
+ drx_config_t* config = (drx_config_t*)actx->private_data;
+%(DEFAULT_BODY)s
+ config->cycleOffset = value;
+
+#.FN_BODY DRX-Config/setup/longDRX-CycleStartOffset/sf160 VAL_PTR=&value
+ guint32 value;
+ drx_config_t* config = (drx_config_t*)actx->private_data;
+%(DEFAULT_BODY)s
+ config->cycleOffset = value;
+
+#.FN_BODY DRX-Config/setup/longDRX-CycleStartOffset/sf256 VAL_PTR=&value
+ guint32 value;
+ drx_config_t* config = (drx_config_t*)actx->private_data;
+%(DEFAULT_BODY)s
+ config->cycleOffset = value;
+
+#.FN_BODY DRX-Config/setup/longDRX-CycleStartOffset/sf320 VAL_PTR=&value
+ guint32 value;
+ drx_config_t* config = (drx_config_t*)actx->private_data;
+%(DEFAULT_BODY)s
+ config->cycleOffset = value;
+
+#.FN_BODY DRX-Config/setup/longDRX-CycleStartOffset/sf512 VAL_PTR=&value
+ guint32 value;
+ drx_config_t* config = (drx_config_t*)actx->private_data;
+%(DEFAULT_BODY)s
+ config->cycleOffset = value;
+
+#.FN_BODY DRX-Config/setup/longDRX-CycleStartOffset/sf640 VAL_PTR=&value
+ guint32 value;
+ drx_config_t* config = (drx_config_t*)actx->private_data;
+%(DEFAULT_BODY)s
+ config->cycleOffset = value;
+
+#.FN_BODY DRX-Config/setup/longDRX-CycleStartOffset/sf1024 VAL_PTR=&value
+ guint32 value;
+ drx_config_t* config = (drx_config_t*)actx->private_data;
+%(DEFAULT_BODY)s
+ config->cycleOffset = value;
+
+#.FN_BODY DRX-Config/setup/longDRX-CycleStartOffset/sf1280 VAL_PTR=&value
+ guint32 value;
+ drx_config_t* config = (drx_config_t*)actx->private_data;
+%(DEFAULT_BODY)s
+ config->cycleOffset = value;
+
+#.FN_BODY DRX-Config/setup/longDRX-CycleStartOffset/sf2048 VAL_PTR=&value
+ guint32 value;
+ drx_config_t* config = (drx_config_t*)actx->private_data;
+%(DEFAULT_BODY)s
+ config->cycleOffset = value;
+
+#.FN_BODY DRX-Config/setup/longDRX-CycleStartOffset/sf2560 VAL_PTR=&value
+ guint32 value;
+ drx_config_t* config = (drx_config_t*)actx->private_data;
+%(DEFAULT_BODY)s
+ config->cycleOffset = value;
+
+#.FN_BODY DRX-Config/setup/shortDRX/shortDRX-Cycle VAL_PTR=&value
+ guint32 value;
+ drx_config_t* config = (drx_config_t*)actx->private_data;
+%(DEFAULT_BODY)s
+ config->shortCycleConfigured = TRUE;
+ config->shortCycle = drx_lookup_shortCycle(value);
+
+#.FN_BODY DRX-Config/setup/shortDRX/drxShortCycleTimer VAL_PTR=&timer
+ guint32 timer;
+ drx_config_t* config = (drx_config_t*)actx->private_data;
+%(DEFAULT_BODY)s
+ config->shortCycleTimer = timer;
+
+#.FN_FTR DRX-Config/setup/shortDRX/drxShortCycleTimer
+ proto_item_append_text(actx->created_item, " shortDRX-Cycle%s", plurality(timer, "", "s"));
+