fixeria has submitted this change. ( 
https://gerrit.osmocom.org/c/osmo-bts/+/33651 )

 (

2 is the latest approved patch-set.
No files were changed between the latest approved patch-set and the submitted 
one.
 )Change subject: osmo-bts-trx: implement TCH/F2.4 support for CSD
......................................................................

osmo-bts-trx: implement TCH/F2.4 support for CSD

Change-Id: I31c59a78a362986b0cd1bc6650c325ee9f206519
Depends: libosmocore.git I4685376c8deb04db670684c9ebf685ad6fc989fa
Related: OS#1572
---
M src/common/bts.c
M src/osmo-bts-trx/sched_lchan_tchf.c
2 files changed, 16 insertions(+), 12 deletions(-)

Approvals:
  pespin: Looks good to me, but someone else must approve
  osmith: Looks good to me, but someone else must approve
  laforge: Looks good to me, approved
  Jenkins Builder: Verified




diff --git a/src/common/bts.c b/src/common/bts.c
index 6a07ea5..3141eef 100644
--- a/src/common/bts.c
+++ b/src/common/bts.c
@@ -869,14 +869,10 @@
                                return false; /* invalid */
                        /* fall-through */
                case RSL_CMOD_CSD_T_4k8:
-                       return true;
                case RSL_CMOD_CSD_T_2k4:
                case RSL_CMOD_CSD_T_1k2:
                case RSL_CMOD_CSD_T_600:
                case RSL_CMOD_CSD_T_1200_75:
-                       /* TODO: osmo-bts-trx does not support TCH/F2.4 */
-                       if (cm->chan_rt == RSL_CMOD_CRT_TCH_Bm)
-                               return false;
                        return true;
                default:
                        return false;
diff --git a/src/osmo-bts-trx/sched_lchan_tchf.c 
b/src/osmo-bts-trx/sched_lchan_tchf.c
index b98373e..c3e9239 100644
--- a/src/osmo-bts-trx/sched_lchan_tchf.c
+++ b/src/osmo-bts-trx/sched_lchan_tchf.c
@@ -266,16 +266,16 @@
                                             &n_errors, &n_bits_total);
                meas_avg_mode = SCHED_MEAS_AVG_M_S24N22;
                break;
-#if 0
-       /* TODO: CSD (TCH/F2.4): 3.6 kbit/s radio interface rate */
+       /* CSD (TCH/F2.4): 3.6 kbit/s radio interface rate */
        case GSM48_CMODE_DATA_3k6:
                /* TCH/F2.4 employs the same interleaving as TCH/FS (8 bursts),
                 * so FACCH/F *does* steal TCH/F2.4 frames completely. */
+               if (decode_fr_facch(l1ts, bi) == GSM_MACBLOCK_LEN)
+                       return 0; /* TODO: emit BFI */
                rc = gsm0503_tch_fr24_decode(&tch_data[0], BUFTAIL8(bursts_p),
                                             &n_errors, &n_bits_total);
                meas_avg_mode = SCHED_MEAS_AVG_M_S8N8;
                break;
-#endif
        /* CSD (TCH/F14.4): 14.5 kbit/s radio interface rate */
        case GSM48_CMODE_DATA_14k5:
                /* FACCH/F does not steal TCH/F14.4 frames, but only disturbs 
some bits */
@@ -478,9 +478,8 @@
                                len = 4 * 60;
                        break;
                case GSM48_CMODE_DATA_3k6: /* TCH/[FH]2.4 */
-                       /* FIXME: TCH/F2.4 is not supported */
                        if (br->chan == TRXC_TCHF)
-                               goto inval_mode2; /* 2 * 36 */
+                               len = 2 * 36;
                        else
                                len = 4 * 36;
                        break;
@@ -599,8 +598,7 @@
                if (msg_facch != NULL)
                        gsm0503_tch_fr_facch_encode(BUFPOS(bursts_p, 0), 
msgb_l2(msg_facch));
                break;
-#if 0
-       /* TODO: CSD (TCH/F2.4): 3.6 kbit/s radio interface rate */
+       /* CSD (TCH/F2.4): 3.6 kbit/s radio interface rate */
        case GSM48_CMODE_DATA_3k6:
                /* FACCH/F does steal a TCH/F2.4 frame completely */
                if (msg == msg_facch)
@@ -608,7 +606,6 @@
                else
                        gsm0503_tch_fr24_encode(BUFPOS(bursts_p, 0), 
msgb_l2(msg_tch));
                break;
-#endif
        /* CSD (TCH/F14.4): 14.5 kbit/s radio interface rate */
        case GSM48_CMODE_DATA_14k5:
                gsm0503_tch_fr144_encode(BUFPOS(bursts_p, 0), msgb_l2(msg_tch));

--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/33651
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: I31c59a78a362986b0cd1bc6650c325ee9f206519
Gerrit-Change-Number: 33651
Gerrit-PatchSet: 5
Gerrit-Owner: fixeria <[email protected]>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <[email protected]>
Gerrit-Reviewer: laforge <[email protected]>
Gerrit-Reviewer: osmith <[email protected]>
Gerrit-Reviewer: pespin <[email protected]>
Gerrit-MessageType: merged

Reply via email to