staticdoubletime_offset_us=0;//time offset in us between usrp time and cpu time. this is just a course estimate updated every time we get a timestamp from the radio (UL slots) and is used to keep approximate real time when we are in a DL slot.
AssertFatal(*slot<fp->slots_per_frame&&*slot>=0,"slot %d is illegal (%d)\n",*slot,fp->slots_per_frame);
AssertFatal(*slot<fp->slots_per_frame&&*slot>=0,"slot %d is illegal (%d)\n",*slot,fp->slots_per_frame);
//AssertFatal(rxs == siglen,"rx_rf: Asked for %d samples, got %d from USRP\n",siglen,rxs);
//AssertFatal(rxs == siglen,"rx_rf: Asked for %d samples, got %d from USRP\n",siglen,rxs);
if(rxs!=siglen)LOG_E(PHY,"rx_rf: Asked for %d samples, got %d from USRP\n",siglen,rxs);
if(rxs!=siglen)LOG_E(PHY,"rx_rf: Asked for %d samples, got %d from USRP\n",siglen,rxs);
}
}
else{
//this is a DL slot, so we don't need to read from rfdevice. But in order to keep (approximate) timing we sleep until the time we would expect the slot