Commit 906e9072 authored by Xenofon Foukas's avatar Xenofon Foukas

Fixed LC config reporting based on existing LCs

parent a637957c
......@@ -43,6 +43,9 @@
#include "PHY/extern.h"
#include "log.h"
#include "RRC/LITE/extern.h"
#include "RRC/L2_INTERFACE/openair_rrc_L2_interface.h"
void * enb[NUM_MAX_ENB];
void * enb_ue[NUM_MAX_ENB];
......@@ -375,7 +378,8 @@ int enb_agent_ue_state_change(mid_t mod_id, uint32_t rnti, uint8_t state_change)
} else if (state_change == PROTOCOL__PRP_UE_STATE_CHANGE_TYPE__PRUESC_UPDATED
|| state_change == PROTOCOL__PRP_UE_STATE_CHANGE_TYPE__PRUESC_ACTIVATED) {
// TODO: Set the whole UE configuration message
config->has_rnti = 1;
config->rnti = rnti;
} else if (state_change == PROTOCOL__PRP_UE_STATE_CHANGE_TYPE__PRUESC_MOVED) {
// TODO: Not supported for now. Leave blank
}
......@@ -1039,7 +1043,11 @@ int get_ue_transmission_antenna(mid_t mod_id, mid_t ue_id)
int get_lcg(mid_t ue_id, mid_t lc_id)
{
return &UE_mac_inst[ue_id].logicalChannelConfig[lc_id]->ul_SpecificParameters->logicalChannelGroup;
if(UE_mac_inst[ue_id].logicalChannelConfig[lc_id] != NULL) {
return *UE_mac_inst[ue_id].logicalChannelConfig[lc_id]->ul_SpecificParameters->logicalChannelGroup;
} else {
return -1;
}
}
int get_direction(mid_t ue_id, mid_t lc_id)
......@@ -1093,7 +1101,16 @@ int enb_agent_lc_config_reply(mid_t mod_id, const void *params, Protocol__Progra
lc_ue_config[i]->has_rnti = 1;
lc_ue_config[i]->rnti = get_ue_crnti(mod_id,i);
//TODO: Set the number of LC configurations that will be reported for this UE
lc_ue_config[i]->n_lc_config = 3;
//Set this according to the current state of the UE. This is only a temporary fix
int status = 0;
status = mac_eNB_get_rrc_status(mod_id, get_ue_crnti(mod_id, i));
if (status < RRC_CONNECTED) {
lc_ue_config[i]->n_lc_config = 0;
} else if (status == RRC_CONNECTED) {
lc_ue_config[i]->n_lc_config = 1;
} else {
lc_ue_config[i]->n_lc_config = 3;
}
Protocol__PrpLcConfig **lc_config;
if (lc_ue_config[i]->n_lc_config > 0) {
lc_config = malloc(sizeof(Protocol__PrpLcConfig *) * lc_ue_config[i]->n_lc_config);
......
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