8#ifndef MAIN_NIMBLELOG_H_
9#define MAIN_NIMBLELOG_H_
13#if defined(CONFIG_BT_ENABLED)
15#if defined(CONFIG_NIMBLE_CPP_IDF)
17# ifndef CONFIG_NIMBLE_CPP_LOG_LEVEL
18# define CONFIG_NIMBLE_CPP_LOG_LEVEL 0
21# define NIMBLE_CPP_LOG_PRINT(level, tag, format, ...) do { \
22 if (CONFIG_NIMBLE_CPP_LOG_LEVEL >= level) \
23 ESP_LOG_LEVEL_LOCAL(level, tag, format, ##__VA_ARGS__); \
26# define NIMBLE_LOGD(tag, format, ...) \
27 NIMBLE_CPP_LOG_PRINT(ESP_LOG_DEBUG, tag, format, ##__VA_ARGS__)
29# define NIMBLE_LOGI(tag, format, ...) \
30 NIMBLE_CPP_LOG_PRINT(ESP_LOG_INFO, tag, format, ##__VA_ARGS__)
32# define NIMBLE_LOGW(tag, format, ...) \
33 NIMBLE_CPP_LOG_PRINT(ESP_LOG_WARN, tag, format, ##__VA_ARGS__)
35# define NIMBLE_LOGE(tag, format, ...) \
36 NIMBLE_CPP_LOG_PRINT(ESP_LOG_ERROR, tag, format, ##__VA_ARGS__)
38# define NIMBLE_LOGC(tag, format, ...) \
39 NIMBLE_CPP_LOG_PRINT(ESP_LOG_ERROR, tag, format, ##__VA_ARGS__)
42# include "nimble/porting/nimble/include/syscfg/syscfg.h"
43# include "nimble/console/console.h"
44# ifndef CONFIG_NIMBLE_CPP_LOG_LEVEL
45# if defined(ARDUINO_ARCH_ESP32) && defined(CORE_DEBUG_LEVEL)
46# define CONFIG_NIMBLE_CPP_LOG_LEVEL CORE_DEBUG_LEVEL
48# define CONFIG_NIMBLE_CPP_LOG_LEVEL 0
52# if CONFIG_NIMBLE_CPP_LOG_LEVEL >= 4
53# define NIMBLE_LOGD( tag, format, ... ) console_printf("D %s: " format "\n", tag, ##__VA_ARGS__)
55# define NIMBLE_LOGD( tag, format, ... ) (void)tag
58# if CONFIG_NIMBLE_CPP_LOG_LEVEL >= 3
59# define NIMBLE_LOGI( tag, format, ... ) console_printf("I %s: " format "\n", tag, ##__VA_ARGS__)
61# define NIMBLE_LOGI( tag, format, ... ) (void)tag
64# if CONFIG_NIMBLE_CPP_LOG_LEVEL >= 2
65# define NIMBLE_LOGW( tag, format, ... ) console_printf("W %s: " format "\n", tag, ##__VA_ARGS__)
67# define NIMBLE_LOGW( tag, format, ... ) (void)tag
70# if CONFIG_NIMBLE_CPP_LOG_LEVEL >= 1
71# define NIMBLE_LOGE( tag, format, ... ) console_printf("E %s: " format "\n", tag, ##__VA_ARGS__)
72# define NIMBLE_LOGC( tag, format, ... ) console_printf("CRIT %s: " format "\n", tag, ##__VA_ARGS__)
74# define NIMBLE_LOGE( tag, format, ... ) (void)tag
75# define NIMBLE_LOGC( tag, format, ... ) (void)tag