diff options
author | Vadim Yanitskiy <vyanitskiy@sysmocom.de> | 2020-11-26 11:15:31 +0100 |
---|---|---|
committer | fixeria <vyanitskiy@sysmocom.de> | 2020-12-02 13:56:49 +0000 |
commit | e9b66487615e5bf9fad7da4faa3a7f50c4081a00 (patch) | |
tree | 3a7eedcd56a272e187f444b0440fa34650b81557 | |
parent | bts: rename MS_UL_PF_ALGO_{NONE,EWMA} to BTS_PF_ALGO_{NONE,EWMA} (diff) | |
download | OsmoBTS-e9b66487615e5bf9fad7da4faa3a7f50c4081a00.tar.xz OsmoBTS-e9b66487615e5bf9fad7da4faa3a7f50c4081a00.zip |
bts: generalize a struct for UL/DL power control parameters
Change-Id: I504de17fb3c1300c2a3faa6d7d3a9eb1b74b214b
Related: SYS#4918
-rw-r--r-- | include/osmo-bts/bts.h | 35 |
1 files changed, 19 insertions, 16 deletions
diff --git a/include/osmo-bts/bts.h b/include/osmo-bts/bts.h index 37d4c7d8..129764e6 100644 --- a/include/osmo-bts/bts.h +++ b/include/osmo-bts/bts.h @@ -101,6 +101,24 @@ enum bts_pf_algo { BTS_PF_ALGO_EWMA, }; +/* UL/DL power control parameters */ +struct bts_power_ctrl_params { + /* Target value to strive to */ + int target; + /* Tolerated deviation from target */ + int hysteresis; + /* RxLev filtering algorithm */ + enum bts_pf_algo pf_algo; + /* (Optional) filtering parameters */ + union { + /* Exponentially Weighted Moving Average */ + struct { + /* Smoothing factor: higher the value - less smoothing */ + uint8_t alpha; /* 1 .. 99 (in %) */ + } ewma; + } pf; +}; + /* BTS Site Manager */ struct gsm_bts_sm { struct gsm_abis_mo mo; @@ -300,22 +318,7 @@ struct gsm_bts { } radio_link_timeout; /* Uplink power control */ - struct { - /* Target value to strive to */ - int target; - /* Tolerated deviation from target */ - int hysteresis; - /* UL RSSI filtering algorithm */ - enum bts_pf_algo pf_algo; - /* (Optional) filtering parameters */ - union { - /* Exponentially Weighted Moving Average */ - struct { - /* Smoothing factor: higher the value - less smoothing */ - uint8_t alpha; /* 1 .. 99 (in %) */ - } ewma; - } pf; - } ul_power_ctrl; + struct bts_power_ctrl_params ul_power_ctrl; /* used by the sysmoBTS to adjust band */ uint8_t auto_band; |