diff options
author | Pau Espin Pedrol <pespin@sysmocom.de> | 2019-07-03 16:17:06 +0200 |
---|---|---|
committer | pespin <pespin@sysmocom.de> | 2019-07-19 11:44:13 +0000 |
commit | 13c81098f8b9119abae34bffd698708dd161a008 (patch) | |
tree | e7c5eac7631fb1c79eeaef0b9362722fd660d865 | |
parent | 15fa64bce4a17b8f90ca11523784547ffde79265 (diff) |
Transceiver: Support SETFORMAT command
Only old v0 is supported so far.
Related: OS#4006
Change-Id: If9fc22f9987238a5ff870df7718de4efc9e04289
-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 |