完成模式切换,优化发射连接速度,完成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\\asm",
|
||||
"${workspaceFolder}/cpu\\br23\\audio_mic",
|
||||
"${workspaceFolder}/apps\\kaotings",
|
||||
"${workspaceFolder}/apps\\soundbox\\include",
|
||||
"${workspaceFolder}/apps\\soundbox\\include\\task_manager",
|
||||
"${workspaceFolder}/apps\\soundbox\\include\\task_manager\\bt",
|
||||
"${workspaceFolder}/apps\\soundbox\\include\\user_api",
|
||||
"${workspaceFolder}/apps\\soundbox\\board\\br23",
|
||||
"${workspaceFolder}/apps\\common",
|
||||
"${workspaceFolder}/apps\\common\\device",
|
||||
"${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/device \
|
||||
-Iapps/common/usb/host \
|
||||
-Iapps/kaotings \
|
||||
-Iapps/soundbox/smartbox \
|
||||
-Iapps/soundbox/smartbox/bt_manage/bt_trans_data \
|
||||
-Iapps/soundbox/smartbox/bt_manage \
|
||||
@ -574,6 +575,8 @@ c_SRC_FILES := \
|
||||
apps/soundbox/soundcard/notice.c \
|
||||
apps/soundbox/soundcard/peripheral.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_task_switch.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_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_PORT_UP_ENABLE 1 // 检测IO上拉使能
|
||||
#define TCFG_LINEIN_PORT_DOWN_ENABLE 0 // 检测IO下拉使能
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
#ifndef CONFIG_BOARD_AC695X_DEMO_CFG_H
|
||||
#define CONFIG_BOARD_AC695X_DEMO_CFG_H
|
||||
|
||||
#define CONFIG_BOARD_AC695X_DEMO
|
||||
#ifdef CONFIG_BOARD_AC695X_DEMO
|
||||
|
||||
#define CONFIG_SDFILE_ENABLE
|
||||
@ -28,8 +29,8 @@
|
||||
#define TCFG_APP_BT_EN 1
|
||||
#define TCFG_APP_MUSIC_EN 1
|
||||
#define TCFG_APP_LINEIN_EN 1
|
||||
#define TCFG_APP_FM_EN 1
|
||||
#define TCFG_APP_PC_EN 1
|
||||
#define TCFG_APP_FM_EN 0
|
||||
#define TCFG_APP_PC_EN 0
|
||||
#define TCFG_APP_RTC_EN 0
|
||||
#define TCFG_APP_RECORD_EN 0
|
||||
#define TCFG_APP_SPDIF_EN 0
|
||||
@ -44,7 +45,7 @@
|
||||
//*********************************************************************************//
|
||||
#define TCFG_UART0_ENABLE ENABLE_THIS_MOUDLE //串口打印模块使能
|
||||
#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 //串口波特率配置
|
||||
|
||||
//*********************************************************************************//
|
||||
@ -65,7 +66,7 @@
|
||||
//*********************************************************************************//
|
||||
// 硬件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
|
||||
//B组IO: DI: PC3 DO: PC5 CLK: PC4
|
||||
#define TCFG_HW_SPI1_PORT 'A'
|
||||
@ -73,7 +74,7 @@
|
||||
#define TCFG_HW_SPI1_MODE SPI_MODE_BIDIR_1BIT
|
||||
#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
|
||||
//B组IO: DI: PA13 DO: DM CLK: DP
|
||||
#define TCFG_HW_SPI2_PORT 'A'
|
||||
@ -118,7 +119,7 @@
|
||||
#define SD_CMD_DECT 0
|
||||
#define SD_CLK_DECT 1
|
||||
#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
|
||||
//B组IO: CMD:PB10 CLK:PB9 DAT0:PB8 DAT1:PB6 DAT2:PB5 DAT3:PB4
|
||||
#define TCFG_SD0_PORTS 'B'
|
||||
@ -142,7 +143,7 @@
|
||||
// USB 配置 //
|
||||
//*********************************************************************************//
|
||||
#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_VIR_UDISK_ENABLE 0//ENABLE_THIS_MOUDLE
|
||||
@ -211,26 +212,25 @@
|
||||
//*********************************************************************************//
|
||||
// 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_ONE_PORT IO_PORTB_01 //IO按键端口
|
||||
#define TCFG_IOKEY_POWER_ONE_PORT IO_PORTB_09 //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_ONE_PORT IO_PORTB_02
|
||||
#define TCFG_IOKEY_NEXT_ONE_PORT -1
|
||||
|
||||
//*********************************************************************************//
|
||||
// adkey 配置 //
|
||||
//*********************************************************************************//
|
||||
#define TCFG_ADKEY_ENABLE ENABLE_THIS_MOUDLE//是否使能AD按键
|
||||
#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_AD_CHANNEL AD_CH_PA10
|
||||
#define TCFG_ADKEY_EXTERN_UP_ENABLE ENABLE_THIS_MOUDLE //是否使用外部上拉
|
||||
#define TCFG_ADKEY_PORT IO_PORTB_01 //AD按键端口(需要注意选择的IO口是否支持AD功能)
|
||||
#define TCFG_ADKEY_AD_CHANNEL AD_CH_PB1
|
||||
#define TCFG_ADKEY_EXTERN_UP_ENABLE DISABLE_THIS_MOUDLE //是否使用外部上拉
|
||||
|
||||
#if TCFG_ADKEY_EXTERN_UP_ENABLE
|
||||
#define R_UP 220 //22K,外部上拉阻值在此自行设置
|
||||
@ -240,15 +240,15 @@
|
||||
|
||||
//必须从小到大填电阻,没有则同VDDIO,填0x3ffL
|
||||
#define TCFG_ADKEY_AD0 (0) //0R
|
||||
#define TCFG_ADKEY_AD1 (0x3ffL * 30 / (30 + R_UP)) //3k
|
||||
#define TCFG_ADKEY_AD2 (0x3ffL * 62 / (62 + R_UP)) //6.2k
|
||||
#define TCFG_ADKEY_AD3 (0x3ffL * 91 / (91 + R_UP)) //9.1k
|
||||
#define TCFG_ADKEY_AD4 (0x3ffL * 150 / (150 + R_UP)) //15k
|
||||
#define TCFG_ADKEY_AD5 (0x3ffL * 240 / (240 + R_UP)) //24k
|
||||
#define TCFG_ADKEY_AD6 (0x3ffL * 330 / (330 + R_UP)) //33k
|
||||
#define TCFG_ADKEY_AD7 (0x3ffL * 510 / (510 + R_UP)) //51k
|
||||
#define TCFG_ADKEY_AD8 (0x3ffL * 1000 / (1000 + R_UP)) //100k
|
||||
#define TCFG_ADKEY_AD9 (0x3ffL * 2200 / (2200 + R_UP)) //220k
|
||||
#define TCFG_ADKEY_AD1 (0x3ffL * 43 / (43 + R_UP)) //3k
|
||||
#define TCFG_ADKEY_AD2 (0x3ffL * 100 / (100 + R_UP)) //6.2k
|
||||
#define TCFG_ADKEY_AD3 (0x3ffL * 220 / (220 + R_UP)) //9.1k
|
||||
#define TCFG_ADKEY_AD4 (0x3ffL) //15k
|
||||
#define TCFG_ADKEY_AD5 (0x3ffL) //24k
|
||||
#define TCFG_ADKEY_AD6 (0x3ffL) //33k
|
||||
#define TCFG_ADKEY_AD7 (0x3ffL) //51k
|
||||
#define TCFG_ADKEY_AD8 (0x3ffL) //100k
|
||||
#define TCFG_ADKEY_AD9 (0x3ffL) //220k
|
||||
#define TCFG_ADKEY_VDDIO (0x3ffL)
|
||||
|
||||
#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_DAC_IIS 6
|
||||
#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 AUDIO_OUTPUT_AUTOMUTE 0//ENABLE
|
||||
#define DAC_AUTO_HIGH_Z_EN DISABLE //处理直推串音问题, 隔直不要开
|
||||
#define AUDIO_OUTPUT_AUTOMUTE 1//ENABLE
|
||||
#define DAC_AUTO_HIGH_Z_EN 1 //处理直推串音问题, 隔直不要开
|
||||
|
||||
/*
|
||||
*系统音量类型选择
|
||||
@ -470,9 +470,9 @@ DAC硬件上的连接方式,可选的配置:
|
||||
//*********************************************************************************//
|
||||
// UI 配置 //
|
||||
//*********************************************************************************//
|
||||
#define TCFG_UI_ENABLE 0//ENABLE_THIS_MOUDLE //UI总开关
|
||||
#define CONFIG_UI_STYLE STYLE_JL_LED7
|
||||
#define TCFG_UI_LED7_ENABLE 0//ENABLE_THIS_MOUDLE //UI使用LED7显示
|
||||
#define TCFG_UI_ENABLE DISABLE_THIS_MOUDLE//ENABLE_THIS_MOUDLE //UI总开关
|
||||
//#define CONFIG_UI_STYLE STYLE_JL_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_LCD_ST7735S_ENABLE ENABLE_THIS_MOUDLE
|
||||
// #define TCFG_LCD_ST7789VW_ENABLE ENABLE_THIS_MOUDLE
|
||||
@ -508,17 +508,17 @@ DAC硬件上的连接方式,可选的配置:
|
||||
#define TCFG_EQ_ENABLE 1 //支持EQ功能,EQ总使能
|
||||
#if TCFG_EQ_ENABLE
|
||||
#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_LINEIN_MODE_EQ_ENABLE 1 //支持linein近端EQ
|
||||
#define TCFG_FM_MODE_EQ_ENABLE 1 //支持fm模式EQ
|
||||
#define TCFG_SPDIF_MODE_EQ_ENABLE 1 //支持SPDIF模式EQ
|
||||
#define TCFG_PC_MODE_EQ_ENABLE 1 //支持pc模式EQ
|
||||
#define TCFG_FM_MODE_EQ_ENABLE 0 //支持fm模式EQ
|
||||
#define TCFG_SPDIF_MODE_EQ_ENABLE 0 //支持SPDIF模式EQ
|
||||
#define TCFG_PC_MODE_EQ_ENABLE 0 //支持pc模式EQ
|
||||
#define TCFG_AUDIO_OUT_EQ_ENABLE 0 //高低音EQ
|
||||
#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位宽数据
|
||||
#endif//TCFG_EQ_ENABLE
|
||||
|
||||
@ -661,7 +661,7 @@ DAC硬件上的连接方式,可选的配置:
|
||||
// 系统配置 //
|
||||
//*********************************************************************************//
|
||||
#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 TWFG_APP_POWERON_IGNORE_DEV 4000//上电忽略挂载设备,0时不忽略,非0则n毫秒忽略
|
||||
|
||||
@ -674,11 +674,11 @@ DAC硬件上的连接方式,可选的配置:
|
||||
#define TCFG_USER_BLE_ENABLE 0 //BLE功能使能
|
||||
#define TCFG_USER_BT_CLASSIC_ENABLE 1 //经典蓝牙功能使能
|
||||
#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 USER_SUPPORT_PROFILE_SPP 1
|
||||
#define USER_SUPPORT_PROFILE_HFP 1
|
||||
#define USER_SUPPORT_PROFILE_SPP 0
|
||||
#define USER_SUPPORT_PROFILE_HFP 0
|
||||
#define USER_SUPPORT_PROFILE_A2DP 1
|
||||
#define USER_SUPPORT_PROFILE_AVCTP 1
|
||||
#define USER_SUPPORT_PROFILE_HID 1
|
||||
@ -698,10 +698,10 @@ DAC硬件上的连接方式,可选的配置:
|
||||
#endif
|
||||
|
||||
#define BT_INBAND_RINGTONE 0 //是否播放手机自带来电铃声
|
||||
#define BT_PHONE_NUMBER 1 //是否播放来电报号
|
||||
#define BT_PHONE_NUMBER 0 //是否播放来电报号
|
||||
#define BT_SYNC_PHONE_RING 0 //是否TWS同步播放来电铃声
|
||||
#define BT_SUPPORT_DISPLAY_BAT 1 //是否使能电量检测
|
||||
#define BT_SUPPORT_MUSIC_VOL_SYNC 1 //是否使能音量同步
|
||||
#define BT_SUPPORT_DISPLAY_BAT 0 //是否使能电量检测
|
||||
#define BT_SUPPORT_MUSIC_VOL_SYNC 0 //是否使能音量同步
|
||||
|
||||
#define TCFG_BLUETOOTH_BACK_MODE 1 //后台模式
|
||||
|
||||
@ -743,7 +743,7 @@ DAC硬件上的连接方式,可选的配置:
|
||||
#define TCFG_LINEIN_ENABLE TCFG_APP_LINEIN_EN // linein使能
|
||||
// #define TCFG_LINEIN_LADC_IDX 0 // linein使用的ladc通道,对应ladc_list
|
||||
#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_DOWN_ENABLE 0 // 检测IO下拉使能
|
||||
#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)
|
||||
#define TCFG_IIS_ENABLE ENABLE_THIS_MOUDLE
|
||||
#else
|
||||
#define TCFG_IIS_ENABLE DISABLE_THIS_MOUDLE
|
||||
#define TCFG_IIS_ENABLE ENABLE_THIS_MOUDLE
|
||||
#endif
|
||||
|
||||
#define TCFG_IIS_MODE (0) // 0:master 1:slave
|
||||
|
||||
#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_SR 44100
|
||||
#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_AC6955F_HEADSET_MONO
|
||||
// #define CONFIG_BOARD_AC6952E_LIGHTER
|
||||
// #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
|
||||
// #define CONFIG_BOARD_AC695X_MULTIMEDIA_CHARGING_BIN
|
||||
|
||||
@ -8,6 +8,7 @@
|
||||
#include "app_charge.h"
|
||||
#include "chgbox_ctrl.h"
|
||||
#include "update_loader_download.h"
|
||||
#include "kt.h"
|
||||
|
||||
|
||||
extern void setup_arch();
|
||||
@ -103,6 +104,8 @@ static void app_init()
|
||||
|
||||
board_init();
|
||||
|
||||
kt_boot_init();
|
||||
|
||||
do_initcall();
|
||||
|
||||
do_module_initcall();
|
||||
|
||||
@ -173,6 +173,7 @@ enum {
|
||||
KEY_IR_NUM_8,
|
||||
KEY_IR_NUM_9,//中间不允许插入
|
||||
//在这里增加元素
|
||||
KEY_MSG_MODE_CHANGE,
|
||||
//
|
||||
KEY_HCI_DISCONNECT_CLEAR_VM,
|
||||
KEY_CALL_RECEIVER,
|
||||
|
||||
@ -96,6 +96,8 @@
|
||||
#include "tuya_multi/tuya_le_multi_common.h"
|
||||
#include "multi_demo/le_multi_common.h"
|
||||
|
||||
#include "kt.h"
|
||||
|
||||
|
||||
#define LOG_TAG_CONST BT
|
||||
#define LOG_TAG "[BT]"
|
||||
@ -616,8 +618,9 @@ void bt_function_select_init()
|
||||
////设置蓝牙加密的level
|
||||
//io_capabilities ; /*0: Display only 1: Display YesNo 2: KeyboardOnly 3: NoInputNoOutput*/
|
||||
//authentication_requirements: 0:not protect 1 :protect
|
||||
|
||||
__set_simple_pair_param(3, 0, 2);//__set_simple_pair_param(3, 0, 2);
|
||||
//flym 20251014 20:12:00
|
||||
// 修改为Just Works配对模式,避免配对码出现
|
||||
__set_simple_pair_param(3, 0, 0);//__set_simple_pair_param(3, 0, 2);
|
||||
|
||||
#if (USER_SUPPORT_PROFILE_PBAP==1)
|
||||
////设置蓝牙设备类型
|
||||
@ -809,9 +812,20 @@ static int bt_connction_status_event_handler(struct bt_event *bt)
|
||||
break;
|
||||
case BT_STATUS_RECONN_OR_CONN:
|
||||
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;
|
||||
default:
|
||||
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;
|
||||
}
|
||||
return 0;
|
||||
@ -847,6 +861,7 @@ static int bt_hci_event_handler(struct bt_event *bt)
|
||||
case HCI_EVENT_IO_CAPABILITY_REQUEST:
|
||||
log_info(" HCI_EVENT_IO_CAPABILITY_REQUEST \n");
|
||||
clock_add_set(BT_CONN_CLK);
|
||||
// IO Capability请求由底层自动处理,这里只需要添加时钟
|
||||
break;
|
||||
case HCI_EVENT_USER_CONFIRMATION_REQUEST:
|
||||
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:
|
||||
log_info(" ERROR_CODE_PIN_OR_KEY_MISSING \n");
|
||||
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_CONNECTION_REJECTED_DUE_TO_LIMITED_RESOURCES:
|
||||
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_AUTHENTICATION_FAILURE :
|
||||
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) ;
|
||||
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;
|
||||
case ERROR_CODE_PAGE_TIMEOUT:
|
||||
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);
|
||||
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;
|
||||
case ERROR_CODE_CONNECTION_TIMEOUT:
|
||||
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);
|
||||
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;
|
||||
case ERROR_CODE_ACL_CONNECTION_ALREADY_EXISTS :
|
||||
log_info("ERROR_CODE_ACL_CONNECTION_ALREADY_EXISTS \n");
|
||||
@ -1145,6 +1199,12 @@ int bt_key_event_handler(struct sys_event *event)
|
||||
return true;
|
||||
}
|
||||
|
||||
if (kt_key_event_filter_after(key_event) == true) {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
switch (key_event) {
|
||||
case KEY_HCI_DISCONNECT_CLEAR_VM:
|
||||
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 "audio_recorder_mix.h"
|
||||
|
||||
#include "kt.h"
|
||||
|
||||
|
||||
#define LOG_TAG_CONST BT
|
||||
#define LOG_TAG "[BT]"
|
||||
#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);
|
||||
inquiry_result_handle_register(emitter_search_result);
|
||||
extern void emitter_or_receiver_switch(u8 flag);
|
||||
if (kt_get_mode() == MODE_BT_EMITTER)
|
||||
{
|
||||
emitter_or_receiver_switch(BT_EMITTER_EN);
|
||||
}
|
||||
else
|
||||
{
|
||||
emitter_or_receiver_switch(BT_RECEIVER_EN);
|
||||
}
|
||||
return;
|
||||
#endif
|
||||
|
||||
@ -2138,6 +2148,12 @@ void bt_hci_event_connection(struct bt_event *bt)
|
||||
void bt_hci_event_disconnect(struct bt_event *bt)
|
||||
{
|
||||
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) {
|
||||
return;
|
||||
}
|
||||
|
||||
@ -51,6 +51,8 @@
|
||||
#include "bt.h"
|
||||
#include "bt_tws.h"
|
||||
|
||||
#include "kt.h"
|
||||
|
||||
|
||||
#if TCFG_APP_LINEIN_EN
|
||||
|
||||
@ -129,6 +131,10 @@ static int linein_key_msg_deal(struct sys_event *event)
|
||||
}
|
||||
#endif
|
||||
|
||||
if (kt_key_event_filter_after(key_event) == true) {
|
||||
return true;
|
||||
}
|
||||
|
||||
switch (key_event) {
|
||||
case KEY_LINEIN_START:
|
||||
linein_start();
|
||||
|
||||
@ -12,7 +12,7 @@
|
||||
#include "ui/ui_api.h"
|
||||
#include "app_task.h"
|
||||
#include "key_event_deal.h"
|
||||
|
||||
#include "kt.h"
|
||||
|
||||
#define LOG_TAG_CONST APP_IDLE
|
||||
#define LOG_TAG "[APP_IDLE]"
|
||||
@ -23,7 +23,6 @@
|
||||
#define LOG_CLI_ENABLE
|
||||
#include "debug.h"
|
||||
|
||||
|
||||
static void lcd_ui_power_on_timeout(void *p)
|
||||
{
|
||||
#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);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
static void lcd_ui_power_on()
|
||||
@ -55,17 +53,51 @@ static void lcd_ui_power_on()
|
||||
|
||||
static int power_on_init(void)
|
||||
{
|
||||
///有些需要在开机提示完成之后再初始化的东西, 可以在这里初始化
|
||||
/// 有些需要在开机提示完成之后再初始化的东西, 可以在这里初始化
|
||||
#if (TCFG_SPI_LCD_ENABLE)
|
||||
lcd_ui_power_on();//由ui决定切换的模式
|
||||
lcd_ui_power_on(); // 由ui决定切换的模式
|
||||
return 0;
|
||||
#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
|
||||
app_task_switch_to(APP_BT_TASK);
|
||||
#else
|
||||
|
||||
#if TCFG_USB_APPLE_DOCK_EN //苹果iap协议使用pc模式
|
||||
#if TCFG_USB_APPLE_DOCK_EN // 苹果iap协议使用pc模式
|
||||
app_task_switch_to(APP_PC_TASK);
|
||||
#else
|
||||
app_task_switch_to(APP_SLEEP_TASK);
|
||||
@ -74,6 +106,7 @@ static int power_on_init(void)
|
||||
/* app_task_switch_to(APP_IDLE_TASK); */
|
||||
/* app_task_switch_to(APP_LINEIN_TASK);//如果带检测,设备不在线,则不跳转 */
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
@ -88,14 +121,10 @@ static int power_on_unint(void)
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
static int poweron_sys_event_handler(struct sys_event *event)
|
||||
{
|
||||
switch (event->type) {
|
||||
switch (event->type)
|
||||
{
|
||||
case SYS_KEY_EVENT:
|
||||
break;
|
||||
case SYS_BT_EVENT:
|
||||
@ -108,53 +137,56 @@ static int poweron_sys_event_handler(struct sys_event *event)
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
static void tone_play_end_callback(void *priv, int flag)
|
||||
{
|
||||
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");
|
||||
return;
|
||||
}
|
||||
|
||||
switch (index) {
|
||||
switch (index)
|
||||
{
|
||||
case IDEX_TONE_POWER_ON:
|
||||
power_on_init();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void app_poweron_task()
|
||||
{
|
||||
int msg[32];
|
||||
|
||||
kt_init();
|
||||
|
||||
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流程 */
|
||||
/* power_on_init(); */
|
||||
power_on_init(); /* */
|
||||
/* } */
|
||||
|
||||
|
||||
while (1) {
|
||||
while (1)
|
||||
{
|
||||
app_task_get_msg(msg, ARRAY_SIZE(msg), 1);
|
||||
switch (msg[0]) {
|
||||
switch (msg[0])
|
||||
{
|
||||
case APP_MSG_SYS_EVENT:
|
||||
if (poweron_sys_event_handler((struct sys_event *)(msg + 1)) == false) {
|
||||
app_default_event_deal((struct sys_event *)(&msg[1])); //由common统一处理
|
||||
if (poweron_sys_event_handler((struct sys_event *)(msg + 1)) == false)
|
||||
{
|
||||
app_default_event_deal((struct sys_event *)(&msg[1])); // 由common统一处理
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if (app_task_exitting()) {
|
||||
if (app_task_exitting())
|
||||
{
|
||||
power_on_unint();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -14,7 +14,7 @@
|
||||
|
||||
#if TCFG_IIS_ENABLE
|
||||
|
||||
#define ALINK_TEST_ENABLE
|
||||
//#define ALINK_TEST_ENABLE
|
||||
|
||||
#define ALINK_DEBUG_INFO
|
||||
#ifdef ALINK_DEBUG_INFO
|
||||
|
||||
@ -113,8 +113,9 @@
|
||||
#define AUDIO_OUTPUT_ONLY_IIS \
|
||||
(TCFG_IIS_ENABLE && TCFG_IIS_OUTPUT_EN && AUDIO_OUTPUT_WAY == AUDIO_OUTPUT_WAY_IIS)
|
||||
|
||||
#define AUDIO_OUTPUT_DAC_AND_IIS \
|
||||
(AUDIO_OUTPUT_WAY == AUDIO_OUTPUT_WAY_DAC_IIS && TCFG_IIS_ENABLE && TCFG_IIS_OUTPUT_EN)
|
||||
//#define AUDIO_OUTPUT_DAC_AND_IIS \
|
||||
// (AUDIO_OUTPUT_WAY == AUDIO_OUTPUT_WAY_DAC_IIS && TCFG_IIS_ENABLE && TCFG_IIS_OUTPUT_EN)
|
||||
#define AUDIO_OUTPUT_DAC_AND_IIS 1
|
||||
#else
|
||||
#define AUDIO_OUTPUT_ONLY_IIS 0
|
||||
|
||||
|
||||
@ -1007,10 +1007,19 @@ REGISTER_LP_TARGET(audio_dec_init_lp_target) = {
|
||||
|
||||
|
||||
#if AUDIO_OUTPUT_AUTOMUTE
|
||||
#include "kt.h"
|
||||
|
||||
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) */
|
||||
|
||||
@ -1280,7 +1280,8 @@ static void esco_audio_res_close(void)
|
||||
bt_esco_dec->dec.start = 0;
|
||||
bt_esco_dec->dec.enc_start = 0;
|
||||
#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)
|
||||
audio_aec_close();
|
||||
esco_enc_close();
|
||||
@ -1571,7 +1572,8 @@ static int esco_dec_start()
|
||||
|
||||
err = audio_aec_init(dec->dec.sample_rate);
|
||||
#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)
|
||||
if (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);
|
||||
audio_dec_file_app_init_ok(file_dec);
|
||||
//flym 20251014 19:02
|
||||
__bt_emitter_pp(1);
|
||||
break;
|
||||
case AUDIO_DEC_APP_EVENT_DEC_CLOSE:
|
||||
|
||||
@ -30,6 +30,7 @@ cvsd_encoder
|
||||
|
||||
|
||||
msbc_encoder
|
||||
pcm_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 .
|
||||
|
||||
|
||||
..\..\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
|
||||
::-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