Commit ab0833f5775841f2a3d0546d7a439b475d0675db

Authored by luozhesi
1 parent ef23a3c3

add wireless mic moudle

@@ -360,3 +360,6 @@ upgrade_bin/binGenerationTools_for_USB_SD_Upgrade/usb_sd_upgrade_base_bin_201909 @@ -360,3 +360,6 @@ upgrade_bin/binGenerationTools_for_USB_SD_Upgrade/usb_sd_upgrade_base_bin_201909
360 upgrade_bin/binGenerationTools_for_USB_SD_Upgrade/usb_sd_upgrade_base_bin_20191120.zip 360 upgrade_bin/binGenerationTools_for_USB_SD_Upgrade/usb_sd_upgrade_base_bin_20191120.zip
361 upgrade_bin/binGenerationTools_for_USB_SD_Upgrade/usb_sd_upgrade_base.bin 361 upgrade_bin/binGenerationTools_for_USB_SD_Upgrade/usb_sd_upgrade_base.bin
362 upgrade_bin/binGenerationTools_for_USB_SD_Upgrade/xt-objcopy.exe 362 upgrade_bin/binGenerationTools_for_USB_SD_Upgrade/xt-objcopy.exe
  363 +bin/Optek_HiFi3_prod/Debug/BlueSea_OPTEK_LINK_SDK
  364 +BlueSea_OPTEK_LINK_SDK.zip
  365 +.gitignore
@@ -219,8 +219,9 @@ lib/optek_lib_freeRTOS.a @@ -219,8 +219,9 @@ lib/optek_lib_freeRTOS.a
219 /*lib/optek_lib_freeRTOS_Debug.a*/ 219 /*lib/optek_lib_freeRTOS_Debug.a*/
220 220
221 221
222 -lib/optek_link_5ms.a 222 +/*lib/optek_link_5ms.a*/
223 /*lib/optek_link_5ms_for_swf.a*/ 223 /*lib/optek_link_5ms_for_swf.a*/
  224 +lib/optek_link_5ms_for_mic.a
224 /* 225 /*
225 lib/optek_link_7p5ms.a 226 lib/optek_link_7p5ms.a
226 */ 227 */
No preview for this file type
@@ -376,14 +376,29 @@ XA_ERRORCODE xa_lc3_dec_main_process_init(U32 bitrate,U16 samplerate,U8 channels @@ -376,14 +376,29 @@ XA_ERRORCODE xa_lc3_dec_main_process_init(U32 bitrate,U16 samplerate,U8 channels
376 376
377 if (app_main_data.share_link_role == SL_ROLE_MASTER) 377 if (app_main_data.share_link_role == SL_ROLE_MASTER)
378 { 378 {
379 - if (frame_Time_ms == 5.0)  
380 - #ifdef UPSTREAM_SAMPLERATE_48k  
381 - arg.enc_frame_bytes = 30;  
382 - #else  
383 - arg.enc_frame_bytes = 25;  
384 - #endif  
385 - else  
386 - arg.enc_frame_bytes = 37; 379 + #ifdef OPL_MODE_WIRELESS_MIC
  380 + if (optek_link_mode == WIRELESS_MIC_PT2P5MS_T7R1 || optek_link_mode == WIRELESS_MIC_48K_PT2P5MS_T7R1M)
  381 + {
  382 + arg.enc_frame_bytes = 25;
  383 + }
  384 + else if (optek_link_mode == WIRELESS_MIC_PT2P5MS_LP)
  385 + {
  386 + arg.enc_frame_bytes = 25;
  387 + }
  388 + else
  389 + {
  390 + arg.enc_frame_bytes = 50;
  391 + }
  392 + #else
  393 + if (frame_Time_ms == 5.0)
  394 + #ifdef UPSTREAM_SAMPLERATE_48k
  395 + arg.enc_frame_bytes = 30;
  396 + #else
  397 + arg.enc_frame_bytes = 25;
  398 + #endif
  399 + else
  400 + arg.enc_frame_bytes = 37;
  401 + #endif
387 402
388 } 403 }
389 404
@@ -775,6 +790,45 @@ void lc3_dec_main_process_init_for_master(void) @@ -775,6 +790,45 @@ void lc3_dec_main_process_init_for_master(void)
775 { 790 {
776 if(app_main_data.share_link_role == SL_ROLE_MASTER) 791 if(app_main_data.share_link_role == SL_ROLE_MASTER)
777 { 792 {
  793 + #ifdef OPL_MODE_WIRELESS_MIC
  794 + if(app_main_data.share_link_role == SL_ROLE_MASTER)
  795 + {
  796 + U32 bitrate;
  797 + float ptms;
  798 +
  799 + if (optek_link_mode == WIRELESS_MIC_PT2P5MS_T7R1 || optek_link_mode == WIRELESS_MIC_48K_PT2P5MS_T7R1M)
  800 + {
  801 + app_main_data.playing_stream_chans = 1;
  802 + ptms = 2.5;
  803 + bitrate = 80000;
  804 + }
  805 + else if (optek_link_mode == WIRELESS_MIC_PT2P5MS_LP)
  806 + {
  807 + app_main_data.playing_stream_chans = 1;
  808 + ptms = 2.5;
  809 + bitrate = 96000;
  810 + }
  811 + else
  812 + {
  813 + ptms = 5.0;
  814 + if (optek_link_mode == WIRELESS_MIC_PT5MS_LP || optek_link_mode == WIRELESS_MIC_PT5MS_T10_R2_LP || optek_link_mode == WIRELESS_MIC_48K_PT5MS_T10_R2M_LP)
  815 + {
  816 + app_main_data.playing_stream_chans = 1;
  817 + bitrate = 80000;
  818 + }
  819 + else
  820 + {
  821 + app_main_data.playing_stream_chans = 2;
  822 + bitrate = 160000;
  823 + }
  824 + }
  825 +
  826 + if (xa_lc3_dec_main_process_init(bitrate,48000,1,ptms) != XA_NO_ERROR)
  827 + {
  828 + DBG_Printf("lc3 dec error!--\r\n");
  829 + }
  830 + }
  831 + #else
778 if (optek_link_mode == GAME_HEADPHONE_PT7P5MS_T7R3E || optek_link_mode == BC_SF48K_PT7P5MS) 832 if (optek_link_mode == GAME_HEADPHONE_PT7P5MS_T7R3E || optek_link_mode == BC_SF48K_PT7P5MS)
779 { 833 {
780 if (xa_lc3_dec_main_process_init(39467,24000,1,7.5) != XA_NO_ERROR) 834 if (xa_lc3_dec_main_process_init(39467,24000,1,7.5) != XA_NO_ERROR)
@@ -796,7 +850,7 @@ void lc3_dec_main_process_init_for_master(void) @@ -796,7 +850,7 @@ void lc3_dec_main_process_init_for_master(void)
796 } 850 }
797 #endif 851 #endif
798 } 852 }
799 - 853 + #endif
800 } 854 }
801 } 855 }
802 856
@@ -888,7 +942,7 @@ XA_ERRORCODE xa_lc3_dec_frame (U8 **pout_buf, U16 *out_byte_len) @@ -888,7 +942,7 @@ XA_ERRORCODE xa_lc3_dec_frame (U8 **pout_buf, U16 *out_byte_len)
888 lost_cnt = 0; 942 lost_cnt = 0;
889 nedd_decode_frames = master_rev_flag-1; 943 nedd_decode_frames = master_rev_flag-1;
890 master_rev_flag = 0; 944 master_rev_flag = 0;
891 - memcpy(inp_buf,rx_data_buf,nBytes*2); 945 + memcpy(inp_buf,rx_data_buf,nBytes+nBytes*nedd_decode_frames);
892 } 946 }
893 else 947 else
894 { 948 {
@@ -712,6 +712,8 @@ void app_nav_rmt_convert_aux(void) @@ -712,6 +712,8 @@ void app_nav_rmt_convert_aux(void)
712 #endif 712 #endif
713 #elif defined OPL_MODE_SWF 713 #elif defined OPL_MODE_SWF
714 app_change_mode_req(SUBW_SF48K_PT2P5MS,24,6); 714 app_change_mode_req(SUBW_SF48K_PT2P5MS,24,6);
  715 + #elif defined OPL_MODE_WIRELESS_MIC
  716 + app_change_mode_req(WIRELESS_MIC_48K_PT5MS_T10_R2M_LP,OPTEK_LINK_MASTER_NO_RX_LEN,50);
715 #endif 717 #endif
716 718
717 app_timer_window_time_set(0); 719 app_timer_window_time_set(0);
@@ -190,7 +190,10 @@ void app_nav_rmt_convert_bt_hci(void) @@ -190,7 +190,10 @@ void app_nav_rmt_convert_bt_hci(void)
190 { 190 {
191 #if (defined OPL_MODE_TWO_WAY || defined OPL_MODE_SINGLE_WAY) 191 #if (defined OPL_MODE_TWO_WAY || defined OPL_MODE_SINGLE_WAY)
192 uDecSend(DECODE_SET,DECODE_LC3); 192 uDecSend(DECODE_SET,DECODE_LC3);
193 -#else 193 +#elif defined OPL_MODE_WIRELESS_MIC
  194 + uDecSend (DECODE_INIT, 0);
  195 + uDecSend(DECODE_SET,DECODE_PCM);
  196 +#else
194 uDecSend(DECODE_SET,DECODE_PCM_DOWNSAMPLE); 197 uDecSend(DECODE_SET,DECODE_PCM_DOWNSAMPLE);
195 #endif 198 #endif
196 } 199 }
@@ -405,7 +405,7 @@ void app_dac_receive_pcm_enable(U8 con) @@ -405,7 +405,7 @@ void app_dac_receive_pcm_enable(U8 con)
405 if (optek_link_mode == GAME_HEADPHONE_PT7P5MS_T7R3E || optek_link_mode == BC_SF48K_PT7P5MS) 405 if (optek_link_mode == GAME_HEADPHONE_PT7P5MS_T7R3E || optek_link_mode == BC_SF48K_PT7P5MS)
406 DMA_Channel2_Init(pDmaDest, pDmaSrc, 16*11+48, DmaSel); 406 DMA_Channel2_Init(pDmaDest, pDmaSrc, 16*11+48, DmaSel);
407 else 407 else
408 - DMA_Channel2_Init(pDmaDest, pDmaSrc, 16*7+48, DmaSel); 408 + DMA_Channel2_Init(pDmaDest, pDmaSrc, 16*6+48, DmaSel);
409 #endif 409 #endif
410 } 410 }
411 } 411 }
@@ -436,6 +436,7 @@ void Dma_0_TransmitIsr(void) @@ -436,6 +436,7 @@ void Dma_0_TransmitIsr(void)
436 U16 len; 436 U16 len;
437 int *pBuf,i; 437 int *pBuf,i;
438 438
  439 + #ifndef OPL_MODE_WIRELESS_MIC
