138 lines
4.7 KiB
C
138 lines
4.7 KiB
C
/*****************************************************************************
|
|
* Utility Library
|
|
*
|
|
* Tracing utilities header file
|
|
*
|
|
*****************************************************************************/
|
|
|
|
#ifndef _UTL_TRACE_INCLUDED
|
|
#define _UTL_TRACE_INCLUDED
|
|
|
|
#include <stdio.h>
|
|
#include "diag.h"
|
|
#ifdef LWIP_IPNETBUF_SUPPORT
|
|
#include "UART.h"
|
|
#endif
|
|
#include "utils.h"
|
|
#include "platform.h"
|
|
|
|
//typedef unsigned long UINT32;
|
|
|
|
|
|
/*--- Macros ----------------------------------------------------------------*/
|
|
|
|
/*--- the following C99-compliant varargs macro is meant to be used inside
|
|
"utlTrace()" macros as follows:
|
|
|
|
utlTrace(myTraceString,
|
|
utlPrintTrace("my trace message, value=%d\n", value);
|
|
);
|
|
|
|
This allows one to easily upgrade the trace library to allow trace
|
|
output redirection.
|
|
*/
|
|
|
|
void PRINTNONE(char *args,...); //modify by Alan
|
|
#define utlPrintTrace(...) PRINTNONE(__VA_ARGS__)
|
|
#define utlTrace(name, source_code) {source_code}
|
|
|
|
#define DPRINTF(fmt,...) do{}while(0)
|
|
#define DBGMSG(fmt,...) do{}while(0)
|
|
#define ERRMSG(fmt,...) do{}while(0)
|
|
|
|
#define ENTER() do{}while(0)
|
|
#define LEAVE() do{}while(0)
|
|
#define F_ENTER() do{}while(0)
|
|
#define F_LEAVE() do{}while(0)
|
|
#ifdef LWIP_IPNETBUF_SUPPORT
|
|
#define ATDBGSP CPUartLogPrintf
|
|
#define ATDBGMSG(cat2,cat3,fmt,args...) \
|
|
do{ \
|
|
DIAG_FILTER(MIFI, cat2, cat3, DIAG_INFORMATION) \
|
|
diagPrintf(fmt, ##args); \
|
|
}while(0)
|
|
|
|
#define LWIPUTL_TRACE(cat1, cat2, cat3, level, fmt) \
|
|
if ((level) & utlTraceFilter()) { DIAG_FILTER(cat1, cat2, cat3, level) \
|
|
diagTextPrintf(fmt);}
|
|
|
|
#define LWIPUTL_TRACE1(cat1, cat2, cat3, level, fmt, val1) \
|
|
if ((level) & utlTraceFilter()){ DIAG_FILTER(cat1, cat2, cat3, level) \
|
|
diagPrintf(fmt, val1);}
|
|
|
|
#define LWIPUTL_TRACE2(cat1, cat2, cat3, level, fmt, val1, val2) \
|
|
if ((level) & utlTraceFilter()) {DIAG_FILTER(cat1, cat2, cat3, level) \
|
|
diagPrintf(fmt, val1, val2);}
|
|
|
|
#define LWIPUTL_TRACE3(cat1, cat2, cat3, level, fmt, val1, val2, val3) \
|
|
if ((level) & utlTraceFilter()) {DIAG_FILTER(cat1, cat2, cat3, level) \
|
|
diagPrintf(fmt, val1, val2, val3);}
|
|
|
|
#define LWIPUTL_TRACEBUF(cat1, cat2, cat3, level, fmt, buffer, length) \
|
|
if ((level) & utlTraceFilter()) {DIAG_FILTER(cat1, cat2, cat3, level) \
|
|
diagStructPrintf(fmt, buffer, (length > 20) ? 20 : length);}
|
|
|
|
#else
|
|
#define ATDBGMSG(fmt,args...)
|
|
#endif
|
|
|
|
#define UTL_DEBUG 0x1
|
|
|
|
#define UTL_TRACE_ERROR(cat1, cat2, cat3, level, fmt, val1) \
|
|
if ((level) & utlTraceFilter()){ DIAG_FILTER(cat1, cat2, cat3, level) \
|
|
diagPrintf(fmt, val1);}
|
|
|
|
|
|
#define utlError(cat3,fmt,args...) \
|
|
do{ \
|
|
DIAG_FILTER(MIFI, utl, cat3, DIAG_INFORMATION) \
|
|
diagPrintf(fmt, ##args); \
|
|
}while(0)
|
|
|
|
|
|
#define UTL_TRACE(cat1, cat2, cat3, level, fmt) \
|
|
if ((level) & utlTraceFilter()) { DIAG_FILTER(cat1, cat2, cat3, level) \
|
|
diagTextPrintf(fmt);}
|
|
|
|
|
|
#ifdef AT_FOR_EMBED
|
|
|
|
#define UTL_TRACE1(cat1, cat2, cat3, level, fmt, val1) \
|
|
if ((level) & utlTraceFilter()){ DIAG_FILTER(cat1, cat2, cat3, level) \
|
|
diagPrintf(fmt, val1);}
|
|
|
|
#define UTL_TRACE2(cat1, cat2, cat3, level, fmt, val1, val2) \
|
|
if ((level) & utlTraceFilter()) {DIAG_FILTER(cat1, cat2, cat3, level) \
|
|
diagPrintf(fmt, val1, val2);}
|
|
|
|
#define UTL_TRACE3(cat1, cat2, cat3, level, fmt, val1, val2, val3) \
|
|
if ((level) & utlTraceFilter()) {DIAG_FILTER(cat1, cat2, cat3, level) \
|
|
diagPrintf(fmt, val1, val2, val3);}
|
|
|
|
#define UTL_TRACEBUF(cat1, cat2, cat3, level, fmt, buffer, length) \
|
|
if ((level) & utlTraceFilter()) {DIAG_FILTER(cat1, cat2, cat3, level) \
|
|
diagStructPrintf(fmt, buffer, (length > 20) ? 20 : length);}
|
|
|
|
#define utlAssert(test) ASSERT(test)
|
|
#else
|
|
|
|
#define UTL_TRACE1(cat1, cat2, cat3, level, fmt, val1)
|
|
|
|
#define UTL_TRACE2(cat1, cat2, cat3, level, fmt, val1, val2)
|
|
|
|
#define UTL_TRACE3(cat1, cat2, cat3, level, fmt, val1, val2, val3)
|
|
|
|
#define UTL_TRACEBUF(cat1, cat2, cat3, level, fmt, buffer, length)
|
|
|
|
#define utlAssert(test)
|
|
#endif
|
|
|
|
|
|
|
|
void SetutlTraceLevel(UINT32 *level, UINT32 len);
|
|
UINT32 utlTraceFilter (void);
|
|
|
|
|
|
#endif /* _UTL_TRACE_INCLUDED */
|
|
|