From d3fccea05fba7cb89bd467ccbfca63404507395a Mon Sep 17 00:00:00 2001 From: Thomas Tsou Date: Fri, 15 Nov 2013 14:22:53 -0500 Subject: Transceiver52M: Allow only channel zero to set TSC value We support one TSC value per each transceiver object. Only channel zero can set this value. Other channels can attempt to set the TSC value, but will error if the TSC does not match the existing value. In either case, non-zero channels do not manipulate the gloabl TSC setting. Signed-off-by: Thomas Tsou --- Transceiver52M/Transceiver.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'Transceiver52M') diff --git a/Transceiver52M/Transceiver.cpp b/Transceiver52M/Transceiver.cpp index f2d871f..b31498b 100644 --- a/Transceiver52M/Transceiver.cpp +++ b/Transceiver52M/Transceiver.cpp @@ -654,12 +654,14 @@ void Transceiver::driveControl(size_t chan) else sprintf(response,"RSP TXTUNE 0 %d",freqKhz); } - else if (strcmp(command,"SETTSC")==0) { + else if (!strcmp(command,"SETTSC")) { // set TSC int TSC; - sscanf(buffer,"%3s %s %d",cmdcheck,command,&TSC); + sscanf(buffer, "%3s %s %d", cmdcheck, command, &TSC); if (mOn) - sprintf(response,"RSP SETTSC 1 %d",TSC); + sprintf(response, "RSP SETTSC 1 %d", TSC); + else if (chan && (TSC != mTSC)) + sprintf(response, "RSP SETTSC 1 %d", TSC); else { mTSC = TSC; generateMidamble(mSPSRx, TSC); -- cgit v1.2.3