439 if (app_main_data.share_link_role == SL_ROLE_SLAVE) 440 if (app_main_data.share_link_role == SL_ROLE_SLAVE)
440 { 441 {
441 DMA_8_COUNT = 0; 442 DMA_8_COUNT = 0;
@@ -446,6 +447,7 @@ void Dma_0_TransmitIsr(void) @@ -446,6 +447,7 @@ void Dma_0_TransmitIsr(void)
446 DMA_8_COUNT = DMA_UNDERFLOW_DELAY_COUNT; 447 DMA_8_COUNT = DMA_UNDERFLOW_DELAY_COUNT;
447 } 448 }
448 else 449 else
  450 + #endif
449 { 451 {
450 //if (decode_type == DECODE_PCM || app_main_data.share_link_role != SL_ROLE_BT) 452 //if (decode_type == DECODE_PCM || app_main_data.share_link_role != SL_ROLE_BT)
451 // return; 453 // return;
@@ -381,6 +381,8 @@ u8 bt_flash_get_multiroom_role (void); @@ -381,6 +381,8 @@ u8 bt_flash_get_multiroom_role (void);
381 app_change_mode_req(TEST_MODE,MASTER_MAX_TX_LEN,SLAVE_MAX_TX_LEN); 381 app_change_mode_req(TEST_MODE,MASTER_MAX_TX_LEN,SLAVE_MAX_TX_LEN);
382 #elif defined OPL_MODE_SWF 382 #elif defined OPL_MODE_SWF
383 app_change_mode_req(SUBW_SF48K_PT2P5MS,24,6); 383 app_change_mode_req(SUBW_SF48K_PT2P5MS,24,6);
  384 + #elif defined OPL_MODE_WIRELESS_MIC
  385 + app_change_mode_req(WIRELESS_MIC_48K_PT5MS_T10_R2M_LP,OPTEK_LINK_MASTER_NO_RX_LEN,50);
384 #endif 386 #endif
385 } 387 }
386 else 388 else
@@ -130,12 +130,33 @@ int pcm_dec_decode_frame(U8 **pout,U16 *plen) @@ -130,12 +130,33 @@ int pcm_dec_decode_frame(U8 **pout,U16 *plen)
130 U8 *p; 130 U8 *p;
131 U16 size,i; 131 U16 size,i;
132 132
133 - #ifdef LC3_ENCODE_ENABLE  
134 - int app_lc3_part_encoding_code_text_copy(void);  
135 - app_lc3_part_encoding_code_text_copy(); 133 + #ifdef OPL_MODE_WIRELESS_MIC
  134 + if(app_main_data.share_link_role == SL_ROLE_SLAVE)
  135 + {
  136 + #ifdef LC3_ENCODE_ENABLE
  137 + int app_lc3_part_encoding_code_text_copy(void);
  138 + app_lc3_part_encoding_code_text_copy();
  139 + #endif
  140 + }
  141 + #else
  142 + #ifdef LC3_ENCODE_ENABLE
  143 + int app_lc3_part_encoding_code_text_copy(void);
  144 + app_lc3_part_encoding_code_text_copy();
  145 + #endif
