aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2018-06-28 17:11:01 +0200
committerHarald Welte <laforge@gnumonks.org>2018-06-29 17:53:20 +0000
commitb7b5c4219c7190847ea5c1b86a4f3de61add4d0f (patch)
tree928c0159fb7c41d3782cc070671820cc012cddd6 /include
parent685ded192907a24e2e97c9ae42fd2746b49bb587 (diff)
Add min/max/std-dev measurement reporting for TOA256
This patch adds extended processing of the high-resolution TOA256 measurement values. It adds reporting of the following values for each RSL MEAS REP for uplink measurements: * minimum TOA256 value during reporting period * maximum TOA256 value during reporting period * standard deviation of TOA256 value during reporting period Change-Id: Iea4a4781481f77c6163d82dcd71a844a5be87bf2
Diffstat (limited to 'include')
-rw-r--r--include/osmo-bts/gsm_data_shared.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/include/osmo-bts/gsm_data_shared.h b/include/osmo-bts/gsm_data_shared.h
index f4fb7661..e15abfed 100644
--- a/include/osmo-bts/gsm_data_shared.h
+++ b/include/osmo-bts/gsm_data_shared.h
@@ -127,6 +127,7 @@ enum gsm_lchan_state {
#define MAX_NUM_UL_MEAS 104
#define LC_UL_M_F_L1_VALID (1 << 0)
#define LC_UL_M_F_RES_VALID (1 << 1)
+#define LC_UL_M_F_OSMO_EXT_VALID (1 << 2)
struct bts_ul_meas {
/* BER in units of 0.01%: 10.000 == 100% ber, 0 == 0% ber */
@@ -257,6 +258,15 @@ struct gsm_lchan {
uint8_t l1_info[2];
struct gsm_meas_rep_unidir ul_res;
int16_t ms_toa256;
+ /* Osmocom extended measurement results, see LC_UL_M_F_EXTD_VALID */
+ struct {
+ /* minimum value of toa256 during measurement period */
+ int16_t toa256_min;
+ /* maximum value of toa256 during measurement period */
+ int16_t toa256_max;
+ /* standard deviation of toa256 value during measurement period */
+ uint16_t toa256_std_dev;
+ } ext;
} meas;
struct {
struct amr_multirate_conf amr_mr;
@@ -317,6 +327,11 @@ struct gsm_lchan {
} ecu_state;
};
+static inline uint8_t lchan_get_ta(const struct gsm_lchan *lchan)
+{
+ return lchan->meas.l1_info[1];
+}
+
extern const struct value_string lchan_ciph_state_names[];
static inline const char *lchan_ciph_state_name(uint8_t state) {
return get_value_string(lchan_ciph_state_names, state);