<p>pespin has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/osmo-bts/+/18909">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">Introduce LOGPTRX macro and use it in tx_power.c<br><br>Rename OCTPHY specific LOPGTRX macro to avoid redefine conflicts.<br><br>Change-Id: I02878611501aca51039e2ac7e35784ccb93b1db6<br>---<br>M include/osmo-bts/gsm_data.h<br>M src/common/tx_power.c<br>M src/osmo-bts-octphy/l1_oml.c<br>M tests/tx_power/tx_power_test.err<br>4 files changed, 56 insertions(+), 55 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/09/18909/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/include/osmo-bts/gsm_data.h b/include/osmo-bts/gsm_data.h</span><br><span>index 80cc0be..9032aeb 100644</span><br><span>--- a/include/osmo-bts/gsm_data.h</span><br><span>+++ b/include/osmo-bts/gsm_data.h</span><br><span>@@ -44,6 +44,7 @@</span><br><span> #define GSM_BTS_AGCH_QUEUE_HIGH_LEVEL_DEFAULT 91</span><br><span> </span><br><span> #define LOGPLCHAN(lchan, ss, lvl, fmt, args...) LOGP(ss, lvl, "%s " fmt, gsm_lchan_name(lchan), ## args)</span><br><span style="color: hsl(120, 100%, 40%);">+#define LOGPTRX(trx, ss, lvl, fmt, args...) LOGP(ss, lvl, "%s " fmt, gsm_trx_name(trx), ## args)</span><br><span> </span><br><span> struct gsm_network {</span><br><span>      struct llist_head bts_list;</span><br><span>diff --git a/src/common/tx_power.c b/src/common/tx_power.c</span><br><span>index db3121d..705038c 100644</span><br><span>--- a/src/common/tx_power.c</span><br><span>+++ b/src/common/tx_power.c</span><br><span>@@ -171,13 +171,13 @@</span><br><span>         /* compute new effective (= minus ramp and thermal attenuation) TRX output required */</span><br><span>       p_trxout_eff_mdBm = get_p_trxout_eff_mdBm(trx, tpp->p_total_tgt_mdBm);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   LOGP(DL1C, LOGL_DEBUG, "ramp_timer_cb(cur_pout=%d, tgt_pout=%d, "</span><br><span style="color: hsl(120, 100%, 40%);">+   LOGPTRX(trx, DL1C, LOGL_DEBUG, "ramp_timer_cb(cur_pout=%d, tgt_pout=%d, "</span><br><span>          "ramp_att=%d, therm_att=%d, user_gain=%d)\n",</span><br><span>              tpp->p_total_cur_mdBm, tpp->p_total_tgt_mdBm,</span><br><span>          tpp->ramp.attenuation_mdB, tpp->thermal_attenuation_mdB,</span><br><span>               tpp->user_gain_mdB);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-     LOGP(DL1C, LOGL_INFO,</span><br><span style="color: hsl(120, 100%, 40%);">+ LOGPTRX(trx, DL1C, LOGL_INFO,</span><br><span>                "ramping TRX board output power to %d mdBm.\n", p_trxout_eff_mdBm);</span><br><span> </span><br><span>    /* Instruct L1 to apply new effective TRX output power required */</span><br><span>@@ -196,9 +196,9 @@</span><br><span>     /* for now we simply write an error message, but in the future</span><br><span>        * we might use the value (again) as part of our math? */</span><br><span>    if (p_trxout_cur_mdBm != p_trxout_should_mdBm) {</span><br><span style="color: hsl(0, 100%, 40%);">-                LOGP(DL1C, LOGL_ERROR, "bts_model notifies us of %u mdBm TRX "</span><br><span style="color: hsl(0, 100%, 40%);">-                     "output power.  However, it should be %u mdBm!\n",</span><br><span style="color: hsl(0, 100%, 40%);">-                    p_trxout_cur_mdBm, p_trxout_should_mdBm);</span><br><span style="color: hsl(120, 100%, 40%);">+                LOGPTRX(trx, DL1C, LOGL_ERROR, "bts_model notifies us of %u mdBm TRX "</span><br><span style="color: hsl(120, 100%, 40%);">+                      "output power.  However, it should be %u mdBm!\n",</span><br><span style="color: hsl(120, 100%, 40%);">+                  p_trxout_cur_mdBm, p_trxout_should_mdBm);</span><br><span>    }</span><br><span> </span><br><span>        /* and do another step... */</span><br><span>@@ -244,13 +244,13 @@</span><br><span>          * the maximum total system power subtracted by OML as well as RSL</span><br><span>    * reductions */</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-    LOGP(DL1C, LOGL_INFO, "power_ramp_start(cur=%d, tgt=%d)\n",</span><br><span style="color: hsl(120, 100%, 40%);">+ LOGPTRX(trx, DL1C, LOGL_INFO, "power_ramp_start(cur=%d, tgt=%d)\n",</span><br><span>                tpp->p_total_cur_mdBm, p_total_tgt_mdBm);</span><br><span> </span><br><span>     if (!bypass && (p_total_tgt_mdBm > get_p_nominal_mdBm(trx))) {</span><br><span style="color: hsl(0, 100%, 40%);">-               LOGP(DL1C, LOGL_ERROR, "Asked to ramp power up to "</span><br><span style="color: hsl(0, 100%, 40%);">-                "%d mdBm, which exceeds P_max_out (%d)\n",</span><br><span style="color: hsl(0, 100%, 40%);">-                    p_total_tgt_mdBm, get_p_nominal_mdBm(trx));</span><br><span style="color: hsl(120, 100%, 40%);">+              LOGPTRX(trx, DL1C, LOGL_ERROR, "Asked to ramp power up to "</span><br><span style="color: hsl(120, 100%, 40%);">+                 "%d mdBm, which exceeds P_max_out (%d)\n",</span><br><span style="color: hsl(120, 100%, 40%);">+                  p_total_tgt_mdBm, get_p_nominal_mdBm(trx));</span><br><span>          return -ERANGE;</span><br><span>      }</span><br><span> </span><br><span>@@ -262,7 +262,7 @@</span><br><span> </span><br><span>      if (we_are_ramping_up(trx)) {</span><br><span>                if (tpp->p_total_tgt_mdBm <= tpp->ramp.max_initial_pout_mdBm) {</span><br><span style="color: hsl(0, 100%, 40%);">-                        LOGP(DL1C, LOGL_INFO,</span><br><span style="color: hsl(120, 100%, 40%);">+                 LOGPTRX(trx, DL1C, LOGL_INFO,</span><br><span>                                "target_power(%d) is below max.initial power\n",</span><br><span>                           tpp->p_total_tgt_mdBm);</span><br><span>                   /* new setting is below the maximum initial output</span><br><span>diff --git a/src/osmo-bts-octphy/l1_oml.c b/src/osmo-bts-octphy/l1_oml.c</span><br><span>index 9c5dd19..0f36662 100644</span><br><span>--- a/src/osmo-bts-octphy/l1_oml.c</span><br><span>+++ b/src/osmo-bts-octphy/l1_oml.c</span><br><span>@@ -54,7 +54,7 @@</span><br><span> </span><br><span> bool no_fw_check = 0;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-#define LOGPTRX(byTrxId, level, fmt, args...) \</span><br><span style="color: hsl(120, 100%, 40%);">+#define LOGPOCTTRX(byTrxId, level, fmt, args...) \</span><br><span>      LOGP(DL1C, level, "(byTrxId %u) " fmt, byTrxId, ## args)</span><br><span> </span><br><span> /* Map OSMOCOM logical channel type to OctPHY Logical channel type */</span><br><span>@@ -381,7 +381,7 @@</span><br><span>        mOCTVC1_GSM_MSG_TRX_ACTIVATE_LOGICAL_CHANNEL_RSP_SWAP(ar);</span><br><span>   trx = trx_by_l1h(fl1, ar->TrxId.byTrxId);</span><br><span>         if (!trx) {</span><br><span style="color: hsl(0, 100%, 40%);">-             LOGPTRX(ar->TrxId.byTrxId, LOGL_ERROR, "response with unexpected physical transceiver-id during lchan activation\n");</span><br><span style="color: hsl(120, 100%, 40%);">+            LOGPOCTTRX(ar->TrxId.byTrxId, LOGL_ERROR, "response with unexpected physical transceiver-id during lchan activation\n");</span><br><span>                return -EINVAL;</span><br><span>      }</span><br><span> </span><br><span>@@ -496,7 +496,7 @@</span><br><span> </span><br><span>      trx = trx_by_l1h(fl1, pcr->TrxId.byTrxId);</span><br><span>        if (!trx) {</span><br><span style="color: hsl(0, 100%, 40%);">-             LOGPTRX(pcr->TrxId.byTrxId, LOGL_ERROR, "response with unexpected physical transceiver-id during cipher mode activation\n");</span><br><span style="color: hsl(120, 100%, 40%);">+             LOGPOCTTRX(pcr->TrxId.byTrxId, LOGL_ERROR, "response with unexpected physical transceiver-id during cipher mode activation\n");</span><br><span>                 return -EINVAL;</span><br><span>      }</span><br><span> </span><br><span>@@ -700,7 +700,7 @@</span><br><span>  mOCTVC1_GSM_MSG_TRX_DEACTIVATE_LOGICAL_CHANNEL_RSP_SWAP(ldr);</span><br><span>        trx = trx_by_l1h(fl1, ldr->TrxId.byTrxId);</span><br><span>        if (!trx) {</span><br><span style="color: hsl(0, 100%, 40%);">-             LOGPTRX(ldr->TrxId.byTrxId, LOGL_ERROR, "response with unexpected physical transceiver-id during lchan deactivation\n");</span><br><span style="color: hsl(120, 100%, 40%);">+         LOGPOCTTRX(ldr->TrxId.byTrxId, LOGL_ERROR, "response with unexpected physical transceiver-id during lchan deactivation\n");</span><br><span>             return -EINVAL;</span><br><span>      }</span><br><span> </span><br><span>@@ -1283,7 +1283,7 @@</span><br><span>        mOCTVC1_GSM_MSG_TRX_OPEN_RSP_SWAP(or);</span><br><span>       trx = trx_by_l1h(fl1h, or->TrxId.byTrxId);</span><br><span>        if (!trx) {</span><br><span style="color: hsl(0, 100%, 40%);">-             LOGPTRX(or->TrxId.byTrxId, LOGL_ERROR, "response with unexpected physical transceiver-id during TRX opening procedure -- abort\n");</span><br><span style="color: hsl(120, 100%, 40%);">+              LOGPOCTTRX(or->TrxId.byTrxId, LOGL_ERROR, "response with unexpected physical transceiver-id during TRX opening procedure -- abort\n");</span><br><span>          exit(1);</span><br><span>     }</span><br><span> </span><br><span>@@ -1470,7 +1470,7 @@</span><br><span>        mOCTVC1_GSM_MSG_TRX_ACTIVATE_PHYSICAL_CHANNEL_RSP_SWAP(ar);</span><br><span>  trx = trx_by_l1h(fl1, ar->TrxId.byTrxId);</span><br><span>         if (!trx) {</span><br><span style="color: hsl(0, 100%, 40%);">-             LOGPTRX(ar->TrxId.byTrxId, LOGL_ERROR, "response with unexpected physical transceiver-id during physical channel activation -- abort\n");</span><br><span style="color: hsl(120, 100%, 40%);">+                LOGPOCTTRX(ar->TrxId.byTrxId, LOGL_ERROR, "response with unexpected physical transceiver-id during physical channel activation -- abort\n");</span><br><span>            exit(1);</span><br><span>     }</span><br><span> </span><br><span>@@ -1553,7 +1553,7 @@</span><br><span> </span><br><span>    trx = trx_by_l1h(fl1, ar->TrxId.byTrxId);</span><br><span>         if (!trx) {</span><br><span style="color: hsl(0, 100%, 40%);">-             LOGPTRX(ar->TrxId.byTrxId, LOGL_ERROR, "response with unexpected physical transceiver-id during ts disconnection\n");</span><br><span style="color: hsl(120, 100%, 40%);">+            LOGPOCTTRX(ar->TrxId.byTrxId, LOGL_ERROR, "response with unexpected physical transceiver-id during ts disconnection\n");</span><br><span>                return -EINVAL;</span><br><span>      }</span><br><span> </span><br><span>@@ -1581,7 +1581,7 @@</span><br><span>        mOCTVC1_GSM_MSG_TRX_ACTIVATE_PHYSICAL_CHANNEL_RSP_SWAP(ar);</span><br><span>  trx = trx_by_l1h(fl1, ar->TrxId.byTrxId);</span><br><span>         if (!trx) {</span><br><span style="color: hsl(0, 100%, 40%);">-             LOGPTRX(ar->TrxId.byTrxId, LOGL_ERROR, "response with unexpected physical transceiver-id while connecting ts\n");</span><br><span style="color: hsl(120, 100%, 40%);">+                LOGPOCTTRX(ar->TrxId.byTrxId, LOGL_ERROR, "response with unexpected physical transceiver-id while connecting ts\n");</span><br><span>            return -EINVAL;</span><br><span>      }</span><br><span> </span><br><span>diff --git a/tests/tx_power/tx_power_test.err b/tests/tx_power/tx_power_test.err</span><br><span>index bf33b42..03130b2 100644</span><br><span>--- a/tests/tx_power/tx_power_test.err</span><br><span>+++ b/tests/tx_power/tx_power_test.err</span><br><span>@@ -1,38 +1,38 @@</span><br><span style="color: hsl(0, 100%, 40%);">-power_ramp_start(cur=0, tgt=40000)</span><br><span style="color: hsl(0, 100%, 40%);">-Asked to ramp power up to 40000 mdBm, which exceeds P_max_out (33000)</span><br><span style="color: hsl(0, 100%, 40%);">-power_ramp_start(cur=0, tgt=33000)</span><br><span style="color: hsl(0, 100%, 40%);">-ramp_timer_cb(cur_pout=2000, tgt_pout=33000, ramp_att=31000, therm_att=0, user_gain=0)</span><br><span style="color: hsl(0, 100%, 40%);">-ramping TRX board output power to -8000 mdBm.</span><br><span style="color: hsl(0, 100%, 40%);">-ramp_timer_cb(cur_pout=4000, tgt_pout=33000, ramp_att=29000, therm_att=0, user_gain=0)</span><br><span style="color: hsl(0, 100%, 40%);">-ramping TRX board output power to -6000 mdBm.</span><br><span style="color: hsl(0, 100%, 40%);">-ramp_timer_cb(cur_pout=6000, tgt_pout=33000, ramp_att=27000, therm_att=0, user_gain=0)</span><br><span style="color: hsl(0, 100%, 40%);">-ramping TRX board output power to -4000 mdBm.</span><br><span style="color: hsl(0, 100%, 40%);">-ramp_timer_cb(cur_pout=8000, tgt_pout=33000, ramp_att=25000, therm_att=0, user_gain=0)</span><br><span style="color: hsl(0, 100%, 40%);">-ramping TRX board output power to -2000 mdBm.</span><br><span style="color: hsl(0, 100%, 40%);">-ramp_timer_cb(cur_pout=10000, tgt_pout=33000, ramp_att=23000, therm_att=0, user_gain=0)</span><br><span style="color: hsl(0, 100%, 40%);">-ramping TRX board output power to 0 mdBm.</span><br><span style="color: hsl(0, 100%, 40%);">-ramp_timer_cb(cur_pout=12000, tgt_pout=33000, ramp_att=21000, therm_att=0, user_gain=0)</span><br><span style="color: hsl(0, 100%, 40%);">-ramping TRX board output power to 2000 mdBm.</span><br><span style="color: hsl(0, 100%, 40%);">-ramp_timer_cb(cur_pout=14000, tgt_pout=33000, ramp_att=19000, therm_att=0, user_gain=0)</span><br><span style="color: hsl(0, 100%, 40%);">-ramping TRX board output power to 4000 mdBm.</span><br><span style="color: hsl(0, 100%, 40%);">-ramp_timer_cb(cur_pout=16000, tgt_pout=33000, ramp_att=17000, therm_att=0, user_gain=0)</span><br><span style="color: hsl(0, 100%, 40%);">-ramping TRX board output power to 6000 mdBm.</span><br><span style="color: hsl(0, 100%, 40%);">-ramp_timer_cb(cur_pout=18000, tgt_pout=33000, ramp_att=15000, therm_att=0, user_gain=0)</span><br><span style="color: hsl(0, 100%, 40%);">-ramping TRX board output power to 8000 mdBm.</span><br><span style="color: hsl(0, 100%, 40%);">-ramp_timer_cb(cur_pout=20000, tgt_pout=33000, ramp_att=13000, therm_att=0, user_gain=0)</span><br><span style="color: hsl(0, 100%, 40%);">-ramping TRX board output power to 10000 mdBm.</span><br><span style="color: hsl(0, 100%, 40%);">-ramp_timer_cb(cur_pout=22000, tgt_pout=33000, ramp_att=11000, therm_att=0, user_gain=0)</span><br><span style="color: hsl(0, 100%, 40%);">-ramping TRX board output power to 12000 mdBm.</span><br><span style="color: hsl(0, 100%, 40%);">-ramp_timer_cb(cur_pout=24000, tgt_pout=33000, ramp_att=9000, therm_att=0, user_gain=0)</span><br><span style="color: hsl(0, 100%, 40%);">-ramping TRX board output power to 14000 mdBm.</span><br><span style="color: hsl(0, 100%, 40%);">-ramp_timer_cb(cur_pout=26000, tgt_pout=33000, ramp_att=7000, therm_att=0, user_gain=0)</span><br><span style="color: hsl(0, 100%, 40%);">-ramping TRX board output power to 16000 mdBm.</span><br><span style="color: hsl(0, 100%, 40%);">-ramp_timer_cb(cur_pout=28000, tgt_pout=33000, ramp_att=5000, therm_att=0, user_gain=0)</span><br><span style="color: hsl(0, 100%, 40%);">-ramping TRX board output power to 18000 mdBm.</span><br><span style="color: hsl(0, 100%, 40%);">-ramp_timer_cb(cur_pout=30000, tgt_pout=33000, ramp_att=3000, therm_att=0, user_gain=0)</span><br><span style="color: hsl(0, 100%, 40%);">-ramping TRX board output power to 20000 mdBm.</span><br><span style="color: hsl(0, 100%, 40%);">-ramp_timer_cb(cur_pout=32000, tgt_pout=33000, ramp_att=1000, therm_att=0, user_gain=0)</span><br><span style="color: hsl(0, 100%, 40%);">-ramping TRX board output power to 22000 mdBm.</span><br><span style="color: hsl(0, 100%, 40%);">-ramp_timer_cb(cur_pout=33000, tgt_pout=33000, ramp_att=0, therm_att=0, user_gain=0)</span><br><span style="color: hsl(0, 100%, 40%);">-ramping TRX board output power to 23000 mdBm.</span><br><span style="color: hsl(120, 100%, 40%);">+(bts=0,trx=1) power_ramp_start(cur=0, tgt=40000)</span><br><span style="color: hsl(120, 100%, 40%);">+(bts=0,trx=1) Asked to ramp power up to 40000 mdBm, which exceeds P_max_out (33000)</span><br><span style="color: hsl(120, 100%, 40%);">+(bts=0,trx=1) power_ramp_start(cur=0, tgt=33000)</span><br><span style="color: hsl(120, 100%, 40%);">+(bts=0,trx=1) ramp_timer_cb(cur_pout=2000, tgt_pout=33000, ramp_att=31000, therm_att=0, user_gain=0)</span><br><span style="color: hsl(120, 100%, 40%);">+(bts=0,trx=1) ramping TRX board output power to -8000 mdBm.</span><br><span style="color: hsl(120, 100%, 40%);">+(bts=0,trx=1) ramp_timer_cb(cur_pout=4000, tgt_pout=33000, ramp_att=29000, therm_att=0, user_gain=0)</span><br><span style="color: hsl(120, 100%, 40%);">+(bts=0,trx=1) ramping TRX board output power to -6000 mdBm.</span><br><span style="color: hsl(120, 100%, 40%);">+(bts=0,trx=1) ramp_timer_cb(cur_pout=6000, tgt_pout=33000, ramp_att=27000, therm_att=0, user_gain=0)</span><br><span style="color: hsl(120, 100%, 40%);">+(bts=0,trx=1) ramping TRX board output power to -4000 mdBm.</span><br><span style="color: hsl(120, 100%, 40%);">+(bts=0,trx=1) ramp_timer_cb(cur_pout=8000, tgt_pout=33000, ramp_att=25000, therm_att=0, user_gain=0)</span><br><span style="color: hsl(120, 100%, 40%);">+(bts=0,trx=1) ramping TRX board output power to -2000 mdBm.</span><br><span style="color: hsl(120, 100%, 40%);">+(bts=0,trx=1) ramp_timer_cb(cur_pout=10000, tgt_pout=33000, ramp_att=23000, therm_att=0, user_gain=0)</span><br><span style="color: hsl(120, 100%, 40%);">+(bts=0,trx=1) ramping TRX board output power to 0 mdBm.</span><br><span style="color: hsl(120, 100%, 40%);">+(bts=0,trx=1) ramp_timer_cb(cur_pout=12000, tgt_pout=33000, ramp_att=21000, therm_att=0, user_gain=0)</span><br><span style="color: hsl(120, 100%, 40%);">+(bts=0,trx=1) ramping TRX board output power to 2000 mdBm.</span><br><span style="color: hsl(120, 100%, 40%);">+(bts=0,trx=1) ramp_timer_cb(cur_pout=14000, tgt_pout=33000, ramp_att=19000, therm_att=0, user_gain=0)</span><br><span style="color: hsl(120, 100%, 40%);">+(bts=0,trx=1) ramping TRX board output power to 4000 mdBm.</span><br><span style="color: hsl(120, 100%, 40%);">+(bts=0,trx=1) ramp_timer_cb(cur_pout=16000, tgt_pout=33000, ramp_att=17000, therm_att=0, user_gain=0)</span><br><span style="color: hsl(120, 100%, 40%);">+(bts=0,trx=1) ramping TRX board output power to 6000 mdBm.</span><br><span style="color: hsl(120, 100%, 40%);">+(bts=0,trx=1) ramp_timer_cb(cur_pout=18000, tgt_pout=33000, ramp_att=15000, therm_att=0, user_gain=0)</span><br><span style="color: hsl(120, 100%, 40%);">+(bts=0,trx=1) ramping TRX board output power to 8000 mdBm.</span><br><span style="color: hsl(120, 100%, 40%);">+(bts=0,trx=1) ramp_timer_cb(cur_pout=20000, tgt_pout=33000, ramp_att=13000, therm_att=0, user_gain=0)</span><br><span style="color: hsl(120, 100%, 40%);">+(bts=0,trx=1) ramping TRX board output power to 10000 mdBm.</span><br><span style="color: hsl(120, 100%, 40%);">+(bts=0,trx=1) ramp_timer_cb(cur_pout=22000, tgt_pout=33000, ramp_att=11000, therm_att=0, user_gain=0)</span><br><span style="color: hsl(120, 100%, 40%);">+(bts=0,trx=1) ramping TRX board output power to 12000 mdBm.</span><br><span style="color: hsl(120, 100%, 40%);">+(bts=0,trx=1) ramp_timer_cb(cur_pout=24000, tgt_pout=33000, ramp_att=9000, therm_att=0, user_gain=0)</span><br><span style="color: hsl(120, 100%, 40%);">+(bts=0,trx=1) ramping TRX board output power to 14000 mdBm.</span><br><span style="color: hsl(120, 100%, 40%);">+(bts=0,trx=1) ramp_timer_cb(cur_pout=26000, tgt_pout=33000, ramp_att=7000, therm_att=0, user_gain=0)</span><br><span style="color: hsl(120, 100%, 40%);">+(bts=0,trx=1) ramping TRX board output power to 16000 mdBm.</span><br><span style="color: hsl(120, 100%, 40%);">+(bts=0,trx=1) ramp_timer_cb(cur_pout=28000, tgt_pout=33000, ramp_att=5000, therm_att=0, user_gain=0)</span><br><span style="color: hsl(120, 100%, 40%);">+(bts=0,trx=1) ramping TRX board output power to 18000 mdBm.</span><br><span style="color: hsl(120, 100%, 40%);">+(bts=0,trx=1) ramp_timer_cb(cur_pout=30000, tgt_pout=33000, ramp_att=3000, therm_att=0, user_gain=0)</span><br><span style="color: hsl(120, 100%, 40%);">+(bts=0,trx=1) ramping TRX board output power to 20000 mdBm.</span><br><span style="color: hsl(120, 100%, 40%);">+(bts=0,trx=1) ramp_timer_cb(cur_pout=32000, tgt_pout=33000, ramp_att=1000, therm_att=0, user_gain=0)</span><br><span style="color: hsl(120, 100%, 40%);">+(bts=0,trx=1) ramping TRX board output power to 22000 mdBm.</span><br><span style="color: hsl(120, 100%, 40%);">+(bts=0,trx=1) ramp_timer_cb(cur_pout=33000, tgt_pout=33000, ramp_att=0, therm_att=0, user_gain=0)</span><br><span style="color: hsl(120, 100%, 40%);">+(bts=0,trx=1) ramping TRX board output power to 23000 mdBm.</span><br><span> </span><br><span>\ No newline at end of file</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-bts/+/18909">change 18909</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/c/osmo-bts/+/18909"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-bts </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I02878611501aca51039e2ac7e35784ccb93b1db6 </div>
<div style="display:none"> Gerrit-Change-Number: 18909 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>