provide follow features implementation:
[o-du/phy.git] / fhi_lib / lib / src / xran_frame_struct.h
index c8794b6..e53ea26 100644 (file)
@@ -1,83 +1,84 @@
-/******************************************************************************
-*
-*   Copyright (c) 2019 Intel.
-*
-*   Licensed under the Apache License, Version 2.0 (the "License");
-*   you may not use this file except in compliance with the License.
-*   You may obtain a copy of the License at
-*
-*       http://www.apache.org/licenses/LICENSE-2.0
-*
-*   Unless required by applicable law or agreed to in writing, software
-*   distributed under the License is distributed on an "AS IS" BASIS,
-*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-*   See the License for the specific language governing permissions and
-*   limitations under the License.
-*
-*******************************************************************************/
-
-
-/**
- * @brief Header file for function to work with 5G NR frame structure and related
- *        routines
- * @file xran_frame_struct.h
- * @ingroup group_source_xran
- * @author Intel Corporation
- **/
-
-#ifndef _XRAN_FRAME_STRUCT_
-#define _XRAN_FRAME_STRUCT_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-#include "xran_fh_o_du.h"
-
-uint32_t xran_fs_get_tti_interval(uint8_t nMu);
-uint32_t xran_fs_get_scs(uint8_t nMu);
-
-//-------------------------------------------------------------------------------------------
-/** @ingroup group_nr5g_source_phy_common
- *
- *  @param[in]   nNumerology - Numerology determine sub carrier spacing, Value: 0->4 0: 15khz,  1: 30khz,  2: 60khz 3: 120khz, 4: 240khz
- *  @param[in]   nBandwidth - Carrier bandwidth for in MHz. Value: 5->400
- *  @param[in]   nAbsFrePointA - Abs Freq Point A of the Carrier Center Frequency for in KHz Value: 450000->52600000
- *
- *  @return  Number of RBs in cell
- *
- *  @description
- *  Returns number of RBs based on 38.101-1 and 38.101-2 for the cell
- *
-**/
-//-------------------------------------------------------------------------------------------
-uint16_t xran_fs_get_num_rbs(uint32_t nNumerology, uint32_t nBandwidth, uint32_t nAbsFrePointA);
-
-//-------------------------------------------------------------------------------------------
-/** @ingroup phy_cal_nrarfcn
- *
- *  @param[in]   center frequency
- *
- *  @return  NR-ARFCN
- *
- *  @description
- *  This calculates NR-ARFCN value according to center frequency
- *
-**/
-//-------------------------------------------------------------------------------------------
-uint32_t xran_fs_cal_nrarfcn(uint32_t nCenterFreq);
-int32_t xran_fs_slot_limit(int32_t nSlotIdx);
-void xran_fs_clear_slot_type(uint32_t nCcId);
-int32_t xran_fs_set_slot_type(uint32_t nCcId, uint32_t nFrameDuplexType, uint32_t nTddPeriod, struct xran_slot_config* psSlotConfig);
-int32_t xran_fs_get_slot_type(int32_t nCcId, int32_t nSlotIdx, int32_t nType);
-uint32_t xran_fs_slot_limit_init(int32_t tti_interval_us);
-uint32_t xran_fs_get_max_slot(void);
-int32_t xran_fs_get_symbol_type(int32_t nCellIdx, int32_t nSlotdx,  int32_t nSymbIdx);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _XRAN_FRAME_STRUCT_ */
-
+/******************************************************************************\r
+*\r
+*   Copyright (c) 2019 Intel.\r
+*\r
+*   Licensed under the Apache License, Version 2.0 (the "License");\r
+*   you may not use this file except in compliance with the License.\r
+*   You may obtain a copy of the License at\r
+*\r
+*       http://www.apache.org/licenses/LICENSE-2.0\r
+*\r
+*   Unless required by applicable law or agreed to in writing, software\r
+*   distributed under the License is distributed on an "AS IS" BASIS,\r
+*   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+*   See the License for the specific language governing permissions and\r
+*   limitations under the License.\r
+*\r
+*******************************************************************************/\r
+\r
+\r
+/**\r
+ * @brief Header file for function to work with 5G NR frame structure and related\r
+ *        routines\r
+ * @file xran_frame_struct.h\r
+ * @ingroup group_source_xran\r
+ * @author Intel Corporation\r
+ **/\r
+\r
+#ifndef _XRAN_FRAME_STRUCT_\r
+#define _XRAN_FRAME_STRUCT_\r
+\r
+#ifdef __cplusplus\r
+extern "C" {\r
+#endif\r
+\r
+\r
+#include "xran_fh_o_du.h"\r
+\r
+uint32_t xran_fs_get_tti_interval(uint8_t nMu);\r
+uint32_t xran_fs_get_scs(uint8_t nMu);\r
+\r
+//-------------------------------------------------------------------------------------------\r
+/** @ingroup group_nr5g_source_phy_common\r
+ *\r
+ *  @param[in]   nNumerology - Numerology determine sub carrier spacing, Value: 0->4 0: 15khz,  1: 30khz,  2: 60khz 3: 120khz, 4: 240khz\r
+ *  @param[in]   nBandwidth - Carrier bandwidth for in MHz. Value: 5->400\r
+ *  @param[in]   nAbsFrePointA - Abs Freq Point A of the Carrier Center Frequency for in KHz Value: 450000->52600000\r
+ *\r
+ *  @return  Number of RBs in cell\r
+ *\r
+ *  @description\r
+ *  Returns number of RBs based on 38.101-1 and 38.101-2 for the cell\r
+ *\r
+**/\r
+//-------------------------------------------------------------------------------------------\r
+uint16_t xran_fs_get_num_rbs(uint32_t nNumerology, uint32_t nBandwidth, uint32_t nAbsFrePointA);\r
+\r
+//-------------------------------------------------------------------------------------------\r
+/** @ingroup phy_cal_nrarfcn\r
+ *\r
+ *  @param[in]   center frequency\r
+ *\r
+ *  @return  NR-ARFCN\r
+ *\r
+ *  @description\r
+ *  This calculates NR-ARFCN value according to center frequency\r
+ *\r
+**/\r
+//-------------------------------------------------------------------------------------------\r
+uint32_t xran_fs_cal_nrarfcn(uint32_t nCenterFreq);\r
+int32_t xran_fs_slot_limit(int32_t nSlotIdx);\r
+void xran_fs_clear_slot_type(uint32_t nCcId);\r
+int32_t xran_fs_set_slot_type(uint32_t nCcId, uint32_t nFrameDuplexType, uint32_t nTddPeriod, struct xran_slot_config* psSlotConfig);\r
+int32_t xran_fs_get_slot_type(int32_t nCcId, int32_t nSlotIdx, int32_t nType);\r
+uint32_t xran_fs_slot_limit_init(int32_t tti_interval_us);\r
+uint32_t xran_fs_get_max_slot(void);\r
+uint32_t xran_fs_get_max_slot_SFN(void);\r
+int32_t xran_fs_get_symbol_type(int32_t nCellIdx, int32_t nSlotdx,  int32_t nSymbIdx);\r
+\r
+#ifdef __cplusplus\r
+}\r
+#endif\r
+\r
+#endif /* _XRAN_FRAME_STRUCT_ */\r
+\r