as3993 ST25RU3993 Firmware
logger.h
Go to the documentation of this file.
1 /*
2  *****************************************************************************
3  * AS3993/ST25RU3993 Firmware tech@eleckits.com http://iot.eleckits.com *
4  * STMicroelectronics ST25RU3993 is an EPC Class 1 Gen 2 RFID reader IC *
5  * *
6  * IMPORTANT - PLEASE READ CAREFULLY BEFORE COPYING, INSTALLING OR USING *
7  * THE SOFTWARE. *
8  * *
9  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS *
10  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT *
11  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS *
12  * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT *
13  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, *
14  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT *
15  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, *
16  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY *
17  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *
18  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE *
19  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *
20  *****************************************************************************
21  */
22 /*
23  * PROJECT: ASxxxx firmware
24  * $Revision: $
25  * LANGUAGE: ANSI C
26  */
27 
44 #ifndef LOGGER_H
45 #define LOGGER_H
46 
47 /*
48 ******************************************************************************
49 * INCLUDES
50 ******************************************************************************
51 */
52 #include "ams_types.h"
53 
54 /*
55 ******************************************************************************
56 * DEFINES
57 ******************************************************************************
58 */
59 #define LOGGER_ON 1
60 #define LOGGER_OFF 0
61 
63 // Set in Project settings!
64 // #define DYNAMIC_LOG
65 
67 #ifndef USE_USB_LOGGER
68 #define USE_USB_LOGGER LOGGER_OFF
69 #endif
70 
72 #ifndef USE_I2C_LOGGER
73 #define USE_I2C_LOGGER LOGGER_OFF
74 #endif
75 
77 #ifndef USE_SPI_LOGGER
78 #define USE_SPI_LOGGER LOGGER_OFF
79 #endif
80 
82 #ifndef USE_STREAM_LOGGER
83 #define USE_STREAM_LOGGER LOGGER_OFF
84 #endif
85 
86 #ifndef USE_LOGGER
87 #if ( (USE_USB_LOGGER == LOGGER_ON) \
88  || (USE_I2C_LOGGER == LOGGER_ON) \
89  || (USE_SPI_LOGGER == LOGGER_ON) \
90  || (USE_STREAM_LOGGER == LOGGER_ON) \
91  )
92 
93 #define USE_LOGGER LOGGER_ON
94 #else
95 #define USE_LOGGER LOGGER_OFF
96 #endif
97 #endif
98 
99 /*
100 ******************************************************************************
101 * GLOBAL MACROS
102 ******************************************************************************
103 */
104 #if (USE_LOGGER == LOGGER_ON) || defined(DYNAMIC_LOG)
105 
106 #define LOG dbgLog
107 #define LOGDUMP dbgHexDump
108 /* debug assertion macro:
109  * If condition mustBeTrue is not fulfilled, an endless (idle) loop is entered
110  */
111 #define DBG_ASSERT(mustBeTrue) { \
112  if (!(mustBeTrue)) \
113  { \
114  dbgLog("ASSERT! " __FILE__ " %x\n", __LINE__); \
115  while (1); \
116  } \
117 }
118 #else
119 #define LOG(...)
120 #define LOGDUMP(...)
121 #define DBG_ASSERT(mustBeTrue) {}
122 #endif
123 
124 #if (USE_USB_LOGGER == LOGGER_ON)
125 
126 #define USB_LOG dbgLog
127 #define USB_LOGDUMP dbgHexDump
128 #else
129 
130 #define USB_LOG(...)
131 #define USB_LOGDUMP(...)
132 #endif
133 
134 #if (USE_I2C_LOGGER == LOGGER_ON)
135 #define I2C_LOG dbgLog
136 #define I2C_LOGDUMP dbgHexDump
137 #else
138 #define I2C_LOG(...)
139 #define I2C_LOGDUMP(...)
140 #endif
141 
142 #if (USE_SPI_LOGGER == LOGGER_ON)
143 #define SPI_LOG dbgLog
144 #define SPI_LOGDUMP dbgHexDump
145 #else
146 #define SPI_LOG(...)
147 #define SPI_LOGDUMP(...)
148 #endif
149 
150 #if (USE_STREAM_LOGGER == LOGGER_ON)
151 #define INFO_LOG dbgLog
152 #define INFO_LOGDUMP dbgHexDump
153 #else
154 #define INFO_LOG(...)
155 #define INFO_LOGDUMP(...)
156 #endif
157 
175 extern s8 dbgLog(const char* format, ...);
176 
191 extern void dbgHexDump (const unsigned char *buffer, u16 length);
192 
193 #endif /* LOGGER_H */
194 
s8 dbgLog(const char *format,...)
Writes out a formated string via UART interface.
Definition: logger.c:69
void dbgHexDump(const unsigned char *buffer, u16 length)
dumps a buffer to console, 8 values per line are dumped.
Definition: logger.c:297