aboutsummaryrefslogtreecommitdiffstats
path: root/src/pcu_l1_if.cpp
diff options
context:
space:
mode:
authorPhilipp Maier <pmaier@sysmocom.de>2023-03-03 11:39:00 +0100
committerPhilipp Maier <pmaier@sysmocom.de>2023-03-03 17:51:33 +0100
commitc82c948e99d379220a2179b29a26f67473c363b4 (patch)
tree7e3f6863a590b9ee30164889685c79c201eeb838 /src/pcu_l1_if.cpp
parent6f4176271742090c3f64cfd0bb44ca93689a9e17 (diff)
pcu_l1_if_phy: support multiple BTS (in theory)
The PCU already has a list that can hold multiple BTS objects but the API for the direct PHY access has no way to associate a PHY with a certain BTS object. Lets update the API so that we can associate a BTS object when opening a PDCH. Unfortunately OsmoPCU has never been tested with more than one BTS so it is very likely that there are still shortcomings that prevent OsmoPCU to work properly when more then one BTS is attached. To make users aware of this, also print a warning as soon as more than one BTS object exists. Related: OS#5198 Related: OS#5930 Change-Id: I33518cbbe83f7f8c071afa5e995d30930099ba92
Diffstat (limited to 'src/pcu_l1_if.cpp')
-rw-r--r--src/pcu_l1_if.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp
index 3eff68fa..6c4ed22f 100644
--- a/src/pcu_l1_if.cpp
+++ b/src/pcu_l1_if.cpp
@@ -731,6 +731,9 @@ static int pcu_rx_info_ind(struct gprs_rlcmac_bts *bts, const struct gsm_pcu_if_
unsigned int trx_nr, ts_nr;
unsigned int i;
+ if (llist_count(&the_pcu->bts_list) > 1)
+ LOGP(DL1IF, LOGL_ERROR, "more than one BTS regsitered at this PCU. This PCU has only been tested with one BTS! OS#5930\n");
+
if (info_ind->version != PCU_IF_VERSION) {
fprintf(stderr, "PCU interface version number of BTS (%u) is "
"different (%u).\nPlease re-compile!\n",
@@ -864,7 +867,7 @@ bssgp_failed:
info_ind->trx[trx_nr].hlayer1);
if (!bts->trx[trx_nr].fl1h)
bts->trx[trx_nr].fl1h = l1if_open_pdch(
- trx_nr,
+ bts->nr, trx_nr,
info_ind->trx[trx_nr].hlayer1,
the_pcu->gsmtap);
if (!bts->trx[trx_nr].fl1h) {