|
|
@ -259,7 +259,7 @@ private:
|
|
|
|
memcpy(&cur_grant, &grant, sizeof(Tgrant));
|
|
|
|
memcpy(&cur_grant, &grant, sizeof(Tgrant));
|
|
|
|
|
|
|
|
|
|
|
|
// If data has not yet been successfully decoded
|
|
|
|
// If data has not yet been successfully decoded
|
|
|
|
if (!ack) {
|
|
|
|
if (!ack || (grant.rv[tid]==0 && grant.phy_grant.dl.mcs[tid].idx < 29)) {
|
|
|
|
|
|
|
|
|
|
|
|
// Instruct the PHY To combine the received data and attempt to decode it
|
|
|
|
// Instruct the PHY To combine the received data and attempt to decode it
|
|
|
|
if (pid == HARQ_BCCH_PID) {
|
|
|
|
if (pid == HARQ_BCCH_PID) {
|
|
|
@ -347,9 +347,10 @@ private:
|
|
|
|
// Determine if it's a new transmission 5.3.2.2
|
|
|
|
// Determine if it's a new transmission 5.3.2.2
|
|
|
|
bool calc_is_new_transmission(Tgrant grant) {
|
|
|
|
bool calc_is_new_transmission(Tgrant grant) {
|
|
|
|
|
|
|
|
|
|
|
|
if ((grant.ndi[tid] != cur_grant.ndi[tid]) || // 1st condition (NDI has changed)
|
|
|
|
if (grant.phy_grant.dl.mcs[tid].idx < 28 && // mcs 29,30,31 always retx regardless of rest
|
|
|
|
|
|
|
|
((grant.ndi[tid] != cur_grant.ndi[tid]) || // 1st condition (NDI has changed)
|
|
|
|
(pid == HARQ_BCCH_PID && grant.rv[tid] == 0) || // 2nd condition (Broadcast and 1st transmission)
|
|
|
|
(pid == HARQ_BCCH_PID && grant.rv[tid] == 0) || // 2nd condition (Broadcast and 1st transmission)
|
|
|
|
is_first_tb) // 3rd condition (first TB)
|
|
|
|
is_first_tb))
|
|
|
|
{
|
|
|
|
{
|
|
|
|
is_first_tb = false;
|
|
|
|
is_first_tb = false;
|
|
|
|
is_new_transmission = true;
|
|
|
|
is_new_transmission = true;
|
|
|
|