This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
pespin gerrit-no-reply at lists.osmocom.orgpespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/25435 ) Change subject: lchan: Move TA CTRL param to its own substruct ...................................................................... lchan: Move TA CTRL param to its own substruct Field is renamed to look similar to similar fields in power control loop. This is a preparation commit, next one will add functionality to skip SACCH blocksi (P_CON_INTERVAL). Related: SYS#5371 Change-Id: I169ce58ab827e38b64f4b15f935097a9118fa118 --- M include/osmo-bts/gsm_data.h M src/common/handover.c M src/common/l1sap.c M src/common/rsl.c M src/common/ta_control.c M src/osmo-bts-octphy/l1_oml.c M src/osmo-bts-virtual/l1_if.c M tests/ta_control/ta_control_test.c M tests/ta_control/ta_control_test.ok 9 files changed, 269 insertions(+), 263 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/35/25435/1 diff --git a/include/osmo-bts/gsm_data.h b/include/osmo-bts/gsm_data.h index 33cb2af..e23497f 100644 --- a/include/osmo-bts/gsm_data.h +++ b/include/osmo-bts/gsm_data.h @@ -254,6 +254,11 @@ uint8_t max; }; +struct lchan_ta_ctrl_state { + /* Currently requested TA */ + uint8_t current; +}; + struct gsm_lchan { /* The TS that we're part of */ struct gsm_bts_trx_ts *ts; @@ -288,8 +293,6 @@ struct osmo_rtp_socket *rtp_socket; } abis_ip; - uint8_t rqd_ta; - char *name; /* For handover, activation is described in 3GPP TS 48.058 4.1.3 and 4.1.4: @@ -403,6 +406,9 @@ /* RTP header Marker bit to indicate beginning of speech after pause */ bool rtp_tx_marker; + /* TA Control Loop */ + struct lchan_ta_ctrl_state ta_ctrl; + /* MS/BS power control state */ struct lchan_power_ctrl_state ms_power_ctrl; struct lchan_power_ctrl_state bs_power_ctrl; diff --git a/src/common/handover.c b/src/common/handover.c index 888649d..922c514 100644 --- a/src/common/handover.c +++ b/src/common/handover.c @@ -51,7 +51,7 @@ gh = (struct gsm48_hdr *) msgb_put(msg, sizeof(*gh)); gh->proto_discr = GSM48_PDISC_RR; gh->msg_type = GSM48_MT_RR_HANDO_INFO; - msgb_put_u8(msg, lchan->rqd_ta); + msgb_put_u8(msg, lchan->ta_ctrl.current); rsl_rll_push_l3(msg, RSL_MT_UNIT_DATA_REQ, gsm_lchan2chan_nr(lchan), 0x00, 0); @@ -111,7 +111,7 @@ "TA=%u, ref=%u\n", gsm_lchant_name(lchan->type), acc_delay, ra); /* Set timing advance */ - lchan->rqd_ta = acc_delay; + lchan->ta_ctrl.current = acc_delay; lchan->want_dl_sacch_active = true; /* Stop handover detection, wait for valid frame */ @@ -123,7 +123,7 @@ } /* Send HANDover DETect to BSC */ - rsl_tx_hando_det(lchan, &lchan->rqd_ta); + rsl_tx_hando_det(lchan, &lchan->ta_ctrl.current); /* Send PHYS INFO */ lchan->ho.phys_info_count = 1; diff --git a/src/common/l1sap.c b/src/common/l1sap.c index 92abbff..2e122e3 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -1186,7 +1186,7 @@ p[0] = lchan->ms_power_ctrl.current; if (lchan->repeated_ul_sacch_active) p[0] |= 0x40; /* See also: 3GPP TS 44.004, section 7.1 */ - p[1] = lchan->rqd_ta; + p[1] = lchan->ta_ctrl.current; le = &lchan->lapdm_ch.lapdm_acch; if (lchan->repeated_acch_capability.dl_sacch) { /* Check if MS requests SACCH repetition and update state accordingly */ @@ -1605,7 +1605,7 @@ rsl_tx_meas_res(lchan, NULL, 0, le); radio_link_timeout(lchan, true); - lchan_ms_ta_ctrl(lchan, lchan->rqd_ta, lchan->meas.ms_toa256); + lchan_ms_ta_ctrl(lchan, lchan->ta_ctrl.current, lchan->meas.ms_toa256); lchan_ms_pwr_ctrl(lchan, lchan->ms_power_ctrl.current, data_ind->rssi, data_ind->lqual_cb); } return -EINVAL; diff --git a/src/common/rsl.c b/src/common/rsl.c index f585ec4..ca40e49 100644 --- a/src/common/rsl.c +++ b/src/common/rsl.c @@ -1512,7 +1512,7 @@ memset(&lchan->ho, 0, sizeof(lchan->ho)); memset(&lchan->ms_power_ctrl, 0, sizeof(lchan->ms_power_ctrl)); memset(&lchan->bs_power_ctrl, 0, sizeof(lchan->bs_power_ctrl)); - lchan->rqd_ta = 0; + lchan->ta_ctrl.current = 0; copy_sacch_si_to_lchan(lchan); memset(&lchan->tch, 0, sizeof(lchan->tch)); } @@ -1721,7 +1721,7 @@ } /* 9.3.24 Timing Advance */ if (TLVP_PRES_LEN(&tp, RSL_IE_TIMING_ADVANCE, 1)) - lchan->rqd_ta = *TLVP_VAL(&tp, RSL_IE_TIMING_ADVANCE); + lchan->ta_ctrl.current = *TLVP_VAL(&tp, RSL_IE_TIMING_ADVANCE); /* 9.3.31 (TLV) MS Power Parameters IE (vendor specific) */ if ((ie = TLVP_GET(&tp, RSL_IE_MS_POWER_PARAM)) != NULL) { diff --git a/src/common/ta_control.c b/src/common/ta_control.c index 969b770..fb33ff2 100644 --- a/src/common/ta_control.c +++ b/src/common/ta_control.c @@ -72,20 +72,20 @@ if (new_ta > TA_MAX) new_ta = TA_MAX; - if (lchan->rqd_ta == (uint8_t)new_ta) { + if (lchan->ta_ctrl.current == (uint8_t)new_ta) { LOGPLCHAN(lchan, DLOOP, LOGL_DEBUG, "Keeping current TA at %u: TOA was %d\n", - lchan->rqd_ta, toa256); + lchan->ta_ctrl.current, toa256); return; } LOGPLCHAN(lchan, DLOOP, LOGL_INFO, "%s TA %u => %u: TOA was too %s (%d)\n", - (uint8_t)new_ta > lchan->rqd_ta ? "Raising" : "Lowering", - lchan->rqd_ta, (uint8_t)new_ta, - (uint8_t)new_ta > lchan->rqd_ta ? "late" : "early", + (uint8_t)new_ta > lchan->ta_ctrl.current ? "Raising" : "Lowering", + lchan->ta_ctrl.current, (uint8_t)new_ta, + (uint8_t)new_ta > lchan->ta_ctrl.current ? "late" : "early", toa256); /* store the resulting new TA in the lchan */ - lchan->rqd_ta = (uint8_t)new_ta; + lchan->ta_ctrl.current = (uint8_t)new_ta; } diff --git a/src/osmo-bts-octphy/l1_oml.c b/src/osmo-bts-octphy/l1_oml.c index 5b48b2e..1e2f89d 100644 --- a/src/osmo-bts-octphy/l1_oml.c +++ b/src/osmo-bts-octphy/l1_oml.c @@ -459,7 +459,7 @@ lac->LchId.bySAPI = cmd->sapi; lac->LchId.byDirection = cmd->dir; - lac->Config.byTimingAdvance = lchan->rqd_ta; + lac->Config.byTimingAdvance = lchan->ta_ctrl.current; lac->Config.byBSIC = lchan->ts->trx->bts->bsic; if ((rc = lchan2lch_par(lchan, &lac->Config)) != 0) { talloc_free(msg); diff --git a/src/osmo-bts-virtual/l1_if.c b/src/osmo-bts-virtual/l1_if.c index 444d6ad..a4a81bd 100644 --- a/src/osmo-bts-virtual/l1_if.c +++ b/src/osmo-bts-virtual/l1_if.c @@ -320,11 +320,11 @@ float ber = n_bits_total==0 ? 1.0 : (float)n_errors / (float)n_bits_total; DEBUGPFN(DMEAS, fn, "RX L1 frame %s chan_nr=0x%02x MS pwr=%ddBm rssi=%.1f dBFS " - "ber=%.2f%% (%d/%d bits) L1_ta=%d rqd_ta=%d toa=%.2f\n", + "ber=%.2f%% (%d/%d bits) L1_ta=%d ta_ctrl.current=%d toa=%.2f\n", gsm_lchan_name(lchan), chan_nr, ms_pwr_dbm(lchan->ts->trx->bts->band, lchan->ms_power_ctrl.max), - rssi, ber*100, n_errors, n_bits_total, lchan->meas.l1_info.ta, lchan->rqd_ta, toa); + rssi, ber*100, n_errors, n_bits_total, lchan->meas.l1_info.ta, lchan->ta_ctrl.current, toa); - l1if_fill_meas_res(&l1sap, chan_nr, lchan->rqd_ta + toa, ber, rssi, fn); + l1if_fill_meas_res(&l1sap, chan_nr, lchan->ta_ctrl.current + toa, ber, rssi, fn); return l1sap_up(trx, &l1sap); } diff --git a/tests/ta_control/ta_control_test.c b/tests/ta_control/ta_control_test.c index 12305cb..200fd31 100644 --- a/tests/ta_control/ta_control_test.c +++ b/tests/ta_control/ta_control_test.c @@ -40,18 +40,18 @@ for (i = 0; i < steps; i++) { printf("Step #%u\n", i); - printf(" lchan.rqd_ta (before) = %u\n", lchan.rqd_ta); + printf(" lchan.ta_ctrl.current (before) = %u\n", lchan.ta_ctrl.current); printf(" toa256 (before) = %u / 256 = %u\n", toa256, toa256 / 256); - rqd_ta_before = lchan.rqd_ta; + rqd_ta_before = lchan.ta_ctrl.current; lchan_ms_ta_ctrl(&lchan, rqd_ta_before, toa256); - rqd_ta_after = lchan.rqd_ta; + rqd_ta_after = lchan.ta_ctrl.current; toa256 -= (rqd_ta_after - rqd_ta_before) * 256; - printf(" lchan.rqd_ta (after) = %u\n", lchan.rqd_ta); + printf(" lchan.ta_ctrl.current (after) = %u\n", lchan.ta_ctrl.current); printf(" toa256 (after) = %u / 256 = %u\n", toa256, toa256 / 256); } diff --git a/tests/ta_control/ta_control_test.ok b/tests/ta_control/ta_control_test.ok index 79de8ad..a158675 100644 --- a/tests/ta_control/ta_control_test.ok +++ b/tests/ta_control/ta_control_test.ok @@ -1,609 +1,609 @@ toa256_start = 4096 / 256 = 16, steps = 20 Step #0 - lchan.rqd_ta (before) = 0 + lchan.ta_ctrl.current (before) = 0 toa256 (before) = 4096 / 256 = 16 - lchan.rqd_ta (after) = 2 + lchan.ta_ctrl.current (after) = 2 toa256 (after) = 3584 / 256 = 14 Step #1 - lchan.rqd_ta (before) = 2 + lchan.ta_ctrl.current (before) = 2 toa256 (before) = 3584 / 256 = 14 - lchan.rqd_ta (after) = 4 + lchan.ta_ctrl.current (after) = 4 toa256 (after) = 3072 / 256 = 12 Step #2 - lchan.rqd_ta (before) = 4 + lchan.ta_ctrl.current (before) = 4 toa256 (before) = 3072 / 256 = 12 - lchan.rqd_ta (after) = 6 + lchan.ta_ctrl.current (after) = 6 toa256 (after) = 2560 / 256 = 10 Step #3 - lchan.rqd_ta (before) = 6 + lchan.ta_ctrl.current (before) = 6 toa256 (before) = 2560 / 256 = 10 - lchan.rqd_ta (after) = 8 + lchan.ta_ctrl.current (after) = 8 toa256 (after) = 2048 / 256 = 8 Step #4 - lchan.rqd_ta (before) = 8 + lchan.ta_ctrl.current (before) = 8 toa256 (before) = 2048 / 256 = 8 - lchan.rqd_ta (after) = 10 + lchan.ta_ctrl.current (after) = 10 toa256 (after) = 1536 / 256 = 6 Step #5 - lchan.rqd_ta (before) = 10 + lchan.ta_ctrl.current (before) = 10 toa256 (before) = 1536 / 256 = 6 - lchan.rqd_ta (after) = 12 + lchan.ta_ctrl.current (after) = 12 toa256 (after) = 1024 / 256 = 4 Step #6 - lchan.rqd_ta (before) = 12 + lchan.ta_ctrl.current (before) = 12 toa256 (before) = 1024 / 256 = 4 - lchan.rqd_ta (after) = 14 + lchan.ta_ctrl.current (after) = 14 toa256 (after) = 512 / 256 = 2 Step #7 - lchan.rqd_ta (before) = 14 + lchan.ta_ctrl.current (before) = 14 toa256 (before) = 512 / 256 = 2 - lchan.rqd_ta (after) = 16 + lchan.ta_ctrl.current (after) = 16 toa256 (after) = 0 / 256 = 0 Step #8 - lchan.rqd_ta (before) = 16 + lchan.ta_ctrl.current (before) = 16 toa256 (before) = 0 / 256 = 0 - lchan.rqd_ta (after) = 16 + lchan.ta_ctrl.current (after) = 16 toa256 (after) = 0 / 256 = 0 Step #9 - lchan.rqd_ta (before) = 16 + lchan.ta_ctrl.current (before) = 16 toa256 (before) = 0 / 256 = 0 - lchan.rqd_ta (after) = 16 + lchan.ta_ctrl.current (after) = 16 toa256 (after) = 0 / 256 = 0 Step #10 - lchan.rqd_ta (before) = 16 + lchan.ta_ctrl.current (before) = 16 toa256 (before) = 0 / 256 = 0 - lchan.rqd_ta (after) = 16 + lchan.ta_ctrl.current (after) = 16 toa256 (after) = 0 / 256 = 0 Step #11 - lchan.rqd_ta (before) = 16 + lchan.ta_ctrl.current (before) = 16 toa256 (before) = 0 / 256 = 0 - lchan.rqd_ta (after) = 16 + lchan.ta_ctrl.current (after) = 16 toa256 (after) = 0 / 256 = 0 Step #12 - lchan.rqd_ta (before) = 16 + lchan.ta_ctrl.current (before) = 16 toa256 (before) = 0 / 256 = 0 - lchan.rqd_ta (after) = 16 + lchan.ta_ctrl.current (after) = 16 toa256 (after) = 0 / 256 = 0 Step #13 - lchan.rqd_ta (before) = 16 + lchan.ta_ctrl.current (before) = 16 toa256 (before) = 0 / 256 = 0 - lchan.rqd_ta (after) = 16 + lchan.ta_ctrl.current (after) = 16 toa256 (after) = 0 / 256 = 0 Step #14 - lchan.rqd_ta (before) = 16 + lchan.ta_ctrl.current (before) = 16 toa256 (before) = 0 / 256 = 0 - lchan.rqd_ta (after) = 16 + lchan.ta_ctrl.current (after) = 16 toa256 (after) = 0 / 256 = 0 Step #15 - lchan.rqd_ta (before) = 16 + lchan.ta_ctrl.current (before) = 16 toa256 (before) = 0 / 256 = 0 - lchan.rqd_ta (after) = 16 + lchan.ta_ctrl.current (after) = 16 toa256 (after) = 0 / 256 = 0 Step #16 - lchan.rqd_ta (before) = 16 + lchan.ta_ctrl.current (before) = 16 toa256 (before) = 0 / 256 = 0 - lchan.rqd_ta (after) = 16 + lchan.ta_ctrl.current (after) = 16 toa256 (after) = 0 / 256 = 0 Step #17 - lchan.rqd_ta (before) = 16 + lchan.ta_ctrl.current (before) = 16 toa256 (before) = 0 / 256 = 0 - lchan.rqd_ta (after) = 16 + lchan.ta_ctrl.current (after) = 16 toa256 (after) = 0 / 256 = 0 Step #18 - lchan.rqd_ta (before) = 16 + lchan.ta_ctrl.current (before) = 16 toa256 (before) = 0 / 256 = 0 - lchan.rqd_ta (after) = 16 + lchan.ta_ctrl.current (after) = 16 toa256 (after) = 0 / 256 = 0 Step #19 - lchan.rqd_ta (before) = 16 + lchan.ta_ctrl.current (before) = 16 toa256 (before) = 0 / 256 = 0 - lchan.rqd_ta (after) = 16 + lchan.ta_ctrl.current (after) = 16 toa256 (after) = 0 / 256 = 0 Done. toa256_start = 4000 / 256 = 15, steps = 50 Step #0 - lchan.rqd_ta (before) = 0 + lchan.ta_ctrl.current (before) = 0 toa256 (before) = 4000 / 256 = 15 - lchan.rqd_ta (after) = 2 + lchan.ta_ctrl.current (after) = 2 toa256 (after) = 3488 / 256 = 13 Step #1 - lchan.rqd_ta (before) = 2 + lchan.ta_ctrl.current (before) = 2 toa256 (before) = 3488 / 256 = 13 - lchan.rqd_ta (after) = 4 + lchan.ta_ctrl.current (after) = 4 toa256 (after) = 2976 / 256 = 11 Step #2 - lchan.rqd_ta (before) = 4 + lchan.ta_ctrl.current (before) = 4 toa256 (before) = 2976 / 256 = 11 - lchan.rqd_ta (after) = 6 + lchan.ta_ctrl.current (after) = 6 toa256 (after) = 2464 / 256 = 9 Step #3 - lchan.rqd_ta (before) = 6 + lchan.ta_ctrl.current (before) = 6 toa256 (before) = 2464 / 256 = 9 - lchan.rqd_ta (after) = 8 + lchan.ta_ctrl.current (after) = 8 toa256 (after) = 1952 / 256 = 7 Step #4 - lchan.rqd_ta (before) = 8 + lchan.ta_ctrl.current (before) = 8 toa256 (before) = 1952 / 256 = 7 - lchan.rqd_ta (after) = 10 + lchan.ta_ctrl.current (after) = 10 toa256 (after) = 1440 / 256 = 5 Step #5 - lchan.rqd_ta (before) = 10 + lchan.ta_ctrl.current (before) = 10 toa256 (before) = 1440 / 256 = 5 - lchan.rqd_ta (after) = 12 + lchan.ta_ctrl.current (after) = 12 toa256 (after) = 928 / 256 = 3 Step #6 - lchan.rqd_ta (before) = 12 + lchan.ta_ctrl.current (before) = 12 toa256 (before) = 928 / 256 = 3 - lchan.rqd_ta (after) = 14 + lchan.ta_ctrl.current (after) = 14 toa256 (after) = 416 / 256 = 1 Step #7 - lchan.rqd_ta (before) = 14 + lchan.ta_ctrl.current (before) = 14 toa256 (before) = 416 / 256 = 1 - lchan.rqd_ta (after) = 15 + lchan.ta_ctrl.current (after) = 15 toa256 (after) = 160 / 256 = 0 Step #8 - lchan.rqd_ta (before) = 15 + lchan.ta_ctrl.current (before) = 15 toa256 (before) = 160 / 256 = 0 - lchan.rqd_ta (after) = 15 + lchan.ta_ctrl.current (after) = 15 toa256 (after) = 160 / 256 = 0 Step #9 - lchan.rqd_ta (before) = 15 + lchan.ta_ctrl.current (before) = 15 toa256 (before) = 160 / 256 = 0 - lchan.rqd_ta (after) = 15 + lchan.ta_ctrl.current (after) = 15 toa256 (after) = 160 / 256 = 0 Step #10 - lchan.rqd_ta (before) = 15 + lchan.ta_ctrl.current (before) = 15 toa256 (before) = 160 / 256 = 0 - lchan.rqd_ta (after) = 15 + lchan.ta_ctrl.current (after) = 15 toa256 (after) = 160 / 256 = 0 Step #11 - lchan.rqd_ta (before) = 15 + lchan.ta_ctrl.current (before) = 15 toa256 (before) = 160 / 256 = 0 - lchan.rqd_ta (after) = 15 + lchan.ta_ctrl.current (after) = 15 toa256 (after) = 160 / 256 = 0 Step #12 - lchan.rqd_ta (before) = 15 + lchan.ta_ctrl.current (before) = 15 toa256 (before) = 160 / 256 = 0 - lchan.rqd_ta (after) = 15 + lchan.ta_ctrl.current (after) = 15 toa256 (after) = 160 / 256 = 0 Step #13 - lchan.rqd_ta (before) = 15 + lchan.ta_ctrl.current (before) = 15 toa256 (before) = 160 / 256 = 0 - lchan.rqd_ta (after) = 15 + lchan.ta_ctrl.current (after) = 15 toa256 (after) = 160 / 256 = 0 Step #14 - lchan.rqd_ta (before) = 15 + lchan.ta_ctrl.current (before) = 15 toa256 (before) = 160 / 256 = 0 - lchan.rqd_ta (after) = 15 + lchan.ta_ctrl.current (after) = 15 toa256 (after) = 160 / 256 = 0 Step #15 - lchan.rqd_ta (before) = 15 + lchan.ta_ctrl.current (before) = 15 toa256 (before) = 160 / 256 = 0 - lchan.rqd_ta (after) = 15 + lchan.ta_ctrl.current (after) = 15 toa256 (after) = 160 / 256 = 0 Step #16 - lchan.rqd_ta (before) = 15 + lchan.ta_ctrl.current (before) = 15 toa256 (before) = 160 / 256 = 0 - lchan.rqd_ta (after) = 15 + lchan.ta_ctrl.current (after) = 15 toa256 (after) = 160 / 256 = 0 Step #17 - lchan.rqd_ta (before) = 15 + lchan.ta_ctrl.current (before) = 15 toa256 (before) = 160 / 256 = 0 - lchan.rqd_ta (after) = 15 + lchan.ta_ctrl.current (after) = 15 toa256 (after) = 160 / 256 = 0 Step #18 - lchan.rqd_ta (before) = 15 + lchan.ta_ctrl.current (before) = 15 toa256 (before) = 160 / 256 = 0 - lchan.rqd_ta (after) = 15 + lchan.ta_ctrl.current (after) = 15 toa256 (after) = 160 / 256 = 0 Step #19 - lchan.rqd_ta (before) = 15 + lchan.ta_ctrl.current (before) = 15 toa256 (before) = 160 / 256 = 0 - lchan.rqd_ta (after) = 15 + lchan.ta_ctrl.current (after) = 15 toa256 (after) = 160 / 256 = 0 Step #20 - lchan.rqd_ta (before) = 15 + lchan.ta_ctrl.current (before) = 15 toa256 (before) = 160 / 256 = 0 - lchan.rqd_ta (after) = 15 + lchan.ta_ctrl.current (after) = 15 toa256 (after) = 160 / 256 = 0 Step #21 - lchan.rqd_ta (before) = 15 + lchan.ta_ctrl.current (before) = 15 toa256 (before) = 160 / 256 = 0 - lchan.rqd_ta (after) = 15 + lchan.ta_ctrl.current (after) = 15 toa256 (after) = 160 / 256 = 0 Step #22 - lchan.rqd_ta (before) = 15 + lchan.ta_ctrl.current (before) = 15 toa256 (before) = 160 / 256 = 0 - lchan.rqd_ta (after) = 15 + lchan.ta_ctrl.current (after) = 15 toa256 (after) = 160 / 256 = 0 Step #23 - lchan.rqd_ta (before) = 15 + lchan.ta_ctrl.current (before) = 15 toa256 (before) = 160 / 256 = 0 - lchan.rqd_ta (after) = 15 + lchan.ta_ctrl.current (after) = 15 toa256 (after) = 160 / 256 = 0 Step #24 - lchan.rqd_ta (before) = 15 + lchan.ta_ctrl.current (before) = 15 toa256 (before) = 160 / 256 = 0 - lchan.rqd_ta (after) = 15 + lchan.ta_ctrl.current (after) = 15 toa256 (after) = 160 / 256 = 0 Step #25 - lchan.rqd_ta (before) = 15 + lchan.ta_ctrl.current (before) = 15 toa256 (before) = 160 / 256 = 0 - lchan.rqd_ta (after) = 15 + lchan.ta_ctrl.current (after) = 15 toa256 (after) = 160 / 256 = 0 Step #26 - lchan.rqd_ta (before) = 15 + lchan.ta_ctrl.current (before) = 15 toa256 (before) = 160 / 256 = 0 - lchan.rqd_ta (after) = 15 + lchan.ta_ctrl.current (after) = 15 toa256 (after) = 160 / 256 = 0 Step #27 - lchan.rqd_ta (before) = 15 + lchan.ta_ctrl.current (before) = 15 toa256 (before) = 160 / 256 = 0 - lchan.rqd_ta (after) = 15 + lchan.ta_ctrl.current (after) = 15 toa256 (after) = 160 / 256 = 0 Step #28 - lchan.rqd_ta (before) = 15 + lchan.ta_ctrl.current (before) = 15 toa256 (before) = 160 / 256 = 0 - lchan.rqd_ta (after) = 15 + lchan.ta_ctrl.current (after) = 15 toa256 (after) = 160 / 256 = 0 Step #29 - lchan.rqd_ta (before) = 15 + lchan.ta_ctrl.current (before) = 15 toa256 (before) = 160 / 256 = 0 - lchan.rqd_ta (after) = 15 + lchan.ta_ctrl.current (after) = 15 toa256 (after) = 160 / 256 = 0 Step #30 - lchan.rqd_ta (before) = 15 + lchan.ta_ctrl.current (before) = 15 toa256 (before) = 160 / 256 = 0 - lchan.rqd_ta (after) = 15 + lchan.ta_ctrl.current (after) = 15 toa256 (after) = 160 / 256 = 0 Step #31 - lchan.rqd_ta (before) = 15 + lchan.ta_ctrl.current (before) = 15 toa256 (before) = 160 / 256 = 0 - lchan.rqd_ta (after) = 15 + lchan.ta_ctrl.current (after) = 15 toa256 (after) = 160 / 256 = 0 Step #32 - lchan.rqd_ta (before) = 15 + lchan.ta_ctrl.current (before) = 15 toa256 (before) = 160 / 256 = 0 - lchan.rqd_ta (after) = 15 + lchan.ta_ctrl.current (after) = 15 toa256 (after) = 160 / 256 = 0 Step #33 - lchan.rqd_ta (before) = 15 + lchan.ta_ctrl.current (before) = 15 toa256 (before) = 160 / 256 = 0 - lchan.rqd_ta (after) = 15 + lchan.ta_ctrl.current (after) = 15 toa256 (after) = 160 / 256 = 0 Step #34 - lchan.rqd_ta (before) = 15 + lchan.ta_ctrl.current (before) = 15 toa256 (before) = 160 / 256 = 0 - lchan.rqd_ta (after) = 15 + lchan.ta_ctrl.current (after) = 15 toa256 (after) = 160 / 256 = 0 Step #35 - lchan.rqd_ta (before) = 15 + lchan.ta_ctrl.current (before) = 15 toa256 (before) = 160 / 256 = 0 - lchan.rqd_ta (after) = 15 + lchan.ta_ctrl.current (after) = 15 toa256 (after) = 160 / 256 = 0 Step #36 - lchan.rqd_ta (before) = 15 + lchan.ta_ctrl.current (before) = 15 toa256 (before) = 160 / 256 = 0 - lchan.rqd_ta (after) = 15 + lchan.ta_ctrl.current (after) = 15 toa256 (after) = 160 / 256 = 0 Step #37 - lchan.rqd_ta (before) = 15 + lchan.ta_ctrl.current (before) = 15 toa256 (before) = 160 / 256 = 0 - lchan.rqd_ta (after) = 15 + lchan.ta_ctrl.current (after) = 15 toa256 (after) = 160 / 256 = 0 Step #38 - lchan.rqd_ta (before) = 15 + lchan.ta_ctrl.current (before) = 15 toa256 (before) = 160 / 256 = 0 - lchan.rqd_ta (after) = 15 + lchan.ta_ctrl.current (after) = 15 toa256 (after) = 160 / 256 = 0 Step #39 - lchan.rqd_ta (before) = 15 + lchan.ta_ctrl.current (before) = 15 toa256 (before) = 160 / 256 = 0 - lchan.rqd_ta (after) = 15 + lchan.ta_ctrl.current (after) = 15 toa256 (after) = 160 / 256 = 0 Step #40 - lchan.rqd_ta (before) = 15 + lchan.ta_ctrl.current (before) = 15 toa256 (before) = 160 / 256 = 0 - lchan.rqd_ta (after) = 15 + lchan.ta_ctrl.current (after) = 15 toa256 (after) = 160 / 256 = 0 Step #41 - lchan.rqd_ta (before) = 15 + lchan.ta_ctrl.current (before) = 15 toa256 (before) = 160 / 256 = 0 - lchan.rqd_ta (after) = 15 + lchan.ta_ctrl.current (after) = 15 toa256 (after) = 160 / 256 = 0 Step #42 - lchan.rqd_ta (before) = 15 + lchan.ta_ctrl.current (before) = 15 toa256 (before) = 160 / 256 = 0 - lchan.rqd_ta (after) = 15 + lchan.ta_ctrl.current (after) = 15 toa256 (after) = 160 / 256 = 0 Step #43 - lchan.rqd_ta (before) = 15 + lchan.ta_ctrl.current (before) = 15 toa256 (before) = 160 / 256 = 0 - lchan.rqd_ta (after) = 15 + lchan.ta_ctrl.current (after) = 15 toa256 (after) = 160 / 256 = 0 Step #44 - lchan.rqd_ta (before) = 15 + lchan.ta_ctrl.current (before) = 15 toa256 (before) = 160 / 256 = 0 - lchan.rqd_ta (after) = 15 + lchan.ta_ctrl.current (after) = 15 toa256 (after) = 160 / 256 = 0 Step #45 - lchan.rqd_ta (before) = 15 + lchan.ta_ctrl.current (before) = 15 toa256 (before) = 160 / 256 = 0 - lchan.rqd_ta (after) = 15 + lchan.ta_ctrl.current (after) = 15 toa256 (after) = 160 / 256 = 0 Step #46 - lchan.rqd_ta (before) = 15 + lchan.ta_ctrl.current (before) = 15 toa256 (before) = 160 / 256 = 0 - lchan.rqd_ta (after) = 15 + lchan.ta_ctrl.current (after) = 15 toa256 (after) = 160 / 256 = 0 Step #47 - lchan.rqd_ta (before) = 15 + lchan.ta_ctrl.current (before) = 15 toa256 (before) = 160 / 256 = 0 - lchan.rqd_ta (after) = 15 + lchan.ta_ctrl.current (after) = 15 toa256 (after) = 160 / 256 = 0 Step #48 - lchan.rqd_ta (before) = 15 + lchan.ta_ctrl.current (before) = 15 toa256 (before) = 160 / 256 = 0 - lchan.rqd_ta (after) = 15 + lchan.ta_ctrl.current (after) = 15 toa256 (after) = 160 / 256 = 0 Step #49 - lchan.rqd_ta (before) = 15 + lchan.ta_ctrl.current (before) = 15 toa256 (before) = 160 / 256 = 0 - lchan.rqd_ta (after) = 15 + lchan.ta_ctrl.current (after) = 15 toa256 (after) = 160 / 256 = 0 Done. toa256_start = 12345 / 256 = 48, steps = 50 Step #0 - lchan.rqd_ta (before) = 0 + lchan.ta_ctrl.current (before) = 0 toa256 (before) = 12345 / 256 = 48 - lchan.rqd_ta (after) = 2 + lchan.ta_ctrl.current (after) = 2 toa256 (after) = 11833 / 256 = 46 Step #1 - lchan.rqd_ta (before) = 2 + lchan.ta_ctrl.current (before) = 2 toa256 (before) = 11833 / 256 = 46 - lchan.rqd_ta (after) = 4 + lchan.ta_ctrl.current (after) = 4 toa256 (after) = 11321 / 256 = 44 Step #2 - lchan.rqd_ta (before) = 4 + lchan.ta_ctrl.current (before) = 4 toa256 (before) = 11321 / 256 = 44 - lchan.rqd_ta (after) = 6 + lchan.ta_ctrl.current (after) = 6 toa256 (after) = 10809 / 256 = 42 Step #3 - lchan.rqd_ta (before) = 6 + lchan.ta_ctrl.current (before) = 6 toa256 (before) = 10809 / 256 = 42 - lchan.rqd_ta (after) = 8 + lchan.ta_ctrl.current (after) = 8 toa256 (after) = 10297 / 256 = 40 Step #4 - lchan.rqd_ta (before) = 8 + lchan.ta_ctrl.current (before) = 8 toa256 (before) = 10297 / 256 = 40 - lchan.rqd_ta (after) = 10 + lchan.ta_ctrl.current (after) = 10 toa256 (after) = 9785 / 256 = 38 Step #5 - lchan.rqd_ta (before) = 10 + lchan.ta_ctrl.current (before) = 10 toa256 (before) = 9785 / 256 = 38 - lchan.rqd_ta (after) = 12 + lchan.ta_ctrl.current (after) = 12 toa256 (after) = 9273 / 256 = 36 Step #6 - lchan.rqd_ta (before) = 12 + lchan.ta_ctrl.current (before) = 12 toa256 (before) = 9273 / 256 = 36 - lchan.rqd_ta (after) = 14 + lchan.ta_ctrl.current (after) = 14 toa256 (after) = 8761 / 256 = 34 Step #7 - lchan.rqd_ta (before) = 14 + lchan.ta_ctrl.current (before) = 14 toa256 (before) = 8761 / 256 = 34 - lchan.rqd_ta (after) = 16 + lchan.ta_ctrl.current (after) = 16 toa256 (after) = 8249 / 256 = 32 Step #8 - lchan.rqd_ta (before) = 16 + lchan.ta_ctrl.current (before) = 16 toa256 (before) = 8249 / 256 = 32 - lchan.rqd_ta (after) = 18 + lchan.ta_ctrl.current (after) = 18 toa256 (after) = 7737 / 256 = 30 Step #9 - lchan.rqd_ta (before) = 18 + lchan.ta_ctrl.current (before) = 18 toa256 (before) = 7737 / 256 = 30 - lchan.rqd_ta (after) = 20 + lchan.ta_ctrl.current (after) = 20 toa256 (after) = 7225 / 256 = 28 Step #10 - lchan.rqd_ta (before) = 20 + lchan.ta_ctrl.current (before) = 20 toa256 (before) = 7225 / 256 = 28 - lchan.rqd_ta (after) = 22 + lchan.ta_ctrl.current (after) = 22 toa256 (after) = 6713 / 256 = 26 Step #11 - lchan.rqd_ta (before) = 22 + lchan.ta_ctrl.current (before) = 22 toa256 (before) = 6713 / 256 = 26 - lchan.rqd_ta (after) = 24 + lchan.ta_ctrl.current (after) = 24 toa256 (after) = 6201 / 256 = 24 Step #12 - lchan.rqd_ta (before) = 24 + lchan.ta_ctrl.current (before) = 24 toa256 (before) = 6201 / 256 = 24 - lchan.rqd_ta (after) = 26 + lchan.ta_ctrl.current (after) = 26 toa256 (after) = 5689 / 256 = 22 Step #13 - lchan.rqd_ta (before) = 26 + lchan.ta_ctrl.current (before) = 26 toa256 (before) = 5689 / 256 = 22 - lchan.rqd_ta (after) = 28 + lchan.ta_ctrl.current (after) = 28 toa256 (after) = 5177 / 256 = 20 Step #14 - lchan.rqd_ta (before) = 28 + lchan.ta_ctrl.current (before) = 28 toa256 (before) = 5177 / 256 = 20 - lchan.rqd_ta (after) = 30 + lchan.ta_ctrl.current (after) = 30 toa256 (after) = 4665 / 256 = 18 Step #15 - lchan.rqd_ta (before) = 30 + lchan.ta_ctrl.current (before) = 30 toa256 (before) = 4665 / 256 = 18 - lchan.rqd_ta (after) = 32 + lchan.ta_ctrl.current (after) = 32 toa256 (after) = 4153 / 256 = 16 Step #16 - lchan.rqd_ta (before) = 32 + lchan.ta_ctrl.current (before) = 32 toa256 (before) = 4153 / 256 = 16 - lchan.rqd_ta (after) = 34 + lchan.ta_ctrl.current (after) = 34 toa256 (after) = 3641 / 256 = 14 Step #17 - lchan.rqd_ta (before) = 34 + lchan.ta_ctrl.current (before) = 34 toa256 (before) = 3641 / 256 = 14 - lchan.rqd_ta (after) = 36 + lchan.ta_ctrl.current (after) = 36 toa256 (after) = 3129 / 256 = 12 Step #18 - lchan.rqd_ta (before) = 36 + lchan.ta_ctrl.current (before) = 36 toa256 (before) = 3129 / 256 = 12 - lchan.rqd_ta (after) = 38 + lchan.ta_ctrl.current (after) = 38 toa256 (after) = 2617 / 256 = 10 Step #19 - lchan.rqd_ta (before) = 38 + lchan.ta_ctrl.current (before) = 38 toa256 (before) = 2617 / 256 = 10 - lchan.rqd_ta (after) = 40 + lchan.ta_ctrl.current (after) = 40 toa256 (after) = 2105 / 256 = 8 Step #20 - lchan.rqd_ta (before) = 40 + lchan.ta_ctrl.current (before) = 40 toa256 (before) = 2105 / 256 = 8 - lchan.rqd_ta (after) = 42 + lchan.ta_ctrl.current (after) = 42 toa256 (after) = 1593 / 256 = 6 Step #21 - lchan.rqd_ta (before) = 42 + lchan.ta_ctrl.current (before) = 42 toa256 (before) = 1593 / 256 = 6 - lchan.rqd_ta (after) = 44 + lchan.ta_ctrl.current (after) = 44 toa256 (after) = 1081 / 256 = 4 Step #22 - lchan.rqd_ta (before) = 44 + lchan.ta_ctrl.current (before) = 44 toa256 (before) = 1081 / 256 = 4 - lchan.rqd_ta (after) = 46 + lchan.ta_ctrl.current (after) = 46 toa256 (after) = 569 / 256 = 2 Step #23 - lchan.rqd_ta (before) = 46 + lchan.ta_ctrl.current (before) = 46 toa256 (before) = 569 / 256 = 2 - lchan.rqd_ta (after) = 48 + lchan.ta_ctrl.current (after) = 48 toa256 (after) = 57 / 256 = 0 Step #24 - lchan.rqd_ta (before) = 48 + lchan.ta_ctrl.current (before) = 48 toa256 (before) = 57 / 256 = 0 - lchan.rqd_ta (after) = 48 + lchan.ta_ctrl.current (after) = 48 toa256 (after) = 57 / 256 = 0 Step #25 - lchan.rqd_ta (before) = 48 + lchan.ta_ctrl.current (before) = 48 toa256 (before) = 57 / 256 = 0 - lchan.rqd_ta (after) = 48 + lchan.ta_ctrl.current (after) = 48 toa256 (after) = 57 / 256 = 0 Step #26 - lchan.rqd_ta (before) = 48 + lchan.ta_ctrl.current (before) = 48 toa256 (before) = 57 / 256 = 0 - lchan.rqd_ta (after) = 48 + lchan.ta_ctrl.current (after) = 48 toa256 (after) = 57 / 256 = 0 Step #27 - lchan.rqd_ta (before) = 48 + lchan.ta_ctrl.current (before) = 48 toa256 (before) = 57 / 256 = 0 - lchan.rqd_ta (after) = 48 + lchan.ta_ctrl.current (after) = 48 toa256 (after) = 57 / 256 = 0 Step #28 - lchan.rqd_ta (before) = 48 + lchan.ta_ctrl.current (before) = 48 toa256 (before) = 57 / 256 = 0 - lchan.rqd_ta (after) = 48 + lchan.ta_ctrl.current (after) = 48 toa256 (after) = 57 / 256 = 0 Step #29 - lchan.rqd_ta (before) = 48 + lchan.ta_ctrl.current (before) = 48 toa256 (before) = 57 / 256 = 0 - lchan.rqd_ta (after) = 48 + lchan.ta_ctrl.current (after) = 48 toa256 (after) = 57 / 256 = 0 Step #30 - lchan.rqd_ta (before) = 48 + lchan.ta_ctrl.current (before) = 48 toa256 (before) = 57 / 256 = 0 - lchan.rqd_ta (after) = 48 + lchan.ta_ctrl.current (after) = 48 toa256 (after) = 57 / 256 = 0 Step #31 - lchan.rqd_ta (before) = 48 + lchan.ta_ctrl.current (before) = 48 toa256 (before) = 57 / 256 = 0 - lchan.rqd_ta (after) = 48 + lchan.ta_ctrl.current (after) = 48 toa256 (after) = 57 / 256 = 0 Step #32 - lchan.rqd_ta (before) = 48 + lchan.ta_ctrl.current (before) = 48 toa256 (before) = 57 / 256 = 0 - lchan.rqd_ta (after) = 48 + lchan.ta_ctrl.current (after) = 48 toa256 (after) = 57 / 256 = 0 Step #33 - lchan.rqd_ta (before) = 48 + lchan.ta_ctrl.current (before) = 48 toa256 (before) = 57 / 256 = 0 - lchan.rqd_ta (after) = 48 + lchan.ta_ctrl.current (after) = 48 toa256 (after) = 57 / 256 = 0 Step #34 - lchan.rqd_ta (before) = 48 + lchan.ta_ctrl.current (before) = 48 toa256 (before) = 57 / 256 = 0 - lchan.rqd_ta (after) = 48 + lchan.ta_ctrl.current (after) = 48 toa256 (after) = 57 / 256 = 0 Step #35 - lchan.rqd_ta (before) = 48 + lchan.ta_ctrl.current (before) = 48 toa256 (before) = 57 / 256 = 0 - lchan.rqd_ta (after) = 48 + lchan.ta_ctrl.current (after) = 48 toa256 (after) = 57 / 256 = 0 Step #36 - lchan.rqd_ta (before) = 48 + lchan.ta_ctrl.current (before) = 48 toa256 (before) = 57 / 256 = 0 - lchan.rqd_ta (after) = 48 + lchan.ta_ctrl.current (after) = 48 toa256 (after) = 57 / 256 = 0 Step #37 - lchan.rqd_ta (before) = 48 + lchan.ta_ctrl.current (before) = 48 toa256 (before) = 57 / 256 = 0 - lchan.rqd_ta (after) = 48 + lchan.ta_ctrl.current (after) = 48 toa256 (after) = 57 / 256 = 0 Step #38 - lchan.rqd_ta (before) = 48 + lchan.ta_ctrl.current (before) = 48 toa256 (before) = 57 / 256 = 0 - lchan.rqd_ta (after) = 48 + lchan.ta_ctrl.current (after) = 48 toa256 (after) = 57 / 256 = 0 Step #39 - lchan.rqd_ta (before) = 48 + lchan.ta_ctrl.current (before) = 48 toa256 (before) = 57 / 256 = 0 - lchan.rqd_ta (after) = 48 + lchan.ta_ctrl.current (after) = 48 toa256 (after) = 57 / 256 = 0 Step #40 - lchan.rqd_ta (before) = 48 + lchan.ta_ctrl.current (before) = 48 toa256 (before) = 57 / 256 = 0 - lchan.rqd_ta (after) = 48 + lchan.ta_ctrl.current (after) = 48 toa256 (after) = 57 / 256 = 0 Step #41 - lchan.rqd_ta (before) = 48 + lchan.ta_ctrl.current (before) = 48 toa256 (before) = 57 / 256 = 0 - lchan.rqd_ta (after) = 48 + lchan.ta_ctrl.current (after) = 48 toa256 (after) = 57 / 256 = 0 Step #42 - lchan.rqd_ta (before) = 48 + lchan.ta_ctrl.current (before) = 48 toa256 (before) = 57 / 256 = 0 - lchan.rqd_ta (after) = 48 + lchan.ta_ctrl.current (after) = 48 toa256 (after) = 57 / 256 = 0 Step #43 - lchan.rqd_ta (before) = 48 + lchan.ta_ctrl.current (before) = 48 toa256 (before) = 57 / 256 = 0 - lchan.rqd_ta (after) = 48 + lchan.ta_ctrl.current (after) = 48 toa256 (after) = 57 / 256 = 0 Step #44 - lchan.rqd_ta (before) = 48 + lchan.ta_ctrl.current (before) = 48 toa256 (before) = 57 / 256 = 0 - lchan.rqd_ta (after) = 48 + lchan.ta_ctrl.current (after) = 48 toa256 (after) = 57 / 256 = 0 Step #45 - lchan.rqd_ta (before) = 48 + lchan.ta_ctrl.current (before) = 48 toa256 (before) = 57 / 256 = 0 - lchan.rqd_ta (after) = 48 + lchan.ta_ctrl.current (after) = 48 toa256 (after) = 57 / 256 = 0 Step #46 - lchan.rqd_ta (before) = 48 + lchan.ta_ctrl.current (before) = 48 toa256 (before) = 57 / 256 = 0 - lchan.rqd_ta (after) = 48 + lchan.ta_ctrl.current (after) = 48 toa256 (after) = 57 / 256 = 0 Step #47 - lchan.rqd_ta (before) = 48 + lchan.ta_ctrl.current (before) = 48 toa256 (before) = 57 / 256 = 0 - lchan.rqd_ta (after) = 48 + lchan.ta_ctrl.current (after) = 48 toa256 (after) = 57 / 256 = 0 Step #48 - lchan.rqd_ta (before) = 48 + lchan.ta_ctrl.current (before) = 48 toa256 (before) = 57 / 256 = 0 - lchan.rqd_ta (after) = 48 + lchan.ta_ctrl.current (after) = 48 toa256 (after) = 57 / 256 = 0 Step #49 - lchan.rqd_ta (before) = 48 + lchan.ta_ctrl.current (before) = 48 toa256 (before) = 57 / 256 = 0 - lchan.rqd_ta (after) = 48 + lchan.ta_ctrl.current (after) = 48 toa256 (after) = 57 / 256 = 0 Done. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25435 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I169ce58ab827e38b64f4b15f935097a9118fa118 Gerrit-Change-Number: 25435 Gerrit-PatchSet: 1 Gerrit-Owner: pespin <pespin at sysmocom.de> Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20210909/54ce0366/attachment.htm>