109 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			109 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
|  | /****************************************************************************
 | ||
|  | 
 | ||
|  | Copyright(c) 2019 by Aerospace C.Power (Chongqing) Microelectronics. ALL RIGHTS RESERVED. | ||
|  | 
 | ||
|  | This Information is proprietary to Aerospace C.Power (Chongqing) Microelectronics and MAY NOT | ||
|  | be copied by any method or incorporated into another program without | ||
|  | the express written consent of Aerospace C.Power. This Information or any portion | ||
|  | thereof remains the property of Aerospace C.Power. The Information contained herein | ||
|  | is believed to be accurate and Aerospace C.Power assumes no responsibility or | ||
|  | liability for its use in any way and conveys no license or title under | ||
|  | any patent or copyright and makes no representation or warranty that this | ||
|  | Information is free from patent or copyright infringement. | ||
|  | 
 | ||
|  | ****************************************************************************/ | ||
|  | 
 | ||
|  | #ifndef IOT_CLI_DBG_LOG_H
 | ||
|  | #define IOT_CLI_DBG_LOG_H
 | ||
|  | 
 | ||
|  | /* os shim includes */ | ||
|  | #include "os_types.h"
 | ||
|  | #include "iot_utils_api.h"
 | ||
|  | #include "iot_dbglog_def.h"
 | ||
|  | 
 | ||
|  | #ifdef __cplusplus
 | ||
|  | extern "C" { | ||
|  | #endif
 | ||
|  | 
 | ||
|  | #pragma pack(push)  /* save the pack status */
 | ||
|  | #pragma pack(1)     /* 1 byte align */
 | ||
|  | 
 | ||
|  | //#define DBGLOG_MODULE_GROUP_NAME_LEN (20)
 | ||
|  | #define CLI_LOG_TIMER_PERIOD         (1000 * 60 * 10)
 | ||
|  | 
 | ||
|  | typedef struct _cli_host_dbglog_mod_info | ||
|  | { | ||
|  |     uint16_t module_id;     /* module id */ | ||
|  |     uint8_t level;          /* log level */ | ||
|  | } cli_host_dbglog_mod_info; | ||
|  | 
 | ||
|  | typedef struct _cli_host_set_dbglog_level | ||
|  | { | ||
|  |     uint8_t general_level; | ||
|  |     uint8_t group_cnt; | ||
|  |     cli_host_dbglog_mod_info module_level[MODULE_GROUP_NUM]; | ||
|  | } cli_host_set_dbglog_level; | ||
|  | 
 | ||
|  | typedef struct _cli_host_set_dbglog_level_ack | ||
|  | { | ||
|  |     uint8_t result; | ||
|  | } cli_host_set_dbglog_level_ack; | ||
|  | 
 | ||
|  | typedef struct _cli_host_get_dbglog_module_level | ||
|  | { | ||
|  |     uint8_t group_cnt; | ||
|  |     uint8_t module_level[MODULE_GROUP_NUM]; | ||
|  | } cli_host_get_dbglog_module_level; | ||
|  | 
 | ||
|  | typedef struct _cli_host_dbglog_module | ||
|  | { | ||
|  |     uint16_t module_id;     /* module id */ | ||
|  |     uint8_t level;          /* log level */ | ||
|  |     uint8_t group_name[DBGLOG_MODULE_GROUP_NAME_LEN]; | ||
|  | } cli_host_dbglog_module; | ||
|  | 
 | ||
|  | typedef struct _cli_host_dbglog_level | ||
|  | { | ||
|  |     uint8_t level; | ||
|  |     uint8_t max_level; | ||
|  |     uint8_t group_cnt; | ||
|  |     cli_host_dbglog_module module[MODULE_GROUP_NUM]; | ||
|  | } cli_host_dbglog_level; | ||
|  | 
 | ||
|  | typedef struct _cli_host_enable_dbglog | ||
|  | { | ||
|  |     uint8_t enabled; | ||
|  | } cli_host_enable_dbglog; | ||
|  | 
 | ||
|  | typedef struct _cli_host_enable_dbglog_ack | ||
|  | { | ||
|  |     uint8_t result; | ||
|  | } cli_host_enable_dbglog_ack; | ||
|  | 
 | ||
|  | void cli_config_dbglog_level( | ||
|  |     uint8_t *buffer, uint32_t bufferlen, uint8_t *src_mac); | ||
|  | 
 | ||
|  | void cli_get_dbglog_level( | ||
|  |     uint8_t *buffer, uint32_t bufferlen, uint8_t *src_mac); | ||
|  | 
 | ||
|  | void cli_start_stop_dbglog_live_capture( | ||
|  |     uint8_t *buffer, uint32_t bufferlen, uint8_t *src_mac); | ||
|  | 
 | ||
|  | void cli_send_live_log_to_plc( | ||
|  |     uint8_t *buffer, uint32_t bufferlen); | ||
|  | 
 | ||
|  | void iot_cli_dbg_log_init(); | ||
|  | 
 | ||
|  | void iot_cli_handle_timer_log(); | ||
|  | 
 | ||
|  | void cli_send_dbglog( | ||
|  |     void* buffer, uint8_t crash_log, uint32_t buffer_len); | ||
|  | 
 | ||
|  | #pragma pack(pop)   /* restore the pack status */
 | ||
|  | 
 | ||
|  | 
 | ||
|  | #ifdef __cplusplus
 | ||
|  | } | ||
|  | #endif
 | ||
|  | 
 | ||
|  | #endif
 |