Merge remote-tracking branch 'origin/fix-bug-usrp-constant-derive' into integration_2025_w04 (!3023)

usrp constant and slow derive timestamp

Sample write reorder function doesn't handle properly the clock shift.

It keeps the same time origin forever, so, if the clock sifts in one direction,
we finish to reach the maximum time shift that was designed for slot to slot
maximum shift.

We may also consider if this function is useful: gNB and UE currently ensure Tx
in order because there are other issues above if we let Tx preparation run out
of order in separate threads

Closes #893
This commit is contained in:
Jaroslava Fiedlerova
2025-01-24 09:27:30 +01:00
+2 -2
View File
@@ -222,7 +222,7 @@ static void writerProcessWaitingQueue(openair0_device *device)
if (wroteSamples != nsamps)
LOG_E(HW, "Failed to write to rf\n");
}
ctx->nextTS += nsamps;
ctx->nextTS = timestamp + nsamps;
pthread_mutex_lock(&ctx->mutex_store);
}
}
@@ -253,7 +253,7 @@ int openair0_write_reorder(openair0_device *device, openair0_timestamp timestamp
wroteSamples = device->trx_write_func(device, timestamp, txp, nsamps, nbAnt, flags);
else
wroteSamples = nsamps;
ctx->nextTS += nsamps;
ctx->nextTS = timestamp + nsamps;
} else {
writerEnqueue(ctx, timestamp, txp, nsamps, nbAnt, flags);