#ifndef H_MESH_NETWORK #define H_MESH_NETWORK #include #include "esp_wifi.h" #include "esp_system.h" #include "esp_event.h" #include "esp_log.h" #include "esp_mesh.h" #include "esp_mesh_internal.h" #define RX_SIZE (1234) #define TX_SIZE (1234) static bool bIsMeshConnected; static int32_t i32MeshLayer; static mesh_addr_t mesh_parent_addr; static esp_netif_t *netif_sta = NULL; esp_err_t errMeshNetworkInitialize(); esp_err_t errMeshNetworkInitializeWiFi(); esp_err_t errMeshNetworkInitializeRouter(mesh_cfg_t* cfg); bool bCheckMACEquality(uint8_t* pu8aMAC, uint8_t* pu8bMAC); esp_err_t errGetChildren(mesh_addr_t* pChildren, uint16_t* pu16ChildrenSize); esp_err_t errSendPacket(mesh_addr_t* dest, struct ota_mesh_packet* packet); void vMeshEventHandler(void *arg, esp_event_base_t event_base, int32_t i32EventID, void* vpEventData); void vIPEventHandler(void *arg, esp_event_base_t event_base, int32_t i32EventID, void *event_data); esp_err_t errStartReceiveTask(); void vTaskReceiveMeshData(void *arg); #endif /* H_MESH_NETWORK */