Преглед изворни кода

add option to route LWIP logs through ESP_LOG interface

Signed-off-by: xueyunfei <xueyunfei@espressif.com>

Merges https://github.com/espressif/esp-idf/pull/8785
Closes https://github.com/espressif/esp-idf/issues/8361
Jeff H пре 3 година
родитељ
комит
5ebd86ab6a
2 измењених фајлова са 15 додато и 0 уклоњено
  1. 7 0
      components/lwip/Kconfig
  2. 8 0
      components/lwip/port/esp32/include/arch/cc.h

+ 7 - 0
components/lwip/Kconfig

@@ -998,6 +998,13 @@ menu "LWIP"
 
             All lwIP debug features increase the size of the final binary.
 
+    config LWIP_DEBUG_ESP_LOG
+        bool "Route LWIP debugs through ESP_LOG interface"
+        depends on LWIP_DEBUG
+        default n
+        help
+            Enabling this option routes all enabled LWIP debugs through ESP_LOGD.
+
     config LWIP_NETIF_DEBUG
         bool "Enable netif debug messages"
         depends on LWIP_DEBUG

+ 8 - 0
components/lwip/port/esp32/include/arch/cc.h

@@ -85,7 +85,15 @@ typedef int sys_prot_t;
 
 #include <stdio.h>
 
+#ifdef CONFIG_LWIP_DEBUG_ESP_LOG
+// lwip debugs routed to ESP_LOGD
+#include "esp_log.h"
+#define LWIP_ESP_LOG_FUNC(format, ...) ESP_LOG_LEVEL(ESP_LOG_DEBUG, "lwip", format, ##__VA_ARGS__)
+#define LWIP_PLATFORM_DIAG(x) LWIP_ESP_LOG_FUNC x
+#else
+// lwip debugs routed to printf
 #define LWIP_PLATFORM_DIAG(x)   do {printf x;} while(0)
+#endif
 
 #ifdef NDEBUG