commit before merge
This commit is contained in:
+11
-1
@@ -171,6 +171,7 @@ typedef enum {
|
||||
} eNB_timing_t;
|
||||
|
||||
|
||||
|
||||
typedef struct UE_SCAN_INFO_s {
|
||||
/// 10 best amplitudes (linear) for each pss signals
|
||||
int32_t amp[3][10];
|
||||
@@ -310,10 +311,16 @@ typedef struct {
|
||||
uint8_t CC_id;
|
||||
/// Last RX timestamp
|
||||
openair0_timestamp timestamp_rx;
|
||||
/// pthread attributes for main UE thread
|
||||
pthread_attr_t attr_ue;
|
||||
/// scheduling parameters for main UE thread
|
||||
struct sched_param sched_param_ue;
|
||||
/// pthread descriptor main UE thread
|
||||
pthread_t pthread_ue;
|
||||
/// \brief Instance count for synch thread.
|
||||
/// \internal This variable is protected by \ref mutex_synch.
|
||||
int instance_cnt_synch;
|
||||
/// pthread attributes for prach processing thread
|
||||
/// pthread attributes for synch processing thread
|
||||
pthread_attr_t attr_synch;
|
||||
/// scheduling parameters for synch thread
|
||||
struct sched_param sched_param_synch;
|
||||
@@ -770,6 +777,9 @@ typedef struct {
|
||||
time_stats_t dlsch_tc_intl2_stats;
|
||||
time_stats_t tx_prach;
|
||||
|
||||
/// RF and Interface devices per CC
|
||||
openair0_device rfdevice;
|
||||
|
||||
#if ENABLE_RAL
|
||||
hash_table_t *ral_thresholds_timed;
|
||||
SLIST_HEAD(ral_thresholds_gen_poll_s, ral_threshold_phy_t) ral_thresholds_gen_polled[RAL_LINK_PARAM_GEN_MAX];
|
||||
|
||||
@@ -111,6 +111,9 @@ extern double p_qam64[8];
|
||||
extern double beta1_dlsch[6][MCS_COUNT];
|
||||
extern double beta2_dlsch[6][MCS_COUNT];
|
||||
|
||||
extern char eNB_functions[5][20];
|
||||
extern char eNB_timing[2][20];
|
||||
|
||||
|
||||
#endif /*__PHY_EXTERN_H__ */
|
||||
|
||||
|
||||
@@ -139,6 +139,9 @@ double beta2_dlsch[6][MCS_COUNT] = { {2.52163, 0.83231, 0.77472, 1.36536, 1.1682
|
||||
|
||||
*/
|
||||
|
||||
char eNB_functions[5][20]={"eNodeB_3GPP","eNodeB_3GPP_BBU","NGFI_RRU_IF5","NGFI_RRU_IF4","NGFI_RCC_IF4"};
|
||||
char eNB_timing[2][20]={"synch_to_ext_device","synch_to_other"};
|
||||
|
||||
|
||||
|
||||
#endif /*__PHY_VARS_H__ */
|
||||
|
||||
@@ -3236,99 +3236,3 @@ int phy_procedures_RN_eNB_TX(unsigned char last_slot, unsigned char next_slot, r
|
||||
return do_proc;
|
||||
}
|
||||
#endif
|
||||
/*
|
||||
void phy_procedures_eNB_lte(unsigned char subframe,PHY_VARS_eNB **eNB,uint8_t abstraction_flag,
|
||||
relaying_type_t r_type, PHY_VARS_RN *rn)
|
||||
{
|
||||
#if defined(ENABLE_ITTI)
|
||||
MessageDef *msg_p;
|
||||
const char *msg_name;
|
||||
instance_t instance;
|
||||
unsigned int Mod_id;
|
||||
int result;
|
||||
#endif
|
||||
|
||||
|
||||
int CC_id=0;
|
||||
|
||||
|
||||
VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME(VCD_SIGNAL_DUMPER_VARIABLES_FRAME_NUMBER_TX_ENB, eNB[0]->proc[subframe].frame_tx);
|
||||
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_ENB_LTE,1);
|
||||
start_meas(&eNB[0]->phy_proc);
|
||||
|
||||
#if defined(ENABLE_ITTI)
|
||||
|
||||
do {
|
||||
// Checks if a message has been sent to PHY sub-task
|
||||
itti_poll_msg (TASK_PHY_ENB, &msg_p);
|
||||
|
||||
if (msg_p != NULL) {
|
||||
msg_name = ITTI_MSG_NAME (msg_p);
|
||||
instance = ITTI_MSG_INSTANCE (msg_p);
|
||||
Mod_id = instance;
|
||||
|
||||
switch (ITTI_MSG_ID(msg_p)) {
|
||||
|
||||
// Messages from eNB app
|
||||
case PHY_CONFIGURATION_REQ:
|
||||
LOG_I(PHY, "[eNB %d] Received %s\n", instance, msg_name);
|
||||
// TODO
|
||||
|
||||
break;
|
||||
|
||||
default:
|
||||
LOG_E(PHY, "[ENB %d] Received unexpected message %s\n", Mod_id, msg_name);
|
||||
break;
|
||||
}
|
||||
|
||||
result = itti_free (ITTI_MSG_ORIGIN_ID(msg_p), msg_p);
|
||||
AssertFatal (result == EXIT_SUCCESS, "Failed to free memory (%d)!\n", result);
|
||||
}
|
||||
} while(msg_p != NULL);
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
for (CC_id=0; CC_id<MAX_NUM_CCs; CC_id++) {
|
||||
if ((((eNB[CC_id]->frame_parms.frame_type == TDD)&&
|
||||
(subframe_select(&eNB[CC_id]->frame_parms,eNB[CC_id]->proc[0].subframe_tx)==SF_DL))||
|
||||
(eNB[CC_id]->frame_parms.frame_type == FDD))) {
|
||||
#ifdef Rel10
|
||||
|
||||
if (phy_procedures_RN_eNB_TX(eNB[CC_id]->proc[0].subframe_rx, eNB[CC_id]->proc[0].subframe_tx, r_type) != 0 )
|
||||
#endif
|
||||
phy_procedures_eNB_TX(subframe,eNB[CC_id],abstraction_flag,r_type,rn);
|
||||
}
|
||||
|
||||
if ((((eNB[CC_id]->frame_parms.frame_type == TDD )&&
|
||||
(subframe_select(&eNB[CC_id]->frame_parms,eNB[CC_id]->proc[0].subframe_rx)==SF_UL)) ||
|
||||
(eNB[CC_id]->frame_parms.frame_type == FDD))) {
|
||||
phy_procedures_eNB_RX(subframe,eNB[CC_id],abstraction_flag,r_type);
|
||||
}
|
||||
|
||||
if (subframe_select(&eNB[CC_id]->frame_parms,eNB[CC_id]->proc[0].subframe_tx)==SF_S) {
|
||||
#ifdef Rel10
|
||||
|
||||
if (phy_procedures_RN_eNB_TX(subframe, subframe, r_type) != 0 )
|
||||
#endif
|
||||
phy_procedures_eNB_TX(subframe,eNB[CC_id],abstraction_flag,r_type,rn);
|
||||
}
|
||||
|
||||
if ((subframe_select(&eNB[CC_id]->frame_parms,eNB[CC_id]->proc[0].subframe_rx)==SF_S)) {
|
||||
phy_procedures_eNB_S_RX(subframe,eNB[CC_id],abstraction_flag,r_type);
|
||||
}
|
||||
|
||||
eNB[CC_id]->proc[0].frame_tx++;
|
||||
eNB[CC_id]->proc[0].frame_rx++;
|
||||
|
||||
if (eNB[CC_id]->proc[0].frame_tx>=MAX_FRAME_NUMBER) // defined in impl_defs_top.h
|
||||
eNB[CC_id]->proc[0].frame_tx-=MAX_FRAME_NUMBER;
|
||||
|
||||
if (eNB[CC_id]->proc[0].frame_rx>=MAX_FRAME_NUMBER)
|
||||
eNB[CC_id]->proc[0].frame_rx-=MAX_FRAME_NUMBER;
|
||||
}
|
||||
|
||||
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_ENB_LTE,0);
|
||||
stop_meas(&eNB[0]->phy_proc);
|
||||
}
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user