Просмотр исходного кода

examples, esp_mesh: Fix internal ip mesh example to use transmit wrap function

Fixed regression caused by recent refactoring of WiFi Tx. If  wasn't defined all transmits end up in a crash.

Closes https://github.com/espressif/esp-idf/issues/6067
David Cermak 5 лет назад
Родитель
Сommit
cfbcb9f21e

+ 13 - 3
examples/mesh/ip_internal_network/main/mesh_netif.c

@@ -167,9 +167,10 @@ static esp_err_t mesh_netif_transmit_from_root_ap(void *h, void *buffer, size_t
     }
     return ESP_OK;
 }
-
-// Construct and Destruct functions
-//
+static esp_err_t mesh_netif_transmit_from_root_ap_wrap(void *h, void *buffer, size_t len, void *netstack_buf)
+{
+    return mesh_netif_transmit_from_root_ap(h, buffer, len);
+}
 
 static esp_err_t mesh_netif_transmit_from_node_sta(void *h, void *buffer, size_t len)
 {
@@ -186,6 +187,13 @@ static esp_err_t mesh_netif_transmit_from_node_sta(void *h, void *buffer, size_t
     return err;
 }
 
+static esp_err_t mesh_netif_transmit_from_node_sta_wrap(void *h, void *buffer, size_t len, void *netstack_buf)
+{
+    return mesh_netif_transmit_from_node_sta(h, buffer, len);
+}
+
+// Construct and Destruct functions
+//
 static esp_err_t mesh_driver_start_root_ap(esp_netif_t * esp_netif, void * args)
 {
     mesh_netif_driver_t driver = args;
@@ -193,6 +201,7 @@ static esp_err_t mesh_driver_start_root_ap(esp_netif_t * esp_netif, void * args)
     esp_netif_driver_ifconfig_t driver_ifconfig = {
             .handle =  driver,
             .transmit = mesh_netif_transmit_from_root_ap,
+            .transmit_wrap = mesh_netif_transmit_from_root_ap_wrap,
             .driver_free_rx_buffer = mesh_free
     };
 
@@ -206,6 +215,7 @@ static esp_err_t mesh_driver_start_node_sta(esp_netif_t * esp_netif, void * args
     esp_netif_driver_ifconfig_t driver_ifconfig = {
             .handle =  driver,
             .transmit = mesh_netif_transmit_from_node_sta,
+            .transmit_wrap = mesh_netif_transmit_from_node_sta_wrap,
             .driver_free_rx_buffer = mesh_free
     };
 

+ 5 - 1
examples/mesh/ip_internal_network/sdkconfig.defaults

@@ -4,4 +4,8 @@ CONFIG_LWIP_IP_FORWARD=y
 CONFIG_LWIP_IPV4_NAPT=y
 CONFIG_LWIP_TCP_MSS=624
 CONFIG_LWIP_TCP_OVERSIZE_MSS=y
-
+CONFIG_PARTITION_TABLE_CUSTOM=y
+CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv"
+CONFIG_PARTITION_TABLE_FILENAME="partitions.csv"
+CONFIG_PARTITION_TABLE_OFFSET=0x8000
+CONFIG_PARTITION_TABLE_MD5=y