|
|
/*
|
|
|
* bt_drv.h
|
|
|
*
|
|
|
* Created on: 2018年9月4日
|
|
|
* Author: sjzhang
|
|
|
*/
|
|
|
|
|
|
#ifndef __BT_DRV_H__
|
|
|
#define __BT_DRV_H__
|
|
|
|
|
|
#include "type.h"
|
|
|
|
|
|
//初始化模式
|
|
|
#define BT_NORMAL_MODE 0
|
|
|
#define BT_LOWPOWER_MODE 1
|
|
|
|
|
|
extern unsigned int g_bt_flash_base_addr; //蓝牙数据存储地址,用户可自行配置
|
|
|
extern volatile unsigned char g_bt_print_info; //0=不打印调试信息,1=打印调试信息,须在BT初始化前配置,默认关闭
|
|
|
extern volatile unsigned char g_bt_init_flag; //初始化状态标识,取值BT_INIT_STATE
|
|
|
|
|
|
typedef enum{
|
|
|
BT_UnInit,
|
|
|
BT_PatchDownload,
|
|
|
BT_PatchDownload_Complete,
|
|
|
BT_WritePin,
|
|
|
BT_WritePin_Complete,
|
|
|
BT_SetPiscan,
|
|
|
BT_SetPiscan_Complete
|
|
|
}BT_INIT_STATE;
|
|
|
|
|
|
|
|
|
/************************** BT CMD API************************************/
|
|
|
void bt_init(unsigned char mode);
|
|
|
void bt_event_handler(unsigned char *buff, int len);
|
|
|
void bt_cmd_clear_patch(void);
|
|
|
void bt_cmd_dl_patchcfg(unsigned char patch_sel);
|
|
|
void bt_cmd_wakeup(void);
|
|
|
void bt_cmd_read_sw_version(void);
|
|
|
void bt_cmd_erase_paired_device(unsigned char device_type);
|
|
|
void bt_cmd_read_bt_status(void);
|
|
|
void bt_cmd_set_iocap(unsigned char val);
|
|
|
void bt_cmd_baud_set(unsigned int val);
|
|
|
//val: 0=disable 1=enable
|
|
|
void bt_cmd_flowctl_set(unsigned char val);
|
|
|
void bt_cmd_bt_reset(void);
|
|
|
void bt_cmd_set_logmask(void);
|
|
|
void bt_cmd_ble_set_sc(unsigned char sc, unsigned char mitm);
|
|
|
void bt_cmd_read_le_addr(void);
|
|
|
void bt_cmd_read_ble_remote_name(void);
|
|
|
void bt_cmd_gatt_send(unsigned char* buff, unsigned int len);
|
|
|
//adv_mode: 0=close, 1=open
|
|
|
void bt_cmd_ble_set_adv_mode(unsigned char adv_mode);
|
|
|
void bt_cmd_ble_adv_enable(unsigned char adv_enable);
|
|
|
void bt_cmd_ble_write_device_name(unsigned char* buff, unsigned int len);
|
|
|
//type: 0=public addr, 1=static random addr
|
|
|
void bt_cmd_write_le_addr(unsigned char type, char* addr);
|
|
|
void bt_cmd_ble_set_adv_inerval(unsigned short adv_interval);
|
|
|
void bt_cmd_ble_write_adv_data(void);
|
|
|
void bt_cmd_ble_write_scan_rsp_data(void);
|
|
|
void bt_cmd_ble_disconnect(void);
|
|
|
void bt_cmd_bleconn_upd(unsigned short interval_min, unsigned short interval_max, unsigned short latency, unsigned short timeout);
|
|
|
void bt_cmd_ble_read_rssi(void);
|
|
|
void bt_cmd_ble_set_dis(unsigned char type, unsigned char* val, unsigned short len);
|
|
|
void bt_cmd_gatttptx_test(unsigned int datalen);
|
|
|
void bt_cmd_write_pin(void);
|
|
|
void bt_cmd_legacy_write_device_name(unsigned char *buff, unsigned int len);
|
|
|
void bt_cmd_legacy_set_radio_mode(unsigned char radio_mode);
|
|
|
void bt_cmd_legacy_set_page_scan_para(unsigned char type, unsigned short interval, unsigned short window, unsigned short timeout);
|
|
|
void bt_cmd_legacy_set_inq_scan_para(unsigned char type, unsigned short interval, unsigned short window);
|
|
|
void bt_cmd_spp_connect(char *addr);
|
|
|
void bt_cmd_legacy_read_rssi(void);
|
|
|
void bt_cmd_send_spp_data(unsigned char* buff, unsigned int len);
|
|
|
void bt_cmd_spptptx_test(unsigned int datalen);
|
|
|
void bt_cmd_legacy_read_remote_device_name(void);
|
|
|
void bt_cmd_spp_disconnect(void);
|
|
|
void bt_cmd_legacy_set_sdprec(unsigned char* data, unsigned int len);
|
|
|
void bt_cmd_legacy_set_did(unsigned short vendor_id, unsigned short vendor_id_src, unsigned short product_id, unsigned short product_ver);
|
|
|
//ertm: 0=disable, 1=enable
|
|
|
void bt_cmd_legacy_set_ertm(unsigned char ertm);
|
|
|
|
|
|
|
|
|
#endif /* __BT_DRV_H__ */
|