Compare commits
3 Commits
main
...
JJT_AC6082
Author | SHA1 | Date | |
---|---|---|---|
307d734345 | |||
983167949c | |||
e8c743b7fa |
BIN
FW/KT25-0822/KT25-0822_82A-SD_97ED.fw
Normal file
BIN
FW/KT25-0822/KT25-0822_82A-SD_97ED.fw
Normal file
Binary file not shown.
BIN
FW/KT25-0822/jl_isd.fw
Normal file
BIN
FW/KT25-0822/jl_isd.fw
Normal file
Binary file not shown.
BIN
FW/KT25-0822/update.ufw
Normal file
BIN
FW/KT25-0822/update.ufw
Normal file
Binary file not shown.
BIN
FW/KT25-0828_JJT/KT25-0828_82A-JJT_3704.fw
Normal file
BIN
FW/KT25-0828_JJT/KT25-0828_82A-JJT_3704.fw
Normal file
Binary file not shown.
BIN
FW/KT25-0828_JJT/jl_isd.fw
Normal file
BIN
FW/KT25-0828_JJT/jl_isd.fw
Normal file
Binary file not shown.
BIN
FW/KT25-0828_JJT/update.ufw
Normal file
BIN
FW/KT25-0828_JJT/update.ufw
Normal file
Binary file not shown.
BIN
KT6002.pdf
Normal file
BIN
KT6002.pdf
Normal file
Binary file not shown.
BIN
KT6002_SD.pdf
Normal file
BIN
KT6002_SD.pdf
Normal file
Binary file not shown.
65
README.html
65
README.html
@ -367,6 +367,12 @@ code {
|
|||||||
</script>
|
</script>
|
||||||
<h1 id="%E5%BC%95%E8%84%9A%E6%8E%92%E5%88%97">引脚排列</h1>
|
<h1 id="%E5%BC%95%E8%84%9A%E6%8E%92%E5%88%97">引脚排列</h1>
|
||||||
<p><img src="./pin" alt="引脚定义"></p>
|
<p><img src="./pin" alt="引脚定义"></p>
|
||||||
|
<h1 id="%E4%BD%BF%E7%94%A8%E6%B3%A8%E6%84%8F">使用注意:</h1>
|
||||||
|
<pre><code>1. TF卡和SPI Flash只支持一个,下单请注意备注。
|
||||||
|
2. 开机有提示音“咚”。
|
||||||
|
3. 默认循环方式为不循环,播放一次后结束。
|
||||||
|
4. BUSY引脚指示当前播放状态,低电平为正在播放,高电平为未播放,也可使用此引脚控制功放的MUTE,但需实测是否有呑字现象。
|
||||||
|
</code></pre>
|
||||||
<h2 id="uart-%E9%80%9A%E8%AE%AF%E5%8D%8F%E8%AE%AE-115200-n-8-1">UART 通讯协议 115200 N 8 1</h2>
|
<h2 id="uart-%E9%80%9A%E8%AE%AF%E5%8D%8F%E8%AE%AE-115200-n-8-1">UART 通讯协议 115200 N 8 1</h2>
|
||||||
<ul>
|
<ul>
|
||||||
<li>发送
|
<li>发送
|
||||||
@ -443,12 +449,18 @@ code {
|
|||||||
<li>0xAB 播放指定曲目(通配符)</li>
|
<li>0xAB 播放指定曲目(通配符)</li>
|
||||||
<li>0xAC 播放指定曲目(带扩展名)</li>
|
<li>0xAC 播放指定曲目(带扩展名)</li>
|
||||||
<li>0xAD 播放指定曲目(数字)</li>
|
<li>0xAD 播放指定曲目(数字)</li>
|
||||||
|
<li>0xAE 播放循环</li>
|
||||||
|
<li>0xB0 获取当前磁盘文件总数</li>
|
||||||
|
<li>0xB1 获取当前磁盘文件夹数量</li>
|
||||||
|
<li>0xB2 获取当前播放文件夹内文件数量</li>
|
||||||
|
<li>0xB3 获取当前播放曲目总时间</li>
|
||||||
|
<li>0xB4 获取当前播放曲目时间</li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<h2 id="%E6%8C%87%E4%BB%A4%E8%AF%A6%E8%BF%B0">指令详述</h2>
|
<h2 id="%E6%8C%87%E4%BB%A4%E8%AF%A6%E8%BF%B0">指令详述</h2>
|
||||||
<ul>
|
<ul>
|
||||||
<li>系统复位:0xA0/A1/A2/A3/A4/A5/A6/A7/A9/AA
|
<li>播放控制指令:0xA0/A1/A2/A3/A4/A5/A6/A7/A9/AA
|
||||||
<table>
|
<table>
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
@ -470,13 +482,14 @@ code {
|
|||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</li>
|
</li>
|
||||||
<li>播放/暂停:0xC2
|
<li>播放循环:0xAE
|
||||||
<table>
|
<table>
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th>HEAD</th>
|
<th>HEAD</th>
|
||||||
<th>LENGTH</th>
|
<th>LENGTH</th>
|
||||||
<th>CMD</th>
|
<th>CMD</th>
|
||||||
|
<th>CYCLE</th>
|
||||||
<th>CHK</th>
|
<th>CHK</th>
|
||||||
<th>TAIL</th>
|
<th>TAIL</th>
|
||||||
</tr>
|
</tr>
|
||||||
@ -485,12 +498,16 @@ code {
|
|||||||
<tr>
|
<tr>
|
||||||
<td>0x02</td>
|
<td>0x02</td>
|
||||||
<td>1Byte</td>
|
<td>1Byte</td>
|
||||||
<td>0xC2</td>
|
<td>0xAE</td>
|
||||||
|
<td>1Byte</td>
|
||||||
<td>1Byte</td>
|
<td>1Byte</td>
|
||||||
<td>0x03</td>
|
<td>0x03</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
<ul>
|
||||||
|
<li>CYCLE :0-不循环,1-全部循环 2-单曲循环,3-文件夹循环,4-随机</li>
|
||||||
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li>设置音量:0xA8
|
<li>设置音量:0xA8
|
||||||
<table>
|
<table>
|
||||||
@ -583,7 +600,7 @@ code {
|
|||||||
<ul>
|
<ul>
|
||||||
<li>STA :名字起始,字符'$'(0x24)。</li>
|
<li>STA :名字起始,字符'$'(0x24)。</li>
|
||||||
<li>END : 名字结束,字符'$'(0x24)。</li>
|
<li>END : 名字结束,字符'$'(0x24)。</li>
|
||||||
<li>NAME :名字字符串,必须写全文件名,例如:文件名采用8+3格式,只识别文件名的前2个字符,例如:01.mp3和010.mp3是不同的</li>
|
<li>NAME :名字字符串,必须写全文件名,例如:文件名采用8+3格式,例如:01.mp3和001.mp3是不同的</li>
|
||||||
<li>文件必须存在否则播放失败</li>
|
<li>文件必须存在否则播放失败</li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
@ -613,19 +630,17 @@ code {
|
|||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
<ul>
|
<ul>
|
||||||
<li>FH,FL:组合成以恶搞16bit的整形,例如 FH=0x00 FL=0x02 实际上是播放0x0002曲目,曲目的顺序号是拷贝进磁盘的顺序</li>
|
<li>FH,FL:组合成一个16bit的整形,例如 FH=0x00 FL=0x02 实际上是播放0x0002曲目,曲目的顺序号是拷贝进磁盘的顺序</li>
|
||||||
<li>文件必须存在否则播放失败</li>
|
<li>文件必须存在否则播放失败</li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li>指定文件号播放:0xC8
|
<li>播放信息:B0/B1/B2/B3/B4
|
||||||
<table>
|
<table>
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th>HEAD</th>
|
<th>HEAD</th>
|
||||||
<th>LENGTH</th>
|
<th>LENGTH</th>
|
||||||
<th>CMD</th>
|
<th>CMD</th>
|
||||||
<th>NUM</th>
|
|
||||||
<th>LOOP</th>
|
|
||||||
<th>CHK</th>
|
<th>CHK</th>
|
||||||
<th>TAIL</th>
|
<th>TAIL</th>
|
||||||
</tr>
|
</tr>
|
||||||
@ -634,8 +649,34 @@ code {
|
|||||||
<tr>
|
<tr>
|
||||||
<td>0x02</td>
|
<td>0x02</td>
|
||||||
<td>1Byte</td>
|
<td>1Byte</td>
|
||||||
<td>0xC8</td>
|
<td>0xB0</td>
|
||||||
<td>1-99</td>
|
<td>1Byte</td>
|
||||||
|
<td>0x03</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</li>
|
||||||
|
<li>ACK:
|
||||||
|
<table>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>HEAD</th>
|
||||||
|
<th>LENGTH</th>
|
||||||
|
<th>CMD</th>
|
||||||
|
<th>ERR</th>
|
||||||
|
<th>DH</th>
|
||||||
|
<th>DL</th>
|
||||||
|
<th>CHK</th>
|
||||||
|
<th>TAIL</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>0x02</td>
|
||||||
|
<td>1Byte</td>
|
||||||
|
<td>0xB0</td>
|
||||||
|
<td>1Byte</td>
|
||||||
|
<td>1Byte</td>
|
||||||
<td>1Byte</td>
|
<td>1Byte</td>
|
||||||
<td>1Byte</td>
|
<td>1Byte</td>
|
||||||
<td>0x03</td>
|
<td>0x03</td>
|
||||||
@ -643,9 +684,7 @@ code {
|
|||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
<ul>
|
<ul>
|
||||||
<li>NUM : 文件名号码。注:文件名采用8+3格式,只识别文件名的前2个字符,例如:01.mp3和01月光小夜曲.mp3是相同的,月光小夜曲可有可无,但前面序号必须有,存放文件时需注意。</li>
|
<li>DH,DL: 回复数据,组合成一个16bit的整形,例如 DH=0x00 DL=0x02 则值是0x0002</li>
|
||||||
<li>LOOP: 循环次数,0为单曲无限循环</li>
|
|
||||||
<li>文件必须存在否则播放失败</li>
|
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
BIN
README.jpeg
BIN
README.jpeg
Binary file not shown.
Before Width: | Height: | Size: 662 KiB After Width: | Height: | Size: 719 KiB |
47
README.md
47
README.md
@ -2,6 +2,12 @@
|
|||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
# 使用注意:
|
||||||
|
1. TF卡和SPI Flash只支持一个,下单请注意备注。
|
||||||
|
2. 开机有提示音“咚”。
|
||||||
|
3. 默认循环方式为不循环,播放一次后结束。
|
||||||
|
4. BUSY引脚指示当前播放状态,低电平为正在播放,高电平为未播放,也可使用此引脚控制功放的MUTE,但需实测是否有呑字现象。
|
||||||
|
|
||||||
## UART 通讯协议 115200 N 8 1
|
## UART 通讯协议 115200 N 8 1
|
||||||
- 发送
|
- 发送
|
||||||
| head | length | CMD | DATA | XOR | tail |
|
| head | length | CMD | DATA | XOR | tail |
|
||||||
@ -33,15 +39,22 @@
|
|||||||
- 0xAB 播放指定曲目(通配符)
|
- 0xAB 播放指定曲目(通配符)
|
||||||
- 0xAC 播放指定曲目(带扩展名)
|
- 0xAC 播放指定曲目(带扩展名)
|
||||||
- 0xAD 播放指定曲目(数字)
|
- 0xAD 播放指定曲目(数字)
|
||||||
|
- 0xAE 播放循环
|
||||||
|
- 0xB0 获取当前磁盘文件总数
|
||||||
|
- 0xB1 获取当前磁盘文件夹数量
|
||||||
|
- 0xB2 获取当前播放文件夹内文件数量
|
||||||
|
- 0xB3 获取当前播放曲目总时间
|
||||||
|
- 0xB4 获取当前播放曲目时间
|
||||||
## 指令详述
|
## 指令详述
|
||||||
- 系统复位:0xA0/A1/A2/A3/A4/A5/A6/A7/A9/AA
|
- 播放控制指令:0xA0/A1/A2/A3/A4/A5/A6/A7/A9/AA
|
||||||
| HEAD | LENGTH | CMD | CHK | TAIL |
|
| HEAD | LENGTH | CMD | CHK | TAIL |
|
||||||
|------|--------|--------|-------|------|
|
|------|--------|--------|-------|------|
|
||||||
| 0x02 | 1Byte | 0xA0 | 1Byte | 0x03 |
|
| 0x02 | 1Byte | 0xA0 | 1Byte | 0x03 |
|
||||||
- 播放/暂停:0xC2
|
- 播放循环:0xAE
|
||||||
| HEAD | LENGTH | CMD | CHK | TAIL |
|
| HEAD | LENGTH | CMD | CYCLE | CHK | TAIL |
|
||||||
|------|--------|--------|-------|------|
|
|------|--------|--------|--------|------|------|
|
||||||
| 0x02 | 1Byte | 0xC2 | 1Byte | 0x03 |
|
| 0x02 | 1Byte | 0xAE | 1Byte |1Byte | 0x03 |
|
||||||
|
- CYCLE :0-不循环,1-全部循环 2-单曲循环,3-文件夹循环,4-随机
|
||||||
- 设置音量:0xA8
|
- 设置音量:0xA8
|
||||||
| HEAD | LENGTH | CMD | VOLUME | CHK | TAIL |
|
| HEAD | LENGTH | CMD | VOLUME | CHK | TAIL |
|
||||||
|------|--------|--------|---------------|------|------|
|
|------|--------|--------|---------------|------|------|
|
||||||
@ -61,21 +74,23 @@
|
|||||||
| 0x02 | 1Byte | 0xAC | '$' | 'abc.mp3' | '$' | 1Byte| 0x03 |
|
| 0x02 | 1Byte | 0xAC | '$' | 'abc.mp3' | '$' | 1Byte| 0x03 |
|
||||||
- STA :名字起始,字符'$'(0x24)。
|
- STA :名字起始,字符'$'(0x24)。
|
||||||
- END : 名字结束,字符'$'(0x24)。
|
- END : 名字结束,字符'$'(0x24)。
|
||||||
- NAME :名字字符串,必须写全文件名,例如:文件名采用8+3格式,只识别文件名的前2个字符,例如:01.mp3和010.mp3是不同的
|
- NAME :名字字符串,必须写全文件名,例如:文件名采用8+3格式,例如:01.mp3和001.mp3是不同的
|
||||||
- 文件必须存在否则播放失败
|
- 文件必须存在否则播放失败
|
||||||
- 播放指定曲目(文件号):AD
|
- 播放指定曲目(文件号):AD
|
||||||
| HEAD | LENGTH | CMD | FH | FL | CHK | TAIL |
|
| HEAD | LENGTH | CMD | FH | FL | CHK | TAIL |
|
||||||
|------|--------|--------|----------|------------|-------|------|
|
|------|--------|--------|----------|------------|-------|------|
|
||||||
| 0x02 | 1Byte | 0xAD | 1Byte | 1Byte | 1Byte | 0x03 |
|
| 0x02 | 1Byte | 0xAD | 1Byte | 1Byte | 1Byte | 0x03 |
|
||||||
- FH,FL:组合成以恶搞16bit的整形,例如 FH=0x00 FL=0x02 实际上是播放0x0002曲目,曲目的顺序号是拷贝进磁盘的顺序
|
- FH,FL:组合成一个16bit的整形,例如 FH=0x00 FL=0x02 实际上是播放0x0002曲目,曲目的顺序号是拷贝进磁盘的顺序
|
||||||
- 文件必须存在否则播放失败
|
- 文件必须存在否则播放失败
|
||||||
- 指定文件号播放:0xC8
|
- 播放信息:B0/B1/B2/B3/B4
|
||||||
| HEAD | LENGTH | CMD | NUM | LOOP | CHK | TAIL |
|
| HEAD | LENGTH | CMD | CHK | TAIL |
|
||||||
|------|--------|--------|-----------|-----------|------|------|
|
|------|--------|--------|-------|------|
|
||||||
| 0x02 | 1Byte | 0xC8 | 1-99 | 1Byte | 1Byte| 0x03 |
|
| 0x02 | 1Byte | 0xB0 | 1Byte | 0x03 |
|
||||||
- NUM : 文件名号码。注:文件名采用8+3格式,只识别文件名的前2个字符,例如:01.mp3和01月光小夜曲.mp3是相同的,月光小夜曲可有可无,但前面序号必须有,存放文件时需注意。
|
- ACK:
|
||||||
- LOOP: 循环次数,0为单曲无限循环
|
| HEAD | LENGTH | CMD | ERR | DH | DL | CHK | TAIL |
|
||||||
- 文件必须存在否则播放失败
|
|------|--------|--------|-------|-------|------|-------|------|
|
||||||
|
| 0x02 | 1Byte | 0xB0 | 1Byte | 1Byte | 1Byte| 1Byte | 0x03 |
|
||||||
|
- DH,DL: 回复数据,组合成一个16bit的整形,例如 DH=0x00 DL=0x02 则值是0x0002
|
||||||
## 附录1:校验
|
## 附录1:校验
|
||||||
- 校验方式为校验和,计算方式为数据累计和取反加1的方式
|
- 校验方式为校验和,计算方式为数据累计和取反加1的方式
|
||||||
- 举例发送系统复位指令A0:0x02 0x02 0xA0 CheckSum 0x03
|
- 举例发送系统复位指令A0:0x02 0x02 0xA0 CheckSum 0x03
|
||||||
|
BIN
README.png
BIN
README.png
Binary file not shown.
Before Width: | Height: | Size: 305 KiB After Width: | Height: | Size: 329 KiB |
@ -3,6 +3,7 @@
|
|||||||
#include "app_config.h"
|
#include "app_config.h"
|
||||||
#include "audio_enc.h"
|
#include "audio_enc.h"
|
||||||
#include "app_main.h"
|
#include "app_main.h"
|
||||||
|
#include "kt.h"
|
||||||
|
|
||||||
#define LOG_TAG_CONST APP_MUSIC
|
#define LOG_TAG_CONST APP_MUSIC
|
||||||
#define LOG_TAG "[APP_MUSIC]"
|
#define LOG_TAG "[APP_MUSIC]"
|
||||||
@ -169,20 +170,30 @@ int music_player_end_deal(int parm)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
/// 正常结束,自动下一曲
|
/// 正常结束,自动下一曲
|
||||||
|
printf("......app_var.cycle_mode : %d \n", app_var.cycle_mode);
|
||||||
#if (MUSIC_PLAYER_CYCLE_ALL_DEV_EN)
|
#if (MUSIC_PLAYER_CYCLE_ALL_DEV_EN)
|
||||||
u32 cur_file = music_player_get_file_cur();
|
u32 cur_file = music_player_get_file_cur();
|
||||||
if ((music_player_get_record_play_status() == false) && (app_var.cycle_mode == FCYCLE_ALL) && (cur_file >= music_player_get_file_total()) && (dev_manager_get_total(1) > 1))
|
if ((music_player_get_record_play_status() == false) && (app_var.cycle_mode == FCYCLE_ALL) && (cur_file >= music_player_get_file_total()) && (dev_manager_get_total(1) > 1))
|
||||||
{
|
{
|
||||||
|
printf("......music_player_play_first_file 1 \n");
|
||||||
char *logo = music_player_get_dev_flit("_rec", 1);
|
char *logo = music_player_get_dev_flit("_rec", 1);
|
||||||
if (logo)
|
if (logo)
|
||||||
{
|
{
|
||||||
|
printf("......music_player_play_first_file 2 \n");
|
||||||
err = music_player_play_first_file(logo);
|
err = music_player_play_first_file(logo);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
printf("......music_player_play_auto_next 1 \n");
|
||||||
#endif /*MUSIC_PLAYER_CYCLE_ALL_DEV_EN*/
|
#endif /*MUSIC_PLAYER_CYCLE_ALL_DEV_EN*/
|
||||||
//err = music_player_play_auto_next();
|
printf("......kt_get_cycle() : %d \n", kt_get_cycle());
|
||||||
|
if (kt_get_cycle() != FCYCLE_ONE && kt_get_cycle() != FCYCLE_LIST)
|
||||||
|
{
|
||||||
|
printf("......music_player_play_auto_next 2\n");
|
||||||
|
err = music_player_play_auto_next();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
printf("......music_player_end_deal 1 \n");
|
||||||
break;
|
break;
|
||||||
/// 解码器产生的错误, 文件损坏等
|
/// 解码器产生的错误, 文件损坏等
|
||||||
case AUDIO_PLAY_EVENT_ERR:
|
case AUDIO_PLAY_EVENT_ERR:
|
||||||
@ -985,6 +996,7 @@ int music_player_play_next(void)
|
|||||||
@note
|
@note
|
||||||
*/
|
*/
|
||||||
/*----------------------------------------------------------------------------*/
|
/*----------------------------------------------------------------------------*/
|
||||||
|
static u8 first_start = 0;
|
||||||
int music_player_play_first_file(char *logo)
|
int music_player_play_first_file(char *logo)
|
||||||
{
|
{
|
||||||
if (logo == NULL)
|
if (logo == NULL)
|
||||||
@ -1016,6 +1028,14 @@ int music_player_play_first_file(char *logo)
|
|||||||
{
|
{
|
||||||
return MUSIC_PLAYER_ERR_FILE_NOFOUND;
|
return MUSIC_PLAYER_ERR_FILE_NOFOUND;
|
||||||
}
|
}
|
||||||
|
if (first_start == 0)
|
||||||
|
{
|
||||||
|
first_start = 1;
|
||||||
|
dev_manager_set_active(__this->dev);
|
||||||
|
return MUSIC_PLAYER_SUCC;
|
||||||
|
//return MUSIC_PLAYER_ERR_FILE_NOFOUND;
|
||||||
|
}
|
||||||
|
|
||||||
/// start decoder
|
/// start decoder
|
||||||
int err = music_player_decode_start(__this->file, 0);
|
int err = music_player_decode_start(__this->file, 0);
|
||||||
if (err == MUSIC_PLAYER_SUCC)
|
if (err == MUSIC_PLAYER_SUCC)
|
||||||
@ -1083,32 +1103,38 @@ int music_player_play_last_file(char *logo)
|
|||||||
/*----------------------------------------------------------------------------*/
|
/*----------------------------------------------------------------------------*/
|
||||||
int music_player_play_auto_next(void)
|
int music_player_play_auto_next(void)
|
||||||
{
|
{
|
||||||
|
printf("......cycle : %d ,music_player_play_auto_next 1 \n", kt_get_cycle());
|
||||||
/// close player first
|
/// close player first
|
||||||
music_player_stop(0);
|
music_player_stop(0);
|
||||||
/// get dev, 检查设备是否有掉线
|
/// get dev, 检查设备是否有掉线
|
||||||
if (dev_manager_online_check(__this->dev, 1) == 0)
|
if (dev_manager_online_check(__this->dev, 1) == 0)
|
||||||
{
|
{
|
||||||
|
printf("......music_player_play_auto_next 2 \n");
|
||||||
return MUSIC_PLAYER_ERR_DEV_OFFLINE;
|
return MUSIC_PLAYER_ERR_DEV_OFFLINE;
|
||||||
}
|
}
|
||||||
/// 不需要重新找设备、扫盘
|
/// 不需要重新找设备、扫盘
|
||||||
if (__this->fsn == NULL)
|
if (__this->fsn == NULL)
|
||||||
{
|
{
|
||||||
|
printf("......music_player_play_auto_next 3 \n");
|
||||||
return MUSIC_PLAYER_ERR_FSCAN;
|
return MUSIC_PLAYER_ERR_FSCAN;
|
||||||
}
|
}
|
||||||
/// get file
|
/// get file
|
||||||
__this->file = file_manager_select(__this->dev, __this->fsn, FSEL_AUTO_FILE, 0, __this->parm.scan_cb); /// 选择自动下一曲
|
__this->file = file_manager_select(__this->dev, __this->fsn, FSEL_AUTO_FILE, 0, __this->parm.scan_cb); /// 选择自动下一曲
|
||||||
if (__this->file == NULL)
|
if (__this->file == NULL)
|
||||||
{
|
{
|
||||||
|
printf("......music_player_play_auto_next 4 \n");
|
||||||
return MUSIC_PLAYER_ERR_FILE_NOFOUND;
|
return MUSIC_PLAYER_ERR_FILE_NOFOUND;
|
||||||
}
|
}
|
||||||
/// start decoder
|
/// start decoder
|
||||||
int err = music_player_decode_start(__this->file, 0);
|
int err = music_player_decode_start(__this->file, 0);
|
||||||
if (err == MUSIC_PLAYER_SUCC)
|
if (err == MUSIC_PLAYER_SUCC)
|
||||||
{
|
{
|
||||||
|
printf("......music_player_play_auto_next 5 \n");
|
||||||
/// 选定新设备播放成功后,需要激活当前设备
|
/// 选定新设备播放成功后,需要激活当前设备
|
||||||
dev_manager_set_active(__this->dev);
|
dev_manager_set_active(__this->dev);
|
||||||
log_i("[%s %d] ok\n", __FUNCTION__, __LINE__);
|
log_i("[%s %d] ok\n", __FUNCTION__, __LINE__);
|
||||||
}
|
}
|
||||||
|
printf("......music_player_play_auto_next 6 \n");
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
//*----------------------------------------------------------------------------*/
|
//*----------------------------------------------------------------------------*/
|
||||||
@ -1472,6 +1498,7 @@ int music_player_play_by_sclust(char *logo, u32 sclust)
|
|||||||
/*----------------------------------------------------------------------------*/
|
/*----------------------------------------------------------------------------*/
|
||||||
int music_player_play_by_path(char *logo, const char *path)
|
int music_player_play_by_path(char *logo, const char *path)
|
||||||
{
|
{
|
||||||
|
printf("......music_player_play_by_path [ %s-%s ] \n", logo, path);
|
||||||
if (path == NULL)
|
if (path == NULL)
|
||||||
{
|
{
|
||||||
return MUSIC_PLAYER_ERR_POINT;
|
return MUSIC_PLAYER_ERR_POINT;
|
||||||
|
@ -2,19 +2,31 @@
|
|||||||
#include "app_task.h"
|
#include "app_task.h"
|
||||||
#include "music_player.h"
|
#include "music_player.h"
|
||||||
|
|
||||||
|
typedef struct _kt_var_
|
||||||
|
{
|
||||||
|
int tid;
|
||||||
|
struct
|
||||||
|
{
|
||||||
|
u8 play_mode; //0:none,1:num,2:name,3:fullname
|
||||||
|
u8 play_num;
|
||||||
|
char play_name[32];
|
||||||
|
u8 cycle_mode;
|
||||||
|
}play_status;
|
||||||
|
|
||||||
|
} _kt_var;
|
||||||
|
|
||||||
u16 tid;
|
static _kt_var kt_var;
|
||||||
|
#define __this (&kt_var)
|
||||||
|
|
||||||
void kt_busy_ctl_init(void)
|
void kt_busy_ctl_init(void)
|
||||||
{
|
{
|
||||||
/* pa ctl-mute*/
|
/* pa ctl-mute*/
|
||||||
//gpio_set_direction(KT_PAMUTE_PORT, 0);
|
// gpio_set_direction(KT_PAMUTE_PORT, 0);
|
||||||
//gpio_set_pull_up(KT_PAMUTE_PORT, 0);
|
// gpio_set_pull_up(KT_PAMUTE_PORT, 0);
|
||||||
//gpio_set_pull_down(KT_PAMUTE_PORT, 0);
|
// gpio_set_pull_down(KT_PAMUTE_PORT, 0);
|
||||||
//gpio_set_hd(KT_PAMUTE_PORT, 1);
|
// gpio_set_hd(KT_PAMUTE_PORT, 1);
|
||||||
|
|
||||||
//gpio_set_output_value(KT_PAMUTE_PORT, 1);
|
// gpio_set_output_value(KT_PAMUTE_PORT, 1);
|
||||||
|
|
||||||
gpio_set_direction(KT_BUSY_PORT, 0);
|
gpio_set_direction(KT_BUSY_PORT, 0);
|
||||||
gpio_set_pull_up(KT_BUSY_PORT, 0);
|
gpio_set_pull_up(KT_BUSY_PORT, 0);
|
||||||
@ -26,6 +38,7 @@ void kt_busy_ctl_init(void)
|
|||||||
|
|
||||||
void timer_cb(void *arg)
|
void timer_cb(void *arg)
|
||||||
{
|
{
|
||||||
|
#if 0
|
||||||
if (app_get_curr_task() == APP_MUSIC_TASK)
|
if (app_get_curr_task() == APP_MUSIC_TASK)
|
||||||
{
|
{
|
||||||
if (music_player_get_play_status() == FILE_DEC_STATUS_PLAY)
|
if (music_player_get_play_status() == FILE_DEC_STATUS_PLAY)
|
||||||
@ -35,27 +48,76 @@ void timer_cb(void *arg)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
gpio_set_output_value(KT_BUSY_PORT, 0);
|
gpio_set_output_value(KT_BUSY_PORT, 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
gpio_set_output_value(KT_BUSY_PORT, 1);
|
gpio_set_output_value(KT_BUSY_PORT, 1);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void start_timer(void)
|
void start_timer(void)
|
||||||
{
|
{
|
||||||
if (tid)
|
if (__this->tid)
|
||||||
{
|
{
|
||||||
sys_timer_del(tid);
|
sys_timer_del(__this->tid);
|
||||||
}
|
}
|
||||||
tid = sys_timer_add(NULL,timer_cb, 50);
|
__this->tid = sys_timer_add(NULL, timer_cb, 50);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
u8 kt_get_cycle(void)
|
||||||
|
{
|
||||||
|
return __this->play_status.cycle_mode;
|
||||||
|
}
|
||||||
|
|
||||||
|
void kt_change_cycle(u8 cycle)
|
||||||
|
{
|
||||||
|
__this->play_status.cycle_mode = cycle;
|
||||||
|
if (cycle != FCYCLE_ONE)
|
||||||
|
{
|
||||||
|
memset(__this->play_status.play_name, 0, sizeof(__this->play_status.play_name));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void kt_set_last_play(u8 mode, u8 num, char *name)
|
||||||
|
{
|
||||||
|
printf("kt_set_last_play mode = %d, num = %d, name = %s\n", mode, num, name);
|
||||||
|
__this->play_status.play_mode = mode;
|
||||||
|
if (mode == 1)
|
||||||
|
{
|
||||||
|
printf("kt_set_last_play num = %d\n", num);
|
||||||
|
__this->play_status.play_num = num;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
printf("kt_set_last_play name = %s\n", name);
|
||||||
|
memset(__this->play_status.play_name, 0, sizeof(__this->play_status.play_name));
|
||||||
|
strcpy(__this->play_status.play_name, name);
|
||||||
|
printf("kt_set_last_play play_name = %s\n", __this->play_status.play_name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void kt_get_last_play(u8 *mode, u8 *num, char *name)
|
||||||
|
{
|
||||||
|
*mode = __this->play_status.play_mode;
|
||||||
|
printf("kt_get_last_play mode = %d\n", *mode);
|
||||||
|
if (__this->play_status.play_mode == 1)
|
||||||
|
{
|
||||||
|
*num = __this->play_status.play_num;
|
||||||
|
printf("kt_get_last_play num = %d\n", *num);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
strcpy(name, __this->play_status.play_name);
|
||||||
|
printf("kt_get_last_play name = %s\n", name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void kt_init(void)
|
void kt_init(void)
|
||||||
{
|
{
|
||||||
kt_busy_ctl_init();
|
memset(&__this->play_status, 0, sizeof(__this->play_status));
|
||||||
|
//kt_busy_ctl_init();
|
||||||
kt_uart_init();
|
kt_uart_init();
|
||||||
start_timer();
|
start_timer();
|
||||||
}
|
}
|
@ -9,6 +9,8 @@
|
|||||||
#define KT_UART_RX_PORT IO_PORTB_07
|
#define KT_UART_RX_PORT IO_PORTB_07
|
||||||
|
|
||||||
#define KT_BUSY_PORT IO_PORTA_04
|
#define KT_BUSY_PORT IO_PORTA_04
|
||||||
|
#define PA_MUTE() (gpio_set_output_value(IO_PORTA_04,1))
|
||||||
|
#define PA_UNMUTE() (gpio_set_output_value(IO_PORTA_04,0))
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
@ -41,13 +43,25 @@ typedef struct
|
|||||||
#define KT_CMD_VOL_SET 0xA8
|
#define KT_CMD_VOL_SET 0xA8
|
||||||
#define KT_CMD_VOL_MUTE 0xA9
|
#define KT_CMD_VOL_MUTE 0xA9
|
||||||
#define KT_CMD_VOL_UNMUTE 0xAA
|
#define KT_CMD_VOL_UNMUTE 0xAA
|
||||||
|
#define KT_CMD_CYCLE 0xAE
|
||||||
|
|
||||||
#define KT_CMD_PLAY_NAME 0xAB
|
#define KT_CMD_PLAY_NAME 0xAB
|
||||||
#define KT_CMD_PLAY_FULL_NAME 0xAC
|
#define KT_CMD_PLAY_FULL_NAME 0xAC
|
||||||
#define KT_CMD_PLAY_NUM 0xAD
|
#define KT_CMD_PLAY_NUM 0xAD
|
||||||
|
#define KT_CMD_GET_FILE_NUM 0xB0
|
||||||
|
#define KT_CMD_GET_DIR_NUM 0xB1
|
||||||
|
#define KT_CMD_GET_DIR_FILE_NUM 0xB2
|
||||||
|
#define KT_CMD_GET_PLAY_TOTAL_TIME 0xB3
|
||||||
|
#define KT_CMD_GET_PLAY_CUR_TIME 0xB4
|
||||||
|
|
||||||
void kt_uart_init(void);
|
void kt_uart_init(void);
|
||||||
void kt_uart_event(void);
|
void kt_uart_event(void);
|
||||||
void kt_init(void);
|
void kt_init(void);
|
||||||
|
void kt_change_cycle(u8 cycle);
|
||||||
|
u8 kt_get_cycle(void);
|
||||||
|
void kt_set_last_play(u8 mode, u8 num, char *name);
|
||||||
|
void kt_get_last_play(u8 *mode, u8 *num, char *name);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
@ -87,25 +87,58 @@ static void uart_ack(u8 cmd, u8 err)
|
|||||||
uart_bus->write(tx_buf,index);
|
uart_bus->write(tx_buf,index);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void uart_ack_d16(u8 cmd, u8 err,u16 data)
|
||||||
|
{
|
||||||
|
if (uart_bus == NULL)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
printf("tx_data cmd:%x err:%d \r\n", cmd, err);
|
||||||
|
u8 tx_buf[32] = {0};
|
||||||
|
int index = 0;
|
||||||
|
|
||||||
|
tx_buf[index++] = 0x02;
|
||||||
|
tx_buf[index++] = 0x04;
|
||||||
|
tx_buf[index++] = cmd;
|
||||||
|
tx_buf[index++] = err;
|
||||||
|
tx_buf[index++] = (u8)(data >> 8);
|
||||||
|
tx_buf[index++] = (u8)(data & 0xFF);
|
||||||
|
|
||||||
|
u8 x = tx_buf[1];
|
||||||
|
|
||||||
|
x = x ^ tx_buf[2];
|
||||||
|
x = x ^ tx_buf[3];
|
||||||
|
|
||||||
|
tx_buf[index++] = x;
|
||||||
|
tx_buf[index++] = 0x03;
|
||||||
|
|
||||||
|
uart_bus->write(tx_buf,index);
|
||||||
|
}
|
||||||
|
|
||||||
char str_play_name[32];
|
char str_play_name[32];
|
||||||
char str_play_name_full[32];
|
char str_play_name_full[32];
|
||||||
static void uart_process(tRxPacket *pack)
|
static void uart_process(tRxPacket *pack)
|
||||||
{
|
{
|
||||||
if ((pack->buf[0] != 0x02) || (pack->buf[pack->leng - 1] != 0x03))
|
if ((pack->buf[0] != 0x02) || (pack->buf[pack->leng - 1] != 0x03))
|
||||||
{
|
{
|
||||||
|
printf("data err head = %d tail = %d \n", pack->buf[0], pack->buf[pack->leng - 1]);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pack->buf[1] != pack->leng - 2)
|
if (pack->buf[1] != pack->leng - 2)
|
||||||
{
|
{
|
||||||
|
printf("data err length = %d \n", pack->buf[1]);
|
||||||
uart_ack(pack->buf[2], KT_ERR_LENGTH);
|
uart_ack(pack->buf[2], KT_ERR_LENGTH);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
u8 xor = pack->buf[1];
|
u8 xor = pack->buf[1];
|
||||||
|
|
||||||
|
|
||||||
if (pack->buf[pack->leng - 2] != 0xFF)
|
if (pack->buf[pack->leng - 2] != 0xFF)
|
||||||
{
|
{
|
||||||
|
printf("need xor check \n");
|
||||||
for (int i = 0; i < pack->buf[1] - 2; i++)
|
for (int i = 0; i < pack->buf[1] - 2; i++)
|
||||||
{
|
{
|
||||||
xor = xor ^ pack->buf[2 + i];
|
xor = xor ^ pack->buf[2 + i];
|
||||||
@ -120,6 +153,7 @@ static void uart_process(tRxPacket *pack)
|
|||||||
|
|
||||||
if (pack->buf[2] == KT_CMD_PLAY)
|
if (pack->buf[2] == KT_CMD_PLAY)
|
||||||
{
|
{
|
||||||
|
printf("KT_CMD_PLAY \n");
|
||||||
int sta = music_player_get_play_status();
|
int sta = music_player_get_play_status();
|
||||||
if (sta == FILE_DEC_STATUS_STOP)
|
if (sta == FILE_DEC_STATUS_STOP)
|
||||||
{
|
{
|
||||||
@ -137,6 +171,7 @@ static void uart_process(tRxPacket *pack)
|
|||||||
}
|
}
|
||||||
else if (pack->buf[2] == KT_CMD_PAUSE)
|
else if (pack->buf[2] == KT_CMD_PAUSE)
|
||||||
{
|
{
|
||||||
|
printf("KT_CMD_PAUSE \n");
|
||||||
int sta = music_player_get_play_status();
|
int sta = music_player_get_play_status();
|
||||||
if ((sta == FILE_DEC_STATUS_PLAY) || (sta == FILE_DEC_STATUS_WAIT_PLAY))
|
if ((sta == FILE_DEC_STATUS_PLAY) || (sta == FILE_DEC_STATUS_WAIT_PLAY))
|
||||||
{
|
{
|
||||||
@ -147,6 +182,7 @@ static void uart_process(tRxPacket *pack)
|
|||||||
}
|
}
|
||||||
else if (pack->buf[2] == KT_CMD_PP)
|
else if (pack->buf[2] == KT_CMD_PP)
|
||||||
{
|
{
|
||||||
|
printf("KT_CMD_PP \n");
|
||||||
int sta = music_player_get_play_status();
|
int sta = music_player_get_play_status();
|
||||||
if (sta == FILE_DEC_STATUS_STOP)
|
if (sta == FILE_DEC_STATUS_STOP)
|
||||||
{
|
{
|
||||||
@ -161,31 +197,37 @@ static void uart_process(tRxPacket *pack)
|
|||||||
}
|
}
|
||||||
else if (pack->buf[2] == KT_CMD_NEXT)
|
else if (pack->buf[2] == KT_CMD_NEXT)
|
||||||
{
|
{
|
||||||
|
printf("KT_CMD_NEXT \n");
|
||||||
app_task_put_key_msg(KEY_MUSIC_NEXT,0);
|
app_task_put_key_msg(KEY_MUSIC_NEXT,0);
|
||||||
uart_ack(pack->buf[2], KT_OK);
|
uart_ack(pack->buf[2], KT_OK);
|
||||||
}
|
}
|
||||||
else if (pack->buf[2] == KT_CMD_PREV)
|
else if (pack->buf[2] == KT_CMD_PREV)
|
||||||
{
|
{
|
||||||
|
printf("KT_CMD_PREV \n");
|
||||||
app_task_put_key_msg(KEY_MUSIC_PREV,0);
|
app_task_put_key_msg(KEY_MUSIC_PREV,0);
|
||||||
uart_ack(pack->buf[2], KT_OK);
|
uart_ack(pack->buf[2], KT_OK);
|
||||||
}
|
}
|
||||||
else if (pack->buf[2] == KT_CMD_STOP)
|
else if (pack->buf[2] == KT_CMD_STOP)
|
||||||
{
|
{
|
||||||
app_task_put_key_msg(KEY_MUSIC_PLAYER_END,0);
|
printf("KT_CMD_STOP \n");
|
||||||
|
app_task_put_key_msg(KEY_USER_PLAY_STOP,0);
|
||||||
uart_ack(pack->buf[2], KT_OK);
|
uart_ack(pack->buf[2], KT_OK);
|
||||||
}
|
}
|
||||||
else if (pack->buf[2] == KT_CMD_VOL_UP)
|
else if (pack->buf[2] == KT_CMD_VOL_UP)
|
||||||
{
|
{
|
||||||
|
printf("KT_CMD_VOL_UP \n");
|
||||||
app_task_put_key_msg(KEY_VOL_UP,0);
|
app_task_put_key_msg(KEY_VOL_UP,0);
|
||||||
uart_ack(pack->buf[2], KT_OK);
|
uart_ack(pack->buf[2], KT_OK);
|
||||||
}
|
}
|
||||||
else if (pack->buf[2] == KT_CMD_VOL_DOWN)
|
else if (pack->buf[2] == KT_CMD_VOL_DOWN)
|
||||||
{
|
{
|
||||||
|
printf("KT_CMD_VOL_DOWN \n");
|
||||||
app_task_put_key_msg(KEY_VOL_DOWN,0);
|
app_task_put_key_msg(KEY_VOL_DOWN,0);
|
||||||
uart_ack(pack->buf[2], KT_OK);
|
uart_ack(pack->buf[2], KT_OK);
|
||||||
}
|
}
|
||||||
else if (pack->buf[2] == KT_CMD_VOL_SET)
|
else if (pack->buf[2] == KT_CMD_VOL_SET)
|
||||||
{
|
{
|
||||||
|
printf("KT_CMD_VOL_SET \n");
|
||||||
app_audio_set_volume(APP_AUDIO_STATE_MUSIC, (s8)(pack->buf[3]), 1);
|
app_audio_set_volume(APP_AUDIO_STATE_MUSIC, (s8)(pack->buf[3]), 1);
|
||||||
uart_ack(pack->buf[2], KT_OK);
|
uart_ack(pack->buf[2], KT_OK);
|
||||||
}
|
}
|
||||||
@ -195,6 +237,7 @@ static void uart_process(tRxPacket *pack)
|
|||||||
//KT_PA_MUTE();
|
//KT_PA_MUTE();
|
||||||
kt_sys_mute = 1;
|
kt_sys_mute = 1;
|
||||||
//KT_PA_MUTE();
|
//KT_PA_MUTE();
|
||||||
|
app_audio_mute(0);
|
||||||
uart_ack(pack->buf[2], KT_OK);
|
uart_ack(pack->buf[2], KT_OK);
|
||||||
}
|
}
|
||||||
else if (pack->buf[2] == KT_CMD_VOL_UNMUTE)
|
else if (pack->buf[2] == KT_CMD_VOL_UNMUTE)
|
||||||
@ -202,10 +245,12 @@ static void uart_process(tRxPacket *pack)
|
|||||||
printf("KT_CMD_VOL_UNMUTE \n");
|
printf("KT_CMD_VOL_UNMUTE \n");
|
||||||
kt_sys_mute = 0;
|
kt_sys_mute = 0;
|
||||||
//KT_PA_UNMUTE();
|
//KT_PA_UNMUTE();
|
||||||
|
app_audio_mute(1);
|
||||||
uart_ack(pack->buf[2], KT_OK);
|
uart_ack(pack->buf[2], KT_OK);
|
||||||
}
|
}
|
||||||
else if (pack->buf[2] == KT_CMD_PLAY_NAME) //0xAB
|
else if (pack->buf[2] == KT_CMD_PLAY_NAME) //0xAB
|
||||||
{
|
{
|
||||||
|
printf("KT_CMD_PLAY_NAME \n");
|
||||||
if (pack->buf[3] == '$')
|
if (pack->buf[3] == '$')
|
||||||
{
|
{
|
||||||
//char temp[32];
|
//char temp[32];
|
||||||
@ -244,6 +289,7 @@ static void uart_process(tRxPacket *pack)
|
|||||||
}
|
}
|
||||||
else if (pack->buf[2] == KT_CMD_PLAY_FULL_NAME) //0xAC
|
else if (pack->buf[2] == KT_CMD_PLAY_FULL_NAME) //0xAC
|
||||||
{
|
{
|
||||||
|
printf("KT_CMD_PLAY_FULL_NAME \n");
|
||||||
if (pack->buf[3] == '$')
|
if (pack->buf[3] == '$')
|
||||||
{
|
{
|
||||||
//char temp[32];
|
//char temp[32];
|
||||||
@ -282,6 +328,7 @@ static void uart_process(tRxPacket *pack)
|
|||||||
}
|
}
|
||||||
else if (pack->buf[2] == KT_CMD_PLAY_NUM) //0xAD
|
else if (pack->buf[2] == KT_CMD_PLAY_NUM) //0xAD
|
||||||
{
|
{
|
||||||
|
printf("KT_CMD_PLAY_NUM \n");
|
||||||
u16 num = 0;
|
u16 num = 0;
|
||||||
num = pack->buf[3];
|
num = pack->buf[3];
|
||||||
num = num << 8;
|
num = num << 8;
|
||||||
@ -290,8 +337,56 @@ static void uart_process(tRxPacket *pack)
|
|||||||
app_task_put_key_msg(KEY_USER_PLAY_NUM, num); //test demo
|
app_task_put_key_msg(KEY_USER_PLAY_NUM, num); //test demo
|
||||||
uart_ack(pack->buf[2], KT_OK);
|
uart_ack(pack->buf[2], KT_OK);
|
||||||
}
|
}
|
||||||
|
else if (pack->buf[2] == KT_CMD_CYCLE)
|
||||||
|
{
|
||||||
|
printf("KT_CMD_CYCLE \n");
|
||||||
|
//app_task_put_key_msg(KEY_USER_PLAY_CYCLE, pack->buf[3]);
|
||||||
|
kt_change_cycle(pack->buf[3]);
|
||||||
|
uart_ack(pack->buf[2], KT_OK);
|
||||||
|
}
|
||||||
|
else if (pack->buf[2] == KT_CMD_GET_FILE_NUM) //文件数量
|
||||||
|
{
|
||||||
|
printf("KT_CMD_GET_FILE_NUM \n");
|
||||||
|
u16 num = 0;
|
||||||
|
num = music_player_get_file_total();
|
||||||
|
printf("num = %d\n", num);
|
||||||
|
uart_ack_d16(pack->buf[2], KT_OK, num);
|
||||||
|
}
|
||||||
|
else if (pack->buf[2] == KT_CMD_GET_DIR_NUM) //文件夹数量
|
||||||
|
{
|
||||||
|
printf("KT_CMD_GET_DIR_NUM \n");
|
||||||
|
u16 num = 0;
|
||||||
|
num = music_player_get_dir_total();
|
||||||
|
printf("num = %d\n", num);
|
||||||
|
uart_ack_d16(pack->buf[2], KT_OK, num);
|
||||||
|
}
|
||||||
|
else if (pack->buf[2] == KT_CMD_GET_DIR_FILE_NUM) //当前文件夹文件数量
|
||||||
|
{
|
||||||
|
printf("KT_CMD_GET_DIR_FILE_NUM \n");
|
||||||
|
u16 num = 0;
|
||||||
|
num = music_player_get_fileindir_number();
|
||||||
|
printf("num = %d\n", num);
|
||||||
|
uart_ack_d16(pack->buf[2], KT_OK, num);
|
||||||
|
}
|
||||||
|
else if (pack->buf[2] == KT_CMD_GET_PLAY_TOTAL_TIME) //播放总时间
|
||||||
|
{
|
||||||
|
printf("KT_CMD_GET_PLAY_TOTAL_TIME \n");
|
||||||
|
u16 num = 0;
|
||||||
|
num = music_player_get_dec_total_time();
|
||||||
|
printf("num = %d\n", num);
|
||||||
|
uart_ack_d16(pack->buf[2], KT_OK, num);
|
||||||
|
}
|
||||||
|
else if (pack->buf[2] == KT_CMD_GET_PLAY_CUR_TIME) //播放当前时间
|
||||||
|
{
|
||||||
|
printf("KT_CMD_GET_PLAY_CUR_TIME \n");
|
||||||
|
u16 num = 0;
|
||||||
|
num = music_player_get_dec_cur_time();
|
||||||
|
printf("num = %d\n", num);
|
||||||
|
uart_ack_d16(pack->buf[2], KT_OK, num);
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
printf("KT_CMD_UNCMD \n");
|
||||||
uart_ack(pack->buf[2], KT_ERR_UNCMD);
|
uart_ack(pack->buf[2], KT_ERR_UNCMD);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -29,7 +29,7 @@
|
|||||||
#define TCFG_APP_MUSIC_EN 1
|
#define TCFG_APP_MUSIC_EN 1
|
||||||
#define TCFG_APP_LINEIN_EN 0
|
#define TCFG_APP_LINEIN_EN 0
|
||||||
#define TCFG_APP_FM_EN 0
|
#define TCFG_APP_FM_EN 0
|
||||||
#define TCFG_APP_PC_EN 1
|
#define TCFG_APP_PC_EN 0
|
||||||
#define TCFG_APP_RTC_EN 0
|
#define TCFG_APP_RTC_EN 0
|
||||||
#define TCFG_APP_RECORD_EN 0
|
#define TCFG_APP_RECORD_EN 0
|
||||||
#define TCFG_APP_SPDIF_EN 0
|
#define TCFG_APP_SPDIF_EN 0
|
||||||
@ -42,11 +42,11 @@
|
|||||||
//*********************************************************************************//
|
//*********************************************************************************//
|
||||||
// UART配置 //
|
// UART配置 //
|
||||||
//*********************************************************************************//
|
//*********************************************************************************//
|
||||||
#define TCFG_UART0_ENABLE DISABLE_THIS_MOUDLE //串口打印模块使能
|
#define TCFG_UART0_ENABLE ENABLE_THIS_MOUDLE //串口打印模块使能
|
||||||
#define TCFG_UART0_RX_PORT NO_CONFIG_PORT //串口接收脚配置(用于打印可以选择NO_CONFIG_PORT)
|
#define TCFG_UART0_RX_PORT NO_CONFIG_PORT //串口接收脚配置(用于打印可以选择NO_CONFIG_PORT)
|
||||||
|
|
||||||
#if 1
|
#if 1
|
||||||
#define TCFG_UART0_TX_PORT IO_PORTA_05 //串口发送脚配置
|
#define TCFG_UART0_TX_PORT IO_PORT_DP //串口发送脚配置
|
||||||
#define TCFG_UART0_BAUDRATE 115200 //串口波特率配置
|
#define TCFG_UART0_BAUDRATE 115200 //串口波特率配置
|
||||||
#else
|
#else
|
||||||
#define TCFG_UART0_TX_PORT IO_PORTA_05 //串口发送脚配置
|
#define TCFG_UART0_TX_PORT IO_PORTA_05 //串口发送脚配置
|
||||||
@ -249,13 +249,13 @@
|
|||||||
|
|
||||||
//必须从小到大填电阻,没有则同VDDIO,填0x3ffL
|
//必须从小到大填电阻,没有则同VDDIO,填0x3ffL
|
||||||
#define TCFG_ADKEY_AD0 (0) //0R
|
#define TCFG_ADKEY_AD0 (0) //0R
|
||||||
#define TCFG_ADKEY_AD1 (0x3ffL * 10 / (10 + R_UP)) //3k
|
#define TCFG_ADKEY_AD1 (0x3ffL * 47 / (47 + R_UP)) //3k
|
||||||
#define TCFG_ADKEY_AD2 (0x3ffL * 22 / (22 + R_UP)) //6.2k
|
#define TCFG_ADKEY_AD2 (0x3ffL * 100 / (100 + R_UP)) //6.2k
|
||||||
#define TCFG_ADKEY_AD3 (0x3ffL * 47 / (47 + R_UP)) //9.1k
|
#define TCFG_ADKEY_AD3 (0x3ffL * 220 / (220 + R_UP)) //9.1k
|
||||||
#define TCFG_ADKEY_AD4 (0x3ffL * 68 / (68 + R_UP)) //15k
|
#define TCFG_ADKEY_AD4 (0x3ffL * 470 / (470 + R_UP)) //15k
|
||||||
#define TCFG_ADKEY_AD5 (0x3ffL * 100 / (100 + R_UP)) //24k
|
#define TCFG_ADKEY_AD5 (0x3ffL) //24k
|
||||||
#define TCFG_ADKEY_AD6 (0x3ffL * 150 / (150 + R_UP)) //33k
|
#define TCFG_ADKEY_AD6 (0x3ffL) //33k
|
||||||
#define TCFG_ADKEY_AD7 (0x3ffL * 240 / (240 + R_UP)) //51k
|
#define TCFG_ADKEY_AD7 (0x3ffL) //51k
|
||||||
#define TCFG_ADKEY_AD8 (0x3ffL) //100k
|
#define TCFG_ADKEY_AD8 (0x3ffL) //100k
|
||||||
#define TCFG_ADKEY_AD9 (0x3ffL)
|
#define TCFG_ADKEY_AD9 (0x3ffL)
|
||||||
#define TCFG_ADKEY_VDDIO (0x3ffL)
|
#define TCFG_ADKEY_VDDIO (0x3ffL)
|
||||||
@ -396,7 +396,7 @@ DAC硬件上的连接方式,可选的配置:
|
|||||||
DAC_OUTPUT_LR 立体声
|
DAC_OUTPUT_LR 立体声
|
||||||
DAC_OUTPUT_MONO_LR_DIFF 单声道差分输出
|
DAC_OUTPUT_MONO_LR_DIFF 单声道差分输出
|
||||||
*/
|
*/
|
||||||
#define TCFG_AUDIO_DAC_CONNECT_MODE DAC_OUTPUT_LR
|
#define TCFG_AUDIO_DAC_CONNECT_MODE DAC_OUTPUT_MONO_L
|
||||||
|
|
||||||
/*
|
/*
|
||||||
解码后音频的输出方式:
|
解码后音频的输出方式:
|
||||||
@ -419,7 +419,7 @@ DAC硬件上的连接方式,可选的配置:
|
|||||||
#define AUDIO_OUTPUT_WAY AUDIO_OUTPUT_WAY_DAC
|
#define AUDIO_OUTPUT_WAY AUDIO_OUTPUT_WAY_DAC
|
||||||
#define LINEIN_INPUT_WAY LINEIN_INPUT_WAY_ANALOG
|
#define LINEIN_INPUT_WAY LINEIN_INPUT_WAY_ANALOG
|
||||||
|
|
||||||
#define AUDIO_OUTPUT_AUTOMUTE 0//ENABLE
|
#define AUDIO_OUTPUT_AUTOMUTE 1//ENABLE
|
||||||
/*
|
/*
|
||||||
*系统音量类型选择
|
*系统音量类型选择
|
||||||
*软件数字音量是指纯软件对声音进行运算后得到的
|
*软件数字音量是指纯软件对声音进行运算后得到的
|
||||||
|
@ -133,28 +133,28 @@ const u16 linein_key_ad_table[KEY_AD_NUM_MAX][KEY_EVENT_MAX] = {
|
|||||||
const u16 music_key_ad_table[KEY_AD_NUM_MAX][KEY_EVENT_MAX] = {
|
const u16 music_key_ad_table[KEY_AD_NUM_MAX][KEY_EVENT_MAX] = {
|
||||||
//单击 //长按 //hold //抬起 //双击 //三击
|
//单击 //长按 //hold //抬起 //双击 //三击
|
||||||
[0] = {
|
[0] = {
|
||||||
KEY_CHANGE_MODE, KEY_POWEROFF, KEY_POWEROFF_HOLD, KEY_NULL, KEY_NULL, KEY_NULL
|
KEY_MUSIC_PP, KEY_POWEROFF, KEY_POWEROFF_HOLD, KEY_NULL, KEY_NULL, KEY_NULL
|
||||||
},
|
},
|
||||||
[1] = {
|
[1] = {
|
||||||
KEY_MUSIC_CHANGE_REPEAT, KEY_NULL, KEY_NULL, KEY_NULL, KEY_NULL, KEY_NULL
|
KEY_VOL_DOWN, KEY_VOL_DOWN, KEY_VOL_DOWN, KEY_NULL, KEY_NULL, KEY_NULL
|
||||||
},
|
},
|
||||||
[2] = {
|
[2] = {
|
||||||
KEY_MUSIC_PP, KEY_MUSIC_CHANGE_DEV, KEY_NULL, KEY_NULL, KEY_EQ_MODE, KEY_NULL
|
KEY_VOL_UP, KEY_VOL_UP, KEY_VOL_UP, KEY_NULL, KEY_NULL, KEY_NULL
|
||||||
},
|
},
|
||||||
[3] = {
|
[3] = {
|
||||||
KEY_MUSIC_PLAYE_NEXT_FOLDER, KEY_NULL, KEY_NULL, KEY_NULL, KEY_NULL, KEY_NULL
|
KEY_MUSIC_PREV, KEY_VOL_DOWN, KEY_VOL_DOWN, KEY_NULL, KEY_NULL, KEY_NULL
|
||||||
},
|
},
|
||||||
[4] = {
|
[4] = {
|
||||||
KEY_MUSIC_PREV, KEY_VOL_DOWN, KEY_VOL_DOWN, KEY_NULL, KEY_NULL, KEY_NULL
|
KEY_MUSIC_NEXT, KEY_VOL_UP, KEY_VOL_UP, KEY_NULL, KEY_NULL, KEY_NULL
|
||||||
},
|
},
|
||||||
[5] = {
|
[5] = {
|
||||||
KEY_MUSIC_PLAYE_PREV_FOLDER, KEY_NULL, KEY_MUSIC_FR, KEY_NULL, KEY_NULL, KEY_NULL
|
KEY_NULL, KEY_NULL, KEY_NULL, KEY_NULL, KEY_NULL, KEY_NULL
|
||||||
},
|
},
|
||||||
[6] = {
|
[6] = {
|
||||||
KEY_MUSIC_NEXT, KEY_VOL_UP, KEY_VOL_UP, KEY_NULL, KEY_REVERB_OPEN, KEY_NULL
|
KEY_NULL, KEY_NULL, KEY_NULL, KEY_NULL, KEY_NULL, KEY_NULL
|
||||||
},
|
},
|
||||||
[7] = {
|
[7] = {
|
||||||
KEY_MUSIC_PLAYE_REC_FOLDER_SWITCH, KEY_NULL, KEY_MUSIC_FF, KEY_NULL, KEY_NULL, KEY_NULL
|
KEY_NULL, KEY_NULL, KEY_NULL, KEY_NULL, KEY_NULL, KEY_NULL
|
||||||
},
|
},
|
||||||
[8] = {
|
[8] = {
|
||||||
KEY_NULL, KEY_NULL, KEY_NULL, KEY_NULL, KEY_NULL, KEY_NULL
|
KEY_NULL, KEY_NULL, KEY_NULL, KEY_NULL, KEY_NULL, KEY_NULL
|
||||||
|
@ -96,16 +96,28 @@ static void app_init()
|
|||||||
do_platform_initcall();
|
do_platform_initcall();
|
||||||
|
|
||||||
board_init();
|
board_init();
|
||||||
|
//mute/busy HiZ
|
||||||
|
gpio_set_pull_down(IO_PORTA_02,0);
|
||||||
|
gpio_set_pull_up(IO_PORTA_02,0);
|
||||||
|
gpio_set_die(IO_PORTA_02,1);
|
||||||
|
gpio_set_direction(IO_PORTA_02,1);
|
||||||
|
//mute
|
||||||
|
/* gpio_set_pull_down(IO_PORTA_04,0);
|
||||||
|
gpio_set_pull_up(IO_PORTA_04,0);
|
||||||
|
gpio_set_direction(IO_PORTA_04,0);
|
||||||
|
gpio_set_output_value(IO_PORTA_04,1); */
|
||||||
|
|
||||||
gpio_set_pull_down(IO_PORTC_02,0);
|
gpio_set_pull_down(IO_PORTC_02,0);
|
||||||
gpio_set_pull_up(IO_PORTC_02,0);
|
gpio_set_pull_up(IO_PORTC_02,0);
|
||||||
gpio_set_die(IO_PORTC_02,1);
|
gpio_set_die(IO_PORTC_02,1);
|
||||||
gpio_set_direction(IO_PORTC_02,1);
|
gpio_set_direction(IO_PORTC_02,1);
|
||||||
|
|
||||||
gpio_set_pull_down(IO_PORTA_02,0);
|
|
||||||
gpio_set_pull_up(IO_PORTA_02,0);
|
|
||||||
gpio_set_die(IO_PORTA_02,1);
|
gpio_set_pull_down(IO_PORTA_01,0);
|
||||||
gpio_set_direction(IO_PORTA_02,1);
|
gpio_set_pull_up(IO_PORTA_01,0);
|
||||||
|
gpio_set_die(IO_PORTA_01,1);
|
||||||
|
gpio_set_direction(IO_PORTA_01,1);
|
||||||
|
|
||||||
do_initcall();
|
do_initcall();
|
||||||
|
|
||||||
|
@ -178,6 +178,8 @@ enum {
|
|||||||
KEY_USER_PLAY_NUM,
|
KEY_USER_PLAY_NUM,
|
||||||
KEY_USER_PLAY_NAME,
|
KEY_USER_PLAY_NAME,
|
||||||
KEY_USER_PLAY_FULL_NAME,
|
KEY_USER_PLAY_FULL_NAME,
|
||||||
|
//KEY_USER_PLAY_CYCLE,
|
||||||
|
KEY_USER_PLAY_STOP,
|
||||||
|
|
||||||
KEY_IR_NUM_0, //中间不允许插入
|
KEY_IR_NUM_0, //中间不允许插入
|
||||||
KEY_IR_NUM_1,
|
KEY_IR_NUM_1,
|
||||||
|
@ -18,6 +18,7 @@
|
|||||||
#include "common/dev_status.h"
|
#include "common/dev_status.h"
|
||||||
#include "clock_cfg.h"
|
#include "clock_cfg.h"
|
||||||
#include "system/fs/fs.h"
|
#include "system/fs/fs.h"
|
||||||
|
#include "kt.h"
|
||||||
|
|
||||||
/*************************************************************
|
/*************************************************************
|
||||||
此文件函数主要是music模式按键处理和事件处理
|
此文件函数主要是music模式按键处理和事件处理
|
||||||
@ -430,7 +431,7 @@ void music_player_err_deal(int err)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
//msg = KEY_MUSIC_AUTO_NEXT_DEV; /// 所有文件都是错误的, 切换到下一个设备
|
// msg = KEY_MUSIC_AUTO_NEXT_DEV; /// 所有文件都是错误的, 切换到下一个设备
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -438,11 +439,11 @@ void music_player_err_deal(int err)
|
|||||||
__this->file_err_counter++;
|
__this->file_err_counter++;
|
||||||
if (__this->file_play_direct == 0)
|
if (__this->file_play_direct == 0)
|
||||||
{
|
{
|
||||||
//msg = KEY_MUSIC_NEXT; // 播放下一曲
|
// msg = KEY_MUSIC_NEXT; // 播放下一曲
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
//msg = KEY_MUSIC_PREV; // 播放上一曲
|
// msg = KEY_MUSIC_PREV; // 播放上一曲
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -454,7 +455,7 @@ void music_player_err_deal(int err)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
//msg = KEY_MUSIC_PLAYER_START; /// 没有找到指定设备, 播放之前的活动设备
|
// msg = KEY_MUSIC_PLAYER_START; /// 没有找到指定设备, 播放之前的活动设备
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -493,7 +494,7 @@ void music_player_err_deal(int err)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
//msg = KEY_MUSIC_AUTO_NEXT_DEV; /// 切换设备
|
// msg = KEY_MUSIC_AUTO_NEXT_DEV; /// 切换设备
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case MUSIC_PLAYER_ERR_FILE_NOFOUND:
|
case MUSIC_PLAYER_ERR_FILE_NOFOUND:
|
||||||
@ -510,7 +511,7 @@ void music_player_err_deal(int err)
|
|||||||
{
|
{
|
||||||
if (music_player_get_file_total())
|
if (music_player_get_file_total())
|
||||||
{
|
{
|
||||||
//msg = KEY_MUSIC_PLAYER_PLAY_FIRST; /// 有文件,播放第一个文件
|
// msg = KEY_MUSIC_PLAYER_PLAY_FIRST; /// 有文件,播放第一个文件
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -521,7 +522,7 @@ void music_player_err_deal(int err)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
//msg = KEY_MUSIC_AUTO_NEXT_DEV;
|
// msg = KEY_MUSIC_AUTO_NEXT_DEV;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -595,14 +596,15 @@ static int music_key_event_opr(struct sys_event *event)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
if (true == breakpoint_vm_read(breakpoint, logo))
|
//if (true == breakpoint_vm_read(breakpoint, logo))
|
||||||
{
|
//{
|
||||||
err = music_player_play_by_breakpoint(logo, breakpoint);
|
// err = music_player_play_by_breakpoint(logo, breakpoint);
|
||||||
}
|
//}
|
||||||
else
|
//else
|
||||||
{
|
//{
|
||||||
err = music_player_play_first_file(logo);
|
err = music_player_play_first_file(logo);
|
||||||
}
|
printf("---------------->>>>>>>err = %d logo:%s<<<<<<<<-----------------------\n", err, logo);
|
||||||
|
//}
|
||||||
break;
|
break;
|
||||||
case KEY_USER_PLAY_NUM:
|
case KEY_USER_PLAY_NUM:
|
||||||
printf("KEY_USER_PLAY_NUM = %d !!\n", msg[1]);
|
printf("KEY_USER_PLAY_NUM = %d !!\n", msg[1]);
|
||||||
@ -610,8 +612,13 @@ static int music_key_event_opr(struct sys_event *event)
|
|||||||
// sprintf(str, "/%03d.*", msg[1]);
|
// sprintf(str, "/%03d.*", msg[1]);
|
||||||
// printf("%s \n", str);
|
// printf("%s \n", str);
|
||||||
// err = music_player_play_by_path((char *)"fat_nor", str);
|
// err = music_player_play_by_path((char *)"fat_nor", str);
|
||||||
err = music_player_play_by_number((char *)"fat_nor", msg[1]);
|
//err = music_player_play_by_number((char *)"sd0", msg[1]);
|
||||||
|
err = music_player_play_by_number(music_player_get_dev_cur(), msg[1]);
|
||||||
printf("err = %d\n", err);
|
printf("err = %d\n", err);
|
||||||
|
if (kt_get_cycle() == FCYCLE_ONE)
|
||||||
|
{
|
||||||
|
kt_set_last_play(1, msg[1], NULL);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case KEY_USER_PLAY_NAME:
|
case KEY_USER_PLAY_NAME:
|
||||||
printf("KEY_USER_PLAY_NAME !!\n");
|
printf("KEY_USER_PLAY_NAME !!\n");
|
||||||
@ -624,16 +631,39 @@ static int music_key_event_opr(struct sys_event *event)
|
|||||||
strcat(str, ".*");
|
strcat(str, ".*");
|
||||||
// strcat(play_name,".*")
|
// strcat(play_name,".*")
|
||||||
printf("%s \n", str);
|
printf("%s \n", str);
|
||||||
err = music_player_play_by_path((char *)"fat_nor", str);
|
//err = music_player_play_by_path((char *)"sd0", str);
|
||||||
|
err = music_player_play_by_path(music_player_get_dev_cur(), str);
|
||||||
printf("err = %d\n", err);
|
printf("err = %d\n", err);
|
||||||
|
if (kt_get_cycle() == FCYCLE_ONE)
|
||||||
|
{
|
||||||
|
kt_set_last_play(2, 0, str);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case KEY_USER_PLAY_FULL_NAME:
|
case KEY_USER_PLAY_FULL_NAME:
|
||||||
printf("KEY_USER_PLAY_FULL_NAME !!\n");
|
printf("KEY_USER_PLAY_FULL_NAME !!\n");
|
||||||
play_name = (char *)msg[1];
|
play_name = (char *)msg[1];
|
||||||
printf("%s \n", play_name);
|
printf("%s \n", play_name);
|
||||||
|
|
||||||
err = music_player_play_by_path((char *)"fat_nor", play_name);
|
//err = music_player_play_by_path((char *)"sd0", play_name);
|
||||||
|
err = music_player_play_by_path(music_player_get_dev_cur(), play_name);
|
||||||
printf("err = %d\n", err);
|
printf("err = %d\n", err);
|
||||||
|
if (kt_get_cycle() == FCYCLE_ONE)
|
||||||
|
{
|
||||||
|
kt_set_last_play(3, 0, play_name);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
/* case KEY_USER_PLAY_CYCLE:
|
||||||
|
printf("KEY_USER_PLAY_CYCLE !!\n");
|
||||||
|
if (msg[1] < FCYCLE_MAX)
|
||||||
|
{
|
||||||
|
kt_change_cycle(msg[1]);
|
||||||
|
music_player_set_repeat_mode(msg[1]);
|
||||||
|
}
|
||||||
|
break; */
|
||||||
|
case KEY_USER_PLAY_STOP:
|
||||||
|
printf("KEY_USER_PLAY_STOP !!\n");
|
||||||
|
//err = music_player_end_deal(msg[1]);
|
||||||
|
music_player_stop(0);
|
||||||
break;
|
break;
|
||||||
/// 播放器退出处理
|
/// 播放器退出处理
|
||||||
case KEY_MUSIC_PLAYER_QUIT:
|
case KEY_MUSIC_PLAYER_QUIT:
|
||||||
@ -644,6 +674,31 @@ static int music_key_event_opr(struct sys_event *event)
|
|||||||
case KEY_MUSIC_PLAYER_END:
|
case KEY_MUSIC_PLAYER_END:
|
||||||
printf("KEY_MUSIC_PLAYER_END\n");
|
printf("KEY_MUSIC_PLAYER_END\n");
|
||||||
err = music_player_end_deal(msg[1]);
|
err = music_player_end_deal(msg[1]);
|
||||||
|
if (kt_get_cycle() == FCYCLE_ONE)
|
||||||
|
{
|
||||||
|
u8 mode, num;
|
||||||
|
char name[32];
|
||||||
|
kt_get_last_play(&mode, &num, name);
|
||||||
|
printf("mode = %d, num = %d, name = %s\n", mode, num, name);
|
||||||
|
if (mode == 0)
|
||||||
|
{
|
||||||
|
printf("noting to do\n");
|
||||||
|
}
|
||||||
|
else if (mode == 1)
|
||||||
|
{
|
||||||
|
printf("play by number\n");
|
||||||
|
//err = music_player_play_by_number((char *)"sd0", num);
|
||||||
|
err = music_player_play_by_number(music_player_get_dev_cur(), num);
|
||||||
|
printf("err = %d\n", err);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
printf("play by path\n");
|
||||||
|
//err = music_player_play_by_path((char *)"sd0", name);
|
||||||
|
err = music_player_play_by_path(music_player_get_dev_cur(), name);
|
||||||
|
printf("err = %d\n", err);
|
||||||
|
}
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
/// 播放执行类消息
|
/// 播放执行类消息
|
||||||
case KEY_MUSIC_PP:
|
case KEY_MUSIC_PP:
|
||||||
@ -986,18 +1041,29 @@ int music_app_check(void)
|
|||||||
@note
|
@note
|
||||||
*/
|
*/
|
||||||
/*----------------------------------------------------------------------------*/
|
/*----------------------------------------------------------------------------*/
|
||||||
|
//static u8 first_start = 0;
|
||||||
void app_music_task()
|
void app_music_task()
|
||||||
{
|
{
|
||||||
int res;
|
int res;
|
||||||
int msg[32];
|
int msg[32];
|
||||||
|
|
||||||
music_task_start();
|
music_task_start();
|
||||||
|
|
||||||
|
//first_start = 1;
|
||||||
|
|
||||||
#if (MUSIC_DEVICE_TONE_EN)
|
#if (MUSIC_DEVICE_TONE_EN)
|
||||||
music_player_play_start();
|
music_player_play_start();
|
||||||
#else
|
#else
|
||||||
// tone_play_with_callback_by_name(tone_table[IDEX_TONE_MUSIC], 1, music_tone_play_end_callback, (void *)IDEX_TONE_MUSIC);
|
// tone_play_with_callback_by_name(tone_table[IDEX_TONE_MUSIC], 1, music_tone_play_end_callback, (void *)IDEX_TONE_MUSIC);
|
||||||
#endif
|
#endif
|
||||||
music_player_set_repeat_mode(FCYCLE_ONE);
|
//music_player_set_repeat_mode(FCYCLE_ONE);
|
||||||
|
kt_change_cycle(FCYCLE_LIST);
|
||||||
|
|
||||||
|
//dev_manager_set_active_by_logo("sd0");
|
||||||
|
//dev_manager_set_valid_by_logo("sd0", 1);
|
||||||
|
|
||||||
|
app_task_put_key_msg(KEY_MUSIC_PLAYER_START, 0);
|
||||||
|
|
||||||
|
|
||||||
while (1)
|
while (1)
|
||||||
{
|
{
|
||||||
|
@ -13,6 +13,8 @@
|
|||||||
#include "app_task.h"
|
#include "app_task.h"
|
||||||
#include "key_event_deal.h"
|
#include "key_event_deal.h"
|
||||||
|
|
||||||
|
#include "kt.h"
|
||||||
|
|
||||||
|
|
||||||
#define LOG_TAG_CONST APP_IDLE
|
#define LOG_TAG_CONST APP_IDLE
|
||||||
#define LOG_TAG "[APP_IDLE]"
|
#define LOG_TAG "[APP_IDLE]"
|
||||||
@ -130,6 +132,8 @@ void app_poweron_task()
|
|||||||
|
|
||||||
UI_SHOW_MENU(MENU_POWER_UP, 0, 0, NULL);
|
UI_SHOW_MENU(MENU_POWER_UP, 0, 0, NULL);
|
||||||
|
|
||||||
|
PA_UNMUTE();
|
||||||
|
|
||||||
kt_init();
|
kt_init();
|
||||||
|
|
||||||
int err = tone_play_with_callback_by_name(tone_table[IDEX_TONE_POWER_ON], 1, tone_play_end_callback, (void *)IDEX_TONE_POWER_ON);
|
int err = tone_play_with_callback_by_name(tone_table[IDEX_TONE_POWER_ON], 1, tone_play_end_callback, (void *)IDEX_TONE_POWER_ON);
|
||||||
|
@ -55,20 +55,20 @@ extern void mix_out_automute_open();
|
|||||||
extern void mix_out_automute_close();
|
extern void mix_out_automute_close();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define AUDIO_CODEC_SUPPORT_SYNC 1 // 同步
|
#define AUDIO_CODEC_SUPPORT_SYNC 1 // 同步
|
||||||
|
|
||||||
#if (RECORDER_MIX_EN)
|
#if (RECORDER_MIX_EN)
|
||||||
#define MAX_SRC_NUMBER 4 // 最大支持src个数
|
#define MAX_SRC_NUMBER 4 // 最大支持src个数
|
||||||
#else
|
#else
|
||||||
#define MAX_SRC_NUMBER 3 // 最大支持src个数
|
#define MAX_SRC_NUMBER 3 // 最大支持src个数
|
||||||
#endif/*RECORDER_MIX_EN*/
|
#endif /*RECORDER_MIX_EN*/
|
||||||
|
|
||||||
#define AUDIO_DECODE_TASK_WAKEUP_TIME 0 // 解码定时唤醒 // ms
|
#define AUDIO_DECODE_TASK_WAKEUP_TIME 0 // 解码定时唤醒 // ms
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
struct audio_decoder_task decode_task = {0};
|
struct audio_decoder_task decode_task = {0};
|
||||||
struct audio_mixer mixer = {0};
|
struct audio_mixer mixer = {0};
|
||||||
/*struct audio_stream_dac_out *dac_last = NULL;*/
|
/*struct audio_stream_dac_out *dac_last = NULL;*/
|
||||||
|
|
||||||
static u8 audio_dec_inited = 0;
|
static u8 audio_dec_inited = 0;
|
||||||
@ -79,12 +79,12 @@ struct audio_eq_drc *mix_eq_drc = NULL;
|
|||||||
struct prevent_task_fill *prevent_fill = NULL;
|
struct prevent_task_fill *prevent_fill = NULL;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
u8 audio_src_hw_filt[SRC_FILT_POINTS * SRC_CHI * 2 * MAX_SRC_NUMBER];
|
u8 audio_src_hw_filt[SRC_FILT_POINTS * SRC_CHI * 2 * MAX_SRC_NUMBER];
|
||||||
s16 mix_buff[AUDIO_MIXER_LEN / 2] SEC(.dec_mix_buff);
|
s16 mix_buff[AUDIO_MIXER_LEN / 2] SEC(.dec_mix_buff);
|
||||||
#if (RECORDER_MIX_EN)
|
#if (RECORDER_MIX_EN)
|
||||||
struct audio_mixer recorder_mixer = {0};
|
struct audio_mixer recorder_mixer = {0};
|
||||||
s16 recorder_mix_buff[AUDIO_MIXER_LEN / 2] SEC(.dec_mix_buff);
|
s16 recorder_mix_buff[AUDIO_MIXER_LEN / 2] SEC(.dec_mix_buff);
|
||||||
#endif/*RECORDER_MIX_EN*/
|
#endif /*RECORDER_MIX_EN*/
|
||||||
|
|
||||||
#if (AUDIO_OUTPUT_WAY == AUDIO_OUTPUT_WAY_DAC)
|
#if (AUDIO_OUTPUT_WAY == AUDIO_OUTPUT_WAY_DAC)
|
||||||
#if AUDIO_CODEC_SUPPORT_SYNC
|
#if AUDIO_CODEC_SUPPORT_SYNC
|
||||||
@ -97,11 +97,9 @@ vocal_remove_hdl *mix_vocal_remove_hdl = NULL;
|
|||||||
void *vocal_remove_open(u8 ch_num);
|
void *vocal_remove_open(u8 ch_num);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
extern const int config_mixer_en;
|
extern const int config_mixer_en;
|
||||||
|
|
||||||
#define AUDIO_DEC_MIXER_EN config_mixer_en
|
#define AUDIO_DEC_MIXER_EN config_mixer_en
|
||||||
|
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////
|
||||||
void *mix_out_eq_drc_open(u16 sample_rate, u8 ch_num);
|
void *mix_out_eq_drc_open(u16 sample_rate, u8 ch_num);
|
||||||
@ -123,7 +121,8 @@ int audio_dac_energy_get(void)
|
|||||||
{
|
{
|
||||||
#if AUDIO_OUTPUT_AUTOMUTE
|
#if AUDIO_OUTPUT_AUTOMUTE
|
||||||
int audio_energy_detect_energy_get(void *_hdl, u8 ch);
|
int audio_energy_detect_energy_get(void *_hdl, u8 ch);
|
||||||
if (mix_out_automute_hdl) {
|
if (mix_out_automute_hdl)
|
||||||
|
{
|
||||||
return audio_energy_detect_energy_get(mix_out_automute_hdl, BIT(0));
|
return audio_energy_detect_energy_get(mix_out_automute_hdl, BIT(0));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -193,7 +192,7 @@ void audio_dac_sync_src_deal(int in_rate, int out_rate)
|
|||||||
/*----------------------------------------------------------------------------*/
|
/*----------------------------------------------------------------------------*/
|
||||||
static void audio_decoder_wakeup_timer(void *priv)
|
static void audio_decoder_wakeup_timer(void *priv)
|
||||||
{
|
{
|
||||||
//putchar('k');
|
// putchar('k');
|
||||||
audio_resume_all_decoder();
|
audio_resume_all_decoder();
|
||||||
}
|
}
|
||||||
/*----------------------------------------------------------------------------*/
|
/*----------------------------------------------------------------------------*/
|
||||||
@ -205,7 +204,8 @@ static void audio_decoder_wakeup_timer(void *priv)
|
|||||||
/*----------------------------------------------------------------------------*/
|
/*----------------------------------------------------------------------------*/
|
||||||
int audio_decoder_task_add_probe(struct audio_decoder_task *task)
|
int audio_decoder_task_add_probe(struct audio_decoder_task *task)
|
||||||
{
|
{
|
||||||
if (task->wakeup_timer == 0) {
|
if (task->wakeup_timer == 0)
|
||||||
|
{
|
||||||
task->wakeup_timer = sys_hi_timer_add(NULL, audio_decoder_wakeup_timer, AUDIO_DECODE_TASK_WAKEUP_TIME);
|
task->wakeup_timer = sys_hi_timer_add(NULL, audio_decoder_wakeup_timer, AUDIO_DECODE_TASK_WAKEUP_TIME);
|
||||||
log_i("audio_decoder_task_add_probe:%d\n", task->wakeup_timer);
|
log_i("audio_decoder_task_add_probe:%d\n", task->wakeup_timer);
|
||||||
}
|
}
|
||||||
@ -221,11 +221,13 @@ int audio_decoder_task_add_probe(struct audio_decoder_task *task)
|
|||||||
int audio_decoder_task_del_probe(struct audio_decoder_task *task)
|
int audio_decoder_task_del_probe(struct audio_decoder_task *task)
|
||||||
{
|
{
|
||||||
log_i("audio_decoder_task_del_probe\n");
|
log_i("audio_decoder_task_del_probe\n");
|
||||||
if (audio_decoder_task_wait_state(task) > 0) {
|
if (audio_decoder_task_wait_state(task) > 0)
|
||||||
|
{
|
||||||
/*解码任务列表还有任务*/
|
/*解码任务列表还有任务*/
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
if (task->wakeup_timer) {
|
if (task->wakeup_timer)
|
||||||
|
{
|
||||||
log_i("audio_decoder_task_del_probe:%d\n", task->wakeup_timer);
|
log_i("audio_decoder_task_del_probe:%d\n", task->wakeup_timer);
|
||||||
sys_hi_timer_del(task->wakeup_timer);
|
sys_hi_timer_del(task->wakeup_timer);
|
||||||
task->wakeup_timer = 0;
|
task->wakeup_timer = 0;
|
||||||
@ -241,13 +243,14 @@ int audio_decoder_task_del_probe(struct audio_decoder_task *task)
|
|||||||
/*----------------------------------------------------------------------------*/
|
/*----------------------------------------------------------------------------*/
|
||||||
int audio_decoder_wakeup_modify(int msecs)
|
int audio_decoder_wakeup_modify(int msecs)
|
||||||
{
|
{
|
||||||
if (decode_task.wakeup_timer) {
|
if (decode_task.wakeup_timer)
|
||||||
|
{
|
||||||
sys_hi_timer_modify(decode_task.wakeup_timer, msecs);
|
sys_hi_timer_modify(decode_task.wakeup_timer, msecs);
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
#endif/*AUDIO_DECODE_TASK_WAKEUP_TIME*/
|
#endif /*AUDIO_DECODE_TASK_WAKEUP_TIME*/
|
||||||
|
|
||||||
/*----------------------------------------------------------------------------*/
|
/*----------------------------------------------------------------------------*/
|
||||||
/**@brief 各模式主解码open
|
/**@brief 各模式主解码open
|
||||||
@ -266,7 +269,6 @@ void audio_mode_main_dec_open(u32 state)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*----------------------------------------------------------------------------*/
|
/*----------------------------------------------------------------------------*/
|
||||||
/**@brief 获取输出默认采样率
|
/**@brief 获取输出默认采样率
|
||||||
@param
|
@param
|
||||||
@ -309,12 +311,14 @@ u32 audio_output_nor_rate(void)
|
|||||||
u32 audio_output_rate(int input_rate)
|
u32 audio_output_rate(int input_rate)
|
||||||
{
|
{
|
||||||
u32 out_rate = audio_output_nor_rate();
|
u32 out_rate = audio_output_nor_rate();
|
||||||
if (out_rate) {
|
if (out_rate)
|
||||||
|
{
|
||||||
return out_rate;
|
return out_rate;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if (AUDIO_OUTPUT_WAY == AUDIO_OUTPUT_WAY_BT)
|
#if (AUDIO_OUTPUT_WAY == AUDIO_OUTPUT_WAY_BT)
|
||||||
if (bt_user_priv_var.emitter_or_receiver == BT_EMITTER_EN) {
|
if (bt_user_priv_var.emitter_or_receiver == BT_EMITTER_EN)
|
||||||
|
{
|
||||||
y_printf("+++ \n");
|
y_printf("+++ \n");
|
||||||
return audio_sbc_enc_get_rate();
|
return audio_sbc_enc_get_rate();
|
||||||
}
|
}
|
||||||
@ -323,11 +327,12 @@ u32 audio_output_rate(int input_rate)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if (TCFG_REVERB_ENABLE || TCFG_MIC_EFFECT_ENABLE)
|
#if (TCFG_REVERB_ENABLE || TCFG_MIC_EFFECT_ENABLE)
|
||||||
if (input_rate > 48000) {
|
if (input_rate > 48000)
|
||||||
|
{
|
||||||
return 48000;
|
return 48000;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
return app_audio_output_samplerate_select(input_rate, 1);
|
return app_audio_output_samplerate_select(input_rate, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*----------------------------------------------------------------------------*/
|
/*----------------------------------------------------------------------------*/
|
||||||
@ -342,22 +347,26 @@ u32 audio_output_channel_num(void)
|
|||||||
#if AUDIO_OUTPUT_INCLUDE_DAC
|
#if AUDIO_OUTPUT_INCLUDE_DAC
|
||||||
|
|
||||||
#if (AUDIO_OUTPUT_WAY == AUDIO_OUTPUT_WAY_BT)
|
#if (AUDIO_OUTPUT_WAY == AUDIO_OUTPUT_WAY_BT)
|
||||||
if (bt_user_priv_var.emitter_or_receiver == BT_EMITTER_EN) {
|
if (bt_user_priv_var.emitter_or_receiver == BT_EMITTER_EN)
|
||||||
|
{
|
||||||
return audio_sbc_enc_get_channel_num();
|
return audio_sbc_enc_get_channel_num();
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*根据DAC输出的方式选择输出的声道*/
|
/*根据DAC输出的方式选择输出的声道*/
|
||||||
u8 dac_connect_mode = app_audio_output_mode_get();
|
u8 dac_connect_mode = app_audio_output_mode_get();
|
||||||
if (dac_connect_mode == DAC_OUTPUT_LR || dac_connect_mode == DAC_OUTPUT_DUAL_LR_DIFF) {
|
if (dac_connect_mode == DAC_OUTPUT_LR || dac_connect_mode == DAC_OUTPUT_DUAL_LR_DIFF)
|
||||||
|
{
|
||||||
return 2;
|
return 2;
|
||||||
} else {
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
#elif (AUDIO_OUTPUT_WAY == AUDIO_OUTPUT_WAY_FM)
|
#elif (AUDIO_OUTPUT_WAY == AUDIO_OUTPUT_WAY_FM)
|
||||||
return 2;
|
return 2;
|
||||||
#else
|
#else
|
||||||
return 2;
|
return 2;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -366,8 +375,10 @@ u32 audio_output_channel_type(void)
|
|||||||
#if AUDIO_OUTPUT_INCLUDE_DAC
|
#if AUDIO_OUTPUT_INCLUDE_DAC
|
||||||
|
|
||||||
#if (AUDIO_OUTPUT_WAY == AUDIO_OUTPUT_WAY_BT)
|
#if (AUDIO_OUTPUT_WAY == AUDIO_OUTPUT_WAY_BT)
|
||||||
if (bt_user_priv_var.emitter_or_receiver == BT_EMITTER_EN) {
|
if (bt_user_priv_var.emitter_or_receiver == BT_EMITTER_EN)
|
||||||
if (audio_sbc_enc_get_channel_num() == 2) {
|
{
|
||||||
|
if (audio_sbc_enc_get_channel_num() == 2)
|
||||||
|
{
|
||||||
return AUDIO_CH_LR;
|
return AUDIO_CH_LR;
|
||||||
}
|
}
|
||||||
return AUDIO_CH_DIFF;
|
return AUDIO_CH_DIFF;
|
||||||
@ -375,20 +386,27 @@ u32 audio_output_channel_type(void)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*根据DAC输出的方式选择输出的声道*/
|
/*根据DAC输出的方式选择输出的声道*/
|
||||||
u8 dac_connect_mode = app_audio_output_mode_get();
|
u8 dac_connect_mode = app_audio_output_mode_get();
|
||||||
if (dac_connect_mode == DAC_OUTPUT_LR || dac_connect_mode == DAC_OUTPUT_DUAL_LR_DIFF) {
|
if (dac_connect_mode == DAC_OUTPUT_LR || dac_connect_mode == DAC_OUTPUT_DUAL_LR_DIFF)
|
||||||
|
{
|
||||||
return AUDIO_CH_LR;
|
return AUDIO_CH_LR;
|
||||||
} else if (dac_connect_mode == DAC_OUTPUT_MONO_L) {
|
}
|
||||||
|
else if (dac_connect_mode == DAC_OUTPUT_MONO_L)
|
||||||
|
{
|
||||||
return AUDIO_CH_L;
|
return AUDIO_CH_L;
|
||||||
} else if (dac_connect_mode == DAC_OUTPUT_MONO_R) {
|
}
|
||||||
|
else if (dac_connect_mode == DAC_OUTPUT_MONO_R)
|
||||||
|
{
|
||||||
return AUDIO_CH_R;
|
return AUDIO_CH_R;
|
||||||
} else {
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
return AUDIO_CH_DIFF;
|
return AUDIO_CH_DIFF;
|
||||||
}
|
}
|
||||||
#elif (AUDIO_OUTPUT_WAY == AUDIO_OUTPUT_WAY_FM)
|
#elif (AUDIO_OUTPUT_WAY == AUDIO_OUTPUT_WAY_FM)
|
||||||
return AUDIO_CH_LR;
|
return AUDIO_CH_LR;
|
||||||
#else
|
#else
|
||||||
return AUDIO_CH_LR;
|
return AUDIO_CH_LR;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -402,14 +420,14 @@ u32 audio_output_channel_type(void)
|
|||||||
int audio_output_set_start_volume(u8 state)
|
int audio_output_set_start_volume(u8 state)
|
||||||
{
|
{
|
||||||
s16 vol_max = get_max_sys_vol();
|
s16 vol_max = get_max_sys_vol();
|
||||||
if (state == APP_AUDIO_STATE_CALL) {
|
if (state == APP_AUDIO_STATE_CALL)
|
||||||
|
{
|
||||||
vol_max = app_var.aec_dac_gain;
|
vol_max = app_var.aec_dac_gain;
|
||||||
}
|
}
|
||||||
app_audio_state_switch(state, vol_max);
|
app_audio_state_switch(state, vol_max);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*----------------------------------------------------------------------------*/
|
/*----------------------------------------------------------------------------*/
|
||||||
/**@brief 开始音频输出
|
/**@brief 开始音频输出
|
||||||
@param sample_rate: 输出采样率
|
@param sample_rate: 输出采样率
|
||||||
@ -421,11 +439,13 @@ int audio_output_set_start_volume(u8 state)
|
|||||||
u8 audio_output_flag = 0;
|
u8 audio_output_flag = 0;
|
||||||
int audio_output_start(u32 sample_rate, u8 reset_rate)
|
int audio_output_start(u32 sample_rate, u8 reset_rate)
|
||||||
{
|
{
|
||||||
if (reset_rate) {
|
if (reset_rate)
|
||||||
|
{
|
||||||
app_audio_output_samplerate_set(sample_rate);
|
app_audio_output_samplerate_set(sample_rate);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (audio_output_flag) {
|
if (audio_output_flag)
|
||||||
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -461,14 +481,15 @@ void audio_output_stop(void)
|
|||||||
*/
|
*/
|
||||||
/*----------------------------------------------------------------------------*/
|
/*----------------------------------------------------------------------------*/
|
||||||
struct audio_src_handle *audio_hw_resample_open(void *priv,
|
struct audio_src_handle *audio_hw_resample_open(void *priv,
|
||||||
int (*output_handler)(void *, void *, int),
|
int (*output_handler)(void *, void *, int),
|
||||||
u8 channel,
|
u8 channel,
|
||||||
u16 input_sample_rate,
|
u16 input_sample_rate,
|
||||||
u16 output_sample_rate)
|
u16 output_sample_rate)
|
||||||
{
|
{
|
||||||
struct audio_src_handle *hdl;
|
struct audio_src_handle *hdl;
|
||||||
hdl = zalloc(sizeof(struct audio_src_handle));
|
hdl = zalloc(sizeof(struct audio_src_handle));
|
||||||
if (hdl) {
|
if (hdl)
|
||||||
|
{
|
||||||
audio_hw_src_open(hdl, channel, SRC_TYPE_RESAMPLE);
|
audio_hw_src_open(hdl, channel, SRC_TYPE_RESAMPLE);
|
||||||
audio_hw_src_set_rate(hdl, input_sample_rate, output_sample_rate);
|
audio_hw_src_set_rate(hdl, input_sample_rate, output_sample_rate);
|
||||||
audio_src_set_output_handler(hdl, priv, output_handler);
|
audio_src_set_output_handler(hdl, priv, output_handler);
|
||||||
@ -486,14 +507,14 @@ struct audio_src_handle *audio_hw_resample_open(void *priv,
|
|||||||
/*----------------------------------------------------------------------------*/
|
/*----------------------------------------------------------------------------*/
|
||||||
void audio_hw_resample_close(struct audio_src_handle *hdl)
|
void audio_hw_resample_close(struct audio_src_handle *hdl)
|
||||||
{
|
{
|
||||||
if (hdl) {
|
if (hdl)
|
||||||
|
{
|
||||||
audio_hw_src_stop(hdl);
|
audio_hw_src_stop(hdl);
|
||||||
audio_hw_src_close(hdl);
|
audio_hw_src_close(hdl);
|
||||||
free(hdl);
|
free(hdl);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*----------------------------------------------------------------------------*/
|
/*----------------------------------------------------------------------------*/
|
||||||
/**@brief mixer事件处理
|
/**@brief mixer事件处理
|
||||||
@param *mixer: 句柄
|
@param *mixer: 句柄
|
||||||
@ -504,14 +525,17 @@ void audio_hw_resample_close(struct audio_src_handle *hdl)
|
|||||||
/*----------------------------------------------------------------------------*/
|
/*----------------------------------------------------------------------------*/
|
||||||
static void mixer_event_handler(struct audio_mixer *mixer, int event)
|
static void mixer_event_handler(struct audio_mixer *mixer, int event)
|
||||||
{
|
{
|
||||||
switch (event) {
|
switch (event)
|
||||||
|
{
|
||||||
case MIXER_EVENT_OPEN:
|
case MIXER_EVENT_OPEN:
|
||||||
if (audio_mixer_get_ch_num(mixer) >= 1) {
|
if (audio_mixer_get_ch_num(mixer) >= 1)
|
||||||
|
{
|
||||||
clock_add_set(DEC_MIX_CLK);
|
clock_add_set(DEC_MIX_CLK);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case MIXER_EVENT_CLOSE:
|
case MIXER_EVENT_CLOSE:
|
||||||
if (audio_mixer_get_ch_num(mixer) == 0) {
|
if (audio_mixer_get_ch_num(mixer) == 0)
|
||||||
|
{
|
||||||
clock_remove_set(DEC_MIX_CLK);
|
clock_remove_set(DEC_MIX_CLK);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -527,7 +551,6 @@ static void mixer_event_handler(struct audio_mixer *mixer, int event)
|
|||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
/*----------------------------------------------------------------------------*/
|
/*----------------------------------------------------------------------------*/
|
||||||
/**@brief 检测mixer采样率支持
|
/**@brief 检测mixer采样率支持
|
||||||
@ -539,7 +562,8 @@ static void mixer_event_handler(struct audio_mixer *mixer, int event)
|
|||||||
/*----------------------------------------------------------------------------*/
|
/*----------------------------------------------------------------------------*/
|
||||||
static u32 audio_mixer_check_sr(struct audio_mixer *mixer, u32 sr)
|
static u32 audio_mixer_check_sr(struct audio_mixer *mixer, u32 sr)
|
||||||
{
|
{
|
||||||
return audio_output_rate(sr);;
|
return audio_output_rate(sr);
|
||||||
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*----------------------------------------------------------------------------*/
|
/*----------------------------------------------------------------------------*/
|
||||||
@ -553,7 +577,6 @@ static void audio_last_out_stream_resume(void *p)
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*----------------------------------------------------------------------------*/
|
/*----------------------------------------------------------------------------*/
|
||||||
/**@brief 音频解码初始化
|
/**@brief 音频解码初始化
|
||||||
@param
|
@param
|
||||||
@ -568,36 +591,38 @@ int audio_dec_init()
|
|||||||
|
|
||||||
printf("audio_dec_init\n");
|
printf("audio_dec_init\n");
|
||||||
|
|
||||||
|
|
||||||
err = audio_decoder_task_create(&decode_task, "audio_dec");
|
err = audio_decoder_task_create(&decode_task, "audio_dec");
|
||||||
|
|
||||||
#if (TCFG_PREVENT_TASK_FILL)
|
#if (TCFG_PREVENT_TASK_FILL)
|
||||||
prevent_fill = prevent_task_fill_create("prevent");
|
prevent_fill = prevent_task_fill_create("prevent");
|
||||||
if (prevent_fill) {
|
if (prevent_fill)
|
||||||
|
{
|
||||||
decode_task.prevent_fill = prevent_task_fill_ch_open(prevent_fill, 20);
|
decode_task.prevent_fill = prevent_task_fill_ch_open(prevent_fill, 20);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
app_audio_output_init();
|
app_audio_output_init();
|
||||||
|
|
||||||
/*硬件SRC模块滤波器buffer设置,可根据最大使用数量设置整体buffer*/
|
/*硬件SRC模块滤波器buffer设置,可根据最大使用数量设置整体buffer*/
|
||||||
audio_src_base_filt_init(audio_src_hw_filt, sizeof(audio_src_hw_filt));
|
audio_src_base_filt_init(audio_src_hw_filt, sizeof(audio_src_hw_filt));
|
||||||
|
|
||||||
if (!AUDIO_DEC_MIXER_EN) {
|
if (!AUDIO_DEC_MIXER_EN)
|
||||||
|
{
|
||||||
goto __mixer_init_end;
|
goto __mixer_init_end;
|
||||||
}
|
}
|
||||||
audio_mixer_open(&mixer);
|
audio_mixer_open(&mixer);
|
||||||
audio_mixer_set_event_handler(&mixer, mixer_event_handler);
|
audio_mixer_set_event_handler(&mixer, mixer_event_handler);
|
||||||
audio_mixer_set_check_sr_handler(&mixer, audio_mixer_check_sr);
|
audio_mixer_set_check_sr_handler(&mixer, audio_mixer_check_sr);
|
||||||
if (config_mixer_en) {
|
if (config_mixer_en)
|
||||||
|
{
|
||||||
/*初始化mix_buf的长度*/
|
/*初始化mix_buf的长度*/
|
||||||
audio_mixer_set_output_buf(&mixer, mix_buff, sizeof(mix_buff));
|
audio_mixer_set_output_buf(&mixer, mix_buff, sizeof(mix_buff));
|
||||||
}
|
}
|
||||||
u8 ch_num = audio_output_channel_num();
|
u8 ch_num = audio_output_channel_num();
|
||||||
audio_mixer_set_channel_num(&mixer, ch_num);
|
audio_mixer_set_channel_num(&mixer, ch_num);
|
||||||
u32 sr = audio_output_nor_rate();
|
u32 sr = audio_output_nor_rate();
|
||||||
if (sr) {
|
if (sr)
|
||||||
|
{
|
||||||
// 固定采样率输出
|
// 固定采样率输出
|
||||||
audio_mixer_set_sample_rate(&mixer, MIXER_SR_SPEC, sr);
|
audio_mixer_set_sample_rate(&mixer, MIXER_SR_SPEC, sr);
|
||||||
}
|
}
|
||||||
@ -618,13 +643,15 @@ int audio_dec_init()
|
|||||||
u8 entry_cnt = 0;
|
u8 entry_cnt = 0;
|
||||||
entries[entry_cnt++] = &mixer.entry;
|
entries[entry_cnt++] = &mixer.entry;
|
||||||
#if TCFG_EQ_ENABLE && TCFG_AUDIO_OUT_EQ_ENABLE
|
#if TCFG_EQ_ENABLE && TCFG_AUDIO_OUT_EQ_ENABLE
|
||||||
if (mix_eq_drc) {
|
if (mix_eq_drc)
|
||||||
|
{
|
||||||
entries[entry_cnt++] = &mix_eq_drc->entry;
|
entries[entry_cnt++] = &mix_eq_drc->entry;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if AUDIO_VOCAL_REMOVE_EN
|
#if AUDIO_VOCAL_REMOVE_EN
|
||||||
if (mix_vocal_remove_hdl) {
|
if (mix_vocal_remove_hdl)
|
||||||
|
{
|
||||||
entries[entry_cnt++] = &mix_vocal_remove_hdl->entry;
|
entries[entry_cnt++] = &mix_vocal_remove_hdl->entry;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -646,7 +673,6 @@ int audio_dec_init()
|
|||||||
entry_cnt++;
|
entry_cnt++;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#if (AUDIO_OUTPUT_WAY == AUDIO_OUTPUT_WAY_IIS)
|
#if (AUDIO_OUTPUT_WAY == AUDIO_OUTPUT_WAY_IIS)
|
||||||
audio_dig_vol_param iis_digvol_last_param = {
|
audio_dig_vol_param iis_digvol_last_param = {
|
||||||
.vol_start = app_var.music_volume,
|
.vol_start = app_var.music_volume,
|
||||||
@ -666,12 +692,12 @@ int audio_dec_init()
|
|||||||
entries[entry_cnt++] = iis_entries_start;
|
entries[entry_cnt++] = iis_entries_start;
|
||||||
entries[entry_cnt++] = iis_digvol_last_entry;
|
entries[entry_cnt++] = iis_digvol_last_entry;
|
||||||
entries[entry_cnt++] = iis_last_entry;
|
entries[entry_cnt++] = iis_last_entry;
|
||||||
for (int i = 0; i < entry_cnt - 1; i++) {
|
for (int i = 0; i < entry_cnt - 1; i++)
|
||||||
|
{
|
||||||
audio_stream_add_entry(entries[i], entries[i + 1]);
|
audio_stream_add_entry(entries[i], entries[i + 1]);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#if (AUDIO_OUTPUT_WAY == AUDIO_OUTPUT_WAY_DONGLE)
|
#if (AUDIO_OUTPUT_WAY == AUDIO_OUTPUT_WAY_DONGLE)
|
||||||
/* #if 1 */
|
/* #if 1 */
|
||||||
{
|
{
|
||||||
@ -694,7 +720,8 @@ int audio_dec_init()
|
|||||||
entries[entry_cnt++] = dongle_entries_start;
|
entries[entry_cnt++] = dongle_entries_start;
|
||||||
entries[entry_cnt++] = dongle_digvol_last_entry;
|
entries[entry_cnt++] = dongle_digvol_last_entry;
|
||||||
entries[entry_cnt++] = &dongle_emitter.mix_ch.entry;
|
entries[entry_cnt++] = &dongle_emitter.mix_ch.entry;
|
||||||
for (int i = 0; i < entry_cnt - 1; i++) {
|
for (int i = 0; i < entry_cnt - 1; i++)
|
||||||
|
{
|
||||||
audio_stream_add_entry(entries[i], entries[i + 1]);
|
audio_stream_add_entry(entries[i], entries[i + 1]);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -721,7 +748,7 @@ __mixer_init_end:
|
|||||||
|
|
||||||
#if (RECORDER_MIX_EN)
|
#if (RECORDER_MIX_EN)
|
||||||
recorder_mix_init(&recorder_mixer, recorder_mix_buff, sizeof(recorder_mix_buff));
|
recorder_mix_init(&recorder_mixer, recorder_mix_buff, sizeof(recorder_mix_buff));
|
||||||
#endif//RECORDER_MIX_EN
|
#endif // RECORDER_MIX_EN
|
||||||
|
|
||||||
app_audio_volume_init();
|
app_audio_volume_init();
|
||||||
audio_output_set_start_volume(APP_AUDIO_STATE_MUSIC);
|
audio_output_set_start_volume(APP_AUDIO_STATE_MUSIC);
|
||||||
@ -738,14 +765,9 @@ __mixer_init_end:
|
|||||||
|
|
||||||
audio_dec_inited = 1;
|
audio_dec_inited = 1;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*----------------------------------------------------------------------------*/
|
/*----------------------------------------------------------------------------*/
|
||||||
/**@brief 音频解码初始化判断
|
/**@brief 音频解码初始化判断
|
||||||
@param
|
@param
|
||||||
@ -756,7 +778,8 @@ __mixer_init_end:
|
|||||||
/*----------------------------------------------------------------------------*/
|
/*----------------------------------------------------------------------------*/
|
||||||
static u8 audio_dec_init_complete()
|
static u8 audio_dec_init_complete()
|
||||||
{
|
{
|
||||||
if (!audio_dec_inited) {
|
if (!audio_dec_inited)
|
||||||
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -767,7 +790,6 @@ REGISTER_LP_TARGET(audio_dec_init_lp_target) = {
|
|||||||
.is_idle = audio_dec_init_complete,
|
.is_idle = audio_dec_init_complete,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
struct drc_ch high_bass_drc = {0};
|
struct drc_ch high_bass_drc = {0};
|
||||||
static int high_bass_th = 0;
|
static int high_bass_th = 0;
|
||||||
/*----------------------------------------------------------------------------*/
|
/*----------------------------------------------------------------------------*/
|
||||||
@ -781,15 +803,18 @@ static int high_bass_th = 0;
|
|||||||
int high_bass_drc_set_filter_info(int th)
|
int high_bass_drc_set_filter_info(int th)
|
||||||
{
|
{
|
||||||
/* int th = 0; // -60 ~ 0 db */
|
/* int th = 0; // -60 ~ 0 db */
|
||||||
if (th < -60) {
|
if (th < -60)
|
||||||
|
{
|
||||||
th = -60;
|
th = -60;
|
||||||
}
|
}
|
||||||
if (th > 0) {
|
if (th > 0)
|
||||||
|
{
|
||||||
th = 0;
|
th = 0;
|
||||||
}
|
}
|
||||||
local_irq_disable();
|
local_irq_disable();
|
||||||
high_bass_th = th;
|
high_bass_th = th;
|
||||||
if (mix_eq_drc && mix_eq_drc->drc) {
|
if (mix_eq_drc && mix_eq_drc->drc)
|
||||||
|
{
|
||||||
mix_eq_drc->drc->updata = 1;
|
mix_eq_drc->drc->updata = 1;
|
||||||
}
|
}
|
||||||
local_irq_enable();
|
local_irq_enable();
|
||||||
@ -806,7 +831,7 @@ int high_bass_drc_set_filter_info(int th)
|
|||||||
/*----------------------------------------------------------------------------*/
|
/*----------------------------------------------------------------------------*/
|
||||||
int high_bass_drc_get_filter_info(struct audio_drc *drc, struct audio_drc_filter_info *info)
|
int high_bass_drc_get_filter_info(struct audio_drc *drc, struct audio_drc_filter_info *info)
|
||||||
{
|
{
|
||||||
int th = high_bass_th;//-60 ~0db
|
int th = high_bass_th; //-60 ~0db
|
||||||
int threshold = round(pow(10.0, th / 20.0) * 32768); // 0db:32768, -60db:33
|
int threshold = round(pow(10.0, th / 20.0) * 32768); // 0db:32768, -60db:33
|
||||||
|
|
||||||
high_bass_drc.nband = 1;
|
high_bass_drc.nband = 1;
|
||||||
@ -846,7 +871,8 @@ void *mix_out_eq_drc_open(u16 sample_rate, u8 ch_num)
|
|||||||
#endif
|
#endif
|
||||||
log_i("=====sr %d, ch_num %d\n", sample_rate, ch_num);
|
log_i("=====sr %d, ch_num %d\n", sample_rate, ch_num);
|
||||||
|
|
||||||
if (effect_parm.eq_en) {
|
if (effect_parm.eq_en)
|
||||||
|
{
|
||||||
effect_parm.async_en = 1;
|
effect_parm.async_en = 1;
|
||||||
effect_parm.out_32bit = 1;
|
effect_parm.out_32bit = 1;
|
||||||
effect_parm.online_en = 0;
|
effect_parm.online_en = 0;
|
||||||
@ -864,7 +890,8 @@ void *mix_out_eq_drc_open(u16 sample_rate, u8 ch_num)
|
|||||||
eq_drc = audio_eq_drc_open(&effect_parm);
|
eq_drc = audio_eq_drc_open(&effect_parm);
|
||||||
|
|
||||||
clock_add(EQ_CLK);
|
clock_add(EQ_CLK);
|
||||||
if (effect_parm.drc_en) {
|
if (effect_parm.drc_en)
|
||||||
|
{
|
||||||
clock_add(EQ_DRC_CLK);
|
clock_add(EQ_DRC_CLK);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -884,7 +911,8 @@ void mix_out_eq_drc_close(struct audio_eq_drc *eq_drc)
|
|||||||
{
|
{
|
||||||
#if TCFG_EQ_ENABLE
|
#if TCFG_EQ_ENABLE
|
||||||
#if TCFG_AUDIO_OUT_EQ_ENABLE
|
#if TCFG_AUDIO_OUT_EQ_ENABLE
|
||||||
if (eq_drc) {
|
if (eq_drc)
|
||||||
|
{
|
||||||
audio_eq_drc_close(eq_drc);
|
audio_eq_drc_close(eq_drc);
|
||||||
eq_drc = NULL;
|
eq_drc = NULL;
|
||||||
clock_remove(EQ_CLK);
|
clock_remove(EQ_CLK);
|
||||||
@ -911,7 +939,8 @@ void mix_out_eq_drc_close(struct audio_eq_drc *eq_drc)
|
|||||||
|
|
||||||
void mix_out_high_bass(u32 cmd, struct high_bass *hb)
|
void mix_out_high_bass(u32 cmd, struct high_bass *hb)
|
||||||
{
|
{
|
||||||
if (mix_eq_drc) {
|
if (mix_eq_drc)
|
||||||
|
{
|
||||||
audio_eq_drc_parm_update(mix_eq_drc, cmd, (void *)hb);
|
audio_eq_drc_parm_update(mix_eq_drc, cmd, (void *)hb);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -925,16 +954,26 @@ void mix_out_high_bass(u32 cmd, struct high_bass *hb)
|
|||||||
/*----------------------------------------------------------------------------*/
|
/*----------------------------------------------------------------------------*/
|
||||||
void mix_out_high_bass_dis(u32 cmd, u8 dis)
|
void mix_out_high_bass_dis(u32 cmd, u8 dis)
|
||||||
{
|
{
|
||||||
if (mix_eq_drc) {
|
if (mix_eq_drc)
|
||||||
|
{
|
||||||
audio_eq_drc_parm_update(mix_eq_drc, cmd, (void *)dis);
|
audio_eq_drc_parm_update(mix_eq_drc, cmd, (void *)dis);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#if AUDIO_OUTPUT_AUTOMUTE
|
#if AUDIO_OUTPUT_AUTOMUTE
|
||||||
|
#include "kt.h"
|
||||||
|
|
||||||
void audio_mix_out_automute_mute(u8 mute)
|
void audio_mix_out_automute_mute(u8 mute)
|
||||||
{
|
{
|
||||||
printf(">>>>>>>>>>>>>>>>>>>> %s\n", mute ? ("MUTE") : ("UNMUTE"));
|
printf(">>>>>>>>>>>>>>>>>>>> %s\n", mute ? ("MUTE") : ("UNMUTE"));
|
||||||
|
if (mute)
|
||||||
|
{
|
||||||
|
//PA_MUTE();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//PA_UNMUTE();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* #define AUDIO_E_DET_UNMUTE (0x00) */
|
/* #define AUDIO_E_DET_UNMUTE (0x00) */
|
||||||
@ -942,7 +981,8 @@ void audio_mix_out_automute_mute(u8 mute)
|
|||||||
void mix_out_automute_handler(u8 event, u8 ch)
|
void mix_out_automute_handler(u8 event, u8 ch)
|
||||||
{
|
{
|
||||||
printf(">>>> ch:%d %s\n", ch, event ? ("MUTE") : ("UNMUTE"));
|
printf(">>>> ch:%d %s\n", ch, event ? ("MUTE") : ("UNMUTE"));
|
||||||
if (ch == app_audio_output_channel_get()) {
|
if (ch == app_audio_output_channel_get())
|
||||||
|
{
|
||||||
audio_mix_out_automute_mute(event);
|
audio_mix_out_automute_mute(event);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -950,7 +990,8 @@ void mix_out_automute_handler(u8 event, u8 ch)
|
|||||||
void mix_out_automute_skip(u8 skip)
|
void mix_out_automute_skip(u8 skip)
|
||||||
{
|
{
|
||||||
u8 mute = !skip;
|
u8 mute = !skip;
|
||||||
if (mix_out_automute_hdl) {
|
if (mix_out_automute_hdl)
|
||||||
|
{
|
||||||
audio_energy_detect_skip(mix_out_automute_hdl, 0xFFFF, skip);
|
audio_energy_detect_skip(mix_out_automute_hdl, 0xFFFF, skip);
|
||||||
audio_mix_out_automute_mute(mute);
|
audio_mix_out_automute_mute(mute);
|
||||||
}
|
}
|
||||||
@ -958,7 +999,8 @@ void mix_out_automute_skip(u8 skip)
|
|||||||
|
|
||||||
void mix_out_automute_open()
|
void mix_out_automute_open()
|
||||||
{
|
{
|
||||||
if (mix_out_automute_hdl) {
|
if (mix_out_automute_hdl)
|
||||||
|
{
|
||||||
printf("mix_out_automute is already open !\n");
|
printf("mix_out_automute is already open !\n");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -978,11 +1020,12 @@ void mix_out_automute_open()
|
|||||||
|
|
||||||
void mix_out_automute_close()
|
void mix_out_automute_close()
|
||||||
{
|
{
|
||||||
if (mix_out_automute_hdl) {
|
if (mix_out_automute_hdl)
|
||||||
|
{
|
||||||
audio_energy_detect_close(mix_out_automute_hdl);
|
audio_energy_detect_close(mix_out_automute_hdl);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif //#if AUDIO_OUTPUT_AUTOMUTE
|
#endif // #if AUDIO_OUTPUT_AUTOMUTE
|
||||||
|
|
||||||
#if AUDIO_VOCAL_REMOVE_EN
|
#if AUDIO_VOCAL_REMOVE_EN
|
||||||
/*----------------------------------------------------------------------------*/
|
/*----------------------------------------------------------------------------*/
|
||||||
@ -1009,11 +1052,11 @@ void *vocal_remove_open(u8 ch_num)
|
|||||||
/*----------------------------------------------------------------------------*/
|
/*----------------------------------------------------------------------------*/
|
||||||
void vocal_remove_close()
|
void vocal_remove_close()
|
||||||
{
|
{
|
||||||
if (mix_vocal_remove_hdl) {
|
if (mix_vocal_remove_hdl)
|
||||||
|
{
|
||||||
audio_vocal_remove_close(mix_vocal_remove_hdl);
|
audio_vocal_remove_close(mix_vocal_remove_hdl);
|
||||||
mix_vocal_remove_hdl = NULL;
|
mix_vocal_remove_hdl = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -548,6 +548,8 @@ objs/apps/common/music/music_player.c.o
|
|||||||
-r=objs/apps/common/music/music_player.c.o,dev_manager_get_total,l
|
-r=objs/apps/common/music/music_player.c.o,dev_manager_get_total,l
|
||||||
-r=objs/apps/common/music/music_player.c.o,music_player_get_dev_flit,pl
|
-r=objs/apps/common/music/music_player.c.o,music_player_get_dev_flit,pl
|
||||||
-r=objs/apps/common/music/music_player.c.o,music_player_play_first_file,pl
|
-r=objs/apps/common/music/music_player.c.o,music_player_play_first_file,pl
|
||||||
|
-r=objs/apps/common/music/music_player.c.o,kt_get_cycle,l
|
||||||
|
-r=objs/apps/common/music/music_player.c.o,music_player_play_auto_next,pl
|
||||||
-r=objs/apps/common/music/music_player.c.o,music_player_decode_start,pl
|
-r=objs/apps/common/music/music_player.c.o,music_player_decode_start,pl
|
||||||
-r=objs/apps/common/music/music_player.c.o,fget_name,l
|
-r=objs/apps/common/music/music_player.c.o,fget_name,l
|
||||||
-r=objs/apps/common/music/music_player.c.o,music_player_get_file_hdl,pl
|
-r=objs/apps/common/music/music_player.c.o,music_player_get_file_hdl,pl
|
||||||
@ -611,7 +613,6 @@ objs/apps/common/music/music_player.c.o
|
|||||||
-r=objs/apps/common/music/music_player.c.o,music_player_play_next_cycle_single_dev,pl
|
-r=objs/apps/common/music/music_player.c.o,music_player_play_next_cycle_single_dev,pl
|
||||||
-r=objs/apps/common/music/music_player.c.o,music_player_play_next,pl
|
-r=objs/apps/common/music/music_player.c.o,music_player_play_next,pl
|
||||||
-r=objs/apps/common/music/music_player.c.o,dev_manager_scan_disk,l
|
-r=objs/apps/common/music/music_player.c.o,dev_manager_scan_disk,l
|
||||||
-r=objs/apps/common/music/music_player.c.o,music_player_play_auto_next,pl
|
|
||||||
-r=objs/apps/common/music/music_player.c.o,music_player_play_folder_prev,pl
|
-r=objs/apps/common/music/music_player.c.o,music_player_play_folder_prev,pl
|
||||||
-r=objs/apps/common/music/music_player.c.o,music_player_play_folder_next,pl
|
-r=objs/apps/common/music/music_player.c.o,music_player_play_folder_next,pl
|
||||||
-r=objs/apps/common/music/music_player.c.o,music_player_play_devcie_prev,pl
|
-r=objs/apps/common/music/music_player.c.o,music_player_play_devcie_prev,pl
|
||||||
@ -896,10 +897,6 @@ objs/apps/common/usb/device/msd.c.o
|
|||||||
-r=objs/apps/common/usb/device/msd.c.o,log_tag_const_i_USB,l
|
-r=objs/apps/common/usb/device/msd.c.o,log_tag_const_i_USB,l
|
||||||
objs/apps/common/usb/device/msd_upgrade.c.o
|
objs/apps/common/usb/device/msd_upgrade.c.o
|
||||||
-r=objs/apps/common/usb/device/msd_upgrade.c.o,private_scsi_cmd,pl
|
-r=objs/apps/common/usb/device/msd_upgrade.c.o,private_scsi_cmd,pl
|
||||||
-r=objs/apps/common/usb/device/msd_upgrade.c.o,local_irq_disable,l
|
|
||||||
-r=objs/apps/common/usb/device/msd_upgrade.c.o,ram_protect_close,l
|
|
||||||
-r=objs/apps/common/usb/device/msd_upgrade.c.o,hw_mmu_disable,l
|
|
||||||
-r=objs/apps/common/usb/device/msd_upgrade.c.o,nvram_set_boot_state,
|
|
||||||
objs/apps/common/usb/device/task_pc.c.o
|
objs/apps/common/usb/device/task_pc.c.o
|
||||||
-r=objs/apps/common/usb/device/task_pc.c.o,usb_start,pl
|
-r=objs/apps/common/usb/device/task_pc.c.o,usb_start,pl
|
||||||
-r=objs/apps/common/usb/device/task_pc.c.o,usb_device_mode,l
|
-r=objs/apps/common/usb/device/task_pc.c.o,usb_device_mode,l
|
||||||
@ -1001,7 +998,7 @@ objs/apps/common/usb/device/uac_stream.c.o
|
|||||||
-r=objs/apps/common/usb/device/uac_stream.c.o,cbuf_init,l
|
-r=objs/apps/common/usb/device/uac_stream.c.o,cbuf_init,l
|
||||||
-r=objs/apps/common/usb/device/uac_stream.c.o,sys_event_notify,l
|
-r=objs/apps/common/usb/device/uac_stream.c.o,sys_event_notify,l
|
||||||
-r=objs/apps/common/usb/device/uac_stream.c.o,uac_speaker_stream_close,pl
|
-r=objs/apps/common/usb/device/uac_stream.c.o,uac_speaker_stream_close,pl
|
||||||
-r=objs/apps/common/usb/device/uac_stream.c.o,uac_vol_switch,l
|
-r=objs/apps/common/usb/device/uac_stream.c.o,uac_vol_switch,pl
|
||||||
-r=objs/apps/common/usb/device/uac_stream.c.o,uac_get_spk_vol,pl
|
-r=objs/apps/common/usb/device/uac_stream.c.o,uac_get_spk_vol,pl
|
||||||
-r=objs/apps/common/usb/device/uac_stream.c.o,uac_mute_volume,pl
|
-r=objs/apps/common/usb/device/uac_stream.c.o,uac_mute_volume,pl
|
||||||
-r=objs/apps/common/usb/device/uac_stream.c.o,uac_mic_stream_read,pl
|
-r=objs/apps/common/usb/device/uac_stream.c.o,uac_mic_stream_read,pl
|
||||||
@ -1009,8 +1006,8 @@ objs/apps/common/usb/device/uac_stream.c.o
|
|||||||
-r=objs/apps/common/usb/device/uac_stream.c.o,uac_mic_stream_open,pl
|
-r=objs/apps/common/usb/device/uac_stream.c.o,uac_mic_stream_open,pl
|
||||||
-r=objs/apps/common/usb/device/uac_stream.c.o,uac_mic_stream_close,pl
|
-r=objs/apps/common/usb/device/uac_stream.c.o,uac_mic_stream_close,pl
|
||||||
-r=objs/apps/common/usb/device/uac_stream.c.o,app_audio_get_volume,l
|
-r=objs/apps/common/usb/device/uac_stream.c.o,app_audio_get_volume,l
|
||||||
-r=objs/apps/common/usb/device/uac_stream.c.o,usb_audio_demo_exit,l
|
-r=objs/apps/common/usb/device/uac_stream.c.o,usb_audio_demo_exit,pl
|
||||||
-r=objs/apps/common/usb/device/uac_stream.c.o,usb_audio_demo_init,l
|
-r=objs/apps/common/usb/device/uac_stream.c.o,usb_audio_demo_init,pl
|
||||||
-r=objs/apps/common/usb/device/uac_stream.c.o,get_max_sys_vol,l
|
-r=objs/apps/common/usb/device/uac_stream.c.o,get_max_sys_vol,l
|
||||||
-r=objs/apps/common/usb/device/uac_stream.c.o,log_tag_const_i_USB,l
|
-r=objs/apps/common/usb/device/uac_stream.c.o,log_tag_const_i_USB,l
|
||||||
objs/apps/common/usb/device/usb_device.c.o
|
objs/apps/common/usb/device/usb_device.c.o
|
||||||
@ -1231,14 +1228,17 @@ objs/apps/kaotings/kt.c.o
|
|||||||
-r=objs/apps/kaotings/kt.c.o,gpio_set_hd,l
|
-r=objs/apps/kaotings/kt.c.o,gpio_set_hd,l
|
||||||
-r=objs/apps/kaotings/kt.c.o,gpio_set_output_value,l
|
-r=objs/apps/kaotings/kt.c.o,gpio_set_output_value,l
|
||||||
-r=objs/apps/kaotings/kt.c.o,timer_cb,pl
|
-r=objs/apps/kaotings/kt.c.o,timer_cb,pl
|
||||||
-r=objs/apps/kaotings/kt.c.o,app_get_curr_task,l
|
|
||||||
-r=objs/apps/kaotings/kt.c.o,music_player_get_play_status,l
|
|
||||||
-r=objs/apps/kaotings/kt.c.o,start_timer,pl
|
-r=objs/apps/kaotings/kt.c.o,start_timer,pl
|
||||||
-r=objs/apps/kaotings/kt.c.o,sys_timer_del,l
|
-r=objs/apps/kaotings/kt.c.o,sys_timer_del,l
|
||||||
-r=objs/apps/kaotings/kt.c.o,sys_timer_add,l
|
-r=objs/apps/kaotings/kt.c.o,sys_timer_add,l
|
||||||
|
-r=objs/apps/kaotings/kt.c.o,kt_get_cycle,pl
|
||||||
|
-r=objs/apps/kaotings/kt.c.o,kt_change_cycle,pl
|
||||||
|
-r=objs/apps/kaotings/kt.c.o,kt_set_last_play,pl
|
||||||
|
-r=objs/apps/kaotings/kt.c.o,printf,l
|
||||||
|
-r=objs/apps/kaotings/kt.c.o,strcpy,l
|
||||||
|
-r=objs/apps/kaotings/kt.c.o,kt_get_last_play,pl
|
||||||
-r=objs/apps/kaotings/kt.c.o,kt_init,pl
|
-r=objs/apps/kaotings/kt.c.o,kt_init,pl
|
||||||
-r=objs/apps/kaotings/kt.c.o,kt_uart_init,l
|
-r=objs/apps/kaotings/kt.c.o,kt_uart_init,l
|
||||||
-r=objs/apps/kaotings/kt.c.o,tid,pl
|
|
||||||
objs/apps/kaotings/kt_uart.c.o
|
objs/apps/kaotings/kt_uart.c.o
|
||||||
-r=objs/apps/kaotings/kt_uart.c.o,kt_uart_init,pl
|
-r=objs/apps/kaotings/kt_uart.c.o,kt_uart_init,pl
|
||||||
-r=objs/apps/kaotings/kt_uart.c.o,uart_dev_open,l
|
-r=objs/apps/kaotings/kt_uart.c.o,uart_dev_open,l
|
||||||
@ -1248,7 +1248,14 @@ objs/apps/kaotings/kt_uart.c.o
|
|||||||
-r=objs/apps/kaotings/kt_uart.c.o,music_player_get_play_status,l
|
-r=objs/apps/kaotings/kt_uart.c.o,music_player_get_play_status,l
|
||||||
-r=objs/apps/kaotings/kt_uart.c.o,app_task_put_key_msg,l
|
-r=objs/apps/kaotings/kt_uart.c.o,app_task_put_key_msg,l
|
||||||
-r=objs/apps/kaotings/kt_uart.c.o,app_audio_set_volume,l
|
-r=objs/apps/kaotings/kt_uart.c.o,app_audio_set_volume,l
|
||||||
|
-r=objs/apps/kaotings/kt_uart.c.o,app_audio_mute,l
|
||||||
-r=objs/apps/kaotings/kt_uart.c.o,strlen,l
|
-r=objs/apps/kaotings/kt_uart.c.o,strlen,l
|
||||||
|
-r=objs/apps/kaotings/kt_uart.c.o,kt_change_cycle,l
|
||||||
|
-r=objs/apps/kaotings/kt_uart.c.o,music_player_get_file_total,l
|
||||||
|
-r=objs/apps/kaotings/kt_uart.c.o,music_player_get_dir_total,l
|
||||||
|
-r=objs/apps/kaotings/kt_uart.c.o,music_player_get_fileindir_number,l
|
||||||
|
-r=objs/apps/kaotings/kt_uart.c.o,music_player_get_dec_total_time,l
|
||||||
|
-r=objs/apps/kaotings/kt_uart.c.o,music_player_get_dec_cur_time,l
|
||||||
-r=objs/apps/kaotings/kt_uart.c.o,puts,l
|
-r=objs/apps/kaotings/kt_uart.c.o,puts,l
|
||||||
-r=objs/apps/kaotings/kt_uart.c.o,kt_sys_mute,pl
|
-r=objs/apps/kaotings/kt_uart.c.o,kt_sys_mute,pl
|
||||||
-r=objs/apps/kaotings/kt_uart.c.o,uart_bus,pl
|
-r=objs/apps/kaotings/kt_uart.c.o,uart_bus,pl
|
||||||
@ -1327,6 +1334,7 @@ objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o
|
|||||||
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,gSensor_wkupup_enable,pl
|
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,gSensor_wkupup_enable,pl
|
||||||
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,power_wakeup_index_enable,l
|
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,power_wakeup_index_enable,l
|
||||||
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,debug_uart_init,pl
|
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,debug_uart_init,pl
|
||||||
|
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,uart_init,l
|
||||||
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,get_led_config,pl
|
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,get_led_config,pl
|
||||||
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,get_tone_config,pl
|
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,get_tone_config,pl
|
||||||
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,get_sys_default_vol,pl
|
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,get_sys_default_vol,pl
|
||||||
@ -1341,6 +1349,7 @@ objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o
|
|||||||
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,dev_manager_init,l
|
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,dev_manager_init,l
|
||||||
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,get_charge_online_flag,l
|
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,get_charge_online_flag,l
|
||||||
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,power_set_mode,l
|
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,power_set_mode,l
|
||||||
|
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,gpio_set_die,l
|
||||||
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,board_set_soft_poweroff,pl
|
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,board_set_soft_poweroff,pl
|
||||||
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,gpio_write,l
|
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,gpio_write,l
|
||||||
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,gpio_dir,l
|
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,gpio_dir,l
|
||||||
@ -1351,7 +1360,6 @@ objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o
|
|||||||
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,gpio_set_pull_up,l
|
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,gpio_set_pull_up,l
|
||||||
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,gpio_set_pull_down,l
|
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,gpio_set_pull_down,l
|
||||||
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,gpio_set_direction,l
|
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,gpio_set_direction,l
|
||||||
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,gpio_set_die,l
|
|
||||||
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,gpio_set_dieh,l
|
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,gpio_set_dieh,l
|
||||||
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,P33_CON_SET,
|
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,P33_CON_SET,
|
||||||
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,sleep_exit_callback,pl
|
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,sleep_exit_callback,pl
|
||||||
@ -1368,12 +1376,10 @@ objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o
|
|||||||
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,ladc_list,pl
|
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,ladc_list,pl
|
||||||
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,adc_data,pl
|
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,adc_data,pl
|
||||||
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,adkey_data,pl
|
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,adkey_data,pl
|
||||||
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,otg_data,pl
|
|
||||||
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,led7_data,pl
|
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,led7_data,pl
|
||||||
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,ui_cfg_data,pl
|
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,ui_cfg_data,pl
|
||||||
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,spi1_p_data,pl
|
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,spi1_p_data,pl
|
||||||
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,norflash_fat_dev_data,pl
|
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,norflash_fat_dev_data,pl
|
||||||
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,usb_dev_ops,l
|
|
||||||
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,norflash_dev_ops,l
|
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,norflash_dev_ops,l
|
||||||
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,device_table,pl
|
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,device_table,pl
|
||||||
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,power_param,pl
|
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,power_param,pl
|
||||||
@ -1385,23 +1391,18 @@ objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o
|
|||||||
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,__initcall_board_power_wakeup_init,pl
|
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,__initcall_board_power_wakeup_init,pl
|
||||||
objs/apps/soundbox/board/br25/board_ac6082_demo/key_table/adkey_table.c.o
|
objs/apps/soundbox/board/br25/board_ac6082_demo/key_table/adkey_table.c.o
|
||||||
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/key_table/adkey_table.c.o,music_key_ad_table,pl
|
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/key_table/adkey_table.c.o,music_key_ad_table,pl
|
||||||
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/key_table/adkey_table.c.o,pc_key_ad_table,pl
|
|
||||||
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/key_table/adkey_table.c.o,idle_key_ad_table,pl
|
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/key_table/adkey_table.c.o,idle_key_ad_table,pl
|
||||||
objs/apps/soundbox/board/br25/board_ac6082_demo/key_table/iokey_table.c.o
|
objs/apps/soundbox/board/br25/board_ac6082_demo/key_table/iokey_table.c.o
|
||||||
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/key_table/iokey_table.c.o,music_key_io_table,pl
|
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/key_table/iokey_table.c.o,music_key_io_table,pl
|
||||||
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/key_table/iokey_table.c.o,pc_key_io_table,pl
|
|
||||||
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/key_table/iokey_table.c.o,idle_key_io_table,pl
|
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/key_table/iokey_table.c.o,idle_key_io_table,pl
|
||||||
objs/apps/soundbox/board/br25/board_ac6082_demo/key_table/irkey_table.c.o
|
objs/apps/soundbox/board/br25/board_ac6082_demo/key_table/irkey_table.c.o
|
||||||
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/key_table/irkey_table.c.o,music_key_ir_table,pl
|
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/key_table/irkey_table.c.o,music_key_ir_table,pl
|
||||||
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/key_table/irkey_table.c.o,pc_key_ir_table,pl
|
|
||||||
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/key_table/irkey_table.c.o,idle_key_ir_table,pl
|
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/key_table/irkey_table.c.o,idle_key_ir_table,pl
|
||||||
objs/apps/soundbox/board/br25/board_ac6082_demo/key_table/rdec_key_table.c.o
|
objs/apps/soundbox/board/br25/board_ac6082_demo/key_table/rdec_key_table.c.o
|
||||||
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/key_table/rdec_key_table.c.o,music_key_rdec_table,pl
|
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/key_table/rdec_key_table.c.o,music_key_rdec_table,pl
|
||||||
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/key_table/rdec_key_table.c.o,pc_key_rdec_table,pl
|
|
||||||
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/key_table/rdec_key_table.c.o,idle_key_rdec_table,pl
|
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/key_table/rdec_key_table.c.o,idle_key_rdec_table,pl
|
||||||
objs/apps/soundbox/board/br25/board_ac6082_demo/key_table/touch_key_table.c.o
|
objs/apps/soundbox/board/br25/board_ac6082_demo/key_table/touch_key_table.c.o
|
||||||
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/key_table/touch_key_table.c.o,music_key_touch_table,pl
|
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/key_table/touch_key_table.c.o,music_key_touch_table,pl
|
||||||
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/key_table/touch_key_table.c.o,pc_key_touch_table,pl
|
|
||||||
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/key_table/touch_key_table.c.o,idle_key_touch_table,pl
|
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/key_table/touch_key_table.c.o,idle_key_touch_table,pl
|
||||||
objs/apps/soundbox/board/br25/board_ac6082_iap/board_ac6082_iap.c.o
|
objs/apps/soundbox/board/br25/board_ac6082_iap/board_ac6082_iap.c.o
|
||||||
objs/apps/soundbox/board/br25/board_ac6082_iap/key_table/adkey_table.c.o
|
objs/apps/soundbox/board/br25/board_ac6082_iap/key_table/adkey_table.c.o
|
||||||
@ -2259,7 +2260,6 @@ objs/apps/soundbox/task_manager/app_common.c.o
|
|||||||
-r=objs/apps/soundbox/task_manager/app_common.c.o,app_common_key_var_2_event,pl
|
-r=objs/apps/soundbox/task_manager/app_common.c.o,app_common_key_var_2_event,pl
|
||||||
-r=objs/apps/soundbox/task_manager/app_common.c.o,sys_event_notify,l
|
-r=objs/apps/soundbox/task_manager/app_common.c.o,sys_event_notify,l
|
||||||
-r=objs/apps/soundbox/task_manager/app_common.c.o,kt_uart_event,l
|
-r=objs/apps/soundbox/task_manager/app_common.c.o,kt_uart_event,l
|
||||||
-r=objs/apps/soundbox/task_manager/app_common.c.o,pc_device_event_handler,l
|
|
||||||
-r=objs/apps/soundbox/task_manager/app_common.c.o,dev_status_event_filter,l
|
-r=objs/apps/soundbox/task_manager/app_common.c.o,dev_status_event_filter,l
|
||||||
-r=objs/apps/soundbox/task_manager/app_common.c.o,app_get_curr_task,l
|
-r=objs/apps/soundbox/task_manager/app_common.c.o,app_get_curr_task,l
|
||||||
-r=objs/apps/soundbox/task_manager/app_common.c.o,app_check_curr_task,l
|
-r=objs/apps/soundbox/task_manager/app_common.c.o,app_check_curr_task,l
|
||||||
@ -2283,7 +2283,6 @@ objs/apps/soundbox/task_manager/app_task_switch.c.o
|
|||||||
-r=objs/apps/soundbox/task_manager/app_task_switch.c.o,app_get_curr_task,pl
|
-r=objs/apps/soundbox/task_manager/app_task_switch.c.o,app_get_curr_task,pl
|
||||||
-r=objs/apps/soundbox/task_manager/app_task_switch.c.o,app_check_curr_task,pl
|
-r=objs/apps/soundbox/task_manager/app_task_switch.c.o,app_check_curr_task,pl
|
||||||
-r=objs/apps/soundbox/task_manager/app_task_switch.c.o,music_app_check,l
|
-r=objs/apps/soundbox/task_manager/app_task_switch.c.o,music_app_check,l
|
||||||
-r=objs/apps/soundbox/task_manager/app_task_switch.c.o,pc_app_check,l
|
|
||||||
-r=objs/apps/soundbox/task_manager/app_task_switch.c.o,bt_app_exit_check,l
|
-r=objs/apps/soundbox/task_manager/app_task_switch.c.o,bt_app_exit_check,l
|
||||||
-r=objs/apps/soundbox/task_manager/app_task_switch.c.o,puts,l
|
-r=objs/apps/soundbox/task_manager/app_task_switch.c.o,puts,l
|
||||||
-r=objs/apps/soundbox/task_manager/app_task_switch.c.o,app_prev_task,pl
|
-r=objs/apps/soundbox/task_manager/app_task_switch.c.o,app_prev_task,pl
|
||||||
@ -2323,17 +2322,7 @@ objs/apps/soundbox/task_manager/idle/idle.c.o
|
|||||||
-r=objs/apps/soundbox/task_manager/idle/idle.c.o,app_default_event_deal,l
|
-r=objs/apps/soundbox/task_manager/idle/idle.c.o,app_default_event_deal,l
|
||||||
-r=objs/apps/soundbox/task_manager/idle/idle.c.o,app_task_exitting,l
|
-r=objs/apps/soundbox/task_manager/idle/idle.c.o,app_task_exitting,l
|
||||||
-r=objs/apps/soundbox/task_manager/idle/idle.c.o,sys_key_event_enable,l
|
-r=objs/apps/soundbox/task_manager/idle/idle.c.o,sys_key_event_enable,l
|
||||||
-r=objs/apps/soundbox/task_manager/idle/idle.c.o,usb_detect_timer_del,l
|
|
||||||
-r=objs/apps/soundbox/task_manager/idle/idle.c.o,os_time_dly,
|
|
||||||
-r=objs/apps/soundbox/task_manager/idle/idle.c.o,usb_otg_online,l
|
|
||||||
-r=objs/apps/soundbox/task_manager/idle/idle.c.o,usb_pause,l
|
|
||||||
-r=objs/apps/soundbox/task_manager/idle/idle.c.o,usb_iomode,l
|
|
||||||
-r=objs/apps/soundbox/task_manager/idle/idle.c.o,gpio_set_die,l
|
|
||||||
-r=objs/apps/soundbox/task_manager/idle/idle.c.o,gpio_set_pull_up,l
|
|
||||||
-r=objs/apps/soundbox/task_manager/idle/idle.c.o,gpio_set_pull_down,l
|
|
||||||
-r=objs/apps/soundbox/task_manager/idle/idle.c.o,gpio_set_direction,l
|
|
||||||
-r=objs/apps/soundbox/task_manager/idle/idle.c.o,log_print,l
|
-r=objs/apps/soundbox/task_manager/idle/idle.c.o,log_print,l
|
||||||
-r=objs/apps/soundbox/task_manager/idle/idle.c.o,usb_detect_timer_add,l
|
|
||||||
-r=objs/apps/soundbox/task_manager/idle/idle.c.o,regs_buf,pl
|
-r=objs/apps/soundbox/task_manager/idle/idle.c.o,regs_buf,pl
|
||||||
-r=objs/apps/soundbox/task_manager/idle/idle.c.o,log_tag_const_i_APP_IDLE,l
|
-r=objs/apps/soundbox/task_manager/idle/idle.c.o,log_tag_const_i_APP_IDLE,l
|
||||||
-r=objs/apps/soundbox/task_manager/idle/idle.c.o,app_var,l
|
-r=objs/apps/soundbox/task_manager/idle/idle.c.o,app_var,l
|
||||||
@ -2358,7 +2347,7 @@ objs/apps/soundbox/task_manager/music/music.c.o
|
|||||||
-r=objs/apps/soundbox/task_manager/music/music.c.o,music_task_set_parm,pl
|
-r=objs/apps/soundbox/task_manager/music/music.c.o,music_task_set_parm,pl
|
||||||
-r=objs/apps/soundbox/task_manager/music/music.c.o,music_app_check,pl
|
-r=objs/apps/soundbox/task_manager/music/music.c.o,music_app_check,pl
|
||||||
-r=objs/apps/soundbox/task_manager/music/music.c.o,app_music_task,pl
|
-r=objs/apps/soundbox/task_manager/music/music.c.o,app_music_task,pl
|
||||||
-r=objs/apps/soundbox/task_manager/music/music.c.o,music_player_set_repeat_mode,l
|
-r=objs/apps/soundbox/task_manager/music/music.c.o,kt_change_cycle,l
|
||||||
-r=objs/apps/soundbox/task_manager/music/music.c.o,app_task_get_msg,l
|
-r=objs/apps/soundbox/task_manager/music/music.c.o,app_task_get_msg,l
|
||||||
-r=objs/apps/soundbox/task_manager/music/music.c.o,app_default_event_deal,l
|
-r=objs/apps/soundbox/task_manager/music/music.c.o,app_default_event_deal,l
|
||||||
-r=objs/apps/soundbox/task_manager/music/music.c.o,app_task_exitting,l
|
-r=objs/apps/soundbox/task_manager/music/music.c.o,app_task_exitting,l
|
||||||
@ -2391,14 +2380,15 @@ objs/apps/soundbox/task_manager/music/music.c.o
|
|||||||
-r=objs/apps/soundbox/task_manager/music/music.c.o,dev_manager_find_active,l
|
-r=objs/apps/soundbox/task_manager/music/music.c.o,dev_manager_find_active,l
|
||||||
-r=objs/apps/soundbox/task_manager/music/music.c.o,music_player_get_play_status,l
|
-r=objs/apps/soundbox/task_manager/music/music.c.o,music_player_get_play_status,l
|
||||||
-r=objs/apps/soundbox/task_manager/music/music.c.o,strcmp,l
|
-r=objs/apps/soundbox/task_manager/music/music.c.o,strcmp,l
|
||||||
-r=objs/apps/soundbox/task_manager/music/music.c.o,breakpoint_vm_read,l
|
|
||||||
-r=objs/apps/soundbox/task_manager/music/music.c.o,music_player_play_by_breakpoint,l
|
|
||||||
-r=objs/apps/soundbox/task_manager/music/music.c.o,music_player_play_first_file,l
|
-r=objs/apps/soundbox/task_manager/music/music.c.o,music_player_play_first_file,l
|
||||||
-r=objs/apps/soundbox/task_manager/music/music.c.o,music_player_play_by_number,l
|
-r=objs/apps/soundbox/task_manager/music/music.c.o,music_player_play_by_number,l
|
||||||
|
-r=objs/apps/soundbox/task_manager/music/music.c.o,kt_get_cycle,l
|
||||||
|
-r=objs/apps/soundbox/task_manager/music/music.c.o,kt_set_last_play,l
|
||||||
-r=objs/apps/soundbox/task_manager/music/music.c.o,strcat,l
|
-r=objs/apps/soundbox/task_manager/music/music.c.o,strcat,l
|
||||||
-r=objs/apps/soundbox/task_manager/music/music.c.o,music_player_play_by_path,l
|
-r=objs/apps/soundbox/task_manager/music/music.c.o,music_player_play_by_path,l
|
||||||
-r=objs/apps/soundbox/task_manager/music/music.c.o,app_task_switch_next,l
|
-r=objs/apps/soundbox/task_manager/music/music.c.o,app_task_switch_next,l
|
||||||
-r=objs/apps/soundbox/task_manager/music/music.c.o,music_player_end_deal,l
|
-r=objs/apps/soundbox/task_manager/music/music.c.o,music_player_end_deal,l
|
||||||
|
-r=objs/apps/soundbox/task_manager/music/music.c.o,kt_get_last_play,l
|
||||||
-r=objs/apps/soundbox/task_manager/music/music.c.o,music_player_pp,l
|
-r=objs/apps/soundbox/task_manager/music/music.c.o,music_player_pp,l
|
||||||
-r=objs/apps/soundbox/task_manager/music/music.c.o,music_player_play_auto_next,l
|
-r=objs/apps/soundbox/task_manager/music/music.c.o,music_player_play_auto_next,l
|
||||||
-r=objs/apps/soundbox/task_manager/music/music.c.o,music_player_play_prev,l
|
-r=objs/apps/soundbox/task_manager/music/music.c.o,music_player_play_prev,l
|
||||||
@ -2406,6 +2396,8 @@ objs/apps/soundbox/task_manager/music/music.c.o
|
|||||||
-r=objs/apps/soundbox/task_manager/music/music.c.o,music_player_play_folder_prev,l
|
-r=objs/apps/soundbox/task_manager/music/music.c.o,music_player_play_folder_prev,l
|
||||||
-r=objs/apps/soundbox/task_manager/music/music.c.o,music_player_play_folder_next,l
|
-r=objs/apps/soundbox/task_manager/music/music.c.o,music_player_play_folder_next,l
|
||||||
-r=objs/apps/soundbox/task_manager/music/music.c.o,music_player_get_dev_next,l
|
-r=objs/apps/soundbox/task_manager/music/music.c.o,music_player_get_dev_next,l
|
||||||
|
-r=objs/apps/soundbox/task_manager/music/music.c.o,breakpoint_vm_read,l
|
||||||
|
-r=objs/apps/soundbox/task_manager/music/music.c.o,music_player_play_by_breakpoint,l
|
||||||
-r=objs/apps/soundbox/task_manager/music/music.c.o,music_player_play_by_sclust,l
|
-r=objs/apps/soundbox/task_manager/music/music.c.o,music_player_play_by_sclust,l
|
||||||
-r=objs/apps/soundbox/task_manager/music/music.c.o,music_player_ff,l
|
-r=objs/apps/soundbox/task_manager/music/music.c.o,music_player_ff,l
|
||||||
-r=objs/apps/soundbox/task_manager/music/music.c.o,music_player_fr,l
|
-r=objs/apps/soundbox/task_manager/music/music.c.o,music_player_fr,l
|
||||||
@ -2422,28 +2414,7 @@ objs/apps/soundbox/task_manager/music/music.c.o
|
|||||||
-r=objs/apps/soundbox/task_manager/music/music.c.o,tone_table,l
|
-r=objs/apps/soundbox/task_manager/music/music.c.o,tone_table,l
|
||||||
objs/apps/soundbox/task_manager/pc/pc.c.o
|
objs/apps/soundbox/task_manager/pc/pc.c.o
|
||||||
-r=objs/apps/soundbox/task_manager/pc/pc.c.o,pc_app_check,pl
|
-r=objs/apps/soundbox/task_manager/pc/pc.c.o,pc_app_check,pl
|
||||||
-r=objs/apps/soundbox/task_manager/pc/pc.c.o,usb_otg_online,l
|
|
||||||
-r=objs/apps/soundbox/task_manager/pc/pc.c.o,log_print,l
|
|
||||||
-r=objs/apps/soundbox/task_manager/pc/pc.c.o,app_pc_task,pl
|
-r=objs/apps/soundbox/task_manager/pc/pc.c.o,app_pc_task,pl
|
||||||
-r=objs/apps/soundbox/task_manager/pc/pc.c.o,app_task_get_msg,l
|
|
||||||
-r=objs/apps/soundbox/task_manager/pc/pc.c.o,app_default_event_deal,l
|
|
||||||
-r=objs/apps/soundbox/task_manager/pc/pc.c.o,app_task_exitting,l
|
|
||||||
-r=objs/apps/soundbox/task_manager/pc/pc.c.o,ui_update_status,l
|
|
||||||
-r=objs/apps/soundbox/task_manager/pc/pc.c.o,sys_key_event_enable,l
|
|
||||||
-r=objs/apps/soundbox/task_manager/pc/pc.c.o,app_audio_get_volume,l
|
|
||||||
-r=objs/apps/soundbox/task_manager/pc/pc.c.o,clock_idle,l
|
|
||||||
-r=objs/apps/soundbox/task_manager/pc/pc.c.o,usb_start,l
|
|
||||||
-r=objs/apps/soundbox/task_manager/pc/pc.c.o,pc_device_event_handler,l
|
|
||||||
-r=objs/apps/soundbox/task_manager/pc/pc.c.o,app_task_switch_next,l
|
|
||||||
-r=objs/apps/soundbox/task_manager/pc/pc.c.o,hid_key_handler,l
|
|
||||||
-r=objs/apps/soundbox/task_manager/pc/pc.c.o,printf,l
|
|
||||||
-r=objs/apps/soundbox/task_manager/pc/pc.c.o,app_audio_set_volume,l
|
|
||||||
-r=objs/apps/soundbox/task_manager/pc/pc.c.o,tone_play_stop,l
|
|
||||||
-r=objs/apps/soundbox/task_manager/pc/pc.c.o,dev_manager_list_check_mount,l
|
|
||||||
-r=objs/apps/soundbox/task_manager/pc/pc.c.o,usb_stop,l
|
|
||||||
-r=objs/apps/soundbox/task_manager/pc/pc.c.o,usb_pause,l
|
|
||||||
-r=objs/apps/soundbox/task_manager/pc/pc.c.o,log_tag_const_i_APP_PC,l
|
|
||||||
-r=objs/apps/soundbox/task_manager/pc/pc.c.o,log_tag_const_d_APP_PC,l
|
|
||||||
objs/apps/soundbox/task_manager/power_off/power_off.c.o
|
objs/apps/soundbox/task_manager/power_off/power_off.c.o
|
||||||
-r=objs/apps/soundbox/task_manager/power_off/power_off.c.o,power_off_deal,pl
|
-r=objs/apps/soundbox/task_manager/power_off/power_off.c.o,power_off_deal,pl
|
||||||
-r=objs/apps/soundbox/task_manager/power_off/power_off.c.o,log_print,l
|
-r=objs/apps/soundbox/task_manager/power_off/power_off.c.o,log_print,l
|
||||||
@ -2463,6 +2434,7 @@ objs/apps/soundbox/task_manager/power_off/power_off.c.o
|
|||||||
-r=objs/apps/soundbox/task_manager/power_off/power_off.c.o,tone_table,l
|
-r=objs/apps/soundbox/task_manager/power_off/power_off.c.o,tone_table,l
|
||||||
objs/apps/soundbox/task_manager/power_on/power_on.c.o
|
objs/apps/soundbox/task_manager/power_on/power_on.c.o
|
||||||
-r=objs/apps/soundbox/task_manager/power_on/power_on.c.o,app_poweron_task,pl
|
-r=objs/apps/soundbox/task_manager/power_on/power_on.c.o,app_poweron_task,pl
|
||||||
|
-r=objs/apps/soundbox/task_manager/power_on/power_on.c.o,gpio_set_output_value,l
|
||||||
-r=objs/apps/soundbox/task_manager/power_on/power_on.c.o,kt_init,l
|
-r=objs/apps/soundbox/task_manager/power_on/power_on.c.o,kt_init,l
|
||||||
-r=objs/apps/soundbox/task_manager/power_on/power_on.c.o,tone_play_with_callback_by_name,l
|
-r=objs/apps/soundbox/task_manager/power_on/power_on.c.o,tone_play_with_callback_by_name,l
|
||||||
-r=objs/apps/soundbox/task_manager/power_on/power_on.c.o,app_task_get_msg,l
|
-r=objs/apps/soundbox/task_manager/power_on/power_on.c.o,app_task_get_msg,l
|
||||||
@ -2492,19 +2464,14 @@ objs/apps/soundbox/task_manager/task_key.c.o
|
|||||||
-r=objs/apps/soundbox/task_manager/task_key.c.o,rdec_key_event_to_msg,pl
|
-r=objs/apps/soundbox/task_manager/task_key.c.o,rdec_key_event_to_msg,pl
|
||||||
-r=objs/apps/soundbox/task_manager/task_key.c.o,touch_key_event_to_msg,pl
|
-r=objs/apps/soundbox/task_manager/task_key.c.o,touch_key_event_to_msg,pl
|
||||||
-r=objs/apps/soundbox/task_manager/task_key.c.o,music_key_ad_table,l
|
-r=objs/apps/soundbox/task_manager/task_key.c.o,music_key_ad_table,l
|
||||||
-r=objs/apps/soundbox/task_manager/task_key.c.o,pc_key_ad_table,l
|
|
||||||
-r=objs/apps/soundbox/task_manager/task_key.c.o,idle_key_ad_table,l
|
-r=objs/apps/soundbox/task_manager/task_key.c.o,idle_key_ad_table,l
|
||||||
-r=objs/apps/soundbox/task_manager/task_key.c.o,music_key_io_table,l
|
-r=objs/apps/soundbox/task_manager/task_key.c.o,music_key_io_table,l
|
||||||
-r=objs/apps/soundbox/task_manager/task_key.c.o,pc_key_io_table,l
|
|
||||||
-r=objs/apps/soundbox/task_manager/task_key.c.o,idle_key_io_table,l
|
-r=objs/apps/soundbox/task_manager/task_key.c.o,idle_key_io_table,l
|
||||||
-r=objs/apps/soundbox/task_manager/task_key.c.o,music_key_ir_table,l
|
-r=objs/apps/soundbox/task_manager/task_key.c.o,music_key_ir_table,l
|
||||||
-r=objs/apps/soundbox/task_manager/task_key.c.o,pc_key_ir_table,l
|
|
||||||
-r=objs/apps/soundbox/task_manager/task_key.c.o,idle_key_ir_table,l
|
-r=objs/apps/soundbox/task_manager/task_key.c.o,idle_key_ir_table,l
|
||||||
-r=objs/apps/soundbox/task_manager/task_key.c.o,music_key_rdec_table,l
|
-r=objs/apps/soundbox/task_manager/task_key.c.o,music_key_rdec_table,l
|
||||||
-r=objs/apps/soundbox/task_manager/task_key.c.o,pc_key_rdec_table,l
|
|
||||||
-r=objs/apps/soundbox/task_manager/task_key.c.o,idle_key_rdec_table,l
|
-r=objs/apps/soundbox/task_manager/task_key.c.o,idle_key_rdec_table,l
|
||||||
-r=objs/apps/soundbox/task_manager/task_key.c.o,music_key_touch_table,l
|
-r=objs/apps/soundbox/task_manager/task_key.c.o,music_key_touch_table,l
|
||||||
-r=objs/apps/soundbox/task_manager/task_key.c.o,pc_key_touch_table,l
|
|
||||||
-r=objs/apps/soundbox/task_manager/task_key.c.o,idle_key_touch_table,l
|
-r=objs/apps/soundbox/task_manager/task_key.c.o,idle_key_touch_table,l
|
||||||
objs/apps/soundbox/third_party_profile/ancs_client_demo/ancs_client_demo.c.o
|
objs/apps/soundbox/third_party_profile/ancs_client_demo/ancs_client_demo.c.o
|
||||||
objs/apps/soundbox/third_party_profile/trans_data_demo/trans_data_demo.c.o
|
objs/apps/soundbox/third_party_profile/trans_data_demo/trans_data_demo.c.o
|
||||||
@ -2769,11 +2736,11 @@ objs/cpu/br25/audio_common/audio_iis.c.o
|
|||||||
objs/cpu/br25/audio_common/audio_link.c.o
|
objs/cpu/br25/audio_common/audio_link.c.o
|
||||||
objs/cpu/br25/audio_dec/audio_dec.c.o
|
objs/cpu/br25/audio_dec/audio_dec.c.o
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,audio_dac_energy_get,pl
|
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,audio_dac_energy_get,pl
|
||||||
|
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,audio_energy_detect_energy_get,l
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,audio_resume_all_decoder,pl
|
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,audio_resume_all_decoder,pl
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,audio_decoder_resume_all,l
|
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,audio_decoder_resume_all,l
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,audio_src_isr_deal,pl
|
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,audio_src_isr_deal,pl
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,audio_dac_sync_src_deal,pl
|
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,audio_dac_sync_src_deal,pl
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,audio_usb_set_src_by_dac_sync,l
|
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,audio_mode_main_dec_open,pl
|
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,audio_mode_main_dec_open,pl
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,audio_output_nor_rate,pl
|
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,audio_output_nor_rate,pl
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,audio_output_rate,pl
|
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,audio_output_rate,pl
|
||||||
@ -2799,6 +2766,7 @@ objs/cpu/br25/audio_dec/audio_dec.c.o
|
|||||||
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,audio_hw_src_close,l
|
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,audio_hw_src_close,l
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,free,l
|
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,free,l
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,audio_dec_init,pl
|
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,audio_dec_init,pl
|
||||||
|
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,printf,l
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,audio_decoder_task_create,l
|
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,audio_decoder_task_create,l
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,prevent_task_fill_create,l
|
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,prevent_task_fill_create,l
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,prevent_task_fill_ch_open,l
|
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,prevent_task_fill_ch_open,l
|
||||||
@ -2823,10 +2791,22 @@ objs/cpu/br25/audio_dec/audio_dec.c.o
|
|||||||
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,mix_out_high_bass,pl
|
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,mix_out_high_bass,pl
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,audio_eq_drc_parm_update,l
|
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,audio_eq_drc_parm_update,l
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,mix_out_high_bass_dis,pl
|
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,mix_out_high_bass_dis,pl
|
||||||
|
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,audio_mix_out_automute_mute,pl
|
||||||
|
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,mix_out_automute_handler,pl
|
||||||
|
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,app_audio_output_channel_get,l
|
||||||
|
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,mix_out_automute_skip,pl
|
||||||
|
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,audio_energy_detect_skip,l
|
||||||
|
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,mix_out_automute_open,pl
|
||||||
|
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,audio_energy_detect_open,l
|
||||||
|
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,audio_energy_detect_entry_get,l
|
||||||
|
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,mix_out_automute_close,pl
|
||||||
|
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,audio_energy_detect_close,l
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,audio_mixer_get_ch_num,l
|
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,audio_mixer_get_ch_num,l
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,clock_add_set,l
|
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,clock_add_set,l
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,clock_remove_set,l
|
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,clock_remove_set,l
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,puts,l
|
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,puts,l
|
||||||
|
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,mix_out_automute_hdl,pl
|
||||||
|
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,mix_out_automute_entry,pl
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,decode_task,pl
|
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,decode_task,pl
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,mixer,pl
|
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,mixer,pl
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,mix_eq_drc,pl
|
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,mix_eq_drc,pl
|
||||||
@ -2861,6 +2841,7 @@ objs/cpu/br25/audio_dec/audio_dec_bt.c.o
|
|||||||
-r=objs/cpu/br25/audio_dec/audio_dec_bt.c.o,esco_dec_open,pl
|
-r=objs/cpu/br25/audio_dec/audio_dec_bt.c.o,esco_dec_open,pl
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec_bt.c.o,audio_output_channel_num,l
|
-r=objs/cpu/br25/audio_dec/audio_dec_bt.c.o,audio_output_channel_num,l
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec_bt.c.o,lmp_private_esco_suspend_resume,
|
-r=objs/cpu/br25/audio_dec/audio_dec_bt.c.o,lmp_private_esco_suspend_resume,
|
||||||
|
-r=objs/cpu/br25/audio_dec/audio_dec_bt.c.o,mix_out_automute_skip,l
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec_bt.c.o,esco_dec_close,pl
|
-r=objs/cpu/br25/audio_dec/audio_dec_bt.c.o,esco_dec_close,pl
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec_bt.c.o,bt_audio_is_running,pl
|
-r=objs/cpu/br25/audio_dec/audio_dec_bt.c.o,bt_audio_is_running,pl
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec_bt.c.o,bt_media_is_running,pl
|
-r=objs/cpu/br25/audio_dec/audio_dec_bt.c.o,bt_media_is_running,pl
|
||||||
@ -2986,65 +2967,6 @@ objs/cpu/br25/audio_dec/audio_dec_fm.c.o
|
|||||||
objs/cpu/br25/audio_dec/audio_dec_linein.c.o
|
objs/cpu/br25/audio_dec/audio_dec_linein.c.o
|
||||||
objs/cpu/br25/audio_dec/audio_dec_midi_file.c.o
|
objs/cpu/br25/audio_dec/audio_dec_midi_file.c.o
|
||||||
objs/cpu/br25/audio_dec/audio_dec_pc.c.o
|
objs/cpu/br25/audio_dec/audio_dec_pc.c.o
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec_pc.c.o,uac_vol_switch,pl
|
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec_pc.c.o,uac_dec_relaese,pl
|
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec_pc.c.o,audio_decoder_task_del_wait,l
|
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec_pc.c.o,clock_remove,l
|
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec_pc.c.o,local_irq_disable,l
|
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec_pc.c.o,free,l
|
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec_pc.c.o,local_irq_enable,l
|
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec_pc.c.o,audio_usb_set_src_by_dac_sync,pl
|
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec_pc.c.o,audio_buf_sync_follow_rate,l
|
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec_pc.c.o,uac_dec_restart,pl
|
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec_pc.c.o,uac_dec_push_restart,pl
|
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec_pc.c.o,os_taskq_post_type,l
|
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec_pc.c.o,os_current_task,l
|
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec_pc.c.o,audio_dev_init,pl
|
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec_pc.c.o,usb_audio_demo_init,pl
|
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec_pc.c.o,register_sys_event_handler,l
|
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec_pc.c.o,usb_audio_demo_exit,pl
|
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec_pc.c.o,unregister_sys_event_handler,l
|
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec_pc.c.o,usb_audio_mic_close,l
|
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec_pc.c.o,pc_eq_drc_open,pl
|
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec_pc.c.o,pc_eq_drc_close,pl
|
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec_pc.c.o,usr_timer_del,l
|
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec_pc.c.o,pcm_decoder_close,l
|
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec_pc.c.o,audio_mixer_ch_close,l
|
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec_pc.c.o,app_audio_state_exit,l
|
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec_pc.c.o,audio_stream_close,l
|
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec_pc.c.o,clock_set_cur,l
|
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec_pc.c.o,zalloc,l
|
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec_pc.c.o,audio_output_channel_num,l
|
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec_pc.c.o,audio_output_channel_type,l
|
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec_pc.c.o,printf,l
|
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec_pc.c.o,set_uac_speaker_rx_handler,l
|
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec_pc.c.o,audio_decoder_task_add_wait,l
|
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec_pc.c.o,clock_add,l
|
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec_pc.c.o,audio_decoder_resume,l
|
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec_pc.c.o,pcm_decoder_open,l
|
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec_pc.c.o,pcm_decoder_set_event_handler,l
|
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec_pc.c.o,pcm_decoder_set_read_data,l
|
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec_pc.c.o,uac_speaker_read,l
|
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec_pc.c.o,audio_mode_main_dec_open,l
|
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec_pc.c.o,audio_mixer_ch_open_head,l
|
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec_pc.c.o,audio_mixer_ch_set_src,l
|
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec_pc.c.o,audio_mixer_ch_set_sync,l
|
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec_pc.c.o,audio_stream_open,l
|
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec_pc.c.o,audio_stream_add_list,l
|
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec_pc.c.o,audio_output_set_start_volume,l
|
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec_pc.c.o,uac_get_cur_vol,l
|
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec_pc.c.o,app_audio_set_volume,l
|
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec_pc.c.o,audio_decoder_start,l
|
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec_pc.c.o,usr_timer_add,l
|
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec_pc.c.o,puts,l
|
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec_pc.c.o,uac_speaker_stream_length,l
|
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec_pc.c.o,uac_speaker_stream_size,l
|
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec_pc.c.o,audio_mixer_ch_pause,l
|
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec_pc.c.o,audio_decoder_resume_all,l
|
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec_pc.c.o,usb_audio_mic_open,l
|
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec_pc.c.o,usb_audio_mic_set_gain,l
|
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec_pc.c.o,decode_task,l
|
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec_pc.c.o,mixer,l
|
|
||||||
objs/cpu/br25/audio_dec/audio_dec_record.c.o
|
objs/cpu/br25/audio_dec/audio_dec_record.c.o
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec_record.c.o,record_file_close,pl
|
-r=objs/cpu/br25/audio_dec/audio_dec_record.c.o,record_file_close,pl
|
||||||
-r=objs/cpu/br25/audio_dec/audio_dec_record.c.o,file_dec_close,l
|
-r=objs/cpu/br25/audio_dec/audio_dec_record.c.o,file_dec_close,l
|
||||||
@ -5760,6 +5682,27 @@ include_lib/liba/br25/media_app.a.llvm.123018.audio_output_dac.c
|
|||||||
-r=include_lib/liba/br25/media_app.a.llvm.123018.audio_output_dac.c,dac_hdl,l
|
-r=include_lib/liba/br25/media_app.a.llvm.123018.audio_output_dac.c,dac_hdl,l
|
||||||
-r=include_lib/liba/br25/media_app.a.llvm.123018.audio_output_dac.c,log_tag_const_i_APP_DAC,l
|
-r=include_lib/liba/br25/media_app.a.llvm.123018.audio_output_dac.c,log_tag_const_i_APP_DAC,l
|
||||||
-r=include_lib/liba/br25/media_app.a.llvm.123018.audio_output_dac.c,config_asser,l
|
-r=include_lib/liba/br25/media_app.a.llvm.123018.audio_output_dac.c,config_asser,l
|
||||||
|
include_lib/liba/br25/media_app.a.llvm.157622.audio_energy_detect.c
|
||||||
|
-r=include_lib/liba/br25/media_app.a.llvm.157622.audio_energy_detect.c,audio_energy_detect_event_handler,pl
|
||||||
|
-r=include_lib/liba/br25/media_app.a.llvm.157622.audio_energy_detect.c,log_print,l
|
||||||
|
-r=include_lib/liba/br25/media_app.a.llvm.157622.audio_energy_detect.c,auido_energy_detect_10ms_timer,pl
|
||||||
|
-r=include_lib/liba/br25/media_app.a.llvm.157622.audio_energy_detect.c,audio_energy_detect_open,pl
|
||||||
|
-r=include_lib/liba/br25/media_app.a.llvm.157622.audio_energy_detect.c,zalloc,l
|
||||||
|
-r=include_lib/liba/br25/media_app.a.llvm.157622.audio_energy_detect.c,usr_timer_add,l
|
||||||
|
-r=include_lib/liba/br25/media_app.a.llvm.157622.audio_energy_detect.c,os_mutex_create,
|
||||||
|
-r=include_lib/liba/br25/media_app.a.llvm.157622.audio_energy_detect.c,usr_timer_del,l
|
||||||
|
-r=include_lib/liba/br25/media_app.a.llvm.157622.audio_energy_detect.c,free,l
|
||||||
|
-r=include_lib/liba/br25/media_app.a.llvm.157622.audio_energy_detect.c,audio_energy_detect_run,pl
|
||||||
|
-r=include_lib/liba/br25/media_app.a.llvm.157622.audio_energy_detect.c,os_mutex_pend,l
|
||||||
|
-r=include_lib/liba/br25/media_app.a.llvm.157622.audio_energy_detect.c,os_mutex_post,l
|
||||||
|
-r=include_lib/liba/br25/media_app.a.llvm.157622.audio_energy_detect.c,audio_energy_detect_close,pl
|
||||||
|
-r=include_lib/liba/br25/media_app.a.llvm.157622.audio_energy_detect.c,os_mutex_del,
|
||||||
|
-r=include_lib/liba/br25/media_app.a.llvm.157622.audio_energy_detect.c,audio_energy_detect_skip,pl
|
||||||
|
-r=include_lib/liba/br25/media_app.a.llvm.157622.audio_energy_detect.c,audio_energy_detect_entry_get,pl
|
||||||
|
-r=include_lib/liba/br25/media_app.a.llvm.157622.audio_energy_detect.c,audio_energy_detect_sample_rate_update,pl
|
||||||
|
-r=include_lib/liba/br25/media_app.a.llvm.157622.audio_energy_detect.c,audio_energy_detect_energy_get,pl
|
||||||
|
-r=include_lib/liba/br25/media_app.a.llvm.157622.audio_energy_detect.c,log_tag_const_i_APP_EDET,l
|
||||||
|
-r=include_lib/liba/br25/media_app.a.llvm.157622.audio_energy_detect.c,log_tag_const_e_APP_EDET,l
|
||||||
include_lib/liba/br25/media_app.a.llvm.314346.audio_eq_drc_apply.c
|
include_lib/liba/br25/media_app.a.llvm.314346.audio_eq_drc_apply.c
|
||||||
-r=include_lib/liba/br25/media_app.a.llvm.314346.audio_eq_drc_apply.c,audio_dec_eq_open,pl
|
-r=include_lib/liba/br25/media_app.a.llvm.314346.audio_eq_drc_apply.c,audio_dec_eq_open,pl
|
||||||
-r=include_lib/liba/br25/media_app.a.llvm.314346.audio_eq_drc_apply.c,zalloc,l
|
-r=include_lib/liba/br25/media_app.a.llvm.314346.audio_eq_drc_apply.c,zalloc,l
|
||||||
@ -6258,18 +6201,6 @@ include_lib/liba/br25/media.a.llvm.90180.esco_decoder.c
|
|||||||
-r=include_lib/liba/br25/media.a.llvm.90180.esco_decoder.c,audio_stream_clear_from,l
|
-r=include_lib/liba/br25/media.a.llvm.90180.esco_decoder.c,audio_stream_clear_from,l
|
||||||
-r=include_lib/liba/br25/media.a.llvm.90180.esco_decoder.c,usr_timer_del,l
|
-r=include_lib/liba/br25/media.a.llvm.90180.esco_decoder.c,usr_timer_del,l
|
||||||
-r=include_lib/liba/br25/media.a.llvm.90180.esco_decoder.c,CONFIG_BTCTLER_TWS_ENABLE,l
|
-r=include_lib/liba/br25/media.a.llvm.90180.esco_decoder.c,CONFIG_BTCTLER_TWS_ENABLE,l
|
||||||
include_lib/liba/br25/media.a.llvm.117668.pcm_decoder.c
|
|
||||||
-r=include_lib/liba/br25/media.a.llvm.117668.pcm_decoder.c,pcm_decoder_open,pl
|
|
||||||
-r=include_lib/liba/br25/media.a.llvm.117668.pcm_decoder.c,audio_decoder_open,l
|
|
||||||
-r=include_lib/liba/br25/media.a.llvm.117668.pcm_decoder.c,audio_decoder_set_handler,l
|
|
||||||
-r=include_lib/liba/br25/media.a.llvm.117668.pcm_decoder.c,audio_decoder_set_fmt,l
|
|
||||||
-r=include_lib/liba/br25/media.a.llvm.117668.pcm_decoder.c,audio_decoder_close,l
|
|
||||||
-r=include_lib/liba/br25/media.a.llvm.117668.pcm_decoder.c,pcm_decoder_set_event_handler,pl
|
|
||||||
-r=include_lib/liba/br25/media.a.llvm.117668.pcm_decoder.c,audio_decoder_set_event_handler,l
|
|
||||||
-r=include_lib/liba/br25/media.a.llvm.117668.pcm_decoder.c,pcm_decoder_set_read_data,pl
|
|
||||||
-r=include_lib/liba/br25/media.a.llvm.117668.pcm_decoder.c,pcm_decoder_set_data_handler,pl
|
|
||||||
-r=include_lib/liba/br25/media.a.llvm.117668.pcm_decoder.c,pcm_decoder_close,pl
|
|
||||||
-r=include_lib/liba/br25/media.a.llvm.117668.pcm_decoder.c,audio_decoder_dual_switch,l
|
|
||||||
include_lib/liba/br25/media.a.llvm.135380.a2dp_decoder.c
|
include_lib/liba/br25/media.a.llvm.135380.a2dp_decoder.c
|
||||||
-r=include_lib/liba/br25/media.a.llvm.135380.a2dp_decoder.c,__a2dp_drop_frame,pl
|
-r=include_lib/liba/br25/media.a.llvm.135380.a2dp_decoder.c,__a2dp_drop_frame,pl
|
||||||
-r=include_lib/liba/br25/media.a.llvm.135380.a2dp_decoder.c,a2dp_media_get_packet_num,
|
-r=include_lib/liba/br25/media.a.llvm.135380.a2dp_decoder.c,a2dp_media_get_packet_num,
|
||||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
cpu/br25/tools/soundbox/standard_608n/update_685C.ufw
Normal file
BIN
cpu/br25/tools/soundbox/standard_608n/update_685C.ufw
Normal file
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Loading…
Reference in New Issue
Block a user