[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commit-gnuradio] r3583 - gnuradio/branches/developers/jcorgan/pager/gr-
From: |
jcorgan |
Subject: |
[Commit-gnuradio] r3583 - gnuradio/branches/developers/jcorgan/pager/gr-pager/src |
Date: |
Tue, 19 Sep 2006 00:38:40 -0600 (MDT) |
Author: jcorgan
Date: 2006-09-19 00:38:40 -0600 (Tue, 19 Sep 2006)
New Revision: 3583
Modified:
gnuradio/branches/developers/jcorgan/pager/gr-pager/src/flex_demod.py
gnuradio/branches/developers/jcorgan/pager/gr-pager/src/pager_flex_message.cc
gnuradio/branches/developers/jcorgan/pager/gr-pager/src/pager_flex_message.h
gnuradio/branches/developers/jcorgan/pager/gr-pager/src/usrp_flex.py
Log:
Work in progress
Modified: gnuradio/branches/developers/jcorgan/pager/gr-pager/src/flex_demod.py
===================================================================
--- gnuradio/branches/developers/jcorgan/pager/gr-pager/src/flex_demod.py
2006-09-19 06:38:39 UTC (rev 3582)
+++ gnuradio/branches/developers/jcorgan/pager/gr-pager/src/flex_demod.py
2006-09-19 06:38:40 UTC (rev 3583)
@@ -51,7 +51,8 @@
LPF = gr.fir_filter_fff(1, taps)
SLICER = pager_swig.slicer_fb(.001, .00001) # Attack, decay
DEFRAMER = pager_swig.flex_deframer(channel_rate)
-
- fg.connect(QUAD, LPF, SLICER, DEFRAMER)
+ MESSAGE = pager_swig.flex_message()
- gr.hier_block.__init__(self, fg, QUAD, DEFRAMER)
+ fg.connect(QUAD, LPF, SLICER, DEFRAMER, MESSAGE)
+
+ gr.hier_block.__init__(self, fg, QUAD, MESSAGE)
Modified:
gnuradio/branches/developers/jcorgan/pager/gr-pager/src/pager_flex_message.cc
===================================================================
---
gnuradio/branches/developers/jcorgan/pager/gr-pager/src/pager_flex_message.cc
2006-09-19 06:38:39 UTC (rev 3582)
+++
gnuradio/branches/developers/jcorgan/pager/gr-pager/src/pager_flex_message.cc
2006-09-19 06:38:40 UTC (rev 3583)
@@ -47,8 +47,35 @@
void pager_flex_message::enter_start()
{
d_state = ST_START;
+ d_mode = -1;
}
+void pager_flex_message::enter_fiw()
+{
+ d_state = ST_FIW;
+}
+
+void pager_flex_message::enter_data()
+{
+ d_state = ST_DATA;
+ d_codewords = flex_modes[d_mode].phases*88;
+}
+
+void pager_flex_message::enter_output()
+{
+ d_state = ST_OUTPUT;
+}
+
+void pager_flex_message::parse_fiw(gr_int32 fiw)
+{
+ printf("FIW (raw) = %08X\n", fiw);
+}
+
+void pager_flex_message::parse_codeword(gr_int32 code)
+{
+ printf("CODE = %08X\n", code);
+}
+
int pager_flex_message::general_work(int noutput_items,
gr_vector_int &ninput_items,
gr_vector_const_void_star &input_items,
@@ -63,8 +90,28 @@
while (i < ninputs && j < noutput_items) {
switch (d_state) {
case ST_START:
+ d_mode = find_flex_mode(*in++); i++;
+ if (d_mode >= 0) {
+ printf("Flex mode = %i, sync code =
%08X\n", d_mode, flex_modes[d_mode].sync);
+ enter_fiw();
+ }
break;
+ case ST_FIW:
+ parse_fiw(*in++); i++;
+ enter_data();
+ break;
+
+ case ST_DATA:
+ parse_codeword(*in++); i++;
+ if (--d_codewords == 0)
+ enter_output();
+ break;
+
+ case ST_OUTPUT:
+ enter_start();
+ break;
+
default:
assert(0); // memory corruption of d_state if ever gets here
break;
Modified:
gnuradio/branches/developers/jcorgan/pager/gr-pager/src/pager_flex_message.h
===================================================================
---
gnuradio/branches/developers/jcorgan/pager/gr-pager/src/pager_flex_message.h
2006-09-19 06:38:39 UTC (rev 3582)
+++
gnuradio/branches/developers/jcorgan/pager/gr-pager/src/pager_flex_message.h
2006-09-19 06:38:40 UTC (rev 3583)
@@ -44,11 +44,20 @@
// State machine transitions
void enter_start();
+ void enter_fiw();
+ void enter_data();
+ void enter_output();
+ void parse_fiw(gr_int32 fiw);
+ void parse_codeword(gr_int32 code);
+
// Simple state machine
- enum state_t { ST_START };
+ enum state_t { ST_START, ST_FIW, ST_DATA, ST_OUTPUT };
state_t d_state;
+ int d_mode; // Current FLEX mode of operation
+ int d_codewords; // Codewords remaining in frame
+
public:
~pager_flex_message();
Modified: gnuradio/branches/developers/jcorgan/pager/gr-pager/src/usrp_flex.py
===================================================================
--- gnuradio/branches/developers/jcorgan/pager/gr-pager/src/usrp_flex.py
2006-09-19 06:38:39 UTC (rev 3582)
+++ gnuradio/branches/developers/jcorgan/pager/gr-pager/src/usrp_flex.py
2006-09-19 06:38:40 UTC (rev 3583)
@@ -115,7 +115,7 @@
FLEX = pager.flex_demod(self, 32000)
- SINK = gr.file_sink(4, options.filename)
+ SINK = gr.file_sink(1, options.filename)
self.connect(USRP, CHAN)
self.connect(CHAN, RFSQL)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Commit-gnuradio] r3583 - gnuradio/branches/developers/jcorgan/pager/gr-pager/src,
jcorgan <=