Files
luban-lite/bsp/peripheral/bt/bt8858a/bt_api.h

492 lines
12 KiB
C
Raw Normal View History

2024-09-30 17:06:01 +08:00
#ifndef __BT_API_H__
#define __BT_API_H__
#ifdef __cplusplus
extern "C" {
#endif
#include "bt_type.h"
#include "bt_config.h"
#include "aic_log.h"
#define BT_MSG_MAX 512//BT MSG datalen
#define BT_CMD_MAX 512// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>512<31><32>Ԫ<EFBFBD><D4AA>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֲ<EFBFBD><D6B2><EFBFBD>״̬<D7B4><CCAC>ȡ
typedef enum __BT_STATUS
{
BT_STAT_IDLE = 0,
BT_STAT_PLAY ,
BT_STAT_PAUSE,
BT_STAT_
} bt_status_t;
//<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ȡ
typedef struct
{
__u8 year;
__u8 month;
__u8 day;
__u8 hour;
__u8 minute;
__u8 second;
}bt_time_t;
/*******bt*******/
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E7BBB0><EFBFBD><EFBFBD>ȡ
typedef struct
{
//////////////////<2F><EFBFBD><E7BBB0>
__u8 phonebook_name[1000][64]; //<2F><><EFBFBD><EFBFBD>
__u8 phonebook_number[1000][32]; //<2F><EFBFBD><E7BBB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵĵ绰<C4B5><E7BBB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬһ<CDAC><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
__s32 cur_phone_total; //<2F><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>
//////////////////ͨ<><CDA8><EFBFBD><EFBFBD>¼
//__u8 phonerem_name[64][64]; //ͨ<><CDA8><EFBFBD><EFBFBD>¼,<2C><><EFBFBD>ڷ<EFBFBD><DAB7><EFBFBD>
//__u8 phonerem_number[64][32]; //<2F><EFBFBD><E7BBB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵĵ绰<C4B5><E7BBB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬһ<CDAC><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
//__u8 phonerem_date[64][32]; ////<2F><><EFBFBD><EFBFBD>
//__u8 phonerem_type[64]; ////<2F><><EFBFBD><EFBFBD>////1:<3A><><EFBFBD><EFBFBD>2:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>3 :<3A>ܽ<EFBFBD>
//__s32 cur_phonerem_total;
__u8 phoneout_name[32][64]; //<2F><><EFBFBD><EFBFBD>
__u8 phoneout_number[32][32]; //<2F><EFBFBD><E7BBB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵĵ绰<C4B5><E7BBB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬһ<CDAC><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
__u8 phoneout_date[32][32]; ////<2F><><EFBFBD><EFBFBD>
__s32 cur_phoneout_total;
__u8 phonein_name[32][64]; //<2F><><EFBFBD><EFBFBD>
__u8 phonein_number[32][32]; //<2F><EFBFBD><E7BBB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵĵ绰<C4B5><E7BBB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬһ<CDAC><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
__u8 phonein_date[32][32]; ////<2F><><EFBFBD><EFBFBD>
__s32 cur_phonein_total;
__u8 phonemiss_name[32][64]; //δ<><CEB4>
__u8 phonemiss_number[32][32]; //<2F><EFBFBD><E7BBB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵĵ绰<C4B5><E7BBB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬһ<CDAC><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
__u8 phonemiss_date[32][32]; ////<2F><><EFBFBD><EFBFBD>
__s32 cur_phonemiss_total;
}bt_phonebook_state;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID3<44><33>Ϣ<EFBFBD><CFA2>ȡ
typedef struct BT_ID3_INFO
{
__u8 title_name[256];//<2F><><EFBFBD><EFBFBD>
__u8 artist_name[256];//<2F><><EFBFBD><EFBFBD>
__u8 album_name[256];//<2F><><EFBFBD><EFBFBD>
__u8 cur_time[32]; //<2F><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
__u8 total_time[32]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
}bt_ID3_info_t;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
typedef enum
{
BT_STATE_INIT = 0,
BT_STATE_NOTCONNECTE,
BT_STATE_CONNECTED,
BT_STATE_MAX,
}bt_connect_flag_t;
typedef enum
{
BT_SPP_STATE_INIT = 0,
2025-01-08 19:12:06 +08:00
BT_SPP_STATE_DISCONNECTED,
2024-09-30 17:06:01 +08:00
BT_SPP_STATE_CONNECTED,
BT_SPP_STATE_MAX,
}bt_spp_connect_flag_t;
typedef enum
{
BT_BLE_STATE_INIT = 0,
2025-01-08 19:12:06 +08:00
BT_BLE_STATE_DISCONNECTED,
2024-09-30 17:06:01 +08:00
BT_BLE_STATE_CONNECTED,
BT_BLE_STATE_MAX,
}bt_ble_connect_flag_t;
2025-01-08 19:12:06 +08:00
typedef enum
{
BT_HID_STATE_INIT = 0,
BT_HID_STATE_DISCONNECTED,
BT_HID_STATE_CONNECTED,
BT_HID_STATE_MAX,
}bt_hid_connect_flag_t;
2024-09-30 17:06:01 +08:00
//<2F><><EFBFBD><EFBFBD><EFBFBD>绰״̬
typedef enum
{
BT_PHONE_INIT = 0, ////<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
BT_PHONE_INING, ////<2F><EFBFBD><E7BBB0><EFBFBD><EFBFBD>
BT_PHONE_OUTING, ////<2F><EFBFBD><E7BBB0><EFBFBD><EFBFBD>
BT_PHONE_TALKINING, ////ͨ<><CDA8><EFBFBD><EFBFBD>
BT_PHONE_TALKOUTING, ////ͨ<><CDA8><EFBFBD><EFBFBD>
BT_MAX
}bt_phone_state_t;
//<2F>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
typedef enum
{
PHONE_ANDROID_AUTO, ////androidϵͳԭ<CDB3><D4AD><EFBFBD>ֻ<EFBFBD>
PHONE_CARPLAY , ////ƻ<><C6BB><EFBFBD>ֻ<EFBFBD>
PHONE_ANDROID_CARLIFE, ////androidϵͳħ<CDB3><C4A7><EFBFBD>ֻ<EFBFBD>
PHONE_HARMONY, ////HARMONY<4E>ֻ<EFBFBD>
PHONE_MAX
}bt_phone_type_t;
extern u8 phone_macaddr_buf[12];//<2F>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD>MAC ADDR
extern u8 phone_name_buf[24];//<2F>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
extern u8 bt_hostname_buf[24];//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
extern u8 bt_pincard_buf[4]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
extern u8 bt_macaddr_buf[12];//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MAC ADDR
extern u8 bt_callin_buf[64];//<2F>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
extern u8 spp_rxdata[512]; //rfcomm ͨѶ<CDA8><D1B6><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD>͸<EFBFBD><CDB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
extern u8 system_do_msg[BT_MSG_MAX]; //ϵͳҪ<CDB3><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
extern bt_connect_flag_t bt_connect_flag; //<2F><><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
extern bt_spp_connect_flag_t bt_spp_connect_flag;//<2F><><EFBFBD><EFBFBD>spp<70>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
extern bt_ble_connect_flag_t bt_ble_connect_flag; //<2F><><EFBFBD><EFBFBD>BLE<4C>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
extern bt_phone_state_t bt_phone_state; //<2F><><EFBFBD><EFBFBD><EFBFBD>绰״̬
extern bt_phone_type_t bt_phone_type; //<2F>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
extern bt_time_t bt_time;
extern bt_phonebook_state *bt_phonebook_para;
extern bt_ID3_info_t *bt_ID3_info;
/******************************FMRX********************************************/
//<2F><><EFBFBD><EFBFBD>¼<EFBFBD><C2BC>BT<42><54>FM<46>ڲ<EFBFBD><DAB2>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>±<EFBFBD><C2B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD><EFBFBD><EFBFBD>BTҪ<54>ϵ磬<CFB5><E7A3AC>ô<EFBFBD><C3B4>Ҫ<EFBFBD><D2AA>ȡFMRX<52><58>LIST<53><54><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ض˼<D8B6>¼
typedef struct {
u16 freq; //<2F><>ǰƵ<C7B0><C6B5>
u8 ch_cur;//<2F><>ǰ<EFBFBD><C7B0>Ŀ
u8 ch_cnt;//<2F>ܽ<EFBFBD>Ŀ<EFBFBD><C4BF>
} bt_fmrx_info_t;
typedef struct {
u8 ch_cnt; //<2F>ܽ<EFBFBD>Ŀ<EFBFBD><C4BF>
u16 freq[64]; //<2F><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><30>ʼ
} bt_fmrx_list_t;
extern 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>
extern bt_fmrx_list_t bt_fmrx_list;//<2F><>Ŀ<EFBFBD><C4BF>Ƶ<EFBFBD><C6B5><EFBFBD>б<EFBFBD>
//system api
extern __s32 lowercase_2_uppercase(char *str);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
extern __s32 check_pev_key(void);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
extern __s32 sys_bt_set_time(u8 *time);
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6>
extern __s32 sys_bt_get_time_to_app(bt_time_t *time);
//<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
extern __s32 sys_bt_set_time_to_bt(bt_time_t *time);
//<2F><><EFBFBD>ƿ<EFBFBD><C6BF><EFBFBD><EFBFBD><EFBFBD>
extern void sys_bt_ctrl_lcd(u8 lcd_ctrl);
//<2F><><EFBFBD>ƿ<EFBFBD><C6BF><EFBFBD><EFBFBD><EFBFBD>
extern void sys_bt_ctrl_light(u8 light_ctrl);
//<2F><><EFBFBD>Ƶ<EFBFBD><C6B5><EFBFBD>Ӱ<EFBFBD><D3B0>
extern void sys_bt_ctrl_pev(u8 pev_ctrl);
//<2F><><EFBFBD>÷<EFBFBD><C3B7><EFBFBD>bt_phonename_get<65><74><EFBFBD><EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>º<EFBFBD><C2BA><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><E7BBB0>
extern __s32 sys_bt_set_phonebook(u8 *phonebook);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ػ<EFBFBD>ȡ<EFBFBD><EFBFBD><E7BBB0><EFBFBD><EFBFBD>BUFFER
extern void sys_bt_clear_phonebook(void);
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>ָʾ<D6B8><EFBFBD><E7BBB0><EFBFBD><EFBFBD>
extern __s32 sys_bt_get_phonenum(char *btstring);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>FMRX<52><58>Ϣִ<CFA2>е<EFBFBD>һЩ<D2BB><D0A9><EFBFBD><EFBFBD>
extern __s32 sys_bt_fm_process(void);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣִ<CFA2>е<EFBFBD>һЩ<D2BB><D0A9><EFBFBD><EFBFBD>
extern __s32 sys_bt_dosomething(void);
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>ID3<44><33><EFBFBD><EFBFBD>Ϣ
extern __s32 sys_bt_set_music_info(void);
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>״̬(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ)<29><><EFBFBD><EFBFBD>Ϣ
extern void sys_bt_set_music_status(u8 music_status);
//<2F><>ȡ<EFBFBD>ֻ<EFBFBD><D6BB>绰BT<42><54>״̬
extern __s32 sys_bt_get_phone_state(void);
//bt<62><74><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB>绰BT<42><54>״̬
extern __s32 sys_bt_set_phone_state(bt_phone_state_t phone_state);
//<2F><>ȡ<EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD>
__s32 sys_bt_get_phone_type(void);
//bt<62><74><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD>
__s32 sys_bt_set_phone_type(bt_phone_type_t phone_type);
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>BT<42><54><EFBFBD>ӵ<EFBFBD>״̬<D7B4><CCAC><EFBFBD><EFBFBD>CPU<50>˵ı<CBB5><C4B1><EFBFBD><EFBFBD><EFBFBD>ѯ
extern __s32 sys_bt_is_connected(void);
//cpu-bt cmd api
extern void BtCmdSend (char *CmdStr,unsigned char len);
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
extern __s32 bt_time_get(void);
//<2F><><EFBFBD>ó<EFBFBD><C3B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
extern __s32 bt_time_set(void);
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>״̬<D7B4><CCAC><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>GPIO<49><4F><EFBFBD><EFBFBD>
extern __s32 bt_ill_get(void);
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<D7B4><CCAC>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>UART<52><54><EFBFBD><EFBFBD>صģ<D8B5><C4A3><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫִ<D2AA>У<EFBFBD>
//<2F><><EFBFBD><EFBFBD>ֻҪ<D6BB><D2AA><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<D7B4><CCAC><EFBFBD><EFBFBD>CPU<50>˱<EFBFBD><CBB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8>sys_bt_is_connected<65><64>ѯ
extern __s32 bt_state_get(void);
//<2F><>ȡ<EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD>ӵ<EFBFBD><D3B5><EFBFBD><EFBFBD>֣<EFBFBD><D6A3><EFBFBD><EFBFBD><EFBFBD>Ĭ<EFBFBD>϶<EFBFBD><CFB6>dz<EFBFBD><C7B3><EFBFBD><EFBFBD>б<EFBFBD><D0B1><EFBFBD>0<EFBFBD><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵij<D3B5><C4B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><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><C8A5><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD>
extern __s32 bt_phonename_get(void);
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1>24<32>ֽ<EFBFBD>
extern __s32 bt_hostname_get(void);
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>PIN<49><4E>(4λ<34><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)<29><><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD>
extern __s32 bt_pincard_get(void);
///HFP״̬<D7B4><CCAC>ѯ
extern __s32 bt_get_hfpstate(void);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֲ<EFBFBD><D6B2><EFBFBD>ֹͣ<CDA3><D6B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>
extern __s32 bt_audio_play_pause(void);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֲ<EFBFBD><D6B2><EFBFBD>
extern __s32 bt_audio_play(void);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ
extern __s32 bt_audio_pause(void);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹͣ
extern __s32 bt_audio_stop(void);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>
extern __s32 bt_audio_prev(void);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>
extern __s32 bt_audio_next(void);
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵı<D6B5><C4B1>ز<EFBFBD><D8B2><EFBFBD>״̬,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB>ϲ<EFBFBD><CFB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4><EFBFBD><EFBFBD><EFBFBD>״̬<D7B4><CCAC><><C8BB><EFBFBD><EFBFBD><EFBFBD>ܵ<EFBFBD><DCB5><EFBFBD>
extern __s32 bt_audio_get_status(void);
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵı<D6B5><C4B1>ز<EFBFBD><D8B2><EFBFBD>״̬,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB>ϲ<EFBFBD><CFB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4><EFBFBD><EFBFBD><EFBFBD>״̬<D7B4><CCAC><><C8BB><EFBFBD><EFBFBD><EFBFBD>ܵ<EFBFBD><DCB5><EFBFBD>
extern __s32 bt_audio_set_status(uint8_t play_status);
//<2F><>ȡ<EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD><E7BBB0><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD>¼<EFBFBD>ȣ<EFBFBD><C8A3><EFBFBD>¼<EFBFBD><C2BC>bt_phonebook_state<74><65><EFBFBD>ݽṹ<DDBD><E1B9B9><EFBFBD><EFBFBD>
extern __s32 bt_phonebook_get(void);
//<2F>л<EFBFBD><D0BB><EFBFBD>Ƶͨ<C6B5><CDA8>
extern __s32 bt_audio_change(void);
//ǿ<><C7BF><EFBFBD>е<EFBFBD><D0B5>ֻ<EFBFBD><D6BB><EFBFBD>
extern __s32 bt_audio_to_phone(void);
//ǿ<><C7BF><EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
extern __s32 bt_audio_to_machine(void);
//֪ͨbt power off CPU
//BT<42><54><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>ſ<EFBFBD><C5BF>Կ<EFBFBD><D4BF><EFBFBD>CPU<50><55>Դ
extern __s32 bt_power_off(void);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
extern __s32 bt_phone_incoming(void);
//һ<><D2BB><EFBFBD>Է<EFBFBD><D4B7><EFBFBD><EFBFBD><EFBFBD><E7BBB0><EFBFBD>
extern __s32 bt_phone_call(char *phonenumber,__s32 len);
//<2F>Ҷϵ绰
extern __s32 bt_phone_break(void);
//<2F>ܽ<EFBFBD><DCBD><EFBFBD><EFBFBD><EFBFBD>
extern __s32 bt_phone_reject(void);
//<2F>ز<EFBFBD><D8B2>
extern __s32 bt_phone_recall(void);
//BT<42>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ?
extern __s32 bt_is_connected(void);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>BT
2025-01-08 19:12:06 +08:00
extern __s32 bt_connect_set(void);
2024-09-30 17:06:01 +08:00
//<2F>Ͽ<EFBFBD><CFBF><EFBFBD><EFBFBD><EFBFBD>BT
extern __s32 bt_disconnect_set(void);
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MAC<41><43>ַ
extern __s32 bt_macaddr_get(void);
//EQ<45>û<EFBFBD>ģʽ
extern __s32 bt_eq_user_mode(__u8 index, __u8 gain);
//EQ<45><51><EFBFBD><EFBFBD>ģʽ
extern __s32 bt_eq_pop_mode(__u8 index, __u8 gain);
//EQҡ<51><D2A1>ģʽ
extern __s32 bt_eq_rock_mode(__u8 index, __u8 gain);
//EQ<45><51>ʿģʽ
extern __s32 bt_eq_jazz_mode(__u8 index, __u8 gain);
//EQ<45><51><EFBFBD><EFBFBD>ģʽ
extern __s32 bt_eq_classic_mode(__u8 index, __u8 gain);
//EQ<45><51><EFBFBD><EFBFBD>ģʽ
extern __s32 bt_eq_gentle_mode(__u8 index, __u8 gain);
//<2F><>Чǰ<D0A7><C7B0>
extern __s32 bt_dac_vol_front(__u8 vol);
//<2F><>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD>
extern __s32 bt_dac_vol_behind(__u8 vol);
//<2F><>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD>
extern __s32 bt_dac_vol_left(__u8 vol);
//<2F><>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD>
extern __s32 bt_dac_vol_right(__u8 vol);
//vol+
extern __s32 bt_vol_add(void);
//vol-
extern __s32 bt_vol_dec(void);
//<2F><><EFBFBD><EFBFBD>
extern __s32 bt_vol_mute(void);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
extern __s32 bt_vol_unmute(void);
/*********************SPP COMM******************************/
//"AT#"<22><>ͷ<EFBFBD><CDB7>ָ<EFBFBD><D6B8>͸<EFBFBD><CDB8>ͨ<EFBFBD><CDA8>
//<2F><><EFBFBD><EFBFBD>͸<EFBFBD><CDB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
extern __s32 bt_spp_tx_data (char *CmdStr,unsigned char len);
//<2F><><EFBFBD><EFBFBD>͸<EFBFBD><CDB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
extern __s32 bt_spp_rx_data(char *CmdStr,unsigned char len);
extern __s32 bt_spp_rfcomm_is_connected(void);
2025-01-08 19:12:06 +08:00
extern __s32 bt_spp_rfcomm_connect(void);
2024-09-30 17:06:01 +08:00
extern __s32 bt_spp_rfcomm_disconnect(void);
//RFCOMM<4D><4D><EFBFBD>ӳɹ<D3B3><C9B9><EFBFBD><EFBFBD><EFBFBD>AT#SG<53><47><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2B7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>γ<EFBFBD><CEB3><EFBFBD><EFBFBD>ݴ<EFBFBD><DDB4><EFBFBD>תΪAT##<23><>ͨ<EFBFBD><CDA8>RFCOMM<4D><4D><EFBFBD>͸<EFBFBD><CDB8>ֻ<EFBFBD>
extern __s32 bt_spp_tx_data_rfcomm(char *CmdStr,unsigned char len);
//RFCOMM<4D><4D><EFBFBD>ӳɹ<D3B3><C9B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB>ϲ<CFB2><E3B7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>RFCOMM<4D><4D><EFBFBD>ݴ<EFBFBD><DDB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɷ<EFBFBD><C9B7>͵<EFBFBD><CDB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
extern __s32 bt_spp_rx_data_rfcomm(char *CmdStr,unsigned char len);
/*********************BLE COMM******************************/
//extern __s32 bt_ble_tx_data(char *CmdStr,unsigned char len);
//extern __s32 bt_ble_rx_data(char *CmdStr,unsigned char len);
//extern __s32 bt_ble_rfcomm_is_connected(void);
2025-01-08 19:12:06 +08:00
//extern __s32 bt_ble_rfcomm_is_connect(void);
2024-09-30 17:06:01 +08:00
//extern __s32 bt_ble_rfcomm_disconnect(void);
2025-01-08 19:12:06 +08:00
//extern __s32 bt_ble_tx_data_rfcomm(char *CmdStr,unsigned char len);
2024-09-30 17:06:01 +08:00
//extern __s32 bt_ble_rx_data_rfcomm(char *CmdStr,unsigned char len);
2025-01-08 19:12:06 +08:00
/*********************HID COMM******************************/
//"AT#@"<22><>ͷ<EFBFBD><CDB7>ָ<EFBFBD><D6B8>͸<EFBFBD><CDB8>ͨ<EFBFBD><CDA8>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
extern __s32 bt_hid_tx_data(char *CmdStr,unsigned char len);
//<2F><><EFBFBD><EFBFBD>bt<62><74><EFBFBD><EFBFBD>
extern __s32 bt_hid_rx_data(char *CmdStr,unsigned char len);
//HID<49>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
extern __s32 bt_hid_is_connected(void);
// ע<><D7A2>HID<49><44><EFBFBD><EFBFBD>callback
extern void bt_hid_request_connect_cb(void *cb(int status));
//<2F><><EFBFBD><EFBFBD>HID
extern __s32 bt_hid_connect(void);
//<2F>Ͽ<EFBFBD>HID
extern __s32 bt_hid_disconnect(void);
//<2F><><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD>ø<EFBFBD><C3B8><EFBFBD><EFBFBD><EFBFBD>
extern __s32 bt_hid_set_cursor_pos(s16 x_pos,s16 y_pos);
//<2F><><EFBFBD>ʹ<EFBFBD><CDB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա仯ֵ(<28><>Ҫ<EFBFBD><D2AA>ȥ<EFBFBD><C8A5>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ)<29><>bt
//action 0:ָ<><D6B8><EFBFBD>ƶ<EFBFBD><C6B6><EFBFBD>1:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>2:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̧<EFBFBD><CCA7><EFBFBD><EFBFBD>3:<3A><><EFBFBD><EFBFBD><EFBFBD>м<EFBFBD><D0BC><EFBFBD><EFBFBD>£<EFBFBD>4:<3A><><EFBFBD><EFBFBD><EFBFBD>м<EFBFBD>̧<EFBFBD><CCA7><EFBFBD><EFBFBD>
//5:<3A><><EFBFBD><EFBFBD><EFBFBD>Ҽ<EFBFBD><D2BC><EFBFBD><EFBFBD>£<EFBFBD>6:<3A><><EFBFBD><EFBFBD><EFBFBD>Ҽ<EFBFBD>̧<EFBFBD><CCA7><EFBFBD><EFBFBD>
extern __s32 bt_hid_set_cursor_xy(u8 action,s16 x_diff,s16 y_diff);
//<2F><><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD>ø<EFBFBD><C3B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD>λ<EFBFBD>þ<EFBFBD><C3BE><EFBFBD>bt_hid_set_cursor_pos<6F><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD>
extern __s32 bt_hid_reset_cursor_pos(void);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EABBAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD>bt
extern __s32 bt_hid_mouse_test(void);
2024-09-30 17:06:01 +08:00
/*********************FMRX COMM******************************/
//<2F><>̨
extern __s32 bt_fmrx_search (void);
//<2F><>ȡ<EFBFBD><C8A1>ĿƵ<C4BF><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD>統ǰƵ<C7B0><EFBFBD>ܽ<EFBFBD>Ŀ<EFBFBD><C4BF>
extern __s32 bt_fmrx_get_info (void);
//<2F><>ȡ<EFBFBD><C8A1>ĿƵ<C4BF><C6B5><EFBFBD>б<EFBFBD>
extern __s32 bt_fmrx_get_list (void);
//<2F><>ȡ<EFBFBD>ܽ<EFBFBD>Ŀ<EFBFBD><C4BF>
extern __s32 bt_fmrx_get_ch_cnt (void);
//<2F><><EFBFBD>Ž<EFBFBD>Ŀ<EFBFBD><C4BF>
extern __s32 bt_fmrx_set_ch (__u8 ch);
//<2F><><EFBFBD><EFBFBD>Ƶ<EFBFBD><C6B5>
extern __s32 bt_fmrx_set_freq (__u16 freq);
//<2F>н<EFBFBD>Ŀ<EFBFBD>ţ<EFBFBD>dirΪ1<CEAA><31>108M<38><4D><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD>0<EFBFBD><30>78.5M<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
extern __s32 bt_fmrx_switch_channel (__s8 dir);
//<2F><>Ƶ<EFBFBD>㣬dirΪ1<CEAA><31>108M<38><4D><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD>0<EFBFBD><30>78.5M<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
extern __s32 bt_fmrx_switch_freq (__s8 dir);
//<2F><>ȡ<EFBFBD><C8A1>Ŀ<EFBFBD>Ŷ<EFBFBD>Ӧ<EFBFBD><D3A6>Ƶ<EFBFBD><C6B5>
__s32 bt_fmrx_get_ch_to_freq (__u8 ch);
/*********************BT MOUDLE******************************/
//<2F>л<EFBFBD><D0BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6>,BT<42><54><EFBFBD><EFBFBD>Ĭ<EFBFBD><C4AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6>//
//indexֵ<78><D6B5><EFBFBD><EFBFBD>:
//0x41: FMRX; 0x42:AUX2; 0x43:BT; 0x44:MUSIC
extern __s32 bt_switch_app(u8 index);
//<2F>ַ<EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD>ʮ<EFBFBD><CAAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>ת<EFBFBD><D7AA><EFBFBD>󳤶ȼ<F3B3A4B6><C8BC><EFBFBD> srcLen/2
extern void bt_StrToHex(unsigned char *pbDest, unsigned char *pbSrc, int srcLen);
//ʮ<><CAAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>ʾ<EFBFBD><CABE>ת<EFBFBD><D7AA><EFBFBD>󳤶ȼӱ<C8BC> srcLen*2
extern void bt_HexToStr(char *pszDest, char *pbSrc, int srcLen);
//bt_init <20><>ʼ<EFBFBD><CABC><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD>ݽṹ<DDBD>ʹ<EFBFBD><CDB4><EFBFBD><EFBFBD>߳<EFBFBD>/<2F><>ʱ<EFBFBD><CAB1>
extern __s32 bt_init(void);
//bt_exit <20><>ʼ<EFBFBD><CABC><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD>ݽṹ<DDBD><E1B9B9><EFBFBD>ͷ<EFBFBD><CDB7>߳<EFBFBD>/<2F><>ʱ<EFBFBD><CAB1>
extern __s32 bt_exit(void);
#ifdef __cplusplus
}
#endif
#endif