136 #endif 146 #endif
137 147
138 - p = wait_decode_data(); 148 + #ifdef OPL_MODE_WIRELESS_MIC
  149 + if(app_main_data.share_link_role == SL_ROLE_SLAVE)
  150 + {
  151 + p = wait_decode_data();
  152 + }
  153 + else
  154 + {
  155 + p = NULL;
  156 + }
  157 + #else
  158 + p = wait_decode_data();
  159 + #endif
139 160
140 if (discard_frame_cnt) 161 if (discard_frame_cnt)
141 { 162 {
@@ -1348,6 +1369,8 @@ void taskDec(void *pvParameters) @@ -1348,6 +1369,8 @@ void taskDec(void *pvParameters)
1348 dec_frame_size = 240*4; 1369 dec_frame_size = 240*4;
1349 #elif defined OPL_MODE_SINGLE_WAY 1370 #elif defined OPL_MODE_SINGLE_WAY
1350 dec_frame_size = 240*4; 1371 dec_frame_size = 240*4;
  1372 + #elif defined OPL_MODE_WIRELESS_MIC
  1373 + dec_frame_size = 240*4;
1351 #else 1374 #else
1352 dec_frame_size = 120*4; 1375 dec_frame_size = 120*4;
1353 #endif 1376 #endif
@@ -1375,12 +1398,22 @@ void taskDec(void *pvParameters) @@ -1375,12 +1398,22 @@ void taskDec(void *pvParameters)
1375 } 1398 }
1376 #endif 1399 #endif
1377 1400
1378 - #ifdef LC3_DECODE_ENABLE  
1379 - if ((optek_link_mode == GAME_HEADPHONE_PT_5MS_LP || optek_link_mode == GAME_HEADPHONE_PT7P5MS_T7R3E)||(app_main_data.share_link_role == SL_ROLE_SLAVE))  
1380 - {  
1381 - int app_lc3_decoding_code_text_copy(void);  
1382 - app_lc3_decoding_code_text_copy();  
1383 - } 1401 + #ifdef OPL_MODE_WIRELESS_MIC
  1402 + #ifdef LC3_DECODE_ENABLE
  1403 + if (app_main_data.share_link_role == SL_ROLE_MASTER)
  1404 + {
  1405 + int app_lc3_decoding_code_text_copy(void);
  1406 + app_lc3_decoding_code_text_copy();
  1407 + }
  1408 + #endif
  1409 + #else
  1410 + #ifdef LC3_DECODE_ENABLE
  1411 + if ((optek_link_mode == GAME_HEADPHONE_PT_5MS_LP || optek_link_mode == GAME_HEADPHONE_PT7P5MS_T7R3E)||(app_main_data.share_link_role == SL_ROLE_SLAVE))
  1412 + {
  1413 + int app_lc3_decoding_code_text_copy(void);
  1414 + app_lc3_decoding_code_text_copy();
  1415 + }
  1416 + #endif
1384 #endif 1417 #endif
1385 } 1418 }
1386 #endif 1419 #endif
@@ -1583,29 +1616,78 @@ void taskDec(void *pvParameters) @@ -1583,29 +1616,78 @@ void taskDec(void *pvParameters)
1583 continue; 1616 continue;
1584 } 1617 }
1585 1618
1586 - #if (defined OPL_MASTER_ENABLE)  
1587 - if(app_main_data.share_link_role == SL_ROLE_MASTER)  
1588 - {  
1589 - #ifdef LC3_ENCODE_ENABLE  
1590 - int app_lc3_part_encoding_code_text_copy(void);  
1591 - app_lc3_part_encoding_code_text_copy();  
1592 - #endif 1619 + #ifdef OPL_MODE_WIRELESS_MIC
  1620 + if(app_main_data.share_link_role == SL_ROLE_SLAVE)
  1621 + {
  1622 + #ifdef LC3_ENCODE_ENABLE
  1623 + int app_lc3_part_encoding_code_text_copy(void);
  1624 + app_lc3_part_encoding_code_text_copy();
  1625 + #endif
  1626 +
  1627 + //optek_hifi2_24b_to_16b(pDacbuf,pDacbuf,(samples<<1));
  1628 + if (decode_type == DECODE_PCM)
  1629 + csbm_put_tx_unencoded_data(pOut,AD_PCM_BLOCK_SIZE);
  1630 + else
  1631 + csbm_put_tx_unencoded_data(pOut,len);
1593 1632
1594 - //optek_hifi2_24b_to_16b(pDacbuf,pDacbuf,(samples<<1));  
1595 - if (decode_type == DECODE_PCM)  
1596 - csbm_put_tx_unencoded_data(pOut,AD_PCM_BLOCK_SIZE); 1633 + #if 0//(SHARE_LINK_MODE != SL_TWO_WAY_AV && SHARE_LINK_MODE != SL_TWO_WAY_VV)
  1634 + fifo_put_data(&audio_delay_fifo,pDacbuf,samples<<2);
  1635 + fifo_get_data(&audio_delay_fifo,pDacbuf,samples<<2);
  1636 + #endif
  1637 +
  1638 + //optek_hifi2_16b_to_24b(pDacbuf,pDacbuf,(samples<<1));
  1639 + }
1597 else 1640 else
1598 - csbm_put_tx_unencoded_data(pOut,len); 1641 + {
  1642 + if (app_main_data.share_link_role == SL_ROLE_MASTER)
  1643 + {
  1644 + U16 dec_len;
  1645 + //if (master_rev_flag)
  1646 + {
  1647 +
  1648 + xa_lc3_dec_frame(&pOut_up,&dec_len);
1599 1649
1600 - #if 0//(SHARE_LINK_MODE != SL_TWO_WAY_AV && SHARE_LINK_MODE != SL_TWO_WAY_VV)  
1601 - fifo_put_data(&audio_delay_fifo,pDacbuf,samples<<2);  
1602 - fifo_get_data(&audio_delay_fifo,pDacbuf,samples<<2); 1650 + if (dec_len == 0)
  1651 + {
  1652 + dec_len = len;
  1653 +
  1654 + memset(pOut_up,0,dec_len);
  1655 + }
  1656 +
  1657 + //master_rev_flag = 0xff;
  1658 + if (fifo_put_data(&AdcInFifo, pOut_up,dec_len) != dec_len)
  1659 + {
  1660 + //DBG_Printf("usbdev upstream overflow\r\n");
  1661 + }
  1662 + }
  1663 + }
  1664 + }
  1665 + #else
  1666 + #if (defined OPL_MASTER_ENABLE)
  1667 + if(app_main_data.share_link_role == SL_ROLE_MASTER)
  1668 + {
  1669 + #ifdef LC3_ENCODE_ENABLE
  1670 + int app_lc3_part_encoding_code_text_copy(void);
  1671 + app_lc3_part_encoding_code_text_copy();
  1672 + #endif
  1673 +
  1674 + //optek_hifi2_24b_to_16b(pDacbuf,pDacbuf,(samples<<1));
  1675 + if (decode_type == DECODE_PCM)
  1676 + csbm_put_tx_unencoded_data(pOut,AD_PCM_BLOCK_SIZE);
  1677 + else
  1678 + csbm_put_tx_unencoded_data(pOut,len);
  1679 +
  1680 + #if 0//(SHARE_LINK_MODE != SL_TWO_WAY_AV && SHARE_LINK_MODE != SL_TWO_WAY_VV)
  1681 + fifo_put_data(&audio_delay_fifo,pDacbuf,samples<<2);
  1682 + fifo_get_data(&audio_delay_fifo,pDacbuf,samples<<2);
  1683 + #endif
  1684 +
  1685 + //optek_hifi2_16b_to_24b(pDacbuf,pDacbuf,(samples<<1));
  1686 + }
1603 #endif 1687 #endif
1604 -  
1605 - //optek_hifi2_16b_to_24b(pDacbuf,pDacbuf,(samples<<1));  
1606 - }  
1607 #endif 1688 #endif
1608 - 1689 + //DBG_PIN_HIGH;
  1690 + //DBG_PIN_LOW;
