From: Roland Dobai Date: Thu, 31 May 2018 10:47:06 +0000 (+0200) Subject: ESP_ERROR_CHECK converts error code to text X-Git-Tag: v3.1-beta1~61^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=07acbb5664445fde469d88b4f901872b31edce3d;p=esp-idf ESP_ERROR_CHECK converts error code to text If CONFIG_ESP_ERR_TO_NAME_LOOKUP is enabled, ESP_ERROR_CHECK prints error message in addition to the error code. --- diff --git a/components/esp32/panic.c b/components/esp32/panic.c index 83bc657f1a..ab57307270 100644 --- a/components/esp32/panic.c +++ b/components/esp32/panic.c @@ -40,6 +40,7 @@ #include "esp_cache_err_int.h" #include "esp_app_trace.h" #include "esp_system.h" +#include "sdkconfig.h" #if CONFIG_SYSVIEW_ENABLE #include "SEGGER_RTT.h" #endif @@ -653,7 +654,11 @@ void esp_clear_watchpoint(int no) void _esp_error_check_failed(esp_err_t rc, const char *file, int line, const char *function, const char *expression) { - ets_printf("ESP_ERROR_CHECK failed: esp_err_t 0x%x at 0x%08x\n", rc, (intptr_t)__builtin_return_address(0) - 3); + ets_printf("ESP_ERROR_CHECK failed: esp_err_t 0x%x", rc); +#ifdef CONFIG_ESP_ERR_TO_NAME_LOOKUP + ets_printf(" (%s)", esp_err_to_name(rc)); +#endif //CONFIG_ESP_ERR_TO_NAME_LOOKUP + ets_printf(" at 0x%08x\n", (intptr_t)__builtin_return_address(0) - 3); if (spi_flash_cache_enabled()) { // strings may be in flash cache ets_printf("file: \"%s\" line %d\nfunc: %s\nexpression: %s\n", file, line, function, expression); } diff --git a/components/nvs_flash/test_nvs_host/esp_error_check_stub.cpp b/components/nvs_flash/test_nvs_host/esp_error_check_stub.cpp index 9cff4af310..34d8704e7b 100644 --- a/components/nvs_flash/test_nvs_host/esp_error_check_stub.cpp +++ b/components/nvs_flash/test_nvs_host/esp_error_check_stub.cpp @@ -1,9 +1,14 @@ #include "catch.hpp" #include "esp_err.h" +#include "sdkconfig.h" void _esp_error_check_failed(esp_err_t rc, const char *file, int line, const char *function, const char *expression) { - printf("ESP_ERROR_CHECK failed: esp_err_t 0x%x at %p\n", rc, __builtin_return_address(0)); + printf("ESP_ERROR_CHECK failed: esp_err_t 0x%x", rc); +#ifdef CONFIG_ESP_ERR_TO_NAME_LOOKUP + printf(" (%s)", esp_err_to_name(rc)); +#endif //CONFIG_ESP_ERR_TO_NAME_LOOKUP + printf(" at %p\n", __builtin_return_address(0)); printf("file: \"%s\" line %d\nfunc: %s\nexpression: %s\n", file, line, function, expression); abort(); } diff --git a/components/wear_levelling/test_wl_host/esp_error_check_stub.cpp b/components/wear_levelling/test_wl_host/esp_error_check_stub.cpp index 9cff4af310..1eb70e3e9f 100644 --- a/components/wear_levelling/test_wl_host/esp_error_check_stub.cpp +++ b/components/wear_levelling/test_wl_host/esp_error_check_stub.cpp @@ -1,9 +1,14 @@ #include "catch.hpp" #include "esp_err.h" +#include "sdkconfig.h" void _esp_error_check_failed(esp_err_t rc, const char *file, int line, const char *function, const char *expression) { - printf("ESP_ERROR_CHECK failed: esp_err_t 0x%x at %p\n", rc, __builtin_return_address(0)); + printf("ESP_ERROR_CHECK failed: esp_err_t 0x%x", rc); +#ifdef CONFIG_ESP_ERR_TO_NAME_LOOKUP + printf(" (%s)", esp_err_to_name(rc)); +#endif //CONFIG_ESP_ERR_TO_NAME_LOOKUP + printf(" at %p\n", __builtin_return_address(0)); printf("file: \"%s\" line %d\nfunc: %s\nexpression: %s\n", file, line, function, expression); abort(); }