kirr has uploaded this change for review.

View Change

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 change 40082. To unsubscribe, or for help writing mail filters, visit settings.

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@nexedi.com>
Gerrit-CC: fixeria <vyanitskiy@sysmocom.de>
Gerrit-CC: osmith <osmith@sysmocom.de>
Gerrit-CC: pespin <pespin@sysmocom.de>