📄 sss_dbg.h
字号:
/*====================================================================*/
/*
SOURCE_FILE: sss_dbg.h
PACKAGE:
COMPONENT: debugging module definition.
INITIAL AUTHOR: sss
CREATION DATE: 20020909
%version: 1 %
%created_by: Andrew Shin %
%date_created: 20020909 %
2002 (C) DigitAll World.
All rights are reserved. Reproduction in whole or in part is
prohibited without the prior written consent of the copyright
owner. The information presented in this document does not
form part of any quotation or contract, is believed to be
accurate and reliable and may be changed without notice.
No liability will be accepted by the publisher for any
consequence of its use. Publication thereof does not convey
nor imply any license under patent- or other industrial or
intellectual property rights.
*/
/*====================================================================*/
/*
* Usage of this file.
*
* SSS_DBG(TXT,LVL,("[TXT module:%s(%d)] This is sample test! %d \n", __FILE__, __LINE__, num));
* SSS_ASSERT(TXT,(expr));
*
* Module Definition Texts
*
* CH for channel
* CTRL for control
* GUI for GUI
* PSI for PSI
* HWC for HWC
* CI for CI
* CAS for CAS
* DRV for 7240/7215 driver module
* OS for OS module
* TMP1 for Temporary use 1
* TMP2 for Temporary use 2
* TMP3 for Temporary use 3
*/
#ifndef __SSS_DBG_H_20020909__
#define __SSS_DBG_H_20020909__
/*====================================================================*/
/* I N C L U D E S */
/*====================================================================*/
#ifdef _UNIX_
#include <stdio.h>
#endif
#ifdef __cplusplus
extern "C" {
#endif
/*====================================================================*/
/* L O C A L D A T A D E F I N I T I O N S */
/*====================================================================*/
/*====================================================================*/
/* L O C A L D A T A D E F I N I T I O N S */
/*====================================================================*/
#undef SSS_DBG_OUT
#undef SSS_DBG_OUT_1
#undef SSS_DBG_OUT_2
#undef SSS_DBG_OUT_3
#undef SSS_DBG_OUT_4
#undef SSS_DBG_OUT_5
#undef SSS_DBG_OUT_6
#undef SSS_DBG_OUT_7
#undef SSS_DBG_OUT_8
#undef SSS_DBG_OUT_9
#undef _SSS_DBG_LEVEL_
/*#undef ASSERT*/
#undef _SSS_DBG_ASSERTS_
/*====================================================================*/
/*========= USER SPECIFIED REGION ==============*/
/*====================================================================*/
/* Definition of Operating System _UNIX_, _PSOS_, _OS20_*/
//#define _OS20_
/* turn all dbgs and asserts ON(1) or OFF(0) */
#define SSS_DBG_VERSION (0)
/* check per package level */
#define __SSS_DBG_CHANNEL_H__
#define __SSS_DBG_CONTROL_H__
#define __SSS_DBG_GUI_H__
#define __SSS_DBG_PSI_H__
#define __SSS_DBG_HWC_H__
#define __SSS_DBG_CI_H__
#define __SSS_DBG_CAS_H__
#define __SSS_DBG_DRV_H__
#define __SSS_DBG_OS_H__
#define __SSS_DBG_TMP1_H__
#define __SSS_DBG_TMP2_H__
#define __SSS_DBG_TMP3_H__
/* specify debug output module per package (turn debugger per package ON(1) or OFF(0)) */
#define SSS_DBG_MODULE_CH (0)
#define SSS_DBG_MODULE_CTRL (1)
#define SSS_DBG_MODULE_GUI (0)
#define SSS_DBG_MODULE_PSI (0)
#define SSS_DBG_MODULE_HWC (0)
#define SSS_DBG_MODULE_CI (0)
#define SSS_DBG_MODULE_CAS (0)
#define SSS_DBG_MODULE_DRV (0) //MUX_seach routine Test
#define SSS_DBG_MODULE_OS (1)
#define SSS_DBG_MODULE_TMP1 (0)
#define SSS_DBG_MODULE_TMP2 (0)
#define SSS_DBG_MODULE_TMP3 (0)
/* 0: all debug OFF
* 1: print a fatal error.
* 2: print all error.
* 3: print warning level 0
* 4: print warning level 1
* 5: print warning level 2
* 6: print warning level 3
* 7: print a important imformation.
* 8: print all information.
* 9: All debugger ON
*/
/* Typical Control Msg */
#define _NONE_ 0
#define _ERROR_ 2
#define _WARN_ 6
#define _INFO_ 8
#define _ALL_ 9
/* specify debug output level per package (0-9) */
#define SSS_DBG_LEVEL_CH (9)
#define SSS_DBG_LEVEL_CTRL (9)
#define SSS_DBG_LEVEL_GUI (9)
#define SSS_DBG_LEVEL_PSI (9)
#define SSS_DBG_LEVEL_HWC (9)
#define SSS_DBG_LEVEL_CI (9)
#define SSS_DBG_LEVEL_CAS (9)
#define SSS_DBG_LEVEL_DRV (9)
#define SSS_DBG_LEVEL_OS (9)
#define SSS_DBG_LEVEL_TMP1 (9)
#define SSS_DBG_LEVEL_TMP2 (9)
#define SSS_DBG_LEVEL_TMP3 (9)
/* turn asserts per package ON(1) or OFF(0) */
#define SSS_DBG_ASSERT_CH (1)
#define SSS_DBG_ASSERT_CTRL (1)
#define SSS_DBG_ASSERT_GUI (1)
#define SSS_DBG_ASSERT_PSI (1)
#define SSS_DBG_ASSERT_HWC (1)
#define SSS_DBG_ASSERT_CI (1)
#define SSS_DBG_ASSERT_CAS (1)
#define SSS_DBG_ASSERT_DRV (1)
#define SSS_DBG_ASSERT_OS (1)
#define SSS_DBG_ASSERT_TMP1 (1)
#define SSS_DBG_ASSERT_TMP2 (1)
#define SSS_DBG_ASSERT_TMP3 (1)
/*====================================================================*/
/*====================================================================*/
/* Define display functions */
//#define SSS_DBG_OUT_DISPLAY printf
//#define SSS_DBG_ASRT_DISPLAY printf
//#define SSS_DBG_OUT_DISPLAY {printf("[FE]FILE:,LINE:, ",__FILE__,__LINE__);}printf
//#define SSS_DBG_ASRT_DISPLAY {printf("[FE]FILE:,LINE:, ",__FILE__,__LINE__);}printf
//#define SSS_DBG_OUT_DISPLAY {sttbx_Print("[FE]FILE:,LINE:, ",__FILE__,__LINE__);}sttbx_Print
//#define TASK_INFO_DISPLAY
#ifdef TASK_INFO_DISPLAY
#define SSS_DBG_OUT_DISPLAY \
{ \
task_t *t_CallingTask; \
const char * t_CallingTaskName; \
t_CallingTask = task_id(); \
t_CallingTaskName = task_name(t_CallingTask); \
sttbx_Print("[%s:%d][%s]\t",__FILE__,__LINE__,t_CallingTaskName); \
} \
sttbx_Print
#else //TASK_INFO_DISPLAY
#define SSS_DBG_OUT_DISPLAY DDI_UART_Print
#endif //TASK_INFO_DISPLAY
#define SSS_DBG_ASRT_DISPLAY DDI_UART_Print
/* Define command to execute after an assertion has failed */
#ifdef _UNIX_
#define SSS_DBG_ASRT_COMMAND return
#elif defined _PSOS_
#define SSS_DBG_ASRT_COMMAND OSA_wait(100); k_fatal(0,0)
#elif defined _OS20_
#define SSS_DBG_ASRT_COMMAND task_delay(100) /*; while(1) k_fatal(0,0);*/
#else
#define SSS_DBG_ASRT_COMMAND exit(0);while(1)
#endif
/*====================================================================*/
/* check per package */
#ifdef __SSS_DBG_CHANNEL_H__
#define _SSS_DBG_LEVEL_CH_ SSS_DBG_LEVEL_CH
#define _SSS_DBG_ASSERTS_CH_ SSS_DBG_ASSERT_CH
#endif
#ifdef __SSS_DBG_CONTROL_H__
#define _SSS_DBG_LEVEL_CTRL_ SSS_DBG_LEVEL_CTRL
#define _SSS_DBG_ASSERTS_CTRL_ SSS_DBG_ASSERT_CTRL
#endif
#ifdef __SSS_DBG_GUI_H__
#define _SSS_DBG_LEVEL_GUI_ SSS_DBG_LEVEL_GUI
#define _SSS_DBG_ASSERTS_GUI_ SSS_DBG_ASSERT_GUI
#endif
#ifdef __SSS_DBG_PSI_H__
#define _SSS_DBG_LEVEL_PSI_ SSS_DBG_LEVEL_PSI
#define _SSS_DBG_ASSERTS_PSI_ SSS_DBG_ASSERT_PSI
#endif
#ifdef __SSS_DBG_HWC_H__
#define _SSS_DBG_LEVEL_HWC_ SSS_DBG_LEVEL_HWC
#define _SSS_DBG_ASSERTS_HWC_ SSS_DBG_ASSERT_HWC
#endif
#ifdef __SSS_DBG_CI_H__
#define _SSS_DBG_LEVEL_CI_ SSS_DBG_LEVEL_CI
#define _SSS_DBG_ASSERTS_CI_ SSS_DBG_ASSERT_CI
#endif
#ifdef __SSS_DBG_CAS_H__
#define _SSS_DBG_LEVEL_CAS_ SSS_DBG_LEVEL_CAS
#define _SSS_DBG_ASSERTS_CAS_ SSS_DBG_ASSERT_CAS
#endif
#ifdef __SSS_DBG_DRV_H__
#define _SSS_DBG_LEVEL_DRV_ SSS_DBG_LEVEL_DRV
#define _SSS_DBG_ASSERTS_DRV_ SSS_DBG_ASSERT_DRV
#endif
#ifdef __SSS_DBG_OS_H__
#define _SSS_DBG_LEVEL_OS_ SSS_DBG_LEVEL_OS
#define _SSS_DBG_ASSERTS_OS_ SSS_DBG_ASSERT_OS
#endif
#ifdef __SSS_DBG_TMP1_H__
#define _SSS_DBG_LEVEL_TMP1_ SSS_DBG_LEVEL_TMP1
#define _SSS_DBG_ASSERTS_TMP1_ SSS_DBG_ASSERT_TMP1
#endif
#ifdef __SSS_DBG_TMP2_H__
#define _SSS_DBG_LEVEL_TMP2_ SSS_DBG_LEVEL_TMP2
#define _SSS_DBG_ASSERTS_TMP2_ SSS_DBG_ASSERT_TMP2
#endif
#ifdef __SSS_DBG_TMP3_H__
#define _SSS_DBG_LEVEL_TMP3_ SSS_DBG_LEVEL_TMP3
#define _SSS_DBG_ASSERTS_TMP3_ SSS_DBG_ASSERT_TMP3
#endif
#define _SSS_DBG_ASSERTS_ALL_ SSS_DBG_ASSERT_ALL
/* define the DBG_OUT macro's */
/*
* Module Definition Texts
*
* CH for channel
* CTRL for control
* GUI for GUI
* PSI for PSI
* HWC for HWC
* CI for CI
* CAS for CAS
* DRV for 7240/7215 driver module
* OS for OS module
* TMP1 for Temporary use 1
* TMP2 for Temporary use 2
* TMP3 for Temporary use 3
*/
#if SSS_DBG_VERSION
#define SSS_DBG(MODULE,LEVEL,TXT) SSS_DBG_OUT_##MODULE(LEVEL,TXT)
#else
#define SSS_DBG(MODULE,LEVEL,TXT) /* disable for release version */
#endif
#if SSS_DBG_MODULE_CH
#define SSS_DBG_OUT_CH(LEVEL,TXT) SSS_DBG_OUT_CH_##LEVEL(TXT)
#if _SSS_DBG_LEVEL_CH_ >= 1
#define SSS_DBG_OUT_CH_1(TXT) SSS_DBG_OUT_DISPLAY ##TXT
#else
#define SSS_DBG_OUT_CH_1(TXT) /* level disabled */
#endif
#if _SSS_DBG_LEVEL_CH_ >= 2
#define SSS_DBG_OUT_CH_2(TXT) SSS_DBG_OUT_DISPLAY ##TXT
#else
#define SSS_DBG_OUT_CH_2(TXT) /* level disabled */
#endif
#if _SSS_DBG_LEVEL_CH_ >= 3
#define SSS_DBG_OUT_CH_3(TXT) SSS_DBG_OUT_DISPLAY ##TXT
#else
#define SSS_DBG_OUT_CH_3(TXT) /* level disabled */
#endif
#if _SSS_DBG_LEVEL_CH_ >= 4
#define SSS_DBG_OUT_CH_4(TXT) SSS_DBG_OUT_DISPLAY ##TXT
#else
#define SSS_DBG_OUT_CH_4(TXT) /* level disabled */
#endif
#if _SSS_DBG_LEVEL_CH_ >= 5
#define SSS_DBG_OUT_CH_5(TXT) SSS_DBG_OUT_DISPLAY ##TXT
#else
#define SSS_DBG_OUT_CH_5(TXT) /* level disabled */
#endif
#if _SSS_DBG_LEVEL_CH_ >= 6
#define SSS_DBG_OUT_CH_6(TXT) SSS_DBG_OUT_DISPLAY ##TXT
#else
#define SSS_DBG_OUT_CH_6(TXT) /* level disabled */
#endif
#if _SSS_DBG_LEVEL_CH_ >= 7
#define SSS_DBG_OUT_CH_7(TXT) SSS_DBG_OUT_DISPLAY ##TXT
#else
#define SSS_DBG_OUT_CH_7(TXT) /* level disabled */
#endif
#if _SSS_DBG_LEVEL_CH_ >= 8
#define SSS_DBG_OUT_CH_8(TXT) SSS_DBG_OUT_DISPLAY ##TXT
#else
#define SSS_DBG_OUT_CH_8(TXT) /* level disabled */
#endif
#if _SSS_DBG_LEVEL_CH_ >= 9
#define SSS_DBG_OUT_CH_9(TXT) SSS_DBG_OUT_DISPLAY ##TXT
#else
#define SSS_DBG_OUT_CH_9(TXT) /* level disabled */
#endif
#else //SSS_DBG_MODULE_CH
#define SSS_DBG_OUT_CH(LEVEL,TXT) /* module disabled */
#endif //SSS_DBG_MODULE_CH
#if SSS_DBG_MODULE_CTRL
#define SSS_DBG_OUT_CTRL(LEVEL,TXT) SSS_DBG_OUT_CTRL_##LEVEL(TXT)
#if _SSS_DBG_LEVEL_CTRL_ >= 1
#define SSS_DBG_OUT_CTRL_1(TXT) SSS_DBG_OUT_DISPLAY ##TXT
#else
#define SSS_DBG_OUT_CTRL_1(TXT) /* level disabled */
#endif
#if _SSS_DBG_LEVEL_CTRL_ >= 2
#define SSS_DBG_OUT_CTRL_2(TXT) SSS_DBG_OUT_DISPLAY ##TXT
#else
#define SSS_DBG_OUT_CTRL_2(TXT) /* level disabled */
#endif
#if _SSS_DBG_LEVEL_CTRL_ >= 3
#define SSS_DBG_OUT_CTRL_3(TXT) SSS_DBG_OUT_DISPLAY ##TXT
#else
#define SSS_DBG_OUT_CTRL_3(TXT) /* level disabled */
#endif
#if _SSS_DBG_LEVEL_CTRL_ >= 4
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -