#pragma once #include "esp_log.h" #define ESP_ERROR_RETRY(action, max_retries) \ { \ uint8_t retry_count = 0; \ esp_err_t error; \ while (retry_count < max_retries) { \ error = action; \ if (error == ESP_OK) break; \ retry_count++; \ ESP_LOGI("RETRY", "Retrying... (%d/%d)\n", retry_count + 1, \ max_retries); \ } \ if (error != ESP_OK) { \ ESP_LOGE("RETRY", "retry failed. %d", error); \ ESP_ERROR_CHECK(error); \ } \ }