From fbbde8d01ab43b7a3ffd5ca9d65cf50a84e2a7be Mon Sep 17 00:00:00 2001
From: Tom Rondeau <tom@trondeau.com>
Date: Mon, 19 May 2014 15:53:10 -0400
Subject: fec: wip: async encoder/decoder working deployments.

Decoder uses API signatures to do shifting, data conversions. New examples showing use.
---
 gr-fec/lib/async_decoder_impl.h | 20 +++++++++++++++++---
 1 file changed, 17 insertions(+), 3 deletions(-)

(limited to 'gr-fec/lib/async_decoder_impl.h')

diff --git a/gr-fec/lib/async_decoder_impl.h b/gr-fec/lib/async_decoder_impl.h
index 5f4c5c44a0..c3c7a7c3ff 100644
--- a/gr-fec/lib/async_decoder_impl.h
+++ b/gr-fec/lib/async_decoder_impl.h
@@ -24,6 +24,7 @@
 #define INCLUDED_FEC_ASYNC_DECODER_IMPL_H
 
 #include <gnuradio/fec/async_decoder.h>
+#include <gnuradio/blocks/pack_k_bits.h>
 
 namespace gr {
   namespace fec {
@@ -35,12 +36,25 @@ namespace gr {
       size_t d_input_item_size;
       size_t d_output_item_size;
 
-      void decode(pmt::pmt_t msg);
+      pmt::pmt_t d_in_port;
+      pmt::pmt_t d_out_port;
+
+      blocks::kernel::pack_k_bits *d_pack;
+
+      bool d_packed;
+      bool d_rev_pack;
+
+      int d_max_bits_in;
+      float *d_tmp_f32;
+      int8_t *d_tmp_u8;
+      uint8_t *d_bits_out;
+
+      void decode_packed(pmt::pmt_t msg);
+      void decode_unpacked(pmt::pmt_t msg);
 
     public:
       async_decoder_impl(generic_decoder::sptr my_decoder,
-                         size_t input_item_size,
-                         size_t output_item_size);
+                         bool packed=false, bool rev_pack=true);
       ~async_decoder_impl();
 
       int general_work(int noutput_items,
-- 
cgit v1.2.3