3c9774a173
1. Выделение разделяемой памяти учитывает количество требуемой памяти 2. Выложил собранные библиотеки pnet и osal 3. Добавил общее описание в readme.md
79 lines
2.7 KiB
C
79 lines
2.7 KiB
C
/*********************************************************************
|
|
* _ _ _
|
|
* _ __ | |_ _ | | __ _ | |__ ___
|
|
* | '__|| __|(_)| | / _` || '_ \ / __|
|
|
* | | | |_ _ | || (_| || |_) |\__ \
|
|
* |_| \__|(_)|_| \__,_||_.__/ |___/
|
|
*
|
|
* www.rt-labs.com
|
|
* Copyright 2017 rt-labs AB, Sweden.
|
|
*
|
|
* This software is licensed under the terms of the BSD 3-clause
|
|
* license. See the file LICENSE distributed with this software for
|
|
* full license information.
|
|
********************************************************************/
|
|
|
|
#ifndef OSAL_LOG_H
|
|
#define OSAL_LOG_H
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#include "osal.h"
|
|
|
|
/* Log levels */
|
|
#define LOG_LEVEL_DEBUG 0x00
|
|
#define LOG_LEVEL_INFO 0x01
|
|
#define LOG_LEVEL_WARNING 0x02
|
|
#define LOG_LEVEL_ERROR 0x03
|
|
#define LOG_LEVEL_FATAL 0x04
|
|
#define LOG_LEVEL_MASK 0x07
|
|
#define LOG_LEVEL_GET(t) (t & LOG_LEVEL_MASK)
|
|
|
|
/* Log states */
|
|
#define LOG_STATE_ON 0x80
|
|
#define LOG_STATE_OFF 0x00
|
|
|
|
#define LOG_ENABLED(type) \
|
|
((LOG_LEVEL_GET (type) >= LOG_LEVEL) && (type & LOG_STATE_ON))
|
|
|
|
/** Log a message if it is enabled */
|
|
#define LOG(type, ...) \
|
|
do \
|
|
{ \
|
|
if (LOG_ENABLED (type)) \
|
|
{ \
|
|
os_log (type, __VA_ARGS__); \
|
|
} \
|
|
} while (0)
|
|
|
|
/** Log debug messages */
|
|
#define LOG_DEBUG(type, ...) LOG ((LOG_LEVEL_DEBUG | type), __VA_ARGS__)
|
|
|
|
/** Log informational messages */
|
|
#define LOG_INFO(type, ...) LOG ((LOG_LEVEL_INFO | type), __VA_ARGS__)
|
|
|
|
/** Log warning messages */
|
|
#define LOG_WARNING(type, ...) LOG ((LOG_LEVEL_WARNING | type), __VA_ARGS__)
|
|
|
|
/** Log error messages */
|
|
#define LOG_ERROR(type, ...) LOG ((LOG_LEVEL_ERROR | type), __VA_ARGS__)
|
|
|
|
/** Log fatal messages */
|
|
#define LOG_FATAL(type, ...) LOG ((LOG_LEVEL_FATAL | type), __VA_ARGS__)
|
|
|
|
#define LOG_DEBUG_ENABLED(type) LOG_ENABLED (LOG_LEVEL_DEBUG | type)
|
|
#define LOG_INFO_ENABLED(type) LOG_ENABLED (LOG_LEVEL_INFO | type)
|
|
#define LOG_WARNING_ENABLED(type) LOG_ENABLED (LOG_LEVEL_WARNING | type)
|
|
#define LOG_ERROR_ENABLED(type) LOG_ENABLED (LOG_LEVEL_ERROR | type)
|
|
#define LOG_FATAL_ENABLED(type) LOG_ENABLED (LOG_LEVEL_FATAL | type)
|
|
|
|
void os_log (uint8_t type, const char * fmt, ...) CC_FORMAT (2, 3);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* OSAL_LOG_H */
|