summaryrefslogtreecommitdiffstats
path: root/src/host/layer23/include
diff options
context:
space:
mode:
authorAndreas.Eversberg2010-10-12 10:26:48 +0200
committerAndreas.Eversberg2010-10-12 10:26:48 +0200
commit6d4915b91b13fa879e0dd75d2c275e82b5a5634c (patch)
treee385c97e0fecc0591ec6d7f17bf3925ec2fae258 /src/host/layer23/include
parent[layer23] Increase sync tollerance by increasing freq_err_thresh1 (diff)
downloadosmocom-6d4915b91b13fa879e0dd75d2c275e82b5a5634c.tar.gz
osmocom-6d4915b91b13fa879e0dd75d2c275e82b5a5634c.tar.xz
osmocom-6d4915b91b13fa879e0dd75d2c275e82b5a5634c.zip
[layer23] Implementation of signal loss criteria as defined in TS 05.08
There are two criterions for lossing a signal, idle mode and dedicated mode. A counter counts down when a frame is dropped, and counts up when a valid frame is received on certain channel. The loss criterion is reached, if the counter reaches 0. The values added to / removed from the counter and the limits depend on the process.
Diffstat (limited to 'src/host/layer23/include')
-rw-r--r--src/host/layer23/include/osmocom/bb/common/osmocom_data.h5
-rw-r--r--src/host/layer23/include/osmocom/bb/mobile/settings.h3
-rw-r--r--src/host/layer23/include/osmocom/bb/mobile/support.h1
3 files changed, 9 insertions, 0 deletions
diff --git a/src/host/layer23/include/osmocom/bb/common/osmocom_data.h b/src/host/layer23/include/osmocom/bb/common/osmocom_data.h
index a20b177..bc0c7d8 100644
--- a/src/host/layer23/include/osmocom/bb/common/osmocom_data.h
+++ b/src/host/layer23/include/osmocom/bb/common/osmocom_data.h
@@ -40,6 +40,10 @@ struct rx_meas_stat {
uint32_t snr;
uint32_t berr;
uint32_t rxlev;
+
+ /* counters loss criterion */
+ int16_t dsc, ds_fail;
+ int16_t s, rl_fail;
};
/* One Mobilestation for osmocom */
@@ -76,6 +80,7 @@ enum osmobb_meas_sig {
S_L1CTL_PM_DONE,
S_L1CTL_CCCH_MODE_CONF,
S_L1CTL_TCH_MODE_CONF,
+ S_L1CTL_LOSS_IND,
};
struct osmobb_fbsb_res {
diff --git a/src/host/layer23/include/osmocom/bb/mobile/settings.h b/src/host/layer23/include/osmocom/bb/mobile/settings.h
index 4c66f34..2437951 100644
--- a/src/host/layer23/include/osmocom/bb/mobile/settings.h
+++ b/src/host/layer23/include/osmocom/bb/mobile/settings.h
@@ -64,6 +64,9 @@ struct gsm_settings {
uint8_t half_v3;
uint8_t ch_cap; /* channel capability */
int8_t min_rxlev_db; /* min DB to access */
+
+ /* radio */
+ uint16_t dsc_max;
};
int gsm_settings_init(struct osmocom_ms *ms);
diff --git a/src/host/layer23/include/osmocom/bb/mobile/support.h b/src/host/layer23/include/osmocom/bb/mobile/support.h
index b609b7d..cbe6e19 100644
--- a/src/host/layer23/include/osmocom/bb/mobile/support.h
+++ b/src/host/layer23/include/osmocom/bb/mobile/support.h
@@ -76,6 +76,7 @@ struct gsm_support {
int8_t min_rxlev_db;
uint8_t scan_to;
uint8_t sync_to;
+ uint16_t dsc_max; /* maximum dl signal failure counter */
/* codecs */
uint8_t full_v1;