comparison gsm-fw/L1/cfile/tch_feature.c @ 1032:6e7dd5e52650

gsm-fw feature tch-reroute: B_PLAY_UL (uplink substitution) bug fixed
author Mychaela Falconia <falcon@freecalypso.org>
date Wed, 01 Jun 2016 01:24:15 +0000
parents 6312f684cef1
children
comparison
equal deleted inserted replaced
1031:6312f684cef1 1032:6e7dd5e52650
63 int i; 63 int i;
64 64
65 read_ptr = ul_read_ptr; 65 read_ptr = ul_read_ptr;
66 if (read_ptr == ul_write_ptr) { 66 if (read_ptr == ul_write_ptr) {
67 /* no uplink substitution */ 67 /* no uplink substitution */
68 l1s_dsp_com.dsp_ndb_ptr->d_tch_mode &= ~(1 << B_PLAY_UL); 68 l1s_dsp_com.dsp_ndb_ptr->d_tch_mode &= ~B_PLAY_UL;
69 return; 69 return;
70 } 70 }
71 for (i = 0; i < WORDS_PER_ENTRY; i++) 71 for (i = 0; i < WORDS_PER_ENTRY; i++)
72 dsp_buffer[i+3] = uplink_data[read_ptr][i]; 72 dsp_buffer[i+3] = uplink_data[read_ptr][i];
73 // Fill data block Header... 73 // Fill data block Header...
74 dsp_buffer[0] = (1 << B_BLUD); // 1st word: Set B_BLU bit. 74 dsp_buffer[0] = (1 << B_BLUD); // 1st word: Set B_BLU bit.
75 dsp_buffer[1] = 0; // 2nd word: cleared. 75 dsp_buffer[1] = 0; // 2nd word: cleared.
76 dsp_buffer[2] = 0; // 3rd word: cleared. 76 dsp_buffer[2] = 0; // 3rd word: cleared.
77 l1s_dsp_com.dsp_ndb_ptr->d_tch_mode |= (1 << B_PLAY_UL); 77 l1s_dsp_com.dsp_ndb_ptr->d_tch_mode |= B_PLAY_UL;
78 /* advance the read pointer and send TCH_ULBITS_CONF */ 78 /* advance the read pointer and send TCH_ULBITS_CONF */
79 read_ptr++; 79 read_ptr++;
80 if (read_ptr >= UPLINK_QUEUE_SIZE) 80 if (read_ptr >= UPLINK_QUEUE_SIZE)
81 read_ptr = 0; 81 read_ptr = 0;
82 ul_read_ptr = read_ptr; 82 ul_read_ptr = read_ptr;