Attention is currently required from: Hoernchen, fixeria, laforge, pespin.
Timur Davydov has posted comments on this change by Timur Davydov. ( https://gerrit.osmocom.org/c/osmo-trx/+/42198?usp=email )
Change subject: feat(usdr): add USDR backend support (osmo-trx-usdr)
......................................................................
Patch Set 5:
(30 comments)
File Transceiver52M/device/usdr/USDRDevice.h:
https://gerrit.osmocom.org/c/osmo-trx/+/42198/comment/d686e44c_b4e80738?usp… :
PS4, Line 12: This program is distributed in the hope that it will be useful,
> please keep with the "* " at the start of the line.
Added the `*` prefix.
https://gerrit.osmocom.org/c/osmo-trx/+/42198/comment/31d6048c_a4a4a89c?usp… :
PS4, Line 46: struct DeviceParameters {
> Can we use "struct dev_desc" like in all other devices I'm seeing?
Yes, replaced with `struct dev_desc` for consistency with the other devices.
https://gerrit.osmocom.org/c/osmo-trx/+/42198/comment/fc8aab80_928d031a?usp… :
PS4, Line 48: * time correction for TX timestamp, in seconds, to align it with RX timestamp, which is needed to achieve correct
> This still look like >120 chars?
Fixed, wrapped to stay under 120 chars.
https://gerrit.osmocom.org/c/osmo-trx/+/42198/comment/a1467606_bcf1f64c?usp… :
PS4, Line 54: using DeviceParametersMap = std::map<std::string, DeviceParameters>;
> Can we use dev_map_t like all other devices I'm seeing?
Yes, replaced with `dev_map_t` for consistency with the other devices.
https://gerrit.osmocom.org/c/osmo-trx/+/42198/comment/971f01a9_f8c3ac66?usp… :
PS4, Line 86: public:
> Keep order in all other device classes, where public goes first.
Reordered the class members to match the structure used in the other device classes (public section first).
https://gerrit.osmocom.org/c/osmo-trx/+/42198/comment/695fe674_e665d97f?usp… :
PS4, Line 115: /**
> trailing whitespace
Removed trailing whitespace.
https://gerrit.osmocom.org/c/osmo-trx/+/42198/comment/3176a15a_9aec5aa0?usp… :
PS4, Line 116: * @brief Read samples from the USDR.
> imho no need to re-add all the API documentation here for an implemenetation of a virtual function. […]
Ack. I’ve removed the duplicated documentation from the implementation and submitted a separate patch improving the API documentation in `radioDevice.h`
https://gerrit.osmocom.org/c/osmo-trx/+/42198/comment/5bd3f95d_c0921444?usp… :
PS4, Line 126: bool *underrun = nullptr);
> align to firs tchar in "("
Aligned as suggested.
File Transceiver52M/device/usdr/USDRDevice.cpp:
https://gerrit.osmocom.org/c/osmo-trx/+/42198/comment/93114d84_aadb7c43?usp… :
PS4, Line 12: This program is free software: you can redistribute it and/or modify
> Please keep "* " at the start and same indentation as above.
Added the `*` prefix.
https://gerrit.osmocom.org/c/osmo-trx/+/42198/comment/c5c368ad_97b29b50?usp… :
PS4, Line 84: if (res) {
> tbh I don't like exceptions being added here for no good reason. […]
Removed the exceptions, switched to return code checking for consistency with other devices.
https://gerrit.osmocom.org/c/osmo-trx/+/42198/comment/7749812b_4102ad38?usp… :
PS4, Line 191: const int loglevel = parse_config(args, "loglevel", 3);
> So AFAIU "loglevel" is not something one really the low level library […]
I’ve added a logging callback similar to the other backends.
However, I’d prefer not to enable full debug logging inside the low-level library and then filter everything in the callback, as this would unnecessarily spam the logging system.
For now, I kept the driver parameter loglevel, so the library only emits messages up to the configured level.
If VTY-based control is required, loglevel can be set to 9.
Alternatively, I can implement updating the driver loglevel dynamically from VTY (if that’s feasible in this context).
https://gerrit.osmocom.org/c/osmo-trx/+/42198/comment/52da6059_d49ab232?usp… :
PS4, Line 199: const double rate = 0.27083333333e6 * tx_sps;
> where does this magic number come from? Can we have it in a define with some comment?
It comes from 1083333.33333 sps / 4.
In fact, this corresponds to the GSM symbol rate, and I already found a `GSMRATE` constant defined. I replaced the magic number with `GSMRATE`
https://gerrit.osmocom.org/c/osmo-trx/+/42198/comment/3e69f7cb_576b7bb0?usp… :
PS4, Line 203: uint64_t val;
> Try putting all variable declarations at the top of the function.
I've moved the variable declarations to the top of the function, except for const ones in some functions.
https://gerrit.osmocom.org/c/osmo-trx/+/42198/comment/8cb3406d_dc3cceb3?usp… :
PS4, Line 221: usdr_dme_set_uint_exception(dev, "/dm/sdr/0/tx/gain", 0);
> Sounds like we may want to have all these paths applied as defines and macros instead of hardcoding […]
Added the suggested macros and replaced the hardcoded paths accordingly.
https://gerrit.osmocom.org/c/osmo-trx/+/42198/comment/2c3fa475_27e25b22?usp… :
PS4, Line 228: const char* fmt = "ci16";
> this looks like a candaidate for a define too. or a const to be put at the start of the file.
Moved it to a #define at the top of the file.
https://gerrit.osmocom.org/c/osmo-trx/+/42198/comment/98218450_2defb621?usp… :
PS4, Line 246: usdr_dms_sync_exception(dev, "rx", ped.size(), ped.data());
> Same, we should imho avoid all these hardcoded strings.
Replaced the remaining hardcoded strings with defines.
https://gerrit.osmocom.org/c/osmo-trx/+/42198/comment/5c4d9331_3e37cd73?usp… :
PS4, Line 260: if (dev) {
> early return: […]
Implemented as suggested.
https://gerrit.osmocom.org/c/osmo-trx/+/42198/comment/920a6e31_3e2cd58a?usp… :
PS4, Line 269: return false;
> LOGC(DDEV, ERR) << "Device already started";
Added an error message.
https://gerrit.osmocom.org/c/osmo-trx/+/42198/comment/429df755_eaaa6db0?usp… :
PS4, Line 296: return !started;
> return true;
Implemented as suggested.
https://gerrit.osmocom.org/c/osmo-trx/+/42198/comment/43edea18_c727c50a?usp… :
PS4, Line 327: double USDRDevice::setTxGain(double dB, size_t chan)
> This function afacit is not used anywhere not required by base class? […]
Removed all unused functions.
https://gerrit.osmocom.org/c/osmo-trx/+/42198/comment/c0efb466_353bd4bb?usp… :
PS4, Line 382: try {
> I'd say better to do as other backends are doing: […]
Reworked it to follow the other backends: values are now cached per channel in arrays (rx_gains, tx_gains, rx_freqs, tx_freqs, etc.).
https://gerrit.osmocom.org/c/osmo-trx/+/42198/comment/d7e4dd74_21a7f0a4?usp… :
PS4, Line 392: TIMESTAMP timestamp, bool *underrun)
> wrong indentation
Fixed the indentation.
https://gerrit.osmocom.org/c/osmo-trx/+/42198/comment/ae31405e_b30f2fab?usp… :
PS4, Line 394: if (!started)
> Please look at other backends and try to mimic what they are doing, eg. checking […]
Replaced the check with the same bufs.size() != chans validation as used in the other backends, for consistency.
https://gerrit.osmocom.org/c/osmo-trx/+/42198/comment/11759752_811e7ff2?usp… :
PS4, Line 421: bool *underrun, TIMESTAMP timestamp)
> wrong indentation
Fixed
https://gerrit.osmocom.org/c/osmo-trx/+/42198/comment/374673e2_814771bb?usp… :
PS4, Line 475: std::string USDRDevice::getTxAntenna(size_t chan )
> extra space at the end.
Removed
https://gerrit.osmocom.org/c/osmo-trx/+/42198/comment/ab9b85b5_48dbb42b?usp… :
PS4, Line 492: return GSM::Time(6,7);
> missing space between "," and "7".
Added space
https://gerrit.osmocom.org/c/osmo-trx/+/42198/comment/7fc27f08_a2f528bf?usp… :
PS4, Line 610: return new USDRDevice(iface, cfg);
> Do extra checks here for this device in provided cfg, see LMSDevice. […]
I don’t think additional device-specific checks are needed here.
I’ve only added a basic validity check for the pointer to ensure it’s not null.
File debian/osmo-trx-usdr.install:
https://gerrit.osmocom.org/c/osmo-trx/+/42198/comment/a100251b_a999f647?usp… :
PS4, Line 3: /usr/bin/osmo-trx-usdr
> why do some start with / and some not?
It surprised me as well. I followed the existing pattern used in other Debian install files in this repository.
For example:
- debian/osmo-trx-uhd.install
- debian/osmo-trx-lms.install
- debian/osmo-trx-usrp1.install
- debian/osmo-trx-ipc.install
File doc/manuals/chapters/trx-backends.adoc:
https://gerrit.osmocom.org/c/osmo-trx/+/42198/comment/88cf39db_2ca0cc80?usp… :
PS3, Line 86: where multiple small SDRs are combined to present one or more TRX instances
> > Multi-TRX deployments are achieved by running multiple osmo-trx-usdr instances, typically one per […]
Updated the documentation according to your remarks.
File doc/manuals/chapters/trx-devices.adoc:
https://gerrit.osmocom.org/c/osmo-trx/+/42198/comment/c9688264_bc0ce831?usp… :
PS4, Line 127: instances. The current _osmo-trx-usdr_ backend operates in single-channel mode.
> missing new line at the end of file.
Added the missing newline at the end of the file.
--
To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/42198?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: osmo-trx
Gerrit-Branch: master
Gerrit-Change-Id: I5d1d25921514954c4929ae6e7352168b3ceb05df
Gerrit-Change-Number: 42198
Gerrit-PatchSet: 5
Gerrit-Owner: Timur Davydov <dtv.comp(a)gmail.com>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-CC: Hoernchen <ewild(a)sysmocom.de>
Gerrit-CC: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-CC: laforge <laforge(a)osmocom.org>
Gerrit-CC: osmith <osmith(a)sysmocom.de>
Gerrit-Attention: Hoernchen <ewild(a)sysmocom.de>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Comment-Date: Sat, 28 Feb 2026 21:19:46 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: pespin <pespin(a)sysmocom.de>
Comment-In-Reply-To: Timur Davydov <dtv.comp(a)gmail.com>
Attention is currently required from: Hoernchen, Timur Davydov, fixeria, laforge.
Hello Jenkins Builder, pespin,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-trx/+/42198?usp=email
to look at the new patch set (#5).
The following approvals got outdated and were removed:
Verified+1 by Jenkins Builder
Change subject: feat(usdr): add USDR backend support (osmo-trx-usdr)
......................................................................
feat(usdr): add USDR backend support (osmo-trx-usdr)
- Implement USDRDevice backend for Transceiver52M
- Add --with-usdr configure option and build integration
- Add systemd service unit (osmo-trx-usdr.service)
- Add Debian packaging files for osmo-trx-usdr
- Provide example configuration file
- Extend manuals and device documentation with USDR backend section
Change-Id: I5d1d25921514954c4929ae6e7352168b3ceb05df
---
M .gitignore
M Transceiver52M/Makefile.am
M Transceiver52M/device/Makefile.am
A Transceiver52M/device/usdr/Makefile.am
A Transceiver52M/device/usdr/USDRDevice.cpp
A Transceiver52M/device/usdr/USDRDevice.h
M configure.ac
M contrib/systemd/Makefile.am
A contrib/systemd/osmo-trx-usdr.service
A debian/osmo-trx-usdr.install
A debian/osmo-trx-usdr.postinst
M doc/examples/Makefile.am
A doc/examples/osmo-trx-usdr/osmo-trx-usdr.cfg
M doc/manuals/Makefile.am
M doc/manuals/chapters/trx-backends.adoc
M doc/manuals/chapters/trx-devices.adoc
16 files changed, 1,025 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/98/42198/5
--
To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/42198?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newpatchset
Gerrit-Project: osmo-trx
Gerrit-Branch: master
Gerrit-Change-Id: I5d1d25921514954c4929ae6e7352168b3ceb05df
Gerrit-Change-Number: 42198
Gerrit-PatchSet: 5
Gerrit-Owner: Timur Davydov <dtv.comp(a)gmail.com>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-CC: Hoernchen <ewild(a)sysmocom.de>
Gerrit-CC: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-CC: laforge <laforge(a)osmocom.org>
Gerrit-CC: osmith <osmith(a)sysmocom.de>
Gerrit-Attention: Hoernchen <ewild(a)sysmocom.de>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Attention: Timur Davydov <dtv.comp(a)gmail.com>
Timur Davydov has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/42242?usp=email )
Change subject: radio: improve API documentation in RadioDevice
......................................................................
radio: improve API documentation in RadioDevice
Change-Id: I7b41c549d743ad180a1ddcd8c0313e1003860070
---
M Transceiver52M/device/common/radioDevice.h
1 file changed, 161 insertions(+), 38 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/42/42242/1
diff --git a/Transceiver52M/device/common/radioDevice.h b/Transceiver52M/device/common/radioDevice.h
index 5c962d1..c2c4ba1 100644
--- a/Transceiver52M/device/common/radioDevice.h
+++ b/Transceiver52M/device/common/radioDevice.h
@@ -53,105 +53,228 @@
static RadioDevice *make(InterfaceType type, const struct trx_cfg *cfg);
- /** Initialize the USRP */
+ /**
+ * @brief Open the radio device and initialize it with the provided configuration
+ * @return NORMAL == 0 if the radio device was successfully opened and initialized, -1 otherwise
+ */
virtual int open() = 0;
virtual ~RadioDevice() { }
- /** Start the USRP */
+ /**
+ * @brief Start the radio device
+ * @return true if the radio was successfully started, false otherwise
+ */
virtual bool start()=0;
- /** Stop the USRP */
+ /**
+ * @brief Stop the radio device
+ * @return true if the radio device was successfully stopped, false otherwise
+ */
virtual bool stop()=0;
- /** Get the Tx window type */
+ /**
+ * @brief Get the type of the transmit window, which can be one of TX_WINDOW_USRP1, TX_WINDOW_FIXED,
+ * or TX_WINDOW_LMS1.
+ * The transmit window type determines how the radio device handles the timing of transmitted samples.
+ * @return The type of the transmit window used by the radio device
+ */
virtual enum TxWindowType getWindowType()=0;
/**
- Read samples from the radio.
- @param buf preallocated buf to contain read result
- @param len number of samples desired
- @param overrun Set if read buffer has been overrun, e.g. data not being read fast enough
- @param timestamp The timestamp of the first samples to be read
- @param underrun Set if radio does not have data to transmit, e.g. data not being sent fast enough
- @return The number of samples actually read
- */
+ * @brief Read samples from the radio device.
+ * @param buf preallocated buf to contain read result
+ * @param len number of samples desired
+ * @param overrun Set if read buffer has been overrun, e.g. data not being read fast enough
+ * @param timestamp The timestamp of the first samples to be read
+ * @param underrun Set if radio device does not have data to transmit, e.g. data not being sent fast enough
+ * @return The number of samples actually read
+ */
virtual int readSamples(std::vector<short *> &bufs, int len, bool *overrun,
TIMESTAMP timestamp = 0xffffffff, bool *underrun = 0) = 0;
+
/**
- Write samples to the radio.
- @param buf Contains the data to be written.
- @param len number of samples to write.
- @param underrun Set if radio does not have data to transmit, e.g. data not being sent fast enough
- @param timestamp The timestamp of the first sample of the data buffer.
- @return The number of samples actually written
- */
+ * @brief Write samples to the radio device.
+ * @param buf Contains the data to be written.
+ * @param len number of samples to write.
+ * @param underrun Set if radio device does not have data to transmit, e.g. data not being sent fast enough
+ * @param timestamp The timestamp of the first sample of the data buffer.
+ * @return The number of samples actually written
+ */
virtual int writeSamples(std::vector<short *> &bufs, int len, bool *underrun,
TIMESTAMP timestamp) = 0;
- /** Update the alignment between the read and write timestamps */
+ /**
+ * @brief Update the alignment between the read and write timestamps
+ * @param timestamp The timestamp to use for alignment
+ * @return true if the alignment was successfully updated, false otherwise
+ */
virtual bool updateAlignment(TIMESTAMP timestamp)=0;
- /** Set the transmitter frequency */
+ /**
+ * @brief Set the transmitter frequency
+ * @param wFreq The frequency to set
+ * @param chan The channel to set the frequency for
+ * @return true if the transmitter frequency was successfully set, false otherwise
+ */
virtual bool setTxFreq(double wFreq, size_t chan = 0) = 0;
- /** Set the receiver frequency */
+ /**
+ * @brief Set the receiver frequency
+ * @param wFreq The frequency to set
+ * @param chan The channel to set the frequency for
+ * @return true if the receiver frequency was successfully set, false otherwise
+ */
virtual bool setRxFreq(double wFreq, size_t chan = 0) = 0;
- /** Returns the starting write Timestamp*/
+ /**
+ * @brief Get the initial write timestamp, which is the timestamp of the first sample to be transmitted
+ * after starting the device.
+ * @return The initial write timestamp
+ */
virtual TIMESTAMP initialWriteTimestamp(void)=0;
- /** Returns the starting read Timestamp*/
+ /**
+ * @brief Get the initial read timestamp, i.e. the timestamp of the first received sample
+ * after starting the device.
+ * @return The initial read timestamp
+ */
virtual TIMESTAMP initialReadTimestamp(void)=0;
- /** returns the full-scale transmit amplitude **/
+ /**
+ * @brief Returns the full-scale transmit amplitude
+ * Usually is set to half the ADC range multiplied by 1/√2
+ * (i.e. ADC_range/2 * 1/√2 ≈ ADC_range/2 * 0.70710678) to avoid clipping for complex samples I + jQ.
+ * With |I|, |Q| <= 1/√2 the magnitude I^2 + Q^2 <= 1.
+ * @return The full-scale transmit amplitude
+ */
virtual double fullScaleInputValue()=0;
- /** returns the full-scale receive amplitude **/
+ /**
+ * @brief Returns the full-scale receive amplitude
+ * Usually is set to half of ADC range, e.g. 32767 for a 16-bit ADC.
+ * @return The full-scale receive amplitude
+ */
virtual double fullScaleOutputValue()=0;
- /** sets the receive chan gain, returns the gain setting **/
+ /**
+ * @brief Set the receive channel gain
+ * @param dB The gain value in dB
+ * @param chan The channel to set the gain for
+ * @return The actual gain setting after applying the change
+ */
virtual double setRxGain(double dB, size_t chan = 0) = 0;
- /** gets the current receive gain **/
+ /**
+ * @brief Get the current receive channel gain
+ * @param chan The channel to get the gain for
+ * @return The current gain setting
+ */
virtual double getRxGain(size_t chan = 0) = 0;
- /** return maximum Rx Gain **/
+ /**
+ * @brief Get the maximum Rx Gain
+ * @return The maximum Rx Gain
+ */
virtual double maxRxGain(void) = 0;
- /** return minimum Rx Gain **/
+ /**
+ * @brief Get the minimum Rx Gain
+ * @return The minimum Rx Gain
+ */
virtual double minRxGain(void) = 0;
- /** return base RSSI offset to apply for received samples **/
+ /**
+ * @brief Get the RSSI offset for a given channel to apply for received samples
+ * @param chan The channel to get the RSSI offset for
+ * @return The RSSI offset for the given channel
+ */
virtual double rssiOffset(size_t chan) = 0;
- /** returns the Nominal transmit output power of the transceiver in dBm, negative on error **/
+ /**
+ * @brief Get the nominal transmit output power for a given channel
+ * @param chan The channel to get the nominal transmit output power for
+ * @return The nominal transmit output power in dBm, negative on error
+ */
virtual int getNominalTxPower(size_t chan = 0) = 0;
- /** sets the RX path to use, returns true if successful and false otherwise */
+ /**
+ * @brief Sets the RX path to use
+ * @param ant The antenna to set
+ * @param chan The channel to set the antenna for
+ * @return True if successful, false otherwise
+ */
virtual bool setRxAntenna(const std::string &ant, size_t chan = 0) = 0;
- /** return the used RX path */
+ /**
+ * @brief Get the used RX path
+ * @param chan The channel to get the antenna for
+ * @return The current RX path
+ */
virtual std::string getRxAntenna(size_t chan = 0) = 0;
- /** sets the RX path to use, returns true if successful and false otherwise */
+ /**
+ * @brief Sets the TX path to use
+ * @param ant The antenna to set
+ * @param chan The channel to set the antenna for
+ * @return True if successful, false otherwise
+ */
virtual bool setTxAntenna(const std::string &ant, size_t chan = 0) = 0;
- /** return the used RX path */
+ /**
+ * @brief Get the used TX path
+ * @param chan The channel to get the antenna for
+ * @return The current TX path
+ */
virtual std::string getTxAntenna(size_t chan = 0) = 0;
- /** return whether user drives synchronization of Tx/Rx of USRP */
+ /**
+ * @brief Return whether user drives synchronization of Tx/Rx
+ * @return true if user drives synchronization of Tx/Rx, false otherwise
+ */
virtual bool requiresRadioAlign() = 0;
- /** Minimum latency that the device can achieve */
+ /**
+ * @brief Return the minimum latency the radio device can achieve
+ * @return The minimum latency
+ */
virtual GSM::Time minLatency() = 0;
/** Return internal status values */
+
+ /**
+ * @brief Get the transceiver frequency
+ * @param chan The channel to get the frequency for
+ * @return The current transceiver frequency
+ */
virtual double getTxFreq(size_t chan = 0) = 0;
+
+ /**
+ * @brief Get the receiver frequency
+ * @param chan The channel to get the frequency for
+ * @return The current receiver frequency
+ */
virtual double getRxFreq(size_t chan = 0) = 0;
+
+ /**
+ * @brief Return actual sample rate of the radio device
+ * @return The current sample rate
+ */
virtual double getSampleRate()=0;
+ /**
+ * @brief Set the power attenuation for a given channel
+ * @param atten The attenuation value in dB
+ * @param chan The channel to set the attenuation for
+ * @return The actual attenuation setting after applying the change
+ */
virtual double setPowerAttenuation(int atten, size_t chan) = 0;
+
+ /**
+ * @brief Get the power attenuation for a given channel
+ * @param chan The channel to get the attenuation for
+ * @return The current attenuation setting
+ */
virtual double getPowerAttenuation(size_t chan=0) = 0;
protected:
--
To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/42242?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newchange
Gerrit-Project: osmo-trx
Gerrit-Branch: master
Gerrit-Change-Id: I7b41c549d743ad180a1ddcd8c0313e1003860070
Gerrit-Change-Number: 42242
Gerrit-PatchSet: 1
Gerrit-Owner: Timur Davydov <dtv.comp(a)gmail.com>
Attention is currently required from: pespin.
laforge has posted comments on this change by pespin. ( https://gerrit.osmocom.org/c/libosmo-sigtran/+/42239?usp=email )
Change subject: Use new libosmo-asn1-tcap API osmo_asn1_tcap_TCMessage_decode()
......................................................................
Patch Set 1: Code-Review+1
--
To view, visit https://gerrit.osmocom.org/c/libosmo-sigtran/+/42239?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: libosmo-sigtran
Gerrit-Branch: master
Gerrit-Change-Id: Iebeb2808c54c5b82026a1b31d985aa73f602b42a
Gerrit-Change-Number: 42239
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Comment-Date: Sat, 28 Feb 2026 13:11:56 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes