summaryrefslogtreecommitdiff
path: root/gr-digital/python/digital/ofdm_packet_utils.py
diff options
context:
space:
mode:
authorDouglas Anderson <danderson@ntia.doc.gov>2017-02-12 15:52:19 -0800
committerJohnathan Corgan <johnathan@corganlabs.com>2017-02-26 18:21:22 -0800
commit9e625c4821f4c63421b3d3747c0c4f358fef6c5f (patch)
tree41dedbe053417be7314cdce15d64fbbb89db4d8d /gr-digital/python/digital/ofdm_packet_utils.py
parente5aabcc6a4a9335f3ef8abf5f89104b626e9364d (diff)
python3: update non-GRC components to use python2 or python3
Diffstat (limited to 'gr-digital/python/digital/ofdm_packet_utils.py')
-rw-r--r--gr-digital/python/digital/ofdm_packet_utils.py31
1 files changed, 18 insertions, 13 deletions
diff --git a/gr-digital/python/digital/ofdm_packet_utils.py b/gr-digital/python/digital/ofdm_packet_utils.py
index e9ca641c7a..e26308a262 100644
--- a/gr-digital/python/digital/ofdm_packet_utils.py
+++ b/gr-digital/python/digital/ofdm_packet_utils.py
@@ -19,10 +19,15 @@
# Boston, MA 02110-1301, USA.
#
+from __future__ import print_function
+from __future__ import absolute_import
+from __future__ import division
+from __future__ import unicode_literals
+
import struct
import numpy
from gnuradio import gru
-import crc
+from . import crc
def conv_packed_binary_string_to_1_0_string(s):
"""
@@ -35,7 +40,7 @@ def conv_packed_binary_string_to_1_0_string(s):
t = (x >> i) & 0x1
r.append(t)
- return ''.join(map(lambda x: chr(x + ord('0')), r))
+ return ''.join([chr(x + ord('0')) for x in r])
def conv_1_0_string_to_packed_binary_string(s):
"""
@@ -46,7 +51,7 @@ def conv_1_0_string_to_packed_binary_string(s):
to get to a multiple of 8.
"""
if not is_1_0_string(s):
- raise ValueError, "Input must be a string containing only 0's and 1's"
+ raise ValueError("Input must be a string containing only 0's and 1's")
# pad to multiple of 8
padded = False
@@ -78,7 +83,7 @@ def is_1_0_string(s):
return True
def string_to_hex_list(s):
- return map(lambda x: hex(ord(x)), s)
+ return [hex(ord(x)) for x in s]
def whiten(s, o):
@@ -93,7 +98,7 @@ def dewhiten(s, o):
def make_header(payload_len, whitener_offset=0):
# Upper nibble is offset, lower 12 bits is len
val = ((whitener_offset & 0xf) << 12) | (payload_len & 0x0fff)
- #print "offset =", whitener_offset, " len =", payload_len, " val=", val
+ #print("offset =", whitener_offset, " len =", payload_len, " val=", val)
return struct.pack('!HH', val, val)
def make_packet(payload, samples_per_symbol, bits_per_symbol,
@@ -113,15 +118,15 @@ def make_packet(payload, samples_per_symbol, bits_per_symbol,
"""
if not whitener_offset >=0 and whitener_offset < 16:
- raise ValueError, "whitener_offset must be between 0 and 15, inclusive (%i)" % (whitener_offset,)
+ raise ValueError("whitener_offset must be between 0 and 15, inclusive (%i)" % (whitener_offset,))
payload_with_crc = crc.gen_and_append_crc32(payload)
- #print "outbound crc =", string_to_hex_list(payload_with_crc[-4:])
+ #print("outbound crc =", string_to_hex_list(payload_with_crc[-4:]))
L = len(payload_with_crc)
MAXLEN = len(random_mask_tuple)
if L > MAXLEN:
- raise ValueError, "len(payload) must be in [0, %d]" % (MAXLEN,)
+ raise ValueError("len(payload) must be in [0, %d]" % (MAXLEN,))
pkt_hd = make_header(L, whitener_offset)
pkt_dt = ''.join((payload_with_crc, '\x55'))
@@ -136,7 +141,7 @@ def make_packet(payload, samples_per_symbol, bits_per_symbol,
else:
pkt = pkt_hd + pkt_dt
- #print "make_packet: len(pkt) =", len(pkt)
+ #print("make_packet: len(pkt) =", len(pkt))
return pkt
@@ -157,7 +162,7 @@ def _npadding_bytes(pkt_byte_len, samples_per_symbol, bits_per_symbol):
number of bytes of padding to append.
"""
modulus = 128
- byte_modulus = gru.lcm(modulus/8, samples_per_symbol) * bits_per_symbol / samples_per_symbol
+ byte_modulus = gru.lcm(modulus / 8, samples_per_symbol) * bits_per_symbol / samples_per_symbol
r = pkt_byte_len % byte_modulus
if r == 0:
return 0
@@ -182,9 +187,9 @@ def unmake_packet(whitened_payload_with_crc, whitener_offset=0, dewhitening=1):
ok, payload = crc.check_crc32(payload_with_crc)
if 0:
- print "payload_with_crc =", string_to_hex_list(payload_with_crc)
- print "ok = %r, len(payload) = %d" % (ok, len(payload))
- print "payload =", string_to_hex_list(payload)
+ print("payload_with_crc =", string_to_hex_list(payload_with_crc))
+ print("ok = %r, len(payload) = %d" % (ok, len(payload)))
+ print("payload =", string_to_hex_list(payload))
return ok, payload