1609 if (pOut_up != NULL) 1691 if (pOut_up != NULL)
1610 { 1692 {
1611 app_main_data.playing_stream_chans = 1; 1693 app_main_data.playing_stream_chans = 1;
@@ -2020,4 +2102,5 @@ U8* wait_decode_event(void) @@ -2020,4 +2102,5 @@ U8* wait_decode_event(void)
2020 void set_dac_out_size(U16 size) 2102 void set_dac_out_size(U16 size)
2021 { 2103 {
2022 awOut_contrls.awSize = size>>2; 2104 awOut_contrls.awSize = size>>2;
  2105 + //DBG_Printf("size:%d,chan:%d\r\n",awOut_contrls.awSize,app_main_data.playing_stream_chans);
2023 } 2106 }
@@ -102,13 +102,14 @@ extern U16 dec_frame_size; @@ -102,13 +102,14 @@ extern U16 dec_frame_size;
102 #define SAMPLES2DMACOUNT(xSamples) (xSamples) 102 #define SAMPLES2DMACOUNT(xSamples) (xSamples)
103 #endif 103 #endif
104 104
105 -#if (defined OPL_MODE_TWO_WAY || defined OPL_MODE_SINGLE_WAY) 105 +#if (defined OPL_MODE_TWO_WAY || defined OPL_MODE_SINGLE_WAY || defined OPL_MODE_WIRELESS_MIC)
106 #define TRANS_PART1_SAMPLES 160 106 #define TRANS_PART1_SAMPLES 160
107 #define TRANS_PART2_SAMPLES 80 107 #define TRANS_PART2_SAMPLES 80
108 #else 108 #else
109 #define TRANS_PART1_SAMPLES 80 109 #define TRANS_PART1_SAMPLES 80
110 #define TRANS_PART2_SAMPLES 40 110 #define TRANS_PART2_SAMPLES 40
111 #endif 111 #endif
  112 +
112 #define TRANS_PART1_COUNT SAMPLES2DMACOUNT(TRANS_PART1_SAMPLES) 113 #define TRANS_PART1_COUNT SAMPLES2DMACOUNT(TRANS_PART1_SAMPLES)
113 #define TRANS_PART2_COUNT SAMPLES2DMACOUNT(TRANS_PART2_SAMPLES) 114 #define TRANS_PART2_COUNT SAMPLES2DMACOUNT(TRANS_PART2_SAMPLES)
114 115
@@ -122,7 +122,7 @@ @@ -122,7 +122,7 @@
122 #define BT_PA_ENABLE 122 #define BT_PA_ENABLE
123 123
124 /***********************OPTEK LINK 2.0******************************/ 124 /***********************OPTEK LINK 2.0******************************/
125 -//#define OPTEK_LINK_ENABLE 125 +#define OPTEK_LINK_ENABLE
126 126
127 #ifdef OPTEK_LINK_ENABLE 127 #ifdef OPTEK_LINK_ENABLE
128 128
@@ -131,20 +131,25 @@ @@ -131,20 +131,25 @@
131 131
132 /*********Choose one*************/ 132 /*********Choose one*************/
133 //#define OPL_MODE_SINGLE_WAY // use optek link lib:optek_link_5ms.a 133 //#define OPL_MODE_SINGLE_WAY // use optek link lib:optek_link_5ms.a
134 -#define OPL_MODE_TWO_WAY // use optek link lib:optek_link_5ms.a 134 +//#define OPL_MODE_TWO_WAY // use optek link lib:optek_link_5ms.a
135 //#define OPL_MODE_SWF // use optek link lib:optek_link_5ms_for_swf.a 135 //#define OPL_MODE_SWF // use optek link lib:optek_link_5ms_for_swf.a
  136 +#define OPL_MODE_WIRELESS_MIC // use optek link lib:optek_link_5ms_for_mic.a
136 137
137 #ifdef OPL_MODE_TWO_WAY 138 #ifdef OPL_MODE_TWO_WAY
138 #define UPSTREAM_SAMPLERATE_48k 139 #define UPSTREAM_SAMPLERATE_48k
139 #endif 140 #endif
140 141
141 -#if (defined OPL_MODE_TWO_WAY || (defined OPL_MODE_SINGLE_WAY && defined OPL_MASTER_ENABLE)) 142 +#if ((defined OPL_MODE_TWO_WAY) || \
  143 + (defined OPL_MODE_SINGLE_WAY && defined OPL_MASTER_ENABLE)||\
  144 + (defined OPL_MODE_WIRELESS_MIC && defined OPL_SLAVE_ENBALE))
142 #define LC3_ENCODE_ENABLE 145 #define LC3_ENCODE_ENABLE
143 #endif 146 #endif
144 147
145 -#if defined OPL_MODE_TWO_WAY || (defined OPL_MODE_SINGLE_WAY && defined OPL_SLAVE_ENBALE) 148 +#if ((defined OPL_MODE_TWO_WAY) ||\
  149 + (defined OPL_MODE_SINGLE_WAY && defined OPL_SLAVE_ENBALE)||\
  150 + (defined OPL_MODE_WIRELESS_MIC && defined OPL_MASTER_ENABLE))
146 #define LC3_DECODE_ENABLE 151 #define LC3_DECODE_ENABLE
147 -#define LC3_ENCODE_ENABLE 152 +//#define LC3_ENCODE_ENABLE
148 #endif 153 #endif
149 154
150 #endif 155 #endif
@@ -176,6 +176,7 @@ void csbm_tx_init(U16 sample_rate,U8 bt_src) @@ -176,6 +176,7 @@ void csbm_tx_init(U16 sample_rate,U8 bt_src)
176 bc_tx_data.last_tx_len = 0; 176 bc_tx_data.last_tx_len = 0;
177 177
178 #ifdef OPL_SLAVE_ENBALE 178 #ifdef OPL_SLAVE_ENBALE
  179 + #ifndef OPL_MODE_WIRELESS_MIC
