mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2024-12-29 04:50:03 +01:00
102 lines
3.1 KiB
C
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 */
|