2024-09-30 17:06:01 +08:00
|
|
|
|
|
|
|
|
|
|
#include "bt_config.h"
|
|
|
|
|
|
#include "bt_os.h"
|
|
|
|
|
|
#include "bt_api.h"
|
|
|
|
|
|
#include "bt_core.h"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
|
|
extern "C" {
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
u8 phone_macaddr_buf[12]={'\0'};//<2F>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD>MAC ADDR
|
|
|
|
|
|
u8 phone_name_buf[24]={'\0'};//<2F>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
u8 bt_hostname_buf[24]={'\0'};//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
u8 bt_pincard_buf[4]={'\0'};//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
u8 bt_macaddr_buf[12]={'\0'};//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MAC ADDR
|
|
|
|
|
|
u8 bt_callin_buf[64];//<2F>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
bt_phone_state_t bt_phone_state; //<2F>ֻ<EFBFBD>ͨ<EFBFBD><CDA8>״̬
|
|
|
|
|
|
bt_phone_type_t bt_phone_type; //<2F>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
bt_connect_flag_t bt_connect_flag = BT_STATE_INIT;
|
|
|
|
|
|
bt_spp_connect_flag_t bt_spp_connect_flag = BT_SPP_STATE_INIT;
|
|
|
|
|
|
bt_ble_connect_flag_t bt_ble_connect_flag = BT_BLE_STATE_INIT;
|
2025-01-08 19:12:06 +08:00
|
|
|
|
bt_hid_connect_flag_t bt_hid_connect_flag = BT_HID_STATE_INIT;
|
2024-09-30 17:06:01 +08:00
|
|
|
|
bt_time_t bt_time;//<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
|
|
|
|
|
|
|
|
|
|
|
bt_phonebook_state *bt_phonebook_para = NULL;
|
|
|
|
|
|
bt_ID3_info_t *bt_ID3_info = NULL;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//fmrx
|
|
|
|
|
|
u16 ChtoFreq = 0;//<2F><><EFBFBD>ؽ<EFBFBD>Ŀ<EFBFBD>Ŷ<EFBFBD>Ӧ<EFBFBD><D3A6>Ƶ<EFBFBD><C6B5>
|
|
|
|
|
|
bt_fmrx_info_t bt_fmrx_info;//ij<><C4B3><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD>ܽ<EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0>Ŀ<EFBFBD>ţ<EFBFBD><C5A3>Լ<EFBFBD><D4BC><EFBFBD>Ӧ<EFBFBD><D3A6>Ƶ<EFBFBD><C6B5>
|
|
|
|
|
|
bt_fmrx_list_t bt_fmrx_list;//<2F><>Ŀ<EFBFBD><C4BF>Ƶ<EFBFBD><C6B5><EFBFBD>б<EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>32.768K<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
__s32 sys_bt_set_time(u8* time)
|
2025-01-08 19:12:06 +08:00
|
|
|
|
{
|
2024-09-30 17:06:01 +08:00
|
|
|
|
#if 0
|
|
|
|
|
|
__u8 i;
|
|
|
|
|
|
__msg("date time:");
|
|
|
|
|
|
for(i=0;i<10;i++)
|
|
|
|
|
|
{
|
|
|
|
|
|
printf("%d ",time[i]);
|
|
|
|
|
|
}
|
|
|
|
|
|
printf("\n");
|
|
|
|
|
|
#endif
|
|
|
|
|
|
bt_time.year=time[0];
|
|
|
|
|
|
bt_time.month=time[1];
|
|
|
|
|
|
bt_time.day=time[2];
|
|
|
|
|
|
bt_time.hour=time[3];
|
|
|
|
|
|
bt_time.minute=time[4];
|
2025-01-08 19:12:06 +08:00
|
|
|
|
|
2024-09-30 17:06:01 +08:00
|
|
|
|
sys_bt_get_time_to_app(&bt_time);
|
2025-01-08 19:12:06 +08:00
|
|
|
|
|
2024-09-30 17:06:01 +08:00
|
|
|
|
return EPDK_OK;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
__s32 sys_bt_get_time_to_app(bt_time_t *time)
|
|
|
|
|
|
{
|
2025-01-08 19:12:06 +08:00
|
|
|
|
#if RTOS
|
2024-09-30 17:06:01 +08:00
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD>BT<42><54>ȡ<EFBFBD><C8A1>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>ø<EFBFBD>GUIָʾʱ<CABE><CAB1>
|
|
|
|
|
|
{
|
|
|
|
|
|
tui_time_t tui_time;
|
|
|
|
|
|
tui_time.year = bt_time.year+2000;
|
|
|
|
|
|
tui_time.mon = bt_time.month;
|
|
|
|
|
|
tui_time.mday = bt_time.day;
|
|
|
|
|
|
tui_time.hour = bt_time.hour;
|
2025-01-08 19:12:06 +08:00
|
|
|
|
tui_time.min= bt_time.minute;
|
2024-09-30 17:06:01 +08:00
|
|
|
|
tui_time.sec= 0;
|
|
|
|
|
|
//printf("set time: year =%d,mday =%d,mday =%d",tui_time.year,tui_time.mon,tui_time.mday);
|
|
|
|
|
|
tui_set_localtime(&tui_time);
|
|
|
|
|
|
}
|
2025-01-08 19:12:06 +08:00
|
|
|
|
#endif
|
2024-09-30 17:06:01 +08:00
|
|
|
|
return EPDK_OK;
|
|
|
|
|
|
}
|
|
|
|
|
|
//appע<70><D7A2>year<61>任<EFBFBD><E4BBBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȼ<EFBFBD>2000
|
|
|
|
|
|
__s32 sys_bt_set_time_to_bt(bt_time_t *time)
|
|
|
|
|
|
{
|
|
|
|
|
|
bt_time.year = time->year;
|
|
|
|
|
|
bt_time.month= time->month;
|
|
|
|
|
|
bt_time.day= time->day;
|
|
|
|
|
|
bt_time.hour= time->hour;
|
|
|
|
|
|
bt_time.minute= time->minute;
|
|
|
|
|
|
printf(" bt year =%d,mon=%d,day=%d,hour=%d,min=%d",bt_time.year,bt_time.month,bt_time.day,bt_time.hour,bt_time.minute);
|
|
|
|
|
|
bt_time_set();
|
|
|
|
|
|
return EPDK_OK;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void sys_bt_ctrl_lcd(u8 lcd_ctrl)
|
|
|
|
|
|
{
|
|
|
|
|
|
#if RTOS
|
|
|
|
|
|
if(lcd_ctrl == '0')//<2F>ػ<EFBFBD><D8BB><EFBFBD><EFBFBD><EFBFBD>
|
2025-01-08 19:12:06 +08:00
|
|
|
|
{
|
|
|
|
|
|
tui_sys_msg_send(TUI_DSK_MSG_SYS_POWER_OFF, NULL, NULL);
|
2024-09-30 17:06:01 +08:00
|
|
|
|
}
|
|
|
|
|
|
else if(lcd_ctrl =='1')//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2025-01-08 19:12:06 +08:00
|
|
|
|
{
|
2024-09-30 17:06:01 +08:00
|
|
|
|
tui_sys_msg_send(TUI_DSK_MSG_SYS_POWER_ON, NULL, NULL);
|
|
|
|
|
|
}
|
2025-01-08 19:12:06 +08:00
|
|
|
|
#endif
|
2024-09-30 17:06:01 +08:00
|
|
|
|
return;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void sys_bt_ctrl_light(u8 light_ctrl)
|
|
|
|
|
|
{
|
|
|
|
|
|
#if RTOS
|
|
|
|
|
|
if(light_ctrl=='0')///<2F><><EFBFBD>ƹ<EFBFBD>
|
|
|
|
|
|
{
|
|
|
|
|
|
//printf("==========big led close=========\n");
|
|
|
|
|
|
|
|
|
|
|
|
system_set_ill_state(ILL_STAT_OFF);
|
|
|
|
|
|
/*
|
|
|
|
|
|
turn_off_red();
|
|
|
|
|
|
turn_off_green();
|
|
|
|
|
|
turn_off_blue();
|
|
|
|
|
|
*/
|
2025-01-08 19:12:06 +08:00
|
|
|
|
|
|
|
|
|
|
tui_sys_msg_send(TUI_DSK_MSG_SYS_BIG_LED, NULL, NULL);
|
2024-09-30 17:06:01 +08:00
|
|
|
|
}
|
|
|
|
|
|
else if(light_ctrl=='1')///<2F><><EFBFBD>ƿ<EFBFBD>
|
|
|
|
|
|
{
|
|
|
|
|
|
//printf("===========big led open=========\n");
|
|
|
|
|
|
system_set_ill_state(ILL_STAT_ON);
|
2025-01-08 19:12:06 +08:00
|
|
|
|
|
2024-09-30 17:06:01 +08:00
|
|
|
|
/*
|
|
|
|
|
|
show_light_state();
|
|
|
|
|
|
*/
|
2025-01-08 19:12:06 +08:00
|
|
|
|
|
2024-09-30 17:06:01 +08:00
|
|
|
|
//<2F><><EFBFBD><EFBFBD>ֱ<EFBFBD>ӵ<EFBFBD><D3B5><EFBFBD>
|
2025-01-08 19:12:06 +08:00
|
|
|
|
//dsk_display_set_lcd_brightness(LION_BRIGHT_LEVEL3);
|
|
|
|
|
|
tui_sys_msg_send(TUI_DSK_MSG_SYS_BIG_LED, NULL, NULL);
|
2024-09-30 17:06:01 +08:00
|
|
|
|
}
|
2025-01-08 19:12:06 +08:00
|
|
|
|
#endif
|
2024-09-30 17:06:01 +08:00
|
|
|
|
return;
|
|
|
|
|
|
}
|
|
|
|
|
|
void sys_bt_ctrl_pev(u8 pev_ctrl)
|
|
|
|
|
|
{
|
|
|
|
|
|
#if RTOS
|
|
|
|
|
|
__msg("=====pev:%x====\n",pev_ctrl);
|
|
|
|
|
|
if(pev_ctrl=='1')///pev 1->0 2->1
|
|
|
|
|
|
{
|
|
|
|
|
|
__msg("=================prv enter==============\n");
|
|
|
|
|
|
if(system_get_cur_app()==ID_APP_PEV)
|
|
|
|
|
|
{
|
|
|
|
|
|
return ;
|
|
|
|
|
|
}
|
2025-01-08 19:12:06 +08:00
|
|
|
|
|
2024-09-30 17:06:01 +08:00
|
|
|
|
tui_sys_msg_send(TUI_DSK_MSG_CAR_PEV_ON, NULL, NULL);
|
|
|
|
|
|
}
|
|
|
|
|
|
else if(pev_ctrl=='0')///exit pev
|
|
|
|
|
|
{
|
|
|
|
|
|
__msg("=================prv exit==============\n");
|
|
|
|
|
|
tui_sys_msg_send(TUI_DSK_MSG_CAR_PEV_OFF, NULL, NULL);
|
|
|
|
|
|
}
|
|
|
|
|
|
#endif
|
|
|
|
|
|
return;
|
|
|
|
|
|
}
|
|
|
|
|
|
__s32 sys_bt_set_phonebook(u8 *phonebook)
|
|
|
|
|
|
{///bt_phonebook_para
|
|
|
|
|
|
__s32 namelen = 0;////<2F><><EFBFBD>Ƴ<EFBFBD><C6B3><EFBFBD>
|
|
|
|
|
|
__s32 numlen = 0;////<2F>绰<EFBFBD><E7BBB0><EFBFBD>볤<EFBFBD><EBB3A4>
|
|
|
|
|
|
__s32 datelen = 0;////<2F><><EFBFBD>ڳ<EFBFBD><DAB3><EFBFBD>
|
|
|
|
|
|
__u8 type=0;
|
2025-01-08 19:12:06 +08:00
|
|
|
|
|
2024-09-30 17:06:01 +08:00
|
|
|
|
__s32 numstart_index = 0;
|
|
|
|
|
|
__s32 i=0;
|
|
|
|
|
|
__s32 second_num_index=0;
|
|
|
|
|
|
__s32 second_num_cnt=0;
|
|
|
|
|
|
__s32 second_num_flag=0;
|
|
|
|
|
|
__u8 *ptr=0;
|
2025-01-08 19:12:06 +08:00
|
|
|
|
|
2024-09-30 17:06:01 +08:00
|
|
|
|
// __msg("phonebook:[%s]\n",system_do_msg);
|
|
|
|
|
|
///ȡ<><C8A1><EFBFBD>Ƴ<EFBFBD><C6B3><EFBFBD>
|
|
|
|
|
|
namelen=phonebook[1];
|
|
|
|
|
|
numlen=phonebook[2];
|
|
|
|
|
|
datelen=phonebook[3];
|
|
|
|
|
|
type=phonebook[4];
|
2025-01-08 19:12:06 +08:00
|
|
|
|
|
2024-09-30 17:06:01 +08:00
|
|
|
|
////ָ<><D6B8>NAME
|
|
|
|
|
|
ptr=&(phonebook[5]);
|
|
|
|
|
|
//__wrn("namelen =%d,numlen=%d,datelen =%d,type=%d",namelen,numlen,datelen,type);
|
|
|
|
|
|
__wrn("ptr =%s",ptr);
|
|
|
|
|
|
switch(type)
|
|
|
|
|
|
{
|
|
|
|
|
|
case 0x0://<2F>绰<EFBFBD><E7BBB0>
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
strncpy(bt_phonebook_para->phonebook_name[bt_phonebook_para->cur_phone_total], ptr, namelen+1);
|
|
|
|
|
|
bt_phonebook_para->phonebook_name[bt_phonebook_para->cur_phone_total][namelen]='\0';
|
|
|
|
|
|
strncpy(bt_phonebook_para->phonebook_number[bt_phonebook_para->cur_phone_total], ptr+namelen, numlen);
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB>ȡһ<C8A1><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
// strncpy(bt_phonebook_para->phonebook_number[bt_phonebook_para->cur_phone_total], ptr+namelen, 11);
|
|
|
|
|
|
bt_phonebook_para->phonebook_number[bt_phonebook_para->cur_phone_total][numlen]='\0';
|
|
|
|
|
|
//__wrn("phonebook_name =%s",bt_phonebook_para->phonebook_name[bt_phonebook_para->cur_phone_total]);
|
|
|
|
|
|
//__wrn("phonebook_number =%s",bt_phonebook_para->phonebook_number[bt_phonebook_para->cur_phone_total]);
|
|
|
|
|
|
bt_phonebook_para->cur_phone_total++;
|
|
|
|
|
|
__wrn("cur_phone_total =%d",bt_phonebook_para->cur_phone_total);
|
|
|
|
|
|
if(bt_phonebook_para->cur_phone_total>=999)
|
|
|
|
|
|
bt_phonebook_para->cur_phone_total= 999;
|
2025-01-08 19:12:06 +08:00
|
|
|
|
|
2024-09-30 17:06:01 +08:00
|
|
|
|
break;
|
|
|
|
|
|
}
|
|
|
|
|
|
case 0x1://<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
strncpy(bt_phonebook_para->phoneout_name[bt_phonebook_para->cur_phoneout_total], ptr, namelen+1);
|
|
|
|
|
|
bt_phonebook_para->phoneout_name[bt_phonebook_para->cur_phoneout_total][namelen]='\0';
|
|
|
|
|
|
strncpy(bt_phonebook_para->phoneout_number[bt_phonebook_para->cur_phoneout_total], ptr+namelen, numlen);
|
|
|
|
|
|
bt_phonebook_para->phoneout_number[bt_phonebook_para->cur_phoneout_total][numlen]='\0';
|
|
|
|
|
|
//__wrn("phoneout_number =%s",bt_phonebook_para->phoneout_name[bt_phonebook_para->cur_phoneout_total]);
|
|
|
|
|
|
//__wrn("phoneout_number =%s",bt_phonebook_para->phoneout_number[bt_phonebook_para->cur_phoneout_total]);
|
|
|
|
|
|
bt_phonebook_para->cur_phoneout_total++;
|
|
|
|
|
|
break;
|
|
|
|
|
|
}
|
|
|
|
|
|
case 0x2://<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
{
|
|
|
|
|
|
strncpy(bt_phonebook_para->phonein_name[bt_phonebook_para->cur_phonein_total], ptr, namelen+1);
|
|
|
|
|
|
bt_phonebook_para->phonein_name[bt_phonebook_para->cur_phonein_total][namelen]='\0';
|
|
|
|
|
|
strncpy(bt_phonebook_para->phonein_number[bt_phonebook_para->cur_phonein_total], ptr+namelen, numlen);
|
|
|
|
|
|
bt_phonebook_para->phonein_number[bt_phonebook_para->cur_phonein_total][numlen]='\0';
|
|
|
|
|
|
//__wrn("phonein_number =%s",bt_phonebook_para->phonein_name[bt_phonebook_para->cur_phonein_total]);
|
|
|
|
|
|
//__wrn("phonein_number =%s",bt_phonebook_para->phonein_number[bt_phonebook_para->cur_phonein_total]);
|
|
|
|
|
|
bt_phonebook_para->cur_phonein_total++;
|
|
|
|
|
|
break;
|
|
|
|
|
|
}
|
|
|
|
|
|
case 0x3://δ<>Ӻ<EFBFBD><D3BA><EFBFBD>
|
|
|
|
|
|
{
|
|
|
|
|
|
strncpy(bt_phonebook_para->phonemiss_name[bt_phonebook_para->cur_phonemiss_total], ptr, namelen+1);
|
|
|
|
|
|
bt_phonebook_para->phonemiss_name[bt_phonebook_para->cur_phonemiss_total][namelen]='\0';
|
|
|
|
|
|
strncpy(bt_phonebook_para->phonemiss_number[bt_phonebook_para->cur_phonemiss_total], ptr+namelen, numlen);
|
|
|
|
|
|
bt_phonebook_para->phonemiss_number[bt_phonebook_para->cur_phonemiss_total][numlen]='\0';
|
|
|
|
|
|
//__wrn("phonemiss_number =%s",bt_phonebook_para->phonemiss_name[bt_phonebook_para->cur_phonemiss_total]);
|
|
|
|
|
|
//__wrn("phonemiss_number =%s",bt_phonebook_para->phonemiss_number[bt_phonebook_para->cur_phonemiss_total]);
|
|
|
|
|
|
bt_phonebook_para->cur_phonemiss_total++;
|
|
|
|
|
|
break;
|
|
|
|
|
|
}
|
|
|
|
|
|
case 0xf0: //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C>û<EFBFBD><C3BB><EFBFBD><EFBFBD>ͱ<EFBFBD><CDB1>ǵ<EFBFBD>GUI<55><49>ʾ
|
|
|
|
|
|
{
|
2025-01-08 19:12:06 +08:00
|
|
|
|
#if RTOS
|
2024-09-30 17:06:01 +08:00
|
|
|
|
tui_sys_msg_send(TUI_USER_MSG_APP_GO_BT_BOOK_SHOW, NULL, NULL);
|
2025-01-08 19:12:06 +08:00
|
|
|
|
#endif
|
2024-09-30 17:06:01 +08:00
|
|
|
|
break;
|
|
|
|
|
|
}
|
|
|
|
|
|
default:
|
|
|
|
|
|
{
|
|
|
|
|
|
__wrn("not find cmd");
|
|
|
|
|
|
break;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
return 0;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>ָʾ<D6B8>绰<EFBFBD><E7BBB0><EFBFBD><EFBFBD>
|
|
|
|
|
|
__s32 sys_bt_get_phonenum(char *btstring)
|
|
|
|
|
|
{
|
|
|
|
|
|
__s32 i=0;
|
|
|
|
|
|
char *p = &(btstring[2]);
|
2025-01-08 19:12:06 +08:00
|
|
|
|
|
2024-09-30 17:06:01 +08:00
|
|
|
|
if(system_do_msg[1]!='G')
|
|
|
|
|
|
{
|
|
|
|
|
|
__msg("=====Wrong phone number====\n");
|
|
|
|
|
|
return 0;
|
|
|
|
|
|
}
|
|
|
|
|
|
memset(bt_callin_buf, 0, 64);
|
2025-01-08 19:12:06 +08:00
|
|
|
|
|
2024-09-30 17:06:01 +08:00
|
|
|
|
for(i=0;i<60;i++,p++)
|
|
|
|
|
|
{
|
|
|
|
|
|
if(*p=='G')
|
|
|
|
|
|
{
|
|
|
|
|
|
__inf("\n==='G'over===\n");
|
|
|
|
|
|
break;
|
|
|
|
|
|
}
|
|
|
|
|
|
bt_callin_buf[i] = *p;////sys_docmd[i+2];
|
|
|
|
|
|
//__inf("=%x=",bt_callin_buf[i]);
|
|
|
|
|
|
}
|
|
|
|
|
|
//__inf("==i:%d==\n",i);
|
|
|
|
|
|
bt_callin_buf[i]='\0';
|
|
|
|
|
|
__msg("======phone number=%s=%d=====\n",bt_callin_buf,strlen(bt_callin_buf));
|
|
|
|
|
|
//__msg("=====Telephone number:%s======\n",bt_callin_buf);
|
|
|
|
|
|
return 0;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>绰<EFBFBD><E7BBB0><EFBFBD><EFBFBD>¼
|
|
|
|
|
|
void sys_bt_clear_phonebook(void)
|
|
|
|
|
|
{
|
|
|
|
|
|
#if 1//test bug died
|
|
|
|
|
|
if(bt_phonebook_para != NULL)
|
|
|
|
|
|
{
|
|
|
|
|
|
//bt_phonebook_para->cur_phone_total=0;
|
|
|
|
|
|
//bt_phonebook_para->cur_phoneout_total=0;
|
|
|
|
|
|
//bt_phonebook_para->cur_phonein_total=0;
|
|
|
|
|
|
//bt_phonebook_para->cur_phonemiss_total=0;
|
2025-01-08 19:12:06 +08:00
|
|
|
|
memset(bt_phonebook_para,0,sizeof(bt_phonebook_state));
|
2024-09-30 17:06:01 +08:00
|
|
|
|
}
|
2025-01-08 19:12:06 +08:00
|
|
|
|
#endif
|
2024-09-30 17:06:01 +08:00
|
|
|
|
}
|
|
|
|
|
|
__s32 sys_bt_fm_process(void)
|
|
|
|
|
|
{
|
|
|
|
|
|
switch(system_do_msg[1])
|
|
|
|
|
|
{
|
|
|
|
|
|
case 'A'://<2F><><EFBFBD>ؽ<EFBFBD>Ŀ<EFBFBD>Ŷ<EFBFBD>Ӧ<EFBFBD><D3A6>Ƶ<EFBFBD><C6B5>
|
2025-01-08 19:12:06 +08:00
|
|
|
|
{
|
2024-09-30 17:06:01 +08:00
|
|
|
|
ChtoFreq = (system_do_msg[3]<<8)+system_do_msg[2];
|
|
|
|
|
|
}
|
|
|
|
|
|
break;
|
|
|
|
|
|
case 'I':
|
2025-01-08 19:12:06 +08:00
|
|
|
|
{
|
2024-09-30 17:06:01 +08:00
|
|
|
|
bt_fmrx_info.ch_cnt = system_do_msg[2];
|
|
|
|
|
|
bt_fmrx_list.ch_cnt =bt_fmrx_info.ch_cnt;
|
|
|
|
|
|
bt_fmrx_info.ch_cur = system_do_msg[3];
|
|
|
|
|
|
bt_fmrx_info.freq = system_do_msg[5]<<8+system_do_msg[4];
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
break;
|
|
|
|
|
|
case 'L':
|
|
|
|
|
|
{
|
2025-01-08 19:12:06 +08:00
|
|
|
|
u8 i;
|
|
|
|
|
|
bt_fmrx_list.ch_cnt = system_do_msg[2]; //һ<><D2BB>û<EFBFBD><C3BB>64<36><34><EFBFBD><EFBFBD>Ŀ
|
2024-09-30 17:06:01 +08:00
|
|
|
|
bt_fmrx_info.ch_cnt = bt_fmrx_list.ch_cnt;
|
|
|
|
|
|
for(i = 0;i<bt_fmrx_list.ch_cnt;i++)
|
|
|
|
|
|
{
|
|
|
|
|
|
//<2F><>0<EFBFBD><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD>ǵ<EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF>Ƶ<EFBFBD><C6B5>
|
|
|
|
|
|
bt_fmrx_list.freq[i]=(system_do_msg[4+i*2]<<8)+system_do_msg[3+i*2];
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
break;
|
|
|
|
|
|
case 'T':
|
|
|
|
|
|
{
|
|
|
|
|
|
bt_fmrx_info.ch_cnt = system_do_msg[2];
|
|
|
|
|
|
bt_fmrx_list.ch_cnt = bt_fmrx_info.ch_cnt;
|
|
|
|
|
|
}
|
|
|
|
|
|
break;
|
|
|
|
|
|
default:
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
break;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
__s32 sys_bt_dosomething(void)
|
|
|
|
|
|
{
|
|
|
|
|
|
__s32 i = 0;
|
|
|
|
|
|
|
|
|
|
|
|
switch(system_do_msg[1])
|
|
|
|
|
|
{
|
|
|
|
|
|
case 'A'://HFP<46><50>ǰ״ָ̬ʾ->û<><C3BB><EFBFBD><EFBFBD>
|
|
|
|
|
|
{
|
|
|
|
|
|
__msg("=====================BT_STATE_NOTCONNECTE=====================\n");
|
|
|
|
|
|
///ϵͳû<CDB3><C3BB><EFBFBD>ϲ<EFBFBD><CFB2>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD>Ϻ<EFBFBD><CFBA><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>
|
|
|
|
|
|
if(bt_connect_flag != BT_STATE_NOTCONNECTE)
|
|
|
|
|
|
{
|
|
|
|
|
|
if(bt_phonebook_para!= NULL)
|
|
|
|
|
|
{
|
|
|
|
|
|
sys_bt_clear_phonebook();
|
|
|
|
|
|
}
|
|
|
|
|
|
bt_connect_flag = BT_STATE_NOTCONNECTE;
|
|
|
|
|
|
bt_phone_state = BT_PHONE_INIT;
|
|
|
|
|
|
bt_audio_set_status(BT_STAT_IDLE);
|
|
|
|
|
|
memset(phone_name_buf,0,24);
|
2025-01-08 19:12:06 +08:00
|
|
|
|
#if RTOS
|
|
|
|
|
|
tui_obj_set_hidden(TUI_OBJ(GLOBAL_BAR_GLOBAL_VIEW_IMAGE_BTN_7), 1);
|
|
|
|
|
|
#endif
|
2024-09-30 17:06:01 +08:00
|
|
|
|
}
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>Ͽ<EFBFBD><CFBF><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>˵<EFBFBD><CBB5><EFBFBD>һ<EFBFBD><D2BB>Ӧ<EFBFBD>õ<EFBFBD>
|
2025-01-08 19:12:06 +08:00
|
|
|
|
#if RTOS
|
2024-09-30 17:06:01 +08:00
|
|
|
|
if(system_get_bt_need_exit()==1)
|
|
|
|
|
|
{
|
2025-01-08 19:12:06 +08:00
|
|
|
|
system_set_bt_need_exit(0);
|
|
|
|
|
|
tui_sys_msg_send(TUI_DSK_MSG_RUN_PREV_AUDIO_APP, NULL, NULL);
|
2024-09-30 17:06:01 +08:00
|
|
|
|
}
|
2025-01-08 19:12:06 +08:00
|
|
|
|
#endif
|
2024-09-30 17:06:01 +08:00
|
|
|
|
}
|
|
|
|
|
|
break;
|
|
|
|
|
|
case 'B'://HFP<46><50>ǰ״ָ̬ʾ-><3E><><EFBFBD><EFBFBD><EFBFBD>ˡ<EFBFBD>
|
|
|
|
|
|
{
|
|
|
|
|
|
__msg("=====================BT_STATE_CONNECTED=====================\n");
|
2025-01-08 19:12:06 +08:00
|
|
|
|
///ϵͳ<CFB5><CDB3><EFBFBD>ϲ<EFBFBD><CFB2>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD>Ϻ<EFBFBD><CFBA><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>
|
2024-09-30 17:06:01 +08:00
|
|
|
|
////draw not connect icon
|
|
|
|
|
|
bt_connect_flag = BT_STATE_CONNECTED;
|
|
|
|
|
|
bt_phone_state = BT_PHONE_INIT;
|
|
|
|
|
|
bt_audio_set_status(BT_STAT_IDLE);
|
2025-01-08 19:12:06 +08:00
|
|
|
|
#if RTOS
|
|
|
|
|
|
tui_obj_set_hidden(TUI_OBJ(GLOBAL_BAR_GLOBAL_VIEW_IMAGE_BTN_7), 0);
|
|
|
|
|
|
#endif
|
2024-09-30 17:06:01 +08:00
|
|
|
|
}
|
|
|
|
|
|
break;
|
|
|
|
|
|
case 'C'://<2F><><EFBFBD><EFBFBD>PIN<49><4E>
|
|
|
|
|
|
{
|
|
|
|
|
|
__msg("======================bt PIN=====================\n");
|
|
|
|
|
|
for(i=0;i<24;i++)
|
|
|
|
|
|
{
|
|
|
|
|
|
if(system_do_msg[2+i]==0xff||system_do_msg[2+i]==0x0)
|
|
|
|
|
|
{
|
|
|
|
|
|
bt_pincard_buf[i]=0x0;
|
|
|
|
|
|
__inf("=====over=====");
|
|
|
|
|
|
break;
|
|
|
|
|
|
}
|
|
|
|
|
|
bt_pincard_buf[i]=system_do_msg[2+i];
|
|
|
|
|
|
//__inf("=%x=",bt_pincard_buf[i]);
|
2025-01-08 19:12:06 +08:00
|
|
|
|
|
2024-09-30 17:06:01 +08:00
|
|
|
|
}
|
2025-01-08 19:12:06 +08:00
|
|
|
|
#if RTOS
|
2024-09-30 17:06:01 +08:00
|
|
|
|
__msg("======================bt PIN :%s======================\n",bt_pincard_buf);
|
|
|
|
|
|
tui_sys_msg_send(TUI_USER_MSG_APP_GO_BT_SET_PIN, NULL, NULL);
|
|
|
|
|
|
#endif
|
2025-01-08 19:12:06 +08:00
|
|
|
|
|
2024-09-30 17:06:01 +08:00
|
|
|
|
}
|
|
|
|
|
|
break;
|
|
|
|
|
|
case 'D'://<2F>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD>ڰκ<DAB0>
|
|
|
|
|
|
{
|
|
|
|
|
|
__msg("======================phone call out====================\n");
|
|
|
|
|
|
if(sys_bt_get_phone_state()==0)//////2016-01-15
|
|
|
|
|
|
{
|
|
|
|
|
|
if(bt_connect_flag!=BT_STATE_CONNECTED)
|
|
|
|
|
|
{
|
|
|
|
|
|
///__msg("=====there was no connection==============\n");
|
|
|
|
|
|
bt_connect_flag = BT_STATE_CONNECTED;
|
2025-01-08 19:12:06 +08:00
|
|
|
|
#if RTOS
|
2024-09-30 17:06:01 +08:00
|
|
|
|
tui_obj_set_hidden(TUI_OBJ(GLOBAL_BAR_GLOBAL_VIEW_IMAGE_BTN_7), 0);
|
2025-01-08 19:12:06 +08:00
|
|
|
|
#endif
|
2024-09-30 17:06:01 +08:00
|
|
|
|
}
|
|
|
|
|
|
bt_phone_state = BT_PHONE_OUTING;
|
2025-01-08 19:12:06 +08:00
|
|
|
|
#if RTOS
|
2024-09-30 17:06:01 +08:00
|
|
|
|
tui_sys_msg_send(TUI_DSK_MSG_PHONE_CALLING, NULL, NULL);
|
2025-01-08 19:12:06 +08:00
|
|
|
|
#endif
|
2024-09-30 17:06:01 +08:00
|
|
|
|
}
|
|
|
|
|
|
else
|
|
|
|
|
|
{
|
|
|
|
|
|
///__msg("===========<3D><><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8>״̬===========\n");
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
break;
|
|
|
|
|
|
case 'E'://<2F>绰<EFBFBD>ѹҶ<D1B9>
|
|
|
|
|
|
{
|
|
|
|
|
|
__msg("==========The phone has been hung up==========\n");
|
|
|
|
|
|
if(bt_connect_flag!=BT_STATE_CONNECTED)
|
|
|
|
|
|
{
|
|
|
|
|
|
///__msg("=====there was no connection==============\n");
|
|
|
|
|
|
bt_connect_flag = BT_STATE_CONNECTED;
|
2025-01-08 19:12:06 +08:00
|
|
|
|
#if RTOS
|
2024-09-30 17:06:01 +08:00
|
|
|
|
tui_obj_set_hidden(TUI_OBJ(GLOBAL_BAR_GLOBAL_VIEW_IMAGE_BTN_7), 0);
|
2025-01-08 19:12:06 +08:00
|
|
|
|
#endif
|
2024-09-30 17:06:01 +08:00
|
|
|
|
}
|
|
|
|
|
|
bt_phone_state = BT_PHONE_INIT;
|
2025-01-08 19:12:06 +08:00
|
|
|
|
#if RTOS
|
2024-09-30 17:06:01 +08:00
|
|
|
|
tui_sys_msg_send(TUI_DSK_MSG_BREAK_CALLING, NULL, NULL);
|
2025-01-08 19:12:06 +08:00
|
|
|
|
#endif
|
2024-09-30 17:06:01 +08:00
|
|
|
|
}
|
|
|
|
|
|
break;
|
|
|
|
|
|
case 'F'://///////<2F><><EFBFBD><EFBFBD>ָʾ///<2F>绰<DEB5><E7BBB0><EFBFBD><EFBFBD>
|
|
|
|
|
|
{
|
|
|
|
|
|
#if RTOS
|
|
|
|
|
|
__msg("===================Incoming call===================\n");
|
|
|
|
|
|
if(bt_connect_flag!=BT_STATE_CONNECTED)
|
|
|
|
|
|
{
|
|
|
|
|
|
///__msg("=====there was no connection==============\n");
|
|
|
|
|
|
bt_connect_flag = BT_STATE_CONNECTED;
|
2025-01-08 19:12:06 +08:00
|
|
|
|
|
2024-09-30 17:06:01 +08:00
|
|
|
|
tui_obj_set_hidden(TUI_OBJ(GLOBAL_BAR_GLOBAL_VIEW_IMAGE_BTN_7), 0);
|
2025-01-08 19:12:06 +08:00
|
|
|
|
|
2024-09-30 17:06:01 +08:00
|
|
|
|
}
|
|
|
|
|
|
if(bt_phone_state != BT_PHONE_INING)
|
|
|
|
|
|
{
|
|
|
|
|
|
bt_phone_state = BT_PHONE_INING;
|
|
|
|
|
|
}
|
2025-01-08 19:12:06 +08:00
|
|
|
|
|
2024-09-30 17:06:01 +08:00
|
|
|
|
__msg("===================================================\n");
|
|
|
|
|
|
if(system_get_lcd_state()==LCD_STAT_OFF)//<2F><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>״̬
|
|
|
|
|
|
{
|
|
|
|
|
|
__msg("=========bt_audio_to_phone=========\n");
|
2025-01-08 19:12:06 +08:00
|
|
|
|
bt_audio_to_phone();
|
2024-09-30 17:06:01 +08:00
|
|
|
|
return 0;
|
|
|
|
|
|
}
|
|
|
|
|
|
else
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
if(system_get_cur_app()==ID_APP_PEV)
|
|
|
|
|
|
{
|
|
|
|
|
|
if(get_vol_mute_state() == 1)
|
|
|
|
|
|
{
|
|
|
|
|
|
///__msg("===========unMUTE==========\n");
|
|
|
|
|
|
tui_sys_msg_send(TUI_USER_MSG_APP_SPINNER_GO_VOL_MUTE, NULL, NULL);
|
|
|
|
|
|
dsk_aux_set_volume(dsk_aux_get_volume());
|
|
|
|
|
|
}
|
|
|
|
|
|
///<2F><>ͨ<EFBFBD><CDA8>
|
|
|
|
|
|
///__msg("==============<3D><>ͨ<EFBFBD><CDA8>============\n");
|
|
|
|
|
|
dsk_aux_select_channel(AUX_AUDIO_CHANNEL);
|
|
|
|
|
|
system_enter_denoise();
|
|
|
|
|
|
///__msg("================<3D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>==============\n");
|
|
|
|
|
|
return 0;
|
|
|
|
|
|
}
|
|
|
|
|
|
else
|
|
|
|
|
|
{
|
|
|
|
|
|
__u8 cur_app= system_get_cur_app();
|
|
|
|
|
|
if(cur_app != ID_APP_BT)
|
|
|
|
|
|
{
|
|
|
|
|
|
///__msg("=========================SYSTEM_MEDIA_SAVE_BREAKPOINT=====================\n");
|
|
|
|
|
|
//1,<2C><><EFBFBD>浱ǰӦ<C7B0><D3A6><EFBFBD><EFBFBD>Ϣ
|
|
|
|
|
|
//2,<2C>л<EFBFBD><D0BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6>
|
|
|
|
|
|
tui_sys_msg_send(TUI_DSK_MSG_SYSTEM_SAVE_BREAKPOINT, 0, NULL);
|
|
|
|
|
|
system_set_bt_need_exit(1);
|
|
|
|
|
|
tui_sys_msg_send(TUI_USER_MSG_APP_GO_BT, 0, NULL);
|
|
|
|
|
|
///__msg("=========================ID_APP_BT CREAT FINISHED=====================\n");
|
|
|
|
|
|
}
|
|
|
|
|
|
else
|
|
|
|
|
|
{
|
|
|
|
|
|
if(bt_connect_flag!=BT_STATE_CONNECTED)
|
|
|
|
|
|
{
|
|
|
|
|
|
///__msg("=====there was no connection==============\n");
|
|
|
|
|
|
bt_connect_flag = BT_STATE_CONNECTED;
|
|
|
|
|
|
tui_obj_set_hidden(TUI_OBJ(GLOBAL_BAR_GLOBAL_VIEW_IMAGE_BTN_7), 0);
|
|
|
|
|
|
}
|
|
|
|
|
|
bt_phone_state = BT_PHONE_INING;
|
|
|
|
|
|
tui_sys_msg_send(TUI_DSK_MSG_PHONE_CALLING, NULL, NULL);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
2025-01-08 19:12:06 +08:00
|
|
|
|
#endif
|
2024-09-30 17:06:01 +08:00
|
|
|
|
}
|
|
|
|
|
|
break;
|
|
|
|
|
|
case 'G'://{"ID", 4},///////<2F><><EFBFBD><EFBFBD>ָʾ///<2F><><EFBFBD><EFBFBD>ָʾ(<28>绰<EFBFBD><E7BBB0><EFBFBD><EFBFBD>)ͬʱȡ<CAB1><C8A1><EFBFBD>绰<EFBFBD><E7BBB0><EFBFBD><EFBFBD>
|
|
|
|
|
|
{
|
2025-01-08 19:12:06 +08:00
|
|
|
|
#if RTOS
|
2024-09-30 17:06:01 +08:00
|
|
|
|
__msg("===================Incoming call indication=======================\n");
|
|
|
|
|
|
if(bt_connect_flag!=BT_STATE_CONNECTED)
|
|
|
|
|
|
{
|
|
|
|
|
|
///__msg("=====there was no connection==============\n");
|
|
|
|
|
|
bt_connect_flag = BT_STATE_CONNECTED;
|
|
|
|
|
|
tui_obj_set_hidden(TUI_OBJ(GLOBAL_BAR_GLOBAL_VIEW_IMAGE_BTN_7), 0);
|
|
|
|
|
|
}
|
|
|
|
|
|
if(sys_bt_get_phone_state()==0)
|
|
|
|
|
|
{
|
|
|
|
|
|
bt_phone_state = BT_PHONE_INING;
|
|
|
|
|
|
tui_sys_msg_send(TUI_DSK_MSG_PHONE_CALLING, NULL, NULL);
|
|
|
|
|
|
}
|
|
|
|
|
|
else
|
|
|
|
|
|
{
|
|
|
|
|
|
__msg("========Repeated calls========\n");
|
|
|
|
|
|
bt_phone_state = BT_PHONE_INING;
|
|
|
|
|
|
sys_bt_get_phonenum(system_do_msg);
|
|
|
|
|
|
///__msg("====<3D><>ǰ<EFBFBD><C7B0>BT====\n");
|
|
|
|
|
|
tui_sys_msg_send(TUI_DSK_MSG_PHONE_CALLING, NULL, NULL);
|
|
|
|
|
|
}
|
2025-01-08 19:12:06 +08:00
|
|
|
|
#endif
|
2024-09-30 17:06:01 +08:00
|
|
|
|
}
|
|
|
|
|
|
break;
|
|
|
|
|
|
case 'I'://{"IG", 4},///////<2F>绰<EFBFBD><E7BBB0><EFBFBD><EFBFBD>
|
|
|
|
|
|
{
|
2025-01-08 19:12:06 +08:00
|
|
|
|
#if RTOS
|
2024-09-30 17:06:01 +08:00
|
|
|
|
__msg("=============================The phone has been answered777777======================\n");
|
|
|
|
|
|
if(bt_connect_flag!=BT_STATE_CONNECTED)
|
|
|
|
|
|
{
|
|
|
|
|
|
///__msg("=====there was no connection==============\n");
|
|
|
|
|
|
bt_connect_flag = BT_STATE_CONNECTED;
|
|
|
|
|
|
tui_obj_set_hidden(TUI_OBJ(GLOBAL_BAR_GLOBAL_VIEW_IMAGE_BTN_7), 0);
|
|
|
|
|
|
}
|
|
|
|
|
|
bt_connect_flag = BT_STATE_CONNECTED;
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////////
|
2025-01-08 19:12:06 +08:00
|
|
|
|
|
2024-09-30 17:06:01 +08:00
|
|
|
|
if(bt_phone_state ==BT_PHONE_INING)
|
|
|
|
|
|
{
|
|
|
|
|
|
__msg("==================talking in===================\n");
|
|
|
|
|
|
///bt_phone_incoming();
|
|
|
|
|
|
bt_phone_state = BT_PHONE_TALKINING;
|
|
|
|
|
|
}
|
|
|
|
|
|
else if(bt_phone_state ==BT_PHONE_OUTING)
|
|
|
|
|
|
{
|
|
|
|
|
|
__msg("==================talking out===================\n");
|
|
|
|
|
|
bt_phone_state = BT_PHONE_TALKOUTING;
|
|
|
|
|
|
}
|
|
|
|
|
|
if(system_get_cur_app()== ID_APP_BT)
|
|
|
|
|
|
{
|
|
|
|
|
|
tui_sys_msg_send(TUI_USER_MSG_APP_GO_BT_PHONENUMBER_SHOW, NULL, NULL);
|
|
|
|
|
|
}
|
2025-01-08 19:12:06 +08:00
|
|
|
|
#endif
|
2024-09-30 17:06:01 +08:00
|
|
|
|
}
|
|
|
|
|
|
break;
|
|
|
|
|
|
case 'K'://<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD><D3B5>ֻ<EFBFBD><D6BB><EFBFBD>
|
|
|
|
|
|
{
|
2025-01-08 19:12:06 +08:00
|
|
|
|
#if RTOS
|
2024-09-30 17:06:01 +08:00
|
|
|
|
__s32 i=0;
|
2025-01-08 19:12:06 +08:00
|
|
|
|
|
2024-09-30 17:06:01 +08:00
|
|
|
|
__msg("=============================phone bt name======================\n");
|
|
|
|
|
|
for(i=0;i<24;i++)
|
|
|
|
|
|
{
|
|
|
|
|
|
if(system_do_msg[2+i]==0xff||system_do_msg[2+i]==0x0)
|
|
|
|
|
|
{
|
|
|
|
|
|
phone_name_buf[i]=0x0;
|
|
|
|
|
|
__inf("=====over=====");
|
|
|
|
|
|
break;
|
|
|
|
|
|
}
|
|
|
|
|
|
phone_name_buf[i]=system_do_msg[2+i];
|
|
|
|
|
|
//__inf("=%x=",phone_name_buf[i]);
|
2025-01-08 19:12:06 +08:00
|
|
|
|
|
2024-09-30 17:06:01 +08:00
|
|
|
|
}
|
|
|
|
|
|
__msg("=============================phone bt name:%s======================\n",phone_name_buf);
|
|
|
|
|
|
tui_sys_msg_send(TUI_USER_MSG_APP_GO_BT_SET_BTNAME, NULL, NULL);
|
2025-01-08 19:12:06 +08:00
|
|
|
|
#endif
|
2024-09-30 17:06:01 +08:00
|
|
|
|
}
|
|
|
|
|
|
break;
|
|
|
|
|
|
case 'M'://{"mb", 4},///////<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
{
|
2025-01-08 19:12:06 +08:00
|
|
|
|
#if RTOS
|
2024-09-30 17:06:01 +08:00
|
|
|
|
__msg("============================play music======================\n");
|
|
|
|
|
|
//////////////////////////////<2F><EFBFBD><E2BFAA>û<EFBFBD><C3BB>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/////////////////////////
|
|
|
|
|
|
bt_connect_flag = BT_STATE_CONNECTED;
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
//bt_phone_music_state = 1;
|
|
|
|
|
|
bt_phone_state = BT_PHONE_INIT;
|
|
|
|
|
|
//bt_mute_flag=0; ///<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2025-01-08 19:12:06 +08:00
|
|
|
|
#endif
|
2024-09-30 17:06:01 +08:00
|
|
|
|
}
|
|
|
|
|
|
break;
|
|
|
|
|
|
case 'N'://<2F><><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8>
|
|
|
|
|
|
{
|
2025-01-08 19:12:06 +08:00
|
|
|
|
#if RTOS
|
|
|
|
|
|
__msg("=============================host bt name======================\n");
|
2024-09-30 17:06:01 +08:00
|
|
|
|
for(i=0;i<24;i++)
|
|
|
|
|
|
{
|
|
|
|
|
|
if(system_do_msg[2+i]==0xff||system_do_msg[2+i]==0x0)
|
|
|
|
|
|
{
|
|
|
|
|
|
bt_hostname_buf[i]=0x0;
|
|
|
|
|
|
__inf("=====over=====");
|
|
|
|
|
|
break;
|
|
|
|
|
|
}
|
|
|
|
|
|
bt_hostname_buf[i]=system_do_msg[2+i];
|
|
|
|
|
|
//__inf("=%x=",bt_hostname_buf[i]);
|
2025-01-08 19:12:06 +08:00
|
|
|
|
|
2024-09-30 17:06:01 +08:00
|
|
|
|
}
|
|
|
|
|
|
__msg("=============================host bt name:%s======================\n",bt_hostname_buf);
|
|
|
|
|
|
//bt_phone_music_state = 1;
|
|
|
|
|
|
tui_sys_msg_send(TUI_USER_MSG_APP_GO_BT_SET_HOSTNAME, NULL, NULL);
|
2025-01-08 19:12:06 +08:00
|
|
|
|
#endif
|
2024-09-30 17:06:01 +08:00
|
|
|
|
}
|
|
|
|
|
|
break;
|
|
|
|
|
|
case 'S'://ȡBT STATE
|
|
|
|
|
|
{
|
2025-01-08 19:12:06 +08:00
|
|
|
|
#if RTOS
|
2024-09-30 17:06:01 +08:00
|
|
|
|
// BT_STATUS_CONNECTING, /*<2A><><EFBFBD><EFBFBD><EFBFBD>ӣ<EFBFBD>û<EFBFBD>е绰<D0B5><E7BBB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڻ*///40
|
|
|
|
|
|
//BT_STATUS_TAKEING_PHONE, /*<2A><><EFBFBD>ڵ绰*/
|
|
|
|
|
|
//BT_STATUS_PLAYING_MUSIC, /*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
|
|
|
|
|
|
__msg("===============the bt state in current:%d===========\n",system_do_msg[2]);
|
|
|
|
|
|
if(system_do_msg[2]==40)//BT_STATUS_CONNECTING
|
|
|
|
|
|
{
|
|
|
|
|
|
if(bt_connect_flag!=BT_STATE_CONNECTED)
|
|
|
|
|
|
{
|
|
|
|
|
|
///__msg("======================֮ǰΪû<CEAA><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>====================\n");
|
|
|
|
|
|
bt_connect_flag = BT_STATE_CONNECTED;
|
|
|
|
|
|
tui_obj_set_hidden(TUI_OBJ(GLOBAL_BAR_GLOBAL_VIEW_IMAGE_BTN_7), 0);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
else if(system_do_msg[2]==41)//BT_STATUS_TAKEING_PHONE
|
|
|
|
|
|
{
|
|
|
|
|
|
///__msg("======================<3D><><EFBFBD><EFBFBD>ָʾ====================\n");
|
2025-01-08 19:12:06 +08:00
|
|
|
|
|
2024-09-30 17:06:01 +08:00
|
|
|
|
if(bt_phone_state != BT_PHONE_INING)
|
|
|
|
|
|
{
|
|
|
|
|
|
bt_phone_state=BT_PHONE_INING;
|
|
|
|
|
|
}
|
|
|
|
|
|
///__msg("=============================<3D><><EFBFBD><EFBFBD>======================\n");
|
|
|
|
|
|
if(system_get_lcd_state()==LCD_STAT_OFF)//<2F><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>״̬
|
|
|
|
|
|
{
|
|
|
|
|
|
///__msg("==========<3D>е<EFBFBD><D0B5>ֻ<EFBFBD><D6BB><EFBFBD>=========\n");
|
|
|
|
|
|
bt_audio_to_phone();
|
|
|
|
|
|
//bt_state=BT_PHONE_INING;
|
|
|
|
|
|
return 0;
|
|
|
|
|
|
}
|
|
|
|
|
|
else
|
|
|
|
|
|
{
|
|
|
|
|
|
if(system_get_cur_app()==ID_APP_PEV)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD>ǵ<EFBFBD><C7B5><EFBFBD>Ӧ<EFBFBD><D3A6>
|
|
|
|
|
|
{
|
|
|
|
|
|
if(get_vol_mute_state() == 1)
|
|
|
|
|
|
{
|
|
|
|
|
|
///__msg("============<3D><>MUTE==========\n");
|
|
|
|
|
|
tui_sys_msg_send(TUI_USER_MSG_APP_SPINNER_GO_VOL_MUTE, NULL, NULL);
|
|
|
|
|
|
dsk_aux_set_volume(dsk_aux_get_volume());
|
|
|
|
|
|
}
|
|
|
|
|
|
///<2F><>ͨ<EFBFBD><CDA8>
|
|
|
|
|
|
///__msg("==============<3D><>ͨ<EFBFBD><CDA8>============\n");
|
|
|
|
|
|
dsk_aux_select_channel(AUX_AUDIO_CHANNEL);
|
|
|
|
|
|
system_enter_denoise();
|
|
|
|
|
|
return 0;
|
|
|
|
|
|
}
|
|
|
|
|
|
else
|
|
|
|
|
|
{
|
2025-01-08 19:12:06 +08:00
|
|
|
|
|
2024-09-30 17:06:01 +08:00
|
|
|
|
__u8 cur_app= system_get_cur_app();
|
|
|
|
|
|
if(cur_app != ID_APP_BT)
|
|
|
|
|
|
{
|
|
|
|
|
|
__msg("=========================SYSTEM_MEDIA_SAVE_BREAKPOINT=====================\n");
|
|
|
|
|
|
//1,<2C><><EFBFBD>浱ǰӦ<C7B0><D3A6><EFBFBD><EFBFBD>Ϣ
|
|
|
|
|
|
//2,<2C>л<EFBFBD><D0BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6>
|
|
|
|
|
|
tui_sys_msg_send(TUI_DSK_MSG_SYSTEM_SAVE_BREAKPOINT, NULL, NULL);
|
|
|
|
|
|
system_set_bt_need_exit(1);
|
|
|
|
|
|
tui_sys_msg_send(TUI_USER_MSG_APP_GO_BT, 0, NULL);
|
|
|
|
|
|
__msg("=========================ID_APP_BT CREAT FINISHED=====================\n");
|
|
|
|
|
|
}
|
|
|
|
|
|
else
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
///__msg("====<3D><>ǰ<EFBFBD><C7B0>BT====\n");
|
|
|
|
|
|
bt_phone_state = BT_PHONE_INING;
|
|
|
|
|
|
__msg("=====show phone call in number:%s=====\n",bt_callin_buf);
|
|
|
|
|
|
tui_sys_msg_send(TUI_USER_MSG_APP_GO_BT_PHONENUMBER_SHOW, NULL, NULL);
|
2025-01-08 19:12:06 +08:00
|
|
|
|
|
2024-09-30 17:06:01 +08:00
|
|
|
|
}
|
|
|
|
|
|
}
|
2025-01-08 19:12:06 +08:00
|
|
|
|
|
2024-09-30 17:06:01 +08:00
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
else if(system_do_msg[2]==42)//BT_STATUS_PLAYING_MUSIC
|
|
|
|
|
|
{
|
2025-01-08 19:12:06 +08:00
|
|
|
|
|
2024-09-30 17:06:01 +08:00
|
|
|
|
bt_connect_flag = BT_STATE_CONNECTED;
|
|
|
|
|
|
bt_phone_state = BT_PHONE_INIT;
|
2025-01-08 19:12:06 +08:00
|
|
|
|
|
2024-09-30 17:06:01 +08:00
|
|
|
|
}
|
2025-01-08 19:12:06 +08:00
|
|
|
|
#endif
|
2024-09-30 17:06:01 +08:00
|
|
|
|
}
|
|
|
|
|
|
break;
|
|
|
|
|
|
case 'H'://<2F><><EFBFBD><EFBFBD>MAC ADDR
|
|
|
|
|
|
{
|
|
|
|
|
|
#if RTOS
|
2025-01-08 19:12:06 +08:00
|
|
|
|
__msg("=============================mac addr======================\n");
|
2024-09-30 17:06:01 +08:00
|
|
|
|
char addr_buf[12]={0};
|
|
|
|
|
|
char temp_buf[12]={0};
|
2025-01-08 19:12:06 +08:00
|
|
|
|
|
2024-09-30 17:06:01 +08:00
|
|
|
|
for(i=0;i<24;i++)
|
|
|
|
|
|
{
|
|
|
|
|
|
if(system_do_msg[2+i]==0xff||system_do_msg[2+i]==0x0)
|
|
|
|
|
|
{
|
|
|
|
|
|
addr_buf[i]=0x0;
|
|
|
|
|
|
__inf("=====over=====");
|
|
|
|
|
|
break;
|
|
|
|
|
|
}
|
|
|
|
|
|
addr_buf[i]=system_do_msg[2+i];
|
|
|
|
|
|
if(addr_buf[i]<=0xf)
|
|
|
|
|
|
{
|
|
|
|
|
|
sprintf(temp_buf, "0%x",addr_buf[i]);
|
|
|
|
|
|
strcat(bt_macaddr_buf, temp_buf);
|
|
|
|
|
|
}
|
|
|
|
|
|
else
|
|
|
|
|
|
{
|
|
|
|
|
|
sprintf(temp_buf,"%x",addr_buf[i]);
|
|
|
|
|
|
strcat(bt_macaddr_buf, temp_buf);
|
|
|
|
|
|
}
|
2025-01-08 19:12:06 +08:00
|
|
|
|
|
2024-09-30 17:06:01 +08:00
|
|
|
|
//__inf("=%x=",addr_buf[i]);
|
2025-01-08 19:12:06 +08:00
|
|
|
|
|
2024-09-30 17:06:01 +08:00
|
|
|
|
}
|
|
|
|
|
|
lowercase_2_uppercase(&bt_macaddr_buf); //<2F><>Сд<D0A1><D0B4>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD>ͳһת<D2BB><D7AA><EFBFBD>ɴ<EFBFBD>д
|
2025-01-08 19:12:06 +08:00
|
|
|
|
|
2024-09-30 17:06:01 +08:00
|
|
|
|
__msg("=============mac addr :%s=========\n",bt_macaddr_buf);
|
2025-01-08 19:12:06 +08:00
|
|
|
|
#endif
|
2024-09-30 17:06:01 +08:00
|
|
|
|
}
|
|
|
|
|
|
break;
|
|
|
|
|
|
default:
|
|
|
|
|
|
break;
|
|
|
|
|
|
}
|
|
|
|
|
|
return 0;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
__s32 sys_bt_set_music_info(void)
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
switch(system_do_msg[1])
|
|
|
|
|
|
{
|
|
|
|
|
|
case 'L'://<2F><><EFBFBD><EFBFBD>
|
|
|
|
|
|
{
|
|
|
|
|
|
__u8 *ptr=0;
|
|
|
|
|
|
__s32 datalen = 0;////<2F><><EFBFBD>ݳ<EFBFBD><DDB3><EFBFBD>
|
|
|
|
|
|
//__msg("id3 Title %d",system_do_msg[2]);
|
|
|
|
|
|
memset(bt_ID3_info->title_name, 0, 256);
|
|
|
|
|
|
datalen = system_do_msg[2];
|
|
|
|
|
|
ptr = &(system_do_msg[3]);
|
|
|
|
|
|
strncpy(bt_ID3_info->title_name, ptr, datalen+1);
|
|
|
|
|
|
__msg("title_name =%s",bt_ID3_info->title_name);
|
|
|
|
|
|
|
2025-01-08 19:12:06 +08:00
|
|
|
|
|
2024-09-30 17:06:01 +08:00
|
|
|
|
}
|
|
|
|
|
|
break;
|
|
|
|
|
|
case 'S'://<2F><><EFBFBD><EFBFBD>Artist
|
|
|
|
|
|
{
|
|
|
|
|
|
__u8 *ptr=0;
|
|
|
|
|
|
__s32 datalen = 0;////<2F><><EFBFBD>ݳ<EFBFBD><DDB3><EFBFBD>
|
|
|
|
|
|
//__msg("id3 Artist %d",system_do_msg[2]);
|
|
|
|
|
|
memset(bt_ID3_info->artist_name, 0, 256);
|
|
|
|
|
|
datalen = system_do_msg[2];
|
|
|
|
|
|
ptr = &(system_do_msg[3]);
|
|
|
|
|
|
strncpy(bt_ID3_info->artist_name, ptr, datalen+1);
|
|
|
|
|
|
__msg("artist_name =%s",bt_ID3_info->artist_name);
|
|
|
|
|
|
}
|
|
|
|
|
|
break;
|
|
|
|
|
|
case 'A'://<2F><><EFBFBD><EFBFBD>Album
|
|
|
|
|
|
{
|
|
|
|
|
|
__u8 *ptr=0;
|
|
|
|
|
|
__s32 datalen = 0;////<2F><><EFBFBD>ݳ<EFBFBD><DDB3><EFBFBD>
|
|
|
|
|
|
// __msg("id3 Album %d",system_do_msg[2]);
|
|
|
|
|
|
memset(bt_ID3_info->album_name, 0, 256);
|
|
|
|
|
|
datalen = system_do_msg[2];
|
|
|
|
|
|
ptr = &(system_do_msg[3]);
|
|
|
|
|
|
strncpy(bt_ID3_info->album_name, ptr, datalen+1);
|
|
|
|
|
|
__msg("album_name =%s",bt_ID3_info->album_name);
|
|
|
|
|
|
}
|
|
|
|
|
|
break;
|
|
|
|
|
|
case 'C'://<2F><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
|
|
|
|
|
{
|
|
|
|
|
|
__u16 cur_time = 0;
|
|
|
|
|
|
__u8 tmp_time[16];
|
|
|
|
|
|
__u16 min,sec;
|
|
|
|
|
|
//__msg("id3 cur time [byte=%d][%d%d]",system_do_msg[2],system_do_msg[3],system_do_msg[4]);
|
|
|
|
|
|
memset(bt_ID3_info->cur_time, 0, 32);
|
|
|
|
|
|
cur_time = (system_do_msg[3] << 8) | system_do_msg[4];
|
|
|
|
|
|
//__msg("cur_time =%d",cur_time);
|
|
|
|
|
|
min = cur_time/60;
|
|
|
|
|
|
sec = cur_time%60;
|
|
|
|
|
|
__msg("cur_min = %d,cur_sec= %d",min,sec);
|
|
|
|
|
|
if(min > 9)
|
|
|
|
|
|
{
|
|
|
|
|
|
sprintf(bt_ID3_info->cur_time,"%d",min);
|
|
|
|
|
|
}
|
|
|
|
|
|
else
|
|
|
|
|
|
{
|
|
|
|
|
|
sprintf(bt_ID3_info->cur_time,"%d%d",0,min);
|
|
|
|
|
|
}
|
2025-01-08 19:12:06 +08:00
|
|
|
|
|
2024-09-30 17:06:01 +08:00
|
|
|
|
strcat(bt_ID3_info->cur_time,":");
|
|
|
|
|
|
if(sec > 9)
|
|
|
|
|
|
{
|
|
|
|
|
|
sprintf(tmp_time,"%d",sec);
|
|
|
|
|
|
}
|
|
|
|
|
|
else
|
|
|
|
|
|
{
|
|
|
|
|
|
sprintf(tmp_time,"%d%d",0,sec);
|
|
|
|
|
|
}
|
|
|
|
|
|
strcat(bt_ID3_info->cur_time,tmp_time);
|
|
|
|
|
|
|
|
|
|
|
|
// sprintf(bt_ID3_info->cur_time,"%d/%d",min,sec);
|
2025-01-08 19:12:06 +08:00
|
|
|
|
|
2024-09-30 17:06:01 +08:00
|
|
|
|
}
|
|
|
|
|
|
break;
|
|
|
|
|
|
case 'T'://<2F>ܲ<EFBFBD><DCB2><EFBFBD>ʱ<EFBFBD><CAB1>
|
|
|
|
|
|
{
|
|
|
|
|
|
__u16 total_time = 0;
|
|
|
|
|
|
__u8 tmp_time[16];
|
|
|
|
|
|
__u16 min,sec;
|
|
|
|
|
|
// __msg("id3 total time [byte=%d][%d%d]",system_do_msg[2],system_do_msg[3],system_do_msg[4]);
|
|
|
|
|
|
memset(bt_ID3_info->total_time, 0, 32);
|
|
|
|
|
|
total_time = (system_do_msg[3] << 8) | system_do_msg[4];
|
|
|
|
|
|
// __msg("total_time =%d",total_time);
|
|
|
|
|
|
min = total_time/60;
|
|
|
|
|
|
sec = total_time%60;
|
|
|
|
|
|
__msg("total_min =%d,total_sec =%d",min,sec);
|
|
|
|
|
|
if(min > 9)
|
|
|
|
|
|
{
|
|
|
|
|
|
sprintf(bt_ID3_info->total_time,"%d",min);
|
|
|
|
|
|
}
|
|
|
|
|
|
else
|
|
|
|
|
|
{
|
|
|
|
|
|
sprintf(bt_ID3_info->total_time,"%d%d",0,min);
|
|
|
|
|
|
}
|
2025-01-08 19:12:06 +08:00
|
|
|
|
|
2024-09-30 17:06:01 +08:00
|
|
|
|
strcat(bt_ID3_info->total_time,":");
|
|
|
|
|
|
if(sec > 9)
|
|
|
|
|
|
{
|
|
|
|
|
|
sprintf(tmp_time,"%d",sec);
|
|
|
|
|
|
}
|
|
|
|
|
|
else
|
|
|
|
|
|
{
|
|
|
|
|
|
sprintf(tmp_time,"%d%d",0,sec);
|
|
|
|
|
|
}
|
|
|
|
|
|
strcat(bt_ID3_info->total_time,tmp_time);
|
2025-01-08 19:12:06 +08:00
|
|
|
|
|
2024-09-30 17:06:01 +08:00
|
|
|
|
//sprintf(bt_ID3_info->total_time,"%d/%d",min,sec);
|
2025-01-08 19:12:06 +08:00
|
|
|
|
|
2024-09-30 17:06:01 +08:00
|
|
|
|
}
|
|
|
|
|
|
break;
|
|
|
|
|
|
default:
|
|
|
|
|
|
__msg("id3 info err!");
|
|
|
|
|
|
break;
|
2025-01-08 19:12:06 +08:00
|
|
|
|
|
2024-09-30 17:06:01 +08:00
|
|
|
|
}
|
|
|
|
|
|
return 0;
|
|
|
|
|
|
}
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD>ֲ<EFBFBD><D6B2><EFBFBD>״̬
|
|
|
|
|
|
void sys_bt_set_music_status(u8 music_status)
|
|
|
|
|
|
{
|
2025-01-08 19:12:06 +08:00
|
|
|
|
|
2024-09-30 17:06:01 +08:00
|
|
|
|
__msg("=====bt music status:%x====\n",music_status);
|
|
|
|
|
|
if(music_status=='A')///stop
|
|
|
|
|
|
{
|
|
|
|
|
|
__msg("=================bt music stop==============\n");
|
|
|
|
|
|
bt_audio_set_status(BT_STAT_PAUSE);
|
|
|
|
|
|
}
|
|
|
|
|
|
else if(music_status=='B')///play
|
|
|
|
|
|
{
|
|
|
|
|
|
__msg("=================bt music play==============\n");
|
|
|
|
|
|
bt_audio_set_status(BT_STAT_PLAY);
|
|
|
|
|
|
}
|
2025-01-08 19:12:06 +08:00
|
|
|
|
|
2024-09-30 17:06:01 +08:00
|
|
|
|
return;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
__s32 sys_bt_get_phone_state(void)
|
|
|
|
|
|
{
|
|
|
|
|
|
if(bt_phone_state ==BT_PHONE_OUTING||bt_phone_state ==BT_PHONE_INING||
|
|
|
|
|
|
bt_phone_state ==BT_PHONE_TALKINING||bt_phone_state ==BT_PHONE_TALKOUTING)
|
|
|
|
|
|
{
|
|
|
|
|
|
__wrn("**********bt calling:%d************\n",bt_phone_state);
|
|
|
|
|
|
return 1;///<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڽ<EFBFBD><DABD><EFBFBD>
|
|
|
|
|
|
}
|
|
|
|
|
|
else
|
|
|
|
|
|
{
|
|
|
|
|
|
//__msg("===========bt free==========\n");
|
|
|
|
|
|
return 0;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
__s32 sys_bt_set_phone_state(bt_phone_state_t phone_state)
|
|
|
|
|
|
{
|
|
|
|
|
|
bt_phone_state = phone_state;
|
|
|
|
|
|
return 0;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
__s32 sys_bt_get_phone_type(void)
|
|
|
|
|
|
{
|
|
|
|
|
|
return bt_phone_type;
|
|
|
|
|
|
}
|
|
|
|
|
|
__s32 sys_bt_set_phone_type(bt_phone_type_t phone_type)
|
|
|
|
|
|
{
|
|
|
|
|
|
bt_phone_type = phone_type;
|
|
|
|
|
|
return 0;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
__s32 sys_bt_is_connected(void)
|
|
|
|
|
|
{
|
|
|
|
|
|
return bt_is_connected();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
__s32 sys_bt_spp_rfcomm_is_connected(void)
|
|
|
|
|
|
{
|
|
|
|
|
|
return bt_spp_rfcomm_is_connected();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-01-08 19:12:06 +08:00
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>û<EFBFBD><C3BB><EFBFBD>ʵ<EFBFBD>ִ<EFBFBD><D6B4><EFBFBD>SPP<50><50><EFBFBD>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
__s32 bt_spp_rx_data(char *CmdStr,unsigned char len)
|
2024-09-30 17:06:01 +08:00
|
|
|
|
{
|
|
|
|
|
|
u8 oncecmd,seccmd;
|
|
|
|
|
|
oncecmd = CmdStr[0];
|
|
|
|
|
|
seccmd = CmdStr[1];
|
|
|
|
|
|
#if RTOS
|
|
|
|
|
|
phonelink_spp_rx(CmdStr,len);
|
|
|
|
|
|
#endif
|
|
|
|
|
|
switch(oncecmd)
|
|
|
|
|
|
{
|
|
|
|
|
|
case 'A'://auto UUID CmdStr[2]
|
|
|
|
|
|
{
|
|
|
|
|
|
if(seccmd == 'A')
|
|
|
|
|
|
{
|
2025-01-08 19:12:06 +08:00
|
|
|
|
bt_spp_rx_data_rfcomm(&CmdStr[2],len-2);
|
2024-09-30 17:06:01 +08:00
|
|
|
|
sys_bt_set_phone_type(PHONE_ANDROID_AUTO);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
break;
|
|
|
|
|
|
case 'B'://wireless bt version CmdStr[2]
|
|
|
|
|
|
{
|
|
|
|
|
|
if(seccmd == 'V')
|
|
|
|
|
|
{
|
2025-01-08 19:12:06 +08:00
|
|
|
|
|
2024-09-30 17:06:01 +08:00
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
break;
|
|
|
|
|
|
case 'D'://<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɲ<EFBFBD>Ҫ
|
|
|
|
|
|
{
|
|
|
|
|
|
if(seccmd == 'B')//bt mac addr CmdStr[2]
|
|
|
|
|
|
{
|
2025-01-08 19:12:06 +08:00
|
|
|
|
|
2024-09-30 17:06:01 +08:00
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
break;
|
|
|
|
|
|
case 'I'://<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɲ<EFBFBD>Ҫ
|
|
|
|
|
|
{
|
|
|
|
|
|
if(seccmd == 'A') //disconnect bt return state
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
else if(seccmd == 'B')////reconnect bt return state
|
|
|
|
|
|
{
|
2025-01-08 19:12:06 +08:00
|
|
|
|
|
2024-09-30 17:06:01 +08:00
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
break;
|
|
|
|
|
|
case 'J':
|
|
|
|
|
|
{
|
|
|
|
|
|
u8 i ;
|
|
|
|
|
|
if(seccmd == 'H')//phone mac addr CmdStr[2]
|
|
|
|
|
|
{
|
|
|
|
|
|
for(i=0;i<12;i++)
|
|
|
|
|
|
{
|
|
|
|
|
|
__log("%x",CmdStr[2+i]);
|
|
|
|
|
|
}
|
|
|
|
|
|
__log("\n");
|
2025-01-08 19:12:06 +08:00
|
|
|
|
|
2024-09-30 17:06:01 +08:00
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
break;
|
|
|
|
|
|
case 'N'://<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɲ<EFBFBD>Ҫ
|
|
|
|
|
|
{
|
|
|
|
|
|
if(seccmd == 'A')//bt name CmdStr[2],<2C><><EFBFBD><EFBFBD> hostname
|
|
|
|
|
|
{
|
2025-01-08 19:12:06 +08:00
|
|
|
|
|
2024-09-30 17:06:01 +08:00
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
break;
|
|
|
|
|
|
case 'P':
|
|
|
|
|
|
{
|
|
|
|
|
|
if(seccmd == 0)//<2F><><EFBFBD>Կ<EFBFBD>ʼ
|
|
|
|
|
|
{
|
2025-01-08 19:12:06 +08:00
|
|
|
|
|
2024-09-30 17:06:01 +08:00
|
|
|
|
}
|
|
|
|
|
|
else if(seccmd == 1)//<2F><><EFBFBD>Գɹ<D4B3>
|
|
|
|
|
|
{
|
2025-01-08 19:12:06 +08:00
|
|
|
|
|
2024-09-30 17:06:01 +08:00
|
|
|
|
}
|
|
|
|
|
|
else if(seccmd == 2)//<2F><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
|
|
|
|
|
|
{
|
2025-01-08 19:12:06 +08:00
|
|
|
|
|
2024-09-30 17:06:01 +08:00
|
|
|
|
}
|
|
|
|
|
|
// else if(seccmd == 3)//<2F><><EFBFBD>Խ<EFBFBD><D4BD><EFBFBD>
|
|
|
|
|
|
// {
|
2025-01-08 19:12:06 +08:00
|
|
|
|
|
2024-09-30 17:06:01 +08:00
|
|
|
|
// }
|
|
|
|
|
|
}
|
|
|
|
|
|
break;
|
|
|
|
|
|
case 'S':
|
|
|
|
|
|
{
|
|
|
|
|
|
if(seccmd == 'A')//phone name CmdStr[2]
|
|
|
|
|
|
{
|
2025-01-08 19:12:06 +08:00
|
|
|
|
|
2024-09-30 17:06:01 +08:00
|
|
|
|
}
|
|
|
|
|
|
else if(seccmd == 'I')//rfcomm data CmdStr[2]
|
|
|
|
|
|
{
|
|
|
|
|
|
bt_spp_rx_data_rfcomm(&CmdStr[2],len-2);
|
|
|
|
|
|
}
|
|
|
|
|
|
else if(seccmd == 'V')//rfcomm connected return state
|
|
|
|
|
|
{
|
2025-01-08 19:12:06 +08:00
|
|
|
|
bt_spp_connect_flag = BT_SPP_STATE_CONNECTED;
|
2024-09-30 17:06:01 +08:00
|
|
|
|
}
|
|
|
|
|
|
else if(seccmd == 'S')//rfcomm disconnected return state
|
|
|
|
|
|
{
|
2025-01-08 19:12:06 +08:00
|
|
|
|
bt_spp_connect_flag = BT_SPP_STATE_DISCONNECTED;
|
2024-09-30 17:06:01 +08:00
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
break;
|
|
|
|
|
|
case 'U':
|
|
|
|
|
|
{
|
|
|
|
|
|
if(seccmd == 'S')//UUID start
|
|
|
|
|
|
{
|
2025-01-08 19:12:06 +08:00
|
|
|
|
|
2024-09-30 17:06:01 +08:00
|
|
|
|
}
|
|
|
|
|
|
else if(seccmd == 'U')//carplay UUID data CmdStr[2]
|
|
|
|
|
|
{
|
|
|
|
|
|
bt_spp_rx_data_rfcomm(&CmdStr[2],len-2);
|
|
|
|
|
|
sys_bt_set_phone_type(PHONE_CARPLAY);
|
|
|
|
|
|
}
|
|
|
|
|
|
else if(seccmd == 'E')//UUID end
|
|
|
|
|
|
{
|
2025-01-08 19:12:06 +08:00
|
|
|
|
|
|
|
|
|
|
}
|
2024-09-30 17:06:01 +08:00
|
|
|
|
}
|
|
|
|
|
|
break;
|
|
|
|
|
|
default:
|
|
|
|
|
|
break;
|
|
|
|
|
|
}
|
|
|
|
|
|
return EPDK_OK;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2025-01-08 19:12:06 +08:00
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>û<EFBFBD><C3BB><EFBFBD>ʵ<EFBFBD>ִ<EFBFBD><D6B4><EFBFBD>BLE<4C><45><EFBFBD>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
#if 0
|
|
|
|
|
|
__s32 bt_ble_rx_data(char *CmdStr,unsigned char len)
|
2024-09-30 17:06:01 +08:00
|
|
|
|
{
|
|
|
|
|
|
#if RTOS
|
|
|
|
|
|
// phonelink_ble_rx(CmdStr,len);
|
|
|
|
|
|
#endif
|
|
|
|
|
|
sys_bt_set_phone_type(PHONE_HARMONY);
|
|
|
|
|
|
switch(CmdStr[0])
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
return EPDK_OK;
|
|
|
|
|
|
}
|
2025-01-08 19:12:06 +08:00
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
static void (*connect_cb)(int status) = NULL;
|
|
|
|
|
|
|
|
|
|
|
|
void bt_hid_request_connect_cb(void *cb(int status))
|
|
|
|
|
|
{
|
|
|
|
|
|
connect_cb = cb;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>û<EFBFBD><C3BB><EFBFBD>ʵ<EFBFBD>ִ<EFBFBD><D6B4><EFBFBD>HID<49><44><EFBFBD>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
__s32 bt_hid_rx_data(char *CmdStr,unsigned char len)
|
|
|
|
|
|
{
|
|
|
|
|
|
u8 oncecmd,seccmd;
|
|
|
|
|
|
oncecmd = CmdStr[0];
|
|
|
|
|
|
seccmd = CmdStr[1];
|
|
|
|
|
|
#if RTOS
|
|
|
|
|
|
// phonelink_hid_rx(CmdStr,len);
|
|
|
|
|
|
#endif
|
|
|
|
|
|
switch(CmdStr[0])
|
|
|
|
|
|
{
|
|
|
|
|
|
case 'H':
|
|
|
|
|
|
{
|
|
|
|
|
|
if(seccmd == 'L')
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
else if(seccmd == 'B')
|
|
|
|
|
|
{
|
|
|
|
|
|
bt_hid_connect_flag = BT_HID_STATE_CONNECTED;
|
|
|
|
|
|
}
|
|
|
|
|
|
else if(seccmd == 'A')
|
|
|
|
|
|
{
|
|
|
|
|
|
bt_hid_connect_flag = BT_HID_STATE_DISCONNECTED;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if (connect_cb)
|
|
|
|
|
|
connect_cb(bt_hid_connect_flag);
|
|
|
|
|
|
}
|
|
|
|
|
|
break;
|
|
|
|
|
|
default:
|
|
|
|
|
|
break;
|
2024-09-30 17:06:01 +08:00
|
|
|
|
|
2025-01-08 19:12:06 +08:00
|
|
|
|
}
|
|
|
|
|
|
return EPDK_OK;
|
|
|
|
|
|
}
|
2024-09-30 17:06:01 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**************************bt uart******************************
|
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD>º<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ<EFBFBD><EFBFBD><EFBFBD>ο<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>û<EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD><EFBFBD>,
|
|
|
|
|
|
uartͨѶĬ<EFBFBD>ϲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>115200<EFBFBD><EFBFBD>8λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>1λֹͣλ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><EFBFBD>λ
|
|
|
|
|
|
**************************bt uart******************************/
|
|
|
|
|
|
|
|
|
|
|
|
__s32 uart_init = 0;////1-init,0-uninit
|
|
|
|
|
|
__s32 com_uart_init(void)
|
|
|
|
|
|
{
|
|
|
|
|
|
if(0 == uart_init)
|
|
|
|
|
|
{
|
|
|
|
|
|
uart_init = 1;
|
2025-01-08 19:12:06 +08:00
|
|
|
|
#if RTOS
|
2024-09-30 17:06:01 +08:00
|
|
|
|
rtos_com_uart_init();
|
|
|
|
|
|
#endif
|
2025-01-08 19:12:06 +08:00
|
|
|
|
#if RTT
|
2024-09-30 17:06:01 +08:00
|
|
|
|
rtt_com_uart_init();
|
|
|
|
|
|
#endif
|
2025-01-08 19:12:06 +08:00
|
|
|
|
#if LINUX
|
2024-09-30 17:06:01 +08:00
|
|
|
|
linux_com_uart_init();
|
|
|
|
|
|
#endif
|
|
|
|
|
|
}
|
|
|
|
|
|
return EPDK_OK;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
__s32 com_uart_deinit(void)
|
|
|
|
|
|
{
|
|
|
|
|
|
if(1 == uart_init)
|
|
|
|
|
|
{
|
2025-01-08 19:12:06 +08:00
|
|
|
|
#if RTOS
|
2024-09-30 17:06:01 +08:00
|
|
|
|
rtos_com_uart_deinit();
|
|
|
|
|
|
#endif
|
2025-01-08 19:12:06 +08:00
|
|
|
|
#if RTT
|
2024-09-30 17:06:01 +08:00
|
|
|
|
rtt_com_uart_deinit();
|
|
|
|
|
|
#endif
|
2025-01-08 19:12:06 +08:00
|
|
|
|
#if LINUX
|
2024-09-30 17:06:01 +08:00
|
|
|
|
linux_com_uart_deinit();
|
|
|
|
|
|
#endif
|
|
|
|
|
|
uart_init = 0;
|
|
|
|
|
|
}
|
|
|
|
|
|
return EPDK_OK;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
__s32 com_uart_write(char* pbuf, __s32 size)
|
|
|
|
|
|
{
|
2025-01-08 19:12:06 +08:00
|
|
|
|
#if RTOS
|
2024-09-30 17:06:01 +08:00
|
|
|
|
rtos_com_uart_write(pbuf, size);
|
|
|
|
|
|
#endif
|
2025-01-08 19:12:06 +08:00
|
|
|
|
#if RTT
|
2024-09-30 17:06:01 +08:00
|
|
|
|
rtt_com_uart_write(pbuf, size);
|
|
|
|
|
|
#endif
|
2025-01-08 19:12:06 +08:00
|
|
|
|
#if LINUX
|
2024-09-30 17:06:01 +08:00
|
|
|
|
linux_com_uart_write(pbuf, size);
|
|
|
|
|
|
#endif
|
|
|
|
|
|
return EPDK_OK;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
__s32 com_uart_read(char* pbuf, __s32 buf_size, __s32* size)
|
|
|
|
|
|
{
|
2025-01-08 19:12:06 +08:00
|
|
|
|
#if RTOS
|
2024-09-30 17:06:01 +08:00
|
|
|
|
rtos_com_uart_read(pbuf,buf_size,size);
|
|
|
|
|
|
#endif
|
2025-01-08 19:12:06 +08:00
|
|
|
|
#if RTT
|
2024-09-30 17:06:01 +08:00
|
|
|
|
rtt_com_uart_read(pbuf,buf_size,size);
|
|
|
|
|
|
#endif
|
2025-01-08 19:12:06 +08:00
|
|
|
|
#if LINUX
|
2024-09-30 17:06:01 +08:00
|
|
|
|
linux_com_uart_read(pbuf,buf_size,size);
|
|
|
|
|
|
#endif
|
|
|
|
|
|
return EPDK_OK;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
__s32 com_uart_flush(void)
|
|
|
|
|
|
{
|
2025-01-08 19:12:06 +08:00
|
|
|
|
#if RTOS
|
2024-09-30 17:06:01 +08:00
|
|
|
|
rtos_com_uart_flush();
|
|
|
|
|
|
#endif
|
2025-01-08 19:12:06 +08:00
|
|
|
|
#if RTT
|
2024-09-30 17:06:01 +08:00
|
|
|
|
rtt_com_uart_flush();
|
|
|
|
|
|
#endif
|
2025-01-08 19:12:06 +08:00
|
|
|
|
#if LINUX
|
2024-09-30 17:06:01 +08:00
|
|
|
|
linux_com_uart_flush();
|
|
|
|
|
|
#endif
|
|
|
|
|
|
return EPDK_OK;
|
|
|
|
|
|
}
|
|
|
|
|
|
////1-init,0-uninit
|
|
|
|
|
|
__s32 com_uart_state(void)
|
|
|
|
|
|
{
|
|
|
|
|
|
return uart_init;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
__s32 bt_para_init(void)
|
|
|
|
|
|
{
|
2025-01-08 19:12:06 +08:00
|
|
|
|
#if RTOS
|
2024-09-30 17:06:01 +08:00
|
|
|
|
bt_phonebook_para = (bt_phonebook_state *)esMEMS_Balloc(sizeof(bt_phonebook_state));
|
|
|
|
|
|
if(bt_phonebook_para == NULL)
|
|
|
|
|
|
{
|
2025-01-08 19:12:06 +08:00
|
|
|
|
printf("=============Request phone book fail=============\n");
|
2024-09-30 17:06:01 +08:00
|
|
|
|
goto para_exit;
|
2025-01-08 19:12:06 +08:00
|
|
|
|
}
|
2024-09-30 17:06:01 +08:00
|
|
|
|
|
|
|
|
|
|
bt_ID3_info = (bt_ID3_info_t *)esMEMS_Balloc(sizeof(bt_ID3_info_t));
|
|
|
|
|
|
if(bt_ID3_info == NULL)
|
|
|
|
|
|
{
|
2025-01-08 19:12:06 +08:00
|
|
|
|
printf("=============Request bt_ID3_info fail=============\n");
|
2024-09-30 17:06:01 +08:00
|
|
|
|
goto para_exit;
|
|
|
|
|
|
}
|
2025-01-08 19:12:06 +08:00
|
|
|
|
|
2024-09-30 17:06:01 +08:00
|
|
|
|
memset((void *)bt_phonebook_para, 0, sizeof(bt_phonebook_state));
|
|
|
|
|
|
memset((void *)bt_ID3_info, 0, sizeof(bt_ID3_info_t));
|
2025-01-08 19:12:06 +08:00
|
|
|
|
#endif
|
2024-09-30 17:06:01 +08:00
|
|
|
|
|
|
|
|
|
|
return EPDK_OK;
|
|
|
|
|
|
para_exit:
|
|
|
|
|
|
|
2025-01-08 19:12:06 +08:00
|
|
|
|
#if RTOS
|
|
|
|
|
|
printf("=============Request memory fail=============\n");
|
2024-09-30 17:06:01 +08:00
|
|
|
|
if(bt_ID3_info)
|
|
|
|
|
|
{
|
|
|
|
|
|
memset(bt_ID3_info, 0, sizeof(bt_ID3_info_t));
|
|
|
|
|
|
esMEMS_Bfree(bt_ID3_info,sizeof(bt_ID3_info_t));
|
|
|
|
|
|
}
|
|
|
|
|
|
if(bt_phonebook_para)
|
|
|
|
|
|
{
|
|
|
|
|
|
memset(bt_phonebook_para, 0, sizeof(bt_phonebook_state));
|
|
|
|
|
|
esMEMS_Bfree(bt_phonebook_para,sizeof(bt_phonebook_state));
|
2025-01-08 19:12:06 +08:00
|
|
|
|
}
|
|
|
|
|
|
#endif
|
2024-09-30 17:06:01 +08:00
|
|
|
|
return EPDK_FAIL;
|
2025-01-08 19:12:06 +08:00
|
|
|
|
|
2024-09-30 17:06:01 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
__s32 bt_para_exit(void)
|
|
|
|
|
|
{
|
|
|
|
|
|
|
2025-01-08 19:12:06 +08:00
|
|
|
|
#if RTOS
|
2024-09-30 17:06:01 +08:00
|
|
|
|
if(bt_ID3_info)
|
|
|
|
|
|
{
|
|
|
|
|
|
memset(bt_ID3_info, 0, sizeof(bt_ID3_info_t));
|
|
|
|
|
|
esMEMS_Bfree(bt_ID3_info,sizeof(bt_ID3_info_t));
|
|
|
|
|
|
}
|
|
|
|
|
|
if(bt_phonebook_para)
|
|
|
|
|
|
{
|
|
|
|
|
|
memset(bt_phonebook_para, 0, sizeof(bt_phonebook_state));
|
|
|
|
|
|
esMEMS_Bfree(bt_phonebook_para,sizeof(bt_phonebook_state));
|
2025-01-08 19:12:06 +08:00
|
|
|
|
}
|
|
|
|
|
|
#endif
|
2024-09-30 17:06:01 +08:00
|
|
|
|
return EPDK_OK;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
__s32 bt_task_start(void)
|
|
|
|
|
|
{
|
2025-01-08 19:12:06 +08:00
|
|
|
|
#if RTOS
|
2024-09-30 17:06:01 +08:00
|
|
|
|
rtos_bt_task_start();
|
|
|
|
|
|
#endif
|
2025-01-08 19:12:06 +08:00
|
|
|
|
#if RTT
|
2024-09-30 17:06:01 +08:00
|
|
|
|
rtt_bt_task_start();
|
|
|
|
|
|
#endif
|
2025-01-08 19:12:06 +08:00
|
|
|
|
#if LINUX
|
2024-09-30 17:06:01 +08:00
|
|
|
|
linux_bt_task_start();
|
2025-01-08 19:12:06 +08:00
|
|
|
|
#endif
|
2024-09-30 17:06:01 +08:00
|
|
|
|
return EPDK_OK;
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
__s32 bt_task_stop(void)
|
|
|
|
|
|
{
|
2025-01-08 19:12:06 +08:00
|
|
|
|
#if RTOS
|
2024-09-30 17:06:01 +08:00
|
|
|
|
rtos_bt_task_stop();
|
|
|
|
|
|
#endif
|
2025-01-08 19:12:06 +08:00
|
|
|
|
#if RTT
|
2024-09-30 17:06:01 +08:00
|
|
|
|
rtt_bt_task_stop();
|
|
|
|
|
|
#endif
|
2025-01-08 19:12:06 +08:00
|
|
|
|
#if LINUX
|
2024-09-30 17:06:01 +08:00
|
|
|
|
linux_bt_task_stop();
|
|
|
|
|
|
#endif
|
|
|
|
|
|
return EPDK_OK;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void bt_msleep(uint16_t ticks)
|
|
|
|
|
|
{
|
|
|
|
|
|
|
2025-01-08 19:12:06 +08:00
|
|
|
|
#if RTOS
|
2024-09-30 17:06:01 +08:00
|
|
|
|
rtos_msleep(ticks);
|
|
|
|
|
|
#endif
|
2025-01-08 19:12:06 +08:00
|
|
|
|
#if RTT
|
2024-09-30 17:06:01 +08:00
|
|
|
|
rtt_msleep(ticks);
|
|
|
|
|
|
#endif
|
2025-01-08 19:12:06 +08:00
|
|
|
|
#if LINUX
|
2024-09-30 17:06:01 +08:00
|
|
|
|
linux_msleep(ticks);
|
|
|
|
|
|
#endif
|
|
|
|
|
|
return;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
|
|
}
|
|
|
|
|
|
#endif
|