60 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			60 lines
		
	
	
		
			2.0 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.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								****************************************************************************/
							 | 
						||
| 
								 | 
							
								#include "os_types.h"
							 | 
						||
| 
								 | 
							
								#include "os_mem.h"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#include "iot_io_api.h"
							 | 
						||
| 
								 | 
							
								#include "iot_cli.h"
							 | 
						||
| 
								 | 
							
								#include "cli_rf_ic_tool_def.h"
							 | 
						||
| 
								 | 
							
								#include "cli_rf_ic_tool.h"
							 | 
						||
| 
								 | 
							
								#include "cli_plc_ic_tool.h"
							 | 
						||
| 
								 | 
							
								#include "iot_ftm_msg.h"
							 | 
						||
| 
								 | 
							
								#include "iot_ftm_internal.h"
							 | 
						||
| 
								 | 
							
								#include "iot_cli_msg_id_definition.h"
							 | 
						||
| 
								 | 
							
								#include "iot_config.h"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#if IOT_CLI_IC_TOOL_EN
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#include "phy_bb.h"
							 | 
						||
| 
								 | 
							
								#include "phy_phase.h"
							 | 
						||
| 
								 | 
							
								#include "phy_ada_dump.h"
							 | 
						||
| 
								 | 
							
								#include "phy_tools.h"
							 | 
						||
| 
								 | 
							
								#include "hw_phy_init.h"
							 | 
						||
| 
								 | 
							
								#include "mac_reset.h"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								extern uint32_t phy_ada_dump_entry(uint32_t dump_addr, uint32_t dump_len);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								void cli_plc_ada_dump_handler(iot_pkt_t *buffer, uint32_t len)
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    cli_kl_cmd_ack ack = { 0 };
							 | 
						||
| 
								 | 
							
								    uint32_t dump_addr;
							 | 
						||
| 
								 | 
							
								    uint32_t buf_len;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    cli_plc_ada_dump *ada_dump = (cli_plc_ada_dump *)iot_pkt_data(buffer);
							 | 
						||
| 
								 | 
							
								    buf_len = phy_ada_dump_addr_get(&dump_addr);
							 | 
						||
| 
								 | 
							
								    IOT_ASSERT(ada_dump->dump_len <= buf_len);
							 | 
						||
| 
								 | 
							
								    os_mem_set((uint32_t *)dump_addr, 0, ada_dump->dump_len);
							 | 
						||
| 
								 | 
							
								    iot_printf("plc dump addr:%x len:%d\n", dump_addr, ada_dump->dump_len);
							 | 
						||
| 
								 | 
							
								    phy_ada_dump_entry(dump_addr, ada_dump->dump_len);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    ack.result = 0;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    cli_send_module_msg(CLI_MODULEID_FTM,
							 | 
						||
| 
								 | 
							
								        CLI_MSGID_FTM_PLC_ADA_DUMP, (uint8_t *)&ack, sizeof(ack));
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#endif  /* IOT_CLI_IC_TOOL_EN */
							 |