完成模式切换,优化发射连接速度,完成IIC+DAC双输出支持
This commit is contained in:
parent
81944a304a
commit
da93862859
2
.vscode/c_cpp_properties.json
vendored
2
.vscode/c_cpp_properties.json
vendored
@ -74,10 +74,12 @@
|
|||||||
"${workspaceFolder}/include_lib\\media\\media_develop\\media\\cpu\\br23",
|
"${workspaceFolder}/include_lib\\media\\media_develop\\media\\cpu\\br23",
|
||||||
"${workspaceFolder}/include_lib\\media\\media_develop\\media\\cpu\\br23\\asm",
|
"${workspaceFolder}/include_lib\\media\\media_develop\\media\\cpu\\br23\\asm",
|
||||||
"${workspaceFolder}/cpu\\br23\\audio_mic",
|
"${workspaceFolder}/cpu\\br23\\audio_mic",
|
||||||
|
"${workspaceFolder}/apps\\kaotings",
|
||||||
"${workspaceFolder}/apps\\soundbox\\include",
|
"${workspaceFolder}/apps\\soundbox\\include",
|
||||||
"${workspaceFolder}/apps\\soundbox\\include\\task_manager",
|
"${workspaceFolder}/apps\\soundbox\\include\\task_manager",
|
||||||
"${workspaceFolder}/apps\\soundbox\\include\\task_manager\\bt",
|
"${workspaceFolder}/apps\\soundbox\\include\\task_manager\\bt",
|
||||||
"${workspaceFolder}/apps\\soundbox\\include\\user_api",
|
"${workspaceFolder}/apps\\soundbox\\include\\user_api",
|
||||||
|
"${workspaceFolder}/apps\\soundbox\\board\\br23",
|
||||||
"${workspaceFolder}/apps\\common",
|
"${workspaceFolder}/apps\\common",
|
||||||
"${workspaceFolder}/apps\\common\\device",
|
"${workspaceFolder}/apps\\common\\device",
|
||||||
"${workspaceFolder}/apps\\common\\audio",
|
"${workspaceFolder}/apps\\common\\audio",
|
||||||
|
|||||||
8
.vscode/settings.json
vendored
Normal file
8
.vscode/settings.json
vendored
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"files.associations": {
|
||||||
|
"gsensor_manage.h": "c",
|
||||||
|
"bt_emitter.h": "c",
|
||||||
|
"kt.h": "c",
|
||||||
|
"iis.h": "c"
|
||||||
|
}
|
||||||
|
}
|
||||||
3
Makefile
3
Makefile
@ -206,6 +206,7 @@ INCLUDES := \
|
|||||||
-Iapps/common/usb \
|
-Iapps/common/usb \
|
||||||
-Iapps/common/usb/device \
|
-Iapps/common/usb/device \
|
||||||
-Iapps/common/usb/host \
|
-Iapps/common/usb/host \
|
||||||
|
-Iapps/kaotings \
|
||||||
-Iapps/soundbox/smartbox \
|
-Iapps/soundbox/smartbox \
|
||||||
-Iapps/soundbox/smartbox/bt_manage/bt_trans_data \
|
-Iapps/soundbox/smartbox/bt_manage/bt_trans_data \
|
||||||
-Iapps/soundbox/smartbox/bt_manage \
|
-Iapps/soundbox/smartbox/bt_manage \
|
||||||
@ -574,6 +575,8 @@ c_SRC_FILES := \
|
|||||||
apps/soundbox/soundcard/notice.c \
|
apps/soundbox/soundcard/notice.c \
|
||||||
apps/soundbox/soundcard/peripheral.c \
|
apps/soundbox/soundcard/peripheral.c \
|
||||||
apps/soundbox/soundcard/soundcard.c \
|
apps/soundbox/soundcard/soundcard.c \
|
||||||
|
apps/kaotings/kt.c \
|
||||||
|
apps/kaotings/kt_dbg.c \
|
||||||
apps/soundbox/task_manager/app_common.c \
|
apps/soundbox/task_manager/app_common.c \
|
||||||
apps/soundbox/task_manager/app_task_switch.c \
|
apps/soundbox/task_manager/app_task_switch.c \
|
||||||
apps/soundbox/task_manager/bt/bt.c \
|
apps/soundbox/task_manager/bt/bt.c \
|
||||||
|
|||||||
498
apps/kaotings/kt.c
Normal file
498
apps/kaotings/kt.c
Normal file
@ -0,0 +1,498 @@
|
|||||||
|
#include "kt.h"
|
||||||
|
#include "kt_dbg.h"
|
||||||
|
#include "bt.h"
|
||||||
|
#include "bt_emitter.h"
|
||||||
|
#include "asm/mcpwm.h"
|
||||||
|
#include "avctp_user.h"
|
||||||
|
#include "key_event_deal.h"
|
||||||
|
#include "app_task.h"
|
||||||
|
#include "app_main.h"
|
||||||
|
#include "bt_emitter.h"
|
||||||
|
#include "bt.h"
|
||||||
|
|
||||||
|
extern void mcpwm_init(struct pwm_platform_data *arg);
|
||||||
|
|
||||||
|
typedef struct _kt_var_
|
||||||
|
{
|
||||||
|
// u16 tid;
|
||||||
|
struct kt
|
||||||
|
{
|
||||||
|
u16 tid;
|
||||||
|
int led_cnt;
|
||||||
|
} tim;
|
||||||
|
|
||||||
|
struct
|
||||||
|
{
|
||||||
|
u8 curr_mode;
|
||||||
|
u8 last_mode;
|
||||||
|
u8 next_mode;
|
||||||
|
u8 user_role;
|
||||||
|
int cnt;
|
||||||
|
} mode;
|
||||||
|
|
||||||
|
// u8 curr_task_mode;
|
||||||
|
// u8 mode;
|
||||||
|
} _kt_var;
|
||||||
|
|
||||||
|
static _kt_var kt_var;
|
||||||
|
#define __this (&kt_var)
|
||||||
|
|
||||||
|
static char *mode_name[] = {
|
||||||
|
"MODE_AUX_LP",
|
||||||
|
"MODE_BT_EMITTER",
|
||||||
|
"MODE_BT_RECEIVER",
|
||||||
|
};
|
||||||
|
|
||||||
|
u8 kt_get_mode(void)
|
||||||
|
{
|
||||||
|
u32 adc_value = 0;
|
||||||
|
// int cnt = 0;
|
||||||
|
// u8 temp_mode = 0;
|
||||||
|
|
||||||
|
adc_value = adc_get_value(CFG_MODE_AD_CH);
|
||||||
|
//printf("----------->>>>>>>>>>>>>>> adc_value = %d <<<<<<<<<<<----------\n", adc_value);
|
||||||
|
if (adc_value > 80 && adc_value < 100)
|
||||||
|
{
|
||||||
|
//printf("----------->>>>>>>>>>>>>>> temp_mode = MODE_AUX_LP <<<<<<<<<<<----------\n");
|
||||||
|
return MODE_AUX_LP;
|
||||||
|
}
|
||||||
|
else if (adc_value > 330 && adc_value < 370)
|
||||||
|
{
|
||||||
|
//printf("----------->>>>>>>>>>>>>>> temp_mode = MODE_BT_RECEIVER <<<<<<<<<<<----------\n");
|
||||||
|
return MODE_BT_RECEIVER;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//printf("----------->>>>>>>>>>>>>>> temp_mode = MODE_BT_EMITTER <<<<<<<<<<<----------\n");
|
||||||
|
return MODE_BT_EMITTER;
|
||||||
|
}
|
||||||
|
#if 0
|
||||||
|
while (1)
|
||||||
|
{
|
||||||
|
adc_value = adc_get_value(CFG_MODE_AD_CH);
|
||||||
|
|
||||||
|
|
||||||
|
if (adc_value > 80 && adc_value < 100)
|
||||||
|
{
|
||||||
|
if (temp_mode != MODE_AUX_LP)
|
||||||
|
{
|
||||||
|
temp_mode = MODE_AUX_LP;
|
||||||
|
cnt = 0;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
cnt++;
|
||||||
|
if (cnt >= 3)
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (adc_value > 330 && adc_value < 370)
|
||||||
|
{
|
||||||
|
if (temp_mode != MODE_BT_RECEIVER)
|
||||||
|
{
|
||||||
|
temp_mode = MODE_BT_RECEIVER;
|
||||||
|
cnt = 0;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
cnt++;
|
||||||
|
if (cnt >= 3)
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (temp_mode != MODE_BT_EMITTER)
|
||||||
|
{
|
||||||
|
temp_mode = MODE_BT_EMITTER;
|
||||||
|
cnt = 0;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
cnt++;
|
||||||
|
if (cnt >= 3)
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
clr_wdt();
|
||||||
|
os_time_dly(1);
|
||||||
|
}
|
||||||
|
printf("----------->>>>>>>>>>>>>>> temp_mode = %s <<<<<<<<<<<----------\n", mode_name[temp_mode]);
|
||||||
|
return temp_mode;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
void kt_set_curr_mode(u8 mode)
|
||||||
|
{
|
||||||
|
__this->mode.curr_mode = mode;
|
||||||
|
}
|
||||||
|
|
||||||
|
u8 kt_get_curr_mode(void)
|
||||||
|
{
|
||||||
|
return __this->mode.curr_mode;
|
||||||
|
}
|
||||||
|
|
||||||
|
void kt_boot_init(void)
|
||||||
|
{
|
||||||
|
log_i("kt_boot_init");
|
||||||
|
// mute pin
|
||||||
|
gpio_set_pull_down(CFG_MUTE_PIN, 0);
|
||||||
|
gpio_set_pull_up(CFG_MUTE_PIN, 0);
|
||||||
|
gpio_set_direction(CFG_MUTE_PIN, 0);
|
||||||
|
PA_MUTE();
|
||||||
|
|
||||||
|
/* 初始化Kaotings调试系统,默认INFO级别 */
|
||||||
|
kt_dbg_set_level(_DBG_LEVEL_);
|
||||||
|
KT_LOGI("KT", "dbg ready @level=%d", kt_dbg_get_level());
|
||||||
|
// mode pin adc ch
|
||||||
|
gpio_set_die(CFG_MODE_PIN, 0);
|
||||||
|
gpio_set_direction(CFG_MODE_PIN, 1);
|
||||||
|
gpio_set_pull_down(CFG_MODE_PIN, 0);
|
||||||
|
gpio_set_pull_up(CFG_MODE_PIN, 1);
|
||||||
|
adc_add_sample_ch(CFG_MODE_AD_CH);
|
||||||
|
// lp mot pin
|
||||||
|
gpio_set_pull_down(CFG_LP_MOT_PIN, 0);
|
||||||
|
gpio_set_pull_up(CFG_LP_MOT_PIN, 0);
|
||||||
|
gpio_set_direction(CFG_LP_MOT_PIN, 0);
|
||||||
|
LP_MOT_OFF();
|
||||||
|
// pa pwr pin
|
||||||
|
gpio_set_pull_down(CFG_PA_PWR_PIN, 0);
|
||||||
|
gpio_set_pull_up(CFG_PA_PWR_PIN, 0);
|
||||||
|
gpio_set_direction(CFG_PA_PWR_PIN, 0);
|
||||||
|
PA_PWR_OFF();
|
||||||
|
// led red pin
|
||||||
|
gpio_set_pull_down(CFG_LED_RED_PIN, 0);
|
||||||
|
gpio_set_pull_up(CFG_LED_RED_PIN, 0);
|
||||||
|
gpio_set_direction(CFG_LED_RED_PIN, 0);
|
||||||
|
LED_RED_OFF();
|
||||||
|
// led blue pin
|
||||||
|
gpio_set_pull_down(CFG_LED_BLUE_PIN, 0);
|
||||||
|
gpio_set_pull_up(CFG_LED_BLUE_PIN, 0);
|
||||||
|
gpio_set_direction(CFG_LED_BLUE_PIN, 0);
|
||||||
|
LED_BLUE_OFF();
|
||||||
|
|
||||||
|
gpio_set_pull_down(IO_PORTC_03, 0);
|
||||||
|
gpio_set_pull_up(IO_PORTC_03, 0);
|
||||||
|
gpio_set_direction(IO_PORTC_03, 0);
|
||||||
|
gpio_set_output_value(IO_PORTC_03, 1);
|
||||||
|
|
||||||
|
struct pwm_platform_data pwm_p_data;
|
||||||
|
|
||||||
|
pwm_p_data.pwm_aligned_mode = pwm_edge_aligned; // 边沿对齐
|
||||||
|
pwm_p_data.frequency = 20000; // 1KHz
|
||||||
|
// pwm_p_data.frequency = 50000; //1KHz
|
||||||
|
|
||||||
|
pwm_p_data.pwm_ch_num = pwm_ch5; // 通道0
|
||||||
|
pwm_p_data.pwm_timer_num = pwm_timer5; // 时基选择通道0
|
||||||
|
pwm_p_data.duty = 5000; // 占空比50%
|
||||||
|
pwm_p_data.h_pin = IO_PORTC_04; // 没有则填 -1。h_pin_output_ch_num无效,可不配置
|
||||||
|
pwm_p_data.l_pin = -1; // 硬件引脚,l_pin_output_ch_num无效,可不配置
|
||||||
|
pwm_p_data.complementary_en = 1; // 两个引脚的波形同步
|
||||||
|
|
||||||
|
mcpwm_init(&pwm_p_data);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void mode_led_flash(void)
|
||||||
|
{
|
||||||
|
static int cnt = 0;
|
||||||
|
//printf("---------------> mode_led_flash %s <---------------\n", mode_name[__this->mode.curr_mode]);
|
||||||
|
if (__this->mode.curr_mode == MODE_BT_RECEIVER)
|
||||||
|
{
|
||||||
|
LED_RED_OFF();
|
||||||
|
//printf("1-%d\n", get_bt_connect_status());
|
||||||
|
if (get_bt_connect_status() < BT_STATUS_CONNECTING)
|
||||||
|
{
|
||||||
|
__this->tim.led_cnt++;
|
||||||
|
if (__this->tim.led_cnt < 10)
|
||||||
|
{
|
||||||
|
LED_BLUE_ON();
|
||||||
|
}
|
||||||
|
else if (__this->tim.led_cnt < 20)
|
||||||
|
{
|
||||||
|
LED_BLUE_OFF();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
__this->tim.led_cnt = 0;
|
||||||
|
LED_BLUE_ON();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
LED_BLUE_ON();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (__this->mode.curr_mode == MODE_BT_EMITTER)
|
||||||
|
{
|
||||||
|
// LED_RED_OFF();
|
||||||
|
//printf("2-%d\n", get_bt_connect_status());
|
||||||
|
|
||||||
|
/* if(cnt++ > 40)
|
||||||
|
{
|
||||||
|
cnt = 0;
|
||||||
|
printf("2-%d\n", get_bt_connect_status());
|
||||||
|
} */
|
||||||
|
//printf("---------------> get_bt_connect_status %d <---------------\n", get_bt_connect_status());
|
||||||
|
if (get_total_connect_dev() == 0)
|
||||||
|
{
|
||||||
|
__this->tim.led_cnt++;
|
||||||
|
if (__this->tim.led_cnt < 4)
|
||||||
|
{
|
||||||
|
LED_RED_ON();
|
||||||
|
LED_BLUE_ON();
|
||||||
|
}
|
||||||
|
else if (__this->tim.led_cnt < 8)
|
||||||
|
{
|
||||||
|
LED_RED_OFF();
|
||||||
|
LED_BLUE_OFF();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
__this->tim.led_cnt = 0;
|
||||||
|
LED_RED_ON();
|
||||||
|
LED_BLUE_ON();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
LED_RED_ON();
|
||||||
|
LED_BLUE_ON();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
LED_BLUE_OFF();
|
||||||
|
LED_RED_ON();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static void mode_check(void)
|
||||||
|
{
|
||||||
|
u8 mode = kt_get_mode();
|
||||||
|
if (mode != __this->mode.next_mode)
|
||||||
|
{
|
||||||
|
__this->mode.next_mode = mode;
|
||||||
|
__this->mode.cnt = 0;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
__this->mode.cnt++;
|
||||||
|
if (__this->mode.cnt >= 3)
|
||||||
|
{
|
||||||
|
if (mode == __this->mode.curr_mode)
|
||||||
|
{
|
||||||
|
__this->mode.cnt = 0;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
__this->mode.cnt = 0;
|
||||||
|
app_task_put_key_msg(KEY_MSG_MODE_CHANGE, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static void timer_callback(void *priv)
|
||||||
|
{
|
||||||
|
mode_check();
|
||||||
|
mode_led_flash();
|
||||||
|
}
|
||||||
|
|
||||||
|
static void start_timer(void)
|
||||||
|
{
|
||||||
|
if (__this->tim.tid != 0)
|
||||||
|
{
|
||||||
|
sys_timer_del(__this->tim.tid);
|
||||||
|
}
|
||||||
|
__this->tim.led_cnt = 0;
|
||||||
|
__this->tim.tid = sys_timer_add(NULL, timer_callback, 50);
|
||||||
|
}
|
||||||
|
|
||||||
|
void kt_init(void)
|
||||||
|
{
|
||||||
|
PA_PWR_ON();
|
||||||
|
start_timer();
|
||||||
|
}
|
||||||
|
|
||||||
|
u8 kt_get_user_role(void)
|
||||||
|
{
|
||||||
|
return __this->mode.user_role;
|
||||||
|
}
|
||||||
|
|
||||||
|
static u8 kt_mode_change(u8 mode)
|
||||||
|
{
|
||||||
|
printf("----------->>>>>>>>>>>>>>> curr_mode[%s] to [%s] <<<<<<<<<<<----------\n", mode_name[__this->mode.curr_mode], mode_name[mode]);
|
||||||
|
if (mode == MODE_BT_RECEIVER)
|
||||||
|
{
|
||||||
|
printf("switch to receiver mode\n");
|
||||||
|
__this->mode.user_role = MODE_BT_RECEIVER;
|
||||||
|
// 判断当前是否在蓝牙模式
|
||||||
|
if (app_get_curr_task() != APP_BT_TASK)
|
||||||
|
{
|
||||||
|
// 如果当前不在蓝牙模式,还需要判断当前是否是发射模式,直接切换回发生蓝牙冲入错误,造成死机
|
||||||
|
printf("current task is not bt task, need check emitter role and switch to bt task\n");
|
||||||
|
if(__this->mode.curr_mode == MODE_BT_EMITTER)
|
||||||
|
{
|
||||||
|
printf("current is emitter, need switch to receiver\n");
|
||||||
|
emitter_or_receiver_switch(BT_RECEIVER_EN);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//当前仅仅是Linein模式,直接切换到蓝牙模式
|
||||||
|
printf("current is linein, need switch to bt task\n");
|
||||||
|
app_task_switch_to(APP_BT_TASK);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//当前已经是蓝牙模式,再判断当前角色是否是发射器
|
||||||
|
if (bt_emitter_role_get() == BT_EMITTER_EN)
|
||||||
|
{
|
||||||
|
printf("current is emitter, need switch to receiver\n");
|
||||||
|
emitter_or_receiver_switch(BT_RECEIVER_EN);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
printf("current is receiver, no need switch\n");
|
||||||
|
//emitter_or_receiver_switch(BT_RECEIVER_EN);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return MODE_BT_RECEIVER;
|
||||||
|
}
|
||||||
|
else if (mode == MODE_BT_EMITTER)
|
||||||
|
{
|
||||||
|
__this->mode.user_role = MODE_BT_EMITTER;
|
||||||
|
//printf("----------->>>>>>>>>>>>>>> switch to APP_LINEIN_TASK <<<<<<<<<<<----------\n");
|
||||||
|
// 需要切换到发射模式,首先判断当前是否在蓝牙模式
|
||||||
|
if (app_get_curr_task() == APP_BT_TASK)
|
||||||
|
{
|
||||||
|
printf("current task is bt task\n");
|
||||||
|
// 当前在蓝牙模式 需要判断当前角色是否是接收器
|
||||||
|
if (bt_emitter_role_get() == BT_RECEIVER_EN)
|
||||||
|
{
|
||||||
|
// 当前是接收器 需要切换到发射器
|
||||||
|
printf("current is receiver, need switch to emitter\n");
|
||||||
|
emitter_or_receiver_switch(BT_EMITTER_EN);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// 当前已经是发射器 不需要切换
|
||||||
|
printf("current is emitter, no need switch\n");
|
||||||
|
//emitter_or_receiver_switch(BT_RECEIVER_EN);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// 当前不在蓝牙模式 需要切换到蓝牙模式,
|
||||||
|
printf("current task is not bt task, need switch to bt task\n");
|
||||||
|
//在蓝牙连接成功后会自动切换到LINEIN模式
|
||||||
|
printf("mode switch in connnected after bt task\n");
|
||||||
|
app_task_switch_to(APP_BT_TASK);
|
||||||
|
}
|
||||||
|
return MODE_BT_EMITTER;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
printf("switch to aux lp mode\n");
|
||||||
|
__this->mode.user_role = MODE_AUX_LP;
|
||||||
|
// 当前模式是否在发射模式,如果是在发射模式,需要先关闭连接和搜索
|
||||||
|
if(__this->mode.curr_mode == MODE_BT_EMITTER)
|
||||||
|
{
|
||||||
|
if (get_total_connect_dev() > 0)
|
||||||
|
{
|
||||||
|
user_send_cmd_prepare(USER_CTRL_POWER_OFF, 0, NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
printf("current mode is emitter, need close connection and search\n");
|
||||||
|
emitter_or_receiver_switch(BT_RECEIVER_EN);
|
||||||
|
bt_emitter_stop_search_device();
|
||||||
|
}
|
||||||
|
|
||||||
|
// 判断当前是否在LINEIN模式
|
||||||
|
if (app_get_curr_task() == APP_LINEIN_TASK)
|
||||||
|
{
|
||||||
|
//当前在蓝牙模式 直接切换到LINEIN模式
|
||||||
|
printf("current task is linein task, no need switch\n");
|
||||||
|
app_task_switch_to(APP_LINEIN_TASK);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//当前不在Linein模式 需要切换到Linein模式,
|
||||||
|
printf("current task is not linein task, need switch to linein task\n");
|
||||||
|
app_task_switch_to(APP_LINEIN_TASK);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#if 0
|
||||||
|
|
||||||
|
|
||||||
|
if (app_get_curr_task() != APP_LINEIN_TASK)
|
||||||
|
{
|
||||||
|
printf("----------->>>>>>>>>>>>>>> %s %d <<<<<<<<<<<----------\n", __func__, __LINE__);
|
||||||
|
app_task_switch_to(APP_LINEIN_TASK);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
printf("----------->>>>>>>>>>>>>>> %s %d <<<<<<<<<<<----------\n", __func__, __LINE__);
|
||||||
|
if (bt_emitter_role_get() == BT_RECEIVER_EN)
|
||||||
|
{
|
||||||
|
printf("----------->>>>>>>>>>>>>>> %s %d <<<<<<<<<<<----------\n", __func__, __LINE__);
|
||||||
|
emitter_or_receiver_switch(BT_EMITTER_EN);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return MODE_BT_EMITTER;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//printf("----------->>>>>>>>>>>>>>> %s %d <<<<<<<<<<<----------\n", __func__, __LINE__);
|
||||||
|
if (app_get_curr_task() != APP_LINEIN_TASK)
|
||||||
|
{
|
||||||
|
printf("----------->>>>>>>>>>>>>>> %s %d <<<<<<<<<<<----------\n", __func__, __LINE__);
|
||||||
|
app_task_switch_to(APP_LINEIN_TASK);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
printf("----------->>>>>>>>>>>>>>> %s %d <<<<<<<<<<<----------\n", __func__, __LINE__);
|
||||||
|
if (bt_emitter_role_get() == BT_EMITTER_EN)
|
||||||
|
{
|
||||||
|
printf("----------->>>>>>>>>>>>>>> %s %d <<<<<<<<<<<----------\n", __func__, __LINE__);
|
||||||
|
emitter_or_receiver_switch(BT_RECEIVER_EN);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return MODE_AUX_LP;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
u8 kt_key_event_filter_after(int key_event)
|
||||||
|
{
|
||||||
|
u8 ret = false;
|
||||||
|
switch (key_event)
|
||||||
|
{
|
||||||
|
case KEY_MSG_MODE_CHANGE:
|
||||||
|
if (__this->mode.curr_mode != __this->mode.next_mode)
|
||||||
|
{
|
||||||
|
u8 mode = kt_get_mode();
|
||||||
|
if (mode == __this->mode.next_mode)
|
||||||
|
{
|
||||||
|
__this->mode.curr_mode = kt_mode_change(mode);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
__this->mode.next_mode = mode;
|
||||||
|
__this->mode.cnt = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
__this->mode.cnt = 0;
|
||||||
|
ret = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
49
apps/kaotings/kt.h
Normal file
49
apps/kaotings/kt.h
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
#ifndef __KT_H__
|
||||||
|
#define __KT_H__
|
||||||
|
|
||||||
|
#include "system/includes.h"
|
||||||
|
#include "kt_dbg.h"
|
||||||
|
|
||||||
|
//KT_LOG_INFO
|
||||||
|
#define _DBG_LEVEL_ KT_LOG_DEBUG
|
||||||
|
|
||||||
|
#define MODE_AUX_LP 0
|
||||||
|
#define MODE_BT_EMITTER 1
|
||||||
|
#define MODE_BT_RECEIVER 2
|
||||||
|
|
||||||
|
#define CFG_MODE_PIN IO_PORTB_03
|
||||||
|
#define CFG_MODE_AD_CH AD_CH_PB3
|
||||||
|
|
||||||
|
#define CFG_LP_MOT_PIN IO_PORTB_11
|
||||||
|
#define LP_MOT_ON() (gpio_set_output_value(CFG_LP_MOT_PIN,1))
|
||||||
|
#define LP_MOT_OFF() (gpio_set_output_value(CFG_LP_MOT_PIN,0))
|
||||||
|
|
||||||
|
#define CFG_MUTE_PIN IO_PORTB_05
|
||||||
|
#define PA_MUTE() (gpio_set_output_value(CFG_MUTE_PIN,0))
|
||||||
|
#define PA_UNMUTE() (gpio_set_output_value(CFG_MUTE_PIN,1))
|
||||||
|
|
||||||
|
#define CFG_PA_PWR_PIN IO_PORTB_04
|
||||||
|
#define PA_PWR_ON() (gpio_set_output_value(CFG_PA_PWR_PIN,1))
|
||||||
|
#define PA_PWR_OFF() (gpio_set_output_value(CFG_PA_PWR_PIN,0))
|
||||||
|
|
||||||
|
#define CFG_LED_RED_PIN IO_PORTA_06
|
||||||
|
#define LED_RED_ON() (gpio_set_output_value(CFG_LED_RED_PIN,1))
|
||||||
|
#define LED_RED_OFF() (gpio_set_output_value(CFG_LED_RED_PIN,0))
|
||||||
|
|
||||||
|
#define CFG_LED_BLUE_PIN IO_PORTA_07
|
||||||
|
#define LED_BLUE_ON() (gpio_set_output_value(CFG_LED_BLUE_PIN,1))
|
||||||
|
#define LED_BLUE_OFF() (gpio_set_output_value(CFG_LED_BLUE_PIN,0))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
u8 kt_key_event_filter_after(int key_event);
|
||||||
|
|
||||||
|
u8 kt_get_mode(void);
|
||||||
|
void kt_boot_init(void);
|
||||||
|
void kt_init(void);
|
||||||
|
void kt_set_curr_mode(u8 mode);
|
||||||
|
u8 kt_get_curr_mode(void);
|
||||||
|
|
||||||
|
#endif
|
||||||
58
apps/kaotings/kt_dbg.c
Normal file
58
apps/kaotings/kt_dbg.c
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
#include "kt_dbg.h"
|
||||||
|
|
||||||
|
#include <stdarg.h>
|
||||||
|
|
||||||
|
static int s_kt_log_level = KT_LOG_INFO;
|
||||||
|
|
||||||
|
void kt_dbg_set_level(int level)
|
||||||
|
{
|
||||||
|
if (level < KT_LOG_VERB) {
|
||||||
|
level = KT_LOG_VERB;
|
||||||
|
}
|
||||||
|
if (level > KT_LOG_ERROR) {
|
||||||
|
level = KT_LOG_ERROR;
|
||||||
|
}
|
||||||
|
s_kt_log_level = level;
|
||||||
|
}
|
||||||
|
|
||||||
|
int kt_dbg_get_level(void)
|
||||||
|
{
|
||||||
|
return s_kt_log_level;
|
||||||
|
}
|
||||||
|
|
||||||
|
void kt_dbg_hexdump(const char *tag, const void *buf, int len)
|
||||||
|
{
|
||||||
|
const unsigned char *p = (const unsigned char *)buf;
|
||||||
|
int i;
|
||||||
|
if (buf == NULL || len <= 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (tag) {
|
||||||
|
printf("[%s] HEXDUMP len=%d\r\n", tag, len);
|
||||||
|
} else {
|
||||||
|
printf("[KT] HEXDUMP len=%d\r\n", len);
|
||||||
|
}
|
||||||
|
for (i = 0; i < len; i++) {
|
||||||
|
printf("%02x%s", p[i], ((i + 1) % 16) ? " " : "\r\n");
|
||||||
|
}
|
||||||
|
if (len % 16) {
|
||||||
|
printf("\r\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void kt_dbg_printf(int level, const char *tag, const char *fmt, ...)
|
||||||
|
{
|
||||||
|
va_list ap;
|
||||||
|
if (level < s_kt_log_level) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (tag) {
|
||||||
|
printf("[%s] ", tag);
|
||||||
|
} else {
|
||||||
|
printf("[KT] ");
|
||||||
|
}
|
||||||
|
va_start(ap, fmt);
|
||||||
|
vprintf(fmt, ap);
|
||||||
|
va_end(ap);
|
||||||
|
printf("\r\n");
|
||||||
|
}
|
||||||
35
apps/kaotings/kt_dbg.h
Normal file
35
apps/kaotings/kt_dbg.h
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
#ifndef __KT_DBG_H__
|
||||||
|
#define __KT_DBG_H__
|
||||||
|
|
||||||
|
#include "system/includes.h"
|
||||||
|
/*
|
||||||
|
* 轻量调试封装:直接对接 printf
|
||||||
|
* - 支持简单级别过滤
|
||||||
|
* - 可选 tag 打印
|
||||||
|
*/
|
||||||
|
|
||||||
|
enum {
|
||||||
|
KT_LOG_VERB = 0,
|
||||||
|
KT_LOG_DEBUG = 1,
|
||||||
|
KT_LOG_INFO = 2,
|
||||||
|
KT_LOG_WARN = 3,
|
||||||
|
KT_LOG_ERROR = 4,
|
||||||
|
};
|
||||||
|
|
||||||
|
void kt_dbg_set_level(int level);
|
||||||
|
int kt_dbg_get_level(void);
|
||||||
|
void kt_dbg_hexdump(const char *tag, const void *buf, int len);
|
||||||
|
void kt_dbg_printf(int level, const char *tag, const char *fmt, ...);
|
||||||
|
|
||||||
|
#define KT_LOGV(tag, fmt, ...) \
|
||||||
|
kt_dbg_printf(KT_LOG_VERB, tag, fmt, ## __VA_ARGS__)
|
||||||
|
#define KT_LOGD(tag, fmt, ...) \
|
||||||
|
kt_dbg_printf(KT_LOG_DEBUG, tag, fmt, ## __VA_ARGS__)
|
||||||
|
#define KT_LOGI(tag, fmt, ...) \
|
||||||
|
kt_dbg_printf(KT_LOG_INFO, tag, fmt, ## __VA_ARGS__)
|
||||||
|
#define KT_LOGW(tag, fmt, ...) \
|
||||||
|
kt_dbg_printf(KT_LOG_WARN, tag, fmt, ## __VA_ARGS__)
|
||||||
|
#define KT_LOGE(tag, fmt, ...) \
|
||||||
|
kt_dbg_printf(KT_LOG_ERROR, tag, fmt, ## __VA_ARGS__)
|
||||||
|
|
||||||
|
#endif
|
||||||
@ -774,7 +774,7 @@ DAC硬件上的连接方式,可选的配置:
|
|||||||
//*********************************************************************************//
|
//*********************************************************************************//
|
||||||
#define TCFG_LINEIN_ENABLE TCFG_APP_LINEIN_EN // linein使能
|
#define TCFG_LINEIN_ENABLE TCFG_APP_LINEIN_EN // linein使能
|
||||||
// #define TCFG_LINEIN_LADC_IDX 0 // linein使用的ladc通道,对应ladc_list
|
// #define TCFG_LINEIN_LADC_IDX 0 // linein使用的ladc通道,对应ladc_list
|
||||||
#define TCFG_LINEIN_LR_CH AUDIO_LIN2_LR
|
#define TCFG_LINEIN_LR_CH AUDIO_LIN0_LR
|
||||||
#define TCFG_LINEIN_CHECK_PORT NO_CONFIG_PORT // linein检测IO
|
#define TCFG_LINEIN_CHECK_PORT NO_CONFIG_PORT // linein检测IO
|
||||||
#define TCFG_LINEIN_PORT_UP_ENABLE 1 // 检测IO上拉使能
|
#define TCFG_LINEIN_PORT_UP_ENABLE 1 // 检测IO上拉使能
|
||||||
#define TCFG_LINEIN_PORT_DOWN_ENABLE 0 // 检测IO下拉使能
|
#define TCFG_LINEIN_PORT_DOWN_ENABLE 0 // 检测IO下拉使能
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
#ifndef CONFIG_BOARD_AC695X_DEMO_CFG_H
|
#ifndef CONFIG_BOARD_AC695X_DEMO_CFG_H
|
||||||
#define CONFIG_BOARD_AC695X_DEMO_CFG_H
|
#define CONFIG_BOARD_AC695X_DEMO_CFG_H
|
||||||
|
|
||||||
|
#define CONFIG_BOARD_AC695X_DEMO
|
||||||
#ifdef CONFIG_BOARD_AC695X_DEMO
|
#ifdef CONFIG_BOARD_AC695X_DEMO
|
||||||
|
|
||||||
#define CONFIG_SDFILE_ENABLE
|
#define CONFIG_SDFILE_ENABLE
|
||||||
@ -28,8 +29,8 @@
|
|||||||
#define TCFG_APP_BT_EN 1
|
#define TCFG_APP_BT_EN 1
|
||||||
#define TCFG_APP_MUSIC_EN 1
|
#define TCFG_APP_MUSIC_EN 1
|
||||||
#define TCFG_APP_LINEIN_EN 1
|
#define TCFG_APP_LINEIN_EN 1
|
||||||
#define TCFG_APP_FM_EN 1
|
#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
|
||||||
@ -44,7 +45,7 @@
|
|||||||
//*********************************************************************************//
|
//*********************************************************************************//
|
||||||
#define TCFG_UART0_ENABLE ENABLE_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)
|
||||||
#define TCFG_UART0_TX_PORT IO_PORTA_05 //串口发送脚配置
|
#define TCFG_UART0_TX_PORT IO_PORT_DP //串口发送脚配置
|
||||||
#define TCFG_UART0_BAUDRATE 1000000 //串口波特率配置
|
#define TCFG_UART0_BAUDRATE 1000000 //串口波特率配置
|
||||||
|
|
||||||
//*********************************************************************************//
|
//*********************************************************************************//
|
||||||
@ -65,7 +66,7 @@
|
|||||||
//*********************************************************************************//
|
//*********************************************************************************//
|
||||||
// 硬件SPI 配置 //
|
// 硬件SPI 配置 //
|
||||||
//*********************************************************************************//
|
//*********************************************************************************//
|
||||||
#define TCFG_HW_SPI1_ENABLE ENABLE_THIS_MOUDLE
|
#define TCFG_HW_SPI1_ENABLE DISABLE_THIS_MOUDLE
|
||||||
//A组IO: DI: PB2 DO: PB1 CLK: PB0
|
//A组IO: DI: PB2 DO: PB1 CLK: PB0
|
||||||
//B组IO: DI: PC3 DO: PC5 CLK: PC4
|
//B组IO: DI: PC3 DO: PC5 CLK: PC4
|
||||||
#define TCFG_HW_SPI1_PORT 'A'
|
#define TCFG_HW_SPI1_PORT 'A'
|
||||||
@ -73,7 +74,7 @@
|
|||||||
#define TCFG_HW_SPI1_MODE SPI_MODE_BIDIR_1BIT
|
#define TCFG_HW_SPI1_MODE SPI_MODE_BIDIR_1BIT
|
||||||
#define TCFG_HW_SPI1_ROLE SPI_ROLE_MASTER
|
#define TCFG_HW_SPI1_ROLE SPI_ROLE_MASTER
|
||||||
|
|
||||||
#define TCFG_HW_SPI2_ENABLE ENABLE_THIS_MOUDLE
|
#define TCFG_HW_SPI2_ENABLE DISABLE_THIS_MOUDLE
|
||||||
//A组IO: DI: PB8 DO: PB10 CLK: PB9
|
//A组IO: DI: PB8 DO: PB10 CLK: PB9
|
||||||
//B组IO: DI: PA13 DO: DM CLK: DP
|
//B组IO: DI: PA13 DO: DM CLK: DP
|
||||||
#define TCFG_HW_SPI2_PORT 'A'
|
#define TCFG_HW_SPI2_PORT 'A'
|
||||||
@ -118,7 +119,7 @@
|
|||||||
#define SD_CMD_DECT 0
|
#define SD_CMD_DECT 0
|
||||||
#define SD_CLK_DECT 1
|
#define SD_CLK_DECT 1
|
||||||
#define SD_IO_DECT 2
|
#define SD_IO_DECT 2
|
||||||
#define TCFG_SD0_ENABLE ENABLE_THIS_MOUDLE
|
#define TCFG_SD0_ENABLE DISABLE_THIS_MOUDLE
|
||||||
//A组IO: CMD:PA9 CLK:PA10 DAT0:PA5 DAT1:PA6 DAT2:PA7 DAT3:PA8
|
//A组IO: CMD:PA9 CLK:PA10 DAT0:PA5 DAT1:PA6 DAT2:PA7 DAT3:PA8
|
||||||
//B组IO: CMD:PB10 CLK:PB9 DAT0:PB8 DAT1:PB6 DAT2:PB5 DAT3:PB4
|
//B组IO: CMD:PB10 CLK:PB9 DAT0:PB8 DAT1:PB6 DAT2:PB5 DAT3:PB4
|
||||||
#define TCFG_SD0_PORTS 'B'
|
#define TCFG_SD0_PORTS 'B'
|
||||||
@ -142,7 +143,7 @@
|
|||||||
// USB 配置 //
|
// USB 配置 //
|
||||||
//*********************************************************************************//
|
//*********************************************************************************//
|
||||||
#define TCFG_PC_ENABLE TCFG_APP_PC_EN//PC模块使能
|
#define TCFG_PC_ENABLE TCFG_APP_PC_EN//PC模块使能
|
||||||
#define TCFG_UDISK_ENABLE ENABLE_THIS_MOUDLE//U盘模块使能
|
#define TCFG_UDISK_ENABLE DISABLE_THIS_MOUDLE//U盘模块使能
|
||||||
#define TCFG_OTG_USB_DEV_EN BIT(0)//USB0 = BIT(0) USB1 = BIT(1)
|
#define TCFG_OTG_USB_DEV_EN BIT(0)//USB0 = BIT(0) USB1 = BIT(1)
|
||||||
|
|
||||||
#define TCFG_VIR_UDISK_ENABLE 0//ENABLE_THIS_MOUDLE
|
#define TCFG_VIR_UDISK_ENABLE 0//ENABLE_THIS_MOUDLE
|
||||||
@ -211,26 +212,25 @@
|
|||||||
//*********************************************************************************//
|
//*********************************************************************************//
|
||||||
// iokey 配置 //
|
// iokey 配置 //
|
||||||
//*********************************************************************************//
|
//*********************************************************************************//
|
||||||
#define TCFG_IOKEY_ENABLE DISABLE_THIS_MOUDLE //是否使能IO按键
|
#define TCFG_IOKEY_ENABLE ENABLE_THIS_MOUDLE //是否使能IO按键
|
||||||
|
|
||||||
#define TCFG_IOKEY_POWER_CONNECT_WAY ONE_PORT_TO_LOW //按键一端接低电平一端接IO
|
#define TCFG_IOKEY_POWER_CONNECT_WAY ONE_PORT_TO_LOW //按键一端接低电平一端接IO
|
||||||
|
#define TCFG_IOKEY_POWER_ONE_PORT IO_PORTB_09 //IO按键端口
|
||||||
#define TCFG_IOKEY_POWER_ONE_PORT IO_PORTB_01 //IO按键端口
|
|
||||||
|
|
||||||
#define TCFG_IOKEY_PREV_CONNECT_WAY ONE_PORT_TO_LOW //按键一端接低电平一端接IO
|
#define TCFG_IOKEY_PREV_CONNECT_WAY ONE_PORT_TO_LOW //按键一端接低电平一端接IO
|
||||||
#define TCFG_IOKEY_PREV_ONE_PORT IO_PORTB_00
|
#define TCFG_IOKEY_PREV_ONE_PORT -1
|
||||||
|
|
||||||
#define TCFG_IOKEY_NEXT_CONNECT_WAY ONE_PORT_TO_LOW //按键一端接低电平一端接IO
|
#define TCFG_IOKEY_NEXT_CONNECT_WAY ONE_PORT_TO_LOW //按键一端接低电平一端接IO
|
||||||
#define TCFG_IOKEY_NEXT_ONE_PORT IO_PORTB_02
|
#define TCFG_IOKEY_NEXT_ONE_PORT -1
|
||||||
|
|
||||||
//*********************************************************************************//
|
//*********************************************************************************//
|
||||||
// adkey 配置 //
|
// adkey 配置 //
|
||||||
//*********************************************************************************//
|
//*********************************************************************************//
|
||||||
#define TCFG_ADKEY_ENABLE ENABLE_THIS_MOUDLE//是否使能AD按键
|
#define TCFG_ADKEY_ENABLE ENABLE_THIS_MOUDLE//是否使能AD按键
|
||||||
#define TCFG_ADKEY_LED_IO_REUSE DISABLE_THIS_MOUDLE //ADKEY 和 LED IO复用,led只能设置蓝灯显示
|
#define TCFG_ADKEY_LED_IO_REUSE DISABLE_THIS_MOUDLE //ADKEY 和 LED IO复用,led只能设置蓝灯显示
|
||||||
#define TCFG_ADKEY_PORT IO_PORTA_10 //AD按键端口(需要注意选择的IO口是否支持AD功能)
|
#define TCFG_ADKEY_PORT IO_PORTB_01 //AD按键端口(需要注意选择的IO口是否支持AD功能)
|
||||||
#define TCFG_ADKEY_AD_CHANNEL AD_CH_PA10
|
#define TCFG_ADKEY_AD_CHANNEL AD_CH_PB1
|
||||||
#define TCFG_ADKEY_EXTERN_UP_ENABLE ENABLE_THIS_MOUDLE //是否使用外部上拉
|
#define TCFG_ADKEY_EXTERN_UP_ENABLE DISABLE_THIS_MOUDLE //是否使用外部上拉
|
||||||
|
|
||||||
#if TCFG_ADKEY_EXTERN_UP_ENABLE
|
#if TCFG_ADKEY_EXTERN_UP_ENABLE
|
||||||
#define R_UP 220 //22K,外部上拉阻值在此自行设置
|
#define R_UP 220 //22K,外部上拉阻值在此自行设置
|
||||||
@ -240,15 +240,15 @@
|
|||||||
|
|
||||||
//必须从小到大填电阻,没有则同VDDIO,填0x3ffL
|
//必须从小到大填电阻,没有则同VDDIO,填0x3ffL
|
||||||
#define TCFG_ADKEY_AD0 (0) //0R
|
#define TCFG_ADKEY_AD0 (0) //0R
|
||||||
#define TCFG_ADKEY_AD1 (0x3ffL * 30 / (30 + R_UP)) //3k
|
#define TCFG_ADKEY_AD1 (0x3ffL * 43 / (43 + R_UP)) //3k
|
||||||
#define TCFG_ADKEY_AD2 (0x3ffL * 62 / (62 + R_UP)) //6.2k
|
#define TCFG_ADKEY_AD2 (0x3ffL * 100 / (100 + R_UP)) //6.2k
|
||||||
#define TCFG_ADKEY_AD3 (0x3ffL * 91 / (91 + R_UP)) //9.1k
|
#define TCFG_ADKEY_AD3 (0x3ffL * 220 / (220 + R_UP)) //9.1k
|
||||||
#define TCFG_ADKEY_AD4 (0x3ffL * 150 / (150 + R_UP)) //15k
|
#define TCFG_ADKEY_AD4 (0x3ffL) //15k
|
||||||
#define TCFG_ADKEY_AD5 (0x3ffL * 240 / (240 + R_UP)) //24k
|
#define TCFG_ADKEY_AD5 (0x3ffL) //24k
|
||||||
#define TCFG_ADKEY_AD6 (0x3ffL * 330 / (330 + R_UP)) //33k
|
#define TCFG_ADKEY_AD6 (0x3ffL) //33k
|
||||||
#define TCFG_ADKEY_AD7 (0x3ffL * 510 / (510 + R_UP)) //51k
|
#define TCFG_ADKEY_AD7 (0x3ffL) //51k
|
||||||
#define TCFG_ADKEY_AD8 (0x3ffL * 1000 / (1000 + R_UP)) //100k
|
#define TCFG_ADKEY_AD8 (0x3ffL) //100k
|
||||||
#define TCFG_ADKEY_AD9 (0x3ffL * 2200 / (2200 + R_UP)) //220k
|
#define TCFG_ADKEY_AD9 (0x3ffL) //220k
|
||||||
#define TCFG_ADKEY_VDDIO (0x3ffL)
|
#define TCFG_ADKEY_VDDIO (0x3ffL)
|
||||||
|
|
||||||
#define TCFG_ADKEY_VOLTAGE0 ((TCFG_ADKEY_AD0 + TCFG_ADKEY_AD1) / 2)
|
#define TCFG_ADKEY_VOLTAGE0 ((TCFG_ADKEY_AD0 + TCFG_ADKEY_AD1) / 2)
|
||||||
@ -392,11 +392,11 @@ DAC硬件上的连接方式,可选的配置:
|
|||||||
#define AUDIO_OUTPUT_WAY_BT 5 // bt emitter
|
#define AUDIO_OUTPUT_WAY_BT 5 // bt emitter
|
||||||
#define AUDIO_OUTPUT_WAY_DAC_IIS 6
|
#define AUDIO_OUTPUT_WAY_DAC_IIS 6
|
||||||
#define AUDIO_OUTPUT_WAY_DONGLE 7
|
#define AUDIO_OUTPUT_WAY_DONGLE 7
|
||||||
#define AUDIO_OUTPUT_WAY AUDIO_OUTPUT_WAY_DAC
|
#define AUDIO_OUTPUT_WAY AUDIO_OUTPUT_WAY_BT
|
||||||
#define LINEIN_INPUT_WAY LINEIN_INPUT_WAY_ADC //LINEIN_INPUT_WAY_ANALOG
|
#define LINEIN_INPUT_WAY LINEIN_INPUT_WAY_ADC //LINEIN_INPUT_WAY_ANALOG
|
||||||
|
|
||||||
#define AUDIO_OUTPUT_AUTOMUTE 0//ENABLE
|
#define AUDIO_OUTPUT_AUTOMUTE 1//ENABLE
|
||||||
#define DAC_AUTO_HIGH_Z_EN DISABLE //处理直推串音问题, 隔直不要开
|
#define DAC_AUTO_HIGH_Z_EN 1 //处理直推串音问题, 隔直不要开
|
||||||
|
|
||||||
/*
|
/*
|
||||||
*系统音量类型选择
|
*系统音量类型选择
|
||||||
@ -470,9 +470,9 @@ DAC硬件上的连接方式,可选的配置:
|
|||||||
//*********************************************************************************//
|
//*********************************************************************************//
|
||||||
// UI 配置 //
|
// UI 配置 //
|
||||||
//*********************************************************************************//
|
//*********************************************************************************//
|
||||||
#define TCFG_UI_ENABLE 0//ENABLE_THIS_MOUDLE //UI总开关
|
#define TCFG_UI_ENABLE DISABLE_THIS_MOUDLE//ENABLE_THIS_MOUDLE //UI总开关
|
||||||
#define CONFIG_UI_STYLE STYLE_JL_LED7
|
//#define CONFIG_UI_STYLE STYLE_JL_LED7
|
||||||
#define TCFG_UI_LED7_ENABLE 0//ENABLE_THIS_MOUDLE //UI使用LED7显示
|
#define TCFG_UI_LED7_ENABLE DISABLE_THIS_MOUDLE//ENABLE_THIS_MOUDLE //UI使用LED7显示
|
||||||
// #define TCFG_UI_LCD_SEG3X9_ENABLE ENABLE_THIS_MOUDLE //UI使用LCD段码屏显示
|
// #define TCFG_UI_LCD_SEG3X9_ENABLE ENABLE_THIS_MOUDLE //UI使用LCD段码屏显示
|
||||||
// #define TCFG_LCD_ST7735S_ENABLE ENABLE_THIS_MOUDLE
|
// #define TCFG_LCD_ST7735S_ENABLE ENABLE_THIS_MOUDLE
|
||||||
// #define TCFG_LCD_ST7789VW_ENABLE ENABLE_THIS_MOUDLE
|
// #define TCFG_LCD_ST7789VW_ENABLE ENABLE_THIS_MOUDLE
|
||||||
@ -508,17 +508,17 @@ DAC硬件上的连接方式,可选的配置:
|
|||||||
#define TCFG_EQ_ENABLE 1 //支持EQ功能,EQ总使能
|
#define TCFG_EQ_ENABLE 1 //支持EQ功能,EQ总使能
|
||||||
#if TCFG_EQ_ENABLE
|
#if TCFG_EQ_ENABLE
|
||||||
#define TCFG_BT_MUSIC_EQ_ENABLE 1 //支持蓝牙音乐EQ
|
#define TCFG_BT_MUSIC_EQ_ENABLE 1 //支持蓝牙音乐EQ
|
||||||
#define TCFG_PHONE_EQ_ENABLE 1 //支持通话近端EQ
|
#define TCFG_PHONE_EQ_ENABLE 0 //支持通话近端EQ
|
||||||
#define TCFG_MUSIC_MODE_EQ_ENABLE 1 //支持音乐模式EQ
|
#define TCFG_MUSIC_MODE_EQ_ENABLE 1 //支持音乐模式EQ
|
||||||
#define TCFG_LINEIN_MODE_EQ_ENABLE 1 //支持linein近端EQ
|
#define TCFG_LINEIN_MODE_EQ_ENABLE 1 //支持linein近端EQ
|
||||||
#define TCFG_FM_MODE_EQ_ENABLE 1 //支持fm模式EQ
|
#define TCFG_FM_MODE_EQ_ENABLE 0 //支持fm模式EQ
|
||||||
#define TCFG_SPDIF_MODE_EQ_ENABLE 1 //支持SPDIF模式EQ
|
#define TCFG_SPDIF_MODE_EQ_ENABLE 0 //支持SPDIF模式EQ
|
||||||
#define TCFG_PC_MODE_EQ_ENABLE 1 //支持pc模式EQ
|
#define TCFG_PC_MODE_EQ_ENABLE 0 //支持pc模式EQ
|
||||||
#define TCFG_AUDIO_OUT_EQ_ENABLE 0 //高低音EQ
|
#define TCFG_AUDIO_OUT_EQ_ENABLE 0 //高低音EQ
|
||||||
#define TCFG_AUDIO_MIC_EFFECT_POST_EQ_ENABLE 0 //MIC音效后置EQ使能(includes DRC)
|
#define TCFG_AUDIO_MIC_EFFECT_POST_EQ_ENABLE 0 //MIC音效后置EQ使能(includes DRC)
|
||||||
|
|
||||||
|
|
||||||
#define EQ_SECTION_MAX 20//eq 段数
|
#define EQ_SECTION_MAX 10//eq 段数
|
||||||
#define TCFG_DYNAMIC_EQ_ENABLE 0 //动态eq使能,接在eq后,需输入32bit位宽数据
|
#define TCFG_DYNAMIC_EQ_ENABLE 0 //动态eq使能,接在eq后,需输入32bit位宽数据
|
||||||
#endif//TCFG_EQ_ENABLE
|
#endif//TCFG_EQ_ENABLE
|
||||||
|
|
||||||
@ -661,7 +661,7 @@ DAC硬件上的连接方式,可选的配置:
|
|||||||
// 系统配置 //
|
// 系统配置 //
|
||||||
//*********************************************************************************//
|
//*********************************************************************************//
|
||||||
#define TCFG_AUTO_SHUT_DOWN_TIME 0 //没有蓝牙连接自动关机时间
|
#define TCFG_AUTO_SHUT_DOWN_TIME 0 //没有蓝牙连接自动关机时间
|
||||||
#define TCFG_SYS_LVD_EN 1 //电量检测使能
|
#define TCFG_SYS_LVD_EN 0 //电量检测使能
|
||||||
#define TCFG_POWER_ON_NEED_KEY 0 //是否需要按按键开机配置
|
#define TCFG_POWER_ON_NEED_KEY 0 //是否需要按按键开机配置
|
||||||
#define TWFG_APP_POWERON_IGNORE_DEV 4000//上电忽略挂载设备,0时不忽略,非0则n毫秒忽略
|
#define TWFG_APP_POWERON_IGNORE_DEV 4000//上电忽略挂载设备,0时不忽略,非0则n毫秒忽略
|
||||||
|
|
||||||
@ -674,11 +674,11 @@ DAC硬件上的连接方式,可选的配置:
|
|||||||
#define TCFG_USER_BLE_ENABLE 0 //BLE功能使能
|
#define TCFG_USER_BLE_ENABLE 0 //BLE功能使能
|
||||||
#define TCFG_USER_BT_CLASSIC_ENABLE 1 //经典蓝牙功能使能
|
#define TCFG_USER_BT_CLASSIC_ENABLE 1 //经典蓝牙功能使能
|
||||||
#define TCFG_BT_SUPPORT_AAC 0 //AAC格式支持
|
#define TCFG_BT_SUPPORT_AAC 0 //AAC格式支持
|
||||||
#define TCFG_USER_EMITTER_ENABLE 0 //emitter功能使能
|
#define TCFG_USER_EMITTER_ENABLE 1 //emitter功能使能
|
||||||
#define TCFG_BT_SNIFF_ENABLE 0 //bt sniff 功能使能
|
#define TCFG_BT_SNIFF_ENABLE 0 //bt sniff 功能使能
|
||||||
|
|
||||||
#define USER_SUPPORT_PROFILE_SPP 1
|
#define USER_SUPPORT_PROFILE_SPP 0
|
||||||
#define USER_SUPPORT_PROFILE_HFP 1
|
#define USER_SUPPORT_PROFILE_HFP 0
|
||||||
#define USER_SUPPORT_PROFILE_A2DP 1
|
#define USER_SUPPORT_PROFILE_A2DP 1
|
||||||
#define USER_SUPPORT_PROFILE_AVCTP 1
|
#define USER_SUPPORT_PROFILE_AVCTP 1
|
||||||
#define USER_SUPPORT_PROFILE_HID 1
|
#define USER_SUPPORT_PROFILE_HID 1
|
||||||
@ -698,10 +698,10 @@ DAC硬件上的连接方式,可选的配置:
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define BT_INBAND_RINGTONE 0 //是否播放手机自带来电铃声
|
#define BT_INBAND_RINGTONE 0 //是否播放手机自带来电铃声
|
||||||
#define BT_PHONE_NUMBER 1 //是否播放来电报号
|
#define BT_PHONE_NUMBER 0 //是否播放来电报号
|
||||||
#define BT_SYNC_PHONE_RING 0 //是否TWS同步播放来电铃声
|
#define BT_SYNC_PHONE_RING 0 //是否TWS同步播放来电铃声
|
||||||
#define BT_SUPPORT_DISPLAY_BAT 1 //是否使能电量检测
|
#define BT_SUPPORT_DISPLAY_BAT 0 //是否使能电量检测
|
||||||
#define BT_SUPPORT_MUSIC_VOL_SYNC 1 //是否使能音量同步
|
#define BT_SUPPORT_MUSIC_VOL_SYNC 0 //是否使能音量同步
|
||||||
|
|
||||||
#define TCFG_BLUETOOTH_BACK_MODE 1 //后台模式
|
#define TCFG_BLUETOOTH_BACK_MODE 1 //后台模式
|
||||||
|
|
||||||
@ -743,7 +743,7 @@ DAC硬件上的连接方式,可选的配置:
|
|||||||
#define TCFG_LINEIN_ENABLE TCFG_APP_LINEIN_EN // linein使能
|
#define TCFG_LINEIN_ENABLE TCFG_APP_LINEIN_EN // linein使能
|
||||||
// #define TCFG_LINEIN_LADC_IDX 0 // linein使用的ladc通道,对应ladc_list
|
// #define TCFG_LINEIN_LADC_IDX 0 // linein使用的ladc通道,对应ladc_list
|
||||||
#define TCFG_LINEIN_LR_CH AUDIO_LIN0_LR
|
#define TCFG_LINEIN_LR_CH AUDIO_LIN0_LR
|
||||||
#define TCFG_LINEIN_CHECK_PORT IO_PORTB_03 // linein检测IO
|
#define TCFG_LINEIN_CHECK_PORT -1 // linein检测IO
|
||||||
#define TCFG_LINEIN_PORT_UP_ENABLE 1 // 检测IO上拉使能
|
#define TCFG_LINEIN_PORT_UP_ENABLE 1 // 检测IO上拉使能
|
||||||
#define TCFG_LINEIN_PORT_DOWN_ENABLE 0 // 检测IO下拉使能
|
#define TCFG_LINEIN_PORT_DOWN_ENABLE 0 // 检测IO下拉使能
|
||||||
#define TCFG_LINEIN_AD_CHANNEL NO_CONFIG_PORT // 检测IO是否使用AD检测
|
#define TCFG_LINEIN_AD_CHANNEL NO_CONFIG_PORT // 检测IO是否使用AD检测
|
||||||
@ -838,13 +838,13 @@ DAC硬件上的连接方式,可选的配置:
|
|||||||
#if (AUDIO_OUTPUT_WAY == AUDIO_OUTPUT_WAY_IIS) || (AUDIO_OUTPUT_WAY == AUDIO_OUTPUT_WAY_DAC_IIS)
|
#if (AUDIO_OUTPUT_WAY == AUDIO_OUTPUT_WAY_IIS) || (AUDIO_OUTPUT_WAY == AUDIO_OUTPUT_WAY_DAC_IIS)
|
||||||
#define TCFG_IIS_ENABLE ENABLE_THIS_MOUDLE
|
#define TCFG_IIS_ENABLE ENABLE_THIS_MOUDLE
|
||||||
#else
|
#else
|
||||||
#define TCFG_IIS_ENABLE DISABLE_THIS_MOUDLE
|
#define TCFG_IIS_ENABLE ENABLE_THIS_MOUDLE
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define TCFG_IIS_MODE (0) // 0:master 1:slave
|
#define TCFG_IIS_MODE (0) // 0:master 1:slave
|
||||||
|
|
||||||
#define TCFG_IIS_OUTPUT_EN (ENABLE && TCFG_IIS_ENABLE)
|
#define TCFG_IIS_OUTPUT_EN (ENABLE && TCFG_IIS_ENABLE)
|
||||||
#define TCFG_IIS_OUTPUT_PORT ALINK0_PORTA
|
#define TCFG_IIS_OUTPUT_PORT ALINK1_PORTA
|
||||||
#define TCFG_IIS_OUTPUT_CH_NUM 1 //0:mono,1:stereo
|
#define TCFG_IIS_OUTPUT_CH_NUM 1 //0:mono,1:stereo
|
||||||
#define TCFG_IIS_OUTPUT_SR 44100
|
#define TCFG_IIS_OUTPUT_SR 44100
|
||||||
#define TCFG_IIS_OUTPUT_DATAPORT_SEL 0
|
#define TCFG_IIS_OUTPUT_DATAPORT_SEL 0
|
||||||
|
|||||||
@ -5,12 +5,12 @@
|
|||||||
* 板级配置选择
|
* 板级配置选择
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// #define CONFIG_BOARD_AC695X_DEMO
|
#define CONFIG_BOARD_AC695X_DEMO
|
||||||
// #define CONFIG_BOARD_AC6951_KGB_V1
|
// #define CONFIG_BOARD_AC6951_KGB_V1
|
||||||
// #define CONFIG_BOARD_AC6955F_HEADSET_MONO
|
// #define CONFIG_BOARD_AC6955F_HEADSET_MONO
|
||||||
// #define CONFIG_BOARD_AC6952E_LIGHTER
|
// #define CONFIG_BOARD_AC6952E_LIGHTER
|
||||||
// #define CONFIG_BOARD_AC695X_CHARGING_BIN
|
// #define CONFIG_BOARD_AC695X_CHARGING_BIN
|
||||||
#define CONFIG_BOARD_AC695X_BTEMITTER
|
// #define CONFIG_BOARD_AC695X_BTEMITTER
|
||||||
// #define CONFIG_BOARD_AC695X_TWS_BOX
|
// #define CONFIG_BOARD_AC695X_TWS_BOX
|
||||||
// #define CONFIG_BOARD_AC695X_TWS
|
// #define CONFIG_BOARD_AC695X_TWS
|
||||||
// #define CONFIG_BOARD_AC695X_MULTIMEDIA_CHARGING_BIN
|
// #define CONFIG_BOARD_AC695X_MULTIMEDIA_CHARGING_BIN
|
||||||
|
|||||||
@ -8,6 +8,7 @@
|
|||||||
#include "app_charge.h"
|
#include "app_charge.h"
|
||||||
#include "chgbox_ctrl.h"
|
#include "chgbox_ctrl.h"
|
||||||
#include "update_loader_download.h"
|
#include "update_loader_download.h"
|
||||||
|
#include "kt.h"
|
||||||
|
|
||||||
|
|
||||||
extern void setup_arch();
|
extern void setup_arch();
|
||||||
@ -103,6 +104,8 @@ static void app_init()
|
|||||||
|
|
||||||
board_init();
|
board_init();
|
||||||
|
|
||||||
|
kt_boot_init();
|
||||||
|
|
||||||
do_initcall();
|
do_initcall();
|
||||||
|
|
||||||
do_module_initcall();
|
do_module_initcall();
|
||||||
|
|||||||
@ -173,6 +173,7 @@ enum {
|
|||||||
KEY_IR_NUM_8,
|
KEY_IR_NUM_8,
|
||||||
KEY_IR_NUM_9,//中间不允许插入
|
KEY_IR_NUM_9,//中间不允许插入
|
||||||
//在这里增加元素
|
//在这里增加元素
|
||||||
|
KEY_MSG_MODE_CHANGE,
|
||||||
//
|
//
|
||||||
KEY_HCI_DISCONNECT_CLEAR_VM,
|
KEY_HCI_DISCONNECT_CLEAR_VM,
|
||||||
KEY_CALL_RECEIVER,
|
KEY_CALL_RECEIVER,
|
||||||
|
|||||||
@ -96,6 +96,8 @@
|
|||||||
#include "tuya_multi/tuya_le_multi_common.h"
|
#include "tuya_multi/tuya_le_multi_common.h"
|
||||||
#include "multi_demo/le_multi_common.h"
|
#include "multi_demo/le_multi_common.h"
|
||||||
|
|
||||||
|
#include "kt.h"
|
||||||
|
|
||||||
|
|
||||||
#define LOG_TAG_CONST BT
|
#define LOG_TAG_CONST BT
|
||||||
#define LOG_TAG "[BT]"
|
#define LOG_TAG "[BT]"
|
||||||
@ -616,8 +618,9 @@ void bt_function_select_init()
|
|||||||
////设置蓝牙加密的level
|
////设置蓝牙加密的level
|
||||||
//io_capabilities ; /*0: Display only 1: Display YesNo 2: KeyboardOnly 3: NoInputNoOutput*/
|
//io_capabilities ; /*0: Display only 1: Display YesNo 2: KeyboardOnly 3: NoInputNoOutput*/
|
||||||
//authentication_requirements: 0:not protect 1 :protect
|
//authentication_requirements: 0:not protect 1 :protect
|
||||||
|
//flym 20251014 20:12:00
|
||||||
__set_simple_pair_param(3, 0, 2);//__set_simple_pair_param(3, 0, 2);
|
// 修改为Just Works配对模式,避免配对码出现
|
||||||
|
__set_simple_pair_param(3, 0, 0);//__set_simple_pair_param(3, 0, 2);
|
||||||
|
|
||||||
#if (USER_SUPPORT_PROFILE_PBAP==1)
|
#if (USER_SUPPORT_PROFILE_PBAP==1)
|
||||||
////设置蓝牙设备类型
|
////设置蓝牙设备类型
|
||||||
@ -809,9 +812,20 @@ static int bt_connction_status_event_handler(struct bt_event *bt)
|
|||||||
break;
|
break;
|
||||||
case BT_STATUS_RECONN_OR_CONN:
|
case BT_STATUS_RECONN_OR_CONN:
|
||||||
log_info(" BT_STATUS_RECONN_OR_CONN \n");
|
log_info(" BT_STATUS_RECONN_OR_CONN \n");
|
||||||
|
if (kt_get_mode() == MODE_BT_EMITTER)
|
||||||
|
{
|
||||||
|
emitter_or_receiver_switch(BT_EMITTER_EN);
|
||||||
|
app_task_switch_to(APP_LINEIN_TASK);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
log_info(" BT STATUS DEFAULT\n");
|
log_info(" BT STATUS DEFAULT\n");
|
||||||
|
//printf("user_role : %d conn_total : %d bt_role : %d \n", kt_get_user_role(), get_total_connect_dev(), bt_emitter_role_get());
|
||||||
|
if (kt_get_user_role() == MODE_BT_EMITTER && get_total_connect_dev() == 0)
|
||||||
|
{
|
||||||
|
printf("[EMITTER][SEARCH_STOP][%s-%d] no device found, restart search\n",__func__,__LINE__);
|
||||||
|
bt_emitter_start_search_device();
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
@ -847,6 +861,7 @@ static int bt_hci_event_handler(struct bt_event *bt)
|
|||||||
case HCI_EVENT_IO_CAPABILITY_REQUEST:
|
case HCI_EVENT_IO_CAPABILITY_REQUEST:
|
||||||
log_info(" HCI_EVENT_IO_CAPABILITY_REQUEST \n");
|
log_info(" HCI_EVENT_IO_CAPABILITY_REQUEST \n");
|
||||||
clock_add_set(BT_CONN_CLK);
|
clock_add_set(BT_CONN_CLK);
|
||||||
|
// IO Capability请求由底层自动处理,这里只需要添加时钟
|
||||||
break;
|
break;
|
||||||
case HCI_EVENT_USER_CONFIRMATION_REQUEST:
|
case HCI_EVENT_USER_CONFIRMATION_REQUEST:
|
||||||
log_info(" HCI_EVENT_USER_CONFIRMATION_REQUEST %d \n", bt->value);
|
log_info(" HCI_EVENT_USER_CONFIRMATION_REQUEST %d \n", bt->value);
|
||||||
@ -886,6 +901,12 @@ static int bt_hci_event_handler(struct bt_event *bt)
|
|||||||
case ERROR_CODE_PIN_OR_KEY_MISSING:
|
case ERROR_CODE_PIN_OR_KEY_MISSING:
|
||||||
log_info(" ERROR_CODE_PIN_OR_KEY_MISSING \n");
|
log_info(" ERROR_CODE_PIN_OR_KEY_MISSING \n");
|
||||||
bt_hci_event_linkkey_missing(bt);
|
bt_hci_event_linkkey_missing(bt);
|
||||||
|
do {
|
||||||
|
u8 is_emitter = (bt_emitter_role_get() == BT_EMITTER_EN);
|
||||||
|
u16 ch = is_emitter ? get_emitter_curr_channel_state() : get_curr_channel_state();
|
||||||
|
printf("[RECONNECT][FAIL][%s] reason:0x%02x ch:0x%04x file:%s line:%d\n",
|
||||||
|
is_emitter ? "EMITTER" : "RECEIVER", bt->value, ch, __FILE__, __LINE__);
|
||||||
|
} while (0);
|
||||||
case ERROR_CODE_SYNCHRONOUS_CONNECTION_LIMIT_TO_A_DEVICE_EXCEEDED :
|
case ERROR_CODE_SYNCHRONOUS_CONNECTION_LIMIT_TO_A_DEVICE_EXCEEDED :
|
||||||
case ERROR_CODE_CONNECTION_REJECTED_DUE_TO_LIMITED_RESOURCES:
|
case ERROR_CODE_CONNECTION_REJECTED_DUE_TO_LIMITED_RESOURCES:
|
||||||
case ERROR_CODE_CONNECTION_REJECTED_DUE_TO_UNACCEPTABLE_BD_ADDR:
|
case ERROR_CODE_CONNECTION_REJECTED_DUE_TO_UNACCEPTABLE_BD_ADDR:
|
||||||
@ -894,15 +915,48 @@ static int bt_hci_event_handler(struct bt_event *bt)
|
|||||||
case ERROR_CODE_CONNECTION_TERMINATED_BY_LOCAL_HOST :
|
case ERROR_CODE_CONNECTION_TERMINATED_BY_LOCAL_HOST :
|
||||||
case ERROR_CODE_AUTHENTICATION_FAILURE :
|
case ERROR_CODE_AUTHENTICATION_FAILURE :
|
||||||
case CUSTOM_BB_AUTO_CANCEL_PAGE:
|
case CUSTOM_BB_AUTO_CANCEL_PAGE:
|
||||||
|
do {
|
||||||
|
u8 is_emitter = (bt_emitter_role_get() == BT_EMITTER_EN);
|
||||||
|
u16 ch = is_emitter ? get_emitter_curr_channel_state() : get_curr_channel_state();
|
||||||
|
printf("[RECONNECT][FAIL][%s] reason:0x%02x ch:0x%04x file:%s line:%d\n",
|
||||||
|
is_emitter ? "EMITTER" : "RECEIVER", bt->value, ch, __FILE__, __LINE__);
|
||||||
|
} while (0);
|
||||||
bt_hci_event_disconnect(bt) ;
|
bt_hci_event_disconnect(bt) ;
|
||||||
|
if(bt_emitter_role_get() == BT_EMITTER_EN && get_total_connect_dev() == 0)
|
||||||
|
{
|
||||||
|
printf("EMITTER][VM] reconnect failed, start search\n");
|
||||||
|
bt_emitter_start_search_device();
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case ERROR_CODE_PAGE_TIMEOUT:
|
case ERROR_CODE_PAGE_TIMEOUT:
|
||||||
log_info(" ERROR_CODE_PAGE_TIMEOUT \n");
|
log_info(" ERROR_CODE_PAGE_TIMEOUT \n");
|
||||||
|
do {
|
||||||
|
u8 is_emitter = (bt_emitter_role_get() == BT_EMITTER_EN);
|
||||||
|
u16 ch = is_emitter ? get_emitter_curr_channel_state() : get_curr_channel_state();
|
||||||
|
printf("[RECONNECT][FAIL][%s] reason:0x%02x ch:0x%04x file:%s line:%d\n",
|
||||||
|
is_emitter ? "EMITTER" : "RECEIVER", bt->value, ch, __FILE__, __LINE__);
|
||||||
|
} while (0);
|
||||||
bt_hci_event_page_timeout(bt);
|
bt_hci_event_page_timeout(bt);
|
||||||
|
if(bt_emitter_role_get() == BT_EMITTER_EN && get_total_connect_dev() == 0)
|
||||||
|
{
|
||||||
|
printf("EMITTER][VM] reconnect failed, start search\n");
|
||||||
|
bt_emitter_start_search_device();
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case ERROR_CODE_CONNECTION_TIMEOUT:
|
case ERROR_CODE_CONNECTION_TIMEOUT:
|
||||||
log_info(" ERROR_CODE_CONNECTION_TIMEOUT \n");
|
log_info(" ERROR_CODE_CONNECTION_TIMEOUT \n");
|
||||||
|
do {
|
||||||
|
u8 is_emitter = (bt_emitter_role_get() == BT_EMITTER_EN);
|
||||||
|
u16 ch = is_emitter ? get_emitter_curr_channel_state() : get_curr_channel_state();
|
||||||
|
printf("[RECONNECT][FAIL][%s] reason:0x%02x ch:0x%04x file:%s line:%d\n",
|
||||||
|
is_emitter ? "EMITTER" : "RECEIVER", bt->value, ch, __FILE__, __LINE__);
|
||||||
|
} while (0);
|
||||||
bt_hci_event_connection_timeout(bt);
|
bt_hci_event_connection_timeout(bt);
|
||||||
|
if(bt_emitter_role_get() == BT_EMITTER_EN && get_total_connect_dev() == 0)
|
||||||
|
{
|
||||||
|
printf("EMITTER][VM] reconnect failed, start search\n");
|
||||||
|
bt_emitter_start_search_device();
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case ERROR_CODE_ACL_CONNECTION_ALREADY_EXISTS :
|
case ERROR_CODE_ACL_CONNECTION_ALREADY_EXISTS :
|
||||||
log_info("ERROR_CODE_ACL_CONNECTION_ALREADY_EXISTS \n");
|
log_info("ERROR_CODE_ACL_CONNECTION_ALREADY_EXISTS \n");
|
||||||
@ -1145,6 +1199,12 @@ int bt_key_event_handler(struct sys_event *event)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (kt_key_event_filter_after(key_event) == true) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
switch (key_event) {
|
switch (key_event) {
|
||||||
case KEY_HCI_DISCONNECT_CLEAR_VM:
|
case KEY_HCI_DISCONNECT_CLEAR_VM:
|
||||||
printf("KEY_HCI_DISCONNECT_CLEAR_VM\n");
|
printf("KEY_HCI_DISCONNECT_CLEAR_VM\n");
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@ -51,6 +51,9 @@
|
|||||||
#include "dac.h"
|
#include "dac.h"
|
||||||
#include "audio_recorder_mix.h"
|
#include "audio_recorder_mix.h"
|
||||||
|
|
||||||
|
#include "kt.h"
|
||||||
|
|
||||||
|
|
||||||
#define LOG_TAG_CONST BT
|
#define LOG_TAG_CONST BT
|
||||||
#define LOG_TAG "[BT]"
|
#define LOG_TAG "[BT]"
|
||||||
#define LOG_ERROR_ENABLE
|
#define LOG_ERROR_ENABLE
|
||||||
@ -1104,7 +1107,14 @@ void bt_status_init_ok(struct bt_event *bt)
|
|||||||
extern u8 emitter_search_result(char *name, u8 name_len, u8 * addr, u32 dev_class, char rssi);
|
extern u8 emitter_search_result(char *name, u8 name_len, u8 * addr, u32 dev_class, char rssi);
|
||||||
inquiry_result_handle_register(emitter_search_result);
|
inquiry_result_handle_register(emitter_search_result);
|
||||||
extern void emitter_or_receiver_switch(u8 flag);
|
extern void emitter_or_receiver_switch(u8 flag);
|
||||||
|
if (kt_get_mode() == MODE_BT_EMITTER)
|
||||||
|
{
|
||||||
emitter_or_receiver_switch(BT_EMITTER_EN);
|
emitter_or_receiver_switch(BT_EMITTER_EN);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
emitter_or_receiver_switch(BT_RECEIVER_EN);
|
||||||
|
}
|
||||||
return;
|
return;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -2138,6 +2148,12 @@ void bt_hci_event_connection(struct bt_event *bt)
|
|||||||
void bt_hci_event_disconnect(struct bt_event *bt)
|
void bt_hci_event_disconnect(struct bt_event *bt)
|
||||||
{
|
{
|
||||||
u8 local_addr[6];
|
u8 local_addr[6];
|
||||||
|
do {
|
||||||
|
u8 is_emitter = (bt_emitter_role_get() == BT_EMITTER_EN);
|
||||||
|
u16 ch = is_emitter ? get_emitter_curr_channel_state() : get_curr_channel_state();
|
||||||
|
printf("[RECONNECT][FAIL][%s] reason:0x%02x ch:0x%04x file:%s line:%d\n",
|
||||||
|
is_emitter ? "EMITTER" : "RECEIVER", bt->value, ch, __FILE__, __LINE__);
|
||||||
|
} while (0);
|
||||||
if (app_var.goto_poweroff_flag || __this->exiting) {
|
if (app_var.goto_poweroff_flag || __this->exiting) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -51,6 +51,8 @@
|
|||||||
#include "bt.h"
|
#include "bt.h"
|
||||||
#include "bt_tws.h"
|
#include "bt_tws.h"
|
||||||
|
|
||||||
|
#include "kt.h"
|
||||||
|
|
||||||
|
|
||||||
#if TCFG_APP_LINEIN_EN
|
#if TCFG_APP_LINEIN_EN
|
||||||
|
|
||||||
@ -129,6 +131,10 @@ static int linein_key_msg_deal(struct sys_event *event)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
if (kt_key_event_filter_after(key_event) == true) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
switch (key_event) {
|
switch (key_event) {
|
||||||
case KEY_LINEIN_START:
|
case KEY_LINEIN_START:
|
||||||
linein_start();
|
linein_start();
|
||||||
|
|||||||
@ -12,7 +12,7 @@
|
|||||||
#include "ui/ui_api.h"
|
#include "ui/ui_api.h"
|
||||||
#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]"
|
||||||
@ -23,7 +23,6 @@
|
|||||||
#define LOG_CLI_ENABLE
|
#define LOG_CLI_ENABLE
|
||||||
#include "debug.h"
|
#include "debug.h"
|
||||||
|
|
||||||
|
|
||||||
static void lcd_ui_power_on_timeout(void *p)
|
static void lcd_ui_power_on_timeout(void *p)
|
||||||
{
|
{
|
||||||
#if (TCFG_SPI_LCD_ENABLE)
|
#if (TCFG_SPI_LCD_ENABLE)
|
||||||
@ -41,7 +40,6 @@ static void lcd_ui_power_on_timeout(void *p)
|
|||||||
app_task_switch_to(APP_MUSIC_TASK);
|
app_task_switch_to(APP_MUSIC_TASK);
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void lcd_ui_power_on()
|
static void lcd_ui_power_on()
|
||||||
@ -60,7 +58,41 @@ static int power_on_init(void)
|
|||||||
lcd_ui_power_on(); // 由ui决定切换的模式
|
lcd_ui_power_on(); // 由ui决定切换的模式
|
||||||
return 0;
|
return 0;
|
||||||
#endif
|
#endif
|
||||||
|
int i = 0;
|
||||||
|
u8 mode = MODE_AUX_LP;
|
||||||
|
while (1)
|
||||||
|
{
|
||||||
|
if (mode == kt_get_mode())
|
||||||
|
{
|
||||||
|
i++;
|
||||||
|
if (i > 3)
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
mode = kt_get_mode();
|
||||||
|
i = 0;
|
||||||
|
}
|
||||||
|
clr_wdt();
|
||||||
|
os_time_dly(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
kt_set_curr_mode(mode);
|
||||||
|
printf("----------->>>>>>>>>>>>>>> mode = %d <<<<<<<<<<<----------\n", mode);
|
||||||
|
printf("----------->>>>>>>>>>>>>>> mode = %d <<<<<<<<<<<----------\n", mode);
|
||||||
|
printf("----------->>>>>>>>>>>>>>> mode = %d <<<<<<<<<<<----------\n", mode);
|
||||||
|
printf("----------->>>>>>>>>>>>>>> mode = %d <<<<<<<<<<<----------\n", mode);
|
||||||
|
if (mode == MODE_AUX_LP)
|
||||||
|
{
|
||||||
|
app_task_switch_to(APP_LINEIN_TASK);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
app_task_switch_to(APP_BT_TASK);
|
||||||
|
}
|
||||||
|
#if 0
|
||||||
#if TCFG_APP_BT_EN
|
#if TCFG_APP_BT_EN
|
||||||
app_task_switch_to(APP_BT_TASK);
|
app_task_switch_to(APP_BT_TASK);
|
||||||
#else
|
#else
|
||||||
@ -74,6 +106,7 @@ static int power_on_init(void)
|
|||||||
/* app_task_switch_to(APP_IDLE_TASK); */
|
/* app_task_switch_to(APP_IDLE_TASK); */
|
||||||
/* app_task_switch_to(APP_LINEIN_TASK);//如果带检测,设备不在线,则不跳转 */
|
/* app_task_switch_to(APP_LINEIN_TASK);//如果带检测,设备不在线,则不跳转 */
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -88,14 +121,10 @@ static int power_on_unint(void)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static int poweron_sys_event_handler(struct sys_event *event)
|
static int poweron_sys_event_handler(struct sys_event *event)
|
||||||
{
|
{
|
||||||
switch (event->type) {
|
switch (event->type)
|
||||||
|
{
|
||||||
case SYS_KEY_EVENT:
|
case SYS_KEY_EVENT:
|
||||||
break;
|
break;
|
||||||
case SYS_BT_EVENT:
|
case SYS_BT_EVENT:
|
||||||
@ -108,41 +137,45 @@ static int poweron_sys_event_handler(struct sys_event *event)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void tone_play_end_callback(void *priv, int flag)
|
static void tone_play_end_callback(void *priv, int flag)
|
||||||
{
|
{
|
||||||
int index = (int)priv;
|
int index = (int)priv;
|
||||||
|
|
||||||
if (APP_POWERON_TASK != app_get_curr_task()) {
|
if (APP_POWERON_TASK != app_get_curr_task())
|
||||||
|
{
|
||||||
log_error("tone callback task out \n");
|
log_error("tone callback task out \n");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (index) {
|
switch (index)
|
||||||
|
{
|
||||||
case IDEX_TONE_POWER_ON:
|
case IDEX_TONE_POWER_ON:
|
||||||
power_on_init();
|
power_on_init();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void app_poweron_task()
|
void app_poweron_task()
|
||||||
{
|
{
|
||||||
int msg[32];
|
int msg[32];
|
||||||
|
|
||||||
|
kt_init();
|
||||||
|
|
||||||
UI_SHOW_MENU(MENU_POWER_UP, 0, 0, NULL);
|
UI_SHOW_MENU(MENU_POWER_UP, 0, 0, NULL);
|
||||||
|
|
||||||
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);
|
||||||
/* if (err) { //提示音没有,播放失败,直接init流程 */
|
/* if (err) { //提示音没有,播放失败,直接init流程 */
|
||||||
/* power_on_init(); */
|
power_on_init(); /* */
|
||||||
/* } */
|
/* } */
|
||||||
|
|
||||||
|
while (1)
|
||||||
while (1) {
|
{
|
||||||
app_task_get_msg(msg, ARRAY_SIZE(msg), 1);
|
app_task_get_msg(msg, ARRAY_SIZE(msg), 1);
|
||||||
switch (msg[0]) {
|
switch (msg[0])
|
||||||
|
{
|
||||||
case APP_MSG_SYS_EVENT:
|
case APP_MSG_SYS_EVENT:
|
||||||
if (poweron_sys_event_handler((struct sys_event *)(msg + 1)) == false) {
|
if (poweron_sys_event_handler((struct sys_event *)(msg + 1)) == false)
|
||||||
|
{
|
||||||
app_default_event_deal((struct sys_event *)(&msg[1])); // 由common统一处理
|
app_default_event_deal((struct sys_event *)(&msg[1])); // 由common统一处理
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -150,11 +183,10 @@ void app_poweron_task()
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (app_task_exitting()) {
|
if (app_task_exitting())
|
||||||
|
{
|
||||||
power_on_unint();
|
power_on_unint();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -14,7 +14,7 @@
|
|||||||
|
|
||||||
#if TCFG_IIS_ENABLE
|
#if TCFG_IIS_ENABLE
|
||||||
|
|
||||||
#define ALINK_TEST_ENABLE
|
//#define ALINK_TEST_ENABLE
|
||||||
|
|
||||||
#define ALINK_DEBUG_INFO
|
#define ALINK_DEBUG_INFO
|
||||||
#ifdef ALINK_DEBUG_INFO
|
#ifdef ALINK_DEBUG_INFO
|
||||||
|
|||||||
@ -113,8 +113,9 @@
|
|||||||
#define AUDIO_OUTPUT_ONLY_IIS \
|
#define AUDIO_OUTPUT_ONLY_IIS \
|
||||||
(TCFG_IIS_ENABLE && TCFG_IIS_OUTPUT_EN && AUDIO_OUTPUT_WAY == AUDIO_OUTPUT_WAY_IIS)
|
(TCFG_IIS_ENABLE && TCFG_IIS_OUTPUT_EN && AUDIO_OUTPUT_WAY == AUDIO_OUTPUT_WAY_IIS)
|
||||||
|
|
||||||
#define AUDIO_OUTPUT_DAC_AND_IIS \
|
//#define AUDIO_OUTPUT_DAC_AND_IIS \
|
||||||
(AUDIO_OUTPUT_WAY == AUDIO_OUTPUT_WAY_DAC_IIS && TCFG_IIS_ENABLE && TCFG_IIS_OUTPUT_EN)
|
// (AUDIO_OUTPUT_WAY == AUDIO_OUTPUT_WAY_DAC_IIS && TCFG_IIS_ENABLE && TCFG_IIS_OUTPUT_EN)
|
||||||
|
#define AUDIO_OUTPUT_DAC_AND_IIS 1
|
||||||
#else
|
#else
|
||||||
#define AUDIO_OUTPUT_ONLY_IIS 0
|
#define AUDIO_OUTPUT_ONLY_IIS 0
|
||||||
|
|
||||||
|
|||||||
@ -1007,10 +1007,19 @@ REGISTER_LP_TARGET(audio_dec_init_lp_target) = {
|
|||||||
|
|
||||||
|
|
||||||
#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) */
|
||||||
|
|||||||
@ -1280,7 +1280,8 @@ static void esco_audio_res_close(void)
|
|||||||
bt_esco_dec->dec.start = 0;
|
bt_esco_dec->dec.start = 0;
|
||||||
bt_esco_dec->dec.enc_start = 0;
|
bt_esco_dec->dec.enc_start = 0;
|
||||||
#if (TCFG_IIS_ENABLE && TCFG_IIS_OUTPUT_EN)
|
#if (TCFG_IIS_ENABLE && TCFG_IIS_OUTPUT_EN)
|
||||||
audio_aec_ref_src_close();
|
//flym 20251014 20:10:00
|
||||||
|
//audio_aec_ref_src_close();
|
||||||
#endif //(TCFG_IIS_ENABLE && TCFG_IIS_OUTPUT_EN)
|
#endif //(TCFG_IIS_ENABLE && TCFG_IIS_OUTPUT_EN)
|
||||||
audio_aec_close();
|
audio_aec_close();
|
||||||
esco_enc_close();
|
esco_enc_close();
|
||||||
@ -1571,7 +1572,8 @@ static int esco_dec_start()
|
|||||||
|
|
||||||
err = audio_aec_init(dec->dec.sample_rate);
|
err = audio_aec_init(dec->dec.sample_rate);
|
||||||
#if (TCFG_IIS_ENABLE && TCFG_IIS_OUTPUT_EN)
|
#if (TCFG_IIS_ENABLE && TCFG_IIS_OUTPUT_EN)
|
||||||
audio_aec_ref_src_open();
|
//flym 20251014 20:10:00
|
||||||
|
//audio_aec_ref_src_open();
|
||||||
#endif //(TCFG_IIS_ENABLE && TCFG_IIS_OUTPUT_EN)
|
#endif //(TCFG_IIS_ENABLE && TCFG_IIS_OUTPUT_EN)
|
||||||
if (err) {
|
if (err) {
|
||||||
log_i("audio_aec_init failed:%d", err);
|
log_i("audio_aec_init failed:%d", err);
|
||||||
|
|||||||
@ -324,6 +324,7 @@ static int tone_dec_file_app_evt_cb(void *priv, enum audio_dec_app_event event,
|
|||||||
|
|
||||||
clock_add_set(DEC_TONE_CLK);
|
clock_add_set(DEC_TONE_CLK);
|
||||||
audio_dec_file_app_init_ok(file_dec);
|
audio_dec_file_app_init_ok(file_dec);
|
||||||
|
//flym 20251014 19:02
|
||||||
__bt_emitter_pp(1);
|
__bt_emitter_pp(1);
|
||||||
break;
|
break;
|
||||||
case AUDIO_DEC_APP_EVENT_DEC_CLOSE:
|
case AUDIO_DEC_APP_EVENT_DEC_CLOSE:
|
||||||
|
|||||||
@ -30,6 +30,7 @@ cvsd_encoder
|
|||||||
|
|
||||||
|
|
||||||
msbc_encoder
|
msbc_encoder
|
||||||
|
pcm_encoder
|
||||||
sbc_encoder
|
sbc_encoder
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
BIN
cpu/br23/tools/app.bin
Normal file
BIN
cpu/br23/tools/app.bin
Normal file
Binary file not shown.
1
cpu/br23/tools/download/standard/KTS_AC690x_5458.key
Normal file
1
cpu/br23/tools/download/standard/KTS_AC690x_5458.key
Normal file
@ -0,0 +1 @@
|
|||||||
|
44b10a8a9a97a7ea8795ce48fe8bb180954fc20c5763ded5954fc20c5763ded5399f4f1d
|
||||||
BIN
cpu/br23/tools/download/standard/app.bin
Normal file
BIN
cpu/br23/tools/download/standard/app.bin
Normal file
Binary file not shown.
@ -13,7 +13,7 @@ copy ..\..\ota_all.bin .
|
|||||||
copy ..\..\ota_nor.bin .
|
copy ..\..\ota_nor.bin .
|
||||||
|
|
||||||
|
|
||||||
..\..\isd_download.exe -tonorflash -dev br23 -boot 0x12000 -div8 -wait 300 -uboot uboot.boot -app app.bin -res tone.cfg cfg_tool.bin eq_cfg_hw.bin %1 -format all
|
..\..\isd_download.exe -tonorflash -dev br23 -boot 0x12000 -div8 -wait 300 -uboot uboot.boot -app app.bin -res tone.cfg cfg_tool.bin eq_cfg_hw.bin %1 -format all -key KTS_AC690x_5458.key
|
||||||
:: -format all
|
:: -format all
|
||||||
::-reboot 2500
|
::-reboot 2500
|
||||||
|
|
||||||
|
|||||||
BIN
cpu/br23/tools/download/standard/jl_isd.bin
Normal file
BIN
cpu/br23/tools/download/standard/jl_isd.bin
Normal file
Binary file not shown.
BIN
cpu/br23/tools/download/standard/jl_isd.fw
Normal file
BIN
cpu/br23/tools/download/standard/jl_isd.fw
Normal file
Binary file not shown.
BIN
cpu/br23/tools/download/standard/nor_update.ufw
Normal file
BIN
cpu/br23/tools/download/standard/nor_update.ufw
Normal file
Binary file not shown.
BIN
cpu/br23/tools/download/standard/update.ufw
Normal file
BIN
cpu/br23/tools/download/standard/update.ufw
Normal file
Binary file not shown.
File diff suppressed because one or more lines are too long
18550
cpu/br23/tools/sdk.elf.resolution.txt
Normal file
18550
cpu/br23/tools/sdk.elf.resolution.txt
Normal file
File diff suppressed because it is too large
Load Diff
206274
cpu/br23/tools/sdk.lst
Normal file
206274
cpu/br23/tools/sdk.lst
Normal file
File diff suppressed because it is too large
Load Diff
64874
cpu/br23/tools/symbol_tbl.txt
Normal file
64874
cpu/br23/tools/symbol_tbl.txt
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user