From 7303a4935acb02bfd63bc45a7da1195a1663117b Mon Sep 17 00:00:00 2001 From: Sagar Bijwe Date: Wed, 2 Jan 2019 15:03:04 +0530 Subject: [PATCH] esp-nimble: Add support for logging This change adds support for nimble logging using IDF APIs. By default, nimble logging level is set to follow global logging configuration. --- porting/nimble/include/modlog/modlog.h | 26 ++++++++++++++++++++++++++ porting/nimble/src/nimble_port.c | 8 ++++++++ 2 files changed, 34 insertions(+) diff --git a/porting/nimble/include/modlog/modlog.h b/porting/nimble/include/modlog/modlog.h index 039046106..83bcdf436 100644 --- a/porting/nimble/include/modlog/modlog.h +++ b/porting/nimble/include/modlog/modlog.h @@ -25,8 +25,32 @@ #include "log_common/log_common.h" #include "log/log.h" +#ifdef ESP_PLATFORM +#include "esp_log.h" +#include +#include +#endif + #define MODLOG_MODULE_DFLT 255 +#ifdef ESP_PLATFORM +#define MODLOG_DEBUG(ml_mod_, ml_msg_, ...) \ + esp_log_write(ESP_LOG_DEBUG, "NimBLE",ml_msg_, ##__VA_ARGS__) + +#define MODLOG_INFO(ml_mod_, ml_msg_, ...) \ + esp_log_write(ESP_LOG_INFO, "NimBLE",ml_msg_, ##__VA_ARGS__) + +#define MODLOG_WARN(ml_mod_, ml_msg_, ...) \ + esp_log_write(ESP_LOG_WARN, "NimBLE",ml_msg_, ##__VA_ARGS__) + +#define MODLOG_ERROR(ml_mod_, ml_msg_, ...) \ + esp_log_write(ESP_LOG_ERROR, "NimBLE",ml_msg_, ##__VA_ARGS__) + +#define MODLOG_CRITICAL(ml_mod_, ml_msg_, ...) \ + esp_log_write(ESP_LOG_ERROR, "NimBLE",ml_msg_, ##__VA_ARGS__) + +#else + #if MYNEWT_VAL(LOG_LEVEL) <= LOG_LEVEL_DEBUG || defined __DOXYGEN__ #define MODLOG_DEBUG(ml_mod_, ml_msg_, ...) \ printf((ml_msg_), ##__VA_ARGS__) @@ -62,6 +86,8 @@ #define MODLOG_CRITICAL(ml_mod_, ...) IGNORE(__VA_ARGS__) #endif +#endif + #define MODLOG(ml_lvl_, ml_mod_, ...) \ MODLOG_ ## ml_lvl_((ml_mod_), __VA_ARGS__) diff --git a/porting/nimble/src/nimble_port.c b/porting/nimble/src/nimble_port.c index 06b5f6df9..08d9d16d0 100644 --- a/porting/nimble/src/nimble_port.c +++ b/porting/nimble/src/nimble_port.c @@ -26,6 +26,9 @@ #include "controller/ble_ll.h" #include "transport/ram/ble_hci_ram.h" #endif +#ifdef ESP_PLATFORM +#include "esp_log.h" +#endif static struct ble_npl_eventq g_eventq_dflt; @@ -47,6 +50,11 @@ nimble_port_init(void) os_cputime_init(32768); ble_ll_init(); #endif + +#ifdef ESP_PLATFORM + esp_log_level_set("NimBLE", LOG_LOCAL_LEVEL); +#endif + } void