Update incorrectly checked in Makefile.am
[debian/gnuradio] / usrp2 / firmware / apps / double_buffer_fragment.c
1 #if 0
2 void 
3 double_buffering(int port) {
4   unsigned int localstatus = buffer_pool_status->status;
5
6   if(localstatus & BPS_DONE_0) {
7     bp_clear_buf(0);
8     if(buffer_state[0] == FILLING) {
9       buffer_state[0] = FULL;
10       if(buffer_state[1] == EMPTY) {
11         bp_receive_to_buf(1, 1, 1, 10, 509);  // DSP_RX to buffer 1, use 500 lines
12         buffer_state[1] = FILLING;
13       }
14       else
15         dsp_rx_idle = 1;
16       if(serdes_tx_idle) {
17         serdes_tx_idle = 0;
18         bp_send_from_buf(0, port, 1, 10, 509);  // SERDES_TX from buffer 0
19         buffer_state[0] = EMPTYING;
20       }
21     }
22     else {  // buffer was emptying
23       buffer_state[0] = EMPTY;
24       if(dsp_rx_idle) {
25         dsp_rx_idle = 0;
26         bp_receive_to_buf(0, 1, 1, 10, 509);  // DSP_RX to buffer 0, use 500 lines
27         buffer_state[0] = FILLING;
28       }
29       if(buffer_state[1] == FULL) {
30         bp_send_from_buf(1, port, 1, 10, 509);  // SERDES_TX from buffer 1
31         buffer_state[1] = EMPTYING;
32       }
33       else
34         serdes_tx_idle = 1;
35     }
36     putstr("Int Proc'ed 0\n");
37   }
38
39   if(localstatus & BPS_DONE_1) {
40     bp_clear_buf(1);
41     if(buffer_state[1] == FILLING) {
42       buffer_state[1] = FULL;
43       if(buffer_state[0] == EMPTY) {
44         bp_receive_to_buf(0, 1, 1, 10, 509);  // DSP_RX to buffer 1, use 500 lines
45         buffer_state[0] = FILLING;
46       }
47       else
48         dsp_rx_idle = 1;
49       if(serdes_tx_idle) {
50         serdes_tx_idle = 0;
51         bp_send_from_buf(1, port, 1, 10, 509);  // SERDES_TX from buffer 1
52         buffer_state[1] = EMPTYING;
53       }
54     }
55     else {  // buffer was emptying
56       buffer_state[1] = EMPTY;
57       if(dsp_rx_idle) {
58         dsp_rx_idle = 0;
59         bp_receive_to_buf(1, 1, 1, 10, 509);  // DSP_RX to buffer 1, use 500 lines
60         buffer_state[1] = FILLING;
61       }
62       if(buffer_state[0] == FULL) {
63         bp_send_from_buf(0, port, 1, 10, 509);  // SERDES_TX from buffer 0
64         buffer_state[0] = EMPTYING;
65       }
66       else
67         serdes_tx_idle = 1;
68     }
69   putstr("Int Proc'ed 1\n");
70   }
71
72   if(localstatus & BPS_DONE_2) {
73     bp_clear_buf(2);
74     if(buffer_state[2] == FILLING) {
75       buffer_state[2] = FULL;
76       if(buffer_state[3] == EMPTY) {
77         bp_receive_to_buf(3, port, 1, 5, 504);  // SERDES_RX to buffer 3, use 500 lines
78         buffer_state[3] = FILLING;
79       }
80       else
81         serdes_rx_idle = 1;
82       if(dsp_tx_idle) {
83         dsp_tx_idle = 0;
84         bp_send_from_buf(2, 1, 1, 5, 504);  // DSP_TX from buffer 2
85         buffer_state[2] = EMPTYING;
86       }
87     }
88     else {  // buffer was emptying
89       buffer_state[2] = EMPTY;
90       if(serdes_rx_idle) {
91         serdes_rx_idle = 0;
92         bp_receive_to_buf(2, port, 1, 5, 504);  // SERDES_RX to buffer 2
93         buffer_state[2] = FILLING;
94       }
95       if(buffer_state[3] == FULL) {
96         bp_send_from_buf(3, 1, 1, 5, 504);  // DSP_TX from buffer 3
97         buffer_state[3] = EMPTYING;
98       }
99       else
100         dsp_tx_idle = 1;
101     }
102   putstr("Int Proc'ed 2\n");
103   }
104
105   if(localstatus & BPS_DONE_3) {
106     bp_clear_buf(3);
107     if(buffer_state[3] == FILLING) {
108       buffer_state[3] = FULL;
109       if(buffer_state[2] == EMPTY) {
110         bp_receive_to_buf(2, port, 1, 5, 504);  // SERDES_RX to buffer 2, use 500 lines
111         buffer_state[2] = FILLING;
112       }
113       else
114         serdes_rx_idle = 1;
115       if(dsp_tx_idle) {
116         dsp_tx_idle = 0;
117         bp_send_from_buf(3, 1, 1, 5, 504);  // DSP_TX from buffer 3
118         buffer_state[3] = EMPTYING;
119       }
120     }
121     else {  // buffer was emptying
122       buffer_state[3] = EMPTY;
123       if(serdes_rx_idle) {
124         serdes_rx_idle = 0;
125         bp_receive_to_buf(3, port, 1, 5, 504);  // SERDES_RX to buffer 3
126         buffer_state[3] = FILLING;
127       }
128       if(buffer_state[2] == FULL) {
129         bp_send_from_buf(2, 1, 1, 5, 504);  // DSP_TX from buffer 2
130         buffer_state[2] = EMPTYING;
131       }
132       else
133         dsp_tx_idle = 1;
134     }
135   putstr("Int Proc'ed 3\n");
136   }
137 }
138 #endif