osmith has submitted this change. ( 
https://gerrit.osmocom.org/c/osmo-bsc/+/32369 )

Change subject: CSD: support non-transparent data rates
......................................................................

CSD: support non-transparent data rates

Implement gsm0808_data_rate_non_transp_to_gsm0408.

Related: OS#4393
Change-Id: Ib5f4bdf17a9833f65a0b623a033da838a2594d68
---
M src/osmo-bsc/data_rate_pref.c
1 file changed, 29 insertions(+), 4 deletions(-)

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




diff --git a/src/osmo-bsc/data_rate_pref.c b/src/osmo-bsc/data_rate_pref.c
index 443fea7..44a733f 100644
--- a/src/osmo-bsc/data_rate_pref.c
+++ b/src/osmo-bsc/data_rate_pref.c
@@ -72,10 +72,23 @@
        }
 }

-static int gsm0808_data_rate_non_transp_to_gsm0408(enum 
gsm0808_data_rate_non_transp rate)
+static int gsm0808_data_rate_non_transp_to_gsm0408(enum 
gsm0808_data_rate_non_transp rate, bool full_rate)
 {
-       LOGP(DMSC, LOGL_ERROR, "%s is not implemented\n", __func__); /* FIXME */
-       return -1;
+       switch (rate) {
+       case GSM0808_DATA_RATE_NON_TRANSP_12000_6000:
+               if (full_rate)
+                       return GSM48_CMODE_DATA_12k0;
+               return GSM48_CMODE_DATA_6k0;
+       case GSM0808_DATA_RATE_NON_TRANSP_14k5:
+               return GSM48_CMODE_DATA_14k5;
+       case GSM0808_DATA_RATE_NON_TRANSP_12k0:
+               return GSM48_CMODE_DATA_12k0;
+       case GSM0808_DATA_RATE_NON_TRANSP_6k0:
+               return GSM48_CMODE_DATA_6k0;
+       default:
+               LOGP(DMSC, LOGL_ERROR, "Unsupported non-transparent data rate 
0x%x\n", rate);
+               return -1;
+       }
 }

 static int gsm0808_data_rate_non_transp_to_gsm0858(enum 
gsm0808_data_rate_non_transp rate, bool full_rate)
@@ -142,7 +155,7 @@
                        return -1;
                ch_mode_rate->data_rate.nt = rc;

-               rc = gsm0808_data_rate_non_transp_to_gsm0408(ct->data_rate);
+               rc = gsm0808_data_rate_non_transp_to_gsm0408(ct->data_rate, 
full_rate);
                if (rc == -1)
                        return -1;
                ch_mode_rate->chan_mode = rc;

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

Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: Ib5f4bdf17a9833f65a0b623a033da838a2594d68
Gerrit-Change-Number: 32369
Gerrit-PatchSet: 2
Gerrit-Owner: osmith <[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