aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/bts.h6
-rw-r--r--src/gprs_ms.cpp8
-rw-r--r--src/pcu_main.cpp8
3 files changed, 13 insertions, 9 deletions
diff --git a/src/bts.h b/src/bts.h
index 578ceceb..b83ab4b4 100644
--- a/src/bts.h
+++ b/src/bts.h
@@ -45,7 +45,9 @@ extern "C" {
#define LLC_CODEL_DISABLE 0
#define LLC_CODEL_USE_DEFAULT (-1)
-#define MAX_GPRS_CS 9
+
+#define MAX_EDGE_MCS 9
+#define MAX_GPRS_CS 4
/* see bts->gsmtap_categ_mask */
enum pcu_gsmtap_category {
@@ -143,7 +145,7 @@ struct gprs_rlcmac_bts {
uint8_t cs_adj_upper_limit;
uint8_t cs_adj_lower_limit;
struct {int16_t low; int16_t high; } cs_lqual_ranges[MAX_GPRS_CS];
- struct {int16_t low; int16_t high; } mcs_lqual_ranges[MAX_GPRS_CS];
+ struct {int16_t low; int16_t high; } mcs_lqual_ranges[MAX_EDGE_MCS];
uint16_t cs_downgrade_threshold; /* downgrade if less packets left (DL) */
uint16_t ws_base;
uint16_t ws_pdch; /* increase WS by this value per PDCH */
diff --git a/src/gprs_ms.cpp b/src/gprs_ms.cpp
index 740ef6b1..87a35d18 100644
--- a/src/gprs_ms.cpp
+++ b/src/gprs_ms.cpp
@@ -620,7 +620,7 @@ void GprsMs::update_cs_ul(const pcu_l1_meas *meas)
int low;
int high;
GprsCodingScheme new_cs_ul = m_current_cs_ul;
- unsigned current_cs_num = m_current_cs_ul.to_num();
+ uint8_t current_cs_num = m_current_cs_ul.to_num();
bts_data = m_bts->bts_data();
@@ -642,11 +642,13 @@ void GprsMs::update_cs_ul(const pcu_l1_meas *meas)
old_link_qual = meas->link_qual;
if (m_current_cs_ul.isGprs()) {
+ if (current_cs_num > MAX_GPRS_CS)
+ current_cs_num = MAX_GPRS_CS;
low = bts_data->cs_lqual_ranges[current_cs_num-1].low;
high = bts_data->cs_lqual_ranges[current_cs_num-1].high;
} else if (m_current_cs_ul.isEgprs()) {
- if (current_cs_num > MAX_GPRS_CS)
- current_cs_num = MAX_GPRS_CS;
+ if (current_cs_num > MAX_EDGE_MCS)
+ current_cs_num = MAX_EDGE_MCS;
low = bts_data->mcs_lqual_ranges[current_cs_num-1].low;
high = bts_data->mcs_lqual_ranges[current_cs_num-1].high;
} else {
diff --git a/src/pcu_main.cpp b/src/pcu_main.cpp
index fe851600..a0f31d16 100644
--- a/src/pcu_main.cpp
+++ b/src/pcu_main.cpp
@@ -214,10 +214,10 @@ int main(int argc, char *argv[])
bts->cs_adj_enabled = 1;
bts->cs_adj_upper_limit = 33; /* Decrease CS if the error rate is above */
bts->cs_adj_lower_limit = 10; /* Increase CS if the error rate is below */
- bts->max_cs_ul = 4;
- bts->max_cs_dl = 4;
- bts->max_mcs_ul = MAX_GPRS_CS;
- bts->max_mcs_dl = MAX_GPRS_CS;
+ bts->max_cs_ul = MAX_GPRS_CS;
+ bts->max_cs_dl = MAX_GPRS_CS;
+ bts->max_mcs_ul = MAX_EDGE_MCS;
+ bts->max_mcs_dl = MAX_EDGE_MCS;
/* CS-1 to CS-4 */
bts->cs_lqual_ranges[0].low = -256;
bts->cs_lqual_ranges[0].high = 6;