1 /******************************************************************************
2 *  Filename:       debug.h
3 *
4 *  Description:    Macros for assisting debug of the driver library.
5 *
6 *  Copyright (c) 2015 - 2022, Texas Instruments Incorporated
7 *  All rights reserved.
8 *
9 *  Redistribution and use in source and binary forms, with or without
10 *  modification, are permitted provided that the following conditions are met:
11 *
12 *  1) Redistributions of source code must retain the above copyright notice,
13 *     this list of conditions and the following disclaimer.
14 *
15 *  2) Redistributions in binary form must reproduce the above copyright notice,
16 *     this list of conditions and the following disclaimer in the documentation
17 *     and/or other materials provided with the distribution.
18 *
19 *  3) Neither the name of the ORGANIZATION nor the names of its contributors may
20 *     be used to endorse or promote products derived from this software without
21 *     specific prior written permission.
22 *
23 *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
24 *  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
25 *  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
26 *  ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
27 *  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
28 *  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
29 *  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
30 *  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
31 *  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
32 *  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
33 *  POSSIBILITY OF SUCH DAMAGE.
34 *
35 ******************************************************************************/
36 
37 //*****************************************************************************
38 //
39 //! \addtogroup system_control_group
40 //! @{
41 //! \addtogroup debug_api
42 //! @{
43 //
44 //*****************************************************************************
45 
46 #ifndef __DEBUG_H__
47 #define __DEBUG_H__
48 
49 //*****************************************************************************
50 //
51 //! Function stub for allowing compile with DRIVERLIB_DEBUG flag asserted.
52 //
53 //*****************************************************************************
54 extern void __error__(char *pcFilename, uint32_t ui32Line);
55 
56 //*****************************************************************************
57 //
58 // The ASSERT macro, which does the actual assertion checking. Typically, this
59 // will be for procedure arguments.
60 //
61 //*****************************************************************************
62 #ifdef DRIVERLIB_DEBUG
63 #define ASSERT(expr) {                                      \
64                          if(!(expr))                        \
65                          {                                  \
66                              __error__(__FILE__, __LINE__); \
67                          }                                  \
68                      }
69 
70 #else
71 #define ASSERT(expr)
72 #endif
73 
74 #endif // __DEBUG_H__
75 
76 //*****************************************************************************
77 //
78 //! Close the Doxygen group.
79 //! @}
80 //! @}
81 //
82 //*****************************************************************************
83