Loading...
Searching...
No Matches
esp_log.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2022 Gunar Schorcht
3 * SPDX-License-Identifier: LGPL-2.1-only
4 */
5
6#pragma once
7
18
19#ifndef DOXYGEN /* Hide implementation details from doxygen */
20
21#ifdef __cplusplus
22extern "C" {
23#endif
24
25#include "log.h"
26#include_next "esp_log.h"
27
28#if defined(RIOT_VERSION)
29
30#include "esp_common.h"
31
32#ifndef LOG_LOCAL_LEVEL
33#define LOG_LOCAL_LEVEL LOG_LEVEL
34#endif
35
36#define ESP_LOG_LEVEL(level, tag, format, ...) \
37 do { \
38 if ((esp_log_level_t)level==ESP_LOG_ERROR ) { \
39 ESP_LOGE(tag, format, ##__VA_ARGS__); \
40 } \
41 else if ((esp_log_level_t)level==ESP_LOG_WARN ) { \
42 ESP_LOGW(tag, format, ##__VA_ARGS__); \
43 } \
44 else if ((esp_log_level_t)level==ESP_LOG_INFO ) { \
45 ESP_LOGI(tag, format, ##__VA_ARGS__); \
46 } \
47 else if ((esp_log_level_t)level==ESP_LOG_DEBUG ) { \
48 ESP_LOGD(tag, format, ##__VA_ARGS__); \
49 } \
50 else if ((esp_log_level_t)level==ESP_LOG_VERBOSE ) { \
51 ESP_LOGV(tag, format, ##__VA_ARGS__); \
52 } \
53 } while (0)
54
55#define ESP_LOG_LEVEL_LOCAL(level, tag, format, ...) \
56 do { \
57 if ( LOG_LOCAL_LEVEL >= level ) { \
58 ESP_LOG_LEVEL(level, tag, format, ##__VA_ARGS__); \
59 } \
60 } while (0)
61
62#define ESP_LOGE(tag, format, ...) esp_log_write((esp_log_level_t)LOG_ERROR , tag, format "\n", ##__VA_ARGS__)
63#define ESP_LOGW(tag, format, ...) esp_log_write((esp_log_level_t)LOG_WARNING, tag, format "\n", ##__VA_ARGS__)
64#define ESP_LOGI(tag, format, ...) esp_log_write((esp_log_level_t)LOG_INFO , tag, format "\n", ##__VA_ARGS__)
65#define ESP_LOGD(tag, format, ...) esp_log_write((esp_log_level_t)LOG_DEBUG , tag, format "\n", ##__VA_ARGS__)
66#define ESP_LOGV(tag, format, ...) esp_log_write((esp_log_level_t)LOG_ALL , tag, format "\n", ##__VA_ARGS__)
67
68#if MODULE_ESP_LOG_TAGGED
69
70#define ESP_DRAM_LOG_LEVEL(level, letter, tag, format, ...) \
71 do { \
72 if ((esp_log_level_t)LOG_LOCAL_LEVEL >= level ) { \
73 esp_rom_printf(DRAM_STR(LOG_FORMAT(letter, format)), \
74 system_get_time_ms(), ##__VA_ARGS__); \
75 }\
76 } while (0U)
77
78#else
79
80#define ESP_DRAM_LOG_LEVEL(level, letter, tag, format, ...) \
81 do { \
82 if ((esp_log_level_t)LOG_LOCAL_LEVEL >= level ) { \
83 esp_rom_printf(DRAM_STR(LOG_FORMAT(letter, format)), \
84 ##__VA_ARGS__); \
85 }\
86 } while (0U)
87
88#endif
89
90#define ESP_DRAM_LOGE(tag, format, ...) ESP_DRAM_LOG_LEVEL(LOG_ERROR , E, tag, format "\n", ##__VA_ARGS__)
91#define ESP_DRAM_LOGW(tag, format, ...) ESP_DRAM_LOG_LEVEL(LOG_WARNING, W, tag, format "\n", ##__VA_ARGS__)
92#define ESP_DRAM_LOGI(tag, format, ...) ESP_DRAM_LOG_LEVEL(LOG_INFO , I, tag, format "\n", ##__VA_ARGS__)
93#define ESP_DRAM_LOGD(tag, format, ...) ESP_DRAM_LOG_LEVEL(LOG_DEBUG , D, tag, format "\n", ##__VA_ARGS__)
94#define ESP_DRAM_LOGV(tag, format, ...) ESP_DRAM_LOG_LEVEL(LOG_ALL , V, tag, format "\n", ##__VA_ARGS__)
95
96#endif /* defined(RIOT_VERSION) */
97
98#ifdef __cplusplus
99}
100#endif
101
102#endif /* DOXYGEN */
Common helper macros for ESP SoCs.