192 lines
9.9 KiB
C
192 lines
9.9 KiB
C
#ifndef __WM_BT_API_H__
|
|
#define __WM_BT_API_H__
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#if (WM_NIMBLE_INCLUDED == CFG_ON)
|
|
#include "wm_bt.h"
|
|
#include "wm_ble.h"
|
|
|
|
extern tls_bt_status_t enable_bt_test_mode(tls_bt_hci_if_t *p_hci_if);
|
|
extern tls_bt_status_t exit_bt_test_mode();
|
|
|
|
extern int tls_at_bt_enable(int uart_no, tls_bt_log_level_t log_level);
|
|
extern int tls_at_bt_destroy(void);
|
|
extern void tls_rf_bt_mode(uint8_t mode);
|
|
extern int tls_ble_client_demo_api_init(tls_ble_uart_output_ptr output_func_ptr,tls_ble_uart_sent_ptr uart_in_and_sent_ptr);
|
|
extern int tls_ble_server_demo_api_init(tls_ble_uart_output_ptr output_func_ptr,tls_ble_uart_sent_ptr uart_in_and_sent_ptr);
|
|
extern int tls_ble_client_demo_api_deinit();
|
|
extern int tls_ble_server_demo_api_deinit();
|
|
extern int tls_ble_client_multi_conn_demo_api_init();
|
|
extern int tls_ble_client_multi_conn_demo_api_deinit();
|
|
extern int tls_ble_uart_init(tls_ble_uart_mode_t mode, uint8_t uart_id, tls_uart_options_t *p_hci_if);
|
|
extern int tls_ble_uart_deinit(tls_ble_uart_mode_t mode,uint8_t uart_id);
|
|
extern int tls_ble_demo_adv(uint8_t type);
|
|
extern int tls_ble_demo_scan(uint8_t start);
|
|
extern tls_bt_status_t tls_ble_set_scan_chnl_map(uint8_t map);
|
|
extern int tls_ble_client_demo_api_send_msg(uint8_t *ptr, int length);
|
|
extern int tls_ble_server_demo_api_send_msg(uint8_t *data, int data_len);
|
|
|
|
|
|
extern int tls_ble_gap_set_name(const char *dev_name, uint8_t update_flash);
|
|
extern int tls_ble_gap_get_name(char *dev_name);
|
|
extern int tls_ble_gap_set_data(wm_ble_gap_data_t type, uint8_t *data, uint8_t data_len);
|
|
extern int tls_ble_gap_set_adv_param(uint8_t adv_type, uint32_t min, uint32_t max, uint8_t chn_map, uint8_t filter_policy, uint8_t *dir_mac, uint8_t dir_mac_type);
|
|
extern int tls_ble_gap_set_scan_param(uint32_t intv, uint32_t window, uint8_t filter_policy, bool limited, bool passive, bool filter_duplicate);
|
|
extern int tls_nimble_gap_adv(wm_ble_adv_type_t type, int duration);
|
|
extern void tls_ble_demo_scan_at_cmd_register(void (*scan_resp_cb_fn)(int type, int8_t rssi, uint8_t *addr, const uint8_t *name, int name_len, const uint8_t *raw_scan_resp, int raw_scan_resp_length));
|
|
extern void tls_ble_demo_scan_at_cmd_unregister();
|
|
extern int tls_ble_gap_scan(wm_ble_scan_type_t type, bool filter_duplicate);
|
|
|
|
|
|
#if (WM_MESH_INCLUDED == CFG_ON)
|
|
extern int tls_ble_mesh_init(tls_bt_mesh_at_callback_t at_cb, tls_bt_mesh_role_t role, bool running);
|
|
extern int tls_ble_mesh_deinit(void);
|
|
extern int tls_ble_mesh_get_cfg(tls_mesh_primary_cfg_t *cfg);
|
|
extern int tls_ble_mesh_get_primary_addr(uint16_t *primary_addr);
|
|
extern int tls_ble_mesh_change_ttl(uint8_t ttl);
|
|
extern int tls_ble_mesh_change_primary_addr(uint16_t primary_addr);
|
|
extern int tls_ble_mesh_clear_local_rpl(void);
|
|
extern int tls_ble_mesh_gen_level_set(uint16_t net_idx, uint16_t dst, uint16_t app_idx, int16_t val,
|
|
int16_t *state);
|
|
extern int tls_ble_mesh_gen_level_get(uint16_t net_idx, uint16_t dst, uint16_t app_idx, int16_t *state);
|
|
extern int tls_ble_mesh_gen_off_publish(uint8_t onoff_state);
|
|
extern int tls_ble_mesh_gen_onoff_get(uint16_t net_idx, uint16_t dst, uint16_t app_idx, uint8_t *state);
|
|
extern int tls_ble_mesh_gen_onoff_set(uint16_t net_idx, uint16_t dst, uint16_t app_idx, uint8_t val,
|
|
uint8_t *state);
|
|
extern int tls_ble_mesh_pub_set(uint16_t net_idx, uint16_t dst, uint16_t elem_addr, uint16_t mod_id,
|
|
uint16_t cid,
|
|
tls_bt_mesh_cfg_mod_pub *pub, uint8_t *status);
|
|
extern int tls_ble_mesh_pub_get(uint16_t net_idx, uint16_t dst, uint16_t elem_addr, uint16_t mod_id,
|
|
uint16_t cid, tls_bt_mesh_cfg_mod_pub *pub, uint8_t *status);
|
|
extern int tls_ble_mesh_sub_add(uint16_t net_idx, uint16_t dst, uint16_t elem_addr, uint16_t sub_addr,
|
|
uint16_t mod_id, uint16_t cid, uint8_t *status);
|
|
|
|
extern int tls_ble_mesh_sub_del(uint16_t net_idx, uint16_t dst, uint16_t elem_addr, uint16_t sub_addr,
|
|
uint16_t mod_id, uint16_t cid, uint8_t *status);
|
|
extern int tls_ble_mesh_sub_add(uint16_t net_idx, uint16_t dst, uint16_t elem_addr, uint16_t sub_addr,
|
|
uint16_t mod_id, uint16_t cid, uint8_t *status);
|
|
extern int tls_ble_mesh_sub_get(uint16_t net_idx, uint16_t dst, uint16_t elem_addr, uint16_t mod_id,
|
|
uint16_t cid,
|
|
uint8_t *status, uint16_t *subs, uint32_t *sub_cnt);
|
|
extern int tls_ble_mesh_friend_set(uint16_t net_idx, uint16_t dst, uint8_t val, uint8_t *status);
|
|
extern int tls_ble_mesh_friend_get(uint16_t net_idx, uint16_t dst, uint8_t *val);
|
|
extern int tls_ble_mesh_proxy_get(uint16_t net_idx, uint16_t dst, uint8_t *proxy);
|
|
extern int tls_ble_mesh_proxy_set(uint16_t net_idx, uint16_t dst, uint8_t val, uint8_t *proxy);
|
|
extern int tls_ble_mesh_relay_get(uint16_t net_idx, uint16_t dst, uint8_t *relay, uint8_t *transmit);
|
|
extern int tls_ble_mesh_relay_set(uint16_t net_idx, uint16_t dst, uint8_t relay, uint8_t count,
|
|
uint8_t interval, uint8_t *status, uint8_t *transmit);
|
|
extern int tls_ble_mesh_unbind_app_key(uint16_t net_idx, uint16_t dst, uint16_t elem_addr,
|
|
uint16_t mod_app_idx, uint16_t mod_id, uint16_t cid, uint8_t *status);
|
|
extern int tls_ble_mesh_bind_app_key(uint16_t net_idx, uint16_t dst, uint16_t elem_addr,
|
|
uint16_t mod_app_idx, uint16_t mod_id, uint16_t cid, uint8_t *status);
|
|
extern int tls_ble_mesh_add_app_key(uint16_t net_idx, uint16_t dst, uint16_t key_net_idx,
|
|
uint16_t key_app_idx, uint8_t app_key[16], uint8_t *status);
|
|
extern int tls_ble_mesh_add_local_app_key(uint16_t net_idx, uint16_t app_idx, uint8_t app_key[16]);
|
|
extern int tls_ble_mesh_input_oob_number(uint32_t number);
|
|
extern int tls_ble_mesh_input_oob_string(const char *string);
|
|
extern int tls_ble_mesh_node_reset(uint16_t net_idx, uint16_t addr, uint8_t *status);
|
|
extern int tls_ble_mesh_provisioner_prov_adv(uint8_t uuid[16], uint16_t net_idx, uint16_t addr,
|
|
uint8_t duration);
|
|
extern int tls_ble_mesh_provisioner_scan(bool enable);
|
|
extern int tls_ble_mesh_clear_local_rpl(void);
|
|
extern int tls_ble_mesh_change_primary_addr(uint16_t primary_addr);
|
|
extern int tls_ble_mesh_get_primary_addr(uint16_t *primary_addr);
|
|
extern int tls_ble_mesh_change_ttl(uint8_t ttl);
|
|
extern int tls_ble_mesh_get_cfg(tls_mesh_primary_cfg_t *cfg);
|
|
extern int tls_ble_mesh_get_comp(uint16_t net_idx, uint16_t dst, uint8_t *status, char *rsp_data,
|
|
uint32_t *data_len);
|
|
extern int tls_ble_mesh_vnd_send_msg(uint8_t *msg, int len);
|
|
|
|
extern int tls_ble_mesh_hb_sub_set(uint16_t net_idx, uint16_t dst, tls_bt_mesh_cfg_hb_sub *hb_sub, uint8_t *status);
|
|
extern int tls_ble_mesh_hb_sub_get(uint16_t net_idx, uint16_t dst, tls_bt_mesh_cfg_hb_sub *hb_sub, uint8_t *status);
|
|
|
|
extern int tls_ble_mesh_hb_pub_set(uint16_t net_idx, uint16_t dst, const tls_bt_mesh_cfg_hb_pub *hb_pub, uint8_t *status);
|
|
extern int tls_ble_mesh_hb_pub_get(uint16_t net_idx, uint16_t dst, tls_bt_mesh_cfg_hb_pub *hb_pub, uint8_t *status);
|
|
/**node demo api for at command*/
|
|
extern int tls_ble_mesh_node_deinit(int reason);
|
|
extern int tls_ble_mesh_node_init(void);
|
|
extern int tls_ble_mesh_erase_cfg(void);
|
|
|
|
#endif
|
|
|
|
#else
|
|
#if (WM_BT_INCLUDED == CFG_ON || WM_BLE_INCLUDED == CFG_ON)
|
|
#include "wm_bt.h"
|
|
#include "wm_ble.h"
|
|
#include "wm_ble_gatt.h"
|
|
|
|
extern tls_bt_status_t enable_bt_test_mode(tls_bt_hci_if_t *p_hci_if);
|
|
extern tls_bt_status_t exit_bt_test_mode();
|
|
|
|
extern int tls_at_bt_enable(int uart_no, tls_bt_log_level_t log_level, tls_bt_host_callback_t at_callback_ptr);
|
|
extern int tls_at_bt_destroy(void);
|
|
extern int tls_at_bt_cleanup_host(void);
|
|
extern void tls_rf_bt_mode(uint8_t mode);
|
|
#if (WM_BT_INCLUDED == CFG_ON)
|
|
extern int demo_bt_scan_mode(int type);
|
|
extern int demo_bt_inquiry(int type);
|
|
extern int demo_bt_app_on();
|
|
extern int demo_bt_app_off();
|
|
#endif
|
|
|
|
#if (WM_BTA_AV_SINK_INCLUDED == CFG_ON)
|
|
extern tls_bt_status_t tls_bt_enable_a2dp_sink();
|
|
extern tls_bt_status_t tls_bt_disable_a2dp_sink();
|
|
#endif
|
|
|
|
#if (WM_BTA_HFP_HSP_INCLUDED == CFG_ON)
|
|
extern tls_bt_status_t tls_bt_enable_hfp_client();
|
|
extern tls_bt_status_t tls_bt_disable_hfp_client();
|
|
extern tls_bt_status_t tls_bt_dial_number(const char* number);
|
|
#endif
|
|
|
|
#if (WM_BTA_SPPS_INCLUDED == CFG_ON)
|
|
extern tls_bt_status_t tls_bt_enable_spp_server();
|
|
extern tls_bt_status_t tls_bt_disable_spp_server();
|
|
#endif
|
|
#if (WM_BTA_SPPC_INCLUDED == CFG_ON)
|
|
extern tls_bt_status_t tls_bt_enable_spp_client();
|
|
extern tls_bt_status_t tls_bt_disable_spp_client();
|
|
#endif
|
|
|
|
#if (WM_BLE_INCLUDED == CFG_ON)
|
|
extern int tls_ble_client_demo_api_init(tls_ble_output_func_ptr output_func_ptr);
|
|
extern int tls_ble_server_demo_api_init(tls_ble_output_func_ptr output_func_ptr);
|
|
extern int tls_ble_client_demo_api_deinit();
|
|
extern int tls_ble_server_demo_api_deinit();
|
|
|
|
extern int tls_ble_client_multi_conn_demo_api_init();
|
|
extern int tls_ble_client_multi_conn_demo_api_deinit();
|
|
extern int tls_ble_uart_init(tls_ble_uart_mode_t mode, uint8_t uart_id, tls_uart_options_t *p_hci_if);
|
|
extern int tls_ble_uart_deinit(tls_ble_uart_mode_t mode,uint8_t uart_id);
|
|
extern int tls_ble_demo_adv(uint8_t type);
|
|
extern int tls_ble_demo_scan(uint8_t start);
|
|
extern tls_bt_status_t tls_ble_set_scan_chnl_map(uint8_t map);
|
|
extern int tls_ble_client_demo_api_send_msg(uint8_t *ptr, int length);
|
|
extern int tls_ble_server_demo_api_send_msg(uint8_t *data, int data_len);
|
|
|
|
extern int tls_ble_register_report_evt(tls_ble_dm_evt_t rpt_evt, tls_ble_dm_callback_t rpt_callback);
|
|
extern int tls_ble_deregister_report_result(tls_ble_dm_evt_t rpt_evt, tls_ble_dm_callback_t rpt_callback);
|
|
extern int tls_ble_demo_prof_init(uint16_t uuid, tls_ble_callback_t at_cb_ptr);
|
|
extern int tls_ble_demo_prof_deinit(int server_if);
|
|
extern int tls_ble_demo_cli_init(uint16_t uuid, tls_ble_callback_t at_cb_ptr);
|
|
extern int tls_ble_demo_cli_deinit(int client_if);
|
|
extern tls_bt_uuid_t * app_uuid16_to_uuid128(uint16_t uuid16);
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
#endif
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
|
|
#endif
|