diff options
author | Philipp Maier <pmaier@sysmocom.de> | 2017-03-06 15:50:35 +0100 |
---|---|---|
committer | Philipp Maier <pmaier@sysmocom.de> | 2017-04-13 19:02:29 +0200 |
commit | 8e7a51d8c3d945e0cce34fc25170c98375978c7c (patch) | |
tree | 7674021ed515c26ebccf66973171a2fe066bf55d /src/osmo-bts-octphy/l1_if.c | |
parent | 416ee3ec89baa14c6d3ee632556e00521f12368c (diff) |
octphy: add CBCH support
add Support for CBCH channels in osmo-bts-octphy
Change-Id: Ic5c8363b4dd8ba78ab22bd5527c08d1162331540
Diffstat (limited to 'src/osmo-bts-octphy/l1_if.c')
-rw-r--r-- | src/osmo-bts-octphy/l1_if.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/osmo-bts-octphy/l1_if.c b/src/osmo-bts-octphy/l1_if.c index 0fc51fcc..b42fb3a7 100644 --- a/src/osmo-bts-octphy/l1_if.c +++ b/src/osmo-bts-octphy/l1_if.c @@ -43,6 +43,7 @@ #include <osmo-bts/logging.h> #include <osmo-bts/l1sap.h> #include <osmo-bts/handover.h> +#include <osmo-bts/cbch.h> #include "l1_if.h" #include "l1_oml.h" @@ -340,9 +341,11 @@ static uint8_t chan_nr_by_sapi(enum gsm_phys_chan_config pchan, cbits = 0x02 + subCh; break; case GSM_PCHAN_CCCH_SDCCH4: + case GSM_PCHAN_CCCH_SDCCH4_CBCH: cbits = 0x04 + subCh; break; case GSM_PCHAN_SDCCH8_SACCH8C: + case GSM_PCHAN_SDCCH8_SACCH8C_CBCH: cbits = 0x08 + subCh; break; default: @@ -353,9 +356,11 @@ static uint8_t chan_nr_by_sapi(enum gsm_phys_chan_config pchan, case cOCTVC1_GSM_SAPI_ENUM_SDCCH: switch (pchan) { case GSM_PCHAN_CCCH_SDCCH4: + case GSM_PCHAN_CCCH_SDCCH4_CBCH: cbits = 0x04 + subCh; break; case GSM_PCHAN_SDCCH8_SACCH8C: + case GSM_PCHAN_SDCCH8_SACCH8C_CBCH: cbits = 0x08 + subCh; break; default: @@ -918,6 +923,10 @@ static int handle_ph_readytosend_ind(struct octphy_hdl *fl1, (g_time.t1 << 7) | (g_time.t2 << 2) | (t3p >> 1); data_req->Data.abyDataContent[3] = (t3p & 1); break; + case cOCTVC1_GSM_SAPI_ENUM_CBCH: + rc = bts_cbch_get(bts, data_req->Data.abyDataContent, &g_time); + data_req->Data.ulDataLength = 23; /* GSM MAX BLK SIZE */ + break; case cOCTVC1_GSM_SAPI_ENUM_PRACH: #if 0 /* in case we decide to send an empty frame... */ @@ -1101,7 +1110,8 @@ static int handle_ph_rach_ind(struct octphy_hdl *fl1, l1sap->u.rach_ind.acc_delay = acc_delay; l1sap->u.rach_ind.fn = fn; if (!lchan || lchan->ts->pchan == GSM_PCHAN_CCCH || - lchan->ts->pchan == GSM_PCHAN_CCCH_SDCCH4) + lchan->ts->pchan == GSM_PCHAN_CCCH_SDCCH4 || + lchan->ts->pchan == GSM_PCHAN_CCCH_SDCCH4_CBCH) l1sap->u.rach_ind.chan_nr = 0x88; else l1sap->u.rach_ind.chan_nr = gsm_lchan2chan_nr(lchan); |