mcu_ab568x/app/platform/bsp/bsp_bt/bsp_bt.h
2025-05-30 18:03:10 +08:00

126 lines
3.5 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#ifndef _BSP_BT_H
#define _BSP_BT_H
#include "pbap.h"
//标准HID键
#define HID_KEY_ENTER 0x28
//自定义HID键
#define HID_KEY_VOL_DOWN 0x00EA
#define HID_KEY_VOL_UP 0x00E9
#define HID_KEY_IOS_HOME 0x0040 //ios home
#define HID_KEY_IOS_POWER 0x0030 //ios 锁屏
#define HID_KEY_IOS_LAYOUT 0x01AE //ios Keyboard Layout
typedef enum
{
IMG_POINT_UP = 0, //上滑
IMG_POINT_DOWN, //下滑
IMG_POINT_LEFT, //左滑
IMG_POINT_RIGHT, //右滑
IMG_POINT_DD,
}img_point_type;
enum bt_call_type_t {
CALL_TYPE_NONE, //无
CALL_TYPE_PHONE, //普通通话
CALL_TYPE_NETWORK, //网络通话
};
typedef struct{
u16 warning_status;
u8 disp_status;
u8 hid_menu_flag;
u8 hid_discon_flag;
u8 ring_stop;
u8 bt_is_inited;
u8 bt_form_created;
bool music_playing;
bool res_bt_bypass; //播本地资源, 挂起bt音乐标志
bool number_sta; //通话号码状态, false: not ready; true: ready;
u8 rec_pause : 1;
u8 need_pairing : 1;
u8 call_type; //通话类型
} bsp_bt_t;
extern bsp_bt_t bt_cb;
void bsp_bt_init(void);
void bsp_bt_close(void);
void bsp_bt_vol_change(void);
void bsp_bt_hid_photo(void);
bool bsp_bt_pwrkey5s_check(void);
void bsp_bt_pwrkey5s_clr(void);
void bsp_bt_hid_tog_conn(void);
void bsp_bt_hid_screen_left(void);
void bsp_bt_hid_screen_right(void);
void bt_name_suffix_set(void);
uint bsp_bt_get_hfp_vol(uint hfp_vol);
u16 bsp_bt_chkclr_warning(u16 bits);
void bsp_bt_switch_voice_lang(void);
void bsp_bt_warning(void);
/**
* @brief 在可能有蓝牙音乐的情况下, 非阻塞地播放mp3资源文件
* addr: 资源地址
* len: 资源长度
*/
void bsp_bt_mp3_res_play(u32 addr, u32 len);
void bsp_bt_status(void);
void bt_spp_cmd_process(u8 *ptr, u16 size, u8 type);
void bt_music_rec_init(void);
bool bt_rec_status_process(void);
void bt_music_rec_continue(void);
void bt_sco_rec_init(void);
void bt_redial_init(void);
void bt_redial_reset(uint8_t index);
void bt_update_redial_number(uint8_t index, char *buf, u32 len);
const char *bt_get_last_call_number(uint8_t index);
/**
* @brief 蓝牙调整手机通话音量级数
* up_flag: 0:减一级; 1:加一级;
*/
void bt_call_volume_change(u8 up_flag);
/**
* @brief 蓝牙设置手机音量加一级
*/
void bt_volume_up(void);
/**
* @brief 蓝牙设置手机音量减一级
*/
void bt_volume_down(void);
/**
* @brief 蓝牙设置手机音量大小
* vol: 音量大小
*/
void bt_volume_set(u8 vol);
void bt_set_music_sta(u8 status);
//bt hid
void user_finger_down(void); //向下滑
void user_finger_up(void); //向上滑
void user_finger_p(void); //单击
void user_finger_pp(void); //双击
void bt_hid_point_user(img_point_type type); //视频APP翻页等功能, img_point_type 选择动作
//call
void hfp_hf_call_notice(uint32_t evt);
void bsp_bt_call_enter(void); //进入呼出/通话页面调用
void bsp_bt_call_exit(void); //退出呼出/通话页面调用
//call ring
void bsp_bt_ring_enter(void); //进入来电响铃页面调用
void bsp_bt_ring_exit(void); //退出来电响铃页面调用
void bsp_bt_ring_process(void); //来电响铃页面进程调用
#endif //_BSP_BT_H