diff --git a/executables/openairinterface5g_limits.h b/executables/openairinterface5g_limits.h index 53ee79a61deb6d1d03d373cb0954af08bf1b00dc..ca29078758aea5aa68c64dbe4fd135efbd94944f 100644 --- a/executables/openairinterface5g_limits.h +++ b/executables/openairinterface5g_limits.h @@ -8,10 +8,10 @@ #define NUMBER_OF_NR_RU_MAX 2 #ifndef PHYSIM #ifndef UE_EXPANSION - #define NUMBER_OF_UE_MAX 16 - #define NUMBER_OF_NR_UE_MAX 16 - #define NUMBER_OF_CONNECTED_eNB_MAX 3 - #define NUMBER_OF_CONNECTED_gNB_MAX 3 + #define NUMBER_OF_UE_MAX 4 + #define NUMBER_OF_NR_UE_MAX 4 + #define NUMBER_OF_CONNECTED_eNB_MAX 1 + #define NUMBER_OF_CONNECTED_gNB_MAX 1 #else #define NUMBER_OF_UE_MAX 256 #define NUMBER_OF_NR_UE_MAX 256 diff --git a/targets/ARCH/rfsimulator/simulator.c b/targets/ARCH/rfsimulator/simulator.c index 679f92a1a0d05f5bcc95b554e78d6f1e5ef09d1e..f3847cfdabc5a8911bb41c05f76f6ee9f3f1e594 100644 --- a/targets/ARCH/rfsimulator/simulator.c +++ b/targets/ARCH/rfsimulator/simulator.c @@ -198,7 +198,7 @@ sin_addr: t->buf[sock].alreadyRead=true; // UE will start blocking on read return 0; } - +uint64_t lastW=-1; int rfsimulator_write(openair0_device *device, openair0_timestamp timestamp, void **samplesVoid, int nsamps, int nbAnt, int flags) { rfsimulator_state_t *t = device->priv; LOG_D(HW,"sending %d samples at time: %ld\n", nsamps, timestamp); @@ -222,7 +222,7 @@ int rfsimulator_write(openair0_device *device, openair0_timestamp timestamp, voi fullwrite(ptr->conn_sock, (void *)tmpSamples, sampleToByte(nsamps,nbAnt), t); } } - + lastW=timestamp; LOG_D(HW,"sent %d samples at time: %ld->%ld, energy in first antenna: %d\n", nsamps, timestamp, timestamp+nsamps, signal_energy(samplesVoid[0], nsamps) ); return nsamps; @@ -306,6 +306,8 @@ static bool flushInput(rfsimulator_state_t *t) { } b->lastReceivedTS=b->th.timestamp; + AssertFatal(lastW == -1 || ( abs((double)lastW-b->lastReceivedTS) < (double)CirSize), + "Tx/Rx shift too large Tx:%lu, Rx:%lu\n", lastW, b->lastReceivedTS); b->transferPtr=(char *)&b->circularBuf[b->lastReceivedTS%CirSize]; b->remainToTransfer=sampleToByte(b->th.size, b->th.nbAnt); }