mcu_hi3321_watch/middleware/utils/dfx/zdiag/include/diag_common.h
2025-05-26 20:15:20 +08:00

94 lines
2.8 KiB
C

/*
* Copyright (c) @CompanyNameMagicTag 2021-2021. All rights reserved.
* Description: diag common header file
* This file should be changed only infrequently and with great care.
*/
#ifndef __ZDIAG_COMMON_H__
#define __ZDIAG_COMMON_H__
#include "errcode.h"
#include "zdiag_config.h"
#define MUX_START_FLAG 0xDEADBEEF
#define MUX_PKT_VER 0xfd
typedef enum {
MUX_PKT_CMD = 0,
MUX_PKT_IND = 1,
MUX_PKT_ACK = 3,
} mux_pkt_type_t;
typedef enum {
DIAG_PKT_PROC_USR_ASYNC_CMD_IND,
DIAG_PKT_PROC_USR_SYNC_CMD_IND,
DIAG_PKT_PROC_PORT_PKT,
DIAG_PKT_PPOC_LOCAL_EXEC_Q,
DIAG_PKT_PPOC_OUT_PUT_Q,
} diag_pkt_proc_t;
typedef enum {
DIAG_ADDR_ATTRIBUTE_VALID = 0x1,
DIAG_ADDR_ATTRIBUTE_HCC = 0x2,
DIAG_ADDR_ATTRIBUTE_HSO_CONNECT = 0x4,
} diag_addr_attribute_t;
typedef struct {
uint32_t module; /* source module ID */
uint32_t dest_mod; /* destination module ID */
uint32_t no; /* No. */
uint32_t id; /* ID */
uint32_t time;
int8_t data[0]; /* User Data Cache */
} diag_cmd_log_layer_ind_stru_t;
#define DIAG_FULL_LOG_HEADER_SIZE sizeof(diag_cmd_log_layer_ind_stru_t)
typedef struct {
uint16_t sn; /* cmd sn */
uint16_t crc16; /* crc16 */
uint16_t cmd_id; /* cmd id */
uint16_t param_size; /* param size */
uint8_t param[0]; /* data */
} msp_diag_head_req_stru_t;
#define DIAG_REQ_HEADER_SIZE sizeof(msp_diag_head_req_stru_t)
typedef struct {
uint16_t cmd_id; /* cmd id */
uint16_t param_size; /* param size */
uint8_t param[0]; /* data */
} msp_diag_head_ind_stru_t;
#define DIAG_IND_HEADER_SIZE sizeof(msp_diag_head_ind_stru_t)
typedef struct {
uint16_t sn; /* cmd sn */
uint8_t ctrl; /* auto ack:0xfe,initiative ack:0 */
uint8_t pad;
uint16_t cmd_id; /* cmd id */
uint16_t param_size; /* param size */
uint8_t param[0]; /* data */
} msp_diag_head_cnf_stru_t;
#define DIAG_CNF_HEADER_SIZE sizeof(msp_diag_head_cnf_stru_t)
typedef struct {
uint32_t start_flag; /* start flag fixed 0xDEADBEAF */
uint32_t au_id; /* MSP AUID. */
uint8_t type; /* ind:0,ack:2,system ack:3 */
uint8_t ver; /* diag cmd version,0xff:old version,0xfe:crc16version,0xfd:nb version */
uint16_t cmd_id; /* mark unencrypted cmd id only 0x5000,0x5002,0x5003 */
uint16_t crc16; /* crc16 */
uint8_t dst;
uint8_t src;
uint8_t ctrl;
uint8_t pad[1];
uint16_t packet_data_size; /* puc_packet_data size, not include sizeof(MSP_MUX_PACKET_HEAD_STRU). */
uint8_t puc_packet_data[0]; /* data:Encrypted means encrypted data, otherwise plain text */
} msp_mux_packet_head_stru_t;
#define DIAG_MUX_HEADER_SIZE sizeof(msp_mux_packet_head_stru_t)
#endif