summaryrefslogtreecommitdiff
path: root/gsm-receiver/src/lib/gsm_receiver_cf.h
diff options
context:
space:
mode:
Diffstat (limited to 'gsm-receiver/src/lib/gsm_receiver_cf.h')
-rw-r--r--gsm-receiver/src/lib/gsm_receiver_cf.h24
1 files changed, 13 insertions, 11 deletions
diff --git a/gsm-receiver/src/lib/gsm_receiver_cf.h b/gsm-receiver/src/lib/gsm_receiver_cf.h
index 21cb1ff..d32ad4c 100644
--- a/gsm-receiver/src/lib/gsm_receiver_cf.h
+++ b/gsm-receiver/src/lib/gsm_receiver_cf.h
@@ -36,12 +36,14 @@
#include <string>//!!
#include <map>//!!
+#define N_TCH_DECODER 7 /* for TS1..TS7 */
+
class gsm_receiver_cf;
typedef boost::shared_ptr<gsm_receiver_cf> gsm_receiver_cf_sptr;
typedef std::vector<gr_complex> vector_complex;
-gsm_receiver_cf_sptr gsm_make_receiver_cf(gr_feval_dd *tuner, gr_feval_dd *synchronizer, int osr, std::string key);
+gsm_receiver_cf_sptr gsm_make_receiver_cf(gr_feval_dd *tuner, gr_feval_dd *synchronizer, int osr, std::string key, std::string configuration);
/** GSM Receiver GNU Radio block
*
@@ -57,13 +59,8 @@ class gsm_receiver_cf : public gr_block
std::map<char,int> d_hex_to_int;
FILE * d_gsm_file; //!!
byte d_KC[8]; //!!
- GSM::TCHFACCHL1Decoder d_tch_decoder1; //!!
- GSM::TCHFACCHL1Decoder d_tch_decoder2; //!!
- GSM::TCHFACCHL1Decoder d_tch_decoder3; //!!
- GSM::TCHFACCHL1Decoder d_tch_decoder4; //!!
- GSM::TCHFACCHL1Decoder d_tch_decoder5; //!!
- GSM::TCHFACCHL1Decoder d_tch_decoder6; //!!
- GSM::TCHFACCHL1Decoder d_tch_decoder7; //!!
+ GSM::TCHFACCHL1Decoder *d_tch_decoder[N_TCH_DECODER]; //!!
+ bool d_trace_sch;
/**@name Configuration of the receiver */
//@{
const int d_OSR; ///< oversampling ratio
@@ -117,8 +114,8 @@ class gsm_receiver_cf : public gr_block
// GSM Stack
GS_CTX d_gs_ctx;//TODO: remove it! it'a not right place for a decoder
- friend gsm_receiver_cf_sptr gsm_make_receiver_cf(gr_feval_dd *tuner, gr_feval_dd *synchronizer, int osr, std::string key);
- gsm_receiver_cf(gr_feval_dd *tuner, gr_feval_dd *synchronizer, int osr, std::string key);
+ friend gsm_receiver_cf_sptr gsm_make_receiver_cf(gr_feval_dd *tuner, gr_feval_dd *synchronizer, int osr, std::string key, std::string configuration);
+ gsm_receiver_cf(gr_feval_dd *tuner, gr_feval_dd *synchronizer, int osr, std::string key, std::string configuration);
/** Function whis is used to search a FCCH burst and to compute frequency offset before
* "synchronized" state of the receiver
@@ -233,7 +230,12 @@ class gsm_receiver_cf : public gr_block
/**
*
*/
- void process_normal_burst(burst_counter burst_nr, const unsigned char * burst_binary);
+ void read_configuration(std::string configuration);
+
+ /**
+ *
+ */
+ void process_normal_burst(burst_counter burst_nr, const unsigned char * burst_binary, bool first_burst);
/**
*
personal git repositories of Harald Welte. Your mileage may vary