int main(int argc, char *argv[]) { // Configure logger. if (argc>1) gLogInit(argv[1]); else gLogInit("INFO"); if (argc>2) gSetLogFile(argv[2]); USRPDevice *usrp = new USRPDevice(52.0e6/192.0); usrp->make(); TIMESTAMP timestamp; usrp->setTxFreq(1990.0e6); usrp->setRxFreq(1990.0e6); usrp->start(); LOG(INFO) << "Looping..."; bool underrun; short data[]={0x00,0x02}; usrp->updateAlignment(20000); usrp->updateAlignment(21000); int numpkts = 2; short data2[156*2*numpkts]; for (int i = 0; i < 156*numpkts; i++) { data2[i<<1] = 10000;//4096*cos(2*3.14159*(i % 126)/126); data2[(i<<1) + 1] = 10000;//4096*sin(2*3.14159*(i % 126)/126); } for (int i = 0; i < 10; i++) usrp->writeSamples((short*) data2,156*numpkts,&underrun,102000+i*1000); timestamp = 19000; double sum = 0.0; unsigned long num = 0; while (1) { short readBuf[512*2]; int rd = usrp->readSamples(readBuf,512,&underrun,timestamp); if (rd) { LOG(INFO) << "rcvd. data@:" << timestamp; for (int i = 0; i < 512; i++) { uint32_t *wordPtr = (uint32_t *) &readBuf[2*i]; *wordPtr = usrp_to_host_u32(*wordPtr); printf ("%llu: %d %d\n", timestamp+i,readBuf[2*i],readBuf[2*i+1]); sum += (readBuf[2*i+1]*readBuf[2*i+1] + readBuf[2*i]*readBuf[2*i]); num++; //if (num % 10000 == 0) printf("avg pwr: %f\n",sum/num); } timestamp += rd; } } }
int main(int argc, char *argv[]) { if ( signal( SIGINT, ctrlCHandler ) == SIG_ERR ) { cerr << "Couldn't install signal handler for SIGINT" << endl; exit(1); } if ( signal( SIGTERM, ctrlCHandler ) == SIG_ERR ) { cerr << "Couldn't install signal handler for SIGTERM" << endl; exit(1); } // Configure logger. if (argc<2) { cerr << argv[0] << " <logLevel> [logFilePath]" << endl; cerr << "Log levels are ERROR, ALARM, WARN, NOTICE, INFO, DEBUG, DEEPDEBUG" << endl; exit(0); } gLogInit(argv[1]); if (argc>2) gSetLogFile(argv[2]); srandom(time(NULL)); USRPDevice *usrp = new USRPDevice(1625.0e3/6.0); //533.333333333e3); //400e3); if (!usrp->make()) { delete usrp; return EXIT_FAILURE; } RadioInterface* radio = new RadioInterface(usrp,3); Transceiver *trx = new Transceiver(5700,"127.0.0.1",SAMPSPERSYM,GSM::Time(2,0),radio); trx->receiveFIFO(radio->receiveFIFO()); trx->start(); //int i = 0; while(!gbShutdown) { sleep(1); }//i++; if (i==60) break;} cout << "Shutting down transceiver..." << endl; // trx->stop(); // delete trx; // delete radio; }
int main(int argc, char *argv[]) { // Configure logger. if (argc<2) { cerr << argv[0] << " <logLevel> [logFilePath]" << endl; cerr << "Log levels are ERROR, ALARM, WARN, NOTICE, INFO, DEBUG, DEEPDEBUG" << endl; exit(0); } gLogInit(argv[1]); if (argc>2) gSetLogFile(argv[2]); srandom(time(NULL)); USRPDevice *usrp = new USRPDevice(400.0e3); //533.333333333e3); //400e3); usrp->make(); RadioInterface* radio = new RadioInterface(usrp,3); Transceiver *trx = new Transceiver(5700,"127.0.0.1",SAMPSPERSYM,GSM::Time(2,0),radio); trx->transmitFIFO(radio->transmitFIFO()); trx->receiveFIFO(radio->receiveFIFO()); trx->start(); //int i = 0; while(1) { sleep(1); }//i++; if (i==60) break;} }