commit-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Commit-gnuradio] [gnuradio] 03/07: fec: add getter to 'ber_bf' total_er


From: git
Subject: [Commit-gnuradio] [gnuradio] 03/07: fec: add getter to 'ber_bf' total_errors member, change counter types to long
Date: Wed, 7 Oct 2015 20:51:23 +0000 (UTC)

This is an automated email from the git hooks/post-receive script.

jcorgan pushed a commit to branch master
in repository gnuradio.

commit 13f92e3e953f17735e1ff4d65c00ca2621fd6d99
Author: Johannes Demel <address@hidden>
Date:   Thu Sep 24 19:02:27 2015 +0200

    fec: add getter to 'ber_bf' total_errors member, change counter types to 
long
---
 gr-fec/include/gnuradio/fec/ber_bf.h | 5 +++++
 gr-fec/lib/ber_bf_impl.cc            | 3 ++-
 gr-fec/lib/ber_bf_impl.h             | 6 ++++--
 3 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/gr-fec/include/gnuradio/fec/ber_bf.h 
b/gr-fec/include/gnuradio/fec/ber_bf.h
index 2aa01c9..5128d98 100644
--- a/gr-fec/include/gnuradio/fec/ber_bf.h
+++ b/gr-fec/include/gnuradio/fec/ber_bf.h
@@ -67,6 +67,11 @@ namespace gr {
       typedef boost::shared_ptr<ber_bf> sptr;
 
       /*!
+       * Get total number of errors counter value.
+       */
+      virtual long total_errors() = 0;
+
+      /*!
        * Calculate the BER between two streams of data.
        *
        * \param test_mode false for normal streaming mode (default);
diff --git a/gr-fec/lib/ber_bf_impl.cc b/gr-fec/lib/ber_bf_impl.cc
index 6e3dc85..5fd3ef0 100644
--- a/gr-fec/lib/ber_bf_impl.cc
+++ b/gr-fec/lib/ber_bf_impl.cc
@@ -96,7 +96,8 @@ namespace gr {
                     % d_total_errors % (d_total * 8) % outbuffer[0]);
             return 1;
           }
-          else if(calculate_log_ber() < d_ber_limit){
+          // check for total_errors to prevent early shutdown at high SNR 
simulations
+          else if(calculate_log_ber() < d_ber_limit && d_total_errors > 0){
             GR_LOG_INFO(d_logger, "    Min. BER limit reached");
             outbuffer[0] = d_ber_limit;
             d_total_errors = d_berminerrors + 1;
diff --git a/gr-fec/lib/ber_bf_impl.h b/gr-fec/lib/ber_bf_impl.h
index 15c747f..75724a4 100644
--- a/gr-fec/lib/ber_bf_impl.h
+++ b/gr-fec/lib/ber_bf_impl.h
@@ -31,8 +31,8 @@ namespace gr {
     class FEC_API ber_bf_impl : public ber_bf
     {
     private:
-      int d_total_errors;
-      int d_total;
+      long d_total_errors;
+      long d_total;
       bool d_test_mode;
       int d_berminerrors;
       float d_ber_limit;
@@ -48,6 +48,8 @@ namespace gr {
                        gr_vector_int& ninput_items,
                        gr_vector_const_void_star &input_items,
                        gr_vector_void_star &output_items);
+
+      long total_errors() {return d_total_errors;};
     };
 
   } /* namespace fec */



reply via email to

[Prev in Thread] Current Thread [Next in Thread]