nodemcu-firmware/sdk/esp_iot_sdk_v1.4.0/include/mesh.h

62 lines
1.9 KiB
C

#ifndef __LWIP_API_MESH_H__
#define __LWIP_API_MESH_H__
#include "ip_addr.h"
#include "user_interface.h"
#include "espconn.h"
typedef void (* espconn_mesh_callback)();
enum mesh_type {
MESH_CLOSE = 0,
MESH_LOCAL,
MESH_ONLINE,
MESH_NONE = 0xFF
};
enum mesh_status {
MESH_DISABLE = 0,
MESH_WIFI_CONN,
MESH_NET_CONN,
MESH_LOCAL_AVAIL,
MESH_ONLINE_AVAIL
};
enum mesh_node_type {
MESH_NODE_PARENT = 0,
MESH_NODE_CHILD,
MESH_NODE_ALL
};
bool espconn_mesh_local_addr(struct ip_addr *ip);
bool espconn_mesh_get_node_info(enum mesh_node_type type,
uint8_t **info, uint8_t *count);
bool espconn_mesh_get_router(struct station_config *router);
bool espconn_mesh_set_router(struct station_config *router);
bool espconn_mesh_encrypt_init(AUTH_MODE mode, uint8_t *passwd, uint8_t passwd_len);
bool espconn_mesh_set_ssid_prefix(uint8_t *prefix, uint8_t prefix_len);
bool espconn_mesh_set_max_hops(uint8_t max_hops);
char * espconn_json_find_section(const char *pbuf, u16 len, const char *section);
sint8 espconn_mesh_connect(struct espconn *usr_esp);
sint8 espconn_mesh_disconnect(struct espconn *usr_esp);
sint8 espconn_mesh_get_status();
sint8 espconn_mesh_sent(struct espconn *usr_esp, uint8 *pdata, uint16 len);
uint8 espconn_mesh_get_max_hops();
uint8 espconn_mesh_layer(struct ip_addr *ip);
uint32_t user_json_get_value(const char *pbuffer, uint16_t buf_len,
const uint8_t *json_key);
void espconn_mesh_enable(espconn_mesh_callback enable_cb, enum mesh_type type);
void espconn_mesh_disable(espconn_mesh_callback disable_cb);
void espconn_mesh_init();
void espconn_mesh_init_group_list(uint8_t *dev_mac, uint16_t dev_count);
void espconn_mesh_set_dev_type(uint8_t dev_type);
void espconn_mesh_setup_timer(os_timer_t *timer, uint32_t time,
os_timer_func_t cb, void *arg, bool repeat);
#endif