diff options
author | Harald Welte <laforge@gnumonks.org> | 2018-06-28 17:11:01 +0200 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2018-06-29 17:53:20 +0000 |
commit | b7b5c4219c7190847ea5c1b86a4f3de61add4d0f (patch) | |
tree | 928c0159fb7c41d3782cc070671820cc012cddd6 /include | |
parent | 685ded192907a24e2e97c9ae42fd2746b49bb587 (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.h | 15 |
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); |