82 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			82 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
| /**
 | |
| 	@brief Header file of debug function.\n
 | |
| 	This file contains the debug function, and debug menu entry point.
 | |
| 
 | |
| 	@file hd_debug.h
 | |
| 
 | |
| 	@ingroup mhdal
 | |
| 
 | |
| 	@note Nothing.
 | |
| 
 | |
| 	Copyright Novatek Microelectronics Corp. 2018.  All rights reserved.
 | |
| */
 | |
| 
 | |
| #ifndef _HD_DEBUG_H_
 | |
| #define _HD_DEBUG_H_
 | |
| #ifdef __cplusplus
 | |
| extern  "C" {
 | |
| #endif
 | |
| 
 | |
| #include "hd_type.h"
 | |
| 
 | |
| typedef enum _HD_DEBUG_PARAM_ID {
 | |
| 	///@{
 | |
| 	/**
 | |
| 	 * To set or get the mask of each message type for enable or disable
 | |
| 	 * Refer hd_logger.h to get the description of message type.
 | |
| 	 * @param[in] A pointer as unsigned int, each bit present
 | |
| 	 *  a certain module that defined by HD_LOG_MASK_ on hd_logger.h
 | |
| 	 */
 | |
| 	HD_DEBUG_PARAM_ERR_MASK, ///< the mask of ERR message type
 | |
| 	HD_DEBUG_PARAM_WRN_MASK, ///< the mask of WRN message type
 | |
| 	HD_DEBUG_PARAM_IND_MASK, ///< the mask of IND message type
 | |
| 	HD_DEBUG_PARAM_MSG_MASK, ///< the mask of MSG message type
 | |
| 	HD_DEBUG_PARAM_FUNC_MASK, ///< the mask of FUNC message type
 | |
| 	///@}
 | |
| 	HD_DEBUG_PARAM_MAX, ///< total idx count
 | |
| 	ENUM_DUMMY4WORD(HD_DEBUG_PARAM_ID)
 | |
| } HD_DEBUG_PARAM_ID;
 | |
| 
 | |
| /**
 | |
|  *  Initiate the requirement of debug, such as open a file handle
 | |
|  *  to save the log to file.
 | |
|  */
 | |
| HD_RESULT hd_debug_init(void);
 | |
| 
 | |
| /**
 | |
| * A universal interface to get data from hd_debug
 | |
| * @param[in] idx refers HD_DEBUG_PARAM_ID
 | |
| * @param[out] A pointer that address to returned data.
 | |
| *  The pointer type depends on what HD_DEBUG_PARAM_ID get to.
 | |
| *  The has defined on description of HD_DEBUG_PARAM_ID.
 | |
| */
 | |
| HD_RESULT hd_debug_get(HD_DEBUG_PARAM_ID idx, void *p_data);
 | |
| 
 | |
| /**
 | |
| * A universal interface to set data into hd_debug
 | |
| * @param[in] idx refers HD_DEBUG_PARAM_ID
 | |
| * @param[in] A pointer that address to returned data.
 | |
| *  The pointer type depends on what HD_DEBUG_PARAM_ID set to.
 | |
| *  The has defined on description of HD_DEBUG_PARAM_ID.
 | |
| */
 | |
| HD_RESULT hd_debug_set(HD_DEBUG_PARAM_ID idx, void *p_data);
 | |
| 
 | |
| /**
 | |
|  *  Un-initiate the debug. There is nothing to do in it, currently.
 | |
|  */
 | |
| HD_RESULT hd_debug_uninit(void);
 | |
| 
 | |
| /**
 | |
|  *  Display a interactive menu on console and can,
 | |
|  *  1. Enable or disable message mask of each module.
 | |
|  *  2. Dump module's information.
 | |
|  *  3. Run module's test flow.
 | |
|  */
 | |
| HD_RESULT hd_debug_run_menu(void);
 | |
| 
 | |
| #ifdef __cplusplus
 | |
| }
 | |
| #endif
 | |
| #endif
 | |
| 
 | 
