diff options
-rw-r--r-- | Transceiver52M/Transceiver.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/Transceiver52M/Transceiver.cpp b/Transceiver52M/Transceiver.cpp index 6bbf3a3..080afd1 100644 --- a/Transceiver52M/Transceiver.cpp +++ b/Transceiver52M/Transceiver.cpp @@ -868,6 +868,20 @@ void Transceiver::driveControl(size_t chan) mStates[chan].chanType[timeslot] = (ChannelCombination) corrCode; setModulus(timeslot, chan); sprintf(response,"RSP SETSLOT 0 %d %d",timeslot,corrCode); + } else if (match_cmd(command, "SETFORMAT", ¶ms)) { + // set TRXD protocol version + unsigned version_recv; + sscanf(params, "%u", &version_recv); + LOGC(DTRXCTRL, INFO) << "BTS requests TRXD version switch: " << version_recv; + if (version_recv > TRX_DATA_FORMAT_VER) { + LOGC(DTRXCTRL, INFO) << "rejecting TRXD version " << version_recv + << "in favor of " << TRX_DATA_FORMAT_VER; + sprintf(response, "RSP SETFORMAT %u %u", TRX_DATA_FORMAT_VER, version_recv); + } else { + LOGC(DTRXCTRL, NOTICE) << "switching to TRXD version " << version_recv; + mVersionTRXD = version_recv; + sprintf(response, "RSP SETFORMAT %u %u", version_recv, version_recv); + } } else if (match_cmd(command, "_SETBURSTTODISKMASK", ¶ms)) { // debug command! may change or disapear without notice // set a mask which bursts to dump to disk |