commit-gnuradio
[Top][All Lists]
Advanced

[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)





reply via email to

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