separate DL and UL timers at UE
This commit is contained in:
@@ -49,7 +49,8 @@ NR_UE_DL_BWP_t *get_dl_bwp_structure(NR_UE_MAC_INST_t *mac, int bwp_id, bool set
|
||||
NR_UE_UL_BWP_t *get_ul_bwp_structure(NR_UE_MAC_INST_t *mac, int bwp_id, bool setup);
|
||||
|
||||
void send_srb0_rrc(int ue_id, const uint8_t *sdu, sdu_size_t sdu_len, void *data);
|
||||
void update_mac_timers(NR_UE_MAC_INST_t *mac);
|
||||
void update_mac_ul_timers(NR_UE_MAC_INST_t *mac);
|
||||
void update_mac_dl_timers(NR_UE_MAC_INST_t *mac);
|
||||
NR_LC_SCHEDULING_INFO *get_scheduling_info_from_lcid(NR_UE_MAC_INST_t *mac, NR_LogicalChannelIdentity_t lcid);
|
||||
|
||||
/**\brief apply default configuration values in nr_mac instance
|
||||
|
||||
@@ -182,16 +182,23 @@ void handle_time_alignment_timer_expired(NR_UE_MAC_INST_t *mac)
|
||||
// TODO not sure what to do here
|
||||
}
|
||||
|
||||
void update_mac_timers(NR_UE_MAC_INST_t *mac)
|
||||
void update_mac_dl_timers(NR_UE_MAC_INST_t *mac)
|
||||
{
|
||||
bool ra_window_expired = nr_timer_tick(&mac->ra.response_window_timer);
|
||||
if (ra_window_expired) // consider the Random Access Response reception not successful
|
||||
nr_rar_not_successful(mac);
|
||||
bool alignment_timer_expired = nr_timer_tick(&mac->time_alignment_timer);
|
||||
if (alignment_timer_expired)
|
||||
handle_time_alignment_timer_expired(mac);
|
||||
}
|
||||
|
||||
void update_mac_ul_timers(NR_UE_MAC_INST_t *mac)
|
||||
{
|
||||
if (mac->data_inactivity_timer) {
|
||||
bool inactivity_timer_expired = nr_timer_tick(mac->data_inactivity_timer);
|
||||
if (inactivity_timer_expired)
|
||||
nr_mac_rrc_inactivity_timer_ind(mac->ue_id);
|
||||
}
|
||||
bool alignment_timer_expired = nr_timer_tick(&mac->time_alignment_timer);
|
||||
if (alignment_timer_expired)
|
||||
handle_time_alignment_timer_expired(mac);
|
||||
bool contention_resolution_expired = nr_timer_tick(&mac->ra.contention_resolution_timer);
|
||||
if (contention_resolution_expired)
|
||||
nr_ra_contention_resolution_failed(mac);
|
||||
@@ -238,9 +245,6 @@ void update_mac_timers(NR_UE_MAC_INST_t *mac)
|
||||
phr_info->phr_reporting |= (1 << phr_cause_periodic_timer);
|
||||
}
|
||||
}
|
||||
bool ra_window_expired = nr_timer_tick(&mac->ra.response_window_timer);
|
||||
if (ra_window_expired) // consider the Random Access Response reception not successful
|
||||
nr_rar_not_successful(mac);
|
||||
bool ra_backoff_expired = nr_timer_tick(&mac->ra.RA_backoff_timer);
|
||||
if (ra_backoff_expired) {
|
||||
// perform the Random Access Resource selection procedure after the backoff time
|
||||
|
||||
Reference in New Issue
Block a user