kirr has uploaded this change for review. (
https://gerrit.osmocom.org/c/osmocom-bb/+/40082?usp=email )
Change subject: trx_toolkit/data_msg: Switch TxMsg .pwr from object to int
......................................................................
trx_toolkit/data_msg: Switch TxMsg .pwr from object to int
This is integer field, assigning C-level type avoid py-related overhead
on access and arithmetics.
Change-Id: Ibf07cd99d758e516317a16b4df3cd0dc90fc5c07
---
M src/target/trx_toolkit/data_msg.pxd
M src/target/trx_toolkit/data_msg.pyx
2 files changed, 5 insertions(+), 4 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/82/40082/1
diff --git a/src/target/trx_toolkit/data_msg.pxd b/src/target/trx_toolkit/data_msg.pxd
index 823ec8d..e5c605e 100644
--- a/src/target/trx_toolkit/data_msg.pxd
+++ b/src/target/trx_toolkit/data_msg.pxd
@@ -60,7 +60,8 @@
@final
cdef class TxMsg(Msg):
cdef public bytearray burst # | None
- cdef readonly object pwr # int | None
+ cdef readonly int pwr # -1 if unset
+
cpdef validate(self)
diff --git a/src/target/trx_toolkit/data_msg.pyx b/src/target/trx_toolkit/data_msg.pyx
index 64139a4..1d40726 100644
--- a/src/target/trx_toolkit/data_msg.pyx
+++ b/src/target/trx_toolkit/data_msg.pyx
@@ -323,7 +323,7 @@
def __cinit__(self):
self.burst = None
- self.pwr = None
+ self.pwr = -1
cdef int HDR_LEN(self) except -1:
''' Calculate header length depending on its version. '''
@@ -345,7 +345,7 @@
# Validate common fields
Msg._validate(self)
- if self.pwr is None:
+ if self.pwr == -1:
raise ValueError("Tx Attenuation level is not set")
if self.pwr < PWR_MIN or self.pwr > PWR_MAX:
@@ -382,7 +382,7 @@
# Describe the common part
result = Msg.desc_hdr(self)
- if self.pwr is not None:
+ if self.pwr != -1:
result += ("pwr=%u " % self.pwr)
# Strip useless whitespace and return
--
To view, visit
https://gerrit.osmocom.org/c/osmocom-bb/+/40082?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newchange
Gerrit-Project: osmocom-bb
Gerrit-Branch: master
Gerrit-Change-Id: Ibf07cd99d758e516317a16b4df3cd0dc90fc5c07
Gerrit-Change-Number: 40082
Gerrit-PatchSet: 1
Gerrit-Owner: kirr <kirr(a)nexedi.com>
Gerrit-CC: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-CC: osmith <osmith(a)sysmocom.de>
Gerrit-CC: pespin <pespin(a)sysmocom.de>