Commit f905b4fb authored by Cedric Roux's avatar Cedric Roux

fix puschTransmissionTimestamp interpretation (bad unit, subframe was taken

where it should have been frame*16+subframe)
parent 4e55441c
...@@ -187,6 +187,7 @@ static struct { ...@@ -187,6 +187,7 @@ static struct {
/* TODO: do it per CC */ /* TODO: do it per CC */
static struct { static struct {
struct { struct {
int reception_frame; /* the frame where the ACK/NACK has been received */
int reception_subframe; /* the subframe where the ACK/NACK has been received */ int reception_subframe; /* the subframe where the ACK/NACK has been received */
int rnti; int rnti;
int ack; int ack;
...@@ -229,6 +230,7 @@ printf("GOT UPLINK ack %d for rnti %x (f/sf %d/%d)\n", ack, rnti, frame, subfram ...@@ -229,6 +230,7 @@ printf("GOT UPLINK ack %d for rnti %x (f/sf %d/%d)\n", ack, rnti, frame, subfram
LOG_E(MAC, "fapi_ul_ack_nack: full! (f/sf %d/%d)\n", frame, subframe); LOG_E(MAC, "fapi_ul_ack_nack: full! (f/sf %d/%d)\n", frame, subframe);
abort(); abort();
} }
fapi_ul_ack_nack_data[subframe].ack[pos].reception_frame = frame;
fapi_ul_ack_nack_data[subframe].ack[pos].reception_subframe = subframe; fapi_ul_ack_nack_data[subframe].ack[pos].reception_subframe = subframe;
fapi_ul_ack_nack_data[subframe].ack[pos].rnti = rnti; fapi_ul_ack_nack_data[subframe].ack[pos].rnti = rnti;
fapi_ul_ack_nack_data[subframe].ack[pos].ack = ack; fapi_ul_ack_nack_data[subframe].ack[pos].ack = ack;
...@@ -978,7 +980,8 @@ printf("FAPI to MAC downlink DCI_pdu[%d]->num_pdcch_symbols %d f/sf %d/%d\n", cc ...@@ -978,7 +980,8 @@ printf("FAPI to MAC downlink DCI_pdu[%d]->num_pdcch_symbols %d f/sf %d/%d\n", cc
ulreq.ulInfoList = ulinfo; ulreq.ulInfoList = ulinfo;
for (i = 0; i < ulreq.nr_ulInfoList; i++) { for (i = 0; i < ulreq.nr_ulInfoList; i++) {
printf("MAC to FAPI uplink acknack ue %x f/sf %d/%d ulsf %d [reception_subframe %d] ack %d\n", fapi_ul_ack_nack_data[ulsf].ack[i].rnti, frameP, subframeP, ulsf, fapi_ul_ack_nack_data[ulsf].ack[i].reception_subframe, fapi_ul_ack_nack_data[ulsf].ack[i].ack); printf("MAC to FAPI uplink acknack ue %x f/sf %d/%d ulsf %d [reception_subframe %d] ack %d\n", fapi_ul_ack_nack_data[ulsf].ack[i].rnti, frameP, subframeP, ulsf, fapi_ul_ack_nack_data[ulsf].ack[i].reception_subframe, fapi_ul_ack_nack_data[ulsf].ack[i].ack);
ulinfo[i].puschTransmissionTimestamp = fapi_ul_ack_nack_data[ulsf].ack[i].reception_subframe; ulinfo[i].puschTransmissionTimestamp = fapi_ul_ack_nack_data[ulsf].ack[i].reception_frame * 16
+ fapi_ul_ack_nack_data[ulsf].ack[i].reception_subframe;
ulinfo[i].rnti = fapi_ul_ack_nack_data[ulsf].ack[i].rnti; ulinfo[i].rnti = fapi_ul_ack_nack_data[ulsf].ack[i].rnti;
ulinfo[i].receptionStatus = fapi_ul_ack_nack_data[ulsf].ack[i].ack == 1 ? Ok : NotOk; ulinfo[i].receptionStatus = fapi_ul_ack_nack_data[ulsf].ack[i].ack == 1 ? Ok : NotOk;
ulinfo[i].tpc = 0; /* TODO */ ulinfo[i].tpc = 0; /* TODO */
......
...@@ -314,7 +314,9 @@ struct BuildBroadcastListElement_s ...@@ -314,7 +314,9 @@ struct BuildBroadcastListElement_s
*/ */
struct UlInfoListElement_s struct UlInfoListElement_s
{ {
uint16_t puschTransmissionTimestamp; //this timestamp identifies PUSCH transmission to which below information relates to uint16_t puschTransmissionTimestamp; //this timestamp identifies PUSCH transmission
//to which below information relates to
//format is frame*16+subframe
uint16_t rnti; uint16_t rnti;
uint16_t ulReception[MAX_LC_LIST+1]; uint16_t ulReception[MAX_LC_LIST+1];
enum ReceptionStatus_e enum ReceptionStatus_e
......
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