58 lines
1.8 KiB
C
58 lines
1.8 KiB
C
/*
|
|
* Copyright (c) @CompanyNameMagicTag 2021-2023. All rights reserved.
|
|
* Description: diag debug
|
|
* This file should be changed only infrequently and with great care.
|
|
*/
|
|
|
|
#include "diag_debug.h"
|
|
#include "zdiag_adapt_layer.h"
|
|
#include "diag_common.h"
|
|
#include "soc_diag_util.h"
|
|
#include "diag_log.h"
|
|
|
|
uint32_t g_dfx_debug_level = DIAG_LOG_LEVEL_ERROR;
|
|
|
|
STATIC void printf_frame_header(const char *str, const diag_router_frame_t *frame)
|
|
{
|
|
diag_router_inner_frame_t *inner = (diag_router_inner_frame_t *)frame->inner;
|
|
if (get_frame_ctrl_extend_en(frame->ctrl) != 0) {
|
|
inner = (diag_router_inner_frame_t *)(frame->inner + DIAG_ROUTER_CTRL2_LEN);
|
|
}
|
|
dfx_log_debug("[%s][frame][sof=0x%02x][ctrl=0x%02x]", str, frame->sof, frame->ctrl);
|
|
if (get_frame_ctrl_extend_en(frame->ctrl) != 0) {
|
|
dfx_log_debug("[ctrl2=0x%02x]", frame->inner[0]);
|
|
}
|
|
dfx_log_debug("[len=0x%02x]\r\n", get_frame_len(inner->len_msb, inner->len_lsb));
|
|
unused(inner);
|
|
unused(str);
|
|
}
|
|
|
|
uint32_t diag_get_debug_level(void)
|
|
{
|
|
return g_dfx_debug_level;
|
|
}
|
|
|
|
void diag_set_debug_level(uint32_t level)
|
|
{
|
|
g_dfx_debug_level = level;
|
|
}
|
|
|
|
void zdiag_debug_print_pkt_info(const char *str, uint8_t *pkt)
|
|
{
|
|
diag_router_frame_t *frame = (diag_router_frame_t *)pkt;
|
|
|
|
printf_frame_header(str, frame);
|
|
}
|
|
|
|
void zdiag_pkt_printf(const char *str, diag_pkt_handle_t *pkt)
|
|
{
|
|
diag_router_frame_t *frame = diag_pkt_handle_get_frame(pkt);
|
|
dfx_log_debug("%s cnt=%u data_len[0]=%u data_len[1]=%u data_len[2]=%u\r\n",
|
|
str, pkt->data_cnt,
|
|
pkt->data_len[DIAG_PKT_DATA_ID_0],
|
|
pkt->data_len[DIAG_PKT_DATA_ID_1],
|
|
pkt->data_len[DIAG_PKT_DATA_ID_2]);
|
|
unused(frame);
|
|
unused(str);
|
|
}
|