summaryrefslogtreecommitdiff
path: root/gsm-tvoid/src/lib
diff options
context:
space:
mode:
authortvoid <tvoid@lesaige.com>2008-04-07 18:58:43 -0600
committertvoid <tvoid@lesaige.com>2008-04-07 18:58:43 -0600
commit0be80293cac0d50ff5e6f8c757a9424501af3c60 (patch)
treee8d0eb4011f9ae5b48b19a4e0b63f28e719db55c /gsm-tvoid/src/lib
parent7a6d8fc1da77e11decd341e81ab6d65e46ae2eed (diff)
added burst callbacks for freq_offset and tune
Diffstat (limited to 'gsm-tvoid/src/lib')
-rwxr-xr-xgsm-tvoid/src/lib/gsm.i6
-rwxr-xr-xgsm-tvoid/src/lib/gsm_burst.cc11
-rwxr-xr-xgsm-tvoid/src/lib/gsm_burst.h15
3 files changed, 22 insertions, 10 deletions
diff --git a/gsm-tvoid/src/lib/gsm.i b/gsm-tvoid/src/lib/gsm.i
index 3925d12..76eb189 100755
--- a/gsm-tvoid/src/lib/gsm.i
+++ b/gsm-tvoid/src/lib/gsm.i
@@ -41,6 +41,9 @@
#define CLK_CORR_TRACK 0x00000010 //adjust timing based on correlation offsets
+#define BURST_CB_ADJ_OFFSET 1
+#define BURST_CB_TUNE 2
+
//EQ options
enum EQ_TYPE {
EQ_NONE,
@@ -71,6 +74,8 @@ public:
long d_unknown_count;
long d_total_count;
+ long next_arfcn;
+
int sync_state();
float last_freq_offset(void);
double mean_freq_offset(void);
@@ -78,6 +83,7 @@ public:
//Methods
void full_reset(void);
+
protected:
gsm_burst(gr_feval_ll *);
};
diff --git a/gsm-tvoid/src/lib/gsm_burst.cc b/gsm-tvoid/src/lib/gsm_burst.cc
index 6bec32c..162e12b 100755
--- a/gsm-tvoid/src/lib/gsm_burst.cc
+++ b/gsm-tvoid/src/lib/gsm_burst.cc
@@ -647,6 +647,10 @@ int gsm_burst::get_burst(void)
d_fcch_count++;
calc_freq_offset();
+ if (p_tuner) {
+ p_tuner->calleval(BURST_CB_ADJ_OFFSET);
+ }
+
d_ts = 0;
break;
case PARTIAL_SCH:
@@ -693,13 +697,6 @@ int gsm_burst::get_burst(void)
if (got_burst) {
d_total_count++;
- //do callback
- if (p_tuner) {
- //p_tuner->eval(1.0);
- long in=1;
- long out = -1;
- out = p_tuner->calleval(in);
- }
//print info
print_burst();
diff --git a/gsm-tvoid/src/lib/gsm_burst.h b/gsm-tvoid/src/lib/gsm_burst.h
index f1b45a6..080899a 100755
--- a/gsm-tvoid/src/lib/gsm_burst.h
+++ b/gsm-tvoid/src/lib/gsm_burst.h
@@ -70,6 +70,10 @@ enum EQ_TYPE {
EQ_VITERBI
};
+#define BURST_CB_ADJ_OFFSET 1
+#define BURST_CB_TUNE 2
+
+
class gsm_burst;
class gsm_burst
@@ -167,12 +171,17 @@ public:
unsigned long d_print_options;
EQ_TYPE d_equalizer_type;
- int sync_state() { return d_sync_state;}
- float last_freq_offset() {return d_freq_offset;}
- double mean_freq_offset(void);
//Methods
void full_reset(void);
+
+ int sync_state() { return d_sync_state;}
+
+ //Frequency
+ float last_freq_offset() {return d_freq_offset;}
+ double mean_freq_offset(void);
+
+ long next_arfcn;
};
personal git repositories of Harald Welte. Your mileage may vary