From 16c358469d92799f251fd3185f348d9714702825 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. --- nimble/host/src/ble_hs_dbg.c | 6 +++--- porting/nimble/include/modlog/modlog.h | 28 +++++++++++++++++++++----- porting/nimble/src/nimble_port.c | 7 ++++++- 3 files changed, 32 insertions(+), 9 deletions(-) diff --git a/nimble/host/src/ble_hs_dbg.c b/nimble/host/src/ble_hs_dbg.c index 4529ee0b0..dc7437104 100644 --- a/nimble/host/src/ble_hs_dbg.c +++ b/nimble/host/src/ble_hs_dbg.c @@ -139,7 +139,7 @@ ble_hs_dbg_le_event_disp(uint8_t subev, uint8_t len, uint8_t *evdata) break; case BLE_HCI_LE_SUBEV_LT_KEY_REQ: - BLE_HS_LOG(DEBUG, "LE LTK Req. handle=%u rand=%lx%lx encdiv=%u\n", + BLE_HS_LOG(DEBUG, "LE LTK Req. handle=%u rand=%x%x encdiv=%u\n", get_le16(evdata), get_le32(evdata + 6), get_le32(evdata + 2), get_le16(evdata + 10)); break; @@ -509,7 +509,7 @@ ble_hs_dbg_cmd_comp_info_params(uint8_t status, uint8_t ocf, uint8_t *evdata) } break; case BLE_HCI_OCF_IP_RD_LOC_SUPP_FEAT: - BLE_HS_LOG(DEBUG, "supp_feat=0x%lx%08lx", + BLE_HS_LOG(DEBUG, "supp_feat=0x%x%08x", get_le32(evdata + 4), get_le32(evdata)); break; case BLE_HCI_OCF_IP_RD_BD_ADDR: @@ -583,7 +583,7 @@ ble_hs_dbg_cmd_complete_disp(uint8_t *evdata, uint8_t len) get_le16(evdata + 4), get_le16(evdata + 6)); break; case BLE_HCI_OCF_LE_RD_SUPP_STATES: - BLE_HS_LOG(DEBUG, "states=0x%lx%08lx", get_le32(evdata + 4), + BLE_HS_LOG(DEBUG, "states=0x%x%08x", get_le32(evdata + 4), get_le32(evdata)); break; case BLE_HCI_OCF_LE_ENCRYPT: diff --git a/porting/nimble/include/modlog/modlog.h b/porting/nimble/include/modlog/modlog.h index ae9b58208..55b6b3247 100644 --- a/porting/nimble/include/modlog/modlog.h +++ b/porting/nimble/include/modlog/modlog.h @@ -24,6 +24,12 @@ #include "log/log.h" +#ifdef ESP_PLATFORM +#include "esp_log.h" +#include +#include +#endif + #define MODLOG_MODULE_DFLT 255 #if (MYNEWT_VAL(LOG_LEVEL) > 0) @@ -34,13 +40,23 @@ modlog_dummy(const char *msg, ...) } #endif -#if (MYNEWT_VAL(LOG_LEVEL) > 0) +#ifdef ESP_PLATFORM #define MODLOG_DEBUG(ml_mod_, ml_msg_, ...) \ - modlog_dummy((ml_msg_), ##__VA_ARGS__) + 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 -#define MODLOG_DEBUG(ml_mod_, ml_msg_, ...) \ - printf((ml_msg_), ##__VA_ARGS__); -#endif #if (MYNEWT_VAL(LOG_LEVEL) > 1) #define MODLOG_INFO(ml_mod_, ml_msg_, ...) \ @@ -74,6 +90,8 @@ modlog_dummy(const char *msg, ...) printf((ml_msg_), ##__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 bf1803cb5..d5bd9ad21 100644 --- a/porting/nimble/src/nimble_port.c +++ b/porting/nimble/src/nimble_port.c @@ -24,6 +24,9 @@ #if NIMBLE_CFG_CONTROLLER #include "controller/ble_ll.h" #endif +#ifdef ESP_PLATFORM +#include "esp_log.h" +#endif static struct ble_npl_eventq g_eventq_dflt; @@ -35,7 +38,9 @@ nimble_port_init(void) #if NIMBLE_CFG_CONTROLLER void ble_hci_ram_init(void); #endif - +#ifdef ESP_PLATFORM + esp_log_level_set("NimBLE", LOG_LOCAL_LEVEL); +#endif /* Initialize default event queue */ ble_npl_eventq_init(&g_eventq_dflt);