179 if (app_main_data.share_link_role == SL_ROLE_SLAVE) 180 if (app_main_data.share_link_role == SL_ROLE_SLAVE)
180 { 181 {
181 #ifdef OPL_MODE_TWO_WAY 182 #ifdef OPL_MODE_TWO_WAY
@@ -215,6 +216,7 @@ void csbm_tx_init(U16 sample_rate,U8 bt_src) @@ -215,6 +216,7 @@ void csbm_tx_init(U16 sample_rate,U8 bt_src)
215 216
216 return; 217 return;
217 } 218 }
  219 + #endif
218 #endif 220 #endif
219 221
220 spk_out_sync_w_tx_status = SPK_AND_TX_NOTSYNC; 222 spk_out_sync_w_tx_status = SPK_AND_TX_NOTSYNC;
@@ -278,6 +280,43 @@ extern FIFO audio_delay_fifo; @@ -278,6 +280,43 @@ extern FIFO audio_delay_fifo;
278 } 280 }
279 } 281 }
280 282
  283 + #elif defined OPL_MODE_WIRELESS_MIC
  284 +
  285 + if (app_main_data.share_link_role == SL_ROLE_SLAVE)
  286 + {
  287 + XA_ERRORCODE xa_lc3_enc_main_init(U32 bitrate,U16 samplerate,U8 channels,float frame_Time_ms);
  288 +
  289 + float ptms;
  290 + int bitrate;
  291 +
  292 + if (optek_link_mode == WIRELESS_MIC_PT2P5MS_T7R1 || optek_link_mode == WIRELESS_MIC_48K_PT2P5MS_T7R1M)
  293 + {
  294 + ptms = 2.5;
  295 + bitrate = 80000;
  296 + }
  297 + else if (optek_link_mode == WIRELESS_MIC_PT2P5MS_LP)
  298 + {
  299 + ptms = 2.5;
  300 + bitrate = 96000;
  301 + }
  302 + else if (optek_link_mode == WIRELESS_MIC_PT5MS_LP || optek_link_mode == WIRELESS_MIC_PT5MS_T10_R2_LP || optek_link_mode == WIRELESS_MIC_48K_PT5MS_T10_R2M_LP)
  303 + {
  304 + ptms = 5;
  305 + bitrate = 80000;
  306 + }
  307 + else
  308 + {
  309 + ptms = 2.5;
  310 + bitrate = 96000;
  311 + }
  312 +
  313 + if (xa_lc3_enc_main_init(bitrate,sample_rate,1,ptms) != XA_NO_ERROR)
  314 + {
  315 + DBG_Printf("lc3 enc init error\n\r");
  316 + }
  317 +
  318 + spk_out_sync_w_tx_status = SPK_AND_TX_SYNCING;
  319 + }
281 #endif 320 #endif
282 321
283 #ifdef OPL_MODE_TWO_WAY 322 #ifdef OPL_MODE_TWO_WAY
@@ -285,8 +324,9 @@ extern FIFO audio_delay_fifo; @@ -285,8 +324,9 @@ extern FIFO audio_delay_fifo;
285 if (upStreamHandle == NULL) { 324 if (upStreamHandle == NULL) {
286 DBG_Assert(FALSE); 325 DBG_Assert(FALSE);
287 } 326 }
  327 + #endif
288 328
289 - 329 + #if (defined OPL_MODE_TWO_WAY || defined OPL_MODE_WIRELESS_MIC)
290 lc3_dec_main_process_init_for_master(); 330 lc3_dec_main_process_init_for_master();
291 #endif 331 #endif
292 332
@@ -406,10 +446,10 @@ void csbm_put_tx_unencoded_data(short *ptr,U16 len) @@ -406,10 +446,10 @@ void csbm_put_tx_unencoded_data(short *ptr,U16 len)
406 int xa_lc3_enc_frame(U16 *pInBuf, U32 samples, U8 **pOutBuf, U32 *pOutDataLen); 446 int xa_lc3_enc_frame(U16 *pInBuf, U32 samples, U8 **pOutBuf, U32 *pOutDataLen);
407 U8 *plc3; 447 U8 *plc3;
408 448
409 - #ifdef OPL_MODE_TWO_WAY 449 +
410 if (app_main_data.share_link_role == SL_ROLE_SLAVE) 450 if (app_main_data.share_link_role == SL_ROLE_SLAVE)
411 { 451 {
412 - 452 + #ifdef OPL_MODE_TWO_WAY
413 //first step 48K to 24K 453 //first step 48K to 24K
414 short *pIn = ptr; 454 short *pIn = ptr;
415 short *pOut = ptr; 455 short *pOut = ptr;
@@ -456,11 +496,30 @@ void csbm_put_tx_unencoded_data(short *ptr,U16 len) @@ -456,11 +496,30 @@ void csbm_put_tx_unencoded_data(short *ptr,U16 len)
456 bc_tx_data.cur_data_len = pOutDataLen; 496 bc_tx_data.cur_data_len = pOutDataLen;
457 } 497 }
458 } 498 }
  499 + #elif defined OPL_MODE_WIRELESS_MIC
  500 +
  501 + short *pIn = ptr;
  502 + short *pOut = ptr;
  503 +
  504 + pIn += 1;
  505 +
  506 + len >>= 2;
  507 +
  508 + for (i=0;i<len;i++)
  509 + {
  510 + *pOut++ = *pIn;
  511 + pIn += 2;
  512 + }
  513 + xa_lc3_enc_frame(ptr,len,&plc3,&pOutDataLen);
  514 + memcpy(bc_tx_data.tx_data,plc3,pOutDataLen);
  515 + bc_tx_data.tx_len = pOutDataLen;
  516 + memset(ptr,0,len<<2);//mute local output
  517 + #endif
