Digi XBeeLib fixed for NonCopyable issue
Dependents: XBeeZB_Receive_Data
Fork of XBeeLib by
This lib fixes NonCopyable<T> issues of Digi XBeeLib. Also, lib has been reworked in order to make it RTOS-aware, overcoming several others issues due to stdio Mutex operations.
Utils/Debug.h
- Committer:
- Lorenzo Maiorfi
- Date:
- 2018-03-25
- Revision:
- 12:8dc9761210c1
- Parent:
- 4:629712865107
File content as of revision 12:8dc9761210c1:
/** * Copyright (c) 2015 Digi International Inc., * All rights not expressly granted are reserved. * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this file, * You can obtain one at http://mozilla.org/MPL/2.0/. * * Digi International Inc. 11001 Bren Road East, Minnetonka, MN 55343 * ======================================================================= */ #if !defined(__DEBUG_H_) #define __DEBUG_H_ #include "config.h" #if defined(ENABLE_THREAD_SAFE_LOGGING) #include "mbed.h" extern EventQueue s_logging_event_queue; #endif #if defined(ENABLE_LOGGING) #include "DigiLogger.h" #if !(defined(ENABLE_THREAD_SAFE_LOGGING)) #define digi_log(...) DigiLog::DigiLogger::log_format(__VA_ARGS__); #else #define digi_log(...) s_logging_event_queue.call(&DigiLog::DigiLogger::log_format, __VA_ARGS__); #endif #else #define digi_log(...) do {} while(0) #endif #if defined(ENABLE_ASSERTIONS) #include "mbed.h" #if !(defined assert) #if !(defined(ENABLE_THREAD_SAFE_LOGGING)) #define assert(expr) if (!(expr)) { \ DigiLog::DigiLogger::log_format(LogLevelNone, "Assertion failed: %s, file %s, line %d\n", \ #expr, __FILE__, __LINE__); \ mbed_die(); \ } #else #define assert(expr) if (!(expr)) { \ s_logging_event_queue.call(&DigiLog::DigiLogger::log_format, LogLevelNone, "Assertion failed: %s, file %s, line %d\n", #expr, __FILE__, __LINE__ ); \ mbed_die(); \ } #endif #endif #else #define assert(expr) #endif #endif /* __DEBUG_H_ */