guidebug.h
上传用户:zbk8730
上传日期:2017-08-10
资源大小:12168k
文件大小:6k
源码类别:

uCOS

开发平台:

C/C++

  1. /*
  2. *********************************************************************************************************
  3. *                                                uC/GUI
  4. *                        Universal graphic software for embedded applications
  5. *
  6. *                       (c) Copyright 2002, Micrium Inc., Weston, FL
  7. *                       (c) Copyright 2002, SEGGER Microcontroller Systeme GmbH
  8. *
  9. *              礐/GUI is protected by international copyright laws. Knowledge of the
  10. *              source code may not be used to write a similar product. This file may
  11. *              only be used in accordance with a license and should not be redistributed
  12. *              in any way. We appreciate your understanding and fairness.
  13. *
  14. ----------------------------------------------------------------------
  15. File        : GUIDebug.H
  16. Purpose     : Debug macros
  17. ----------------------------------------------------------------------
  18.    Debug macros for logging
  19.  In the emWin Simulation, all output is transferred into the log window.
  20. */
  21. #ifndef GUI_DEBUG_H
  22. #define GUI_DEBUG_H
  23. #include "GUI.h"
  24. #include "GUI_X.h"
  25. #define GUI_DEBUG_LEVEL_NOCHECK       0  /* No run time checks are performed */
  26. #define GUI_DEBUG_LEVEL_CHECK_PARA    1  /* Parameter checks are performed to avoid crashes */
  27. #define GUI_DEBUG_LEVEL_CHECK_ALL     2  /* Parameter checks and consistency checks are performed */
  28. #define GUI_DEBUG_LEVEL_LOG_ERRORS    3  /* Errors are recorded */
  29. #define GUI_DEBUG_LEVEL_LOG_WARNINGS  4  /* Errors & Warnings are recorded */
  30. #define GUI_DEBUG_LEVEL_LOG_ALL       5  /* Errors, Warnings and Messages are recorded. */
  31. #ifndef GUI_DEBUG_LEVEL
  32.   #ifdef WIN32
  33.     #define GUI_DEBUG_LEVEL GUI_DEBUG_LEVEL_LOG_WARNINGS  /* Simulation should log all warnings */
  34.   #else
  35.     #define GUI_DEBUG_LEVEL GUI_DEBUG_LEVEL_CHECK_PARA  /* For most targets, min. size is important */
  36.   #endif
  37. #endif
  38. /*******************************************************************
  39. *
  40. *               Commandline
  41. *
  42. ********************************************************************
  43. */
  44. #ifdef WIN32
  45.   #define GUI_DEBUG_GETCMDLINE() SIM_GetCmdLine()
  46. #else
  47.   #define GUI_DEBUG_GETCMDLINE() 0
  48. #endif
  49. /*******************************************************************
  50. *
  51. *               Error macros
  52. *
  53. ********************************************************************
  54. */
  55. /* Make sure the macros are actually defined */
  56. #if GUI_DEBUG_LEVEL >= GUI_DEBUG_LEVEL_LOG_ERRORS
  57.   #define GUI_DEBUG_ERROROUT(s)              GUI_ErrorOut(s)
  58.   #define GUI_DEBUG_ERROROUT1(s,p0)          GUI_ErrorOut1(s,p0)
  59.   #define GUI_DEBUG_ERROROUT2(s,p0,p1)       GUI_ErrorOut2(s,p0,p1)
  60.   #define GUI_DEBUG_ERROROUT3(s,p0,p1,p2)    GUI_ErrorOut3(s,p0,p1,p2)
  61.   #define GUI_DEBUG_ERROROUT4(s,p0,p1,p2,p3) GUI_ErrorOut4(s,p0,p1,p2,p3)
  62. #else
  63.   #define GUI_DEBUG_ERROROUT(s)
  64.   #define GUI_DEBUG_ERROROUT1(s,p0)
  65.   #define GUI_DEBUG_ERROROUT2(s,p0,p1)
  66.   #define GUI_DEBUG_ERROROUT3(s,p0,p1,p2)
  67.   #define GUI_DEBUG_ERROROUT4(s,p0,p1,p2,p3)
  68. #endif
  69. /*******************************************************************
  70. *
  71. *               Warning macros
  72. *
  73. ********************************************************************
  74. */
  75. /* Make sure the macros are actually defined */
  76. #if GUI_DEBUG_LEVEL >= GUI_DEBUG_LEVEL_LOG_WARNINGS
  77.   #define GUI_DEBUG_WARN(s)              GUI_Warn(s)
  78.   #define GUI_DEBUG_WARN1(s,p0)          GUI_Warn1(s,p0)
  79.   #define GUI_DEBUG_WARN2(s,p0,p1)       GUI_Warn2(s,p0,p1)
  80.   #define GUI_DEBUG_WARN3(s,p0,p1,p2)    GUI_Warn3(s,p0,p1,p2)
  81.   #define GUI_DEBUG_WARN4(s,p0,p1,p2,p3) GUI_Warn4(s,p0,p1,p2,p3)
  82. #else
  83.   #define GUI_DEBUG_WARN(s)
  84.   #define GUI_DEBUG_WARN1(s,p0)
  85.   #define GUI_DEBUG_WARN2(s,p0,p1)
  86.   #define GUI_DEBUG_WARN3(s,p0,p1,p2)
  87.   #define GUI_DEBUG_WARN4(s,p0,p1,p2,p3)
  88. #endif
  89. /*******************************************************************
  90. *
  91. *               Logging macros
  92. *
  93. ********************************************************************
  94. */
  95. /* Make sure the macros are actually defined */
  96. #if GUI_DEBUG_LEVEL >= GUI_DEBUG_LEVEL_LOG_ALL
  97.   #define GUI_DEBUG_LOG(s)              GUI_Log(s)
  98.   #define GUI_DEBUG_LOG1(s,p0)          GUI_Warn1(s,p0)
  99.   #define GUI_DEBUG_LOG2(s,p0,p1)       GUI_Warn2(s,p0,p1)
  100.   #define GUI_DEBUG_LOG3(s,p0,p1,p2)    GUI_Warn3(s,p0,p1,p2)
  101.   #define GUI_DEBUG_LOG4(s,p0,p1,p2,p3) GUI_Warn4(s,p0,p1,p2,p3)
  102. #else
  103.   #define GUI_DEBUG_LOG(s)
  104.   #define GUI_DEBUG_LOG1(s,p0)
  105.   #define GUI_DEBUG_LOG2(s,p0,p1)
  106.   #define GUI_DEBUG_LOG3(s,p0,p1,p2)
  107.   #define GUI_DEBUG_LOG4(s,p0,p1,p2,p3)
  108. #endif
  109. /*******************************************************************
  110. *
  111. *               Asserts
  112. *
  113. ********************************************************************
  114. */
  115. #if GUI_DEBUG_LEVEL >= GUI_DEBUG_LEVEL_LOG_ERRORS
  116.   #define GUI_DEBUG_ASSERT(exp)                     { if (!exp) GUI_DEBUG_ERROROUT(#exp); }
  117. #else
  118.   #define GUI_DEBUG_ASSERT(exp)
  119. #endif
  120. #define GUI_DEBUG_ERROROUT_IF(exp,s)              { if (exp) GUI_DEBUG_ERROROUT(s); }
  121. #define GUI_DEBUG_ERROROUT1_IF(exp,s,p0)          { if (exp) GUI_DEBUG_ERROROUT1(s,p0); }
  122. #define GUI_DEBUG_ERROROUT2_IF(exp,s,p0,p1)       { if (exp) GUI_DEBUG_ERROROUT2(s,p0,p1); }
  123. #define GUI_DEBUG_ERROROUT3_IF(exp,s,p0,p1,p2)    { if (exp) GUI_DEBUG_ERROROUT3(s,p0,p1,p2); }
  124. #define GUI_DEBUG_ERROROUT4_IF(exp,s,p0,p1,p2,p3) { if (exp) GUI_DEBUG_ERROROUT4(s,p0,p1,p2,p3); }
  125. #define GUI_DEBUG_WARN_IF(exp,s)                  { if (exp) GUI_DEBUG_WARN(s); }
  126. #define GUI_DEBUG_WARN1_IF(exp,s,p0)              { if (exp) GUI_DEBUG_WARN1(s,p0); }
  127. #define GUI_DEBUG_WARN2_IF(exp,s,p0,p1)           { if (exp) GUI_DEBUG_WARN2(s,p0,p1); }
  128. #define GUI_DEBUG_WARN3_IF(exp,s,p0,p1,p2)        { if (exp) GUI_DEBUG_WARN3(s,p0,p1,p2); }
  129. #define GUI_DEBUG_WARN4_IF(exp,s,p0,p1,p2,p3)     { if (exp) GUI_DEBUG_WARN4(s,p0,p1,p2,p3); }
  130. #define GUI_DEBUG_LOG_IF(exp,s)                   { if (exp) GUI_DEBUG_LOG(s); }
  131. #define GUI_DEBUG_LOG1_IF(exp,s,p0)               { if (exp) GUI_DEBUG_LOG1(s,p0); }
  132. #define GUI_DEBUG_LOG2_IF(exp,s,p0,p1)            { if (exp) GUI_DEBUG_LOG2(s,p0,p1); }
  133. #define GUI_DEBUG_LOG3_IF(exp,s,p0,p1,p2)         { if (exp) GUI_DEBUG_LOG3(s,p0,p1,p2); }
  134. #define GUI_DEBUG_LOG4_IF(exp,s,p0,p1,p2,p3)      { if (exp) GUI_DEBUG_LOG4(s,p0,p1,p2,p3); }
  135. #endif /* LCD_H */