459 } 518 }
460 else 519 else
461 - #endif  
462 { 520 {
463 - #if (defined OPL_MODE_TWO_WAY || defined OPL_MODE_SINGLE_WAY) 521 + #if (defined OPL_MODE_TWO_WAY || (defined OPL_MODE_SINGLE_WAY && defined OPL_MASTER_ENABLE))
  522 +
464 xa_lc3_enc_frame(ptr,len>>2,&plc3,&pOutDataLen); 523 xa_lc3_enc_frame(ptr,len>>2,&plc3,&pOutDataLen);
465 memcpy(bc_tx_data.tx_data,plc3,pOutDataLen); 524 memcpy(bc_tx_data.tx_data,plc3,pOutDataLen);
466 bc_tx_data.tx_len = pOutDataLen; 525 bc_tx_data.tx_len = pOutDataLen;
@@ -647,13 +706,18 @@ void optek_link_rx_cb(u8 *buf, u16 len, u8 bc_index, u16 pt_end_time, u8 role, u @@ -647,13 +706,18 @@ void optek_link_rx_cb(u8 *buf, u16 len, u8 bc_index, u16 pt_end_time, u8 role, u
647 // key_value = buf[len-1]; 706 // key_value = buf[len-1];
648 707
649 memcpy(rx_data_buf,buf,len); 708 memcpy(rx_data_buf,buf,len);
650 - master_rev_flag = 2; 709 +
  710 + if (optek_link_mode == GAME_HEADPHONE_PT7P5MS_T7R3E || optek_link_mode == GAME_HEADPHONE_PT7P5MS_T7R3E)
  711 + master_rev_flag = 2;
  712 + else
  713 + master_rev_flag = 1;
651 } 714 }
652 else 715 else
653 { 716 {
654 717
655 //DBG_Printf("len:%d,%d,%d\r",len,bc_index,pt_end_time); 718 //DBG_Printf("len:%d,%d,%d\r",len,bc_index,pt_end_time);
656 719
  720 + //if ((len <= 20)||(optek_link_mode == BC_UNKNOWN_MODE))
657 if (len <= 20) 721 if (len <= 20)
658 return; 722 return;
659 723
@@ -766,81 +830,129 @@ void optek_link_slave_rx_end_cb(u8*buf, u16 len, u8 id) @@ -766,81 +830,129 @@ void optek_link_slave_rx_end_cb(u8*buf, u16 len, u8 id)
766 } 830 }
767 */ 831 */
768 832
769 - U32 dma0_count = DMA_0_COUNT;  
770 - U32 dma8_count = DMA_8_COUNT;  
771 - U16 ready_tx_size = awOut_contrls.awSize;  
772 - if (app_main_data.playing_stream_status == STREAM_DEC_SYNC_WAIT) 833 + if (app_main_data.share_link_role == SL_ROLE_MASTER)
773 { 834 {
774 - if (adj_outsamples == 0) 835 + #ifdef OPL_MODE_WIRELESS_MIC
  836 + /**************for sync********************/
  837 + if (spk_out_sync_w_tx_status == SPK_AND_TX_SYNCING)
775 { 838 {
776 - i32 out_dma_cnt;  
777 -  
778 - if (dma0_count == 0)  
779 - {  
780 - out_dma_cnt = 2 - (((dma8_count + TRANS_PART1_COUNT)>>1));  
781 - }  
782 - else if (dma8_count > (TRANS_PART1_COUNT + TRANS_PART2_COUNT))  
783 - {  
784 - out_dma_cnt = 2 - (i32)(((i32)dma0_count + (i32)(DMA_UNDERFLOW_DELAY_COUNT - TRANS_PART2_COUNT))/2);  
785 - }  
786 - else 839 + //app_dac_receive_pcm_enable(FALSE);
  840 + spk_out_sync_w_tx_status = SPK_AND_TX_SYNCING_STEP2;
  841 + }
  842 + else if (spk_out_sync_w_tx_status == SPK_AND_TX_SYNCING_STEP2)
  843 + {
  844 + U32 dma0_count = DMA_0_COUNT;
  845 +
  846 + if (adj_outsamples == 0)
787 { 847 {
788 - out_dma_cnt = 2 - (dma8_count>>1);  
789 - } 848 + i32 out_dma_cnt;
790 849
791 - //if (ready_tx_size != TRANS_PART2_COUNT)  
792 - // out_dma_cnt -= TRANS_PART1_SAMPLES; 850 + out_dma_cnt = 2 - (dma0_count>>1);
793 851
794 - //if ((out_dma_cnt < -1) || (out_dma_cnt > 1))  
795 - if (out_dma_cnt == 0)  
796 - {  
797 - app_main_data.playing_stream_status = STREAM_DEC_REV_WAIT;  
798 - }  
799 - else  
800 - {  
801 - adj_outsamples = out_dma_cnt;  
802 - //DBG_Printf("req adj:%d,%d,%d\r\n",adj_outsamples,dma0_count,dma8_count); 852 + //if ((out_dma_cnt < -1) || (out_dma_cnt > 1))
  853 + if (out_dma_cnt == 0)
  854 + {
  855 + spk_out_sync_w_tx_status = SPK_AND_TX_SYNCING_STEP3;
  856 + }
  857 + else
  858 + {
  859 + adj_outsamples = out_dma_cnt;
  860 + //DBG_Printf("req adj:%d,%d,%d\r\n",adj_outsamples,dma0_count,dma8_count);
  861 + }
803 } 862 }
804 863
805 } 864 }
806 - }  
807 - else if (app_main_data.playing_stream_status == STREAM_DEC_START_WAIT)  
808 - {  
809 - if (AUDIO_FIFO_STREAM_DATA_LEN() > 0)  
810 - {  
811 - rx_lost_count = 0;  
812 - if (optek_link_mode == GAME_HEADPHONE_PT7P5MS_T7R3E || optek_link_mode == GAME_HEADPHONE_PT_5MS_LP)  
813 - app_dac_receive_pcm_enable(TRUE);  
814 -  
815 - csb_rx_count = (10000/5);  
816 - //AUDIO_FIFO_STREAM_DISCARD_ALL_DATA();  
817 - //AUDIO_FIFO_STREAM_PUT_DATA(buf, len);  
818 - uiDecSend(DECODE_FRAME,FALSE);  
819 - app_main_data.playing_stream_status = STREAM_MEDIA;  
820 - first_dma_count = 0xffffffff;  
821 - frame_count = 0;  
822 - diff_sample = 0; 865 + else if (spk_out_sync_w_tx_status == SPK_AND_TX_SYNCING_STEP3)
  866 + {
  867 + //app_dac_receive_pcm_enable(TRUE);
  868 + spk_out_sync_w_tx_status = SPK_AND_TX_SYNCED;
  869 + uiDecSend (DECODE_FRAME, FALSE);
823 } 870 }
  871 + #endif
824 } 872 }
825 else 873 else
826 { 874 {
827 - if (dma0_count == 0) 875 + #ifndef OPL_MODE_WIRELESS_MIC
  876 + U32 dma0_count = DMA_0_COUNT;
  877 + U32 dma8_count = DMA_8_COUNT;
  878 + U16 ready_tx_size = awOut_contrls.awSize;
  879 + if (app_main_data.playing_stream_status == STREAM_DEC_SYNC_WAIT)
828 { 880 {
829 - diff_sample = ((dma8_count + TRANS_PART1_COUNT)>>1) - 2;  
830 - }  
831 - else if (dma8_count > (TRANS_PART1_COUNT + TRANS_PART2_COUNT)) 881 + if (adj_outsamples == 0)
  882 + {
  883 + i32 out_dma_cnt;
  884 +
  885 + if (dma0_count == 0)
  886 + {
  887 + out_dma_cnt = 2 - (((dma8_count + TRANS_PART1_COUNT)>>1));
  888 + }
  889 + else if (dma8_count > (TRANS_PART1_COUNT + TRANS_PART2_COUNT))
  890 + {
  891 + out_dma_cnt = 2 - (i32)(((i32)dma0_count + (i32)(DMA_UNDERFLOW_DELAY_COUNT - TRANS_PART2_COUNT))/2);
  892 + }
  893 + else
  894 + {
  895 + out_dma_cnt = 2 - (dma8_count>>1);
  896 + }
  897 +
  898 + //if (ready_tx_size != TRANS_PART2_COUNT)
  899 + // out_dma_cnt -= TRANS_PART1_SAMPLES;
  900 +
  901 + //if ((out_dma_cnt < -1) || (out_dma_cnt > 1))
  902 + if (out_dma_cnt == 0)
  903 + {
  904 + app_main_data.playing_stream_status = STREAM_DEC_REV_WAIT;
  905 + }
  906 + else
  907 + {
  908 + adj_outsamples = out_dma_cnt;
  909 + //DBG_Printf("req adj:%d,%d,%d\r\n",adj_outsamples,dma0_count,dma8_count);
  910 + }
  911 +
  912 + }
  913 + }
  914 + else if (app_main_data.playing_stream_status == STREAM_DEC_START_WAIT)
832 { 915 {
833 - diff_sample = (i32)(((i32)dma0_count + (i32)(DMA_UNDERFLOW_DELAY_COUNT - TRANS_PART2_COUNT))/2) - 2; 916 + if (AUDIO_FIFO_STREAM_DATA_LEN() > 0)
  917 + {
  918 + rx_lost_count = 0;
  919 + if (optek_link_mode == GAME_HEADPHONE_PT7P5MS_T7R3E || optek_link_mode == GAME_HEADPHONE_PT_5MS_LP)
  920 + app_dac_receive_pcm_enable(TRUE);
  921 +
  922 + csb_rx_count = (10000/5);
  923 + //AUDIO_FIFO_STREAM_DISCARD_ALL_DATA();
  924 + //AUDIO_FIFO_STREAM_PUT_DATA(buf, len);
  925 + uiDecSend(DECODE_FRAME,FALSE);
  926 + app_main_data.playing_stream_status = STREAM_MEDIA;
  927 + first_dma_count = 0xffffffff;
  928 + frame_count = 0;
  929 + diff_sample = 0;
  930 + }
834 } 931 }
835 else 932 else
836 { 933 {
837 - diff_sample = (dma8_count>>1) - 2;  
838 - } 934 + if (dma0_count == 0)
  935 + {
  936 + diff_sample = ((dma8_count + TRANS_PART1_COUNT)>>1) - 2;
  937 + }
  938 + else if (dma8_count > (TRANS_PART1_COUNT + TRANS_PART2_COUNT))
  939 + {
  940 + diff_sample = (i32)(((i32)dma0_count + (i32)(DMA_UNDERFLOW_DELAY_COUNT - TRANS_PART2_COUNT))/2) - 2;
  941 + }
  942 + else
  943 + {
  944 + diff_sample = (dma8_count>>1) - 2;
  945 + }
839 946
840 - //if (ready_tx_size != TRANS_PART2_COUNT)  
841 - // diff_sample += TRANS_PART1_SAMPLES; 947 + //if (ready_tx_size != TRANS_PART2_COUNT)
  948 + // diff_sample += TRANS_PART1_SAMPLES;
842 949
  950 + }
  951 + #endif
843 } 952 }
  953 +
  954 +
  955 +
844 //DBG_PIN_HIGH; 956 //DBG_PIN_HIGH;
845 //DBG_PIN_LOW; 957 //DBG_PIN_LOW;
846 //SOFT3_INT_SET; 958 //SOFT3_INT_SET;
@@ -878,9 +990,14 @@ u8 optek_link_tx_data_len(u8 role, u8 id) @@ -878,9 +990,14 @@ u8 optek_link_tx_data_len(u8 role, u8 id)
878 if (role == OPTEK_LINK_MASTER) 990 if (role == OPTEK_LINK_MASTER)
879 { 991 {
880 len = bc_tx_data.last_tx_len; 992 len = bc_tx_data.last_tx_len;
  993 + if (len == 0)
  994 + len = 6;
881 } 995 }
882 else 996 else
883 { 997 {
  998 + #ifdef OPL_MODE_WIRELESS_MIC
  999 + len = bc_tx_data.last_tx_len;
  1000 + #else
884 if (optek_link_mode == GAME_HEADPHONE_PT_5MS_LP) 1001 if (optek_link_mode == GAME_HEADPHONE_PT_5MS_LP)
885 { 1002 {
886 len = bc_tx_data.last_tx_len; 1003 len = bc_tx_data.last_tx_len;
@@ -888,7 +1005,8 @@ u8 optek_link_tx_data_len(u8 role, u8 id) @@ -888,7 +1005,8 @@ u8 optek_link_tx_data_len(u8 role, u8 id)
888 else 1005 else
889 { 1006 {
890 len = OPTEK_LINK_MASTER_NO_RX_LEN; 1007 len = OPTEK_LINK_MASTER_NO_RX_LEN;
891 - } 1008 + }
  1009 + #endif
892 } 1010 }
893 return len; 1011 return len;
894 } 1012 }
@@ -966,6 +1084,7 @@ u8 optek_link_tx_data_cb(u8 cpy, u8 *buf, u8 role, u8 ext_frame, u8 id) @@ -966,6 +1084,7 @@ u8 optek_link_tx_data_cb(u8 cpy, u8 *buf, u8 role, u8 ext_frame, u8 id)
966 1084
967 if (role == OPTEK_LINK_MASTER) 1085 if (role == OPTEK_LINK_MASTER)
968 { 1086 {
  1087 + #ifndef OPL_MODE_WIRELESS_MIC
969 /**************for sync********************/ 1088 /**************for sync********************/
970 if (spk_out_sync_w_tx_status == SPK_AND_TX_SYNCING) 1089 if (spk_out_sync_w_tx_status == SPK_AND_TX_SYNCING)
971 { 1090 {
@@ -1002,7 +1121,57 @@ u8 optek_link_tx_data_cb(u8 cpy, u8 *buf, u8 role, u8 ext_frame, u8 id) @@ -1002,7 +1121,57 @@ u8 optek_link_tx_data_cb(u8 cpy, u8 *buf, u8 role, u8 ext_frame, u8 id)
1002 uiDecSend (DECODE_FRAME, FALSE); 1121 uiDecSend (DECODE_FRAME, FALSE);
1003 } 1122 }
1004 //SOFT3_INT_SET; 1123 //SOFT3_INT_SET;
  1124 + #endif
1005 } 1125 }
  1126 + else
  1127 + {
  1128 + #ifdef OPL_MODE_WIRELESS_MIC
  1129 + /**************for sync********************/
  1130 + if (spk_out_sync_w_tx_status == SPK_AND_TX_SYNCING)
  1131 + {
  1132 + app_dac_receive_pcm_enable(FALSE);
  1133 + spk_out_sync_w_tx_status = SPK_AND_TX_SYNCING_STEP2;
  1134 + }
  1135 + else if (spk_out_sync_w_tx_status == SPK_AND_TX_SYNCING_STEP2)
  1136 + {
  1137 + U32 dma0_count = DMA_0_COUNT;
  1138 +
  1139 + if (adj_outsamples == 0)
  1140 + {
  1141 + i32 out_dma_cnt;
  1142 +
  1143 + out_dma_cnt = 10 - (dma0_count>>1);
  1144 +
  1145 + //if ((out_dma_cnt < -1) || (out_dma_cnt > 1))
  1146 + if (out_dma_cnt == 0)
  1147 + {
  1148 + spk_out_sync_w_tx_status = SPK_AND_TX_SYNCING_STEP3;
  1149 + }
  1150 + else
  1151 + {
  1152 + adj_outsamples = out_dma_cnt;
  1153 + //DBG_Printf("req adj:%d,%d\r\n",adj_outsamples,dma0_count);
  1154 + }
  1155 + }
  1156 + }
  1157 + else if (spk_out_sync_w_tx_status == SPK_AND_TX_SYNCING_STEP3)
  1158 + {
  1159 + app_dac_receive_pcm_enable(TRUE);
  1160 + spk_out_sync_w_tx_status = SPK_AND_TX_SYNCED;
  1161 + uiDecSend (DECODE_FRAME, FALSE);
  1162 + app_main_data.playing_stream_status = STREAM_MEDIA;
  1163 + first_dma_count = 0xffffffff;
  1164 + csb_rx_count = (20000/5);
  1165 + }
  1166 + else
  1167 + {
  1168 + U32 dma0_count = DMA_0_COUNT;
  1169 +
  1170 + //if (dma0_count > ) study later
  1171 + diff_sample = (dma0_count>>1) - 10;
  1172 + }
  1173 + #endif
  1174 + }
1006 1175
1007 return len; 1176 return len;
1008 } 1177 }
@@ -1085,6 +1254,18 @@ u8 optek_link_slave_conn_cb (u8 mode, u8 *slave_max_tx_len, u8 *slave_max_rx_len @@ -1085,6 +1254,18 @@ u8 optek_link_slave_conn_cb (u8 mode, u8 *slave_max_tx_len, u8 *slave_max_rx_len
1085 *slave_max_rx_len = 150; 1254 *slave_max_rx_len = 150;
1086 } 1255 }
1087 #endif 1256 #endif
  1257 + #if (defined OPL_MODE_WIRELESS_MIC)
  1258 + else if (mode == WIRELESS_MIC_48K_PT2P5MS_T7R1M)
  1259 + {
  1260 + *slave_max_tx_len = 25;
  1261 + *slave_max_rx_len = 6;
  1262 + }
  1263 + else if (mode == WIRELESS_MIC_48K_PT5MS_T10_R2M_LP)
  1264 + {
  1265 + *slave_max_tx_len = 50;
  1266 + *slave_max_rx_len = 6;
  1267 + }
  1268 + #endif
