summaryrefslogtreecommitdiff
path: root/gnuradio-core/src/python/gnuradio/blksimpl/pkt.py
diff options
context:
space:
mode:
authorjcorgan <jcorgan@221aa14e-8319-0410-a670-987f0aec2ac5>2007-02-06 00:10:32 +0000
committerjcorgan <jcorgan@221aa14e-8319-0410-a670-987f0aec2ac5>2007-02-06 00:10:32 +0000
commitc4e072e8a58800f2dfd6c1e5e95009dd783061be (patch)
tree575da3b788adacda6aeff19c730394ce1ddbdbc3 /gnuradio-core/src/python/gnuradio/blksimpl/pkt.py
parentb431e9f594607e61866aef2bab73240c21c4cc6f (diff)
Merged r4354:4390 from developer branch jcorgan/digital into trunk.
git-svn-id: http://gnuradio.org/svn/gnuradio/trunk@4391 221aa14e-8319-0410-a670-987f0aec2ac5
Diffstat (limited to 'gnuradio-core/src/python/gnuradio/blksimpl/pkt.py')
-rw-r--r--gnuradio-core/src/python/gnuradio/blksimpl/pkt.py17
1 files changed, 12 insertions, 5 deletions
diff --git a/gnuradio-core/src/python/gnuradio/blksimpl/pkt.py b/gnuradio-core/src/python/gnuradio/blksimpl/pkt.py
index a1ece893df..96b48657f6 100644
--- a/gnuradio-core/src/python/gnuradio/blksimpl/pkt.py
+++ b/gnuradio-core/src/python/gnuradio/blksimpl/pkt.py
@@ -36,7 +36,7 @@ class mod_pkts(gr.hier_block):
Send packets by calling send_pkt
"""
- def __init__(self, fg, modulator, access_code=None, msgq_limit=2, pad_for_usrp=True):
+ def __init__(self, fg, modulator, access_code=None, msgq_limit=2, pad_for_usrp=True, use_whitener_offset=False):
"""
Hierarchical block for sending packets
@@ -52,12 +52,15 @@ class mod_pkts(gr.hier_block):
@param msgq_limit: maximum number of messages in message queue
@type msgq_limit: int
@param pad_for_usrp: If true, packets are padded such that they end up a multiple of 128 samples
-
+ @param use_whitener_offset: If true, start of whitener XOR string is incremented each packet
+
See gmsk_mod for remaining parameters
"""
self._modulator = modulator
self._pad_for_usrp = pad_for_usrp
-
+ self._use_whitener_offset = use_whitener_offset
+ self._whitener_offset = 0
+
if access_code is None:
access_code = packet_utils.default_access_code
if not packet_utils.is_1_0_string(access_code):
@@ -84,9 +87,13 @@ class mod_pkts(gr.hier_block):
self._modulator.samples_per_symbol(),
self._modulator.bits_per_symbol(),
self._access_code,
- self._pad_for_usrp)
+ self._pad_for_usrp,
+ self._whitener_offset)
#print "pkt =", string_to_hex_list(pkt)
msg = gr.message_from_string(pkt)
+ if self._use_whitener_offset is True:
+ self._whitener_offset = (self._whitener_offset + 1) % 16
+
self._pkt_input.msgq().insert_tail(msg)
@@ -151,6 +158,6 @@ class _queue_watcher_thread(_threading.Thread):
def run(self):
while self.keep_running:
msg = self.rcvd_pktq.delete_head()
- ok, payload = packet_utils.unmake_packet(msg.to_string())
+ ok, payload = packet_utils.unmake_packet(msg.to_string(), int(msg.arg1()))
if self.callback:
self.callback(ok, payload)