1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
RIOT/cpu/esp32/esp-idf/include/log/esp_log.h
2022-06-01 13:31:00 +02:00

102 lines
3.1 KiB
C

/*
* Copyright (C) 2022 Gunar Schorcht
*
* This file is subject to the terms and conditions of the GNU Lesser
* General Public License v2.1. See the file LICENSE in the top level
* directory for more details.
*/
/**
* @ingroup cpu_esp32
* @{
*
* @file
* @brief Wrapper for source code compatibility of ESP-IDF log with RIOT's log module
*
* @author Gunar Schorcht <gunar@schorcht.net>
* @}
*/
#ifndef LOG_ESP_LOG_H
#define LOG_ESP_LOG_H
#ifndef DOXYGEN /* Hide implementation details from doxygen */
#ifdef __cplusplus
extern "C" {
#endif
#include_next "esp_log.h"
#if defined(RIOT_VERSION)
#include "esp_common.h"
#ifndef LOG_LOCAL_LEVEL
#define LOG_LOCAL_LEVEL LOG_LEVEL
#endif
#define ESP_LOG_LEVEL(level, tag, format, ...) \
do { \
if ((esp_log_level_t)level==ESP_LOG_ERROR ) { \
ESP_LOGE(tag, format, ##__VA_ARGS__); \
} \
else if ((esp_log_level_t)level==ESP_LOG_WARN ) { \
ESP_LOGW(tag, format, ##__VA_ARGS__); \
} \
else if ((esp_log_level_t)level==ESP_LOG_INFO ) { \
ESP_LOGI(tag, format, ##__VA_ARGS__); \
} \
else if ((esp_log_level_t)level==ESP_LOG_DEBUG ) { \
ESP_LOGD(tag, format, ##__VA_ARGS__); \
} \
else if ((esp_log_level_t)level==ESP_LOG_VERBOSE ) { \
ESP_LOGV(tag, format, ##__VA_ARGS__); \
} \
} while (0)
#define ESP_LOG_LEVEL_LOCAL(level, tag, format, ...) \
do { \
if ( LOG_LOCAL_LEVEL >= level ) { \
ESP_LOG_LEVEL(level, tag, format, ##__VA_ARGS__); \
} \
} while (0)
#define ESP_LOGE(tag, format, ...) esp_log_write((esp_log_level_t)LOG_ERROR , tag, format "\n", ##__VA_ARGS__)
#define ESP_LOGW(tag, format, ...) esp_log_write((esp_log_level_t)LOG_WARNING, tag, format "\n", ##__VA_ARGS__)
#define ESP_LOGI(tag, format, ...) esp_log_write((esp_log_level_t)LOG_INFO , tag, format "\n", ##__VA_ARGS__)
#define ESP_LOGD(tag, format, ...) esp_log_write((esp_log_level_t)LOG_DEBUG , tag, format "\n", ##__VA_ARGS__)
#define ESP_LOGV(tag, format, ...) esp_log_write((esp_log_level_t)LOG_ALL , tag, format "\n", ##__VA_ARGS__)
#if MODULE_ESP_LOG_TAGGED
#define ESP_DRAM_LOGE(tag, format, ...) \
do { \
if ((esp_log_level_t)LOG_LOCAL_LEVEL >= ESP_LOG_ERROR ) { \
esp_rom_printf(DRAM_STR(LOG_FORMAT(E, format)), \
system_get_time_ms(), ##__VA_ARGS__); \
}\
} while (0U)
#else
#define ESP_DRAM_LOGE(tag, format, ...) \
do { \
if ((esp_log_level_t)LOG_LOCAL_LEVEL >= ESP_LOG_ERROR ) { \
esp_rom_printf(DRAM_STR(LOG_FORMAT(E, format)), \
##__VA_ARGS__); \
}\
} while (0U)
#endif
#endif /* defined(RIOT_VERSION) */
#ifdef __cplusplus
}
#endif
#endif /* DOXYGEN */
#endif /* LOG_ESP_LOG_H */