* its corresponding values used in DU and vice-versa */
#include "common_def.h"
-#include "SN-FieldLengthUM.h"
-#include "SN-FieldLengthAM.h"
-#include "T-PollRetransmit.h"
-#include "PollPDU.h"
-#include "PollByte.h"
-#include "UL-AM-RLC.h"
-#include "T-Reassembly.h"
-#include "T-StatusProhibit.h"
-#include "DL-AM-RLC.h"
-#include "RLC-Config.h"
-#include "RLC-BearerConfig.h"
#include "BSR-Config.h"
-#include "PUCCH-Resource.h"
-#include "du_app_rlc_inf.h"
+#include "du_f1ap_conversions.h"
/************************************************************************
*
return PUCCH_Resource__format_PR_NOTHING;
}
+/************************************************************************
+ *
+ * @brief Converts BSR Periodic timer value to its ASN enum value
+ *
+ * @details
+ *
+ * Function : convertBsrPeriodicTmrValueToEnum
+ *
+ * Functionality: Converts BSR Periodic timer timer value to its ASN enum value
+ *
+ * @params[in] BSR Periodic timer value
+ * @return BSR Periodic timer ASN enum
+ *
+ * **********************************************************************/
+long convertBsrPeriodicTmrValueToEnum(int16_t periodicTmr)
+{
+ switch(periodicTmr)
+ {
+ case 1:
+ return BSR_Config__periodicBSR_Timer_sf1;
+ case 5:
+ return BSR_Config__periodicBSR_Timer_sf5;
+ case 10:
+ return BSR_Config__periodicBSR_Timer_sf10;
+ case 16:
+ return BSR_Config__periodicBSR_Timer_sf16;
+ case 20:
+ return BSR_Config__periodicBSR_Timer_sf20;
+ case 32:
+ return BSR_Config__periodicBSR_Timer_sf32;
+ case 40:
+ return BSR_Config__periodicBSR_Timer_sf40;
+ case 64:
+ return BSR_Config__periodicBSR_Timer_sf64;
+ case 80:
+ return BSR_Config__periodicBSR_Timer_sf80;
+ case 128:
+ return BSR_Config__periodicBSR_Timer_sf128;
+ case 320:
+ return BSR_Config__periodicBSR_Timer_sf320;
+ case 640:
+ return BSR_Config__periodicBSR_Timer_sf640;
+ case 1280:
+ return BSR_Config__periodicBSR_Timer_sf1280;
+ case 2560:
+ return BSR_Config__periodicBSR_Timer_sf2560;
+ case -1:
+ return BSR_Config__periodicBSR_Timer_infinity;
+ default:
+ return BSR_Config__periodicBSR_Timer_sf10;
+ }
+}
+
+/************************************************************************
+ *
+ * @brief Converts BSR Retransmission timer value to its ASN enum value
+ *
+ * @details
+ *
+ * Function : convertBsrRetxTmrValueToEnum
+ *
+ * Functionality: Converts BSR Retransmission timer timer value to its ASN enum value
+ *
+ * @params[in] BSR Retransmission timer value
+ * @return BSR Restransmission timer ASN enum
+ *
+ * **********************************************************************/
+long convertBsrRetxTmrValueToEnum(uint16_t retxTmr)
+{
+ switch(retxTmr)
+ {
+ case 10:
+ return BSR_Config__retxBSR_Timer_sf10;
+ case 20:
+ return BSR_Config__retxBSR_Timer_sf20;
+ case 40:
+ return BSR_Config__retxBSR_Timer_sf40;
+ case 80:
+ return BSR_Config__retxBSR_Timer_sf80;
+ case 160:
+ return BSR_Config__retxBSR_Timer_sf160;
+ case 320:
+ return BSR_Config__retxBSR_Timer_sf320;
+ case 640:
+ return BSR_Config__retxBSR_Timer_sf640;
+ case 1280:
+ return BSR_Config__retxBSR_Timer_sf1280;
+ case 2560:
+ return BSR_Config__retxBSR_Timer_sf2560;
+ case 5120:
+ return BSR_Config__retxBSR_Timer_sf5120;
+ case 10240:
+ return BSR_Config__retxBSR_Timer_sf10240;
+ default:
+ return BSR_Config__retxBSR_Timer_sf320;
+ }
+}
+
/************************************************************************
*
* @brief Converts LC SR Delay timer value to its ASN enum value
}
}
+/************************************************************************
+ *
+ * @brief Converts actual values into enum value of Paging DRX cycle
+ *
+ * @details
+ *
+ * Function : convertPagingCycleValueToEnum
+ *
+ * Functionality: As per Spec 38.331,
+ * Converts Actual values into enum value of Paging DRX cycle
+ *
+ *
+ * @params[in] Actual value of PagingDRX
+ * @return Enum value of DRX cycle
+ *
+ * **********************************************************************/
+e_PagingDRX convertPagingCycleValueToEnum(uint16_t pagingDrxCycle)
+{
+ switch(pagingDrxCycle)
+ {
+ case 32:
+ return PagingDRX_v32;
+ case 64:
+ return PagingDRX_v64;
+ case 128:
+ return PagingDRX_v128;
+ case 256:
+ return PagingDRX_v256;
+ default:
+ return PagingDRX_v32;
+ }
+}
+
+/************************************************************************
+ *
+ * @brief Converts enum values into actual value of Paging DRX cycle
+ *
+ * @details
+ *
+ * Function : convertPagingCycleEnumToValue
+ *
+ * Functionality: As per Spec 38.331,
+ * Converts enum values into actual value of Paging DRX cycle
+ *
+ *
+ * @params[in] Enum value of PagingDRX
+ * @return Actual value of DRX cycle
+ * Note: Returning the MAX value in case of Incorrect Enum Value as DRX
+ * cycle is MIN of Various DRX cycles(Mentioned in Spec38.304)
+ *
+ * **********************************************************************/
+uint16_t convertPagingCycleEnumToValue(e_PagingDRX pagingDrx)
+{
+ switch(pagingDrx)
+ {
+ case PagingDRX_v32:
+ return 32;
+ case PagingDRX_v64:
+ return 64;
+ case PagingDRX_v128:
+ return 128;
+ case PagingDRX_v256:
+ return 256;
+ default:
+ return 256;
+ }
+}
+/************************************************************************
+ *
+ * @brief Converts enum values into actual value of Num of Paging Ocassions
+ *
+ * @details
+ *
+ * Function : convertPagingOccEnumToValue
+ *
+ * Functionality: As per Spec 38.331,
+ * Converts enum values into actual value of Num of Paging Ocassion
+ *
+ *
+ * @params[in] Enum value of Ns
+ * @return Actual value of Num of Paging Ocassions
+ *
+ * **********************************************************************/
+uint8_t convertNsEnumToValue(e_PCCH_Config__ns Ns)
+{
+ switch(Ns)
+ {
+ case PCCH_Config__ns_four:
+ return 4;
+ case PCCH_Config__ns_two:
+ return 2;
+ case PCCH_Config__ns_one:
+ return 1;
+ default:
+ return 1;
+ }
+}
+
+/************************************************************************
+ *
+ * @brief Converts actual values into enum value of Num of Paging Ocassions
+ *
+ * @details
+ *
+ * Function : convertNsValueToEnum
+ *
+ * Functionality: As per Spec 38.331,
+ * Converts actual values into enum value of Num of Paging Ocassions
+ *
+ *
+ * @params[in] Actual value of Num of Paging Ocassions
+ * @return Enum value of Ns
+ *
+ * **********************************************************************/
+e_PCCH_Config__ns convertNsValueToEnum(uint8_t numPO)
+{
+ switch(numPO)
+ {
+ case 1:
+ return PCCH_Config__ns_one;
+ case 2:
+ return PCCH_Config__ns_two;
+ case 4:
+ return PCCH_Config__ns_four;
+ default:
+ return PCCH_Config__ns_one;
+ }
+}
+
+/************************************************************************
+ *
+ * @brief Converts actual values into enum value of SSB Periodicity in SIB
+ *
+ * @details
+ *
+ * Function : convertSsbPeriodicityValueToEnumForSib
+ *
+ * Functionality:
+ * Converts actual values into enum value of SSB Periodicity in SIB
+ *
+ *
+ * @params[in] Actual value of SSB Periodicity
+ * @return Enum value of SSB Periodicity
+ *
+ * **********************************************************************/
+e_ServingCellConfigCommonSIB__ssb_PeriodicityServingCell convertSsbPeriodicityValueToEnumForSib(uint16_t ssbPeriodicity)
+{
+ switch(ssbPeriodicity)
+ {
+ case 5:
+ return ServingCellConfigCommonSIB__ssb_PeriodicityServingCell_ms5;
+ case 10:
+ return ServingCellConfigCommonSIB__ssb_PeriodicityServingCell_ms10;
+ case 20:
+ return ServingCellConfigCommonSIB__ssb_PeriodicityServingCell_ms20;
+ case 40:
+ return ServingCellConfigCommonSIB__ssb_PeriodicityServingCell_ms40;
+ case 80:
+ return ServingCellConfigCommonSIB__ssb_PeriodicityServingCell_ms80;
+ case 160:
+ return ServingCellConfigCommonSIB__ssb_PeriodicityServingCell_ms160;
+ default:
+ return ServingCellConfigCommonSIB__ssb_PeriodicityServingCell_ms20;
+ }
+}
+
+/************************************************************************
+ *
+ * @brief Converts actual values into enum value of SSB Periodicity
+ *
+ * @details
+ *
+ * Function : convertSsbPeriodicityValueToEnum
+ *
+ * Functionality:
+ * Converts actual values into enum value of SSB Periodicity
+ *
+ *
+ * @params[in] Actual value of SSB Periodicity
+ * @return Enum value of SSB Periodicity
+ *
+ * **********************************************************************/
+e_ServingCellConfigCommon__ssb_periodicityServingCell convertSsbPeriodicityValueToEnum(uint16_t ssbPeriodicity)
+{
+ switch(ssbPeriodicity)
+ {
+ case 5:
+ return ServingCellConfigCommon__ssb_periodicityServingCell_ms5;
+ case 10:
+ return ServingCellConfigCommon__ssb_periodicityServingCell_ms10;
+ case 20:
+ return ServingCellConfigCommon__ssb_periodicityServingCell_ms20;
+ case 40:
+ return ServingCellConfigCommon__ssb_periodicityServingCell_ms40;
+ case 80:
+ return ServingCellConfigCommon__ssb_periodicityServingCell_ms80;
+ case 160:
+ return ServingCellConfigCommon__ssb_periodicityServingCell_ms160;
+ default:
+ return ServingCellConfigCommon__ssb_periodicityServingCell_ms20;
+ }
+}
+
+/************************************************************************
+ *
+ * @brief Converts actual values into enum value of SSB per RACH occassion
+ * for CFRA
+ *
+ * @details
+ *
+ * Function : convertCFRASsbPerRachOccasionValueToEnum
+ *
+ * Functionality:
+ * Converts actual values into enum value of SSB occasion per RACH
+ * occassion for CFRA
+ *
+ * @params[in] Actual value of SSB Occasion per RACH
+ * @return Enum value
+ *
+ * **********************************************************************/
+e_CFRA__occasions__ssb_perRACH_Occasion convertCFRASsbPerRachOccasionValueToEnum(uint8_t ssbOccPerRach)
+{
+ switch(ssbOccPerRach)
+ {
+ case 1:
+ return CFRA__occasions__ssb_perRACH_Occasion_one;
+ case 2:
+ return CFRA__occasions__ssb_perRACH_Occasion_two;
+ case 4:
+ return CFRA__occasions__ssb_perRACH_Occasion_four;
+ case 8:
+ return CFRA__occasions__ssb_perRACH_Occasion_eight;
+ case 16:
+ return CFRA__occasions__ssb_perRACH_Occasion_sixteen;
+ default:
+ return CFRA__occasions__ssb_perRACH_Occasion_one;
+ }
+}
+
+/************************************************************************
+ *
+ * @brief Converts actual values into enum value of CB Preamble per SSB
+ * for one SSB per RACH occassion
+ *
+ * @details
+ *
+ * Function : convertCbPreamblePerSsbValueToEnum
+ *
+ * Functionality:
+ * Converts actual values into enum value of CB Preamble per
+ * SSB for one SSB per RACH occasion
+ *
+ * @params[in] Actual value of CB preambles per SSB
+ * @return Enum value
+ *
+ * **********************************************************************/
+e_RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__one convertCbPreamblePerSsbValueToEnum(uint8_t numCbPreamblePerSsb)
+{
+ switch(numCbPreamblePerSsb)
+ {
+ case 4:
+ return RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__one_n4;
+ case 8:
+ return RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__one_n8;
+ case 12:
+ return RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__one_n12;
+ case 16:
+ return RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__one_n16;
+ case 20:
+ return RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__one_n20;
+ case 24:
+ return RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__one_n24;
+ case 28:
+ return RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__one_n28;
+ case 32:
+ return RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__one_n32;
+ case 36:
+ return RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__one_n36;
+ case 40:
+ return RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__one_n40;
+ case 44:
+ return RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__one_n44;
+ case 48:
+ return RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__one_n48;
+ case 52:
+ return RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__one_n52;
+ case 56:
+ return RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__one_n56;
+ case 60:
+ return RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__one_n60;
+ case 64:
+ return RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__one_n64;
+ default:
+ return RACH_ConfigCommon__ssb_perRACH_OccasionAndCB_PreamblesPerSSB__one_n8;
+ }
+}
+
+/************************************************************************
+ *
+ * @brief Converts actual values into enum value of DMRS Type A Position
+ * for CFRA
+ *
+ * @details
+ *
+ * Function : convertDmrsTypeAPosValueToEnum
+ *
+ * Functionality:
+ * Converts actual values into enum value of DMRS Type A Position
+ *
+ * @params[in] Actual value of DMRS Type A Position
+ * @return Enum value
+ *
+ * **********************************************************************/
+e_ServingCellConfigCommon__dmrs_TypeA_Position convertDmrsTypeAPosValueToEnum(uint8_t dmrsTypeAPos)
+{
+ switch(dmrsTypeAPos)
+ {
+ case 2:
+ return ServingCellConfigCommon__dmrs_TypeA_Position_pos2;
+ case 3:
+ return ServingCellConfigCommon__dmrs_TypeA_Position_pos3;
+ default:
+ return ServingCellConfigCommon__dmrs_TypeA_Position_pos2;
+ }
+}
+
/**********************************************************************
End of file
**********************************************************************/