1088 #if (defined OPL_MODE_SWF) 1269 #if (defined OPL_MODE_SWF)
1089 else if (mode == TWS_SUBW_SF48K_PT5MS || mode == TWS_SUBW_SF44K_PT5MS) 1270 else if (mode == TWS_SUBW_SF48K_PT5MS || mode == TWS_SUBW_SF44K_PT5MS)
1090 { 1271 {
@@ -1134,12 +1315,19 @@ u8 optek_link_slave_conn_cb (u8 mode, u8 *slave_max_tx_len, u8 *slave_max_rx_len @@ -1134,12 +1315,19 @@ u8 optek_link_slave_conn_cb (u8 mode, u8 *slave_max_tx_len, u8 *slave_max_rx_len
1134 void optek_link_slave_link_loss_cb (u8 id) __attribute__ ((section (".internal_ram_1_text"))); 1315 void optek_link_slave_link_loss_cb (u8 id) __attribute__ ((section (".internal_ram_1_text")));
1135 void optek_link_slave_link_loss_cb (u8 id) 1316 void optek_link_slave_link_loss_cb (u8 id)
1136 { 1317 {
  1318 + #ifndef OPL_MODE_WIRELESS_MIC
  1319 + app_dac_receive_pcm_enable(FALSE);
  1320 + //app_main_data.playing_stream_status = STREAM_WAITING_DATA;
  1321 + AUDIO_FIFO_STREAM_DISCARD_ALL_DATA();
  1322 + #else
  1323 + spk_out_sync_w_tx_status = SPK_AND_TX_SYNCING;
  1324 + ukiMsgSend(app_cmd_DecoderExit);
  1325 + #endif
  1326 +
1137 //DBG_Printf("slave loss\r"); 1327 //DBG_Printf("slave loss\r");
1138 csb_rx_count = 0; 1328 csb_rx_count = 0;
1139 - app_dac_receive_pcm_enable(FALSE);  
1140 //app_main_data.playing_stream_status = STREAM_WAITING_DATA; 1329 //app_main_data.playing_stream_status = STREAM_WAITING_DATA;
1141 conn_rej_count = 1; 1330 conn_rej_count = 1;
1142 - AUDIO_FIFO_STREAM_DISCARD_ALL_DATA();  
1143 1331
1144 //SOFT2_INT_SET; 1332 //SOFT2_INT_SET;
1145 //SOFT3_INT_SET; 1333 //SOFT3_INT_SET;
@@ -295,7 +295,6 @@ uint8_t optek_link_role_change_slave_to_scan (uint8_t act_id); @@ -295,7 +295,6 @@ uint8_t optek_link_role_change_slave_to_scan (uint8_t act_id);
295 295
296 296
297 297
298 -  
299 /* 298 /*
300 //#define TEST_MODE SUBW_SF44K_PT2P5MS //(120/10) * 2 299 //#define TEST_MODE SUBW_SF44K_PT2P5MS //(120/10) * 2
301 //#define TEST_MODE SUBW_SF48K_PT2P5MS //(120/10) * 2 300 //#define TEST_MODE SUBW_SF48K_PT2P5MS //(120/10) * 2
@@ -476,7 +475,7 @@ uint8_t optek_link_role_change_slave_to_scan (uint8_t act_id); @@ -476,7 +475,7 @@ uint8_t optek_link_role_change_slave_to_scan (uint8_t act_id);
476 475
477 /* 476 /*
478 #define TEST_MODE WIRELESS_MIC_48K_PT5MS_T10_R2M_LP 477 #define TEST_MODE WIRELESS_MIC_48K_PT5MS_T10_R2M_LP
479 -#define MASTER_MAX_TX_LEN 7 //6 bytes for paring, one byte for rx resp 478 +#define MASTER_MAX_TX_LEN 6 //6 bytes for paring, one byte for rx resp
480 #define SLAVE_MAX_TX_LEN 50 //80k 479 #define SLAVE_MAX_TX_LEN 50 //80k
481 */ 480 */
482 481
Please register or login to post a comment