<p>pespin <strong>submitted</strong> this change.</p><p><a href="https://gerrit.osmocom.org/c/osmo-bts/+/25435">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  Jenkins Builder: Verified
  laforge: Looks good to me, but someone else must approve
  dexter: Looks good to me, approved

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