zephyr/include/bluetooth/log.h
Andrei Emeltchenko 7160c9c95e Bluetooth: Move BT_STACK definitions to log.h
BT_STACK depends on BT_STACK_DEBUG_EXTRA, therefore moving it there.
It also allows to use BT_STACK in drivers, at the moment only
Bluetooth stack uses it.

Change-Id: I41e0e0d49dae6abef2dc3a8d1d109127787d3db0
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2016-02-05 20:25:08 -05:00

63 lines
2.0 KiB
C

/** @file
* @brief Bluetooth subsystem logging helpers.
*/
/*
* Copyright (c) 2015 Intel Corporation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef __BT_LOG_H
#define __BT_LOG_H
#include <stdio.h>
#if defined(CONFIG_BLUETOOTH_DEBUG_COLOR)
#define BT_COLOR_OFF "\x1B[0m"
#define BT_COLOR_RED "\x1B[0;31m"
#define BT_COLOR_YELLOW "\x1B[0;33m"
#else
#define BT_COLOR_OFF ""
#define BT_COLOR_RED ""
#define BT_COLOR_YELLOW ""
#endif
#if defined(CONFIG_BLUETOOTH_DEBUG)
#define BT_DBG(fmt, ...) printf("bt: %s (%p): " fmt "\n", __func__, \
sys_thread_self_get(), ##__VA_ARGS__)
#define BT_ERR(fmt, ...) printf("bt: %s: %s" fmt "%s\n", __func__, \
BT_COLOR_RED, ##__VA_ARGS__, BT_COLOR_OFF)
#define BT_WARN(fmt, ...) printf("bt: %s: %s" fmt "%s\n", __func__, \
BT_COLOR_YELLOW, ##__VA_ARGS__, BT_COLOR_OFF)
#define BT_INFO(fmt, ...) printf("bt: " fmt "\n", ##__VA_ARGS__)
#define BT_ASSERT(cond) if (!(cond)) { \
BT_ERR("assert: '" #cond "' failed"); \
}
/* Enabling debug increases stack size requirement considerably */
#define BT_STACK_DEBUG_EXTRA 512
#else
#define BT_DBG(fmt, ...)
#define BT_ERR(fmt, ...)
#define BT_WARN(fmt, ...)
#define BT_INFO(fmt, ...)
#define BT_ASSERT(cond)
#define BT_STACK_DEBUG_EXTRA 0
#endif /* CONFIG_BLUETOOTH_DEBUG */
#define BT_STACK(name, size) \
char __stack name[(size) + BT_STACK_DEBUG_EXTRA]
#define BT_STACK_NOINIT(name, size) \
char __noinit __stack name[(size) + BT_STACK_DEBUG_EXTRA]
#endif /* __BT_LOG_H */