diff options
Diffstat (limited to 'Transceiver52M/radioInterface.cpp')
-rw-r--r-- | Transceiver52M/radioInterface.cpp | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/Transceiver52M/radioInterface.cpp b/Transceiver52M/radioInterface.cpp index 98af480..b3bc07c 100644 --- a/Transceiver52M/radioInterface.cpp +++ b/Transceiver52M/radioInterface.cpp @@ -50,10 +50,11 @@ static void shortToFloat(float *out, short *in, int num) } RadioInterface::RadioInterface(RadioDevice *wRadio, + int wChanM, int wReceiveOffset, int wSPS, GSM::Time wStartTime) - : underrun(false), sendCursor(0), rcvCursor(0), mOn(false), + : mChanM(wChanM), underrun(false), sendCursor(0), rcvCursor(0), mOn(false), mRadio(wRadio), receiveOffset(wReceiveOffset), samplesPerSymbol(wSPS), powerScaling(1.0), loadTest(false) @@ -62,7 +63,7 @@ RadioInterface::RadioInterface(RadioDevice *wRadio, mClock.set(wStartTime); - for (i = 0; i < CHAN_M; i++) { + for (i = 0; i < mChanM; i++) { chanActive[i] = false; } } @@ -77,7 +78,7 @@ RadioInterface::~RadioInterface(void) delete mAlignRadioServiceLoopThread; - for (i = 0; i < CHAN_M; i++) { + for (i = 0; i < mChanM; i++) { if (rcvBuffer[i] != NULL) delete rcvBuffer[i]; if (sendBuffer[i] != NULL) @@ -170,9 +171,7 @@ bool RadioInterface::start() #endif writeTimestamp = mRadio->initialWriteTimestamp(); readTimestamp = mRadio->initialReadTimestamp(); - mRadio->start(); - - for (i = 0; i < CHAN_M; i++) { + for (i = 0; i < mChanM; i++) { sendBuffer[i] = new float[8*2*INCHUNK]; rcvBuffer[i] = new float[8*2*OUTCHUNK]; } @@ -220,7 +219,7 @@ void RadioInterface::driveTransmitRadio(signalVector **radioBurst, bool *zeroBur if (!mOn) return; - for (i = 0; i < CHAN_M; i++) { + for (i = 0; i < mChanM; i++) { if (chanActive[i]) { radioifyVector(*radioBurst[i], sendBuffer[i] + 2 * sendCursor, powerScaling, zeroBurst[i]); @@ -236,11 +235,11 @@ void RadioInterface::driveTransmitRadio(signalVector **radioBurst, bool *zeroBur pushBuffer(); } -void shiftRxBuffers(float **buf, int offset, int len, bool *active) +void shiftRxBuffers(float **buf, int offset, int len, int chanM, bool *active) { int i; - for (i = 0; i < CHAN_M; i++) { + for (i = 0; i < chanM; i++) { if (active[i]) { memmove(buf[i], buf[i] + offset, sizeof(float) * len); } @@ -252,7 +251,7 @@ void RadioInterface::loadVectors(unsigned tN, int samplesPerBurst, { int i; - for (i = 0; i < CHAN_M; i++) { + for (i = 0; i < mChanM; i++) { if (chanActive[i]) { signalVector rxVector(samplesPerBurst); unRadioifyVector(rcvBuffer[i], idx * 2, rxVector); @@ -300,7 +299,7 @@ void RadioInterface::driveReceiveRadio() if (readSz > 0) { rcvCursor -= readSz; - shiftRxBuffers(rcvBuffer, 2 * readSz, 2 * rcvCursor, chanActive); + shiftRxBuffers(rcvBuffer, 2 * readSz, 2 * rcvCursor, mChanM, chanActive); } } |