summaryrefslogtreecommitdiff
path: root/gr-fec/lib/cc_encoder_impl.h
diff options
context:
space:
mode:
authorTom Rondeau <tom@trondeau.com>2014-05-04 14:24:50 -0400
committerTom Rondeau <tom@trondeau.com>2014-05-17 17:45:14 -0400
commit9a4494904c77c8516c90f2c2a18518065fe36375 (patch)
treea9981632abad78e00c196e8305105fcaf5019ba4 /gr-fec/lib/cc_encoder_impl.h
parentfb1d5f822e3a273db88b2087b8d53be67725d232 (diff)
fec: updating puncturing, adding documentation, adding CCSDS encoder.
Diffstat (limited to 'gr-fec/lib/cc_encoder_impl.h')
-rw-r--r--gr-fec/lib/cc_encoder_impl.h25
1 files changed, 13 insertions, 12 deletions
diff --git a/gr-fec/lib/cc_encoder_impl.h b/gr-fec/lib/cc_encoder_impl.h
index e7a17bd358..008887559b 100644
--- a/gr-fec/lib/cc_encoder_impl.h
+++ b/gr-fec/lib/cc_encoder_impl.h
@@ -14,7 +14,7 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
+p * You should have received a copy of the GNU General Public License
* along with GNU Radio; see the file COPYING. If not, write to
* the Free Software Foundation, Inc., 51 Franklin Street,
* Boston, MA 02110-1301, USA.
@@ -35,13 +35,14 @@ namespace gr {
{
private:
//plug into the generic fec api
- void generic_work(void *inBuffer, void *outbuffer);
+ void generic_work(void *inbuffer, void *outbuffer);
int get_output_size();
int get_input_size();
//everything else...
unsigned char Partab[256];
- unsigned int d_framebits;
+ unsigned int d_frame_size;
+ unsigned int d_max_frame_size;
unsigned int d_rate;
unsigned int d_k;
std::vector<int> d_polys;
@@ -49,21 +50,21 @@ namespace gr {
int d_numstates;
int d_decision_t_size;
int d_start_state;
- bool d_tailbiting;
- bool d_terminated;
- bool d_truncated;
- bool d_streaming;
+ cc_mode_t d_mode;
+ int d_output_size;
+
int parity(int x);
int parityb(unsigned char x);
void partab_init(void);
public:
- cc_encoder_impl(int framebits, int k,
- int rate, std::vector<int> polys,
- int start_state = 0, int end_state = 0,
- bool tailbiting = false, bool terminated = false,
- bool truncated = false, bool streaming = true);
+ cc_encoder_impl(int frame_size, int k, int rate,
+ std::vector<int> polys, int start_state = 0,
+ cc_mode_t mode=CC_STREAMING);
~cc_encoder_impl();
+
+ bool set_frame_size(unsigned int frame_size);
+ double rate();
};
} /* namespace code */