Attention is currently required from: Hoernchen, Timur Davydov, fixeria, laforge, osmith.
40 comments:
File Transceiver52M/device/usdr/USDRDevice.h:
Patch Set #4, Line 12: This program is distributed in the hope that it will be useful,
Added the `*` prefix.
and the indentation still differs from the the lines above.
Patch Set #4, Line 46: struct DeviceParameters {
Yes, replaced with `struct dev_desc` for consistency with the other devices.
Done
Patch Set #4, Line 48: * time correction for TX timestamp, in seconds, to align it with RX timestamp, which is needed to achieve correct
Fixed, wrapped to stay under 120 chars.
Done
Patch Set #4, Line 54: using DeviceParametersMap = std::map<std::string, DeviceParameters>;
Yes, replaced with `dev_map_t` for consistency with the other devices.
Done
Patch Set #4, Line 86: public:
Reordered the class members to match the structure used in the other device classes (public section […]
Done
Removed trailing whitespace.
Done
Patch Set #4, Line 116: * @brief Read samples from the USDR.
Ack. […]
Done
Patch Set #4, Line 126: bool *underrun = nullptr);
Aligned as suggested.
Done
File Transceiver52M/device/usdr/USDRDevice.h:
Patch Set #3, Line 54: int txsps; ///< samples count per GSM symbol for Tx
Replaced with `tx_sps` and `rx_sps` from `RadioDevice`
Done
Patch Set #3, Line 60: int timeTxCorr = 0; ///< time correction for TX timestamp, in samples, to align it with RX timestamp, which is needed to achieve correct timing of the transmitted signal. This is a device-specific parameter that can be configured via dev_args and defaults to 0 if not specified.
Done
Done
Patch Set #3, Line 63: TIMESTAMP ts_last_recv = 0;
Fixed indentation throughout the file
Done
Patch Set #3, Line 90: Read samples from the USDR.
Fixed comments throughout the file
Done
Patch Set #3, Line 100: TIMESTAMP timestamp = 0xffffffff, bool *underrun = NULL);
Fixed indentation throughout the file
Done
Fixed whitespaces throughout the file
Done
Patch Set #3, Line 132: TIMESTAMP initialReadTimestamp(void) { return ts_initial;}
Fixed indentation throughout the file
Done
File Transceiver52M/device/usdr/USDRDevice.cpp:
Patch Set #3, Line 49: {"limemini", {tx_offset: 86.769us}}, /* 94 samples at 1083333.33333 sps corresponds to 86.769 us */
Thanks, good catch — I indeed lost xSDR in that section. […]
Done
Patch Set #3, Line 52: enum {
Replaced the enum with #define constants as suggested
Done
Patch Set #3, Line 85: std::string msg = std::string("Error creating USDR device with connection string '") + connection_string + "' res: " + std::to_string(res) + "(" + strerror(res) + ")";
Reformatted the file to ensure all lines are within the 120-character limit
Done
Patch Set #3, Line 180: dev = NULL;
Fixed indentation throughout the file
Done
File Transceiver52M/device/usdr/USDRDevice.cpp:
Patch Set #4, Line 191: const int loglevel = parse_config(args, "loglevel", 3);
I’ve added a logging callback similar to the other backends. […]
Ack, fine.
Patch Set #4, Line 199: const double rate = 0.27083333333e6 * tx_sps;
It comes from 1083333.33333 sps / 4. […]
Done
Patch Set #4, Line 203: uint64_t val;
I've moved the variable declarations to the top of the function, except for const ones in some funct […]
Done
Patch Set #4, Line 221: usdr_dme_set_uint_exception(dev, "/dm/sdr/0/tx/gain", 0);
Added the suggested macros and replaced the hardcoded paths accordingly.
Done
Patch Set #4, Line 228: const char* fmt = "ci16";
Moved it to a #define at the top of the file.
Done
Patch Set #4, Line 246: usdr_dms_sync_exception(dev, "rx", ped.size(), ped.data());
Replaced the remaining hardcoded strings with defines.
Done
Patch Set #4, Line 260: if (dev) {
Implemented as suggested.
Done
Patch Set #4, Line 269: return false;
Added an error message.
Done
Patch Set #4, Line 296: return !started;
Implemented as suggested.
Done
Patch Set #4, Line 327: double USDRDevice::setTxGain(double dB, size_t chan)
Removed all unused functions.
Done
Patch Set #4, Line 382: try {
Reworked it to follow the other backends: values are now cached per channel in arrays (rx_gains, tx_ […]
Done
Patch Set #4, Line 392: TIMESTAMP timestamp, bool *underrun)
Fixed the indentation.
Done
Patch Set #4, Line 394: if (!started)
Replaced the check with the same bufs. […]
Done
Patch Set #4, Line 421: bool *underrun, TIMESTAMP timestamp)
Fixed
Done
Patch Set #4, Line 475: std::string USDRDevice::getTxAntenna(size_t chan )
Removed
Not removed ;)
Patch Set #4, Line 492: return GSM::Time(6,7);
Added space
Done
Patch Set #4, Line 610: return new USDRDevice(iface, cfg);
I don’t think additional device-specific checks are needed here. […]
Done
File debian/osmo-trx-usdr.install:
Patch Set #4, Line 3: /usr/bin/osmo-trx-usdr
It surprised me as well. […]
@osmith@sysmocom.de CC
File doc/manuals/chapters/trx-backends.adoc:
Patch Set #3, Line 86: where multiple small SDRs are combined to present one or more TRX instances
Updated the documentation according to your remarks.
SO IIUC that means you didn't actually yet try/succeed to run multi-trx BTS with these devices, correct?
File doc/manuals/chapters/trx-devices.adoc:
Patch Set #3, Line 102: scale the number of TRX instances.
Good point, thanks. […]
As mentioned in the other comment, multi-trx for a given BTS running multiple osmo-trx processes is not supported nowadays. Can you actually provide information on how did you test such a setup? Otherwise please update the documentation in this file.
File doc/manuals/chapters/trx-devices.adoc:
Patch Set #4, Line 127: instances. The current _osmo-trx-usdr_ backend operates in single-channel mode.
Added the missing newline at the end of the file.
Done
To view, visit change 42198. To unsubscribe, or for help writing mail filters, visit settings.