@ -1,11 +1,14 @@
# include "mesh_ota .h"
# include "Mesh_OTA .h"
static const char * LOG_TAG = " mesh_network " ;
static const uint8_t MESH_ID [ 6 ] = { 0x77 , 0x77 , 0x77 , 0x77 , 0x77 , 0x77 } ;
static uint8_t tx_buf [ TX_SIZE ] = { 0 , } ;
static uint8_t rx_buf [ RX_SIZE ] = { 0 , } ;
static uint8_t tx_buf [ CONFIG_MESH_MESSAGE_SIZE ] = { 0 , } ;
static uint8_t rx_buf [ CONFIG_MESH_MESSAGE_SIZE ] = { 0 , } ;
static uint8_t u8NodeMAC [ 6 ] ;
esp_netif_t * netif_sta ;
bool bIsMeshConnected ;
int32_t i32MeshLayer ;
mesh_addr_t mesh_parent_addr ;
esp_err_t errMeshNetworkInitialize ( )
{
@ -13,7 +16,7 @@ esp_err_t errMeshNetworkInitialize()
esp_err_t err ;
bIsMeshConnected = false ;
i32MeshLayer = - 1 ;
//netif_sta = NULL;
netif_sta = NULL ;
err = nvs_flash_init ( ) ; //init non-volatile storage
@ -57,7 +60,7 @@ esp_err_t errMeshNetworkInitialize()
mesh_cfg_t cfg = MESH_INIT_CONFIG_DEFAULT ( ) ;
/* mesh ID */
memcpy ( ( uint8_t * ) & cfg . mesh_id , MESH_ID , 6 ) ;
memcpy ( ( uint8_t * ) & cfg . mesh_id , CONFIG_ MESH_ID, 6 ) ;
ERROR_CHECK ( errMeshNetworkInitializeRouter ( & cfg ) ) ;
@ -150,8 +153,7 @@ esp_err_t errGetChildren(mesh_addr_t* pChildren, uint16_t* pu16ChildrenSize)
return err ;
}
/*
esp_err_t errSendPacket ( mesh_addr_t * dest , struct ota_mesh_packet * packet )
esp_err_t errSendMeshPacket ( mesh_addr_t * pAddrDest , MESH_PACKET_t * pPacket )
{
esp_err_t err ;
mesh_data_t data ;
@ -159,28 +161,23 @@ esp_err_t errSendPacket(mesh_addr_t* dest, struct ota_mesh_packet* packet)
data . size = sizeof ( tx_buf ) ;
data . proto = MESH_PROTO_BIN ;
data . tos = MESH_TOS_P2P ;
memcpy ( tx_buf , ( uint8_t * ) packet , sizeof ( struct ota_mesh_packe t) ) ;
err = esp_mesh_send ( dest , & data , MESH_DATA_P2P , NULL , 0 ) ;
memcpy ( tx_buf , ( uint8_t * ) pP acket , sizeof ( MESH_PACKET_ t) ) ;
err = esp_mesh_send ( pA ddrD est, & data , MESH_DATA_P2P , NULL , 0 ) ;
return err ;
}
*/
esp_err_t errStartReceiveTask ( )
{
esp_err_t err = ESP_OK ;
BaseType_t xReturned ;
//static bool is_comm_p2p_started = false;
// if (!is_comm_p2p_started)
// {
//is_comm_p2p_started = true;
xReturned = xTaskCreate ( vTaskReceiveMeshData , " ReceiveMeshData " , 7000 , NULL , 5 , NULL ) ;
if ( xReturned ! = pdPASS )
{
err = ESP_FAIL ;
}
//}
xReturned = xTaskCreate ( vTaskReceiveMeshData , " ReceiveMeshData " , 7000 , NULL , 5 , NULL ) ;
if ( xReturned ! = pdPASS )
{
err = ESP_FAIL ;
}
return err ;
}
@ -191,11 +188,11 @@ void vTaskReceiveMeshData(void *arg)
mesh_data_t data ;
int flag = 0 ;
data . data = rx_buf ;
data . size = RX _SIZE;
data . size = CONFIG_MESH_MESSAGE _SIZE;
while ( true )
{
data . size = RX _SIZE;
data . size = CONFIG_MESH_MESSAGE _SIZE;
err = esp_mesh_recv ( & from , & data , portMAX_DELAY , & flag , NULL , 0 ) ;
if ( err ! = ESP_OK | | ! data . size )
{
@ -204,7 +201,7 @@ void vTaskReceiveMeshData(void *arg)
}
/*
struct ota_mesh_packet packet ;
memcpy ( & packet , ( uint8_t * ) rx_buf , sizeof ( struct ota_mesh_packet ) ) ;
@ -239,8 +236,9 @@ void vTaskReceiveMeshData(void *arg)
break ;
} //end switch
*/
} //end while
vTaskDelete ( NULL ) ;
}