esp_err: add NDEBUG guard, comment about flash cache

Follow-up to 316b040
This commit is contained in:
Angus Gratton 2017-03-02 15:40:49 +11:00
parent e14d65d704
commit e08cf27b8a

View file

@ -44,8 +44,15 @@ typedef int32_t esp_err_t;
* Macro which can be used to check the error code, * Macro which can be used to check the error code,
* and terminate the program in case the code is not ESP_OK. * and terminate the program in case the code is not ESP_OK.
* Prints the failed statement to serial output. * Prints the failed statement to serial output.
*
* Note: this macro is not safe to use if flash cache
* may be disabled.
*/ */
#ifdef NDEBUG
#define ESP_ERROR_CHECK(x)
#else
#define ESP_ERROR_CHECK(x) do { esp_err_t rc = (x); if (rc != ESP_OK) { ESP_LOGE("err", "esp_err_t = %d", rc); assert(0 && #x);} } while(0); #define ESP_ERROR_CHECK(x) do { esp_err_t rc = (x); if (rc != ESP_OK) { ESP_LOGE("err", "esp_err_t = %d", rc); assert(0 && #x);} } while(0);
#endif
#ifdef __cplusplus #ifdef __cplusplus
} }