1 /*
2  * Copyright (C) 2015-2020 Alibaba Group Holding Limited
3  */
4 
5 #ifndef _BLECFG_PUB_H_
6 #define _BLECFG_PUB_H_
7 
8 #include <stdio.h>
9 #include <stdint.h>
10 
11 #include "ulog/ulog.h"
12 #include "aos/ble.h"
13 #include "atomic.h"
14 #include "bluetooth/bluetooth.h"
15 #include "bluetooth/gatt.h"
16 #include "bluetooth/uuid.h"
17 #include "netmgr.h"
18 #include "netmgr_wifi.h"
19 #include "ble_netconfig.h"
20 #include "uservice/eventid.h"
21 #include "vfsdev/wifi_dev.h"
22 
23 /* 日志系统 */
24 #define BLECFG_TAG "BLECFG"
25 
26 #define BLECFG_LOG_ERROR(fmt, ...)           LOGE(BLECFG_TAG, fmt, ##__VA_ARGS__)
27 #define BLECFG_LOG_WARNING(fmt, ...)         LOGW(BLECFG_TAG, fmt, ##__VA_ARGS__)
28 #define BLECFG_LOG_INFO(fmt, ...)            LOGI(BLECFG_TAG, fmt, ##__VA_ARGS__)
29 #define BLECFG_LOG_DEBUG(fmt, ...)           LOGD(BLECFG_TAG, fmt, ##__VA_ARGS__)
30 
31 /* 返回给miniapp的消息类型 */
32 typedef enum {
33     BLECFG_DHCP_SUCCESS = 0,
34     BLECFG_DHCP_FAIL,
35     BLECFG_PING_SUCCESS,
36     BLECFG_PING_FAIL,
37 } BLENET_RESPONSE;
38 
39 /* 手机侧APP小程序下发命令的回调函数 */
40 typedef void (*BleCfg_msg_cb)(uint8_t *buf, int32_t len);
41 
42 /* wifi链接热点成功时的回调函数 */
43 typedef void (*BleCfg_dhcp_cb)();
44 
45 /* 链接linksdk成功时的回调函数 */
46 typedef void (*BleCfg_link_cb)();
47 
48 BLECFG_STATE BleCfg_stack_init(BleCfg_msg_cb msg_callback);
49 BLECFG_STATE BleCfg_stack_start();
50 BLECFG_STATE BleCfg_stack_stop();
51 BLECFG_STATE BleCfg_stack_disconnect();
52 BLECFG_STATE BleCfg_notificate(const uint8_t *data, uint16_t size);
53 
54 BLECFG_STATE BleCfg_wifi_set(char *ssid, char *passwd);
55 BLECFG_STATE BleCfg_wifi_connect();
56 BLECFG_STATE BleCfg_wifi_save();
57 BLECFG_STATE BleCfg_wifi_restore();
58 BLECFG_STATE BleCfg_netmgr_init(BleCfg_dhcp_cb dhcp_callback);
59 
60 BLECFG_STATE BleCfg_dev_set(char *pk, char *dn, char *ds);
61 BLECFG_STATE BleCfg_dev_connect();
62 BLECFG_STATE BleCfg_dev_save();
63 BLECFG_STATE BleCfg_dev_restore();
64 BLECFG_STATE BleCfg_linksdk_init(BleCfg_link_cb linksdk_callback);
65 
66 #endif
67