Commit f88d0e7d authored by cig's avatar cig

Enabled check on UE mode to start either ULSCH and PRACH procedures:

- ULSCH is temporary disabled
parent d8f618f2
...@@ -2243,12 +2243,8 @@ void phy_procedures_nrUE_TX(PHY_VARS_NR_UE *ue, ...@@ -2243,12 +2243,8 @@ void phy_procedures_nrUE_TX(PHY_VARS_NR_UE *ue,
start_meas(&ue->phy_proc_tx); start_meas(&ue->phy_proc_tx);
#endif #endif
nr_ue_ulsch_procedures(ue, if (ue->UE_mode[gNB_id] == PUSCH ){
harq_pid, nr_ue_ulsch_procedures(ue, harq_pid, frame_tx, slot_tx, thread_id, gNB_id);
frame_tx,
slot_tx,
thread_id,
gNB_id);
/* /*
if (ue->UE_mode[eNB_id] == PUSCH) { if (ue->UE_mode[eNB_id] == PUSCH) {
...@@ -2266,6 +2262,7 @@ void phy_procedures_nrUE_TX(PHY_VARS_NR_UE *ue, ...@@ -2266,6 +2262,7 @@ void phy_procedures_nrUE_TX(PHY_VARS_NR_UE *ue,
thread_id, thread_id,
gNB_id, gNB_id,
&ue->frame_parms); &ue->frame_parms);
}
/* RACH */ /* RACH */
...@@ -2451,7 +2448,7 @@ void restart_phy(PHY_VARS_NR_UE *ue,UE_nr_rxtx_proc_t *proc, uint8_t eNB_id,uint ...@@ -2451,7 +2448,7 @@ void restart_phy(PHY_VARS_NR_UE *ue,UE_nr_rxtx_proc_t *proc, uint8_t eNB_id,uint
} }
#endif //(0) #endif //(0)
void nr_ue_pbch_procedures(uint8_t eNB_id, void nr_ue_pbch_procedures(uint8_t gNB_id,
PHY_VARS_NR_UE *ue, PHY_VARS_NR_UE *ue,
UE_nr_rxtx_proc_t *proc, UE_nr_rxtx_proc_t *proc,
uint8_t abstraction_flag) uint8_t abstraction_flag)
...@@ -2470,20 +2467,23 @@ void nr_ue_pbch_procedures(uint8_t eNB_id, ...@@ -2470,20 +2467,23 @@ void nr_ue_pbch_procedures(uint8_t eNB_id,
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_UE_PBCH_PROCEDURES, VCD_FUNCTION_IN); VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_UE_PBCH_PROCEDURES, VCD_FUNCTION_IN);
//LOG_I(PHY,"[UE %d] Frame %d, Trying PBCH %d (NidCell %d, eNB_id %d)\n",ue->Mod_id,frame_rx,pbch_phase,ue->frame_parms.Nid_cell,eNB_id); //LOG_I(PHY,"[UE %d] Frame %d, Trying PBCH %d (NidCell %d, gNB_id %d)\n",ue->Mod_id,frame_rx,pbch_phase,ue->frame_parms.Nid_cell,gNB_id);
ret = nr_rx_pbch(ue, proc, ret = nr_rx_pbch(ue, proc,
ue->pbch_vars[eNB_id], ue->pbch_vars[gNB_id],
&ue->frame_parms, &ue->frame_parms,
eNB_id, gNB_id,
(ue->frame_parms.ssb_index)&7, (ue->frame_parms.ssb_index)&7,
SISO, SISO,
ue->high_speed_flag); ue->high_speed_flag);
if (ret==0) { if (ret==0) {
ue->pbch_vars[eNB_id]->pdu_errors_conseq = 0; ue->pbch_vars[gNB_id]->pdu_errors_conseq = 0;
// Switch to PRACH state if it is first PBCH after initial synch and no timing correction is performed
if (ue->UE_mode[gNB_id] == NOT_SYNCHED && ue->no_timing_correction == 1)
ue->UE_mode[gNB_id] = PRACH;
#ifdef DEBUG_PHY_PROC #ifdef DEBUG_PHY_PROC
uint16_t frame_tx; uint16_t frame_tx;
...@@ -2513,25 +2513,25 @@ void nr_ue_pbch_procedures(uint8_t eNB_id, ...@@ -2513,25 +2513,25 @@ void nr_ue_pbch_procedures(uint8_t eNB_id,
exit(-1); exit(-1);
*/ */
ue->pbch_vars[eNB_id]->pdu_errors_conseq++; ue->pbch_vars[gNB_id]->pdu_errors_conseq++;
ue->pbch_vars[eNB_id]->pdu_errors++; ue->pbch_vars[gNB_id]->pdu_errors++;
if (ue->pbch_vars[eNB_id]->pdu_errors_conseq>=100) { if (ue->pbch_vars[gNB_id]->pdu_errors_conseq>=100) {
LOG_E(PHY,"More that 100 consecutive PBCH errors! Exiting!\n"); LOG_E(PHY,"More that 100 consecutive PBCH errors! Exiting!\n");
exit_fun("More that 100 consecutive PBCH errors! Exiting!\n"); exit_fun("More that 100 consecutive PBCH errors! Exiting!\n");
} }
} }
if (frame_rx % 100 == 0) { if (frame_rx % 100 == 0) {
ue->pbch_vars[eNB_id]->pdu_fer = ue->pbch_vars[eNB_id]->pdu_errors - ue->pbch_vars[eNB_id]->pdu_errors_last; ue->pbch_vars[gNB_id]->pdu_fer = ue->pbch_vars[gNB_id]->pdu_errors - ue->pbch_vars[gNB_id]->pdu_errors_last;
ue->pbch_vars[eNB_id]->pdu_errors_last = ue->pbch_vars[eNB_id]->pdu_errors; ue->pbch_vars[gNB_id]->pdu_errors_last = ue->pbch_vars[gNB_id]->pdu_errors;
} }
#ifdef DEBUG_PHY_PROC #ifdef DEBUG_PHY_PROC
LOG_D(PHY,"[UE %d] frame %d, slot %d, PBCH errors = %d, consecutive errors = %d!\n", LOG_D(PHY,"[UE %d] frame %d, slot %d, PBCH errors = %d, consecutive errors = %d!\n",
ue->Mod_id,frame_rx, nr_tti_rx, ue->Mod_id,frame_rx, nr_tti_rx,
ue->pbch_vars[eNB_id]->pdu_errors, ue->pbch_vars[gNB_id]->pdu_errors,
ue->pbch_vars[eNB_id]->pdu_errors_conseq); ue->pbch_vars[gNB_id]->pdu_errors_conseq);
#endif #endif
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_UE_PBCH_PROCEDURES, VCD_FUNCTION_OUT); VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_UE_PBCH_PROCEDURES, VCD_FUNCTION_OUT);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment