From feb4028b1b16c69ac363e3db550d54a7792242db Mon Sep 17 00:00:00 2001 From: Alexander Chemeris Date: Tue, 19 May 2015 23:58:02 -0400 Subject: Transceiver: Check TSC values to be in [0..7] range. --- Transceiver52M/Transceiver.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'Transceiver52M/Transceiver.cpp') diff --git a/Transceiver52M/Transceiver.cpp b/Transceiver52M/Transceiver.cpp index f8ed51a..cff0b3a 100644 --- a/Transceiver52M/Transceiver.cpp +++ b/Transceiver52M/Transceiver.cpp @@ -91,7 +91,8 @@ Transceiver::Transceiver(int wBasePort, : mBasePort(wBasePort), mAddr(TRXAddress), mTransmitLatency(wTransmitLatency), mClockSocket(NULL), mRadioInterface(wRadioInterface), mSPSTx(wSPS), mSPSRx(1), mChans(wChans), - mOn(false), mTxFreq(0.0), mRxFreq(0.0), mPower(-10), mMaxExpectedDelay(0) + mOn(false), mTxFreq(0.0), mRxFreq(0.0), mPower(-10), mMaxExpectedDelay(0), + mTSC(0) { GSM::Time startTime(random() % gHyperframe,0); @@ -731,7 +732,7 @@ void Transceiver::driveControl(size_t chan) // set TSC unsigned TSC; sscanf(buffer, "%3s %s %d", cmdcheck, command, &TSC); - if (mOn) + if (mOn || (TSC<0) || (TSC>7)) sprintf(response, "RSP SETTSC 1 %d", TSC); else if (chan && (TSC != mTSC)) sprintf(response, "RSP SETTSC 1 %d", TSC); @@ -742,7 +743,7 @@ void Transceiver::driveControl(size_t chan) } } else if (strcmp(command,"SETSLOT")==0) { - // set TSC + // set slot type int corrCode; int timeslot; sscanf(buffer,"%3s %s %d %d",cmdcheck,command,×lot,&corrCode); -- cgit v1.2.3